{"version":3,"file":"chunk-common.0fcdee61.js","mappings":"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GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJ,aAAc,GACd,qBAAsB,GACtB,cAAe,GACf,aAAc,GACd,uBAAwB,GACxB,eAAgB,GAChB,aAAc,GACd,gBAAiB,GACjB,eAAgB,IAChB,kBAAmB,IACnB,iBAAkB,IAClB,qBAAsB,G,mBCrNxB5qD,EAAOC,QAAU,CACfm+C,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,IACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJG,GAAI,GACJD,GAAI,GACJE,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJK,GAAI,GACJJ,GAAI,GACJE,GAAI,GACJC,GAAI,GACJhB,GAAI,GACJc,GAAI,GACJ,aAAc,GACd,qBAAsB,GACtB,cAAe,GACf,aAAc,GACd,uBAAwB,GACxB,eAAgB,GAChB,aAAc,GACd,gBAAiB,GACjB,eAAgB,GAChB,kBAAmB,GACnB,iBAAkB,GAClB,qBAAsB,G,oBCtNxB1qD,EAAOC,QAAU,CACfo+C,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IACJC,GAAI,GACJC,GAAI,GACJC,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,SAAY,CACX,IAAO,gBACP,IAAO,gBACP,IAAO,UACP,IAAO,aACP,IAAO,UACP,IAAO,gBACP,IAAO,aACP,IAAO,aACP,IAAO,0BAER,SAAY,CACX,IAAO,WACP,IAAO,eACP,IAAO,eACP,IAAO,WACP,IAAO,gBACP,IAAO,iBACP,IAAO,iBACP,IAAO,aACP,IAAO,iBAER,IAAO,CACN,IAAO,OACP,IAAO,MACP,IAAO,aACP,IAAO,OACP,IAAO,WACP,IAAO,aACP,IAAO,MACP,IAAO,cACP,IAAO,QAER,UAAa,CACZ,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,WACP,IAAO,YACP,IAAO,aACP,IAAO,cACP,IAAO,YACP,IAAO,cAER,mBAAsB,CACrB,IAAO,cACP,IAAO,sBACP,IAAO,4BACP,IAAO,eACP,IAAO,yBACP,IAAO,2BACP,IAAO,0BACP,IAAO,yBACP,IAAO,2BAER,aAAgB,CACf,IAAO,eACP,IAAO,gBACP,IAAO,iBACP,IAAO,yBACP,IAAO,mBACP,IAAO,mBACP,IAAO,gBACP,IAAO,kBACP,IAAO,qBAER,UAAa,CACZ,IAAO,WACP,IAAO,aACP,IAAO,iBACP,IAAO,aACP,IAAO,cACP,IAAO,gBACP,IAAO,gBACP,IAAO,cACP,IAAO,cAER,QAAW,CACV,IAAO,WACP,IAAO,UACP,IAAO,eACP,IAAO,aACP,IAAO,UACP,IAAO,eACP,IAAO,aACP,IAAO,kBACP,IAAO,gBAER,WAAc,CACb,IAAO,kBACP,IAAO,cACP,IAAO,uBACP,IAAO,kBACP,IAAO,kBACP,IAAO,sBACP,IAAO,sBACP,IAAO,oBACP,IAAO,sBAER,QAAW,CACV,IAAO,aACP,IAAO,UACP,IAAO,cACP,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,YACP,IAAO,cAER,uBAA0B,CACzB,IAAO,+DACP,IAAO,+CACP,IAAO,uDACP,IAAO,8DACP,IAAO,uEACP,IAAO,wDACP,IAAO,yDACP,IAAO,wDACP,IAAO,6DAER,OAAU,CACT,IAAO,iBACP,IAAO,UACP,IAAO,aACP,IAAO,QACP,IAAO,SACP,IAAO,gBACP,IAAO,aACP,IAAO,UACP,IAAO,UAER,GAAM,CACL,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,QACP,IAAO,OACP,IAAO,KAER,OAAU,CACT,IAAO,OACP,IAAO,SACP,IAAO,QACP,IAAO,OACP,IAAO,WACP,IAAO,SACP,IAAO,MACP,IAAO,UACP,IAAO,UAER,QAAW,CACV,IAAO,UACP,IAAO,UACP,IAAO,WACP,IAAO,cACP,IAAO,SACP,IAAO,SACP,IAAO,WACP,IAAO,SACP,IAAO,YAER,KAAQ,CACP,IAAO,QACP,IAAO,OACP,IAAO,iBACP,IAAO,QACP,IAAO,SACP,IAAO,eACP,IAAO,SACP,IAAO,cACP,IAAO,UAER,cAAiB,CAChB,IAAO,iBACP,IAAO,yBACP,IAAO,+BACP,IAAO,kBACP,IAAO,wBACP,IAAO,gBACP,IAAO,eACP,IAAO,2BACP,IAAO,6BAER,mBAAsB,CACrB,IAAO,+CACP,IAAO,wCACP,IAAO,oCACP,IAAO,6CACP,IAAO,yCACP,IAAO,kCACP,IAAO,qCACP,IAAO,6BACP,IAAO,2CAER,cAAiB,CAChB,IAAO,YACP,IAAO,iBACP,IAAO,kBACP,IAAO,cACP,IAAO,eACP,IAAO,qBACP,IAAO,uBACP,IAAO,YACP,IAAO,mBAER,QAAW,CACV,IAAO,QACP,IAAO,UACP,IAAO,UACP,IAAO,OACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,WAER,OAAU,CACT,IAAO,OACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,WAER,QAAW,CACV,IAAO,YACP,IAAO,gBACP,IAAO,cACP,IAAO,WACP,IAAO,QACP,IAAO,uBACP,IAAO,sBACP,IAAO,mBACP,IAAO,sBAER,KAAQ,CACP,IAAO,OACP,IAAO,OACP,IAAO,QACP,IAAO,WACP,IAAO,SACP,IAAO,UACP,IAAO,OACP,IAAO,UACP,IAAO,UAER,QAAW,CACV,IAAO,UACP,IAAO,UACP,IAAO,QACP,IAAO,SACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,aAER,IAAO,CACN,IAAO,SACP,IAAO,MACP,IAAO,kBACP,IAAO,cACP,IAAO,eACP,IAAO,gBACP,IAAO,iBACP,IAAO,aACP,IAAO,iBAER,UAAa,CACZ,IAAO,UACP,IAAO,aACP,IAAO,MACP,IAAO,UACP,IAAO,OACP,IAAO,QACP,IAAO,UACP,IAAO,SACP,IAAO,UAER,SAAY,CACX,IAAO,gBACP,IAAO,YACP,IAAO,UACP,IAAO,WACP,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,UACP,IAAO,YAER,MAAS,CACR,IAAO,SACP,IAAO,QACP,IAAO,YACP,IAAO,aACP,IAAO,SACP,IAAO,UACP,IAAO,aACP,IAAO,SACP,IAAO,sBAER,YAAe,CACd,IAAO,6DACP,IAAO,gDACP,IAAO,qEACP,IAAO,yDACP,IAAO,8DACP,IAAO,uEACP,IAAO,gEACP,IAAO,0DACP,IAAO,oEAER,SAAY,CACX,IAAO,UACP,IAAO,WACP,IAAO,YACP,IAAO,aACP,IAAO,WACP,IAAO,cACP,IAAO,aACP,IAAO,WACP,IAAO,aAER,OAAU,CACT,IAAO,eACP,IAAO,aACP,IAAO,eACP,IAAO,aACP,IAAO,mBACP,IAAO,mBACP,IAAO,mBACP,IAAO,gBACP,IAAO,oBAER,WAAc,CACb,IAAO,cACP,IAAO,cACP,IAAO,kBACP,IAAO,iBACP,IAAO,kBACP,IAAO,gBACP,IAAO,gBACP,IAAO,iBACP,IAAO,kBAER,IAAO,CACN,IAAO,QACP,IAAO,MACP,IAAO,QACP,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,QACP,IAAO,OACP,IAAO,QAER,OAAU,CACT,IAAO,aACP,IAAO,eACP,IAAO,uBACP,IAAO,gBACP,IAAO,kBACP,IAAO,kBACP,IAAO,cACP,IAAO,mBACP,IAAO,kBAER,UAAa,CACZ,IAAO,aACP,IAAO,kBACP,IAAO,kBACP,IAAO,eACP,IAAO,eACP,IAAO,aACP,IAAO,aACP,IAAO,kBACP,IAAO,cAER,SAAY,CACX,IAAO,oBACP,IAAO,uBACP,IAAO,4BACP,IAAO,wBACP,IAAO,yBACP,IAAO,uBACP,IAAO,6BACP,IAAO,2BACP,IAAO,6BAER,SAAY,CACX,IAAO,aACP,IAAO,WACP,IAAO,eACP,IAAO,aACP,IAAO,eACP,IAAO,eACP,IAAO,UACP,IAAO,cACP,IAAO,YAER,MAAS,CACR,IAAO,aACP,IAAO,SACP,IAAO,QACP,IAAO,kBACP,IAAO,cACP,IAAO,cACP,IAAO,WACP,IAAO,cACP,IAAO,kBAER,cAAiB,CAChB,IAAO,YACP,IAAO,iBACP,IAAO,cACP,IAAO,qBACP,IAAO,eACP,IAAO,iBACP,IAAO,cACP,IAAO,kBACP,IAAO,gBAER,SAAY,CACX,IAAO,eACP,IAAO,WACP,IAAO,mBACP,IAAO,iBACP,IAAO,oBACP,IAAO,gBACP,IAAO,eACP,IAAO,mBACP,IAAO,qBAER,SAAY,CACX,IAAO,SACP,IAAO,WACP,IAAO,SACP,IAAO,WACP,IAAO,QACP,IAAO,SACP,IAAO,WACP,IAAO,cACP,IAAO,cAER,cAAiB,CAChB,IAAO,cACP,IAAO,iBACP,IAAO,sBACP,IAAO,iBACP,IAAO,sBACP,IAAO,mBACP,IAAO,eACP,IAAO,0BACP,IAAO,yBAER,kBAAqB,CACpB,IAAO,8BACP,IAAO,qBACP,IAAO,oBACP,IAAO,4BACP,IAAO,6BACP,IAAO,2BACP,IAAO,0BACP,IAAO,4BACP,IAAO,4BAER,eAAkB,CACjB,IAAO,qBACP,IAAO,wBACP,IAAO,iBACP,IAAO,sBACP,IAAO,uBACP,IAAO,oBACP,IAAO,uBACP,IAAO,uBACP,IAAO,yBAER,KAAQ,CACP,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,WACP,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,SACP,IAAO,aAER,oBAAuB,CACtB,IAAO,wDACP,IAAO,2DACP,IAAO,qEACP,IAAO,iDACP,IAAO,oEACP,IAAO,0DACP,IAAO,2EACP,IAAO,oDACP,IAAO,iFAER,KAAQ,C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iBACP,IAAO,oBACP,IAAO,sBACP,IAAO,sBACP,IAAO,oBACP,IAAO,mBAER,gBAAmB,CAClB,IAAO,wDACP,IAAO,qCACP,IAAO,iEACP,IAAO,mDACP,IAAO,gEACP,IAAO,6BACP,IAAO,gEACP,IAAO,sDACP,IAAO,kEAER,KAAQ,CACP,IAAO,OACP,IAAO,WACP,IAAO,eACP,IAAO,WACP,IAAO,aACP,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,WAER,cAAiB,CAChB,IAAO,gBACP,IAAO,iBACP,IAAO,gBACP,IAAO,aACP,IAAO,gBACP,IAAO,iBACP,IAAO,gBACP,IAAO,mBACP,IAAO,iBAER,QAAW,CACV,IAAO,WACP,IAAO,cACP,IAAO,WACP,IAAO,YACP,IAAO,YACP,IAAO,UACP,IAAO,WACP,IAAO,YACP,IAAO,cAER,wBAA2B,CAC1B,IAAO,wBACP,IAAO,mCACP,IAAO,wCACP,IAAO,gCACP,IAAO,wCACP,IAAO,iDACP,IAAO,+BACP,IAAO,0CACP,IAAO,8BAER,cAAiB,CAChB,IAAO,iBACP,IAAO,gBACP,IAAO,mBACP,IAAO,uBACP,IAAO,gBACP,IAAO,sBACP,IAAO,eACP,IAAO,mBACP,IAAO,uBAER,gBAAmB,CAClB,IAAO,uCACP,IAAO,wBACP,IAAO,wCACP,IAAO,4CACP,IAAO,wCACP,IAAO,qCACP,IAAO,qDACP,IAAO,yBACP,IAAO,mDAER,SAAY,CACX,IAAO,WACP,IAAO,WACP,IAAO,WACP,IAAO,SACP,IAAO,WACP,IAAO,YACP,IAAO,WACP,IAAO,aACP,IAAO,aAER,aAAgB,CACf,IAAO,gBACP,IAAO,eACP,IAAO,0BACP,IAAO,mBACP,IAAO,iBACP,IAAO,wBACP,IAAO,kBACP,IAAO,sBACP,IAAO,wBAER,SAAY,CACX,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,WACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,UAER,IAAO,CACN,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,OAER,SAAY,CACX,IAAO,kBACP,IAAO,cACP,IAAO,gBACP,IAAO,gBACP,IAAO,uBACP,IAAO,gBACP,IAAO,iBACP,IAAO,cACP,IAAO,gBAER,OAAU,CACT,IAAO,SACP,IAAO,SACP,IAAO,OACP,IAAO,SACP,IAAO,OACP,IAAO,UACP,IAAO,OACP,IAAO,YACP,IAAO,UAER,WAAc,CACb,IAAO,cACP,IAAO,oBACP,IAAO,gBACP,IAAO,kBACP,IAAO,eACP,IAAO,mBACP,IAAO,aACP,IAAO,oBACP,IAAO,sBAER,YAAe,CACd,IAAO,eACP,IAAO,eACP,IAAO,mBACP,IAAO,cACP,IAAO,cACP,IAAO,kBACP,IAAO,eACP,IAAO,YACP,IAAO,gBAER,MAAS,CACR,IAAO,QACP,IAAO,MACP,IAAO,QACP,IAAO,WACP,IAAO,UACP,IAAO,UACP,IAAO,QACP,IAAO,QACP,IAAO,OAER,UAAa,CACZ,IAAO,YACP,IAAO,aACP,IAAO,gBACP,IAAO,gBACP,IAAO,gBACP,IAAO,cACP,IAAO,aACP,IAAO,eACP,IAAO,cAER,WAAc,CACb,IAAO,gBACP,IAAO,2BACP,IAAO,kBACP,IAAO,gBACP,IAAO,gBACP,IAAO,qBACP,IAAO,gBACP,IAAO,gBACP,IAAO,iBAER,QAAW,CACV,IAAO,UACP,IAAO,QACP,IAAO,YACP,IAAO,SACP,IAAO,UACP,IAAO,OACP,IAAO,SACP,IAAO,SACP,IAAO,UAER,YAAe,CACd,IAAO,cACP,IAAO,YACP,IAAO,aACP,IAAO,cACP,IAAO,aACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,eAER,mBAAsB,CACrB,IAAO,wCACP,IAAO,0CACP,IAAO,gDACP,IAAO,mCACP,IAAO,6CACP,IAAO,6CACP,IAAO,wCACP,IAAO,uCACP,IAAO,2CAER,wBAA2B,CAC1B,IAAO,6BACP,IAAO,iCACP,IAAO,2BACP,IAAO,wBACP,IAAO,oCACP,IAAO,8BACP,IAAO,kCACP,IAAO,+BACP,IAAO,gCAER,wBAA2B,CAC1B,IAAO,iCAC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,IAAO,0BACP,IAAO,sBACP,IAAO,qBACP,IAAO,8BACP,IAAO,kBAER,gBAAmB,CAClB,IAAO,oBACP,IAAO,2BACP,IAAO,eACP,IAAO,sBACP,IAAO,cACP,IAAO,qBACP,IAAO,kBACP,IAAO,mBACP,IAAO,uBAER,QAAW,CACV,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,YACP,IAAO,WACP,IAAO,OACP,IAAO,cACP,IAAO,WAER,WAAc,CACb,IAAO,aACP,IAAO,aACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,aACP,IAAO,YACP,IAAO,eACP,IAAO,eAER,oBAAuB,CACtB,IAAO,oCACP,IAAO,6BACP,IAAO,uCACP,IAAO,uCACP,IAAO,sCACP,IAAO,8BACP,IAAO,oCACP,IAAO,oCACP,IAAO,qDAER,cAAiB,CAChB,IAAO,yBACP,IAAO,qBACP,IAAO,mBACP,IAAO,6BACP,IAAO,8BACP,IAAO,uBACP,IAAO,mBACP,IAAO,mBACP,IAAO,gCAER,WAAc,CACb,IAAO,eACP,IAAO,qBACP,IAAO,iBACP,IAAO,oBACP,IAAO,kBACP,IAAO,gBACP,IAAO,eACP,IAAO,aACP,IAAO,eAER,YAAe,CACd,IAAO,mBACP,IAAO,sBACP,IAAO,uCACP,IAAO,gCACP,IAAO,4BACP,IAAO,2BACP,IAAO,qBACP,IAAO,qBACP,IAAO,yCAER,YAAe,CACd,IAAO,eACP,IAAO,sBACP,IAAO,qBACP,IAAO,4BACP,IAAO,qBACP,IAAO,iBACP,IAAO,eACP,IAAO,qBACP,IAAO,kBAER,iCAAoC,CACnC,IAAO,0CACP,IAAO,2BACP,IAAO,4CACP,IAAO,2CACP,IAAO,uCACP,IAAO,mCACP,IAAO,+BACP,IAAO,qCACP,IAAO,0CAER,IAAO,CACN,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,QACP,IAAO,eACP,IAAO,QACP,IAAO,QACP,IAAO,cACP,IAAO,iBAER,IAAO,CACN,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,OAER,IAAO,CACN,IAAO,MACP,IAAO,OACP,IAAO,QACP,IAAO,gBACP,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,OACP,IAAO,QAER,kBAAqB,CACpB,IAAO,yEACP,IAAO,qEACP,IAAO,gCACP,IAAO,6CACP,IAAO,4CACP,IAAO,oCACP,IAAO,gCACP,IAAO,8BACP,IAAO,2DAER,cAAiB,CAChB,IAAO,QACP,IAAO,oBACP,IAAO,2BACP,IAAO,qBACP,IAAO,SACP,IAAO,kBACP,IAAO,UACP,IAAO,WACP,IAAO,QAER,2BAA8B,CAC7B,IAAO,2DACP,IAAO,gEACP,IAAO,qEACP,IAAO,2DACP,IAAO,4DACP,IAAO,4DACP,IAAO,sEACP,IAAO,+DACP,IAAO,8EAER,SAAY,CACX,IAAO,uBACP,IAAO,yBACP,IAAO,WACP,IAAO,yBACP,IAAO,oBACP,IAAO,YACP,IAAO,oBACP,IAAO,0BACP,IAAO,uCAER,IAAO,CACN,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,QACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,OACP,IAAO,OAER,GAAM,CACL,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MAER,eAAkB,CACjB,IAAO,mBACP,IAAO,oBACP,IAAO,+BACP,IAAO,uBACP,IAAO,4BACP,IAAO,mCACP,IAAO,kBACP,IAAO,oBACP,IAAO,wBAER,cAAiB,CAChB,IAAO,iBACP,IAAO,sBACP,IAAO,8BACP,IAAO,oBACP,IAAO,uBACP,IAAO,qBACP,IAAO,oBACP,IAAO,qBACP,IAAO,0BAER,YAAe,CACd,IAAO,eACP,IAAO,gBACP,IAAO,gBACP,IAAO,kBACP,IAAO,gBACP,IAAO,uBACP,IAAO,aACP,IAAO,oBACP,IAAO,oBAER,OAAU,CACT,IAAO,eACP,IAAO,eACP,IAAO,sBACP,IAAO,iBACP,IAAO,YACP,IAAO,sBACP,IAAO,oBACP,IAAO,cACP,IAAO,wBAER,KAAQ,CACP,IAAO,OACP,IAAO,QACP,IAAO,gBACP,IAAO,QACP,IAAO,SACP,IAAO,QACP,IAAO,QACP,IAAO,YACP,IAAO,UAER,cAAiB,CAChB,IAAO,sCACP,IAAO,4CACP,IAAO,qDACP,IAAO,wCACP,IAAO,gCACP,IAAO,yCACP,IAAO,yCACP,IAAO,uCACP,IAAO,0DAER,eAAkB,CACjB,IAAO,aACP,IAAO,YACP,IAAO,iBACP,IAAO,cACP,IAAO,gBACP,IAAO,kBACP,IAAO,YACP,IAAO,aACP,IAAO,cAER,iBAAoB,CACnB,IAAO,iDACP,IAAO,6CACP,IAAO,kDACP,IAAO,yCACP,IAAO,yDACP,IAAO,sDACP,IAAO,+CACP,IAAO,6CACP,IAAO,uDAER,sBAAyB,CACxB,IAAO,eACP,IAAO,gBACP,IAAO,mDACP,IAAO,yCACP,IAAO,oBACP,IAAO,8DACP,IAAO,4CACP,IAAO,mCACP,IAAO,mBAER,YAAe,CACd,IAAO,oBACP,IAAO,gCACP,IAAO,qBACP,IAAO,mCACP,IAAO,0BACP,IAAO,wBACP,IAAO,oCACP,IAAO,mBACP,IAAO,kBAER,kBAAqB,CACpB,IAAO,+BACP,IAAO,qCACP,IAAO,0BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,4BACP,IAAO,mCAER,gBAAmB,CAClB,IAAO,mBACP,IAAO,sBACP,IAAO,+BACP,IAAO,uBACP,IAAO,4BACP,IAAO,mCACP,IAAO,kBACP,IAAO,oBACP,IAAO,wBAER,eAAkB,CACjB,IAAO,iBACP,IAAO,wBACP,IAAO,8BACP,IAAO,oBACP,IAAO,uBACP,IAAO,qBACP,IAAO,oBACP,IAAO,qBACP,IAAO,0BAER,UAAa,CACZ,IAAO,YACP,IAAO,eACP,IAAO,aACP,IAAO,0BACP,IAAO,kBACP,IAAO,eACP,IAAO,gBACP,IAAO,eACP,IAAO,gBAER,cAAiB,CAChB,IAAO,iBACP,IAAO,mBACP,IAAO,oBACP,IAAO,oBACP,IAAO,iBACP,IAAO,wBACP,IAAO,mBACP,IAAO,wBACP,IAAO,sBAER,oBAAuB,CACtB,IAAO,iFACP,IAAO,0EACP,IAAO,+GACP,IAAO,8DACP,IAAO,2FACP,IAAO,+FACP,IAAO,mFACP,IAAO,6EACP,IAAO,uFAER,SAAY,CACX,IAAO,0BACP,IAAO,uBACP,IAAO,2BACP,IAAO,uBACP,IAAO,wBACP,IAAO,2BACP,IAAO,0BACP,IAAO,wBACP,IAAO,2BAER,iBAAoB,CACnB,IAAO,oBACP,IAAO,iBACP,IAAO,qBACP,IAAO,wBACP,IAAO,wBACP,IAAO,sBACP,IAAO,wBACP,IAAO,6BACP,IAAO,2BAER,iBAAoB,CACnB,IAAO,+BACP,IAAO,iCACP,IAAO,uCACP,IAAO,mCACP,IAAO,oCACP,IAAO,2CACP,IAAO,gCACP,IAAO,gCACP,IAAO,gCAER,SAAY,CACX,IAAO,YACP,IAAO,cACP,IAAO,yBACP,IAAO,yBACP,IAAO,sBACP,IAAO,iCACP,IAAO,cACP,IAAO,iBACP,IAAO,eAER,UAAa,CACZ,IAAO,aACP,IAAO,UACP,IAAO,gBACP,IAAO,eACP,IAAO,cACP,IAAO,UACP,IAAO,cACP,IAAO,YACP,IAAO,YAER,eAAkB,CACjB,IAAO,kCACP,IAAO,mDACP,IAAO,oCACP,IAAO,0CACP,IAAO,0CACP,IAAO,kCACP,IAAO,2CACP,IAAO,gCACP,IAAO,0CAER,sBAAyB,CACxB,IAAO,uCACP,IAAO,0CACP,IAAO,+BACP,IAAO,2DACP,IAAO,uDACP,IAAO,6CACP,IAAO,wCACP,IAAO,uCACP,IAAO,oEAER,GAAM,CACL,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MAER,QAAW,CACV,IAAO,aACP,IAAO,aACP,IAAO,gBACP,IAAO,gBACP,IAAO,gBACP,IAAO,oBACP,IAAO,aACP,IAAO,aACP,IAAO,kBAER,iBAAoB,CACnB,IAAO,qBACP,IAAO,6BACP,IAAO,+BACP,IAAO,6BACP,IAAO,oCACP,IAAO,6BACP,IAAO,kCACP,IAAO,2BACP,IAAO,0BAER,QAAW,CACV,IAAO,UACP,IAAO,sBACP,IAAO,iBACP,IAAO,sBACP,IAAO,UACP,IAAO,iBACP,IAAO,UACP,IAAO,aACP,IAAO,gBAER,kBAAqB,CACpB,IAAO,sBACP,IAAO,kCACP,IAAO,oCACP,IAAO,0BACP,IAAO,uCACP,IAAO,wBACP,IAAO,wBACP,IAAO,4BACP,IAAO,wBAER,uBAA0B,CACzB,IAAO,iCACP,IAAO,0CACP,IAAO,2CACP,IAAO,oCACP,IAAO,+CACP,IAAO,2CACP,IAAO,mDACP,IAAO,uCACP,IAAO,4DAER,kBAAqB,CACpB,IAAO,oCACP,IAAO,qCACP,IAAO,oDACP,IAAO,0CACP,IAAO,mCACP,IAAO,wDACP,IAAO,mDACP,IAAO,2CACP,IAAO,kDAER,mBAAsB,CACrB,IAAO,uCACP,IAAO,qCACP,IAAO,mDACP,IAAO,yCACP,IAAO,0CACP,IAAO,oCACP,IAAO,uCACP,IAAO,0CACP,IAAO,0DAER,cAAiB,CAChB,IAAO,oCACP,IAAO,0CACP,IAAO,wDACP,IAAO,4CACP,IAAO,sCACP,IAAO,8CACP,IAAO,kDACP,IAAO,6CACP,IAAO,qCAER,eAAkB,CACjB,IAAO,mBACP,IAAO,mBACP,IAAO,iCACP,IAAO,gCACP,IAAO,mCACP,IAAO,+BACP,IAAO,oBACP,IAAO,2BACP,IAAO,kCAER,oBAAuB,CACtB,IAAO,6BACP,IAAO,qBACP,IAAO,iCACP,IAAO,sBACP,IAAO,wCACP,IAAO,8BACP,IAAO,2BACP,IAAO,uBACP,IAAO,6BAER,gBAAmB,CAClB,IAAO,2BACP,IAAO,sCACP,IAAO,gCACP,IAAO,+BACP,IAAO,8BACP,IAAO,0BACP,IAAO,6BACP,IAAO,mCACP,IAAO,qCAER,kBAAqB,CACpB,IAAO,wBACP,IAAO,wBACP,IAAO,gCACP,IAAO,4BACP,IAAO,8BACP,IAAO,4BACP,IAAO,0BACP,IAAO,gCACP,IAAO,gCAER,oBAAuB,CACtB,IAAO,wBACP,IAAO,yBACP,IAAO,4BACP,IAAO,qCACP,IAAO,2BACP,IAAO,gCACP,IAAO,yBACP,IAAO,0BACP,IAAO,2BAER,IAAO,CACN,IAAO,MACP,IAAO,OACP,IAAO,KACP,IAAO,OACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MAER,YAAe,CACd,IAAO,YACP,IAAO,SACP,IAAO,WACP,IAAO,QACP,IAAO,WACP,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,YAER,IAAO,CACN,IAAO,uDACP,IAAO,qDACP,IAAO,iEACP,IAAO,qDACP,IAAO,uDACP,IAAO,kEACP,IAAO,uDACP,IAAO,0DACP,IAAO,wEAER,yBAA4B,CAC3B,IAAO,iEACP,IAAO,4CACP,IAAO,uCACP,IAAO,uCACP,IAAO,mCACP,IAAO,8DACP,IAAO,6CACP,IAAO,4DACP,IAAO,gDAER,WAAc,CACb,IAAO,cACP,IAAO,gBACP,IAAO,iBACP,IAAO,sBACP,IAAO,oBACP,IAAO,mBACP,IAAO,gBACP,IAAO,sBACP,IAAO,kBAER,KAAQ,CACP,IAAO,OACP,IAAO,QACP,IAAO,OACP,IAAO,WACP,IAAO,OACP,IAAO,YACP,IAAO,OACP,IAAO,cACP,IAAO,UAER,KAAQ,CACP,IAAO,gBACP,IAAO,OACP,IAAO,4BACP,IAAO,cACP,IAAO,8BACP,IAAO,0BACP,IAAO,kBACP,IAAO,gBACP,IAAO,iBAER,WAAc,CACb,IAAO,6BACP,IAAO,4CACP,IAAO,oCACP,IAAO,wCACP,IAAO,wCACP,IAAO,sCACP,IAAO,kCACP,IAAO,yCACP,IAAO,6CAER,WAAc,CACb,IAAO,cACP,IAAO,mBACP,IAAO,mBACP,IAAO,uBACP,IAAO,kBACP,IAAO,kBACP,IAAO,oBACP,IAAO,sBACP,IAAO,mBAER,aAAgB,CACf,IAAO,eACP,IAAO,2BACP,IAAO,wBACP,IAAO,wBACP,IAAO,mBACP,IAAO,uBACP,IAAO,iBACP,IAAO,kBACP,IAAO,iBAER,YAAe,CACd,IAAO,eACP,IAAO,mBACP,IAAO,cACP,IAAO,mBACP,IAAO,qBACP,IAAO,qBACP,IAAO,cACP,IAAO,eACP,IAAO,cAER,gBAAmB,CAClB,IAAO,oBACP,IA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AAO,yEACP,IAAO,yDACP,IAAO,iEAER,cAAiB,CAChB,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,YACP,IAAO,WACP,IAAO,aACP,IAAO,cAER,MAAS,CACR,IAAO,QACP,IAAO,UACP,IAAO,OACP,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,OACP,IAAO,WACP,IAAO,OAER,UAAa,CACZ,IAAO,YACP,IAAO,UACP,IAAO,OACP,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,QAER,gBAAmB,CAClB,IAAO,uBACP,IAAO,eACP,IAAO,UACP,IAAO,YACP,IAAO,gBACP,IAAO,WACP,IAAO,UACP,IAAO,UACP,IAAO,YAER,cAAiB,CAChB,IAAO,2BACP,IAAO,oCACP,IAAO,qCACP,IAAO,+BACP,IAAO,+BACP,IAAO,kCACP,IAAO,oCACP,IAAO,gCACP,IAAO,gCAER,YAAe,CACd,IAAO,sCACP,IAAO,2CACP,IAAO,kCACP,IAAO,2CACP,IAAO,qCACP,IAAO,0CACP,IAAO,6CACP,IAAO,0CACP,IAAO,gCAER,SAAY,CACX,IAAO,6BACP,IAAO,sCACP,IAAO,mCACP,IAAO,uCACP,IAAO,8BACP,IAAO,iCACP,IAAO,oCACP,IAAO,8BACP,IAAO,gCAER,oBAAuB,CACtB,IAAO,mEACP,IAAO,oDACP,IAAO,8DACP,IAAO,mEACP,IAAO,8CACP,IAAO,4EACP,IAAO,iDACP,IAAO,4CACP,IAAO,yEAER,oBAAuB,CACtB,IAAO,wBACP,IAAO,+BACP,IAAO,+BACP,IAAO,mCACP,IAAO,6BACP,IAAO,8BACP,IAAO,4BACP,IAAO,+BACP,IAAO,+BAER,gBAAmB,CAClB,IAAO,mBACP,IAAO,yBACP,IAAO,wBACP,IAAO,0BACP,IAAO,uBACP,IAAO,qBACP,IAAO,uBACP,IAAO,wBACP,IAAO,uBAER,SAAY,CACX,IAAO,YACP,IAAO,gBACP,IAAO,gBACP,IAAO,eACP,IAAO,cACP,IAAO,iBACP,IAAO,aACP,IAAO,cACP,IAAO,gBAER,aAAgB,CACf,IAAO,gBACP,IAAO,kBACP,IAAO,qBACP,IAAO,qBACP,IAAO,kBACP,IAAO,qBACP,IAAO,mBACP,IAAO,mBACP,IAAO,sBAER,YAAe,CACd,IAAO,wBACP,IAAO,sBACP,IAAO,oBACP,IAAO,0BACP,IAAO,uBACP,IAAO,yBACP,IAAO,wBACP,IAAO,sBACP,IAAO,uBAER,aAAgB,CACf,IAAO,4BACP,IAAO,4BACP,IAAO,6BACP,IAAO,mCACP,IAAO,6BACP,IAAO,+BACP,IAAO,kCACP,IAAO,gCACP,IAAO,+BAER,cAAiB,CAChB,IAAO,iBACP,IAAO,kBACP,IAAO,kBACP,IAAO,iBACP,IAAO,iBACP,IAAO,kBACP,IAAO,cACP,IAAO,iBACP,IAAO,kBAER,gBAAmB,CAClB,IAAO,sBACP,IAAO,0BACP,IAAO,4BACP,IAAO,yBACP,IAAO,6BACP,IAAO,4BACP,IAAO,yBACP,IAAO,0BACP,IAAO,+BAER,iBAAoB,CACnB,IAAO,+BACP,IAAO,oCACP,IAAO,wBACP,IAAO,6BACP,IAAO,uBACP,IAAO,kCACP,IAAO,yBACP,IAAO,iCACP,IAAO,yCAER,QAAW,CACV,IAAO,UACP,IAAO,UACP,IAAO,WACP,IAAO,SACP,IAAO,WACP,IAAO,WACP,IAAO,YACP,IAAO,aACP,IAAO,YAER,iBAAoB,CACnB,IAAO,0BACP,IAAO,0BACP,IAAO,yBACP,IAAO,+BACP,IAAO,0BACP,IAAO,mCACP,IAAO,uBACP,IAAO,kCACP,IAAO,qCAER,WAAc,CACb,IAAO,aACP,IAAO,iBACP,IAAO,gBACP,IAAO,mBACP,IAAO,WACP,IAAO,aACP,IAAO,cACP,IAAO,gBACP,IAAO,aACP,IAAO,cAER,iBAAoB,CACnB,IAAO,eACP,IAAO,cACP,IAAO,iBACP,IAAO,oBACP,IAAO,iBACP,IAAO,qBACP,IAAO,kBACP,IAAO,qBACP,IAAO,oBACP,IAAO,aAER,MAAS,CACR,IAAO,QACP,IAAO,UACP,IAAO,QACP,IAAO,UACP,IAAO,QACP,IAAO,UACP,IAAO,QACP,IAA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IAAO,uFACP,IAAO,mFACP,IAAO,2DACP,IAAO,wEACP,IAAO,mEAER,aAAgB,CACf,IAAO,gBACP,IAAO,oBACP,IAAO,kBACP,IAAO,kBACP,IAAO,mBACP,IAAO,uBACP,IAAO,cACP,IAAO,wBACP,IAAO,6BACP,IAAO,gBAER,aAAgB,CACf,IAAO,eACP,IAAO,cACP,IAAO,iBACP,IAAO,cACP,IAAO,eACP,IAAO,WACP,IAAO,eACP,IAAO,eACP,IAAO,eACP,IAAO,gBAER,MAAS,CACR,IAAO,QACP,IAAO,eACP,IAAO,eACP,IAAO,QACP,IAAO,qBACP,IAAO,YACP,IAAO,kBACP,IAAO,SACP,IAAO,SACP,IAAO,UAER,QAAW,CACV,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,iBACP,IAAO,UACP,IAAO,YACP,IAAO,SACP,IAAO,UACP,IAAO,UACP,IAAO,YAER,MAAS,CACR,IAAO,WACP,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,SACP,IAAO,WACP,IAAO,SACP,IAAO,OACP,IAAO,iBACP,IAAO,UAER,QAAW,CACV,IAAO,WACP,IAAO,UACP,IAAO,aACP,IAAO,QACP,IAAO,gBACP,IAAO,QACP,IAAO,WACP,IAAO,aACP,IAAO,cACP,IAAO,WAER,WAAc,CACb,IAAO,cACP,IAAO,mBACP,IAAO,mBACP,IAAO,uBACP,IAAO,kBACP,IAAO,kBACP,IAAO,oBACP,IAAO,sBACP,IAAO,iBACP,IAAO,gBAER,WAAc,CACb,IAAO,WACP,IAAO,qBACP,IAAO,gBACP,IAAO,wBACP,IAAO,iBACP,IAAO,uBACP,IAAO,kBACP,IAAO,kBACP,IAAO,oBACP,IAAO,mBAER,sBAAyB,CACxB,IAAO,oDACP,IAAO,4DACP,IAAO,mDACP,IAAO,gFACP,IAAO,0FACP,IAAO,6EACP,IAAO,oCACP,IAAO,qDACP,IAAO,0DACP,IAAO,6DAER,QAAW,CACV,IAAO,UACP,IAAO,SACP,IAAO,OACP,IAAO,OACP,IAAO,cACP,IAAO,WACP,IAAO,eACP,IAAO,SACP,IAAO,UACP,IAAO,e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AY,CACX,IAAO,WACP,IAAO,YACP,IAAO,QACP,IAAO,aACP,IAAO,QACP,IAAO,WACP,IAAO,WACP,IAAO,QACP,IAAO,YACP,IAAO,aAER,gBAAmB,CAClB,IAAO,6BACP,IAAO,2BACP,IAAO,oCACP,IAAO,qCACP,IAAO,gBACP,IAAO,mCACP,IAAO,wBACP,IAAO,sBACP,IAAO,qBACP,IAAO,4BAER,kBAAqB,CACpB,IAAO,uBACP,IAAO,yBACP,IAAO,4BACP,IAAO,4BACP,IAAO,6BACP,IAAO,0BACP,IAAO,6BACP,IAAO,oBACP,IAAO,2BACP,IAAO,6BAER,sBAAyB,CACxB,IAAO,iCACP,IAAO,eACP,IAAO,aACP,IAAO,8BACP,IAAO,UACP,IAAO,4BACP,IAAO,+BACP,IAAO,sCACP,IAAO,+BACP,IAAO,0BAER,SAAY,CACX,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,eACP,IAAO,UACP,IAAO,YACP,IAAO,WACP,IAAO,YACP,IAAO,UACP,IAAO,WAER,qBAAwB,CACvB,IAAO,kEACP,IAAO,uEACP,IAAO,8DACP,IAAO,uFACP,IAAO,gEACP,IAAO,uEACP,IAAO,+DACP,IAAO,wEACP,IAAO,2FACP,IAAO,+DAER,sBAAyB,CACxB,IAAO,sHACP,IAAO,gHACP,IAAO,gKACP,IAAO,sKACP,IAAO,wHACP,IAAO,yHACP,IAAO,2GACP,IAAO,uHACP,IAAO,oJACP,IAAO,6GAER,oBAAuB,CACtB,IAAO,yHACP,IAAO,kIACP,IAAO,+JACP,IAAO,0KACP,IAAO,0JACP,IAAO,mGACP,IAAO,2IACP,IAAO,+HACP,IAAO,0JACP,IAAO,0HAER,UAAa,CACZ,IAAO,aACP,IAAO,YACP,IAAO,UACP,IAAO,UACP,IAAO,WACP,IAAO,aACP,IAAO,eACP,IAAO,WACP,IAAO,wBACP,IAAO,eAER,qBAAsB,CACrB,IAAO,uBACP,IAAO,yBACP,IAAO,mBACP,IAAO,uBACP,IAAO,sBACP,IAAO,uBACP,IAAO,6BACP,IAAO,sBACP,IAAO,gCACP,IAAO,uBAER,SAAY,CACX,IAAO,QACP,IAAO,UACP,IAAO,OACP,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,QACP,IAAO,MACP,IAAO,SAER,WAAc,CACb,IAAO,cACP,IAAO,iBACP,IAAO,UACP,IAAO,4BACP,IAAO,iBACP,IAAO,gBACP,IAAO,eACP,IAAO,WACP,IAAO,0BACP,IAAO,iBAER,WAAc,CACb,IAAO,oBACP,IAAO,YACP,IAAO,gBACP,IAAO,SACP,IAAO,aACP,IAAO,QACP,IAAO,aACP,IAAO,YACP,IAAO,YACP,IAAO,uBAER,mBAAsB,CACrB,IAAO,+BACP,IAAO,8CACP,IAAO,sCACP,IAAO,yEACP,IAAO,gCACP,IAAO,gEACP,IAAO,gDACP,IAAO,iCACP,IAAO,gDACP,IAAO,kDAER,0BAA6B,CAC5B,IAAO,sCACP,IAAO,iCACP,IAAO,4CACP,IAAO,0EACP,IAAO,qCACP,IAAO,4DACP,IAAO,sCACP,IAAO,sCACP,IAAO,qCACP,IAAO,0CAER,iBAAoB,CACnB,IAAO,mBACP,IAAO,4BACP,IAAO,oBACP,IAAO,0BACP,IAAO,cACP,IAAO,qCACP,IAAO,kBACP,IAAO,sBACP,IAAO,uBACP,IAAO,mBAER,IAAO,CACN,IAAO,MACP,IAAO,IACP,IAAO,KACP,IAAO,IACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,IACP,IAAO,MAER,gBAAmB,CAClB,IAAO,iBACP,IAAO,uBACP,IAAO,sBACP,IAAO,+BACP,IAAO,qBACP,IAAO,sBACP,IAAO,oBACP,IAAO,qBACP,IAAO,yBACP,IAAO,uBAER,WAAc,CACb,IAAO,mBACP,IAAO,qBACP,IAAO,sBACP,IAAO,mCACP,IAAO,wBACP,IAAO,qBACP,IAAO,yBACP,IAAO,2BACP,IAAO,+BACP,IAAO,kBAER,oCAAuC,CACtC,IAAO,iDACP,IAAO,wDACP,IAAO,oFACP,IAAO,qFACP,IAAO,iFACP,IAAO,4EACP,IAAO,oDACP,IAAO,oEACP,IAAO,kFACP,IAAO,kDAER,cAAiB,CAChB,IAAO,wBACP,IAAO,gCACP,IAAO,qBACP,IAAO,sBACP,IAAO,+BACP,IAAO,qBACP,IAAO,6BACP,IAAO,uBACP,IAAO,yCACP,IAAO,0BAER,WAAc,CACb,IAAO,qDACP,IAAO,oEACP,IAAO,6DACP,IAAO,yDACP,IAAO,mBACP,IAAO,uDACP,IAAO,mBACP,IAAO,2DACP,IAAO,qBACP,IAAO,+DAER,eAAkB,CACjB,IAAO,2CACP,IAAO,qDACP,IAAO,+CACP,IAAO,yDACP,IAAO,mBACP,IAAO,4CACP,IAAO,gBACP,IAAO,gDACP,IAAO,yBACP,IAAO,oCAER,gBAAmB,CAClB,IAAO,qBACP,IAAO,0BACP,IAAO,4BACP,IAAO,yBACP,IAAO,8BACP,IAAO,wBACP,IAAO,qBACP,IAAO,uBACP,IAAO,wBACP,IAAO,uBAER,qBAAwB,CACvB,IAAO,iBACP,IAAO,iBACP,IAAO,iBACP,IAAO,sBACP,IAAO,WACP,IAAO,uBACP,IAAO,gBACP,IAAO,sBACP,IAAO,2BACP,IAAO,iBAER,cAAiB,CAChB,IAAO,iBACP,IAAO,iBACP,IAAO,iBACP,IAAO,eACP,IAAO,kBACP,IAAO,kBACP,IAAO,qBACP,IAAO,gCACP,IAAO,4BACP,IAAO,yBAER,iBAAoB,CACnB,IAAO,qBACP,IAAO,mCACP,IAAO,sCACP,IAAO,8CACP,IAAO,6CACP,IAAO,yCACP,IAAO,6BACP,IAAO,4BACP,IAAO,iCACP,IAAO,kCAER,WAAc,CACb,IAAO,eACP,IAAO,0BACP,IAAO,cACP,IAAO,UACP,IAAO,uBACP,IAAO,YACP,IAAO,iBACP,IAAO,oBACP,IAAO,kBACP,IAAO,gBAER,eAAkB,CACjB,IAAO,kBACP,IAAO,cACP,IAAO,iBACP,IAAO,kBACP,IAAO,iBACP,IAAO,gBACP,IAAO,iBACP,IAAO,oBACP,IAAO,qBACP,IAAO,gBAER,oCAAuC,CACtC,IAAO,oDACP,IAAO,kEACP,IAAO,kEACP,IAAO,iEACP,IAAO,mEACP,IAAO,iEACP,IAAO,+DACP,IAAO,uFACP,IAAO,kEACP,IAAO,gEAER,qBAAwB,CACvB,IAAO,oBACP,IAAO,eACP,IAAO,aACP,IAAO,iBACP,IAAO,eACP,IAAO,kBACP,IAAO,iBACP,IAAO,qBACP,IAAO,mBACP,IAAO,kBAER,YAAe,CACd,IAAO,sBACP,IAAO,gCACP,IAAO,kCACP,IAAO,+BACP,IAAO,6BACP,IAAO,iCACP,IAAO,4BACP,IAAO,oCACP,IAAO,wBACP,IAAO,gBAER,UAAa,CACZ,IAAO,aACP,IAAO,4BACP,IAAO,mCACP,IAAO,oCACP,IAAO,6BACP,IAAO,mCACP,IAAO,8BACP,IAAO,oCACP,IAAO,wBACP,IAAO,cAER,YAAe,CACd,IAAO,oBACP,IAAO,qCACP,IAAO,4BACP,IAAO,8BACP,IAAO,2BACP,IAAO,gCACP,IAAO,2BACP,IAAO,0BACP,IAAO,2BACP,IAAO,sBAER,QAAW,CACV,IAAO,UACP,IAAO,UACP,IAAO,OACP,IAAO,OACP,IAAO,QACP,IAAO,SACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,WAER,OAAU,CACT,IAAO,SACP,IAAO,SACP,IAAO,oBACP,IAAO,SACP,IAAO,OACP,IAAO,UACP,IAAO,SACP,IAAO,WACP,IAAO,SACP,IAAO,UAER,SAAY,CACX,IAAO,YACP,IAAO,YACP,IAAO,SACP,IAAO,UACP,IAAO,UACP,IAAO,WACP,IAAO,YACP,IAAO,cACP,IAAO,sBACP,IAAO,aAER,QAAW,CACV,IAAO,gBACP,IAAO,gBACP,IAAO,iBACP,IAAO,gBACP,IAAO,oBACP,IAAO,iBACP,IAAO,cACP,IAAO,kBACP,IAAO,qBAER,KAAQ,CACP,IAAO,OACP,IAAO,SACP,IAAO,MACP,IAAO,UACP,IAAO,OACP,IAAO,SACP,IAAO,QACP,IAAO,YACP,IAAO,UACP,IAAO,QAER,UAAa,CACZ,IAAO,kBACP,IAAO,uBACP,IAAO,oBACP,IAAO,yBACP,IAAO,0BACP,IAAO,mBACP,IAAO,oBACP,IAAO,yBACP,IAAO,mBACP,IAAO,qBAER,eAAkB,CACjB,IAAO,mBACP,IAAO,2BACP,IAAO,oBACP,IAAO,0BACP,IAAO,sBACP,IAAO,wBACP,IAAO,gCACP,IAAO,sBACP,IAAO,qBACP,IAAO,wBAER,SAAY,CACX,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,YACP,IAAO,aACP,IAAO,YACP,IAAO,WACP,IAAO,aACP,IAAO,aACP,IAAO,cAER,KAAQ,CACP,IAAO,OACP,IAAO,OACP,IAAO,oBACP,IAAO,kBACP,IAAO,OACP,IAAO,mBACP,IAAO,OACP,IAAO,OACP,IAAO,OACP,IAAO,QAER,QAAW,CACV,IAAO,WACP,IAAO,mBACP,IAAO,eACP,IAAO,iBACP,IAAO,WACP,IAAO,mBACP,IAAO,gBACP,IAAO,sBACP,IAAO,uBACP,IAAO,aAER,OAAU,CACT,IAAO,SACP,IAAO,UACP,IAAO,OACP,IAAO,UACP,IAAO,UACP,IAAO,aACP,IAAO,OACP,IAAO,aACP,IAAO,cACP,IAAO,QAER,cAAiB,CAChB,IAAO,iBACP,IAAO,kBACP,IAAO,oBACP,IAAO,YACP,IAAO,mBACP,IAAO,gBACP,IAAO,YACP,IAAO,WACP,IAAO,kBACP,IAAO,aAER,KAAQ,CACP,IAAO,OACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,QACP,IAAO,UAER,UAAa,CACZ,IAAO,YACP,IAAO,SACP,IAAO,WACP,IAAO,cACP,IAAO,cACP,IAAO,eACP,IAAO,YACP,IAAO,WACP,IAAO,aACP,IAAO,aAER,QAAW,CACV,IAAO,UACP,IAAO,iBACP,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,YACP,IAAO,aACP,IAAO,aACP,IAAO,cACP,IAAO,aAER,2BAA8B,CAC7B,IAAO,2CACP,IAAO,8CACP,IAAO,wEACP,IAAO,8DACP,IAAO,4DACP,IAAO,8DACP,IAAO,uDACP,IAAO,0DACP,IAAO,mDACP,IAAO,oDAER,gBAAmB,CAClB,IAAO,oBACP,IAAO,qBACP,IAAO,kBACP,IAAO,sBACP,IAAO,oBACP,IAAO,0BACP,IAAO,mBACP,IAAO,0BACP,IAAO,sBACP,IAAO,sBAER,sBAAyB,CACxB,IAAO,0BACP,IAAO,wBACP,IAAO,iCACP,IAAO,sBACP,IAAO,wBACP,IAAO,yBACP,IAAO,wBACP,IAAO,sBACP,IAAO,wBACP,IAAO,yBAER,eAAkB,CACjB,IAAO,iBACP,IAAO,iBACP,IAAO,yCACP,IAAO,yBACP,IAAO,oBACP,IAAO,oCACP,IAAO,wBACP,IAAO,wBACP,IAAO,qBACP,IAAO,oBAER,kBAAqB,CACpB,IAAO,aACP,IAAO,MACP,IAAO,cACP,IAAO,wBACP,IAAO,aACP,IAAO,aACP,IAAO,aACP,IAAO,YACP,IAAO,2BACP,IAAO,cAER,MAAS,CACR,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,QACP,IAAO,WACP,IAAO,OACP,IAAO,SACP,IAAO,UACP,IAAO,QACP,IAAO,SAER,cAAiB,CAChB,IAAO,sBACP,IAAO,2BACP,IAAO,qBACP,IAAO,wBACP,IAAO,sBACP,IAAO,uBACP,IAAO,sBACP,IAAO,wBACP,IAAO,uBACP,IAAO,sBAER,UAAa,CACZ,IAAO,aACP,IAAO,uBACP,IAAO,oBACP,IAAO,sBACP,IAAO,mBACP,IAAO,kBACP,IAAO,qBACP,IAAO,sBACP,IAAO,qBACP,IAAO,WAER,QAAW,CACV,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,wBACP,IAAO,WACP,IAAO,qBACP,IAAO,SACP,IAAO,sBACP,IAAO,UACP,IAAO,YAER,WAAc,CACb,IAAO,cACP,IAAO,oBACP,IAAO,iBACP,IAAO,kBACP,IAAO,iBACP,IAAO,gBACP,IAAO,cACP,IAAO,yBACP,IAAO,yBACP,IAAO,YAER,UAAa,CACZ,IAAO,YACP,IAAO,YACP,IAAO,aACP,IAAO,iBACP,IAAO,eACP,IAAO,WACP,IAAO,kBACP,IAAO,aACP,IAAO,gBACP,IAAO,YAER,WAAc,CACb,IAAO,aACP,IAAO,WACP,IAAO,cACP,IAAO,WACP,IAAO,gBACP,IAAO,aACP,IAAO,aACP,IAAO,YACP,IAAO,cACP,IAAO,eAER,MAAS,CACR,IAAO,QACP,IAAO,YACP,IAAO,SACP,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,UACP,IAAO,SACP,IAAO,aACP,IAAO,SAER,WAAc,CACb,IAAO,aACP,IAAO,iBACP,IAAO,aACP,IAAO,WACP,IAAO,iBACP,IAAO,YACP,IAAO,oBACP,IAAO,mBACP,IAAO,gBACP,IAAO,cAER,SAAY,CACX,IAAO,uBACP,IAAO,MACP,IAAO,MACP,IAAO,yBACP,IAAO,UACP,IAAO,aACP,IAAO,aACP,IAAO,cACP,IAAO,0BACP,IAAO,YAER,MAAS,CACR,IAAO,QACP,IAAO,OACP,IAAO,MACP,IAAO,SACP,IAAO,MACP,IAAO,OACP,IAAO,SACP,IAAO,OACP,IAAO,OACP,IAAO,SAER,aAAgB,CACf,IAAO,kBACP,IAAO,cACP,IAAO,YACP,IAAO,gBACP,IAAO,qBACP,IAAO,oBACP,IAAO,aACP,IAAO,mBACP,IAAO,eACP,IAAO,iBAER,kBAAqB,CACpB,IAAO,sBACP,IAAO,0BACP,IAAO,yBACP,IAAO,yBACP,IAAO,sBACP,IAAO,oBACP,IAAO,kBACP,IAAO,gBACP,IAAO,kCACP,IAAO,uBAER,QAAW,CACV,IAAO,UACP,IAAO,YACP,IAAO,cACP,IAAO,UACP,IAAO,YACP,IAAO,WACP,IAAO,WACP,IAAO,YACP,IAAO,WACP,IAAO,WAER,QAAW,CACV,IAAO,UACP,IAAO,uBACP,IAAO,eACP,IAAO,UACP,IAAO,cACP,IAAO,WACP,IAAO,UACP,IAAO,WACP,IAAO,WACP,IAAO,eAER,eAAkB,CACjB,IAAO,8CACP,IAAO,iDACP,IAAO,qDACP,IAAO,8DACP,IAAO,wDACP,IAAO,0DACP,IAAO,wDACP,IAAO,0CACP,IAAO,sDACP,IAAO,gDAER,gBAAmB,CAClB,IAAO,8CACP,IAAO,+CACP,IAAO,+CACP,IAAO,0DACP,IAAO,qCACP,IAAO,uDACP,IAAO,kDACP,IAAO,0DACP,IAAO,+DACP,IAAO,gDAER,WAAc,CACb,IAAO,cACP,IAAO,kBACP,IAAO,gBACP,IAAO,mBACP,IAAO,eACP,IAAO,cACP,IAAO,iBACP,I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,IAAO,sBACP,IAAO,yBACP,IAAO,iBACP,IAAO,kBACP,IAAO,4BACP,IAAO,qBACP,IAAO,iBACP,IAAO,kBACP,IAAO,sBACP,IAAO,sBAER,kBAAqB,CACpB,IAAO,sBACP,IAAO,YACP,IAAO,eACP,IAAO,aACP,IAAO,yBACP,IAAO,2BACP,IAAO,sBACP,IAAO,yBACP,IAAO,wBACP,IAAO,yBAER,iBAAoB,CACnB,IAAO,qBACP,IAAO,aACP,IAAO,kBACP,IAAO,2BACP,IAAO,eACP,IAAO,4BACP,IAAO,uBACP,IAAO,yBACP,IAAO,0BACP,IAAO,2BAER,IAAO,CACN,IAAO,MACP,IAAO,OACP,IAAO,OACP,IAAO,OACP,IAAO,WACP,IAAO,OACP,IAAO,SACP,IAAO,MACP,IAAO,OACP,IAAO,QAER,KAAQ,CACP,IAAO,OACP,IAAO,SACP,IAAO,UACP,IAAO,QACP,IAAO,OACP,IAAO,OACP,IAAO,aACP,IAAO,OACP,IAAO,QACP,IAAO,QAER,SAAY,CACX,IAAO,WACP,IAAO,YACP,IAAO,iBACP,IAAO,UACP,IAAO,YACP,IAAO,UACP,IAAO,UACP,IAAO,YACP,IAAO,YACP,IAAO,UAER,SAAY,CACX,IAAO,YACP,IAAO,UACP,IAAO,YACP,IAAO,cACP,IAAO,iBACP,IAAO,cACP,IAAO,gBACP,IAAO,iBACP,IAAO,cACP,IAAO,cAER,iBAAoB,CACnB,IAAO,qBACP,IAAO,4BACP,IAAO,uBACP,IAAO,0BACP,IAAO,mCACP,IAAO,6BACP,IAAO,wBACP,IAAO,yBACP,IAAO,0BACP,IAAO,2BAER,SAAY,CACX,IAAO,SACP,IAAO,QACP,IAAO,QACP,IAAO,SACP,IAAO,iBACP,IAAO,YACP,IAAO,QACP,IAAO,SACP,IAAO,WACP,IAAO,WAER,OAAU,CACT,IAAO,OACP,IAAO,UACP,IAAO,QACP,IAAO,SACP,IAAO,aACP,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,UACP,IAAO,WAER,YAAe,CACd,IAAO,eACP,IAAO,gBACP,IAAO,eACP,IAAO,aACP,IAAO,eACP,IAAO,iBACP,IAAO,iBACP,IAAO,cACP,IAAO,kBACP,IAAO,gBAER,iBAAoB,CACnB,IAAO,oBACP,IAAO,2BACP,IAAO,mBACP,IAAO,oBACP,IAAO,iCACP,IAAO,oBACP,IAAO,yBACP,IAAO,kBACP,IAAO,4BACP,IAAO,sBAER,UAAa,CACZ,IAAO,WACP,IAAO,YACP,IAAO,iBACP,IAAO,WACP,IAAO,aACP,IAAO,UACP,IAAO,UACP,IAAO,YACP,IAAO,YACP,IAAO,UAER,WAAc,CACb,IAAO,WACP,IAAO,eACP,IAAO,WACP,IAAO,UACP,IAAO,gBACP,IAAO,cACP,IAAO,WACP,IAAO,WACP,IAAO,WACP,IAAO,YAER,WAAc,CACb,IAAO,eACP,IAAO,gBACP,IAAO,WACP,IAAO,WACP,IAAO,WACP,IAAO,YACP,IAAO,kBACP,IAAO,aACP,IAAO,gBACP,IAAO,cAER,OAAU,CACT,IAAO,SACP,IAAO,UACP,IAAO,SACP,IAAO,YACP,IAAO,QACP,IAAO,aACP,IAAO,MACP,IAAO,UACP,IAAO,QACP,IAAO,WAER,mBAAsB,CACrB,IAAO,sBACP,IAAO,eACP,IAAO,WACP,IAAO,aACP,IAAO,sBACP,IAAO,yBACP,IAAO,WACP,IAAO,sBACP,IAAO,qBACP,IAAO,gBAER,eAAkB,CACjB,IAAO,mBACP,IAAO,aACP,IAAO,oBACP,IAAO,sBACP,IAAO,4BACP,IAAO,qBACP,IAAO,0BACP,IAAO,sBACP,IAAO,wBACP,IAAO,uBAER,SAAY,CACX,IAAO,cACP,IAAO,oBACP,IAAO,gBACP,IAAO,cACP,IAAO,iBACP,IAAO,iBACP,IAAO,gBACP,IAAO,cACP,IAAO,gBACP,IAAO,aAER,SAAY,CACX,IAAO,WACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,aACP,IAAO,WACP,IAAO,WACP,IAAO,UACP,IAAO,UACP,IAAO,WAER,SAAY,CACX,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,aACP,IAAO,UACP,IAAO,WACP,IAAO,aACP,IAAO,UACP,IAAO,UAER,S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P,IAAO,8DAER,kBAAqB,CACpB,IAAO,qBACP,IAAO,yBACP,IAAO,iBACP,IAAO,4BACP,IAAO,cACP,IAAO,oBACP,IAAO,cACP,IAAO,oBACP,IAAO,qBACP,IAAO,eAER,2BAA8B,CAC7B,IAAO,sCACP,IAAO,sCACP,IAAO,yBACP,IAAO,uCACP,IAAO,oCACP,IAAO,6CACP,IAAO,oCACP,IAAO,oCACP,IAAO,uCACP,IAAO,2CAER,QAAW,CACV,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,WACP,IAAO,UACP,IAAO,UACP,IAAO,QACP,IAAO,UACP,IAAO,SAER,SAAY,CACX,IAAO,WACP,IAAO,aACP,IAAO,YACP,IAAO,aACP,IAAO,uBACP,IAAO,eACP,IAAO,YACP,IAAO,eACP,IAAO,YACP,IAAO,cAER,gBAAmB,CAClB,IAAO,mBACP,IAAO,4BACP,IAAO,sBACP,IAAO,qBACP,IAAO,yBACP,IAAO,wBACP,IAAO,mBACP,IAAO,wBACP,IAAO,0BACP,IAAO,2BAER,uBAA0B,CACzB,IAAO,wBACP,IAAO,qCACP,IAAO,yBACP,IAAO,uCACP,IAAO,mCACP,IAAO,+BACP,IAAO,mCACP,IAAO,uCACP,IAAO,kCACP,IAAO,6BAER,gBAAmB,CAClB,IAAO,oBACP,IAAO,iCACP,IAAO,sBACP,IAAO,yBACP,IAAO,iCACP,IAAO,6BACP,IAAO,yBACP,IAAO,4BACP,IAAO,0BACP,IAAO,2BAER,YAAe,CACd,IAAO,eACP,IAAO,oBACP,IAAO,kBACP,IAAO,iBACP,IAAO,eACP,IAAO,mBACP,IAAO,YACP,IAAO,cACP,IAAO,eACP,IAAO,gBAER,YAAe,CACd,IAAO,eACP,IAAO,iBACP,IAAO,uBACP,IAAO,YACP,IAAO,YACP,IAAO,eACP,IAAO,WACP,IAAO,cACP,IAAO,eACP,IAAO,cAER,uBAA0B,CACzB,IAAO,4BACP,IAAO,4BACP,IAAO,yBACP,IAAO,6BACP,IAAO,sBACP,IAAO,6BACP,IAAO,wBACP,IAAO,8BACP,IAAO,uBACP,IAAO,6BAER,yBAA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IAAO,0CACP,IAAO,2BAER,YAAe,CACd,IAAO,eACP,IAAO,6BACP,IAAO,sBACP,IAAO,uBACP,IAAO,kBACP,IAAO,iBACP,IAAO,6BACP,IAAO,yBACP,IAAO,oBACP,IAAO,uBAER,oBAAuB,CACtB,IAAO,wCACP,IAAO,gDACP,IAAO,uCACP,IAAO,sCACP,IAAO,4BACP,IAAO,wCACP,IAAO,mDACP,IAAO,0CACP,IAAO,uCACP,IAAO,+BAER,oBAAuB,CACtB,IAAO,oCACP,IAAO,qCACP,IAAO,iCACP,IAAO,yBACP,IAAO,6CACP,IAAO,6BACP,IAAO,gCACP,IAAO,2CACP,IAAO,0CACP,IAAO,gCAER,SAAY,CACX,IAAO,eACP,IAAO,mBACP,IAAO,mBACP,IAAO,gBACP,IAAO,iBACP,IAAO,oBACP,IAAO,kBACP,IAAO,kBACP,IAAO,qBACP,IAAO,kBAER,mBAAsB,CACrB,IAAO,uBACP,IAAO,8BACP,IAAO,mBACP,IAAO,qBACP,IAAO,2BACP,IAAO,yBACP,IAAO,wBACP,IAAO,sBACP,IAAO,mBACP,IAAO,qBAER,mBAAsB,CACrB,IAAO,yCACP,IAAO,sDACP,IAAO,8CACP,IAAO,0CACP,IAAO,wCACP,IAAO,2CACP,IAAO,gDACP,IAAO,2CACP,IAAO,gDAER,OAAU,CACT,IAAO,SACP,IAAO,WACP,IAAO,aACP,IAAO,aACP,IAAO,cACP,IAAO,WACP,IAAO,UACP,IAAO,cACP,IAAO,WACP,IAAO,WAER,kBAAqB,CACpB,IAAO,qBACP,IAAO,WACP,IAAO,mBACP,IAAO,mBACP,IAAO,wBACP,IAAO,wBACP,IAAO,iBACP,IAAO,uBACP,IAAO,YACP,IAAO,oBAER,YAAe,CACd,IAAO,eACP,IAAO,cACP,IAAO,oBACP,IAAO,kBACP,IAAO,mBACP,IAAO,kBACP,IAAO,oBACP,IAAO,oBACP,IAAO,uBACP,IAAO,mBAER,WAAc,CACb,IAAO,cACP,IAAO,eACP,IAAO,qBACP,IAAO,mBACP,IAAO,iBACP,IAAO,oBACP,IAAO,mBACP,IAAO,gBACP,IAAO,uBACP,IAA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AO,kBACP,IAAO,gBACP,IAAO,kBACP,IAAO,gBACP,IAAO,eACP,IAAO,iBACP,IAAO,eACP,IAAO,aACP,IAAO,iBAER,UAAa,CACZ,IAAO,aACP,IAAO,gBACP,IAAO,cACP,IAAO,iBACP,IAAO,iBACP,IAAO,cACP,IAAO,oBACP,IAAO,aACP,IAAO,gBACP,IAAO,iBAER,kBAAqB,CACpB,IAAO,sBACP,IAAO,8BACP,IAAO,2BACP,IAAO,uBACP,IAAO,0BACP,IAAO,qBACP,IAAO,yBACP,IAAO,wBACP,IAAO,qBACP,IAAO,sBAER,2BAA8B,CAC7B,IAAO,+BACP,IAAO,uCACP,IAAO,8BACP,IAAO,6BACP,IAAO,+BACP,IAAO,8BACP,IAAO,gCACP,IAAO,4BACP,IAAO,6BACP,IAAO,+BAER,MAAS,CACR,IAAO,QACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,aACP,IAAO,SACP,IAAO,QACP,IAAO,WACP,IAAO,OACP,IAAO,UAER,WAAc,CACb,IAAO,aACP,IAAO,WACP,IAAO,aACP,IAAO,aACP,IAAO,cACP,IAAO,cACP,IAAO,aACP,IAAO,YACP,IAAO,kBACP,IAAO,aAER,WAAc,CACb,IAAO,cACP,IAAO,cACP,IAAO,kCACP,IAAO,iBACP,IAAO,eACP,IAAO,cACP,IAAO,yBACP,IAAO,4BACP,IAAO,yBACP,IAAO,kBAER,YAAe,CACd,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,aACP,IAAO,eACP,IAAO,cACP,IAAO,aACP,IAAO,aACP,IAAO,WACP,IAAO,cAER,oBAAuB,CACtB,IAAO,wBACP,IAAO,2BACP,IAAO,6BACP,IAAO,uBACP,IAAO,uBACP,IAAO,0BACP,IAAO,0BACP,IAAO,qBACP,IAAO,uBACP,IAAO,0BAER,kBAAqB,CACpB,IAAO,qBACP,IAAO,uBACP,IAAO,oBACP,IAAO,mBACP,IAAO,sBACP,IAAO,kBACP,IAAO,oBACP,IAAO,qBACP,IAAO,eACP,IAAO,sBAER,cAAiB,CAChB,IAAO,iBACP,IAAO,iBACP,IAAO,sBACP,IAAO,gBACP,IAAO,oBACP,IAAO,cACP,IAAO,mBACP,IAAO,kBACP,IAAO,gBACP,IAAO,iBAER,UAAa,CACZ,IAAO,YACP,IAAO,WACP,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,WAER,mBAAsB,CACrB,IAAO,4DACP,IAAO,0DACP,IAAO,wEACP,IAAO,iEACP,IAAO,kDACP,IAAO,gEACP,IAAO,8EACP,IAAO,0DACP,IAAO,0DACP,IAAO,gEAER,mBAAsB,CACrB,IAAO,qHACP,IAAO,kJACP,IAAO,uIACP,IAAO,mHACP,IAAO,iGACP,IAAO,8HACP,IAAO,4IACP,IAAO,mJACP,IAAO,kIACP,IAAO,+HAER,OAAU,CACT,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,WACP,IAAO,WACP,IAAO,SAER,SAAY,CACX,IAAO,WACP,IAAO,WACP,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,gBACP,IAAO,aACP,IAAO,aACP,IAAO,kCACP,IAAO,WAER,IAAO,CACN,IAAO,MACP,IAAO,QACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,MACP,IAAO,OACP,IAAO,QACP,IAAO,OACP,IAAO,MAER,QAAW,CACV,IAAO,WACP,IAAO,WACP,IAAO,SACP,IAAO,SACP,IAAO,YACP,IAAO,SACP,IAAO,UACP,IAAO,YACP,IAAO,YACP,IAAO,YAER,iBAAoB,CACnB,IAAO,oBACP,IAAO,wBACP,IAAO,uBACP,IAAO,qBACP,IAAO,sBACP,IAAO,sBACP,IAAO,oBACP,IAAO,oBACP,IAAO,kBACP,IAAO,uBAER,oBAAuB,CACtB,IAAO,2CACP,IAAO,kDACP,IAAO,qDACP,IAAO,4CACP,IAAO,mEACP,IAAO,0DACP,IAAO,yDACP,IAAO,yCACP,IAAO,4CACP,IAAO,2CAER,2BAA4B,CAC3B,IAAO,kBACP,IAAO,sBACP,IAAO,sBACP,IAAO,8BACP,IAAO,4BACP,IAAO,qBACP,IAAO,iBA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O,+BACP,IAAO,kCACP,IAAO,4BACP,IAAO,kCACP,IAAO,+BACP,IAAO,iCAER,cAAiB,CAChB,IAAO,sBACP,IAAO,wBACP,IAAO,oBACP,IAAO,qBACP,IAAO,4BACP,IAAO,uBACP,IAAO,qBACP,IAAO,uBAER,qBAAwB,CACvB,IAAO,6BACP,IAAO,8BACP,IAAO,gCACP,IAAO,2BACP,IAAO,sCACP,IAAO,wCACP,IAAO,mCAER,eAAkB,CACjB,IAAO,oCACP,IAAO,qCACP,IAAO,sCACP,IAAO,mCACP,IAAO,oCACP,IAAO,0CACP,IAAO,mCACP,IAAO,oCAER,mBAAsB,CACrB,IAAO,2CACP,IAAO,oDACP,IAAO,8CACP,IAAO,wCACP,IAAO,sCACP,IAAO,sCAER,eAAkB,CACjB,IAAO,aACP,IAAO,kBACP,IAAO,YACP,IAAO,aACP,IAAO,oBACP,IAAO,YACP,IAAO,iBACP,IAAO,gCAER,kBAAqB,CACpB,IAAO,sBACP,IAAO,mCACP,IAAO,oBACP,IAAO,iCACP,IAAO,2BACP,IAAO,4BACP,IAAO,0BACP,IAAO,wCAER,MAAS,CACR,IAAO,UACP,IAAO,gBACP,IAAO,OACP,IAAO,UACP,IAAO,UACP,IAAO,cACP,IAAO,UACP,IAAO,UAER,QAAW,CACV,IAAO,UACP,IAAO,eACP,IAAO,eACP,IAAO,aACP,IAAO,SACP,IAAO,SACP,IAAO,YACP,IAAO,aAER,mBAAsB,CACrB,IAAO,kFACP,IAAO,yEACP,IAAO,8FACP,IAAO,6FACP,IAAO,oDACP,IAAO,kFACP,IAAO,8DACP,IAAO,mFAER,iBAAoB,CACnB,IAAO,qBACP,IAAO,kCACP,IAAO,qBACP,IAAO,mCACP,IAAO,yBACP,IAAO,2BACP,IAAO,gCACP,IAAO,yBAER,OAAU,CACT,IAAO,SACP,IAAO,WACP,IAAO,UACP,IAAO,QACP,IAAO,QACP,IAAO,WACP,IAAO,WACP,IAAO,QAER,qBAAwB,CACvB,IAAO,kBACP,IAAO,oBACP,IAAO,iCACP,IAAO,oCACP,IAAO,yBACP,IAAO,qCACP,IAAO,kCACP,IAAO,0BA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IAAO,qBACP,IAAO,YACP,IAAO,oBACP,IAAO,YACP,IAAO,OACP,IAAO,UAER,MAAS,CACR,IAAO,QACP,IAAO,OACP,IAAO,QACP,IAAO,OACP,IAAO,OACP,IAAO,OACP,IAAO,SAER,SAAY,CACX,IAAO,WACP,IAAO,WACP,IAAO,SACP,IAAO,aACP,IAAO,QACP,IAAO,QACP,IAAO,SAER,KAAQ,CACP,IAAO,OACP,IAAO,OACP,IAAO,QACP,IAAO,MACP,IAAO,WACP,IAAO,MACP,IAAO,SAER,KAAQ,CACP,IAAO,OACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,OACP,IAAO,YACP,IAAO,WAER,SAAY,CACX,IAAO,WACP,IAAO,WACP,IAAO,cACP,IAAO,aACP,IAAO,UACP,IAAO,eACP,IAAO,aAER,mBAAsB,CACrB,IAAO,uBACP,IAAO,iCACP,IAAO,4BACP,IAAO,2BACP,IAAO,sCACP,IAAO,8BACP,IAAO,sBAER,QAAW,CACV,IAAO,UACP,IAAO,YACP,IAAO,YACP,IAAO,WACP,IAAO,WACP,IAAO,YACP,IAAO,cAER,KAAQ,CACP,IAAO,OACP,IAAO,QACP,IAAO,MACP,IAAO,OACP,IAAO,QACP,IAAO,SACP,IAAO,QAER,cAAiB,CAChB,IAAO,4BACP,IAAO,+BACP,IAAO,2BACP,IAAO,2BACP,IAAO,4BACP,IAAO,2BACP,IAAO,0BAER,UAAa,CACZ,IAAO,YACP,IAAO,cACP,IAAO,cACP,IAAO,SACP,IAAO,cACP,IAAO,WACP,IAAO,SAER,gBAAmB,CAClB,IAAO,8BACP,IAAO,4BACP,IAAO,kBACP,IAAO,4BACP,IAAO,2BACP,IAAO,yBACP,IAAO,+BAER,oBAAuB,CACtB,IAAO,yBACP,IAAO,uBACP,IAAO,WACP,IAAO,uBACP,IAAO,4BACP,IAAO,wBACP,IAAO,aAER,mBAAsB,CACrB,IAAO,yGACP,IAAO,8GACP,IAAO,mFACP,IAAO,iGACP,IAAO,uJACP,IAAO,qHACP,IAAO,+FAER,aAAgB,CACf,IAAO,iCACP,IAAO,4BACP,IAAO,0BACP,IAAO,gC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ACP,IAAO,YACP,IAAO,YAER,SAAY,CACX,IAAO,YACP,IAAO,WACP,IAAO,eACP,IAAO,aACP,IAAO,WACP,IAAO,eACP,IAAO,WAER,cAAiB,CAChB,IAAO,cACP,IAAO,UACP,IAAO,iBACP,IAAO,WACP,IAAO,aACP,IAAO,iBACP,IAAO,iBAER,QAAW,CACV,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,WACP,IAAO,UACP,IAAO,YACP,IAAO,UAER,QAAW,CACV,IAAO,WACP,IAAO,WACP,IAAO,YACP,IAAO,aACP,IAAO,UACP,IAAO,YACP,IAAO,WAER,eAAkB,CACjB,IAAO,0BACP,IAAO,mCACP,IAAO,4BACP,IAAO,mCACP,IAAO,0BACP,IAAO,iBACP,IAAO,8BAER,cAAiB,CAChB,IAAO,WACP,IAAO,cACP,IAAO,WACP,IAAO,mBACP,IAAO,UACP,IAAO,WACP,IAAO,UAER,eAAkB,CACjB,IAAO,WACP,IAAO,UACP,IAAO,QACP,IAAO,SACP,IAAO,WACP,IAAO,aACP,IAAO,YAER,oBAAuB,CACtB,IAAO,cACP,IAAO,aACP,IAAO,kBACP,IAAO,aACP,IAAO,cACP,IAAO,gBACP,IAAO,cAER,gBAAmB,CAClB,IAAO,eACP,IAAO,gBACP,IAAO,cACP,IAAO,gBACP,IAAO,oBACP,IAAO,cACP,IAAO,mBAER,mBAAsB,CACrB,IAAO,+BACP,IAAO,mCACP,IAAO,+BACP,IAAO,+BACP,IAAO,gCACP,IAAO,8BACP,IAAO,qCAER,aAAgB,CACf,IAAO,kDACP,IAAO,+DACP,IAAO,yDACP,IAAO,iDACP,IAAO,gDACP,IAAO,yDACP,IAAO,yDAER,WAAc,CACb,IAAO,gBACP,IAAO,yBACP,IAAO,wBACP,IAAO,wBACP,IAAO,mCACP,IAAO,6BACP,IAAO,qCAER,iBAAoB,CACnB,IAAO,6EACP,IAAO,sEACP,IAAO,yFACP,IAAO,iFACP,IAAO,sFACP,IAAO,qFACP,IAAO,kHAER,UAAa,CACZ,IAAO,kBACP,IAAO,iBACP,IAAO,iBACP,IAAO,uBACP,IAAO,iBACP,IAAO,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IAAO,0BACP,IAAO,6BACP,IAAO,GACP,IAAO,gCAER,mBAAsB,CACrB,IAAO,uBACP,IAAO,4BACP,IAAO,iCACP,IAAO,kCACP,IAAO,kCACP,IAAO,8BACP,IAAO,uCAER,sBAAyB,CACxB,IAAO,kFACP,IAAO,0FACP,IAAO,0FACP,IAAO,kGACP,IAAO,8FACP,IAAO,kHACP,IAAO,4GAER,WAAc,CACb,IAAO,eACP,IAAO,uBACP,IAAO,oBACP,IAAO,oBACP,IAAO,yBACP,IAAO,kBACP,IAAO,0BAER,SAAY,CACX,IAAO,WACP,IAAO,YACP,IAAO,YACP,IAAO,WACP,IAAO,WACP,IAAO,SACP,IAAO,cAER,eAAkB,CACjB,IAAO,mBACP,IAAO,yBACP,IAAO,oBACP,IAAO,yBACP,IAAO,0BACP,IAAO,4BACP,IAAO,oBAER,aAAgB,CACf,IAAO,gBACP,IAAO,qBACP,IAAO,kBACP,IAAO,sBACP,IAAO,uBACP,IAAO,eACP,IAAO,oBAER,WAAc,CACb,IAAO,cACP,IAAO,gBACP,IAAO,eACP,IAAO,gBACP,IAAO,eACP,IAAO,gBACP,IAAO,eAER,KAAQ,CACP,IAAO,OACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,MACP,IAAO,OACP,IAAO,SAER,QAAW,CACV,IAAO,WACP,IAAO,kBACP,IAAO,aACP,IAAO,cACP,IAAO,kBACP,IAAO,YACP,IAAO,kBAER,WAAc,CACb,IAAO,qBACP,IAAO,wBACP,IAAO,sBACP,IAAO,wBACP,IAAO,yBACP,IAAO,wBACP,IAAO,0BAER,uBAA0B,CACzB,IAAO,+IACP,IAAO,oJACP,IAAO,gJACP,IAAO,oJACP,IAAO,mJACP,IAAO,oJAER,YAAe,CACd,IAAO,oBACP,IAAO,mBACP,IAAO,qBACP,IAAO,wBACP,IAAO,wBACP,IAAO,yBACP,IAAO,sBAER,iBAAoB,CACnB,IAAO,WACP,IAAO,UACP,IAAO,eACP,IAAO,gBACP,IAAO,UACP,IAAO,WACP,IAAO,oBAER,iBAAoB,CACnB,IAAO,WACP,IAAO,WACP,IAAO,WACP,IAAO,SAC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","sources":["webpack://cp/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://cp/./packages/common/app-composables/useCardReports.ts","webpack://cp/./packages/common/app-composables/useReceiptUpload.ts","webpack://cp/./packages/common/composables/useAccountingFields.ts","webpack://cp/./packages/common/composables/useAccountingSettings.ts","webpack://cp/./packages/common/composables/useApprovalProgress.ts","webpack://cp/./packages/common/composables/useCardReconciliation.ts","webpack://cp/./packages/common/composables/useConfig.ts","webpack://cp/./packages/common/composables/useDateFilters.ts","webpack://cp/./packages/common/composables/useDownloads.ts","webpack://cp/./packages/common/composables/useExpenseFlow.ts","webpack://cp/./packages/common/composables/useFormatters.ts","webpack://cp/./packages/common/composables/useHelpers.ts","webpack://cp/./packages/common/composables/useInstanceHelpers.ts","webpack://cp/./packages/common/composables/useItemRows.ts","webpack://cp/./packages/common/composables/useMileage.ts","webpack://cp/./packages/common/composables/useMileageCalculator.ts","webpack://cp/./packages/common/composables/useMileageUtils.ts","webpack://cp/./packages/common/composables/useParamsContext.ts","webpack://cp/./packages/common/composables/useReceipts.ts","webpack://cp/./packages/common/composables/useTripStatus.ts","webpack://cp/./packages/common/composables/useTripUtils.ts","webpack://cp/./packages/common/composables/useTrips.ts","webpack://cp/./packages/common/enums/auth.ts","webpack://cp/./packages/common/enums/config.ts","webpack://cp/./packages/common/enums/errors.ts","webpack://cp/./packages/common/enums/integrations.ts","webpack://cp/./packages/common/enums/payment-methods.ts","webpack://cp/./packages/common/enums/users.ts","webpack://cp/./packages/common/lib/allowance/countries/newestonia.ts","webpack://cp/./packages/common/lib/allowance/countries/finland.js","webpack://cp/./packages/common/lib/allowance/index.ts","webpack://cp/./packages/common/lib/item-rows/index.ts","webpack://cp/./packages/common/lib/status.ts","webpack://cp/./packages/common/models/companies.ts","webpack://cp/./packages/common/lib/vue-instance-helpers.js","webpack://cp/./packages/ui/directives/sanitize.ts","webpack://cp/./packages/common/plugins/helpers.ts","webpack://cp/./packages/common/plugins/l10n.ts","webpack://cp/./packages/common/providers/global.providers.ts","webpack://cp/./packages/common/lib/helpers/getRandomId.js","webpack://cp/./packages/common/store/modules/requests.store.js","webpack://cp/./packages/common/store/modules/receipts.store.js","webpack://cp/./packages/common/store/modules/auth/auth.mutations.ts","webpack://cp/./packages/common/lib/errorHandler/index.js","webpack://cp/./packages/common/store/modules/auth/auth.actions.ts","webpack://cp/./packages/common/store/modules/auth/auth.getters.ts","webpack://cp/./packages/common/store/modules/auth/index.ts","webpack://cp/./packages/common/store/modules/accounting/accounting.mutations.ts","webpack://cp/./packages/common/store/modules/accounting/accounting.actions.ts","webpack://cp/./packages/common/store/modules/accounting/accounting.getters.ts","webpack://cp/./packages/common/store/modules/accounting/accounting.state.ts","webpack://cp/./packages/common/store/modules/accounting/index.ts","webpack://cp/./packages/common/store/modules/accounting-settings/accounting-settings.mutations.ts","webpack://cp/./packages/common/store/modules/accounting-settings/accounting-settings.actions.ts","webpack://cp/./packages/common/store/modules/accounting-settings/accounting-settings.getters.ts","webpack://cp/./packages/common/store/modules/accounting-settings/accounting-settings.state.ts","webpack://cp/./packages/common/store/modules/accounting-settings/index.ts","webpack://cp/./packages/common/store/modules/approvals/approvals.mutations.ts","webpack://cp/./packages/common/store/modules/approvals/approvals.actions.ts","webpack://cp/./packages/common/store/modules/approvals/approvals.getters.ts","webpack://cp/./packages/common/store/modules/approvals/approvals.state.ts","webpack://cp/./packages/common/store/modules/approvals/index.ts","webpack://cp/./packages/common/store/modules/approvals-settings/approval-settings.mutations.ts","webpack://cp/./packages/common/store/modules/approvals-settings/approval-settings.actions.ts","webpack://cp/./packages/common/store/modules/approvals-settings/approval-settings.getters.ts","webpack://cp/./packages/common/store/modules/approvals-settings/approval-settings.state.ts","webpack://cp/./packages/common/store/modules/approvals-settings/index.ts","webpack://cp/./packages/common/store/modules/config/config.mutations.ts","webpack://cp/./packages/common/store/modules/config/config.actions.ts","webpack://cp/./packages/common/store/modules/config/config.getters.ts","webpack://cp/./packages/common/store/modules/config/config.state.ts","webpack://cp/./packages/common/store/modules/config/index.ts","webpack://cp/./packages/common/store/modules/cost-types/cost-types.mutations.ts","webpack://cp/./packages/common/store/modules/cost-types/cost-types.actions.ts","webpack://cp/./packages/common/store/modules/cost-types/cost-types.getters.ts","webpack://cp/./packages/common/store/modules/cost-types/cost-types.state.ts","webpack://cp/./packages/common/store/modules/cost-types/index.ts","webpack://cp/./packages/common/store/modules/integrations/integrations.mutations.ts","webpack://cp/./packages/common/store/modules/integrations/integrations.actions.ts","webpack://cp/./packages/common/store/modules/integrations/integrations.getters.ts","webpack://cp/./packages/common/store/modules/integrations/integrations.state.ts","webpack://cp/./packages/common/store/modules/integrations/index.ts","webpack://cp/./packages/common/store/modules/mileage/mileage.actions.ts","webpack://cp/./packages/common/store/modules/mileage/mileage.getters.ts","webpack://cp/./packages/common/store/modules/mileage/mileage.mutations.ts","webpack://cp/./packages/common/store/modules/mileage/mileage.state.ts","webpack://cp/./packages/common/store/modules/mileage/index.ts","webpack://cp/./packages/common/store/modules/overview/overview.mutations.ts","webpack://cp/./packages/common/lib/queryCreator/index.js","webpack://cp/./packages/common/store/modules/overview/overview.actions.ts","webpack://cp/./packages/common/store/modules/overview/overview.getters.ts","webpack://cp/./packages/common/store/modules/overview/overview.state.ts","webpack://cp/./packages/common/store/modules/overview/index.ts","webpack://cp/./packages/common/store/modules/transactions/transactions.mutations.ts","webpack://cp/./packages/common/store/modules/transactions/transactions.actions.ts","webpack://cp/./packages/common/store/modules/transactions/transactions.getters.ts","webpack://cp/./packages/common/store/modules/transactions/transactions.state.ts","webpack://cp/./packages/common/store/modules/transactions/index.ts","webpack://cp/./packages/common/store/modules/payment-methods/payments.mutations.ts","webpack://cp/./packages/common/store/modules/payment-methods/payments.actions.ts","webpack://cp/./packages/common/store/modules/payment-methods/payments.getters.ts","webpack://cp/./packages/common/store/modules/payment-methods/payments.state.ts","webpack://cp/./packages/common/store/modules/payment-methods/index.ts","webpack://cp/./packages/common/store/modules/receipts/receipts.mutations.ts","webpack://cp/./packages/common/store/modules/receipts/receipts.actions.ts","webpack://cp/./packages/common/store/modules/receipts/receipts.getters.ts","webpack://cp/./packages/common/store/modules/receipts/receipts.state.ts","webpack://cp/./packages/common/store/modules/receipts/index.ts","webpack://cp/./packages/common/store/modules/setting/setting.mutations.ts","webpack://cp/./packages/common/store/modules/setting/setting.actions.ts","webpack://cp/./packages/common/store/modules/setting/setting.getters.ts","webpack://cp/./packages/common/store/modules/setting/setting.state.ts","webpack://cp/./packages/common/store/modules/setting/index.ts","webpack://cp/./packages/common/store/modules/trips/trips.mutations.ts","webpack://cp/./packages/common/store/modules/trips/trips.actions.ts","webpack://cp/./packages/common/store/modules/trips/trips.getters.ts","webpack://cp/./packages/common/store/modules/trips/trips.state.ts","webpack://cp/./packages/common/store/modules/trips/index.ts","webpack://cp/./packages/common/lib/vuex-types/root.ts","webpack://cp/./packages/common/store/store.root.ts","webpack://cp/./packages/common/store/modules/companies/companies.store.ts","webpack://cp/./packages/common/store/modules/users/users.store.ts","webpack://cp/./packages/common/store/index.ts","webpack://cp/./packages/ui/components/UiSelectTransparent.vue","webpack://cp/./packages/ui/components/UiSelectTransparent.vue?1c60","webpack://cp/./packages/ui/components/UiNavigationDrawer.vue","webpack://cp/./packages/ui/components/UiNavigationDrawer.vue?5121","webpack://cp/./packages/ui/components/UiImagePreview.vue","webpack://cp/./packages/ui/components/UiImagePreview.vue?4177","webpack://cp/./packages/ui/components/UiInputChips.vue","webpack://cp/./packages/ui/components/UiInputChips.vue?16bb","webpack://cp/./packages/ui/components/UiDatepicker.vue","webpack://cp/./packages/ui/components/UiDatepicker.vue?62a4","webpack://cp/./packages/ui/components/UiFabButton.vue","webpack://cp/./packages/ui/components/UiFabButton.vue?d3fb","webpack://cp/./packages/ui/components/UiPopupMenu.vue","webpack://cp/./packages/ui/components/UiPopupMenu.vue?2b95","webpack://cp/./packages/ui/components/UiSearchBar.vue","webpack://cp/./packages/ui/components/UiSearchBar.vue?bdc9","webpack://cp/./packages/ui/components/UiCheckbox.vue","webpack://cp/./packages/ui/components/UiCheckbox.vue?1f46","webpack://cp/./packages/ui/components/UiInfoBox.vue","webpack://cp/./packages/ui/components/UiInfoBox.vue?4ae6","webpack://cp/./packages/ui/components/UiSelect.vue","webpack://cp/./packages/ui/components/UiSelect.vue?99f0","webpack://cp/./packages/ui/components/UiSwitch.vue","webpack://cp/./packages/ui/components/UiSwitch.vue?52d8","webpack://cp/./packages/ui/components/UiButton.vue","webpack://cp/./packages/ui/components/UiButton.vue?ab39","webpack://cp/./packages/ui/components/UiButtonDesktop.vue","webpack://cp/./packages/ui/components/UiButtonDesktop.vue?e962","webpack://cp/./packages/ui/components/UiButtonSwitch.vue","webpack://cp/./packages/ui/components/UiButtonSwitch.vue?aefd","webpack://cp/./packages/ui/components/UiFileUploadButton.vue","webpack://cp/./packages/ui/components/UiFileUploadButton.vue?0d13","webpack://cp/./packages/ui/components/UiLoader.vue","webpack://cp/./packages/ui/components/UiLoader.vue?48cb","webpack://cp/./packages/ui/components/UiInput.vue","webpack://cp/./packages/ui/components/UiInput.vue?1b0d","webpack://cp/./packages/ui/components/UiModal.vue","webpack://cp/./packages/ui/components/UiModal.vue?7603","webpack://cp/./packages/ui/components/UiHeader.vue","webpack://cp/./packages/ui/components/UiHeader.vue?7e07","webpack://cp/./packages/ui/components/UiTooltip.vue","webpack://cp/./packages/ui/components/UiTooltip.vue?6dc3","webpack://cp/./packages/ui/components/UiCard.vue","webpack://cp/./packages/ui/components/UiCard.vue?3f38","webpack://cp/./packages/ui/components/UiRadio.vue","webpack://cp/./packages/ui/components/UiRadio.vue?9e91","webpack://cp/./packages/common/components/UploadWarning.vue","webpack://cp/./packages/common/components/UploadWarning.vue?d884","webpack://cp/./packages/common/components/Spinner.vue","webpack://cp/./packages/common/components/Spinner.vue?3db9","webpack://cp/./packages/common/components/index.js","webpack://cp/./packages/common/lib/allowance/allowance.js","webpack://cp/./packages/common/lib/allowance/countries/latvia.js","webpack://cp/./packages/common/lib/allowance/countries/lithuania.js","webpack://cp/./packages/common/lib/allowance/countries/poland.js","webpack://cp/./packages/common/lib/allowance/countries/sweden.js","webpack://cp/./packages/common/lib/allowance/data/finlandPerDiems2023.js","webpack://cp/./packages/common/lib/allowance/data/finlandPerDiems2024.js","webpack://cp/./packages/common/lib/allowance/data/finlandPerDiems2025.js","webpack://cp/./packages/common/lib/allowance/data/latviaForeignTravelPerDiems.js","webpack://cp/./packages/common/lib/allowance/data/lithuaniaPerDiems2022.js","webpack://cp/./packages/common/lib/allowance/data/lithuaniaPerDiems2023.js","webpack://cp/./packages/common/lib/allowance/data/polandPerDiems2023.js","webpack://cp/./packages/common/lib/allowance/data/specialTerritoriesFinland.js","webpack://cp/./packages/common/lib/allowance/data/specialTerritoriesLatvia.js","webpack://cp/./packages/common/lib/allowance/data/specialTerritoriesLithuania.js","webpack://cp/./packages/common/lib/allowance/data/specialTerritories.js","webpack://cp/./packages/common/lib/allowance/data/swedenPerDiems2023.js","webpack://cp/./packages/common/lib/allowance/data/swedenPerDiems2024.js","webpack://cp/./packages/common/lib/countrynametranslations/countrynames.js","webpack://cp/./packages/common/lib/globalInterceptors/axios.interceptor.js","webpack://cp/./packages/common/lib/handler/index.js","webpack://cp/./packages/common/lib/helpers/findMostCommonOccurence.js","webpack://cp/./packages/common/lib/helpers/getQueryFromObj.js","webpack://cp/./packages/common/lib/helpers/particularizeReportName.js","webpack://cp/./packages/common/lib/helpers/transformSumInput.js","webpack://cp/./packages/common/lib/l10n.js","webpack://cp/./packages/common/lib/preparereceipts.js","webpack://cp/./packages/common/lib/statuses/displayedTripStatus.js","webpack://cp/./packages/common/lib/vatRates.js","webpack://cp/./packages/common/lib/world.js","webpack://cp/./packages/ui/icons/IconAccount.vue","webpack://cp/./packages/ui/icons/IconAccount.vue?1d94","webpack://cp/./packages/ui/icons/IconAdd.vue","webpack://cp/./packages/ui/icons/IconAdd.vue?7d79","webpack://cp/./packages/ui/icons/IconAddFile.vue","webpack://cp/./packages/ui/icons/IconAddFile.vue?433b","webpack://cp/./packages/ui/icons/IconAddFolder.vue","webpack://cp/./packages/ui/icons/IconAddFolder.vue?b64b","webpack://cp/./packages/ui/icons/IconAdjust.vue","webpack://cp/./packages/ui/icons/IconAdjust.vue?3db7","webpack://cp/./packages/ui/icons/IconArchive.vue","webpack://cp/./packages/ui/icons/IconArchive.vue?3a6f","webpack://cp/./packages/ui/icons/IconArrow.vue","webpack://cp/./packages/ui/icons/IconArrow.vue?1e29","webpack://cp/./packages/ui/icons/IconBank.vue","webpack://cp/./packages/ui/icons/IconBank.vue?b892","webpack://cp/./packages/ui/icons/IconBoat.vue","webpack://cp/./packages/ui/icons/IconBoat.vue?4d50","webpack://cp/./packages/ui/icons/IconBriefcase.vue","webpack://cp/./packages/ui/icons/IconBriefcase.vue?9a44","webpack://cp/./packages/ui/icons/IconCancel.vue","webpack://cp/./packages/ui/icons/IconCancel.vue?ade6","webpack://cp/./packages/ui/icons/IconCar.vue","webpack://cp/./packages/ui/icons/IconCar.vue?bd8b","webpack://cp/./packages/ui/icons/IconCard.vue","webpack://cp/./packages/ui/icons/IconCard.vue?482d","webpack://cp/./packages/ui/icons/IconCash.vue","webpack://cp/./packages/ui/icons/IconCash.vue?939c","webpack://cp/./packages/ui/icons/IconChevronLeft.vue","webpack://cp/./packages/ui/icons/IconChevronLeft.vue?6438","webpack://cp/./packages/ui/icons/IconChevronUp.vue","webpack://cp/./packages/ui/icons/IconChevronUp.vue?dfb8","webpack://cp/./packages/ui/icons/IconCollapse.vue","webpack://cp/./packages/ui/icons/IconCollapse.vue?f7b9","webpack://cp/./packages/ui/icons/IconConversion.vue","webpack://cp/./packages/ui/icons/IconConversion.vue?db29","webpack://cp/./packages/ui/icons/IconCopy.vue","webpack://cp/./packages/ui/icons/IconCopy.vue?e503","webpack://cp/./packages/ui/icons/IconCup.vue","webpack://cp/./packages/ui/icons/IconCup.vue?32f2","webpack://cp/./packages/ui/icons/IconDelete.vue","webpack://cp/./packages/ui/icons/IconDelete.vue?da05","webpack://cp/./packages/ui/icons/IconDocument.vue","webpack://cp/./packages/ui/icons/IconDocument.vue?4953","webpack://cp/./packages/ui/icons/IconDone.vue","webpack://cp/./packages/ui/icons/IconDone.vue?58da","webpack://cp/./packages/ui/icons/IconDots.vue","webpack://cp/./packages/ui/icons/IconDots.vue?def6","webpack://cp/./packages/ui/icons/IconDownload.vue","webpack://cp/./packages/ui/icons/IconDownload.vue?002d","webpack://cp/./packages/ui/icons/IconDoubleChevron.vue","webpack://cp/./packages/ui/icons/IconDoubleChevron.vue?063e","webpack://cp/./packages/ui/icons/IconEnvelope.vue","webpack://cp/./packages/ui/icons/IconEnvelope.vue?ea72","webpack://cp/./packages/ui/icons/IconExit.vue","webpack://cp/./packages/ui/icons/IconExit.vue?ee89","webpack://cp/./packages/ui/icons/IconEye.vue","webpack://cp/./packages/ui/icons/IconEye.vue?577a","webpack://cp/./packages/ui/icons/IconFacebook.vue","webpack://cp/./packages/ui/icons/IconFacebook.vue?0a93","webpack://cp/./packages/ui/icons/IconFilter.vue","webpack://cp/./packages/ui/icons/IconFilter.vue?4463","webpack://cp/./packages/ui/icons/IconFolder.vue","webpack://cp/./packages/ui/icons/IconFolder.vue?9e63","webpack://cp/./packages/ui/icons/IconGlobe.vue","webpack://cp/./packages/ui/icons/IconGlobe.vue?9d3e","webpack://cp/./packages/ui/icons/IconGoogle.vue","webpack://cp/./packages/ui/icons/IconGoogle.vue?b2d5","webpack://cp/./packages/ui/icons/IconHail.vue","webpack://cp/./packages/ui/icons/IconHail.vue?9cbd","webpack://cp/./packages/ui/icons/IconImportFile.vue","webpack://cp/./packages/ui/icons/IconImportFile.vue?e941","webpack://cp/./packages/ui/icons/IconInfo.vue","webpack://cp/./packages/ui/icons/IconInfo.vue?36e8","webpack://cp/./packages/ui/icons/IconKanban.vue","webpack://cp/./packages/ui/icons/IconKanban.vue?8b33","webpack://cp/./packages/ui/icons/IconKey.vue","webpack://cp/./packages/ui/icons/IconKey.vue?cbd6","webpack://cp/./packages/ui/icons/IconLines.vue","webpack://cp/./packages/ui/icons/IconLines.vue?0d24","webpack://cp/./packages/ui/icons/IconLinkedin.vue","webpack://cp/./packages/ui/icons/IconLinkedin.vue?0868","webpack://cp/./packages/ui/icons/IconLink.vue","webpack://cp/./packages/ui/icons/IconLink.vue?3329","webpack://cp/./packages/ui/icons/IconList.vue","webpack://cp/./packages/ui/icons/IconList.vue?d826","webpack://cp/./packages/ui/icons/IconMatch.vue","webpack://cp/./packages/ui/icons/IconMatch.vue?83bf","webpack://cp/./packages/ui/icons/IconMenu.vue","webpack://cp/./packages/ui/icons/IconMenu.vue?a479","webpack://cp/./packages/ui/icons/IconMicrosoft.vue","webpack://cp/./packages/ui/icons/IconMicrosoft.vue?cb13","webpack://cp/./packages/ui/icons/IconMileage.vue","webpack://cp/./packages/ui/icons/IconMileage.vue?b3db","webpack://cp/./packages/ui/icons/IconMinivan.vue","webpack://cp/./packages/ui/icons/IconMinivan.vue?c120","webpack://cp/./packages/ui/icons/IconMoped.vue","webpack://cp/./packages/ui/icons/IconMoped.vue?d4dc","webpack://cp/./packages/ui/icons/IconMotorcycle.vue","webpack://cp/./packages/ui/icons/IconMotorcycle.vue?7312","webpack://cp/./packages/ui/icons/IconMove.vue","webpack://cp/./packages/ui/icons/IconMove.vue?d106","webpack://cp/./packages/ui/icons/IconOverview.vue","webpack://cp/./packages/ui/icons/IconOverview.vue?1d3f","webpack://cp/./packages/ui/icons/IconPaperclip.vue","webpack://cp/./packages/ui/icons/IconPaperclip.vue?3b7b","webpack://cp/./packages/ui/icons/IconPayment.vue","webpack://cp/./packages/ui/icons/IconPayment.vue?8098","webpack://cp/./packages/ui/icons/IconPencil.vue","webpack://cp/./packages/ui/icons/IconPencil.vue?294c","webpack://cp/./packages/ui/icons/IconPeople.vue","webpack://cp/./packages/ui/icons/IconPeople.vue?0522","webpack://cp/./packages/ui/icons/IconPerson.vue","webpack://cp/./packages/ui/icons/IconPerson.vue?3015","webpack://cp/./packages/ui/icons/IconPhone.vue","webpack://cp/./packages/ui/icons/IconPhone.vue?8626","webpack://cp/./packages/ui/icons/IconPhotoCamera.vue","webpack://cp/./packages/ui/icons/IconPhotoCamera.vue?9beb","webpack://cp/./packages/ui/icons/IconPhotos.vue","webpack://cp/./packages/ui/icons/IconPhotos.vue?3056","webpack://cp/./packages/ui/icons/IconPlane.vue","webpack://cp/./packages/ui/icons/IconPlane.vue?2dc9","webpack://cp/./packages/ui/icons/IconPlus.vue","webpack://cp/./packages/ui/icons/IconPlus.vue?3eb6","webpack://cp/./packages/ui/icons/IconQuadbike.vue","webpack://cp/./packages/ui/icons/IconQuadbike.vue?15bb","webpack://cp/./packages/ui/icons/IconReceipt.vue","webpack://cp/./packages/ui/icons/IconReceipt.vue?03c3","webpack://cp/./packages/ui/icons/IconRemove.vue","webpack://cp/./packages/ui/icons/IconRemove.vue?6a85","webpack://cp/./packages/ui/icons/IconSave.vue","webpack://cp/./packages/ui/icons/IconSave.vue?a062","webpack://cp/./packages/ui/icons/IconScan.vue","webpack://cp/./packages/ui/icons/IconScan.vue?ff99","webpack://cp/./packages/ui/icons/IconSearch.vue","webpack://cp/./packages/ui/icons/IconSearch.vue?3126","webpack://cp/./packages/ui/icons/IconSettings.vue","webpack://cp/./packages/ui/icons/IconSettings.vue?800b","webpack://cp/./packages/ui/icons/IconSnowmobile.vue","webpack://cp/./packages/ui/icons/IconSnowmobile.vue?eee7","webpack://cp/./packages/ui/icons/IconSync.vue","webpack://cp/./packages/ui/icons/IconSync.vue?ae84","webpack://cp/./packages/ui/icons/IconTrain.vue","webpack://cp/./packages/ui/icons/IconTrain.vue?6726","webpack://cp/./packages/ui/icons/IconUnfold.vue","webpack://cp/./packages/ui/icons/IconUnfold.vue?c095","webpack://cp/./packages/ui/icons/IconUpload.vue","webpack://cp/./packages/ui/icons/IconUpload.vue?86ae","webpack://cp/./packages/ui/icons/IconUploadFile.vue","webpack://cp/./packages/ui/icons/IconUploadFile.vue?b70a","webpack://cp/./packages/ui/icons/IconVerify.vue","webpack://cp/./packages/ui/icons/IconVerify.vue?7235","webpack://cp/./packages/ui/icons/IconWallet.vue","webpack://cp/./packages/ui/icons/IconWallet.vue?51b4","webpack://cp/./packages/ui/icons/IconWarning.vue","webpack://cp/./packages/ui/icons/IconWarning.vue?fe7d","webpack://cp/./packages/ui/icons/IconYoutube.vue","webpack://cp/./packages/ui/icons/IconYoutube.vue?acb5","webpack://cp/./packages/ui/icons/index.js","webpack://cp/./packages/ui/icons/IconCalendar.vue","webpack://cp/./packages/ui/icons/IconCalendar.vue?57e8","webpack://cp/./packages/ui/icons/IconChevronDown.vue","webpack://cp/./packages/ui/icons/IconChevronDown.vue?f617","webpack://cp/./packages/ui/icons/IconChevronRight.vue","webpack://cp/./packages/ui/icons/IconChevronRight.vue?8900","webpack://cp/./packages/ui/icons/IconClose.vue","webpack://cp/./packages/ui/icons/IconClose.vue?bf85","webpack://cp/./packages/ui/icons/IconMessage.vue","webpack://cp/./packages/ui/icons/IconMessage.vue?b8e4","webpack://cp/./packages/ui/components/UiNotification.vue","webpack://cp/./packages/ui/components/UiSnackbar.vue"],"sourcesContent":["var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","import Axios from 'axios'\r\nimport { useReceiptUpload } from '@/app-composables'\r\nimport { useContext } from '@/composables'\r\n\r\nexport default function useCardReports() {\r\n const { alertAllowAccess } = useReceiptUpload()\r\n const { root } = useContext()\r\n\r\n const uploadStatement = (e: Event, companyId: any, tripId: any, paymentMethodId: any) => {\r\n const formData = new FormData()\r\n const target = e.target as HTMLInputElement\r\n const files = target.files\r\n const statementFile = files ? files[0] : null\r\n if (statementFile) {\r\n formData.append('file', statementFile)\r\n }\r\n\r\n return Axios.post(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`, formData, {\r\n params: {\r\n paymentMethodId\r\n }\r\n }).then(({ data: paymentTransactionsStatement = {} }) => {\r\n return paymentTransactionsStatement\r\n })\r\n }\r\n\r\n // MOBILE\r\n const uploadStatementX = async (e: Event, companyId: any, tripId: any, paymentMethodId: any) => {\r\n const fileName: string = await new Promise((resolve, reject) => {\r\n // @ts-ignore\r\n xcall('openGallery', (allowed: any, result: any) => {\r\n if (!allowed) {\r\n alertAllowAccess('gallery')\r\n reject('')\r\n }\r\n\r\n if (!result) {\r\n reject('')\r\n }\r\n\r\n // result ~ { ImageName: 'original image name', FileName: 'filename where it is saved in the app' }\r\n resolve(result.FileName)\r\n })\r\n })\r\n\r\n var {data} = await Axios.get('/data/' + fileName, {responseType: 'arraybuffer'})\r\n\r\n var formData = new FormData()\r\n var blob = new Blob([data])\r\n\r\n formData.append('file', blob, fileName)\r\n\r\n return Axios.post(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`, formData, {\r\n params: {\r\n paymentMethodId\r\n }\r\n }).then(({ data: paymentTransactionsStatement = {} }) => {\r\n return paymentTransactionsStatement\r\n })\r\n }\r\n\r\n const getStatement = (companyId: any, tripId: any) => {\r\n return Axios.get(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`).then(\r\n ({ data: paymentTransactionsStatement = {} }) => paymentTransactionsStatement\r\n )\r\n }\r\n\r\n const deleteStatement = (companyId: any, tripId: any) => {\r\n return Axios.delete(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`)\r\n }\r\n\r\n const automatchTransactions = (companyId: any, tripId: any) => {\r\n return Axios.post(`@coreapi/companies/${companyId}/card-reports/${tripId}/automatch`).then(\r\n ({ data: paymentTransactions = [] }) => paymentTransactions\r\n )\r\n }\r\n\r\n const matchDocumentToTransaction = (companyId: any, receiptId: any, transactionId: any) => {\r\n return Axios.post(`@coreapi/companies/${companyId}/payment-transactions/${transactionId}/match/${receiptId}`).then(\r\n ({ data = {} }) => data\r\n )\r\n }\r\n\r\n return {\r\n matchDocumentToTransaction,\r\n automatchTransactions,\r\n uploadStatement,\r\n uploadStatementX,\r\n getStatement,\r\n deleteStatement\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport Axios from 'axios'\r\nimport { useContext, useInstanceHelpers } from '@/composables'\r\nimport { useReceiptCRUD } from '@/app-composables'\r\nimport xStore from '@/store'\r\nimport { COMPANIES_STORE_GETTERS } from '@/enums'\r\n\r\nexport default function useReceiptUpload() {\r\n const { root, store } = useContext()\r\n const { t } = useInstanceHelpers()\r\n const { createReceipt } = useReceiptCRUD()\r\n\r\n const companyId = computed(() => root.$route.params.companyId?.toString())\r\n const tripId = computed(() => root?.$route.params.tripId)\r\n const mileageId = computed(() => root?.$route.params.mileageId)\r\n const activeCompany = computed(() => store.getters[COMPANIES_STORE_GETTERS.COMPANIES][companyId.value])\r\n //@ts-ignore\r\n const companySteps = computed(() => activeCompany.value?.steps || ['billingType'])\r\n\r\n const alertAllowAccess = (type: string) => {\r\n // @ts-ignore\r\n const message: any = {\r\n camera: t('pleaseAllowAccessToCamera'),\r\n gallery: t('pleaseAllowAccessToGallery')\r\n }[type]\r\n\r\n root?.$snackbar(message, 'error', 6000)\r\n }\r\n\r\n const setReceiptUploadingWarning = (receiptId: any, isBeingUploaded: Boolean) => {\r\n if (isBeingUploaded) {\r\n // @ts-ignore\r\n if (root?.$config.uploadingReceipt) {\r\n // @ts-ignore\r\n root?.$set(root.$config.uploadingReceipt, receiptId, true)\r\n } else {\r\n root?.$set(root.$config, 'uploadingReceipt', { [receiptId]: true })\r\n }\r\n } else {\r\n // @ts-ignore\r\n root?.$delete(root.$config.uploadingReceipt, receiptId)\r\n }\r\n }\r\n\r\n const goToReceiptFirstStep = (receipt: any) => {\r\n if (receipt.docType === 'nonexpense' && receipt.docSubType === 'carRegistrationCard' && root?.$route.query?.onlyRegCard) {\r\n root?.$router.push(`/pocket/${companyId.value}/report/${tripId.value}`)\r\n } else if (receipt.docType === 'nonexpense' && receipt.docSubType === 'carRegistrationCard') {\r\n root?.$router.push(`/pocket/${companyId.value}/report/${tripId.value}/km/${mileageId.value}/odometer`)\r\n } else if (receipt.docType === 'nonexpense') {\r\n // ATTACHMENT\r\n root?.$router.push(`/pocket/${companyId.value}/report/${tripId.value}/edit/${receipt.id}/comment`)\r\n } else {\r\n let [firstCompanyStep] = companySteps.value\r\n const reportRoute = tripId.value ? `/report/${tripId.value}` : ''\r\n if (!firstCompanyStep) {\r\n firstCompanyStep = 'none'\r\n }\r\n root?.$router.push(`/pocket/${companyId.value}${reportRoute}/edit/${receipt.id}/${firstCompanyStep}`)\r\n }\r\n\r\n setTimeout(() => {\r\n root?.$set(root.$config, 'incoming', false)\r\n }, 4000)\r\n }\r\n\r\n const receiveOcr = (receipt: any) => {\r\n const isReceiptOcrActive = xStore.getters['Requests/IS_PROCESS_ACTIVE']({\r\n target: 'GET_OCR',\r\n receiptId: receipt.id\r\n })\r\n\r\n if (isReceiptOcrActive) {\r\n return\r\n }\r\n\r\n const countdownResolution = 1000 // MS\r\n let countDownTime = 19 // SECONDS\r\n\r\n if (activeCompany.value?.dPreferences?.itemRowsDigitization) {\r\n countDownTime = 39 // SECONDS\r\n }\r\n\r\n let countDownValue = countDownTime\r\n // @ts-ignore\r\n if (root.$stash.receipts[companyId.value][receipt.id]) {\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'ocrProgress', 20)\r\n }\r\n\r\n\r\n // end result == -1 -> waiting should end\r\n // right now user has to wait for an extra second when there are no results\r\n let countdownInterval: any\r\n let countdownEnded = false\r\n\r\n function stopCountDown() {\r\n countdownEnded = true\r\n countDownValue = -1\r\n clearInterval(countdownInterval)\r\n // @ts-ignore\r\n if (root.$stash.receipts[companyId.value][receipt.id]) {\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'ocrProgress', countDownValue)\r\n }\r\n }\r\n\r\n countdownInterval = setInterval(() => {\r\n countDownValue--\r\n\r\n // Disabling the self-termination here, since otherwise we have\r\n // two places that manage the countdown, which may, theoretically,\r\n // introduce unforeseen code flow. Feel free to delete the disabled\r\n // code once the OCR results page seems stable.\r\n\r\n // Further commentary. Self-termination has been re-enabled.\r\n // The key difference here is that self termination will occur when the countDownTime has exceeded an extra second,\r\n // that is a second longer than the maximum wait time of OCR results from the server.\r\n // Thus if the latter should fail for any reason, then this will act as a fallback mechanism.\r\n if (countDownValue < -2 && !countdownEnded) {\r\n stopCountDown()\r\n return\r\n }\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'ocrProgress', Math.max(0, countDownValue))\r\n }, countdownResolution)\r\n\r\n setReceiptUploadingWarning(receipt.id, false)\r\n\r\n xStore\r\n .dispatch('Receipts/GET_OCR', {\r\n receiptId: receipt.id,\r\n companyId: companyId.value,\r\n timeout: countDownTime * 1000\r\n })\r\n .then((result: any) => {\r\n stopCountDown()\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value], receipt.id, {\r\n // @ts-ignore\r\n ...root.$stash.receipts[companyId.value][receipt.id],\r\n ...result,\r\n ocrProgress: -1,\r\n uploadProgress: 100\r\n })\r\n })\r\n .catch(() => {\r\n // TIMEOUT EXCEEDED\r\n stopCountDown()\r\n })\r\n }\r\n\r\n const uploadReceiptX = async(receipt: any, fileName: string) => {\r\n setReceiptUploadingWarning(receipt.id, true)\r\n\r\n // TODO: eventBus.$expect(RECEIPT_UPLOADED)\r\n\r\n async function _performUpload(didError: any) {\r\n try {\r\n var {data} = await Axios.get('/data/' + fileName, {responseType: 'arraybuffer'})\r\n\r\n var formData = new FormData()\r\n var blob = new Blob([data])\r\n\r\n formData.append('file', blob, fileName)\r\n\r\n await uploadReceipt(receipt, formData)\r\n }\r\n catch(e) {\r\n console.error(e)\r\n didError()\r\n }\r\n }\r\n\r\n // @ts-ignore\r\n let uploadURI = `${root?.$config?.services.coreapi.url}/companies/${companyId.value}/receipts/${receipt.id}/attachments?access_token=${localStorage.getItem('token')}`\r\n\r\n async function _performUploadNative(didError: any) {\r\n // @ts-ignore\r\n xcall('uploadFile', fileName, 'POST ' + uploadURI, (progress) => {\r\n switch (progress) {\r\n case -1:\r\n // either method was called incorrectly or file doesn't exist\r\n root?.$snackbar('Image upload failed', 'error', 6000)\r\n break\r\n case null:\r\n // upload ended with an error\r\n // #TODO add to offline sync\r\n root?.$snackbar('Image upload failed', 'error', 6000)\r\n progress = -1\r\n didError()\r\n break\r\n case 200:\r\n // upload ended with success\r\n // wait for OCR results\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'status', 1)\r\n // TODO: eventBus.$fulfill(RECEIPT_UPLOADED, receipt.id)\r\n receiveOcr.call(t, receipt)\r\n break\r\n default:\r\n // progress is actual upload progress (1 to 100)\r\n // @ts-ignore\r\n root?.$set(root?.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', progress)\r\n }\r\n })\r\n }\r\n\r\n const maxNumberOfTries = 2\r\n var numberOfTries = 0\r\n\r\n async function _nextTry() {\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', 0)\r\n\r\n numberOfTries++\r\n if (numberOfTries < maxNumberOfTries) {\r\n // iOS has a bug and needs an update\r\n // @ts-ignore\r\n if (window.X_PLATFORM === 'iOS' && window.X_VERSION_ID <= 240) _performUploadNative(_nextTry)\r\n else await _performUpload(_nextTry)\r\n return\r\n }\r\n // although upload failed, at least allow the user to continue\r\n setReceiptUploadingWarning(receipt.id, false)\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', -1)\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'ocrProgress', -1)\r\n }\r\n\r\n await _nextTry()\r\n }\r\n\r\n const uploadReceipt = async (receipt: any, formData: any) => {\r\n try {\r\n setReceiptUploadingWarning(receipt.id, true)\r\n\r\n // NOT WORKING\r\n const config = {\r\n onUploadProgress: (progressEvent: any) => {\r\n // @ts-ignore\r\n const progress = Math.ceil((loaded * 100) / total)\r\n // @ts-ignore\r\n if (root?.$stash.receipts[companyId.value][receipt.id]) {\r\n // @ts-ignore\r\n root.$set(root.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', progress)\r\n }\r\n }\r\n }\r\n\r\n // TODO: eventBus.$expect(RECEIPT_UPLOADED)\r\n\r\n await Axios.post(`@coreapi/companies/${companyId.value}/receipts/${receipt.id}/attachments`, formData, config)\r\n\r\n // TODO: eventBus.$fulfill(RECEIPT_UPLOADED, receipt.id)\r\n\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'status', 1)\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', 100)\r\n\r\n // ATTACHMENT\r\n if (receipt.docType === 'nonexpense') {\r\n setReceiptUploadingWarning(receipt.id, false)\r\n return\r\n }\r\n\r\n receiveOcr(receipt)\r\n } catch (error: any) {\r\n setReceiptUploadingWarning(receipt.id, false)\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value][receipt.id], 'uploadProgress', -1)\r\n if (error.response?.data?.codename === 'UNSUPPORTED_FILE_TYPE') {\r\n const route = tripId.value\r\n ? `/pocket/${companyId.value}/report/${tripId.value}`\r\n : `/pocket/${companyId.value}/main/receipts`\r\n root?.$router.push(route)\r\n }\r\n root?.$snackbar(root.eh(error), 'error')\r\n }\r\n }\r\n\r\n const addReceiptX = (fileName: string, source: string, initialPayload: any) => {\r\n root?.$set(root.$config, 'incoming', true)\r\n\r\n const payload: any = {\r\n fileId: fileName\r\n }\r\n\r\n if (initialPayload) {\r\n Object.assign(payload, initialPayload)\r\n }\r\n\r\n return createReceipt(companyId.value, tripId.value, payload)\r\n .then((receipt) => {\r\n goToReceiptFirstStep(receipt)\r\n\r\n receipt.uploadProgress = 0\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value], receipt.id, receipt)\r\n\r\n // THIS SEEM TO BE NOT USED\r\n // this.setImagePreviewX.call(this, receipt, fileName, source)\r\n\r\n uploadReceiptX(receipt, fileName)\r\n\r\n return receipt\r\n })\r\n .catch((error: any) => {\r\n if (error === 'monthlyThreshold5Exceeded') {\r\n root?.$set(root.$config, 'incoming', false)\r\n return\r\n }\r\n\r\n root?.$snackbar(root.eh(error), 'error')\r\n })\r\n }\r\n\r\n const addReceipt = (e: Event, initialPayload: any = {}) => {\r\n root?.$set(root.$config, 'incoming', true)\r\n\r\n const payload = {}\r\n\r\n if (initialPayload) {\r\n Object.assign(payload, initialPayload)\r\n }\r\n\r\n return createReceipt(companyId.value, tripId.value, payload)\r\n .then((receipt) => {\r\n receipt.uploadProgress = 0\r\n // @ts-ignore\r\n root?.$set(root.$stash.receipts[companyId.value], receipt.id, receipt)\r\n\r\n goToReceiptFirstStep(receipt)\r\n\r\n const formData = new FormData()\r\n const target = e.target as HTMLInputElement\r\n const files = target.files\r\n const theImage = files ? files[0] : null\r\n if (theImage) {\r\n formData.append('file', theImage)\r\n }\r\n\r\n uploadReceipt(receipt, formData)\r\n\r\n // ENABLE NEXT DOCUMENT\r\n target.value = ''\r\n\r\n // useless ???\r\n // TODO: this.setImagePreview.call(this, receipt, theImage)\r\n return receipt\r\n })\r\n .catch((error) => {\r\n if (error === 'monthlyThreshold5Exceeded') {\r\n root?.$set(root.$config, 'incoming', false)\r\n return\r\n }\r\n root?.$snackbar(root.eh(error), 'error')\r\n })\r\n }\r\n\r\n const openCamera = async (e: Event, initialPayload: any = {}) => {\r\n // @ts-ignore\r\n if (!X_HOST) return\r\n\r\n e.preventDefault()\r\n\r\n const fileName = await new Promise((resolve, reject) => {\r\n // @ts-ignore\r\n xcall('openCamera', (allowed: any, result: string) => {\r\n if (!allowed) {\r\n alertAllowAccess('camera')\r\n reject('')\r\n }\r\n\r\n if (!result) {\r\n reject('')\r\n }\r\n\r\n // result ~ (string) filename\r\n resolve(result)\r\n })\r\n })\r\n\r\n // @ts-ignore\r\n return await addReceiptX(fileName, 'camera', initialPayload)\r\n }\r\n\r\n const openGallery = async (e: Event, initialPayload: any = {}) => {\r\n // @ts-ignore\r\n if (!X_HOST) return\r\n\r\n e.preventDefault()\r\n\r\n const fileName = await new Promise((resolve, reject) => {\r\n // @ts-ignore\r\n xcall('openGallery', (allowed: any, result: any) => {\r\n if (!allowed) {\r\n alertAllowAccess('gallery')\r\n reject('')\r\n }\r\n\r\n if (!result) {\r\n reject('')\r\n }\r\n\r\n // result ~ { ImageName: 'original image name', FileName: 'filename where it is saved in the app' }\r\n resolve(result.FileName)\r\n })\r\n })\r\n\r\n // @ts-ignore\r\n return await addReceiptX(fileName, 'gallery', initialPayload)\r\n }\r\n\r\n return {\r\n alertAllowAccess,\r\n openCamera,\r\n openGallery,\r\n addReceipt\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport { useAccountingSettings } from '@/composables'\r\nimport { ACCOUNTING_OBJECT_TYPE, REFERENCE_OBJECT_TYPE, POLICY, APPROVAL_STATE } from '@/enums'\r\nimport { AccountingRefs, ApprovalItem } from '@/models'\r\n\r\nexport default function useAccountingFields() {\r\n const { accountingObjectsByType } = useAccountingSettings()\r\n\r\n const hasApproverRightsToEdit = (\r\n approvalItem: ApprovalItem,\r\n refObjectType: REFERENCE_OBJECT_TYPE,\r\n accountingObjectType: ACCOUNTING_OBJECT_TYPE\r\n ) => {\r\n const workflowPolicies = approvalItem?.workflowPolicies || []\r\n const activeRound = approvalItem?.decisions?.find((decision) => decision.state === APPROVAL_STATE.PENDING)\r\n const accountingFieldsPolicy = workflowPolicies.find((policy) => {\r\n return policy.policyKey === POLICY.INPUT_ACCOUNTING_FIELDS && policy.roundNumber === activeRound?.approvalRoundNo\r\n })\r\n const allowedInput = (accountingFieldsPolicy?.policyValue || []).find((policy: any) => {\r\n return policy.target === refObjectType\r\n })\r\n return (allowedInput?.types || []).includes(accountingObjectType)\r\n }\r\n\r\n const fieldValue = (\r\n allRefs: AccountingRefs,\r\n refType: REFERENCE_OBJECT_TYPE,\r\n refId: string | number,\r\n objectType: ACCOUNTING_OBJECT_TYPE\r\n ) => {\r\n const refsToArray = Object.values(allRefs || {})\r\n const found = refsToArray.find((oneRef) => {\r\n return oneRef.refType === refType && oneRef.refId === Number(refId) && oneRef.accounting?.type === objectType\r\n })\r\n return found?.accounting?.id || ''\r\n }\r\n\r\n const mapOptions = (objectType: ACCOUNTING_OBJECT_TYPE) => {\r\n return accountingObjectsByType(objectType).map((accountingObject) => ({\r\n title: `${accountingObject.value} - ${accountingObject.name}`,\r\n value: accountingObject.id,\r\n disabled: !accountingObject.active\r\n }))\r\n }\r\n\r\n const accountingFieldOptions = computed(() => {\r\n return {\r\n [ACCOUNTING_OBJECT_TYPE.ACCOUNT]: {\r\n type: ACCOUNTING_OBJECT_TYPE.ACCOUNT,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.ACCOUNT),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.ACCOUNT)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.DEPARTMENT]: {\r\n type: ACCOUNTING_OBJECT_TYPE.DEPARTMENT,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.DEPARTMENT),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.DEPARTMENT)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.DIMENSION]: {\r\n type: ACCOUNTING_OBJECT_TYPE.DIMENSION,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.DIMENSION),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.DIMENSION)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.ITEM_CODE]: {\r\n type: ACCOUNTING_OBJECT_TYPE.ITEM_CODE,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.ITEM_CODE),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.ITEM_CODE)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.PROJECT]: {\r\n type: ACCOUNTING_OBJECT_TYPE.PROJECT,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.PROJECT),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.PROJECT)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.COST_OBJECTIVE]: {\r\n type: ACCOUNTING_OBJECT_TYPE.COST_OBJECTIVE,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.COST_OBJECTIVE),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.COST_OBJECTIVE)\r\n }\r\n },\r\n [ACCOUNTING_OBJECT_TYPE.VAT_CODE]: {\r\n type: ACCOUNTING_OBJECT_TYPE.VAT_CODE,\r\n options: mapOptions(ACCOUNTING_OBJECT_TYPE.VAT_CODE),\r\n getValue: (allRefs: AccountingRefs, refType: REFERENCE_OBJECT_TYPE, refId: string | number) => {\r\n return fieldValue(allRefs, refType, refId, ACCOUNTING_OBJECT_TYPE.VAT_CODE)\r\n }\r\n }\r\n }\r\n })\r\n\r\n return {\r\n accountingFieldOptions,\r\n hasApproverRightsToEdit\r\n }\r\n}\r\n","import { computed, ComputedRef, ref, Ref } from 'vue'\r\nimport { cloneDeep } from 'lodash-es'\r\nimport xstore from '@/store'\r\nimport { AccountingField, AccountingObject, AutoaccountingRule, Integration } from '@/models'\r\nimport { useContext } from '@/composables'\r\nimport {\r\n ACCOUNTING_OBJECT_TYPE,\r\n ACCOUNTING_STORE_ACTIONS,\r\n ACCOUNTING_STORE_GETTERS,\r\n INTEGRATIONS_STORE_GETTERS,\r\n REFERENCE_OBJECT_TYPE\r\n} from '@/enums'\r\n\r\nexport default function useAccountingRefs() {\r\n const { root } = useContext()\r\n\r\n const referenceObjectTypes: Ref> = ref([\r\n ACCOUNTING_OBJECT_TYPE.ACCOUNT,\r\n ACCOUNTING_OBJECT_TYPE.ITEM_CODE,\r\n ACCOUNTING_OBJECT_TYPE.COST_OBJECTIVE,\r\n ACCOUNTING_OBJECT_TYPE.DIMENSION,\r\n ACCOUNTING_OBJECT_TYPE.DEPARTMENT,\r\n ACCOUNTING_OBJECT_TYPE.PROJECT,\r\n ACCOUNTING_OBJECT_TYPE.VAT_CODE\r\n ])\r\n\r\n const companyId = computed(() => Number(root?.$route.params.companyId))\r\n\r\n const companyAccountingObjects: ComputedRef = computed(() => {\r\n return xstore.getters[ACCOUNTING_STORE_GETTERS.ACCOUNTING_OBJECTS][companyId.value] || []\r\n })\r\n\r\n const activeIntegration: ComputedRef = computed(() => {\r\n return xstore.getters[INTEGRATIONS_STORE_GETTERS.ACTIVE_INTEGRATION]\r\n })\r\n\r\n const activeAccountingFields: ComputedRef = computed(() => {\r\n return activeIntegration.value?.configuration?.accountingFields\r\n })\r\n\r\n const availableAccountingFields: ComputedRef = computed(() => {\r\n return activeIntegration.value?.configuration?.availableAccountingFields\r\n })\r\n\r\n const accountingEntriesEnabled: ComputedRef = computed(() => {\r\n return Boolean(activeIntegration.value?.configuration?.accountingEntriesEnabled)\r\n })\r\n\r\n const autoAccountingSyncEnabled: ComputedRef = computed(() => {\r\n return Boolean(activeIntegration.value?.configuration?.autoAccountingSyncEnabled)\r\n })\r\n\r\n const autoaccountingRules: ComputedRef = computed(() => {\r\n return xstore.getters[ACCOUNTING_STORE_GETTERS.AUTOACCOUNTING_RULES][companyId.value]\r\n })\r\n\r\n const accountingObjectsByType = (objectType: ACCOUNTING_OBJECT_TYPE) => {\r\n return companyAccountingObjects.value.filter(({ type }) => type === objectType)\r\n }\r\n\r\n const loadAccountingObjects = async () => {\r\n if (!companyId.value) return\r\n const accountingContextSyncEnabled = activeIntegration.value?.configuration?.accountingContextSyncEnabled || false\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.GET_ACCOUNTING_OBJECTS, {\r\n companyId: companyId.value,\r\n accountingContextSyncEnabled,\r\n integrationId: activeIntegration.value?.id\r\n })\r\n }\r\n\r\n const loadAutoaccountingRules = async () => {\r\n if (!companyId.value || !activeIntegration.value?.id) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.GET_AUTOMATION_RULES, {\r\n companyId: companyId.value,\r\n integrationId: activeIntegration.value.id\r\n })\r\n }\r\n\r\n const downloadContextTemplate = async (lang: string) => {\r\n if (!companyId.value || !activeIntegration.value?.id) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.DOWNLOAD_CONTEXT_TEMPLATE, {\r\n companyId: companyId.value,\r\n integrationId: activeIntegration.value.id,\r\n lang\r\n })\r\n }\r\n\r\n const uploadContextFile = async (accountingObjectType: ACCOUNTING_OBJECT_TYPE, e: Event) => {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n const target = e.target as HTMLInputElement\r\n const files = target.files\r\n const uploadedFile = files ? files[0] : null\r\n const reader = new FileReader()\r\n if (uploadedFile) {\r\n reader.onload = async (event) => {\r\n try {\r\n const csvContent = event?.target?.result?.toString() || ''\r\n const response = await xstore.dispatch(ACCOUNTING_STORE_ACTIONS.UPDATE_CONTEXT_FROM_CSV, {\r\n companyId: companyId.value,\r\n integrationId: activeIntegration.value?.id,\r\n accountingObjectType,\r\n csvContent\r\n })\r\n resolve(response)\r\n } catch (error) {\r\n reject(error)\r\n }\r\n }\r\n reader.readAsText(uploadedFile)\r\n } else {\r\n reject(\"Couldn't read file\")\r\n }\r\n } catch (error) {\r\n reject(error)\r\n }\r\n })\r\n }\r\n\r\n const createAccountingObject = (newAccountingObject: AccountingObject) => {\r\n if (!companyId.value) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.CREATE_ACCOUNTING_OBJECT, {\r\n companyId: companyId.value,\r\n newAccountingObject\r\n })\r\n }\r\n\r\n const updateAccountingObject = (updatedAccountingObject: AccountingObject) => {\r\n if (!companyId.value) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.UPDATE_ACCOUNTING_OBJECT, {\r\n companyId: companyId.value,\r\n updatedAccountingObject\r\n })\r\n }\r\n\r\n const deleteAccountingObject = (accountingObjectId: string | number) => {\r\n if (!companyId.value || !accountingObjectId) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.DELETE_ACCOUNTING_OBJECT, {\r\n companyId: companyId.value,\r\n accountingObjectId\r\n })\r\n }\r\n\r\n const updateAccountingFields = (target: REFERENCE_OBJECT_TYPE, type: ACCOUNTING_OBJECT_TYPE, include: boolean) => {\r\n if (!companyId.value || !activeIntegration.value?.id) return\r\n const accountingFields = cloneDeep(activeIntegration.value?.configuration?.accountingFields || []).map(\r\n (field: AccountingField) => {\r\n const types = include ? [...field.types, type] : field.types.filter((existingType) => existingType !== type)\r\n const updatedField = { target, types }\r\n // THIS IS A HACK (HOPEFULLY TEMPORARY) TO MAKE SURE FIELD DATA ARE IN CORRECT ORDER, TO AVOID VALIDATION ERROR\r\n const unchangedField = { target: field.target, types: field.types }\r\n return field.target === target ? updatedField : unchangedField\r\n }\r\n )\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.UPDATE_ACCOUNTING_CONFIG, {\r\n companyId: companyId.value,\r\n integration: activeIntegration.value,\r\n updatedConfig: {\r\n // TODO: Fix types\r\n // @ts-ignore\r\n configuration: {\r\n accountingFields\r\n }\r\n }\r\n })\r\n }\r\n\r\n const enableAutoAccounting = (enable: boolean) => {\r\n if (!companyId.value || !activeIntegration.value?.id) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.ENABLE_AUTOACCOUNTING, {\r\n companyId: companyId.value,\r\n integrationId: activeIntegration.value.id,\r\n enable\r\n })\r\n }\r\n\r\n const updateAutoAccountingRules = (updatedRules: AutoaccountingRule[]): Promise | undefined => {\r\n if (!companyId.value || !activeIntegration.value?.id) return\r\n return xstore.dispatch(ACCOUNTING_STORE_ACTIONS.UPDATE_AUTOMATION_RULES, {\r\n companyId: companyId.value,\r\n integrationId: activeIntegration.value.id,\r\n updatedRules\r\n })\r\n }\r\n\r\n return {\r\n activeAccountingFields,\r\n availableAccountingFields,\r\n accountingEntriesEnabled,\r\n autoAccountingSyncEnabled,\r\n autoaccountingRules,\r\n companyAccountingObjects,\r\n referenceObjectTypes,\r\n accountingObjectsByType,\r\n createAccountingObject,\r\n deleteAccountingObject,\r\n downloadContextTemplate,\r\n enableAutoAccounting,\r\n loadAccountingObjects,\r\n loadAutoaccountingRules,\r\n updateAccountingObject,\r\n updateAccountingFields,\r\n updateAutoAccountingRules,\r\n uploadContextFile\r\n }\r\n}\r\n","import { APPROVAL_STATE, APPROVAL_STATE_COLOR } from '@/enums'\r\nimport { Decision, DisplayedDecision } from '@/models'\r\nimport { useInstanceHelpers, useUser } from '@/composables'\r\n\r\nexport default function useApprovalProgress() {\r\n const { t } = useInstanceHelpers()\r\n const { activeUser } = useUser()\r\n\r\n const setApprovalProgress = (\r\n approvalDecisions: Decision[],\r\n approvalState: keyof typeof APPROVAL_STATE,\r\n userId?: number\r\n ) => {\r\n const rounds: { [key: number]: DisplayedDecision[] } = {}\r\n\r\n if (approvalDecisions?.length) {\r\n approvalDecisions.forEach((decision) => {\r\n if (decision.approvalRoundNo && !rounds[decision.approvalRoundNo]) {\r\n rounds[decision.approvalRoundNo] = []\r\n }\r\n\r\n const roundDecision: DisplayedDecision = {\r\n id: decision.id,\r\n text: '',\r\n state: decision.state,\r\n color: APPROVAL_STATE_COLOR[decision.state],\r\n decidedAt: decision.decidedAt,\r\n reason: decision.reason,\r\n comment: decision.comment\r\n }\r\n\r\n const activeUserIsApprover =\r\n decision.approvingUserId === activeUser.value?.id || (decision.approvingUserId === userId && userId)\r\n // userId is there for now, while app user is stored in stash\r\n\r\n if (decision.appendedByUserId) {\r\n const appendedBy = approvalDecisions.find(\r\n (_decision) => _decision.approvingUserId === decision.appendedByUserId\r\n )\r\n if (appendedBy) {\r\n const text = activeUserIsApprover\r\n ? `${appendedBy.approvingUserFullname} ${t('youWereAddedAsApprover')}`\r\n : `${appendedBy.approvingUserFullname} ${t('addedAsApprover')} ${decision.approvingUserFullname}`\r\n const decisionAppended: DisplayedDecision = {\r\n text,\r\n appended: true,\r\n color: APPROVAL_STATE_COLOR.PREPARED,\r\n reason: decision.comment\r\n }\r\n rounds[decision.approvalRoundNo].push(decisionAppended)\r\n }\r\n }\r\n\r\n switch (decision.state) {\r\n case APPROVAL_STATE.DELEGATED:\r\n const delegatedTo = approvalDecisions.find((_decision) => _decision.id === decision.delegatedDecisionId)\r\n if (delegatedTo?.approvingUserId === decision.approvingUserId) {\r\n // DOCUMENT WAS PREVIOUSLY REJECTED AND SUBMITTED FOR NEW APPROVAL ROUND, LAST REJECT DECISION BECAME DELEGATED\r\n roundDecision.state = APPROVAL_STATE.REJECTED\r\n roundDecision.color = APPROVAL_STATE_COLOR[APPROVAL_STATE.REJECTED]\r\n roundDecision.text = activeUserIsApprover\r\n ? t('youRejected')\r\n : `${decision.approvingUserFullname} ${t('didReject')}`\r\n } else if (delegatedTo?.approvingUserFullname && activeUserIsApprover) {\r\n roundDecision.text = t('youDelegatedDecision').replace('$delegate', delegatedTo.approvingUserFullname)\r\n } else if (delegatedTo?.approvingUserFullname) {\r\n roundDecision.text = t('decisionWasDelegatedTo')\r\n .replace('$approver', decision.approvingUserFullname)\r\n .replace('$delegate', delegatedTo.approvingUserFullname)\r\n }\r\n break\r\n case APPROVAL_STATE.APPROVED:\r\n roundDecision.text = activeUserIsApprover\r\n ? t('youApproved')\r\n : `${decision.approvingUserFullname} ${t('didApprove')}`\r\n break\r\n case APPROVAL_STATE.REJECTED:\r\n roundDecision.text = activeUserIsApprover\r\n ? t('youRejected')\r\n : `${decision.approvingUserFullname} ${t('didReject')}`\r\n break\r\n case APPROVAL_STATE.PENDING:\r\n roundDecision.text = activeUserIsApprover\r\n ? t('waitingForYourApproval')\r\n : `${decision.approvingUserFullname} ${t('isDeciding')}`\r\n break\r\n case APPROVAL_STATE.PREPARED:\r\n if (approvalState === APPROVAL_STATE.REJECTED) {\r\n roundDecision.text = activeUserIsApprover\r\n ? t('yourDecisionWasCancelled')\r\n : `${decision.approvingUserFullname} ${t('decisionWasCancelled')}`\r\n } else {\r\n roundDecision.text = activeUserIsApprover\r\n ? t('yourDecisionPrepared')\r\n : `${decision.approvingUserFullname} ${t('decisionPrepared')}`\r\n }\r\n break\r\n }\r\n\r\n rounds[decision.approvalRoundNo].push(roundDecision)\r\n })\r\n } else if (\r\n approvalDecisions?.length === 0 &&\r\n (approvalState === APPROVAL_STATE.APPROVED || approvalState === APPROVAL_STATE.REJECTED)\r\n ) {\r\n rounds[1] = [\r\n {\r\n state: approvalState,\r\n color: APPROVAL_STATE_COLOR[approvalState],\r\n auto: true\r\n }\r\n ]\r\n }\r\n\r\n return rounds\r\n }\r\n\r\n return {\r\n setApprovalProgress\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport Axios from 'axios'\r\nimport xstore from '@/store'\r\nimport { BankFormat, Receipt, Trip, PaymentTransaction } from '@/models'\r\nimport { TRIPS_STORE_ACTIONS, TRIPS_STORE_GETTERS, TRIPS_STORE_MUTATIONS, ITEM_ROW_KEY } from '@/enums'\r\nimport { useCardReports } from '@/app-composables' // TODO: get rid of this\r\nimport { useContext, useCompanies, useUser, useReceipts, useItemRows, useExpenseFlow } from '@/composables'\r\n\r\nexport default function useCardReconciliation() {\r\n const { root } = useContext()\r\n const { activeCompany } = useCompanies()\r\n const { activeUser } = useUser()\r\n const { uploadStatement } = useCardReports()\r\n const { createReceipt } = useReceipts()\r\n const { addItemRow, updateItemRow } = useItemRows()\r\n const { submitReceipt } = useExpenseFlow()\r\n\r\n const tripId = computed(() => {\r\n return root?.$route?.params?.tripId?.toString() || ''\r\n })\r\n\r\n const companyId = computed(() => {\r\n return root?.$route.params.companyId\r\n })\r\n\r\n const statements = computed(() => {\r\n return xstore.getters[TRIPS_STORE_GETTERS.STATEMENT]\r\n })\r\n\r\n const supportedStatementFormats = computed(() => {\r\n const allBankStatementFormats = xstore.getters[TRIPS_STORE_GETTERS.STATEMENT_FORMATS]\r\n return allBankStatementFormats.filter(({ country }: BankFormat) => country === activeCompany.value?.countryCode)\r\n })\r\n\r\n const activeTripStatement = computed(() => {\r\n return statements.value?.[Number(tripId.value)] || {}\r\n })\r\n\r\n const loadBankStatement = (companyId: any, tripId: any) => {\r\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_STATEMENT, { companyId, tripId })\r\n }\r\n\r\n const loadStatementFormats = (companyId: any) => {\r\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_STATEMENT_FORMATS, { companyId })\r\n }\r\n\r\n const removeStatement = (companyId: any, tripId: any) => {\r\n return xstore.dispatch(TRIPS_STORE_ACTIONS.DELETE_STATEMENT, { companyId, tripId })\r\n }\r\n\r\n const automatchTransactions = (companyId: any, tripId: any) => {\r\n return Axios.post(`@coreapi/companies/${companyId}/card-reports/${tripId}/automatch`).then(\r\n ({ data: transactions = [] }) => {\r\n transactions.forEach((transaction: PaymentTransaction) => {\r\n xstore.commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT_TRANSACTION, { tripId, transaction })\r\n })\r\n return transactions\r\n }\r\n )\r\n }\r\n\r\n const uploadBankStatement = async (event: any, paymentMethodId: any) => {\r\n try {\r\n const statement = await uploadStatement(event, companyId.value, tripId.value, paymentMethodId)\r\n xstore.commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT, { tripId: tripId.value, statement })\r\n return statement\r\n } catch (error) {\r\n root?.$notification(root.eh(error), 'error', 9000)\r\n throw error\r\n }\r\n }\r\n\r\n const matchDocumentToTransaction = (companyId: any, receiptId: any, transactionId: any, tripId: any) => {\r\n return Axios.post(`@coreapi/companies/${companyId}/payment-transactions/${transactionId}/match/${receiptId}`).then(\r\n ({ data: transaction = {} }) => {\r\n xstore.commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT_TRANSACTION, { tripId, transaction })\r\n return transaction\r\n }\r\n )\r\n }\r\n\r\n const unmatchDocumentFromTransaction = (companyId: any, receiptId: any, transactionId: any, tripId: any) => {\r\n return Axios.post(\r\n `@coreapi/companies/${companyId}/payment-transactions/${transactionId}/unmatch/${receiptId}`\r\n ).then(({ data: transaction = {} }) => {\r\n xstore.commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT_TRANSACTION, { tripId, transaction })\r\n return transaction\r\n })\r\n }\r\n\r\n const createDocsForUnmatchedTransactions = async (\r\n trip: Trip,\r\n transactions: PaymentTransaction[],\r\n receipts: Receipt[]\r\n ) => {\r\n if (!transactions) return\r\n for (const transaction of transactions) {\r\n if (!transaction.receiptId || !receipts.find(({ id }) => id === transaction.receiptId)) {\r\n const payload: any = {\r\n tripId: trip.id,\r\n extraData: {\r\n emptyReceipt: true,\r\n isPlaceholderDocForTransaction : true\r\n },\r\n billingType: 'company',\r\n paymentMethodId: activeTripStatement.value?.paymentMethodId,\r\n issued: transaction.date,\r\n comment: transaction.comment,\r\n currency: transaction.currency\r\n }\r\n if (activeUser.value?.id !== trip.userId && trip.userId) {\r\n payload.userId = trip.userId\r\n }\r\n const createdReceipt = await createReceipt(companyId.value, payload)\r\n if (activeCompany.value && createdReceipt) {\r\n const response = await addItemRow(activeCompany.value, createdReceipt)\r\n if (response?.itemRows?.[0]) {\r\n await updateItemRow(\r\n activeCompany.value.id,\r\n createdReceipt,\r\n ITEM_ROW_KEY.TOTAL,\r\n transaction.sum,\r\n response.itemRows[0].rowNum\r\n )\r\n }\r\n await submitReceipt(activeCompany.value, createdReceipt)\r\n await matchDocumentToTransaction(companyId.value, createdReceipt.id, transaction.id, trip.id)\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n\r\n return {\r\n activeTripStatement,\r\n supportedStatementFormats,\r\n automatchTransactions,\r\n createDocsForUnmatchedTransactions,\r\n loadBankStatement,\r\n loadStatementFormats,\r\n matchDocumentToTransaction,\r\n removeStatement,\r\n uploadBankStatement,\r\n unmatchDocumentFromTransaction\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport { CONFIG_STORE_ACTIONS, CONFIG_STORE_GETTERS } from '@/enums'\r\nimport xstore from '@/store'\r\n\r\nexport default function useConfig() {\r\n // TODO:\r\n const isConfigLoaded = computed(() => xstore.getters[CONFIG_STORE_GETTERS.IS_CONFIG_LOADED])\r\n\r\n const config = computed(() => xstore.getters[CONFIG_STORE_GETTERS.CONFIG])\r\n\r\n return {\r\n isConfigLoaded,\r\n config\r\n }\r\n}\r\n","import Moment from 'moment'\r\nimport { DATE_FILTER_SELECTIONS } from '@/enums'\r\n\r\nexport default function useDateFilters() {\r\n const dates = {\r\n firstDayOfPreviousMonth: Moment().subtract(1, 'months').startOf('month'),\r\n lastDayOfPreviousMonth: Moment().subtract(1, 'months').endOf('month'),\r\n beforeYesterday: Moment().subtract(2, 'days'),\r\n startOfThisMonth: Moment().startOf('month'),\r\n startOfPastMonth: Moment().subtract(1, 'months').startOf('month'),\r\n startOfThisYear: Moment().startOf('year'),\r\n endOfThisMonth: Moment().endOf('month'),\r\n yesterday: Moment().subtract(1, 'days'),\r\n endOfThisYear: Moment().endOf('year'),\r\n tomorrow: Moment().add(1, 'days'),\r\n today: Moment()\r\n }\r\n\r\n const selectableDates = {\r\n [DATE_FILTER_SELECTIONS.TODAY]: {\r\n label: 'today',\r\n dateLabel: `${dates.today.format('DD.MM')}`,\r\n selectedDates: {\r\n start: dates.today,\r\n end: dates.today,\r\n addExtraDayForApi: true\r\n }\r\n },\r\n [DATE_FILTER_SELECTIONS.PAST_MONTH]: {\r\n label: 'pastMonth',\r\n dateLabel: `${dates.startOfPastMonth.format('DD.MM')} - ${dates.lastDayOfPreviousMonth.format('DD.MM')}`,\r\n selectedDates: {\r\n start: dates.startOfPastMonth,\r\n end: dates.lastDayOfPreviousMonth,\r\n addExtraDayForApi: true\r\n }\r\n },\r\n [DATE_FILTER_SELECTIONS.ONGOING_MONTH]: {\r\n label: 'ongoingMonth',\r\n dateLabel: `${dates.startOfThisMonth.format('DD.MM')} - ${dates.today.format('DD.MM')}`,\r\n selectedDates: {\r\n start: dates.startOfThisMonth,\r\n end: dates.today,\r\n addExtraDayForApi: true\r\n }\r\n },\r\n [DATE_FILTER_SELECTIONS.FROM_PAST_MONTH]: {\r\n label: 'fromPastMonth',\r\n dateLabel: `${dates.startOfPastMonth.format('DD.MM')} - ${dates.today.format('DD.MM')}`,\r\n selectedDates: {\r\n start: dates.startOfPastMonth,\r\n end: dates.today,\r\n addExtraDayForApi: true\r\n }\r\n },\r\n [DATE_FILTER_SELECTIONS.ONGOING_YEAR]: {\r\n label: 'ongoingYear',\r\n dateLabel: `${dates.startOfThisYear.format('DD.MM')} - ${dates.today.format('DD.MM')}`,\r\n selectedDates: {\r\n start: dates.startOfThisYear,\r\n end: dates.today,\r\n addExtraDayForApi: true\r\n }\r\n }\r\n }\r\n\r\n return {\r\n selectableDates,\r\n dates\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport xstore from '@/store'\r\nimport { INTEGRATION, RECEIPTS_STORE_ACTIONS, TRIPS_STORE_ACTIONS } from '@/enums'\r\nimport { useContext, useActiveDates, useIntegrations, useInstanceHelpers } from '@/composables'\r\n\r\nexport default function useDownloads() {\r\n const { t } = useInstanceHelpers()\r\n const { root } = useContext()\r\n const { activeDates } = useActiveDates()\r\n const { activeIntegration } = useIntegrations()\r\n\r\n const companyId = computed(() => root.$route.params.companyId?.toString())\r\n\r\n const downloadableDocTypes = (type: string, isReportView = false): Array => {\r\n const eInvoiceTitle = activeIntegration.value?.id === INTEGRATION.ZALKTIS ? 'Zalktis eksports' : 'E-invoice'\r\n const allOptions = [\r\n { title: 'PDF', value: 'application/pdf', types: ['TRIP', 'RECEIPT', 'ALL'] },\r\n { title: 'CSV', value: 'text/csv', types: ['TRIP', 'RECEIPT', 'ALL'] },\r\n { title: t('csvDocumentList'), value: 'text/csv', query: 'displaySimpleFormat', types: ['RECEIPT'] },\r\n {\r\n title: 'Excel',\r\n value: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n types: ['TRIP', 'RECEIPT', 'ALL']\r\n },\r\n { title: 'ZIP', value: 'application/zip', types: ['RECEIPT', 'ALL'] },\r\n { title: eInvoiceTitle, eInvoice: true, value: 'application/vnd.cp.einvoice.ee+xml', types: ['RECEIPT', 'ALL'] },\r\n { title: `${t('nrOfDocuments')} (ZIP)`, value: 'DOWNLOAD_RECEIPTS', types: ['RECEIPT'] }\r\n ]\r\n const hideEInvoiceOption = activeIntegration.value?.id === INTEGRATION.ZALKTIS && type === 'RECEIPT' && isReportView\r\n return allOptions.filter((option) => option.types.includes(type) && !(hideEInvoiceOption && option.eInvoice))\r\n }\r\n\r\n const exportPeriodic = (docType: string, options = {}): Promise | undefined => {\r\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.EXPORT_PERIODIC, {\r\n docType,\r\n companyId: companyId.value,\r\n from: activeDates.value?.startDate,\r\n to: activeDates.value?.endDate,\r\n options\r\n })\r\n }\r\n\r\n const downloadTrip = (docType: string, tripId: string | number): Promise | undefined => {\r\n return xstore.dispatch(TRIPS_STORE_ACTIONS.EXPORT_TRIP, {\r\n docType,\r\n companyId: companyId.value,\r\n tripId\r\n })\r\n }\r\n\r\n const downloadReceiptsZIP = (companyId: string | number, receiptIds: Array): Promise | undefined => {\r\n if (!companyId) return\r\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.DOWNLOAD_RECEIPTS, { companyId, receiptIds })\r\n }\r\n\r\n const exportReceipts = (\r\n companyId: string | number,\r\n receiptIds: Array,\r\n docType: string,\r\n options: any\r\n ): Promise | undefined => {\r\n if (!companyId) return\r\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.EXPORT_RECEIPTS, {\r\n companyId,\r\n receiptIds,\r\n docType,\r\n options\r\n })\r\n }\r\n\r\n const downloadReceiptPDF = (companyId: string | number, receiptId: string | number, fileName: string) => {\r\n if (!companyId || !receiptId) return\r\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.DOWNLOAD_RECEIPT_PDF, { companyId, receiptId, fileName })\r\n }\r\n\r\n const downloadImportSourceFile = (companyId: string | number, receiptId: string | number) => {\r\n if (!companyId || !receiptId) return\r\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.DOWNLOAD_IMPORT_SOURCE_FILE, { companyId, receiptId })\r\n }\r\n\r\n return {\r\n downloadableDocTypes,\r\n exportPeriodic,\r\n downloadTrip,\r\n downloadReceiptsZIP,\r\n downloadReceiptPDF,\r\n downloadImportSourceFile,\r\n exportReceipts\r\n }\r\n}\r\n","import xstore from '@/store'\r\nimport { validateStatus } from '@/lib/status'\r\nimport { useInstanceHelpers, useContext, useIntegrations } from '@/composables'\r\nimport {\r\n RECEIPTS_STORE_MUTATIONS,\r\n TRIPS_STORE_ACTIONS,\r\n RECEIPTS_STORE_GETTERS,\r\n TRIP_STATUS_VALIDATOR,\r\n TRIP_STATUS,\r\n RECEIPT_STATUS,\r\n RECEIPTS_STORE_ACTIONS,\r\n PREVALIDATION_ERROR_MESSAGES,\r\n ERRROR_MESSAGES,\r\n INTEGRATION\r\n} from '@/enums'\r\nimport { Company, Receipt, Trip } from '@/models'\r\n\r\nexport default function useExpenseFlow() {\r\n const { t } = useInstanceHelpers()\r\n const { root } = useContext()\r\n const { activeIntegration } = useIntegrations()\r\n\r\n const findPrevalidationError = (validationErrors: Array): string => {\r\n let message = 'somethingWentWrong'\r\n if (!validationErrors[0]) return message\r\n\r\n const invalid: {\r\n field: string\r\n condition: keyof typeof PREVALIDATION_ERROR_MESSAGES\r\n } = validationErrors[0].invalidFields?.[0] || {}\r\n\r\n if (invalid.field && invalid.condition) {\r\n message = `${t(PREVALIDATION_ERROR_MESSAGES[invalid.condition]).replace('$field', t(invalid.field))}`\r\n }\r\n\r\n return message\r\n }\r\n\r\n const digitizeReceipt = async (company: Company | undefined, receipt: Receipt | undefined): Promise => {\r\n try {\r\n if (!company?.id || !receipt?.id) return false\r\n if (receipt.status && validateStatus(receipt.status, [RECEIPT_STATUS.DIGITIZED])) {\r\n return true\r\n }\r\n const data = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.DIGITIZE_RECEIPT, { company, receipt })\r\n const { efException, efAction } = data\r\n if (efException && efAction === 'NONE') {\r\n throw efException\r\n }\r\n return true\r\n } catch (error: any) {\r\n throw root?.eh(error)\r\n }\r\n }\r\n\r\n const receiptSubmitOnly = async (company: Company, receipt: Receipt, suppressDuplicateCheck = false) => {\r\n const isSubmitted = receipt.status && validateStatus(receipt.status, [RECEIPT_STATUS.SUBMITTED])\r\n const isRejected = receipt.status && validateStatus(receipt.status, [RECEIPT_STATUS.REJECTED])\r\n const isApproved = receipt.status && validateStatus(receipt.status, [RECEIPT_STATUS.APPROVED])\r\n\r\n // If doc is approved, then dont submit again - send straight away. Because we dont want it to go to approval again\r\n if (isApproved && isSubmitted) {\r\n return await sendReceipt(company, receipt)\r\n }\r\n\r\n let efData =\r\n isSubmitted || isRejected\r\n ? await xstore.dispatch(RECEIPTS_STORE_ACTIONS.RESUBMIT_RECEIPT, { company, receipt, suppressDuplicateCheck })\r\n : await xstore.dispatch(RECEIPTS_STORE_ACTIONS.SUBMIT_RECEIPT, { company, receipt, suppressDuplicateCheck })\r\n\r\n if (!efData) throw new Error('forwardingReceiptFailed')\r\n\r\n if (receipt.tripId) return 'submitted'\r\n\r\n const isAdmin = Boolean(company?.companyRoles)\r\n\r\n const efAction = efData.efAction\r\n const efException = efData.efException\r\n if (efAction === 'MARK_FOR_PROCESSING') {\r\n return await sendReceipt(company, receipt)\r\n } else if (efAction === 'CHECK_PROCESSING' && efException === 'DOC_NOT_READY' && isAdmin) {\r\n return await sendReceipt(company, receipt)\r\n } else if (efAction === 'MARK_FOR_APPROVAL') {\r\n return 'receiptWaitingForApproval'\r\n } else if (efAction === 'NONE' && efException) {\r\n throw efException\r\n }\r\n return 'submitted'\r\n }\r\n\r\n const submitReceipt = async (company: Company, receipt: Receipt): Promise => {\r\n try {\r\n if (!company.id || !receipt.id) throw 'forwardingReceiptFailed'\r\n\r\n if (company?.digitization !== true || receipt.extraData?.emptyReceipt || receipt.docType === 'nonexpense') {\r\n await digitizeReceipt(company, receipt)\r\n }\r\n\r\n return await receiptSubmitOnly(company, receipt)\r\n } catch (error: any) {\r\n throw root?.eh(error)\r\n }\r\n }\r\n\r\n const confirmReceipt = async (company: Company, receipt: Receipt) => {\r\n try {\r\n await xstore.dispatch(RECEIPTS_STORE_ACTIONS.CONFIRM_RECEIPT, { company, receipt })\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n\r\n const sendReceipt = async (company: Company, receipt: Receipt): Promise => {\r\n try {\r\n if (!company.id || !receipt.id) throw 'forwardingReceiptFailed'\r\n\r\n const requiresConfirmation = company?.settings?.requireExpenseConfirmation\r\n const isAdmin = Boolean(company?.companyRoles)\r\n\r\n if (\r\n requiresConfirmation &&\r\n receipt.status &&\r\n !validateStatus(receipt.status, [RECEIPT_STATUS.READY]) &&\r\n isAdmin\r\n ) {\r\n await confirmReceipt(company, receipt)\r\n }\r\n\r\n const result = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.SEND_TO_OUTBOUND, { company, receipt })\r\n\r\n let errorText = 'forwardingReceiptFailed'\r\n if (!result.success && result.error && result.error.codename) {\r\n let options: { link?: string; linkText?: string } = {}\r\n switch (result.error.codename) {\r\n case 'OPERATOR_BOUNCE':\r\n errorText = t('operatorBounce')\r\n if (localStorage.language === 'est') {\r\n options.link =\r\n 'https://costpocket.com/et/learn/Dokumendi%20saatmine%20l%C3%A4bi%20e-arve%20operaatori%20eba%C3%B5nnestub'\r\n options.linkText = t('readTheTutorial')\r\n }\r\n break\r\n case 'INVALID_CREDENTIALS':\r\n errorText = t('invalidCredentials')\r\n break\r\n case 'INVALID_CONTENT':\r\n errorText = `${t('invalidContent')} ${result.error.message || ''}`\r\n break\r\n default:\r\n break\r\n }\r\n throw errorText\r\n } else if (result.efException) {\r\n throw result.efException\r\n } else if (!result.success) {\r\n throw errorText\r\n } else if (result.success && result.message === 'This document has already been imported') {\r\n throw ERRROR_MESSAGES.DOC_ALREADY_IMPORTED\r\n }\r\n return 'sent'\r\n } catch (error: any) {\r\n if (error.response?.data?.efException === 'DOC_NOT_APPROVED') {\r\n await receiptSubmitOnly(company, receipt)\r\n return\r\n }\r\n\r\n if (error.response?.data?.validationErrors && error.response?.data?.validationErrors.length) {\r\n const message = findPrevalidationError(error.response.data.validationErrors)\r\n if (message) throw message\r\n }\r\n\r\n throw root?.eh(error)\r\n }\r\n }\r\n\r\n const unsubmitReceipt = async (companyId: string | number, receipt: Receipt): Promise => {\r\n if (!companyId || !receipt?.id) return { message: 'somethingWentWrong', success: false }\r\n try {\r\n const data = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.UNSUBMIT_RECEIPT, { companyId, receipt })\r\n const { efException } = data\r\n\r\n if (efException) {\r\n return { message: root?.eh(data), success: false }\r\n }\r\n return { message: t('saved'), success: true }\r\n } catch (error: any) {\r\n if (error?.response?.message) {\r\n return { message: error.response.mesage, success: false }\r\n }\r\n return { message: error, success: false }\r\n }\r\n }\r\n\r\n const unsubmitReport = async (company: any, trip: any) => {\r\n if (!company.id || !trip.id) return { message: 'somethingWentWrong', success: false }\r\n\r\n try {\r\n const data = await xstore.dispatch(TRIPS_STORE_ACTIONS.UNSUBMIT_TRIP, { company, trip })\r\n const { efException } = data\r\n\r\n if (efException) {\r\n return { message: root?.eh(data), success: false }\r\n }\r\n return { message: t('saved'), success: true }\r\n } catch (error: any) {\r\n if (error?.response?.message) {\r\n return { message: error.response.mesage, success: false }\r\n }\r\n return { message: error, success: false }\r\n }\r\n }\r\n\r\n const submitReport = async (company: any, trip: any, tripReceipts: any) => {\r\n if (!company.id || !trip.id) {\r\n return { message: t('sendingReportFailed'), success: false }\r\n }\r\n\r\n try {\r\n let efData =\r\n validateStatus(trip.status, [TRIP_STATUS.CONFIRMED]) || validateStatus(trip.status, [TRIP_STATUS.REJECTED])\r\n ? await xstore.dispatch(TRIPS_STORE_ACTIONS.RESUBMIT_TRIP, { company, trip })\r\n : await xstore.dispatch(TRIPS_STORE_ACTIONS.SUBMIT_TRIP, { company, trip })\r\n\r\n if (!efData) throw new Error(\"Can't submit report\")\r\n\r\n const efAction = efData.efAction\r\n const efException: keyof typeof ERRROR_MESSAGES = efData.efException\r\n\r\n let message = 'sent'\r\n if (efAction === 'MARK_FOR_PROCESSING') {\r\n return await sendReport(company, trip, tripReceipts)\r\n } else if (efAction === 'MARK_FOR_VERIFIED_DIGITIZATION') {\r\n message = t('reportWillBeSentAfterAllDocumentsDigitized')\r\n } else if (efAction === 'MARK_FOR_APPROVAL') {\r\n message = t('reportWaitingForApproval')\r\n } else if (efAction === 'NONE' && efException) {\r\n return { message: root?.eh(efData), success: false }\r\n } else if (efException === 'REPORTS_NOT_ENABLED') {\r\n return { message: ERRROR_MESSAGES[efException], success: false }\r\n }\r\n\r\n return { message, success: true }\r\n } catch (error: any) {\r\n if (error?.response?.message) {\r\n return { message: error.response.mesage, success: false }\r\n }\r\n return { message: error, success: false }\r\n }\r\n }\r\n\r\n const sendReport = async (company: any, trip: any, tripReceipts: any) => {\r\n if (!company.id || !trip.id) return { mesage: t('sendingReportFailed'), success: false }\r\n\r\n try {\r\n const data = await xstore.dispatch(TRIPS_STORE_ACTIONS.SEND_TRIP_TO_SOFTWARE, { company, trip })\r\n\r\n if (data?.receipts) {\r\n data.receipts.forEach((receipt: any) => {\r\n const currentReceiptState = xstore.getters[RECEIPTS_STORE_GETTERS.RECEIPT_BY_ID](receipt.id)\r\n\r\n // currentReceiptState might not exist if the receipt has not been put to RECEIPTS_STORAGE\r\n if (currentReceiptState) {\r\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, {\r\n receipt: currentReceiptState,\r\n values: { status: receipt.status }\r\n })\r\n }\r\n })\r\n }\r\n\r\n let errorText = t('sendingReportFailed')\r\n let willBeSent = false\r\n\r\n if (!data.success && data.error && data.error.codename) {\r\n let options: any = {}\r\n switch (data.error.codename) {\r\n case 'OPERATOR_BOUNCE':\r\n errorText = t('operatorBounce')\r\n if (localStorage.language === 'est') {\r\n // TODO: use store to get language\r\n options.link =\r\n 'https://costpocket.com/et/learn/Dokumendi%20saatmine%20l%C3%A4bi%20e-arve%20operaatori%20eba%C3%B5nnestub'\r\n options.linkText = t('readTheTutorial')\r\n }\r\n break\r\n case 'INVALID_CREDENTIALS':\r\n errorText = t('invalidCredentials')\r\n break\r\n case 'INVALID_CONTENT':\r\n errorText = `${t('invalidContent')} ${data.error.message || ''}`\r\n break\r\n case 'DEPART_CONDITIONS_NOT_MET':\r\n const hasUndigitizedReceipts = Object.values(tripReceipts.receipts).find((receipt: any) =>\r\n validateStatus(receipt.status, [-RECEIPT_STATUS.DIGITIZED])\r\n )\r\n willBeSent = company?.digitization && hasUndigitizedReceipts\r\n break\r\n default:\r\n break\r\n }\r\n if (willBeSent) {\r\n return { message: reportSentMessage(true), success: true }\r\n }\r\n return { message: errorText, success: false, options }\r\n } else if (!data.success) {\r\n return { message: errorText, success: false }\r\n }\r\n return { message: reportSentMessage(false), success: true }\r\n } catch (error: any) {\r\n if (error?.response?.message) {\r\n return { message: error.response.mesage, success: false }\r\n }\r\n return { message: error, success: false }\r\n }\r\n }\r\n\r\n const confirmAndSendReport = async (company: Company, trip: Trip, tripReceipts: Receipt[]) => {\r\n try {\r\n if (!validateStatus(trip?.status, TRIP_STATUS_VALIDATOR.CONFIRMED)) {\r\n const data = await xstore.dispatch(TRIPS_STORE_ACTIONS.SUBMIT_TRIP, { company, trip })\r\n\r\n const efAction = data.efAction\r\n const efException = data.efException\r\n let message = 'submitted'\r\n if (efAction === 'MARK_FOR_VERIFIED_DIGITIZATION') {\r\n message = t('reportWillBeSentAfterAllDocumentsDigitized')\r\n return { message, success: true }\r\n } else if (efAction === 'MARK_FOR_APPROVAL') {\r\n message = t('reportWaitingForApproval')\r\n return { message, success: true }\r\n } else if (efAction === 'NONE' && efException) {\r\n return { message: root?.eh(data), success: false }\r\n }\r\n }\r\n\r\n const requiredConfirmation = company?.settings?.requireReportConfirmation === true\r\n if (requiredConfirmation && !validateStatus(trip?.status, TRIP_STATUS_VALIDATOR.READY)) {\r\n const data = await xstore.dispatch(TRIPS_STORE_ACTIONS.CONFIRM_AND_SEND, { company, trip })\r\n if (data.efException) {\r\n return { message: root?.eh(data), success: false }\r\n }\r\n return { message: 'sent', success: true }\r\n } else {\r\n return sendReport(company, trip, tripReceipts)\r\n }\r\n } catch (error: any) {\r\n if (error?.response?.message) {\r\n return { message: error.response.mesage, success: false }\r\n }\r\n return { message: error, success: false }\r\n }\r\n }\r\n\r\n const reportSentMessage = (onlyAfterDigitizing: Boolean) => {\r\n const usesEmail = activeIntegration.value?.id === INTEGRATION.EMAIL\r\n let message = usesEmail ? t('yourReportsPDFCSVWillBeEmailedToYou') : t('reportIsForwaredToERP')\r\n if (onlyAfterDigitizing) {\r\n message += ' ' + t('afterDocsDigitized')\r\n }\r\n return message\r\n }\r\n\r\n return {\r\n digitizeReceipt,\r\n submitReceipt,\r\n receiptSubmitOnly,\r\n sendReceipt,\r\n submitReport,\r\n confirmAndSendReport,\r\n sendReport,\r\n findPrevalidationError,\r\n unsubmitReport,\r\n unsubmitReceipt\r\n }\r\n}\r\n","import Moment from 'moment'\n\nimport { useUser } from '.'\n\nexport default function useFormatters() {\n const { activeUser } = useUser()\n\n const formatLocale = (userLocale: string) => {\n switch (userLocale) {\n case 'est':\n return 'et'\n case 'lav':\n return 'lv'\n case 'fin':\n return 'fi'\n case 'rus':\n return 'ru'\n case 'swe':\n return 'sv'\n case 'lit':\n return 'lt'\n case 'esp':\n return 'es'\n case 'eng':\n return 'en'\n default:\n return 'en'\n }\n }\n\n const formatSum = (money: number | string) => {\n return Number(money).toFixed(2) || '0.00'\n }\n\n const formatInteger = (numericValue: number | string) => {\n if (!numericValue) return 0\n return Number(numericValue).toFixed(0)\n }\n\n const formatDate = (date: Date | string) => {\n const formattedDate = Moment(date).format('YYYY-MM-DD')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateShort = (date: Date | string) => {\n const formattedDate = Moment(date).format('DD.MM')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateLong = (date: Date | string) => {\n const formattedDate = Moment(date).format('DD.MM.YYYY')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateSlashes = (date: Date | string) => {\n const formattedDate = Moment(date).format('DD/MM/YYYY')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateDashes = (date: Date | string) => {\n const formattedDate = Moment(date).format('DD-MM-YYYY')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateTime = (date: Date | string) => {\n const formattedDate = Moment(date).locale(formatLocale(activeUser?.value?.lang ?? 'eng')).format('LLL')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatMonthAndYear = (date: Date | string) => {\n const formattedDate = Moment(date).locale(formatLocale(activeUser?.value?.lang ?? 'eng')).format('MMMM YYYY')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatDateTextShort = (date: Date | string) => {\n const formattedDate = Moment(date).locale(formatLocale(activeUser?.value?.lang ?? 'eng')).format('ll')\n return formattedDate !== 'Invalid date' ? formattedDate : ''\n }\n\n const formatCurrency = (currency: string) => {\n if (!currency) return '' \n type Currency = {\n [key: string]: string\n }\n\n const CURRENCY_SYMBOLS: Currency = {\n EUR: '€',\n GBP: '£',\n USD: '$',\n SEK: 'kr',\n NOK: 'kr',\n PLN: 'zł',\n RUB: '₽'\n }\n return CURRENCY_SYMBOLS[currency] || currency\n }\n\n const truncateText = (text: string, nrOfCharacters: number) => {\n if (!text) return ''\n if (text.length < nrOfCharacters) return text\n return `${text.substring(0, nrOfCharacters)}...`\n }\n\n return {\n formatSum,\n formatInteger,\n formatDate,\n formatDateShort,\n formatDateLong,\n formatDateTextShort,\n formatDateSlashes,\n formatDateDashes,\n formatDateTime,\n formatMonthAndYear,\n formatLocale,\n formatCurrency,\n truncateText\n }\n}\n","import { computed } from 'vue'\r\nimport { uniq, deburr } from 'lodash-es'\r\nimport currencyCodes from 'currency-codes'\r\nimport { useCompanies, useReceipts } from '@/composables'\r\nimport { CompanyRole } from '@/models'\r\n\r\nexport default function useHelpers() {\r\n const { activeCompany } = useCompanies()\r\n const { companyReceipts, activeReceipt } = useReceipts()\r\n\r\n const companyRoles = computed(() => activeCompany.value?.companyRoles || [])\r\n\r\n const findDocumentSubmitter = (document: any) => {\r\n const submitterFullName = document?.submitter?.fullName\r\n let submitterFromRoles\r\n const submitter = companyRoles.value.find((role: CompanyRole) => role.userId === document.userId)\r\n if (submitter?.firstName && submitter?.lastName) {\r\n submitterFromRoles = `${submitter.firstName} ${submitter.lastName}`\r\n }\r\n const submitterEmail = document?.submitter?.email\r\n return submitterFullName || submitterFromRoles || submitterEmail || '-'\r\n }\r\n\r\n const findUserFullName = (userId: number | undefined) => {\r\n const submitter = companyRoles.value.find((role: CompanyRole) => role.userId === userId)\r\n return `${submitter?.firstName || ''} ${submitter?.lastName || ''}`.trim()\r\n }\r\n\r\n const findFileExtension = (fileName: string) => {\r\n if (!fileName) return ''\r\n const testExpression = /(?:\\.([^.]+))?$/\r\n return testExpression.exec(fileName)?.[1]\r\n }\r\n\r\n const safeAdd = (value1: number | string, value2: number | string) => {\r\n return Number((Number(value1 || 0) + Number(value2 || 0)).toFixed(2))\r\n }\r\n\r\n const search = (searchableWord: string, searchInput: string): Boolean => {\r\n const modifiedInput = deburr(searchInput || '').trim().toLowerCase()\r\n return deburr(searchableWord || '').trim().toLowerCase().includes(modifiedInput)\r\n }\r\n\r\n const findMostUsedCurrencies = (value: string): (string | null)[] => {\r\n const lastReceipts = companyReceipts.value.slice(-20)\r\n const popularCurrencies = ['EUR', 'GBP', 'USD', 'PLN', 'SEK']\r\n\r\n const filteredCurrencies = lastReceipts\r\n .filter(({ currency }) => currency !== null && currency !== '')\r\n .map(({ currency }) => currency)\r\n .filter((c, i, a) => {\r\n return a.indexOf(c) === i\r\n })\r\n\r\n const filteredPopularCurrencies = popularCurrencies.filter((c) => !filteredCurrencies.includes(c))\r\n\r\n let payload = filteredCurrencies.concat(filteredPopularCurrencies)\r\n\r\n // Filter out any currencies that do not match the strict format of three capital letters\r\n payload = payload.filter((currency) => currency && /^[A-Z]{3}$/.test(currency))\r\n\r\n // Add all other currencies from the library\r\n let currencies = payload.slice(0, 6).concat(currencyCodes.codes().filter((currency) => /^[A-Z]{3}$/.test(currency)))\r\n\r\n // Filter currencies by the provided value if it exists\r\n currencies = currencies.filter((currency) => currency && currency.includes(value))\r\n\r\n // Remove duplicates\r\n currencies = Array.from(new Set(currencies))\r\n\r\n return currencies\r\n }\r\n\r\n const ocrWordList = () => {\r\n const words = activeReceipt.value?.ocr?.wordList || []\r\n const expressions = activeReceipt.value?.ocr?.expressionList || []\r\n return uniq([...words, ...expressions])\r\n }\r\n\r\n function updateObject(initialObject: any, updatedObject: any) {\r\n for (let key in updatedObject) {\r\n // Check if the property is an object or array (nested object or array)\r\n if (typeof updatedObject[key] === 'object' && updatedObject[key] !== null && !Array.isArray(updatedObject[key])) {\r\n // Recursively update nested objects\r\n initialObject[key] = updateObject(initialObject[key] || {}, updatedObject[key])\r\n } else {\r\n // Update only if the value is different from the initial value\r\n if (initialObject[key] !== updatedObject[key]) {\r\n initialObject[key] = updatedObject[key]\r\n }\r\n }\r\n }\r\n return initialObject\r\n }\r\n\r\n return {\r\n safeAdd,\r\n search,\r\n findUserFullName,\r\n findDocumentSubmitter,\r\n findMostUsedCurrencies,\r\n findFileExtension,\r\n ocrWordList,\r\n updateObject\r\n }\r\n}\r\n","import {\n ComponentInternalInstance,\n getCurrentInstance,\n} from 'vue'\n\nexport default function useInstanceHelpers () {\n const instance: ComponentInternalInstance | null = getCurrentInstance()\n const t = instance?.appContext?.config?.globalProperties?.t ?? ((s: string) => s)\n\n return {\n t\n }\n}","import Axios from 'axios'\r\nimport { cloneDeep } from 'lodash-es'\r\nimport xstore from '@/store'\r\nimport vatRates from '@/lib/vatRates'\r\nimport { overWrittenValuesWhenAutofilling } from '@/lib/item-rows'\r\nimport { Receipt, ItemRow, ItemRowResponse, Company } from '@/models'\r\nimport { ITEM_ROW_KEY, RECEIPTS_STORE_MUTATIONS } from '@/enums'\r\nimport { useHelpers } from '@/composables'\r\n\r\nexport default function useItemRows() {\r\n const { safeAdd } = useHelpers()\r\n\r\n const countryDefaultVATRate = (countryCode: string) => {\r\n // @ts-ignore\r\n return vatRates[countryCode]?.[0] || 22\r\n }\r\n\r\n const addItemRow = async (company: Company, receipt: Receipt) => {\r\n const countryVATRate = countryDefaultVATRate(company.countryCode)\r\n const itemRow = {\r\n [ITEM_ROW_KEY.QUANTITY]: 1,\r\n [ITEM_ROW_KEY.VAT_RATE]: company.VATAccountable !== false ? countryVATRate : 0\r\n }\r\n if (!company?.id || !receipt?.id) {\r\n return\r\n }\r\n return Axios.post(`@coreapi/companies/${company.id}/receipts/${receipt.id}/itemrows`, itemRow).then(\r\n ({ data = {} }): ItemRowResponse => {\r\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { ...data } })\r\n return data\r\n }\r\n )\r\n }\r\n\r\n const updateItemRow = async (\r\n companyId: any,\r\n receipt: Receipt,\r\n rowKey: ITEM_ROW_KEY,\r\n updatedValue: any,\r\n rowNum: ItemRow[ITEM_ROW_KEY.ROW_NUM]\r\n ) => {\r\n const autofillOverride = overWrittenValuesWhenAutofilling[rowKey] || {}\r\n const url = `@coreapi/companies/${companyId}/receipts/${receipt.id}/itemrows/${rowNum}?autofillValues=true`\r\n return Axios.put(url, { ...autofillOverride, [rowKey]: updatedValue }).then(({ data = {} }): ItemRowResponse => {\r\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { ...data } })\r\n return data\r\n })\r\n }\r\n\r\n const deleteItemRow = async (companyId: any, receipt: Receipt, rowNum: ItemRow[ITEM_ROW_KEY.ROW_NUM]) => {\r\n if (!rowNum || !companyId || !receipt.id) return\r\n return Axios.delete(`@coreapi/companies/${companyId}/receipts/${receipt.id}/itemrows/${rowNum}`).then(\r\n ({ data = {} }): ItemRowResponse => {\r\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { ...data } })\r\n return data\r\n }\r\n )\r\n }\r\n\r\n const deleteAllItemRows = async (receipt: Receipt | undefined, companyId: string | number | undefined) => {\r\n try {\r\n if (!receipt || !companyId) return\r\n const itemRows = cloneDeep(receipt.itemRows || [])\r\n for (const row of itemRows) {\r\n await deleteItemRow(companyId, receipt, 1)\r\n }\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n\r\n const removeVAT = async (companyId: any, receipt: Receipt) => {\r\n try {\r\n const receiptItemRows: ItemRow[] = cloneDeep(receipt.itemRows || [])\r\n for (const row of receiptItemRows) {\r\n if (row.rowNum) {\r\n const autofillOverride = overWrittenValuesWhenAutofilling[ITEM_ROW_KEY.TOTAL] || {}\r\n const payload = {\r\n ...autofillOverride,\r\n [ITEM_ROW_KEY.VAT_RATE]: 0,\r\n [ITEM_ROW_KEY.TOTAL]: row[ITEM_ROW_KEY.TOTAL]\r\n }\r\n const url = `@coreapi/companies/${companyId}/receipts/${receipt.id}/itemrows/${\r\n row[ITEM_ROW_KEY.ROW_NUM]\r\n }?autofillValues=true`\r\n await Axios.put(url, payload).then(({ data = {} }): ItemRowResponse => {\r\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { ...data } })\r\n return data\r\n })\r\n }\r\n }\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n\r\n const calculateVATTotals = (itemRows: ItemRow[]) => {\r\n if (!itemRows) return {}\r\n\r\n const totals: {\r\n [key: string | number]: {\r\n [ITEM_ROW_KEY.VAT]: number\r\n [ITEM_ROW_KEY.SUM]: number\r\n [ITEM_ROW_KEY.TOTAL]: number\r\n }\r\n } = {}\r\n\r\n itemRows.forEach((row) => {\r\n const rowVATRate = row[ITEM_ROW_KEY.VAT_RATE]\r\n if (rowVATRate !== null && rowVATRate !== undefined) {\r\n if (!totals[rowVATRate]) {\r\n totals[rowVATRate] = {\r\n [ITEM_ROW_KEY.VAT]: 0,\r\n [ITEM_ROW_KEY.SUM]: 0,\r\n [ITEM_ROW_KEY.TOTAL]: 0\r\n }\r\n }\r\n\r\n let rowKey: keyof ItemRow\r\n for (rowKey in totals[rowVATRate]) {\r\n if (row[rowKey]) {\r\n //@ts-ignore\r\n totals[rowVATRate][rowKey] = safeAdd(totals[rowVATRate][rowKey], row[rowKey])\r\n }\r\n }\r\n }\r\n })\r\n return totals\r\n }\r\n\r\n const calculateItemRowTotals = (itemRows: ItemRow[]) => {\r\n const totals = {\r\n [ITEM_ROW_KEY.VAT]: 0,\r\n [ITEM_ROW_KEY.SUM]: 0,\r\n [ITEM_ROW_KEY.TOTAL]: 0\r\n }\r\n itemRows.forEach((row) => {\r\n let rowKey: keyof ItemRow\r\n for (rowKey in totals) {\r\n if (row[rowKey]) {\r\n //@ts-ignore\r\n totals[rowKey] = safeAdd(totals[rowKey], row[rowKey])\r\n }\r\n }\r\n })\r\n return totals\r\n }\r\n\r\n return {\r\n addItemRow,\r\n updateItemRow,\r\n deleteItemRow,\r\n deleteAllItemRows,\r\n removeVAT,\r\n calculateVATTotals,\r\n calculateItemRowTotals,\r\n countryDefaultVATRate\r\n }\r\n}\r\n","import { computed } from 'vue'\r\nimport moment from 'moment'\r\nimport xstore from '@/store'\r\nimport { useContext, useReceipts } from '@/composables'\r\nimport { MILEAGE_STORE_ACTIONS, MILEAGE_STORE_GETTERS, DOCUMENT_SUBTYPE } from '@/enums'\r\nimport { Mileage, MileageItem, Receipt } from '@/models'\r\nimport Axios from 'axios'\r\n\r\nexport default function useMileage() {\r\n const { root } = useContext()\r\n const { activeTripReceipts } = useReceipts()\r\n\r\n const companyId = computed(() => Number(root?.$route?.params?.companyId || 0))\r\n const tripId = computed(() => root?.$route?.params?.tripId || '')\r\n\r\n const mileage = computed(() => {\r\n return xstore.getters[MILEAGE_STORE_GETTERS.MILEAGE][companyId.value]\r\n })\r\n\r\n const tripMileage = computed(() => {\r\n return Object.values(mileage.value || {})\r\n .filter((mileageItem) => {\r\n return mileageItem.tripId === Number(tripId.value)\r\n })\r\n .sort((mileageA, mileageB) => {\r\n return new Date(mileageB.info?.date).getTime() - new Date(mileageA.info?.date).getTime()\r\n })\r\n })\r\n\r\n const tripCarRegCards = computed(() => {\r\n return activeTripReceipts.value.filter((receipt) => receipt.docSubType === DOCUMENT_SUBTYPE.CAR_REGISTRATION_CARD)\r\n })\r\n\r\n const mileageById = (id: string | number) => {\r\n return tripMileage.value.find((item: MileageItem) => Number(item.id) === Number(id))\r\n }\r\n\r\n const mileageByPlateNumber = (plateNumber: string) => {\r\n return Object.values(mileage.value).filter((mileage) => {\r\n return mileage?.info?.plateNumber === plateNumber\r\n })\r\n }\r\n\r\n const mileagePerMonth = (mileages: MileageItem[], startDate: string, endDate: string) => {\r\n return mileages.filter(({ info }) => {\r\n return info?.date && moment(info?.date).isBetween(moment(startDate), moment(endDate), undefined, '[]')\r\n })\r\n }\r\n\r\n const getMileage = async () => {\r\n if (!companyId.value) return\r\n return await xstore.dispatch(MILEAGE_STORE_ACTIONS.GET_MILEAGE, {\r\n companyId: companyId.value\r\n })\r\n }\r\n\r\n const getTripMileage = async () => {\r\n if (!companyId.value || !tripId.value) return []\r\n return await xstore.dispatch(MILEAGE_STORE_ACTIONS.GET_TRIP_MILEAGE, {\r\n companyId: companyId.value,\r\n tripId: tripId.value\r\n })\r\n }\r\n\r\n const getUserMileage = async (activeUserIsAdmin: boolean, loadMileageForUserId?: number | string) => {\r\n const url =\r\n activeUserIsAdmin && loadMileageForUserId\r\n ? `@coreapi/companies/${companyId.value}/trips/mileages?userId=${loadMileageForUserId}`\r\n : `@coreapi/companies/${companyId.value}/trips/mileage`\r\n return await Axios.get(url).then(({ data: mileages = [] }) => mileages)\r\n }\r\n\r\n const loadAllRegistrationCards = async (plateNumber: string) => {\r\n const { data = [] } = await Axios.get(`@coreapi/companies/${companyId.value}/receipts?where=comment~${plateNumber}`)\r\n return data.filter((document: Receipt) => document.docSubType === DOCUMENT_SUBTYPE.CAR_REGISTRATION_CARD)\r\n }\r\n\r\n const cloneRegistrationCard = async (documentId: number, tripId: number) => {\r\n const { data: cloned } = await Axios.post(`@coreapi/companies/${companyId.value}/receipts/${documentId}/clone`)\r\n await Axios.put(`@coreapi/companies/${companyId.value}/receipts/${cloned.id}`, { tripId })\r\n }\r\n\r\n const findAndCloneCarRegCard = async (plateNumber: string, tripId: number) => {\r\n const regCards = await loadAllRegistrationCards(plateNumber)\r\n const tripHasRegCard = regCards?.find((document: Receipt) => document.tripId === tripId)\r\n if (tripHasRegCard) return false\r\n if (!tripHasRegCard && regCards.length) {\r\n await cloneRegistrationCard(regCards[0].id, tripId)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const addMileage = async (mileageItem: MileageItem): Promise => {\r\n if (!companyId.value || !tripId.value) return\r\n return await xstore.dispatch(MILEAGE_STORE_ACTIONS.ADD_MILEAGE_ITEM, {\r\n companyId: companyId.value,\r\n tripId: tripId.value,\r\n mileageItem\r\n })\r\n }\r\n\r\n const updateMileage = async (\r\n mileageId: string | number,\r\n mileageItem: MileageItem\r\n ): Promise => {\r\n if (!companyId.value || !tripId.value) return\r\n return await xstore.dispatch(MILEAGE_STORE_ACTIONS.UPDATE_MILEAGE_ITEM, {\r\n companyId: companyId.value,\r\n tripId: tripId.value,\r\n mileageId,\r\n mileageItem\r\n })\r\n }\r\n\r\n const deleteMileage = async (mileageId: string | number): Promise => {\r\n if (!companyId.value || !tripId.value) return false\r\n return await xstore.dispatch(MILEAGE_STORE_ACTIONS.DELETE_MILEAGE_ITEM, {\r\n companyId: companyId.value,\r\n tripId: tripId.value,\r\n mileageId\r\n })\r\n }\r\n\r\n return {\r\n mileage,\r\n tripMileage,\r\n tripCarRegCards,\r\n addMileage,\r\n deleteMileage,\r\n findAndCloneCarRegCard,\r\n getMileage,\r\n getTripMileage,\r\n getUserMileage,\r\n mileageById,\r\n mileageByPlateNumber,\r\n mileagePerMonth,\r\n updateMileage\r\n }\r\n}\r\n","import { COUNTRY_CODE, MileageCalculationData } from '@/models'\r\nimport useMileageUtils from './useMileageUtils'\r\n\r\nexport default function useMileageCalculator() {\r\n const { isCompanyCar } = useMileageUtils()\r\n\r\n const ratesPerKm = {\r\n [COUNTRY_CODE.EE]: {\r\n 2024: 0.3,\r\n 2025: 0.5\r\n }\r\n }\r\n\r\n const limitPerMonthEstonia = {\r\n 2024: 335,\r\n 2025: 550\r\n }\r\n\r\n const calculateMileageEstonia = (data: MileageCalculationData) => {\r\n let { year, vehicle, distance, customMileageRate, sumThisMonth, calcMileageOverLimit } = data\r\n if (Number(year) < 2024) year = 2024\r\n if (Number(year) > 2025) year = 2025\r\n if (isCompanyCar(vehicle)) {\r\n return 0\r\n }\r\n // @ts-ignore\r\n let mileageRate = ratesPerKm[COUNTRY_CODE.EE][year]\r\n if (customMileageRate) {\r\n mileageRate = Number(customMileageRate)\r\n }\r\n let sum = Number(Number(distance * mileageRate).toFixed(2))\r\n //@ts-ignore\r\n const limit = limitPerMonthEstonia[year]\r\n const remainingCompensation = limit - (sumThisMonth || 0)\r\n if (sum > remainingCompensation && !calcMileageOverLimit) {\r\n sum = remainingCompensation\r\n }\r\n if (sum < 0) sum = 0\r\n return sum\r\n }\r\n\r\n const mileageCalculator = (countryCode: COUNTRY_CODE, data: MileageCalculationData): number => {\r\n switch (countryCode) {\r\n case COUNTRY_CODE.EE:\r\n return calculateMileageEstonia(data)\r\n default:\r\n return 0\r\n }\r\n }\r\n\r\n return {\r\n limitPerMonthEstonia,\r\n ratesPerKm,\r\n mileageCalculator\r\n }\r\n}\r\n","import { cloneDeep, uniqBy } from 'lodash-es'\r\nimport moment from 'moment'\r\nimport findMostCommonOccurence from '@/lib/helpers/findMostCommonOccurence'\r\nimport { useFormatters } from '@/composables'\r\nimport { MileageItem } from '@/models'\r\nimport { VEHICLE_TYPE } from '@/enums'\r\n\r\nexport default function useMileageUtils() {\r\n const { formatLocale } = useFormatters()\r\n\r\n const setMileagePayload = (preparedMileage: any): any => {\r\n // TODO: other countries?\r\n return {\r\n currency: 'EUR',\r\n distanceUnit: 'KM',\r\n comment: preparedMileage.comment,\r\n distance: preparedMileage.distance || 0,\r\n sum: preparedMileage.sum || 0,\r\n info: {\r\n date: preparedMileage.date,\r\n vehicle: preparedMileage.vehicle,\r\n individualRate: preparedMileage.individualRate,\r\n plateNumber: preparedMileage.plateNumber,\r\n odometerStart: preparedMileage.odometerStart || 0,\r\n odometerEnd: preparedMileage.odometerEnd || 0\r\n }\r\n }\r\n }\r\n\r\n const mileageMonth = (date: string, userLang: string) => {\r\n if (!date) return ''\r\n return moment(date)\r\n .locale(formatLocale(userLang || 'eng'))\r\n .format('MMMM')\r\n }\r\n\r\n const lastMileageComments = (mileageItems: MileageItem[]) => {\r\n let comments: string[] = []\r\n // MOST RECENT MILEAGE ENTRIES HAVE HIGHER ID NUMBER\r\n const sortedMileage = cloneDeep(mileageItems).sort((a: MileageItem, b: MileageItem) => b.id - a.id)\r\n sortedMileage.forEach((mileage: MileageItem) => {\r\n if (mileage.comment && mileage.comment !== '' && !comments.includes(mileage.comment)) {\r\n comments.push(mileage.comment)\r\n }\r\n })\r\n return comments.slice(0, 6)\r\n }\r\n\r\n const lastVisitedPlaces = (mileageItems: MileageItem[], addressKey: 'startPointAddress' | 'endPointAddress') => {\r\n const coordinatesKey = addressKey === 'startPointAddress' ? 'startPoint' : 'endPoint'\r\n const addresses = mileageItems\r\n .map((item) => ({ [addressKey]: item[addressKey], [coordinatesKey]: item[coordinatesKey] }))\r\n .filter((address) => address[addressKey] && address[coordinatesKey])\r\n const mostCommon = findMostCommonOccurence(addresses.map((address) => address[addressKey]))\r\n const index = addresses.findIndex((address) => address[addressKey] === mostCommon)\r\n if (index !== -1) {\r\n const [mostCommonAddress] = addresses.splice(index, 1)\r\n addresses.unshift(mostCommonAddress)\r\n }\r\n return uniqBy(addresses, addressKey).slice(0, 6)\r\n }\r\n\r\n const calculateMileageTotal = (mileageItems: MileageItem[]) => {\r\n if (!mileageItems?.length) return 0\r\n let total = 0\r\n mileageItems.forEach((item) => {\r\n if (item.sum) {\r\n total = Number((total + Number(item.sum)).toFixed(2))\r\n }\r\n })\r\n return total\r\n }\r\n\r\n // TODO: universalize\r\n const vehicleOptions = (mileageItems: MileageItem[]) => {\r\n const vehicleList: Array<{\r\n owner?: string\r\n type?: string\r\n vehicle?: string\r\n plateNumber: string\r\n engineCapacity?: string\r\n }> = []\r\n mileageItems?.forEach((mileage) => {\r\n\r\n const { vehicle, plateNumber, engineCapacity } = mileage.info\r\n if (vehicle && plateNumber) {\r\n const [owner, type] = vehicle?.split(' ') || []\r\n vehicleList.unshift({\r\n owner,\r\n type,\r\n plateNumber,\r\n engineCapacity,\r\n vehicle\r\n })\r\n }\r\n })\r\n return uniqBy(vehicleList, 'plateNumber')\r\n }\r\n\r\n const calculateDistance = (odometerStart: string | number, odometerEnd: string | number) => {\r\n const distance = Number(odometerEnd) - Number(odometerStart)\r\n return distance < 0 ? 0 : distance\r\n }\r\n\r\n const mileageReportDateRange = (mileageItems: MileageItem[], currentMileageEntryId: string | number) => {\r\n if (mileageItems.length < 1) return {}\r\n let tripMileageEntries: MileageItem[] = cloneDeep(mileageItems || [])\r\n if (currentMileageEntryId) {\r\n tripMileageEntries = tripMileageEntries.filter((mileage) => mileage.id !== currentMileageEntryId)\r\n }\r\n const oneEntryDate = mileageItems[0].info?.date || ''\r\n const startDate = moment(oneEntryDate).startOf('month').format('YYYY-MM-DD')\r\n const endDate = startDate ? moment(startDate).endOf('month').format('YYYY-MM-DD') : ''\r\n return { startDate, endDate }\r\n }\r\n\r\n const isPrivateCar = (vehicle: string) => {\r\n // FOR BACKWARDS COMPATIBILITY\r\n return ['Private car', 'Private', VEHICLE_TYPE.PRIVATE_CAR].includes(vehicle)\r\n }\r\n\r\n const isCompanyCar = (vehicle: string) => {\r\n // FOR BACKWARDS COMPATIBILITY\r\n return ['Company car 50%', 'Company', VEHICLE_TYPE.COMPANY_CAR].includes(vehicle)\r\n }\r\n\r\n return {\r\n calculateMileageTotal,\r\n calculateDistance,\r\n isCompanyCar,\r\n isPrivateCar,\r\n lastMileageComments,\r\n lastVisitedPlaces,\r\n mileageReportDateRange,\r\n mileageMonth,\r\n vehicleOptions,\r\n setMileagePayload\r\n }\r\n}\r\n","import {\n computed,\n inject\n} from 'vue'\n\nimport {\n routerLocationKey\n} from '@/providers'\n\nconst parseNum = (value: string | string[] | undefined): number | undefined => {\n return value\n ? parseInt(value.toString())\n : undefined\n}\n\nexport default function useParamsContext () {\n const router = inject(routerLocationKey)\n\n const paramsContext = computed(() => { \n return {\n companyId: parseNum(router?.currentRoute?.value?.params.companyId),\n receiptId: parseNum(router?.currentRoute?.value?.params.receiptId),\n tripId: parseNum(router?.currentRoute?.value?.params.tripId),\n tab: parseNum(router?.currentRoute?.value?.params.tab)\n }\n })\n\n return paramsContext\n}","import { computed, watch, ref } from 'vue'\nimport Axios from 'axios'\nimport moment from 'moment'\nimport { isWithinInterval, addDays } from 'date-fns'\nimport { xstore } from '@/store'\nimport { useContext, useActiveDates, useCompanies, useUser } from '@/composables'\nimport { validateStatus } from '@/lib/status'\nimport {\n RECEIPTS_STORE_ACTIONS,\n RECEIPTS_STORE_GETTERS,\n RECEIPTS_STORE_MUTATIONS,\n RECEIPT_DATES_CRITERIA,\n DOCUMENT_SUBTYPE,\n RECEIPT_STATUS,\n DOCUMENT_TYPE\n} from '@/enums'\nimport { Receipt, Company, Receipts } from '@/models'\n\nexport default function useReceipts() {\n const { root } = useContext()\n const companyId = computed(() => Number(root?.$route.params.companyId))\n const receiptId = computed(() => Number(root?.$route.params.receiptId))\n const tripId = computed(() => Number(root?.$route.params.tripId))\n\n const onReceiptsChangeTargetFn = ref((id: number) => {})\n\n const receipts = computed(() => {\n return xstore.getters[RECEIPTS_STORE_GETTERS.RECEIPTS]\n })\n\n const activeReceipt = computed(() => {\n return receipts.value[receiptId.value || '']\n })\n\n const receiptFileAttachment = computed(() => {\n return xstore.getters[RECEIPTS_STORE_GETTERS.RECEIPT_ATTACHMENTS](receiptId.value)?.[0]\n })\n\n const companyReceipts = computed(() => {\n return Object.values(receipts.value).filter((receipt: Receipt) => {\n return receipt.companyId === companyId.value\n })\n })\n\n const activeTripReceipts = computed(() => {\n return companyReceipts.value\n .filter((receipt: Receipt) => {\n return receipt.tripId === tripId.value\n })\n .reverse()\n })\n\n const activeCardTripReceipts = computed(() => {\n return (\n activeTripReceipts.value?.filter((receipt) => {\n return receipt.docSubType !== DOCUMENT_SUBTYPE.CARD_STATEMENT && receipt.docType !== DOCUMENT_TYPE.ATTACHMENT\n }) || []\n )\n })\n\n const receiptsByPeriod = computed(() => {\n const { activeDates, selectReceiptsBy } = useActiveDates()\n const { startDate, endDate } = activeDates.value\n const { activeUserIsAdmin } = useCompanies()\n const { activeUser } = useUser()\n const endDatePlusOneDay = addDays(new Date(endDate), 1)\n return companyReceipts.value\n .filter(({ tripId }: Receipt) => !tripId)\n .filter((receipt) => (activeUserIsAdmin.value ? receipt : receipt.userId === activeUser.value?.id))\n .filter(({ createdAt, issued }: Receipt) => {\n const filterDate = selectReceiptsBy.value === RECEIPT_DATES_CRITERIA.CREATED ? createdAt : issued\n if (filterDate) {\n return isWithinInterval(new Date(filterDate), {\n start: new Date(startDate),\n end: new Date(selectReceiptsBy.value === RECEIPT_DATES_CRITERIA.CREATED ? endDatePlusOneDay : endDate)\n })\n }\n return false\n })\n .reverse()\n })\n\n const receiptById = (id: number | string): Receipt => {\n return receipts.value[Number(id) || ''] || {}\n }\n\n const loadReceipt = async (receiptId: string | number) => {\n try {\n const receipt = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.GET_RECEIPT, {\n companyId: companyId.value,\n receiptId\n })\n return receipt\n } catch (error) {\n throw error\n }\n }\n\n const loadReceiptAttachments = async (receiptId: string | number) => {\n try {\n const attachments = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.GET_RECEIPT_ATTACHMENTS, {\n companyId: companyId.value,\n receiptId\n })\n return attachments\n } catch (error) {\n throw error\n }\n }\n\n const asyncGet = async (id?: number, tripId?: number | string) => {\n const { activeDates, selectReceiptsBy } = useActiveDates()\n const { startDate, endDate } = activeDates.value\n const params: any = {\n selectBy: selectReceiptsBy.value === RECEIPT_DATES_CRITERIA.CREATED ? 'createdAt' : 'issued',\n companyId: id ?? companyId.value,\n tripId\n }\n if (!tripId) {\n params.startDate = startDate\n params.endDate = endDate\n }\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.GET_FILTERED_RECEIPTS, { params })\n }\n\n const onReceiptChange = (targetFn = (id: number) => {}) => {\n onReceiptsChangeTargetFn.value = targetFn\n }\n\n const createCostWithoutDocument = async (company: Company, payload?: any): Promise => {\n try {\n const initialPayload: any = {\n currency: company?.baseCurrency || 'EUR',\n issued: moment().format('YYYY-MM-DD'),\n extraData: { emptyReceipt: true },\n tripId: tripId.value\n }\n if (payload) {\n Object.keys(payload).forEach((key) => {\n initialPayload[key] = payload[key]\n })\n }\n return createReceipt(company.id, initialPayload)\n } catch (error) {\n throw error\n }\n }\n\n const createReceipt = (companyId: any, values: any): Promise => {\n return xstore.dispatch(RECEIPTS_STORE_ACTIONS.CREATE_RECEIPT, {\n companyId,\n values\n })\n }\n\n const updateReceipt = async (comapny: Company, receipt: Receipt, values: any): Promise => {\n try {\n if (!comapny?.id || !receipt?.id) return\n const updatedReceipt = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.UPDATE_RECEIPT_DATA, {\n companyId: comapny.id,\n receiptId: receipt.id,\n values\n })\n return updatedReceipt\n } catch (error) {\n throw error\n }\n }\n\n const updateReceiptStore = (receipt: Receipt, values: any) => {\n xstore.commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values })\n }\n\n const deleteReceipt = async (company: Company, receipt: Receipt): Promise => {\n try {\n if (!company.id || !receipt.id) return false\n const _ = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.DELETE_RECEIPT, { company, receipt })\n return true\n } catch (error) {\n throw error\n }\n }\n\n const deleteManyReceipts = async (company: Company, receiptIds: Array): Promise => {\n try {\n if (!company.id) return false\n const _ = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.DELETE_RECEIPTS_MASS, { company, receiptIds })\n return true\n } catch (error) {\n throw error\n }\n }\n\n const loadOCR = async (receipt: Receipt, onlyForRectangles = false) => {\n const { ocr } = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.GET_OCR, {\n receipt,\n companyId: companyId.value,\n onlyForRectangles: onlyForRectangles\n })\n return ocr\n }\n\n watch(\n () => activeReceipt.value?.id,\n (id, oldId) => {\n if (id !== undefined && id !== oldId) {\n onReceiptsChangeTargetFn.value(id)\n }\n }\n )\n\n const convertCurrency = async (companyId: any, receiptId: any, payload: any) => {\n return Axios.put(`@coreapi/companies/${companyId}/receipts/${receiptId}/currency`, payload).then(\n async ({ data = {} }) => {\n await loadReceipt(receiptId)\n if (!data.didConvert) {\n throw new Error('conversionNotSuccessful')\n }\n }\n )\n }\n\n const checkReceiptFileExistance = (receipt: Receipt) => {\n return (\n receipt?.extraData?.emptyReceipt ||\n receipt?.noPicture ||\n (receipt?.status && !validateStatus(receipt?.status, [RECEIPT_STATUS.FILE_RECEIVED]))\n )\n }\n\n return {\n activeCardTripReceipts,\n activeTripReceipts,\n activeReceipt,\n companyReceipts,\n receiptsByPeriod,\n receiptFileAttachment,\n asyncGet,\n checkReceiptFileExistance,\n convertCurrency,\n createCostWithoutDocument,\n createReceipt,\n deleteReceipt,\n deleteManyReceipts,\n loadReceipt,\n loadReceiptAttachments,\n loadOCR,\n onReceiptChange,\n receiptById,\n updateReceipt,\n updateReceiptStore,\n }\n}\n","import { useInstanceHelpers } from '.'\n\nimport { validateStatus } from '@/lib/status'\n\nimport {\n TRIP_STATUS,\n TRIP_STATUS_VALIDATOR,\n TRIP_STATUS_CATEGORY,\n TRIP_STATUS_SEQUENCE,\n STATUS_COLORS,\n STATUS_BACKGROUND_COLORS\n} from '@/enums'\n\nimport { Company, Trip } from '@/models'\n\nexport default function useTripStatus() {\n const { t } = useInstanceHelpers()\n\n const currencyConversionStatus = (trip: Trip) => {\n if (validateStatus(trip.status, [TRIP_STATUS.CURRENCY_PROCESSING])) {\n return {\n color: STATUS_COLORS.BLUE,\n label: t('processingCurrency'),\n status: TRIP_STATUS_CATEGORY.CURRENCY_PROCESSING\n }\n }\n\n if (validateStatus(trip.status, [TRIP_STATUS.CURRENCY_CONVERTED])) {\n return {\n color: STATUS_COLORS.GREEN,\n label: t('currencyConverted'),\n status: TRIP_STATUS_CATEGORY.CURRENCY_CONVERTED\n }\n }\n\n return {}\n }\n\n const statusInfo = (trip: Trip, company: Company) => {\n switch (true) {\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.BOUNCED): {\n return {\n color: STATUS_COLORS.RED,\n background: STATUS_BACKGROUND_COLORS.RED,\n label: t('forwardingFailed'),\n status: TRIP_STATUS_CATEGORY.BOUNCED,\n index: TRIP_STATUS_SEQUENCE.BOUNCED\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.SENT) &&\n validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVED): {\n return {\n color: STATUS_COLORS.GREEN,\n background: STATUS_BACKGROUND_COLORS.GREEN,\n label: t('approvedAndSent'),\n status: TRIP_STATUS_CATEGORY.APPROVED_AND_SENT,\n index: TRIP_STATUS_SEQUENCE.APPROVED_AND_SENT\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.SENT): {\n return {\n color: STATUS_COLORS.GREEN,\n background: STATUS_BACKGROUND_COLORS.GREEN,\n label: t('forwardingSuccess'),\n status: TRIP_STATUS_CATEGORY.SENT,\n index: TRIP_STATUS_SEQUENCE.SENT\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVING): {\n return {\n color: STATUS_COLORS.BLUE,\n background: STATUS_BACKGROUND_COLORS.BLUE,\n label: t('approving'),\n status: TRIP_STATUS_CATEGORY.APPROVING,\n index: TRIP_STATUS_SEQUENCE.APPROVING\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVED): {\n return {\n color: STATUS_COLORS.GREEN,\n background: STATUS_BACKGROUND_COLORS.GREEN,\n label: t('approved'),\n status: TRIP_STATUS_CATEGORY.APPROVED,\n index: TRIP_STATUS_SEQUENCE.APPROVED\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.REJECTED): {\n return {\n color: STATUS_COLORS.RED,\n background: STATUS_BACKGROUND_COLORS.RED,\n label: t('rejected'),\n status: TRIP_STATUS_CATEGORY.REJECTED,\n index: TRIP_STATUS_SEQUENCE.REJECTED\n }\n }\n\n case !validateStatus(trip.status, [TRIP_STATUS.CONFIRMED]): {\n return {\n color: STATUS_COLORS.GREY,\n background: STATUS_BACKGROUND_COLORS.GREY,\n label: t('draft'),\n status: TRIP_STATUS_CATEGORY.DRAFT,\n index: TRIP_STATUS_SEQUENCE.DRAFT\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.PROCESSING): {\n return {\n color: STATUS_COLORS.BLUE,\n background: STATUS_BACKGROUND_COLORS.BLUE,\n label: t('tripProcessing'),\n status: TRIP_STATUS_CATEGORY.PROCESSING,\n index: TRIP_STATUS_SEQUENCE.PROCESSING\n }\n }\n\n case validateStatus(trip.status, [TRIP_STATUS.DIGITIZING]): {\n return {\n color: STATUS_COLORS.BLUE,\n background: STATUS_BACKGROUND_COLORS.BLUE,\n label: t('digitizing'),\n status: TRIP_STATUS_CATEGORY.DIGITIZING,\n index: TRIP_STATUS_SEQUENCE.DIGITIZING\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.CONFIRMED) &&\n company?.settings?.requireReportConfirmation: {\n return {\n color: STATUS_COLORS.BLUE,\n background: STATUS_BACKGROUND_COLORS.BLUE,\n label: t('pendingConfirmation'),\n status: TRIP_STATUS_CATEGORY.CONFIRMING,\n index: TRIP_STATUS_SEQUENCE.CONFIRMING\n }\n }\n\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.CONFIRMED): {\n return {\n color: STATUS_COLORS.BLUE,\n background: STATUS_BACKGROUND_COLORS.BLUE,\n label: t('submitted'),\n status: TRIP_STATUS_CATEGORY.SUBMITTED,\n index: TRIP_STATUS_SEQUENCE.SUBMITTED\n }\n }\n\n default: {\n return {\n color: STATUS_COLORS.GREY,\n background: STATUS_BACKGROUND_COLORS.GREY,\n label: t('draft'),\n status: TRIP_STATUS_CATEGORY.DRAFT,\n index: TRIP_STATUS_SEQUENCE.DRAFT\n }\n }\n }\n }\n\n return {\n statusInfo,\n currencyConversionStatus\n }\n}\n","import { capitalize, deburr } from 'lodash-es'\r\nimport moment from 'moment'\r\nimport { cloneDeep } from 'lodash-es'\r\nimport {\r\n Trip,\r\n CountryNames,\r\n ReportNameSuggestion,\r\n COUNTRY_CODE,\r\n Receipt,\r\n CompanyRole,\r\n MileageItem,\r\n DailyAllowanceItem\r\n} from '@/models'\r\nimport { BILLING_TYPE, DOCUMENT_TYPE } from '@/enums'\r\nimport { useFormatters, useHelpers, useTrips, useInstanceHelpers } from '@/composables'\r\nimport specialTerritories from '@/lib/allowance/data/specialTerritories'\r\nimport countrynametranslations from '@/lib/countrynametranslations/countrynames'\r\nimport particularizeReportName from '@/lib/helpers/particularizeReportName'\r\n\r\nexport default function useTripUtils() {\r\n const { previousTripNames, findOverlappingPaymentTrips } = useTrips()\r\n const { formatLocale } = useFormatters()\r\n const { safeAdd } = useHelpers()\r\n const { t } = useInstanceHelpers()\r\n\r\n const documentCountTotal = (trip: Trip | undefined) => {\r\n let documentCount: number = 0\r\n if (trip?.currencyTotals && trip.currencyTotals.length) {\r\n trip.currencyTotals.forEach((currency: any) => {\r\n documentCount += currency.docCount || 0\r\n })\r\n }\r\n return documentCount\r\n }\r\n\r\n const calculateItemTotals = (items: any[]) => {\r\n if (!items?.length) return {}\r\n const totals: { [key: string]: any } = {}\r\n items.forEach((item) => {\r\n if (item.sum && item.currency) {\r\n if (!totals[item.currency]) totals[item.currency] = 0\r\n totals[item.currency] = Number((totals[item.currency] + Number(item.sum)).toFixed(2))\r\n }\r\n })\r\n return totals\r\n }\r\n\r\n const calculateReimbursementTotals = (\r\n receipts: Receipt[],\r\n mileages: MileageItem[],\r\n alllowances: DailyAllowanceItem[]\r\n ) => {\r\n const totals: any = {}\r\n receipts?.forEach(({ currency, sum, billingType, docType, extraData }) => {\r\n if (currency && sum && docType !== DOCUMENT_TYPE.ATTACHMENT) {\r\n if (!totals['total']) totals['total'] = {}\r\n if (!totals['total'][currency]) totals['total'][currency] = 0\r\n totals['total'][currency] = safeAdd(totals['total'][currency], sum)\r\n\r\n if (billingType === BILLING_TYPE.PERSONAL) {\r\n if (extraData?.emptyReceipt) {\r\n if (!totals['personalAdditional']) totals['personalAdditional'] = {}\r\n if (!totals['personalAdditional'][currency]) totals['personalAdditional'][currency] = 0\r\n totals['personalAdditional'][currency] = safeAdd(totals['personalAdditional'][currency], sum)\r\n } else {\r\n if (!totals['personal']) totals['personal'] = {}\r\n if (!totals['personal'][currency]) totals['personal'][currency] = 0\r\n totals['personal'][currency] = safeAdd(totals['personal'][currency], sum)\r\n }\r\n if (!totals['totalReimbursable']) totals['totalReimbursable'] = {}\r\n if (!totals['totalReimbursable'][currency]) totals['totalReimbursable'][currency] = 0\r\n totals['totalReimbursable'][currency] = safeAdd(totals['totalReimbursable'][currency], sum)\r\n } else if (billingType === BILLING_TYPE.COMPANY && !extraData?.emptyReceipt) {\r\n if (!totals['company']) totals['company'] = {}\r\n if (!totals['company'][currency]) totals['company'][currency] = 0\r\n totals['company'][currency] = safeAdd(totals['company'][currency], sum)\r\n } else if (!extraData?.emptyReceipt) {\r\n if (!totals['unspecified']) totals['unspecified'] = {}\r\n if (!totals['unspecified'][currency]) totals['unspecified'][currency] = 0\r\n totals['unspecified'][currency] = safeAdd(totals['unspecified'][currency], sum)\r\n }\r\n }\r\n })\r\n\r\n alllowances?.forEach(({ sum, currency }) => {\r\n if (!sum || !currency) return\r\n if (!totals['total']) totals['total'] = {}\r\n if (!totals['total'][currency]) totals['total'][currency] = 0\r\n totals['total'][currency] = safeAdd(totals['total'][currency], sum)\r\n\r\n if (!totals['totalReimbursable']) totals['totalReimbursable'] = {}\r\n if (!totals['totalReimbursable'][currency]) totals['totalReimbursable'][currency] = 0\r\n totals['totalReimbursable'][currency] = safeAdd(totals['totalReimbursable'][currency], sum)\r\n })\r\n\r\n mileages?.forEach(({ sum, currency }) => {\r\n if (sum && currency) {\r\n if (!totals['total']) totals['total'] = {}\r\n if (!totals['total'][currency]) totals['total'][currency] = 0\r\n totals['total'][currency] = safeAdd(totals['total'][currency], sum)\r\n\r\n if (!totals['totalReimbursable']) totals['totalReimbursable'] = {}\r\n if (!totals['totalReimbursable'][currency]) totals['totalReimbursable'][currency] = 0\r\n totals['totalReimbursable'][currency] = safeAdd(totals['totalReimbursable'][currency], sum)\r\n }\r\n })\r\n\r\n return totals\r\n }\r\n\r\n const createTitle = (tripDestinations: Array, companyCountryCode: COUNTRY_CODE) => {\r\n const allCountries: CountryNames = countrynametranslations\r\n let countries = tripDestinations.map((d) => {\r\n const lang = localStorage.language || 'eng'\r\n // USING COMMA TO SEPARATE COUNTRY AND CITY IS BEING DEPRECATED, UNDERSCORE IS THE NEW WAY\r\n const destination = d.destination.includes('_') ? d.destination.split('_') : d.destination.split(',') \r\n const country = destination[0]\r\n let city = ''\r\n if (destination[1]) {\r\n // DESTINATION HAS CITY OR OTHER TYPE OF SPECIAL TERRITORY\r\n //@ts-ignore\r\n city = specialTerritories[companyCountryCode][country][d.destination][lang]\r\n }\r\n return city || allCountries[lang][country]\r\n })\r\n let tripName = countries.join('-')\r\n return particularizeReportName(tripName, previousTripNames.value)\r\n }\r\n\r\n const prepSelectableMonths = (language = 'eng', monthCount: number = 3) => {\r\n let suggestions: Array = []\r\n for (let i = 0; i < monthCount; i++) {\r\n const suggestion: ReportNameSuggestion = {\r\n name: '',\r\n startDate: '',\r\n endDate: ''\r\n }\r\n\r\n const start = moment().locale(formatLocale(language)).startOf('month').subtract(i, 'month')\r\n suggestion.name = capitalize(start.format('MMMM, YYYY'))\r\n suggestion.startDate = start.format('YYYY-MM-DD')\r\n suggestion.endDate = start.endOf('month').format('YYYY-MM-DD')\r\n\r\n suggestions.unshift(suggestion)\r\n }\r\n return suggestions\r\n }\r\n\r\n const prepSelectablePaymentMonths = (localReport: Trip, language: string) => {\r\n // make a copy to not to edit original array\r\n const localReportCopy = cloneDeep(localReport)\r\n\r\n return prepSelectableMonths(language, 24)\r\n .map(({ name, startDate, endDate }) => {\r\n // check whether there already exists a payment report in that period\r\n localReportCopy.startDate = startDate\r\n localReportCopy.endDate = endDate\r\n const overLappingTrips = findOverlappingPaymentTrips(localReportCopy).length > 0\r\n\r\n const value = `${startDate}_${endDate}`\r\n return {\r\n title: name,\r\n value,\r\n disabled: overLappingTrips,\r\n extraInfo: overLappingTrips ? t('overlappingTripDates') : undefined\r\n }\r\n })\r\n .reverse()\r\n }\r\n\r\n const setNewTravelReportPayload = (tripDestinations: Array, countryCode: COUNTRY_CODE, updatedTrip: Trip) => {\r\n let tripPayload = {\r\n type: 'travel',\r\n name: createTitle(tripDestinations, countryCode),\r\n comment: updatedTrip.comment,\r\n startDate: tripDestinations[0].startDate,\r\n endDate: tripDestinations[tripDestinations.length - 1].endDate,\r\n includesDailyAllowance: updatedTrip.includesDailyAllowance\r\n }\r\n return tripPayload\r\n }\r\n\r\n const filterUsers = (searchValue: string, companyRoles: CompanyRole[]) => {\r\n if (!companyRoles) return []\r\n\r\n const allRoles = companyRoles\r\n .filter((role) => role.userId && role.firstName && role.lastName)\r\n .map((role) => ({\r\n title: `${role.firstName} ${role.lastName}`,\r\n value: role.userId,\r\n extraInfo: role.email\r\n }))\r\n\r\n if (!searchValue) return allRoles\r\n\r\n const searchString = deburr(searchValue.trim()).toLowerCase()\r\n\r\n return allRoles.filter((option) => {\r\n const hasName = deburr(option.title).toLowerCase().includes(searchString)\r\n const hasEmail = deburr(option.extraInfo || '')\r\n .toLowerCase()\r\n .includes(searchString)\r\n return hasName || hasEmail\r\n })\r\n }\r\n\r\n const userOptions = (companyRoles: CompanyRole[]) => {\r\n return companyRoles\r\n .filter((role) => role.userId && role.firstName && role.lastName)\r\n .map((role) => ({\r\n title: `${role.firstName} ${role.lastName}`,\r\n value: role.userId,\r\n extraInfo: role.email || ''\r\n }))\r\n }\r\n\r\n return {\r\n calculateItemTotals,\r\n calculateReimbursementTotals,\r\n createTitle,\r\n documentCountTotal,\r\n filterUsers,\r\n prepSelectableMonths,\r\n setNewTravelReportPayload,\r\n userOptions,\r\n prepSelectablePaymentMonths\r\n }\r\n}\r\n","import { computed, watch, ref } from 'vue'\nimport { isWithinInterval, addDays } from 'date-fns'\nimport { xstore } from '@/store'\nimport {\n RECEIPTS_STORE_ACTIONS,\n TRIPS_STORE_ACTIONS,\n TRIPS_STORE_GETTERS,\n TRIP_STATUS_VALIDATOR,\n TRIP_TYPE,\n TRIP_DATES_CRITERIA\n} from '@/enums'\nimport { useParamsContext, useActiveDates, useUser } from '@/composables'\nimport { Trip, Company, Receipts, Receipt } from '@/models'\nimport { validateStatus } from '@/lib/status'\n\nexport default function useTrips() {\n const paramsContext = useParamsContext()\n const { activeUser } = useUser()\n\n const onTripsChangeTargetFn = ref((id: number) => {})\n\n const trips = computed(() => {\n return xstore.getters[TRIPS_STORE_GETTERS.TRIPS]\n })\n\n const allowances = computed(() => {\n return xstore.getters[TRIPS_STORE_GETTERS.ALLOWANCE]\n })\n\n const tripAllowance = computed(() => {\n if (!paramsContext.value?.tripId) return []\n return allowances.value[paramsContext.value.tripId] || []\n })\n\n const companyTrips = computed(() => {\n return Object.values(trips.value).filter(({ companyId }: any) => {\n return companyId === paramsContext.value.companyId\n })\n })\n\n const tripsByPeriod = computed(() => {\n const { activeDates, selectTripsBy } = useActiveDates()\n const { startDate, endDate } = activeDates.value\n const endDatePlusOneDay = addDays(new Date(endDate), 1)\n return companyTrips.value\n .filter(({ createdAt, startDate: tripStartDate, endDate: tripEndDate }: Trip) => {\n const createdWithinInterval =\n (selectTripsBy.value === TRIP_DATES_CRITERIA.ALL || selectTripsBy.value === TRIP_DATES_CRITERIA.CREATED_AT) &&\n isWithinInterval(new Date(createdAt), {\n start: new Date(startDate),\n end: new Date(endDatePlusOneDay)\n })\n const startWithinInterval =\n (selectTripsBy.value === TRIP_DATES_CRITERIA.ALL ||\n selectTripsBy.value === TRIP_DATES_CRITERIA.CREATED_FOR) &&\n tripStartDate &&\n isWithinInterval(new Date(tripStartDate), {\n start: new Date(startDate),\n end: new Date(endDatePlusOneDay)\n })\n const endWithinInterval =\n (selectTripsBy.value === TRIP_DATES_CRITERIA.ALL ||\n selectTripsBy.value === TRIP_DATES_CRITERIA.CREATED_FOR) &&\n tripEndDate &&\n isWithinInterval(new Date(tripEndDate), {\n start: new Date(startDate),\n end: new Date(endDatePlusOneDay)\n })\n return createdWithinInterval || startWithinInterval || endWithinInterval\n })\n .reverse()\n })\n\n const activeTrip = computed(() => {\n return trips.value[paramsContext.value.tripId || '']\n })\n\n // User can select these trips for receipts\n const selectableTrips = computed(() => {\n return companyTrips.value\n .filter(({ status, id }: Trip) => {\n return (\n !validateStatus(status, TRIP_STATUS_VALIDATOR.SENT) &&\n !validateStatus(status, TRIP_STATUS_VALIDATOR.BOUNCED) &&\n (!activeTrip?.value?.id || activeTrip?.value?.id != id)\n )\n })\n .filter(({ subtype }) => subtype !== TRIP_TYPE.MILEAGE)\n .reverse()\n })\n\n const previousTripNames = computed(() => {\n return companyTrips.value.filter(({ userId }) => userId === activeUser.value?.id).map(({ name }) => name)\n })\n\n const createNewTrip = async (companyId: string | number, tripPayload: any) => {\n try {\n return xstore.dispatch(TRIPS_STORE_ACTIONS.NEW_TRIP, { companyId, tripPayload })\n } catch (error) {\n throw error\n }\n }\n\n const editTrip = (company: Company, trip: Trip, values: any) => {\n return xstore.dispatch(TRIPS_STORE_ACTIONS.UPDATE_TRIP_VALUES, { company, trip, values })\n }\n\n const deleteTrip = async (\n company: Company,\n trip: Trip,\n receipts: Receipts,\n keepReceipts: Boolean\n ): Promise => {\n if (!company.id || !trip.id) return false\n\n try {\n const receiptIds = receipts.map((receipt: Receipt) => receipt.id)\n if (keepReceipts) {\n receiptIds.forEach((id: string) => {\n xstore.dispatch(RECEIPTS_STORE_ACTIONS.UPDATE_RECEIPT_DATA, {\n receiptId: id,\n companyId: company.id,\n values: { tripId: null }\n })\n })\n } else {\n const _ = await xstore.dispatch(RECEIPTS_STORE_ACTIONS.DELETE_RECEIPTS_MASS, { company, receipts: receiptIds })\n }\n const __ = await xstore.dispatch(TRIPS_STORE_ACTIONS.DELETE_TRIP, { company, trip })\n return true\n } catch (error) {\n throw error\n }\n }\n\n const loadTripAllowance = async (tripId: PropertyKey) => {\n try {\n const { companyId } = paramsContext.value\n if (!companyId || !tripId) return false\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_ALLOWANCE, { companyId, tripId })\n } catch (error) {\n throw error\n }\n }\n\n const loadTrip = (tripId: string | number, options = {}): Promise => {\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_TRIP, {\n companyId: paramsContext.value.companyId,\n tripId,\n options\n })\n }\n\n const loadPaymentCardTrips = () => {\n if (!paramsContext.value.companyId) return\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_UNSUBMITTED_CARD_REPORTS, {\n params: {\n companyId: paramsContext.value.companyId\n }\n })\n }\n\n const loadFilteredTrips = (options: any) => {\n if (!paramsContext.value.companyId) return\n return xstore.dispatch(TRIPS_STORE_ACTIONS.GET_FILTERED_TRIPS, {\n companyId: paramsContext.value.companyId,\n options\n })\n }\n\n const asyncGet = async (id?: number) => {\n const { activeDates } = useActiveDates()\n const { startDate, endDate } = activeDates.value\n return await xstore.dispatch(TRIPS_STORE_ACTIONS.GET_TRIPS, {\n params: {\n companyId: id ?? paramsContext.value.companyId,\n startDate,\n endDate\n }\n })\n }\n\n const tripById = (tripId: number) => {\n return trips.value?.[tripId] || {}\n }\n\n const onTripChange = (targetFn = (id: number) => {}) => {\n onTripsChangeTargetFn.value = targetFn\n }\n\n watch(\n () => activeTrip.value?.id,\n (id, oldId) => {\n if (id !== undefined && id !== oldId) {\n onTripsChangeTargetFn.value(id)\n }\n }\n )\n\n const findOverlappingTrips = (\n startDate: Date,\n endDate: Date,\n reportTypes: TRIP_TYPE[],\n reportSubTypes: TRIP_TYPE[]\n ) => {\n const trips: Trip[] = []\n\n for (const report of companyTrips.value) {\n // firstly check if the report is the correct type\n if (\n (!reportTypes.length || reportTypes.includes(report.type)) &&\n (!reportSubTypes.length || reportSubTypes.includes(report.subtype))\n ) {\n // secondly check if target report start or end dates are in the company report report\n const firstStartInSecond = isWithinInterval(new Date(report.startDate), {\n start: new Date(startDate),\n end: new Date(endDate)\n })\n const firstEndInSecond = isWithinInterval(new Date(report.endDate), {\n start: new Date(startDate),\n end: new Date(endDate)\n })\n // thirdly check whether the company report start is in target report period\n // we dont have to check the end date, because for any overlapping case, two conditions are true. So we can eliminate one check randomly\n const secondStartInFirst = isWithinInterval(new Date(startDate), {\n start: new Date(report.startDate),\n end: new Date(report.endDate)\n })\n if (firstStartInSecond || firstEndInSecond || secondStartInFirst) {\n trips.push(report)\n }\n }\n }\n return trips\n }\n\n const findOverlappingPaymentTrips = (currentTrip: Trip) => {\n // find all matching trips\n const trips = findOverlappingTrips(\n currentTrip?.startDate,\n currentTrip?.endDate,\n [TRIP_TYPE.EXPENSE],\n [TRIP_TYPE.CREDIT_CARD, TRIP_TYPE.DEBIT_CARD]\n )\n\n // filter out trips that don't match the card id or have the same id (same report)\n return trips.filter((trip) => {\n const currentPaymentCardId = currentTrip?.paymentCard?.id || currentTrip?.extraData?.paymentMethodId\n const overlappingPaymentCardId = trip?.paymentCard?.id || trip?.extraData?.paymentMethodId\n\n const tripsMatch = trip?.id === currentTrip?.id\n const paymentCardsMatch =\n currentPaymentCardId && overlappingPaymentCardId && currentPaymentCardId === overlappingPaymentCardId\n\n return paymentCardsMatch && !tripsMatch\n })\n }\n\n return {\n trips,\n selectableTrips,\n companyTrips,\n tripAllowance,\n tripsByPeriod,\n activeTrip,\n previousTripNames,\n onTripChange,\n loadFilteredTrips,\n loadTrip,\n loadTripAllowance,\n loadPaymentCardTrips,\n createNewTrip,\n editTrip,\n deleteTrip,\n asyncGet,\n tripById,\n findOverlappingPaymentTrips\n }\n}\n","export enum AUTH_STORE_GETTERS {\n IS_AUTHENTICATED = 'Auth/IS_AUTHENTICATED'\n}\n\nexport enum AUTH_STORE_ACTIONS {\n GET_TOKEN_FROM_AUTH_CODE = 'Auth/GET_TOKEN_FROM_AUTH_CODE'\n}\n\nexport enum AUTH_STORE_MUTAUTIONS {\n SET_AUTH_RESPONSE = 'Auth/SET_AUTH_RESPONSE'\n}","export enum CONFIG_STORE_STATE {\n CONFIG = 'Config/CONFIG'\n}\n\nexport enum CONFIG_STORE_MUTATIONS {\n SET_CONFIG = 'Config/SET_CONFIG'\n}\n\nexport enum CONFIG_STORE_ACTIONS {\n LOAD_CONFIG = 'Config/LOAD_CONFIG'\n}\n\nexport enum CONFIG_STORE_GETTERS {\n IS_CONFIG_LOADED = 'Config/IS_CONFIG_LOADED',\n CONFIG = 'Config/CONFIG'\n}\n\nexport enum STORE_STATE_LOCAL_KEY {\n FILTERS = '__Local/Filters'\n}\n\nexport enum STORE_STATE {\n CANCEL_TOKENS = 'CANCEL_TOKENS',\n LOCALSTORAGE = 'LOCALSTORAGE'\n}\n\nexport enum STORE_GETTERS {\n LOCALSTORAGE = 'LOCALSTORAGE'\n}\n\nexport enum STORE_ACTIONS {\n UPDATE_LOCALSTORAGE = 'UPDATE_LOCALSTORAGE',\n INIT_LOCALSTORAGE = 'INIT_LOCALSTORAGE',\n USE_CANCEL_TOKEN = 'USE_CANCEL_TOKEN'\n}\n\nexport enum STORE_MUTATIONS {\n REMOVE_CANCEL_TOKEN = 'REMOVE_CANCEL_TOKEN',\n SET_CANCEL_TOKEN = 'SET_CANCEL_TOKEN',\n SET_LOCALSTORE = 'SET_LOCALSTORE',\n SET_STATE = 'SET_STATE'\n}\n\nexport enum STORAGE {\n ACTIVE_COMPANY = 'STORAGE__ACTIVE_COMPANY'\n}\n","export enum INTEGRATION_CONFIRM_ERROR {\n SERVICE_CONFIRMATION_CODE_INVALID = 'invalidConfirmCode',\n SERVICE_CONFIRMATION_FAILURE = 'confirmActionFailed',\n SERVICE_CONFIRMATION_CODE_USED = 'confirmActionDone'\n}\n\nexport enum PREVALIDATION_ERROR_MESSAGES {\n NON_ZERO = 'nonZero',\n NON_ZERO_COUNT = 'nonZeroCount',\n GREATER_THAN_ZERO = 'greaterThanZero',\n MUST_EXIST = 'mustExist'\n}\n\nexport enum ERRROR_MESSAGES {\n DOC_NOT_DIGITIZED = 'efExDocNotDigitized',\n DOC_PENDING_APPROVAL = 'efExDocPendingApproval',\n REPORT_PENDING_APPORVAL = 'efExReportPendingApproval',\n REPORTS_NOT_ENABLED = 'efExReportsNotEnabled',\n DOC_NOT_SUBMITTED = 'efExDocNotSubmitted',\n REPORT_NOT_SUBMITTED = 'efExReportNotSubmitted',\n DOC_NOT_APPROVED = 'efExDocNotApproved',\n REPORT_NOT_APPROVED = 'efExReportNotApproved',\n DOC_PART_OF_REPORT = 'efExDocPartOfReport',\n SENDING_DOCS_NOT_ALLOWED = 'efExSendingDocsNotAllowed',\n UNSUBMITTING_NOT_ALLOWED = 'efExUnsubmittingNotAllowed',\n DOC_NOT_DISTINCT = 'efExDocNotDistinct',\n DOC_NOT_READY = 'pendingConfirmation',\n ALREADY_SENT_TO_ACCOUNTING = 'efExDocAlreadyAccounting',\n DOC_ALREADY_IMPORTED = 'docAlreadyImported',\n ACCESS_NOT_ALLOWED = 'accessRequestSent',\n CURRENCY_CONVERSION_SOURCE_DOES_NOT_SUPPORT_THIS_CURRENCY = 'currencyNotSupported',\n STATEMENT_NON_EXISTENT = 'statementNonExistent',\n STATEMENT_UNIDENTIFIED_ISSUER = 'unidentifiedIssuer',\n STATEMENT_MISSING_PAYMENT_METHOD = 'missingPaymentMethod',\n STATEMENT_PARSING_FAILURE = 'statementParsingFailure',\n STATEMENT_TRANSACTIONS_NOT_FOUND = 'transactionsNotFound',\n STATEMENT_UPLOAD_NOT_ALLOWED = 'uploadNotAllowed',\n STATEMENT_REMOVAL_NOT_ALLOWED = 'removalNotAllowed'\n}\n","export enum INTEGRATIONS_STORE_STATE {\r\n ACTIVE_INTEGRATION = 'Integrations/ACTIVE_INTEGRATIONS',\r\n SERVICE_ACTIVATION = 'Integrations/SERVICE_ACTIVATION'\r\n}\r\n\r\nexport enum INTEGRATIONS_STORE_GETTERS {\r\n ACTIVE_INTEGRATION = 'Integrations/ACTIVE_INTEGRATIONS',\r\n SERVICE_ACTIVATION = 'Integrations/SERVICE_ACTIVATION'\r\n}\r\n\r\nexport enum INTEGRATIONS_STORE_ACTIONS {\r\n GET_ACTIVE_INTEGRATION = 'Integrations/GET_ACTIVE_INTEGRATION',\r\n CHECK_SERVICE_ACTIVATION_STATE = 'Integrations/CHECK_SERVICE_ACTIVATION_STATE',\r\n CONFIRM_SERVICE_ACTIVATION = 'Integrations/CONFIRM_SERVICE_ACTIVATION'\r\n}\r\n\r\nexport enum INTEGRATIONS_STORE_MUTATIONS {\r\n SET_ACTIVE_INTEGRATION = 'Integrations/SET_ACTIVE_INTEGRATION',\r\n UPDATE_ACTIVE_INTEGRATION = 'Integrations/UPDATE_ACTIVE_INTEGRATION',\r\n SET_SERVICE_ACTIVATION = 'Integrations/SET_SERVICE_ACTIVATION'\r\n}\r\n\r\nexport enum INTEGRATION {\r\n CUSTOM = 'api', // TODO: ???\r\n ASTERI = 'asteri',\r\n BILLBERRY = 'billberry',\r\n BRIOX = 'briox',\r\n DIRECTO = 'directo',\r\n E_ARVELDAJA = 'earveldaja',\r\n E_ARVELDAJA_NEW = 'earveldaja-new',\r\n EMAIL = 'email',\r\n EMCE_XML = 'emce-xml',\r\n ENOVA = 'enova',\r\n ERPLYBOOKS = 'erply',\r\n FENNOA = 'fennoa',\r\n FINKA = 'finka', \r\n FITEK = 'fitek',\r\n FIKS = 'fiks',\r\n HANSAWORLD = 'hansaworld',\r\n I_FIRMA = 'ifirma',\r\n VISMA_HORIZON = 'visma-horizon',\r\n JOOSEP_EMAIL = 'joosep-email',\r\n JOOSEP = 'joosep',\r\n MERIT = 'merit',\r\n MONEO = 'moneo-api',\r\n MONEO_OLD = 'moneo',\r\n MSBC = 'msbc',\r\n NOOM = 'noom',\r\n ODOO = 'odoo',\r\n ONE_S = 'one-s',\r\n COMARCH_OPTIMA = 'optima',\r\n PAYTRAQ = 'paytraq',\r\n RAKS = 'raks-sql',\r\n RAPID = 'rapid',\r\n SAF = 'saf',\r\n SIMPLBOOKS = 'simplbooks',\r\n STANDARDBOOKS = 'standardbooks',\r\n SMARTACCOUNTS = 'smartaccounts',\r\n SYSTIM = 'systim',\r\n INTAXO = 'intaxo',\r\n TELEMA = 'telema',\r\n TFO = 'tfo',\r\n JUMIS_PRO = 'tildesjumis',\r\n JUMIS_START = 'tildesjumis-standard',\r\n TRESOOR = 'tresoor',\r\n VALIDIUS = 'validius',\r\n VARICO = 'varico',\r\n VERP = 'verp',\r\n VISMA_NETVISOR = 'visma-netvisor',\r\n VISMA_FIVALDI = 'visma-fivaldi',\r\n VISMA_FIVALDI_CSV = 'visma-fivaldi-csv',\r\n ZALKTIS = 'zalktis'\r\n}\r\n","export enum PAYMENTS_STORE_STATE {\r\n PAYMENT_METHODS = 'Payments/PAYMENT_METHODS',\r\n}\r\n\r\nexport enum PAYMENTS_STORE_GETTERS {\r\n PAYMENT_METHODS = 'Payments/PAYMENT_METHODS',\r\n PAYMENT_METHOD = 'Payments/PAYMENT_METHOD' \r\n}\r\n\r\nexport enum PAYMENTS_STORE_ACTIONS {\r\n GET_PAYMENT_METHODS = 'Payments/GET_PAYMENT_METHODS',\r\n CREATE_PAYMENT_METHOD = 'Payments/CREATE_PAYMENT_METHOD',\r\n UPDATE_PAYMENT_METHOD = 'Payments/UPDATE_PAYMENT_METHOD',\r\n DELETE_PAYMENT_METHOD = 'Payments/DELETE_PAYMENT_METHOD'\r\n}\r\n\r\nexport enum PAYMENTS_STORE_MUTATIONS {\r\n SET_PAYMENT_METHODS = 'Payments/SET_PAYMENT_METHOD',\r\n REMOVE_PAYMENT_METHOD = 'Payments/REMOVE_PAYMENT_METHOD'\r\n}\r\n\r\nexport enum PAYMENT_TYPE {\r\n CREDIT_CARD = 'creditCard',\r\n DEBIT_CARD = 'debitCard',\r\n BANK_ACCOUNT = 'bankAccount',\r\n CASH = 'cash'\r\n}\r\n","export enum USERS_STORE_STATE {\n ACTIVE_USER = 'Users/State/ACTIVE_USER'\n}\n\nexport enum USERS_STORE_MUTATIONS {\n SET_USER = 'Users/Mutations/SET_USER'\n}\n\nexport enum USERS_STORE_ACTIONS {\n GET_USER = 'Users/Actions/GET_USER',\n UPDATE_USER = 'Users/Actions/UPDATE_USER'\n}\n\nexport enum USERS_STORE_GETTERS {\n ACTIVE_USER = 'Users/Getters/ACTIVE_USER',\n}","import { Trip, TripDestination } from '@/models'\r\nimport { each } from 'lodash-es'\r\nimport moment from 'moment'\r\n\r\ninterface TripInput {\r\n id: string | number | undefined\r\n destinations: TripDestination[]\r\n startDate?: string\r\n endDate?: string\r\n extraData?: { [key: string]: any }\r\n}\r\n\r\ninterface AllowancePayload {\r\n days: number\r\n sum: number\r\n warning: boolean\r\n overlappingDates: { [key: string]: string[] }\r\n maxAllowance?: number\r\n}\r\n\r\ninterface TripCalendar {\r\n [month: string]: { [day: string]: number }\r\n}\r\n\r\ninterface FullRateTracker {\r\n [month: string]: number\r\n}\r\n\r\ninterface AllowanceRates {\r\n fullRate: { [key: PropertyKey]: number }\r\n reducedRate: { [key: PropertyKey]: number }\r\n}\r\n\r\nconst rates: AllowanceRates = {\r\n fullRate: { 2024: 50, 2025: 75 },\r\n reducedRate: { 2024: 32, 2025: 40 }\r\n}\r\n\r\n/**\r\n * The daily allowance for a business trip abroad in the rate of 75 euros for the first 15 days\r\n * of the business trip, but no more than for 15 days in a calendar month and 40 euros\r\n * for each subsequent day is not subject to taxation (clause 3 of subsection 1 of § 7 of the Business Trip Regulation).\r\n */\r\nexport default function calculateTripAllowance(tripInput: TripInput, tripsInput: Trip[]): AllowancePayload {\r\n let allowanceSum = 0\r\n let allowanceDays = 0\r\n let warning = false\r\n let overlappingDates: { [key: string]: string[] } = {}\r\n\r\n let { tripCalendar: oldTrips, fullRateDaysPerMonth } = createTripCalendar(tripsInput)\r\n let { tripCalendar: newTrip } = createTripCalendar([tripInput])\r\n\r\n const month = moment(tripInput.startDate, 'YYYY-MM-DD').format('YYYY-MM')\r\n let fullRateDaysPerTrip = fullRateDaysPerMonth[month] || 0\r\n\r\n each(newTrip, (days: { [key: PropertyKey]: number }, month: string) => {\r\n each(days, (_: number, day: string) => {\r\n if (oldTrips?.[month]?.[day]) {\r\n newTrip[month][day] = 0\r\n warning = true\r\n if (!overlappingDates[month]) overlappingDates[month] = []\r\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\r\n } else {\r\n const year = setYear(`${month}-${day}`)\r\n const tripMaxAllowance = parseFloat(tripInput.extraData?.maxAllowance)\r\n\r\n let allowanceRate = findAllowancePerDay(fullRateDaysPerTrip, year)\r\n\r\n if (tripMaxAllowance && tripMaxAllowance < allowanceRate) {\r\n allowanceRate = tripMaxAllowance\r\n }\r\n\r\n newTrip[month][day] = allowanceRate\r\n\r\n if (allowanceRate > rates.reducedRate[year]) {\r\n fullRateDaysPerTrip += 1\r\n }\r\n }\r\n\r\n allowanceSum = safeAdd(allowanceSum, newTrip[month][day])\r\n allowanceDays += 1\r\n })\r\n })\r\n\r\n each(overlappingDates, (_: string[], month: string) => {\r\n overlappingDates[month].sort((a, b) => +new Date(a) - +new Date(b))\r\n })\r\n\r\n let maxAllowance\r\n if (tripInput.extraData?.maxAllowance) {\r\n const year = setYear(tripInput.startDate || '')\r\n maxAllowance = tripInput.extraData.maxAllowance > rates.fullRate[year] ? rates.fullRate[year] : maxAllowance\r\n }\r\n\r\n return {\r\n days: allowanceDays,\r\n sum: allowanceSum,\r\n warning,\r\n overlappingDates,\r\n maxAllowance\r\n }\r\n}\r\n\r\nconst createTripCalendar = (trips: TripInput[] | Trip[]) => {\r\n const tripCalendar: TripCalendar = {}\r\n const fullRateDaysPerMonth: FullRateTracker = {}\r\n\r\n each(trips, (trip: Trip) => {\r\n const startDate = moment(trip.startDate, 'YYYY-MM-DD')\r\n const endDate = moment(trip.endDate, 'YYYY-MM-DD')\r\n const maxAllowance = parseFloat(trip.extraData?.maxAllowance)\r\n const tripStartMonth = moment(trip.startDate, 'YYYY-MM-DD').format('YYYY-MM')\r\n let currentTripDay = 0\r\n let fullRateDaysPerTrip = fullRateDaysPerMonth[tripStartMonth] || 0\r\n\r\n if (trip.extraData?.departAfter22) startDate.add(1, 'days')\r\n if (trip.extraData?.departBefore03) endDate.subtract(1, 'days')\r\n\r\n const totalDaysForCalculation = endDate.diff(startDate, 'days') + 1\r\n const daysInTrip: string[] = []\r\n\r\n for (let i = 0; i < totalDaysForCalculation; i++) {\r\n daysInTrip.push(startDate.format('YYYY-MM-DD'))\r\n startDate.add(1, 'days')\r\n }\r\n\r\n each(daysInTrip, (oneDay: string) => {\r\n currentTripDay += 1\r\n const day = moment(oneDay, 'YYYY-MM-DD').format('DD')\r\n const month = moment(oneDay, 'YYYY-MM-DD').format('YYYY-MM')\r\n const year = setYear(oneDay)\r\n\r\n if (!tripCalendar[month]) tripCalendar[month] = {}\r\n if (!fullRateDaysPerMonth[month]) fullRateDaysPerMonth[month] = 0\r\n\r\n let allowanceRate = findAllowancePerDay(fullRateDaysPerTrip, year)\r\n\r\n if (maxAllowance && maxAllowance < allowanceRate) {\r\n allowanceRate = maxAllowance\r\n }\r\n\r\n if (allowanceRate > rates.reducedRate[year]) {\r\n fullRateDaysPerTrip += 1\r\n fullRateDaysPerMonth[month] += 1\r\n }\r\n\r\n tripCalendar[month][day] = allowanceRate\r\n })\r\n })\r\n\r\n return { tripCalendar, fullRateDaysPerMonth }\r\n}\r\n\r\nconst findAllowancePerDay = (usedFullRateDays: number, year: number): number => {\r\n if (usedFullRateDays < 15) {\r\n return rates.fullRate[year]\r\n } else {\r\n return rates.reducedRate[year]\r\n }\r\n}\r\n\r\nconst setYear = (date: string) => {\r\n let year = parseInt(moment(date, 'YYYY-MM-DD').format('YYYY'))\r\n if (year < 2024) year = 2024\r\n if (year > 2025) year = 2025\r\n return year\r\n}\r\n\r\nconst safeAdd = (value1: number, value2: number): number => {\r\n return Number((Number(value1 || 0) + Number(value2 || 0)).toFixed(2))\r\n}\r\n","// IN FINLAND ONE FULL DAY OF TRAVEL MEANS EVERY 24h FROM THE TRAVEL START\n\n// DOMESTIC TRAVELS (2025):\n// - MORE THAN 6H: PER DIEM = 24 EUR\n// - MORE THAN 10H: PER DIEM = 53 EUR\n// IF THE LAST FULL DAY OF TRAVEL IS EXCEEDED BY:\n// - 2H: ADD 24 EUR\n// - 6H: ADD 53 EUR\n\n// TRIPS OUTSIDE FINLAND:\n// IF TOTAL TRAVEL TIME IS LESS THAN 10H: DOMESTIC TRAVEL RULES APPLY\n// IF THE COUNTRY HAS NO PER DIEM RATE LISTED, RATE IS 52 EUR (2025)\n// IF THE LAST FULL DAY OF TRAVEL IS EXCEEDED BY:\n// - 2H: ADD 50% OF THE LAST VISITED COUNTRY PER DIEM\n// - 10H: ADD 100% OF THE LAST VISITED COUNTRY PER DIEM\n// PER DIEM RATE IS DETERMINED BY THE COUNTRY WHERE THE FULL DAY OF TRAVEL(24H) ENDED\n\n// 2 FREE MEALS (1 FREE MEAL, IF PARTIAL DAY AND DOMESTIC TRAVEL) INCLUDED REDUCES THE PER DIEM AMOUNT BY 50%\n\nimport moment from 'moment'\nimport { each, times } from 'lodash-es'\nimport { safeAdd } from '@/lib/helpers'\nimport finlandPerDiems2023 from '../data/finlandPerDiems2023'\nimport finlandPerDiems2024 from '../data/finlandPerDiems2024'\nimport finlandPerDiems2025 from '../data/finlandPerDiems2025'\n\nconst perDiemsByYear = {\n 2023: finlandPerDiems2023,\n 2024: finlandPerDiems2024,\n 2025: finlandPerDiems2025\n}\n\nconst defaultInternationalPerDiemByYear = {\n 2023: 53,\n 2024: 52,\n 2025: 52\n}\n\nconst partialPerDiemByYear = {\n 2023: 22,\n 2024: 24,\n 2025: 24\n}\n\nexport default function (currentTrip, previousTrips) {\n let oldTrips = createOldTripCalendar(previousTrips)\n let newTrip = createNewTripCalendar(currentTrip)\n let sum = 0\n let warning = false\n let overlappingDates = {}\n let dataPerDestination = []\n\n each(newTrip, (days, month) => {\n // GO OVER EVERY DAY IN MONTH\n each(days, (_, day) => {\n // IF ALLOWANCE HAS BEEN CALCULATED FOR THIS DATE IN PREVIOUS TRIP,\n // DON'T ADD IT FOR THIS TRIP AND WARN ABOUT IT\n if (oldTrips[month] && oldTrips[month][day]) {\n warning = true\n if (!overlappingDates[month]) overlappingDates[month] = []\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\n } else {\n // ADD THIS DAY ALLOWANCE TO TOTAL SUM\n sum = Number((sum + newTrip[month][day].perDiem).toFixed(2))\n\n // CALCULATE SUM AND DAYS PER DESTINATION\n const destinationInfo = dataPerDestination.find((item) => item.index === newTrip[month][day].index)\n if (destinationInfo) {\n destinationInfo.sum = safeAdd(destinationInfo.sum, newTrip[month][day].perDiem)\n destinationInfo.days++\n } else {\n dataPerDestination.push({\n sum: newTrip[month][day].perDiem,\n days: 1,\n index: newTrip[month][day].index\n })\n }\n }\n })\n })\n\n each(overlappingDates, (_, month) => {\n overlappingDates[month].sort((a, b) => a - b)\n })\n\n return {\n sum,\n warning,\n overlappingDates,\n dataPerDestination\n }\n}\n\nfunction createOldTripCalendar(trips) {\n const calendarOfPreviousTrips = {}\n\n each(trips, (trip) => {\n if (!trip.includesDailyAllowance || !trip.startDate || !trip.endDate) {\n return\n }\n\n const start = trip.startDate\n const end = trip.endDate\n const startingDate = moment(start)\n const tripDayCount = moment(end).diff(moment(start), 'day') + 1\n\n times(tripDayCount, (dayOfTrip) => {\n const currentDay = startingDate.clone().add(dayOfTrip, 'day')\n const date = setDay(currentDay)\n const month = setMonth(currentDay)\n if (!calendarOfPreviousTrips[month]) calendarOfPreviousTrips[month] = {}\n calendarOfPreviousTrips[month][date] = true\n })\n })\n\n return calendarOfPreviousTrips\n}\n\nfunction createNewTripCalendar({ destinations, maxAllowance }) {\n const tripCalendar = {}\n const tripStartDate = destinations[0].startDate\n const tripStartTime = destinations[0].startTime\n const tripEndDate = destinations[destinations.length - 1].endDate\n const tripEndTime = destinations[destinations.length - 1].endTime\n\n if (tripStartDate && tripStartTime && tripEndDate && tripEndTime) {\n const start = convertToDate(tripStartDate, tripStartTime)\n const end = convertToDate(tripEndDate, tripEndTime)\n const totalTimeInMinutes = end.diff(start, 'minutes')\n\n // TRIP LASTED ONE DAY OR LESS\n if (totalTimeInMinutes <= 1440) {\n const lastDestination = destinations[destinations.length - 1]\n const day = setDay(lastDestination.endDate)\n const month = setMonth(lastDestination.endDate)\n let year = month.slice(0, 4)\n\n if (!['2023', '2024', '2025'].includes(year.toString())) {\n year = '2025'\n } \n\n tripCalendar[month] = {}\n tripCalendar[month][day] = {}\n\n // TRIP LASTED LESS THAN 6H - NO ALLOWANCE IS CALCULATED\n if (totalTimeInMinutes <= 360) {\n tripCalendar[month][day].perDiem = 0\n }\n\n // TRIP LASTED BETWEEN 6 AND 10 H - DOMESTIC RULES APPLY, PARTIAL PER DIEM\n if (totalTimeInMinutes > 360 && totalTimeInMinutes <= 600) {\n const partialPerDiem = capAtMaxllowance(partialPerDiemByYear[year], maxAllowance)\n tripCalendar[month][day].perDiem = setReducedPerDiem(\n lastDestination,\n lastDestination.endDate,\n partialPerDiem,\n true\n )\n }\n\n // TRIP LASTED MORE THAN 10H - FULL PER DIEM IS COUNTED\n if (totalTimeInMinutes > 600) {\n const perDiem = capAtMaxllowance(setPerDiem(year, lastDestination.destination), maxAllowance)\n tripCalendar[month][day].perDiem = setReducedPerDiem(lastDestination, lastDestination.endDate, perDiem, false)\n }\n\n tripCalendar[month][day].index = lastDestination.index\n\n return tripCalendar\n }\n\n const fullDaysCount = end.diff(start, 'days')\n const exceededTime = totalTimeInMinutes - fullDaysCount * 1440\n\n // COUNT PER DIEM FOR EACH FULL DAY\n times(fullDaysCount, () => {\n const nextFullDay = start.add(24, 'hours')\n const dayEndsInDestination = destinations.find((destination) => {\n if (destination.startDate && destination.startTime && destination.endDate && destination.endTime) {\n const destinationStart = convertToDate(destination.startDate, destination.startTime)\n const destinationEnd = convertToDate(destination.endDate, destination.endTime)\n return moment(nextFullDay).isBetween(destinationStart, destinationEnd, 'minute', '[]')\n }\n return false\n })\n\n if (dayEndsInDestination) {\n const day = setDay(nextFullDay)\n const month = setMonth(nextFullDay)\n const year = month.slice(0, 4)\n const nextFullDayDate = moment(nextFullDay).format('YYYY-MM-DD')\n\n if (!tripCalendar[month]) tripCalendar[month] = {}\n if (!tripCalendar[month][day]) tripCalendar[month][day] = {}\n\n const perDiem = capAtMaxllowance(setPerDiem(year, dayEndsInDestination.destination), maxAllowance)\n tripCalendar[month][day].perDiem = setReducedPerDiem(dayEndsInDestination, nextFullDayDate, perDiem, false)\n tripCalendar[month][day].index = dayEndsInDestination.index\n }\n })\n\n // HANDLE TIME EXCEEDED ON LAST DAY\n if (exceededTime > 120) {\n const lastDestination = destinations[destinations.length - 1]\n const day = setDay(lastDestination.endDate)\n const month = setMonth(lastDestination.endDate)\n const year = month.slice(0, 4)\n const lastDayPerDiem = setExceededTimePerDiem(exceededTime, year, lastDestination.destination, maxAllowance)\n\n if (!tripCalendar[month]) tripCalendar[month] = {}\n if (!tripCalendar[month][day]) tripCalendar[month][day] = {}\n\n if (tripCalendar[month][day].perDiem) {\n tripCalendar[month][day].perDiem += setReducedPerDiem(\n lastDestination,\n lastDestination.endDate,\n lastDayPerDiem,\n false\n )\n } else {\n tripCalendar[month][day].perDiem = setReducedPerDiem(\n lastDestination,\n lastDestination.endDate,\n lastDayPerDiem,\n false\n )\n tripCalendar[month][day].index = lastDestination.index\n }\n }\n }\n\n return tripCalendar\n}\n\nfunction capAtMaxllowance(perDiem, maxAllowance) {\n if (!maxAllowance) return perDiem\n return perDiem > maxAllowance ? maxAllowance : perDiem\n}\n\nfunction setPerDiem(year, countryCode) {\n let perDiem = perDiemsByYear[year][countryCode]\n if (!perDiem) perDiem = defaultInternationalPerDiemByYear[year]\n return perDiem\n}\n\nfunction setExceededTimePerDiem(exceededTime, year, countryCode, maxAllowance) {\n // BETWEEN 2 AND 10 H ABROAD\n if (exceededTime > 120 && exceededTime <= 600 && countryCode !== 'FI') {\n return capAtMaxllowance(setPerDiem(year, countryCode), maxAllowance) / 2\n }\n\n // BETWEEN 2 AND 6H IN FINLAND\n if (exceededTime > 120 && exceededTime <= 360 && countryCode === 'FI') {\n return capAtMaxllowance(partialPerDiemByYear[year], maxAllowance)\n }\n\n // MORE THAN 6H IN FINLAND OR MORE THAN 10 H ABROAD\n return capAtMaxllowance(setPerDiem(year, countryCode), maxAllowance)\n}\n\nfunction setReducedPerDiem(destination, date, perDiem, isPartialDayPerDiem) {\n const isFreeMealCounted =\n (destination.oneFreeMeal?.find((freeMealDate) => freeMealDate === date) && isPartialDayPerDiem) ||\n destination.twoFreeMeals?.find((freeMealDate) => freeMealDate === date)\n return isFreeMealCounted ? perDiem / 2 : perDiem\n}\n\nfunction convertToDate(date, time) {\n return moment(date + ' ' + time, 'YYYY-MM-DDLT')\n}\n\nfunction setDay(date) {\n return moment(date, 'YYYY-MM-DD').format('DD').toString()\n}\n\nfunction setMonth(date) {\n return moment(date, 'YYYY-MM-DD').format('YYYY-MM').toString()\n}\n","import estonia from './countries/newestonia'\r\nimport finland from './countries/finland'\r\nimport latvia from './countries/latvia'\r\nimport lithuania from './countries/lithuania'\r\nimport poland from './countries/poland'\r\nimport sweden from './countries/sweden'\r\nimport { TRIP_TYPE } from '@/enums'\r\nimport { TripDestination, Trip } from '@/models'\r\n\r\nexport const allowanceCalculator = (\r\n countryCode: string,\r\n tripInput: {\r\n id: string | number | undefined\r\n destinations: TripDestination[]\r\n startDate?: string\r\n endDate?: string\r\n includesDailyAllowance?: boolean\r\n maxAllowance?: number\r\n extraData?: { [key: PropertyKey]: any }\r\n },\r\n previousTrips: Trip[]\r\n) => {\r\n if (!tripInput || !previousTrips || !countryCode) {\r\n throw { error: 'trip, trips or country missing', errorCode: 'tripTripsOrCountryMissing' }\r\n }\r\n\r\n const onlyTravelReports = previousTrips.filter((previousTrip) => {\r\n return previousTrip.type === TRIP_TYPE.TRAVEL && (!tripInput.id || Number(tripInput.id) !== Number(previousTrip.id))\r\n })\r\n\r\n switch (countryCode) {\r\n case 'EE':\r\n return estonia(tripInput, onlyTravelReports)\r\n case 'FI':\r\n return finland(tripInput, onlyTravelReports)\r\n // TODO: move other countries from allowance.js\r\n // case 'LV':\r\n // return latvia(tripInput, onlyTravelReports)\r\n // case 'LT':\r\n // return lithuania(tripInput, onlyTravelReports)\r\n // case 'PL':\r\n // return poland(tripInput, onlyTravelReports)\r\n // case 'SE':\r\n // return sweden(tripInput, onlyTravelReports)\r\n default:\r\n throw { error: 'Country not supported', errorCode: 'countryNotSupported' }\r\n }\r\n}\r\n","import { ITEM_ROW_KEY } from '@/enums'\r\n\r\nexport const overWrittenValuesWhenAutofilling: Record = {\r\n [ITEM_ROW_KEY.VAT_RATE]: {\r\n sum: null,\r\n total: null,\r\n VATsum: null\r\n },\r\n [ITEM_ROW_KEY.QUANTITY]: {\r\n sum: null,\r\n total: null,\r\n VATsum: null\r\n },\r\n [ITEM_ROW_KEY.PRICE]: {\r\n sum: null,\r\n total: null,\r\n VATsum: null\r\n },\r\n [ITEM_ROW_KEY.SUM]: {\r\n total: null,\r\n price: null,\r\n VATsum: null\r\n },\r\n [ITEM_ROW_KEY.TOTAL]: {\r\n sum: null,\r\n price: null,\r\n VATsum: null\r\n }\r\n}\r\n","export function validateStatus (_status: number, _enums: number[]) {\n return _enums\n .every((_enum: number) => {\n // @ts-ignore\n return ((_status & Math.abs(_enum)) > 0) === (Math.sign(_enum) == true)\n })\n}","import { CARD_REPORTING_INTERVAL, COMPANIES_STORE_STATE, PRICING_PLAN, EDITABLE_RECEIPT_KEY } from '@/enums'\nimport { ItemRowColumn } from './receipts'\n\nexport interface CompaniesStoreState {\n [COMPANIES_STORE_STATE.COMPANIES]: Companies\n [COMPANIES_STORE_STATE.ACTIVE_COMPANY]: Company | undefined\n}\n\nexport enum COUNTRY_CODE {\n EE = 'EE',\n LV = 'LV',\n FI = 'FI',\n SE = 'SE',\n LT = 'LT',\n PL = 'PL'\n}\n\nexport enum PLAN_ID {\n PAY_AS_YOU_GO = '1',\n PAY_AS_YOU_GO_FREE_DEMO = '12',\n MY_PLAN = '2',\n DISCOUNT_PLAN = '7',\n SELF_SERVICE = '10',\n FIXED_PRICE_30 = '11',\n SELF_SERVICE_FREE_DEMO = '13',\n SELF_SERVICE_EXTENDED = '14',\n SELF_SERVICE_FREE_PLAN = '15'\n}\n\nexport interface CompanyRole {\n accountant: boolean\n companyId: number\n createdAt: string\n email?: string\n expectedEmail?: string\n firstName?: string\n id: number\n lang: string\n lastName?: string\n rolename: string\n state: string\n updatedAt: string\n userId?: number\n}\n\nexport interface Companies {\n [key: string]: Company\n}\n\nexport interface CompanySettings {\n alias?: string\n autoSubmitInboxDocuments?: boolean\n cardReportingInterval?: CARD_REPORTING_INTERVAL\n currencyAutoconversionEnabled?: boolean\n currencyAutoconversionMode?: string\n disableDistinctionCheck?: boolean\n disableSendingSingleDocuments?: boolean\n disableUserSelfJoin?: boolean\n enableApprovals?: boolean\n enableReports?: boolean\n requireExpenseConfirmation?: boolean\n requireReportConfirmation?: boolean\n usesCreditCardReports?: boolean\n usesCustomCostTypes?: boolean\n usesCustomPaymentMethods?: boolean\n 'xobjt:removeSubmitter'?: boolean\n cloudViewCustomization?: {\n itemColumnOrder?: ItemRowColumn[],\n extraDocumentFields?: EDITABLE_RECEIPT_KEY[]\n }\n appViewCustomization?: {\n extraDocumentFields?: EDITABLE_RECEIPT_KEY[]\n }\n}\n\nexport interface Company {\n VATAccountable: boolean\n VATNumber: any | null\n accountingContext: any\n activeFields: any[]\n address: string\n appsettings: any\n bankAccounts: any | null\n baseCurrency: string\n city: string\n companyRoles: CompanyRole[]\n country: string\n countryCode: string\n createdAt: Date\n dPreferences: any | null\n digitization: boolean\n digitizerCompanyId: number\n exid: any | null\n extraData: {\n billingEmail: string\n billingCompanyId: string | null\n }\n id: number\n legalEntityType: any | null\n metadata: any | null\n monthlyThreshold5Exceeded: boolean\n name: string\n planId: PRICING_PLAN\n planLimit: any | null\n postalCode: any | null\n receiptsThisMonthCount: string\n regCode: string\n settings: CompanySettings\n updatedAt: Date\n}\n","/**\n * Define helpers accessible from vue instances.\n */\n\n\"use strict\";\n\n/**\n * Make URL with pointers:\n * pointer to conf: (at)confparam\n * poiner to instance: $instancearg\n * pointer to url param: :urlparam\n * For example makeURL('@coreapi/companies/:companyId/receipts/$receiptId')\n * @param {String} urlString\n * @param {Array} [args]\n */\nexport function makeURL(url, args = []) {\n url = url.replace(/^@\\w+\\//, s => {\n var baseName = s.substr(1, s.length - 2)\n return this.$config.services[baseName].url + '/'\n })\n\n url = url.replace(/\\/:\\w+/g, s => {\n var param = s.substr(2)\n return '/' + this.$route.params[param]\n })\n\n url = url.replace(/\\/\\$\\w+/g, s => {\n var arg = s.substr(2)\n return '/' + this[arg]\n })\n\n return url\n}","import { Directive } from 'vue'\r\nimport striptags from 'striptags'\r\n\r\n// Gets rid of HTML injection vulnerability in input fields. Can be applied to input and textarea fields.\r\nconst sanitize: Directive = {\r\n beforeMount(el, binding) {\r\n if (['value', undefined, null].includes(binding.arg)) {\r\n el.addEventListener('input', () => {\r\n // Check if input field type is a string input (text) or textarea (textarea)\r\n if (el?.type === 'text' || el?.type === 'textarea') {\r\n el.value = striptags(el.value)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default sanitize\r\n","/* eslint-disable no-unused-vars */\nimport { makeURL } from '@/lib/vue-instance-helpers'\nimport { xstore } from '@/store'\nimport Axios from 'axios'\nimport Raven from 'raven-js'\nimport moment from 'moment'\nimport { Receipt } from '@/models'\nimport { CONFIG_STORE_MUTATIONS, CURRENCY, ERRROR_MESSAGES } from '@/enums'\nimport sanitize from '@ui/directives/sanitize'\nimport { App } from 'vue'\nimport type { Plugin as PluginType } from 'vue'\n\n//@ts-ignore\nfunction getUrl(url: string, basenames = Axios.defaults.__basenames, defaultIfMissing = 'https://api.costpocket.com') {\n return url.replace(/^@\\w+/, (string) => (basenames && basenames[string] ? basenames[string] : defaultIfMissing))\n}\n\ndeclare module '@vue/runtime-core' {\n interface ComponentCustomProperties {\n $moment: typeof moment\n $makeURL: typeof makeURL\n $getUrl: typeof getUrl\n $thumbnail: typeof thumbnail\n $approvalImg: typeof approvalImg\n $original: typeof original\n $pdf: typeof pdf\n $date: typeof date\n $setLoggingContext: typeof n\n $captureException: typeof setLoggingContext\n n: typeof captureException\n eh: typeof eh\n }\n}\n\nexport const thumbnail = ({ companyId, updatedAt, id }: Receipt) => {\n if (!companyId || !id) return\n return getUrl(\n `@coreapi/companies/${companyId}/receipts/${id}/attachments/preview?access_token=${localStorage.token}&cache=${\n updatedAt || ''\n }`\n )\n}\n\nexport const approvalImg = (\n companyId: number | string,\n receiptId: number | string,\n approvalId: number | string,\n fileType: 'pdf' | 'img'\n) => {\n if (!companyId || !receiptId || !approvalId || !fileType) return\n return getUrl(\n `@coreapi/companies/${companyId}/approvals/${approvalId}/doc/${receiptId}/attachment/${fileType}?access_token=${localStorage.token}`\n )\n}\n\nexport const original = ({ companyId, updatedAt, id }: Receipt, attachmentId: number) => {\n if (!companyId || !updatedAt || !id) return\n return getUrl(\n `@coreapi/companies/${companyId}/receipts/${id}/attachments/${attachmentId}?type=thumbnail&access_token=${localStorage.token}&cache=${updatedAt}`\n )\n}\n\nexport const pdf = ({ companyId, updatedAt, id }: Receipt, attachmentId: number) => {\n if (!companyId || !updatedAt || !id) return\n return getUrl(\n `@coreapi/companies/${companyId}/receipts/${id}/attachments/${attachmentId}?type=pdf&access_token=${localStorage.token}&cache=${updatedAt}`\n )\n}\n\nexport const date = (date: moment.MomentInput, format = 'DD.MM') => {\n return moment.utc(date).format(format)\n}\n\nexport const n = (num: any, currency: CURRENCY = CURRENCY.EUR, spacer = '') => {\n const target = {\n [CURRENCY.EUR]: '€',\n [CURRENCY.GBP]: '£',\n [CURRENCY.USD]: '$'\n }\n\n const sign = target[currency] || target[CURRENCY.EUR]\n\n return `${num}${spacer}${sign}`\n}\n\nexport const setLoggingContext = (context: any) => {\n if (context?.user?.id) {\n Raven.setUserContext({ id: context.user.id })\n }\n}\n\nexport const captureException = (error: unknown) => {\n Raven.captureException(error)\n}\n\nexport const eh = (error: any = {}) => {\n const error1 = ERRROR_MESSAGES[error?.response?.data?.codename as keyof typeof ERRROR_MESSAGES]\n const error2 = ERRROR_MESSAGES[error?.response?.data?.efException as keyof typeof ERRROR_MESSAGES]\n const error3 = ERRROR_MESSAGES[error?.efException as keyof typeof ERRROR_MESSAGES]\n const error4 = ERRROR_MESSAGES[error?.message as keyof typeof ERRROR_MESSAGES]\n const error5 = ERRROR_MESSAGES[error?.response?.data?.message as keyof typeof ERRROR_MESSAGES]\n const error6 = ERRROR_MESSAGES[error as keyof typeof ERRROR_MESSAGES]\n\n const errorFinal = error1 || error2 || error3 || error4 || error5 || error6 || false\n\n if (error?.response?.status === 403) {\n return 'isufficientAccessRights'\n } else if (error?.response?.data?.invalidFields?.[0]?.expected === 'Issued date must not be in the future!') {\n return 'issueDateNotInFuture'\n } else if (errorFinal) {\n return errorFinal\n } else if (error?.response?.data?.message) {\n return error.response.data.message\n } else if (error) {\n return error\n } else {\n return 'somethingWentWrong'\n }\n}\n\nconst Plugin: PluginType = (app: App, config: any) => {\n if (config) {\n xstore.commit(CONFIG_STORE_MUTATIONS.SET_CONFIG, config)\n }\n\n app.config.globalProperties.$moment = moment\n app.config.globalProperties.$makeURL = makeURL\n app.config.globalProperties.$getUrl = getUrl\n app.config.globalProperties.$thumbnail = thumbnail\n app.config.globalProperties.$approvalImg = approvalImg\n app.config.globalProperties.$original = original\n app.config.globalProperties.$pdf = pdf\n app.config.globalProperties.$date = date\n app.config.globalProperties.n = n\n app.config.globalProperties.$setLoggingContext = setLoggingContext\n app.config.globalProperties.$captureException = captureException\n app.config.globalProperties.eh = eh\n\n app.directive('sanitize', sanitize)\n\n app.mixin({\n methods: {\n $moment: moment,\n $makeURL: makeURL,\n $getUrl: getUrl,\n $thumbnail: thumbnail,\n $approvalImg: approvalImg,\n $original: original,\n $pdf: pdf,\n $date: date,\n $setLoggingContext: n,\n $captureException: setLoggingContext,\n n: captureException,\n eh: eh\n }\n })\n}\n\nexport default Plugin\n","import type { Plugin as PluginType } from 'vue'\nimport translations from '@/lib/l10n'\nimport store from '@/store'\n\nimport { handleError } from '@/lib/handler'\n\nimport { USERS_STORE_GETTERS } from '@/enums'\nimport { computed } from 'vue'\n\nexport function getLanguageISO3() {\n return store.getters[USERS_STORE_GETTERS.ACTIVE_USER]?.lang\n}\n\ndeclare module '@vue/runtime-core' {\n interface ComponentCustomProperties {\n t: TranslateFn\n }\n}\n\nexport type TranslateFn = (\n languageKey: string,\n params?: { [key: PropertyKey]: any },\n config?: { [key: PropertyKey]: any }\n) => string\n\nconst Plugin: PluginType = (app) => {\n const language = computed(() => {\n const stashUserLang = app.config.globalProperties?.$stash?.user?.lang\n const storeUserLang = getLanguageISO3()\n return stashUserLang || localStorage.language || storeUserLang || 'eng'\n })\n\n const t: TranslateFn = (languageKey, params = {}, config = {}) => {\n if (!languageKey) return ''\n\n // @ts-ignore\n let foundTranslation =\n // @ts-ignore \n translations[languageKey]?.[language.value] || translations[languageKey]?.eng || languageKey\n\n if (!foundTranslation) {\n handleError('Missing translation for key \"' + languageKey + '\"')\n\n return languageKey\n }\n\n if (params && foundTranslation) {\n Object.keys(params).forEach((key) => {\n foundTranslation = foundTranslation.replace('$' + key, params[key])\n })\n }\n\n return foundTranslation\n }\n\n app.config.globalProperties.t = t\n}\n\nexport default Plugin","import {\n InjectionKey\n} from 'vue'\n\nimport {\n Router\n} from 'vue-router'\n\nexport const routerLocationKey: InjectionKey = Symbol('ROUTER_KEY')","export default function getRandomId () {\n return Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 15)\n}\n","import Axios from 'axios'\nimport getRandomId from '@/lib/helpers/getRandomId'\n\nconst state = {\n activeRequests: {\n // global state shared by modules\n // example..\n // [randomId]: {\n // receiptId: receiptId,\n // companyId: companyId,\n // cancelToken: generatedToken,\n // caller: 'GET_OCR\n // }\n }\n}\n\nconst actions = {\n CANCEL_ACTIVE_REQUEST: (store, { target, ...identifiers }) => {\n const requestId = Object.keys(store.state.activeRequests).find((id) => {\n const request = store.state.activeRequests[id]\n const isRightCaller = request.caller === target\n const rightIdentifiers = Object.entries(identifiers).every(([key, value]) => request[key] === value)\n\n return isRightCaller && rightIdentifiers\n })\n\n if (requestId && store.state.activeRequests[requestId]?.cancelToken) {\n store.state.activeRequests[requestId].cancelToken.cancel('CANCEL_REQUEST')\n }\n\n store.commit('REMOVE_ACTIVE_REQUEST', {\n id: requestId\n })\n }\n}\n\nconst mutations = {\n /**\n * If id is not given, generate one\n * If cancelToken not given, generate one\n */\n SET_ACTIVE_REQUEST: (state, { id = getRandomId(), ...payload }) => {\n state.activeRequests[id] = payload\n\n // Just in case add canceltoken if not included\n if (!payload.cancelToken) {\n state.activeRequests[id].cancelToken = Axios.CancelToken.source()\n }\n },\n REMOVE_ACTIVE_REQUEST: (state, { id }) => {\n delete state.activeRequests[id]\n }\n}\n\nconst getters = {\n IS_PROCESS_ACTIVE:\n ({ activeRequests }) =>\n ({ target, ...identifiers }) => {\n return !!Object.values(activeRequests).find((targetRequest) => {\n const foundTarget = targetRequest.caller === target\n const allRightIdentifiers = Object.entries(identifiers).every(([identifierKey, identifierValue]) => {\n return targetRequest[identifierKey] === identifierValue\n })\n return foundTarget && allRightIdentifiers\n })\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import Axios from 'axios'\nimport prepareReceipts from '@/lib/preparereceipts'\nimport getQueryFromObj from '@/lib/helpers/getQueryFromObj'\nimport getRandomId from '@/lib/helpers/getRandomId'\nimport { massUpdate } from '@/lib/receipts'\n\nconst actions = {\n async GET_OCR(store, payload) {\n const { receiptId, companyId, timeout = 19000 } = payload\n\n const generatedToken = Axios.CancelToken.source()\n const requestId = getRandomId()\n\n store.commit(\n 'Requests/SET_ACTIVE_REQUEST',\n {\n id: requestId,\n receiptId: receiptId,\n companyId: companyId,\n cancelToken: generatedToken,\n caller: 'GET_OCR'\n },\n { root: true }\n )\n\n const ocrURL = `@coreapi/companies/${companyId}/receipts/${receiptId}/ocr?timeout=${timeout}`\n\n try {\n const { data } = await Axios.get(ocrURL, {\n cancelToken: generatedToken.token\n })\n\n return data\n } catch (error) {\n console.log(error)\n throw error\n // TODO: handle errors\n } finally {\n store.commit(\n 'Requests/REMOVE_ACTIVE_REQUEST',\n {\n id: requestId\n },\n { root: true }\n )\n }\n },\n async GET_OCRDATA(store, payload) {\n const { receiptId, companyId } = payload\n\n const generatedToken = Axios.CancelToken.source()\n const requestId = getRandomId()\n\n store.commit(\n 'Requests/SET_ACTIVE_REQUEST',\n {\n id: requestId,\n receiptId: receiptId,\n companyId: companyId,\n cancelToken: generatedToken,\n caller: 'GET_OCRDATA'\n },\n { root: true }\n )\n\n const ocrURL = `@coreapi/companies/${companyId}/receipts/${receiptId}/ocrdata`\n\n try {\n const { data } = await Axios.get(ocrURL, {\n cancelToken: generatedToken.token\n })\n\n return data\n } catch (error) {\n throw error\n // TODO: handle errors\n } finally {\n store.commit(\n 'Requests/REMOVE_ACTIVE_REQUEST',\n {\n id: requestId\n },\n { root: true }\n )\n }\n },\n async SEND_TO_OUTBOUND(store, payload) {\n const { receiptId, companyId, query = {} } = payload\n\n const queryPayload = getQueryFromObj(query)\n const generatedToken = Axios.CancelToken.source()\n const requestId = getRandomId()\n\n store.commit(\n 'Requests/SET_ACTIVE_REQUEST',\n {\n id: requestId,\n receiptId: receiptId,\n companyId: companyId,\n cancelToken: generatedToken,\n caller: 'SEND_TO_OUTBOUND'\n },\n { root: true }\n )\n\n const targetUrl = `@api/integrations/v1/send/${companyId}/document/${receiptId}?${queryPayload}`\n\n try {\n const { data } = await Axios.post(targetUrl, {\n cancelToken: generatedToken.token\n })\n\n if ('success' in data) {\n return data\n } else {\n // old format\n return data.result\n }\n } catch (error) {\n throw error\n // TODO: handle errors\n } finally {\n store.commit(\n 'Requests/REMOVE_ACTIVE_REQUEST',\n {\n id: requestId\n },\n { root: true }\n )\n }\n },\n async UPDATE_RECEIPT_DATA(store, payload) {\n const { receiptId, companyId, requestId = getRandomId(), config = {}, payload: receiptPayload = {} } = payload\n\n if (!companyId || !receiptId) {\n return\n }\n\n store.commit(\n 'Requests/SET_ACTIVE_REQUEST',\n {\n id: requestId,\n receiptId: receiptId,\n companyId: companyId,\n caller: 'UPDATE_RECEIPT_DATA'\n },\n { root: true }\n )\n\n const { disableLocalSave = false } = config\n\n try {\n const { data } = await massUpdate(companyId, receiptId, receiptPayload)\n if (disableLocalSave) {\n return data\n }\n\n store.commit('UPDATE_LOCAL_RECEIPT', { companyId, receiptId, payload: receiptPayload })\n return data\n } catch (error) {\n throw error\n // TODO: handle errors\n } finally {\n store.commit(\n 'Requests/REMOVE_ACTIVE_REQUEST',\n {\n id: requestId\n },\n { root: true }\n )\n }\n }\n}\n\nconst mutations = {\n UPDATE_LOCAL_RECEIPT(state, { companyId, receiptId, payload }) {\n try {\n const newReceiptData = {\n ...this.$stash.receipts[companyId][receiptId],\n ...payload\n }\n\n const prepared = prepareReceipts([newReceiptData])\n const preparedReceipt = prepared[receiptId]\n\n if (this.$stash.receipts[companyId]?.[receiptId] && preparedReceipt) {\n this.$stash.receipts[companyId][receiptId] = {\n ...this.$stash.receipts[companyId][receiptId],\n ...preparedReceipt\n }\n }\n } catch (error) {\n throw error\n }\n }\n}\n\nexport default {\n namespaced: true,\n actions,\n mutations,\n state: {},\n getters: {}\n}\n","import { AUTH_STORE_MUTAUTIONS } from '@/enums'\n\nexport default {\n [AUTH_STORE_MUTAUTIONS.SET_AUTH_RESPONSE]: (state: any, { token, user }: any = {}) => {\n localStorage.setItem('token', token)\n localStorage.setItem('user', JSON.stringify(user))\n localStorage.setItem('email', user?.email)\n localStorage.setItem('language', user?.lang || 'eng')\n }\n}","import { log } from '@/lib/log/index'\nimport * as Sentry from '@sentry/vue'\n\nexport default async function errorHandler (\n consoleMessage = '',\n payload = {},\n parameters = {}\n) {\n log(`@errorHandler - ${ consoleMessage }`, payload = {}, parameters = {})\n\n if (location.hostname !== 'localhost' && location.hostname !== '127.0.0.1'){\n Sentry.captureException(`@errorHandler - ${ consoleMessage } ${ JSON.stringify({payload, parameters}) }`)\n }\n}","import errorHandler from '@/lib/errorHandler'\n\nimport {\n AUTH_STORE_ACTIONS,\n AUTH_STORE_MUTAUTIONS\n} from '@/enums'\n\nimport Axios from 'axios'\n\nexport default {\n [AUTH_STORE_ACTIONS.GET_TOKEN_FROM_AUTH_CODE]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { code } = payload\n\n if (!code) {\n return\n }\n\n const { data = {} } = await Axios.post('@auth/api/v2/code', {\n grant_type: 'authorization_code',\n code\n })\n\n commit(AUTH_STORE_MUTAUTIONS.SET_AUTH_RESPONSE, data)\n\n return data\n } catch (error: any) {\n errorHandler('@GET_TOKEN_FROM_AUTH_CODE', error)\n }\n }\n}","import { AUTH_STORE_GETTERS } from '@/enums'\n\nexport default {\n [AUTH_STORE_GETTERS.IS_AUTHENTICATED]: () => {\n return !!window.localStorage.getItem('token')\n }\n}","import mutations from './auth.mutations'\nimport actions from './auth.actions'\nimport getters from './auth.getters'\n\nexport default {\n mutations,\n actions,\n getters,\n state: {}\n}\n","import { ACCOUNTING_STORE_STATE, ACCOUNTING_STORE_MUTATIONS } from '@/enums'\r\nimport { AccountingStoreState, AccountingRef, AccountingEntry } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_ENTRIES]: (\r\n state: AccountingStoreState,\r\n payload: { accountingEntries: AccountingEntry[]; receiptId: number }\r\n ) => {\r\n const { receiptId, accountingEntries } = payload\r\n\r\n if (!receiptId || !accountingEntries?.length) return\r\n\r\n state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_ENTRIES][receiptId] = accountingEntries\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_TRIP_ACCOUNTING_ENTRIES]: (\r\n state: AccountingStoreState,\r\n payload: { accountingEntries: AccountingEntry[]; tripId: number }\r\n ) => {\r\n const { tripId, accountingEntries } = payload\r\n\r\n if (!tripId || !accountingEntries?.length) return\r\n\r\n state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_ENTRIES][tripId] = accountingEntries\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_REFS]: (\r\n state: AccountingStoreState,\r\n payload: { receiptAccountingRefs?: Array; receiptId?: string | number } = {}\r\n ) => {\r\n const { receiptId, receiptAccountingRefs } = payload\r\n\r\n if (!receiptId || !receiptAccountingRefs) return\r\n\r\n if (!state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS][Number(receiptId)]) {\r\n state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS][Number(receiptId)] = {}\r\n }\r\n\r\n receiptAccountingRefs.forEach((accountingRef) => {\r\n if (accountingRef.id) {\r\n state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS][Number(receiptId)][accountingRef.id] = accountingRef\r\n }\r\n })\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_TRIP_ACCOUNTING_REFS]: (\r\n state: AccountingStoreState,\r\n payload: { tripAccountingRefs?: Array; tripId?: string | number } = {}\r\n ) => {\r\n const { tripId, tripAccountingRefs } = payload\r\n\r\n if (!tripId || !tripAccountingRefs) return\r\n\r\n if (!state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS][Number(tripId)]) {\r\n state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS][Number(tripId)] = {}\r\n }\r\n\r\n tripAccountingRefs.forEach((accountingRef) => {\r\n if (accountingRef.id) {\r\n state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS][Number(tripId)][accountingRef.id] = accountingRef\r\n }\r\n })\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.DELETE_RECEIPT_ACCOUNTING_REF]: (\r\n state: AccountingStoreState,\r\n payload: { accountingRefId: string | number; receiptId: string | number }\r\n ) => {\r\n const { receiptId, accountingRefId } = payload\r\n delete state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS][Number(receiptId)][Number(accountingRefId)]\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.DELETE_TRIP_ACCOUNTING_REF]: (\r\n state: AccountingStoreState,\r\n payload: { accountingRefId: string | number; tripId: string | number }\r\n ) => {\r\n const { tripId, accountingRefId } = payload\r\n delete state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS][Number(tripId)][Number(accountingRefId)]\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { ACCOUNTING_ENTRY_REFERENCE_TYPE, ACCOUNTING_STORE_ACTIONS, ACCOUNTING_STORE_MUTATIONS } from '@/enums'\r\nimport { AccountingEntry, AccountingRef } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_ACTIONS.GET_RECEIPT_ACCOUNTING_ENTRIES]: async (\r\n { commit }: any,\r\n payload: any\r\n ): Promise => {\r\n try {\r\n const { companyId, receiptId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/document/${receiptId}/entries`\r\n\r\n const { data: accountingEntries = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_ENTRIES, { accountingEntries, receiptId })\r\n\r\n return accountingEntries\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_TRIP_ACCOUNTING_ENTRIES]: async (\r\n { commit }: any,\r\n payload: any\r\n ): Promise => {\r\n try {\r\n const { companyId, tripId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/report/${tripId}/entries`\r\n\r\n const { data: accountingEntries = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_TRIP_ACCOUNTING_ENTRIES, { accountingEntries, tripId })\r\n\r\n // ALSO SORT AND SAVE TO STORE ACCOUNTS FOR EACH RECEIPT\r\n const sortedByReceiptIds: any = {}\r\n accountingEntries.forEach((accountingEntry: AccountingEntry) => {\r\n accountingEntry.references.forEach((reference) => {\r\n if (reference.type === ACCOUNTING_ENTRY_REFERENCE_TYPE.RECEIPT) {\r\n if (!sortedByReceiptIds[reference.id]) {\r\n sortedByReceiptIds[reference.id] = []\r\n }\r\n sortedByReceiptIds[reference.id].push(accountingEntry)\r\n }\r\n })\r\n })\r\n\r\n Object.keys(sortedByReceiptIds).forEach((receiptId) => {\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_ENTRIES, {\r\n accountingEntries: sortedByReceiptIds[receiptId],\r\n receiptId\r\n })\r\n })\r\n\r\n return accountingEntries\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_RECEIPT_ACCOUNTING_REFS]: async (\r\n { commit }: any,\r\n payload: any\r\n ): Promise => {\r\n try {\r\n const { companyId, receiptId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/refs?receiptId=${receiptId}`\r\n\r\n const { data: receiptAccountingRefs = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_REFS, { receiptAccountingRefs, receiptId })\r\n\r\n return receiptAccountingRefs\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_TRIP_ACCOUNTING_REFS]: async (\r\n { commit }: any,\r\n payload: any\r\n ): Promise => {\r\n try {\r\n const { companyId, tripId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/refs?tripId=${tripId}`\r\n\r\n const { data: tripAccountingRefs = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_TRIP_ACCOUNTING_REFS, { tripAccountingRefs, tripId })\r\n\r\n return tripAccountingRefs\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.UPDATE_ACCOUNTING_REF]: async ({ commit }: any, payload: any): Promise => {\r\n try {\r\n const { companyId, accountingObjectId, baseRefKey, baseRefId, options } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${accountingObjectId}/refs?${baseRefKey}=${baseRefId}`\r\n\r\n const { data: updatedRef = {} } = await Axios.put(url, options)\r\n\r\n if (baseRefKey === 'tripId') {\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_TRIP_ACCOUNTING_REFS, {\r\n tripAccountingRefs: [updatedRef],\r\n tripId: baseRefId\r\n })\r\n }\r\n\r\n if (baseRefKey === 'receiptId') {\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_RECEIPT_ACCOUNTING_REFS, {\r\n receiptAccountingRefs: [updatedRef],\r\n receiptId: baseRefId\r\n })\r\n }\r\n\r\n return updatedRef\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.DELETE_RECEIPT_ACCOUNTING_REF]: async ({ commit }: any, payload: any): Promise => {\r\n try {\r\n const { companyId, receiptId, accountingRef } = payload\r\n\r\n if (!accountingRef?.accounting?.id) return false\r\n\r\n const requestData = {\r\n data: {\r\n refType: accountingRef.refType,\r\n refId: accountingRef.refId\r\n }\r\n }\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${accountingRef.accounting.id}/refs?receiptId=${receiptId}`\r\n\r\n const { data } = await Axios.delete(url, requestData)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.DELETE_RECEIPT_ACCOUNTING_REF, { receiptId, accountingRefId: accountingRef.id })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.DELETE_TRIP_ACCOUNTING_REF]: async ({ commit }: any, payload: any): Promise => {\r\n try {\r\n const { companyId, tripId, accountingRef } = payload\r\n\r\n if (!accountingRef?.accounting?.id) return false\r\n\r\n const requestData = {\r\n data: {\r\n refType: accountingRef.refType,\r\n refId: accountingRef.refId\r\n }\r\n }\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${accountingRef.accounting.id}/refs?tripId=${tripId}`\r\n\r\n const { data } = await Axios.delete(url, requestData)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.DELETE_TRIP_ACCOUNTING_REF, { tripId, accountingRefId: accountingRef.id })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { ACCOUNTING_STORE_GETTERS, ACCOUNTING_STORE_STATE } from '@/enums'\r\nimport { AccountingStoreState } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_GETTERS.RECEIPT_ACCOUNTING_ENTRIES]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_ENTRIES]\r\n },\r\n [ACCOUNTING_STORE_GETTERS.TRIP_ACCOUNTING_ENTRIES]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_ENTRIES]\r\n },\r\n [ACCOUNTING_STORE_GETTERS.RECEIPT_ACCOUNTING_REFS]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS]\r\n },\r\n [ACCOUNTING_STORE_GETTERS.TRIP_ACCOUNTING_REFS]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS]\r\n }\r\n}","import { ACCOUNTING_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_ENTRIES]: {},\r\n [ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_ENTRIES]: {},\r\n [ACCOUNTING_STORE_STATE.RECEIPT_ACCOUNTING_REFS]: {},\r\n [ACCOUNTING_STORE_STATE.TRIP_ACCOUNTING_REFS]: {}\r\n}","import mutations from './accounting.mutations'\r\nimport actions from './accounting.actions'\r\nimport getters from './accounting.getters'\r\nimport state from './accounting.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { sortBy, cloneDeep } from 'lodash-es'\r\nimport { ACCOUNTING_STORE_STATE, ACCOUNTING_STORE_MUTATIONS } from '@/enums'\r\nimport { AccountingStoreState, AccountingRef, AccountingObject, AutoaccountingRule } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_MUTATIONS.SET_AUTOACCOUNTING_RULES]: (\r\n state: AccountingStoreState,\r\n payload: { companyId?: string | number; autoaccountingRules: AutoaccountingRule[] }\r\n ) => {\r\n const { companyId, autoaccountingRules } = payload\r\n\r\n if (!companyId) return\r\n\r\n state[ACCOUNTING_STORE_STATE.AUTOACCOUNTING_RULES][companyId] = autoaccountingRules\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECTS]: (\r\n state: AccountingStoreState,\r\n payload: { accountingObjects?: Array; companyId?: string | number } = {}\r\n ) => {\r\n const { companyId, accountingObjects } = payload\r\n\r\n if (!companyId || !accountingObjects?.length) return\r\n\r\n const sortedObjects = sortBy(accountingObjects, [(item: AccountingObject) => item.value])\r\n\r\n state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS][Number(companyId)] = sortedObjects\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECT]: (\r\n state: AccountingStoreState,\r\n payload: { accountingObject: AccountingObject; companyId?: string | number }\r\n ) => {\r\n const { companyId, accountingObject } = payload\r\n\r\n if (!companyId || !accountingObject?.id) return\r\n\r\n let currentState: AccountingObject[] = cloneDeep(\r\n state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS][Number(companyId)] || []\r\n )\r\n\r\n const existingEntryIndex = currentState?.findIndex((oneObject) => {\r\n return oneObject.id === accountingObject.id\r\n })\r\n\r\n if (existingEntryIndex > -1) {\r\n currentState[existingEntryIndex] = accountingObject\r\n } else {\r\n currentState.push(accountingObject)\r\n }\r\n\r\n const sortedObjects = sortBy(currentState, [(item: AccountingObject) => item.value])\r\n\r\n state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS] = {\r\n ...state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS],\r\n [Number(companyId)]: sortedObjects\r\n }\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.DELETE_ACCOUNTING_OBJECT]: (\r\n state: AccountingStoreState,\r\n payload: { accountingObjectId: string | number; companyId?: string | number }\r\n ) => {\r\n const { companyId, accountingObjectId } = payload\r\n\r\n if (!companyId || !accountingObjectId) return\r\n\r\n const existingEntryIndex = state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS][Number(companyId)]?.findIndex(\r\n (oneObject) => {\r\n return oneObject.id === Number(accountingObjectId)\r\n }\r\n )\r\n\r\n if (existingEntryIndex > -1) {\r\n delete state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS][Number(companyId)][existingEntryIndex]\r\n }\r\n },\r\n [ACCOUNTING_STORE_MUTATIONS.SET_MANAGED_REFS]: (\r\n state: AccountingStoreState,\r\n payload: {\r\n companyId: string | number\r\n managedRefs: Array\r\n }\r\n ) => {\r\n const { companyId, managedRefs = [] } = payload\r\n if (!companyId) return\r\n if (!state[ACCOUNTING_STORE_STATE.MANAGED_REFS][companyId]) {\r\n state[ACCOUNTING_STORE_STATE.MANAGED_REFS][companyId] = {}\r\n }\r\n managedRefs.forEach((accountingRef) => {\r\n if (accountingRef.id) {\r\n state[ACCOUNTING_STORE_STATE.MANAGED_REFS][companyId][accountingRef.id] = accountingRef\r\n }\r\n })\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport {\r\n ACCOUNTING_OBJECT_TYPE,\r\n ACCOUNTING_STORE_ACTIONS,\r\n ACCOUNTING_STORE_MUTATIONS,\r\n CONFIG_STORE_GETTERS,\r\n INTEGRATION,\r\n INTEGRATIONS_STORE_MUTATIONS\r\n} from '@/enums'\r\nimport { AccountingObject, AccountingRef, AutoaccountingRule, Integration } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_ACTIONS.ENABLE_AUTOACCOUNTING]: async (\r\n {},\r\n payload: {\r\n companyId: string | number\r\n integrationId: INTEGRATION\r\n enable: boolean\r\n }\r\n ): Promise => {\r\n try {\r\n const { companyId, integrationId, enable } = payload\r\n\r\n const { data } = await Axios.post(`@api/integrations/v2/accounting/${companyId}/${integrationId}/automation`, {\r\n enable\r\n })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_AUTOMATION_RULES]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; integrationId: INTEGRATION }\r\n ): Promise => {\r\n try {\r\n const { companyId, integrationId } = payload\r\n\r\n const { data: autoaccountingRules } = await Axios.get(\r\n `@api/integrations/v2/accounting/${companyId}/${integrationId}/automation/rules`\r\n )\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_AUTOACCOUNTING_RULES, { companyId, autoaccountingRules })\r\n\r\n return autoaccountingRules\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.UPDATE_AUTOMATION_RULES]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; integrationId: INTEGRATION; updatedRules: AutoaccountingRule[] }\r\n ): Promise => {\r\n //POST /integrations/v2/accounting/{companyId}/{integrationId}/automation/rules.\r\n try {\r\n const { companyId, integrationId, updatedRules } = payload\r\n\r\n const { data: autoaccountingRules } = await Axios.post(\r\n `@api/integrations/v2/accounting/${companyId}/${integrationId}/automation/rules`,\r\n updatedRules\r\n )\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_AUTOACCOUNTING_RULES, { companyId, autoaccountingRules })\r\n\r\n return autoaccountingRules\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_ACCOUNTING_OBJECTS]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; accountingContextSyncEnabled: boolean; integrationId: INTEGRATION }\r\n ): Promise => {\r\n try {\r\n const { companyId, accountingContextSyncEnabled, integrationId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${\r\n accountingContextSyncEnabled ? `${integrationId || '-'}` : '-'\r\n }`\r\n\r\n const { data: accountingObjects = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECTS, { accountingObjects, companyId })\r\n\r\n return accountingObjects\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.CREATE_ACCOUNTING_OBJECT]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; newAccountingObject: AccountingObject }\r\n ): Promise => {\r\n try {\r\n const { companyId, newAccountingObject } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting`\r\n\r\n if (!newAccountingObject.subtype) {\r\n delete newAccountingObject.subtype\r\n }\r\n\r\n const { data: accountingObject } = await Axios.post(url, newAccountingObject)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECT, { companyId, accountingObject })\r\n\r\n return accountingObject\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.UPDATE_ACCOUNTING_OBJECT]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; updatedAccountingObject: AccountingObject }\r\n ): Promise => {\r\n try {\r\n const { companyId, updatedAccountingObject } = payload\r\n\r\n const accountingObjectId = updatedAccountingObject.id\r\n\r\n delete updatedAccountingObject.id\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${accountingObjectId}`\r\n\r\n const { data: accountingObject } = await Axios.put(url, updatedAccountingObject)\r\n\r\n delete accountingObject.companyId\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECT, { companyId, accountingObject })\r\n\r\n return accountingObject\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.DELETE_ACCOUNTING_OBJECT]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; accountingObjectId: string | number }\r\n ): Promise => {\r\n try {\r\n const { companyId, accountingObjectId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/${accountingObjectId}`\r\n\r\n const { data } = await Axios.delete(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.DELETE_ACCOUNTING_OBJECT, { companyId, accountingObjectId })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.UPDATE_ACCOUNTING_CONFIG]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; updatedConfig: Integration['configuration']; integration: Integration }\r\n ): Promise => {\r\n const { companyId, updatedConfig, integration } = payload\r\n\r\n const url = `@api/integrations/v2/accounting/${companyId}/${integration.id}`\r\n\r\n const { data: updatedIntegration } = await Axios.post(url, updatedConfig)\r\n\r\n commit(INTEGRATIONS_STORE_MUTATIONS.SET_ACTIVE_INTEGRATION, {\r\n ...integration,\r\n configuration: {\r\n ...integration.configuration,\r\n accountingFields: updatedIntegration.configuration.accountingFields\r\n }\r\n })\r\n\r\n return updatedIntegration\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.GET_MANAGED_REFS]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number }\r\n ): Promise => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const url = `@coreapi/companies/${companyId}/accounting/refs/managed`\r\n\r\n const { data: managedRefs = [] } = await Axios.get(url)\r\n\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_MANAGED_REFS, { companyId, managedRefs })\r\n\r\n return managedRefs\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.DOWNLOAD_CONTEXT_TEMPLATE]: async (\r\n { getters }: any,\r\n payload: {\r\n companyId: string | number\r\n integrationId: INTEGRATION\r\n lang?: string\r\n }\r\n ): Promise => {\r\n try {\r\n const { companyId, integrationId, lang = 'eng' } = payload\r\n\r\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\r\n\r\n const token = localStorage.token\r\n\r\n const url = `${services.api.url}/integrations/v2/accounting/${companyId}/${integrationId}/context/csv/template?lang=${lang}&access_token=${token}`\r\n\r\n window.open(url, '_blank')\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [ACCOUNTING_STORE_ACTIONS.UPDATE_CONTEXT_FROM_CSV]: async (\r\n { commit, getters }: any,\r\n payload: {\r\n companyId: string | number\r\n integrationId: INTEGRATION\r\n accountingObjectType: ACCOUNTING_OBJECT_TYPE\r\n csvContent: string\r\n }\r\n ): Promise => {\r\n try {\r\n const { companyId, integrationId, accountingObjectType, csvContent } = payload\r\n\r\n const url = `@api/integrations/v2/accounting/${companyId}/${integrationId}/context/csv/${accountingObjectType}`\r\n\r\n const { data: accountingObjects = [] }: { data: AccountingObject[] } = await Axios.post(url, {\r\n csv: csvContent\r\n })\r\n\r\n accountingObjects.forEach((accountingObject) => {\r\n commit(ACCOUNTING_STORE_MUTATIONS.SET_ACCOUNTING_OBJECT, { companyId, accountingObject })\r\n })\r\n\r\n return accountingObjects\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { ACCOUNTING_STORE_GETTERS, ACCOUNTING_STORE_STATE } from '@/enums'\r\nimport { AccountingStoreState } from '@/models'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_GETTERS.ACCOUNTING_OBJECTS]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS]\r\n },\r\n [ACCOUNTING_STORE_GETTERS.AUTOACCOUNTING_RULES]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.AUTOACCOUNTING_RULES]\r\n },\r\n [ACCOUNTING_STORE_GETTERS.MANAGED_REFS]: (state: AccountingStoreState) => {\r\n return state[ACCOUNTING_STORE_STATE.MANAGED_REFS]\r\n }\r\n}\r\n","import { ACCOUNTING_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [ACCOUNTING_STORE_STATE.ACCOUNTING_OBJECTS]: {},\r\n [ACCOUNTING_STORE_STATE.AUTOACCOUNTING_RULES]: {},\r\n [ACCOUNTING_STORE_STATE.MANAGED_REFS]: {}\r\n}\r\n","import mutations from './accounting-settings.mutations'\r\nimport actions from './accounting-settings.actions'\r\nimport getters from './accounting-settings.getters'\r\nimport state from './accounting-settings.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { APPROVALS_STORE_MUTATIONS, APPROVALS_STORE_STATE } from '@/enums'\r\nimport { ApprovalsStoreState, ApprovalItem, SelectOptions } from '@/models'\r\nimport { useHelpers } from '@/composables'\r\n\r\nexport default {\r\n [APPROVALS_STORE_MUTATIONS.SET_APPROVAL]: (state: ApprovalsStoreState, payload: any) => {\r\n const { companyId, approval }: { companyId: string | number; approval: ApprovalItem } = payload\r\n const { updateObject } = useHelpers()\r\n\r\n if (!state[APPROVALS_STORE_STATE.APPROVALS][companyId]) {\r\n state[APPROVALS_STORE_STATE.APPROVALS][companyId] = {}\r\n }\r\n\r\n const initialApproval = state[APPROVALS_STORE_STATE.APPROVALS][companyId][approval.id]\r\n if (initialApproval) {\r\n state[APPROVALS_STORE_STATE.APPROVALS][companyId][approval.id] = updateObject(initialApproval, approval)\r\n } else {\r\n state[APPROVALS_STORE_STATE.APPROVALS][companyId][approval.id] = approval\r\n }\r\n },\r\n [APPROVALS_STORE_MUTATIONS.SET_APPROVALS]: (state: ApprovalsStoreState, payload: any) => {\r\n const { companyId, approvals = [] }: { companyId: string | number; approvals: ApprovalItem[] } = payload\r\n\r\n if (!companyId) return\r\n\r\n if (!state[APPROVALS_STORE_STATE.APPROVALS][companyId]) {\r\n state[APPROVALS_STORE_STATE.APPROVALS][companyId] = {}\r\n }\r\n\r\n approvals.forEach((approval) => {\r\n state[APPROVALS_STORE_STATE.APPROVALS][companyId][approval.id] = approval\r\n })\r\n },\r\n [APPROVALS_STORE_MUTATIONS.DELETE_APPROVAL]: (state: ApprovalsStoreState, payload: any) => {\r\n const { companyId, approvalId }: { companyId: string | number; approvalId: string | number } = payload\r\n\r\n delete state[APPROVALS_STORE_STATE.APPROVALS][companyId][approvalId]\r\n },\r\n [APPROVALS_STORE_MUTATIONS.SET_APPROVER_OPTIONS]: (state: ApprovalsStoreState, payload: any) => {\r\n const { companyId, assignableApprovers } = payload\r\n\r\n const approverOptions: SelectOptions[] = []\r\n if (assignableApprovers && assignableApprovers.length > 0) {\r\n let assignable = assignableApprovers.map((approver: any) => {\r\n return { title: approver.fullName || '-', extraInfo: approver.email || '-', value: approver.id }\r\n })\r\n\r\n assignable.forEach((approver: any) => {\r\n let found = approverOptions.find((option: any) => option.value === approver.value)\r\n if (!found) {\r\n approverOptions.push(approver)\r\n }\r\n })\r\n }\r\n\r\n state[APPROVALS_STORE_STATE.APPROVERS][companyId] = approverOptions\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { APPROVAL_STATE, APPROVALS_STORE_ACTIONS, APPROVALS_STORE_MUTATIONS } from '@/enums'\r\nimport { ApprovalItem } from '@/models'\r\n\r\nexport default {\r\n [APPROVALS_STORE_ACTIONS.GET_ALL_APPROVALS]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; isAdmin: boolean; statuses?: APPROVAL_STATE[] }\r\n ): Promise => {\r\n try {\r\n const { companyId, isAdmin, statuses = [] } = payload\r\n\r\n let url = `@coreapi/companies/${companyId}/approvals${isAdmin ? '/all' : ''}?include_mileage=true`\r\n\r\n if (statuses.length) {\r\n url = `${url}&state=${statuses.join(',')}`\r\n }\r\n\r\n const { data: approvals = [] } = await Axios.get(url)\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVALS, { companyId, approvals })\r\n\r\n return approvals\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.GET_APPROVAL]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; approvalId: string | number }\r\n ): Promise => {\r\n try {\r\n const { companyId, approvalId } = payload\r\n\r\n const { data: approval = {} } = await Axios.get(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}?include_mileage=true`\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.GET_TRIP_APPROVAL]: async ({ commit }: any, payload: any): Promise => {\r\n try {\r\n const { companyId, tripId } = payload\r\n\r\n const { data: approval = {} } = await Axios.get(`@coreapi/companies/${companyId}/approvals/report/${tripId}`)\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.GET_RECEIPT_APPROVAL]: async ({ commit }: any, payload: any): Promise => {\r\n try {\r\n const { companyId, receiptId } = payload\r\n\r\n const { data: approval = {} } = await Axios.get(`@coreapi/companies/${companyId}/approvals/doc/${receiptId}`)\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.GET_APPROVER_OPTIONS]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data = {} } = await Axios.get(`@coreapi/companies/${companyId}/approvals/options`)\r\n \r\n const { assignableApprovers = [] } = data\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVER_OPTIONS, { companyId, assignableApprovers })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.APPROVE]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, decisionId, reason } = payload\r\n\r\n const { data: approval = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions/${decisionId}/approve`,\r\n { reason }\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.REJECT]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, decisionId, payloadData } = payload\r\n\r\n const { data: approval = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions/${decisionId}/reject`,\r\n payloadData\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.APPEND]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, decisionId, payloadData } = payload\r\n\r\n const { data: approval = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions/${decisionId}/append`,\r\n payloadData\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.DELEGATE]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, decisionId, payloadData } = payload\r\n\r\n const { data: approval = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions/${decisionId}/delegate`,\r\n payloadData\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.ADD_DECISION]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, payloadData } = payload\r\n\r\n const { data: approval = {} } = await Axios.post(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions`,\r\n payloadData\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.DELETE_DECISION]: async ({ commit, dispatch }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId, decisionId } = payload\r\n\r\n const { data: approval = {} } = await Axios.delete(\r\n `@coreapi/companies/${companyId}/approvals/${approvalId}/decisions/${decisionId}`\r\n )\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.SET_APPROVAL, { companyId, approval })\r\n\r\n return approval\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVALS_STORE_ACTIONS.DELETE_APPROVAL]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, approvalId } = payload\r\n\r\n const { data = {} } = await Axios.delete(`@coreapi/companies/${companyId}/approvals/${approvalId}`)\r\n\r\n commit(APPROVALS_STORE_MUTATIONS.DELETE_APPROVAL, { companyId, approvalId })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { APPROVALS_STORE_GETTERS, APPROVALS_STORE_STATE } from '@/enums'\r\nimport { ApprovalsStoreState } from '@/models'\r\n\r\nexport default {\r\n [APPROVALS_STORE_GETTERS.APPROVALS]: (state: ApprovalsStoreState) => {\r\n return state[APPROVALS_STORE_STATE.APPROVALS]\r\n },\r\n [APPROVALS_STORE_GETTERS.APPROVER_OPTIONS]: (state: ApprovalsStoreState) => (companyId: string | number) => {\r\n return state[APPROVALS_STORE_STATE.APPROVERS][companyId] \r\n }\r\n}\r\n","import { APPROVALS_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [APPROVALS_STORE_STATE.APPROVALS]: {},\r\n [APPROVALS_STORE_STATE.APPROVERS]: {}\r\n}\r\n","import mutations from './approvals.mutations'\r\nimport actions from './approvals.actions'\r\nimport getters from './approvals.getters'\r\nimport state from './approvals.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { cloneDeep } from 'lodash-es'\r\nimport { APPROVAL_SETTINGS_STORE_MUTATIONS, APPROVAL_SETTINGS_STORE_STATE, APPROVAL_SCOPE } from '@/enums'\r\nimport { ApprovalSettingsStoreState, Workflow, Policy, Round } from '@/models'\r\n\r\nexport default {\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_WORKFLOWS]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, workflows } = payload\r\n\r\n workflows.forEach((workflow: Workflow) => {\r\n if (!state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId]) {\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId] = {}\r\n }\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflow.id] = workflow\r\n })\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_WORKFLOW]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, workflow } = payload\r\n\r\n if (!state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId]) {\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId] = {}\r\n }\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflow.id] = workflow\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_WORKFLOW_VALUE]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, workflowId, values } = payload\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId] = {\r\n ...state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId],\r\n ...values\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_POLICIES]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, policies } = payload\r\n\r\n policies.forEach((policy: Policy) => {\r\n if (!state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId]) {\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId] = {}\r\n }\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId][policy.id] = policy\r\n })\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_OPTIONS]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, options } = payload\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_OPTIONS][companyId] = options\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_POLICY]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, policy, workflowId, roundId, scope } = payload\r\n // UPDATE WORKFLOW POLICIES\r\n if (scope === APPROVAL_SCOPE.WORKFLOW && workflowId) {\r\n const policies = state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId]?.policies || []\r\n\r\n const filteredPolicies = policies?.filter((existingPolicy: Policy) => existingPolicy.id !== policy.id) || []\r\n\r\n filteredPolicies.push(policy)\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId] = {\r\n ...state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId],\r\n policies: filteredPolicies\r\n }\r\n // UPDATE ROUND POLICIES\r\n } else if (scope === APPROVAL_SCOPE.ROUND && workflowId && roundId) {\r\n const currentRound = state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId]?.rounds?.find(\r\n ({ id }) => Number(id) === Number(roundId)\r\n )\r\n\r\n if (currentRound) {\r\n const updatedRound: Round = cloneDeep(currentRound)\r\n\r\n const policyExists = updatedRound?.policies?.find(({ policyKey}) => policyKey === policy.policyKey)\r\n if (policyExists) {\r\n updatedRound.policies = updatedRound?.policies?.map((existingPolicy) => {\r\n return existingPolicy.policyKey === policy.policyKey ? policy : existingPolicy\r\n })\r\n } else {\r\n if (!updatedRound.policies) updatedRound.policies = []\r\n updatedRound.policies?.push(policy)\r\n }\r\n\r\n const updatedRounds = state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][\r\n workflowId\r\n ]?.rounds?.map((round) => {\r\n return round.id === Number(roundId) ? updatedRound : round\r\n })\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId] = {\r\n ...state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId],\r\n rounds: updatedRounds\r\n }\r\n }\r\n // UPDATE COMPANY POLICIES\r\n } else {\r\n if (!state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId]) {\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId] = {}\r\n }\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId][policy.id] = policy\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_ROUND]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, workflowId, round } = payload\r\n\r\n state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId] = {\r\n ...state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId],\r\n rounds: [...(state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId]?.rounds || []), round]\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.DELETE_WORKFLOW]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, workflowId } = payload\r\n\r\n delete state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS][companyId][workflowId]\r\n },\r\n [APPROVAL_SETTINGS_STORE_MUTATIONS.DELETE_POLICY]: (state: ApprovalSettingsStoreState, payload: any) => {\r\n const { companyId, policyId, scope } = payload\r\n\r\n if (scope === APPROVAL_SCOPE.COMPANY) {\r\n delete state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES][companyId][policyId]\r\n }\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { APPROVAL_SETTINGS_STORE_ACTIONS, APPROVAL_SETTINGS_STORE_MUTATIONS } from '@/enums'\r\n\r\nexport default {\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.GET_WORKFLOWS]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: workflows = [] } = await Axios.get(`@coreapi/companies/${companyId}/approvals/workflows`)\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_WORKFLOWS, { workflows, companyId })\r\n\r\n return workflows\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.GET_WORKFLOW]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId } = payload\r\n\r\n const { data: workflow = {} } = await Axios.get(\r\n `@coreapi/companies/${companyId}/approvals/workflows/${workflowId}`\r\n )\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_WORKFLOW, { workflow, companyId })\r\n\r\n return workflow\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.UPDATE_WORKFLOW]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId, workflowPayload } = payload\r\n\r\n const { data: workflow = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/approvals/workflows/${workflowId}`,\r\n workflowPayload\r\n )\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_WORKFLOW_VALUE, { workflowId, companyId, values: workflowPayload })\r\n\r\n return workflow\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.GET_POLICIES]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: policies = [] } = await Axios.get(`@coreapi/companies/${companyId}/approvals/workflows/policies`)\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_POLICIES, { policies, companyId })\r\n\r\n return policies\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.GET_APPROVAL_OPTIONS]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: options = [] } = await Axios.get(`@coreapi/companies/${companyId}/approvals/workflows/options`)\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_OPTIONS, { options, companyId })\r\n\r\n return options\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.CREATE_WORKFLOW]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, newWorkflowPayload } = payload\r\n\r\n const { data: workflow = {} } = await Axios.post(`@coreapi/companies/${companyId}/approvals/workflows`, newWorkflowPayload)\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_WORKFLOW, { companyId, workflow })\r\n\r\n return workflow\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.CREATE_POLICY]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, newPolicy, url, workflowId, roundId, scope } = payload\r\n\r\n const { data: policy = {} } = await Axios.post(url, newPolicy)\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_POLICY, { policy, companyId, workflowId, roundId, scope })\r\n\r\n return policy\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.CREATE_ROUND]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId } = payload\r\n\r\n const { data: round = {} } = await Axios.post(\r\n `@coreapi/companies/${companyId}/approvals/workflows/${workflowId}/rounds`,\r\n {}\r\n )\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.SET_APPROVAL_ROUND, { companyId, workflowId, round })\r\n\r\n return round\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.ADD_ROUND_APPROVER]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId, roundId, approverPayload } = payload\r\n\r\n const { data = {} } = await Axios.post(\r\n `@coreapi/companies/${companyId}/approvals/workflows/${workflowId}/rounds/${roundId}/approvers`,\r\n approverPayload\r\n )\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.DELETE_ROUND_APPROVER]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId, roundId, approverId } = payload\r\n\r\n await Axios.delete(\r\n `@coreapi/companies/${companyId}/approvals/workflows/${workflowId}/rounds/${roundId}/approvers/${approverId}`\r\n )\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.DELETE_ROUND]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId, roundId } = payload\r\n\r\n await Axios.delete(`@coreapi/companies/${companyId}/approvals/workflows/${workflowId}/rounds/${roundId}`)\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.DELETE_TARGET]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId, targetId } = payload\r\n\r\n await Axios.delete(`@coreapi/companies/${companyId}/approvals/workflows/${workflowId}/targets/${targetId}`)\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.DELETE_WORKFLOW]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, workflowId } = payload\r\n\r\n await Axios.delete(`@coreapi/companies/${companyId}/approvals/workflows/${workflowId}`)\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.DELETE_WORKFLOW, { companyId, workflowId })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [APPROVAL_SETTINGS_STORE_ACTIONS.DELETE_POLICY]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { url, scope, policyKey, companyId, policyId } = payload\r\n\r\n await Axios.delete(url, { data: { policyKey }})\r\n\r\n commit(APPROVAL_SETTINGS_STORE_MUTATIONS.DELETE_POLICY, { scope, companyId, policyId })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { APPROVAL_SETTINGS_STORE_GETTERS, APPROVAL_SETTINGS_STORE_STATE } from '@/enums'\r\nimport { ApprovalSettingsStoreState } from '@/models'\r\n\r\nexport default {\r\n [APPROVAL_SETTINGS_STORE_GETTERS.APPROVAL_WORKFLOWS]: (state: ApprovalSettingsStoreState) => {\r\n return state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS]\r\n },\r\n [APPROVAL_SETTINGS_STORE_GETTERS.APPROVAL_POLICIES]: (state: ApprovalSettingsStoreState) => {\r\n return state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES]\r\n },\r\n [APPROVAL_SETTINGS_STORE_GETTERS.APPROVAL_OPTIONS]: (state: ApprovalSettingsStoreState) => {\r\n return state[APPROVAL_SETTINGS_STORE_STATE.APPROVAL_OPTIONS]\r\n }\r\n}\r\n","import { APPROVAL_SETTINGS_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [APPROVAL_SETTINGS_STORE_STATE.APPROVAL_WORKFLOWS]: {},\r\n [APPROVAL_SETTINGS_STORE_STATE.APPROVAL_POLICIES]: {},\r\n [APPROVAL_SETTINGS_STORE_STATE.APPROVAL_OPTIONS]: {}\r\n}\r\n","import mutations from './approval-settings.mutations'\r\nimport actions from './approval-settings.actions'\r\nimport getters from './approval-settings.getters'\r\nimport state from './approval-settings.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import {\n CONFIG_STORE_MUTATIONS,\n CONFIG_STORE_STATE,\n} from '@/enums'\n\nimport {\n ConfigStoreState\n} from '@/models'\n\nexport default {\n [CONFIG_STORE_MUTATIONS.SET_CONFIG]: (state: ConfigStoreState, config: any) => {\n state[CONFIG_STORE_STATE.CONFIG] = config\n }\n}","import {\n CONFIG_STORE_ACTIONS,\n CONFIG_STORE_MUTATIONS\n} from '@/enums'\n\nimport axios from 'axios'\n\nexport default {\n [CONFIG_STORE_ACTIONS.LOAD_CONFIG]: async ({ commit, ...rest }: any) => {\n const { data: config } = await axios.get('/config.json', {})\n commit(CONFIG_STORE_MUTATIONS.SET_CONFIG, config)\n\n return config\n }\n}","import {\n CONFIG_STORE_GETTERS,\n CONFIG_STORE_STATE,\n} from '@/enums'\n\nimport {\n ConfigStoreState\n} from '@/models'\n\nexport default {\n [CONFIG_STORE_GETTERS.CONFIG]: (state: ConfigStoreState) => {\n return state[CONFIG_STORE_STATE.CONFIG]\n },\n [CONFIG_STORE_GETTERS.IS_CONFIG_LOADED]: (state: ConfigStoreState) => {\n return !!state[CONFIG_STORE_STATE.CONFIG]\n }\n}","import {\n CONFIG_STORE_STATE\n} from '@/enums'\n\nexport default {\n [CONFIG_STORE_STATE.CONFIG]: undefined\n}","import mutations from './config.mutations'\nimport actions from './config.actions'\nimport getters from './config.getters'\nimport state from './config.state'\n\nexport default {\n mutations,\n actions,\n getters,\n state\n}\n","import { COST_TYPES_STORE_MUTATIONS, COST_TYPES_STORE_STATE } from '@/enums'\r\nimport { ReceiptsStoreState, ExpenseType } from '@/models'\r\n\r\nexport default {\r\n [COST_TYPES_STORE_MUTATIONS.SET_EXPENSE_TYPES]: (state: ReceiptsStoreState, expenseTypes: ExpenseType[]) => {\r\n if (!Array.isArray(expenseTypes)) return\r\n state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] = expenseTypes\r\n },\r\n [COST_TYPES_STORE_MUTATIONS.SET_EXPENSE_TYPE]: (state: ReceiptsStoreState, updatedExpenseType: ExpenseType) => {\r\n if (updatedExpenseType.parentId) {\r\n const parentExpenseType = (state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []).find((existingExpenseType) => {\r\n return existingExpenseType.id === updatedExpenseType.parentId\r\n })\r\n const existingSubTypeIndex = (parentExpenseType?.subgroup || []).findIndex(\r\n (subType) => subType.id === updatedExpenseType.id\r\n )\r\n if (parentExpenseType?.subgroup && existingSubTypeIndex > -1) {\r\n parentExpenseType.subgroup[existingSubTypeIndex] = {\r\n ...parentExpenseType.subgroup[existingSubTypeIndex],\r\n ...updatedExpenseType\r\n }\r\n } else if (parentExpenseType?.subgroup) {\r\n parentExpenseType.subgroup.push(updatedExpenseType)\r\n } else if (parentExpenseType) {\r\n parentExpenseType.subgroup = [updatedExpenseType]\r\n }\r\n const expenseTypes = (state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []).map((existingExpenseType) => {\r\n return existingExpenseType.id === parentExpenseType?.id ? parentExpenseType : existingExpenseType\r\n })\r\n state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] = expenseTypes\r\n } else {\r\n const expenseTypes = (state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []).map((existingExpenseType) => {\r\n return Number(existingExpenseType.id) === Number(updatedExpenseType.id)\r\n ? {\r\n ...existingExpenseType,\r\n ...updatedExpenseType\r\n }\r\n : existingExpenseType\r\n })\r\n state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] = expenseTypes\r\n }\r\n },\r\n [COST_TYPES_STORE_MUTATIONS.DELETE_EXPENSE_TYPE]: (state: ReceiptsStoreState, expenseTypeId: string | number) => {\r\n const expenseTypes = (state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []).filter((expenseType) => {\r\n return Number(expenseTypeId) !== Number(expenseType.id)\r\n })\r\n state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] = expenseTypes\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { COST_TYPES_STORE_MUTATIONS, COST_TYPES_STORE_ACTIONS } from '@/enums'\r\nimport { ExpenseType } from '@/models'\r\n\r\nexport default {\r\n [COST_TYPES_STORE_ACTIONS.GET_EXPENSE_TYPES]: async ({ commit }: any, companyId = null) => {\r\n try {\r\n if (!companyId) return\r\n\r\n const { data } = await Axios.get(`@api/core/v1/companies/${companyId}/costtypes/tree`)\r\n\r\n commit(COST_TYPES_STORE_MUTATIONS.SET_EXPENSE_TYPES, data)\r\n\r\n return data\r\n } catch (error) {\r\n console.error(COST_TYPES_STORE_ACTIONS.GET_EXPENSE_TYPES, error)\r\n }\r\n },\r\n [COST_TYPES_STORE_ACTIONS.CREATE_EXPENSE_TYPE]: async (\r\n { commit }: any,\r\n payload: {\r\n companyId: string | number\r\n expenseType: ExpenseType\r\n }\r\n ) => {\r\n try {\r\n const { companyId, expenseType } = payload\r\n\r\n if (!companyId) return\r\n\r\n const { data } = await Axios.post(`@coreapi/companies/${companyId}/costtypes`, expenseType)\r\n\r\n commit(COST_TYPES_STORE_MUTATIONS.SET_EXPENSE_TYPE, data)\r\n\r\n return data\r\n } catch (error) {\r\n console.error(COST_TYPES_STORE_ACTIONS.CREATE_EXPENSE_TYPE, error)\r\n throw error\r\n }\r\n },\r\n [COST_TYPES_STORE_ACTIONS.UPDATE_EXPENSE_TYPE]: async (\r\n { commit }: any,\r\n payload: {\r\n companyId: string | number\r\n expenseTypeId: string | number\r\n expenseType: ExpenseType\r\n }\r\n ) => {\r\n try {\r\n const { companyId, expenseTypeId, expenseType } = payload\r\n\r\n if (!companyId || !expenseTypeId) return\r\n\r\n const { data } = await Axios.put(`@coreapi/companies/${companyId}/costtypes/${expenseTypeId}`, expenseType)\r\n\r\n commit(COST_TYPES_STORE_MUTATIONS.SET_EXPENSE_TYPE, data)\r\n\r\n return data\r\n } catch (error) {\r\n console.error(COST_TYPES_STORE_ACTIONS.UPDATE_EXPENSE_TYPE, error)\r\n throw error\r\n }\r\n },\r\n [COST_TYPES_STORE_ACTIONS.DELETE_EXPENSE_TYPE]: async (\r\n { commit }: any,\r\n payload: {\r\n companyId: string | number\r\n expenseTypeId: string | number\r\n }\r\n ) => {\r\n try {\r\n const { companyId, expenseTypeId } = payload\r\n\r\n if (!companyId || !expenseTypeId) return\r\n\r\n const { data } = await Axios.delete(`@coreapi/companies/${companyId}/costtypes/${expenseTypeId}`)\r\n\r\n commit(COST_TYPES_STORE_MUTATIONS.DELETE_EXPENSE_TYPE, expenseTypeId)\r\n\r\n return data\r\n } catch (error) {\r\n console.error(COST_TYPES_STORE_ACTIONS.DELETE_EXPENSE_TYPE, error)\r\n throw error\r\n }\r\n }\r\n}\r\n","import { COST_TYPES_STORE_GETTERS, COST_TYPES_STORE_STATE } from '@/enums'\r\nimport { ReceiptsStoreState, ExpenseType } from '@/models'\r\n\r\nexport default {\r\n [COST_TYPES_STORE_GETTERS.EXPENSE_TYPES]: (state: ReceiptsStoreState): ExpenseType[] => {\r\n return state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []\r\n },\r\n [COST_TYPES_STORE_GETTERS.EXPENSE_TYPE_BY_ID]:\r\n (state: ReceiptsStoreState) =>\r\n (expenseTypeId: number): ExpenseType | undefined => {\r\n\r\n const costTypes = (state[COST_TYPES_STORE_STATE.EXPENSE_TYPES] || []).reduce(\r\n (accumulator: ExpenseType | undefined, expenseType: ExpenseType) => {\r\n const sub = expenseType?.subgroup?.find(({ id }: ExpenseType) => id === expenseTypeId)\r\n\r\n if (sub) {\r\n accumulator = sub\r\n } else if (expenseType?.id === expenseTypeId) {\r\n accumulator = expenseType\r\n }\r\n\r\n return accumulator\r\n },\r\n undefined\r\n )\r\n return costTypes\r\n }\r\n}\r\n","import { COST_TYPES_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [COST_TYPES_STORE_STATE.EXPENSE_TYPES]: []\r\n}\r\n","import mutations from './cost-types.mutations'\r\nimport actions from './cost-types.actions'\r\nimport getters from './cost-types.getters'\r\nimport state from './cost-types.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}\r\n","import { INTEGRATIONS_STORE_MUTATIONS, INTEGRATIONS_STORE_STATE } from '@/enums'\r\nimport { IntegrationsStoreState, Integration, ServiceActivation } from '@/models'\r\n\r\nexport default {\r\n [INTEGRATIONS_STORE_MUTATIONS.SET_ACTIVE_INTEGRATION]: (state: IntegrationsStoreState, integration: Integration) => {\r\n state[INTEGRATIONS_STORE_STATE.ACTIVE_INTEGRATION] = integration\r\n },\r\n [INTEGRATIONS_STORE_MUTATIONS.SET_SERVICE_ACTIVATION]: (\r\n state: IntegrationsStoreState,\r\n serviceActivation: ServiceActivation\r\n ) => {\r\n state[INTEGRATIONS_STORE_STATE.SERVICE_ACTIVATION] = serviceActivation\r\n }\r\n}\r\n","import { INTEGRATIONS_STORE_MUTATIONS, INTEGRATIONS_STORE_ACTIONS } from '@/enums'\r\nimport errorHandler from '@/lib/errorHandler'\r\nimport axios from 'axios'\r\n\r\nexport default {\r\n [INTEGRATIONS_STORE_ACTIONS.GET_ACTIVE_INTEGRATION]: async ({ commit }: any, id: string | number) => {\r\n try {\r\n const { data: integration = {} } = await axios.get(`@api/integrations/v2/accounting/${id}/active`)\r\n commit(INTEGRATIONS_STORE_MUTATIONS.SET_ACTIVE_INTEGRATION, integration)\r\n return integration\r\n } catch (error: any) {\r\n errorHandler(INTEGRATIONS_STORE_ACTIONS.GET_ACTIVE_INTEGRATION, error)\r\n }\r\n },\r\n [INTEGRATIONS_STORE_ACTIONS.CHECK_SERVICE_ACTIVATION_STATE]: async ({ commit }: any, id: string | number) => {\r\n const { data = [] } = await axios.get(`@api/integrations/v1/accounting/${id}/check-service-activation-state`)\r\n if (data[0]) {\r\n const { state = '', code = '', partnerId = '' } = data[0]\r\n commit(INTEGRATIONS_STORE_MUTATIONS.SET_SERVICE_ACTIVATION, { state, code, partnerId })\r\n }\r\n },\r\n [INTEGRATIONS_STORE_ACTIONS.CONFIRM_SERVICE_ACTIVATION]: async ({ commit }: any, payload: any) => {\r\n const { companyId, code, accepted } = payload\r\n const encodedCode = encodeURIComponent(code)\r\n return axios\r\n .get(`@api/integrations/v1/accounting/${companyId}/confirm-service-activation?code=${encodedCode}&accepted=${accepted}`)\r\n .then(() => {\r\n if (accepted) {\r\n commit(INTEGRATIONS_STORE_MUTATIONS.SET_SERVICE_ACTIVATION, {})\r\n }\r\n })\r\n },\r\n}\r\n","import {\r\n INTEGRATIONS_STORE_GETTERS,\r\n INTEGRATIONS_STORE_STATE\r\n} from '@/enums'\r\n\r\nimport {\r\n IntegrationsStoreState\r\n} from '@/models'\r\n\r\nexport default {\r\n [INTEGRATIONS_STORE_GETTERS.ACTIVE_INTEGRATION]: (state: IntegrationsStoreState) => {\r\n return state[INTEGRATIONS_STORE_STATE.ACTIVE_INTEGRATION]\r\n },\r\n [INTEGRATIONS_STORE_GETTERS.SERVICE_ACTIVATION]: (state: IntegrationsStoreState) => {\r\n return state[INTEGRATIONS_STORE_STATE.SERVICE_ACTIVATION]\r\n }\r\n}","import {\r\n INTEGRATIONS_STORE_STATE\r\n} from '@/enums'\r\n\r\nexport default {\r\n [INTEGRATIONS_STORE_STATE.ACTIVE_INTEGRATION]: {},\r\n [INTEGRATIONS_STORE_STATE.SERVICE_ACTIVATION]: {}\r\n}","import mutations from './integrations.mutations'\r\nimport actions from './integrations.actions'\r\nimport getters from './integrations.getters'\r\nimport state from './integrations.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}\r\n","import axios from 'axios'\r\nimport { MILEAGE_STORE_ACTIONS, MILEAGE_STORE_MUTATIONS, SETTING_STORE_ACTIONS } from '@/enums'\r\n\r\nexport default {\r\n [MILEAGE_STORE_ACTIONS.GET_MILEAGE]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: mileage = [] } = await axios.get(`@coreapi/companies/${companyId}/trips/mileage`)\r\n\r\n commit(MILEAGE_STORE_MUTATIONS.SET_MILEAGE, { mileage, companyId })\r\n\r\n return mileage\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [MILEAGE_STORE_ACTIONS.GET_TRIP_MILEAGE]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, tripId } = payload\r\n\r\n const { data: mileage = [] } = await axios.get(`@coreapi/companies/${companyId}/trips/${tripId}/mileage`)\r\n\r\n commit(MILEAGE_STORE_MUTATIONS.SET_MILEAGE, { companyId, mileage })\r\n\r\n return mileage\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [MILEAGE_STORE_ACTIONS.ADD_MILEAGE_ITEM]: async ({ commit, dispatch }: any, payload: any) => {\r\n try {\r\n const { companyId, tripId, mileageItem } = payload\r\n\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\r\n\r\n const { data = {} } = await axios.post(`@coreapi/companies/${companyId}/trips/${tripId}/mileage`, mileageItem)\r\n\r\n commit(MILEAGE_STORE_MUTATIONS.SET_MILEAGE, { companyId, mileage: [data] })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n } finally {\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\r\n }\r\n },\r\n [MILEAGE_STORE_ACTIONS.UPDATE_MILEAGE_ITEM]: async ({ commit, dispatch }: any, payload: any) => {\r\n try {\r\n const { companyId, tripId, mileageId, mileageItem } = payload\r\n\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\r\n\r\n const { data = {} } = await axios.put(\r\n `@coreapi/companies/${companyId}/trips/${tripId}/mileage/${mileageId}`,\r\n mileageItem\r\n )\r\n\r\n commit(MILEAGE_STORE_MUTATIONS.SET_MILEAGE, { companyId, mileage: [data] })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n } finally {\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\r\n }\r\n },\r\n [MILEAGE_STORE_ACTIONS.DELETE_MILEAGE_ITEM]: async ({ commit, dispatch }: any, payload: any) => {\r\n try {\r\n const { companyId, tripId, mileageId } = payload\r\n\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\r\n\r\n const _ = await axios.delete(`@coreapi/companies/${companyId}/trips/${tripId}/mileage/${mileageId}`)\r\n\r\n commit(MILEAGE_STORE_MUTATIONS.REMOVE_MILEAGE, { companyId, mileageId })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n } finally {\r\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\r\n }\r\n }\r\n}\r\n","import { MILEAGE_STORE_GETTERS, MILEAGE_STORE_STATE } from '@/enums'\r\n\r\nimport { Mileage, MileageItem, MileageStoreState } from '@/models'\r\n\r\nexport default {\r\n [MILEAGE_STORE_GETTERS.MILEAGE]: (state: MileageStoreState): Mileage => {\r\n return state[MILEAGE_STORE_STATE.MILEAGE]\r\n },\r\n // [MILEAGE_STORE_GETTERS.MILEAGE_ITEM]: // need to check if it works\r\n // (state: MileageStoreState) =>\r\n // (id: string | number, companyId: string | number): MileageItem | undefined => {\r\n // return state[MILEAGE_STORE_STATE.MILEAGE][companyId]?.[id]\r\n // }\r\n}\r\n","import { MILEAGE_STORE_STATE, MILEAGE_STORE_MUTATIONS } from '@/enums'\r\nimport { MileageItem, MileageStoreState } from '@/models'\r\n\r\nexport default {\r\n [MILEAGE_STORE_MUTATIONS.SET_MILEAGE]: (\r\n state: MileageStoreState,\r\n payload: { companyId: string | number; mileage: MileageItem[] }\r\n ) => {\r\n const { companyId, mileage } = payload\r\n if (!state[MILEAGE_STORE_STATE.MILEAGE][companyId]) {\r\n state[MILEAGE_STORE_STATE.MILEAGE][companyId] = {}\r\n }\r\n for (const mileageItem of mileage) {\r\n state[MILEAGE_STORE_STATE.MILEAGE][companyId][mileageItem.id] = mileageItem\r\n }\r\n },\r\n [MILEAGE_STORE_MUTATIONS.REMOVE_MILEAGE]: (\r\n state: MileageStoreState,\r\n payload: { companyId: string | number; mileageId: string | number }\r\n ) => {\r\n const { companyId, mileageId } = payload\r\n if (state[MILEAGE_STORE_STATE.MILEAGE][companyId]?.[mileageId]) {\r\n delete state[MILEAGE_STORE_STATE.MILEAGE][companyId][mileageId]\r\n }\r\n }\r\n}\r\n","import { MILEAGE_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [MILEAGE_STORE_STATE.MILEAGE]: {}\r\n}\r\n","import actions from './mileage.actions'\r\nimport getters from './mileage.getters'\r\nimport mutations from './mileage.mutations'\r\nimport state from './mileage.state'\r\n\r\nexport default {\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}","import { OVERVIEW_STATUS_KEYS, OVERVIEW_STORE_MUTATIONS, OVERVIEW_STORE_STATE } from '@/enums'\r\nimport { OverviewStoreState } from '@/models'\r\n\r\nexport default {\r\n [OVERVIEW_STORE_MUTATIONS.SET_TRIPS_COUNT]: (state: OverviewStoreState, tripsCount: Array) => {\r\n state[OVERVIEW_STORE_STATE.TRIPS_COUNT] = {}\r\n\r\n tripsCount.forEach((company) => {\r\n const statuses: any = {}\r\n\r\n Object.keys(company.statusCount).forEach((statusKey) => {\r\n // @ts-ignore\r\n if (company.statusCount[statusKey] > 0 && OVERVIEW_STATUS_KEYS[statusKey]) {\r\n if (statusKey == 'Digitized') {\r\n statuses['Draft'] = company.statusCount[statusKey]\r\n } else {\r\n statuses[statusKey] = company.statusCount[statusKey]\r\n }\r\n }\r\n })\r\n\r\n // Sometimes, for BE reasons, the status count of draft is not correct\r\n // @ts-ignore\r\n const sum = company.statusCount.Any - Object.values(statuses).reduce((acc, val) => acc + val, 0)\r\n if (sum != 0) {\r\n if (!statuses['Draft']) statuses['Draft'] = 0\r\n statuses['Draft'] += sum\r\n if (statuses['Draft'] == 0) delete statuses['Draft']\r\n }\r\n\r\n state[OVERVIEW_STORE_STATE.TRIPS_COUNT][company.companyId] = statuses\r\n })\r\n },\r\n [OVERVIEW_STORE_MUTATIONS.SET_RECEIPTS_COUNT]: (state: OverviewStoreState, receiptsCount: Array) => {\r\n state[OVERVIEW_STORE_STATE.RECEIPTS_COUNT] = {}\r\n\r\n receiptsCount.forEach((company) => {\r\n const statuses: any = {}\r\n company.statusCount.Unsubmitted =\r\n company.statusCount.Any - company.statusCount.Submitted - company.missingFileCount\r\n\r\n company.statusCount.NoPicture = company.missingFileCount\r\n\r\n company.statusCount.Digitized =\r\n company.statusCount.Any -\r\n company.statusCount.Digitizing -\r\n company.statusCount.Processing -\r\n company.statusCount.Unsubmitted -\r\n company.statusCount.Bounced -\r\n company.statusCount.Approving -\r\n company.statusCount.Rejected -\r\n Math.max(company.statusCount.Approved, company.statusCount.Sent)\r\n\r\n Object.keys(company.statusCount).forEach((statusKey) => {\r\n // @ts-ignore\r\n if (company.statusCount[statusKey] > 0 && OVERVIEW_STATUS_KEYS[statusKey]) {\r\n statuses[statusKey] = company.statusCount[statusKey]\r\n }\r\n })\r\n\r\n state[OVERVIEW_STORE_STATE.RECEIPTS_COUNT][company.companyId] = statuses\r\n })\r\n }\r\n}\r\n","export const ALLOWED_OPERATORS = {\n isGreaterThan: '>',\n isGreaterOrEqualThan: '>=',\n isLesserThan: '<',\n isLesserOrEqualThan: '<=',\n isEqualWith: '=',\n whereNotEqualTo: '!=',\n isBetween: '<>',\n and: '^',\n isEqualTo: '~',\n isNotEqualTo: '!~',\n continue: ';'\n}\n\nexport const ALLOWED_WHERE_KEYS = {\n paymentTransactionsCount: 'paymentTransactionsCount',\n currencyTotals: 'currencyTotals',\n submitter: 'submitter',\n startDate: 'startDate',\n createdAt: 'createdAt',\n endDate: 'endDate',\n deleted: 'deleted',\n summary: 'summary',\n subtype: 'subtype',\n tripId: 'tripId',\n userId: 'userId',\n status: 'status',\n issued: 'issued',\n type: 'type'\n}\n\nexport const ALLOWED_ORDER_BY_KEYS = {\n createdAt: 'createdAt',\n supplier: 'supplier',\n userId: 'userId',\n status: 'status',\n issued: 'issued'\n}\n\nfunction singleValue(key, operator, value) {\n return `${key}${operator}${value}`\n}\n\nfunction inBetweenValue(key, operator, compareOperator, value_1, value_2) {\n return `${key}${operator}${value_1}${compareOperator}${value_2}`\n}\n\nfunction limit(value) {\n const query = singleValue('limit', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction offset(value) {\n const query = singleValue('offset', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction includeSummary(value) {\n const query = singleValue('summary', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction includeCurrencyTotals(value) {\n const query = singleValue('currencyTotals', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction includeSubmitter(value) {\n const query = singleValue('submitter', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction includeItemRows(value) {\n const query = singleValue('itemrows', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction includeTransactionCount(value) {\n const query = singleValue('paymentTransactionsCount', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction orderBy(value) {\n if (Object.prototype.hasOwnProperty.call(ALLOWED_ORDER_BY_KEYS, value.replace('-', ''))) {\n const query = singleValue('orderby', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n }\n\n return this\n}\n\nfunction status(value, operator) {\n const query = singleValue('status', ALLOWED_OPERATORS[operator], value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction paymentCard(value) {\n const query = singleValue('paymentCard', ALLOWED_OPERATORS.isEqualWith, value)\n this.addToQuery(query)\n\n return this\n}\n\nfunction isEqualTo(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isEqualTo, value)\n}\n\nfunction isNotEqualTo(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isNotEqualTo, value)\n}\n\nfunction isEqualWith(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isEqualWith, value)\n}\n\nfunction isLesserThan(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isLesserThan, value)\n}\n\nfunction isGreaterThan(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isGreaterThan, value)\n}\n\nfunction isGreaterOrEqualThan(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.isGreaterOrEqualThan, value)\n}\n\nfunction whereNotEqualTo(key) {\n return (value) => singleValue(key, ALLOWED_OPERATORS.whereNotEqualTo, value)\n}\n\nfunction where(key, callbackFn) {\n if (Object.prototype.hasOwnProperty.call(ALLOWED_WHERE_KEYS, key)) {\n const resultQuery = callbackFn({\n isEqualTo: this.isEqualTo(key),\n isNotEqualTo: this.isNotEqualTo(key),\n isEqualWith: this.isEqualWith(key),\n isBetween: this.isBetween(key),\n isLesserThan: this.isLesserThan(key),\n isGreaterThan: this.isGreaterThan(key),\n isGreaterOrEqualThan: this.isGreaterOrEqualThan(key),\n whereNotEqualTo: this.whereNotEqualTo(key)\n })\n\n if (resultQuery) {\n this.addToWhereQuery(resultQuery)\n }\n }\n\n return this\n}\n\nfunction addToQuery(domain) {\n if (Array.isArray(domain)) {\n domain.forEach((query) => this._query.push(query))\n } else {\n this._query.push(domain)\n }\n}\n\nfunction addToWhereQuery(domain) {\n if (Array.isArray(domain)) {\n domain.forEach((query) => this._whereQuery.push(query))\n } else {\n this._whereQuery.push(domain)\n }\n}\n\nfunction isBetween(key) {\n return (value1, value2) => inBetweenValue(key, ALLOWED_OPERATORS.isBetween, ALLOWED_OPERATORS.and, value1, value2)\n}\n\nfunction base(base = '') {\n this._base = base\n\n return this\n}\n\nfunction get() {\n const query = this._query.join('&')\n const whereQuery = this._whereQuery.join(';')\n const final = [query, whereQuery].join(whereQuery.length ? '&where=' : '')\n\n return [this._base, final].join('?')\n}\n\nfunction clone(queryCreatorInstance = {}) {\n // This should have better solution\n // but i have no idea how to kill a prototype (Please update as fast as possible)\n const cleanArgs = Object.values(JSON.parse(JSON.stringify(queryCreatorInstance)))\n const instance = new QueryCreator(...cleanArgs)\n\n return instance\n}\n\nfunction QueryCreator(_base = '', _query = [], _whereQuery = []) {\n this._base = _base\n this._query = _query\n this._whereQuery = _whereQuery\n}\n\nfunction queryCreator(...args) {\n return new QueryCreator(...args)\n}\n\nQueryCreator.prototype = queryCreator.prototype = {\n includeTransactionCount,\n includeCurrencyTotals,\n includeSubmitter,\n includeItemRows,\n includeSummary,\n isEqualTo,\n isNotEqualTo,\n isEqualWith,\n isBetween,\n isLesserThan,\n isGreaterThan,\n isGreaterOrEqualThan,\n whereNotEqualTo,\n addToQuery,\n addToWhereQuery,\n paymentCard,\n orderBy,\n offset,\n status,\n clone,\n limit,\n where,\n base,\n get\n}\n\nexport default queryCreator\n","import Axios from 'axios'\r\nimport moment from 'moment'\r\nimport { OVERVIEW_STORE_ACTIONS, OVERVIEW_STORE_MUTATIONS } from '@/enums'\r\nimport queryCreator from '@/lib/queryCreator'\r\n\r\nexport default {\r\n [OVERVIEW_STORE_ACTIONS.GET_TRIPS_COUNT]: async ({ commit }: any, params: any) => {\r\n try {\r\n const { startDate, endDate } = params\r\n\r\n const endDatePlusOneDay = moment(endDate).add(1, 'days').format('YYYY-MM-DD')\r\n\r\n const reportsUrl = queryCreator()\r\n .where('createdAt', ({ isBetween }: any) => isBetween(startDate, endDatePlusOneDay))\r\n .base(`@coreapi/expenses/reports/count`)\r\n .get()\r\n\r\n const { data: tripsCountPerCompany } = await Axios.get(reportsUrl)\r\n\r\n commit(OVERVIEW_STORE_MUTATIONS.SET_TRIPS_COUNT, tripsCountPerCompany)\r\n\r\n return tripsCountPerCompany\r\n } catch (error) {\r\n console.error(OVERVIEW_STORE_ACTIONS.GET_TRIPS_COUNT, error)\r\n }\r\n },\r\n [OVERVIEW_STORE_ACTIONS.GET_RECEIPTS_COUNT]: async ({ commit }: any, params: any) => {\r\n try {\r\n const { startDate, endDate } = params\r\n\r\n const endDatePlusOneDay = moment(endDate).add(1, 'days').format('YYYY-MM-DD')\r\n\r\n const receiptsUrl = queryCreator()\r\n .where('createdAt', ({ isBetween }: any) => isBetween(startDate, endDatePlusOneDay))\r\n .where('tripId', ({ isEqualTo }: any) => isEqualTo(null))\r\n .base(`@coreapi/expenses/documents/count`)\r\n .get()\r\n\r\n const { data: receiptsCountPerCompany } = await Axios.get(receiptsUrl)\r\n\r\n commit(OVERVIEW_STORE_MUTATIONS.SET_RECEIPTS_COUNT, receiptsCountPerCompany)\r\n\r\n return receiptsCountPerCompany\r\n } catch (error) {\r\n console.error(OVERVIEW_STORE_ACTIONS.GET_RECEIPTS_COUNT, error)\r\n }\r\n }\r\n}\r\n","import { OVERVIEW_STORE_STATE, OVERVIEW_STORE_GETTERS } from '@/enums'\r\n\r\nimport { OverviewStoreState } from '@/models'\r\n\r\nexport default {\r\n [OVERVIEW_STORE_GETTERS.TRIPS_COUNT]: (state: OverviewStoreState): any => {\r\n return state[OVERVIEW_STORE_STATE.TRIPS_COUNT] || {}\r\n },\r\n [OVERVIEW_STORE_GETTERS.RECEIPTS_COUNT]: (state: OverviewStoreState): any => {\r\n return state[OVERVIEW_STORE_STATE.RECEIPTS_COUNT] || {}\r\n }\r\n}\r\n","import { OVERVIEW_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [OVERVIEW_STORE_STATE.TRIPS_COUNT]: {},\r\n [OVERVIEW_STORE_STATE.RECEIPTS_COUNT]: {}\r\n}\r\n","import mutations from './overview.mutations'\r\nimport actions from './overview.actions'\r\nimport getters from './overview.getters'\r\nimport state from './overview.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { TRANSACTIONS_STORE_MUTATIONS, TRANSACTIONS_STORE_STATE } from '@/enums'\r\nimport { BankAccountInfo, PaymentTransaction, TransactionsStoreState } from '@/models'\r\n\r\nexport default {\r\n [TRANSACTIONS_STORE_MUTATIONS.SET_TRANSACTIONS]: (\r\n state: TransactionsStoreState,\r\n payload: { companyId?: string | number; transactions?: PaymentTransaction[] } = {}\r\n ) => {\r\n const { companyId, transactions = [] } = payload\r\n if (!companyId) return\r\n if (!state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId]) {\r\n state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId] = {}\r\n }\r\n for (const transaction of transactions) {\r\n state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId][transaction.id] = {\r\n ...state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId][transaction.id],\r\n ...transaction\r\n }\r\n }\r\n },\r\n [TRANSACTIONS_STORE_MUTATIONS.UPDATE_TRANSACTION]: (\r\n state: TransactionsStoreState,\r\n payload: { companyId?: string | number; transaction?: PaymentTransaction } = {}\r\n ) => {\r\n const { companyId, transaction } = payload\r\n if (!companyId || !transaction?.id) return\r\n if (!state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId]) {\r\n state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId] = {}\r\n }\r\n state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId][transaction.id] = {\r\n ...state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId][transaction.id],\r\n ...transaction\r\n }\r\n },\r\n [TRANSACTIONS_STORE_MUTATIONS.DELETE_TRANSACTION]: (\r\n state: TransactionsStoreState,\r\n payload: { companyId?: string | number; transactionId?: string | number } = {}\r\n ) => {\r\n const { companyId, transactionId } = payload\r\n if (!companyId || !transactionId) return\r\n delete state[TRANSACTIONS_STORE_STATE.TRANSACTIONS][companyId][transactionId]\r\n },\r\n [TRANSACTIONS_STORE_MUTATIONS.SET_BANK_ACCOUNT_LIST]: (\r\n state: TransactionsStoreState,\r\n payload: { companyId?: string | number; bankAccounts?: BankAccountInfo[] } = {}\r\n ) => {\r\n const { companyId, bankAccounts = [] } = payload\r\n if (!companyId) return\r\n if (!state[TRANSACTIONS_STORE_STATE.BANK_ACCOUNT_LIST][companyId]) {\r\n state[TRANSACTIONS_STORE_STATE.BANK_ACCOUNT_LIST][companyId] = {}\r\n }\r\n bankAccounts.forEach((bankAccount, index) => {\r\n state[TRANSACTIONS_STORE_STATE.BANK_ACCOUNT_LIST][companyId][index] = bankAccount\r\n })\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { TRANSACTIONS_STORE_ACTIONS, TRANSACTIONS_STORE_MUTATIONS } from '@/enums'\r\n\r\nexport default {\r\n [TRANSACTIONS_STORE_ACTIONS.GET_TRANSACTIONS]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: transactions = [] } = await Axios.get(`@coreapi/companies/${companyId}/payment-transactions`)\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.SET_TRANSACTIONS, { transactions, companyId })\r\n\r\n return transactions\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [TRANSACTIONS_STORE_ACTIONS.UPDATE_TRANSACTION]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, transactionId, values } = payload\r\n\r\n const { data: transaction = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/payment-transactions/${transactionId}`,\r\n values\r\n )\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.UPDATE_TRANSACTION, { transaction, companyId })\r\n\r\n return transaction\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [TRANSACTIONS_STORE_ACTIONS.DELETE_TRANSACTION]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, transactionId } = payload\r\n\r\n await Axios.delete(`@coreapi/companies/${companyId}/payment-transactions/${transactionId}`)\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.DELETE_TRANSACTION, { transactionId, companyId })\r\n\r\n return true\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [TRANSACTIONS_STORE_ACTIONS.AUTOGENERATE_REPORTS]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: transactions = [] } = await Axios.get(`@coreapi/companies/${companyId}/card-reports/autogenerate`)\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.SET_TRANSACTIONS, { transactions, companyId })\r\n\r\n return transactions\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [TRANSACTIONS_STORE_ACTIONS.IMPORT_TRANSACTIONS_FROM_FILE]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId, formData } = payload\r\n\r\n const { data: transactions = [] } = await Axios.post(\r\n `@coreapi/companies/${companyId}/payment-transactions/statement`,\r\n formData\r\n )\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.SET_TRANSACTIONS, { transactions, companyId })\r\n\r\n return transactions\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [TRANSACTIONS_STORE_ACTIONS.GET_BANK_ACCOUNT_LIST]: async ({ commit }: any, payload: any) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n let { data: bankAccounts = [] } = await Axios.get(`@api/integrations/v2/banking/${companyId}/accounts`)\r\n\r\n commit(TRANSACTIONS_STORE_MUTATIONS.SET_BANK_ACCOUNT_LIST, { bankAccounts, companyId })\r\n\r\n return bankAccounts\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { TRANSACTIONS_STORE_GETTERS, TRANSACTIONS_STORE_STATE } from '@/enums'\r\nimport { TransactionsStoreState, BankAccountStoreState } from '@/models'\r\n\r\nexport default {\r\n [TRANSACTIONS_STORE_GETTERS.TRANSACTIONS]: (state: TransactionsStoreState) => {\r\n return state[TRANSACTIONS_STORE_STATE.TRANSACTIONS] || {}\r\n },\r\n [TRANSACTIONS_STORE_GETTERS.BANK_ACCOUNT_LIST]: (state: BankAccountStoreState) => {\r\n return state[TRANSACTIONS_STORE_STATE.BANK_ACCOUNT_LIST] || {}\r\n }\r\n}\r\n","import { TRANSACTIONS_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [TRANSACTIONS_STORE_STATE.TRANSACTIONS]: {},\r\n [TRANSACTIONS_STORE_STATE.BANK_ACCOUNT_LIST]: {}\r\n}\r\n","import mutations from './transactions.mutations'\r\nimport actions from './transactions.actions'\r\nimport getters from './transactions.getters'\r\nimport state from './transactions.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { PAYMENTS_STORE_MUTATIONS, PAYMENTS_STORE_STATE } from '@/enums'\r\nimport { PaymentMethod, PaymentsStoreState } from '@/models'\r\n\r\nexport default {\r\n [PAYMENTS_STORE_MUTATIONS.SET_PAYMENT_METHODS]: (\r\n state: PaymentsStoreState,\r\n payload: { paymentMethods: PaymentMethod[]; companyId: string | number }\r\n ) => {\r\n const { companyId, paymentMethods } = payload\r\n if (!companyId) return\r\n if (!state[PAYMENTS_STORE_STATE.PAYMENT_METHODS][companyId]) {\r\n state[PAYMENTS_STORE_STATE.PAYMENT_METHODS][companyId] = {}\r\n }\r\n paymentMethods.forEach((paymentMethod: PaymentMethod) => {\r\n state[PAYMENTS_STORE_STATE.PAYMENT_METHODS][companyId][paymentMethod.id] = paymentMethod\r\n })\r\n },\r\n [PAYMENTS_STORE_MUTATIONS.REMOVE_PAYMENT_METHOD]: (\r\n state: PaymentsStoreState,\r\n payload: { companyId: string | number; paymentMethodId: string | number }\r\n ) => {\r\n const { companyId, paymentMethodId } = payload\r\n if (!companyId || !paymentMethodId) return\r\n if (state[PAYMENTS_STORE_STATE.PAYMENT_METHODS]?.[companyId]?.[paymentMethodId]) {\r\n delete state[PAYMENTS_STORE_STATE.PAYMENT_METHODS][companyId][paymentMethodId]\r\n }\r\n }\r\n}\r\n","import Axios from 'axios'\r\nimport { PAYMENTS_STORE_ACTIONS, PAYMENTS_STORE_MUTATIONS } from '@/enums'\r\nimport { PaymentMethod } from '@/models'\r\n\r\nexport default {\r\n [PAYMENTS_STORE_ACTIONS.GET_PAYMENT_METHODS]: async ({ commit }: any, payload: { companyId: string | number }) => {\r\n try {\r\n const { companyId } = payload\r\n\r\n const { data: paymentMethods = [] } = await Axios.get(`@coreapi/companies/${companyId}/payment-methods`)\r\n\r\n commit(PAYMENTS_STORE_MUTATIONS.SET_PAYMENT_METHODS, { companyId, paymentMethods })\r\n\r\n return paymentMethods\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [PAYMENTS_STORE_ACTIONS.CREATE_PAYMENT_METHOD]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; newPaymentMethod: PaymentMethod }\r\n ) => {\r\n try {\r\n const { companyId, newPaymentMethod } = payload\r\n\r\n const { data: paymentMethod = {} } = await Axios.post(\r\n `@coreapi/companies/${companyId}/payment-methods`,\r\n newPaymentMethod\r\n )\r\n\r\n commit(PAYMENTS_STORE_MUTATIONS.SET_PAYMENT_METHODS, { companyId, paymentMethods: [paymentMethod] })\r\n\r\n return paymentMethod\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [PAYMENTS_STORE_ACTIONS.UPDATE_PAYMENT_METHOD]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; paymentMethodId: string | number; updatedPaymentMethod: PaymentMethod }\r\n ) => {\r\n try {\r\n const { companyId, paymentMethodId, updatedPaymentMethod } = payload\r\n\r\n const { data: paymentMethod = {} } = await Axios.put(\r\n `@coreapi/companies/${companyId}/payment-methods/${paymentMethodId}`,\r\n updatedPaymentMethod\r\n )\r\n\r\n commit(PAYMENTS_STORE_MUTATIONS.SET_PAYMENT_METHODS, { companyId, paymentMethods: [paymentMethod] })\r\n\r\n return paymentMethod\r\n } catch (error) {\r\n throw error\r\n }\r\n },\r\n [PAYMENTS_STORE_ACTIONS.DELETE_PAYMENT_METHOD]: async (\r\n { commit }: any,\r\n payload: { companyId: string | number; paymentMethodId: string | number }\r\n ) => {\r\n try {\r\n const { companyId, paymentMethodId } = payload\r\n\r\n const { data } = await Axios.delete(`@coreapi/companies/${companyId}/payment-methods/${paymentMethodId}`)\r\n\r\n commit(PAYMENTS_STORE_MUTATIONS.REMOVE_PAYMENT_METHOD, { companyId, paymentMethodId })\r\n\r\n return data\r\n } catch (error) {\r\n throw error\r\n }\r\n }\r\n}\r\n","import { PAYMENTS_STORE_GETTERS, PAYMENTS_STORE_STATE } from '@/enums'\r\nimport { PaymentMethod, PaymentMethods, PaymentsStoreState } from '@/models'\r\n\r\nexport default {\r\n [PAYMENTS_STORE_GETTERS.PAYMENT_METHODS]: (state: PaymentsStoreState): PaymentMethods => {\r\n return state[PAYMENTS_STORE_STATE.PAYMENT_METHODS]\r\n },\r\n [PAYMENTS_STORE_GETTERS.PAYMENT_METHOD]: (state: PaymentsStoreState) => (id: number): PaymentMethod | undefined => {\r\n return state[PAYMENTS_STORE_STATE.PAYMENT_METHODS][id]\r\n },\r\n}\r\n","import { PAYMENTS_STORE_STATE } from '@/enums'\r\n\r\nexport default {\r\n [PAYMENTS_STORE_STATE.PAYMENT_METHODS]: {},\r\n}\r\n","import mutations from './payments.mutations'\r\nimport actions from './payments.actions'\r\nimport getters from './payments.getters'\r\nimport state from './payments.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { RECEIPTS_STORE_MUTATIONS, RECEIPTS_STORE_STATE } from '@/enums'\nimport { ReceiptsStoreState, Receipt } from '@/models'\n\nexport default {\n [RECEIPTS_STORE_MUTATIONS.SET_RECEIPTS]: (state: ReceiptsStoreState, receipts: Receipt[]) => {\n for (const receipt of receipts) {\n state[RECEIPTS_STORE_STATE.RECEIPTS][receipt.id] = receipt\n }\n },\n [RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES]: (state: ReceiptsStoreState, payload: any = {}) => {\n const { receipt, values } = payload\n const { id } = receipt\n\n state[RECEIPTS_STORE_STATE.RECEIPTS][id] = {\n ...state[RECEIPTS_STORE_STATE.RECEIPTS][id],\n ...values\n }\n },\n [RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_ATTACHMENTS]: (state: ReceiptsStoreState, payload: any) => {\n const { receiptId, attachments } = payload\n\n state[RECEIPTS_STORE_STATE.RECEIPT_ATTACHMENTS][receiptId] = attachments\n },\n [RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_DUPLICATES]: (state: ReceiptsStoreState, payload: any) => {\n const { receiptId, duplicates } = payload\n\n state[RECEIPTS_STORE_STATE.RECEIPT_DUPLICATES][receiptId] = duplicates\n },\n [RECEIPTS_STORE_MUTATIONS.SET_SELECTED_RECEIPTS]: (\n state: ReceiptsStoreState,\n payload: { receiptIds: number[]; selected: boolean }\n ) => {\n const { receiptIds, selected } = payload\n\n if (selected && receiptIds.length > 1) {\n state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS] = receiptIds\n } else if (selected &&receiptIds.length === 1) {\n state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS].push(receiptIds[0])\n } else if (!selected && receiptIds.length === 1) {\n const receiptIndex = state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS].indexOf(receiptIds[0])\n state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS].splice(receiptIndex, 1)\n } else {\n receiptIds.forEach((receiptId) => {\n const receiptIndex = state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS].indexOf(receiptId)\n state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS].splice(receiptIndex, 1)\n })\n }\n },\n [RECEIPTS_STORE_MUTATIONS.CLEAR_SELECTED_RECEIPTS]: (state: ReceiptsStoreState) => {\n state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS] = []\n },\n [RECEIPTS_STORE_MUTATIONS.REMOVE_RECEIPT]: (state: ReceiptsStoreState, id: number) => {\n if (state[RECEIPTS_STORE_STATE.RECEIPTS][id]) {\n delete state[RECEIPTS_STORE_STATE.RECEIPTS][id]\n }\n },\n [RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_BROWSING_LIST]: (state: ReceiptsStoreState, payload: any = {}) => {\n const { receiptIds }: { receiptIds: Array } = payload\n\n state[RECEIPTS_STORE_STATE.RECEIPT_BROWSING_LIST] = receiptIds\n }\n}\n","import Axios from 'axios'\nimport { format, addDays } from 'date-fns'\nimport queryCreator from '@/lib/queryCreator'\nimport {\n RECEIPTS_STORE_MUTATIONS,\n RECEIPTS_STORE_ACTIONS,\n RECEIPTS_STORE_GETTERS,\n TRIPS_STORE_ACTIONS,\n CONFIG_STORE_GETTERS,\n SETTING_STORE_ACTIONS,\n TRIPS_STORE_MUTATIONS\n} from '@/enums'\nimport { useTrips } from '@/composables'\nimport { Receipt } from '@/models'\n\nexport default {\n [RECEIPTS_STORE_ACTIONS.GET_FILTERED_RECEIPTS]: async ({ commit }: any, { params, config }: any) => {\n try {\n const {\n selectBy = 'createdAt',\n startDate = null,\n endDate = null,\n companyId = null,\n tripId = null,\n userId = null,\n status = null,\n orderBy = 'status',\n offset = 0,\n limit = null,\n submitter = true\n } = params\n\n if (!companyId) {\n return []\n }\n\n const dateEndPlusOneDay = format(addDays(new Date(endDate), 1), 'yyyy-MM-dd')\n\n const receiptsQueryCreator = queryCreator()\n .where(selectBy, ({ isBetween }: any) =>\n startDate && dateEndPlusOneDay ? isBetween(startDate, dateEndPlusOneDay) : ''\n )\n .where('tripId', ({ isEqualTo }: any) => isEqualTo(tripId))\n .includeSubmitter(submitter)\n .includeItemRows(true)\n // .where('userId', ({ isEqualTo }: any) => !!userId && isEqualTo(userId))\n // .where('status', ({ isBetween }: any) => !!status && isBetween(status, status * 2))\n\n const receiptsQuery = queryCreator()\n .clone(receiptsQueryCreator)\n .orderBy(orderBy)\n // .offset(offset)\n // .limit(limit)\n .base(`@api/core/v1/companies/${companyId}/receipts`)\n .get()\n\n const { data: receipts = [] } = await Axios.get(receiptsQuery)\n\n // RECEIPTS COME ORDERED BY STATUS BUT WE NEED THE RECEIPTS WITH ERRORED STATUSES FIRST\n const reversedReceipts = receipts.reverse()\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPTS, reversedReceipts)\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.GET_FILTERED_RECEIPTS, error)\n }\n },\n [RECEIPTS_STORE_ACTIONS.GET_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, receiptId } = payload\n\n if (!companyId || !receiptId) return\n\n const { data = {} } = await Axios.get(\n `@coreapi/companies/${companyId}/receipts/${receiptId}?submitter=true&itemrows=true`\n )\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPTS, [data])\n\n return data\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.GET_RECEIPT, error)\n }\n },\n [RECEIPTS_STORE_ACTIONS.GET_RECEIPT_DUPLICATES]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, receiptId } = payload\n\n if (!companyId || !receiptId) return\n\n const { data = [] } = await Axios.get(`@api/core/v1/companies/${companyId}/receipts/${receiptId}/duplicates`)\n\n const duplicates = data.filter((duplicate: Receipt) => duplicate.id !== Number(receiptId))\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_DUPLICATES, { receiptId, duplicates })\n\n return duplicates\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.GET_RECEIPT, error)\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.GET_RECEIPT_ATTACHMENTS]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, receiptId } = payload\n\n if (!companyId || !receiptId) return\n\n const { data: attachments = [] } = await Axios.get(`@api/core/v1/companies/${companyId}/receipts/${receiptId}/attachments`)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_ATTACHMENTS, { receiptId, attachments })\n\n return attachments\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.GET_RECEIPT, error)\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.MARK_AS_NON_DUPLICATE]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, receiptId } = payload\n\n if (!companyId || !receiptId) return\n\n return Axios.post(`@api/core/v1/companies/${companyId}/receipts/${receiptId}/nonduplicate`)\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.GET_RECEIPT, error)\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.UPDATE_RECEIPT_DATA]: async ({ commit, getters, dispatch }: any, payload: any = {}) => {\n try {\n const {\n disableUpdatingParentTrip = false,\n disablePopUp = false,\n requestPayload = {},\n companyId = null,\n receiptId = null,\n values = {}\n } = payload\n\n const { data } = await Axios.put(\n `@api/core/v1/companies/${companyId}/receipts/${receiptId}`,\n values,\n requestPayload\n )\n\n const currentReceiptState = getters[RECEIPTS_STORE_GETTERS.RECEIPT_BY_ID](receiptId)\n\n // RECEIPT TRIP CHANGED?\n if (values.tripId && currentReceiptState?.tripId !== values.tripId) {\n // UPDATE PREVIOUS TRIP\n if (currentReceiptState.tripId) {\n dispatch(\n TRIPS_STORE_ACTIONS.GET_TRIP,\n {\n companyId,\n tripId: currentReceiptState.tripId\n },\n { root: true }\n )\n }\n\n // UPDATE NEXT TRIP\n if (values.tripId && !disableUpdatingParentTrip) {\n dispatch(\n TRIPS_STORE_ACTIONS.GET_TRIP,\n {\n companyId,\n tripId: values.tripId\n },\n { root: true }\n )\n }\n }\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt: currentReceiptState, values: { ...data } })\n\n return data\n } catch (error) {\n console.error(RECEIPTS_STORE_ACTIONS.UPDATE_RECEIPT_DATA, error)\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.DIGITIZE_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { company, receipt } = payload\n const { data = {} } = await Axios.put(`@coreapi/companies/${company.id}/receipts/${receipt.id}/digitized`)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: data.status } })\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.SUBMIT_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { company, receipt, suppressDuplicateCheck } = payload\n\n let url = `@coreapi/companies/${company.id}/receipts/${receipt.id}/submit`\n\n if (suppressDuplicateCheck) {\n url = `${url}?suppressDuplicateCheck=true`\n }\n\n const { data = {} } = await Axios.post(url)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: data.status } })\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.UNSUBMIT_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, receipt } = payload\n const { data = {} } = await Axios.post(`@coreapi/companies/${companyId}/receipts/${receipt.id}/unsubmit`)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: data.status } })\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.RESUBMIT_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { company, receipt, suppressDuplicateCheck } = payload\n\n let url = `@coreapi/companies/${company.id}/receipts/${receipt.id}/resubmit`\n\n if (suppressDuplicateCheck) {\n url = `${url}?suppressDuplicateCheck=true`\n }\n\n const { data = {} } = await Axios.post(url)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: data.status } })\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.CONFIRM_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { company, receipt } = payload\n const { data = {} } = await Axios.post(`@coreapi/companies/${company.id}/receipts/${receipt.id}/ready`)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: data.status } })\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.SEND_TO_OUTBOUND]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { company, receipt } = payload\n const { data = {} } = await Axios.post(\n `@api/integrations/v1/send/${company.id}/document/${receipt.id}?prevalidation=true`\n )\n\n let result\n if ('success' in data) {\n result = data\n } else {\n result = data.result\n }\n\n if (result?.receipt?.status) {\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: result.receipt.status } })\n } else if (result?.status) {\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { status: result.status } })\n }\n return result\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.DELETE_RECEIPT]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n const { company, receipt } = payload\n\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\n\n const { data } = await Axios.delete(`@coreapi/companies/${company.id}/receipts/${receipt.id}`)\n\n if (data?.efData?.trip?.id) {\n const { tripById } = useTrips()\n const trip = tripById(data?.efData?.trip?.id)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.efData?.trip?.status } })\n }\n\n commit(RECEIPTS_STORE_MUTATIONS.REMOVE_RECEIPT, receipt.id)\n } catch (error) {\n throw error\n } finally {\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\n }\n },\n [RECEIPTS_STORE_ACTIONS.REMOVE_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n const { receiptId } = payload\n commit(RECEIPTS_STORE_MUTATIONS.REMOVE_RECEIPT, receiptId)\n },\n [RECEIPTS_STORE_ACTIONS.DELETE_RECEIPTS_MASS]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n // TODO: investigate, why report is loaded so many times after receipts are deleted\n const { company, receiptIds = [] } = payload\n\n for (const receiptId of receiptIds) {\n await Axios.delete(`@coreapi/companies/${company.id}/receipts/${receiptId}`).then(({ data = {} }) => {\n commit(RECEIPTS_STORE_MUTATIONS.REMOVE_RECEIPT, receiptId)\n return data\n })\n }\n\n return true\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.DOWNLOAD_RECEIPT_PDF]: async ({}, payload: any = {}) => {\n const { companyId, receiptId, fileName } = payload\n const url = `@coreapi/companies/${companyId}/receipts/${receiptId}/file/pdf`\n Axios.get(url, { responseType: 'blob' }).then((response) => {\n const a = document.createElement('a')\n a.href = window.URL.createObjectURL(response.data)\n a.download = `${fileName}.pdf`\n document.body.appendChild(a)\n a.click()\n a.remove()\n })\n },\n [RECEIPTS_STORE_ACTIONS.EXPORT_PERIODIC]: async ({ getters }: any, payload: any = {}) => {\n try {\n const { docType, companyId, from, to, options } = payload\n\n if (!docType || !companyId || !from || !to) {\n return\n }\n\n const type = encodeURIComponent(docType)\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n const token = localStorage.token\n const lang = localStorage.language\n\n let url = `${services.api.url}/export/v1/${companyId}/report/periodic?access_token=${token}&from=${from}&to=${to}&mediatype=${type}&lang=${lang}`\n\n Object.keys(options).forEach((option) => {\n url = `${url}&${option}=${options[option]}`\n })\n\n window.open(url, '_blank')\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.DOWNLOAD_RECEIPTS]: async ({ getters }: any, payload: any = {}) => {\n try {\n const { companyId, receiptIds } = payload\n\n if (!companyId || !receiptIds?.length) return\n\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n const ids = receiptIds.join(',')\n const token = localStorage.token\n const url = `${services.api.url}/export/v1/${companyId}/documents/files?access_token=${token}&mediatype=application/zip&ids=${ids}`\n window.open(url, '_blank')\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.DOWNLOAD_IMPORT_SOURCE_FILE]: async ({ getters }: any, payload: any = {}) => {\n try {\n const { companyId, receiptId } = payload\n\n if (!companyId || !receiptId) return\n\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n const token = localStorage.token\n const url = `${services.api.url}/core/v1/companies/${companyId}/receipts/${receiptId}/import-source-file?access_token=${token}`\n window.open(url, '_blank')\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.EXPORT_RECEIPTS]: async ({ getters }: any, payload: any = {}) => {\n try {\n const { companyId, receiptIds, docType, options = {} } = payload\n\n if (!companyId || !receiptIds?.length || !docType) return\n\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n const type = encodeURIComponent(docType)\n const ids = receiptIds.join(',')\n const token = localStorage.token\n const lang = localStorage.language\n let url = `${services.api.url}/export/v1/${companyId}/documents/query?access_token=${token}&mediatype=${type}&ids=${ids}&lang=${lang}&metadataLang=${lang}`\n\n Object.keys(options).forEach((option) => {\n url = `${url}&${option}=true`\n })\n\n // if (addImageUrl) {\n // url = `${url}&addInvoiceImageUrl=true`\n // }\n\n // if (markSent) {\n // url = `${url}&markSent=true`\n // }\n\n return window.open(url, '_blank')\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.CREATE_RECEIPT]: async ({ commit }: any, payload: any = {}) => {\n let { companyId, values } = payload\n\n if (!companyId) return\n\n try {\n const { data = {} } = await Axios.post(`@api/core/v1/companies/${companyId}/receipts`, values)\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPTS, [data])\n\n return data\n } catch (error) {\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.GET_OCR]: async ({ commit }: any, payload: any) => {\n try {\n const { receipt, companyId, timeout = 19000, onlyForRectangles = false } = payload\n\n if (!receipt?.id || !companyId) return {}\n\n const generatedToken = Axios.CancelToken.source()\n\n const url = `@coreapi/companies/${companyId}/receipts/${receipt?.id}/ocr?timeout=${timeout}`\n\n const { data = {} } = await Axios.get(url, {\n cancelToken: generatedToken.token\n })\n\n if (onlyForRectangles && data.supplier && !data.status && !data.dFlags && !data.originalName) {\n // TODO in backend:\n // Special case where OCR has failed, and now doc should be digitised again.\n // Example: OCR server was down while email was sent\n throw 'pleaseDigitiseAgain'\n } else {\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_VALUES, { receipt, values: { ocr: data.ocr } })\n }\n\n return data\n } catch (error) {\n console.log(error)\n throw error\n }\n },\n [RECEIPTS_STORE_ACTIONS.UPDATE_RECEIPT_BROWSING_LIST]: async ({ commit }: any, payload: any = {}) => {\n let { receiptIds } = payload\n\n commit(RECEIPTS_STORE_MUTATIONS.SET_RECEIPT_BROWSING_LIST, { receiptIds })\n }\n}\n","import { RECEIPTS_STORE_GETTERS, RECEIPTS_STORE_STATE } from '@/enums'\nimport { ReceiptsStoreState, Receipt, Receipts, ReceiptAttachments } from '@/models'\n\nexport default {\n [RECEIPTS_STORE_GETTERS.RECEIPTS]: (state: ReceiptsStoreState): Receipts => {\n return state[RECEIPTS_STORE_STATE.RECEIPTS] || {}\n },\n [RECEIPTS_STORE_GETTERS.SELECTED_RECEIPTS]: (state: ReceiptsStoreState): Array => {\n return state[RECEIPTS_STORE_STATE.SELECTED_RECEIPTS]\n },\n [RECEIPTS_STORE_GETTERS.RECEIPTS_COUNT]: (state: ReceiptsStoreState): number => {\n const receipts = state[RECEIPTS_STORE_STATE.RECEIPTS] || {}\n return Object.values(receipts).length\n },\n [RECEIPTS_STORE_GETTERS.RECEIPT_BY_ID]:\n (state: ReceiptsStoreState) =>\n (id: number): Receipt | undefined => {\n return state[RECEIPTS_STORE_STATE.RECEIPTS][id]\n },\n [RECEIPTS_STORE_GETTERS.RECEIPT_ATTACHMENTS]:\n (state: ReceiptsStoreState) =>\n (id: number): ReceiptAttachments | undefined => {\n return state[RECEIPTS_STORE_STATE.RECEIPT_ATTACHMENTS][id]\n },\n [RECEIPTS_STORE_GETTERS.RECEIPT_DUPLICATES]:\n (state: ReceiptsStoreState) =>\n (receiptId: number): Array => {\n return state[RECEIPTS_STORE_STATE.RECEIPT_DUPLICATES][receiptId]\n },\n [RECEIPTS_STORE_GETTERS.RECEIPT_BROWSING_LIST]: (state: ReceiptsStoreState): (string | number)[] => {\n return state[RECEIPTS_STORE_STATE.RECEIPT_BROWSING_LIST]\n }\n}\n","import { RECEIPTS_STORE_STATE } from '@/enums'\n\nexport default {\n [RECEIPTS_STORE_STATE.RECEIPTS]: {},\n [RECEIPTS_STORE_STATE.RECEIPT_ATTACHMENTS]: {},\n [RECEIPTS_STORE_STATE.RECEIPT_DUPLICATES]: {},\n [RECEIPTS_STORE_STATE.SELECTED_RECEIPTS]: [], // receipts in document table selected with checkbox\n [RECEIPTS_STORE_STATE.RECEIPT_BROWSING_LIST]: [], // receipts opened for review\n [RECEIPTS_STORE_STATE.CANCEL_TOKENS]: {}\n}\n","import mutations from './receipts.mutations'\nimport actions from './receipts.actions'\nimport getters from './receipts.getters'\nimport state from './receipts.state'\n\nexport default {\n mutations,\n actions,\n getters,\n state\n}\n","import { SETTING_STORE_MUTATIONS, SETTING_STORE_STATE } from '@/enums'\r\n\r\nimport { SettingStoreState } from '@/models'\r\n\r\nexport default {\r\n [SETTING_STORE_MUTATIONS.SET_ACTIVE_DATES]: (state: SettingStoreState, dates: Object) => {\r\n state[SETTING_STORE_STATE.ACTIVE_DATES] = dates\r\n },\r\n [SETTING_STORE_MUTATIONS.SET_LOADING_STATE]: (state: SettingStoreState, isLoading: Boolean) => {\r\n state[SETTING_STORE_STATE.LOADING_STATE] = isLoading\r\n },\r\n [SETTING_STORE_MUTATIONS.SET_SELECT_RECEIPTS_BY]: (state: SettingStoreState, criteria: string) => {\r\n state[SETTING_STORE_STATE.SELECT_RECEIPTS_BY] = criteria\r\n },\r\n [SETTING_STORE_MUTATIONS.SET_SELECT_TRIPS_BY]: (state: SettingStoreState, criteria: string) => {\r\n state[SETTING_STORE_STATE.SELECT_TRIPS_BY] = criteria\r\n }\r\n}\r\n","import { SETTING_STORE_ACTIONS, SETTING_STORE_MUTATIONS } from '@/enums'\r\n\r\nimport { ActiveDates } from '@/models'\r\n\r\nexport default {\r\n [SETTING_STORE_ACTIONS.UPDATE_ACTIVE_DATES]: ({ commit }: any, { startDate, endDate }: ActiveDates) => {\r\n commit(SETTING_STORE_MUTATIONS.SET_ACTIVE_DATES, { startDate, endDate })\r\n return\r\n },\r\n [SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE]: ({ commit }: any, isLoading: Boolean) => {\r\n commit(SETTING_STORE_MUTATIONS.SET_LOADING_STATE, isLoading)\r\n return\r\n },\r\n [SETTING_STORE_ACTIONS.UPDATE_SELECT_RECEIPTS_BY]: ({ commit }: any, criteria: string) => {\r\n commit(SETTING_STORE_MUTATIONS.SET_SELECT_RECEIPTS_BY, criteria)\r\n return\r\n },\r\n [SETTING_STORE_ACTIONS.UPDATE_SELECT_TRIPS_BY]: ({ commit }: any, criteria: string) => {\r\n commit(SETTING_STORE_MUTATIONS.SET_SELECT_TRIPS_BY, criteria)\r\n return\r\n }\r\n}\r\n","import { SETTING_STORE_GETTERS, SETTING_STORE_STATE } from '@/enums'\r\n\r\nimport { SettingStoreState } from '@/models'\r\n\r\nexport default {\r\n [SETTING_STORE_GETTERS.ACTIVE_DATES]: (state: SettingStoreState) => {\r\n return state[SETTING_STORE_STATE.ACTIVE_DATES]\r\n },\r\n [SETTING_STORE_GETTERS.IS_LOADING]: (state: SettingStoreState) => {\r\n return state[SETTING_STORE_STATE.LOADING_STATE]\r\n },\r\n [SETTING_STORE_GETTERS.SELECT_RECEIPTS_BY]: (state: SettingStoreState) => {\r\n return state[SETTING_STORE_STATE.SELECT_RECEIPTS_BY]\r\n },\r\n [SETTING_STORE_GETTERS.SELECT_TRIPS_BY]: (state: SettingStoreState) => {\r\n return state[SETTING_STORE_STATE.SELECT_TRIPS_BY]\r\n }\r\n}\r\n","import { SETTING_STORE_STATE, TRIP_DATES_CRITERIA, RECEIPT_DATES_CRITERIA } from '@/enums'\r\n\r\nexport default {\r\n [SETTING_STORE_STATE.ACTIVE_DATES]: {},\r\n [SETTING_STORE_STATE.SELECT_RECEIPTS_BY]: RECEIPT_DATES_CRITERIA.CREATED,\r\n [SETTING_STORE_STATE.SELECT_TRIPS_BY]: TRIP_DATES_CRITERIA.ALL,\r\n [SETTING_STORE_STATE.LOADING_STATE]: false\r\n}\r\n","import mutations from './setting.mutations'\r\nimport actions from './setting.actions'\r\nimport getters from './setting.getters'\r\nimport state from './setting.state'\r\n\r\nexport default {\r\n mutations,\r\n actions,\r\n getters,\r\n state\r\n}","import { cloneDeep } from 'lodash-es'\nimport { TRIPS_STORE_MUTATIONS, TRIPS_STORE_STATE } from '@/enums'\nimport { TripsStoreState, Trip, DailyAllowanceItem, PaymentTransaction, BankFormat } from '@/models'\n\nexport default {\n [TRIPS_STORE_MUTATIONS.SET_TRIPS]: (state: TripsStoreState, trips: Trip[]) => {\n for (const trip of trips) {\n if (state[TRIPS_STORE_STATE.TRIPS][trip.id]) {\n state[TRIPS_STORE_STATE.TRIPS][trip.id] = {\n ...state[TRIPS_STORE_STATE.TRIPS][trip.id],\n ...trip\n }\n } else {\n state[TRIPS_STORE_STATE.TRIPS][trip.id] = trip\n }\n }\n },\n [TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES]: (state: TripsStoreState, payload: any = {}) => {\n const { trip, values } = payload\n const { id } = trip\n\n state[TRIPS_STORE_STATE.TRIPS][id] = {\n ...trip,\n ...values\n }\n },\n [TRIPS_STORE_MUTATIONS.REMOVE_TRIP]: (state: TripsStoreState, id: number) => {\n if (state[TRIPS_STORE_STATE.TRIPS][id]) {\n delete state[TRIPS_STORE_STATE.TRIPS][id]\n }\n },\n [TRIPS_STORE_MUTATIONS.SET_DAILY_ALLOWANCE]: (state: any, payload: any = {}) => {\n const { tripId, allowance } = payload\n state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)] = allowance\n },\n [TRIPS_STORE_MUTATIONS.SET_DAILY_ALLOWANCE_ITEM]: (state: any, payload: any = {}) => {\n const { tripId, allowanceEntry } = payload\n if (state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)]) {\n const entryIndex = state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)].findIndex(\n (item: DailyAllowanceItem) => item.id === allowanceEntry.id\n )\n // existing daily allowance entry needs to be replaced\n if (entryIndex > -1) {\n state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)][entryIndex] = allowanceEntry\n }\n // add new one\n else {\n state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)].push(allowanceEntry)\n // WHAT IF ALLOWANCE ENTRY IS ADDED IN THE MIDDLE (BY DATE)???\n }\n }\n },\n [TRIPS_STORE_MUTATIONS.REMOVE_DAILY_ALLOWANCE_ITEM]: (state: any, payload: any = {}) => {\n const { tripId, allowanceEntryId } = payload\n state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)] = state[TRIPS_STORE_STATE.ALLOWANCE][Number(tripId)].filter(\n (item: DailyAllowanceItem) => item.id !== allowanceEntryId\n )\n },\n [TRIPS_STORE_MUTATIONS.SET_STATEMENT]: (state: any, payload: any = {}) => {\n const { tripId, statement } = payload\n state[TRIPS_STORE_STATE.STATEMENT][Number(tripId)] = statement\n },\n [TRIPS_STORE_MUTATIONS.SET_STATEMENT_TRANSACTION]: (state: any, payload: any = {}) => {\n const { tripId, transaction } = payload\n if (state[TRIPS_STORE_STATE.STATEMENT][tripId]?.transactions) {\n const tripTransactions = cloneDeep(state[TRIPS_STORE_STATE.STATEMENT][tripId]?.transactions)\n const entryIndex = tripTransactions.findIndex((item: PaymentTransaction) => item.id === transaction.id)\n if (entryIndex > -1) {\n tripTransactions[entryIndex] = transaction\n } else {\n tripTransactions.push(transaction)\n }\n\n state[TRIPS_STORE_STATE.STATEMENT][tripId] = {\n ...state[TRIPS_STORE_STATE.STATEMENT][tripId],\n transactions: tripTransactions\n }\n }\n },\n [TRIPS_STORE_MUTATIONS.SET_STATEMENT_FORMATS]: (state: any, supportedFormats: BankFormat[] = []) => {\n state[TRIPS_STORE_STATE.STATEMENT_FORMATS] = supportedFormats\n }\n}\n","import Axios from 'axios'\nimport { format, sub, addDays } from 'date-fns'\nimport queryCreator from '@/lib/queryCreator'\nimport { TRIPS_STORE_ACTIONS, TRIPS_STORE_MUTATIONS, CONFIG_STORE_GETTERS, SETTING_STORE_ACTIONS } from '@/enums'\nimport { DailyAllowanceItem, BankFormat } from '@/models'\n\nexport default {\n [TRIPS_STORE_ACTIONS.GET_TRIPS]: async ({ commit }: any, { params, config }: any) => {\n try {\n const {\n startDate = format(sub(new Date(), { months: 1 }), 'yyyy-MM-dd'),\n endDate = format(new Date(), 'yyyy-MM-dd'),\n companyId = null,\n summary = true,\n currencyTotals = true,\n transactionCount = true,\n userId = null,\n status = null,\n orderBy = 'createdAt',\n offset = 0,\n limit = null\n } = params\n\n if (!companyId) {\n return []\n }\n\n const endDatePlusOneDay = format(addDays(new Date(endDate), 1), 'yyyy-MM-dd')\n\n const tripsQuery_1 = queryCreator()\n .includeCurrencyTotals(currencyTotals)\n .includeTransactionCount(transactionCount)\n .paymentCard(true)\n .orderBy(orderBy)\n .where('createdAt', ({ isBetween }: any) => isBetween(startDate, endDatePlusOneDay))\n .base(`@api/core/v1/companies/${companyId}/alltrips`)\n .get()\n\n const tripsQuery_2 = queryCreator()\n .includeCurrencyTotals(currencyTotals)\n .includeTransactionCount(transactionCount)\n .paymentCard(true)\n .orderBy(orderBy)\n .where('createdAt', ({ isLesserThan }: any) => isLesserThan(startDate))\n .where('startDate', ({ isBetween }: any) => isBetween(startDate, endDate))\n .where('type', ({ isEqualWith }: any) => isEqualWith('expense'))\n .base(`@api/core/v1/companies/${companyId}/alltrips`)\n .get()\n\n const tripsQuery_3 = queryCreator()\n .includeCurrencyTotals(currencyTotals)\n .includeTransactionCount(transactionCount)\n .paymentCard(true)\n .orderBy(orderBy)\n .where('createdAt', ({ isGreaterThan }: any) => isGreaterThan(endDate))\n .where('startDate', ({ isBetween }: any) => isBetween(startDate, endDate))\n .where('type', ({ isEqualWith }: any) => isEqualWith('expense'))\n .base(`@api/core/v1/companies/${companyId}/alltrips`)\n .get()\n\n const { data: trips_1 = [] } = await Axios.get(tripsQuery_1)\n const { data: trips_2 = [] } = await Axios.get(tripsQuery_2)\n const { data: trips_3 = [] } = await Axios.get(tripsQuery_3)\n\n const allTrips = [...trips_1, ...trips_2, ...trips_3]\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIPS, allTrips)\n } catch (error) {\n console.error(TRIPS_STORE_ACTIONS.GET_TRIPS, error)\n }\n },\n [TRIPS_STORE_ACTIONS.GET_FILTERED_TRIPS]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId = '', options = {} } = payload\n\n if (!companyId) return\n\n let requestUrl = `@coreapi/companies/${companyId}/alltrips?currencyTotals=true&paymentCard=true`\n\n if (Object.keys(options).length) {\n const query = Object.keys(options)\n .map((key) => `${key}=${options[key]}`)\n .join(';')\n requestUrl = `${requestUrl}&where=${encodeURIComponent(query)}`\n }\n\n const { data: trips = [] } = await Axios.get(requestUrl)\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIPS, trips)\n\n return trips\n } catch (error) {\n console.error(TRIPS_STORE_ACTIONS.GET_TRIP, error)\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.GET_UNSUBMITTED_CARD_REPORTS]: async ({ commit }: any, { params, config }: any) => {\n try {\n const { companyId = null } = params\n\n if (!companyId) {\n return []\n }\n\n const ccTripsQuery = queryCreator()\n .includeCurrencyTotals(true)\n .paymentCard(true)\n .orderBy('createdAt')\n .where('subtype', ({ isEqualTo }: any) => isEqualTo('creditcard'))\n .status('Submitted', 'whereNotEqualTo')\n .base(`@api/core/v1/companies/${companyId}/alltrips`)\n .get()\n\n const dcTripsQuery = queryCreator()\n .includeCurrencyTotals(true)\n .paymentCard(true)\n .orderBy('createdAt')\n .where('subtype', ({ isEqualTo }: any) => isEqualTo('debitcard'))\n .status('Submitted', 'whereNotEqualTo')\n .base(`@api/core/v1/companies/${companyId}/alltrips`)\n .get()\n\n const { data: ccTrips = [] } = await Axios.get(ccTripsQuery)\n const { data: dcTrips = [] } = await Axios.get(dcTripsQuery)\n\n const trips = [...ccTrips, ...dcTrips]\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIPS, trips)\n\n return trips\n } catch (error) {\n console.error(TRIPS_STORE_ACTIONS.GET_UNSUBMITTED_CARD_REPORTS, error)\n }\n },\n [TRIPS_STORE_ACTIONS.GET_TRIP]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId = '', tripId = '', options = {} } = payload\n\n if (!companyId || !tripId) return\n\n let requestUrl = `@coreapi/companies/${companyId}/trips/${tripId}?currencyTotals=true&paymentCard=true`\n\n Object.keys(options).forEach((key) => {\n requestUrl = `${requestUrl}&${key}=${options[key]}`\n })\n\n const { data = {} } = await Axios.get(requestUrl)\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIPS, [data])\n\n return data\n } catch (error) {\n console.error(TRIPS_STORE_ACTIONS.GET_TRIP, error)\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.NEW_TRIP]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n const { companyId = '', tripPayload = {} } = payload\n\n const { data = {} } = await Axios.post(`@coreapi/companies/${companyId}/trips`, tripPayload)\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIPS, [data])\n\n return data\n } catch (error) {\n console.error(TRIPS_STORE_ACTIONS.NEW_TRIP, error)\n }\n },\n [TRIPS_STORE_ACTIONS.SEND_TRIP_TO_SOFTWARE]: async ({ commit }: any, payload: any = {}) => {\n const { company, trip } = payload\n\n if (!company.id || !trip.id) return\n\n try {\n const { data } = await Axios.post(`@api/integrations/v1/send/${company.id}/report/${trip.id}`)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.status } })\n\n return data\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.SUBMIT_TRIP]: async ({ commit }: any, payload: any = {}) => {\n const { company, trip } = payload\n\n if (!company.id || !trip.id) return\n\n try {\n const { data } = await Axios.post(`@coreapi/companies/${company.id}/trips/${trip.id}/submit`)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.status } })\n\n return data\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.CONFIRM_AND_SEND]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n const { company, trip } = payload\n\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\n\n const { data } = await Axios.post(`@coreapi/companies/${company.id}/trips/${trip.id}/ready`)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.status } })\n\n if (data.efAction === 'MARK_FOR_PROCESSING') {\n await dispatch(TRIPS_STORE_ACTIONS.SEND_TRIP_TO_SOFTWARE, { company, trip })\n }\n\n return data\n } catch (error) {\n throw error\n } finally {\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\n }\n },\n [TRIPS_STORE_ACTIONS.UNSUBMIT_TRIP]: async ({ commit }: any, payload: any = {}) => {\n const { company, trip } = payload\n\n if (!company.id || !trip.id) return\n\n try {\n const { data } = await Axios.post(`@coreapi/companies/${company.id}/trips/${trip.id}/unsubmit`)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.status } })\n\n return data\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.RESUBMIT_TRIP]: async ({ commit }: any, payload: any = {}) => {\n const { company, trip } = payload\n\n if (!company.id || !trip.id) return\n\n try {\n const { data } = await Axios.post(`@coreapi/companies/${company.id}/trips/${trip.id}/resubmit`)\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { status: data?.status } })\n\n return data\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.DELETE_TRIP]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n const { company, trip } = payload\n\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\n\n await Axios.delete(`@coreapi/companies/${company.id}/trips/${trip.id}`)\n\n commit(TRIPS_STORE_MUTATIONS.REMOVE_TRIP, trip.id)\n } catch (error) {\n throw error\n } finally {\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\n }\n },\n [TRIPS_STORE_ACTIONS.REMOVE_TRIP]: async ({ commit, dispatch }: any, payload: any = {}) => {\n const { tripId } = payload\n commit(TRIPS_STORE_MUTATIONS.REMOVE_TRIP, tripId)\n },\n [TRIPS_STORE_ACTIONS.EXPORT_TRIP]: async ({ getters }: any, payload: any = {}) => {\n const { docType, companyId, tripId } = payload\n if (!docType || !companyId || !tripId) return\n\n try {\n const type = encodeURIComponent(docType)\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n // const language = rootGetters['Config/CURRENT_LANGUAGE_ISO3']\n // TODO: get language and token from store\n const url = `${services.api.url}/export/v1/${companyId}/report/trip/${tripId}?access_token=${localStorage.token}&mediatype=${type}&lang=${localStorage.language}`\n window.open(url, '_blank')\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.IMPORT_TRIP]: async ({ getters }: any, payload: any = {}) => {\n const { companyId, trip } = payload\n if (!companyId || !trip.id) return\n\n try {\n const { services } = getters[CONFIG_STORE_GETTERS.CONFIG]\n const url = `${services.api.url}/integrations/v1/export/${companyId}/export-report/${trip.id}?access_token=${localStorage.token}`\n return await Axios.get(url, { responseType: 'blob' })\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.GET_ALLOWANCE]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { companyId, tripId } = payload\n if (!companyId || !tripId) return\n const { data: allowance = [] } = await Axios.get(`@coreapi/companies/${companyId}/trips/${tripId}/allowance`)\n commit(TRIPS_STORE_MUTATIONS.SET_DAILY_ALLOWANCE, { tripId, allowance })\n return allowance\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.SAVE_ALLOWANCE]: async (\n { commit }: any,\n payload: { companyId?: string | number; tripId?: string | number; newAllowanceEntry?: DailyAllowanceItem } = {}\n ) => {\n const { companyId, tripId, newAllowanceEntry } = payload\n if (!companyId || !tripId) return\n\n try {\n return Axios.post(`@coreapi/companies/${companyId}/trips/${tripId}/allowance`, newAllowanceEntry).then(\n ({ data = {} }) => {\n commit(TRIPS_STORE_MUTATIONS.SET_DAILY_ALLOWANCE_ITEM, { tripId, allowanceEntry: data })\n }\n )\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.UPDATE_ALLOWANCE]: async ({ commit }: any, payload: any = {}) => {\n const { companyId, tripId, allowanceEntry } = payload\n const entryPayload = { ...allowanceEntry }\n delete entryPayload.id\n if (!companyId || !tripId || !allowanceEntry.id) return\n\n try {\n return Axios.put(\n `@coreapi/companies/${companyId}/trips/${tripId}/allowance/${allowanceEntry.id}`,\n entryPayload\n ).then(({ data = {} }) => {\n commit(TRIPS_STORE_MUTATIONS.SET_DAILY_ALLOWANCE_ITEM, { tripId, allowanceEntry: data })\n })\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.DELETE_ALLOWANCE]: async ({ commit }: any, payload: any = {}) => {\n const { companyId, tripId, allowanceEntryId } = payload\n if (!companyId || !tripId || !allowanceEntryId) return\n\n try {\n return Axios.delete(`@coreapi/companies/${companyId}/trips/${tripId}/allowance/${allowanceEntryId}`).then(() => {\n commit(TRIPS_STORE_MUTATIONS.REMOVE_DAILY_ALLOWANCE_ITEM, { tripId, allowanceEntryId })\n })\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.GET_STATEMENT]: async ({ commit }: any, payload: any = {}) => {\n const { companyId, tripId } = payload\n if (!companyId || !tripId) return\n\n try {\n return Axios.get(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`).then(\n ({ data: statement = {} }) => {\n commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT, { tripId, statement })\n return statement\n }\n )\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.DELETE_STATEMENT]: async ({ commit }: any, payload: any = {}) => {\n const { companyId, tripId } = payload\n if (!companyId || !tripId) return\n\n try {\n return Axios.delete(`@coreapi/companies/${companyId}/card-reports/${tripId}/statement`).then(() => {\n commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT, { tripId, statement: {} })\n })\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.GET_STATEMENT_FORMATS]: async ({ commit }: any, payload: any = {}) => {\n const { companyId } = payload\n\n if (!companyId) return\n\n try {\n return Axios.get(`@coreapi/companies/${companyId}/card-reports/supported-statement-formats`).then(\n ({ data: supportedFormats = [] }) => {\n const banksMerged: Array = []\n supportedFormats.forEach((bank: BankFormat) => {\n const existingIndex = banksMerged.findIndex(({ id, country }) => id === bank.id && country === bank.country)\n if (existingIndex > -1) {\n banksMerged[existingIndex].format = `${banksMerged[existingIndex].format}, ${bank.format}`\n } else {\n banksMerged.push(bank)\n }\n })\n commit(TRIPS_STORE_MUTATIONS.SET_STATEMENT_FORMATS, banksMerged)\n return banksMerged\n }\n )\n } catch (error) {\n throw error\n }\n },\n [TRIPS_STORE_ACTIONS.UPDATE_TRIP_VALUES]: async ({ commit, dispatch }: any, payload: any = {}) => {\n try {\n const { company = {}, trip = {}, values = {} } = payload\n\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, true)\n\n const { data } = await Axios.put(`@api/core/v1/companies/${company.id}/trips/${trip.id}`, values)\n\n commit(TRIPS_STORE_MUTATIONS.SET_TRIP_VALUES, { trip, values: { ...data } })\n } catch (error) {\n throw error\n } finally {\n dispatch(SETTING_STORE_ACTIONS.UPDATE_LOADING_STATE, false)\n }\n }\n}\n","import { TRIPS_STORE_GETTERS, TRIPS_STORE_STATE } from '@/enums'\n\nimport { TripsStoreState, Trip } from '@/models'\n\nexport default {\n [TRIPS_STORE_GETTERS.TRIPS]: (state: TripsStoreState): any => {\n return state[TRIPS_STORE_STATE.TRIPS] || {}\n },\n [TRIPS_STORE_GETTERS.ALLOWANCE]: (state: any): any => {\n return state[TRIPS_STORE_STATE.ALLOWANCE] || {}\n },\n [TRIPS_STORE_GETTERS.STATEMENT]: (state: any): any => {\n return state[TRIPS_STORE_STATE.STATEMENT] || {}\n },\n [TRIPS_STORE_GETTERS.STATEMENT_FORMATS]: (state: any): any => {\n return state[TRIPS_STORE_STATE.STATEMENT_FORMATS] || []\n }\n}\n","import { TRIPS_STORE_STATE } from '@/enums'\n\nexport default {\n [TRIPS_STORE_STATE.TRIPS]: {},\n [TRIPS_STORE_STATE.ALLOWANCE]: {},\n [TRIPS_STORE_STATE.STATEMENT]: {},\n [TRIPS_STORE_STATE.STATEMENT_FORMATS]: []\n}\n","import mutations from './trips.mutations'\nimport actions from './trips.actions'\nimport getters from './trips.getters'\nimport state from './trips.state'\n\nexport default {\n mutations,\n actions,\n getters,\n state\n}\n","import type { MutationMap } from './mutations'\nimport type { GetterMap } from './getters'\nimport type { ActionMap } from './actions'\nimport { CustomStoreModule, ModuleMap } from './modules'\nimport { ActionTree, createStore, GetterTree, Module, ModuleTree, MutationTree, StoreOptions } from 'vuex'\nimport { CustomVuexStore } from './store'\n\nexport function createVuexStoreRoot<\n TRootState,\n TRootGetters extends GetterMap,\n TRootMutations extends MutationMap,\n TRootActions extends ActionMap\n>(root: { state?: TRootState; getters?: TRootGetters; mutations?: TRootMutations; actions?: TRootActions }) {\n function createModule<\n TPrefix extends string,\n TState,\n TGetters extends GetterMap,\n TMutations extends MutationMap,\n TActions extends ActionMap<\n TRootState,\n TRootGetters,\n TRootMutations,\n TRootActions,\n TState,\n TGetters,\n TMutations,\n TActions\n >\n >(\n prefix: TPrefix,\n module: {\n namespaced?: boolean\n state: TState\n getters?: TGetters\n mutations?: TMutations\n actions?: TActions\n }\n ): CustomStoreModule {\n // @ts-ignore \n return module\n }\n\n function mount>(\n options: Omit, 'modules'> & { modules: TModules }\n ) {\n const store = createStore({\n ...options,\n state: root.state,\n getters: root.getters as GetterTree | undefined,\n mutations: root.mutations as MutationTree,\n actions: root.actions as unknown as ActionTree,\n modules: options.modules as ModuleTree,\n })\n\n return store as unknown as CustomVuexStore\n }\n\n return { createModule, mount }\n}\n","import { createVuexStoreRoot } from '@/lib/vuex-types/root'\n\nexport const root = createVuexStoreRoot({\n state: {\n },\n getters: {\n },\n mutations: {\n },\n actions: {\n }\n})\n","import { Company, CompanySettings } from '@/models'\nimport errorHandler from '@/lib/errorHandler'\nimport { root } from '@/store/store.root'\nimport axios from 'axios'\n\nimport {\n COMPANIES_STORE_MUTATIONS,\n COMPANIES_STORE_ACTIONS,\n COMPANIES_STORE_GETTERS,\n COMPANIES_STORE_STATE\n} from '@/enums'\n\nexport const companies = root.createModule('companies', {\n state: {\n [COMPANIES_STORE_STATE.COMPANIES]: {} as { [key: PropertyKey]: Company },\n [COMPANIES_STORE_STATE.ACTIVE_COMPANY]: undefined as Company | undefined\n },\n getters: {\n [COMPANIES_STORE_GETTERS.COMPANIES]: (state) => {\n return state[COMPANIES_STORE_STATE.COMPANIES]\n },\n [COMPANIES_STORE_GETTERS.ACTIVE_COMPANY]: (state) => {\n return state[COMPANIES_STORE_STATE.ACTIVE_COMPANY]\n }\n },\n mutations: {\n [COMPANIES_STORE_MUTATIONS.SET_COMPANIES]: (state, companies: Company[]) => {\n for (const company of companies) {\n if (state[COMPANIES_STORE_STATE.COMPANIES][company.id]) {\n state[COMPANIES_STORE_STATE.COMPANIES][company.id] = {\n ...state[COMPANIES_STORE_STATE.COMPANIES][company.id],\n ...company\n }\n } else {\n state[COMPANIES_STORE_STATE.COMPANIES][company.id] = company\n }\n }\n },\n [COMPANIES_STORE_MUTATIONS.SET_COMPANY_VALUES]: (\n state,\n payload: { companyId: number; values: Partial; disableCurrent?: boolean }\n ) => {\n const { companyId, values } = payload\n\n state[COMPANIES_STORE_STATE.COMPANIES][companyId] = {\n ...(!payload.disableCurrent ? state[COMPANIES_STORE_STATE.COMPANIES][companyId] : {} as any),\n ...values\n }\n },\n [COMPANIES_STORE_MUTATIONS.SET_COMPANY_SETTINGS]: (\n state,\n payload: { companyId: number; updatedSettings: Partial }\n ) => {\n const { companyId, updatedSettings } = payload\n\n if (state[COMPANIES_STORE_STATE.COMPANIES][companyId]) {\n for (const [key, value] of Object.entries(updatedSettings)) {\n //@ts-ignore\n state[COMPANIES_STORE_STATE.COMPANIES][companyId]['settings'][key] = value\n }\n }\n }\n },\n actions: {\n [COMPANIES_STORE_ACTIONS.GET_COMPANIES]: async ({ commit }) => {\n try {\n const { data: companies = [] } = await axios.get('@api/core/v1/companies?includeRoles=true')\n\n companies.forEach((company: any) => delete company.settings)\n\n commit(COMPANIES_STORE_MUTATIONS.SET_COMPANIES, companies)\n\n return companies\n } catch (error: any) {\n errorHandler(COMPANIES_STORE_ACTIONS.GET_COMPANIES, error)\n }\n },\n [COMPANIES_STORE_ACTIONS.GET_COMPANY_ROLES]: async (_, payload: { companyId: number }) => {\n try {\n const { data = [] } = await axios.get(`@api/core/v1/companies/${payload.companyId}/roles`)\n\n return data\n } catch (error: any) {\n errorHandler(COMPANIES_STORE_ACTIONS.GET_COMPANY_ROLES, error)\n }\n },\n [COMPANIES_STORE_ACTIONS.SEND_INVITE]: async (\n { commit, state },\n payload: { companyId: number; user: { language: string; email: string; isAdmin: boolean } }\n ) => {\n try {\n const { companyId, user } = payload\n\n const { data = {} } = await axios.post(\n `@api/core/v1/companies/${companyId}/roles?invitationLang=${user.language}`,\n {\n email: user.email,\n accountant: user.isAdmin\n }\n )\n\n commit(COMPANIES_STORE_MUTATIONS.SET_COMPANY_VALUES, {\n companyId,\n values: {\n companyRoles: [...(state[COMPANIES_STORE_STATE.COMPANIES]?.[companyId].companyRoles || []), data]\n }\n })\n\n return data\n } catch (error: any) {\n errorHandler(COMPANIES_STORE_ACTIONS.SEND_INVITE, error)\n }\n },\n [COMPANIES_STORE_ACTIONS.GET_COMPANY]: async ({ commit }: any, id: string | number) => {\n try {\n const { data: company } = await axios.get(`@api/core/v1/companies/${id}`)\n\n commit(COMPANIES_STORE_MUTATIONS.SET_COMPANIES, [company])\n\n return company\n } catch (error: any) {\n errorHandler(COMPANIES_STORE_ACTIONS.GET_COMPANY, error)\n }\n },\n [COMPANIES_STORE_ACTIONS.UPDATE_SETTINGS]: async (\n { commit },\n payload: { companyId: number; settings: Partial }\n ) => {\n try {\n const { companyId, settings } = payload\n\n const { data: updatedSettings = {} } = await axios.post(\n `@coreapi/companies/${companyId}/settings/features`,\n settings\n )\n\n commit(COMPANIES_STORE_MUTATIONS.SET_COMPANY_SETTINGS, { companyId, updatedSettings })\n\n return updatedSettings\n } catch (error: any) {\n errorHandler(COMPANIES_STORE_ACTIONS.UPDATE_SETTINGS, error)\n throw error\n }\n }\n }\n})\n","import { USERS_STORE_ACTIONS, USERS_STORE_GETTERS, USERS_STORE_MUTATIONS, USERS_STORE_STATE } from '@/enums'\nimport errorHandler from '@/lib/errorHandler'\nimport { root } from '@/store/store.root'\nimport { User } from '@/models'\nimport Axios from 'axios'\n\nexport const users = root.createModule('users', {\n state: {\n [USERS_STORE_STATE.ACTIVE_USER]: undefined as undefined | User\n },\n getters: {\n [USERS_STORE_GETTERS.ACTIVE_USER]: (state, getters, rootState, rootGetters) => {\n \n return state[USERS_STORE_STATE.ACTIVE_USER]\n } \n },\n mutations: {\n [USERS_STORE_MUTATIONS.SET_USER]: (state, user: User) => {\n state[USERS_STORE_STATE.ACTIVE_USER] = user\n }\n },\n actions: {\n [USERS_STORE_ACTIONS.GET_USER]: async ({ commit }) => {\n try {\n const { data = {} } = await Axios.get('@coreapi/user')\n commit(USERS_STORE_MUTATIONS.SET_USER, data)\n \n return data\n } catch (error: any) {\n errorHandler(USERS_STORE_ACTIONS.GET_USER, error)\n \n // clear auth state\n localStorage.removeItem('token')\n }\n },\n [USERS_STORE_ACTIONS.UPDATE_USER]: async ({ commit }: any, payload: any = {}) => {\n try {\n const { data = {} } = await Axios.put('@coreapi/user/edit', payload)\n commit(USERS_STORE_MUTATIONS.SET_USER, data)\n \n return data\n } catch (error: any) {\n throw error\n }\n }\n }\n})","\nimport Requests from './modules/requests.store'\nimport Receipts from './modules/receipts.store'\n\nimport Auth from './modules/auth'\nimport Accounting from './modules/accounting'\nimport AccountingSettings from './modules/accounting-settings'\nimport Approvals from './modules/approvals'\nimport ApprovalSettings from './modules/approvals-settings'\nimport Companies from './modules/companies'\nimport Config from './modules/config'\nimport CostTypes from './modules/cost-types'\nimport Integrations from './modules/integrations'\nimport Mileage from './modules/mileage'\nimport Overview from './modules/overview'\nimport Transactions from './modules/transactions'\nimport Payments from './modules/payment-methods'\nimport _Receipts from './modules/receipts'\nimport Setting from './modules/setting'\nimport Trips from './modules/trips'\n\nimport { companies } from './modules/companies/companies.store'\nimport { users } from './modules/users/users.store'\n\nimport { root } from '@/store/store.root'\nimport { createLogger } from 'vuex'\n\nconst debug = location.hostname === 'localhost' || location.hostname === '127.0.0.1'\n\nexport const xstore = root.mount({\n strict: debug,\n plugins: debug ? [createLogger()] : [],\n modules: {\n users,\n Auth,\n Accounting,\n AccountingSettings,\n Approvals,\n ApprovalSettings,\n companies,\n Config,\n CostTypes,\n Integrations,\n Mileage,\n Overview,\n Payments,\n Requests,\n _Receipts,\n Receipts,\n Setting,\n Trips,\n Transactions\n }\n})\n\nexport default xstore\n\ndeclare module '@vue/runtime-core' {\n interface ComponentCustomProperties {\n $store: typeof xstore\n }\n}","\n\n\n\n\n","import { render } from \"./UiSelectTransparent.vue?vue&type=template&id=55e23c5c&scoped=true\"\nimport script from \"./UiSelectTransparent.vue?vue&type=script&lang=js\"\nexport * from \"./UiSelectTransparent.vue?vue&type=script&lang=js\"\n\nimport \"./UiSelectTransparent.vue?vue&type=style&index=0&id=55e23c5c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-55e23c5c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiNavigationDrawer.vue?vue&type=template&id=6c695eeb&scoped=true\"\nimport script from \"./UiNavigationDrawer.vue?vue&type=script&lang=js\"\nexport * from \"./UiNavigationDrawer.vue?vue&type=script&lang=js\"\n\nimport \"./UiNavigationDrawer.vue?vue&type=style&index=0&id=6c695eeb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6c695eeb\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiImagePreview.vue?vue&type=template&id=2c53bcaa&scoped=true\"\nimport script from \"./UiImagePreview.vue?vue&type=script&lang=js\"\nexport * from \"./UiImagePreview.vue?vue&type=script&lang=js\"\n\nimport \"./UiImagePreview.vue?vue&type=style&index=0&id=2c53bcaa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2c53bcaa\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UiInputChips.vue?vue&type=template&id=01b45c7a&scoped=true\"\nimport script from \"./UiInputChips.vue?vue&type=script&lang=js\"\nexport * from \"./UiInputChips.vue?vue&type=script&lang=js\"\n\nimport \"./UiInputChips.vue?vue&type=style&index=0&id=01b45c7a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-01b45c7a\"]])\n\nexport default __exports__","\n\n\n\n","import script from \"./UiDatepicker.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./UiDatepicker.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./UiDatepicker.vue?vue&type=style&index=0&id=49914ffe&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiFabButton.vue?vue&type=template&id=75d2dff4&scoped=true\"\nimport script from \"./UiFabButton.vue?vue&type=script&lang=js\"\nexport * from \"./UiFabButton.vue?vue&type=script&lang=js\"\n\nimport \"./UiFabButton.vue?vue&type=style&index=0&id=75d2dff4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-75d2dff4\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiPopupMenu.vue?vue&type=template&id=9dcdc270&scoped=true\"\nimport script from \"./UiPopupMenu.vue?vue&type=script&lang=js\"\nexport * from \"./UiPopupMenu.vue?vue&type=script&lang=js\"\n\nimport \"./UiPopupMenu.vue?vue&type=style&index=0&id=9dcdc270&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9dcdc270\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiSearchBar.vue?vue&type=template&id=7489b9ca&scoped=true\"\nimport script from \"./UiSearchBar.vue?vue&type=script&lang=js\"\nexport * from \"./UiSearchBar.vue?vue&type=script&lang=js\"\n\nimport \"./UiSearchBar.vue?vue&type=style&index=0&id=7489b9ca&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7489b9ca\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiCheckbox.vue?vue&type=template&id=e05d8492&scoped=true\"\nimport script from \"./UiCheckbox.vue?vue&type=script&lang=js\"\nexport * from \"./UiCheckbox.vue?vue&type=script&lang=js\"\n\nimport \"./UiCheckbox.vue?vue&type=style&index=0&id=e05d8492&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e05d8492\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiInfoBox.vue?vue&type=template&id=867e6936&scoped=true\"\nimport script from \"./UiInfoBox.vue?vue&type=script&lang=js\"\nexport * from \"./UiInfoBox.vue?vue&type=script&lang=js\"\n\nimport \"./UiInfoBox.vue?vue&type=style&index=0&id=867e6936&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-867e6936\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiSelect.vue?vue&type=template&id=26287019&scoped=true\"\nimport script from \"./UiSelect.vue?vue&type=script&lang=js\"\nexport * from \"./UiSelect.vue?vue&type=script&lang=js\"\n\nimport \"./UiSelect.vue?vue&type=style&index=0&id=26287019&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-26287019\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiSwitch.vue?vue&type=template&id=3ed07a71&scoped=true\"\nimport script from \"./UiSwitch.vue?vue&type=script&lang=js\"\nexport * from \"./UiSwitch.vue?vue&type=script&lang=js\"\n\nimport \"./UiSwitch.vue?vue&type=style&index=0&id=3ed07a71&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3ed07a71\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiButton.vue?vue&type=template&id=8a4ba900&scoped=true\"\nimport script from \"./UiButton.vue?vue&type=script&lang=js\"\nexport * from \"./UiButton.vue?vue&type=script&lang=js\"\n\nimport \"./UiButton.vue?vue&type=style&index=0&id=8a4ba900&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8a4ba900\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiButtonDesktop.vue?vue&type=template&id=59f50026&scoped=true\"\nimport script from \"./UiButtonDesktop.vue?vue&type=script&lang=js\"\nexport * from \"./UiButtonDesktop.vue?vue&type=script&lang=js\"\n\nimport \"./UiButtonDesktop.vue?vue&type=style&index=0&id=59f50026&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-59f50026\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UiButtonSwitch.vue?vue&type=template&id=220c499f&scoped=true\"\nimport script from \"./UiButtonSwitch.vue?vue&type=script&lang=js\"\nexport * from \"./UiButtonSwitch.vue?vue&type=script&lang=js\"\n\nimport \"./UiButtonSwitch.vue?vue&type=style&index=0&id=220c499f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-220c499f\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UiFileUploadButton.vue?vue&type=template&id=7a65cd7c&scoped=true\"\nimport script from \"./UiFileUploadButton.vue?vue&type=script&lang=js\"\nexport * from \"./UiFileUploadButton.vue?vue&type=script&lang=js\"\n\nimport \"./UiFileUploadButton.vue?vue&type=style&index=0&id=7a65cd7c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7a65cd7c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiLoader.vue?vue&type=template&id=5483533a&scoped=true\"\nimport script from \"./UiLoader.vue?vue&type=script&lang=js\"\nexport * from \"./UiLoader.vue?vue&type=script&lang=js\"\n\nimport \"./UiLoader.vue?vue&type=style&index=0&id=5483533a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5483533a\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiInput.vue?vue&type=template&id=da7f6f2e&scoped=true\"\nimport script from \"./UiInput.vue?vue&type=script&lang=js\"\nexport * from \"./UiInput.vue?vue&type=script&lang=js\"\n\nimport \"./UiInput.vue?vue&type=style&index=0&id=da7f6f2e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-da7f6f2e\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiModal.vue?vue&type=template&id=4170ff80&scoped=true\"\nimport script from \"./UiModal.vue?vue&type=script&lang=js\"\nexport * from \"./UiModal.vue?vue&type=script&lang=js\"\n\nimport \"./UiModal.vue?vue&type=style&index=0&id=4170ff80&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4170ff80\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UiHeader.vue?vue&type=template&id=6379fd14&scoped=true\"\nimport script from \"./UiHeader.vue?vue&type=script&lang=js\"\nexport * from \"./UiHeader.vue?vue&type=script&lang=js\"\n\nimport \"./UiHeader.vue?vue&type=style&index=0&id=6379fd14&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6379fd14\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UiTooltip.vue?vue&type=template&id=4a8a1d53&scoped=true\"\nimport script from \"./UiTooltip.vue?vue&type=script&lang=js\"\nexport * from \"./UiTooltip.vue?vue&type=script&lang=js\"\n\nimport \"./UiTooltip.vue?vue&type=style&index=0&id=4a8a1d53&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a8a1d53\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./UiCard.vue?vue&type=template&id=3f5f5e98&scoped=true\"\nimport script from \"./UiCard.vue?vue&type=script&lang=js\"\nexport * from \"./UiCard.vue?vue&type=script&lang=js\"\n\nimport \"./UiCard.vue?vue&type=style&index=0&id=3f5f5e98&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3f5f5e98\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./UiRadio.vue?vue&type=template&id=4005b750&scoped=true\"\nimport script from \"./UiRadio.vue?vue&type=script&lang=js\"\nexport * from \"./UiRadio.vue?vue&type=script&lang=js\"\n\nimport \"./UiRadio.vue?vue&type=style&index=0&id=4005b750&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4005b750\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./UploadWarning.vue?vue&type=template&id=6a61bf96&scoped=true\"\nimport script from \"./UploadWarning.vue?vue&type=script&lang=js\"\nexport * from \"./UploadWarning.vue?vue&type=script&lang=js\"\n\nimport \"./UploadWarning.vue?vue&type=style&index=0&id=6a61bf96&lang=scss&scoped=true\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6a61bf96\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Spinner.vue?vue&type=template&id=6f2db7de\"\nimport script from \"./Spinner.vue?vue&type=script&lang=js\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js\"\n\nimport \"./Spinner.vue?vue&type=style&index=0&id=6f2db7de&lang=scss\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import UiSelectTransparent from '@ui/components/UiSelectTransparent.vue'\nimport UiNavigationDrawer from '@ui/components/UiNavigationDrawer.vue'\nimport UiImagePreview from '@ui/components/UiImagePreview.vue'\nimport UiInputChips from '@ui/components/UiInputChips.vue'\nimport UiDatepicker from '@ui/components/UiDatepicker.vue'\nimport UiFabButton from '@ui/components/UiFabButton.vue'\nimport UiPopupMenu from '@ui/components/UiPopupMenu.vue'\nimport UiSearchBar from '@ui/components/UiSearchBar.vue'\nimport UiCheckbox from '@ui/components/UiCheckbox.vue'\nimport UiInfoBox from '@ui/components/UiInfoBox.vue'\nimport UiSelect from '@ui/components/UiSelect.vue'\nimport UiSwitch from '@ui/components/UiSwitch.vue'\nimport UiButton from '@ui/components/UiButton.vue'\nimport UiButtonDesktop from '@ui/components/UiButtonDesktop.vue'\nimport UiButtonSwitch from '@ui/components/UiButtonSwitch.vue'\nimport UiFileUploadButton from '@ui/components/UiFileUploadButton.vue'\nimport UiLoader from '@ui/components/UiLoader.vue'\nimport UiInput from '@ui/components/UiInput.vue'\nimport UiModal from '@ui/components/UiModal.vue'\nimport UiHeader from '@ui/components/UiHeader.vue'\nimport UiTooltip from '@ui/components/UiTooltip.vue'\nimport UiCard from '@ui/components/UiCard.vue'\nimport UiRadio from '@ui/components/UiRadio.vue'\n\nimport UploadWarning from './UploadWarning.vue'\nimport Spinner from './Spinner'\n\nexport const registerStaticComponents = {\n install: (app) => {\n app.component('ui-select-transparent', UiSelectTransparent)\n app.component('ui-navigation-drawer', UiNavigationDrawer)\n app.component('ui-image-preview', UiImagePreview)\n app.component('ui-input-chips', UiInputChips) \n app.component('ui-fab-button', UiFabButton)\n app.component('ui-popup-menu', UiPopupMenu)\n app.component('ui-search-bar', UiSearchBar)\n app.component('ui-checkbox', UiCheckbox)\n app.component('ui-info-box', UiInfoBox)\n app.component('ui-switch', UiSwitch)\n app.component('ui-select', UiSelect)\n app.component('ui-button', UiButton)\n app.component('ui-button-desktop', UiButtonDesktop)\n app.component('ui-button-switch', UiButtonSwitch)\n app.component('ui-file-upload-button', UiFileUploadButton)\n app.component('ui-header', UiHeader)\n app.component('ui-loader', UiLoader)\n app.component('ui-input', UiInput)\n app.component('ui-modal', UiModal)\n app.component('ui-card', UiCard)\n app.component('ui-radio', UiRadio)\n app.component('ui-tooltip', UiTooltip)\n app.component('upload-warning', UploadWarning)\n app.component('cp-spinner', Spinner)\n }\n}\n\nexport const registerDynamicComponents = {\n install: (app) => {\n app.component('UiDatepicker', UiDatepicker)\n }\n}","\nconst Latvia = require('./countries/latvia')\n, Sweden = require('./countries/sweden')\n, Lithuania = require('./countries/lithuania')\n, Poland = require('./countries/poland')\n, moment = require('moment')\n, _ = require('lodash-es')\n\n// TODO: move everything to allowanceCalculator\nmodule.exports = {\ncalculate: function (trip, trips, country) {\n // ERROR IF MISSING TRIP, TRIPS OR COUNTRY\n if (!trip || !trips || !country) {\n return { error: 'trip, trips or country missing', errorCode: 'tripTripsOrCountryMissing' }\n }\n // VALIDATE STARTDATE\n if (!moment(trip.startDate, 'YYYY-MM-DD').isValid()) {\n return { error: 'Start date not valid', errorCode: 'startDateNotValid' }\n }\n // VALIDATE ENDDATE\n if (!moment(trip.endDate, 'YYYY-MM-DD').isValid()) {\n return { error: 'End date not valid', errorCode: 'endDateNotValid' }\n }\n // ERROR IF END IS BEFORE BEGINNING\n if (moment(trip.endDate).isBefore(trip.startDate)) {\n return { error: 'End is before beginning', errorCode: 'endIsBeforeBeginning' }\n }\n // ONLY CALCULATE WITH TRAVEL REPORTS, CAN COME AS ARRAY OR OBJECT\n let onlyTravelReports = []\n _.each(trips, function (oneTrip) {\n if (oneTrip.type === 'travel') {\n onlyTravelReports.push(oneTrip)\n }\n })\n // REMOVE IF SAME TRIP IS EDITED\n onlyTravelReports = onlyTravelReports.filter(function (oneTrip) {\n // IN CASE NO TRIP.ID IS SET, THIS CAN'T BE EDIT\n if (!trip.id) return oneTrip\n // IF TRIP.ID IS SET, MAKE SURE IT DOES NOT MATCH\n else return Number(oneTrip.id) !== Number(trip.id)\n })\n // RETURN ONLY ACTIVE\n onlyTravelReports = onlyTravelReports.filter(function (oneTrip) {\n // RETURN ONLY IF ALLOWANCE IS TRUE\n return oneTrip.includesDailyAllowance\n })\n\n if (country === 'LV') {\n return trip = Latvia(trip, onlyTravelReports)\n } else if (country === 'SE') {\n return trip = Sweden(trip, onlyTravelReports)\n } else if (country === 'LT') {\n return trip = Lithuania(trip, onlyTravelReports)\n } else if (country === 'PL') {\n return trip = Poland(trip, onlyTravelReports)\n } else {\n return { error: 'Country not supported', errorCode: 'countryNotSupported' }\n }\n}\n}\n","const latviaForeignTravelPerDiems = require('../data/latviaForeignTravelPerDiems')\nconst { each, times } = require('lodash-es')\nconst moment = require('moment')\n\nmodule.exports = function(tripInput, tripsInput) {\n let sum = 0\n let warning = false\n let overlappingDates = {}\n let newTripFirstDay = tripInput.startDate\n let oldTripEndDates = []\n let dataPerDestination = []\n\n // CREATE CALENDAR OBJECTS FROM EXISTING TRIPS AND THE NEW TRIP\n const oldTrips = createTripCalendar(tripsInput, false).tripCalendar\n const result = createTripCalendar([tripInput], true)\n const newTrip = result.tripCalendar\n const days = result.tripDays\n dataPerDestination = result.dataPerDestination\n\n each(tripsInput, trip => {\n oldTripEndDates.push(trip.endDate)\n })\n\n each(newTrip, (days, month) => {\n // GO OVER EVERY DAY IN MONTH\n each(days, (_, day) => {\n // IF EMPLOYEE HAS TWO DIFFERENT TRAVEL ASSIGNMENTS\n // AND NEXT TRIP STARTS THE SAME DAY AS PREVIOUS\n // TRIP ENDS, CALCULATE ALLOWANCE FOR BOTH TRIPS\n let endIsStart = `${month}-${day}` === newTripFirstDay && oldTripEndDates.includes(newTripFirstDay)\n\n if (oldTrips[month] && oldTrips[month][day] && !endIsStart) {\n // IF THIS DAY ALREADY EXISTS IN ANOTHER TRAVEL REPORT, DON'T ADD IT\n newTrip[month][day].perDiem = 0\n // SHOW WARNING TO USER THAT ALLOWANCE IS TAKEN OFF\n warning = true\n if (!overlappingDates[month]) overlappingDates[month] = []\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\n }\n // ADD ALLOWANCE TO TOTAL SUM\n sum = Number((sum + Number(newTrip[month][day].perDiem || 0)).toFixed(2))\n\n // CALCULATE SUM AND DAYS PER DESTINATION\n let destinationInfo = dataPerDestination.find(item => item.index === newTrip[month][day].index)\n if (destinationInfo) {\n destinationInfo.sum = Number((destinationInfo.sum + Number(newTrip[month][day].perDiem || 0)).toFixed(2))\n destinationInfo.days++\n }\n })\n })\n\n //SORT OVERLAPPING DATES IN ASCENDING ORDER\n each(overlappingDates, (_, month) => {\n overlappingDates[month].sort((a, b) => a - b)\n })\n\n return {\n days,\n sum,\n dataPerDestination,\n warning,\n overlappingDates\n }\n}\n\nfunction calendarPerDestination(destination, startDate, endDate, returned, meal, noWeekends, maxAllowance, index = '' ) {\n let calendar = {}\n let start = moment(startDate)\n let end = moment(endDate)\n let tripDays = end.diff(start, 'days') + 1\n\n times(tripDays, function(d) {\n // GET CURRENT DAY AND SET day AND month FOR tripCalendar\n let currentDay = start.clone().add(d, 'days')\n\n let day = currentDay.format('DD').toString()\n let dayOfWeek = currentDay.day()\n let month = currentDay.format('YYYY-MM').toString()\n\n // GET SUM OF MONEY TO PAY FOR EACH DAY\n let perDiem = latviaForeignTravelPerDiems[destination]\n\n if (!perDiem) {\n // IF THE PER DIEMS LIST DIDN'T HAVE DESTINATION COUNTRY LISTED, DEFAULT IS 30 EUR\n perDiem = 30\n }\n\n if (returned) {\n // IF EMPLOYEE RETURNED HOME FOR THE NIGHT, 50% OF ALLOWANCE IS CALCULATED\n perDiem = perDiem / 2\n }\n\n if (meal) {\n // IF 3 MEALS PER DAY AND ACCOMODATION WAS REIMBURSED, 30% OF ALLOWANCE IS CALCULATED\n perDiem = Number((perDiem * 0.3).toFixed(2))\n }\n\n if (maxAllowance) {\n // IF COMPANY HAS MAXIMUM ALLOWANCE, MAKE SURE PER DIEM IS NOT LARGER\n perDiem = perDiem > maxAllowance ? maxAllowance : perDiem\n }\n\n // IF ALLOWANCE FOR WEEKENDS IS NOT PAID AND CURRENT DAY IS ON WEEKEND\n if (noWeekends && (dayOfWeek === 6 || dayOfWeek === 0)) {\n perDiem = 0\n }\n\n // CREATE MONTH IF DOES NOT EXIST\n if (!calendar[month]) calendar[month] = {}\n // CREATE DAY IF DOES NOT EXIST \n if (!calendar[month][day]) calendar[month][day] = {}\n // ADD TO CALENDAR DAILY ALLOWANCE SUM FOR EACH DAY\n calendar[month][day].perDiem = perDiem\n calendar[month][day].index = index\n })\n return calendar\n}\n\nfunction mergeCalendars(tripCalendar, oneDestinationCalendar) {\n Object.keys(oneDestinationCalendar).forEach(month => {\n if (tripCalendar[month]) {\n tripCalendar[month] = { ...tripCalendar[month], ...oneDestinationCalendar[month] }\n } else {\n tripCalendar[month] = oneDestinationCalendar[month]\n }\n })\n}\n\nfunction createTripCalendar(trips, isNewTrip) {\n let tripCalendar = {}\n let dataPerDestination = []\n // WALK THROUGH ALL AVAILABLE TRIPS\n each(trips, function(trip) {\n const { destination, destinations, returnOvernight, mealAndAccomodation, excludeWeekends, maxAllowance } = trip.dailyAllowanceInfo\n let start = moment(trip.startDate)\n\n // IF TRIP LASTS ONE DAY AND EMPLOYEE RETURNS HOME OVERNIGHT, NO ALLOWANCE IS PAID\n if (returnOvernight && trip.startDate === trip.endDate) {\n let month = start\n .clone()\n .format('YYYY-MM')\n .toString()\n\n let day = start\n .clone()\n .format('DD')\n .toString()\n\n // CREATE MONTH IF DOES NOT EXIST\n if (!tripCalendar[month]) tripCalendar[month] = {}\n // ADD TO CALENDAR DAILY ALLOWANCE SUM FOR EACH DAY\n tripCalendar[month][day] = 0\n return\n }\n\n if (destinations && destinations.length > 0) {\n trip.dailyAllowanceInfo.destinations.forEach(dest => {\n let oneDestinationData = calendarPerDestination(\n dest.destination,\n dest.startDate,\n dest.endDate,\n returnOvernight,\n mealAndAccomodation,\n excludeWeekends,\n maxAllowance,\n dest.index\n )\n if (isNewTrip) {\n dataPerDestination.push({ sum: 0, days: 0, index: dest.index })\n }\n mergeCalendars(tripCalendar, oneDestinationData)\n })\n } else {\n let oneDestinationData = calendarPerDestination(\n destination,\n trip.startDate,\n trip.endDate,\n returnOvernight,\n mealAndAccomodation,\n excludeWeekends,\n maxAllowance\n )\n mergeCalendars(tripCalendar, oneDestinationData)\n }\n })\n\n // COUNT AMOUNT OF DAYS SPENT IN TRIP\n let tripDays = 0\n Object.keys(tripCalendar).forEach(month => {\n Object.keys(tripCalendar[month]).forEach(() => {\n tripDays++\n })\n })\n\n return {\n tripCalendar,\n tripDays,\n dataPerDestination\n }\n}\n","const lithuaniaPerDiems2022 = require('../data/lithuaniaPerDiems2022')\nconst lithuaniaPerDiems2023 = require('../data/lithuaniaPerDiems2023')\nconst { each, times } = require('lodash-es')\nconst moment = require('moment')\n\nmodule.exports = function (tripInput, tripsInput) {\n let sum = 0\n let warning = false\n let overlappingDates = {}\n let newTripFirstDay = tripInput.startDate\n let oldTripEndDates = []\n\n // CREATE CALENDAR OBJECTS FROM EXISTING TRIPS AND THE NEW TRIP\n let oldTrips = createPreviousTripCalendar(tripsInput)\n let newTrip = createTripCalendar(tripInput)\n let days = calculateTripDays(newTrip)\n let dataPerDestination = []\n\n each(tripsInput, (trip) => {\n oldTripEndDates.push(trip.endDate)\n })\n\n each(newTrip, (days, month) => {\n // GO OVER EVERY DAY IN MONTH\n each(days, (_, day) => {\n let endIsStart = `${month}-${day}` === newTripFirstDay && oldTripEndDates.includes(newTripFirstDay)\n if (oldTrips[month] && oldTrips[month][day] && !endIsStart) {\n // IF THIS DAY ALREADY EXISTS IN ANOTHER TRAVEL REPORT, DON'T ADD IT\n newTrip[month][day].perDiem = 0\n // SHOW WARNING TO USER THAT ALLOWANCE IS TAKEN OFF\n warning = true\n if (!overlappingDates[month]) overlappingDates[month] = []\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\n }\n // ADD ALLOWANCE TO TOTAL SUM\n sum = Number((sum + newTrip[month][day].perDiem).toFixed(2))\n // CALCULATE SUM AND DAYS PER DESTINATION\n let destinationInfo = dataPerDestination.find((item) => item.index === newTrip[month][day].index)\n if (destinationInfo) {\n destinationInfo.sum = Number((destinationInfo.sum + newTrip[month][day].perDiem).toFixed(2))\n destinationInfo.days++\n } else {\n dataPerDestination.push({ sum: newTrip[month][day].perDiem, days: 1, index: newTrip[month][day].index })\n }\n })\n })\n\n //SORT OVERLAPPING DATES IN ASCENDING ORDER\n each(overlappingDates, (_, month) => {\n overlappingDates[month].sort((a, b) => a - b)\n })\n\n return {\n days,\n sum,\n dataPerDestination,\n warning,\n overlappingDates\n }\n}\n\nfunction createCalendarOfDestinations(allDestinations) {\n let calendar = {}\n\n allDestinations.forEach((dest) => {\n if (!dest.startDate || !dest.endDate || !dest.destination) {\n return\n }\n\n let start = moment(dest.startDate)\n let end = moment(dest.endDate)\n let tripDays = end.diff(start, 'days') + 1\n\n times(tripDays, function (d) {\n let currentDay = start.clone().add(d, 'days')\n let day = currentDay.format('DD').toString()\n let month = currentDay.format('YYYY-MM').toString()\n\n if (!calendar[month]) calendar[month] = {}\n if (!calendar[month][day]) {\n calendar[month][day] = [{ dest: dest.destination, index: dest.index }]\n } else {\n calendar[month][day].push({ dest: dest.destination, index: dest.index })\n }\n })\n })\n return calendar\n}\n\nfunction findPerDiem(country, date) {\n const financialYear = moment(date).isSameOrAfter('2023-08-01') ? '2023' : '2022'\n const perDiemOfYear = {\n '2022': lithuaniaPerDiems2022,\n '2023': lithuaniaPerDiems2023\n }\n let perDiem = perDiemOfYear[financialYear]?.[country]\n if (!perDiem) {\n // DEFAULT PER DIEM IF DESTINATION COUNTRY WAS NOT LISTED\n perDiem = financialYear === '2023' ? 33 : 31\n }\n return perDiem\n}\n\nfunction calculateAllowanceForEachDay(calendarWithDestinations, maxAllowance) {\n let calendar = {}\n\n each(calendarWithDestinations, (daysOfMonth, month) => {\n each(daysOfMonth, (_, day) => {\n let countriesInOneDay = calendarWithDestinations[month][day]\n const date = `${month}-${day}`\n let perDiem = 0\n\n if (countriesInOneDay.length === 1) {\n perDiem = findPerDiem(countriesInOneDay[0].dest, date)\n }\n\n if (countriesInOneDay.length > 1) {\n // IF MORE THAN ONE COUNTRY IS VISITED IN ONE DAY, CALCULATE AVERAGE PER DIEM\n let perDiems = []\n countriesInOneDay.forEach((item) => {\n perDiems.push(findPerDiem(item.dest, date))\n })\n\n let total = 0\n for (let i = 0; i < perDiems.length; i++) {\n total += perDiems[i]\n }\n perDiem = Number((total / perDiems.length).toFixed(2))\n }\n\n if (maxAllowance) {\n // IF COMPANY HAS MAXIMUM ALLOWANCE, MAKE SURE PER DIEM IS NOT LARGER\n perDiem = perDiem > maxAllowance ? maxAllowance : perDiem\n }\n\n if (!calendar[month]) calendar[month] = {}\n if (!calendar[month][day]) calendar[month][day] = {}\n calendar[month][day].perDiem = perDiem\n calendar[month][day].index = countriesInOneDay[countriesInOneDay.length - 1].index\n })\n })\n\n return calendar\n}\n\nfunction mergeCalendars(calendar, oneTripCalendar) {\n Object.keys(oneTripCalendar).forEach((month) => {\n if (calendar[month]) {\n calendar[month] = { ...calendar[month], ...oneTripCalendar[month] }\n } else {\n calendar[month] = oneTripCalendar[month]\n }\n })\n}\n\nfunction calculateTripDays(tripCalendar) {\n let tripDays = 0\n Object.keys(tripCalendar).forEach((month) => {\n Object.keys(tripCalendar[month]).forEach(() => {\n tripDays++\n })\n })\n return tripDays\n}\n\nfunction createTripCalendar(trip) {\n let calendar = {}\n let tripCalendar = {}\n let calendarOfDestinations = {}\n let tripDestinations = []\n if (trip.dailyAllowanceInfo.destination) {\n // SHOULDNT EXIST ANYMORE\n tripDestinations = [\n {\n destination: trip.dailyAllowanceInfo.destination,\n startDate: trip.startDate,\n endDate: trip.endDate\n }\n ]\n }\n if (trip.dailyAllowanceInfo.destinations) {\n tripDestinations = [...trip.dailyAllowanceInfo.destinations]\n }\n const { maxAllowance, nextTripOnLastDay } = trip.dailyAllowanceInfo\n\n let end = moment(trip.endDate)\n calendarOfDestinations = createCalendarOfDestinations(tripDestinations)\n tripCalendar = calculateAllowanceForEachDay(calendarOfDestinations, maxAllowance)\n mergeCalendars(calendar, tripCalendar)\n\n // IF NEXT TRIP WILL START AS THIS ONE ENDS, ALLOWANCE FOR THIS TRIP LAST DAY IS 0\n if (nextTripOnLastDay) {\n let month = setMonth(end)\n let day = setDay(end)\n calendar[month][day].perDiem = 0\n }\n\n return calendar\n}\n\nfunction createPreviousTripCalendar(trips) {\n const calendarOfPreviousTrips = {}\n trips.forEach((trip) => {\n let start = trip.startDate\n let end = trip.endDate\n let startingDate = moment(start)\n let tripDayCount = moment(end).diff(moment(start), 'day') + 1\n\n times(tripDayCount, (dayOfTrip) => {\n let currentDay = startingDate.clone().add(dayOfTrip, 'day')\n let date = setDay(currentDay)\n let month = setMonth(currentDay)\n if (!calendarOfPreviousTrips[month]) calendarOfPreviousTrips[month] = {}\n calendarOfPreviousTrips[month][date] = true\n })\n })\n\n return calendarOfPreviousTrips\n}\n\nfunction setDay(date) {\n return moment(date, 'YYYY-MM-DD').format('DD').toString()\n}\n\nfunction setMonth(date) {\n return moment(date, 'YYYY-MM-DD').format('YYYY-MM').toString()\n}\n","const polandForeignTravelPerDiems = require('../data/polandPerDiems2023')\r\nconst moment = require('moment')\r\nconst { each, times, cloneDeep } = require('lodash-es')\r\n\r\n// DOMESTIC\r\n// up to 8 hours - no allowance /// 480 min\r\n// from 8 to 12 hours - 50% of allowance\r\n// more than 12 hours- full allowance /// 720 min\r\n// breakfast - 25% of allowance,\r\n// lunch - 50% of allowance,\r\n// dinner - 25% of allowance\r\n\r\n// accomodation not included = 150% ??? TODO:\r\n\r\n// INTERNATIONAL\r\n// up to 8 hours – 1/3 of the allowance,\r\n// from 8 to 12 hours – 1/2 of the allowance,\r\n// more than 12 hours – full allowance.\r\n// deduct for breakfast 15% of the allowance,\r\n// and dinner and supper constitute 30% of the allowance each.\r\n\r\n// Default per diem rate 41 EUR\r\n\r\nmodule.exports = function (currentTrip, previousTrips) {\r\n const sum = {}\r\n const { newTripCalendar, dataPerDestination } = createTripCalendar(currentTrip)\r\n const oldTripCalendar = createPreviousTripCalendar(previousTrips)\r\n const { overlappingDates, warning } = checkOverlappingDates(newTripCalendar, oldTripCalendar)\r\n\r\n return {\r\n sum,\r\n dataPerDestination,\r\n overlappingDates,\r\n warning\r\n }\r\n}\r\n\r\nfunction checkOverlappingDates(newTripCalendar, oldTripCalendar) {\r\n let warning = false\r\n const overlappingDates = {}\r\n each(newTripCalendar, (days, month) => {\r\n each(days, (_, day) => {\r\n if (oldTripCalendar[month] && oldTripCalendar[month][day]) {\r\n warning = true\r\n if (!overlappingDates[month]) overlappingDates[month] = []\r\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\r\n }\r\n })\r\n })\r\n\r\n each(overlappingDates, (_, month) => {\r\n overlappingDates[month].sort((a, b) => a - b)\r\n })\r\n\r\n return {\r\n overlappingDates,\r\n warning\r\n }\r\n}\r\n\r\nfunction createTripCalendar(trip) {\r\n const dataPerDestination = []\r\n const newTripCalendar = {}\r\n\r\n trip.destinations.forEach((visitedCountry) => {\r\n const resultData = cloneDeep(visitedCountry)\r\n const countryCode = visitedCountry.destination\r\n const start = convertToDate(visitedCountry.startDate, visitedCountry.startTime)\r\n const end = convertToDate(visitedCountry.endDate, visitedCountry.endTime)\r\n const fullDaysCount = moment(visitedCountry.endDate).diff(moment(visitedCountry.startDate), 'days') + 1\r\n\r\n let nextFullDay = moment(start)\r\n // create calendar for calculating overlapping dates\r\n times(fullDaysCount, (day) => {\r\n let month = getMonth(nextFullDay)\r\n let date = getDay(nextFullDay)\r\n if (!newTripCalendar[month]) newTripCalendar[month] = {}\r\n if (!newTripCalendar[month][date]) newTripCalendar[month][date] = true\r\n nextFullDay = nextFullDay.add(24, 'hours')\r\n })\r\n\r\n const timeSpentInDestination = end.diff(start, 'minutes')\r\n const fullAllowanceDays = end.diff(start, 'days')\r\n const exceededTime = timeSpentInDestination - fullAllowanceDays * 1440\r\n const daysHadBreakfast = visitedCountry.breakfastIncluded?.length || 0\r\n const daysHadLunch = visitedCountry.lunchIncluded?.length || 0\r\n const daysHadDinner = visitedCountry.dinnerIncluded?.length || 0\r\n\r\n const perDiemRate = findPerDiem(countryCode)\r\n let rate = perDiemRate.perDiem\r\n const lastDayProportion = findExceededTimeProportion(exceededTime, countryCode)\r\n const breakfastProportion = countryCode === 'PL' ? 0.25 : 0.15\r\n const lunchProportion = countryCode === 'PL' ? 0.5 : 0.3\r\n const dinnerProportion = countryCode === 'PL' ? 0.25 : 0.3\r\n\r\n let totalSum = Number(\r\n (\r\n fullAllowanceDays * rate -\r\n (daysHadBreakfast > fullAllowanceDays ? fullAllowanceDays : daysHadBreakfast) * breakfastProportion * rate -\r\n (daysHadLunch > fullAllowanceDays ? fullAllowanceDays : daysHadLunch) * lunchProportion * rate -\r\n (daysHadDinner > fullAllowanceDays ? fullAllowanceDays : daysHadDinner) * dinnerProportion * rate\r\n ).toFixed(2)\r\n )\r\n\r\n //partial day\r\n if (exceededTime > 0) {\r\n const reducedRate = lastDayProportion * rate\r\n totalSum =\r\n totalSum +\r\n Number(\r\n (\r\n reducedRate -\r\n (daysHadBreakfast > fullAllowanceDays ? 1 : 0) * breakfastProportion * reducedRate -\r\n (daysHadLunch > fullAllowanceDays ? 1 : 0) * lunchProportion * reducedRate -\r\n (daysHadDinner > fullAllowanceDays ? 1 : 0) * dinnerProportion * reducedRate\r\n ).toFixed(2)\r\n )\r\n }\r\n\r\n resultData.currency = perDiemRate.currency\r\n resultData.days = timeSpentInDestination / 1440\r\n resultData.sum = Number(totalSum.toFixed(2))\r\n dataPerDestination.push(resultData)\r\n })\r\n return {\r\n newTripCalendar,\r\n dataPerDestination\r\n }\r\n}\r\n\r\nfunction convertToDate(date, time) {\r\n return moment(date + ' ' + time, 'YYYY-MM-DDLT')\r\n}\r\n\r\nfunction getDay(date) {\r\n return moment(date, 'YYYY-MM-DD').format('DD').toString()\r\n}\r\n\r\nfunction getMonth(date) {\r\n return moment(date, 'YYYY-MM-DD').format('YYYY-MM').toString()\r\n}\r\n\r\nfunction findPerDiem(country) {\r\n // IF THE PER DIEMS LIST DIDN'T HAVE DESTINATION COUNTRY LISTED, DEFAULT IS 41 EUR\r\n let perDiem = 41\r\n let currency = 'EUR'\r\n let countryData = polandForeignTravelPerDiems[country]\r\n if (countryData) {\r\n perDiem = countryData.perDiem\r\n currency = countryData.currency\r\n }\r\n return { perDiem, currency }\r\n}\r\n\r\nfunction findExceededTimeProportion(exceededTime, country) {\r\n let proportion = 0\r\n if (exceededTime < 0) return proportion\r\n if (exceededTime < 480 && country !== 'PL') {\r\n proportion = 0.333333\r\n } else if (exceededTime >= 480 && exceededTime <= 720) {\r\n proportion = 0.5\r\n } else if (exceededTime > 720) {\r\n proportion = 1\r\n }\r\n return proportion\r\n}\r\n\r\nfunction createPreviousTripCalendar(trips) {\r\n const calendarOfPreviousTrips = {}\r\n\r\n trips.forEach((trip) => {\r\n let start = trip.startDate\r\n let end = trip.endDate\r\n let startingDate = moment(start)\r\n let tripDayCount = moment(end).diff(moment(start), 'day') + 1\r\n\r\n times(tripDayCount, (dayOfTrip) => {\r\n let currentDay = startingDate.clone().add(dayOfTrip, 'day')\r\n let date = setDay(currentDay)\r\n let month = setMonth(currentDay)\r\n if (!calendarOfPreviousTrips[month]) calendarOfPreviousTrips[month] = {}\r\n calendarOfPreviousTrips[month][date] = true\r\n })\r\n })\r\n\r\n return calendarOfPreviousTrips\r\n}\r\n\r\nfunction convertToDate(date, time) {\r\n return moment(date + ' ' + time, 'YYYY-MM-DDLT')\r\n}\r\n\r\nfunction setDay(date) {\r\n return moment(date, 'YYYY-MM-DD').format('DD').toString()\r\n}\r\n\r\nfunction setMonth(date) {\r\n return moment(date, 'YYYY-MM-DD').format('YYYY-MM').toString()\r\n}\r\n","//INSIDE COUNTRY (2024)\n// full day - 290 kronor\n// half day - 145 kronor\n// after 3 Months - 203 kronor per hel dag\n// after 2 years - 145 kronor per hel dag\n\n// OUTSIDE COUNTRY\n// full day - per diem per country\n// half day - 1/2 per diem per country\n// after 3 months - 70% of per diem rate\n// after 2 years - 50% of per diem rate\n\n// For other countries and areas with undefined per diem rate it is 456 SEK (2023), 493 SEK (2024)\n\n// If multiple locations are visited on the same day, the location where the longest period\n// of the day (defined as between 06:00 and 24:00) has been spent is the allowance location.\n\nconst swedenPerDiems2023 = require('../data/swedenPerDiems2023')\nconst swedenPerDiems2024 = require('../data/swedenPerDiems2024')\nconst moment = require('moment')\nconst { each, times } = require('lodash-es')\n\nmodule.exports = function (currentTrip, previousTrips) {\n let sum = 0\n let newTripCalendar = {}\n let oldTripCalendar = {}\n let warning = false\n let overlappingDates = {}\n let dataPerDestination = []\n\n if (currentTrip.startDate === currentTrip.endDate) {\n // FOR ONE DAY TRIP ALLOWANCE IS NOT CALCULATED\n currentTrip.destinations.forEach((destination) => {\n dataPerDestination.push({ index: destination.index, days: 0, sum: 0 })\n })\n return { sum, dataPerDestination }\n }\n\n newTripCalendar = createTripCalendar(currentTrip)\n oldTripCalendar = createPreviousTripCalendar(previousTrips)\n\n each(newTripCalendar, (days, month) => {\n each(days, (_, day) => {\n // SET WARNING SHOWING DATES DATE ARE OVERLAPPING WITH PREVIOUS TRIPS\n if (oldTripCalendar[month] && oldTripCalendar[month][day]) {\n warning = true\n if (!overlappingDates[month]) overlappingDates[month] = []\n overlappingDates[month].push(day.replace(/^0+(?!$)/, ''))\n }\n\n let perDiemOfDay = newTripCalendar[month][day].perDiem\n let maximum = currentTrip.maxAllowance\n\n // CAP PER DIEM ACCORDING TO COMPANY DAILY ALLOWANCE MAXIMUM SETTING\n if (maximum !== undefined && maximum > -1) {\n perDiemOfDay = perDiemOfDay > maximum ? maximum : perDiemOfDay\n }\n\n // ADD THIS DAY ALLOWANCE TO TOTAL SUM\n sum = Number((sum + perDiemOfDay).toFixed(2))\n\n // CALCULATE SUM AND DAYS PER DESTINATION\n let destinationInfo = dataPerDestination.find((item) => item.index === newTripCalendar[month][day].index)\n if (destinationInfo) {\n destinationInfo.sum = Number((destinationInfo.sum + perDiemOfDay).toFixed(2))\n destinationInfo.days++\n } else {\n dataPerDestination.push({\n sum: perDiemOfDay,\n days: 1,\n index: newTripCalendar[month][day].index\n })\n }\n })\n })\n\n each(overlappingDates, (_, month) => {\n overlappingDates[month].sort((a, b) => a - b)\n })\n\n return {\n sum,\n dataPerDestination,\n overlappingDates,\n warning\n }\n}\n\nfunction createTripCalendar(trip = {}) {\n let calendar = {}\n const { breakfastIncluded, lunchIncluded, dinnerIncluded } = trip\n const locations = trip.destinations || []\n\n let calendarOfDestinations = prepareCalendarOfDestinations(trip.destinations)\n\n let lastItem = locations.length - 1\n let firstDay = locations[0].startDate\n let lastDay = locations[lastItem].endDate\n let tripDaysCount = 0\n\n // GET PER DIEM FOR EACH DAY\n each(calendarOfDestinations, (days, month) => {\n each(days, (item, date) => {\n let currentDate = `${month}-${date}`\n let currentYear = month.slice(0, 4)\n tripDaysCount++\n\n let perDiemRate = currentYear === '2023' ? swedenPerDiems2023[item.location] : swedenPerDiems2024[item.location]\n if (!perDiemRate) perDiemRate = currentYear === '2023' ? 456 : 493\n\n // IF 2 YEARS HAVE PASSED, REDUCE THE AMOUNT BY 50%\n if (tripDaysCount > 730) {\n perDiemRate = Number((perDiemRate / 2).toFixed(2))\n }\n // IF 3 MONTHS HAVE PASSED, RATE IS 70% OF FULL AMOUNT\n else if (tripDaysCount > 90) {\n perDiemRate = Number((perDiemRate * 0.7).toFixed(2))\n }\n\n if (currentDate === firstDay) {\n let firstDayStart = convertToDate(firstDay, locations[0].startTime)\n let sameDay12 = convertToDate(firstDay, '12:00')\n if (firstDayStart.isSameOrAfter(sameDay12)) {\n perDiemRate = perDiemRate / 2\n }\n }\n\n if (currentDate === lastDay) {\n let lastDayEnd = convertToDate(lastDay, locations[lastItem].endTime)\n let sameDay19 = convertToDate(lastDay, '19:00')\n if (lastDayEnd.isSameOrBefore(sameDay19)) {\n perDiemRate = perDiemRate / 2\n }\n }\n\n // IF EMPLOYER PROVIDES FREE MEALS, REDUCE ALLOWANCE\n // DEPENDS ON TYPE OF MEAL AND IF IT IS DOMESTIC TRIP\n let deductForMeal = 0 // %\n if (breakfastIncluded) deductForMeal += item.location === 'SE' ? 0.2 : 0.15\n if (lunchIncluded) deductForMeal += 0.35\n if (dinnerIncluded) deductForMeal += 0.35\n deductForMeal = Number(deductForMeal.toFixed(2))\n perDiemRate = Number((1 - deductForMeal).toFixed(2)) * perDiemRate\n perDiemRate = Number(perDiemRate.toFixed(2))\n\n if (!calendar[month]) calendar[month] = {}\n if (!calendar[month][date]) calendar[month][date] = {}\n calendar[month][date].perDiem = perDiemRate\n calendar[month][date].index = item.index\n })\n })\n return calendar\n}\n\nfunction convertToDate(date, time) {\n return moment(date + ' ' + time, 'YYYY-MM-DDLT')\n}\n\nfunction setDay(date) {\n return moment(date, 'YYYY-MM-DD').format('DD').toString()\n}\n\nfunction setMonth(date) {\n return moment(date, 'YYYY-MM-DD').format('YYYY-MM').toString()\n}\n\nfunction prepareCalendarOfDestinations(destinations) {\n // create calendar with destination for each day\n let daysInDestination = {}\n destinations.forEach((dest) => {\n let s = dest.startDate\n let e = dest.endDate\n let startingDate = moment(s)\n let daysInOneDestination = moment(e).diff(moment(s), 'day') + 1\n // iterate over each day in destination\n times(daysInOneDestination, (dayCount) => {\n let currentDay = startingDate.clone().add(dayCount, 'day')\n let date = setDay(currentDay)\n let month = setMonth(currentDay)\n if (!daysInDestination[month]) daysInDestination[month] = {}\n if (!daysInDestination[month][date]) daysInDestination[month][date] = {}\n\n // if date is already in calendar\n // check in which destination user spent more time\n if (daysInDestination[month][date].location) {\n let overlappingDate = `${month}-${date}`\n\n let destinationsOnSameDate = destinations.filter(\n (de) => de.startDate === overlappingDate || de.endDate === overlappingDate\n )\n\n destinationsOnSameDate.forEach((location) => {\n if (location.startDate === overlappingDate) {\n let dateAndTime = convertToDate(location.startDate, location.startTime)\n // remaining time to 24:00\n let endOfDay = convertToDate(location.startDate, '24:00')\n location.minutes = endOfDay.diff(dateAndTime, 'minute')\n }\n if (location.endDate === overlappingDate) {\n let dateAndTime = convertToDate(location.endDate, location.endTime)\n // time from 6:00 to leaving destination\n let startOfDay = convertToDate(location.endDate, '6:00')\n location.minutes = dateAndTime.diff(startOfDay, 'minute')\n }\n })\n // first element should be location where most time was spent\n destinationsOnSameDate.sort((a, b) => b.minutes - a.minutes)\n // if the same amount of time was spent in more than one loaction\n // the location with highest per diem should be chosen\n if (\n destinationsOnSameDate.length > 1 &&\n destinationsOnSameDate[0].minutes === destinationsOnSameDate[1].minutes\n ) {\n let repeating = destinationsOnSameDate.filter((dst) => dst.minutes === destinationsOnSameDate[0].minutes)\n if (repeating.length > 0) {\n let highestRate = 0\n let highestRatedLocation = ''\n let highestRatedLocationId = ''\n repeating.forEach((r) => {\n let currentYear = month.slice(0, 4)\n\n let rateForLocation =\n currentYear === '2023' ? swedenPerDiems2023[r.destination] : swedenPerDiems2024[r.destination]\n if (!rateForLocation) rateForLocation = currentYear === '2023' ? 456 : 493\n if (rateForLocation > highestRate) {\n highestRate = rateForLocation\n highestRatedLocation = r.destination\n highestRatedLocationId = r.index\n }\n })\n daysInDestination[month][date] = { location: highestRatedLocation, index: highestRatedLocationId }\n }\n } else {\n daysInDestination[month][date] = {\n location: destinationsOnSameDate[0].destination,\n index: destinationsOnSameDate[0].index\n }\n }\n } else {\n daysInDestination[month][date] = { location: dest.destination, index: dest.index }\n }\n })\n })\n return daysInDestination\n}\n\nfunction createPreviousTripCalendar(trips) {\n const calendarOfPreviousTrips = {}\n trips.forEach((trip) => {\n let start = trip.startDate\n let end = trip.endDate\n let startingDate = moment(start)\n let tripDayCount = moment(end).diff(moment(start), 'day') + 1\n\n times(tripDayCount, (dayOfTrip) => {\n let currentDay = startingDate.clone().add(dayOfTrip, 'day')\n let date = setDay(currentDay)\n let month = setMonth(currentDay)\n if (!calendarOfPreviousTrips[month]) calendarOfPreviousTrips[month] = {}\n calendarOfPreviousTrips[month][date] = true\n })\n })\n\n return calendarOfPreviousTrips\n}\n","module.exports = {\r\n FI: 48, \r\n AF: 55,\r\n AL: 71,\r\n DZ: 74,\r\n AD: 59,\r\n AO: 73,\r\n AR: 45,\r\n AM: 62,\r\n AW: 74,\r\n AU: 77,\r\n AT: 75,\r\n BS: 92,\r\n BH: 86,\r\n BD: 68,\r\n BB: 90,\r\n BY: 66,\r\n BE: 74,\r\n BZ: 54,\r\n BJ: 45,\r\n BM: 94,\r\n BT: 52,\r\n BO: 49,\r\n BW: 46,\r\n BR: 77,\r\n BG: 59,\r\n BF: 40,\r\n BI: 54,\r\n KH: 72,\r\n CM: 55,\r\n CA: 86,\r\n CV: 44,\r\n CF: 96,\r\n TD: 56,\r\n CL: 55,\r\n CN: 82,\r\n CO: 55,\r\n KM: 38,\r\n CK: 69,\r\n CR: 60,\r\n HR: 65,\r\n CU: 52,\r\n CW: 60,\r\n CY: 63,\r\n CZ: 82,\r\n DK: 77,\r\n DJ: 85,\r\n DM: 64,\r\n DO: 58,\r\n EC: 65,\r\n EG: 73,\r\n SV: 59,\r\n ER: 95,\r\n EE: 72,\r\n ET: 43,\r\n FO: 60,\r\n FJ: 56,\r\n FR: 74,\r\n GA: 88,\r\n GM: 50,\r\n GE: 48,\r\n DE: 71,\r\n GH: 41,\r\n GR: 66,\r\n GL: 61,\r\n GD: 76,\r\n GP: 51,\r\n GT: 78,\r\n GN: 82,\r\n GW: 38,\r\n GY: 53,\r\n HT: 55,\r\n HN: 59,\r\n HU: 56,\r\n IS: 89,\r\n IN: 64,\r\n ID: 61,\r\n IR: 122,\r\n IQ: 65,\r\n IE: 73,\r\n IL: 100,\r\n IT: 72,\r\n JM: 64,\r\n JP: 70,\r\n KZ: 51,\r\n KE: 85,\r\n XK: 52,\r\n KW: 86,\r\n LV: 69,\r\n LB: 122,\r\n LS: 37,\r\n LR: 71,\r\n LY: 53,\r\n LI: 77,\r\n LT: 68,\r\n LU: 74,\r\n MG: 46,\r\n MW: 69,\r\n MY: 54,\r\n MV: 71,\r\n ML: 43,\r\n MT: 67,\r\n MH: 67,\r\n MQ: 54,\r\n MR: 53,\r\n MU: 53,\r\n MX: 71,\r\n FM: 60,\r\n MD: 64,\r\n MC: 92,\r\n MN: 44,\r\n ME: 61,\r\n MA: 69,\r\n MZ: 55,\r\n NA: 40,\r\n NP: 53,\r\n NL: 80,\r\n NZ: 75,\r\n NI: 51,\r\n NE: 49,\r\n NG: 81,\r\n NO: 76,\r\n OM: 79,\r\n PK: 31,\r\n PW: 94,\r\n PA: 65,\r\n PG: 79,\r\n PY: 39,\r\n PE: 51,\r\n PH: 70,\r\n PL: 64,\r\n PT: 68,\r\n PR: 72,\r\n QA: 81,\r\n RO: 62,\r\n RW: 40,\r\n KN: 70,\r\n LC: 86,\r\n WS: 60,\r\n SM: 62,\r\n ST: 101,\r\n SA: 83,\r\n SN: 55,\r\n RS: 66,\r\n SC: 93,\r\n SL: 53,\r\n SG: 79,\r\n SK: 73,\r\n SI: 68,\r\n SB: 63,\r\n SO: 87,\r\n ZA: 55,\r\n SS: 119,\r\n ES: 72,\r\n LK: 34,\r\n SD: 50,\r\n SR: 74,\r\n SE: 66,\r\n CH: 91,\r\n TW: 73,\r\n TZ: 59,\r\n TH: 65,\r\n TG: 54,\r\n TO: 59,\r\n TT: 84,\r\n TN: 59,\r\n TR: 38,\r\n TM: 92,\r\n UG: 50,\r\n UA: 62,\r\n AE: 84,\r\n GB: 73,\r\n US: 92,\r\n UY: 56,\r\n UZ: 35,\r\n VU: 70,\r\n VE: 100,\r\n VN: 74,\r\n YE: 122,\r\n ZW: 75,\r\n ZM: 70,\r\n AG: 95,\r\n AZ: 68,\r\n BA: 52,\r\n BN: 46,\r\n HK: 92,\r\n CG: 62,\r\n CD: 50,\r\n CI: 77,\r\n TL: 51,\r\n SZ: 41,\r\n JO: 96,\r\n KP: 75,\r\n KR: 85,\r\n KG: 42,\r\n LA: 35,\r\n MM: 61,\r\n MK: 56,\r\n RU: 69,\r\n VC: 86,\r\n SY: 98,\r\n TJ: 39,\r\n 'PT, Azores': 67,\r\n 'ES, Canary Islands': 70,\r\n 'PT, Madeira': 66,\r\n 'RU, Moscow': 85,\r\n 'RU, Saint Petersburg': 78,\r\n 'TR, Istanbul': 39,\r\n 'GB, London': 77,\r\n 'GB, Edinburgh': 77,\r\n 'US, New York': 100,\r\n 'US, Los Angeles': 100,\r\n 'US, Washington': 100,\r\n 'US, Virgin Islands': 66,\r\n}","module.exports = {\r\n FI: 51,\r\n AF: 59,\r\n AL: 81,\r\n DZ: 78,\r\n AD: 63,\r\n AO: 71,\r\n AR: 38,\r\n AM: 61,\r\n AW: 70,\r\n AU: 74,\r\n AT: 80,\r\n BS: 91,\r\n BH: 80,\r\n BD: 57,\r\n BB: 83,\r\n BY: 63,\r\n BE: 77,\r\n BZ: 52,\r\n BJ: 47,\r\n BM: 90,\r\n BT: 49,\r\n BO: 48,\r\n BW: 41,\r\n BR: 80,\r\n BG: 64,\r\n BF: 40,\r\n BI: 46,\r\n KH: 67,\r\n CM: 59,\r\n CA: 82,\r\n CV: 45,\r\n CF: 101,\r\n TD: 47,\r\n CL: 56,\r\n CN: 74,\r\n CO: 64,\r\n KM: 42,\r\n CK: 70,\r\n CR: 65,\r\n HR: 69,\r\n CU: 68,\r\n CW: 58,\r\n CY: 65,\r\n CZ: 89,\r\n DK: 79,\r\n DJ: 83,\r\n DM: 61,\r\n DO: 53,\r\n EC: 63,\r\n EG: 66,\r\n SV: 60,\r\n ER: 95,\r\n EE: 75,\r\n ET: 49,\r\n FO: 61,\r\n FJ: 52,\r\n FR: 78,\r\n GA: 92,\r\n GM: 46,\r\n GE: 49,\r\n DE: 76,\r\n GH: 47,\r\n GR: 68,\r\n GL: 63,\r\n GD: 73,\r\n GP: 53,\r\n GT: 76,\r\n GN: 83,\r\n GW: 41,\r\n GY: 51,\r\n HT: 62,\r\n HN: 58,\r\n HU: 69,\r\n IS: 92,\r\n IN: 62,\r\n ID: 57,\r\n IR: 102,\r\n IQ: 70,\r\n IE: 78,\r\n IL: 88,\r\n IT: 76,\r\n JM: 62,\r\n JP: 66,\r\n KZ: 59,\r\n KE: 70,\r\n XK: 58,\r\n KW: 84,\r\n LV: 73,\r\n LB: 102,\r\n LS: 34,\r\n LR: 60,\r\n LY: 52,\r\n LI: 79,\r\n LT: 72,\r\n LU: 77,\r\n MG: 45,\r\n MW: 77,\r\n MY: 50,\r\n MV: 68,\r\n ML: 47,\r\n MT: 71,\r\n MH: 65,\r\n MQ: 55,\r\n MR: 52,\r\n MU: 53,\r\n MX: 81,\r\n FM: 59,\r\n MD: 73,\r\n MC: 92,\r\n MN: 42,\r\n ME: 66,\r\n MA: 71,\r\n MZ: 53,\r\n NA: 36,\r\n NP: 51,\r\n NL: 83,\r\n NZ: 74,\r\n NI: 51,\r\n NE: 50,\r\n NG: 78,\r\n NO: 70,\r\n OM: 74,\r\n PK: 29,\r\n PW: 99,\r\n PA: 61,\r\n PG: 76,\r\n PY: 36,\r\n PE: 52,\r\n PH: 69,\r\n PL: 72,\r\n PT: 70,\r\n PR: 70,\r\n QA: 78,\r\n RO: 68,\r\n RW: 37,\r\n KN: 68,\r\n LC: 86,\r\n WS: 61,\r\n SM: 59,\r\n ST: 102,\r\n SA: 80,\r\n SN: 58,\r\n RS: 75,\r\n SC: 87,\r\n SL: 47,\r\n SG: 79,\r\n SK: 79,\r\n SI: 72,\r\n SB: 63,\r\n SO: 86,\r\n ZA: 50,\r\n SS: 102,\r\n ES: 74,\r\n LK: 29,\r\n SD: 83,\r\n SR: 78,\r\n SE: 64,\r\n CH: 93,\r\n TW: 69,\r\n TZ: 54,\r\n TH: 63,\r\n TG: 58,\r\n TO: 62,\r\n TT: 83,\r\n TN: 61,\r\n TR: 35,\r\n TM: 92,\r\n UG: 49,\r\n UA: 64,\r\n AE: 73,\r\n GB: 79,\r\n US: 89,\r\n UY: 59,\r\n UZ: 32,\r\n VU: 70,\r\n VE: 102,\r\n VN: 69,\r\n YE: 102,\r\n ZW: 102,\r\n ZM: 55,\r\n AG: 94,\r\n AZ: 70,\r\n BA: 54,\r\n BN: 45,\r\n CD: 51,\r\n CG: 64,\r\n CI: 80,\r\n TL: 46,\r\n SZ: 37,\r\n JO: 90,\r\n KP: 70,\r\n KR: 87,\r\n KG: 41,\r\n LA: 32,\r\n MM: 58,\r\n MK: 64,\r\n PS: 76,\r\n RU: 66,\r\n SY: 91,\r\n TJ: 35,\r\n HK: 86,\r\n VC: 85,\r\n 'PT, Azores': 69,\r\n 'ES, Canary Islands': 71,\r\n 'PT, Madeira': 68,\r\n 'RU, Moscow': 82,\r\n 'RU, Saint Petersburg': 76,\r\n 'TR, Istanbul': 37,\r\n 'GB, London': 83,\r\n 'GB, Edinburgh': 83,\r\n 'US, New York': 97,\r\n 'US, Los Angeles': 97,\r\n 'US, Washington': 97,\r\n 'US, Virgin Islands': 64,\r\n}","module.exports = {\r\n AF: 61,\r\n AL: 89,\r\n DZ: 82,\r\n AD: 65,\r\n AO: 69,\r\n AR: 45,\r\n AM: 59,\r\n AW: 69,\r\n AU: 77,\r\n AT: 82,\r\n BS: 89,\r\n BH: 78,\r\n BD: 56,\r\n BB: 79,\r\n BY: 50,\r\n BE: 79,\r\n BZ: 52,\r\n BJ: 47,\r\n BM: 89,\r\n BT: 37,\r\n BO: 48,\r\n BW: 42,\r\n BR: 70,\r\n BG: 66,\r\n BF: 41,\r\n BI: 55,\r\n KH: 66,\r\n CM: 62,\r\n CA: 80,\r\n CV: 45,\r\n CF: 102,\r\n TD: 52,\r\n CL: 55,\r\n CN: 73,\r\n CO: 61,\r\n KM: 46,\r\n CK: 73,\r\n CR: 64,\r\n HR: 71,\r\n CU: 64,\r\n CW: 57,\r\n CY: 66,\r\n CZ: 89,\r\n DK: 80,\r\n DJ: 83,\r\n DM: 60,\r\n DO: 50,\r\n EC: 62,\r\n EG: 51,\r\n SV: 58,\r\n ER: 97,\r\n EE: 78,\r\n ET: 46,\r\n FO: 62,\r\n FJ: 54,\r\n FR: 79,\r\n GA: 95,\r\n GM: 44,\r\n GE: 46,\r\n DE: 77,\r\n GH: 41,\r\n GR: 70,\r\n GL: 63,\r\n GD: 72,\r\n GP: 54,\r\n GT: 77,\r\n GN: 85,\r\n GW: 45,\r\n GY: 51,\r\n HT: 79,\r\n HN: 58,\r\n HU: 69,\r\n IS: 93,\r\n IN: 61,\r\n ID: 56,\r\n IR: 119,\r\n IQ: 71,\r\n IE: 79,\r\n IL: 89,\r\n IT: 77,\r\n JM: 61,\r\n JP: 69,\r\n KZ: 60,\r\n KE: 80,\r\n XK: 61,\r\n KW: 84,\r\n LV: 73,\r\n LB: 95,\r\n LS: 37,\r\n LR: 59,\r\n LY: 52,\r\n LI: 81,\r\n LT: 72,\r\n LU: 79,\r\n MG: 46,\r\n MW: 61,\r\n MY: 54,\r\n MV: 66,\r\n ML: 49,\r\n MT: 72,\r\n MH: 67,\r\n MQ: 57,\r\n MR: 49,\r\n MU: 49,\r\n MX: 73,\r\n FM: 60,\r\n MD: 76,\r\n MC: 92,\r\n MN: 44,\r\n ME: 68,\r\n MA: 72,\r\n MZ: 52,\r\n NA: 39,\r\n NP: 51,\r\n NL: 86,\r\n NZ: 77,\r\n NI: 50,\r\n NE: 56,\r\n NG: 68,\r\n NO: 70,\r\n OM: 72,\r\n PK: 33,\r\n PW: 107,\r\n PA: 60,\r\n PG: 67,\r\n PY: 34,\r\n PE: 50,\r\n PH: 70,\r\n PL: 81,\r\n PT: 72,\r\n PR: 71,\r\n QA: 75,\r\n RO: 71,\r\n RW: 33,\r\n KN: 65,\r\n LC: 83,\r\n WS: 61,\r\n SM: 60,\r\n ST: 119,\r\n SA: 78,\r\n SN: 57,\r\n RS: 78,\r\n SC: 81,\r\n SL: 58,\r\n SG: 82,\r\n SK: 81,\r\n SI: 73,\r\n SB: 62,\r\n SO: 88,\r\n ZA: 54,\r\n SS: 119,\r\n ES: 75,\r\n LK: 31,\r\n SD: 119,\r\n SR: 104,\r\n SE: 68,\r\n CH: 96,\r\n TW: 67,\r\n TZ: 49,\r\n TH: 65,\r\n TG: 63,\r\n TO: 65,\r\n TT: 80,\r\n TN: 65,\r\n TR: 41,\r\n TM: 86,\r\n UG: 49,\r\n UA: 57,\r\n AE: 72,\r\n GB: 83,\r\n US: 88,\r\n UY: 55,\r\n UZ: 33,\r\n VU: 72,\r\n VE: 119,\r\n VN: 69,\r\n YE: 97,\r\n ZW: 119,\r\n ZM: 46,\r\n AG: 95,\r\n AZ: 69,\r\n PT: 70,\r\n BA: 62,\r\n BN: 45,\r\n ES: 73,\r\n HK: 83,\r\n CG: 66,\r\n CD: 58,\r\n CI: 83,\r\n TL: 47,\r\n SZ: 40,\r\n JO: 88,\r\n KP: 67,\r\n KR: 85,\r\n KG: 43,\r\n LA: 34,\r\n MM: 71,\r\n MK: 66,\r\n PS: 89,\r\n RU: 73,\r\n VC: 85,\r\n SY: 78,\r\n TJ: 35,\r\n TR: 42,\r\n GB: 87,\r\n VI: 63,\r\n US: 95,\r\n 'PT, Azores': 70,\r\n 'ES, Canary Islands': 73,\r\n 'PT, Madeira': 69,\r\n 'RU, Moscow': 91,\r\n 'RU, Saint Petersburg': 83,\r\n 'TR, Istanbul': 42,\r\n 'GB, London': 87,\r\n 'GB, Edinburgh': 87,\r\n 'US, New York': 95,\r\n 'US, Los Angeles': 95,\r\n 'US, Washington': 95,\r\n 'US, Virgin Islands': 63\r\n}\r\n","module.exports = {\n AF: 40,\n AL: 33,\n DZ: 40, \n US: 60,\n AD: 50,\n AE: 50,\n AU: 50,\n AT: 50,\n AZ: 40,\n BH: 50,\n BY: 30,\n BE: 60,\n BA: 35,\n BR: 50,\n BG: 35,\n CZ: 40,\n DK: 60,\n KR: 52,\n EG: 30,\n FR: 60,\n GI: 35,\n GL: 46,\n GR: 55,\n GE: 30,\n GT: 35,\n HR: 40,\n EE: 40,\n IN: 40,\n ID: 40,\n IQ: 40,\n IR: 35,\n IS: 65,\n IT: 60,\n IL: 60,\n IE: 60,\n JP: 70,\n NZ: 74,\n YE: 50,\n CA: 50,\n QA: 50,\n KZ: 30,\n KE: 40,\n CY: 46,\n KG: 30,\n XK: 35,\n RU: 35,\n KW: 50,\n CN: 35,\n LR: 50,\n GB: 65,\n LT: 30,\n LI: 60,\n LU: 60,\n LV: 8,\n MY: 40,\n MT: 45,\n MA: 40,\n ME: 40,\n MD: 30,\n MC: 50,\n MN: 35,\n NL: 60,\n NO: 65,\n OM: 50,\n PL: 35,\n PT: 50,\n RO: 35,\n SM: 40,\n SA: 50,\n RS: 40,\n SG: 50,\n SK: 35,\n SI: 35,\n FI: 55,\n ES: 50,\n CH: 60,\n TJ: 40,\n TN: 30,\n TR: 35,\n TM: 40,\n UA: 35,\n HU: 35,\n UZ: 40,\n DE: 50,\n VA: 60,\n VN: 35,\n MK: 35,\n SE: 50,\n 'RU, Moscow': 46,\n 'RU, Saint Petersburg': 46,\n 'US, New York': 60,\n 'US, Virgin Islands': 40,\n 'CN, Beijing': 45,\n 'CN, Shanghai': 45,\n 'CN, Shenzhen': 45,\n 'CN, Guangzhou': 45,\n 'CN, Hangzhou': 45,\n 'CN, Hong Kong': 55,\n 'CN, Macau': 55,\n 'DE, Hamburg': 50,\n 'DE, Munich': 50,\n 'DE, Frankfurt': 50,\n 'DE, Berlin': 50,\n}","module.exports = {\n AF: 33,\n IE: 69,\n AL: 33,\n DZ: 57,\n AD: 46,\n AO: 70,\n AR: 50,\n AM: 47,\n AU: 50,\n AT: 63,\n AZ: 47,\n BS: 50,\n BH: 53,\n BY: 60,\n BD: 33,\n BE: 61,\n BA: 43,\n BW: 33,\n BR: 43,\n BN: 40,\n BG: 39,\n BF: 37,\n BT: 33,\n MK: 33,\n CZ: 50,\n CL: 47,\n DK: 80,\n CI: 40,\n EG: 43,\n EC: 33,\n EE: 47,\n ET: 33,\n PH: 40,\n GH: 47,\n GR: 55,\n GE: 53,\n GT: 33,\n IN: 33,\n ID: 33,\n IQ: 40,\n IR: 37,\n IS: 57,\n ES: 58,\n IT: 63,\n IL: 70,\n HK: 40,\n MO: 37,\n JP: 87,\n YE: 40,\n JO: 40,\n GB: 67,\n US: 53,\n AE: 47,\n ME: 53,\n KY: 53,\n KH: 33,\n CA: 55,\n QA: 52,\n KZ: 47,\n KE: 40,\n CN: 37,\n CY: 62,\n KG: 50,\n CO: 33,\n CD: 70,\n KR: 67,\n KP: 33,\n XK: 35,\n CR: 33,\n HR: 40,\n CU: 50,\n KW: 57,\n LA: 33,\n LV: 44,\n PL: 48,\n LS: 33,\n LB: 47,\n LR: 57,\n LY: 33,\n LI: 53,\n LT: 15,\n LU: 61,\n MG: 33,\n MY: 33,\n MW: 33,\n ML: 40,\n MT: 60,\n MA: 50,\n MU: 40,\n MR: 33,\n MX: 47,\n MM: 33,\n MD: 53,\n MC: 49,\n MN: 47,\n MZ: 40,\n NA: 33,\n NZ: 40,\n NP: 33,\n NG: 33,\n NL: 64,\n NO: 53,\n OM: 47,\n PK: 33,\n PA: 33,\n PG: 37,\n PE: 50,\n ZA: 33,\n SS: 37,\n PT: 56,\n FR: 63,\n PR: 43,\n RW: 43,\n RO: 35,\n RU: 60,\n SM: 40,\n SA: 57,\n SC: 57,\n SN: 43,\n KN: 57,\n RS: 53,\n SG: 50,\n SY: 53,\n SK: 53,\n SI: 47,\n SD: 37,\n FI: 69,\n LK: 33,\n SE: 65,\n CH: 53,\n TJ: 50,\n TH: 40,\n TW: 37,\n TZ: 33,\n TN: 40,\n TR: 37,\n TM: 53,\n UG: 37,\n UA: 53,\n UY: 37,\n UZ: 50,\n VA: 40,\n VE: 57,\n HU: 48,\n VN: 33,\n DE: 62,\n ZM: 33,\n ZW: 33\n}\n","module.exports = {\r\n AF: 33,\r\n IE: 69,\r\n AL: 33,\r\n DZ: 57,\r\n AD: 46,\r\n AO: 70,\r\n AR: 50,\r\n AM: 47,\r\n AU: 50,\r\n AT: 69,\r\n AZ: 47,\r\n BS: 50,\r\n BH: 60,\r\n BY: 60,\r\n BD: 33,\r\n BE: 61,\r\n BA: 43,\r\n BW: 33,\r\n BR: 43,\r\n BN: 40,\r\n BG: 39,\r\n BF: 37,\r\n BT: 33,\r\n MK: 40,\r\n CZ: 50,\r\n CL: 47,\r\n DK: 80,\r\n CI: 40,\r\n EG: 50,\r\n EC: 33,\r\n EE: 47,\r\n ET: 33,\r\n PH: 45,\r\n GH: 47,\r\n GR: 55,\r\n GE: 53,\r\n GT: 33,\r\n IN: 33,\r\n ID: 33,\r\n IQ: 40,\r\n IR: 37,\r\n IS: 70,\r\n ES: 58,\r\n IT: 63,\r\n IL: 70,\r\n HK: 40,\r\n MO: 37,\r\n JP: 87,\r\n YE: 40,\r\n JO: 40,\r\n GB: 67,\r\n US: 61,\r\n AE: 60,\r\n ME: 53,\r\n KH: 33,\r\n CA: 55,\r\n QA: 52,\r\n KZ: 60,\r\n KE: 40,\r\n CN: 37,\r\n CY: 62,\r\n KG: 60,\r\n CO: 33,\r\n CD: 70,\r\n KR: 67,\r\n KP: 33,\r\n XK: 40,\r\n CR: 33,\r\n HR: 45,\r\n CU: 50,\r\n KW: 60,\r\n LA: 33,\r\n LV: 44,\r\n PL: 48,\r\n LS: 33,\r\n LB: 47,\r\n LR: 57,\r\n LY: 33,\r\n LI: 80,\r\n LT: 28,\r\n LU: 61,\r\n MG: 33,\r\n MY: 33,\r\n MW: 33,\r\n MV: 60,\r\n ML: 40,\r\n MT: 63,\r\n MA: 50,\r\n MU: 40,\r\n MR: 33,\r\n MX: 47,\r\n MM: 33,\r\n MD: 53,\r\n MC: 49,\r\n MN: 50,\r\n MZ: 40,\r\n NA: 33,\r\n NZ: 40,\r\n NP: 33,\r\n NG: 33,\r\n NL: 64,\r\n NO: 70,\r\n OM: 47,\r\n PK: 33,\r\n PA: 33,\r\n PG: 37,\r\n PE: 50,\r\n ZA: 33,\r\n SS: 37,\r\n PT: 56,\r\n FR: 69,\r\n PR: 43,\r\n RW: 43,\r\n RO: 35,\r\n RU: 60,\r\n SM: 63,\r\n SA: 60,\r\n SC: 57,\r\n SN: 43,\r\n KN: 57,\r\n RS: 53,\r\n SG: 60,\r\n SY: 53,\r\n SK: 53,\r\n SI: 52,\r\n SD: 37,\r\n FI: 69,\r\n LK: 33,\r\n SE: 70,\r\n CH: 80,\r\n TJ: 60,\r\n TH: 40,\r\n TW: 37,\r\n TZ: 33,\r\n TN: 40,\r\n TR: 37,\r\n TM: 53,\r\n UG: 37,\r\n UA: 53,\r\n UY: 37,\r\n UZ: 60,\r\n VA: 63,\r\n VE: 57,\r\n HU: 48,\r\n VN: 33,\r\n DE: 62,\r\n ZM: 33,\r\n ZW: 33,\r\n 'US, New York': 82,\r\n }\r\n ","module.exports = {\r\n AF: { perDiem: 47, currency: 'EUR' },\r\n AL: { perDiem: 41, currency: 'EUR' },\r\n DZ: { perDiem: 50, currency: 'EUR' },\r\n AD: { perDiem: 50, currency: 'EUR' },\r\n AO: { perDiem: 61, currency: 'USD' },\r\n SA: { perDiem: 50, currency: 'EUR' },\r\n AR: { perDiem: 50, currency: 'USD' },\r\n AM: { perDiem: 42, currency: 'EUR' },\r\n AU: { perDiem: 95, currency: 'AUD' },\r\n AT: { perDiem: 57, currency: 'EUR' },\r\n AZ: { perDiem: 43, currency: 'EUR' },\r\n BD: { perDiem: 50, currency: 'USD' },\r\n BE: { perDiem: 55, currency: 'EUR' },\r\n BY: { perDiem: 42, currency: 'EUR' },\r\n BA: { perDiem: 41, currency: 'EUR' },\r\n BR: { perDiem: 43, currency: 'EUR' },\r\n BG: { perDiem: 40, currency: 'EUR' },\r\n CL: { perDiem: 60, currency: 'USD' },\r\n CN: { perDiem: 55, currency: 'EUR' },\r\n HR: { perDiem: 42, currency: 'EUR' },\r\n CY: { perDiem: 43, currency: 'EUR' },\r\n ME: { perDiem: 40, currency: 'EUR' },\r\n CZ: { perDiem: 41, currency: 'EUR' },\r\n DK: { perDiem: 446, currency: 'DKK' },\r\n CD: { perDiem: 66, currency: 'USD' },\r\n EG: { perDiem: 55, currency: 'USD' },\r\n EC: { perDiem: 44, currency: 'USD' },\r\n EE: { perDiem: 45, currency: 'EUR' },\r\n ET: { perDiem: 55, currency: 'USD' },\r\n FI: { perDiem: 53, currency: 'EUR' },\r\n FR: { perDiem: 55, currency: 'EUR' },\r\n GR: { perDiem: 50, currency: 'EUR' },\r\n GE: { perDiem: 48, currency: 'EUR' },\r\n ES: { perDiem: 50, currency: 'EUR' },\r\n NL: { perDiem: 50, currency: 'EUR' },\r\n IN: { perDiem: 42, currency: 'EUR' },\r\n ID: { perDiem: 41, currency: 'EUR' },\r\n IQ: { perDiem: 60, currency: 'USD' },\r\n IR: { perDiem: 41, currency: 'EUR' },\r\n IE: { perDiem: 52, currency: 'EUR' },\r\n IS: { perDiem: 56, currency: 'EUR' },\r\n IL: { perDiem: 70, currency: 'EUR' },\r\n JP: { perDiem: 7532, currency: 'JPY' },\r\n YE: { perDiem: 48, currency: 'USD' },\r\n JO: { perDiem: 50, currency: 'EUR' },\r\n KH: { perDiem: 45, currency: 'USD' },\r\n CA: { perDiem: 71, currency: 'CAD' },\r\n QA: { perDiem: 41, currency: 'EUR' },\r\n KZ: { perDiem: 45, currency: 'EUR' },\r\n KE: { perDiem: 41, currency: 'EUR' },\r\n KG: { perDiem: 41, currency: 'USD' },\r\n CO: { perDiem: 49, currency: 'USD' },\r\n KR: { perDiem: 46, currency: 'EUR' },\r\n CR: { perDiem: 50, currency: 'USD' },\r\n CU: { perDiem: 50, currency: 'EUR' },\r\n KW: { perDiem: 39, currency: 'EUR' },\r\n LA: { perDiem: 54, currency: 'USD' },\r\n LB: { perDiem: 57, currency: 'USD' },\r\n LY: { perDiem: 52, currency: 'EUR' },\r\n LI: { perDiem: 88, currency: 'CHF' },\r\n LT: { perDiem: 45, currency: 'EUR' },\r\n LU: { perDiem: 55, currency: 'EUR' },\r\n LV: { perDiem: 57, currency: 'EUR' },\r\n MY: { perDiem: 41, currency: 'EUR' },\r\n MT: { perDiem: 43, currency: 'EUR' },\r\n MA: { perDiem: 41, currency: 'EUR' },\r\n MX: { perDiem: 58, currency: 'USD' },\r\n MD: { perDiem: 45, currency: 'EUR' },\r\n MC: { perDiem: 55, currency: 'EUR' },\r\n MN: { perDiem: 45, currency: 'EUR' },\r\n DE: { perDiem: 49, currency: 'EUR' },\r\n NG: { perDiem: 46, currency: 'EUR' },\r\n NO: { perDiem: 496, currency: 'NOK' },\r\n NZ: { perDiem: 58, currency: 'USD' },\r\n OM: { perDiem: 40, currency: 'EUR' },\r\n PK: { perDiem: 38, currency: 'EUR' },\r\n PS: { perDiem: 70, currency: 'EUR' },\r\n PA: { perDiem: 52, currency: 'USD' },\r\n PE: { perDiem: 50, currency: 'USD' },\r\n ZA: { perDiem: 52, currency: 'USD' },\r\n PT: { perDiem: 49, currency: 'EUR' },\r\n RU: { perDiem: 48, currency: 'EUR' },\r\n RO: { perDiem: 42, currency: 'EUR' },\r\n SM: { perDiem: 53, currency: 'EUR' },\r\n SN: { perDiem: 44, currency: 'EUR' },\r\n RS: { perDiem: 40, currency: 'EUR' },\r\n SG: { perDiem: 56, currency: 'USD' },\r\n SK: { perDiem: 47, currency: 'EUR' },\r\n SI: { perDiem: 45, currency: 'EUR' },\r\n US: { perDiem: 59, currency: 'USD' },\r\n SY: { perDiem: 50, currency: 'USD' },\r\n CH: { perDiem: 88, currency: 'CHF' },\r\n SE: { perDiem: 510, currency: 'SEK' },\r\n TJ: { perDiem: 41, currency: 'EUR' },\r\n TH: { perDiem: 42, currency: 'USD' },\r\n TZ: { perDiem: 53, currency: 'USD' },\r\n TN: { perDiem: 37, currency: 'EUR' },\r\n TR: { perDiem: 53, currency: 'USD' },\r\n TM: { perDiem: 47, currency: 'EUR' },\r\n UA: { perDiem: 41, currency: 'EUR' },\r\n UY: { perDiem: 50, currency: 'USD' },\r\n UZ: { perDiem: 41, currency: 'EUR' },\r\n VA: { perDiem: 53, currency: 'EUR' },\r\n VE: { perDiem: 60, currency: 'USD' },\r\n HU: { perDiem: 44, currency: 'EUR' },\r\n GB: { perDiem: 45, currency: 'GBP' },\r\n VN: { perDiem: 53, currency: 'USD' },\r\n IT: { perDiem: 53, currency: 'EUR' },\r\n CI: { perDiem: 33, currency: 'EUR' },\r\n ZW: { perDiem: 39, currency: 'EUR' },\r\n AE: { perDiem: 43, currency: 'EUR' },\r\n PL: { perDiem: 30, currency: 'PLN' },\r\n TW: { perDiem: 40, currency: 'EUR' },\r\n HK: { perDiem: 55, currency: 'USD' },\r\n GI: { perDiem: 45, currency: 'GBP' }\r\n}\r\n","export default {\n GB: {\n 'GB_London': {\n eng: 'London',\n est: 'London',\n fin: 'Lontoo',\n lav: 'Londona',\n rus: 'Лондон',\n pol: 'Londyn',\n swe: 'London',\n lit: 'Londonas',\n esp: 'Londres'\n },\n 'GB_Edinburgh': {\n eng: 'Edinburgh',\n est: 'Edinburgh',\n fin: 'Edinburgh',\n lav: 'Edinburga',\n rus: 'Эдинбург',\n pol: 'Edynburg',\n swe: 'Edinburgh',\n lit: 'Edinburgas',\n esp: 'Edimburgo'\n }\n },\n US: {\n 'US_New York': {\n eng: 'New York',\n est: 'New York',\n fin: 'New York',\n lav: 'Ņujorka',\n rus: 'Нью-Йорк',\n pol: 'Nowy Jork',\n swe: 'New York',\n lit: 'Niujorkas',\n esp: 'Nueva York'\n },\n 'US_Los Angeles': {\n eng: 'Los Angeles',\n est: 'Los Angeles',\n fin: 'Los Angeles',\n lav: 'Losandželosa',\n rus: 'Лос-Анджелес',\n pol: 'Los Angeles',\n swe: 'Los Angeles',\n lit: 'Los Andželas',\n esp: 'Los Angeles'\n },\n 'US_Washington': {\n eng: 'Washington',\n est: 'Washington',\n fin: 'Washington',\n lav: 'Vašingtona',\n rus: 'Вашингтон',\n pol: 'Waszyngton',\n swe: 'Washington',\n lit: 'Vašingtonas',\n esp: 'Washington'\n },\n 'US_Virgin Islands': {\n eng: 'Virgin Islands',\n est: 'Neitsisaared',\n fin: 'Neitsytsaaret',\n lav: 'Virdžīnas',\n rus: 'Виргинские острова',\n pol: 'Wyspy Dziewicze',\n swe: 'Jungfruöarna',\n lit: 'Mergelių salos',\n esp: 'Islas Vírgenes'\n }\n },\n RU: {\n 'RU_Moscow': {\n eng: 'Moscow',\n est: 'Moskva',\n fin: 'Moskova',\n lav: 'Maskava',\n rus: 'Москва',\n pol: 'Moskwa',\n swe: 'Moskva',\n lit: 'Maskva',\n esp: 'Moscú'\n },\n 'RU_Saint Petersburg': {\n eng: 'Saint Petersburg',\n est: 'Peterburi',\n fin: 'Pietari',\n lav: 'Sanktpēterburga',\n rus: 'Санкт-Петербург',\n pol: 'Petersburg',\n swe: 'Sankt Petersburg',\n lit: 'Sankt Petersburgas',\n esp: 'San Petersburgo'\n }\n },\n TR: {\n 'TR_Istanbul': {\n eng: 'Istanbul',\n est: 'İstanbul',\n fin: 'Istanbul',\n lav: 'Stambula',\n rus: 'Стамбул',\n pol: 'Stambuł',\n swe: 'Istanbul',\n lit: 'Stambulas',\n esp: 'Estanbul'\n }\n },\n PT: {\n 'PT_Madeira': {\n eng: 'Madeira',\n est: 'Madeira',\n fin: 'Madeira',\n lav: 'Madeira',\n rus: 'Мадейра',\n pol: 'Madera',\n swe: 'Madeira',\n lit: 'Madeira',\n esp: 'Madeira'\n },\n 'PT_Azores': {\n eng: 'Azores',\n est: 'Assoorid',\n fin: 'Azorit',\n lav: 'Azoru salas',\n rus: 'Азорские острова',\n pol: 'Azory',\n swe: 'Azorerna',\n lit: 'Azorai',\n esp: 'Azores'\n }\n },\n ES: {\n 'ES_Canary Islands': {\n eng: 'Canary Islands',\n est: 'Kanaari saared',\n fin: 'Kanariansaaret',\n lav: 'Kanāriju Salas',\n rus: 'Канарские острова',\n pol: 'Wyspy Kanaryjskie',\n swe: 'Kanarieöarna',\n lit: 'Kanarų salos',\n esp: 'Canarias'\n }\n }\n}","export default {\n US: {\n 'US_New York': {\n eng: 'New York',\n est: 'New York',\n fin: 'New York',\n lav: 'Ņujorka',\n rus: 'Нью-Йорк',\n pol: 'Nowy Jork',\n swe: 'New York',\n lit: 'Niujorkas',\n esp: 'Nueva York'\n },\n 'US_Virgin Islands': {\n eng: 'Virgin Islands',\n est: 'Neitsisaared',\n fin: 'Neitsytsaaret',\n lav: 'Virdžīnas',\n rus: 'Виргинские острова',\n pol: 'Wyspy Dziewicze',\n swe: 'Jungfruöarna',\n lit: 'Mergelių salos',\n esp: 'Islas Vírgenes'\n }\n },\n RU: {\n 'RU_Moscow': {\n eng: 'Moscow',\n est: 'Moskva',\n fin: 'Moskova',\n lav: 'Maskava',\n rus: 'Москва',\n pol: 'Moskwa',\n swe: 'Moskva',\n lit: 'Maskva',\n esp: 'Moscú'\n },\n 'RU_Saint Petersburg': {\n eng: 'Saint Petersburg',\n est: 'Peterburi',\n fin: 'Pietari',\n lav: 'Sanktpēterburga',\n rus: 'Санкт-Петербург',\n pol: 'Petersburg',\n swe: 'Sankt Petersburg',\n lit: 'Sankt Petersburgas',\n esp: 'San Petersburgo'\n }\n },\n CN: {\n 'CN_Beijing': {\n eng: 'Beijing',\n est: 'Peking',\n fin: 'Peking',\n lav: 'Pekina',\n rus: 'Пекин',\n pol: 'Pekin',\n swe: 'Beijing',\n lit: 'Pekinas',\n esp: 'Pekín'\n },\n 'CN_Shanghai': {\n eng: 'Shanghai',\n est: 'Shanghai',\n fin: 'Shanghai',\n lav: 'Šanhaja',\n rus: 'Шанхай',\n pol: 'Szanghaj',\n swe: 'Shanghai',\n lit: 'Šanchajus',\n esp: 'Shanghái'\n },\n 'CN_Shenzhen': {\n eng: 'Shenzhen',\n est: 'Shenzhen',\n fin: 'Shenzhen',\n lav: 'Šeņdžeņa',\n rus: 'Шэньчжэнь',\n pol: 'Shenzhen',\n swe: 'Shenzhen',\n lit: 'Šenzenas',\n esp: 'Shenzhen'\n },\n 'CN_Guangzhou': {\n eng: 'Guangzhou',\n est: 'Guangzhou',\n fin: 'Kanton',\n lav: 'Guandžou',\n rus: 'Гуанчжоу',\n pol: 'Kanton',\n swe: 'Guangzhou',\n lit: 'Guangdžou',\n esp: 'Cantón'\n },\n 'CN_Hangzhou': {\n eng: 'Hangzhou',\n est: 'Hangzhou',\n fin: 'Hangzhou',\n lav: 'Handžou',\n rus: 'Ханчжоу',\n pol: 'Hangzhou',\n swe: 'Hangzhou',\n lit: 'Hangdžou',\n esp: 'Hangzhou'\n },\n 'CN_Hong Kong': {\n eng: 'Hong Kong',\n est: 'Hongkong',\n fin: 'Hongkong',\n lav: 'Honkonga',\n rus: 'Гонконг',\n pol: 'Hongkong',\n swe: 'Hongkong',\n lit: 'Honkongas',\n esp: 'Hong Kong'\n },\n 'CN_Macau': {\n eng: 'Macau',\n est: 'Macau',\n fin: 'Macao',\n lav: 'Makao',\n rus: 'Макао',\n pol: 'Makau',\n swe: 'Macau',\n lit: 'Makao',\n esp: 'Macao'\n }\n },\n DE: {\n 'DE_Hamburg': {\n eng: 'Hamburg',\n est: 'Hamburg',\n fin: 'Hampuri',\n lav: 'Hamburga',\n rus: 'Гамбург',\n pol: 'Hamburg',\n swe: 'Hamburg',\n lit: 'Hamburgas',\n esp: 'Hamburgo'\n },\n 'DE_Munich': {\n eng: 'Munich',\n est: 'München',\n fin: 'München',\n lav: 'Minhene',\n rus: 'Мюнхен',\n pol: 'Monachium',\n swe: 'München',\n lit: 'Miunchenas',\n esp: 'Múnich'\n },\n 'DE_Frankfurt': {\n eng: 'Frankfurt',\n est: 'Frankfurt',\n fin: 'Frankfurt',\n lav: 'Frankfurte',\n rus: 'Франкфурт',\n pol: 'Frankfurt',\n swe: 'Frankfurt',\n lit: 'Frankfurtas',\n esp: 'Fráncfort'\n },\n 'DE_Berlin': {\n eng: 'Berlin',\n est: 'Berliin',\n fin: 'Berliini',\n lav: 'Berlīne',\n rus: 'Берлин',\n pol: 'Berlin',\n swe: 'Berlin',\n lit: 'Berlynas',\n esp: 'Berlín'\n }\n }\n}\n","export default {\r\n US: {\r\n 'US_New York': {\r\n eng: 'New York',\r\n est: 'New York',\r\n fin: 'New York',\r\n lav: 'Ņujorka',\r\n rus: 'Нью-Йорк',\r\n pol: 'Nowy Jork',\r\n swe: 'New York',\r\n lit: 'Niujorkas',\r\n esp: 'Nueva York'\r\n }\r\n }\r\n}\r\n","import specialTerritoriesFinland from './specialTerritoriesFinland'\r\nimport specialTerritoriesLatvia from './specialTerritoriesLatvia'\r\nimport specialTerritoriesLithuania from './specialTerritoriesLithuania'\r\n\r\nexport default {\r\n FI: specialTerritoriesFinland,\r\n LV: specialTerritoriesLatvia,\r\n LT: specialTerritoriesLithuania,\r\n}\r\n","module.exports = {\r\n AL: 265,\r\n DZ: 376,\r\n AO: 956,\r\n AG: 814,\r\n AR: 305,\r\n AM: 544,\r\n AU: 744,\r\n AZ: 436,\r\n BS: 1140,\r\n BH: 867,\r\n BD: 520,\r\n BB: 1095,\r\n BE: 794,\r\n BZ: 658,\r\n BJ: 531,\r\n BO: 438,\r\n BW: 379,\r\n BR: 430,\r\n BG: 389,\r\n BF: 433,\r\n CF: 461,\r\n CL: 487,\r\n CO: 260,\r\n CR: 610,\r\n CY: 613,\r\n DK: 1051,\r\n DJ: 677,\r\n EC: 689,\r\n EG: 275,\r\n SV: 565,\r\n ER: 480,\r\n EE: 526,\r\n ET: 269,\r\n PH: 468,\r\n FI: 786,\r\n FR: 852,\r\n AE: 1057,\r\n GA: 680,\r\n GM: 321,\r\n GE: 315,\r\n GH: 260,\r\n GR: 639,\r\n GD: 698,\r\n GL: 1051,\r\n GY: 660,\r\n HT: 700,\r\n HN: 490,\r\n IN: 359,\r\n ID: 483,\r\n IQ: 659,\r\n IR: 1880,\r\n IE: 827,\r\n IS: 889,\r\n IL: 1060,\r\n IT: 701,\r\n JM: 529,\r\n JP: 480,\r\n JO: 914,\r\n KH: 573,\r\n CM: 517,\r\n CA: 844,\r\n KZ: 261,\r\n KE: 502,\r\n CN: 688,\r\n KG: 260,\r\n HR: 472,\r\n CU: 613,\r\n KW: 899,\r\n LA: 260,\r\n LV: 603,\r\n LR: 784,\r\n LY: 260,\r\n LI: 1032,\r\n LT: 497,\r\n LU: 847,\r\n MO: 688,\r\n MG: 260,\r\n MW: 314,\r\n MY: 335,\r\n MV: 491,\r\n ML: 467,\r\n MT: 580,\r\n MA: 454,\r\n MR: 398,\r\n MU: 440,\r\n MX: 507,\r\n FM: 560,\r\n MD: 337,\r\n MC: 898,\r\n MN: 395,\r\n ME: 392,\r\n NL: 721,\r\n NP: 287,\r\n NI: 470,\r\n NE: 361,\r\n NG: 663,\r\n NO: 1019,\r\n NZ: 623,\r\n OM: 915,\r\n PK: 260,\r\n PA: 682,\r\n PG: 634,\r\n PY: 343,\r\n PE: 480,\r\n PL: 457,\r\n PT: 499,\r\n PR: 1113,\r\n QA: 897,\r\n RO: 357,\r\n RW: 331,\r\n RU: 727,\r\n SM: 701,\r\n SA: 1008,\r\n CH: 1149,\r\n SN: 561,\r\n RS: 390,\r\n SC: 1058,\r\n SL: 262,\r\n SG: 862,\r\n SK: 548,\r\n SI: 539,\r\n ES: 646,\r\n LK: 260,\r\n SD: 522,\r\n SZ: 260,\r\n ZA: 289,\r\n KR: 636,\r\n TW: 631,\r\n TZ: 462,\r\n TH: 546,\r\n CZ: 529,\r\n TG: 530,\r\n TO: 482,\r\n TT: 927,\r\n TN: 260,\r\n TR: 260,\r\n TM: 1533,\r\n DE: 718,\r\n UG: 415,\r\n UA: 331,\r\n HU: 385,\r\n UY: 547,\r\n US: 1113,\r\n UZ: 260,\r\n VU: 731,\r\n VE: 367,\r\n VN: 411,\r\n ZM: 630,\r\n ZW: 260,\r\n AT: 669,\r\n BY: 317,\r\n BA: 345,\r\n BN: 524,\r\n MM: 260,\r\n CI: 693,\r\n GN: 694,\r\n HK: 688,\r\n CG: 576,\r\n CD: 808,\r\n XK: 274,\r\n MZ: 415,\r\n MK: 305,\r\n LC: 681,\r\n VC: 590,\r\n WS: 608,\r\n GB: 779,\r\n AN: 754,\r\n SE: 260\r\n}\r\n","module.exports = {\r\n AL: 322,\r\n DZ: 388,\r\n AO: 530,\r\n AG: 834,\r\n AR: 290,\r\n AM: 557,\r\n AU: 817,\r\n AZ: 471,\r\n BS: 1267,\r\n BH: 994,\r\n BD: 499,\r\n BB: 1125,\r\n BE: 894,\r\n BZ: 681,\r\n BJ: 600,\r\n BO: 432,\r\n BW: 407,\r\n BR: 505,\r\n BG: 431,\r\n BF: 478,\r\n CF: 501,\r\n CL: 575,\r\n CO: 343,\r\n CR: 772,\r\n CY: 682,\r\n DK: 1274,\r\n DJ: 697,\r\n EC: 703,\r\n EG: 290,\r\n SV: 574,\r\n ER: 504,\r\n EE: 611,\r\n ET: 310,\r\n PH: 563,\r\n FI: 948,\r\n FR: 935,\r\n AE: 1060,\r\n GA: 731,\r\n GM: 321,\r\n GE: 381,\r\n GH: 514,\r\n GR: 728,\r\n GD: 706,\r\n GL: 1274,\r\n GY: 653,\r\n HT: 789,\r\n HN: 530,\r\n IN: 377,\r\n ID: 488,\r\n IQ: 730,\r\n IR: 493,\r\n IE: 1011,\r\n IS: 1064,\r\n IL: 921,\r\n IT: 856,\r\n JM: 506,\r\n JP: 486,\r\n JO: 950,\r\n KH: 593,\r\n CM: 554,\r\n CA: 1009,\r\n KZ: 378,\r\n KE: 435,\r\n CN: 688,\r\n KG: 290,\r\n HR: 510,\r\n CU: 373,\r\n KW: 928,\r\n LA: 290,\r\n LV: 687,\r\n LB: 493,\r\n LR: 752,\r\n LY: 290,\r\n LI: 1147,\r\n LT: 599,\r\n LU: 977,\r\n MO: 688,\r\n MG: 290,\r\n MW: 403,\r\n MY: 319,\r\n MV: 477,\r\n ML: 511,\r\n MT: 655,\r\n MA: 470,\r\n MR: 404,\r\n MU: 432,\r\n MX: 668,\r\n FM: 619,\r\n MD: 389,\r\n MC: 1009,\r\n MN: 504,\r\n ME: 416,\r\n NL: 792,\r\n NP: 312,\r\n NI: 542,\r\n NE: 387,\r\n NG: 435,\r\n MK: 320,\r\n NO: 1104,\r\n NZ: 656,\r\n OM: 977,\r\n PK: 290,\r\n PA: 779,\r\n PG: 662,\r\n PY: 352,\r\n PE: 504,\r\n PL: 562,\r\n PT: 613,\r\n PR: 1168,\r\n QA: 967,\r\n RO: 424,\r\n RW: 290,\r\n RU: 544,\r\n SM: 856,\r\n SA: 1220,\r\n CH: 1365,\r\n SN: 652,\r\n RS: 453,\r\n SC: 1092,\r\n SL: 290,\r\n SG: 959,\r\n SK: 691,\r\n SI: 592,\r\n ES: 691,\r\n LK: 471,\r\n SD: 701,\r\n SZ: 290,\r\n ZA: 318,\r\n KR: 681,\r\n TW: 615,\r\n TZ: 413,\r\n TH: 563,\r\n CZ: 735,\r\n TG: 567,\r\n TO: 519,\r\n TT: 960,\r\n TN: 290,\r\n TR: 290,\r\n TM: 1649,\r\n DE: 800,\r\n UG: 422,\r\n UA: 393,\r\n HU: 666,\r\n UY: 624,\r\n US: 1168,\r\n UZ: 290,\r\n VU: 743,\r\n VE: 420,\r\n VN: 433,\r\n ZM: 425,\r\n ZW: 660,\r\n AT: 746,\r\n BY: 290,\r\n BA: 377,\r\n BN: 551,\r\n CI: 766,\r\n GN: 683,\r\n HK: 688,\r\n CG: 680,\r\n CD: 697,\r\n XK: 290,\r\n MZ: 438,\r\n MM: 290,\r\n VC: 564,\r\n WS: 649,\r\n GB: 914,\r\n LC: 789,\r\n SE: 290\r\n}\r\n","const Estonian = require('./data/et.json')\n , Polish = require('./data/pl.json')\n , Latvian = require('./data/lv.json')\n , Finnish = require('./data/fi.json')\n , English = require('./data/en.json')\n , Russian = require('./data/ru.json')\n , Swedish = require('./data/se.json')\n , Lithuanian = require('./data/lt.json')\n , Spanish = require('./data/es.json')\n\nmodule.exports = {\n est: Estonian,\n pol: Polish,\n lav: Latvian,\n fin: Finnish,\n rus: Russian,\n eng: English,\n swe: Swedish,\n lit: Lithuanian,\n esp: Spanish\n}\n","import Axios from 'axios'\nimport xstore from '@/store'\nimport { CONFIG_STORE_GETTERS } from '@/enums'\nAxios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.token\nAxios.defaults.withCredentials = true\n\nAxios.interceptors.request.use((config) => {\n config.headers.common['Authorization'] = 'Bearer ' + localStorage.token\n config.withCredentials = true\n\n try {\n if (config.__ignoreCustomServices) {\n return config\n }\n\n if (!config.__services) {\n config.__services = Axios.defaults.__services = xstore.getters[CONFIG_STORE_GETTERS.CONFIG]?.services || null\n }\n\n if (!config.__basenames && config.__services) {\n config.__basenames = Axios.defaults.__basenames = Object.assign({}, ...Object.entries(config.__services || {}).map(([name, {url}]) => ({['@' + name]: url})))\n }\n\n config.onDownloadProgress = (progressEvent) => handleDownloadPrecent(progressEvent, config.handleOnDownloadProgress)\n config.onUploadProgress = (progressEvent) => handleDownloadPrecent(progressEvent, config.handleOnDownloadProgress)\n\n if (config.url.startsWith('@') && config.__basenames) {\n config.url = config.url.replace(/^@\\w+/, (string) => config.__basenames[string])\n }\n\n return config\n }\n\n catch (error) {\n console.log('Axios.interceptors.request - ERROR', {error})\n return config\n }\n}, (error) => {\n return Promise.reject(error)\n})\n\n\nexport function handleDownloadPrecent ({ loaded, total } = {}, callback = () => {}) {\n const percentCompleted = Math.floor(loaded / total * 100)\n callback(percentCompleted)\n}","\nexport const isDebugMode = location && (location.hostname === 'localhost' || location.hostname === '127.0.0.1')\nexport const handleError = isDebugMode ? (console?.error ? console.error : () => {}) : () => {}\nexport const handleLog = isDebugMode ? (console?.log ? console.log : () => {}) : () => {}\n\nexport default handleError\n","/**\n * Finds element with most occurences. If two or more elements have equal amount of occurences,\n * the one that appears latest in array will be returned.\n * @param {Array}\n * @returns Element with most occurences\n */\nexport default function findMostCommonOccurence(list = []) {\n if (list.length < 1) {\n return ''\n }\n return list.sort((a, b) => list.filter(v => v === a).length - list.filter(v => v === b).length)[list.length - 1]\n}\n","export default function getQueryFromObj (params) {\n return Object.keys(params).map(key => key + '=' + params[key]).join('&')\n}\n","export default function particularizeReportName(existingName, otherReportNames) {\r\n if (otherReportNames.find((prevName) => prevName === existingName)) {\r\n let nameNumber = 1\r\n let newName = ''\r\n while (!newName) {\r\n if (!otherReportNames.find((prevName) => prevName === `${existingName} (${nameNumber})`)) {\r\n newName = `${existingName} (${nameNumber})`\r\n }\r\n nameNumber++\r\n }\r\n return newName\r\n }\r\n\r\n return existingName\r\n}\r\n","/**\r\n * Returns '0.00' if sum is non-numeric value\r\n * Leaves only the first inserted comma (if multiple are present),\r\n * replaces comma with dot and removes all spaces \r\n * @param {string}\r\n * @returns {string} formatted sum\r\n */\r\n\r\nexport default function transformSumInput(sum = '') {\r\n sum = sum === null || sum === undefined ? '' : sum\r\n const sumWithDots = sum.toString().replaceAll(',', '.').replaceAll(' ', '')\r\n if (!sumWithDots.length) return '0.00'\r\n const transformedSum = [...sumWithDots].reduce((formattedSum, nextChar, index) => {\r\n if (nextChar === '.') {\r\n const remainingString = sum.toString().slice(index + 1)\r\n nextChar = remainingString.includes('.') ? '' : nextChar\r\n }\r\n return formattedSum + nextChar\r\n })\r\n if (transformedSum && isNaN(transformedSum)) return '0.00'\r\n return transformedSum\r\n}\r\n","module.exports = {\n \"cancel\": {\n \"est\": \"Katkesta\",\n \"eng\": \"Cancel\",\n \"rus\": \"Отменить\",\n \"fin\": \"Peruuta\",\n \"pol\": \"Anuluj\",\n \"lav\": \"Atcelt\",\n \"lit\": \"Atšaukti\",\n \"swe\": \"Avbryt\",\n \"esp\": \"Cancelar\"\n },\n \"submit\": {\n \"est\": \"Esita\",\n \"eng\": \"Submit\",\n \"rus\": \"Подать\",\n \"fin\": \"Lähetä\",\n \"pol\": \"Zatwierdź\",\n \"lav\": \"Iesniegt\",\n \"lit\": \"Pateikti\",\n \"swe\": \"Skicka in\",\n \"esp\": \"Enviar\"\n },\n \"save\": {\n \"est\": \"Salvesta\",\n \"eng\": \"Save\",\n \"rus\": \"Сохранить\",\n \"fin\": \"Tallenna\",\n \"pol\": \"Zapisz\",\n \"lav\": \"Saglabāt\",\n \"lit\": \"Išsaugoti\",\n \"swe\": \"Spara\",\n \"esp\": \"Guardar\"\n },\n \"logOut\": {\n \"est\": \"Logi välja\",\n \"eng\": \"Log out\",\n \"rus\": \"Выйти\",\n \"fin\": \"Kirjaudu ulos\",\n \"pol\": \"Wyloguj\",\n \"lav\": \"Iziet\",\n \"lit\": \"Atsijungti\",\n \"swe\": \"Logga ut\",\n \"esp\": \"Cerrar Sesión\"\n },\n \"languages\": {\n \"est\": \"Keel\",\n \"eng\": \"Language\",\n \"rus\": \"Язык\",\n \"fin\": \"Kielet\",\n \"pol\": \"Język\",\n \"lav\": \"Valodas\",\n \"lit\": \"Kalba\",\n \"swe\": \"Språk\",\n \"esp\": \"Idioma\"\n },\n \"saving\": {\n \"est\": \"Salvestan\",\n \"eng\": \"Saving\",\n \"rus\": \"Сохраняется\",\n \"fin\": \"Tallennetaan...\",\n \"pol\": \"Zapisywanie...\",\n \"lav\": \"Tiek saglabāts\",\n \"lit\": \"Išsaugoma\",\n \"swe\": \"Sparar\",\n \"esp\": \"Guardando\"\n },\n \"pleaseWaitForUpload\": {\n \"est\": \"Palun oota...\",\n \"eng\": \"Please wait...\",\n \"rus\": \"Пожалуйста, подождите...\",\n \"fin\": \"Hetkinen...\",\n \"pol\": \"Proszę, zaczekaj...\",\n \"lav\": \"Lūdzu, uzgaidiet...\",\n \"lit\": \"Palaukite...\",\n \"swe\": \"Var god vänta...\",\n \"esp\": \"Por favor espere...\"\n },\n \"youHaveNoReceipts\": {\n \"est\": \"Ühtegi dokumenti ei ole veel lisatud\",\n \"eng\": \"No documents submitted yet\",\n \"rus\": \"Ни одной квитанции не добавлено\",\n \"fin\": \"Yhtään kuittia ei ole vielä lähetetty\",\n \"pol\": \"Nie dodano jeszcze żadnych dokumentów\",\n \"lav\": \"Vēl nav iesniegts neviens dokuments\",\n \"lit\": \"Nėra pateiktų dokumentų\",\n \"swe\": \"Inga kvitton har skickats in än\",\n \"esp\": \"Aún no se han enviado documentos\"\n },\n \"newCompany\": {\n \"est\": \"Uus konto\",\n \"eng\": \"New account\",\n \"rus\": \"Новый аккаунт\",\n \"fin\": \"Uusi tili\",\n \"pol\": \"Nowe konto\",\n \"lav\": \"Jauns konts\",\n \"lit\": \"Nauja paskyra\",\n \"swe\": \"Nytt konto\",\n \"esp\": \"Nueva cuenta\"\n },\n \"companyName\": {\n \"est\": \"Juriidilise organisatsiooni nimi\",\n \"eng\": \"Name of the organisation\",\n \"rus\": \"Название организации\",\n \"fin\": \"Organisaation nimi\",\n \"pol\": \"Nazwa organizacji\",\n \"lav\": \"Uzņēmuma nosaukums\",\n \"swe\": \"Namn på organisation\",\n \"lit\": \"Organizacijos pavadinimas\",\n \"esp\": \"Nombre de la organización\"\n },\n \"editCompany\": {\n \"eng\": \"Company information\",\n \"pol\": \"Informacje o firmie\",\n \"est\": \"Ettevõtte andmed\",\n \"rus\": \"Редактировать информацию о компании\",\n \"fin\": \"Muokkaa organisaation tietoja\",\n \"lav\": \"Rediģēt uzņēmuma informāciju\",\n \"lit\": \"Įmonės informacija\",\n \"swe\": \"Företagsinformation\",\n \"esp\": \"Información de la empresa\"\n },\n \"commentRepresentationCost\": {\n \"est\": \"Kellega kohtuti ja mis eesmärgil?\",\n \"eng\": \"Who attended and what was the purpose of the meeting?\",\n \"rus\": \"Кто присутствовал и какова была цель встречи?\",\n \"fin\": \"Osallistujat ja tapaamisen tarkoitus\",\n \"pol\": \"Kto uczestniczył i jaki był cel spotkania?\",\n \"lav\": \"Kurš piedalījās un kāds bija sanāksmes mērķis?\",\n \"lit\": \"Kas dalyvavo ir koks buvo susitikimo tikslas?\",\n \"swe\": \"Vem deltog och vad var syftet med mötet?\",\n \"esp\": \"¿Quiénes asistieron y cuál fue el propósito de la reunión?\"\n },\n \"billingType\": {\n \"est\": \"Hüvitamine\",\n \"eng\": \"Reimbursement\",\n \"rus\": \"Компенсация\",\n \"fin\": \"Kulukorvaus\",\n \"pol\": \"Zwrot kosztów\",\n \"lav\": \"Atmaksa\",\n \"swe\": \"Ersättning\",\n \"lit\": \"Kompensacija\",\n \"esp\": \"Reembolso\"\n },\n \"reimbursement\": {\n \"est\": \"Kuulub hüvitamisele\",\n \"eng\": \"Get reimbursed\",\n \"rus\": \"Прошу компенсировать\",\n \"fin\": \"Hyvitetään\",\n \"pol\": \"Uzyskaj zwrot kosztów\",\n \"lav\": \"Lūdzu, atmaksāt\",\n \"lit\": \"Gauti kompensaciją\",\n \"swe\": \"Få ersättning\",\n \"esp\": \"Ser reembolsado\"\n },\n \"paidPersonally\": {\n \"est\": \"Maksin eraisikuna\",\n \"eng\": \"Paid by personal funds\",\n \"rus\": \"Оплачено из личных средств\",\n \"fin\": \"Maksettu henkilökohtaisista varoista\",\n \"pol\": \"Opłacono z funduszy prywatnych\",\n \"lav\": \"Apmaksāts ar personīgajiem līdzekļiem\",\n \"lit\": \"Apmokėta privačiomis lėšomis\",\n \"swe\": \"Betalt för med privata medel\",\n \"esp\": \"Pagado con fondos personales\"\n },\n \"companyExpense\": {\n \"est\": \"Ei kuulu hüvitamisele\",\n \"eng\": \"The company paid\",\n \"rus\": \"Оплачено компанией\",\n \"fin\": \"Ei hyvitetä\",\n \"pol\": \"Koszt firmowy\",\n \"lav\": \"Uzņēmuma izdevumi\",\n \"lit\": \"Apmokėta įmonės\",\n \"swe\": \"Företaget betalade\",\n \"esp\": \"La empresa pagó\"\n },\n \"paidByCompanyFunds\": {\n \"est\": \"Makstud ettevõtte vahenditest\",\n \"eng\": \"Paid by company funds\",\n \"rus\": \"Оплачено из средств организации\",\n \"fin\": \"Maksettu organisaation varoista\",\n \"pol\": \"Opłacony z funduszy firmowych\",\n \"lav\": \"Apmaksāts ar uzņēmuma līdzekļiem\",\n \"swe\": \"Betalt för med företagsmedel\",\n \"lit\": \"Apmokėta įmonės lėšomis\",\n \"esp\": \"Pagado con fondos de la empresa\"\n },\n \"saveAndLeave\": {\n \"est\": \"Salvesta & lahku\",\n \"eng\": \"Save and close\",\n \"rus\": \"Сохранить и выйти\",\n \"fin\": \"Tallenna ja poistu\",\n \"pol\": \"Zapisz i wyjdź\",\n \"lav\": \"Saglabāt un iziet\",\n \"lit\": \"Išsaugoti ir uždaryti\",\n \"swe\": \"Spara och lämna\",\n \"esp\": \"Guardar y cerrar\"\n },\n \"paidBy\": {\n \"est\": \"Makseviis\",\n \"eng\": \"Payment method\",\n \"rus\": \"Способ оплаты\",\n \"fin\": \"Maksutapa\",\n \"pol\": \"Metoda płatności\",\n \"lav\": \"Maksāts ar\",\n \"lit\": \"Mokėjimo būdas\",\n \"swe\": \"Betalningsmetod\",\n \"esp\": \"Método de pago\"\n },\n \"cash\": {\n \"est\": \"Sularaha\",\n \"eng\": \"Cash\",\n \"rus\": \"Наличные\",\n \"fin\": \"Käteinen\",\n \"pol\": \"Gotówka\",\n \"lav\": \"Skaidra nauda\",\n \"lit\": \"Grynieji\",\n \"swe\": \"Kontant\",\n \"esp\": \"Efectivo\"\n },\n \"cc\": {\n \"est\": \"Firma kaart\",\n \"eng\": \"Company card\",\n \"rus\": \"Корпоративная карта\",\n \"fin\": \"Yrityskortti\",\n \"pol\": \"Karta firmowa\",\n \"lav\": \"Uzņēmuma karti\",\n \"lit\": \"Įmonės banko kortelė\",\n \"swe\": \"Företagskort\",\n \"esp\": \"Tarjeta de la empresa\"\n },\n \"transfer\": {\n \"est\": \"Pangaülekanne\",\n \"eng\": \"Bank transfer\",\n \"rus\": \"Перевод\",\n \"fin\": \"Tilisiirto\",\n \"pol\": \"Przelew\",\n \"lav\": \"Pārskaitījumu\",\n \"lit\": \"Pervedimas\",\n \"swe\": \"Överföring\",\n \"esp\": \"Transferencia bancaria\"\n },\n \"costType\": {\n \"est\": \"Kululiik\",\n \"eng\": \"Expense type\",\n \"rus\": \"Тип расходов\",\n \"fin\": \"Kululaji\",\n \"pol\": \"Rodzaj kosztu\",\n \"lav\": \"Izdevumu veids\",\n \"lit\": \"Išlaidos tipas\",\n \"swe\": \"Utgiftstyp\",\n \"esp\": \"Tipo de gasto\"\n },\n \"car\": {\n \"est\": \"Auto\",\n \"eng\": \"Car\",\n \"rus\": \"Автомобиль\",\n \"fin\": \"Auto\",\n \"pol\": \"Samochód\",\n \"lav\": \"Automašīna\",\n \"swe\": \"Bil\",\n \"lit\": \"Automobilis\",\n \"esp\": \"Auto\"\n },\n \"transport\": {\n \"est\": \"Transport\",\n \"eng\": \"Transport\",\n \"rus\": \"Транспорт\",\n \"fin\": \"Kuljetus\",\n \"pol\": \"Transport\",\n \"lav\": \"Transports\",\n \"lit\": \"Transportas\",\n \"swe\": \"Transport\",\n \"esp\": \"Transporte\"\n },\n \"representationCost\": {\n \"est\": \"Esinduskulu\",\n \"eng\": \"Representation cost\",\n \"rus\": \"Представительские расходы\",\n \"fin\": \"Edustuskulut\",\n \"pol\": \"Koszty reprezentacyjne\",\n \"lav\": \"Reprezentācijas izdevumi\",\n \"lit\": \"Reprezentaciniai kaštai\",\n \"swe\": \"Representationskostnad\",\n \"esp\": \"Costo de representación\"\n },\n \"businessCost\": {\n \"est\": \"Majanduskulu\",\n \"eng\": \"Business cost\",\n \"rus\": \"Бизнес-расходы\",\n \"fin\": \"Liiketoimintakustannus\",\n \"pol\": \"Koszty biznesowe\",\n \"lav\": \"Biznesa izdevumi\",\n \"lit\": \"Verslo kaštai\",\n \"swe\": \"Företagskostnad\",\n \"esp\": \"Costo del negocio\"\n },\n \"otherCost\": {\n \"est\": \"Muu kulu\",\n \"eng\": \"Other cost\",\n \"rus\": \"Другие расходы\",\n \"fin\": \"Muut kulut\",\n \"pol\": \"Inne koszty\",\n \"lav\": \"Citi izdevumi\",\n \"swe\": \"Övrig kostnad\",\n \"lit\": \"Kiti kaštai\",\n \"esp\": \"Otro costo\"\n },\n \"preview\": {\n \"est\": \"Eelvaade\",\n \"eng\": \"Preview\",\n \"rus\": \"Предпросмотр\",\n \"fin\": \"Esikatselu\",\n \"pol\": \"Podgląd\",\n \"lav\": \"Priekšskatīt\",\n \"lit\": \"Peržiūrėti\",\n \"swe\": \"Förhandsvisning\",\n \"esp\": \"Vista previa\"\n },\n \"addComment\": {\n \"est\": \"Lisa Kommentaar\",\n \"eng\": \"Add comment\",\n \"rus\": \"Добавить комментарий\",\n \"fin\": \"Lisää kommentti\",\n \"pol\": \"Dodaj komentarz\",\n \"lav\": \"Pievienot komentāru\",\n \"swe\": \"Lägg till kommentar\",\n \"lit\": \"Pridėti komentarą\",\n \"esp\": \"Agregar Comentario\"\n },\n \"comment\": {\n \"est\": \"Kommentaar\",\n \"eng\": \"Comment\",\n \"rus\": \"Комментарий\",\n \"fin\": \"Kommentti\",\n \"pol\": \"Komentarz\",\n \"lav\": \"Komentārs\",\n \"lit\": \"Komentaras\",\n \"swe\": \"Kommentar\",\n \"esp\": \"Comentario\"\n },\n \"confirmBusinessRelated\": {\n \"est\": \"Kinnitan, et tegemist on selle ettevõttega seotud kulu(de)ga\",\n \"eng\": \"I confirm this is a business-related expense\",\n \"rus\": \"Я подтверждаю, что это расходы, связанные с бизнесом\",\n \"fin\": \"Vahvistan, että tämä on liiketoimintaan liittyvä kustannus.\",\n \"pol\": \"Potwierdzam, że jest to wydatek związany z prowadzeniem działalności\",\n \"lav\": \"Es apliecinu, ka šie ir ar uzņēmumu saistīti izdevumi\",\n \"swe\": \"Jag bekräftar att detta är en företagsrelaterad utgift\",\n \"lit\": \"Patvirtinu, jog tai yra su verslu susijusios išlaidos\",\n \"esp\": \"Confirmo que este es un gasto relacionado con el negocio.\"\n },\n \"upload\": {\n \"est\": \"Üleslaadimine:\",\n \"eng\": \"Upload:\",\n \"rus\": \"Загрузить:\",\n \"fin\": \"Lataa\",\n \"pol\": \"Wyślij\",\n \"lav\": \"Augšupielāde:\",\n \"swe\": \"Ladda upp:\",\n \"lit\": \"Įkelti:\",\n \"esp\": \"Cargar\"\n },\n \"or\": {\n \"est\": \"või\",\n \"eng\": \"or\",\n \"rus\": \"или\",\n \"fin\": \"tai\",\n \"pol\": \"lub\",\n \"lav\": \"vai\",\n \"swe\": \"eller\",\n \"lit\": \"arba\",\n \"esp\": \"o\"\n },\n \"search\": {\n \"est\": \"Otsi\",\n \"eng\": \"Search\",\n \"rus\": \"Поиск\",\n \"fin\": \"Etsi\",\n \"pol\": \"Wyszukaj\",\n \"lav\": \"Meklēt\",\n \"swe\": \"Sök\",\n \"lit\": \"Ieškoti\",\n \"esp\": \"Buscar\"\n },\n \"loading\": {\n \"est\": \"Tegelen\",\n \"eng\": \"Loading\",\n \"rus\": \"Загрузка\",\n \"fin\": \"Ladataan...\",\n \"pol\": \"Ładuję\",\n \"lav\": \"Ielāde\",\n \"lit\": \"Įkeliama\",\n \"swe\": \"Laddar\",\n \"esp\": \"Cargando\"\n },\n \"join\": {\n \"est\": \"Liitu\",\n \"eng\": \"Join\",\n \"rus\": \"Присоединиться\",\n \"fin\": \"Liity\",\n \"pol\": \"Dołącz\",\n \"lav\": \"Pievienoties\",\n \"swe\": \"Gå med\",\n \"lit\": \"Prisijungti\",\n \"esp\": \"Unirse\"\n },\n \"privatePerson\": {\n \"est\": \"Eraisiku konto\",\n \"eng\": \"Private person account\",\n \"rus\": \"Учетная запись частного лица\",\n \"fin\": \"Yksityishenkilö\",\n \"pol\": \"Konto osoby prywatnej\",\n \"lav\": \"Privātpersona\",\n \"swe\": \"Privatperson\",\n \"lit\": \"Privataus asmens paskyra\",\n \"esp\": \"Cuenta de persona privada\"\n },\n \"whatCountryCompany\": {\n \"est\": \"Mis riigis on organisatsioon registreeritud?\",\n \"eng\": \"Where is the organisation registered?\",\n \"rus\": \"Где зарегистрирована организация?\",\n \"fin\": \"Missä maassa organisaatio on rekisteröity?\",\n \"pol\": \"Gdzie jest zarejestrowana organizacja?\",\n \"lav\": \"Kur organizācija ir reģistrēta?\",\n \"swe\": \"Var är organisationen registrerad?\",\n \"lit\": \"Kur įmonė yra registruota?\",\n \"esp\": \"¿Dónde está registrada la organización?\"\n },\n \"selectCountry\": {\n \"est\": \"Vali riik\",\n \"eng\": \"Choose country\",\n \"rus\": \"Bыберите страну\",\n \"fin\": \"Valitse maa\",\n \"pol\": \"Wybierz kraj\",\n \"lav\": \"Izvēlieties valsti\",\n \"lit\": \"Pasirinkite valstybę\",\n \"swe\": \"Välj land\",\n \"esp\": \"Seleccione país\"\n },\n \"estonia\": {\n \"est\": \"Eesti\",\n \"eng\": \"Estonia\",\n \"rus\": \"Эстония\",\n \"fin\": \"Viro\",\n \"pol\": \"Estonia\",\n \"lav\": \"Igaunija\",\n \"swe\": \"Estland\",\n \"lit\": \"Estija\",\n \"esp\": \"Estonia\"\n },\n \"latvia\": {\n \"est\": \"Läti\",\n \"eng\": \"Latvia\",\n \"rus\": \"Латвия\",\n \"fin\": \"Latvia\",\n \"pol\": \"Łotwa\",\n \"lav\": \"Latvija\",\n \"swe\": \"Lettland\",\n \"lit\": \"Latvija\",\n \"esp\": \"Letonia\"\n },\n \"regCode\": {\n \"est\": \"Reg. kood\",\n \"eng\": \"Registry code\",\n \"rus\": \"Kод реестра\",\n \"fin\": \"Y-tunnus\",\n \"pol\": \"REGON\",\n \"lav\": \"Reģistrācijas numurs\",\n \"lit\": \"Registracijos kodas\",\n \"swe\": \"Registreringskod\",\n \"esp\": \"Código de registro\"\n },\n \"city\": {\n \"est\": \"Linn\",\n \"eng\": \"City\",\n \"rus\": \"Город\",\n \"fin\": \"Kaupunki\",\n \"pol\": \"Miasto\",\n \"lav\": \"Pilsēta\",\n \"swe\": \"Stad\",\n \"lit\": \"Miestas\",\n \"esp\": \"Ciudad\"\n },\n \"address\": {\n \"est\": \"Aadress\",\n \"eng\": \"Address\",\n \"rus\": \"Адрес\",\n \"fin\": \"Osoite\",\n \"pol\": \"Adres\",\n \"lav\": \"Adrese\",\n \"swe\": \"Adress\",\n \"lit\": \"Adresas\",\n \"esp\": \"Dirección\"\n },\n \"zip\": {\n \"est\": \"Indeks\",\n \"eng\": \"Zip\",\n \"rus\": \"Почтовый индекс\",\n \"fin\": \"Postinumero\",\n \"pol\": \"Kod pocztowy\",\n \"lav\": \"Pasta indekss\",\n \"lit\": \"Pašto indeksas\",\n \"swe\": \"Postnummer\",\n \"esp\": \"Código Postal\"\n },\n \"firstName\": {\n \"est\": \"Eesnimi\",\n \"eng\": \"First name\",\n \"rus\": \"Имя\",\n \"fin\": \"Etunimi\",\n \"pol\": \"Imię\",\n \"lav\": \"Vārds\",\n \"swe\": \"Förnamn\",\n \"lit\": \"Vardas\",\n \"esp\": \"Nombre\"\n },\n \"lastName\": {\n \"est\": \"Perekonnanimi\",\n \"eng\": \"Last name\",\n \"rus\": \"Фамилия\",\n \"fin\": \"Sukunimi\",\n \"pol\": \"Nazwisko\",\n \"lav\": \"Uzvārds\",\n \"swe\": \"Efternamn\",\n \"lit\": \"Pavardė\",\n \"esp\": \"Apellido\"\n },\n \"email\": {\n \"est\": \"E-post\",\n \"eng\": \"Email\",\n \"rus\": \"Эл. почта\",\n \"fin\": \"Sähköposti\",\n \"pol\": \"E-mail\",\n \"lav\": \"E-pasts\",\n \"lit\": \"El. paštas\",\n \"swe\": \"E-post\",\n \"esp\": \"Correo electrónico\"\n },\n \"clickOnJoin\": {\n \"est\": \"Vajuta \\\"Liitu\\\", et esitada kuludokumente organisatsioonile\",\n \"eng\": \"Click \\\"Join\\\" to send receipts to organisation\",\n \"rus\": \"Нажмите \\\"Присоединиться\\\", чтобы отправлять документы в организацию\",\n \"fin\": \"Klikkaa \\\"Liity\\\" lähettääksesi kuitteja organisaatiolle\",\n \"pol\": \"Kliknij 'Dołącz', aby dodać dokumenty do swojej organizacji\",\n \"lav\": \"Noklikšķiniet uz \\\"Pievienoties\\\", lai sūtītu dokumentus organizācijai\",\n \"swe\": \"Klicka på \\\"Gå med\\\" för att skicka kvitton till organisationer\",\n \"lit\": \"Spauskite \\\"Prisijungti\\\" siųsti dokumentus organizacijai\",\n \"esp\": \"Haga clic en \\\"Unirse\\\" para enviar los recibos a la organización.\"\n },\n \"supplier\": {\n \"est\": \"Tarnija\",\n \"eng\": \"Supplier\",\n \"rus\": \"Поставщик\",\n \"fin\": \"Toimittaja\",\n \"pol\": \"Dostawca\",\n \"lav\": \"Piegādātājs\",\n \"swe\": \"Leverantör\",\n \"lit\": \"Tiekėjas\",\n \"esp\": \"Proveedor\"\n },\n \"issued\": {\n \"est\": \"Dok. kuupäev\",\n \"eng\": \"Issue date\",\n \"rus\": \"Дата выпуска\",\n \"fin\": \"Päivämäärä\",\n \"pol\": \"Data wystawienia\",\n \"lav\": \"Dokumenta datums\",\n \"swe\": \"Utfärdningsdatum\",\n \"lit\": \"Išdavimo data\",\n \"esp\": \"Fecha de emisión\"\n },\n \"documentId\": {\n \"est\": \"Dok. number\",\n \"eng\": \"Doc. number\",\n \"rus\": \"Номер документа\",\n \"fin\": \"Tositteen nro.\",\n \"pol\": \"Numer dokumentu\",\n \"lav\": \"Dokumenta Nr.\",\n \"lit\": \"Dokumento nr.\",\n \"swe\": \"Dokumentnummer\",\n \"esp\": \"Número de Doc.\"\n },\n \"sum\": {\n \"est\": \"Summa\",\n \"eng\": \"Sum\",\n \"rus\": \"Cумма\",\n \"fin\": \"Summa\",\n \"pol\": \"Suma\",\n \"lav\": \"Summa\",\n \"swe\": \"Summa\",\n \"lit\": \"Suma\",\n \"esp\": \"Suma\"\n },\n \"blurry\": {\n \"est\": \"udune pilt\",\n \"eng\": \"blurry image\",\n \"rus\": \"размытое изображение\",\n \"fin\": \"epäselvä kuva\",\n \"pol\": \"obraz rozmazany\",\n \"lav\": \"Izplūdis attēls\",\n \"swe\": \"suddig bild\",\n \"lit\": \"neryškus vaizdas\",\n \"esp\": \"Imagen borrosa\"\n },\n \"noPicture\": {\n \"est\": \"Pilt puudu\",\n \"eng\": \"Missing picture\",\n \"rus\": \"Нет изображения\",\n \"fin\": \"Kuva puuttuu\",\n \"pol\": \"Brak zdjęcia\",\n \"lav\": \"Nav attēla\",\n \"swe\": \"Ingen bild\",\n \"lit\": \"Nuotraukos nėra\",\n \"esp\": \"Sin imagen\"\n },\n \"notValid\": {\n \"est\": \"Pole kuludokument\",\n \"eng\": \"Not a valid document\",\n \"rus\": \"Недействительный документ\",\n \"fin\": \"Ei kelpaa tositteeksi\",\n \"pol\": \"Nieprawidłowy dokument\",\n \"lav\": \"Nav derīgs dokuments\",\n \"swe\": \"Inte ett giltligt dokument\",\n \"lit\": \"Negaliojantis dokumentas\",\n \"esp\": \"No es un documento válido\"\n },\n \"approved\": {\n \"est\": \"Kinnitatud\",\n \"eng\": \"Approved\",\n \"rus\": \"Утвержденный\",\n \"fin\": \"Hyväksytty\",\n \"pol\": \"Zatwierdzono\",\n \"lav\": \"Apstiprināts\",\n \"swe\": \"Godkänt\",\n \"lit\": \"Patvirtinta\",\n \"esp\": \"Aprobado\"\n },\n \"logIn\": {\n \"est\": \"Logi sisse\",\n \"eng\": \"Log in\",\n \"rus\": \"Bойти\",\n \"fin\": \"Kirjaudu sisään\",\n \"pol\": \"Zaloguj się\",\n \"lav\": \"Pieslēgties\",\n \"swe\": \"Logga in\",\n \"lit\": \"Prisijungti\",\n \"esp\": \"Iniciar sesión\"\n },\n \"createAccount\": {\n \"est\": \"Loo konto\",\n \"eng\": \"Create account\",\n \"rus\": \"Регистрация\",\n \"fin\": \"Luo käyttäjätunnus\",\n \"pol\": \"Stwórz konto\",\n \"lav\": \"Izveidot kontu\",\n \"swe\": \"Skapa konto\",\n \"lit\": \"Sukurti paskyrą\",\n \"esp\": \"Crear cuenta\"\n },\n \"username\": {\n \"est\": \"Kasutajanimi\",\n \"eng\": \"Username\",\n \"rus\": \"Имя пользователя\",\n \"fin\": \"Käyttäjätunnus\",\n \"pol\": \"Nazwa użytkownika\",\n \"lav\": \"Lietotājvārds\",\n \"swe\": \"Användarnamn\",\n \"lit\": \"Vartotojo vardas\",\n \"esp\": \"Nombre de usuario\"\n },\n \"password\": {\n \"est\": \"Parool\",\n \"eng\": \"Password\",\n \"rus\": \"Пароль\",\n \"fin\": \"Salasana\",\n \"pol\": \"Hasło\",\n \"lav\": \"Parole\",\n \"swe\": \"Lösenord\",\n \"lit\": \"Slaptažodis\",\n \"esp\": \"Contraseña\"\n },\n \"wrongPassword\": {\n \"est\": \"Vale parool\",\n \"eng\": \"Wrong password\",\n \"rus\": \"Hеправильный пароль\",\n \"fin\": \"Väärä salasana\",\n \"pol\": \"Nieprawidłowe hasło\",\n \"lav\": \"Nepareiza parole\",\n \"swe\": \"Fel lösenord\",\n \"lit\": \"Neteisingas slaptažodis\",\n \"esp\": \"Contraseña incorrecta\"\n },\n \"loginUnsucsessful\": {\n \"est\": \"Sisselogimine ei õnnestunud\",\n \"eng\": \"Login unsuccessful\",\n \"rus\": \"Ошибка соединение\",\n \"fin\": \"Kirjautuminen epäonnistui\",\n \"pol\": \"Logowanie się nie powiodło\",\n \"lav\": \"Neveiksmīga pieslēgšanās\",\n \"swe\": \"Inloggning misslyckades\",\n \"lit\": \"Nesėkmingas prisijungimas\",\n \"esp\": \"Inicio de sesión fallido\"\n },\n \"forgotPassword\": {\n \"est\": \"Unustasid parooli?\",\n \"eng\": \"Forgot your password?\",\n \"rus\": \"Забыли пароль?\",\n \"fin\": \"Unohtuiko salasana?\",\n \"pol\": \"Nie pamiętasz hasła?\",\n \"lav\": \"Aizmirsāt paroli?\",\n \"swe\": \"Glömt ditt lösenord?\",\n \"lit\": \"Pamiršai slaptažodį?\",\n \"esp\": \"Olvidó su contraseña?\"\n },\n \"next\": {\n \"est\": \"Edasi\",\n \"eng\": \"Next\",\n \"rus\": \"Далее\",\n \"fin\": \"Seuraava\",\n \"pol\": \"Dalej\",\n \"lav\": \"Tālāk\",\n \"swe\": \"Nästa\",\n \"lit\": \"Toliau\",\n \"esp\": \"Siguiente\"\n },\n \"addEmailForPassword\": {\n \"est\": \"Saadame teile lingi parooli uuendamiseks e-posti teel\",\n \"eng\": \"We will send you a link to reset your password via email\",\n \"rus\": \"Мы вышлем вам ссылку для сброса вашего пароля по электронной почте\",\n \"fin\": \"Lähetämme sähköpostitse salasanan vaihtolinkin\",\n \"pol\": \"Wyślemy ci link do zresetowania hasła za pomocą wiadomości e-mail\",\n \"lav\": \"Uz Jūsu epastu tiks nosūtīta paroles atjaunošanas saite\",\n \"swe\": \"Vi kommer att skicka en länk via e-post för att återställa ditt lösenord\",\n \"lit\": \"Atsiųsime nuorodą slaptažodžio keitimui el. paštu\",\n \"esp\": \"Le enviaremos un enlace para restablecer su contraseña por correo electrónico\"\n },\n \"send\": {\n \"est\": \"Saada\",\n \"eng\": \"Send\",\n \"rus\": \"Отправить\",\n \"fin\": \"Lähetä\",\n \"pol\": \"Wyślij\",\n \"lav\": \"Sūtīt\",\n \"swe\": \"Skicka\",\n \"lit\": \"Siųsti\",\n \"esp\": \"Enviar\"\n },\n \"pleaseCheckYourEmail\": {\n \"eng\": \"Please check your email\",\n \"est\": \"Palun vaata oma emaili postkasti\",\n \"rus\": \"Пожалуйста, проверьте свою электронную почту\",\n \"fin\": \"Käythän viimeistelemässä rekisteröintisi antamassasi sähköpostissa\",\n \"pol\": \"Sprawdź swoją skrzynkę e-mail\",\n \"lav\": \"Lūdzu, pārbaudiet savu e-pastu\",\n \"swe\": \"Var god kontrollera din e-postinkorg\",\n \"lit\": \"Pasitikrinkite el. pašto dėžutę\",\n \"esp\": \"Por favor revise su correo electrónico\"\n },\n \"pleaseInsertValidEmail\": {\n \"est\": \"Palun sisestage korrektne e-posti aadress\",\n \"eng\": \"Please insert a valid email address\",\n \"rus\": \"Пожалуйста, введите верный адрес электронной почты\",\n \"fin\": \"Kirjoita voimassa oleva sähköpostiosoite\",\n \"pol\": \"Podaj poprawny adres e-mail\",\n \"lav\": \"Lūdzu, ievadiet pareizu e-pastu\",\n \"swe\": \"Var god ange en giltlig e-postadress\",\n \"lit\": \"Įveskite galiojantį el. pašto adresą\",\n \"esp\": \"Por favor ingrese una dirección de correo electrónico valida\"\n },\n \"passwordChaingingFailed\": {\n \"est\": \"Parooli vahetamine ebaõnnestus\",\n \"eng\": \"Changing the password failed\",\n \"rus\": \"Ошибка изменения пароля\",\n \"fin\": \"Salasanan vaihto epäonnistui\",\n \"pol\": \"Zmiana hasła nie powiodła się\",\n \"lav\": \"Neizdevās nomainīt paroli\",\n \"swe\": \"Ändring av lösenordet misslyckades\",\n \"lit\": \"Nepavyko pakeisti slaptažodžio\",\n \"esp\": \"Cambio de contraseña falló\"\n },\n \"newAccount\": {\n \"est\": \"Uus konto\",\n \"eng\": \"New account\",\n \"rus\": \"Новый аккаунт\",\n \"fin\": \"Uusi käyttäjätunnus\",\n \"pol\": \"Nowe konto\",\n \"lav\": \"Jauns konts\",\n \"swe\": \"Nytt konto\",\n \"lit\": \"Nauja paskyra\",\n \"esp\": \"Nueva cuenta\"\n },\n \"passwordsDiffer\": {\n \"est\": \"Paroolid ei ole ühesugused\",\n \"eng\": \"Passwords don’t match\",\n \"rus\": \"Пароли не совпадают\",\n \"fin\": \"Salasanat eivät täsmää\",\n \"pol\": \"Hasła różnią się\",\n \"lav\": \"Paroles nesakrīt\",\n \"swe\": \"Lösenorden överensstämmer inte\",\n \"lit\": \"Slaptažodžiai nesutampa\",\n \"esp\": \"Las contraseñas no coinciden\"\n },\n \"userCreatedPleaseLogIn\": {\n \"est\": \"Kasutaja loodud! Palun logige sisse\",\n \"eng\": \"User created! Please log in\",\n \"rus\": \"Пользователь создан! Пожалуйста, войдите\",\n \"fin\": \"Käyttäjä on luotu! Kirjaudu sisään\",\n \"pol\": \"Utworzono konto! Możesz się zalogować\",\n \"lav\": \"Lietotājs izveidots! Lūdzu, pieslēdzieties\",\n \"swe\": \"Användare skapad! Var god logga in\",\n \"lit\": \"Vartotojas sukurtas! Prisijunkite\",\n \"esp\": \"¡Usuario creado! Por favor Iniciar sesión\"\n },\n \"passwordUpdatedPleaseLogIn\": {\n \"est\": \"Parool uuendatud! Palun logige sisse\",\n \"eng\": \"Password updated! Please log in\",\n \"rus\": \"Пароль обновлен! Пожалуйста, войдите\",\n \"fin\": \"Salasana on päivitetty! Kirjaudu sisään\",\n \"pol\": \"Hasło zostało zaktualizowane! Możesz się zalogować\",\n \"lav\": \"Parole atjaunota! Lūdzu, pieslēdzieties\",\n \"swe\": \"Lösenord uppdaterat! Var god logga in\",\n \"lit\": \"Slaptažodis atnaujintas! Prisijunkite\",\n \"esp\": \"¡Contraseña actualizada! Por favor Iniciar sesión\"\n },\n \"finland\": {\n \"est\": \"Soome\",\n \"eng\": \"Finland\",\n \"rus\": \"Финляндия\",\n \"fin\": \"Suomi\",\n \"pol\": \"Finlandia\",\n \"lav\": \"Somija\",\n \"swe\": \"Finland\",\n \"lit\": \"Suomija\",\n \"esp\": \"Finlandia\"\n },\n \"country\": {\n \"est\": \"Riik\",\n \"eng\": \"Country\",\n \"rus\": \"Cтрана\",\n \"fin\": \"Maa\",\n \"pol\": \"Kraj\",\n \"lav\": \"Valsts\",\n \"swe\": \"Land\",\n \"lit\": \"Valstybė\",\n \"esp\": \"País\"\n },\n \"invoiceEmail\": {\n \"est\": \"Arve saaja e-post\",\n \"eng\": \"Billing email address\",\n \"rus\": \"Электронная почта для выставления счета\",\n \"fin\": \"Sähköposti laskutukseen\",\n \"pol\": \"E-mail odbiorcy faktury\",\n \"lav\": \"Rēķina saņēmēja e-pasts\",\n \"swe\": \"E-postadress för fakturering\",\n \"lit\": \"El. pašto adresas atsiskaitymams\",\n \"esp\": \"Dirección de correo electrónico de facturación\"\n },\n \"register\": {\n \"est\": \"Loo konto\",\n \"eng\": \"Create a new account\",\n \"rus\": \"Регистрировать\",\n \"fin\": \"Luo uusi käyttäjätili\",\n \"pol\": \"Zarejestruj\",\n \"lav\": \"Reģistrēt\",\n \"swe\": \"Skapa nytt konto\",\n \"lit\": \"Sukurti naują paskyrą\",\n \"esp\": \"Crear una nueva cuenta\"\n },\n \"pleaseInsertNewPassword\": {\n \"est\": \"Palun sisesta uus parool\",\n \"eng\": \"Please insert new password\",\n \"rus\": \"Укажите новый пароль\",\n \"fin\": \"Aseta uusi salasana\",\n \"pol\": \"Podaj nowe hasło\",\n \"lav\": \"Ievadiet jaunu paroli\",\n \"swe\": \"Var god ange nytt lösenord\",\n \"lit\": \"Įveskite naują slaptažodį\",\n \"esp\": \"Por favor inserte una nueva contraseña\"\n },\n \"passwordAgain\": {\n \"est\": \"Kinnita parool\",\n \"eng\": \"Repeat password\",\n \"rus\": \"Подтвердите пароль\",\n \"fin\": \"Vahvista salasana\",\n \"pol\": \"Potwierdź hasło\",\n \"lav\": \"Apstipriniet paroli\",\n \"swe\": \"Upprepa lösenord\",\n \"lit\": \"Pakartokite slaptažodį\",\n \"esp\": \"Repita la contraseña\"\n },\n \"report\": {\n \"est\": \"Kuluaruanne\",\n \"eng\": \"Expense report\",\n \"rus\": \"Oтчет о расходах\",\n \"fin\": \"Kuluraportti\",\n \"pol\": \"Raport z wydatków\",\n \"lav\": \"Izdevumu pārskats\",\n \"swe\": \"Utgiftsrapport\",\n \"lit\": \"Išlaidų ataskaita\",\n \"esp\": \"Informe de gastos\"\n },\n \"reportAddName\": {\n \"est\": \"Aruande nimi\",\n \"eng\": \"Report name\",\n \"rus\": \"Название отчета\",\n \"fin\": \"Raportin nimi\",\n \"pol\": \"Nazwa raportu\",\n \"lav\": \"Pārskata nosaukums\",\n \"swe\": \"Namn på rapport\",\n \"lit\": \"Ataskaitos pavadinimas\",\n \"esp\": \"Nombre informe\"\n },\n \"documents\": {\n \"est\": \"dokumenti\",\n \"eng\": \"documents\",\n \"rus\": \"документы\",\n \"fin\": \"tositteet\",\n \"pol\": \"dokumenty\",\n \"lav\": \"dokumenti\",\n \"swe\": \"dokument\",\n \"lit\": \"dokumentai\",\n \"esp\": \"documentos\"\n },\n \"newReport\": {\n \"est\": \"Uus aruanne\",\n \"eng\": \"Add report\",\n \"rus\": \"Добавить отчет\",\n \"fin\": \"Uusi raportti\",\n \"pol\": \"Nowy raport\",\n \"lav\": \"Pievienot pārskatu\",\n \"swe\": \"Ny rapport\",\n \"lit\": \"Nauja ataskaita\",\n \"esp\": \"Nuevo informe\"\n },\n \"chooseReport\": {\n \"est\": \"Vali aruanne\",\n \"eng\": \"Choose report\",\n \"rus\": \"Выберите отчет\",\n \"fin\": \"Valitse raportti\",\n \"pol\": \"Wybierz raport\",\n \"lav\": \"Izvēlēties pārskatu\",\n \"swe\": \"Välj rapport\",\n \"lit\": \"Pasirinkti ataskaitą\",\n \"esp\": \"Seleccione el informe\"\n },\n \"noInternet\": {\n \"est\": \"Hoiatus: teil puudub interneti ühendus\",\n \"eng\": \"Warning: You have no internet connection\",\n \"rus\": \"Внимание: у Вас нет подключения к Интернету.\",\n \"fin\": \"Varoitus: Ei internet-yhteyttä\",\n \"pol\": \"Uwaga! Nie wykryto połączenia z internetem\",\n \"lav\": \"Brīdinājums: Jums nav interneta pieslēguma\",\n \"swe\": \"Varning: du har ingen internetuppkoppling\",\n \"lit\": \"Perspėjimas: interneto ryšys neaptiktas\",\n \"esp\": \"Advertencia: no tiene conexión a Internet\"\n },\n \"techSupport\": {\n \"eng\": \"Contact support\",\n \"est\": \"Kirjuta klienditoele\",\n \"rus\": \"Поддержка\",\n \"fin\": \"Asiakastuki\",\n \"pol\": \"Wsparcie\",\n \"lav\": \"Sazināties ar atbalstu\",\n \"swe\": \"Kontakta kundsupport\",\n \"lit\": \"Susisiekti su pagalba\",\n \"esp\": \"Contacto de soporte\"\n },\n \"users\": {\n \"eng\": \"Users\",\n \"est\": \"Kasutajad\",\n \"rus\": \"Пользователи\",\n \"fin\": \"Käyttäjät\",\n \"pol\": \"Użytkownicy\",\n \"lav\": \"Lietotāji\",\n \"swe\": \"Användare\",\n \"lit\": \"Vartotojai\",\n \"esp\": \"Usuarios\"\n },\n \"inviteUser\": {\n \"eng\": \"Add user\",\n \"est\": \"Lisa kasutaja\",\n \"rus\": \"Пригласить пользователя\",\n \"fin\": \"Lisää käyttäjä\",\n \"pol\": \"Dodaj użytkownika\",\n \"lav\": \"Uzaicināt lietotāju\",\n \"swe\": \"Lägg till användare\",\n \"lit\": \"Pridėti vartotoją\",\n \"esp\": \"Agregar usuario\"\n },\n \"suchEmailExists\": {\n \"eng\": \"This email is already registered in your organisation\",\n \"est\": \"See e-mail on juba teie ettevõttes\",\n \"rus\": \"Этот электронный адрес уже зарегистрирован в вашей организации\",\n \"fin\": \"Tämä sähköposti on jo käytössä organisaatiossasi\",\n \"pol\": \"Ten adres e-mail jest już zarejestrowany w twojej organizacji\",\n \"lav\": \"Šāds lietotājs jau eksistē\",\n \"swe\": \"Denna e-postadress är redan registrerad inom din organisation\",\n \"lit\": \"Šis el. paštas jau registruotas jūsų organizacijoje\",\n \"esp\": \"Este correo electrónico ya está registrado en su organización.\"\n },\n \"user\": {\n \"eng\": \"User\",\n \"est\": \"Kasutaja\",\n \"rus\": \"Пользователь\",\n \"fin\": \"Käyttäjä\",\n \"pol\": \"Użytkownik\",\n \"lav\": \"Lietotājs\",\n \"swe\": \"Användare\",\n \"lit\": \"Vartotojas\",\n \"esp\": \"Usuario\"\n },\n \"administrator\": {\n \"eng\": \"Administrator\",\n \"est\": \"Administraator\",\n \"rus\": \"Aдминистратор\",\n \"fin\": \"Ylläpitäjä\",\n \"pol\": \"Administrator\",\n \"lav\": \"Administrators\",\n \"swe\": \"Administratör\",\n \"lit\": \"Administratorius\",\n \"esp\": \"Administrador\"\n },\n \"deleted\": {\n \"eng\": \"Deleted!\",\n \"est\": \"Kustutatud!\",\n \"rus\": \"Удалено!\",\n \"fin\": \"Poistettu\",\n \"pol\": \"Usunięto!\",\n \"lav\": \"Dzēsts!\",\n \"swe\": \"Raderad!\",\n \"lit\": \"Ištrinta!\",\n \"esp\": \"Eliminado!\"\n },\n \"chooseWhoGetsTheInvoice\": {\n \"eng\": \"Bill my other company\",\n \"est\": \"Lisa minu teise ettevõtte arvele\",\n \"rus\": \"Выставить счет на другую мою компанию\",\n \"fin\": \"Laskuta toista organisaatiota\",\n \"pol\": \"Wystaw fakturę do mojej drugiej firmy\",\n \"lav\": \"Adresēt CostPocket rēķinus citai organizācijai\",\n \"swe\": \"Fakturera mitt andra företag\",\n \"lit\": \"Išrašyti sąskaitą kitai mano kompanijai\",\n \"esp\": \"Facturar a mi otra empresa\"\n },\n \"chooseCompany\": {\n \"eng\": \"Choose company\",\n \"est\": \"Vali ettevõte\",\n \"rus\": \"Bыбрать компанию\",\n \"fin\": \"Valitse organisaatio\",\n \"pol\": \"Wybierz firmę\",\n \"lav\": \"Izvēlēties uzņēmumu\",\n \"swe\": \"Välj företag\",\n \"lit\": \"Pasirinkti įmonę\",\n \"esp\": \"Seleccione compañía\"\n },\n \"costPocketEmail\": {\n \"eng\": \"Forward invoices from your email to:\",\n \"est\": \"Saada arved emailile:\",\n \"rus\": \"Переслать счета из почтового ящика в:\",\n \"fin\": \"Lähetä laskut sähköpostista osoitteeseen:\",\n \"pol\": \"Wyślij faktury ze skrzynki e-mail do:\",\n \"lav\": \"Pārsūtīt rēķinus no pastkastes uz:\",\n \"swe\": \"Vidarebefodra fakturor från din e-postinkorg till:\",\n \"lit\": \"Persiųsti sąskaitas į:\",\n \"esp\": \"Reenvíe facturas desde su correo electrónico a:\"\n },\n \"document\": {\n \"eng\": \"Document\",\n \"est\": \"Dokument\",\n \"rus\": \"Документ\",\n \"fin\": \"Tosite\",\n \"pol\": \"Dokument\",\n \"lav\": \"Dokuments\",\n \"swe\": \"Dokument\",\n \"lit\": \"Dokumentas\",\n \"esp\": \"Documento\"\n },\n \"supplierName\": {\n \"eng\": \"Supplier name\",\n \"est\": \"Tarnija nimi\",\n \"rus\": \"Наименование поставщика\",\n \"fin\": \"Toimittajan nimi\",\n \"pol\": \"Nazwa dostawcy\",\n \"lav\": \"Piegādātāja nosaukums\",\n \"swe\": \"Leverantörsnamn\",\n \"lit\": \"Tiekėjo pavadinimas\",\n \"esp\": \"Nombre del proveedor\"\n },\n \"currency\": {\n \"eng\": \"Currency\",\n \"est\": \"Valuuta\",\n \"rus\": \"Валюта\",\n \"fin\": \"Valuutta\",\n \"pol\": \"Waluta\",\n \"lav\": \"Valūta\",\n \"swe\": \"Valuta\",\n \"lit\": \"Valiuta\",\n \"esp\": \"Moneda\"\n },\n \"VAT\": {\n \"eng\": \"VAT\",\n \"est\": \"KM\",\n \"rus\": \"НДС\",\n \"fin\": \"ALV\",\n \"pol\": \"VAT\",\n \"lav\": \"PVN\",\n \"swe\": \"VAT\",\n \"lit\": \"PVM\",\n \"esp\": \"IVA\"\n },\n \"sumNoVAT\": {\n \"eng\": \"Sum without VAT\",\n \"est\": \"Summa km-ta\",\n \"rus\": \"Сумма без НДС\",\n \"fin\": \"Veroton hinta\",\n \"pol\": \"Suma bez podatku VAT\",\n \"lav\": \"Summa bez PVN\",\n \"swe\": \"Summa utan VAT\",\n \"lit\": \"Suma be PVM\",\n \"esp\": \"Suma sin IVA\"\n },\n \"fields\": {\n \"eng\": \"Fields\",\n \"est\": \"Väljad\",\n \"rus\": \"Поля\",\n \"fin\": \"Kentät\",\n \"pol\": \"Pola\",\n \"lav\": \"Laukumi\",\n \"swe\": \"Fält\",\n \"lit\": \"Laukeliai\",\n \"esp\": \"Campos\"\n },\n \"selectPlan\": {\n \"eng\": \"Select plan\",\n \"est\": \"Vali hinnastamine\",\n \"rus\": \"Выберите план\",\n \"fin\": \"Valitse paketti\",\n \"pol\": \"Wybierz plan\",\n \"lav\": \"Izvēlēties plānu\",\n \"swe\": \"Välj paket\",\n \"lit\": \"Pasirinkite planą\",\n \"esp\": \"Seleccione el plan\"\n },\n \"selfService\": {\n \"eng\": \"Self service\",\n \"est\": \"Iseteenindus\",\n \"rus\": \"Самообслуживание\",\n \"fin\": \"Itsepalvelu\",\n \"pol\": \"Samoobsługa\",\n \"lav\": \"Pašapkalpošanās\",\n \"swe\": \"Självservice\",\n \"lit\": \"Savitarna\",\n \"esp\": \"Autoservicio\"\n },\n \"month\": {\n \"eng\": \"month\",\n \"est\": \"kuu\",\n \"rus\": \"месяц\",\n \"fin\": \"kuukausi\",\n \"pol\": \"miesiąc\",\n \"lav\": \"mēnesis\",\n \"swe\": \"månad\",\n \"lit\": \"mėnuo\",\n \"esp\": \"mes\"\n },\n \"automatic\": {\n \"eng\": \"Automatic\",\n \"est\": \"Automaatne\",\n \"rus\": \"Автоматически\",\n \"fin\": \"Automaattinen\",\n \"pol\": \"Automatycznie\",\n \"lav\": \"Automātiski\",\n \"swe\": \"Automatisk\",\n \"lit\": \"Automatiškai\",\n \"esp\": \"Automático\"\n },\n \"payAsYouGo\": {\n \"eng\": \"Pay as you go\",\n \"est\": \"Tšekipõhine hinnastamine\",\n \"rus\": \"Оплата по факту\",\n \"fin\": \"Käytön mukaan\",\n \"pol\": \"Pay as you go\",\n \"lav\": \"Maksā, kad izmanto\",\n \"swe\": \"Pay as you go\",\n \"lit\": \"Pay as you go\",\n \"esp\": \"Pay as you Go\"\n },\n \"receipt\": {\n \"eng\": \"Receipt\",\n \"est\": \"Tšekk\",\n \"rus\": \"Kвитанция\",\n \"fin\": \"Kuitti\",\n \"pol\": \"Paragon\",\n \"lav\": \"Čeks\",\n \"swe\": \"Kvitto\",\n \"lit\": \"Kvitas\",\n \"esp\": \"Recibo\"\n },\n \"integration\": {\n \"eng\": \"Integration\",\n \"est\": \"Liidestus\",\n \"rus\": \"Интеграция\",\n \"fin\": \"Integraatio\",\n \"pol\": \"Integracja\",\n \"lav\": \"Integrācija\",\n \"swe\": \"Integrering\",\n \"lit\": \"Integracija\",\n \"esp\": \"Integración\"\n },\n \"whatERPAreYouUsing\": {\n \"eng\": \"Which accounting software do you use?\",\n \"est\": \"Millist raamatupidamistarkvara kasutad?\",\n \"rus\": \"Какую бухгалтерскую программу Вы используете?\",\n \"fin\": \"Mitä kirjanpito-ohjelmaa käytät?\",\n \"pol\": \"Jakiego oprogramowania księgowego używasz?\",\n \"lav\": \"Kuru grāmatvedības programmu Jūs lietojat?\",\n \"swe\": \"Vilket bokföringsprogram använder du?\",\n \"lit\": \"Kuria apskaitos programa naudojatės?\",\n \"esp\": \"¿Qué software de contabilidad utilizas?\"\n },\n \"receiptsWillBeDigitised\": {\n \"eng\": \"Document will be digitised\",\n \"est\": \"Kuludokument on digiteerimisel\",\n \"rus\": \"Документ будет оцифрован\",\n \"fin\": \"Tositteet digitoidaan\",\n \"pol\": \"Dokumenty zostaną zdigitalizowane\",\n \"lav\": \"Dokuments tiks digitalizēts\",\n \"swe\": \"Dokumentet kommer digitaliseras\",\n \"lit\": \"Dokumentas bus skaitmenintas\",\n \"esp\": \"El documento se digitalizará\"\n },\n \"forwardingReceiptFailed\": {\n \"eng\": \"Failed to forward the document\",\n \"est\": \"Dokumendi edastamine tarkvarasse ebaõnnestus\",\n \"rus\": \"Не удалось отправить документ в программу\",\n \"fin\": \"Tositteen lähetys ohjelmistoon epäonnistui\",\n \"pol\": \"Nie udało się przekazać dokumentu\",\n \"lav\": \"Neizdevās nosūtīt dokumentu uz programmatūru\",\n \"swe\": \"Misslyckades med att vidarebefodra dokument till program\",\n \"lit\": \"Nepavyko perkelti dokumento į programą\",\n \"esp\": \"No se pudo reenviar el documento\"\n },\n \"tripBeginning\": {\n \"eng\": \"Beginning of business trip\",\n \"est\": \"Lähetuse algus\",\n \"rus\": \"Начало командировки\",\n \"fin\": \"Matkan alkupäivä\",\n \"pol\": \"Początek podróży biznesowej\",\n \"lav\": \"Komandējuma sākums\",\n \"swe\": \"Affärsresans start\",\n \"lit\": \"Kelionės pradžia\",\n \"esp\": \"Inicio del viaje de negocios\"\n },\n \"tripEnd\": {\n \"eng\": \"End of business trip\",\n \"est\": \"Lähetuse lõpp\",\n \"rus\": \"Окончание командировки\",\n \"fin\": \"Matkan päättymispäivä\",\n \"pol\": \"Koniec podróży biznesowej\",\n \"lav\": \"Komandējuma beigas\",\n \"swe\": \"Affärsresans slut\",\n \"lit\": \"Kelionės pabaiga\",\n \"esp\": \"Fin del viaje de negocios\"\n },\n \"travelReport\": {\n \"eng\": \"Travel report\",\n \"est\": \"Lähetusaruanne\",\n \"rus\": \"Отчет о командировке\",\n \"fin\": \"Matkakuluraportti\",\n \"pol\": \"Raport z podróży\",\n \"lav\": \"Komandējuma atskaite\",\n \"swe\": \"Reserapport\",\n \"lit\": \"Kelionės ataskaita\",\n \"esp\": \"Informe de Viaje\"\n },\n \"advancePayment\": {\n \"eng\": \"Advance payment\",\n \"est\": \"Avanss\",\n \"rus\": \"Авансовый платеж\",\n \"fin\": \"Palkkaennakko\",\n \"pol\": \"Zaliczka\",\n \"lav\": \"Avansa maksājums\",\n \"swe\": \"Förskottsbetalning\",\n \"lit\": \"Išankstinis apmokėjimas\",\n \"esp\": \"Pago avanzado\"\n },\n \"insert\": {\n \"eng\": \"Insert\",\n \"est\": \"Sisesta\",\n \"rus\": \"Вставить\",\n \"fin\": \"Syötä\",\n \"pol\": \"Wstaw\",\n \"lav\": \"Ievietot\",\n \"swe\": \"Infoga\",\n \"lit\": \"Įterpti\",\n \"esp\": \"Insertar\"\n },\n \"integrationIsSetUp\": {\n \"eng\": \"integration is set up\",\n \"est\": \"liidestus on seadistatud\",\n \"rus\": \"интеграция установлена\",\n \"fin\": \"Integraatio on yhdistetty\",\n \"pol\": \"integracja została skonfigurowana\",\n \"lav\": \"integrācija ir izveidota\",\n \"swe\": \"integreringen är upprättad\",\n \"lit\": \"integracija sukurta\",\n \"esp\": \"la integración está configurad\"\n },\n \"receiptsAreAutomaticallyForwarded\": {\n \"eng\": \"Receipts are automatically forwarded to\",\n \"est\": \"Tšekid ja arved edastatakse automaatselt tarkvarasse\",\n \"rus\": \"Документы отправляются автоматически в\",\n \"fin\": \"Tositteet lähetetään automaattisesti\",\n \"pol\": \"Dokumenty zostaną automatycznie przekazane do\",\n \"lav\": \"Dokumenti tiek nosūtīti automātiski uz\",\n \"swe\": \"Kvitton är automatiskt vidarebefodrade till\",\n \"lit\": \"Dokumentai automatiškai siunčiami į\",\n \"esp\": \"Los recibos se reenvían automáticamente a\"\n },\n \"receiptsWillBeForwardedOneByOne\": {\n \"eng\": \"Documents will be forwarded one-by-one to\",\n \"est\": \"Kuludokumendid saadetakse ükshaaval tarkvarasse\",\n \"rus\": \"Документы будут отправлены по одному в\",\n \"fin\": \"Tositteet lähetetään yksi kerrallaan\",\n \"pol\": \"Dokumenty zostaną przekazane pojedynczo do\",\n \"lav\": \"Dokumenti tiks nosūtīti pa vienam uz\",\n \"swe\": \"Dokumenten kommer vidarebefodras ett i taget till\",\n \"lit\": \"Dokumentai po vieną bus siunčiami į\",\n \"esp\": \"Los documentos se remitirán uno por uno a\"\n },\n \"asSoonAsTheyAreDigitized\": {\n \"eng\": \"as soon as they are digitised\",\n \"est\": \"niipea, kui kõik kuludokumendid digiteeritud saavad\",\n \"rus\": \"как только они будут оцифрованы\",\n \"fin\": \"heti, kun ne on digitoitu\",\n \"pol\": \"natychmiast po digitalizacji\",\n \"lav\": \"tiklīdz tie būs digitalizēti\",\n \"swe\": \"så snart de är digitaliserade\",\n \"lit\": \"iškart po skaitmeninimo\",\n \"esp\": \"tan pronto como estén digitalizados\"\n },\n \"thisTakesAveragelynHours\": {\n \"eng\": \"On average this takes 7 hours\",\n \"est\": \"See võtab keskmiselt 7 tundi\",\n \"rus\": \"В среднем это занимает 7 часов\",\n \"fin\": \"Tämä kestää keskimäärin 7 tuntia\",\n \"pol\": \"Średnio zajmuje to 7 godzin\",\n \"lav\": \"Vidēji tas aizņem 7 stundas\",\n \"swe\": \"I genomsnitt tar det 7 timmar\",\n \"lit\": \"Vidutiniškai užtrunka 7 valandas\",\n \"esp\": \"En promedio, esto toma 7 horas.\"\n },\n \"whenYouFInishDigitizingThem\": {\n \"eng\": \"when you finish digitising them\",\n \"est\": \", kui te andmete sisestamise lõpetate\",\n \"rus\": \"когда Вы закончите их оцифровку\",\n \"fin\": \"kun olet lopettanut tositteiden digitoinnin\",\n \"pol\": \"po zakończeniu ich digitalizacji\",\n \"lav\": \"kad Jūs pabeigsiet to digitalizēšanu\",\n \"swe\": \"när du är färdig med att digitalisera dem\",\n \"lit\": \"kai baigsite juos skaitmeninti\",\n \"esp\": \", cuando termine de digitalizarlos\"\n },\n \"yourReportsPDFCSVWillBeEmailedToYou\": {\n \"eng\": \"Report will be sent to the assigned email\",\n \"est\": \"Aruanne saadetakse määratud e-posti aadressile\",\n \"rus\": \"Отчет будет отправлен на электронную почту\",\n \"fin\": \"Raportti lähetetään sähköpostiisi\",\n \"pol\": \"Raport zostanie wysłany na przypisany adres e-mail\",\n \"lav\": \"Pārskats tiks nosūtīts uz norādīto e-pastu\",\n \"swe\": \"Din rapport skickas till din e-post\",\n \"lit\": \"Ataskaita bus išsiųta į jūsų el. paštą\",\n \"esp\": \"El informe se enviará a su correo electrónico\"\n },\n \"whenYouClickEmailPDFCSVButtonYourReportWillBeEmailed\": {\n \"eng\": \"When you click on \\\"Report ready\\\", it will be emailed to\",\n \"est\": \"Kui vajutad nupule \\\"Aruanne valmis\\\", saadame aruande e-mailile\",\n \"rus\": \"Когда Вы нажмете на кнопку \\\"Отчет готов\\\", отчет будет отправлен по эл. почте\",\n \"fin\": \"Napauta 'Raportti valmis', niin se lähetetään sähköpostiin:\",\n \"pol\": \"Gdy klikniesz „Raport gotowy”, zostanie on wysłany do\",\n \"lav\": \"Kad Jūs noklikšķināsiet uz pogas \\\"e-mail PDF & CSV\\\", atskaite tiks nosūtīta Jums pa e-pastu.\",\n \"swe\": \"När du klickar på \\\"Rapport redo\\\" kommer rapporten skickas till\",\n \"lit\": \"Kai paspausite \\\"Ataskaita paruošta\\\", ataskaita bus išsiųsta į\",\n \"esp\": \"Cuando haga clic en \\\"Informe listo\\\", se enviará por correo electrónico a\"\n },\n \"tripMission\": {\n \"eng\": \"Purpose of travel\",\n \"est\": \"Lähetuse eesmärk ja sisu\",\n \"rus\": \"Цель поездки\",\n \"fin\": \"Työmatkan tarkoitus\",\n \"pol\": \"Cel podróży\",\n \"lav\": \"Komandējuma mērķis\",\n \"swe\": \"Syfte med resa\",\n \"lit\": \"Kelionės tikslas\",\n \"esp\": \"Propósito del viaje\"\n },\n \"reportIsForwaredToERP\": {\n \"eng\": \"Report will be forwarded to accounting\",\n \"est\": \"Aruanne edastatakse raamatupidamistarkvarasse\",\n \"rus\": \"Отчет будет переадресован бухгалтерскому отделу\",\n \"fin\": \"Raportti lähetetään kirjanpito-ohjelmaan\",\n \"pol\": \"Raport zostanie przesłany do księgowości\",\n \"lav\": \"Atskaite tiks pārsūtīta grāmatvedībai\",\n \"swe\": \"Rapport kommer vidarebefodras till bokföring\",\n \"lit\": \"Ataskaita bus išsiųsta apskaitai\",\n \"esp\": \"El informe se enviará a contabilidad.\"\n },\n \"supplierRegNumber\": {\n \"eng\": \"Reg. code\",\n \"est\": \"Reg. kood\",\n \"rus\": \"Рег. код\",\n \"fin\": \"Y-tunnus\",\n \"pol\": \"REGON\",\n \"lav\": \"Reģ. Nr.\",\n \"swe\": \"Reg.-nummer\",\n \"lit\": \"Reg. kodas\",\n \"esp\": \"Reg. código\"\n },\n \"readTheTutorial\": {\n \"eng\": \"Read the tutorial\",\n \"est\": \"Loe õpetust\",\n \"rus\": \"Прочитать руководство\",\n \"fin\": \"Lue ohjeesta\",\n \"pol\": \"Przeczytaj instrukcję\",\n \"lav\": \"Lasīt pamācību\",\n \"swe\": \"Läs instruktionerna\",\n \"lit\": \"Skaityti instrukcijas\",\n \"esp\": \"Leer el tutorial\"\n },\n \"pleaseEnableTheIntegrationIn\": {\n \"eng\": \"Please enable the integration in\",\n \"est\": \"Palun seadista liidestus tarkvaras\",\n \"rus\": \"Разрешите интеграцию в\",\n \"fin\": \"Kytke rajapinta käyttöön ohjelmassa:\",\n \"pol\": \"Włącz integrację z\",\n \"lav\": \"Lūdzu, aktivizējiet integrāciju iekš\",\n \"swe\": \"Var god tillåt integrering i\",\n \"lit\": \"Įgalinkite integraciją\",\n \"esp\": \"Habilite la integración en\"\n },\n \"VATNumber\": {\n \"eng\": \"VAT number\",\n \"est\": \"KMKR number\",\n \"rus\": \"Номер плательщика НДС\",\n \"fin\": \"ALV-tunnus\",\n \"pol\": \"NIP\",\n \"lav\": \"PVN numurs\",\n \"swe\": \"VAT-nummer\",\n \"lit\": \"PVM kodas\",\n \"esp\": \"Número de Identificación Fiscal\"\n },\n \"VATAccountable\": {\n \"eng\": \"VAT applicable\",\n \"est\": \"KM. kohuslane\",\n \"rus\": \"Применимый НДС\",\n \"fin\": \"ALV-velvollinen\",\n \"pol\": \"Płatnik VAT\",\n \"lav\": \"Apliekams ar PVN\",\n \"swe\": \"VAT tillämpningsbar\",\n \"lit\": \"PVM taikytinas\",\n \"esp\": \"IVA aplicable\"\n },\n \"delete\": {\n \"eng\": \"Delete\",\n \"est\": \"Kustuta\",\n \"rus\": \"Удалить\",\n \"fin\": \"Poista\",\n \"pol\": \"Usuń\",\n \"lav\": \"Dzēst\",\n \"swe\": \"Radera\",\n \"lit\": \"Ištrinti\",\n \"esp\": \"Eliminar\"\n },\n \"addToReport\": {\n \"eng\": \"Add to report\",\n \"est\": \"Lisa aruandesse\",\n \"rus\": \"Добавить в отчет\",\n \"fin\": \"Lisää raporttiin\",\n \"pol\": \"Dodaj do raportu\",\n \"lav\": \"Pievienot pārskatam\",\n \"swe\": \"Lägg till i rapporten\",\n \"lit\": \"Pridėti prie ataskaitos\",\n \"esp\": \"Agregar al informe\"\n },\n \"control\": {\n \"eng\": \"Overview\",\n \"est\": \"Ülevaade\",\n \"rus\": \"Обзор\",\n \"fin\": \"Tarkista\",\n \"pol\": \"Przegląd\",\n \"lav\": \"Pārskats\",\n \"swe\": \"Översikt\",\n \"lit\": \"Apžvalga\",\n \"esp\": \"Descripción general\"\n },\n \"registerNewOrganisation\": {\n \"eng\": \"New organisation\",\n \"est\": \"Uus organisatsioon\",\n \"rus\": \"Новая организация\",\n \"fin\": \"Lisää tiliin uusi profiili\",\n \"pol\": \"Nowa organizacja\",\n \"lav\": \"Jauna organizācija\",\n \"swe\": \"Registrera ny organisation\",\n \"lit\": \"Registruoti naują organizaciją\",\n \"esp\": \"Registrar nueva organización\"\n },\n \"joinOrganisation\": {\n \"eng\": \"Join organisation\",\n \"est\": \"Liitu organisatsiooniga\",\n \"rus\": \"Присоединиться к организации\",\n \"fin\": \"Liity organisaatioon\",\n \"pol\": \"Dołącz do organizacji\",\n \"lav\": \"Pievienoties organizācijai\",\n \"swe\": \"Anslut till organisation\",\n \"lit\": \"Prisijungti prie organizacijos\",\n \"esp\": \"Unirse a la organización\"\n },\n \"skip\": {\n \"eng\": \"Skip\",\n \"est\": \"Jäta vahele\",\n \"rus\": \"Пропустить\",\n \"fin\": \"Ohita\",\n \"pol\": \"Pomiń\",\n \"lav\": \"Izlaist\",\n \"swe\": \"Hoppa över\",\n \"lit\": \"Praleisti\",\n \"esp\": \"Saltar\"\n },\n \"settings\": {\n \"eng\": \"Settings\",\n \"est\": \"Seaded\",\n \"rus\": \"Настройки\",\n \"fin\": \"Asetukset\",\n \"pol\": \"Ustawienia\",\n \"lav\": \"Iestatījumi\",\n \"swe\": \"Inställningar\",\n \"lit\": \"Nustatymai\",\n \"esp\": \"Configuración\"\n },\n \"myAccount\": {\n \"eng\": \"My account\",\n \"est\": \"Minu konto\",\n \"rus\": \"Моя учетная запись\",\n \"fin\": \"Oman tilini tiedot\",\n \"pol\": \"Moje konto\",\n \"lav\": \"Mans konts\",\n \"swe\": \"Mitt konto\",\n \"lit\": \"Mano paskyra\",\n \"esp\": \"Mi cuenta\"\n },\n \"change\": {\n \"eng\": \"Change\",\n \"est\": \"Muuda\",\n \"rus\": \"Изменить\",\n \"fin\": \"Muuta\",\n \"pol\": \"Zmień\",\n \"lav\": \"Mainīt\",\n \"swe\": \"Ändra\",\n \"lit\": \"Keisti\",\n \"esp\": \"Cambiar\"\n },\n \"addFromGallery\": {\n \"eng\": \"Add from Gallery\",\n \"est\": \"Lisa galeriist\",\n \"rus\": \"Добавить из галереи\",\n \"fin\": \"Lisää kuva galleriasta\",\n \"pol\": \"Dodaj z galerii\",\n \"lav\": \"Pievienot no galerijas\",\n \"swe\": \"Lägg till från galleri\",\n \"lit\": \"Pridėti iš Galerijos\",\n \"esp\": \"Agregar desde la galeria\"\n },\n \"takeAPhoto\": {\n \"eng\": \"Take a photo\",\n \"est\": \"Tee pilt\",\n \"rus\": \"Фотографировать\",\n \"fin\": \"Ota tositteesta kuva\",\n \"pol\": \"Zrób zdjęcie\",\n \"lav\": \"Fotografēt\",\n \"swe\": \"Ta foto\",\n \"lit\": \"Fotografuoti\",\n \"esp\": \"Tomar una foto\"\n },\n \"oopsLooksLikeOcrDidntFind\": {\n \"eng\": \"Oops. Looks like the robot cannot find anything on this document\",\n \"est\": \"Oih, arvuti ei leidnud selle dokumendi pealt midagi\",\n \"rus\": \"Похоже, что OCR (оптическое распознавание)ничего не обнаружило по данной квитанции\",\n \"fin\": \"No jopas, OCR-tekstinlukuohjelma ei tunnistanut tositteelta mitään tietoja\",\n \"pol\": \"Wygląda na to, że robot nie odczytał niczego w tym dokumencie\",\n \"lav\": \"Diemžēl, robots šajā dokumentā nav atradis datus\",\n \"swe\": \"Hoppsan, det verkar som att avläsningssystemet inte hittade något på kvittot.\",\n \"lit\": \"Atsiprašome, dokumente neradome jokių duomenų\",\n \"esp\": \"Oops. Parece que el robot no puede encontrar nada en este documento\"\n },\n \"destinationCountry\": {\n \"eng\": \"Destination (country)\",\n \"est\": \"Sihtkoht (riik)\",\n \"rus\": \"Пункт назначения (страна)\",\n \"fin\": \"Työmatkan kohde (maa)\",\n \"pol\": \"Miejsce docelowe (kraj)\",\n \"lav\": \"Galamērķis (valsts)\",\n \"swe\": \"Destination (land)\",\n \"lit\": \"Kelionės tikslas (valstybė)\",\n \"esp\": \"Destino (País)\"\n },\n \"purposeOfTravel\": {\n \"eng\": \"Purpose of travel\",\n \"est\": \"Lähetuse eesmärk ja sisu\",\n \"rus\": \"Цель поездки\",\n \"fin\": \"Työmatkan tarkoitus\",\n \"pol\": \"Cel podróży\",\n \"lav\": \"Komandējuma mērķis\",\n \"swe\": \"Syfte med resan\",\n \"lit\": \"Kelionės tikslas\",\n \"esp\": \"Propósito del viaje\"\n },\n \"meeting\": {\n \"eng\": \"Meeting\",\n \"est\": \"Koosolek\",\n \"rus\": \"Встреча\",\n \"fin\": \"Kokous\",\n \"pol\": \"Spotkanie\",\n \"lav\": \"Tikšanās\",\n \"swe\": \"Möte\",\n \"lit\": \"Susitikimas\",\n \"esp\": \"Reunión\"\n },\n \"conference\": {\n \"eng\": \"Conference\",\n \"est\": \"Konverents\",\n \"rus\": \"Конференция\",\n \"fin\": \"Konferenssi\",\n \"pol\": \"Konferencja\",\n \"lav\": \"Konference\",\n \"swe\": \"Konferens\",\n \"lit\": \"Konferencija\",\n \"esp\": \"Conferencia\"\n },\n \"businessTripStarted\": {\n \"eng\": \"Business trip started after 21:00\",\n \"est\": \"Lähetus algas pärast 21:00\",\n \"rus\": \"Деловая поездка началась после 21:00\",\n \"fin\": \"Työmatka alkoi kello 21.00:n jälkeen\",\n \"pol\": \"Podróż służbowa rozpoczęta po 21:00\",\n \"lav\": \"Komandējums sākās pēc 21:00\",\n \"swe\": \"Affärsresa påbörjades efter 21:00\",\n \"lit\": \"Verslo kelionė prasidėjo po 21:00\",\n \"esp\": \"El viaje de negocios comenzó después de las 21:00\"\n },\n \"arrivedBefore\": {\n \"eng\": \"Arrived before 3:00 AM\",\n \"est\": \"Saabusin enne 3:00\",\n \"rus\": \"Прибытие до 3:00\",\n \"fin\": \"Saapunut ennen klo 03.00:a\",\n \"pol\": \"Przyjazd przed godziną 3:00\",\n \"lav\": \"Ierašanās pirms 3:00\",\n \"swe\": \"Ankom innan 3:00\",\n \"lit\": \"Atvykta iki 3:00\",\n \"esp\": \"Llegó antes de las 3:00 A.M.\"\n },\n \"noReceipts\": {\n \"eng\": \"No documents\",\n \"est\": \"Kuludokumente pole\",\n \"rus\": \"Нет документов\",\n \"fin\": \"Tositteita ei ole\",\n \"pol\": \"Brak dokumentów\",\n \"lav\": \"Nav dokumentu\",\n \"swe\": \"Inga kvitton\",\n \"lit\": \"Kvitų nėra\",\n \"esp\": \"Sin recibos\"\n },\n \"resendEmail\": {\n \"eng\": \"Resend the email\",\n \"est\": \"Saatke email uuesti\",\n \"rus\": \"Отправить электронное письмо еще раз\",\n \"fin\": \"Lähetä uudelleen sähköpostiin\",\n \"pol\": \"Wyślij wiadomość ponownie\",\n \"lav\": \"Pārsūtīt e-pastu vēlreiz\",\n \"swe\": \"Skicka e-post igen\",\n \"lit\": \"Išsiųsti dar kartą\",\n \"esp\": \"Vuelva a enviar el correo electrónico\"\n },\n \"changeEmail\": {\n \"eng\": \"Change email\",\n \"est\": \"Muuda meiliaadressi\",\n \"rus\": \"Изменить эл. почту\",\n \"fin\": \"Muuta sähköpostiosoitetta\",\n \"pol\": \"Zmień adres e-mail\",\n \"lav\": \"Mainīt e-pastu\",\n \"swe\": \"Ändra e-post\",\n \"lit\": \"Pakeisti el. paštą\",\n \"esp\": \"Cambiar e-mail\"\n },\n \"congratulationYourAccountIsReady\": {\n \"eng\": \"Congratulations, your account is ready!\",\n \"est\": \"Hurraa! Konto on valmis!\",\n \"rus\": \"Поздравляем, Ваша учетная запись создана!\",\n \"fin\": \"Onneksi olkoon, tilinne on käyttövalmis!\",\n \"pol\": \"Gratulacje, twoje konto jest gotowe!\",\n \"lav\": \"Apsveicam, Jūsu konts ir gatavs!\",\n \"swe\": \"Grattis, ditt konto är redo!\",\n \"lit\": \"Sveikiname! Jūsų paskyra paruošta.\",\n \"esp\": \"¡Felicitaciones, su cuenta está lista!\"\n },\n \"vrt\": {\n \"eng\": \"VAT %\",\n \"est\": \"Km %\",\n \"rus\": \"НДС %\",\n \"fin\": \"ALV %\",\n \"pol\": \"Stawka VAT %\",\n \"lav\": \"PVN %\",\n \"swe\": \"VAT %\",\n \"lit\": \"PVM dydis %\",\n \"esp\": \"Tipo de IVA %\"\n },\n \"vat\": {\n \"eng\": \"VAT\",\n \"est\": \"KM\",\n \"rus\": \"НДС\",\n \"fin\": \"ALV\",\n \"pol\": \"VAT\",\n \"lav\": \"PVN\",\n \"swe\": \"VAT\",\n \"lit\": \"PVM\",\n \"esp\": \"IVA\"\n },\n \"snv\": {\n \"eng\": \"Net\",\n \"est\": \"Neto\",\n \"rus\": \"Нетто\",\n \"fin\": \"Veroton hinta\",\n \"pol\": \"Netto\",\n \"lav\": \"Netto\",\n \"swe\": \"Netto\",\n \"lit\": \"Neto\",\n \"esp\": \"Neto\"\n },\n \"inboxForUnentered\": {\n \"eng\": \"Email for the Directo mailbox (example: database_name@data.directo.ee)\",\n \"est\": \"Directo postkasti liidese email (näide: andmebaas@data.directo.ee)\",\n \"rus\": \"Aдрес для создания интеграции\",\n \"fin\": \"Kansio lähettämättömille liitetiedostoille\",\n \"pol\": \"Skrzynka dla niewprowadzonych załączników\",\n \"lav\": \"Adrese, lai izveidotu integrāciju\",\n \"swe\": \"Inkorg för ej angivna bilagor\",\n \"lit\": \"Dėžutė neįvestiems priedams\",\n \"esp\": \"Bandeja de entrada para archivos adjuntos no ingresados\"\n },\n \"youHaveToGoTo\": {\n \"eng\": \"Go to\",\n \"est\": \"Minge tarkvarasse\",\n \"rus\": \"Вам необходимо перейти в\",\n \"fin\": \"Sinun täytyy mennä\",\n \"pol\": \"Idź do\",\n \"lav\": \"Jums jādodas uz\",\n \"swe\": \"Gå till\",\n \"lit\": \"Eikite į\",\n \"esp\": \"Ir a\"\n },\n \"toEnableReceivingEinvoices\": {\n \"eng\": \"to enable integration with CostPocket (using e-invoices)\",\n \"est\": \", et aktiveerida liidestus CostPocketiga (kasutades e-arveid)\",\n \"rus\": \"для разрешения интеграции с CostPocket(используя электронный счет)\",\n \"fin\": \"jotta verkkolaskujen käsittely CostPocketissa onnistuisi\",\n \"pol\": \"umożliwienie integracji z CostPocket (za pomocą e-faktur)\",\n \"lav\": \"iespējot integrāciju ar CostPocket (izmantojot e-rēķinus)\",\n \"swe\": \"möjliggör integrering med CostPocket (med användning av e-fakturor)\",\n \"lit\": \"aktyvuoti integraciją su CostPocket (naudojant e. sąskaitas)\",\n \"esp\": \"para permitir la integración con CostPocket (usando facturas electrónicas)\"\n },\n \"operator\": {\n \"eng\": \"e-invoicing operator\",\n \"est\": \"e-arve operaatorteenus\",\n \"rus\": \"оператор\",\n \"fin\": \"verkkolaskuoperaattori\",\n \"pol\": \"operator e-faktur\",\n \"lav\": \"operators\",\n \"swe\": \"e-fakturaoperatör\",\n \"lit\": \"e. sąskaitų operatorius\",\n \"esp\": \"Operador de facturación electrónica\"\n },\n \"yes\": {\n \"eng\": \"Yes\",\n \"est\": \"Jah\",\n \"rus\": \"Да\",\n \"fin\": \"Kyllä\",\n \"pol\": \"Tak\",\n \"lav\": \"Jā\",\n \"swe\": \"Ja\",\n \"lit\": \"Taip\",\n \"esp\": \"Yes\"\n },\n \"no\": {\n \"eng\": \"No\",\n \"est\": \"Ei\",\n \"rus\": \"Нет\",\n \"fin\": \"Ei\",\n \"pol\": \"Nie\",\n \"lav\": \"Nē\",\n \"swe\": \"Nej\",\n \"lit\": \"Ne\",\n \"esp\": \"No\"\n },\n \"termsOfService\": {\n \"eng\": \"Terms of Service\",\n \"est\": \"Kasutustingimused\",\n \"rus\": \"Условия предоставления услуг\",\n \"fin\": \"Palvelun käyttöehdot\",\n \"pol\": \"Warunki świadczenia usług\",\n \"lav\": \"Pakalpojumu sniegšanas noteikumi\",\n \"swe\": \"Användarvillkor\",\n \"lit\": \"Naudojimo sąlygos\",\n \"esp\": \"Términos de servicio\"\n },\n \"privacyPolicy\": {\n \"eng\": \"Privacy Policy\",\n \"est\": \"Privaatsuspoliitika\",\n \"rus\": \"Политика конфиденциальности\",\n \"fin\": \"Tietosuojaseloste\",\n \"pol\": \"Polityka prywatności\",\n \"lav\": \"Privātuma politika\",\n \"swe\": \"Integritetspolicy\",\n \"lit\": \"Privatumo politika\",\n \"esp\": \"Política de privacidad\"\n },\n \"readingData\": {\n \"eng\": \"Reading data\",\n \"est\": \"Otsin andmeid\",\n \"rus\": \"Чтение данных\",\n \"fin\": \"Luetaan tietoja\",\n \"pol\": \"Odczyt danych\",\n \"lav\": \"Notiek datu lasīšana\",\n \"swe\": \"Läser data\",\n \"lit\": \"Skaitomi duomenys\",\n \"esp\": \"Lectura de datos\"\n },\n \"addVAT\": {\n \"eng\": \"Add VAT line\",\n \"est\": \"Lisa KM rida\",\n \"rus\": \"Добавить строку НДС\",\n \"fin\": \"Lisää ALV-rivi\",\n \"pol\": \"Dodaj VAT\",\n \"lav\": \"Pievienot PVN rindu\",\n \"swe\": \"Lägg till VAT-rad\",\n \"lit\": \"Pridėti PVM\",\n \"esp\": \"Agregar línea de IVA\"\n },\n \"edit\": {\n \"eng\": \"Edit\",\n \"est\": \"Muuda\",\n \"rus\": \"Редактировать\",\n \"fin\": \"Muuta\",\n \"pol\": \"Edytuj\",\n \"lav\": \"Labot\",\n \"swe\": \"Ändra\",\n \"lit\": \"Redaguoti\",\n \"esp\": \"Editar\"\n },\n \"EmailExpected\": {\n \"eng\": \"Please insert a valid email address\",\n \"est\": \"Palun sisestage korrektne e-posti aadress\",\n \"rus\": \"Пожалуйста, введите верный адрес электронной почты\",\n \"fin\": \"Syötä voimassa oleva sähköpostiosoite\",\n \"pol\": \"Podaj prawidłowy adres e-mail\",\n \"lav\": \"Lūdzu, ievadiet derīgu e-pasta formātu\",\n \"swe\": \"Var god fyll i en giltlig e-postadress\",\n \"lit\": \"Įveskite galiojantį el. pašto adresą\",\n \"esp\": \"Introduzca una dirección de correo electrónico válida.\"\n },\n \"tripProcessing\": {\n \"eng\": \"Processing\",\n \"est\": \"Töötluses\",\n \"rus\": \"Обрабатывается\",\n \"fin\": \"Käsitellään\",\n \"pol\": \"Przetwarzanie\",\n \"lav\": \"Notiek apstrāde\",\n \"swe\": \"Bearbetar\",\n \"lit\": \"Apdorojama\",\n \"esp\": \"Procesando\"\n },\n \"uploadingWarning\": {\n \"eng\": \"Upload in progress, please don't close the app\",\n \"est\": \"Dokumenti laaditakse, palun ära sulge äppi\",\n \"rus\": \"Квитанция загружается, не закрывайте приложение\",\n \"fin\": \"Kuittia ladataan, älä sulje sovellusta\",\n \"pol\": \"Dokument jest w trakcie wysyłki, nie zamykaj aplikacji\",\n \"lav\": \"Čeks tiek augšuplādēts, lūdzu, neaizveriet lietotni\",\n \"swe\": \"Kvittot laddas upp, var god stäng inte appen\",\n \"lit\": \"Kvitas įkeliamas, neuždarykite programėlės\",\n \"esp\": \"El recibo se está cargando, no cierre la aplicación\"\n },\n \"sendReceiptToOutbound\": {\n \"eng\": \"Submit again\",\n \"est\": \"Edasta uuesti\",\n \"rus\": \"Отправить документ вашей бухгалтерской программе\",\n \"fin\": \"Lähetä kuitti taloushallinto-ohjelmaan\",\n \"pol\": \"Prześlij ponownie\",\n \"lav\": \"Atkārtoti pārsūtīt dokumentu uz grāmatvedības programmatūru\",\n \"swe\": \"Skicka kvitto till ditt bokföringsprogram\",\n \"lit\": \"Dar kartą siųsti kvitą apskaitai\",\n \"esp\": \"Enviar de nuevo\"\n },\n \"receiptSent\": {\n \"eng\": \"Receipt submitted\",\n \"est\": \"Dokument on edukalt edastatud\",\n \"rus\": \"Документ отправлен\",\n \"fin\": \"Kuitti on lähetetty ohjelmistoon\",\n \"pol\": \"Dokument został wysłany\",\n \"lav\": \"Dokuments ir nosūtīts\",\n \"swe\": \"Kvittot har skickats till program\",\n \"lit\": \"Kvitas išsiųstas\",\n \"esp\": \"Recibo enviado\"\n },\n \"acceptRequirement\": {\n \"eng\": \"I have read and agree to the\",\n \"est\": \"Olen tutvunud ja nõustun programmi\",\n \"rus\": \"Я прочитал и согласен с\",\n \"fin\": \"Olen lukenut ja hyväksynyt\",\n \"pol\": \"Przeczytałem i zgadzam się\",\n \"lav\": \"Esmu izlasījis un piekrītu\",\n \"swe\": \"Jag har läst och godkänner\",\n \"lit\": \"Perskaičiau ir sutinku su\",\n \"esp\": \"he leído y estoy de acuerdo con\"\n },\n \"termsOfServices\": {\n \"eng\": \"Terms of Service\",\n \"est\": \"Kasutustingimustega\",\n \"rus\": \"Условия предоставления услуг\",\n \"fin\": \"Palvelun käyttöehdot\",\n \"pol\": \"Warunki świadczenia usług\",\n \"lav\": \"Pakalpojumu sniegšanas noteikumi\",\n \"swe\": \"Användarvillkor\",\n \"lit\": \"Naudojimo sąlygos\",\n \"esp\": \"Términos de servicio\"\n },\n \"privacyPolicys\": {\n \"eng\": \"Privacy Policy\",\n \"est\": \"Privaatsuspoliitikaga\",\n \"rus\": \"Политика конфиденциальности\",\n \"fin\": \"Tietosuojaseloste\",\n \"pol\": \"Polityka Prywatności\",\n \"lav\": \"Privātuma politika\",\n \"swe\": \"Integritetspolicy\",\n \"lit\": \"Privatumo politika\",\n \"esp\": \"Política de privacidad\"\n },\n \"digitized\": {\n \"eng\": \"Digitised\",\n \"est\": \"Digiteeritud\",\n \"rus\": \"Оцифровано\",\n \"fin\": \"Muutettu digitaaliseksi\",\n \"pol\": \"Zdigitalizowano\",\n \"lav\": \"Digitalizēts\",\n \"swe\": \"Digitaliserad\",\n \"lit\": \"Skaitmeninta\",\n \"esp\": \"Digitalizado\"\n },\n \"reviewResults\": {\n \"eng\": \"Review results\",\n \"est\": \"Kontrolli andmed\",\n \"rus\": \"Обзор результатов\",\n \"fin\": \"Tarkista tulokset\",\n \"pol\": \"Sprawdź wyniki\",\n \"lav\": \"Pārskatiet rezultātus\",\n \"swe\": \"Granska resultat\",\n \"lit\": \"Peržiūrėti rezultatus\",\n \"esp\": \"Revisar resultados\"\n },\n \"youCanSubmitOffline\": {\n \"eng\": \"You can submit receipts now. Images will be uploaded, when you're back online.\",\n \"est\": \"Dokumente saab lisada. Pildid saadame serverisse, kui internet taastub.\",\n \"rus\": \"Вы можете подать документы сейчас. Изображения будут загружены, когда восстановится соединение с интернетом.\",\n \"fin\": \"Voit lähettää kuitit nyt. Kuvat ladataan yhteyden palattua.\",\n \"pol\": \"Możesz wysyłać rachunki. Obrazy zostaną pobrane po przywróceniu połączenia z internetem.\",\n \"lav\": \"Tagad varat iesniegt dokumentus. Attēli tiks augšupielādēti, kad atgriezīsieties tiešsaistē.\",\n \"swe\": \"Du kan skicka in kvitton nu. Bilderna kommer laddas upp nästa gång du är online.\",\n \"lit\": \"Galite pateikti kvitus dabar. Nuotraukas įkelsime, kai bus interneto ryšys\",\n \"esp\": \"Puede enviar recibos ahora. Las imágenes se cargarán cuando vuelva a estar en línea\"\n },\n \"eInvoice\": {\n \"eng\": \"Self service + invoices\",\n \"est\": \"Iseteenindus + arved\",\n \"rus\": \"Самообслуживание + счета\",\n \"fin\": \"Itsepalvelu + laskut\",\n \"pol\": \"Samoobsługa + faktury\",\n \"lav\": \"Pašapkalpošanās + rēķini\",\n \"swe\": \"Självservice + fakturor\",\n \"lit\": \"Savitarna + sąskaitos\",\n \"esp\": \"Autoservicio + facturas\"\n },\n \"digitizeManually\": {\n \"eng\": \"Digitise manually\",\n \"est\": \"Digiteerin ise\",\n \"rus\": \"Оцифровать вручную\",\n \"fin\": \"Digitoi manuaalisesti\",\n \"pol\": \"Wprowadź dane ręcznie\",\n \"lav\": \"Digitalizēt manuāli\",\n \"swe\": \"Digitalisera manuellt\",\n \"lit\": \"Skaitmeninti rankiniu būdu\",\n \"esp\": \"Digitalizar manualmente\"\n },\n \"first5EveryMonth\": {\n \"eng\": \"5 free documents every month\",\n \"est\": \"Tasuta kuni 5 tšekki (iga kuu)\",\n \"rus\": \"5 бесплатных документов каждый месяц\",\n \"fin\": \"5 ilmaista kuittia joka kuukausi\",\n \"pol\": \"5 dokumentów za darmo miesięcznie\",\n \"lav\": \"5 bezmaksas digitalizācijas katru mēnesi\",\n \"swe\": \"5 dokument gratis varje månad\",\n \"lit\": \"5 kvitai nemokamai per mėnesį\",\n \"esp\": \"5 documentos gratis cada mes\"\n },\n \"freeDemo\": {\n \"eng\": \"Free Demo\",\n \"est\": \"Tasuta demo\",\n \"rus\": \"Бесплатная демо-версия\",\n \"fin\": \"Ilmainen kokeiluversio\",\n \"pol\": \"Darmowa wersja Demo\",\n \"lav\": \"Bezmaksas izmēģinājuma versija\",\n \"swe\": \"Gratis demo\",\n \"lit\": \"Nemokamas Demo\",\n \"esp\": \"Demo Gratis\"\n },\n \"thisMonth\": {\n \"eng\": \"This month\",\n \"est\": \"See kuu\",\n \"rus\": \"В этом месяце\",\n \"fin\": \"Tässä kuussa\",\n \"pol\": \"Ten miesiąc\",\n \"lav\": \"Šomēnes\",\n \"swe\": \"Denna månad\",\n \"lit\": \"Šis mėnuo\",\n \"esp\": \"Este Mes\"\n },\n \"clickToUpgrade\": {\n \"eng\": \"Click here to upgrade your plan\",\n \"est\": \"Vajuta siia, et uuendada oma hinnastamise plaani\",\n \"rus\": \"Нажмите здесь, чтобы выбрать план\",\n \"fin\": \"Klikkaa tästä päivittääksesi tilauksesi\",\n \"pol\": \"Kliknij tutaj, aby uaktualnić swój plan\",\n \"lav\": \"Nospiediet, lai izvēlētos plānu\",\n \"swe\": \"Klicka här för att uppgradera ditt paket\",\n \"lit\": \"Spustelėkite atnaujinti planą\",\n \"esp\": \"Haga clic aquí para actualizar su plan\"\n },\n \"freeDemoOnly5Receipts\": {\n \"eng\": \"Document limit for Free Demo reached\",\n \"est\": \"Tasuta demo (5 tasuta dokumenti / kuus)\",\n \"rus\": \"Достигнут предел демо-версии\",\n \"fin\": \"Ilmainen kokeiluversio (5 kuittia ilmaiseksi / kuukausi)\",\n \"pol\": \"Osiągnięto limit dokumentów w bezpłatnej wersji Demo\",\n \"lav\": \"Izmēģinājuma dokumentu limits ir sasniegts\",\n \"swe\": \"Dokumentgräns för Gratis Demo uppnådd\",\n \"lit\": \"Nemokamų dokumentų limitas pasiektas\",\n \"esp\": \"Se alcanzó el límite de documentos para la demostración gratuita\"\n },\n \"ok\": {\n \"eng\": \"OK\",\n \"est\": \"OK\",\n \"rus\": \"OK\",\n \"fin\": \"OK\",\n \"pol\": \"OK\",\n \"lav\": \"OK\",\n \"swe\": \"OK\",\n \"lit\": \"OK\",\n \"esp\": \"Ok\"\n },\n \"clickMe\": {\n \"eng\": \"Click here\",\n \"est\": \"Kliki siia\",\n \"rus\": \"Нажмите здесь\",\n \"fin\": \"Klikkaa minua\",\n \"pol\": \"Kliknij tutaj\",\n \"lav\": \"Noklikšķināt šeit\",\n \"swe\": \"Klicka här\",\n \"lit\": \"Spausk čia\",\n \"esp\": \"Haga clic aquí\"\n },\n \"receiptNotSynced\": {\n \"eng\": \"Receipt not synced\",\n \"est\": \"Dokument pole sünkroonitud\",\n \"rus\": \"Документ не синхронизирована\",\n \"fin\": \"Kuittia ei ole synkronoitu\",\n \"pol\": \"Dokumenty nie są zsynchronizowane\",\n \"lav\": \"Dokuments nav sinhronizēts\",\n \"swe\": \"Kvittot har inte synkroniserats\",\n \"lit\": \"Kvitas nesinchronizuotas\",\n \"esp\": \"Recibo no sincronizado\"\n },\n \"offline\": {\n \"eng\": \"Offline\",\n \"est\": \"Internetiühenduseta\",\n \"rus\": \"Нет соединения\",\n \"fin\": \"Verkon ulkopuolella\",\n \"pol\": \"Offline\",\n \"lav\": \"Nav pieslēguma\",\n \"swe\": \"Offline\",\n \"lit\": \"Nėra ryšio\",\n \"esp\": \"Desconectado\"\n },\n \"UserAlreadyExists\": {\n \"eng\": \"User already exists\",\n \"est\": \"Selline kasutaja on juba olemas\",\n \"rus\": \"Такой пользователь уже существует\",\n \"fin\": \"Käyttäjä on jo olemassa\",\n \"pol\": \"Użytkownik o tej nazwie już istnieje\",\n \"lav\": \"Lietotājs jau eksistē\",\n \"swe\": \"Användare finns redan\",\n \"lit\": \"Vartotojas jau egzistuoja\",\n \"esp\": \"La usuario ya existe\"\n },\n \"PWRecoveryInvalidToken\": {\n \"eng\": \"Password reset link is invalid\",\n \"est\": \"Parooli uuendamise link on ebakorrektne\",\n \"rus\": \"Ссылка для сброса пароля недействительна\",\n \"fin\": \"Salasanan palautuslinkki ei toimi\",\n \"pol\": \"Link do resetowania hasła jest nieprawidłowy\",\n \"lav\": \"Paroles atiestatīšanas saite ir nederīga\",\n \"swe\": \"Länken till lösenordsåterställningen är ogiltlig\",\n \"lit\": \"Slaptažodžio keitimo nuoroda netinka\",\n \"esp\": \"El enlace de restablecimiento de contraseña no es válido\"\n },\n \"PWRecoveryTimeout\": {\n \"eng\": \"Password recovery link is expired\",\n \"est\": \"Parooli taastamise link on kehtetu\",\n \"rus\": \"Действие ссылки для восстановления пароля истекло\",\n \"fin\": \"Salasanan palautuslinkki on vanhentunut\",\n \"pol\": \"Link do resetowania hasła wygasł\",\n \"lav\": \"Paroles atgūšanas saites derīguma termiņš ir beidzies\",\n \"swe\": \"Länken till lösenordsåterställningen har gått ut\",\n \"lit\": \"Slaptažodžio keitimo nuoroda nebegalioja\",\n \"esp\": \"El enlace de recuperación de contraseña caducó\"\n },\n \"newLinkSentToEmail\": {\n \"eng\": \"New link has been sent to your email\",\n \"est\": \"Uus link on saadetud teie emailile\",\n \"rus\": \"На ваш электронный адрес отправлена новая ссылка\",\n \"fin\": \"Uusi linkki on lähetetty sähköpostiisi\",\n \"pol\": \"Nowy link został wysłany na twój e-mail\",\n \"lav\": \"Saite ir nosūtīta uz Jūsu e-pastu\",\n \"swe\": \"Ny länk har skickats till din e-post\",\n \"lit\": \"Nauja nuoroda išsiųsta į jūsų el. paštą\",\n \"esp\": \"Se ha enviado un nuevo enlace a su correo electrónico.\"\n },\n \"sendLinkAgain\": {\n \"eng\": \"Error, please send the link again\",\n \"est\": \"Tekkis viga, proovige link uuesti saata\",\n \"rus\": \"Произошла ошибка, попробуйте отправить ссылку еще раз\",\n \"fin\": \"Tapahtui virhe, lähetä linkki uuudestaan.\",\n \"pol\": \"Wystąpił błąd, wyślij link ponownie\",\n \"lav\": \"Radās kļūda. Lūdzu, vēlreiz nosūtiet saiti.\",\n \"swe\": \"Det uppstod ett fel, var god skicka länken igen\",\n \"lit\": \"Klaida, bandykite siųsti nuorodą dar kartą\",\n \"esp\": \"Error, vuelva a enviar el enlace.\"\n },\n \"emailConfirmed\": {\n \"eng\": \"Email confirmed!\",\n \"est\": \"Email kinnitatud\",\n \"rus\": \"Электронный адрес подтвержден!\",\n \"fin\": \"Sähköpostiosoite vahvistettu!\",\n \"pol\": \"Adres e-mail został potwierdzony\",\n \"lav\": \"E-pasta adrese apstiprināta!\",\n \"swe\": \"E-post bekräftad!\",\n \"lit\": \"El. paštas patvirtintas!\",\n \"esp\": \"Correo Electrónico confirmado!\"\n },\n \"pleaseContinueInApp\": {\n \"eng\": \"Please continue in the app\",\n \"est\": \"Palun jätkake äpis\",\n \"rus\": \"Продолжить работу в приложении\",\n \"fin\": \"Jatka sovelluksessa\",\n \"pol\": \"Aby kontynuować, przejdź do aplikacji\",\n \"lav\": \"Lūdzu, turpiniet aplikācijā\",\n \"swe\": \"Var god fortsätt i appen\",\n \"lit\": \"Tęskite programėlėje\",\n \"esp\": \"Continúe en la aplicación\"\n },\n \"logInOrRegister\": {\n \"eng\": \"Log in or create account\",\n \"est\": \"Logi sisse või registreeri kasutaja\",\n \"rus\": \"Войдите или зарегистрируйтесь\",\n \"fin\": \"Kirjaudu sisään tai luo tili\",\n \"pol\": \"Zaloguj się lub zarejestruj\",\n \"lav\": \"Ienākt vai reģistrēties\",\n \"swe\": \"Logga in eller skapa konto\",\n \"lit\": \"Prisijungti arba sukurti paskyrą\",\n \"esp\": \"Iniciar sesión o crear una cuenta\"\n },\n \"appleGetAppBanner\": {\n \"eng\": \"Get the app for FREE!\",\n \"est\": \"TASUTA - App Store'is\",\n \"rus\": \"Скачать бесплатно в App Store\",\n \"fin\": \"ILMAISEKSI - App Storesta\",\n \"pol\": \"Pobierz aplikację ZA DARMO!\",\n \"lav\": \"Lejuplādējiet bez maksas!\",\n \"swe\": \"Ladda ner appen GRATIS!\",\n \"lit\": \"Gaukite programėlę NEMOKAMAI!\",\n \"esp\": \"¡Obtén la aplicación GRATIS!\"\n },\n \"androidGetAppBanner\": {\n \"eng\": \"FREE - In Google Play\",\n \"est\": \"TASUTA - Google Play-s\",\n \"rus\": \"БЕСПЛАТНО - в Google Play\",\n \"fin\": \"ILMAISEKSI - Google Play -kaupasta\",\n \"pol\": \"ZA DARMO - w Google Play\",\n \"lav\": \"BEZMAKSAS veikalā Google Play\",\n \"swe\": \"GRATIS - i Google Play\",\n \"lit\": \"NEMOKAMAI - Google Play\",\n \"esp\": \"GRATIS - En Google Play\"\n },\n \"you\": {\n \"eng\": \"You\",\n \"est\": \"Sina\",\n \"rus\": \"Вы\",\n \"fin\": \"Sinä\",\n \"pol\": \"Ty\",\n \"lav\": \"Jūs\",\n \"swe\": \"Du\",\n \"lit\": \"Jūs\",\n \"esp\": \"Tu\"\n },\n \"notDistinct\": {\n \"eng\": \"Duplicate\",\n \"est\": \"Topelt\",\n \"rus\": \"Дубликат\",\n \"fin\": \"Kopio\",\n \"pol\": \"Duplikat\",\n \"lav\": \"Dublikāts\",\n \"swe\": \"Duplicera\",\n \"lit\": \"Duplikatas\",\n \"esp\": \"Duplicar\"\n },\n \"tfo\": {\n \"eng\": \"Estonian e-invoice operators (Telema, Fitek, Omniva)\",\n \"est\": \"Eesti e-arvete operaatorid (Telema, Fitek, Omniva)\",\n \"rus\": \"Эстонские операторы электронных счетов (Telema, Fitek, Omniva)\",\n \"fin\": \"Viron e-lasku operaattorit (Telema, Fitek, Omniva)\",\n \"pol\": \"Estońscy operatorzy e-faktur (Telema, Fitek, Omniva)\",\n \"lav\": \"Igaunijas elektronisko rēķinu operatori (Telema, Fitek, Omniva)\",\n \"swe\": \"Estniska e-fakturaoperatörer (Telema, Fitek, Omniva)\",\n \"lit\": \"Estijos e. sąskaitų operatoriai (Telema, Fitek, Omniva)\",\n \"esp\": \"Operadores de factura electrónica de Estonia (Telema, Fitek, Omniva)\"\n },\n \"regCodeAlreadyRegistered\": {\n \"eng\": \"Organisation with such registration code is already registered\",\n \"est\": \"See organisatsioon on juba registreeritud\",\n \"rus\": \"Эта организация уже зарегистрирована\",\n \"fin\": \"Tämä organisaatio on jo rekisteröity\",\n \"pol\": \"Ta firma jest już zarejestrowana\",\n \"lav\": \"Organizācija ar šādu reģistrācijas numuru jau ir reģistrēta\",\n \"swe\": \"Denna organisation finns redan registrerad\",\n \"lit\": \"Organizacija su šiuo registracijos kodu jau yra sistemoje\",\n \"esp\": \"Esta organización ya se encuentra registrada\"\n },\n \"editReport\": {\n \"eng\": \"Edit report\",\n \"pol\": \"Edytuj raport\",\n \"est\": \"Muuda aruannet\",\n \"rus\": \"Редактировать отчет\",\n \"fin\": \"Muokkaa raporttia\",\n \"lav\": \"Rediģēt pārskatu\",\n \"swe\": \"Ändra rapport\",\n \"lit\": \"Redaguoti ataskaitą\",\n \"esp\": \"Editar informe\"\n },\n \"name\": {\n \"eng\": \"Name\",\n \"pol\": \"Nazwa\",\n \"est\": \"Nimi\",\n \"rus\": \"Название\",\n \"fin\": \"Nimi\",\n \"lav\": \"Nosaukums\",\n \"swe\": \"Namn\",\n \"lit\": \"Pavadinimas\",\n \"esp\": \"Nombre\"\n },\n \"iban\": {\n \"eng\": \"Personal IBAN\",\n \"pol\": \"IBAN\",\n \"est\": \"Kasutaja pangakontonumber\",\n \"rus\": \"Личный IBAN\",\n \"fin\": \"Henkilökohtainen pankkitili\",\n \"lav\": \"Personīgais IBAN numurs\",\n \"swe\": \"Personligt IBAN\",\n \"lit\": \"Privatus IBAN\",\n \"esp\": \"IBAN Personal\"\n },\n \"selectUser\": {\n \"eng\": \"Select from existing users\",\n \"pol\": \"Wybierz spośród istniejących użytkowników\",\n \"est\": \"Vali juba registreeritud kasutaja\",\n \"rus\": \"Выбрать из существующих пользователей\",\n \"fin\": \"Valitse olemassa olevista käyttäjistä\",\n \"lav\": \"Izvēlēties no esošajiem lietotājiem\",\n \"swe\": \"Välj bland befintliga användare\",\n \"lit\": \"Pasirinkti iš egzistuojančių vartotojų\",\n \"esp\": \"Seleccionar desde los usuarios existentes\"\n },\n \"removeUser\": {\n \"eng\": \"Remove user\",\n \"pol\": \"Usuń użytkownika\",\n \"est\": \"Eemalda kasutaja\",\n \"rus\": \"Удалить пользователя\",\n \"fin\": \"Poista käyttäjä\",\n \"lav\": \"Dzēst lietotāju\",\n \"swe\": \"Ta bort användare\",\n \"lit\": \"Pašalinti vartotoją\",\n \"esp\": \"Remover usuario\"\n },\n \"notValidIban\": {\n \"eng\": \"Invalid IBAN\",\n \"pol\": \"Nieprawidłowy numer IBAN\",\n \"est\": \"IBAN ei ole korrektne\",\n \"rus\": \"Недействительный IBAN\",\n \"fin\": \"Väärä pankkitili\",\n \"lav\": \"Nederīgs IBAN numurs\",\n \"swe\": \"Ogiltligt IBAN\",\n \"lit\": \"Netinkamas IBAN\",\n \"esp\": \"IBAN invalido\"\n },\n \"ibanMissing\": {\n \"eng\": \"IBAN missing\",\n \"pol\": \"Brak numeru IBAN\",\n \"est\": \"IBAN puudub\",\n \"rus\": \"Отсутствует IBAN\",\n \"fin\": \"Pankkitili puuttuu\",\n \"lav\": \"Trūkst IBAN numura\",\n \"swe\": \"IBAN saknas\",\n \"lit\": \"Trūksta IBAN\",\n \"esp\": \"Falta IBAN\"\n },\n \"userNameMissing\": {\n \"eng\": \"User name missing\",\n \"pol\": \"Brak nazwy użytkownika\",\n \"est\": \"Kasutaja nimi puudub\",\n \"rus\": \"Отсутствует имя пользователя\",\n \"fin\": \"Käyttäjänimi puuttuu\",\n \"lav\": \"Trūkst lietotāja vārda\",\n \"swe\": \"Användarnamn saknas\",\n \"lit\": \"Trūksta vartotojo vardo\",\n \"esp\": \"Falta Nombre de usuario\",\n \"nor\": \"Brukernavn mangler\"\n },\n \"somethingWentWrong\": {\n \"eng\": \"Something went wrong\",\n \"pol\": \"Coś poszło nie tak\",\n \"est\": \"Miski läks valesti\",\n \"rus\": \"Что-то пошло не так\",\n \"fin\": \"Jokin meni pieleen\",\n \"lav\": \"Kaut kas neizdevās\",\n \"swe\": \"Något gick fel\",\n \"lit\": \"Kažkas nepavyko\",\n \"esp\": \"Algo salió mal\",\n \"nor\": \"Noe gikk galt\"\n },\n \"deleteReport\": {\n \"eng\": \"Delete report\",\n \"pol\": \"Usuń raport\",\n \"est\": \"Kustuta aruanne\",\n \"rus\": \"Удалить отчет\",\n \"fin\": \"Poista raportti\",\n \"lav\": \"Dzēst pārskatu\",\n \"swe\": \"Radera rapport.\",\n \"lit\": \"Pašalinti ataskaitą\",\n \"esp\": \"Eliminar Informe\",\n \"nor\": \"Slett rapport\"\n },\n \"deleteReceipts\": {\n \"eng\": \"Would you also like to delete the receipts inside the report?\",\n \"pol\": \"Czy chcesz także usunąć dokumenty znajdujące się w raporcie?\",\n \"est\": \"Kas soovite kustutada ka dokumendid selle aruande seest?\",\n \"rus\": \"Удалить также квитанции, которые были внутри отчета?\",\n \"fin\": \"Haluatko myös poistaa raportin sisällä olevat kuitit?\",\n \"lav\": \"Vai vēlaties dzēst arī dokumentus, kas atradās pārskatā?\",\n \"swe\": \"Vill du även radera kvittona från rapporten?\",\n \"lit\": \"Ar pašalinti ataskaitoje buvusius kvitus?\",\n \"esp\": \"¿También le gustaría eliminar los recibos dentro del informe?\",\n \"nor\": \"Vil du også slette kvitteringene inne i rapporten?\"\n },\n \"saved\": {\n \"eng\": \"Saved\",\n \"pol\": \"Zapisano\",\n \"est\": \"Salvestatud\",\n \"rus\": \"Сохранено\",\n \"fin\": \"Tallennettu\",\n \"lav\": \"Saglabāts\",\n \"swe\": \"Sparad\",\n \"lit\": \"Išsaugota\",\n \"esp\": \"Guardado\",\n \"nor\": \"Lagret\"\n },\n \"youSure\": {\n \"eng\": \"Are you sure\",\n \"pol\": \"Jesteś pewien\",\n \"est\": \"Oled kindel\",\n \"rus\": \"Вы уверены\",\n \"fin\": \"Oletko varma\",\n \"lav\": \"Vai esat pārliecināts\",\n \"swe\": \"Är du säker\",\n \"lit\": \"Ar esate tikras\",\n \"esp\": \"Esta seguro\",\n \"nor\": \"Er du sikker\"\n },\n \"lastComments\": {\n \"eng\": \"Lately used comments\",\n \"pol\": \"Ostatnio używane komentarze\",\n \"est\": \"Viimati kasutatud kommentaarid\",\n \"rus\": \"Недавно использованные комментарии\",\n \"fin\": \"Viimeksi käytetyt kommentit\",\n \"lav\": \"Pēdējie lietotie komentāri\",\n \"swe\": \"Senast använda kommentarer\",\n \"lit\": \"Paskutiniai naudoti komentarai\",\n \"esp\": \"Comentarios usados últimamente\",\n \"nor\": \"Nylig brukte kommentarer\"\n },\n \"addReceiptAndComments\": {\n \"eng\": \"Capture your receipts, we digitise them\",\n \"pol\": \"Zrób zdjęcia paragonów, a my przetworzymy je dla Ciebie\",\n \"est\": \"Digiteerime Sinu pildistatud tšekid\",\n \"rus\": \"Сфотографируйте чеки, и мы их оцифруем\",\n \"fin\": \"Kuvaa kuittisi, me digitoimme ne\",\n \"lav\": \"Fotografējiet čekus, lai tos digitalizētu\",\n \"swe\": \"Ta en bild på dina kvitton, vi digitaliserar dem\",\n \"lit\": \"Fotografuokite kvitus ir mes juos suskaitmeninsime\",\n \"esp\": \"Captura tus recibos, los digitalizamos\",\n \"nor\": \"Ta vare på kvitteringene dine, vi digitaliserer dem\"\n },\n \"SendReportWithEmail\": {\n \"eng\": \"Email invoices for digitisation\",\n \"pol\": \"Wysyślij faktury w celu digitalizacji\",\n \"est\": \"Saada arved e-mailiga digiteerimisele\",\n \"rus\": \"Отправляйте счета на этот адрес для оцифровки\",\n \"fin\": \"Sähköpostilaskut digitoitavaksi\",\n \"lav\": \"Pavadzīmju un rēķinu digitalizācija no Jūsu e-pasta\",\n \"swe\": \"Skicka fakturor via e-post för digitalisering\",\n \"lit\": \"Siųskite sąskaitas skaitmeninimui\",\n \"esp\": \"Facturas por correo electrónico para digitalización\",\n \"nor\": \"E-postfakturaer for digitalisering\"\n },\n \"ConnectCpWithIntegration\": {\n \"eng\": \"Integrate it with your accounting software\",\n \"pol\": \"Zintegruj ze swoim oprogramowaniem księgowym\",\n \"est\": \"Ühenda meid oma raamatupidamistarkvaraga täisdigitaalseks kogemuseks\",\n \"rus\": \"Интегрируйте CostPocket с вашим бухгалтерским программным обеспечением\",\n \"fin\": \"Integroi palvelu kirjanpito-ohjelmaasi ja hyödynnä digitalisoinnin tuomat hyödyt\",\n \"lav\": \"Izveidojiet integrāciju ar grāmatvedības sistēmu\",\n \"swe\": \"Integrera med ditt bokföringsprogram\",\n \"lit\": \"Integruokite su jūsų naudojama apskaitos programa\",\n \"esp\": \"Intégralo con tu software de contabilidad\",\n \"nor\": \"Integrer den med regnskapsprogramvaren din\"\n },\n \"fetchReportFromEmail\": {\n \"eng\": \"Get digital expense reports to your email\",\n \"pol\": \"Otrzymuj raporty wydatków na adres e-mail\",\n \"est\": \"Telli valmis aruanne e-mailile\",\n \"rus\": \"Получить отчеты о расходах на свой e-mail\",\n \"fin\": \"Tilaa sähköinen kuluraportti sähköpostiisi\",\n \"lav\": \"Saņemiet digitalizētus izdevumu pārskatus savā e-pastā\",\n \"swe\": \"Få digitala utgiftsredovisningar till din e-post\",\n \"lit\": \"Gaukite išlaidų ataskaitas el. paštu\",\n \"esp\": \"Obtenga informes de gastos digitales en su correo electrónico\",\n \"nor\": \"Har du fakturaer i e-posten din? Videresend dokumenter til denne e-posten\"\n },\n \"sendDocumentsTo\": {\n \"eng\": \"Save time and forward invoices from your email to\",\n \"pol\": \"Oszczędzaj czas i prześlij faktury ze swojej poczty e-mail na\",\n \"est\": \"Säästke aega ja edastage arved oma meilist aadressile\",\n \"rus\": \"Пересылайте счета из вашей эл. почты на\",\n \"fin\": \"Onko sinulla laskuja sähköpostissasi? Lähetä tositteet tähän sähköpostiosoitteeseen\",\n \"lav\": \"Pārsūtiet dokumentus no sava e-pasta uz\",\n \"swe\": \"Har du fakturor på din e-post? Vidarebefodra dokument till\",\n \"lit\": \"Ar turite sąskaitų el. pašte? Persiųskite juos į\",\n \"esp\": \"¿Tiene facturas en su correo electrónico? Reenviar documentos a este correo electrónico\",\n \"nor\": \"Har du fakturaer i e-posten din? Videresend dokumenter til denne e-posten\"\n },\n \"apiKeyPublic\": {\n \"eng\": \"API key (public)\",\n \"pol\": \"Klucz API (publiczny)\",\n \"est\": \"API võti (avalik)\",\n \"rus\": \"Ключ API (открытый)\",\n \"fin\": \"API-avain (julkinen)\",\n \"lav\": \"API parole (publiska)\",\n \"swe\": \"API-nyckel (offentlig)\",\n \"lit\": \"API raktas (viešas)\",\n \"esp\": \"Llave API (pública)\",\n \"nor\": \"API nøkkel (offentlig)\"\n },\n \"apiKeyPrivate\": {\n \"eng\": \"API key (private)\",\n \"pol\": \"Klucz API (prywatny)\",\n \"est\": \"API võti (salajane)\",\n \"rus\": \"Ключ API (личный)\",\n \"fin\": \"API-avain (yksityinen)\",\n \"lav\": \"API parole (privāta)\",\n \"swe\": \"API-nyckel (privat)\",\n \"lit\": \"API raktas (privatus)\",\n \"esp\": \"Llave API (privada)\",\n \"nor\": \"API nøkkel (privat)\"\n },\n \"dailyAllowance\": {\n \"eng\": \"Daily allowance\",\n \"pol\": \"Dzienna dieta\",\n \"est\": \"Päevaraha\",\n \"rus\": \"Ежедневное пособие\",\n \"fin\": \"Päiväraha\",\n \"lav\": \"Dienas nauda\",\n \"swe\": \"Dagligt underhåll\",\n \"lit\": \"Dienpinigiai\",\n \"esp\": \"Subsidio diario\"\n },\n \"reportsWillBeForwarded\": {\n \"eng\": \"Reports will be forwarded\",\n \"pol\": \"Raporty zostaną przekazane\",\n \"est\": \"Aruanded saadetakse edasi\",\n \"rus\": \"Отчеты будут перенаправлены\",\n \"fin\": \"Raportit lähetetään edelleen\",\n \"lav\": \"Pārskati tiks pārsūtīti\",\n \"swe\": \"Rapporter kommer att vidarebefodras\",\n \"lit\": \"Ataskaitos bus persiųstos\",\n \"esp\": \"Los informes se reenviarán\"\n },\n \"afterSubmitterReadiesReport\": {\n \"eng\": \"after submitter has marked report as ready\",\n \"pol\": \"po tym, jak zgłaszający oznaczy raport jako gotowy\",\n \"est\": \"pärast seda kui aruanne on esitaja poolt valmis\",\n \"rus\": \"после того, как отправитель отметил отчет как готовый\",\n \"fin\": \"sen jälkeen, kun raportin lähettäjä on merkinnyt sen valmiiksi\",\n \"lav\": \"pēc tam, kad iesniedzējs atzīmējis pārskatu kā gatavu\",\n \"swe\": \"efter att avsändaren har markerat rapporten som klar\",\n \"lit\": \"po to, kai pateikėjas pažymės ataskaitą kaip paruoštą\",\n \"esp\": \"después de que el remitente haya marcado el informe como listo\"\n },\n \"days\": {\n \"eng\": \"days\",\n \"pol\": \"dni\",\n \"est\": \"päeva\",\n \"rus\": \"дни\",\n \"fin\": \"päivät\",\n \"lav\": \"dienas\",\n \"swe\": \"dagar\",\n \"lit\": \"dienos\",\n \"esp\": \"días\"\n },\n \"areYouSureOpenAgain\": {\n \"eng\": \"Are you sure you want to open it again?\",\n \"pol\": \"Czy na pewno chcesz otworzyć raport ponownie?\",\n \"est\": \"Kas oled kindel, et tahad aruande taas avada?\",\n \"rus\": \"Вы уверены, что хотите деархивировать этот отчет?\",\n \"fin\": \"Oletko varma, että haluat avata raportin uudestaan?\",\n \"lav\": \"Vai vēlaties atarhivēt šo pārskatu?\",\n \"swe\": \"Är du säker att du vill öppna rapporten igen?\",\n \"lit\": \"Ar tikrai norite atidaryti ataskaitą darkart?\",\n \"esp\": \"¿Estás seguro de que desea abrirlo de nuevo?\"\n },\n \"reportIsAlreadySent\": {\n \"eng\": \"This report is archived / sent to software.\",\n \"pol\": \"Ten raport jest zarchiwizowany / wysłany do oprogramowania.\",\n \"est\": \"Sellega seotud aruanne on saadetud tarkvarasse.\",\n \"rus\": \"Этот отчет заархивирован/отправлен в программу.\",\n \"fin\": \"Tämä raportti on arkistoitu/lähetetty ohjelmistoon.\",\n \"lav\": \"Šis pārskats ir arhivēts/nosūtīts programmatūrai.\",\n \"swe\": \"Denna rapport är arkiverad/skickad till bokföringsprogram.\",\n \"lit\": \"Ši ataskaita arhyvuota / išsiųsta į programą.\",\n \"esp\": \"Este reporte está archivado / envíado al software.\"\n },\n \"openAlreadyJoinedCompany\": {\n \"eng\": \"You're already registered in this company. Redirect to the company?\",\n \"pol\": \"Jesteś już zarejestrowany w tej firmie. Przekierować do firmy?\",\n \"est\": \"Olete juba seotud antud ettevõttega. Suuname sind edasi sellesse ettevõtesse?\",\n \"rus\": \"Вы уже зарегистрированы в этой компании. Перенаправить в компанию?\",\n \"fin\": \"Olet jo rekisteröitynyt organisaatioon. Siirrytäänkö sen profiiliin?\",\n \"lav\": \"Jūs jau esat reģistrēts šajā uzņēmumā. Vai doties uz uzņēmumu?\",\n \"swe\": \"Du är redan registrerad inom detta företag. Omdirigera till företaget?\",\n \"lit\": \"Jūs jau registruotas šioje įmonėje. Nukreipti į įmonę?\",\n \"esp\": \"Ya estás registrado en esta empresa. ¿Redirigir a la empresa?\"\n },\n \"nrOfDocuments\": {\n \"eng\": \"Documents\",\n \"pol\": \"Dokumenty\",\n \"est\": \"Dokumente\",\n \"rus\": \"Документы\",\n \"fin\": \"Tositteet\",\n \"lav\": \"Dokumenti\",\n \"swe\": \"Dokument\",\n \"lit\": \"Dokumentai\",\n \"esp\": \"Documentos\"\n },\n \"today\": {\n \"eng\": \"Today\",\n \"pol\": \"Dzisiaj\",\n \"est\": \"Täna\",\n \"rus\": \"Сегодня\",\n \"fin\": \"Tänään\",\n \"lav\": \"Šodien\",\n \"swe\": \"Idag\",\n \"lit\": \"Šiandien\",\n \"esp\": \"Hoy\"\n },\n \"yesterday\": {\n \"eng\": \"Yesterday\",\n \"pol\": \"Wczoraj\",\n \"est\": \"Eile\",\n \"rus\": \"Вчера\",\n \"fin\": \"eilen\",\n \"lav\": \"Vakar\",\n \"swe\": \"Igår\",\n \"lit\": \"Vakar\",\n \"esp\": \"Ayer\"\n },\n \"beforeYesterday\": {\n \"eng\": \"Day before yesterday\",\n \"pol\": \"Przedwczoraj\",\n \"est\": \"Üleeile\",\n \"rus\": \"Позавчера\",\n \"fin\": \"Toissapäivänä\",\n \"lav\": \"Aizvakar\",\n \"swe\": \"Förrgår\",\n \"lit\": \"Užvakar\",\n \"esp\": \"Anteayer\"\n },\n \"INVALID_VALUE\": {\n \"eng\": \"Added value is incorrect\",\n \"pol\": \"Wartość dodana jest nieprawidłowa\",\n \"est\": \"Sisestatud väärtus on ebakorrektne\",\n \"rus\": \"Добавленное значение неверно\",\n \"fin\": \"Annettu arvo on virheellinen\",\n \"lav\": \"Pievienotā vērtība ir nepareiza\",\n \"swe\": \"Det angivna beloppet är inkorrekt\",\n \"lit\": \"Pridėta reikšmė yra netinkama\",\n \"esp\": \"Valor agregado es incorrecto\"\n },\n \"UNAVAILABLE\": {\n \"eng\": \"Value unavailable or already in use\",\n \"pol\": \"Wartość jest niedostępna lub już używana\",\n \"est\": \"Sisestatud väli ei ole saadaval\",\n \"rus\": \"Значение недоступно или уже используется\",\n \"fin\": \"Arvo ei saatavilla tai jo käytössä\",\n \"lav\": \"Vērtība ir nederīga vai jau ir aizņemta\",\n \"swe\": \"Beloppet otillgängligt eller används redan\",\n \"lit\": \"Reikšmė nepasiekiama arba jau naudojama\",\n \"esp\": \"Valor no disponible o en uso\"\n },\n \"TOO_LONG\": {\n \"eng\": \"Inserted value is too long\",\n \"pol\": \"Wprowadzona wartość jest zbyt długa\",\n \"est\": \"Sisestatud väärtus on liiga pikk\",\n \"rus\": \"Вставленное значение слишком длинное\",\n \"fin\": \"Annettu arvo on liian pitkä\",\n \"lav\": \"Ievadītā vērtība ir pārāk gara\",\n \"swe\": \"Det angivna beloppet är för långt\",\n \"lit\": \"Įvesta reikšmė yra per ilga\",\n \"esp\": \"Valor ingresado es muy largo\"\n },\n \"sureSendEmptyReport\": {\n \"eng\": \"Are you sure you want to submit a report without cost documents?\",\n \"pol\": \"Czy jesteś pewien, że chcesz wysłać pusty raport?\",\n \"est\": \"Kindel, et soovite esitada ilma kuludokumentideta aruannet?\",\n \"rus\": \"Вы уверены, что хотите отправить отчет без расходных документов?\",\n \"fin\": \"Haluatko varmasti lähettää tyhjän raportin?\",\n \"lav\": \"Vai tiešām vēlaties sūtīt pārskatu bez pievienotiem izdevumu dokumentiem?\",\n \"swe\": \"Är du säker att du vill skicka en tom rapport?\",\n \"lit\": \"Ar tikrai norite siųsti tuščią ataskaitą?\",\n \"esp\": \"¿Está seguro de que desea enviar un informe sin documentos de costos?\"\n },\n \"showArchivedReports\": {\n \"eng\": \"Show archived reports\",\n \"pol\": \"Pokaż zarchiwizowane raporty\",\n \"est\": \"Näita arhiveeritud aruandeid\",\n \"rus\": \"Показать заархивированные отчеты\",\n \"fin\": \"Näytä arkistoidut raportit\",\n \"lav\": \"Parādīt arhivētos pārskatus\",\n \"swe\": \"Visa arkiverade rapporter\",\n \"lit\": \"Rodyti arhyvuotas ataskaitas\",\n \"esp\": \"Mostrar reportes archivados\"\n },\n \"archivedReports\": {\n \"eng\": \"Archived reports\",\n \"pol\": \"Zarchiwizowane raporty\",\n \"est\": \"Arhiveeritud Aruanded\",\n \"rus\": \"Заархивированные отчеты\",\n \"fin\": \"Arkistoidut raportit\",\n \"lav\": \"Arhivētie pārskati\",\n \"swe\": \"Arkiverade rapporter\",\n \"lit\": \"Arhyvuotos ataskaitos\",\n \"esp\": \"Reportes archivados\"\n },\n \"enterSum\": {\n \"eng\": \"Enter sum\",\n \"pol\": \"Wprowadź sumę\",\n \"est\": \"Sisesta summa\",\n \"rus\": \"Ввести сумму\",\n \"fin\": \"Syötä summa\",\n \"lav\": \"Ievadiet summu\",\n \"swe\": \"Ange summa\",\n \"lit\": \"Įvesti sumą\",\n \"esp\": \"Ingrese suma\"\n },\n \"enterComment\": {\n \"eng\": \"Enter comment\",\n \"pol\": \"Dodaj komentarz\",\n \"est\": \"Sisesta kommentaar\",\n \"rus\": \"Ввести комментарий\",\n \"fin\": \"Lisää kommentti\",\n \"lav\": \"Ievadiet komentāru\",\n \"swe\": \"Infoga kommentar\",\n \"lit\": \"Įvesti komentarą\",\n \"esp\": \"Ingrese comentario\"\n },\n \"editReceipt\": {\n \"eng\": \"Cost without document\",\n \"pol\": \"Koszt bez dokumentu\",\n \"est\": \"Ilma failita kulu\",\n \"rus\": \"Cтоимость без документа\",\n \"fin\": \"Kulu ilman tositetta\",\n \"lav\": \"Izmaksas bez dokumenta\",\n \"swe\": \"Kostnad utan dokument\",\n \"lit\": \"Kaštai be dokumento\",\n \"esp\": \"Costo sin documento\"\n },\n \"emptyReceipt\": {\n \"eng\": \"Add cost without document\",\n \"pol\": \"Dodaj koszt bez dokumentu\",\n \"est\": \"Lisa ilma dokumendita kulu\",\n \"rus\": \"Добавить стоимость без документа\",\n \"fin\": \"Lisää kulu ilman tositetta\",\n \"lav\": \"Ievadiet maksu bez dokumenta\",\n \"swe\": \"Lägg till kostnad utan dokument\",\n \"lit\": \"Pridėti išlaidas be dokumento\",\n \"esp\": \"Agregar costo sin documento\"\n },\n \"enterCurrency\": {\n \"eng\": \"Enter currency\",\n \"pol\": \"Wprowadź walutę\",\n \"est\": \"Sisesta valuuta\",\n \"rus\": \"Введите валюту\",\n \"fin\": \"Syötä valuutta\",\n \"lav\": \"Ievadiet valūtu\",\n \"swe\": \"Ange valuta\",\n \"lit\": \"Įvesti valiutą\",\n \"esp\": \"Ingrese moneda\"\n },\n \"enterIssuedDate\": {\n \"eng\": \"Enter document date\",\n \"pol\": \"Wprowadź datę dokumentu\",\n \"est\": \"Sisesta dokumendi kuupäev\",\n \"rus\": \"Введите дату документа\",\n \"fin\": \"Syötä tositteen päivämäärä\",\n \"lav\": \"Ievadiet dokumenta datumu\",\n \"swe\": \"Ange dokumentets datum\",\n \"lit\": \"Įveskite dokumento datą\",\n \"esp\": \"Ingrese fecha del documento\"\n },\n \"newDocumentAdded\": {\n \"eng\": \"Document successfully added!\",\n \"pol\": \"Dokument został pomyślnie dodany!\",\n \"est\": \"Uus dokument lisatud!\",\n \"rus\": \"Документ успешно добавлен!\",\n \"fin\": \"Uusi tosite lisätty!\",\n \"lav\": \"Dokuments veiksmīgi pievienots!\",\n \"swe\": \"Nytt dokument tillagt!\",\n \"lit\": \"Dokumentas pridėtas sėkmingai!\",\n \"esp\": \"Documento agregado satisfactoriamente\"\n },\n \"reports\": {\n \"eng\": \"Reports\",\n \"pol\": \"Raporty\",\n \"est\": \"Aruanded\",\n \"rus\": \"Отчеты\",\n \"fin\": \"Raportit\",\n \"lav\": \"Pārskati\",\n \"swe\": \"Rapporter\",\n \"lit\": \"Ataskaitos\",\n \"esp\": \"Reportes\"\n },\n \"enterCompanyName\": {\n \"eng\": \"Enter organisation name\",\n \"pol\": \"Wpisz nazwę organizacji\",\n \"est\": \"Sisesta ettevõtte nimi\",\n \"rus\": \"Введите название организации\",\n \"fin\": \"Kirjoita yrityksen nimi\",\n \"lav\": \"Ievadiet organizācijas nosaukumu\",\n \"swe\": \"Ange företagets namn\",\n \"lit\": \"Įvesti organizacijos pavadinimą\",\n \"esp\": \"Ingrese nombre de la organización\"\n },\n \"registered\": {\n \"eng\": \"Registered\",\n \"pol\": \"Zarejestrowany\",\n \"est\": \"Registeeritud\",\n \"rus\": \"Зарегистрировано\",\n \"fin\": \"Kirjattu\",\n \"lav\": \"Reģistrēts\",\n \"swe\": \"Registrerad\",\n \"lit\": \"Užregistruota\",\n \"esp\": \"Registrado\",\n \"nor\": \"Registrert\"\n },\n \"companyNameShort\": {\n \"eng\": \"Company name\",\n \"pol\": \"Nazwa firmy\",\n \"est\": \"Ettevõtte nimi\",\n \"rus\": \"Название компании\",\n \"fin\": \"Yrityksen nimi\",\n \"lav\": \"Uzņēmuma nosaukums\",\n \"swe\": \"Företagets namn\",\n \"lit\": \"Įmonės pavadinimas\",\n \"esp\": \"Nombre de empresa\",\n \"nor\": \"Firmanavn\"\n },\n \"close\": {\n \"eng\": \"Close\",\n \"pol\": \"Zamknij\",\n \"est\": \"Sulge\",\n \"rus\": \"Закрыть\",\n \"fin\": \"Sulje\",\n \"lav\": \"Aizvērt\",\n \"swe\": \"Stäng\",\n \"lit\": \"Uždaryti\",\n \"esp\": \"Cerrar\",\n \"nor\": \"Lukk\"\n },\n \"createPrivatePersonAccount\": {\n \"eng\": \"Create private person account\",\n \"pol\": \"Utwórz konto osoby prywatnej\",\n \"est\": \"Loo eraisiku konto\",\n \"rus\": \"Создать частный аккаунт\",\n \"fin\": \"Luo yksityishenkilön tili\",\n \"lav\": \"Izveidot privātpersonas kontu\",\n \"swe\": \"Skapa konto för privatperson\",\n \"lit\": \"Sukurti privačią paskyrą\",\n \"esp\": \"Crear cuenta de persona privada\",\n \"nor\": \"Opprett privatpersonkonto\"\n },\n \"Privateaccountislimited\": {\n \"eng\": \"Private person account is limited\",\n \"pol\": \"Konto osoby prywatnej jest ograniczone\",\n \"est\": \"Eraisiku konto on limiteeritud\",\n \"rus\": \"Частный аккаунт ограничен\",\n \"fin\": \"Yksityishenkilön tili on rajoitettu\",\n \"lav\": \"Privātpersonas konts ir ierobežots\",\n \"swe\": \"Konto för privatperson är begränsat\",\n \"lit\": \"Privati paskyra yra ribota\",\n \"esp\": \"La cuenta de persona privada es limitada\",\n \"nor\": \"Privatpersonkonto er begrenset\"\n },\n \"Nointegrationwithaccountingsoftware\": {\n \"eng\": \"Can't add integration with accounting software\",\n \"pol\": \"Nie jest możliwa integracja z systemem księgowym\",\n \"est\": \"Raamatupidamistarkvaraga ei saa liidestada\",\n \"rus\": \"Невозможно создать интеграцию с бухгалтерским программным обеспечением.\",\n \"fin\": \"Ei integraatiota kirjanpito-ohjelmistoon\",\n \"lav\": \"Nevar izveidot integrāciju ar grāmatvedības sistēmu.\",\n \"swe\": \"Kan inte lägga till integrationen med bokföringsprogram\",\n \"lit\": \"Integracija su apskaitos sistema negalima\",\n \"esp\": \"No se puede agregar la integración con el software de contabilidad\",\n \"nor\": \"Kan ikke legge til integrasjon med regnskapsprogramvare\"\n },\n \"somethingWentWrongRedirectingBack\": {\n \"eng\": \"Something went wrong. Redirecting to homepage\",\n \"pol\": \"Coś poszło nie tak. Zostaniesz przekierowany do strony głównej\",\n \"est\": \"Miski läks viltu. Suuname sind tagasi koju\",\n \"rus\": \"Что-то пошло не так. Перенаправляем вас обратно на главную страницу.\",\n \"fin\": \"Jokin meni pieleen. Siirrytään takaisin etusivulle\",\n \"lav\": \"Darbība neizdevās. Dodas atpakaļ uz sākuma ekrānu.\",\n \"swe\": \"Något gick fel. Omdirigerar dig till hemskärmen.\",\n \"lit\": \"Kažkas nepavyko. Nukreipiame jus atgal\",\n \"esp\": \"Algo salió mal. Redirigiendo a la página de inicio\",\n \"nor\": \"Noe gikk galt. Omdirigerer til hjemmesiden\"\n },\n \"documentswillbesenttoyouremail\": {\n \"eng\": \"Reports and documents will be sent to your email (PDF and Excel)\",\n \"pol\": \"Raporty i dokumenty zostaną wysłane na Twój adres e-mail (PDF i Excel)\",\n \"est\": \"Aruanded saadetakse teile emailile (PDF ning Excel)\",\n \"rus\": \"Отчеты и документы будут отправлены на вашу электронную почту (PDF/CSV(Excel))\",\n \"fin\": \"Raportit ja tositteet lähetetään sähköpostiisi (PDF/Excel)\",\n \"lav\": \"Pārskati un dokumenti tiks nosūtīti uz Jūsu e-pastu (PDF/CSV(Excel))\",\n \"swe\": \"Rapporter och dokument kommer skickas till din e-post (PDF och Excel).\",\n \"lit\": \"Ataskaitos ir dokumentai bus atsiųsti į jūsų el. paštą (PDF ir Excel)\",\n \"esp\": \"Los informes y documentos se enviarán a su correo electrónico (PDF y Excel)\",\n \"nor\": \"Rapporter og dokumenter vil bli sendt til din e-post (PDF og Excel)\"\n },\n \"cannotaddusers\": {\n \"eng\": \"Can't add another user.\",\n \"pol\": \"Nie można dodać kolejnego użytkownika\",\n \"est\": \"Kasutajaid ei saa juurde lisada\",\n \"rus\": \"Невозможно добавить нескольких пользователей.\",\n \"fin\": \"Käyttäjiä ei voi lisätä\",\n \"lav\": \"Nevar pievienot vairākus lietotājus.\",\n \"swe\": \"Kan inte lägga till användare.\",\n \"lit\": \"Negalima pridėti dar vieno vartotojo\",\n \"esp\": \"No se puede agregar otro usuario\",\n \"nor\": \"Kan ikke legge til en annen bruker.\"\n },\n \"selectBankAccount\": {\n \"eng\": \"Select bank account\",\n \"pol\": \"Wybierz konto bankowe\",\n \"est\": \"Vali pangakonto\",\n \"rus\": \"Выберите банковский счет\",\n \"fin\": \"Valitse pankkitili\",\n \"lav\": \"Atlasiet bankas kontu\",\n \"swe\": \"Välj bankkonto\",\n \"lit\": \"Pasirinkti banko sąskaitą\",\n \"esp\": \"Seleccionar cuenta bancaria\",\n \"nor\": \"Velg bankkonto\"\n },\n \"pwdUnderUserSettings\": {\n \"eng\": \"Long password under user settings in Jumis\",\n \"pol\": \"Długie hasło w ustawieniach użytkownika Jumis\",\n \"est\": \"Parool kasutaja seadete alt Jumises\",\n \"rus\": \"Ищите длинный пароль в настройках пользователя в Jumis\",\n \"fin\": \"Pitkä salasana Jumisin käyttäjäasetuksissa\",\n \"lav\": \"Skatīt garo paroli Jumis lietotāja iestatījumos\",\n \"lit\": \"Ilgas slaptažodis Jumis vartotojo nustatymuose\",\n \"swe\": \"Långt lösenord under användarinställningar i Jumis\",\n \"esp\": \"Contraseña larga en la configuración de usuario en Jumis\",\n \"nor\": \"Langt passord under brukerinnstillinger i Jumis\"\n },\n \"deleteReceipt\": {\n \"eng\": \"Delete document\",\n \"pol\": \"Usuń dokument\",\n \"est\": \"Kustuta dokument\",\n \"rus\": \"Удалить документ\",\n \"fin\": \"Poista tosite\",\n \"lav\": \"Dzēst dokumentu\",\n \"swe\": \"Ta bort dokument\",\n \"lit\": \"Pašalinti dokumentą\",\n \"esp\": \"Eliminar documento\",\n \"nor\": \"Slett dokument\"\n },\n \"uploadingDocument\": {\n \"eng\": \"Uploading document\",\n \"pol\": \"Prześlij dokument\",\n \"est\": \"Dokumendi üleslaadimine\",\n \"rus\": \"Загрузка документа\",\n \"fin\": \"Lähetetään asiakirjaa\",\n \"lav\": \"Notiek dokumenta augšupielāde\",\n \"swe\": \"Laddar upp dokument\",\n \"lit\": \"Dokumentas įkeliamas\",\n \"esp\": \"Subiendo documento\",\n \"nor\": \"Laster opp dokument\"\n },\n \"tryAgain\": {\n \"eng\": \"Try again\",\n \"pol\": \"Spróbuj ponownie\",\n \"est\": \"Proovi uuesti\",\n \"rus\": \"Попробуйте снова\",\n \"fin\": \"Yritä uudelleen\",\n \"lav\": \"Mēģiniet vēlreiz\",\n \"swe\": \"Försök igen\",\n \"lit\": \"Bandykite dar kartą\",\n \"esp\": \"Intentar otra vez\",\n \"nor\": \"Prøv igjen\"\n },\n \"pleaseAllowAccessToGallery\": {\n \"eng\": \"Allow access to Gallery in privacy settings to use this feature.\",\n \"pol\": \"Aby korzystać z tej funkcji, należy w ustawieniach prywatności zezwolić na dostęp do Galerii.\",\n \"est\": \"Palun võimaldage ligipääs galeriile (Gallery), kui soovite kasutada vastavat funktsiooni. Seda saab teha telefoni privaatsussätete alt.\",\n \"rus\": \"Пожалуйста, разрешите доступ к галерее (Gallery), если вы хотите использовать функцию приложения. Это можно сделать в настройках конфиденциальности.\",\n \"fin\": \"Salli pääsy galleriaan, jos haluat käyttää ominaisuutta. Tämä voidaan sallia laitteesi tietosuoja-asetuksissa.\",\n \"lav\": \"Lūdzu, atļaujiet piekļuvi galerijai (Gallery), ja vēlaties turpmāk izmantot lietotnes funkciju. To var izdarīt tālruņa iestatījumos.\",\n \"swe\": \"Var god aktivera tillgång till Bilder om du vill använda den funktionen. Detta går att göra i integritetsinställningarna.\",\n \"lit\": \"Leiskite prieigą prie Galerijos norėdami ja naudotis. Tai galite padaryti telefono privatumo nustatymuose.\",\n \"esp\": \"Permita el acceso a la Galería en la configuración de privacidad para usar esta función.\",\n \"nor\": \"Gi tilgang til Galleri i personverninnstillingene for å bruke denne funksjonen.\"\n },\n \"pleaseAllowAccessToCamera\": {\n \"eng\": \"Allow access to Camera in privacy settings to use the feature.\",\n \"pol\": \"Aby korzystać z tej funkcji, należy w ustawieniach prywatności zezwolić na dostęp do kamery.\",\n \"est\": \"Palun võimaldage ligipääs kaamerale (camera), kui soovite kasutada vastavat funktsiooni. Seda saab teha telefoni privaatsussätete alt.\",\n \"rus\": \"Пожалуйста, разрешите доступ к камере (Camera) если вы хотите использовать функцию приложения. Это можно сделать в настройках конфиденциальности.\",\n \"fin\": \"Salli pääsy kameraan, jos haluat käyttää ominaisuutta. Tämä voidaan sallia laitteesi tietosuoja-asetuksissa.\",\n \"lav\": \"Lūdzu, atļaujiet piekļuvi kamerai (Camera), ja vēlaties turpmāk izmantot lietotnes funkciju. To var izdarīt iestatījumos.\",\n \"swe\": \"Var god aktivera tillgång till kameran i integritetsinställningarna om du önskar använda denna funktion.\",\n \"lit\": \"Leiskite prieigą prie Kameros norėdami ja naudotis. Tai galite padaryti telefono privatumo nustatymuose.\",\n \"esp\": \"Permita el acceso a la cámara en la configuración de privacidad para usar la función.\",\n \"nor\": \"Gi tilgang til Kamera i personverninnstillingene for å bruke funksjonen.\"\n },\n \"firstNameMustBeLonger\": {\n \"eng\": \"First name must be longer\",\n \"pol\": \"Imię musi być dłuższe\",\n \"est\": \"Eesnimi peab olema pikem\",\n \"rus\": \"Имя должно быть длиннее\",\n \"fin\": \"Etunimen tulee olla pidempi\",\n \"lav\": \"Vārdam jābūt garākam\",\n \"swe\": \"Förnamn måste vara längre\",\n \"lit\": \"Vardas turi būti ilgesnis\",\n \"esp\": \"El nombre debe ser más largo\",\n \"nor\": \"Fornavnet må være lengre\"\n },\n \"lastNameMustBeLonger\": {\n \"eng\": \"Last name must be longer\",\n \"pol\": \"Nazwisko musi być dłuższe\",\n \"est\": \"Perekonnanimi peab olema pikem\",\n \"rus\": \"Фамилия должна быть длиннее\",\n \"fin\": \"Sukunimen tulee olla pidempi\",\n \"lav\": \"Uzvārdam jābūt garākam\",\n \"swe\": \"Efternamn måste vara längre\",\n \"lit\": \"Pavardė turi būti ilgesnė\",\n \"esp\": \"El apellido debe ser más largo\",\n \"nor\": \"Etternavnet må være lengre\"\n },\n \"administrators\": {\n \"eng\": \"Administrators\",\n \"pol\": \"Administratorzy\",\n \"est\": \"Administraatorid\",\n \"rus\": \"Администраторы\",\n \"fin\": \"Ylläpitäjät\",\n \"lav\": \"Administratori\",\n \"swe\": \"Administratörer\",\n \"lit\": \"Administratoriai\",\n \"esp\": \"Administradores\",\n \"nor\": \"Administratorer\"\n },\n \"remove\": {\n \"eng\": \"Remove\",\n \"pol\": \"Usuń\",\n \"est\": \"Eemalda\",\n \"rus\": \"Удалить\",\n \"fin\": \"Poista\",\n \"lav\": \"Noņemt\",\n \"swe\": \"Ta bort\",\n \"lit\": \"Pašalinti\",\n \"esp\": \"Remover\",\n \"nor\": \"Fjerne\"\n },\n \"serverAddress\": {\n \"eng\": \"Server address\",\n \"pol\": \"Adres serwera\",\n \"est\": \"Serveri aadress\",\n \"rus\": \"Адрес сервера\",\n \"fin\": \"Palvelimen osoite\",\n \"lav\": \"Servera adrese\",\n \"swe\": \"Serveradress\",\n \"lit\": \"Serverio adresas\",\n \"esp\": \"Dirección del servidor\",\n \"nor\": \"Server adresse\"\n },\n \"idCode\": {\n \"eng\": \"Personal ID code\",\n \"pol\": \"PESEL\",\n \"est\": \"Isikukood\",\n \"rus\": \"Персональный код\",\n \"fin\": \"Henkilökohtainen tunnus\",\n \"lav\": \"Personas kods\",\n \"swe\": \"Personnummer\",\n \"lit\": \"Asmens kodas\",\n \"esp\": \"Código de identificación personal\",\n \"nor\": \"Personlig ID-kode\"\n },\n \"can_not_go_back_to_free_plan\": {\n \"eng\": \"After choosing a plan you can't go back to Free Demo\",\n \"pol\": \"Po wybraniu nowego planu nie ma możliwości powrotu do wersji Demo.\",\n \"est\": \"Pärast paketi valimist ei saa minna tagasi tasuta demole\",\n \"rus\": \"После выбора плана вы не можете вернуться к бесплатному демо-плану\",\n \"fin\": \"Valittuasi maksullisen paketin et voi palata ilmaiseen kokeiluversioon\",\n \"lav\": \"Pēc pakalpojuma plāna izvēles, bezmaksas izmēģinājuma versiju atjaunot nav iespējams\",\n \"swe\": \"Efter att du har valt ett paket kan du inte återvända till Gratis Demo-versionen\",\n \"lit\": \"Pasirinkus planą, nebegalėsite gryžti prie Nemokamo Demo\",\n \"esp\": \"Después de elegir un plan, no puede volver a la demostración gratuita\",\n \"nor\": \"Etter å ha valgt en plan kan du ikke gå tilbake til gratis demo\"\n },\n \"databaseName\": {\n \"eng\": \"Database name\",\n \"pol\": \"Nazwa bazy danych\",\n \"est\": \"Andmebaasi nimi\",\n \"rus\": \"Имя базы данных\",\n \"fin\": \"Tietokannan nimi\",\n \"lav\": \"Datu bāzes nosaukums\",\n \"swe\": \"Databasnamn\",\n \"lit\": \"Duombazės pavadinimas\",\n \"esp\": \"Nombre de la base de datos\",\n \"nor\": \"Databasenavn\"\n },\n \"ogranization\": {\n \"eng\": \"Organisation\",\n \"pol\": \"Organizacja\",\n \"est\": \"Organisatsioon\",\n \"rus\": \"Организация\",\n \"fin\": \"Organisaatio\",\n \"lav\": \"Uzņēmums\",\n \"swe\": \"Organisation\",\n \"lit\": \"Organizacija\",\n \"esp\": \"Organización\",\n \"nor\": \"Organisasjon\"\n },\n \"plans\": {\n \"eng\": \"Plans\",\n \"pol\": \"Plany cenowe\",\n \"est\": \"Hinnastamine\",\n \"rus\": \"Планы\",\n \"fin\": \"Pakettivaihtoehdot\",\n \"lav\": \"Abonēšana\",\n \"swe\": \"Betalningspaket\",\n \"lit\": \"Planai\",\n \"esp\": \"Planes\",\n \"nor\": \"Planer\"\n },\n \"general\": {\n \"eng\": \"General\",\n \"pol\": \"Ogólne\",\n \"est\": \"Üldine\",\n \"rus\": \"Дополнительное\",\n \"fin\": \"Yleistä\",\n \"lav\": \"Vispārīgi\",\n \"swe\": \"Allmän\",\n \"lit\": \"Bendras\",\n \"esp\": \"General\",\n \"nor\": \"Generell\"\n },\n \"about\": {\n \"eng\": \"About us\",\n \"pol\": \"O nas\",\n \"est\": \"Meist\",\n \"rus\": \"О нас\",\n \"fin\": \"Meistä\",\n \"lav\": \"Par mums\",\n \"swe\": \"Om oss\",\n \"lit\": \"Apie\",\n \"esp\": \"Sobre nosotros\",\n \"nor\": \"Om oss\"\n },\n \"signout\": {\n \"eng\": \"Sign out\",\n \"pol\": \"Wyloguj\",\n \"est\": \"Logi välja\",\n \"rus\": \"Выйти\",\n \"fin\": \"Kirjaudu ulos\",\n \"lav\": \"Iziet\",\n \"swe\": \"Logga ut\",\n \"lit\": \"Atsijungti\",\n \"esp\": \"Desconectar\",\n \"nor\": \"Logg ut\"\n },\n \"deleteUser\": {\n \"eng\": \"Delete user\",\n \"pol\": \"Usuń użytkownika\",\n \"est\": \"Kustuta kasutaja\",\n \"rus\": \"Удалить пользователя\",\n \"fin\": \"Poista käyttäjä\",\n \"lav\": \"Dzēst lietotāju\",\n \"swe\": \"Ta bort användare\",\n \"lit\": \"Pašalinti vartotoją\",\n \"esp\": \"Borrar usuario\",\n \"nor\": \"Slett bruker\"\n },\n \"sendInvite\": {\n \"eng\": \"Add user\",\n \"pol\": \"Wyślij zaproszenie\",\n \"est\": \"Lisa kasutaja\",\n \"rus\": \"Отправить приглашение\",\n \"fin\": \"Lisää käyttäjä\",\n \"lav\": \"Nosūtīt uzaicinājumu\",\n \"swe\": \"Skicka inbjudan\",\n \"lit\": \"Siųsti kvietimą\",\n \"esp\": \"Enviar invitación\",\n \"nor\": \"Legg til bruker\"\n },\n \"feeWillBeRecalculated\": {\n \"eng\": \"Your monthly fee will be recalculated accordingly\",\n \"pol\": \"Twoja miesięczna opłata zostanie odpowiednio przeliczona.\",\n \"est\": \"Kui kutsute uusi kasutajaid, muutub teie kuutasu\",\n \"rus\": \"После добавления нового пользователя ваша ежемесячная плата будет пересчитана\",\n \"fin\": \"Kuukausiveloituksesi päivitetään automaattisesti sitä mukaa, kun kutsut uusia käyttäjiä\",\n \"lav\": \"Pievienojot jaunu lietotāju, Jūsu mēneša maksa tiks atbilstoši pārrēķināta\",\n \"swe\": \"Din månadskostnad kommer omräknas\",\n \"lit\": \"Mėnesinis mokestis bus perskaičiuotas atitinkamai.\",\n \"esp\": \"Su tarifa mensual se volverá a calcular en consecuencia\",\n \"nor\": \"Din månedlige avgift vil bli beregnet på nytt tilsvarende\"\n },\n \"pricing\": {\n \"eng\": \"Pricing\",\n \"pol\": \"Cennik\",\n \"est\": \"Hind\",\n \"rus\": \"Цены\",\n \"fin\": \"Hinnoittelu\",\n \"lav\": \"Cenrādis\",\n \"swe\": \"Prissättning\",\n \"lit\": \"Kainos\",\n \"esp\": \"Precios\",\n \"nor\": \"Prissetting\"\n },\n \"maxAllowance\": {\n \"eng\": \"Maximum daily allowance\",\n \"pol\": \"Maksymalna dzienna dieta\",\n \"est\": \"Päevarahade piirmäär\",\n \"rus\": \"Максимальные суточные для командировок\",\n \"fin\": \"Päivärahan enimmäismäärä\",\n \"lav\": \"Maksimālā dienas nauda komandējumiem\",\n \"swe\": \"Maximalt dagligt underhåll\",\n \"lit\": \"Maksimalūs dienpinigiai\",\n \"esp\": \"Subsidio máximo diario\",\n \"nor\": \"Maksimal dagpenger\"\n },\n \"emailCopiedToClipboard\": {\n \"eng\": \"Email copied to clipboard\",\n \"pol\": \"E-mail skopiowany do schowka\",\n \"est\": \"Aadress kopeeritud!\",\n \"rus\": \"Адрес эл-почты скопирован\",\n \"fin\": \"Sähköposti kopioitu leikepöydälle\",\n \"lav\": \"E-pasta adrese nokopēta\",\n \"swe\": \"E-post kopierad till urklipp!\",\n \"lit\": \"El. paštas nukopijuotas\",\n \"esp\": \"Correo electrónico copiado al portapapeles\",\n \"nor\": \"E-post kopiert til utklippstavlen\"\n },\n \"changePlan\": {\n \"eng\": \"Change plan\",\n \"pol\": \"Zmień plan\",\n \"est\": \"Muuda hinnastamist\",\n \"rus\": \"Изменить тариф\",\n \"fin\": \"Muuta suunnitelmaa\",\n \"lav\": \"Mainīt plānu\",\n \"swe\": \"Ändra paket\",\n \"lit\": \"Keisti planą\",\n \"esp\": \"Cambiar plan\",\n \"nor\": \"Endre plan\"\n },\n \"perUserPerMonth\": {\n \"eng\": \"per user per month\",\n \"pol\": \"za użytkownika miesięcznie\",\n \"est\": \"kasutaja / kuus\",\n \"rus\": \"на пользователя в месяц\",\n \"fin\": \"kuukaudessa per käyttäjä\",\n \"lav\": \"mēnesī par lietotāju\",\n \"swe\": \"per användare per månad\",\n \"lit\": \"vartotojui per mėnesį\",\n \"esp\": \"por usuario por mes\",\n \"nor\": \"per bruker per måned\"\n },\n \"robotDigitization\": {\n \"eng\": \"Robot digitisation\",\n \"pol\": \"Zrobotyzowana digitalizacja\",\n \"est\": \"Robot digiteerib\",\n \"rus\": \"Роботизированная оцифровка\",\n \"fin\": \"Automaattinen digitalisointi\",\n \"lav\": \"Robotizētā digitalizācija\",\n \"swe\": \"Robotdigitalisering\",\n \"lit\": \"Robotizuotas skaitmeninimas\",\n \"esp\": \"Digitalización de robots\",\n \"nor\": \"Robot digitalisering\"\n },\n \"n30DocumentsPerUserPerMonth\": {\n \"eng\": \"30 documents per user per month\",\n \"pol\": \"30 dokumentów na użytkownika miesięcznie\",\n \"est\": \"30 dokumenti / kasutaja / kuus\",\n \"rus\": \"30 документов на пользователя в месяц\",\n \"fin\": \"30 dokumenttia kuukaudessa per käyttäjä\",\n \"lav\": \"30 dokumentu mēnesī katram lietotājam\",\n \"swe\": \"30 dokument per användare per månad\",\n \"lit\": \"30 dokumentų vartotojui per mėnesį\",\n \"esp\": \"30 documentos por usuario al mes\",\n \"nor\": \"30 dokumenter per bruker per måned\"\n },\n \"humanVerifiedDigitzation\": {\n \"eng\": \"Human verified digitisation\",\n \"pol\": \"Digitalizacja zweryfikowana przez człowieka\",\n \"est\": \"Inimese poolt kontrollitud\",\n \"rus\": \"Оцифровка, подтвержденная человеком\",\n \"fin\": \"Ihmisen varmistava digitalisointi\",\n \"lav\": \"Pilna servisa digitalizācija\",\n \"swe\": \"Mänskligt verifierad digitalisering\",\n \"lit\": \"Žmogaus tikrinamas skaitmeninimas\",\n \"esp\": \"Digitalización verificada por humanos\",\n \"nor\": \"Menneskelig bekreftet digitalisering\"\n },\n \"unlimitedDocuments\": {\n \"eng\": \"Flexible payment, pay only for usage\",\n \"pol\": \"Nieograniczona ilość dokumentów\",\n \"est\": \"Paindlik plaan, tasud ainult teenuse kasutamise eest\",\n \"rus\": \"Неограниченные документы\",\n \"fin\": \"Rajoittamaton määrä dokumentteja\",\n \"lav\": \"Neierobežots dokumentu skaits\",\n \"swe\": \"Obegränsat antal dokument\",\n \"lit\": \"Lankstus mokestis, mokėkite tik už naudojimą\",\n \"esp\": \"Documentos Ilimitados\",\n \"nor\": \"Ubegrensede dokumenter\"\n },\n \"unlimitedUsers\": {\n \"eng\": \"Unlimited users\",\n \"pol\": \"Nieograniczona liczba użytkowników\",\n \"est\": \"Piiramatult kasutajaid\",\n \"rus\": \"Неограниченные пользователи\",\n \"fin\": \"Rajoittamaton määrä käyttäjiä\",\n \"lav\": \"Neierobežots lietotāju skaits\",\n \"swe\": \"Obegränsat antal användare\",\n \"lit\": \"Neribotas vartotojų skaičius\",\n \"esp\": \"Usuarios Ilimitados\",\n \"nor\": \"Ubegrenset antall brukere\"\n },\n \"platinum\": {\n \"eng\": \"Precision\",\n \"pol\": \"Precision\",\n \"est\": \"Täpsus\",\n \"rus\": \"Точность\",\n \"fin\": \"Tarkkuus\",\n \"lav\": \"Precizitāte\",\n \"swe\": \"Platina\",\n \"lit\": \"Tikslumas\",\n \"esp\": \"Platino\",\n \"nor\": \"Platinum\"\n },\n \"gold\": {\n \"eng\": \"Robo\",\n \"pol\": \"Robo\",\n \"est\": \"Robo\",\n \"rus\": \"Робо\",\n \"fin\": \"Robo\",\n \"lav\": \"Robo\",\n \"swe\": \"Guld\",\n \"lit\": \"Robo\",\n \"esp\": \"Oro\",\n \"nor\": \"Gull\"\n },\n \"perDocument\": {\n \"eng\": \"per document\",\n \"pol\": \"za dokument\",\n \"est\": \"dokument\",\n \"rus\": \"за документ\",\n \"fin\": \"per dokumentti\",\n \"lav\": \"par dokumentu\",\n \"swe\": \"per dokument\",\n \"lit\": \"per dokumentą\",\n \"esp\": \"por documento\",\n \"nor\": \"per dokument\"\n },\n \"100DocumentsPerUserPerMonth\": {\n \"eng\": \"100 documents per user per month\",\n \"pol\": \"100 dokumentów na użytkownika miesięcznie, 24,99 za kolejne 100 dokumentów\",\n \"est\": \"100 dokumenti / kasutaja / kuus\",\n \"rus\": \"100 документов на пользователя в месяц\",\n \"fin\": \"100 dokumenttia kuukaudessa per käyttäjä\",\n \"lav\": \"100 dokumentu mēnesī katram lietotājam\",\n \"swe\": \"100 dokument per användare per månad\",\n \"lit\": \"100 dokumentų vartotojui per mėnesį\",\n \"esp\": \"100 documentos por usuario al mes\",\n \"nor\": \"100 dokumenter per bruker per måned\"\n },\n \"5DocumentsPerUserPerMonth\": {\n \"eng\": \"5 documents, only one user\",\n \"pol\": \"5 dokumentów, tylko jeden użytkownik\",\n \"est\": \"5 dokumenti, ainult üks kasutaja\",\n \"rus\": \"5 документов, только один пользователь\",\n \"fin\": \"5 dokumenttia kuukaudessa per käyttäjä\",\n \"lav\": \"5 dokumenti mēnesī, viens lietotājs\",\n \"swe\": \"5 dokument, en användare\",\n \"lit\": \"5 dokumentai, tik vienas vartotojas\",\n \"esp\": \"5 documentos, solo un usuario\",\n \"nor\": \"5 dokumenter, kun én bruker\"\n },\n \"currentPlan\": {\n \"eng\": \"Current plan\",\n \"pol\": \"Aktualny plan\",\n \"est\": \"Valitud hinnastamine\",\n \"rus\": \"Текущий план\",\n \"fin\": \"Nykyinen suunnitelma\",\n \"lav\": \"Šobrīd aktīvs\",\n \"swe\": \"Nuvarande paket\",\n \"lit\": \"Dabartinis planas\",\n \"esp\": \"Plan Actual\",\n \"nor\": \"Gjeldende plan\"\n },\n \"startTime\": {\n \"eng\": \"Start of travel time\",\n \"pol\": \"Początek podróży\",\n \"est\": \"Lähetuse alguse kellaaeg\",\n \"rus\": \"Начало командировки\",\n \"fin\": \"Alkamisaika\",\n \"swe\": \"Resans starttid\",\n \"lit\": \"Kelionės pradžia\",\n \"lav\": \"Sākuma laiks\",\n \"esp\": \"Inicio del tiempo de viaje\",\n \"nor\": \"Start av reisetid\"\n },\n \"endTime\": {\n \"eng\": \"End of travel time\",\n \"pol\": \"Koniec podróży\",\n \"est\": \"Lähetuse lõpu kellaaeg\",\n \"rus\": \"Конец командировки\",\n \"fin\": \"Päättymisaika\",\n \"swe\": \"Resans sluttid\",\n \"lit\": \"Kelionės pabaiga\",\n \"lav\": \"Beigu laiks\",\n \"esp\": \"Fin del tiempo de viaje\",\n \"nor\": \"Slutt på reisetid\"\n },\n \"freeMealIncluded\": {\n \"eng\": \"1 free meal included a day\",\n \"pol\": \"1 posiłek dziennie\",\n \"est\": \"Sisaldab 1 tasuta lõunat päevas\",\n \"rus\": \"Включено 1 питание в день\",\n \"fin\": \"1 ilmainen ateria päivässä\",\n \"swe\": \"1 gratis måltid per dag inkluderad\",\n \"lit\": \"1 nemokamas patiekalas per dieną\",\n \"lav\": \"Iekļauta 1 ēdināšanas reize dienā\",\n \"esp\": \"1 comida gratis incluida al día\",\n \"nor\": \"1 gratis måltid inkludert per dag\"\n },\n \"confirm\": {\n \"eng\": \"Confirm\",\n \"pol\": \"Potwierdź\",\n \"est\": \"Kinnita\",\n \"rus\": \"Подтвердить\",\n \"fin\": \"Hyväksy\",\n \"lav\": \"Apstiprināt\",\n \"swe\": \"Bekräfta\",\n \"lit\": \"Patvirtinti\",\n \"esp\": \"Confirmar\",\n \"nor\": \"Bekrefte\"\n },\n \"upgradeToGold\": {\n \"eng\": \"Upgrade to Robo\",\n \"pol\": \"Przejdź na plan Robo\",\n \"est\": \"Uuendage Robo plaaniks\",\n \"rus\": \"Выбрать план Робо\",\n \"fin\": \"Vaihda Robo-pakettiin\",\n \"lav\": \"Pāriet uz Robo plānu\",\n \"swe\": \"Uppgradera till Guld-paketet\",\n \"lit\": \"Pereiti prie plano Robo\",\n \"esp\": \"Actualizar al plan Gold\",\n \"nor\": \"Oppgrader til Gull-plan\"\n },\n \"upgradeToPlatinum\": {\n \"eng\": \"Upgrade to Precision\",\n \"pol\": \"Przejdź na plan Precision\",\n \"est\": \"Uuendage Täpsus plaaniks\",\n \"rus\": \"Выбрать план Точность\",\n \"fin\": \"Vaihda Tarkkuus-pakettiin\",\n \"lav\": \"Pāriet uz Precizitātes plānu\",\n \"swe\": \"Uppgradera till Platina-paketet\",\n \"lit\": \"Pereiti prie plano Tikslumas\",\n \"esp\": \"Actualice al plan Platinum\",\n \"nor\": \"Oppgrader til Platinum-abonnement\"\n },\n \"upgradeToPayAsYouGo\": {\n \"eng\": \"Upgrade to plan Pay as you go\",\n \"pol\": \"Przejdź na plan: Pay as you go\",\n \"est\": \"Uuendasite oma paketi Tükipõhiseks paketiks\",\n \"rus\": \"Перейти на план \\\"Оплата по факту\\\"\",\n \"fin\": \"Vaihda Käytön mukaan -pakettiin\",\n \"lav\": \"Pāriet uz plānu \\\"Maksā, kad izmanto\\\"\",\n \"swe\": \"Uppgradera till Pay as you go-paketet\",\n \"lit\": \"Pereiti prie plano Pay as you go\",\n \"esp\": \"Actualice al plan Pay as you go\",\n \"nor\": \"Oppgrader til plan Betal mens du går\"\n },\n \"onceConfirmedCannotGoBack\": {\n \"eng\": \"Once confirmed, you cannot go back to Free Demo.\",\n \"pol\": \"Po potwierdzeniu nie można powrócić do darmowej wersji Demo.\",\n \"est\": \"Pärast paketi valimist ei saa minna tagasi tasuta paketile\",\n \"rus\": \"После того, как вы утвердите изменение плана, вы не сможете вернуться к бесплатной пробной версии.\",\n \"fin\": \"Kun hyväksyt maksusuunnitelman et voi enää käyttää ilmaisversiota\",\n \"lav\": \"Kolīdz apstiprināsiet plāna maiņu, vairs nevarēsiet atgriezties pie bezmaksas izmēģinājuma versijas.\",\n \"swe\": \"När du väl har bekräftat kan du inte återvända till gratisdemon.\",\n \"lit\": \"Patvirtinus nebegalėsite grįžti prie Nemokamo Demo\",\n \"esp\": \"Una vez confirmado, no puede volver a la demostración gratuita.\",\n \"nor\": \"Når du er bekreftet, kan du ikke gå tilbake til gratis demo.\"\n },\n \"planChanged\": {\n \"eng\": \"Plan changed!\",\n \"pol\": \"Twój plan cenowy został zmieniony!\",\n \"est\": \"Hinnastamine muudetud!\",\n \"rus\": \"План изменен!\",\n \"fin\": \"Maksusuunnitelma muutettu!\",\n \"lav\": \"Plāns nomainīts!\",\n \"swe\": \"Betalningspaket har ändrats!\",\n \"lit\": \"Planas pakeistas!\",\n \"esp\": \"¡Plan cambiado!\",\n \"nor\": \"Plan endret!\"\n },\n \"howCanWeHelp\": {\n \"eng\": \"How can we help you?\",\n \"pol\": \"Jak możemy pomóc?\",\n \"est\": \"Kuidas me saame Teid aidata?\",\n \"rus\": \"Как мы можем помочь?\",\n \"fin\": \"Miten voimme auttaa?\",\n \"lav\": \"Kā varam Jums palīdzēt?\",\n \"swe\": \"Hur kan vi hjälpa dig?\",\n \"lit\": \"Kaip galėtume jums padėti?\",\n \"esp\": \"Cómo podemos ayudarte?\",\n \"nor\": \"Hvordan kan vi hjelpe deg?\"\n },\n \"weWillGetBackToYou\": {\n \"eng\": \"Message sent. We'll get back to you within 24h.\",\n \"pol\": \"Wiadomość wysłana. Odpowiemy w ciągu 24h.\",\n \"est\": \"Teade esitatud. Võtame ühendust 24 tunni jooksul.\",\n \"rus\": \"Сообщение отправлено! Мы свяжемся с вами в течении 24 часов.\",\n \"fin\": \"Viestisi on lähetetty. Olemme yhteydessä seuraavan 24 tunnin aikana\",\n \"lav\": \"Ziņojums nosūtīts! Mēs ar Jums sazināsimies 24h laikā.\",\n \"swe\": \"Meddelande skickat. Vi återkommer inom 24h.\",\n \"lit\": \"Žinutė išsiųsta. Atsakysime per 24 valandas.\",\n \"esp\": \"Mensaje enviado. Nos pondremos en contacto contigo en un plazo de 24 horas.\",\n \"nor\": \"Melding sendt. Vi kommer tilbake til deg innen 24 timer.\"\n },\n \"invitationSent\": {\n \"eng\": \"Invitation sent!\",\n \"pol\": \"Zaproszenie wysłane!\",\n \"est\": \"Kutse on edukalt saadetud!\",\n \"rus\": \"Приглашение отправлено!\",\n \"fin\": \"Kutsu lähetetty!\",\n \"lav\": \"Uzaicinājums nosūtīts!\",\n \"swe\": \"Inbjudan skickad!\",\n \"lit\": \"Pakvietimas išsiųstas!\",\n \"esp\": \"¡Invitación enviada!\",\n \"nor\": \"Invitasjon sendt!\"\n },\n \"invitationLanguage\": {\n \"eng\": \"Invitation language\",\n \"pol\": \"Język zaproszenia\",\n \"est\": \"Kutse edastamise keel\",\n \"rus\": \"Язык приглашения\",\n \"fin\": \"Kutsun kieli\",\n \"lav\": \"Uzaicinājuma valoda\",\n \"swe\": \"Inbjudningsspråk\",\n \"lit\": \"Pakvietimo kalba\",\n \"esp\": \"Idioma de la invitación\",\n \"nor\": \"Invitasjonsspråk\"\n },\n \"onlyAdminsCanEditUsers\": {\n \"eng\": \"You are not an admin. Only admins can see and edit users.\",\n \"pol\": \"Nie jesteś administratorem. Tylko administratorzy mogą dodawać i usuwać użytkowników.\",\n \"est\": \"Sa ei ole admin. Teisi kasutajaid saavad näha ja muuta vaid adminid.\",\n \"rus\": \"Только администратор может добавлять или удалять пользователей.\",\n \"fin\": \"Vain ylläpitäjä voi lisätä ja poistaa käyttäjiä\",\n \"lav\": \"Tikai administrators var pievienot vai dzēst lietotājus.\",\n \"swe\": \"Du är inte en administratör. Endast administratörer kan se och ändra användare.\",\n \"lit\": \"Jūs nesate administratorius. Tik administratoriai gali matyti ir keisti naudotojus.\",\n \"esp\": \"¿Necesita agregar o eliminar usuarios? Solo los administradores pueden agregar o eliminar usuarios.\",\n \"nor\": \"Du er ikke administrator. Bare administratorer kan se og redigere brukere.\"\n },\n \"add\": {\n \"eng\": \"Add\",\n \"pol\": \"Dodaj\",\n \"est\": \"Lisa\",\n \"rus\": \"Добавить\",\n \"fin\": \"Lisää\",\n \"lav\": \"Pievienot\",\n \"swe\": \"Lägg till\",\n \"lit\": \"Pridėti\",\n \"esp\": \"Agregar\",\n \"nor\": \"Legge til\"\n },\n \"continue\": {\n \"eng\": \"Continue\",\n \"pol\": \"Kontynuuj\",\n \"est\": \"Jätka\",\n \"rus\": \"Продолжить\",\n \"fin\": \"Jatka\",\n \"lav\": \"Turpināt\",\n \"swe\": \"Fortsätt\",\n \"lit\": \"Tęsti\",\n \"esp\": \"Continuar\",\n \"nor\": \"Fortsette\"\n },\n \"alreadyMemberOf\": {\n \"eng\": \"You're already a member of\",\n \"pol\": \"Jesteś już użytkownikiem\",\n \"est\": \"Sa oled juba liitunud ettevõttega\",\n \"rus\": \"Вы уже зарегистрированы в компании\",\n \"fin\": \"Olet jo jäsen\",\n \"lav\": \"Jūs jau esat reģistrēts uzņēmumā\",\n \"swe\": \"Du är redan medlem av\",\n \"lit\": \"Jūs jau esate narys\",\n \"esp\": \"Ya eres miembro de\",\n \"nor\": \"Du er allerede medlem av\"\n },\n \"redirectToCompany\": {\n \"eng\": \"Redirect to company?\",\n \"pol\": \"Przekierować do firmy?\",\n \"est\": \"Suuna edasi ettevõttesse?\",\n \"rus\": \"Перенаправить в компанию?\",\n \"fin\": \"Uudelleenohjaa yritykseen?\",\n \"lav\": \"Vai doties uz uzņēmumu?\",\n \"swe\": \"Omdirigera till företaget?\",\n \"lit\": \"Persiųsti įmonei?\",\n \"esp\": \"¿Redirigir a la empresa?\",\n \"nor\": \"Omdirigere til selskapet?\"\n },\n \"selectExistingCountry\": {\n \"eng\": \"Please select existing country\",\n \"pol\": \"Wybierz kraj\",\n \"est\": \"Palun vali\",\n \"rus\": \"Пожалуйста, выберите страну\",\n \"fin\": \"Valitse\",\n \"lav\": \"Lūdzu, izvēlieties valsti\",\n \"swe\": \"Var god välj befintligt land\",\n \"lit\": \"Pasirinkite egzistuojančią valstybę\",\n \"esp\": \"Seleccione un país existente\",\n \"nor\": \"Velg eksisterende land\"\n },\n \"activate\": {\n \"eng\": \"Activate\",\n \"pol\": \"Aktywuj\",\n \"est\": \"Aktiveeri\",\n \"rus\": \"Активировать\",\n \"fin\": \"Aktivoi\",\n \"lav\": \"Aktivizēt\",\n \"swe\": \"Aktivera\",\n \"lit\": \"Aktyvuoti\",\n \"esp\": \"Activar\",\n \"nor\": \"Aktiver\"\n },\n \"einvoicingPendingRIK\": {\n \"eng\": \"E-invoicing confirmation pending in Company Registration Portal\",\n \"pol\": \"E-fakturowanie oczekuje na potwierdzenie w Portalu Rejestracji Firmy\",\n \"est\": \"E-arvete vastuvõtmine ootab kinnitamist Ettevõtjaportaalis.\",\n \"rus\": \"Электронное выставление счетов ожидает подтверждения на портале регистрации компаний\",\n \"fin\": \"Verkkolaskutus odottaa hyväksyntää yritysrekisteriportaalissa\",\n \"swe\": \"E-fakturering väntar på bekräftelse i Företagsregistreringsportalen.\",\n \"lit\": \"E. sąskaitos laukia patvirtinimo Įmonių Registravimo Portale\",\n \"lav\": \"E-rēķinu aktivizēšana gaida apstiprinājumu Uzņēmumu Reģistra portālā.\",\n \"esp\": \"Confirmación de facturación electrónica pendiente en el Portal de registro de la empresa\",\n \"nor\": \"E-faktureringsbekreftelse venter i Firmaregistreringsportal\"\n },\n \"einvoicingInactiveRIK\": {\n \"eng\": \"E-invoicing activation is available. Company representative needs to confirm it on the Company Registration Portal.\",\n \"pol\": \"Aktywacja e-fakturowania jest dostępna. Przedstawiciel firmy musi to potwierdzić na Portalu Rejestracji Firm.\",\n \"est\": \"Teil on võimalik aktiveerida E-arvete vastuvõtmine. Pärast aktiveerimist tuleb ettevõtte juhatuse liikmel kinnitada Ettevõtjaportaalis E-arvete vastuvõtmine.\",\n \"rus\": \"Вы можете запросить активацию электронного выставления счетов. Вам потребуется, чтобы представитель компании зашел на портал регистрации компании и подтвердил это.\",\n \"fin\": \"Voit pyytää verkkolaskutuksen aktivointia. Yrityksesi edustajan tulee hyväksyä aktivointi yritysrekisteriportaalissa.\",\n \"swe\": \"Aktivering av e-fakturor är tillgängligt. En företagsrepresent behöver bekräfta detta i Företagsregistreringsportalen.\",\n \"lit\": \"Galite aktyvuoti e. sąskaitų išrašymą. Įmonės atstovas turi tai patvirtinti Įmonių Registravimo Portale.\",\n \"lav\": \"Jūs varat pieprasīt e-rēķinu aktivizēšanu. Jums būs nepieciešams apstiprināt pieprasījumu Uzņēmumu Reģistra portālā.\",\n \"esp\": \"La activación de facturación electrónica está disponible. El representante de la empresa debe confirmarlo en el Portal de registro de la empresa.\",\n \"nor\": \"Aktivering av e-faktura er tilgjengelig. Firmarepresentant må bekrefte det på firmaregistreringsportalen.\"\n },\n \"einvoicingActiveRIK\": {\n \"eng\": \"E-invoicing is activated! E-invoices sent to your company will be automatically forwarded to your accounting software.\",\n \"pol\": \"E-fakturowanie jest aktywne! E-faktury wysyłane do Twojej firmy będą automatycznie przekazywane do Twojego programu księgowego.\",\n \"est\": \"E-arvete vastuvõtmine on aktiveeritud! CostPocket võtab vastu ettevõttele saadetud e-arved ja saadab need automaatselt edasi teie raamatupidamistarkvarasse.\",\n \"rus\": \"Электронное выставление счетов активировано! Э-счета, отправленные вашей компании, будут получены CostPocket и автоматически отправлены в вашу бухгалтерскую программу.\",\n \"fin\": \"Verkkolaskutus on aktivoitu! CostPocket vastaanottaa yrityksellesi lähetetyt sähköiset laskut ja välittää ne automaattisesti kirjanpito-ohjelmistoosi.\\\"\",\n \"lav\": \"E-rēķini ir aktivizēti! Jūsu izsūtītie e-rēķini tiks automātiski pārsūtīti uz Jūsu grāmatvedību.\",\n \"swe\": \"E-fakturering är aktiverat! E-fakturor som skickats till ditt företag kommer att automatiskt vidarebefodras till ditt bokföringsprogram.\",\n \"lit\": \"E. sąskaitų išrašymas aktyvuotas! Jūsų įmonei siunčiamos e. sąskaitos bus automatiškai persiųstos į jūsų apskaitos programą.\",\n \"esp\": \"¡La facturación electrónica está activada! Las facturas electrónicas enviadas a su empresa se reenviarán automáticamente a su software de contabilidad.\",\n \"nor\": \"E-fakturering er aktivert! E-fakturaer sendt til din bedrift blir automatisk videresendt til regnskapsprogrammet ditt.\"\n },\n \"einvoices\": {\n \"eng\": \"E-invoices\",\n \"pol\": \"E-faktury\",\n \"est\": \"E-arved\",\n \"rus\": \"Э-счета\",\n \"fin\": \"E-laskut\",\n \"swe\": \"E-fakturor\",\n \"lit\": \"E. sąskaitos\",\n \"lav\": \"E-rēķini\",\n \"esp\": \"Facturas electrónicas\",\n \"nor\": \"E-fakturaer\"\n },\n \"100invoicesMonthly\": {\n \"eng\": \"100 e-invoices/month\",\n \"pol\": \"100 e-faktur / miesiąc\",\n \"est\": \"100 e-arvet/kuus\",\n \"rus\": \"100 э-счетов в месяц\",\n \"fin\": \"100 e-laskua/kuussa\",\n \"swe\": \"100 e-fakturor/månad\",\n \"lit\": \"100 e. sąskaitų per mėnesį\",\n \"lav\": \"100 e-rēķini/mēnesī\",\n \"esp\": \"100 Facturas electrónicas/mes\",\n \"nor\": \"100 e-fakturaer/mnd\"\n },\n \"perMonth\": {\n \"eng\": \"month\",\n \"pol\": \"miesiąc\",\n \"est\": \"kuus\",\n \"rus\": \"в месяц\",\n \"fin\": \"kuussa\",\n \"lav\": \"mēnesī\",\n \"swe\": \"månad\",\n \"lit\": \"mėnuo\",\n \"esp\": \"mes\",\n \"nor\": \"måned\"\n },\n \"einvoicing\": {\n \"eng\": \"E-invoicing\",\n \"pol\": \"e-fakturowanie\",\n \"est\": \"E-arved\",\n \"rus\": \"Электронные счета-фактуры\",\n \"fin\": \"Verkkolaskutus\",\n \"swe\": \"E-fakturering\",\n \"lit\": \"E. sąskaitos\",\n \"lav\": \"E-rēķini\",\n \"esp\": \"Facturación Electrónica\",\n \"nor\": \"E-fakturering\"\n },\n \"getStarted\": {\n \"eng\": \"Let's get started\",\n \"pol\": \"Zaczynamy\",\n \"est\": \"Hakkame peale\",\n \"rus\": \"Начнем\",\n \"fin\": \"Aloitetaan\",\n \"lav\": \"Sākam\",\n \"swe\": \"Sätt igång\",\n \"lit\": \"Pradėkime\",\n \"esp\": \"Empecemos\",\n \"nor\": \"La oss komme i gang\"\n },\n \"pleaseConfirmEmail\": {\n \"eng\": \"Enter your email to continue\",\n \"pol\": \"Aby kontynuować potwierdź swój adres e-mail\",\n \"est\": \"Palun kinnitage oma e-maili aadress\",\n \"rus\": \"Пожалуйста, подтвердите свой адрес электронной почты, чтобы продолжить\",\n \"fin\": \"Vahvista sähköpostiosoitteesi\",\n \"lav\": \"Lai turpinātu, ievadiet savu e-pastu un nospiediet \\\"Turpināt\\\"\",\n \"swe\": \"Var god bekräfta din e-post för att fortsätta\",\n \"lit\": \"Įveskite savo el. pašto adresą\",\n \"esp\": \"Confirme su correo electrónico para continuar\",\n \"nor\": \"Vennligst bekreft e-posten din for å fortsette\"\n },\n \"whenContinuingAcceptTerms\": {\n \"eng\": \"By tapping continue, you accept our\",\n \"pol\": \"Klikając Kontynuuj akceptujesz\",\n \"est\": \"Jätkates kinnitate, et teile sobivad meie\",\n \"rus\": \"Продолжая регистрироваться, вы подтверждаете, что соглашаетесь с нашими\",\n \"fin\": \"Painaessasi jatka, hyväksyt meidän\",\n \"lav\": \"Turpinot reģistrāciju, Jūs apstiprināt, ka piekrītat mūsu\",\n \"swe\": \"Genom att fortsätta accepter du vår\",\n \"lit\": \"Paspausdami Tęsti, jūs sutinkate su\",\n \"esp\": \"Al tocar continuar, acepta nuestro\",\n \"nor\": \"Ved å trykke på fortsett godtar du vår\"\n },\n \"toTermsOfService\": {\n \"eng\": \"Terms of Service\",\n \"pol\": \"Warunki świadczenia usług\",\n \"est\": \"Kasutustingimused\",\n \"rus\": \"условиями использования\",\n \"fin\": \"Käyttöehdot\",\n \"lav\": \"pakalpojumu sniegšanas noteikumiem\",\n \"swe\": \"Användarvillkor\",\n \"lit\": \"Naudojimo sąlygomis\",\n \"esp\": \"Términos de Servicio\",\n \"nor\": \"Vilkår for bruk\"\n },\n \"and\": {\n \"eng\": \"and\",\n \"pol\": \"i\",\n \"est\": \"ja\",\n \"rus\": \"и\",\n \"fin\": \"ja\",\n \"lav\": \"un\",\n \"swe\": \"och\",\n \"lit\": \"ir\",\n \"esp\": \"y\",\n \"nor\": \"og\"\n },\n \"toPrivacyPolicy\": {\n \"eng\": \"Privacy Policy\",\n \"pol\": \"Politykę prywatności\",\n \"est\": \"Privaatsuspoliitika\",\n \"rus\": \"политикой конфиденциальности\",\n \"fin\": \"Tietosuojakäytäntö\",\n \"lav\": \"privātuma politikai\",\n \"swe\": \"Integritetspolicy\",\n \"lit\": \"Privatumo politika\",\n \"esp\": \"Política de privacidad\",\n \"nor\": \"Personvernerklæring\"\n },\n \"checkEmail\": {\n \"eng\": \"Check your email\",\n \"pol\": \"Sprawdź swój email\",\n \"est\": \"Vaadake oma e-maili\",\n \"rus\": \"Проверьте свою электронную почту\",\n \"fin\": \"Tarkista sähköpostisi\",\n \"lav\": \"Pārbaudiet e-pastu\",\n \"swe\": \"Kontrollera din e-post\",\n \"lit\": \"Pasitikrinkite el. paštą\",\n \"esp\": \"Revise su correo electrónico\",\n \"nor\": \"Sjekk e-posten\"\n },\n \"weSentInstructionsHowToConfirmEmail\": {\n \"eng\": \"Check your inbox to confirm the email address.\",\n \"pol\": \"Sprawdź swoją skrzynkę, aby potwierdzić adres e-mail.\",\n \"est\": \"Saatsime teile e-maili. Seal on link, millega tõestategi, et see on teie aadress.\",\n \"rus\": \"Мы отправили эл-письмо с инструкциями по подтверждению вашего электронного адреса.\",\n \"fin\": \"Lähetimme sinulle sähköpostin, jonka avulla voit todistaa sähköpostiosoitteesi\",\n \"lav\": \"Mēs Jums nosūtījām e-pastu ar instrukciju, kā apstiprināt e-pasta adresi.\",\n \"swe\": \"Kolla din inkorg för att bekräfta e-postadressen.\",\n \"lit\": \"Patikrinkite savo pašto dėžutę ir patvirtinkite el. pašto adresą.\",\n \"esp\": \"Revise su bandeja de entrada para confirmar la dirección de correo electrónico.\",\n \"nor\": \"Sjekk innboksen for å bekrefte e-postadressen.\"\n },\n \"didntGetEmail\": {\n \"eng\": \"Didn't get the email?\",\n \"pol\": \"Wiadomość e-mail nie dotarła?\",\n \"est\": \"Ei saanud e-maili?\",\n \"rus\": \"Не получили письмо?\",\n \"fin\": \"Etkö saanutkaan sähköpostia?\",\n \"lav\": \"Nesaņēmāt e-pastu?\",\n \"swe\": \"Har du inte fått e-posten?\",\n \"lit\": \"Negavote el. laiško?\",\n \"esp\": \"¿No ha recibido el correo electrónico?\",\n \"nor\": \"Fikk du ikke e-posten?\"\n },\n \"almostDone\": {\n \"eng\": \"Email address is confirmed. Let us know your name:\",\n \"pol\": \"Adres e-mail został potwierdzony. Daj nam znać, jak się nazywasz:\",\n \"est\": \"E-posti aadress on kinnitatud. Andke meile teada oma nimi:\",\n \"rus\": \"Адрес электронной почты подтвержден. Введите ваше имя:\",\n \"fin\": \"Melkein valmista\",\n \"lav\": \"E-pasta adrese ir apstiprināta. Norādiet savu vārdu:\",\n \"swe\": \"Nästan färdig...\",\n \"lit\": \"E-pašto adresas patvirtintas. Įveskite vardą ir pavardę:\",\n \"esp\": \"Casi terminado ...\",\n \"nor\": \"E-postadressen er bekreftet. Gi oss beskjed om navnet ditt:\"\n },\n \"choosePassword\": {\n \"eng\": \"Set a password of at least 10 characters\",\n \"pol\": \"Ustaw hasło składające się z co najmniej 10 znaków\",\n \"est\": \"Määrake vähemalt 10 tähemärgi pikkune parool\",\n \"rus\": \"Создайте пароль, состоящий не менее чем из 10 символов\",\n \"fin\": \"Valitse salasana\",\n \"lav\": \"Izveidojiet paroli ar vismaz 10 simboliem\",\n \"swe\": \"Välj lösenord\",\n \"lit\": \"Įveskite slaptažodį iš mažiausiai 10 simbolių\",\n \"esp\": \"Y elija una contraseña\",\n \"nor\": \"Angi et passord på minst 10 tegn\"\n },\n \"signupCompleted\": {\n \"eng\": \"Sign up completed!\",\n \"pol\": \"Rejestracja zakończona!\",\n \"est\": \"Registreerumine õnnestus!\",\n \"rus\": \"Регистрация завершена!\",\n \"fin\": \"Rekisteröityminen onnistui!\",\n \"lav\": \"Reģistrācija ir galā!\",\n \"swe\": \"Registrering klar!\",\n \"lit\": \"Registracija baigta!\",\n \"esp\": \"¡Registro completado!\",\n \"nor\": \"Påmelding fullført!\"\n },\n \"enterPasswordToLogin\": {\n \"eng\": \"Enter password\",\n \"pol\": \"Wprowadź hasło\",\n \"est\": \"Sisesta parool\",\n \"rus\": \"Введите свой пароль\",\n \"fin\": \"Salasana\",\n \"lav\": \"Ievadiet Jūsu paroli\",\n \"swe\": \"Ange lösenord\",\n \"lit\": \"Įveskite slaptažodį\",\n \"esp\": \"Introducir la contraseña\",\n \"nor\": \"Oppgi passord\"\n },\n \"resetPassword\": {\n \"eng\": \"Reset password\",\n \"pol\": \"Zresetuj hasło\",\n \"est\": \"Uuenda parooli\",\n \"rus\": \"Сброс пароля\",\n \"fin\": \"Nollaa salasana\",\n \"lav\": \"Atjaunot paroli\",\n \"swe\": \"Återställ lösenord\",\n \"lit\": \"Nustatyti slaptažodį iš naujo\",\n \"esp\": \"Restablecer la contraseña\",\n \"nor\": \"tilbakestille passord\"\n },\n \"recoveryLinkSent\": {\n \"eng\": \"Recovery link sent\",\n \"pol\": \"Wysłano link do odzyskania hasła\",\n \"est\": \"Parooli uuendamise link on saadetud\",\n \"rus\": \"Ссылка для восстановления пароля отправлена\",\n \"fin\": \"Linkki salasanan muuttamiseen on lähetetty\",\n \"lav\": \"Paroles atjaunošanas saite ir nosūtīta\",\n \"swe\": \"Återställningslänk skickad\",\n \"lit\": \"Atkūrimo nuoroda išsiųsta\",\n \"esp\": \"Enlace de recuperación enviado\",\n \"nor\": \"Gjenopprettingslenken er sendt\"\n },\n \"signupWith\": {\n \"eng\": \"Sign up with\",\n \"pol\": \"Zaloguj się przy pomocy\",\n \"est\": \"Registreeru\",\n \"rus\": \"Войти с\",\n \"fin\": \"Liity organisaatioon\",\n \"lav\": \"Ienākt ar\",\n \"swe\": \"Registrera med\",\n \"lit\": \"Registruokitės su\",\n \"esp\": \"Registrarse con\",\n \"nor\": \"Sign up with\"\n },\n \"changePassword\": {\n \"eng\": \"Change password\",\n \"pol\": \"Zmień hasło\",\n \"est\": \"Vaheta parooli\",\n \"rus\": \"Изменить пароль\",\n \"fin\": \"Muuta salasana\",\n \"lav\": \"Mainīt paroli\",\n \"swe\": \"Ändra lösenord\",\n \"lit\": \"Keisti slaptažodį\",\n \"esp\": \"Cambiar contraseña\",\n \"nor\": \"Bytt passord\"\n },\n \"unableToResetPasswordContactSupport\": {\n \"eng\": \"Unable to reset password. Please contact support.\",\n \"pol\": \"Nie można zresetować hasła. Skontaktuj się z pomocą techniczną.\",\n \"est\": \"Parooli uuendamine ei õnnestu. Palun pöörduge klienditoe poole.\",\n \"rus\": \"Не удалось восстановить пароль. Обратитесь в службу поддержки.\",\n \"fin\": \"Salasanan vaihtaminen ei onnistunut. Ota yhteyttä asiakastukeen.\",\n \"lav\": \"Paroles atjaunošana neizdevās. Lūdzu, sazinieties ar atbalstu.\",\n \"swe\": \"Kan inte återställa lösenordet. Var god kontakta kundtjänst.\",\n \"lit\": \"Nepavyksta iš naujo nustatyti slaptažodžio. Kreipkitės į klientų aptarnavimo komandą\",\n \"esp\": \"No es posible resetear contraseña. Por favor contacte a soporte\",\n \"nor\": \"Kan ikke tilbakestille passordet. Vennligst kontakt support.\"\n },\n \"createalocalpassword\": {\n \"eng\": \"Create a password\",\n \"pol\": \"Utwórz hasło\",\n \"est\": \"Loo parool\",\n \"rus\": \"Создать пароль\",\n \"fin\": \"Luo salasana\",\n \"lav\": \"Izveidot paroli\",\n \"swe\": \"Skapa lösenord\",\n \"lit\": \"Sukurti slaptažodį\",\n \"esp\": \"Crear contraseña\",\n \"nor\": \"Lag et passord\"\n },\n \"revokeAdmin\": {\n \"eng\": \"Revoke admin rights\",\n \"pol\": \"Cofnięcie praw administratora\",\n \"est\": \"Muuda administraator kasutajaks\",\n \"rus\": \"Удалить права администратора\",\n \"fin\": \"Tee ylläpitäjästä käyttäjä\",\n \"lav\": \"Noņemt administratora tiesības\",\n \"swe\": \"Ta bort som administratör\",\n \"lit\": \"Atšaukti administratoriaus teises\",\n \"esp\": \"Revocar administrador\",\n \"nor\": \"Opphev admin\"\n },\n \"makeAdmin\": {\n \"eng\": \"Make admin\",\n \"pol\": \"Nadaj rolę administratora\",\n \"est\": \"Muuda kasutaja administraatoriks\",\n \"rus\": \"Предоставить права администратора\",\n \"fin\": \"tee käyttäjästä ylläpitäjä\",\n \"lav\": \"Piešķirt administratora tiesības\",\n \"swe\": \"Lägg till som administratör\",\n \"lit\": \"Suteikti administratoriaus teises\",\n \"esp\": \"Hacerlo administrador\",\n \"nor\": \"Gjør admin\"\n },\n \"roleChanged\": {\n \"eng\": \"User role changed\",\n \"pol\": \"Rola użytkownika została zmieniona\",\n \"est\": \"Kasutaja roll on muudetud\",\n \"rus\": \"Права пользователя изменены\",\n \"fin\": \"Käyttäjän rooli muutettu\",\n \"lav\": \"Lietotāja tiesības nomainītas\",\n \"swe\": \"Användarroll har ändrats\",\n \"lit\": \"Vartotojo rolė pakeista\",\n \"esp\": \"Cambio de rol de usuario\",\n \"nor\": \"Brukerrolle endret\"\n },\n \"invoice\": {\n \"eng\": \"Invoice\",\n \"pol\": \"Faktura\",\n \"est\": \"Arve\",\n \"rus\": \"Счет\",\n \"fin\": \"Lasku\",\n \"lav\": \"Rēķins\",\n \"swe\": \"Faktura\",\n \"lit\": \"Sąskaita\",\n \"esp\": \"Factura\",\n \"nor\": \"Faktura\"\n },\n \"status\": {\n \"eng\": \"Status\",\n \"pol\": \"Status\",\n \"est\": \"Dokumendi staatus\",\n \"rus\": \"Статус\",\n \"fin\": \"Tila\",\n \"lav\": \"Statuss\",\n \"swe\": \"Status\",\n \"lit\": \"Statusas\",\n \"esp\": \"Estado\",\n \"nor\": \"Status\"\n },\n \"einvoice\": {\n \"eng\": \"E-invoice\",\n \"pol\": \"e-faktura\",\n \"est\": \"E-arve\",\n \"rus\": \"Эл-счет\",\n \"fin\": \"E-lasku\",\n \"lav\": \"E-rēķins\",\n \"swe\": \"E-faktura\",\n \"lit\": \"E. sąskaita\",\n \"esp\": \"Factura Electrónica\",\n \"nor\": \"e-faktura\"\n },\n \"docType\": {\n \"eng\": \"Document type\",\n \"pol\": \"Typ dokumentu\",\n \"est\": \"Dokumendi tüüp\",\n \"rus\": \"Тип документа\",\n \"fin\": \"Dokumentin luonne\",\n \"lav\": \"Dokumenta tips\",\n \"swe\": \"Dokumenttyp\",\n \"lit\": \"Dokumento tipas\",\n \"esp\": \"Tipo de documento\"\n },\n \"open\": {\n \"eng\": \"Open\",\n \"pol\": \"Otwórz\",\n \"est\": \"Ava\",\n \"rus\": \"Открыть\",\n \"fin\": \"Avaa\",\n \"lav\": \"Atvērt\",\n \"swe\": \"Öppna\",\n \"lit\": \"Atidaryti\",\n \"esp\": \"Abierto\",\n \"nor\": \"Åpen\"\n },\n \"FromEmail\": {\n \"eng\": \"Sent with email\",\n \"pol\": \"Wyślij pocztą e-mail\",\n \"est\": \"Saadetud emailiga\",\n \"rus\": \"Отправлено по эл-почте\",\n \"fin\": \"Lähetetty sähköpostilla\",\n \"lav\": \"Nosūtīts e-pastā\",\n \"swe\": \"Skicka med e-post\",\n \"lit\": \"Išsiųsta su el. laišku\",\n \"esp\": \"Enviar con email\",\n \"nor\": \"Sendes med e-post\"\n },\n \"sendToSoftware\": {\n \"eng\": \"Send to software\",\n \"pol\": \"Wyślij do oprogramowania\",\n \"est\": \"Saada tarkvarasse\",\n \"rus\": \"Отправить в бухгалтерию\",\n \"fin\": \"Lähetä ohjelmistoon\",\n \"lav\": \"Nosūtīt grāmatvedībai\",\n \"swe\": \"Skicka till bokföringsprogram\",\n \"lit\": \"Išsiųsti į programą\",\n \"esp\": \"Enviar al software\",\n \"nor\": \"Send til programvare\"\n },\n \"receipts\": {\n \"eng\": \"Documents\",\n \"pol\": \"Dokumenty\",\n \"est\": \"Dokumendid\",\n \"rus\": \"Документы\",\n \"fin\": \"Dokumentit\",\n \"lav\": \"Dokumenti\",\n \"swe\": \"Dokument\",\n \"lit\": \"Dokumentai\",\n \"esp\": \"Documentos\",\n \"nor\": \"Dokumenter\"\n },\n \"IBAN\": {\n \"eng\": \"IBAN\",\n \"pol\": \"IBAN\",\n \"est\": \"Pangakonto number\",\n \"rus\": \"Банковский счет\",\n \"fin\": \"IBAN\",\n \"lav\": \"Bankas konta nr.\",\n \"swe\": \"IBAN\",\n \"lit\": \"IBAN\",\n \"esp\": \"IBAN\",\n \"nor\": \"IBAN\"\n },\n \"dueDate\": {\n \"eng\": \"Due date\",\n \"pol\": \"Termin płatności\",\n \"est\": \"Maksetähtaeg\",\n \"rus\": \"Условия оплаты\",\n \"fin\": \"Eräpäivä\",\n \"lav\": \"Apmaksas termiņš\",\n \"swe\": \"Förfallodatum\",\n \"lit\": \"Apmokėjimo terminas\",\n \"esp\": \"Fecha de Vencimiento\",\n \"nor\": \"Tidsfrist\"\n },\n \"select\": {\n \"eng\": \"Select\",\n \"pol\": \"Wybierz\",\n \"est\": \"Vali\",\n \"rus\": \"Выбрать\",\n \"fin\": \"Valitse\",\n \"lav\": \"Izvēlēties\",\n \"swe\": \"Välj\",\n \"lit\": \"Pasirinkti\",\n \"esp\": \"Seleccionar\",\n \"nor\": \"Velg\"\n },\n \"beingPrepared\": {\n \"eng\": \"Being prepared\",\n \"pol\": \"W przygotowaniu\",\n \"est\": \"Ettevalmistamisel\",\n \"rus\": \"Готовится\",\n \"fin\": \"Valmistautuminen\",\n \"lav\": \"Tiek gatavots\",\n \"swe\": \"Förbereds\",\n \"lit\": \"Ruošiama\",\n \"esp\": \"Estar preparado\",\n \"nor\": \"Forbredes\"\n },\n \"done\": {\n \"eng\": \"Done\",\n \"pol\": \"Gotowe\",\n \"est\": \"Tehtud\",\n \"rus\": \"Готово\",\n \"fin\": \"Valmis\",\n \"lav\": \"Gatavs\",\n \"swe\": \"Färdig\",\n \"lit\": \"Atlikta\",\n \"esp\": \"Hecho\",\n \"nor\": \"Ferdig\"\n },\n \"confirmed\": {\n \"eng\": \"Submitted\",\n \"pol\": \"Dodano\",\n \"est\": \"Esitatud\",\n \"rus\": \"Подтвержден\",\n \"fin\": \"Vahvistettu\",\n \"lav\": \"Apstiprināts\",\n \"swe\": \"Inskickad\",\n \"lit\": \"Pateikta\",\n \"esp\": \"Presentado\",\n \"nor\": \"Sendt inn\"\n },\n \"updated\": {\n \"eng\": \"Updated\",\n \"pol\": \"Zaktualizowano\",\n \"est\": \"Uuendatud\",\n \"rus\": \"Обновлено\",\n \"fin\": \"Päivitetty\",\n \"lav\": \"Saglabāts\",\n \"swe\": \"Uppdaterad\",\n \"lit\": \"Atnaujinta\",\n \"esp\": \"Actualizado\",\n \"nor\": \"Oppdatert\"\n },\n \"canAddExpenseToReportLater\": {\n \"eng\": \"Add an expense to a report now or later.\",\n \"pol\": \"Dodaj wydatek do raportu teraz lub później.\",\n \"est\": \"Siin saab selle dokumendi lisada aruandesse võite seda teha ka hiljem\",\n \"rus\": \"Вы можете добавить документы о расходах в свой отчет позже.\",\n \"fin\": \"Voit lisätä kulut raporttiin nyt tai tehdä sen myöhemmin.\",\n \"lav\": \"Izdevumu dokumentus pārskatam varēsiet pievienot arī vēlāk.\",\n \"swe\": \"Lägg till en utgift till en rapport nu eller senare.\",\n \"lit\": \"Išlaidas į ataskaitą galite įtraukti dabar arba vėliau.\",\n \"esp\": \"Agregue un gasto a un informe ahora o más tarde.\",\n \"nor\": \"Legg til en utgift i en rapport nå eller senere.\"\n },\n \"createNewReport\": {\n \"eng\": \"Create new report\",\n \"pol\": \"Utwórz nowy raport\",\n \"est\": \"Loo uus aruanne\",\n \"rus\": \"Создать новый отчет\",\n \"fin\": \"Luo uusi raportti\",\n \"lav\": \"Izveidot jaunu pārskatu\",\n \"swe\": \"Skapa ny rapport\",\n \"lit\": \"Sukurti naują ataskaitą\",\n \"esp\": \"Crear nuevo informe\",\n \"nor\": \"Opprett ny rapport\"\n },\n \"continueWithoutReport\": {\n \"eng\": \"Continue without report\",\n \"pol\": \"Kontynuuj bez raportu\",\n \"est\": \"Jätka ilma aruandesse lisamata\",\n \"rus\": \"Добавить без отчета\",\n \"fin\": \"Jatka ilman raporttia\",\n \"lav\": \"Pievienot bez pārskata\",\n \"swe\": \"Fortsätt utan rapport\",\n \"lit\": \"Tęsti be ataskaitos\",\n \"esp\": \"Continuar sin informe\",\n \"nor\": \"Fortsett uten rapport\"\n },\n \"skipAndForward\": {\n \"eng\": \"Skip & forward\",\n \"pol\": \"Pomiń i wyślij\",\n \"est\": \"Jäta vahele ja edasta raamatupidamisse\",\n \"rus\": \"Пропустить и отправить\",\n \"fin\": \"Ohita & eteenpäin\",\n \"lav\": \"Izlaist un nosūtīt programmatūrai\",\n \"swe\": \"Hoppa över & fortsätt\",\n \"lit\": \"Praleisti ir pateikti\",\n \"esp\": \"Saltar y continuar\",\n \"nor\": \"Hopp og fremover\"\n },\n \"supplierVATNumber\": {\n \"eng\": \"VAT Number\",\n \"pol\": \"NIP\",\n \"est\": \"KMKR number\",\n \"rus\": \"Номер плательщика НДС\",\n \"fin\": \"ALV-tunnus\",\n \"lav\": \"PVN numurs\",\n \"swe\": \"VAT-nummer\",\n \"lit\": \"PVM kodas\",\n \"esp\": \"Número de valor agregado\",\n \"nor\": \"MVA-nummer\"\n },\n \"total\": {\n \"eng\": \"Total\",\n \"pol\": \"Razem\",\n \"est\": \"Kokku\",\n \"rus\": \"Общее\",\n \"fin\": \"Yhteensä\",\n \"lav\": \"Kopā\",\n \"swe\": \"Totalt\",\n \"lit\": \"Iš viso\",\n \"esp\": \"Total\",\n \"nor\": \"Total\"\n },\n \"totalDistance\": {\n \"eng\": \"Total distance (km)\",\n \"pol\": \"Całkowita odległość (km)\",\n \"est\": \"Kogu distants (km)\",\n \"rus\": \"Общее расстояние (км)\",\n \"fin\": \"Matka yhteensä (km)\",\n \"lav\": \"Kopējā distance (km)\",\n \"swe\": \"Totalt avstånd (km)\",\n \"lit\": \"Bendras atstumas (km)\",\n \"esp\": \"Distancia total (km)\",\n \"nor\": \"Total avstand (km)\"\n },\n \"roundTrip\": {\n \"eng\": \"Round trip\",\n \"pol\": \"Podróż w obie strony\",\n \"est\": \"Edasi-tagasi sõit\",\n \"rus\": \"Поездка в оба конца\",\n \"fin\": \"Meno-paluu matka\",\n \"lav\": \"Turp un atpakaļ\",\n \"swe\": \"Tur- och returresa\",\n \"lit\": \"Kelionė į abi puses\",\n \"esp\": \"Viaje ida y vuelta\",\n \"nor\": \"Rundtur\"\n },\n \"vehicle\": {\n \"eng\": \"Vehicle\",\n \"pol\": \"Pojazd\",\n \"est\": \"Sõiduk\",\n \"rus\": \"Транспортное средство\",\n \"fin\": \"Ajoneuvo\",\n \"lav\": \"Transportlīdzeklis\",\n \"swe\": \"Fordon\",\n \"lit\": \"Transporto priemonė\",\n \"esp\": \"Vehicle\",\n \"nor\": \"Kjøretøy\"\n },\n \"companyCar\": {\n \"eng\": \"Company car\",\n \"pol\": \"Samochód służbowy\",\n \"est\": \"Ettevõtte auto\",\n \"rus\": \"Машина компании\",\n \"fin\": \"Yrityksen auto\",\n \"lav\": \"Uzņēmuma auto\",\n \"swe\": \"Företagsbil\",\n \"lit\": \"Kompanijos automobilis\",\n \"esp\": \"Vehículo de la empresa\",\n \"nor\": \"Firmabil\"\n },\n \"motorboat\": {\n \"eng\": \"Motorboat\",\n \"pol\": \"Motorówka\",\n \"est\": \"Mootorpaat\",\n \"rus\": \"Моторная лодка\",\n \"fin\": \"Moottorivene\",\n \"swe\": \"Motorbåt\",\n \"lit\": \"Motorinė valtis\",\n \"lav\": \"Motorlaiva\",\n \"esp\": \"Bote de Motor\",\n \"nor\": \"Motorbåt\"\n },\n \"motorcycle\": {\n \"eng\": \"Motorcycle\",\n \"pol\": \"Motocykl\",\n \"est\": \"Mootorratas\",\n \"rus\": \"Мотоцикл\",\n \"fin\": \"Moottoripyörä\",\n \"swe\": \"Motorcykel\",\n \"lit\": \"Motociklas\",\n \"lav\": \"Motocikls\",\n \"esp\": \"Motocicleta\",\n \"nor\": \"Motorsykkel\"\n },\n \"moped\": {\n \"eng\": \"Moped\",\n \"pol\": \"Motorower\",\n \"est\": \"Mopeed\",\n \"rus\": \"Мопед\",\n \"fin\": \"Mopo\",\n \"swe\": \"Moped\",\n \"lit\": \"Mopedas\",\n \"lav\": \"Mopēds\",\n \"esp\": \"Ciclomotor\",\n \"nor\": \"Moped\"\n },\n \"snowmobile\": {\n \"eng\": \"Snowmobile\",\n \"pol\": \"Skuter śnieżny\",\n \"est\": \"Mootorsaan\",\n \"rus\": \"Снегоход\",\n \"fin\": \"Moottorikelkka\",\n \"swe\": \"Snöskoter\",\n \"lit\": \"Sniego motociklas\",\n \"lav\": \"Sniega motocikls\",\n \"esp\": \"Moto de Nieve\",\n \"nor\": \"Snøscooter\"\n },\n \"quadbike\": {\n \"eng\": \"All-terrain quadbike\",\n \"pol\": \"ATV\",\n \"est\": \"ATV\",\n \"rus\": \"Вездеходный квадроцикл\",\n \"fin\": \"Mönkijä\",\n \"swe\": \"Fyrhjuling\",\n \"lit\": \"Keturratis\",\n \"lav\": \"Kvadracikls\",\n \"esp\": \"Cuatriciclo todoterreno\",\n \"nor\": \"Quadbike\"\n },\n \"other\": {\n \"eng\": \"Other\",\n \"pol\": \"Inne\",\n \"est\": \"Muu\",\n \"rus\": \"Другое\",\n \"fin\": \"Muu\",\n \"lav\": \"Cits\",\n \"swe\": \"Övrigt\",\n \"lit\": \"Kita\",\n \"esp\": \"Otro\",\n \"nor\": \"Andre\"\n },\n \"moreThan50hp\": {\n \"eng\": \"More than 50 hp\",\n \"pol\": \"Ponad 50 km\",\n \"est\": \"Üle 50 hj\",\n \"rus\": \"Более 50 л.с.\",\n \"fin\": \"Enemmän kuin 50 hv\",\n \"lit\": \"Daugiau nei 50 AG\",\n \"swe\": \"Över 50 hk\",\n \"lav\": \"Vairāk par 50 zs\",\n \"esp\": \"Más de 50 km\",\n \"nor\": \"Mer enn 50 hk\"\n },\n \"numberOfCoworkers\": {\n \"eng\": \"Number of coworkers\",\n \"pol\": \"Liczba współpracowników\",\n \"est\": \"Töökaaslaste arv autos\",\n \"rus\": \"Количество сослуживцев\",\n \"fin\": \"Työtovereiden määrä\",\n \"swe\": \"Antal medarbetare\",\n \"lit\": \"Kolegų skaičius\",\n \"lav\": \"Kolēģu skaits\",\n \"esp\": \"Numero de compañeros de trabajo\",\n \"nor\": \"Antall medarbeidere\"\n },\n \"trailer\": {\n \"eng\": \"trailer\",\n \"pol\": \"przyczepa\",\n \"est\": \"järelhaagis\",\n \"rus\": \"трейлер\",\n \"fin\": \"perävaunu\",\n \"lit\": \"priekaba\",\n \"swe\": \"släpvagn\",\n \"lav\": \"treileris\",\n \"esp\": \"remolque\",\n \"nor\": \"trailer\"\n },\n \"caravan\": {\n \"eng\": \"caravan\",\n \"pol\": \"przyczepa kempingowa\",\n \"est\": \"haagissuvila\",\n \"rus\": \"караван\",\n \"fin\": \"asuntovaunu\",\n \"lit\": \"kemperis\",\n \"swe\": \"husvagn\",\n \"lav\": \"karavāna\",\n \"esp\": \"caravana\",\n \"nor\": \"campingvogn\"\n },\n \"canteenOrEqual\": {\n \"eng\": \"mobile canteen or towing equally heavy load\",\n \"pol\": \"kantyna lub holowanie równie ciężkiego ładunku\",\n \"est\": \"mobiilse söökla või sama raske koorma pukseerimine\",\n \"rus\": \"передвижная столовая или буксировка столь же тяжелого груза\",\n \"fin\": \"taukotuvan tai vastaavan raskan kuorman kuljettamista\",\n \"lav\": \"pārvietojamā virtuve vai līdzīgas masas kravas vilkšana\",\n \"lit\": \"mobili valgykla ar vienodai sunkaus krovinio tempimas\",\n \"swe\": \"raststuga eller släp med lika tung last\",\n \"esp\": \"comedor móvil o remolque de carga igualmente pesada\",\n \"nor\": \"mobil kantine eller tauing av like tung last\"\n },\n \"machineryOrLoad\": {\n \"eng\": \"machinery or load over 80 kg inside the car\",\n \"pol\": \"ciężkie ładunki wewnątrz samochodu (> 80 kg)\",\n \"est\": \"masinad või muu raske koorem autos (> 80 kg)\",\n \"rus\": \"оборудование или другой груз внутри автомобиля (>80 кг)\",\n \"fin\": \"raskas kuorma auton mukana (>80kg)\",\n \"lav\": \"aprīkojums vai cita veida krava automašīnā (> 80 kg)\",\n \"swe\": \"maskiner eller andra föremål över 80 kg i bilen\",\n \"lit\": \"technika ar kitas sunkus krovinys automobilyje (>80 kg)\",\n \"esp\": \"maquinaria o carga superior a 80 kg en el interior del coche\",\n \"nor\": \"maskineri eller last over 80 kg inne i bilen\"\n },\n \"serviceDog\": {\n \"eng\": \"service dog\",\n \"pol\": \"pies przewodnik\",\n \"est\": \"teenistuskoer\",\n \"rus\": \"служебная собака\",\n \"fin\": \"palvelukoira\",\n \"swe\": \"servicehund\",\n \"lit\": \"tarnybinis šuo\",\n \"lav\": \"dienesta suns\",\n \"esp\": \"perro de servicio\",\n \"nor\": \"servicehund\"\n },\n \"travelStart\": {\n \"eng\": \"Travel start\",\n \"pol\": \"Start podróży\",\n \"est\": \"Lähetuse algus\",\n \"rus\": \"Начало поездки\",\n \"fin\": \"Matkan aloitus\",\n \"swe\": \"Resestart\",\n \"lit\": \"Kelionės pradžia\",\n \"lav\": \"Komandējuma sākums\",\n \"esp\": \"Inicio del viaje\",\n \"nor\": \"Reisestart\"\n },\n \"destination\": {\n \"eng\": \"Destination\",\n \"pol\": \"Miejsce docelowe\",\n \"est\": \"Sihtkoht\",\n \"rus\": \"Место назначения\",\n \"fin\": \"Määränpää\",\n \"swe\": \"Destination\",\n \"lit\": \"Tikslas\",\n \"lav\": \"Galamērķis\",\n \"esp\": \"Destino\",\n \"nor\": \"Destinasjon\"\n },\n \"startingPointAddress\": {\n \"eng\": \"Starting address\",\n \"pol\": \"Adres początkowy\",\n \"est\": \"Lähtepunkti aadress\",\n \"rus\": \"Адрес начальной точки\",\n \"fin\": \"Lähtöpisteen osoite\",\n \"lav\": \"Izbraukšanas vietas adrese\",\n \"swe\": \"Startpunktsadress\",\n \"lit\": \"Pradinis adresas\",\n \"esp\": \"Dirección de inicio\",\n \"nor\": \"Startadresse\"\n },\n \"destinationAddress\": {\n \"eng\": \"Destination address\",\n \"pol\": \"Adres miejsca docelowego\",\n \"est\": \"Sihtkoha aadress\",\n \"rus\": \"Адрес назначения\",\n \"fin\": \"Määränpään osoite\",\n \"lav\": \"Galamērķa adrese\",\n \"swe\": \"Destinationsadress\",\n \"lit\": \"Galutinis adresas\",\n \"esp\": \"Dirección de destino\",\n \"nor\": \"Ankomstadresse\"\n },\n \"insertValidAddress\": {\n \"eng\": \"Please insert valid address!\",\n \"pol\": \"Proszę podać prawidłowy adres!\",\n \"est\": \"Palun sisestage korrektne aadress!\",\n \"rus\": \"Введите действительный адрес!\",\n \"fin\": \"Syötä osoite\",\n \"swe\": \"Var god infoga giltlig adress!\",\n \"lit\": \"Įveskite galiojantį adresą!\",\n \"lav\": \"Norādiet derīgu adresi!\",\n \"esp\": \"Introduzca una dirección válida.\",\n \"nor\": \"Vennligst legg inn gyldig adresse!\"\n },\n \"chooseVehicle\": {\n \"eng\": \"Choose vehicle\",\n \"pol\": \"Wybierz pojazd\",\n \"est\": \"Valige sõiduk\",\n \"rus\": \"Выберите тип транспортного средства\",\n \"fin\": \"Valitse ajoneuvo\",\n \"swe\": \"Välj fordon\",\n \"lav\": \"Izvēlieties transportlīdzekli\",\n \"lit\": \"Pasirinkite transporto priemonę\",\n \"esp\": \"Seleccione vehiculo\",\n \"nor\": \"Velg kjøretøy\"\n },\n \"forrestRoadDistance\": {\n \"eng\": \"Distance on forest road or construction site closed to other traffic, km from total\",\n \"pol\": \"Odległość pokonana na drodze leśnej lub placu budowy zamkniętym dla innego ruchu (km od całości)\",\n \"est\": \"Distants läbitud metsateel või ehituses oleval teel, mis on suletud teistele liiklejatele (kokku kilomeetreid)\",\n \"rus\": \"Расстояние проезда по лесной дороге или строительной площадке, закрытой для других транспортных средств (км от общего количества)\",\n \"fin\": \"Metsäautotiellä tai muulta liikenteeltä suljetulla tienrakennustyömaalla ajettu matka(km yhteensä)\",\n \"lav\": \"Nobrauktā distance pa meža ceļiem vai celtniecības laukumiem (km no kopējā)\",\n \"lit\": \"Atstumas nuvažiuotas miško keliu arba uždaroje statybvietėje (km nuo bendro atstumo)\",\n \"swe\": \"Avstånd kört längs skogsbilvägar eller på andra för annan trafik avstängda vägbyggnadsarbetsplatser, km av totalantal\",\n \"esp\": \"Distancia en camino forestal o sitio de construcción cerrado al resto del tráfico, km del total\",\n \"nor\": \"Avstand på skogsvei eller byggeplass stengt for annen trafikk, km fra totalt\"\n },\n \"selectDate\": {\n \"eng\": \"Select date\",\n \"pol\": \"Wybierz datę\",\n \"est\": \"Valige kuupäev\",\n \"rus\": \"Выберите дату\",\n \"fin\": \"Valitse päivämäärä\",\n \"lav\": \"Izvēlieties datumu\",\n \"swe\": \"Välj datum\",\n \"lit\": \"Pasirinkti datą\",\n \"esp\": \"Seleccione fecha\",\n \"nor\": \"Velg dato\"\n },\n \"whyDidYouDriveThere\": {\n \"eng\": \"Purpose of the trip\",\n \"pol\": \"Cel podróży\",\n \"est\": \"Sõidu eesmärk\",\n \"rus\": \"Какова была цель командировки?\",\n \"fin\": \"Matkan tarkoitus\",\n \"lav\": \"Kāds bija komandejuma mērķis?\",\n \"swe\": \"Syfte med resan\",\n \"lit\": \"Kelionės tikslas\",\n \"esp\": \"Propósito del viaje\",\n \"nor\": \"Formålet med turen\"\n },\n \"noReports\": {\n \"eng\": \"No reports\",\n \"pol\": \"Brak raportów\",\n \"est\": \"Aruanded puuduvad\",\n \"rus\": \"Готовых отчетов нет\",\n \"fin\": \"Ei raportteja\",\n \"lav\": \"Gatavu pārskatu nav\",\n \"swe\": \"Inga rapporter\",\n \"lit\": \"Nėra ataskaitų\",\n \"esp\": \"Sin informes\",\n \"nor\": \"Ingen rapporter\"\n },\n \"createNewReportOrSkipStep\": {\n \"eng\": \"Create a new report or skip this step\",\n \"pol\": \"Utwórz nowy raport lub pomiń\",\n \"est\": \"Looge aruanne või jätke see samm vahele\",\n \"rus\": \"Создайте новый отчет или пропустите этот шаг\",\n \"fin\": \"Luo uusi raportti tai unohda tämä vaihe\",\n \"lav\": \"Izveidojiet jaunu pārskatu vai izlaidiet šo soli\",\n \"swe\": \"Skapa en ny rapport eller hoppa över detta steg\",\n \"lit\": \"Sukurti naują ataskaitą arba praleisti šį žingsnį\",\n \"esp\": \"Cree un nuevo informe u omita este paso\",\n \"nor\": \"Opprett en ny rapport eller hopp over dette trinnet\"\n },\n \"addNew\": {\n \"eng\": \"Add new\",\n \"pol\": \"Dodaj nowe\",\n \"est\": \"Lisa uus\",\n \"rus\": \"Добавить новый\",\n \"fin\": \"Lisää uusi\",\n \"lav\": \"Pievienot jaunu\",\n \"swe\": \"Lägg till ny\",\n \"lit\": \"Pridėti naują\",\n \"esp\": \"Agregar nuevo\",\n \"nor\": \"Legg til ny\"\n },\n \"flowCustomization\": {\n \"eng\": \"Manage steps for submitting expenses\",\n \"pol\": \"Spersonalizuj swój przepływ pracy\",\n \"est\": \"Halda dokumendi esitamise sätteid\",\n \"rus\": \"Персонализируйте свой рабочий процесс\",\n \"fin\": \"Hallinnoi kulukirjauksen vaiheita\",\n \"lav\": \"Personalizēt darbības plūsmu\",\n \"swe\": \"Hantera steg för att skicka in utgifter\",\n \"lit\": \"Tvarkykite išlaidų pateikimo veiksmus\",\n \"esp\": \"Gestionar pasos para enviar gastos\",\n \"nor\": \"Administrer trinn for å sende utgifter\"\n },\n \"enableUsersToJoinCompany\": {\n \"eng\": \"Enable users to join company\",\n \"pol\": \"Zezwalaj użytkownikom na dołączanie do organizacji\",\n \"est\": \"Luba kasutajatel liituda ettevõttega\",\n \"rus\": \"Разрешить пользователям присоединяться к организации\",\n \"fin\": \"Salli käyttäjien liittyminen\",\n \"lav\": \"Atļaut lietotājiem pašiem pievienoties organizācijai\",\n \"swe\": \"Tillåt användare att ansluta sig till företaget\",\n \"lit\": \"Leisti vartotojams prisijungti prie kompanijos\",\n \"esp\": \"Permitir a los usuarios unirse a la empresa\",\n \"nor\": \"Gjør det mulig for brukere å bli med i selskapet\"\n },\n \"usersCanJoinAutomatically\": {\n \"eng\": \"Users can automatically join this company\",\n \"pol\": \"Użytkownicy mogą automatycznie dołączyć do tej organizacji\",\n \"est\": \"Luba kasutajal ise liituda ettevõttega\",\n \"rus\": \"Пользователи могутприсоединиться к этой организации без разрешения администратора\",\n \"fin\": \"käyttäjät voivat liittyä organisaation jäseniksi ilman erillistä hyväksyntää\",\n \"lav\": \"Lietotāji var pievienoties šai organizācijai bez administratora atļaujas\",\n \"swe\": \"Användare kan automatiskt ansluta sig till detta företag\",\n \"lit\": \"Vartotojai gali automatiškai prisijungti prie kompanijos\",\n \"esp\": \"Los usuarios pueden unirse automáticamente a esta empresa.\",\n \"nor\": \"Brukere kan automatisk bli med i dette selskapet\"\n },\n \"autoForwardDocuments\": {\n \"eng\": \"Auto-forward documents from email\",\n \"pol\": \"Automatyczne przesyłanie dokumentów\",\n \"est\": \"Automaatne dokumentide edastamine\",\n \"rus\": \"Автоматический перенос документов\",\n \"fin\": \"Dokumenttien automaattinen lähetys\",\n \"lav\": \"Automātiski pārsūtīt dokumentus no epasta\",\n \"swe\": \"Vidarebefodra automatiskt dokument\",\n \"lit\": \"Automatinis dokumentų persiuntimas\",\n \"esp\": \"Reenvío automático de documentos\",\n \"nor\": \"Automatisk videresending av dokumenter\"\n },\n \"forwardDocumentsToSoftwareAutomatically\": {\n \"eng\": \"Documents sent from email are forwarded to accounting without submitter input\",\n \"pol\": \"Automatyczne przekazywanie dokumentów z poczty e-mail do oprogramowania księgowego\",\n \"est\": \"Edasta e-postilt esitatud dokumendid automaatselt raamatupidamistarkvarasse\",\n \"rus\": \"Автоматически передавать документы в бухгалтерское программное обеспечение после их оцифровки из эл-почты\",\n \"fin\": \"välitä dokumentit sähköpostista kirjanpitoon automaattisesti\",\n \"lav\": \"Dokumenti no epasta tiek pārsūtīti uz grāmatvedības programmatūru bez lietotāja datu ievades tūlīt pēc to digitalizēšanas\",\n \"swe\": \"Automatiskt vidarebefodra dokument från e-post till bokföringsprogram\",\n \"lit\": \"Automatiškai persiųsti dokumentus iš el. pašto į apskaitos programą\",\n \"esp\": \"Reenvíe documentos automáticamente desde el correo electrónico al software de contabilidad\",\n \"nor\": \"Videresend automatisk dokumenter fra e-post til regnskapsprogramvare\"\n },\n \"areYouSureYouWantToDelete\": {\n \"eng\": \"Are you sure you want to delete\",\n \"pol\": \"Czy jesteś pewny że chcesz usunąć\",\n \"est\": \"Kas soovite kindlasti kustutada\",\n \"rus\": \"Вы уверены, что хотите удалить\",\n \"fin\": \"Haluatko varmasti poistaa\",\n \"lav\": \"Vai tiešām dzēst\",\n \"swe\": \"Är du säker att du vill radera\",\n \"lit\": \"Ar tikrai norite pašalinti\",\n \"esp\": \"¿Está seguro de que quiere eliminar\",\n \"nor\": \"Er du sikker på at du vil slette\"\n },\n \"useCustomExpenseTypes\": {\n \"eng\": \"Use custom expense types\",\n \"pol\": \"Użyj spersonalizowanych rodzajów kosztów\",\n \"est\": \"Kasuta kohandatud kululiike\",\n \"rus\": \"Используйте персонализированные типы затрат\",\n \"fin\": \"Käytä mukautettuja kululajeja\",\n \"lav\": \"Lietot personalizētus izdevumu veidus\",\n \"swe\": \"Använd anpassade utgiftskategorier.\",\n \"lit\": \"Naudokite personalizuotus išlaidų tipus\",\n \"esp\": \"Utilice tipos de gastos personalizados\",\n \"nor\": \"Bruk egendefinerte utgiftstyper\"\n },\n \"manageExpenseTypes\": {\n \"eng\": \"Expense types\",\n \"pol\": \"Zarządzaj rodzajami kosztów\",\n \"est\": \"Kululiigid\",\n \"rus\": \"Типы расходов\",\n \"fin\": \"Hallinnoi kululajeja\",\n \"lav\": \"Izdevumu veidi\",\n \"swe\": \"Hantera utgiftstyper\",\n \"lit\": \"Išlaidų tipai\",\n \"esp\": \"Gestionar tipos de gastos\",\n \"nor\": \"Administrer utgiftstyper\"\n },\n \"addExpenseType\": {\n \"eng\": \"Add expense type\",\n \"pol\": \"Dodaj nowy rodzaj kosztu\",\n \"est\": \"Lisa kululiik\",\n \"rus\": \"Добавить новый тип затрат\",\n \"fin\": \"lisää kululaji\",\n \"lav\": \"Pievienot jaunu izdevumu veidu\",\n \"swe\": \"Lägg till utgiftstyp\",\n \"lit\": \"Pridėti išlaidų tipą\",\n \"esp\": \"Agregar tipo de gasto\",\n \"nor\": \"Legg til utgiftstype\"\n },\n \"addTo\": {\n \"eng\": \"Add to\",\n \"pol\": \"Dodaj do\",\n \"est\": \"Lisa alamkategooriasse\",\n \"rus\": \"Добавить\",\n \"fin\": \"lisää\",\n \"lav\": \"Pievienot\",\n \"swe\": \"Lägg till\",\n \"lit\": \"Pridėti prie\",\n \"esp\": \"Añadir\",\n \"nor\": \"Legg til\"\n },\n \"expenseTypes\": {\n \"eng\": \"Expense types\",\n \"pol\": \"Rodzaje kosztów\",\n \"est\": \"Kululiigid\",\n \"rus\": \"Виды затрат\",\n \"fin\": \"Kululajit\",\n \"lav\": \"Izdevumu veidi\",\n \"swe\": \"Utgiftstyper\",\n \"lit\": \"Išlaidų tipai\",\n \"esp\": \"Tipos de gastos\",\n \"nor\": \"Utgiftstyper\"\n },\n \"addSubcategory\": {\n \"eng\": \"Add subcategory\",\n \"pol\": \"Dodaj podkategorię\",\n \"est\": \"Lisa alamkategooria (valikuline)\",\n \"rus\": \"Добавить подкатегорию\",\n \"fin\": \"lisää alakategoria\",\n \"lav\": \"Pievienot apakškategoriju\",\n \"swe\": \"Lägg till underkategori\",\n \"lit\": \"Pridėti subkategoriją\",\n \"esp\": \"Agregar subcategoría\",\n \"nor\": \"Legg til underkategori\"\n },\n \"editExpenseType\": {\n \"eng\": \"Edit expense type\",\n \"pol\": \"Edytuj rodzaj kosztu\",\n \"est\": \"Muuda kululiiki\",\n \"rus\": \"Изменить тип расходов\",\n \"fin\": \"Muokkaa kululajia\",\n \"lav\": \"Labot izdevumu veidu\",\n \"swe\": \"Redigera utgiftstyp\",\n \"lit\": \"Redaguoti išlaidų tipą\",\n \"esp\": \"Editar tipo de gasto\",\n \"nor\": \"Rediger utgiftstype\"\n },\n \"skipUserInput\": {\n \"eng\": \"Express mode\",\n \"pol\": \"Tryb ekspresowy\",\n \"est\": \"Ekspressrežiim\",\n \"rus\": \"Экспресс режим\",\n \"fin\": \"Pikakirjaus-tila\",\n \"lav\": \"Ekspress režīms\",\n \"swe\": \"Expressläge.\",\n \"lit\": \"Express režimas\",\n \"esp\": \"Modo express\",\n \"nor\": \"Ekspressmodus\"\n },\n \"skipAllUserInputOnDocSubmission\": {\n \"eng\": \"Skip all user input when submitting documents\",\n \"pol\": \"Pomiń wprowadzanie danych przez użytkownika podczas digitalizacji dokumentów\",\n \"est\": \"Pärast tšeki pildistamist ei küsita kasutajalt lisaküsimusi\",\n \"rus\": \"Не запрашивать у пользователя вопросы при подаче документов.\",\n \"fin\": \"Ohita tietojen syöttövaiheet dokumenttien kirjauksessa\",\n \"lav\": \"Digitalizējot, lietotājam netiks prasīts norādīt izdevumu detaļas.\",\n \"swe\": \"Hoppa över informationsinmatning vid inskickande av dokument.\",\n \"lit\": \"Praleisti vartotojo įvestus duomenis pateikiant dokumentus\",\n \"esp\": \"Omita todas las entradas del usuario al enviar documentos\",\n \"nor\": \"Hopp over alle brukerinnspill når du sender inn dokumenter\"\n },\n \"tapToCopyEmail\": {\n \"eng\": \"Tap to copy email\",\n \"pol\": \"Kliknij, aby skopiować adres e-mail\",\n \"est\": \"Vajuta emaili kopeerimiseks\",\n \"rus\": \"Нажмите, чтобы скопировать эл-почту\",\n \"fin\": \"Napauta kopioidaksesi sähköpostin\",\n \"lav\": \"Noklikšķiniet, lai nokopētu e-pastu\",\n \"swe\": \"Klicka här för att kopiera e-post.\",\n \"lit\": \"Bakstelėkite, kad nukopijuotumėte el. pašto adresą\",\n \"esp\": \"Toca para copiar el correo electrónico\",\n \"nor\": \"Trykk for å kopiere e-post\"\n },\n \"availableOnlyWithPAYG\": {\n \"eng\": \"This service is available only with Pay as you go plan.\",\n \"pol\": \"Ta funkcja jest dostępna jedynie dla planu „Pay as you go”.\",\n \"est\": \"See funktsionaalsus on kättesaadav vaid Tükipõhise hinnastamisega\",\n \"rus\": \"Данная услуга доступна только на тарифном плане \\\"Оплата по факту\\\".\",\n \"fin\": \"Toiminnallisuus on saatavilla ainoastaan \\\"Käytön mukaan\\\"-paketissa\",\n \"lav\": \"Šis pakalpojums pieejams tikai ar \\\"Maksā, kad izmanto\\\" plānu.\",\n \"swe\": \"Denna funktion är endast tillgänglig tillsammans med vår \\\"Pay as you go\\\"-plan.\",\n \"lit\": \"Šia funkcija galima tik su Pay as you go planu.\",\n \"esp\": \"Esta función solo está disponible con el plan Pay as you go.\",\n \"nor\": \"Denne funksjonen er kun tilgjengelig med Pay as you go-plan.\"\n },\n \"allRowsOfPDFAreDigitized\": {\n \"eng\": \"All PDF invoice item lines are digitised by CostPocket. Each line 0.02€.\",\n \"pol\": \"Wszystkie wiersze faktury zostaną zdigitalizowane. Cena: 0,02 € za wiersz.\",\n \"est\": \"Kõik PDF arvel olevad arve read digiteeritakse. Hind: 0.02€ arve rida\",\n \"rus\": \"Все строки элементов счета в формате PDF будут оцифрованы. Цена каждой оцифрованной линии составляет 0,02€.\",\n \"fin\": \"Kaikki PDF:n rivitiedot on digitalisoitu, hinta 0,02€/rivi.\",\n \"lav\": \"Visas rēķinu preču/pakalpojumu rindas tiks digitalizētas. 0.02€ par katru digitalizēto rindu.\",\n \"swe\": \"Alla PDF artikelrader digitaliseras av CostPocket. Varje rad kostar €0.02\",\n \"lit\": \"CostPocket skaitmenina visas PDF sąskaitos elementų eilutes. Kiekviena eilutė po 0.02 €.\",\n \"esp\": \"CostPocket digitaliza todas las líneas de artículos de facturas en PDF. Cada línea 0,02 €.\",\n \"nor\": \"Alle PDF-fakturaposter er digitalisert av CostPocket. Hver linje 0,02€.\"\n },\n \"invoiceLineDigitization\": {\n \"eng\": \"Digitise invoice lines\",\n \"pol\": \"Digitalizacja pozycji faktury\",\n \"est\": \"Digiteeri arve read\",\n \"rus\": \"Оцифровка строк счетов\",\n \"fin\": \"Laskun rivitietojen digitalisointi\",\n \"lav\": \"Rēķinu rindu digitalizācija\",\n \"swe\": \"Digitalisera fakturarader\",\n \"lit\": \"Skaitmeninti sąskaitos eilutes\",\n \"esp\": \"Digitalizar líneas de factura\",\n \"nor\": \"Digitaliser fakturalinjer\"\n },\n \"supplierNameVATNrOrRegNr\": {\n \"eng\": \"Supplier name, VAT number or reg. number\",\n \"pol\": \"Nazwa dostawcy, NIP, REGON\",\n \"est\": \"Tarnija nimi\",\n \"rus\": \"Название поставщика, нр.НДС или рег. номер\",\n \"fin\": \"Toimittajan nimi, ALV-numero tai yritystunnus\",\n \"lav\": \"Piegādātāja nosaukums, PVN vai Reģ. numurs\",\n \"swe\": \"Leverantörsnamn, VAT-nummer, eller registreringsnummer.\",\n \"lit\": \"Tiekėjo pavadinimas, PVM arba registracijos kodas\",\n \"esp\": \"Nombre del proveedor, número de IVA o registro. número\",\n \"nor\": \"Leverandørnavn, MVA-nummer eller reg. nummer\"\n },\n \"addManually\": {\n \"eng\": \"Add manually\",\n \"pol\": \"Wprowadź ręcznie\",\n \"est\": \"Lisa manuaalselt\",\n \"rus\": \"Добавить вручную\",\n \"fin\": \"Lisää manuaalisesti\",\n \"lav\": \"Pievienot manuāli\",\n \"swe\": \"Lägg till manuellt\",\n \"lit\": \"Pridėti rankiniu būdu\",\n \"esp\": \"Agregar manualmente\",\n \"nor\": \"Legg til manuelt\"\n },\n \"removeIntegration\": {\n \"eng\": \"Remove integration\",\n \"pol\": \"Usuń integrację\",\n \"est\": \"Eemalda liidestus\",\n \"rus\": \"Удалить интеграцию\",\n \"fin\": \"Poista integraatio\",\n \"lav\": \"Atslēgt integrāciju\",\n \"swe\": \"Ta bort integrering\",\n \"lit\": \"Pašalinti integraciją\",\n \"esp\": \"Eliminar integración\",\n \"nor\": \"Fjern integrasjon\"\n },\n \"reportDetails\": {\n \"eng\": \"Report details\",\n \"pol\": \"Szczegóły raportu\",\n \"est\": \"Aruande üksikasjad\",\n \"rus\": \"Содержание отчета\",\n \"fin\": \"Raportin tiedot\",\n \"lav\": \"Pārskata saturs\",\n \"swe\": \"Rapportdetaljer.\",\n \"lit\": \"Ataskaitos informacija\",\n \"esp\": \"Detalles del informe\",\n \"nor\": \"Rapporter detaljer\"\n },\n \"mileage\": {\n \"eng\": \"Mileage\",\n \"pol\": \"Przebieg pojazdu\",\n \"est\": \"Sõidupäevik\",\n \"rus\": \"Километри\",\n \"fin\": \"Kilometrit\",\n \"lav\": \"Kilometri\",\n \"swe\": \"Kilometerantal\",\n \"lit\": \"Nuvažiuota rida\",\n \"esp\": \"Kilometraje\",\n \"nor\": \"Kilometerstand\"\n },\n \"addMileage\": {\n \"eng\": \"Add mileage\",\n \"pol\": \"Dodaj przebieg pojazdu\",\n \"est\": \"Lisa kilomeetrid\",\n \"rus\": \"Добавить километры\",\n \"fin\": \"Lisää kilometrit\",\n \"lav\": \"Pievienot kilometrus\",\n \"swe\": \"Lägg till kilometerantal.\",\n \"lit\": \"Pridėti ridą\",\n \"esp\": \"Agregar kilometraje\",\n \"nor\": \"Legg til kjørelengde\"\n },\n \"submitReport\": {\n \"eng\": \"Submit report\",\n \"pol\": \"Wyślij raport\",\n \"est\": \"Esita aruanne\",\n \"rus\": \"Отправить отчет\",\n \"fin\": \"Lähetä raportti\",\n \"lav\": \"Iesniegt pārskatu\",\n \"swe\": \"Skicka in rapport.\",\n \"lit\": \"Pateikti ataskaitą\",\n \"esp\": \"Enviar reporte\",\n \"nor\": \"Send inn rapport\"\n },\n \"operatorBounce\": {\n \"eng\": \"The e-invoice operator is unable to service you.\",\n \"pol\": \"Operator usługi e-faktura nie może Cię obsłużyć.\",\n \"est\": \"E-arvete operaator ei ole võimeline seda ettevõtet teenindama.\",\n \"rus\": \"Оператор службы электронных счетов не может вас обслужить.\",\n \"fin\": \"Verkkolaskuoperaattori ei ole käytettävissä\",\n \"lav\": \"E-rēķinu operators nevar Jūs apkalpot.\",\n \"swe\": \"E-fakturaoperatören kan inte serva dig\",\n \"lit\": \"E. sąskaitų operatorius negali jūsų aptarnauti.\",\n \"esp\": \"El operador de facturas electrónicas no puede atenderlo.\",\n \"nor\": \"E-fakturaoperatøren kan ikke betjene deg.\"\n },\n \"invalidCredentials\": {\n \"eng\": \"Integration is not working. Please reactivate.\",\n \"pol\": \"Integracja nie działa. Aktywuj ponownie.\",\n \"est\": \"Liidestus ei tööta. Palun deaktiveeri ja aktiveeri liidestus uuesti.\",\n \"rus\": \"Интеграция не работает. Пожалуйста, активируйте интеграцию повторно.\",\n \"fin\": \"Integraatio ei toimi. Aktivoi integraatio uudelleen.\",\n \"lav\": \"Integrācija nedarbojās. Lūdzu, aktivizējiet to vēlreiz.\",\n \"swe\": \"Integreringen fungerar inte. Var god återaktivera.\",\n \"lit\": \"Integracija neveikia. Prašome iš naujo įjungti integraciją.\",\n \"esp\": \"La integración no funciona. Por favor reactivar\",\n \"nor\": \"Integrering fungerer ikke. Vennligst reaktiver.\"\n },\n \"invalidContent\": {\n \"eng\": \"Accounting software is not accepting this document:\",\n \"pol\": \"Oprogramowanie księgowe nie akceptuje dokumentu:\",\n \"est\": \"Raamatupidamistarkvara ei võta seda dokumenti vastu\",\n \"rus\": \"Бухгалтерское программное обеспечение не принимает этот документ:\",\n \"fin\": \"Kirjanpito-ohjelmisto ei hyväksy tätä dokumenttia:\",\n \"lav\": \"Grāmatvedības programma nepieņem šo dokumentu:\",\n \"swe\": \"Bokföringsprogrammet godkänner inte detta dokument.\",\n \"lit\": \"Apskaitos programa nepriima šio dokumento:\",\n \"esp\": \"El software de contabilidad no acepta este documento:\",\n \"nor\": \"Regnskapsprogramvare godtar ikke dette dokumentet:\"\n },\n \"submittedBy\": {\n \"eng\": \"Submitted by\",\n \"pol\": \"Przesłane przez\",\n \"est\": \"Esitas\",\n \"rus\": \"Отправил\",\n \"fin\": \"kirjannut\",\n \"lav\": \"Iesniedza\",\n \"swe\": \"Inskickad av\",\n \"lit\": \"Pateikėjas\",\n \"esp\": \"Presentado por\",\n \"nor\": \"Innsendt av\"\n },\n \"useReports\": {\n \"eng\": \"Enable reports\",\n \"pol\": \"Korzystaj z raportów\",\n \"est\": \"Luba aruannete esitamine\",\n \"rus\": \"Использовать отчеты\",\n \"fin\": \"Salli raportit\",\n \"lav\": \"Iespējot pārskatu veidošanu\",\n \"swe\": \"Möjliggör att skicka in rapporter.\",\n \"lit\": \"Įgalinti ataskaitų pateikimą\",\n \"esp\": \"Habilitar el envío de informes\",\n \"nor\": \"Aktiver innsending av rapporter\"\n },\n \"integrationUsesOnlyReports\": {\n \"eng\": \"integration uses only reports\",\n \"pol\": \"integracja wykorzystuje tylko raporty\",\n \"est\": \"Liidestus töötab ainult aruannetega\",\n \"rus\": \"интеграция использует только отчеты\",\n \"fin\": \"Integraatio käyttää ainoastaan raportteja\",\n \"lav\": \"integrācija izmanto tikai pārskatus\",\n \"swe\": \"integreringen använder endast rapporter\",\n \"lit\": \"integracija naudoja tik ataskaitas\",\n \"esp\": \"integración utiliza solo informes\",\n \"nor\": \"integrasjon bruker kun rapporter\"\n },\n \"integrationDoesNotSupportReports\": {\n \"eng\": \"Integration does not support reports\",\n \"pol\": \"integracja nie obsługuje raportów\",\n \"est\": \"Antud tarkvara liidestusega ei saa aruandeid kasutada\",\n \"rus\": \"интеграция не поддерживает отчеты\",\n \"fin\": \"integraatio ei tue raportteja\",\n \"lav\": \"integrācija neatbalsta pārskatus\",\n \"swe\": \"integreringen har inte stöd för rapporter\",\n \"lit\": \"integracija nepalaiko ataskaitų\",\n \"esp\": \"integración no admite informes\",\n \"nor\": \"Integrasjon støtter ikke rapporter\"\n },\n \"usersCanMakeExpenseAndTravelReports\": {\n \"eng\": \"Users can submit travel, mileage, and expense reports\",\n \"pol\": \"Użytkownicy mogą sporządzać raporty z wydatków i podróży.\",\n \"est\": \"Kasutajad saavad esitada sõidupäevikut, kulu- ja lähetusaruandeid\",\n \"rus\": \"Пользователи могут составлять отчеты о расходах и командировках.\",\n \"fin\": \"käyttäjät voivat tehdä kulu- ja matkaraportteja\",\n \"lav\": \"Lietotāji var veidot izdevumu un komandējumu pārskatus.\",\n \"swe\": \"Användare kan skicka in rese- och utgiftsrapporter\",\n \"lit\": \"Vartotojai gali pateikti kelionių ir išlaidų ataskaitas\",\n \"esp\": \"Los usuarios pueden enviar informes de viajes y gastos\",\n \"nor\": \"Brukere kan sende inn reise- og utgiftsrapporter\"\n },\n \"pleaseTryAgain\": {\n \"eng\": \"Please try again!\",\n \"pol\": \"Spróbuj ponownie!\",\n \"est\": \"Palun proovige uuesti!\",\n \"rus\": \"Пожалуйста, попробуйте еще раз!\",\n \"fin\": \"Yritä uudelleen.\",\n \"lav\": \"Lūdzu, mēģiniet vēlreiz!\",\n \"swe\": \"Var god försök igen!\",\n \"lit\": \"Bandykite dar kartą!\",\n \"esp\": \"¡Inténtalo de nuevo!\",\n \"nor\": \"Vær så snill, prøv på nytt!\"\n },\n \"documentUploadFailed\": {\n \"eng\": \"Document upload failed\",\n \"pol\": \"Przesłanie dokumentu nie powiodło się\",\n \"est\": \"Dokumendi üleslaadimine ebaõnnestus\",\n \"rus\": \"Не удалось загрузить документ\",\n \"fin\": \"Dokumentin lataus epäonnistui\",\n \"lav\": \"Dokumenta augšupielāde neizdevās\",\n \"swe\": \"Uppladdning av dokument misslyckades\",\n \"lit\": \"Nepavyko įkelti dokumento\",\n \"esp\": \"Error al cargar el documento\",\n \"nor\": \"Dokumentopplasting mislyktes\"\n },\n \"notAuthorizedPleaseLogIn\": {\n \"eng\": \"You have been logged out, please log in!\",\n \"pol\": \"Zostałeś wylogowany, zaloguj się!\",\n \"est\": \"Teid on süsteemsit välja logitud, palun logige uuesti sisse!\",\n \"rus\": \"Вы вышли из системы. Пожалуйста, войдите снова!\",\n \"fin\": \"Edellinen istunto suljettu, kirjaudu uudelleen sisään\",\n \"lav\": \"Jūs izgājāt no sistēmas. Lūdzu, pieslēdzieties no jauna!\",\n \"swe\": \"Du har blivit utloggad, var god logga in igen!\",\n \"lit\": \"Jūs buvote išregistruotas, prašome prisijungti!\",\n \"esp\": \"¡Se ha desconectado, por favor inicie sesión!\",\n \"nor\": \"Du har blitt logget ut, vennligst logg inn!\"\n },\n \"automaticallySendEInvoicesToSoftware\": {\n \"eng\": \"Automatically send e-invoices to accounting software.\",\n \"pol\": \"Automatycznie wysyłaj e-faktury do oprogramowania księgowego.\",\n \"est\": \"Saada kõik e-arved automaatselt edasi raamatupidamistarkvarasse\",\n \"rus\": \"Автоматически отправлять эл-счета в бухгалтерское программное обеспечение.\",\n \"fin\": \"Lähetä sähköiset laskut automaattisesti kirjanpitoon\",\n \"lav\": \"Automātiski pārsūtīt e-rēķinus uz grāmatvedības programmu.\",\n \"swe\": \"Skicka e-fakturor automatiskt till bokföringsprogram.\",\n \"lit\": \"Automatiškai siųsti e. sąskaitas į apskaitos programą.\",\n \"esp\": \"Envíe automáticamente facturas electrónicas al software de contabilidad.\",\n \"nor\": \"Send e-faktura automatisk til regnskapsprogramvare.\"\n },\n \"addAnotherEmail\": {\n \"eng\": \"Add another email\",\n \"pol\": \"Dodaj kolejny adres e-mail\",\n \"est\": \"Lisa veel üks e-posti aadress\",\n \"rus\": \"Добавить еще один адрес эл.почты\",\n \"fin\": \"Lisää toinen sähköposti\",\n \"lav\": \"Pievienot vēl vienu e-pastu\",\n \"swe\": \"Lägg till ytterligare e-postadress\",\n \"lit\": \"Pridėti kitą el. paštą\",\n \"esp\": \"Agregar otro correo electrónico\",\n \"nor\": \"Legg til en annen e-post\"\n },\n \"sendNotificationsAboutEInvoicesTo\": {\n \"eng\": \"Send e-invoice copy to:\",\n \"pol\": \"Wyślij kopię e-faktury na adres:\",\n \"est\": \"Saada e-arve koopia emailile:\",\n \"rus\": \"Отправьте копию эл-счета по адресу:\",\n \"fin\": \"Lähetä e-laskun kopio osoitteeseen:\",\n \"lav\": \"Sūtīt e-rēķina kopiju uz:\",\n \"swe\": \"Skicka kopia av e-faktura till:\",\n \"lit\": \"Siųsti e. sąskaitos kopiją į:\",\n \"esp\": \"Envíe una copia de la factura electrónica a:\",\n \"nor\": \"Send kopi av e-faktura til:\"\n },\n \"autoForwardEInvoices\": {\n \"eng\": \"Auto-forward e-invoices\",\n \"pol\": \"Automatyczne przekazywanie e-faktur\",\n \"est\": \"E-arvete automaatne edastamine\",\n \"rus\": \"Автоматическая пересылка эл-счетов\",\n \"fin\": \"Välitä sähköiset laskut automaattisesti\",\n \"lav\": \"Automātiska e-rēķinu pārsūtīšana\",\n \"swe\": \"Vidarebefodra automatiskt e-fakturor\",\n \"lit\": \"Automatinis e. sąskaitų persiuntimas\",\n \"esp\": \"Reenvío automático de facturas electrónicas\",\n \"nor\": \"Automatisk videresending av e-fakturaer\"\n },\n \"organizationEmailInErplyBooks\": {\n \"eng\": \"Company email in ERPLY Books:\",\n \"pol\": \"Adres e-mail organizacji w ERPLY Books:\",\n \"est\": \"ERPLY Booksis olev ettevõtte email:\",\n \"rus\": \"Адрес эл.почты организации в ERPLY Books:\",\n \"fin\": \"Organisaation sähköposti ERPLY Booksissa\",\n \"lav\": \"Uzņēmuma e-pasts sistēmā ERPLY Books:\",\n \"swe\": \"Organisationens e-post i RPLY Books:\",\n \"lit\": \"Organizacijos el. paštas ERPLY Books:\",\n \"esp\": \"Correo electrónico de la organización en ERPLY books:\",\n \"nor\": \"Firmaets e-post i ERPLY Books:\"\n },\n \"fromEmailLabel\": {\n \"eng\": \"From email\",\n \"pol\": \"Z e-maila\",\n \"est\": \"Saadetud emailiga\",\n \"rus\": \"Из эл.почты\",\n \"fin\": \"Sähköpostista\",\n \"lav\": \"No e-pasta\",\n \"swe\": \"Från e-post\",\n \"lit\": \"Iš el. pašto\",\n \"esp\": \"Desde el email\",\n \"nor\": \"Fra e-post\"\n },\n \"useCloudForEditingPDFs\": {\n \"eng\": \"For PDF files we recommend using the cloud environment. Mobile app shows only the first page of PDF file.\",\n \"pol\": \"Do edycji plików PDF zalecamy korzystanie z chmury. Aplikacja mobilna wyświetla tylko pierwszą stronę pliku.\",\n \"est\": \"PDF-failide vaatamiseks soovitame kasutada meie pilvekeskkonda. Mobiilirakendus näitab ainult PDF-faili esimest lehte.\",\n \"rus\": \"Для редактирования PDF-файлов мы рекомендуем использовать нашу облачную среду. Мобильное приложение показывает только первую страницу PDF-файла.\",\n \"fin\": \"PDF-tiedostojen muokkaamiseen suosittelemme pilviympäristöämme. Mobiilisovellus näyttää vain PDF-tiedoston ensimmäisen sivun.\",\n \"lav\": \"Mobilajā lietotnē dokumentiem, kas iesnigti PDF formātā, ir redzama tikai pirmā lapa. Tādēļ šādu dokumentu rediģēšanai iesakām izmantot mākoņpakalpojumu.\",\n \"swe\": \"För PDF-filer rekommenderar vi att ni använder cloud-miljön. Mobilappen visar endast första sidan av PDF:en.\",\n \"lit\": \"PDF failams rekomenduojame naudoti mūsų debesijos aplinką. Mobilioji programėlė rodo tik pirmąjį PDF failo puslapį.\",\n \"esp\": \"Para archivos PDF, recomendamos utilizar el entorno de nube. La aplicación móvil muestra solo la primera página del archivo PDF\",\n \"nor\": \"For PDF-filer anbefaler vi å bruke skymiljøet. Mobilappen viser bare den første siden av PDF-filen.\"\n },\n \"reportWillBeSentAfterAllDocumentsDigitized\": {\n \"eng\": \"Report will be sent to software after all documents are digitised.\",\n \"pol\": \"Raport zostanie wysłany po zdigitalizowaniu wszystkich dokumentów.\",\n \"est\": \"Aruanne saadetakse raamatupidamistarkvarasse, kui kõik dokumendid on digiteeritud.\",\n \"rus\": \"Отчет будет отправлен после того, как все документы будут оцифрованы.\",\n \"fin\": \"Raportti lähetetään, kun kaikki asiakirjat on digitoitu.\",\n \"lav\": \"Atskaite tiks nosūtīta, kad visi pievienotie dokumenti būs digitalizēti.\",\n \"swe\": \"Rapporten kommer skickas till bokföringsprogrammet efter att alla dokument har digitaliserats.\",\n \"lit\": \"Ataskaita bus išsiųsta į programą, kai visi dokumentai bus suskaitmeninti.\",\n \"esp\": \"El reporte se enviará al software después de que todos los documentos estén digitalizados.\",\n \"nor\": \"Rapport vil bli sendt til programvare etter at alle dokumenter er digitalisert.\"\n },\n \"forSomeDatesDailyAllowanceIsAlreadyCalculated\": {\n \"eng\": \"Daily allowance for these dates has already been calculated in another travel report:\",\n \"pol\": \"Diety dzienne dla tych dat zostały już obliczone w innym raporcie z podróży:\",\n \"est\": \"Nende kuupäevadega on päevarahad juba arvutatud teises lähetusaruandes\",\n \"rus\": \"На эти даты суточные уже рассчитаны в другом отчете о поездке:\",\n \"fin\": \"Näille päiville on jo laskettu päiväraha toisessa raportissa:\",\n \"lav\": \"Šiem datumiem dienas nauda jau ir aprēķināta citā ceļojuma pārskatā:\",\n \"swe\": \"Det dagliga underhållet för dessa datum har beräknats i en annan rapport:\",\n \"lit\": \"Dienpinigiai šioms datoms jau buvo apskaičiuoti kitoje kelionės ataskaitoje:\",\n \"esp\": \"La asignación diaria para estas fechas ya se ha calculado en otro reporte de viaje:\",\n \"nor\": \"Dagpenger for disse datoene er allerede beregnet i en annen reiserapport:\"\n },\n \"twoFreeMealsIncluded\": {\n \"eng\": \"2 free meals included a day\",\n \"pol\": \"2 posiłki dziennie\",\n \"est\": \"2 tasuta sööki päevas on hinna sees\",\n \"rus\": \"Включены 2 бесплатных обеда в день\",\n \"fin\": \"2 ilmaista ateriaa päivässä\",\n \"lav\": \"Iekļautas 2 bezmaksas ēdienreizes dienā\",\n \"swe\": \"2 gratis måltider inkluderade per dag\",\n \"lit\": \"2 nemokami patiekalai per dieną įskaičiuoti\",\n \"esp\": \"2 comidas gratis incluidas al día\",\n \"nor\": \"2 gratis måltider inkludert om dagen\"\n },\n \"approve\": {\n \"eng\": \"Approve\",\n \"pol\": \"Zatwierdź\",\n \"est\": \"Kinnita\",\n \"rus\": \"Утвердить\",\n \"fin\": \"Hyväksy\",\n \"lav\": \"Apstiprināt\",\n \"swe\": \"Godkänn\",\n \"lit\": \"Patvirtinti\",\n \"esp\": \"Aprobado\",\n \"nor\": \"Vedta\"\n },\n \"toSaveNatureWeDoNotSupportPaperInvoices\": {\n \"eng\": \"We love nature and do not send paper invoices.\",\n \"pol\": \"Z troski o środowisko nie wysyłamy papierowych faktur.\",\n \"est\": \"Looduse säästmiseks ei toeta me paberarvete saatmist.\",\n \"rus\": \"В целях сохранения природы мы не поддерживаем отправку бумажных счетов.\",\n \"fin\": \"Ympäristösyistä emme kannata paperilaskujen lähettämistä.\",\n \"lav\": \"Lai saudzētu dabu, mēs neatbalstām papīra dokumentu sūtīšanu.\",\n \"swe\": \"För miljöns skull har vi valt att inte skicka pappersfakturor.\",\n \"lit\": \"Tausodami gamtą, popierinių sąskaitų nesiunčiame.\",\n \"esp\": \"Amamos la naturaleza y no enviamos facturas en papel.\",\n \"nor\": \"Vi elsker naturen og sender ikke papirfakturaer.\"\n },\n \"einvoicesIncluded\": {\n \"eng\": \"e-invoices\",\n \"pol\": \"e-faktury\",\n \"est\": \"e-arvet hinna sees\",\n \"rus\": \"эл-счета\",\n \"fin\": \"kpl verkkolaskuja\",\n \"lav\": \"e-rēķini\",\n \"swe\": \"e-fakturor\",\n \"lit\": \"e. sąskaitos\",\n \"esp\": \"facturas electrónicas\",\n \"nor\": \"e-fakturaer\"\n },\n \"eachDocumentOverLimit\": {\n \"eng\": \"Each document over limit\",\n \"pol\": \"Każdy dokument przekraczający limit\",\n \"est\": \"Iga dokument, mis läheb üle paketi limiidi\",\n \"rus\": \"Каждый документ, превышающий лимит\",\n \"fin\": \"Jokainen lisäasiakirja\",\n \"lav\": \"Katrs dokuments pāri limitam\",\n \"swe\": \"Alla dokument över gränsen\",\n \"lit\": \"Kiekvienas dokumentas virš limito\",\n \"esp\": \"Cada documento sobrepasa el límite\",\n \"nor\": \"Hvert dokument overskrider grensen\"\n },\n \"emailInvoicesAndReminders\": {\n \"eng\": \"Email invoices and reminders: free (from your accounting software).\",\n \"pol\": \"Wysyłanie faktur i przypomnień: za darmo (z Twojego programu księgowego).\",\n \"est\": \"Arvete ja meeldetuletuste saatmine emailiga: Tasuta (seda saab teha raamatupidamistarkvarast)\",\n \"rus\": \"Счета и напоминания по электронной почте: бесплатно (из вашей бухгалтерской программы).\",\n \"fin\": \"Sähköpostilaskut ja huomautukset: Ilmaisia (kirjanpito-ohjelmistostasi)\",\n \"lav\": \"E-pasta rēķini un atgādinājumi: bezmaksas (no jūsu grāmatvedības sistēmas).\",\n \"swe\": \"Skicka fakturor och påminnelse över e-post: gratis (från ditt bokföringsprogram).\",\n \"lit\": \"Siųsti sąskaitas ir priminimus: nemokamai (iš jūsų apskaitos programos).\",\n \"esp\": \"Facturas y recordatorios por correo electrónico: gratis (desde su software de contabilidad).\",\n \"nor\": \"E-postfakturaer og påminnelser: gratis (fra regnskapsprogramvaren).\"\n },\n \"sendAndReceiveEinvoices\": {\n \"eng\": \"Send and receive e‑invoices:\",\n \"pol\": \"Wysyłaj i odbieraj e-faktury:\",\n \"est\": \"Saada ja võta vastu e-arveid\",\n \"rus\": \"Отправлять и получать электронные счета:\",\n \"fin\": \"Vastaanota verkkolaskuja\",\n \"lav\": \"Sūtīt un saņemt e-rēķinus:\",\n \"swe\": \"Skicka och motta e-fakturor.\",\n \"lit\": \"Siųsti ir gauti e. sąskaitas:\",\n \"esp\": \"Envíe y reciba facturas electrónicas:\",\n \"nor\": \"Send og motta e-fakturaer:\"\n },\n \"jumisDocTypeEkaCeks\": {\n \"eng\": \"EKA Čeks\",\n \"pol\": \"\",\n \"est\": \"ESA kontroll\",\n \"rus\": \"Квитанция EKA\",\n \"fin\": \"ESA kontrolli\",\n \"lav\": \"EKA Čeks\"\n },\n \"jumisDocTypeEkaZAtskaite\": {\n \"eng\": \"EKA Z atskaite\",\n \"pol\": \"\",\n \"est\": \"ESA Z aruanne\",\n \"rus\": \"Отчет EKA Z\",\n \"fin\": \"ESA Z raportti\",\n \"lav\": \"EKA Z atskaite\"\n },\n \"jumisDocTypePavadzime\": {\n \"eng\": \"Iepirkšanas pavadzīmes kontējums\",\n \"pol\": \"Dokument dostawy zakupu\",\n \"est\": \"Ostu saateleht\",\n \"rus\": \"Ввод заказа на покупку\",\n \"fin\": \"Saapumisilmoitus\",\n \"lav\": \"Iepirkšanas pavadzīmes kontējums\",\n \"esp\": \"Albarán de compra\"\n },\n \"jumisDocTypeKreditrekins\": {\n \"eng\": \"Kredītrēķins\",\n \"pol\": \"\",\n \"est\": \"Krediidiarve\",\n \"rus\": \"Кредитный счет\",\n \"fin\": \"Luottokuitti\",\n \"lav\": \"Kredītrēķins\",\n \"esp\": \"Factura de crédito\",\n \"lit\": \"Kreditinė sąskaita\"\n },\n \"jumisDocTypeRekins\": {\n \"eng\": \"Rēķina kontējums\",\n \"pol\": \"Księgowanie faktur\",\n \"est\": \"Arvete konteerimine\",\n \"rus\": \"Проводка счетов-фактур\",\n \"fin\": \"Kuittien koontaminen\",\n \"lav\": \"Rēķina kontējums\",\n \"esp\": \"Contabilización de facturas\"\n },\n \"userNameNotSentToSoftware\": {\n \"eng\": \"User name is not sent to software\",\n \"pol\": \"Nazwa użytkownika nie jest wysyłana do oprogramowania\",\n \"est\": \"Kasutaja nime ei edastata programmi\",\n \"rus\": \"Имя пользователя не отправляется в программное обеспечение\",\n \"fin\": \"Käyttäjätunnusta ei lähetetä eteenpäin\",\n \"lav\": \"Nesūtīt uz grāmatvedības programmatūru lietotāja vārdu\",\n \"swe\": \"Användarens namn skickas inte till bokföringsprogrammet.\",\n \"lit\": \"Vartotojo vardas nėra siunčiamas į programą\",\n \"esp\": \"El nombre de usuario no se envía al software\",\n \"nor\": \"Brukernavn sendes ikke til programvare\"\n },\n \"removeSubmitterNameWhenDocSentToSoftware\": {\n \"eng\": \"Remove submitter name when document is sent to accounting software. Example: accountant is submitting receipts\",\n \"pol\": \"Usunięcie nazwy wysyłającego, gdy dokument jest wysyłany do programu księgowego. Przykład: gdy księgowy przesyła dokumenty\",\n \"est\": \"Dokument saadetakse raamatupidamistarkvarasse ilma esitaja nimeta. Näide: raamatupidaja esitab kviitungeid\",\n \"rus\": \"Удалите имя отправителя при отправке документа в бухгалтерское программное обеспечение. Пример: бухгалтер подает квитанции\",\n \"fin\": \"Poista kirjaajan nimi, kun asiakirja lähetetään kirjanpito-ohjelmistoon. Esimerkki: Kirjanpitäjä kirjaa kuitteja\",\n \"lav\": \"Noņemt dokumentu iesniedzēja vārdu, kad dokuments tiek sūtīts uz grāmatvedības programmatūru\",\n \"swe\": \"Ta bort användarens namn då dokumentet skickas till bokföringsprogrammet. Exempel: kvitton inskickade av revisor\",\n \"lit\": \"Pašalinti pateikėjo vardą, kai dokumentas siunčiamas į apskaitos programą. Pavyzdžiui, kai buhalteris pateikia kvitus\",\n \"esp\": \"Elimine el nombre del remitente cuando el documento se envíe al software de contabilidad. Ejemplo: el contador está enviando recibos\",\n \"nor\": \"Fjern innsendernavn når dokument sendes til regnskapsprogramvare. Eksempel: regnskapsfører sender inn kvitteringer\"\n },\n \"jumisDocType\": {\n \"eng\": \"Optional: Document type for Finanšu Dokumenti\",\n \"pol\": \"Nieobowiązkowe: Rodzaj dokumentu dla Finanšu Dokumenti\",\n \"est\": \"Valikuline: Documendi tüüp Finanšu Dokumenti jaoks\",\n \"rus\": \"Необязательно: Тип документа для Finanšu Dokumenti\",\n \"fin\": \"Valinnainen: Dokumenttityyppi Finanšu Dokumenti\",\n \"lav\": \"Neobligāti: Dokumentu tips priekš Finanšu Dokumentiem\",\n \"esp\": \"Opcional: tipo de documento para Finanšu Dokumenti\",\n \"nor\": \"Valgfritt: Dokumenttype for Finanšu Dokumenti\",\n \"lit\": \"Pasirenkama: Finanšu Dokumenti dokumentų tipas\"\n },\n \"calculateAllowanceWeekends\": {\n \"eng\": \"Calculate allowance for weekends\",\n \"pol\": \"Oblicz dietę za weekendy\",\n \"est\": \"Arvuta nädalavahetuse päevarahad\",\n \"rus\": \"Рассчитать надбавку за выходные дни\",\n \"fin\": \"Laske päiväraha la-su\",\n \"lav\": \"Iekļaut dienas naudas aprēķinā nedēļas nogales\",\n \"swe\": \"Beräkna underhåll för veckoslutet\",\n \"lit\": \"Apskaičiuoti išmoką už savaitgalius\",\n \"esp\": \"Calcular la asignación para los fines de semana\",\n \"nor\": \"Beregn godtgjørelse for helger\"\n },\n \"returnedHomeOvernight\": {\n \"eng\": \"Returned home overnight\",\n \"pol\": \"Powrót do domu na noc\",\n \"est\": \"Jõuan tagasi koju järgmisel päeval\",\n \"rus\": \"Вернулся домой на ночь\",\n \"fin\": \"Kotiinpaluu yöllä\",\n \"lav\": \"Nakšņošana pastāvīgajā dzīvesvietā\",\n \"swe\": \"Återvände hem under natten.\",\n \"lit\": \"Grįžta namo per naktį\",\n \"esp\": \"Regresó a casa durante la noche\",\n \"nor\": \"Kom hjem over natten\"\n },\n \"accomodationAndFreeMeal\": {\n \"eng\": \"Accommodation and 3 free meals per day included\",\n \"pol\": \"Zakwaterowanie i 3 posiłki dziennie wliczone\",\n \"est\": \"Majutus ja 3 tasuta sööki päevas on juba tasutud\",\n \"rus\": \"В стоимость включено проживание и 3-х разовое питание.\",\n \"fin\": \"Majoitus ja 3 ilmaista ateriaa päivässä\",\n \"lav\": \"Bija nodrošināta naktsmītne un 3 ēdienreizes\",\n \"swe\": \"Boende samt 3 måltider per dag är inkluderade.\",\n \"lit\": \"Apgyvendinimas ir 3 nemokami patiekalai per dieną įskaičiuoti\",\n \"esp\": \"Alojamiento y 3 comidas gratis por día incluidas.\",\n \"nor\": \"Overnatting og 3 gratis måltider per dag inkludert\"\n },\n \"efExReportsNotEnabled\": {\n \"eng\": \"Report cannot be submitted. Administrator can enable reports in settings.\",\n \"pol\": \"Raport nie może zostać przesłany. Administrator może aktywować funkcję raportów w ustawieniach.\",\n \"est\": \"Sellel ettevõttel ei ole aruannete tegemine lubatud, administraator saab aruanded sisse lülitada seadete alt.\",\n \"rus\": \"Отчеты для этой компании не включены. Этот отчет нельзя отправить в бухгалтерскую систему.\",\n \"fin\": \"Yritys ei ole ottanut käyttöön Raportit-toimintoa, raporttia ei voida lähettää\",\n \"swe\": \"Rapport kan inte skickas in. Administratören kan aktivera rapporter i inställningar.\",\n \"lav\": \"Šim uzņēmumam nav iespējota pārskatu lietošana. Šo pārskatu nevar nosūtīt uz grāmatvedības sistēmu.\",\n \"lit\": \"Ataskaita negali būti pateikta. Administratoriai ataskaitas turėtų įgalinti nustatymuose.\",\n \"esp\": \"No se puede enviar el informe. El administrador puede habilitar reportes en la configuración\",\n \"nor\": \"Rapport kan ikke sendes inn. Administrator kan aktivere rapporter i innstillinger.\"\n },\n \"efExDocNotSubmitted\": {\n \"eng\": \"Document has not been submitted by user, cannot send to software\",\n \"pol\": \"Użytkownik nie przesłał tego dokumentu, nie można go wysłać do oprogramowania\",\n \"est\": \"Kasutaja ei ole veel seda dokumenti ära esitanud, ei saa raamatupidamistarkvarasse saata\",\n \"rus\": \"Документ не загружен - не может быть отправлен в программу. Попробуйте позже!\",\n \"fin\": \"Tositetta ei ole kirjattu, ei voida lähettää kirjanpitoon\",\n \"swe\": \"Dokumentet har inte skickats in av användare, kan inte skickas till bokföringsprogrammet.\",\n \"lav\": \"Lietotājam neizdevās augšupielādēt dokumentu. To nevar nosūtīt uz grāmatvedības sistēmu. Mēģiniet vēlreiz!\",\n \"lit\": \"Vartotojas nepateikė dokumento, negalima siųsti į programą\",\n \"esp\": \"El usuario no ha enviado el documento, no se puede enviar al software\",\n \"nor\": \"Dokument er ikke sendt inn av bruker, kan ikke sendes til programvare\"\n },\n \"efExReportNotApproved\": {\n \"eng\": \"Report has not been approved, cannot send to software\",\n \"pol\": \"Raport nie został zatwierdzony, nie można go wysłać do oprogramowania\",\n \"est\": \"Aruanne ei ole veel kinnitatud, ei saa raamatupidamistarkvarasse saata\",\n \"rus\": \"Отчет не утвержден - не может быть отправлен в программу.\",\n \"fin\": \"Raporttia ei ole hyväksytty, ei voida lähettää kirjanpitoon\",\n \"swe\": \"Rapporten har inte blivit godkänd, kan inte skickas till bokföringsprogrammet.\",\n \"lav\": \"Pārskats nav apstiprināts. To nevar nosūtīt uz grāmatvedības sistēmu.\",\n \"lit\": \"Ataskaita nebuvo patvirtinta, negalima siųsti į programą\",\n \"esp\": \"El reporte no ha sido aprobado, no se puede enviar al software\",\n \"nor\": \"Rapporten er ikke godkjent, kan ikke sendes til programvare\"\n },\n \"efExDocNotApproved\": {\n \"eng\": \"Document has not been approved by user, cannot send to software\",\n \"pol\": \"Dokument nie został zatwierdzony przez użytkownika, nie można go wysłać do oprogramowania\",\n \"est\": \"Kasutaja ei ole veel dokumenti kinnitatud, ei saa raamatupidamistarkvarasse saata\",\n \"rus\": \"Документ еще не утвержден пользователем - не может быть отправлен в программу.\",\n \"fin\": \"Dokumenttia ei ole hyväksytty, ei voida lähettää kirjanpitoon\",\n \"swe\": \"Dokumentet har inte blivit godkänt av användare, kan inte skicka till bokföringsprogrammet.\",\n \"lav\": \"Lietotājs nav apstiprinājis šo dokumentu. To nevar nosūtīt uz grāmatvedības sistēmu.\",\n \"lit\": \"Vartotojas nepatvirtino dokumento, negalima siųsti į programą\",\n \"esp\": \"El documento no ha sido aprobado por el usuario, no se puede enviar al software\",\n \"nor\": \"Dokument er ikke godkjent av bruker, kan ikke sendes til programvare\"\n },\n \"efExDocPartOfReport\": {\n \"eng\": \"Document cannot be sent separately. Submit the full report instead.\",\n \"pol\": \"Dokument nie może być wysłany oddzielnie. Należy przesłać pełny raport.\",\n \"est\": \"See dokument on aruande sees, saatke terve aruanne korraga raamatupidamisse\",\n \"rus\": \"Документ является частью отчета, его нельзя отправить в программу.\",\n \"fin\": \"Tosite on osa raporttia, ei voida lähettää ohjelmistoon\",\n \"swe\": \"Dokument kan inte skickas separat. Skicka in hela rapporten istället.\",\n \"lav\": \"Šis dokuments ir daļa no pārskata. To nevar pārsūtīt uz grāmatvedības sistēmu.\",\n \"lit\": \"Negalima siųsti dokumento atskirai. Vietoj to pateikite visą ataskaitą.\",\n \"esp\": \"El documento no se puede enviar por separado. Envíe el reporte completo.\",\n \"nor\": \"Dokument kan ikke sendes separat. Send inn hele rapporten i stedet.\"\n },\n \"efExSendingDocsNotAllowed\": {\n \"eng\": \"Sending single documents has been disabled, please add this document to a report\",\n \"pol\": \"Wysyłanie pojedynczych dokumentów zostało wyłączone, dodaj ten dokument do raportu\",\n \"est\": \"Üksikute dokumentide saatmine on keelatud, palun lisage see dokument aruandesse\",\n \"rus\": \"Отправка отдельных документов отключена, добавьте этот документ в отчет.\",\n \"fin\": \"Yksittäisten tositteiden lähettäminen ei ole käytössä. Lisää tosite raporttiin.\",\n \"lav\": \"Individuālu dokumentu sūtīšana ir atslēgta. Lūdzu, pievienojiet šo dokumentu pārskatam.\",\n \"swe\": \"Att skicka enskilda dokument har inaktiverats, var god lägg till dokumentet i en rapport.\",\n \"lit\": \"Atskirų dokumentų siuntimas yra išjungtas. Pridėkite šį dokumentą prie ataskaitos\",\n \"esp\": \"Se inhabilitó el envío de documentos individuales, agregue este documento a un reporte\",\n \"nor\": \"Sending av enkeltdokumenter har blitt deaktivert. Legg til dette dokumentet i en rapport\"\n },\n \"efExReportNotSubmitted\": {\n \"eng\": \"Report has not been submitted by user, cannot send to software\",\n \"pol\": \"Raport nie został jeszcze przesłany przez użytkownika, nie można go przesłać do oprogramowania księgowego\",\n \"est\": \"Aruanne ei ole veel kasutaja poolt esitatud, ei saa raamatupidamistarkvarasse saata\",\n \"rus\": \"Отчет не был отправлен пользователем, невозможно отправить в программное обеспечение\",\n \"fin\": \"Raporttia ei ole kirjattu, tietoja ei voida lähettää kirjanpitoon\",\n \"lav\": \"Neizdevās nosūtīt pārskatu\",\n \"swe\": \"Rapporten har inte skickats in av användare, kan inte skickas till bokföringsprogram\",\n \"lit\": \"Vartotojas nepateikė ataskaitos, negalima siųsti į programą\",\n \"esp\": \"El usuario no ha enviado el reporte, no se puede enviar al software\",\n \"nor\": \"Rapport er ikke sendt av bruker, kan ikke sendes til programvare\"\n },\n \"removeAndEditStepsNotNeccessary\": {\n \"eng\": \"Remove and edit input steps according to your company's needs.\",\n \"pol\": \"Usuń i edytuj etapy wprowadzania danych zgodnie z potrzebami Twojej organizacji.\",\n \"est\": \"Muutke dokumendi lisamise protsessi vastavalt teie ettevõtte nõuetele\",\n \"rus\": \"Отключение и редактирование шагов ввода данных пользователем, которые запрашиваются при оцифровке документа.\",\n \"fin\": \"Poista ja muokkaa kirjausvaiheita, jotka eivät ole välttämättömiä organisaatiollesi\",\n \"lav\": \"Noņemiet un personalizējiet jautājumus kuri tiek uzdoti pie dokumentu digitalizēšanas.\",\n \"swe\": \"Ta bort och ändra inmatningssteg enligt din organisations behov.\",\n \"lit\": \"Pašalinti ir redaguoti vartotojo įvesties veiksmus, kurie jūsų organizacijai nebūtini.\",\n \"esp\": \"Elimine y edite los pasos de ingreso de acuerdo con las necesidades de su organización.\",\n \"nor\": \"Fjern og rediger inndatatrinn i henhold til bedriftens behov.\"\n },\n \"allowUsersSelectPaymentType\": {\n \"eng\": \"Allow users to select whether they paid by personal or company funds\",\n \"pol\": \"Umożliwienie użytkownikom wyboru, czy płacą z funduszy osobistych czy firmowych\",\n \"est\": \"Luba kasutajatel valida, kas maksti eraisikuna või ettevõtte vahenditest\",\n \"rus\": \"Разрешить пользователям сообщать, платили ли они из личных или коммерческих средств.\",\n \"fin\": \"Salli käyttäjän kirjata, maksoivatko he henkilökohtaisilla vai yrityksen varoilla\",\n \"lav\": \"Ļaut lietotājiem norādīt vai tika maksāts ar personīgajiem, vai uzņēmuma līdzekļiem.\",\n \"swe\": \"Tillåt användare att fylla i om de betalt med privata eller företagspengar\",\n \"lit\": \"Leisti vartotojams pasirinkti ar jie mokėjo asmeninėmis ar įmonės lėšomis\",\n \"esp\": \"Permitir a los usuarios seleccionar si pagaron con fondos personales o de la empresa\",\n \"nor\": \"Tillat brukere å velge om de betalte med personlige eller bedriftsmidler\"\n },\n \"youCanCreateAndSelectCustomExpenseTypes\": {\n \"eng\": \"Create and select expense types for your company\",\n \"pol\": \"Twórz i wybieraj rodzaje kosztów dla swojej firmy\",\n \"est\": \"Looge kululiigid, mis vastavad teie ettevõtte vajadustele\",\n \"rus\": \"Создавайте и выбирайте собственные типы расходов.\",\n \"fin\": \"Voit luoda ja valita omia kululajeja\",\n \"lav\": \"Veidojiet un atlasiet savus izdevumu veidus.\",\n \"swe\": \"Du kan skapa och välja dina egna utgiftstyper\",\n \"lit\": \"Galite sukurti ir pasirinkti išlaidų tipus\",\n \"esp\": \"Cree y seleccione tipos de gastos para su empresa\",\n \"nor\": \"Opprett og velg utgiftstyper for din bedrift\"\n },\n \"addNextDestination\": {\n \"eng\": \"Add destination\",\n \"pol\": \"Dodaj miejsce docelowe\",\n \"est\": \"Lisa järgmine sihtkoht\",\n \"rus\": \"Добавить пункт назначения\",\n \"fin\": \"Lisää määränpää\",\n \"lav\": \"Pievienot galamērķi\",\n \"swe\": \"Lägg till destination\",\n \"lit\": \"Pridėti kelionės šalį\",\n \"esp\": \"Agregar destino\",\n \"nor\": \"Legg til destinasjon\"\n },\n \"enableForwardingSingleDocuments\": {\n \"eng\": \"Enable single documents\",\n \"pol\": \"Możliwość przesyłania pojedynczych dokumentów\",\n \"est\": \"Luba üksikute dokumentide saatmine raamatupidamistarkvarasse\",\n \"rus\": \"Разрешить подачу отдельных документов\",\n \"fin\": \"Salli yksittäisten tositteiden lähetys\",\n \"lav\": \"Atļaut individuālu dokumentu iesniegšanu\",\n \"swe\": \"Möjliggör vidarebefodring av enstaka dokument\",\n \"lit\": \"Įgalinti atskirų dokumentų siuntimą\",\n \"esp\": \"Habilitar el reenvío de documentos individuales\",\n \"nor\": \"Aktiver videresending av enkeltdokumenter\"\n },\n \"documentsCanBeForwardedOneByOne\": {\n \"eng\": \"Documents can be forwarded one by one without a report\",\n \"pol\": \"Dokumenty mogą być przekazywane pojedynczo, bez raportów\",\n \"est\": \"Ilma aruandeta dokumente on võimalik saata raamatupidamistarkvarasse\",\n \"rus\": \"Документы можно пересылать по одному (без отчетов).\",\n \"fin\": \"Tositteet voidaan lähettää yksitellen (ilman raportteja)\",\n \"lav\": \"Dokumenti var tikt pārsūtīti pa vienam (bez pārskata).\",\n \"swe\": \"Dokument kan vidarebefodras ett åt gången (utan rapporter)\",\n \"lit\": \"Dokumentai gali būti persiųsti po vieną be ataskaitų\",\n \"esp\": \"Los documentos se pueden reenviar uno por uno (sin reportes).\",\n \"nor\": \"Dokumenter kan videresendes ett etter ett (uten rapporter).\"\n },\n \"userInputSteps\": {\n \"eng\": \"Choose input steps\",\n \"pol\": \"Etapy wprowadzania danych\",\n \"est\": \"Kasutajalt küsitavad sammud\",\n \"rus\": \"Шаги ввода\",\n \"fin\": \"Kirjausvaiheet\",\n \"lav\": \"Veicot digitalizēšanu likt norādīt:\",\n \"swe\": \"Inmatningssteg\",\n \"lit\": \"Įvesties žingsniai\",\n \"esp\": \"Agregar pasos\",\n \"nor\": \"Legg inn trinn\"\n },\n \"digitizing\": {\n \"eng\": \"Being digitised\",\n \"pol\": \"W trakcie digitalizacji\",\n \"est\": \"Digiteerimisel\",\n \"rus\": \"Оцифровывается\",\n \"fin\": \"Digitoidaan\",\n \"lav\": \"Tiek digitalizēts\",\n \"swe\": \"Digitaliseras\",\n \"lit\": \"Skaitmeninama\",\n \"esp\": \"En digitalización\",\n \"nor\": \"Blir digitalisert\"\n },\n \"submitted\": {\n \"eng\": \"Submitted\",\n \"pol\": \"Wysłano\",\n \"est\": \"Esitatud\",\n \"rus\": \"Подано\",\n \"fin\": \"Toimitettu\",\n \"lav\": \"Iesniegts\",\n \"swe\": \"Inlämnad\",\n \"lit\": \"Pateikta\",\n \"esp\": \"Enviado\",\n \"nor\": \"Sendt inn\"\n },\n \"approving\": {\n \"eng\": \"Being approved\",\n \"pol\": \"Oczekuje na zatwierdzenie\",\n \"est\": \"Kinnitamisel\",\n \"rus\": \"Утверждается\",\n \"fin\": \"Hyväksytään\",\n \"lav\": \"Gaida apstiprinājumu\",\n \"swe\": \"Bekräftas\",\n \"lit\": \"Tvirtinama\",\n \"esp\": \"En aprobación\",\n \"nor\": \"Blir godkjent\"\n },\n \"reportIsAlreadySubmitted\": {\n \"eng\": \"This report has already been submitted\",\n \"pol\": \"Ten raport został już przesłany\",\n \"est\": \"Aruanne on juba esitatud\",\n \"rus\": \"Отчет уже отправлен\",\n \"fin\": \"Tämä raportti on jo lähetetty\",\n \"lav\": \"Šis pārskats jau ir iesniegts\",\n \"swe\": \"Denna rapport har redan skickats in\",\n \"lit\": \"Ši ataskaita jau buvo pateikta\",\n \"esp\": \"Este informe ya ha sido enviado\",\n \"nor\": \"Denne rapporten er allerede sendt inn\"\n },\n \"efExDocPendingApproval\": {\n \"eng\": \"Document is still waiting for approval.\",\n \"pol\": \"Dokument czeka na zatwierdzenie\",\n \"est\": \"Kuludokument ootab veel kinnitamist\",\n \"rus\": \"Документ все еще ожидает утверждения.\",\n \"fin\": \"Dokumentti odottaa edelleen hyväksymistä\",\n \"lav\": \"Dokuments vēl nav apstiprināts.\",\n \"swe\": \"Dokumentet avvaktar fortfarande bekräftelse\",\n \"lit\": \"Dokumentas vis dar laukia patvirtinimo\",\n \"esp\": \"Documento en espera de aprobación\",\n \"nor\": \"Dokumentet venter fortsatt på godkjenning.\"\n },\n \"efExReportPendingApproval\": {\n \"eng\": \"Report is still waiting for approval\",\n \"pol\": \"Raport czeka na zatwierdzenie\",\n \"est\": \"Aruanne ootab veel kinnitamist\",\n \"rus\": \"Отчет все еще ожидает утверждения\",\n \"fin\": \"Raportti odottaa edelleen hyväksymistä\",\n \"lav\": \"Pārskats vēl nav apstiprināts\",\n \"swe\": \"Rapporten avvaktar fortfarande bekräftelse\",\n \"lit\": \"Ataskaita vis dar laukia patvirtinimo\",\n \"esp\": \"Reporte en espera de aprobación\",\n \"nor\": \"Rapporten venter fortsatt på godkjenning\"\n },\n \"efExDocNotDigitized\": {\n \"eng\": \"Document is not digitised. Do it manually or wait until it is digitised by CostPocket (usually in 7-9 hours).\",\n \"pol\": \"Dokument nie jest jeszcze zdigitalizowany. Możesz zdigitalizować go ręcznie lub poczekać (zwykle zajmuje to 7-9 godzin)\",\n \"est\": \"Dokument on digiteerimisel. Saate selle digiteerida manuaalselt või oodata, kuni see digiteeritakse (tavaliselt kulub 7–9 tundi)\",\n \"rus\": \"Документ не оцифрован. Вы можете оцифровать его вручную или дождаться оцифровки (обычно это занимает 7-9 часов)\",\n \"fin\": \"Asiakirjaa ei ole digitoitu. Voit tehdä sen manuaalisesti tai odottaa prosessin valmistumista ( kesto 7-9 tuntia).\",\n \"lav\": \"Dokuments nav digitalizēts. Jūs varat to digitalizēt manuāli vai sagaidīt līdz tas tiks digitalizēts (vidēji tas notiek 7-9 stundu laikā)\",\n \"swe\": \"Dokumentet är inte digitaliserat. Gör det manuellt eller vänta tills det blir digitaliserat av CostPocket (tar vanligtvis 7-9 timmar).\",\n \"lit\": \"Dokumentas nėra skaitmenintas. Skaitmeninkite rankiniu būdu arba palaukite, kol jis bus suskaitmenintas (trunka apie 7-9 valandas)\",\n \"esp\": \"El documento no está digitalizado. Hágalo manualmente o espere hasta que sea digitalizado por CostPocket (generalmente en 7-9 horas).\",\n \"nor\": \"Dokumentet er ikke digitalisert. Gjør det manuelt eller vent til det er digitalisert av CostPocket (vanligvis 7-9 timer).\"\n },\n \"erpDocNr\": {\n \"eng\": \"ERP document nr.\",\n \"pol\": \"Nr dokumentu ERP.\",\n \"est\": \"ERP Dokumendi nr.\",\n \"rus\": \"Номер документа ERP\",\n \"fin\": \"ERP-dokumentin numero\",\n \"lav\": \"ERP Dokumenta nr.\",\n \"swe\": \"ERP dokumentnummer\",\n \"lit\": \"ERP dokumento nr.\",\n \"esp\": \"Nro. Documento ERP\",\n \"nor\": \"ERP dokument nr.\"\n },\n \"addAnotherCar\": {\n \"eng\": \"Add another car\",\n \"pol\": \"Dodaj kolejny samochód\",\n \"est\": \"Lisa uus sõiduk\",\n \"rus\": \"Добавить другую машину\",\n \"fin\": \"Lisää toinen auto\",\n \"lav\": \"Pievienot citu automašīnu\",\n \"swe\": \"Lägg till ytterligare bil\",\n \"lit\": \"Pridėti kitą automobilį\",\n \"esp\": \"Agregar otro auto\",\n \"nor\": \"Legg til en annen bil\"\n },\n \"privateCar\": {\n \"eng\": \"Private car\",\n \"pol\": \"Prywatny samochód\",\n \"est\": \"Isiklik sõiduauto\",\n \"rus\": \"Личный автомобиль\",\n \"fin\": \"Yksityisauto\",\n \"lav\": \"Privātais auto\",\n \"swe\": \"Privatbil\",\n \"lit\": \"Privatus automobilis\",\n \"esp\": \"Auto privado\",\n \"nor\": \"Privat bil\"\n },\n \"addCarPlateNumber\": {\n \"eng\": \"Add car plate number\",\n \"pol\": \"Dodaj numer rejestracyjny samochodu\",\n \"est\": \"Lisa sõiduki numbrimärk\",\n \"rus\": \"Добавьте регистрационный номер автомобиля\",\n \"fin\": \"Lisää auton rekisterinumero\",\n \"lav\": \"Pievienot automašīnas reģistrācijas numuru\",\n \"swe\": \"Lägg till bilens registreringsnummer\",\n \"lit\": \"Pridėti automobilio valstybinį numerį\",\n \"esp\": \"Agregar Número de placa del auto\",\n \"nor\": \"Legg til bilskiltnummer\"\n },\n \"plateNumber\": {\n \"eng\": \"Plate number\",\n \"pol\": \"Numer rejestracyjny\",\n \"est\": \"Sõiduki numbrimärk\",\n \"rus\": \"Регистрационный номер автомобиля\",\n \"fin\": \"Rekisterinumero\",\n \"lav\": \"Transportlīdzekļa reģistrācijas numurs\",\n \"swe\": \"Registreringsnummer\",\n \"lit\": \"Valstybinis numeris\",\n \"esp\": \"Número de placa\",\n \"nor\": \"Skiltnummer\"\n },\n \"addOdometerReadings\": {\n \"eng\": \"Add odometer readings\",\n \"pol\": \"Dodaj odczyty z licznika\",\n \"est\": \"Lisa odomeetri näidud\",\n \"rus\": \"Добавить показания одометра\",\n \"fin\": \"Lisää matkamittarin lukemat\",\n \"lav\": \"Pievienot odometra rādījumus\",\n \"swe\": \"Lägg till vägmätaravläsning\",\n \"lit\": \"Pridėti odometro rodmenis\",\n \"esp\": \"Agregar lecturas del odómetro\",\n \"nor\": \"Legg til kilometertelleravlesninger\"\n },\n \"odometerReadings\": {\n \"eng\": \"Odometer readings\",\n \"pol\": \"Odczyty z licznika\",\n \"est\": \"Odomeetri näit\",\n \"rus\": \"Показания одометра\",\n \"fin\": \"Matkamittarin lukemat\",\n \"lav\": \"Odometra rādījumi\",\n \"swe\": \"Vägmätaravläsning\",\n \"lit\": \"Odometro rodmenys\",\n \"esp\": \"Lecturas del odómetro\",\n \"nor\": \"Kilometertelleravlesninger\"\n },\n \"remainingCompensation\": {\n \"eng\": \"Remaining amount that can be compensated this month\",\n \"pol\": \"Pozostała kwota, która może być wyrównana w tym miesiącu\",\n \"est\": \"Sellel kuul on võimalik veel saada sõiduhüvitist summas\",\n \"rus\": \"Оставшаяся сумма, которую можно компенсировать в этом месяце\",\n \"fin\": \"Jäljellä oleva summa, joka voidaan korvata tässä kuussa\",\n \"lav\": \"Atlikusī summa, kas šomēnes var tikt kompensēta\",\n \"swe\": \"Kvarvarande summa som kan användas denna månad\",\n \"lit\": \"Likusi suma, kurią galima kompensuoti šį mėnesį\",\n \"esp\": \"Importe restante que se puede compensar este mes\",\n \"nor\": \"Resterende beløp som kan kompenseres denne måneden\"\n },\n \"odometerInitial\": {\n \"eng\": \"Initial odometer reading\",\n \"pol\": \"Wstępny odczyt licznika\",\n \"est\": \"Odomeetri algnäit\",\n \"rus\": \"Первоначальное показание одометра\",\n \"fin\": \"Matkamittarin alkulukema\",\n \"lav\": \"Odometra sākuma rādījums\",\n \"swe\": \"Vägmätare innan start\",\n \"lit\": \"Pradiniai odometro rodmenys\",\n \"esp\": \"Lectura inicial del odómetro\",\n \"nor\": \"Første kilometertelleravlesning\"\n },\n \"odometerEnd\": {\n \"eng\": \"Odometer end reading\",\n \"pol\": \"Końcowy odczyt licznika\",\n \"est\": \"Odomeetri lõppnäit\",\n \"rus\": \"Окончательное показание одометра\",\n \"fin\": \"Matkamittarin loppulukema\",\n \"lav\": \"Odometra beigu rādījums\",\n \"swe\": \"Slutläsning vägmätare\",\n \"lit\": \"Galutiniai odometro rodmenys\",\n \"esp\": \"Lectura final del odómetro\",\n \"nor\": \"Kilometerteller sluttavlesning\"\n },\n \"markAsNonCostDocument\": {\n \"eng\": \"Mark as attachment\",\n \"pol\": \"Oznacz jako załącznik\",\n \"est\": \"Muuda aruande manuseks\",\n \"rus\": \"Преобразовать во приложение\",\n \"fin\": \"Merkitse muuksi liitteeksi\",\n \"lav\": \"Pārveidot par pielikumu\",\n \"swe\": \"Markera som bilaga\",\n \"lit\": \"Pažymėti kaip priedą\",\n \"esp\": \"Marcar como adjunto\",\n \"nor\": \"Merk som vedlegg\"\n },\n \"markAsCostDocument\": {\n \"eng\": \"Mark as cost document\",\n \"pol\": \"Oznacz jako dokument kosztowy\",\n \"est\": \"Muuda kuludokumendiks\",\n \"rus\": \"Преобразовать в документ затрат\",\n \"fin\": \"Merkitse kulutositteeksi\",\n \"lav\": \"Pārveidot par izdevumu dokumentu\",\n \"swe\": \"Markera som kostnadsdokument\",\n \"lit\": \"Pažymėti kaip išlaidų dokumentą\",\n \"esp\": \"Marcar como documento de costos\",\n \"nor\": \"Merk som kostnadsdokument\"\n },\n \"nonCostDocument\": {\n \"eng\": \"Attachment\",\n \"pol\": \"Załącznik\",\n \"est\": \"Muu dokument\",\n \"rus\": \"Приложение\",\n \"fin\": \"Muu liite\",\n \"lav\": \"Pielikums\",\n \"swe\": \"Bilaga\",\n \"lit\": \"Priedas\",\n \"esp\": \"Adjunto\",\n \"nor\": \"Vedlegg\"\n },\n \"omitForeignVAT\": {\n \"eng\": \"Remove foreign VAT\",\n \"pol\": \"Usuń zagraniczny podatek VAT\",\n \"est\": \"Eemalda välismaa dokumentide KM\",\n \"rus\": \"Игнорировать иностранный НДС\",\n \"fin\": \"Poista ulkomainen ALV\",\n \"lav\": \"Ignorēt ārzemju PVN\",\n \"swe\": \"Ta bort utländsk VAT\",\n \"lit\": \"Pašalinti užsienio PVM\",\n \"esp\": \"Elimine IVA extranjero\",\n \"nor\": \"Fjern utenlandsk MVA\"\n },\n \"removeForeignVATWhenForwardingDocument\": {\n \"eng\": \"Remove foreign VAT when document is sent to accounting software\",\n \"pol\": \"Usuń zagraniczny VAT podczas wysyłania dokumentu do programu księgowego\",\n \"est\": \"Raamatupidamistarkvarasse ei saadeta välismaa dokumentide KM-u\",\n \"rus\": \"Не отправлять данные иностранного НДС в бухгалтерскую программу\",\n \"fin\": \"Poista ulkomainen ALV ennen tositteen lähettämistä kirjanpitoon\",\n \"lav\": \"Nesūtīt ārvalstu PVN datus uz grāmatvedības programmatūru\",\n \"swe\": \"Ta bort utländsk VAT när dokumentet skickas till bokföringsprogrammet\",\n \"lit\": \"Pašalinti užsienio PVM prieš siunčiant dokumentą į apskaitos programą\",\n \"esp\": \"Elimine el IVA extranjero cuando el documento se envíe al software de contabilidad\",\n \"nor\": \"Fjern utenlandsk merverdiavgift når dokument sendes til regnskapsprogram\"\n },\n \"singleDocuments\": {\n \"eng\": \"Single documents\",\n \"pol\": \"Pojedyncze dokumenty\",\n \"est\": \"Üksikud dokumendid\",\n \"rus\": \"Документы\",\n \"fin\": \"Dokumentit\",\n \"lav\": \"Dokumenti\",\n \"swe\": \"Enskilda dokument\",\n \"lit\": \"Atskiri dokumentai\",\n \"esp\": \"Documentos individuales\",\n \"nor\": \"Enkeltdokumenter\"\n },\n \"reportNameAlreadyExists\": {\n \"eng\": \"Report with such name already exists. Please choose a different name!\",\n \"pol\": \"Raport o takiej nazwie już istnieje. Wybierz inną nazwę.\",\n \"est\": \"Sellise nimega aruanne on juba olemas. Palun muutke aruande nime!\",\n \"rus\": \"Отчет с таким названием уже существует. Пожалуйста, выберите другое название!\",\n \"fin\": \"Raportti on jo olemassa, anna toinen nimi.\",\n \"lav\": \"Pārskats ar šādu nosaukumu jau eksistē. Lūdzu, izveidojiet citu nosaukumu!\",\n \"swe\": \"En rapport med detta namn finns redan. Var god välj ett annat namn!\",\n \"lit\": \"Ataskaita tokiu pavadinimu jau egzistuoja. Pasirinkti kitą pavadinimą.\",\n \"esp\": \"Reporte con ese nombre ya existe. ¡Elija un nombre diferente!\",\n \"nor\": \"Rapport med et slikt navn finnes allerede. Vennligst velg et annet navn!\"\n },\n \"receiptWaitingForApproval\": {\n \"eng\": \"Document submitted! Waiting for approval.\",\n \"pol\": \"Dokument przesłany i czeka na zatwierdzenie.\",\n \"est\": \"Dokument lisatud! Ootan kinnitamist.\",\n \"rus\": \"Документ отправлен! Ожидает одобрения.\",\n \"fin\": \"Tosite lähetetty, odottaa hyväksymistä.\",\n \"lav\": \"Dokuments ir iesniegts! Gaida apstiprinājumu.\",\n \"swe\": \"Dokument inskickat! Avväntar bekräftelse.\",\n \"lit\": \"Dokumentas pateiktas! Laukiama patvirtinimo.\",\n \"esp\": \"Documento enviado A la espera de la aprobación.\",\n \"nor\": \"Dokument sendt! Venter på godkjenning.\"\n },\n \"reportWaitingForApproval\": {\n \"eng\": \"Report submitted! Waiting for approval.\",\n \"pol\": \"Raport przesłany i czeka na zatwierdzenie.\",\n \"est\": \"Aruanne lisatud! Ootan kinnitamist.\",\n \"rus\": \"Отчет сдан! Ожидает одобрения.\",\n \"fin\": \"Raportti lähetetty, odottaa hyväksymistä.\",\n \"lav\": \"Pārskats ir iesniegts! Gaida apstiprinājumu.\",\n \"swe\": \"Rapport inskickad! Avväntar bekräftelse.\",\n \"lit\": \"Ataskaita pateikta! Laukiama patvirtinimo.\",\n \"esp\": \"Reporte enviado A la espera de la aprobación.\",\n \"nor\": \"Rapport sendt! Venter på godkjenning.\"\n },\n \"MARK_FOR_VERIFIED_DIGITIZATION\": {\n \"eng\": \"Document(s) are not digitised\",\n \"pol\": \"Dokument(y) nie są zdigitalizowane\",\n \"est\": \"Dokumendid on digiteerimisel\",\n \"rus\": \"Документы не оцифрованы\",\n \"fin\": \"Digitoimaton dokumentti\",\n \"lav\": \"Dokuments(i) nav digitalizēts(i)\",\n \"swe\": \"Dokumenten är inte digitaliserade\",\n \"lit\": \"Dokumentas(-ai) nėra skaitmenintas(-i)\",\n \"esp\": \"Los documentos no están digitalizados\",\n \"nor\": \"Dokument(er) er ikke digitalisert\"\n },\n \"moveReceipts\": {\n \"eng\": \"Move receipts to another report\",\n \"pol\": \"Przenieś paragony do innego raportu\",\n \"est\": \"Liiguta dokumendid teise aruandesse\",\n \"rus\": \"Перенести чеки в другой отчет\",\n \"fin\": \"Liitä tositteet toiseen raporttiin\",\n \"lav\": \"Pārvietot čekus uz citu pārskatu\",\n \"swe\": \"Flytta kvitton till annan rapport\",\n \"lit\": \"Perkelti kvitus į kitą ataskaitą\",\n \"esp\": \"Mover recibos a otro reporte\",\n \"nor\": \"Flytt kvitteringer til en annen rapport\"\n },\n \"companyMaxAllowance\": {\n \"eng\": \"Company’s max daily allowance rate\",\n \"pol\": \"Maksymalna dzienna dieta\",\n \"est\": \"Ettevõtte päevaraha piirmäär\",\n \"rus\": \"Максимальное дневное пособие компании\",\n \"fin\": \"Yrityksen päivärahan yläraja\",\n \"lav\": \"Uzņēmuma maksimālā dienas naudas likme\",\n \"swe\": \"Företagets dagliga ersättning\",\n \"lit\": \"Maksimalūs kompanijos dienpinigiai\",\n \"esp\": \"Asignación diaria máxima de la empresa\",\n \"nor\": \"Selskapets maksimale dagpenger\"\n },\n \"pastMont\": {\n \"eng\": \"Previous month\",\n \"pol\": \"Poprzedni miesiąc\",\n \"est\": \"Eelmine kuu\",\n \"rus\": \"Предыдущий месяц\",\n \"fin\": \"Edellinen kuukausi\",\n \"lav\": \"Iepriekšējais mēnesis\",\n \"swe\": \"Föregående månad\",\n \"lit\": \"Praėjęs mėnuo\",\n \"esp\": \"Mes previo\",\n \"nor\": \"Forrige måned\"\n },\n \"travelApplications\": {\n \"eng\": \"Travel applications\",\n \"lav\": \"Komandējumu pieteikumi\",\n \"est\": \"Lähetustaotlus\",\n \"swe\": \"Reseansökningar\",\n \"pol\": \"Wniosek o wyjazd służbowy\",\n \"lit\": \"Kelionių paraiškos\",\n \"fin\": \"Matkavaraukset\",\n \"rus\": \"Рабочие поездки\",\n \"esp\": \"Solicitud de viajes\",\n \"nor\": \"Reiseapplikasjoner\"\n },\n \"hasAdvancePayment\": {\n \"eng\": \"Has advance payment\",\n \"lav\": \"Ar avansu\",\n \"est\": \"On ettemakse\",\n \"pol\": \"Z zaliczką\",\n \"swe\": \"Har förskottsbetalning\",\n \"lit\": \"Turi išankstinį mokėjimą\",\n \"fin\": \"Maksetaan ennakkoon\",\n \"rus\": \"Имеет авансовый платеж\",\n \"esp\": \"Tiene pago adelantado\",\n \"nor\": \"Har forskuddsbetaling\"\n },\n \"noAdvancePayment\": {\n \"eng\": \"No advance payment\",\n \"lav\": \"Bez avansa\",\n \"est\": \"Pole ettemakset\",\n \"swe\": \"Ingen förskottsbetalning\",\n \"pol\": \"Bez zaliczki\",\n \"lit\": \"Nėra išankstinio mokėjimo\",\n \"fin\": \"Ei makseta ennakkoon\",\n \"rus\": \"Без авансового платежа\",\n \"esp\": \"Sin pago por adelantado\",\n \"nor\": \"Ingen forskuddsbetaling\"\n },\n \"all\": {\n \"eng\": \"All\",\n \"lav\": \"Visi\",\n \"est\": \"Kõik\",\n \"swe\": \"Allt\",\n \"pol\": \"Wszystko\",\n \"lit\": \"Visi\",\n \"fin\": \"Kaikki\",\n \"rus\": \"Все\",\n \"esp\": \"Todo\",\n \"nor\": \"Alle\"\n },\n \"date\": {\n \"eng\": \"Date\",\n \"lav\": \"Datums\",\n \"est\": \"Kuupäev\",\n \"swe\": \"Datum\",\n \"pol\": \"Data\",\n \"lit\": \"Data\",\n \"fin\": \"Päivämäärä\",\n \"rus\": \"Дата\",\n \"esp\": \"Fecha\",\n \"nor\": \"Dato\"\n },\n \"rejected\": {\n \"eng\": \"Rejected\",\n \"lav\": \"Noraidīts\",\n \"est\": \"Tagasi lükatud\",\n \"swe\": \"Avvisad\",\n \"pol\": \"Odrzucony\",\n \"lit\": \"Atmesta\",\n \"fin\": \"Hylätty\",\n \"rus\": \"Отклонено\",\n \"esp\": \"Rechazado\",\n \"nor\": \"Avvist\"\n },\n \"thisWeek\": {\n \"eng\": \"This week\",\n \"lav\": \"Šonedēļ\",\n \"est\": \"See nädal\",\n \"swe\": \"Denna vecka\",\n \"pol\": \"W tym tygodniu\",\n \"lit\": \"Šią savaitę\",\n \"fin\": \"Kuluva viikko\",\n \"rus\": \"На этой неделе\",\n \"esp\": \"Esta semana\",\n \"nor\": \"Denne uken\"\n },\n \"typeEmployeeName\": {\n \"eng\": \"Type employee name\",\n \"lav\": \"Rakstiet darbinieka vārdu\",\n \"est\": \"Sisesta töötaja nimi\",\n \"swe\": \"Fyll i namn på anställd\",\n \"pol\": \"Wpisz imię i nazwisko pracownika\",\n \"lit\": \"Įrašykite darbuotojo vardą\",\n \"fin\": \"Anna työntekijän nimi\",\n \"rus\": \"Введите имя сотрудника\",\n \"esp\": \"Ingrese nombre empleado\",\n \"nor\": \"Skriv inn ansattes navn\"\n },\n \"startsAt\": {\n \"eng\": \"Starts\",\n \"lav\": \"Sākas\",\n \"est\": \"Algab\",\n \"swe\": \"Börjar\",\n \"pol\": \"Rozpoczyna się\",\n \"lit\": \"Prasideda\",\n \"fin\": \"Alkaa\",\n \"rus\": \"Начало\",\n \"esp\": \"Comienza\",\n \"nor\": \"Starter\"\n },\n \"endsAt\": {\n \"eng\": \"Ends\",\n \"lav\": \"Beidzas\",\n \"est\": \"Lõpeb\",\n \"swe\": \"Slutar\",\n \"pol\": \"Kończy się\",\n \"lit\": \"Baigiasi\",\n \"fin\": \"Päättyy\",\n \"rus\": \"Окончание\",\n \"esp\": \"Culmina\",\n \"nor\": \"Slutter\"\n },\n \"projectCode\": {\n \"eng\": \"Project code\",\n \"lav\": \"Projekta kods\",\n \"est\": \"Projektikood\",\n \"swe\": \"Projektkod\",\n \"pol\": \"Kod projektu\",\n \"lit\": \"Projekto kodas\",\n \"fin\": \"Projektitunnus\",\n \"rus\": \"Код проекта\",\n \"esp\": \"Código proyecto\",\n \"nor\": \"Prosjektkode\"\n },\n \"approvalProgress\": {\n \"eng\": \"Approval progress\",\n \"lav\": \"Lēmumu pieņemšanas gaita\",\n \"est\": \"Kinnitamise seis\",\n \"swe\": \"Bekräftelsestatus\",\n \"pol\": \"Postęp w zatwierdzaniu wniosku\",\n \"lit\": \"Patvirtinimo eiga\",\n \"fin\": \"Hyväksyntäpyynnön tila\",\n \"rus\": \"Ход утверждения\",\n \"esp\": \"Progreso de la aprobación\",\n \"nor\": \"Godkjenningsstatus\"\n },\n \"didReject\": {\n \"eng\": \"rejected\",\n \"lav\": \"noraidīja\",\n \"est\": \"tagasi lükatud\",\n \"swe\": \"avslaget\",\n \"pol\": \":odrzucono\",\n \"lit\": \"atmesta\",\n \"fin\": \"hylkäsi\",\n \"rus\": \"отклонено\",\n \"esp\": \"rechazado\",\n \"nor\": \"avvist\"\n },\n \"didApprove\": {\n \"eng\": \"approved\",\n \"lav\": \"apstiprināja\",\n \"est\": \"kinnitas\",\n \"swe\": \"godkänt\",\n \"pol\": \":zatwierdzono\",\n \"lit\": \"patvirtinta\",\n \"fin\": \"hyväksyi\",\n \"rus\": \"одобрено\",\n \"esp\": \"aprobado\",\n \"nor\": \"godkjent\"\n },\n \"isDeciding\": {\n \"eng\": \"is approving\",\n \"lav\": \"pieņem lēmumu\",\n \"est\": \"otsustab\",\n \"swe\": \"beslutar\",\n \"pol\": \"decyduje\",\n \"lit\": \"sprendžia\",\n \"fin\": \"tekee päätöksen\",\n \"rus\": \"утверждает\",\n \"esp\": \"en aprobación\",\n \"nor\": \"godkjenner\"\n },\n \"reason\": {\n \"eng\": \"Reason\",\n \"lav\": \"Iemesls\",\n \"est\": \"Põhjus\",\n \"swe\": \"Anledning\",\n \"pol\": \"Powód\",\n \"lit\": \"Priežastis\",\n \"fin\": \"Syy\",\n \"rus\": \"Причина\",\n \"esp\": \"Razón\",\n \"nor\": \"Årsaken\"\n },\n \"substituteEmployee\": {\n \"eng\": \"Substitute employee\",\n \"lav\": \"Aizvietotājs\",\n \"est\": \"Asendaja\",\n \"pol\": \"Zastępstwo\",\n \"swe\": \"Ersättningsarbetare\",\n \"lit\": \"Pakaitinis darbuotojas\",\n \"fin\": \"Sijainen\",\n \"rus\": \"Замещающий работник\",\n \"esp\": \"Empleado sustituto\",\n \"nor\": \"Vikar ansatt\"\n },\n \"whoOrderedTrip\": {\n \"eng\": \"Who ordered trip\",\n \"lav\": \"Nosūtītājs\",\n \"est\": \"Lähetusele saatja\",\n \"swe\": \"Vem beställde resan\",\n \"pol\": \"Osoba aplikująca o podróż\",\n \"lit\": \"Kas užsakė kelionę\",\n \"fin\": \"Matkan varaaja/määrääjä\",\n \"rus\": \"Кто заказал поездку\",\n \"esp\": \"Quién ordenó el viaje\",\n \"nor\": \"Hvem bestilte turem\"\n },\n \"tripType\": {\n \"eng\": \"Travel type\",\n \"lav\": \"Komandējuma veids\",\n \"est\": \"Lähetuse liik\",\n \"swe\": \"Typ av resa\",\n \"pol\": \"Rodzaj podróży\",\n \"lit\": \"Kelionės tipas\",\n \"fin\": \"Matkan tyyppi\",\n \"rus\": \"Тип поездки\",\n \"esp\": \"Tipo de viaje\",\n \"nor\": \"Reisetype\"\n },\n \"external\": {\n \"eng\": \"External\",\n \"lav\": \"Ārējs\",\n \"est\": \"Väline\",\n \"swe\": \"Extern\",\n \"pol\": \"Zewnętrzny\",\n \"lit\": \"Išorinis\",\n \"fin\": \"Ulkoinen\",\n \"rus\": \"Внешний\",\n \"esp\": \"Externo\",\n \"nor\": \"Ekstern\"\n },\n \"internal\": {\n \"eng\": \"Internal\",\n \"lav\": \"Iekšējs\",\n \"est\": \"Sisene\",\n \"swe\": \"Intern\",\n \"pol\": \"Wewnętrzny\",\n \"lit\": \"Vidinis\",\n \"fin\": \"Sisäinen\",\n \"rus\": \"Внутренний\",\n \"esp\": \"Interno\",\n \"nor\": \"Intern\"\n },\n \"training\": {\n \"eng\": \"Training\",\n \"lav\": \"Apmācības\",\n \"est\": \"Koolitus\",\n \"swe\": \"Träning\",\n \"pol\": \"Szkolenie\",\n \"lit\": \"Mokymai\",\n \"fin\": \"Koulutus\",\n \"rus\": \"Обучение\",\n \"esp\": \"Entrenamiento\",\n \"nor\": \"Opplæring\"\n },\n \"cancelled\": {\n \"eng\": \"Cancelled\",\n \"lav\": \"Atcelts\",\n \"est\": \"Tühistatud\",\n \"swe\": \"Avbrutet\",\n \"pol\": \"Anulowany\",\n \"lit\": \"Atšaukta\",\n \"fin\": \"Hylätty/Peruutettu\",\n \"rus\": \"Отменено\",\n \"esp\": \"Cancelado\",\n \"nor\": \"Avbrutt\"\n },\n \"advancePaymentReason\": {\n \"eng\": \"Advance payment reason\",\n \"lav\": \"Avansa maksājuma iemesls\",\n \"est\": \"Avansi põhjus\",\n \"swe\": \"Anledning till förskottsbetalning\",\n \"pol\": \"Powód wypłaty zaliczki\",\n \"lit\": \"Išankstinio mokėjimo priežastis\",\n \"fin\": \"Ennakkomaksun peruste\",\n \"rus\": \"Основание авансового платежа\",\n \"esp\": \"Razón de pago adelantado\",\n \"nor\": \"Årsak til forskuddsbetaling\"\n },\n \"rejectionReason\": {\n \"eng\": \"Rejection reason\",\n \"lav\": \"Noraidījuma iemesls\",\n \"est\": \"Tagasilükkamise põhjus\",\n \"swe\": \"Skäl för avslaget\",\n \"pol\": \"Powód odrzucenia\",\n \"lit\": \"Atmetimo priežastis\",\n \"fin\": \"Hylkäysperuste\",\n \"rus\": \"Причина отказа\",\n \"esp\": \"Razón de rechazo\",\n \"nor\": \"Grunn til avvisning\"\n },\n \"rejectAdvancePayment\": {\n \"eng\": \"Reject advance payment\",\n \"lav\": \"Noraidīt avansa maksājumu\",\n \"est\": \"Lükka avanss tagasi\",\n \"swe\": \"Avvisa förskottsbetalning\",\n \"pol\": \"Odrzuć zaliczkę\",\n \"lit\": \"Atmesti išankstinį mokėjimą\",\n \"fin\": \"Hylkää ennakkomaksupyyntö\",\n \"rus\": \"Отклонить авансовый платеж\",\n \"esp\": \"Rechazar pago por adelantado\",\n \"nor\": \"Avslå forskuddsbetaling\"\n },\n \"approveAdvancePayment\": {\n \"eng\": \"Approve advance payment\",\n \"lav\": \"Apstiprināt avansa maksājumu\",\n \"est\": \"Kinnita avanss\",\n \"swe\": \"Godkänn förskottsbetalning\",\n \"pol\": \"Zatwierdź zaliczkę\",\n \"lit\": \"Patvirtinti išankstinį mokėjimą\",\n \"fin\": \"Hyväksy ennakkomaksupyyntö\",\n \"rus\": \"Утвердить авансовый платеж\",\n \"esp\": \"Aprobación pago adelantado\",\n \"nor\": \"Godkjenne forskuddsbetaling\"\n },\n \"pending\": {\n \"eng\": \"Pending\",\n \"lav\": \"Neizlemts\",\n \"est\": \"Ootel\",\n \"swe\": \"Väntar\",\n \"pol\": \"Oczekuje\",\n \"lit\": \"Laukiama\",\n \"fin\": \"Jonossa\",\n \"rus\": \"На рассмотрении\",\n \"esp\": \"Pendiente\",\n \"nor\": \"Avventer\"\n },\n \"applicationForAdvancePayment\": {\n \"eng\": \"Application for advance payment\",\n \"lav\": \"Avansa maksājuma pieteikums\",\n \"est\": \"Avaldus avansiks\",\n \"swe\": \"Ansökan för förskottsbetalning\",\n \"pol\": \"Wniosek o zaliczkę\",\n \"lit\": \"Paraiška išankstiniam mokėjimui\",\n \"fin\": \"Ennakkomaksupyyntö\",\n \"rus\": \"Заявление на авансовый платеж\",\n \"esp\": \"Solicitud de pago por adelantado\",\n \"nor\": \"Søknad om forskuddsbetaling\"\n },\n \"travelDetails\": {\n \"eng\": \"Travel details\",\n \"lav\": \"Informācija par komadējuma galamērķi\",\n \"est\": \"Lähetuse info\",\n \"swe\": \"Resedetaljer\",\n \"pol\": \"Szczegóły podróży\",\n \"lit\": \"Kelionės informacija\",\n \"fin\": \"Matkakuvaus\",\n \"rus\": \"Подробности поездки\",\n \"esp\": \"Detalles del viaje\",\n \"nor\": \"Reisedetaljer\"\n },\n \"locationAndPurposeOfTravel\": {\n \"eng\": \"Destination location and purpose of travel\",\n \"lav\": \"Galamērķa atrašanās vieta un komandējuma iemesls\",\n \"est\": \"Lähetuse sihtkoht ja põhjus\",\n \"swe\": \"Destination samt syfte med resa\",\n \"pol\": \"Miejsce docelowe i cel podróży\",\n \"lit\": \"Kelionės tikslas ir vieta\",\n \"fin\": \"Matkakohde ja matkan tarkoitus\",\n \"rus\": \"Место назначения и цель поездки\",\n \"esp\": \"Ubicación de destino y propósito de viaje\",\n \"nor\": \"Destinasjonssted og formål med reisen\"\n },\n \"projectDetails\": {\n \"eng\": \"Project details\",\n \"lav\": \"Informācija par projektu\",\n \"est\": \"Projekti info\",\n \"swe\": \"Projektdetaljer\",\n \"pol\": \"Szczegóły projektu\",\n \"lit\": \"Projekto informacija\",\n \"fin\": \"Projektikuvaus\",\n \"rus\": \"Подробности проекта\",\n \"esp\": \"Detalles del proyecto\",\n \"nor\": \"Prosjektdetaljer\"\n },\n \"missingValue\": {\n \"eng\": \"Missing / incorrect value\",\n \"lav\": \"Iztrūkstošs / nepareizi aizpildīts lauks\",\n \"est\": \"Puuduv / vale väärtus\",\n \"swe\": \"Värde saknas/inkorrekt värde\",\n \"pol\": \"Brakująca/nieprawidłowa wartość\",\n \"lit\": \"Trūkstama / neteisinga vertė\",\n \"fin\": \"Puuttuva/ virheellinen arvo\",\n \"rus\": \"Отсутствующее/неправильное значение\",\n \"esp\": \"Falta/Valor incorrecto\",\n \"nor\": \"Manglende/feil verdi\"\n },\n \"cannotAssignAsSubstitute\": {\n \"eng\": \"You cannot assign yourself as substitute employee\",\n \"lav\": \"Jūs nevarat izvēlēties sevi kā aizstājēju\",\n \"est\": \"Iseennast ei saa lisada asendajaks\",\n \"pol\": \"Nie można wyznaczyć siebie jako zastępstwa\",\n \"swe\": \"Du kan inte välja dig själv som ersättningsarbetare\",\n \"lit\": \"Negalite priskirti savęs kaip pakaitinio darbuotojo\",\n \"fin\": \"Et voi määrittää sijaiseksesi itseäsi\",\n \"rus\": \"Вы не можете назначить себя в качестве замещающего работника\",\n \"esp\": \"No puede asignarse a sí mismo un empleado substituto\",\n \"nor\": \"Du kan ikke ansette deg selv som vikar\"\n },\n \"cannotAssignAsOrderer\": {\n \"eng\": \"You cannot be the person, who's sending you\",\n \"lav\": \"Jūs nevarat izvēlēties sevi kā nosūtītāju\",\n \"est\": \"Iseennast ei saa lisada lähetusele saatjaks\",\n \"swe\": \"Du själv kan inte vara personen som sänder dig\",\n \"pol\": \"Nie można wybrać siebie jako wysyłającego\",\n \"lit\": \"Negalite būti asmuo, siunčiantis jums\",\n \"fin\": \"Et voi olla tämän matkan määrännyt henkilö\",\n \"rus\": \"Вы не можете быть человеком, который посылает вас\",\n \"esp\": \"Usted no puede ser la persona quien esta enviado\",\n \"nor\": \"Du kan ikke være personen som sender deg\"\n },\n \"employeeNotRecognized\": {\n \"eng\": \"Selected substitute/sender employee is not recognized\",\n \"lav\": \"Izvēlētais aizvietotājs/nosūtītājs nav atpazīts kā uzņēmuma darbinieks\",\n \"est\": \"Ei leidnud valitud asendajat/saatjat\",\n \"pol\": \"Wybrana osoba na zastępstwo/wysyłająca nie jest rozpoznawana jako pracownik firmy\",\n \"swe\": \"Hittade inte den valda vikarien/utskickade anställda\",\n \"lit\": \"Parinktas pakaitinis/siunčiantis darbuotojas neatpažintas\",\n \"fin\": \"Valittua työntekijää ei tunnistettu\",\n \"rus\": \"Выбранный замещающий/отправляющий сотрудник не распознан\",\n \"esp\": \"No se reconoce al sustituto/empleado remitente seleccionado\",\n \"nor\": \"Valgt vikar/avsendermedarbeider gjenkjennes ikke\"\n },\n \"stringTooShort\": {\n \"eng\": \"Inserted text is too short\",\n \"lav\": \"Ievadītais teksts ir par īsu\",\n \"est\": \"Sisestatud tekst on liiga lühike\",\n \"swe\": \"Den infogade texten är för kort\",\n \"pol\": \"Wprowadzony tekst jest za krótki\",\n \"lit\": \"Įvestas tekstas yra per trumpas\",\n \"fin\": \"Syöttämäsi teksti on liian lyhyt\",\n \"rus\": \"Вставленный текст слишком короткий\",\n \"esp\": \"Texto ingresado muy corto\",\n \"nor\": \"Den innsatte teksten er for kort\"\n },\n \"stringTooLong\": {\n \"eng\": \"Inserted text is too long\",\n \"lav\": \"Ievadītais teksts ir par garu\",\n \"est\": \"Sisestatud tekst on liiga pikk\",\n \"swe\": \"Den infogade texten är för lång\",\n \"pol\": \"Wprowadzony tekst jest za długi\",\n \"lit\": \"Įvestas tekstas yra per ilgas\",\n \"fin\": \"Syöttämäsi teksti on liian pitkä\",\n \"rus\": \"Вставленный текст слишком длинный\",\n \"esp\": \"Texto ingresado es muy largo\",\n \"nor\": \"Den innsatte teksten er for lang\"\n },\n \"numberTooSmall\": {\n \"eng\": \"Inserted number is too small\",\n \"lav\": \"Ievadītais skaitlis ir par mazu\",\n \"est\": \"Sisestatud arv on liiga väike\",\n \"swe\": \"Det infogade numret är för litet\",\n \"pol\": \"Wprowadzona liczba jest za mała\",\n \"lit\": \"Įvestas skaičius yra per mažas\",\n \"fin\": \"Syöttämäsi luku on liian pieni\",\n \"rus\": \"Вставленное число слишком мало\",\n \"esp\": \"Número ingresado es muy corto\",\n \"nor\": \"Det innsatte tallet er for lite\"\n },\n \"numberTooLarge\": {\n \"eng\": \"Inserted number is too large\",\n \"lav\": \"Ievadītais skaitlis ir par lielu\",\n \"est\": \"Sisestatud arv on liiga suur\",\n \"swe\": \"Det infogade numret är för stort\",\n \"pol\": \"Wprowadzona liczba jest za duża\",\n \"lit\": \"Įvestas skaičius yra per didelis\",\n \"fin\": \"Syöttämäsi luku on liian suuri\",\n \"rus\": \"Вставленное число слишком велико\",\n \"esp\": \"Número ingresado es muy largo\",\n \"nor\": \"Det innsatte tallet er for stort\"\n },\n \"deleteTravelRequest\": {\n \"eng\": \"Are you sure you want to delete this travel application?\",\n \"lav\": \"Vai patiešām vēlaties dzēst šo komandējuma pieteikumu?\",\n \"est\": \"Oled kindel, et soovid selle lähetustaotluse kustutada?\",\n \"pol\": \"Czy na pewno chcesz usunąć ten wniosek?\",\n \"swe\": \"Är du säker att du vill radera denna reseansökan?\",\n \"lit\": \"Ar tikrai norite ištrinti šią kelionės paraišką?\",\n \"fin\": \"Haluatko varmasti poistaa matkavarauksen?\",\n \"rus\": \"Вы уверены, что хотите удалить это приложение для поездок?\",\n \"esp\": \"Esta seguro que desea eliminar esta solicitud de viaje?\",\n \"nor\": \"Er du sikker på at du vil slette denne reiseapplikasjonen?\"\n },\n \"travelApplication\": {\n \"eng\": \"Travel application\",\n \"lav\": \"Komandējuma pieteikums\",\n \"est\": \"Lähetustaotlus\",\n \"pol\": \"Wniosek o wyjazd służbowy\",\n \"swe\": \"Reseansökan\",\n \"lit\": \"Kelionės paraiška\",\n \"fin\": \"Matkavaraus\",\n \"rus\": \"Заявка на поездку\",\n \"esp\": \"Solicitud de viaje\",\n \"nor\": \"Reisesøknad\"\n },\n \"yourAdvPaymentWasCancelled\": {\n \"eng\": \"Your advance payment was cancelled!\",\n \"lav\": \"Jūsu avansa maksājums ir noraidīts!\",\n \"est\": \"Sinu avanss tühistati!\",\n \"swe\": \"Din förskottsbetalning var avbruten!\",\n \"pol\": \"Twoja zaliczka została anulowana!\",\n \"lit\": \"Jūsų išankstinis mokėjimas buvo atšauktas!\",\n \"fin\": \"Ennakkomaksatus sinulle peruttiin\",\n \"rus\": \"Ваш авансовый платеж был отменен!\",\n \"esp\": \"Su pago por adelantado fue cancelado\",\n \"nor\": \"Forskuddsbetalingen din ble kansellert!\"\n },\n \"archive\": {\n \"eng\": \"Archive\",\n \"lav\": \"Arhīvs\",\n \"est\": \"Arhiiv\",\n \"swe\": \"Arkiv\",\n \"pol\": \"Archiwum\",\n \"lit\": \"Arhyvas\",\n \"fin\": \"Arkisto\",\n \"rus\": \"Архив\",\n \"esp\": \"Archivo\",\n \"nor\": \"Arkiv\"\n },\n \"approver\": {\n \"eng\": \"Approver\",\n \"lav\": \"Apstiprina\",\n \"est\": \"Kinnitaja\",\n \"swe\": \"Godkännare\",\n \"pol\": \"Osoba zatwierdzająca\",\n \"lit\": \"Tvirtintojas\",\n \"fin\": \"Hyväksyjä\",\n \"rus\": \"Утверждающий\",\n \"esp\": \"Aprobador\",\n \"nor\": \"Godkjenner\"\n },\n \"approvalRequest\": {\n \"eng\": \"Approval request\",\n \"lav\": \"Apstiprinājuma pieteikums\",\n \"est\": \"Kinnitamise taotlus\",\n \"swe\": \"Godkännelsebegäran\",\n \"pol\": \"Prośba o zatwierdzenie\",\n \"lit\": \"Patvirtinimo prašymas\",\n \"fin\": \"Hyväksymispyyntö\",\n \"rus\": \"Запрос на утверждение\",\n \"esp\": \"Solicitud de aprobación\",\n \"nor\": \"Godkjenningsforespørsel\"\n },\n \"youWereAddedAsApprover\": {\n \"eng\": \"added you as approver\",\n \"lav\": \"pievienoja Jūs kā lēmuma pieņēmēju\",\n \"est\": \"lisas sind kinnitajaks\",\n \"swe\": \"du har blivit tillagd som godkännare\",\n \"pol\": \"dodano Cię jako zatwierdzającego\",\n \"lit\": \"pridėjo jus kaip tvirtintoją\",\n \"fin\": \"lisäsi sinulle hyväksyjän roolin\",\n \"rus\": \"добавил вас в качестве утверждающего\",\n \"esp\": \"Ha sido agregado como aprobador\",\n \"nor\": \"la deg til som godkjenner\"\n },\n \"addedAsApprover\": {\n \"eng\": \"added as approver\",\n \"lav\": \"pievienoja kā lēmuma pieņēmēju\",\n \"est\": \"lisatud kinnitajaks\",\n \"swe\": \"tillagd som godkännare\",\n \"pol\": \"dodany/a jako zatwierdzający/a\",\n \"lit\": \"pridėtas kaip tvirtintojas\",\n \"fin\": \"lisättiin hyväksyjäksi\",\n \"rus\": \"добавлен как утверждающий\",\n \"esp\": \"Agregado como aprobador\",\n \"nor\": \"lagt til som godkjenner\"\n },\n \"youApproved\": {\n \"eng\": \"You approved\",\n \"lav\": \"Jūs apstiprinājāt\",\n \"est\": \"Sina kinnitasid\",\n \"swe\": \"Du har godkänt\",\n \"pol\": \"Zatwierdzono\",\n \"lit\": \"Jūs patvirtinote\",\n \"fin\": \"Hyväksyit\",\n \"rus\": \"Вы одобрили\",\n \"esp\": \"Usted aprobó\",\n \"nor\": \"Du godkjente\"\n },\n \"youRejected\": {\n \"eng\": \"You rejected\",\n \"lav\": \"Jūs noraidījāt\",\n \"est\": \"Sina lükkasid tagasi\",\n \"pol\": \"Odrzucono\",\n \"swe\": \"Du avbröt\",\n \"lit\": \"Jūs atmetėte\",\n \"fin\": \"Hylkäsit\",\n \"rus\": \"Вы отвергли\",\n \"esp\": \"Usted denegó\",\n \"nor\": \"Du avviste\"\n },\n \"waitingForYourApproval\": {\n \"eng\": \"Waiting for your approval\",\n \"lav\": \"Gaida Jūsu apstiprinājumu\",\n \"est\": \"Ootab sinu kinnitamist\",\n \"swe\": \"Väntar på ditt godkännande\",\n \"pol\": \"Czeka na akceptację\",\n \"lit\": \"Laukiama jūsų patvirtinimo\",\n \"fin\": \"Odottaa hyväksyntääsi\",\n \"rus\": \"В ожидании вашего одобрения\",\n \"esp\": \"Esperando aprobación\",\n \"nor\": \"Venter på din godkjenning\"\n },\n \"yourDecisionWasCancelled\": {\n \"eng\": \"Your decision was cancelled\",\n \"lav\": \"Jūsu lēmums ir atcelts\",\n \"est\": \"Sinu otsus tühistati\",\n \"swe\": \"Ditt beslut avbröts\",\n \"pol\": \"Twoja decyzja została anulowana\",\n \"lit\": \"Jūsų sprendimas buvo atšauktas\",\n \"fin\": \"Tekemäsi valinta peruutettiin\",\n \"rus\": \"Ваше решение было отменено\",\n \"esp\": \"Su decisión fue cancelada\",\n \"nor\": \"Avgjørelsen din ble kansellert\"\n },\n \"decisionWasCancelled\": {\n \"eng\": \"decision was cancelled\",\n \"lav\": \"lēmums tika atcelts\",\n \"est\": \"otsus tühistati\",\n \"swe\": \"beslut avbröts\",\n \"pol\": \":decyzja anulowana\",\n \"lit\": \"sprendimas buvo atšauktas\",\n \"fin\": \"peruutti aiemman valintansa\",\n \"rus\": \"решение было отменено\",\n \"esp\": \"decisión fue cancelada\",\n \"nor\": \"vedtaket ble kansellert\"\n },\n \"requiresApproval\": {\n \"swe\": \"Kräver godkännande\",\n \"eng\": \"Requires approval\",\n \"lav\": \"Gaida apstiprinājumu\",\n \"pol\": \"Wymaga zatwierdzenia\",\n \"est\": \"Vajab kinnitamist\",\n \"lit\": \"Reikalingas patvirtinimas\",\n \"fin\": \"Vaatii hyväksynnän\",\n \"rus\": \"Требуется утверждение\",\n \"esp\": \"Requiere aprobación\",\n \"nor\": \"Krever godkjenning\"\n },\n \"submitter\": {\n \"eng\": \"Submitter\",\n \"lav\": \"Lietotājs\",\n \"pol\": \"Użytkownik\",\n \"est\": \"Kasutaja\",\n \"swe\": \"Avsändare\",\n \"lit\": \"Pateikėjas\",\n \"fin\": \"Kirjaaja\",\n \"rus\": \"Податель\",\n \"esp\": \"Remitente\",\n \"nor\": \"Innsender\"\n },\n \"accountant\": {\n \"eng\": \"Accountant\",\n \"lav\": \"Grāmatvedis\",\n \"pol\": \"Księgowość\",\n \"est\": \"Raamatupidaja\",\n \"swe\": \"Revisor\",\n \"lit\": \"Apskaitininkas\",\n \"fin\": \"Kirjanpitäjä\",\n \"rus\": \"Бухгалтер\",\n \"esp\": \"Contador\",\n \"nor\": \"Regnskapsfører\"\n },\n \"admin\": {\n \"eng\": \"Administrator\",\n \"fin\": \"Ylläpitäjä\",\n \"lav\": \"Administrators\",\n \"est\": \"Administraator\",\n \"pol\": \"Administrator\",\n \"rus\": \"Aдминистратор\",\n \"lit\": \"Administratorius\",\n \"swe\": \"Administratör\",\n \"esp\": \"Administrador\",\n \"nor\": \"Administrator\"\n },\n \"employeeAbsent\": {\n \"eng\": \"You are absent on these dates\",\n \"lav\": \"Jūs šajos datumos neesat pieejams\",\n \"est\": \"Sa puudud valitud kuupäevadel\",\n \"swe\": \"Du är frånvarande följande datum\",\n \"lit\": \"Šiomis datomis jūsų nėra\",\n \"fin\": \"Olet poissa seuraavina päivinä\",\n \"pol\": \"Osoba nieobecna w tych dniach\",\n \"rus\": \"Вы отсутствуете в эти дни\",\n \"esp\": \"Usted se encuentra ausente los días seleccionados\",\n \"nor\": \"Du er fraværende på disse datoene\"\n },\n \"advancePaymentApproved\": {\n \"eng\": \"Advance payment approved!\",\n \"lav\": \"Avansa maksājums apstiprināts!\",\n \"est\": \"Avanss kinnitatud\",\n \"swe\": \"Förskottsbetalning bekräftad!\",\n \"lit\": \"Išankstinis apmokėjimas patvirtintas!\",\n \"fin\": \"Ennakkomaksu hyväksytty\",\n \"pol\": \"Zaliczka zatwierdzona!\",\n \"rus\": \"Авансовый платеж одобрен!\",\n \"esp\": \"Pago adelantado aprobado!\",\n \"nor\": \"Forskuddsbetaling godkjent!\"\n },\n \"advancePaymentRejected\": {\n \"eng\": \"Advance payment rejected!\",\n \"lav\": \"Avansa maksājums noraidīts!\",\n \"est\": \"Avanss tagasi lükatud\",\n \"swe\": \"Förskottsbetalning avvisad!\",\n \"lit\": \"Išankstinis apmokėjimas atmestas!\",\n \"fin\": \"Ennakkomaksu hylätty\",\n \"pol\": \"Zaliczka odrzucona!\",\n \"rus\": \"Авансовый платеж отклонен!\",\n \"esp\": \"Pago adelantado denegado!\",\n \"nor\": \"Forskuddsbetaling avvist!\"\n },\n \"autoCancelled\": {\n \"eng\": \"Auto-cancelled\",\n \"lav\": \"Automātiski atcelts\",\n \"est\": \"Automaatselt tühistatud\",\n \"swe\": \"Automatiskt avbrutet\",\n \"lit\": \"Automatiškai atšaukta\",\n \"fin\": \"Peruutettu automaattisesti\",\n \"pol\": \"Automatycznie anulowane\",\n \"rus\": \"Автоматическая отмена\",\n \"esp\": \"Auto cancelado\",\n \"nor\": \"Automatisk kansellert\"\n },\n \"nothingToDisplay\": {\n \"eng\": \"Nothing to display\",\n \"lav\": \"Nav ierakstu\",\n \"est\": \"Pole midagi kuvada\",\n \"swe\": \"Inget att visa\",\n \"lit\": \"Nėra ką rodyti\",\n \"fin\": \"Ei näytettävää\",\n \"pol\": \"Nic do wyświetlenia\",\n \"rus\": \"Нечего показывать\",\n \"esp\": \"Nada para mostrar\",\n \"nor\": \"Ingenting å vise\"\n },\n \"reportSubmittedForApproval\": {\n \"eng\": \"Report submitted! Waiting for approval.\",\n \"lav\": \"Atskaite iesniegta! Gaida apstiprinājumu.\",\n \"est\": \"Aruanne edastatud! Ootan kinnitamist.\",\n \"swe\": \"Rapport inskickad! Avväntar bekräftelse.\",\n \"lit\": \"Ataskaita pateikta! Laukiama patvirtinimo.\",\n \"fin\": \"Raportti lähetetty, odottaa hyväksyntää.\",\n \"pol\": \"Raport przesłany! Czeka na zatwierdzenie.\",\n \"rus\": \"Отчет сдан! Ожидает одобрения.\",\n \"esp\": \"Reporte enviado! esperando aprobación\",\n \"nor\": \"Rapport sendt! Venter på godkjenning.\"\n },\n \"youCreatedThisOnBehalfOf\": {\n \"eng\": \"You created this travel application for\",\n \"lav\": \"Jūs izveidojāt šo komandējuma pieteikumu priekš\",\n \"est\": \"Kelle nimele lõid selle lähetustaotluse:\",\n \"swe\": \"Du skapade denna reseansökan åt\",\n \"lit\": \"Sukūrėte šią kelionių paraišką\",\n \"fin\": \"Loit matkavarauksen työntekijälle\",\n \"pol\": \"Wniosek o podróż służbową stworzony przez ciebie dla:\",\n \"rus\": \"Вы создали это заявление для\",\n \"esp\": \"Ha creado esta solicitud de viaje para\",\n \"nor\": \"Du opprettet denne reiseapplikasjonen for\"\n },\n \"tripRequestCreatedForYou\": {\n \"eng\": \"created this travel application on your behalf\",\n \"lav\": \"izveidoja šo komandējuma pieteikumu Jūsu vārdā\",\n \"est\": \"lõi lähetustaotluse teie eest\",\n \"swe\": \"skapade denna reseansökan åt dig\",\n \"lit\": \"sukūrė šią kelionės paraišką už jus.\",\n \"fin\": \"loi sinulle matkavarauksen\",\n \"pol\": \"wniosek o podróż służbową został stworzony w twoim imieniu przez:\",\n \"rus\": \"создал это заявление на поездку от вашего имени\",\n \"esp\": \"Crear esta solicitud de viaje a su nombre\",\n \"nor\": \"opprettet denne reiseapplikasjonen på dine vegne\"\n },\n \"createTripReqForOtherEmployee\": {\n \"eng\": \"Create this travel application for another employee\",\n \"lav\": \"Izveidot šo komandējuma pieteikumu cita darbinieka vārdā\",\n \"rus\": \"Создать это заявление на поездку для другого сотрудника\",\n \"est\": \"Loo see lähetustaotlus teise töötaja nimele\",\n \"lit\": \"Sukurti šią kelionės paraišką kitam darbuotojui\",\n \"swe\": \"Skapa denna reseansökan för en annan anställd\",\n \"fin\": \"Tee matkavaraus toiselle työntekijälle\",\n \"pol\": \"Utwórz ten sam wniosek o podróż służbową dla innego pracownika\",\n \"esp\": \"Crear solicitud de viaje para otro empleado\",\n \"nor\": \"Opprett denne reiseapplikasjonen for en annen ansatt\"\n },\n \"goToAccountantView\": {\n \"eng\": \"Accountant dashboard\",\n \"lav\": \"Doties uz grāmatveža darba virsmu\",\n \"lit\": \"Eiti į apskaitininko skydelį\",\n \"swe\": \"Gå till kontrollpanelen för revisor\",\n \"fin\": \"Siirry kirjanpidon hallintapaneeliin\",\n \"est\": \"Mine raamatupidaja vaatesse\",\n \"pol\": \"Przejdź do interfejsu dla księgowych\",\n \"rus\": \"Перейти на панель бухгалтера\",\n \"esp\": \"Panel de contadores\",\n \"nor\": \"Regnskapsfører dashbord\"\n },\n \"travelReports\": {\n \"eng\": \"Travel reports\",\n \"lav\": \"Komandējumu atskaites\",\n \"lit\": \"Kelionių ataskaitos\",\n \"swe\": \"Reserapporter\",\n \"fin\": \"Työmatkaraportit\",\n \"est\": \"Lähetusaruanne\",\n \"pol\": \"Raporty z podróży\",\n \"rus\": \"Отчеты о поездках\",\n \"esp\": \"Reporte de viajes\",\n \"nor\": \"Reiserapporter\"\n },\n \"expenseReports\": {\n \"eng\": \"Expense reports\",\n \"lav\": \"Izdevumu pārskati\",\n \"lit\": \"Išlaidų ataskaitos\",\n \"swe\": \"Utgiftsrapporter\",\n \"fin\": \"Kuluraportit\",\n \"est\": \"Kuluaruanne\",\n \"pol\": \"Raporty z wydatków\",\n \"rus\": \"Отчеты о расходах\",\n \"esp\": \"Reporte de gastos\",\n \"nor\": \"Utgiftsrapporter\"\n },\n \"iConfirmAdvancePayment\": {\n \"eng\": \"I hereby confirm that business trip report is completed and I authorise the deduction of overpaid advance payments from my payroll\",\n \"est\": \"Kinnitan, et lähetusaruanne on valmis ja nõustun avansina saadud enammakstud osa palgast kinnipidamisega\",\n \"fin\": \"Vahvistan, että työmatkaraportti on täytetty, ja annan luvan vähentää liikaa maksetut ennakkomaksut palkastani.\",\n \"swe\": \"Jag bekräftar att affärsreserapporten har slutförts och jag godkänner avdrag för överbetalda förskott från min lön\",\n \"lit\": \"Patvirtinu, kad komandiruotės ataskaita yra pilnai užpildyta ir leidžiu išskaičiuoti permokėtus išankstinius mokėjimus iš mano darbo užmokesčio\",\n \"lav\": \"Ar šo es apstiprinu, ka komandējuma atskaite ir aizpildīta, un es atļauju atskaitīt pārmaksātos avansa maksājumus no manas algas.\",\n \"pol\": \"Potwierdzam prawidłowość wypełnienia raportu z podróży służbowej i wyrażam zgodę na potrącenie nadpłaconych zaliczek z mojego wynagrdzenia za pracę\",\n \"rus\": \"Я подтверждаю, что отчет о командировке заполнен, и разрешаю вычесть из моей заработной платы излишне уплаченные авансовые платежи.\",\n \"esp\": \"Por la presente confirmo que se completó el reporte de viaje de negocios y autorizo la deducción de los anticipos pagados en exceso de mi nómina\",\n \"nor\": \"Jeg bekrefter herved at forretningsreiserapporten er fullført og jeg godkjenner trekk av for mye betalte forskuddsbetalinger fra min lønn\"\n },\n \"customAllowanceRate\": {\n \"eng\": \"Custom daily allowance rate\",\n \"lav\": \"Pielāgota dienas naudas likme\",\n \"est\": \"Kohandatud päevaraha suurus\",\n \"lit\": \"Individualizuota dienpinigių norma\",\n \"swe\": \"Anpassa dagliga underhållstorleken\",\n \"fin\": \"Mukautettu päivärahan määrä\",\n \"pol\": \"Zindywidualizowana stawka diety dziennej\",\n \"rus\": \"Индивидуальная норма суточных\",\n \"esp\": \"Tasa de asignación diaria personalizada\",\n \"nor\": \"Tilpasset dagpengersats\"\n },\n \"addApprover\": {\n \"eng\": \"Add approver\",\n \"lav\": \"Pievienot lēmuma pieņēmēju\",\n \"lit\": \"Pridėti tvirtintoją\",\n \"swe\": \"Lägg till godkännare\",\n \"fin\": \"Lisää hyväksyjä\",\n \"est\": \"Lisa kinnitaja\",\n \"pol\": \"Dodaj osobę zatwierdzającą\",\n \"rus\": \"Добавить утверждающего\",\n \"esp\": \"Agregar aprobador\",\n \"nor\": \"Legg til godkjenner\"\n },\n \"tripRequestRejected\": {\n \"eng\": \"Your travel application was rejected!\",\n \"lav\": \"Jūsu komandējuma pieprasījums tika noraidīts!\",\n \"lit\": \"Jūsų kelionės paraiška buvo atmesta!\",\n \"swe\": \"Din reseansökan har blivit avvisad!\",\n \"fin\": \"Matkavarauksesi hylättiin\",\n \"est\": \"Teie lähetustaotlus on tagasi lükatud\",\n \"pol\": \"Twój wniosek o podróż służbową został odrzucony!\",\n \"rus\": \"Ваша заявка на поездку была отвергнутa!\",\n \"esp\": \"Su solicitud de viaje fue rechazada!\",\n \"nor\": \"Din reisesøknad ble avvist!\"\n },\n \"approvingAdvPayment\": {\n \"eng\": \"Advance payment is being approved\",\n \"lav\": \"Tiek apstiprināts avansa maksājums\",\n \"fin\": \"Ennakkomaksu on hyväksyttävänä\",\n \"est\": \"Avanss on kinnitamisel\",\n \"swe\": \"Förskottsbetalning håller på att godkännas\",\n \"pol\": \"Zaliczka jest zatwierdzana\",\n \"rus\": \"Авансовый платеж утверждается\",\n \"esp\": \"Se está aprobando el pago por adelantado\",\n \"lit\": \"Išankstinis apmokėjimas yra tvirtinamas\",\n \"nor\": \"Forskuddsbetaling godkjennes\"\n },\n \"resubmit\": {\n \"eng\": \"Submit again\",\n \"lav\": \"Iesniegt vēlreiz\",\n \"fin\": \"Lähetä uudelleen\",\n \"est\": \"Edasta uuesti\",\n \"swe\": \"Skicka in igen\",\n \"pol\": \"Prześlij ponownie\",\n \"rus\": \"Отправить снова\",\n \"esp\": \"Enviar de nuevo\",\n \"lit\": \"Pateikti dar kartą\",\n \"nor\": \"Send inn igjen\"\n },\n \"createdForEmployee\": {\n \"eng\": \"Created for employee\",\n \"lav\": \"Izveidots priekš darbinieka\",\n \"est\": \"Loodud töötajale\",\n \"swe\": \"Skapad åt anställd\",\n \"pol\": \"Stworzony dla pracownika\",\n \"rus\": \"Создано для сотрудника\",\n \"esp\": \"Creado para empleados\",\n \"lit\": \"Sukurta darbuotojui\",\n \"fin\": \"Luotu henkilölle\",\n \"nor\": \"Laget for ansatte\"\n },\n \"copyKeysTo1CSystem\": {\n \"eng\": \"Copy the keys to $integration software\",\n \"lav\": \"Pārkopējiet norādītās atslēgas $integration sistēmā\",\n \"rus\": \"Скопируйте эти ключи в систему $integration\",\n \"est\": \"Kopeeri võtmed $integration tarkvarasse\",\n \"esp\": \"Copiar claves a $integration software\",\n \"lit\": \"Kopijuoti raktus į $integration programą\",\n \"pol\": \"Skopiuj klucze do oprogramowania $integration\",\n \"fin\": \"Kopioi avaimet $integration sovellukseen\",\n \"nor\": \"Kopier nøklene til $integration-programvaren\"\n },\n \"copied\": {\n \"eng\": \"copied\",\n \"lav\": \"nokopēts\",\n \"pol\": \"skopiowano\",\n \"est\": \"kopeeritud\",\n \"rus\": \"скопировано\",\n \"swe\": \"kopierat\",\n \"esp\": \"copiado\",\n \"lit\": \"nukopijuota\",\n \"fin\": \"kopioitu\",\n \"nor\": \"kopiert\"\n },\n \"additionalPayment\": {\n \"eng\": \"Additional payment\",\n \"lav\": \"Piemaksa\",\n \"est\": \"Välja maksmiseks\",\n \"pol\": \"Dodatkowa opłata\",\n \"rus\": \"Дополнительная оплата\",\n \"swe\": \"Ytterligare betalning\",\n \"esp\": \"Pago adicional\",\n \"lit\": \"Papildomas mokėjimas\",\n \"fin\": \"Lisämaksu\",\n \"nor\": \"Tilleggsbetaling\"\n },\n \"sumDeducted\": {\n \"eng\": \"Sum deducted\",\n \"lav\": \"Atmaksājams\",\n \"est\": \"Kinnipeetav summa\",\n \"pol\": \"Odliczona kwota\",\n \"rus\": \"Вычитаемая сумма\",\n \"swe\": \"Avdraget belopp\",\n \"esp\": \"Cantidad deducida\",\n \"lit\": \"Suma išskaičiuota\",\n \"fin\": \"Vähennykset yhteensä\",\n \"nor\": \"Sum trukket fra\"\n },\n \"sumPayable\": {\n \"eng\": \"Sum payable\",\n \"lav\": \"Piemaksājams\",\n \"est\": \"Väljamakstav summa\",\n \"pol\": \"Kwota do zapłaty\",\n \"rus\": \"Сумма к оплате\",\n \"swe\": \"Belopp att betala\",\n \"esp\": \"Cantidad a pagar\",\n \"lit\": \"Mokėtina suma\",\n \"fin\": \"Maksettavaa yhteensä\",\n \"nor\": \"Sum som skal betales\"\n },\n \"sent\": {\n \"eng\": \"Sent\",\n \"lav\": \"Nosūtīts\",\n \"est\": \"Saadetud\",\n \"rus\": \"Отправлено\",\n \"swe\": \"Skickat\",\n \"esp\": \"Enviado\",\n \"lit\": \"Išsiųsta\",\n \"pol\": \"Wysłano\",\n \"fin\": \"Lähetetty\",\n \"nor\": \"Sendt\"\n },\n \"reject\": {\n \"eng\": \"Reject\",\n \"lav\": \"Noraidīt\",\n \"est\": \"Lükka tagasi\",\n \"rus\": \"Отвергнуть\",\n \"swe\": \"Avvisa\",\n \"esp\": \"Rechazar\",\n \"lit\": \"Atmesti\",\n \"pol\": \"Odrzucono\",\n \"fin\": \"Hylkää\",\n \"nor\": \"Avvis\"\n },\n \"createTripForOtherEmployee\": {\n \"eng\": \"Travel application for other employee\",\n \"lav\": \"Komandējuma pieteikums citam darbiniekam\",\n \"est\": \"Lähetustaotlus teisele töötajale\",\n \"rus\": \"Заявление на командировку для другого сотрудника\",\n \"swe\": \"Reseansökan för annan anställd\",\n \"esp\": \"Solicitud de viaje para otro empleado\",\n \"lit\": \"Kelionės paraiška kitam darbuotojui\",\n \"pol\": \"Wniosek o podróż dla innego pracownika\",\n \"fin\": \"Matkahakemus toiselle työntekijälle\",\n \"nor\": \"Reisesøknad for annen ansatt\"\n },\n \"efExUnsubmittingNotAllowed\": {\n \"eng\": \"Document is approved and in view-only mode\",\n \"lav\": \"Dokuments ir apstiprināts un vairs nevar tikt rediģēts\",\n \"est\": \"Sul pole õigusi seda dokumenti muuta\",\n \"rus\": \"Документ утвержден и находится в формате только для просмотра\",\n \"swe\": \"Du har inte tillåtelse att redigera detta dokument\",\n \"esp\": \"Usted no tiene permisos para editar este documento\",\n \"lit\": \"Jūs neturite prieigos redaguoti šį dokumentą\",\n \"pol\": \"Nie masz uprawnień do edycji tego dokumentu\",\n \"fin\": \"Sinulla ei ole oikeuksia muokata tätä dokumenttia\",\n \"nor\": \"Du har ikke lov til å redigere dette dokumentet\"\n },\n \"breakfastIncluded\": {\n \"eng\": \"Breakfast included\",\n \"lav\": \"Iekļautas brokastis\",\n \"est\": \"Hommikusöök hinna sees\",\n \"rus\": \"Завтрак включен\",\n \"swe\": \"Frukost inkluderad\",\n \"esp\": \"Desayuno incluido\",\n \"lit\": \"Pusryčiai įskaičiuoti\",\n \"pol\": \"Śniadanie wliczone\",\n \"fin\": \"Sisältää aamupalan\",\n \"nor\": \"Frokost inkludert\"\n },\n \"dinnerIncluded\": {\n \"eng\": \"Dinner included\",\n \"lav\": \"Iekļautas vakariņas\",\n \"est\": \"Õhtusöök hinna sees\",\n \"rus\": \"Ужин включен\",\n \"swe\": \"Middag inkluderad\",\n \"esp\": \"Cena incluida\",\n \"lit\": \"Vakarienė įskaičiuota\",\n \"pol\": \"Kolacja wliczona\",\n \"fin\": \"Sisältää illallisen\",\n \"nor\": \"Middag inkludert\"\n },\n \"lunchIncluded\": {\n \"eng\": \"Lunch included\",\n \"lav\": \"Iekļautas pusdienas\",\n \"est\": \"Lõunasöök hinna sees\",\n \"rus\": \"Обед включен\",\n \"swe\": \"Lunch inkluderad\",\n \"esp\": \"Almuerzo incluido\",\n \"lit\": \"Pietūs įskaičiuoti\",\n \"pol\": \"Obiad wliczony\",\n \"fin\": \"Sisältää lounaan\",\n \"nor\": \"Lunsj inkludert\"\n },\n \"auditor\": {\n \"eng\": \"Auditor\",\n \"lav\": \"Auditors\",\n \"est\": \"Audiitor\",\n \"rus\": \"Аудитор\",\n \"swe\": \"Revisor\",\n \"esp\": \"Auditor\",\n \"lit\": \"Auditorius\",\n \"pol\": \"Audytor\",\n \"fin\": \"Tarkastaja\",\n \"nor\": \"Revisor\"\n },\n \"assignNewRole\": {\n \"eng\": \"Assign new role\",\n \"lav\": \"Piešķirt jaunas lietotāja tiesības\",\n \"est\": \"Lisa uus roll\",\n \"rus\": \"Назначить новую роль\",\n \"swe\": \"Tilldela ny roll\",\n \"esp\": \"Asignar un nuevo rol\",\n \"lit\": \"Priskirti naują rolę\",\n \"pol\": \"Przypisz nową rolę\",\n \"fin\": \"Anna uusi rooli\",\n \"nor\": \"Tildel ny rolle\"\n },\n \"chooseRole\": {\n \"eng\": \"Select role\",\n \"lav\": \"Izvēlēties lietotāja tiesības\",\n \"est\": \"Vali roll\",\n \"rus\": \"Выбор роли\",\n \"swe\": \"Välj roll\",\n \"esp\": \"Seleccione el rol\",\n \"lit\": \"Parinkti rolę\",\n \"pol\": \"Wybierz rolę\",\n \"fin\": \"Valitse rooli\",\n \"nor\": \"Velg rolle\"\n },\n \"userHasOtherRoles\": {\n \"eng\": \"This user still has other roles assigned\",\n \"lav\": \"Šim lietotājam/-ai joprojām paliks citas lietotāja tiesības\",\n \"est\": \"Sellel kasutajal on veel teisi rolle\",\n \"rus\": \"Этот пользователь все еще имеет другие назначенные ему роли\",\n \"swe\": \"Denna användare har fortfarande andra roller\",\n \"esp\": \"Este usuario aún tiene otros roles asignados\",\n \"lit\": \"Šis vartotojas dar turi ir kitas priskirtas roles\",\n \"pol\": \"Ten użytkownik ma przypisane jeszcze inne role\",\n \"fin\": \"Tällä käyttäjällä on vielä muita rooleja\",\n \"nor\": \"Denne brukeren har fortsatt andre roller tildelt\"\n },\n \"removeRoleForUser\": {\n \"eng\": \"Remove current role for user $email?\",\n \"lav\": \"Noņemt lietotājam/-ai $email piešķirtās tiesības?\",\n \"est\": \"Eemalda praegune roll kasutajalt $email?\",\n \"rus\": \"Удалить текущую роль для пользователя $email?\",\n \"swe\": \"Ta bort nuvarande roll för användare $email?\",\n \"esp\": \"Remover rol actual para el usuario $email?\",\n \"lit\": \"Pašalinti šią rolę vartotojui $email?\",\n \"pol\": \"Usunąć aktualną rolę dla użytkownika: $email?\",\n \"fin\": \"Poista nykyinen rooli käyttäjältä $email?\",\n \"nor\": \"Vil du fjerne gjeldende rolle for brukeren $email?\"\n },\n \"havePromo\": {\n \"eng\": \"Have a promo code?\",\n \"est\": \"Sul on sooduskood?\",\n \"lav\": \"Vai Jums ir promo kods?\",\n \"rus\": \"У вас есть промокод?\",\n \"swe\": \"Har du en rabattkod?\",\n \"esp\": \"Tiene un código de promoción?\",\n \"lit\": \"Ar turite promo kodą?\",\n \"pol\": \"Posiadasz kod promocyjny?\",\n \"fin\": \"Saitko promokoodin?\",\n \"nor\": \"Har du en promo-kode?\"\n },\n \"promoCode\": {\n \"eng\": \"Enter code here\",\n \"est\": \"Sisesta sooduskood siia\",\n \"lav\": \"Ievadiet kodu\",\n \"rus\": \"Введите код\",\n \"swe\": \"Ange kod här\",\n \"esp\": \"Ingrese en código aquí\",\n \"pol\": \"Wprowadź kod tutaj\",\n \"fin\": \"Kirjoita koodi tähän\",\n \"nor\": \"Skriv kode her\",\n \"lit\": \"Įveskite kodą čia\"\n },\n \"noBeneficiariesThisMonth\": {\n \"eng\": \"No beneficiaries this month\",\n \"lav\": \"Šajā mēnesī nav nodokļu deklarācijas\",\n \"esp\": \"Sin beneficiarios este mes\",\n \"swe\": \"Inga förmånstagare denna månad\",\n \"lit\": \"Šį mėnesį naudos gavėjų nėra\",\n \"pol\": \"Brak beneficjentów w tym miesiącu\",\n \"rus\": \"Нет налоговой декларации в этом месяце\",\n \"est\": \"Sellel kuul deklareeritavaid pole\",\n \"fin\": \"Ei edunsaajia tässä kuussa\",\n \"nor\": \"Ingen begunstigede denne måneden\"\n },\n \"beneficiaries\": {\n \"eng\": \"Beneficiaries\",\n \"lav\": \"Deklarācijas\",\n \"esp\": \"Beneficiarios\",\n \"swe\": \"Förmånstagare\",\n \"lit\": \"Naudos gavėjai\",\n \"est\": \"Deklareeritavad\",\n \"pol\": \"Beneficjenci\",\n \"rus\": \"Декларации\",\n \"fin\": \"Edunsaajat\",\n \"nor\": \"Begunstigede\"\n },\n \"forwardingFailed\": {\n \"eng\": \"Forwarding failed\",\n \"lav\": \"Pārsūtīšana neizdevās\",\n \"esp\": \"Reenvío fallido\",\n \"swe\": \"Vidarebefodring misslyckades\",\n \"lit\": \"Persiuntimas nepavyko\",\n \"est\": \"Edastamine ebaõnnestus\",\n \"pol\": \"Przesyłanie nie powiodło się\",\n \"rus\": \"Переадресация не удалась\",\n \"fin\": \"Lähettäminen epäonnistui\",\n \"nor\": \"Videresending mislyktes\"\n },\n \"forwardingSuccess\": {\n \"eng\": \"Forwarded\",\n \"lav\": \"Nosūtīts\",\n \"esp\": \"Reenviado\",\n \"swe\": \"Vidarebefodrad\",\n \"lit\": \"Persiųsta\",\n \"est\": \"Edastatud\",\n \"pol\": \"Przesłano\",\n \"rus\": \"Передано\",\n \"fin\": \"Lähetetty\",\n \"nor\": \"Videresendt\"\n },\n \"prepared\": {\n \"eng\": \"Prepared\",\n \"lav\": \"Sagatavots\",\n \"esp\": \"Preparado\",\n \"swe\": \"Förberedd\",\n \"lit\": \"Paruošta\",\n \"est\": \"Valmis\",\n \"pol\": \"Przygotowano\",\n \"rus\": \"Подготовлено\",\n \"fin\": \"Täytetty\",\n \"nor\": \"Forberedt\"\n },\n \"taxDeclaration\": {\n \"eng\": \"Tax declaration\",\n \"lav\": \"Nodokļu deklarācija\",\n \"esp\": \"Declaración de impuestos\",\n \"swe\": \"Skattedeklaration\",\n \"lit\": \"Mokesčių deklaracija\",\n \"est\": \"Maksudeklaratsioon\",\n \"pol\": \"Deklaracja podatkowa\",\n \"rus\": \"Налоговая декларация\",\n \"fin\": \"Veroilmoitus\",\n \"nor\": \"Selvangivelse\"\n },\n \"paymentDate\": {\n \"eng\": \"Payment date\",\n \"lav\": \"Samaksas datums\",\n \"esp\": \"Fecha de pago\",\n \"swe\": \"Betalningsdatum\",\n \"lit\": \"Mokėjimo data\",\n \"est\": \"Maksekuupäev\",\n \"pol\": \"Data płatności\",\n \"rus\": \"Дата платежа\",\n \"fin\": \"Maksupäivä\",\n \"nor\": \"Betalingsdato\"\n },\n \"submitAll\": {\n \"eng\": \"Submit all\",\n \"lav\": \"Iesniegt visu\",\n \"esp\": \"Enviar todo\",\n \"swe\": \"Skicka in alla\",\n \"lit\": \"Pateikti visus\",\n \"est\": \"Edasta kõik\",\n \"pol\": \"Prześlij wszystko\",\n \"rus\": \"Подать все\",\n \"fin\": \"Lähetä kaikki\",\n \"nor\": \"Send inn alle\"\n },\n \"selectPaymentDate\": {\n \"eng\": \"Select payment date\",\n \"lav\": \"Izvēlieties samaksas datumu\",\n \"esp\": \"Seleccione fecha de pago\",\n \"swe\": \"Välj betalningsdatum\",\n \"lit\": \"Parinkite mokėjimo datą\",\n \"est\": \"Vali makse kuupäev\",\n \"pol\": \"Wybierz datę płatności\",\n \"rus\": \"Выберите дату платежа\",\n \"fin\": \"Valitse maksupäivä\",\n \"nor\": \"Velg betalingsdato\"\n },\n \"incomesRegisterIntegration\": {\n \"eng\": \"Incomes Register Integration\",\n \"esp\": \"Integración del registro de ingresos\",\n \"lit\": \"Pajamų registro integracija\",\n \"est\": \"Tuluregistri integratsioon\",\n \"pol\": \"Integracja Rejestru Dochodów\",\n \"rus\": \"Интеграция регистра доходов\",\n \"lav\": \"Ienākumu Reģistra Integrācija\",\n \"fin\": \"Tulorekisteri-integraatio\",\n \"swe\": \"Inkomstregisterintegrering\",\n \"nor\": \"Inntektsregisterintegrering\"\n },\n \"renew\": {\n \"eng\": \"Renew\",\n \"lav\": \"Atjaunot\",\n \"esp\": \"Renovar\",\n \"swe\": \"Förnya\",\n \"lit\": \"Atnaujinti\",\n \"est\": \"Uuenda\",\n \"pol\": \"Odnów\",\n \"rus\": \"Обновить\",\n \"fin\": \"Uusi\",\n \"nor\": \"Fornye\"\n },\n \"deactivate\": {\n \"eng\": \"Deactivate\",\n \"lav\": \"Atspējot\",\n \"esp\": \"Desactivar\",\n \"swe\": \"Avaktivera\",\n \"lit\": \"Deaktyvuoti\",\n \"est\": \"Deaktiveeri\",\n \"pol\": \"Dezaktywuj\",\n \"rus\": \"Отключить\",\n \"fin\": \"Poista käytöstä\",\n \"nor\": \"Deaktiver\"\n },\n \"transferId\": {\n \"eng\": \"Transfer Id\",\n \"lav\": \"Transfer Id\",\n \"esp\": \"Identificación de Transferencia\",\n \"swe\": \"Överförings-ID\",\n \"lit\": \"Pervedimo ID\",\n \"est\": \"Ülekande ID\",\n \"pol\": \"Identyfikator przelewu\",\n \"fin\": \"Siirtotunnus (TransferID)\",\n \"rus\": \"Идентификатор передачи\",\n \"nor\": \"Overførings-ID\"\n },\n \"certificate\": {\n \"eng\": \"Certificate\",\n \"lav\": \"Sertifikāts\",\n \"esp\": \"Certificado\",\n \"swe\": \"Certifikat\",\n \"lit\": \"Sertifikatas\",\n \"est\": \"Sertifikaat\",\n \"pol\": \"Certyfikat\",\n \"rus\": \"Сертификат\",\n \"fin\": \"Varmenne\",\n \"nor\": \"Sertifikat\"\n },\n \"certificateIsActive\": {\n \"eng\": \"Certificate is active\",\n \"lav\": \"Sertifikāts ir iespējots\",\n \"esp\": \"El Certificado está activo\",\n \"swe\": \"Certifikat är aktivt\",\n \"lit\": \"Sertifikatas aktyvus\",\n \"est\": \"Sertifikaat on aktiivne\",\n \"pol\": \"Certyfikat jest aktywny\",\n \"rus\": \"Сертификат активен\",\n \"fin\": \"Varmenne on voimassa\",\n \"nor\": \"Sertifikatet er aktivt\"\n },\n \"createCertificate\": {\n \"eng\": \"Create certificate\",\n \"lav\": \"Izveidot sertifikātu\",\n \"esp\": \"Crear certificado\",\n \"swe\": \"Skapa certifikat\",\n \"lit\": \"Sukurti sertifikatą\",\n \"est\": \"Loo sertifikaat\",\n \"pol\": \"Utwórz certyfikat\",\n \"rus\": \"Создать сертификат\",\n \"fin\": \"Luo varmenne\",\n \"nor\": \"Opprett sertifikat\"\n },\n \"contactPerson\": {\n \"eng\": \"Contact person\",\n \"lav\": \"Kontaktpersona\",\n \"esp\": \"Persona de contacto\",\n \"swe\": \"Kontaktperson\",\n \"lit\": \"Kontaktinis asmuo\",\n \"est\": \"Kontaktisik\",\n \"pol\": \"Osoba kontaktowa\",\n \"rus\": \"Контактное лицо\",\n \"fin\": \"Yhteyshenkilö\",\n \"nor\": \"Kontaktperson\"\n },\n \"telephone\": {\n \"eng\": \"Telephone\",\n \"lav\": \"Telefons\",\n \"esp\": \"Teléfono\",\n \"swe\": \"Telefon\",\n \"lit\": \"Telefonas\",\n \"est\": \"Telefon\",\n \"pol\": \"Telefon\",\n \"rus\": \"Телефон\",\n \"fin\": \"Puhelin\",\n \"nor\": \"Telefon\"\n },\n \"certificateExpires\": {\n \"eng\": \"Incomes Register integration certificate expires on $date\",\n \"lav\": \"Incomes Register integrācijas sertifikāts beidzas $date\",\n \"esp\": \"El certificado de integración de registro de ingresos expira el $date\",\n \"lit\": \"Pajamų registro integracijos sertifikatas baigia galioti $date\",\n \"est\": \"Tuluregistri liidestuse sertifikaat aegub $date\",\n \"pol\": \"Certyfikat integracji Rejestru Przychodów wygasa w dniu $date\",\n \"rus\": \"Срок действия интеграционного сертификата регистра доходов истекает в $date\",\n \"fin\": \"Tulorekisteri-integraation sertifikaatti vanhenee $date\",\n \"swe\": \"Inkomstregistrets integrationscertifikat löper ut $date\",\n \"nor\": \"Integrasjonssertifikat for inntektsregister utløper på $date\"\n },\n \"certificateExpired\": {\n \"eng\": \"Incomes Register integration certificate expired on $date. To continue using integration please renew certificate!\",\n \"lav\": \"Incomes Register integrācijas sertifikāta derīguma termiņš ir iztecējis $date. Lai turpinātu lietot integrāciju, lūdzu atjaunojiet sertifikātu!\",\n \"esp\": \"El certificado de integración de registro de ingresos venció el $date. Para continuar usando la integración, renueve el certificado!\",\n \"lit\": \"Registro integracijos sertifikatas baigė galioti $date. Norėdami naudotis integracija, atnaujinkite sertifikatą.\",\n \"est\": \"Tuluregistri liidestuse sertifikaat aegus $date. Kasutamise jätkamiseks uuendage sertifikaati!\",\n \"swe\": \"Registrera integrationscertifikatet som gick ut $date. För att fortsätta använda integreringen behövs certifikatet förnyas.\",\n \"pol\": \"Certyfikat integracji Rejestru Przychodów wygasł w dniu $date. Aby kontynuować korzystanie z integracji prosimy o odnowienie certyfikatu!\",\n \"rus\": \"Срок действия сертификата интеграции Incomes Register истек в $date. Чтобы продолжить использование интеграции, пожалуйста, обновите сертификат!\",\n \"fin\": \"Tulorekisteri-integraation sertifikaatti on vanhentunut $date. Ole hyvä ja uusi sertifikaatti jatkaaksesi integraation käyttöä.\",\n \"nor\": \"Integrasjonssertifikat for inntektsregister utløp $date. For å fortsette å bruke integrasjon, vennligst forny sertifikatet!\"\n },\n \"active\": {\n \"eng\": \"Active\",\n \"lav\": \"Aktīvs\",\n \"esp\": \"Activo\",\n \"swe\": \"Aktiv\",\n \"lit\": \"Aktyvus\",\n \"est\": \"Aktiivne\",\n \"pol\": \"Aktywny\",\n \"rus\": \"Активный\",\n \"fin\": \"Voimassa\",\n \"nor\": \"Aktiv\"\n },\n \"inactive\": {\n \"eng\": \"Inactive\",\n \"lav\": \"Neaktīvs\",\n \"esp\": \"Inactivo\",\n \"swe\": \"Inaktiv\",\n \"lit\": \"Neaktyvus\",\n \"est\": \"Mitteaktiivne\",\n \"pol\": \"Nieaktywny\",\n \"rus\": \"Неактивный\",\n \"fin\": \"Vanhentunut tai ei ole olemassa\",\n \"nor\": \"Inaktiv\"\n },\n \"new\": {\n \"eng\": \"New\",\n \"lav\": \"Jauns\",\n \"esp\": \"Nuevo\",\n \"swe\": \"Ny\",\n \"lit\": \"Naujas\",\n \"est\": \"Uus\",\n \"pol\": \"Nowy\",\n \"rus\": \"Новый\",\n \"fin\": \"Uusi\",\n \"nor\": \"Ny\"\n },\n \"expires\": {\n \"eng\": \"Expires:\",\n \"lav\": \"Beidzas:\",\n \"esp\": \"Expira\",\n \"swe\": \"Går ut\",\n \"lit\": \"Baigiasi:\",\n \"est\": \"Aegub:\",\n \"pol\": \"Wygasa:\",\n \"rus\": \"Истекает:\",\n \"fin\": \"Vanhenee:\",\n \"nor\": \"Utløper:\"\n },\n \"previousVersions\": {\n \"eng\": \"Previous versions\",\n \"lav\": \"Iepriekšējās versijas\",\n \"esp\": \"Versiones anteriores\",\n \"swe\": \"Tidigare versioner\",\n \"lit\": \"Ankstesnės versijos\",\n \"est\": \"Eelmised versioonid\",\n \"pol\": \"Poprzednie wersje\",\n \"rus\": \"Предыдущие версии\",\n \"fin\": \"Aiemmat versiot\",\n \"nor\": \"Tidligere versjoner\"\n },\n \"selectApproverEmail\": {\n \"eng\": \"Select approver email from existing ones\",\n \"lav\": \"Izvēlieties lēmuma pieņēmēja epastu no saraksta\",\n \"est\": \"Kinnitaja email tuleb valida olemasolevate hulgast\",\n \"swe\": \"Välj från redan befintliga e-postadresser\",\n \"esp\": \"Seleccione el correo electrónico del aprobador de los existentes\",\n \"pol\": \"Wybierz z listy adres e-mail osoby podejmującej decyzję\",\n \"rus\": \"Выберите электронную почту утвердителя из существующих\",\n \"fin\": \"Valitse hyväksyjän sähköposti listalta\",\n \"lit\": \"Pasirinkite tvirtintojo e-paštą iš sąrašo\",\n \"nor\": \"Velg godkjenner-e-post fra eksisterende\"\n },\n \"external-travel-approver\": {\n \"eng\": \"Travel approver\",\n \"est\": \"Lähetuste kinnitaja\",\n \"esp\": \"Aprobador del viaje\",\n \"pol\": \"Osoba zatwierdzająca podróż\",\n \"rus\": \"Утверждающий командировки\",\n \"fin\": \"Matkojen hyväksyjä\",\n \"swe\": \"Resegodkännare\",\n \"lav\": \"Komandējuma apstiprinātājs\",\n \"lit\": \"Kelionės tvirtintojas\",\n \"nor\": \"Reisegodkjenner\"\n },\n \"approverAdded\": {\n \"eng\": \"Approver added\",\n \"lav\": \"Lēmuma pieņēmējs pievienots\",\n \"est\": \"Kinnitaja on lisatud\",\n \"esp\": \"Aprobador agregado\",\n \"pol\": \"Dodano osobę zatwierdzającą\",\n \"rus\": \"Утвердитель добавлен\",\n \"fin\": \"Uusi hyväksyjä lisätty\",\n \"swe\": \"Godkännare tillagd\",\n \"lit\": \"Tvirtintojas pridėtas\",\n \"nor\": \"Godkjenner lagt til\"\n },\n \"failedToLoadDocs\": {\n \"eng\": \"Failed to load documents\",\n \"lav\": \"Dokumentu ielāde neizdevās\",\n \"est\": \"Dokumentide laadimine ebaõnnestus\",\n \"esp\": \"No se pudieron cargar los documentos\",\n \"pol\": \"Nie udało się załadować dokumentów\",\n \"rus\": \"Не удалось загрузить документы\",\n \"fin\": \"Dokumenttien lataaminen epäonnistui\",\n \"swe\": \"Misslyckades med att ladda dokumenten\",\n \"lit\": \"Nepavyko įkelti dokumentų\",\n \"nor\": \"Kunne ikke laste inn dokumenter\"\n },\n \"nextTripOnLastDay\": {\n \"eng\": \"Next travel is starting on the last day of this work trip\",\n \"esp\": \"El próximo viaje comienza el último día de este viaje de trabajo\",\n \"pol\": \"Następna podróż zaczyna się w ostatnim dniu tej podróży służbowej.\",\n \"rus\": \"Следующая рабочая поездка начинается в последний день этой рабочей поездки\",\n \"est\": \"Järgmine lähetus algab selle lähetuse viimasel päeval\",\n \"fin\": \"Seuraava matka alkaa tämän työmatkan viimeisenä päivänä\",\n \"swe\": \"Nästa resa påbörjas sista dagen av denna jobbresa\",\n \"lav\": \"Nākamais komandējums sākas šī komandējuma pēdējā dienā\",\n \"lit\": \"Kita kelionė prasideda paskutinę šios kelionės dieną\",\n \"nor\": \"Neste reise starter siste dag av denne arbeidsreisen\"\n },\n \"reportDocsWillBeDeleted\": {\n \"eng\": \"All documents will be deleted along with the report\",\n \"lav\": \"Visi pievienotie dokumenti tiks dzēsti kopā ar šo atskaiti\",\n \"pol\": \"Wraz z raportem zostaną usunięte wszystkie dokumenty\",\n \"rus\": \"Все документы будут удалены вместе с отчетом\",\n \"est\": \"Kõik dokumendid kustutatakse\",\n \"fin\": \"Kaikki dokumentit poistetaan yhdessä raportin kanssa\",\n \"swe\": \"Alla dokument kommer raderas tillsammans med rapporten\",\n \"lit\": \"Visi dokumentai ataskaitoje bus ištrinti\",\n \"nor\": \"Alle dokumenter vil bli slettet sammen med rapporten\"\n },\n \"PasswordTooLong\": {\n \"eng\": \"Password should not contain more than 120 characters\",\n \"lav\": \"Parole nedrīkst būt garāka par 120 rakstzīmēm\",\n \"swe\": \"Lösenordet kan inte innehålla fler än 120 tecken\",\n \"est\": \"Parool peab olema alla 120 tähemärgi\",\n \"pol\": \"Hasło nie powinno zawierać więcej niż 120 znaków\",\n \"rus\": \"Пароль не должен содержать более 120 символов\",\n \"fin\": \"Salasana ei voi olla pidempi kuin 120 merkkiä\",\n \"lit\": \"Slaptažodis negali turėti daugiau nei 120 simbolių\",\n \"nor\": \"Passord bør ikke inneholde mer enn 120 tegn\"\n },\n \"PasswordTooShort\": {\n \"est\": \"Parooli pikkus peab olema vähemalt 10 tähemärki\",\n \"eng\": \"Please insert password at least 10 characters\",\n \"rus\": \"Вставьте пароль не менее 10 символов\",\n \"fin\": \"Salasanan pituus vähintään 10 merkkiä\",\n \"pol\": \"Proszę podaj hasło składające się z minimum 10 liter\",\n \"lav\": \"Lūdzu, ievadiet paroli, kas garāka par 10 simboliem\",\n \"swe\": \"Var god ange ett lösenord med minst 10 tecken\",\n \"lit\": \"Įveskite mažiausiai 10 simbolių slaptažodį\",\n \"esp\": \"Introduzca la contraseña de al menos 10 caracteres\",\n \"nor\": \"Vennligst skriv inn passord på minst 10 tegn\"\n },\n \"onlyYourDocumentsInApp\": {\n \"eng\": \"Only your own documents are visible in the app. Visit $cloud to manage all documents.\",\n \"est\": \"Äpis näevad kasutajad ainult enda dokumente. Kõiki ettevõtte dokumente näeb siin: $cloud.\",\n \"pol\": \"W aplikacji dostępne są tylko dokumenty przesłane przez ciebie. Zobacz wszystkie dokumenty w chmurze: $cloud.\",\n \"rus\": \"В приложении видны только ваши собственные документы. Для управления всеми документами посетите $cloud.\",\n \"lav\": \"Aplikācijā iespējams apskatīt tikai savus dokumentus. Visus uzņēmuma dokumentus administratori var apskatīt $cloud.\",\n \"swe\": \"Du kan endast se dina egna dokument i appen. Hitta alla företagets dokument här: $cloud\",\n \"fin\": \"Näet sovelluksessa vain omat dokumentit. Kaikki dokumentit löytyvät $cloud.\",\n \"lit\": \"Programėlėje matomi tik jūsų dokumentai. Valdykite visus kompanijos dokumentus $cloud.\",\n \"nor\": \"Du kan kun se dine egne dokumenter I APPEN. Se alle selskapets dokumenter på $cloud.\",\n \"esp\": \"Sólo puede ver sus propios documentos EN LA APP. Ver todos los documentos de la organización en $cloud\"\n },\n \"mileageReport\": {\n \"eng\": \"Mileage report\",\n \"est\": \"Sõidupäevik\",\n \"fin\": \"Kilometriraportti\",\n \"pol\": \"Ewidencja przebiegu pojazdu\",\n \"rus\": \"Отчет о километраже\",\n \"lav\": \"Maršruta lapa\",\n \"swe\": \"Miltalsrapport\",\n \"lit\": \"Kilometražo ataskaita\",\n \"nor\": \"Kilometerrapport\"\n },\n \"noMileage\": {\n \"eng\": \"No mileage\",\n \"est\": \"Ühtegi sõitu pole lisatud\",\n \"fin\": \"Ei kilometrilukemia\",\n \"pol\": \"Brak przebiegu pojazdu\",\n \"rus\": \"Без километража\",\n \"lav\": \"Bez nobraukuma\",\n \"swe\": \"Inget miltal\",\n \"lit\": \"Be kilometražo\",\n \"nor\": \"Ingen kilometerstand\"\n },\n \"routeAndPurpose\": {\n \"est\": \"Sõidu eesmärk, marsruut\",\n \"eng\": \"Purpose of the trip, route\",\n \"fin\": \"Matkan tarkoitus, reitti\",\n \"pol\": \"Cel podróży, trasa\",\n \"rus\": \"Цель поездки, маршрут\",\n \"lav\": \"Brauciena mērķis, maršruts\",\n \"swe\": \"Ändamål med resan, rutt\",\n \"lit\": \"Kelionės tikslas, maršrutas\",\n \"nor\": \"Formål med turen, rute\"\n },\n \"deny\": {\n \"eng\": \"Deny\",\n \"lav\": \"Noraidīt\",\n \"est\": \"Ei kinnita\",\n \"fin\": \"Hylkää\",\n \"pol\": \"Odrzuć\",\n \"rus\": \"Отклонить\",\n \"swe\": \"Neka\",\n \"lit\": \"Paneigti\",\n \"nor\": \"Benekte\"\n },\n \"confirmIntegration\": {\n \"eng\": \"Confirm integration\",\n \"lav\": \"Apstiprināt integrāciju\",\n \"est\": \"Kinnita liidestus\",\n \"fin\": \"Vahvista integraatio\",\n \"pol\": \"Potwierdź integrację\",\n \"rus\": \"Подтвердите интеграцию\",\n \"swe\": \"Bekräfta integrering\",\n \"lit\": \"Patvirtinti integraciją\",\n \"nor\": \"Bekreft integrasjon\"\n },\n \"pleaseConfirmIntegration\": {\n \"eng\": \"Please confirm that you wish to integrate CostPocket with $integration for $company\",\n \"lav\": \"Lūdzu, apstipriniet, ka vēlaties integrēt CostPocket ar $integration organizācijai $company\",\n \"est\": \"Palun kinnita, et soovid liidestada CostPocketi ja $integration ettevõttele $company\",\n \"fin\": \"Ole hyvä ja vahvista toiminto: Integroidaan organisaation $company CostPocket ja $integration\",\n \"pol\": \"Potwierdź integrację CostPocket z $integration dla $company\",\n \"rus\": \"Пожалуйста, подтвердите, что вы хотите интегрировать CostPocket с $integration для $company\",\n \"swe\": \"Var god bekräfta att du önskar integrera CostPocket med $integration åt $company\",\n \"lit\": \"Patvirtinkite norą integruoti CostPocket su $integration kompanijai $company\",\n \"nor\": \"Vennligst bekreft at du ønsker å integrere CostPocket med $integration for $company\"\n },\n \"invalidConfirmCode\": {\n \"eng\": \"Service confirmation code is not valid\",\n \"lav\": \"Servisa apstiprinājuma kods nav pareizs\",\n \"est\": \"Teenuse kinnituskood ei ole kehtiv\",\n \"fin\": \"Palvelun vahvistuskoodi ei ole oikein tai voimassa.\",\n \"pol\": \"Kod potwierdzenia usługi jest nieważny\",\n \"rus\": \"Код подтверждения услуги недействителен\",\n \"swe\": \"Koden för servicegodkännande är inte giltlig\",\n \"lit\": \"Paslaugos patvirtinimo kodas negalioja\",\n \"nor\": \"Tjenestebekreftelseskoden er ikke gyldig\"\n },\n \"confirmActionFailed\": {\n \"eng\": \"Service confirmation action failed\",\n \"lav\": \"Apstiprināt vai noraidīt integrāciju neizdevās\",\n \"est\": \"Teenuse kinnitamine ebaõnnestus\",\n \"fin\": \"Palvelun vahvistaminen epäonnistui\",\n \"pol\": \"Potwierdzenie usługi nie powiodło się\",\n \"rus\": \"Действие подтверждения услуги не удалось\",\n \"swe\": \"Åtgärd för servicegodkännanden misslyckades\",\n \"lit\": \"Paslaugos patvirtinimo veiksmas nepavyko\",\n \"nor\": \"Tjenestebekreftelseshandling mislyktes\"\n },\n \"confirmActionDone\": {\n \"eng\": \"Integration is already confirmed by $name\",\n \"lav\": \"$name jau apstiprināja integrāciju\",\n \"est\": \"Liidestuse on juba kinnitatud $name\",\n \"fin\": \"$name on jo vahvistanut integraation.\",\n \"pol\": \"Integracja jest już potwierdzona przez: $name\",\n \"rus\": \"$name уже подтвердили интеграцию\",\n \"swe\": \"Integration har redan bekräftats av $name\",\n \"lit\": \"$name jau patvirtino integraciją\",\n \"nor\": \"Integrasjon er allerede bekreftet av $name\"\n },\n \"ignore\": {\n \"eng\": \"Ignore\",\n \"lav\": \"Ignorēt\",\n \"est\": \"Ignoreeri\",\n \"fin\": \"Jätä huomiotta\",\n \"pol\": \"Zignoruj\",\n \"rus\": \"Игнорировать\",\n \"swe\": \"Ignorera\",\n \"lit\": \"Ignoruoti\",\n \"nor\": \"Ignorer\"\n },\n \"onlyReceipts\": {\n \"eng\": \"Receipts\",\n \"lav\": \"Čeki\",\n \"est\": \"Tšekid\",\n \"fin\": \"Kuitit\",\n \"pol\": \"Rachunki\",\n \"rus\": \"Квитанции\",\n \"swe\": \"Kvitton\",\n \"lit\": \"Kvitai\",\n \"nor\": \"Kvitteringer\"\n },\n \"invoices\": {\n \"eng\": \"Purchase invoices\",\n \"lav\": \"Rēķini\",\n \"est\": \"Ostuarved\",\n \"fin\": \"Laskut\",\n \"pol\": \"Faktury\",\n \"rus\": \"Счета\",\n \"swe\": \"Fakturor\",\n \"lit\": \"Sąskaitos\",\n \"nor\": \"Fakturaer\"\n },\n \"allSubmitters\": {\n \"eng\": \"All users\",\n \"lav\": \"Visi lietotāji\",\n \"est\": \"Kõik kasutajad\",\n \"fin\": \"Kaikki kirjaajat\",\n \"pol\": \"Wszyscy użytkownicy\",\n \"rus\": \"Все пользователи\",\n \"swe\": \"Alla användare\",\n \"lit\": \"Visi vartotojai\",\n \"nor\": \"Alle innsendere\"\n },\n \"allAdmins\": {\n \"eng\": \"All admins\",\n \"lav\": \"Visi administratori\",\n \"est\": \"Kõik adminid\",\n \"fin\": \"Kaikki ylläpitäjät\",\n \"pol\": \"Wszyscy administratorzy\",\n \"rus\": \"Все администраторы\",\n \"swe\": \"Alla administratörer\",\n \"lit\": \"Visi administratoriai\",\n \"nor\": \"Alle administratorer\"\n },\n \"minAutoApprovalSum\": {\n \"eng\": \"Auto-approvable sum\",\n \"lav\": \"Automātiski apstiprināmā summa\",\n \"est\": \"Max summa, mis kinnitatakse automaatselt\",\n \"fin\": \"Automaattisesti hyväksyttävissä oleva maksimisumma\",\n \"pol\": \"Limit kwoty zatwierdzanej automatycznie\",\n \"rus\": \"Максимальная автоматически утверждаемая сумма\",\n \"swe\": \"Maximal automatiskt godkännbar summa\",\n \"lit\": \"Maksimali automatiškai patvirtinama suma\",\n \"nor\": \"Maksimal auto-godkjenningsbeløp\"\n },\n \"maxApprovableSum\": {\n \"eng\": \"Maximum approvable sum\",\n \"lav\": \"Automātiski noraidāmās summas\",\n \"est\": \"Max summa, mida on võimalik kinnitada\",\n \"fin\": \"Hyväksyttävissä oleva maksimisumma\",\n \"pol\": \"Maksymalna kwota, która może zostać zatwierdzona\",\n \"rus\": \"Автоматически отклоняемые суммы\",\n \"swe\": \"Maximal godkännbar summa\",\n \"lit\": \"Maksimali tvirtinama suma\",\n \"nor\": \"Maksimal godkjent sum\"\n },\n \"disableNotifications\": {\n \"eng\": \"Send email notifications to approvers\",\n \"lav\": \"Sūtīt paziņojumus uz e-pastu\",\n \"est\": \"Edasta teavitusi e-postile\",\n \"fin\": \"Poista sähköpostimuistutukset käytöstä\",\n \"pol\": \"Wyłącz powiadomienia e-mail\",\n \"rus\": \"Отправлять уведомления по эл.почте\",\n \"swe\": \"Avaktivera e-postnotifikationer\",\n \"lit\": \"Siųsti pranešimus e-paštu\",\n \"nor\": \"Send e-postvarsler\"\n },\n \"outOfWorkflowAction\": {\n \"eng\": \"Action\",\n \"lav\": \"Darbība\",\n \"est\": \"Vaikimisi toiming\",\n \"fin\": \"Oletustoiminto\",\n \"pol\": \"Działanie domyślne\",\n \"rus\": \"Действие\",\n \"swe\": \"Standardåtgärd\",\n \"lit\": \"Veiksmas pagal nutylėjimą\",\n \"nor\": \"Standard handling\"\n },\n \"numOfRequiredApprovals\": {\n \"eng\": \"Number of required approvals\",\n \"lav\": \"Nepieciešamo apstiprinājumu skaits\",\n \"est\": \"Vajalike kinnitamiste arv\",\n \"fin\": \"Vaadittujen hyväksyntöjen määrä\",\n \"pol\": \"Liczba wymaganych zatwierdzeń\",\n \"rus\": \"Число необходимых утверждений\",\n \"swe\": \"Antal nödvändiga godkännanden\",\n \"lit\": \"Reikalingų patvirtinimų skaičius\",\n \"nor\": \"Antall nødvendige godkjenninger\"\n },\n \"allowAnyoneAsDelegate\": {\n \"eng\": \"Allow anyone as delegate\",\n \"lav\": \"Atļaut deleģēt lēmumu visiem\",\n \"est\": \"Luba kasutajatel delegeerimine\",\n \"pol\": \"Deleguj zatwierdzenie dowolnej osobie\",\n \"rus\": \"Разрешить любому лицу быть утверждающим\",\n \"swe\": \"Tillåt vem som helst som delegat\",\n \"fin\": \"Lisää käyttäjä\",\n \"lit\": \"Leisti deleguoti visiems\",\n \"nor\": \"Tillat hvem som helst som delegat\"\n },\n \"targetType\": {\n \"eng\": \"Document type\",\n \"lav\": \"Apstiprināmā dokumenta veids\",\n \"est\": \"Dokumendi tüüp\",\n \"fin\": \"Sovellettavan dokumentin tyyppi\",\n \"pol\": \"Rodzaj wydatków możliwych do zatwierdzenia\",\n \"rus\": \"Тип утверждаемого документа\",\n \"swe\": \"Typ av godkänt dokument\",\n \"lit\": \"Tvirtinamo dokumento tipas\",\n \"nor\": \"Type godkjent dokument\"\n },\n \"approvalDefault\": {\n \"eng\": \"Automated decision\",\n \"lav\": \"Automātisks lēmums\",\n \"est\": \"Vaikimisi toiming\",\n \"fin\": \"Oletuspäätös\",\n \"pol\": \"Domyślna decyzja\",\n \"rus\": \"Автоматическое решение\",\n \"swe\": \"Standardbeslut\",\n \"lit\": \"Sprendimas pagal nutylėjimą\",\n \"nor\": \"Standardbeslutning\"\n },\n \"approvalRounds\": {\n \"eng\": \"Approval rounds\",\n \"lav\": \"Izdevumu apstiprināšana\",\n \"est\": \"Kinnitusring\",\n \"fin\": \"Hyväksymiskierrokset\",\n \"pol\": \"Zatwierdzanie wydatków\",\n \"rus\": \"Утверждение расходов\",\n \"swe\": \"Bekräftelseomgångar\",\n \"lit\": \"Tvirtinimo etapai\",\n \"nor\": \"Godkjenningsrunder\"\n },\n \"turnOnRounds\": {\n \"eng\": \"Click ADD WORKFLOW before turning approval rounds on\",\n \"lav\": \"Spiediet PIEVIENOT SHĒMU, lai sāktu lietot izdevumu apstiprināšanas funkciju\",\n \"est\": \"Enne aktiveerimist vali LISA KINNITUSRING\",\n \"pol\": \"Aby włączyć rundy zatwierdzania, należy dodać nowy proces zatwierdzania.\",\n \"rus\": \"Необходимо добавить рабочий процесс утверждения перед включением раундов утверждения\",\n \"lit\": \"Spauskite Pridėti Eigą prieš įgalindami tvirtinimo procesus\",\n \"swe\": \"Klicka LÄGG TILL ARBETSFLÖDE innan du aktiverar bekräftelseomgångar\",\n \"fin\": \"Paina LISÄÄ TYÖJÄRJESTYS ennen kuin käynnistät hyväksymisprosessin\",\n \"nor\": \"Klikk på LEGG TIL ARBEIDSFLYT før du slår på godkjenningsrunder\"\n },\n \"docsWillNeedApproval\": {\n \"eng\": \"If turned on, documents and reports will move to accounting only after approval\",\n \"lav\": \"Pēc aktivizēšanas iesniegtie dokumenti tiks novirzīti uz grāmatvedību tikai pēc to apstiprināšanas\",\n \"est\": \"Aktiveerituna edastatakse dokumendid ja aruanded raamatupidamisse alles pärast kinnitamist\",\n \"fin\": \"Jos aktiivinen, dokumentit ja raportit siirtyvät kirjanpito-ohjelmistoon hyväksynnän jälkeen\",\n \"pol\": \"Po aktywacji tej funkcji, złożone dokumenty będą kierowane do księgowości dopiero po ich zatwierdzeniu.\",\n \"rus\": \"Если включено, документы и отчеты будут отправляться в бухгалтерию только после утверждения\",\n \"swe\": \"Om aktiverad kommer dokument och rapporter endast skickas till bokföring efter bekräftelse\",\n \"lit\": \"Jei įjungta, dokumentai ir ataskaitos bus siunčiami apskaitai tik po patvirtinimo\",\n \"nor\": \"Hvis slått på, vil dokumenter og rapporter flyttes til regnskap først etter godkjenning\"\n },\n \"policies\": {\n \"eng\": \"Settings\",\n \"lav\": \"Iestatījumi\",\n \"fin\": \"Käytännöt\",\n \"est\": \"Seaded\",\n \"pol\": \"Warunki\",\n \"rus\": \"Условия\",\n \"swe\": \"Villkor\",\n \"lit\": \"Nustatymai\",\n \"nor\": \"Innstillinger\"\n },\n \"workflows\": {\n \"eng\": \"Workflows\",\n \"lav\": \"Darbību shēmas\",\n \"est\": \"Kinnitusringide nimekiri\",\n \"pol\": \"Proces zatwierdzania\",\n \"rus\": \"Список рабочих процессов\",\n \"swe\": \"Lista på arbetsflöden\",\n \"fin\": \"Työjärjestyslista\",\n \"lit\": \"Eigų sąrašas\",\n \"nor\": \"Liste over arbeidsflyter\"\n },\n \"addPolicy\": {\n \"eng\": \"Add settings\",\n \"lav\": \"Pievienot iestatījumus\",\n \"fin\": \"Lisää käytäntö\",\n \"est\": \"Lisa seade\",\n \"pol\": \"Dodaj warunki zatwierdzania\",\n \"rus\": \"Добавить условие\",\n \"swe\": \"Lägg till villkor\",\n \"lit\": \"Pridėti nustatymus\",\n \"nor\": \"Legg til innstillinger\"\n },\n \"addWorkflow\": {\n \"eng\": \"Add Workflow\",\n \"lav\": \"Pievienot shēmu\",\n \"est\": \"Lisa kinnitusring\",\n \"pol\": \"Dodaj proces zatwierdzania\",\n \"rus\": \"Добавить схему утверждения расходов\",\n \"swe\": \"Lägg till arbetsflöde\",\n \"fin\": \"Lisää työjärjestys\",\n \"lit\": \"Pridėti Eigą\",\n \"nor\": \"Legg til arbeidsflyt\"\n },\n \"roundWithoutApprovers\": {\n \"eng\": \"If there are no approvers, all documents will be automatically rejected\",\n \"lav\": \"Ja apstiprināšanas kārtai nebūs pievienots neviens lēmuma pieņēmējs, visi iesniegtie izdevumu dokumenti tiks automātiski noraidīti\",\n \"est\": \"Kinnitajate puudumisel lükatakse kõik dokumendid automaatselt tagasi\",\n \"fin\": \"Jos hyväksyjiä ei ole, kaikki dokumentit hylätään automaattisesti.\",\n \"pol\": \"Jeśli nie ma wskazanych osób zatwierdzających, wszystkie dokumenty zostaną automatycznie odrzucone.\",\n \"rus\": \"Если нет утверждающих, все документы будут автоматически отклонены\",\n \"swe\": \"Om det inte finns några bekräftare, kommer alla dokument att automatiskt avvisas\",\n \"lit\": \"Jei nėra tvirtintojų, visi dokumentai bus automatiškai atmetami\",\n \"nor\": \"Hvis det ikke er noen godkjennere, vil alle dokumenter automatisk bli avvist\"\n },\n \"roundsOfApproval\": {\n \"eng\": \"Approval steps\",\n \"lav\": \"Apstiprināšanas kārtas\",\n \"est\": \"Kinnitusring\",\n \"fin\": \"Hyväksymiskierrokset\",\n \"pol\": \"Rundy zatwierdzające\",\n \"rus\": \"Этапы утверждения\",\n \"swe\": \"Bekräftningssteg\",\n \"lit\": \"Tvirtinimo žingsniai\",\n \"nor\": \"Godkjenningstrinn\"\n },\n \"round\": {\n \"eng\": \"Step #\",\n \"lav\": \"Kārtas Nr.\",\n \"fin\": \"Kierrosnro\",\n \"est\": \"Voor nr\",\n \"pol\": \"Runda numer\",\n \"rus\": \"Этап Нр.\",\n \"swe\": \"Steg #\",\n \"lit\": \"Žingsnio #\",\n \"nor\": \"Steg #\"\n },\n \"addRound\": {\n \"eng\": \"Add step\",\n \"lav\": \"Pievienot kārtu\",\n \"fin\": \"Lisää kierros\",\n \"est\": \"Lisa voor\",\n \"pol\": \"Dodaj rundę\",\n \"rus\": \"Добавить этап\",\n \"swe\": \"Lägg till steg\",\n \"lit\": \"Pridėti žingsnį\",\n \"nor\": \"Legg til trinn\"\n },\n \"selectedApprovers\": {\n \"eng\": \"Selected approvers\",\n \"lav\": \"Personas, kas pieņems lēmumu\",\n \"est\": \"Juba valitud kinnitajad\",\n \"fin\": \"Valitut hyväksyjät\",\n \"pol\": \"Wybrani zatwierdzający\",\n \"rus\": \"Выбранные утверждающие лица\",\n \"swe\": \"Valda bekräftare\",\n \"lit\": \"Parinkti tvirtintojai\",\n \"nor\": \"Utvalgte godkjennere\"\n },\n \"inputMustBeLonger\": {\n \"eng\": \"Input must be at least $number characters long\",\n \"lav\": \"Ievadītais teksts nedrīkst būt īsāks par $number rakstzīmēm\",\n \"est\": \"Miinumum tähemärkide arv on $number\",\n \"fin\": \"Syötteen pituuden tulee olla vähintään $number merkkiä.\",\n \"pol\": \"Minimalna liczba znaków to $number\",\n \"rus\": \"Ввод должен быть длиной не менее $number символов\",\n \"swe\": \"Inmatningen måste vara minst $number tecken\",\n \"lit\": \"Įvestis turi būti ne trumpesnė nei $number simboliai\",\n \"nor\": \"Inndata må være minst $number tegn langt\"\n },\n \"roundName\": {\n \"eng\": \"Add step name\",\n \"lav\": \"Ievadiet kārtas nosaukumu\",\n \"fin\": \"Lisää kierrosnimike\",\n \"est\": \"Lisa vooru nimi\",\n \"pol\": \"Dodaj nazwę rundy zatwierdzającej\",\n \"rus\": \"Добавьте название этапа\",\n \"swe\": \"Lägg till steg-namn\",\n \"lit\": \"Pridėti žingsnio pavadinimą\",\n \"nor\": \"Legg til trinnnavn\"\n },\n \"workflowName\": {\n \"eng\": \"Edit workflow name\",\n \"lav\": \"Mainīt shēmas nosaukumu\",\n \"est\": \"Lisa töövoo nimi\",\n \"pol\": \"Dodaj nazwę procesu zatwierdzania\",\n \"rus\": \"Изменить название схемы\",\n \"swe\": \"Lägg till namn på arbetsflödet\",\n \"fin\": \"Lisää työjärjestyksen nimi\",\n \"lit\": \"Pridėti Eigos pavadinimą\",\n \"nor\": \"Legg til arbeidsflytnavn\"\n },\n \"workflow\": {\n \"eng\": \"Workflow\",\n \"lav\": \"Darbību shēma\",\n \"est\": \"Kinnitusring\",\n \"pol\": \"Proces zatwierdzania\",\n \"rus\": \"Рабочий процесс утверждения\",\n \"lit\": \"Tvirtinimo eiga\",\n \"swe\": \"Arbetsflöde\",\n \"fin\": \"Työjärjestys\",\n \"nor\": \"Arbeidsflyt\"\n },\n \"noOptionSelected\": {\n \"eng\": \"You haven't selected any option\",\n \"lav\": \"Nav izvēlēta neviena opcija\",\n \"est\": \"Sa pole midagi valinud\",\n \"fin\": \"Mikään vaihtoehto ei ole valittuna.\",\n \"pol\": \"Nie wybrano żadnej opcji\",\n \"rus\": \"Вы не выбрали ни одного варианта\",\n \"swe\": \"Du har inte valt ett alternativ\",\n \"lit\": \"Nepasirinkote jokių variantų\",\n \"nor\": \"Du har ikke valgt noe alternativ\"\n },\n \"changePlanToAddUser\": {\n \"eng\": \"You are currently on a Free Demo plan which allows only one user. To add more users, please select different plan.\",\n \"lav\": \"Jūs šobrīd izmantojat Bezmaksas izmēģinājuma versiju, kas pieļauj tikai vienu lietotāju. Lai pievienotu Jūsu organizācijai vēl lietotājus, lūdzu, izvēlieties citu plānu.\",\n \"fin\": \"Käytössäsi on tällä hetkellä ilmainen demo, joka sallii vain yhden käyttäjän. Jos organisaatiosi tarvitsee enemmän käyttäjiä, sinun on valittava joku muu pakettivaihtoehdoistamme.\",\n \"est\": \"Ettevõte on hetkel tasuta demo plaani peal, mis lubab vaid ühe kasutaja. Kasutajate lisamiseks vali tasuline hinnastamine.\",\n \"pol\": \"Obecnie korzystasz z darmowego planu Demo, który obejmuje tylko jednego użytkownika. Aby dodać więcej użytkowników wybierz inny plan.\",\n \"rus\": \"В настоящее время вы используете бесплатный тарифный план \\\"Демонстрация\\\", который предоставляет только одного пользователя. Чтобы добавить пользователей в, пожалуйста, выберите другой тарифный план.\",\n \"swe\": \"Du är för tillfället på en Gratis Demo-plan, vilket endast tillåter en användare. För att lägga till fler användare, var god välj en annan plan.\",\n \"lit\": \"Jūs naudojatės nemokamu Demo planu, kuris leidžia tik vieną naudotoją. Jei norite pridėti daugiau naudotojų, pasirinkite kitą planą.\",\n \"nor\": \"Du har for øyeblikket en gratis demo-plan som kun tillater én bruker. For å legge til flere brukere, velg en annen plan.\"\n },\n \"minAutoApprSumDescr\": {\n \"eng\": \"If the expense sum is smaller or equal, it will be auto-approved.\",\n \"lav\": \"Ja izdevumu dokumenta summa būs mazāka vai vienāda ar norādīto, tas tiks automātiski apstiprināts. Ja summa būs lielāka - dokumentu vajadzēs apstiprināt lēmuma pieņēmējam.\",\n \"fin\": \"Jos kulusumma on yhtäsuuri tai pienempi, hyväksytään se automaattisesti. Muussa tapauksessa kulu lähetetään hyväksyntäkierrokselle.\",\n \"est\": \"Kui kulutuse summa on sellest väiksem või võrdne, kinnitatakse see automaatselt.\",\n \"pol\": \"Jeśli suma wydatków jest mniejsza lub równa, zostanie ona automatycznie zatwierdzona.\",\n \"rus\": \"Если сумма расходного документа будет меньше или равна указанной, документ будет автоматически утвержден.\",\n \"swe\": \"Om utgiftssumman är mindre eller samma, kommer den automatiskt godkännas.\",\n \"lit\": \"Jei išlaidos suma mažesnė ar lygi, ji bus automatiškai patvirtinta.\",\n \"nor\": \"Hvis utgiftssummen er mindre eller lik, blir den automatisk godkjent.\"\n },\n \"maxApprSumDescr\": {\n \"eng\": \"If the expense sum is larger, it will be auto-rejected.\",\n \"lav\": \"Ja izdevumu dokumenta summa būs lielāka par norādīto, tas tiks automātiski noraidīts.\",\n \"fin\": \"Jos kulusumma on tätä suurempi, se hylätään automaattisesti.\",\n \"est\": \"Kui kulutuse summa on sellest suurem, siis lükatakse see automaatselt tagasi.\",\n \"pol\": \"Jeśli suma wydatków jest większa, zostanie automatycznie odrzucona.\",\n \"rus\": \"Если сумма расходного документа будет выше указанной, документ будет автоматически отклонен.\",\n \"swe\": \"Om utgiftssumman är större, kommer den automatiskt avslås.\",\n \"lit\": \"Jei išlaidos suma didesnė, ji bus automatiškai atmesta.\",\n \"nor\": \"Hvis utgiftssummen er større, blir den automatisk avvist.\"\n },\n \"disableNotificDescr\": {\n \"eng\": \"Sending notifications to approvers.\",\n \"lav\": \"Ieslēgt/izslēgt paziņojumu sūtīšanu lēmumu pieņēmējiem.\",\n \"fin\": \"Poistaa käytöstä hyväksyjille lähtevien viestien lähetyksen.\",\n \"est\": \"Teavituste saatmine kinnitajatele.\",\n \"pol\": \"Wyłącza wysyłanie powiadomień do osób zatwierdzających -gdy jest tylko jeden Zatwierdzający.\",\n \"rus\": \"Активировать/отключить отправку уведомлений утверждающим.\",\n \"lit\": \"Siųsti pranešimus tvirtintojams\",\n \"swe\": \"Avaktivera att skicka notifikationer till bekräftare\",\n \"nor\": \"Sende varsler til godkjennere.\"\n },\n \"nonWorkflowActionDescr\": {\n \"eng\": \"Applies for cases outside of defined workflows\",\n \"lav\": \"Tiek attiecināta uz gadījumiem, kuros nav piemērojama neviena cita darbību shēma\",\n \"fin\": \"Aktivoituu, jos sopivaa kierrosta ei ole määritelty ja hyväksyntää ei voida toteuttaa.\",\n \"est\": \"Siin saab valida, mis juhtub dokumentidega, millele ei kehti ükski kinnitusring.\",\n \"rus\": \"Если пользователь подаст документ, который не соответствует ни одному рабочему процессу утверждения, автоматически произойдет выбранное действие.\",\n \"swe\": \"Om användare skickar in ett dokument som inte passar med något arbetsflöde, vald\",\n \"lit\": \"Jei pateiktas dokumentas neatitinka jokios Eigos, pasirinktas veiksmas bus atliktas automatiškai.\",\n \"nor\": \"Hvis brukeren sender inn et dokument som ikke samsvarer med noen arbeidsflyt, vil den valgte handlingen automatisk finne sted.\",\n \"pol\": \"Jeśli użytkownik prześle dokument, który nie pasuje do żadnego obiegu, wybrana czynność zostanie wykonana automatycznie.\"\n },\n \"allowAnyoneDelegateDescr\": {\n \"eng\": \"Allows any user with active role in the company to be delegated to or appended to an Approval.\",\n \"lav\": \"Atļaut/aizliegt deleģēt lēmuma pieņemšanu jebkuram organizācijā reģistrētam lietotājam.\",\n \"fin\": \"Sallii kenen tahansa käyttäjän liittämisen hyväksyntäkierrokseen.\",\n \"est\": \"Lubab kasutajatel delegeerida kinnitamise igale töötajale.\",\n \"pol\": \"Umożliwia oddelegowanie lub dołączenie do autoryzacji zatwierdzenia dowolnemu użytkownikowi z aktywną rolą w organizacji.\",\n \"rus\": \"Позволяет любому пользователю с активной ролью в компании быть назначенным или добавленным к утверждению.\",\n \"swe\": \"Tillåt alla användare med en aktiv roll i företaget att delegeras eller bli tillagd till ett godkännande\",\n \"lit\": \"Leisti naudotojams, turintiems aktyvų vaidmenį įmonėje, būti deleguotiems arba prijungtiems prie Patvirtinimo.\",\n \"nor\": \"Lar enhver bruker med aktiv rolle i selskapet delegeres til eller legges til en godkjenning.\"\n },\n \"numRequiredApprDescr\": {\n \"eng\": \"Number of approvals needed to pass this step. If not selected, all chosen approvers must approve.\",\n \"lav\": \"Nepieciešamo lēmumu skaits, lai Apstiprināšanas kārta tiktu uzskatīta par noslēgtu. Pēc noklusējuma Apstiprināšanas kārta ir noslēgta, kad visi lēmumu pieņēmēji ir apstiprinājuši dokumentu un/vai pārskatu.\",\n \"fin\": \"Vaadittujen hyväksyntöjen vähimmäismäärä hyväksymiskierroksella. Jos vähimmäismäärää ei ole määritelty, tulee kaikkien nimettyjen hyväksyjien osallistuttava kierrokselle.\",\n \"est\": \"Vajalik arv kinnitajaid selle vooru läbimiseks. Kui see on jäetud valimata, peavad kinnitama kõik kinnitajad.\",\n \"rus\": \"Количество необходимых одобрений для завершения этапа утверждения. Если не указано, все утверждающие лица должны утвердить.\",\n \"pol\": \"Liczba wymaganych akceptacji w celu przejścia procesu zatwierdzania. Jeśli nie określono, wszyscy odpowiedni zatwierdzający w danej rundzie muszą zaakceptować.\",\n \"swe\": \"Antal bekräftelser som krävs. Om inget annat anges måste alla godkännare bekräfta.\",\n \"lit\": \"Parašų skaičius reikalingas tvirtinimui. Jei nepasirinkta, visi tvirtintojai turi pasirašyti.\",\n \"nor\": \"Antall godkjenninger som trengs for å bestå dette trinnet. Hvis ikke valgt, må alle valgte godkjennere godkjenne.\"\n },\n \"targetTypeDescr\": {\n \"eng\": \"If not chosen, this Workflow applies to all types of documents.\",\n \"lav\": \"Dokumentu veids, kuram tiks piemērota Darbību shēma. Pēc noklusējuma Darbību shēma attieksies uz visiem dokumentu veidiem.\",\n \"est\": \"Kui dokumendi tüüp on jäetud valimata, siis kehtib see kinnitusring kõigile dokumentidele.\",\n \"rus\": \"Тип документов, на которые действует схема утверждения. По умолчанию схема применяется ко всем типам документов.\",\n \"pol\": \"Jeśli nie wybrano, to ten proces zatwierdzania odnosi się do wszystkich typów dokumentów.\",\n \"swe\": \"Om inte annat anges, appliceras detta arbetsflöde för alla dokument.\",\n \"lit\": \"Jei nepažymėti dokumentų tipai, Tvirtinimo Eiga taikoma visiems dokumentams.\",\n \"fin\": \"Mikäli ei valittu, tämä työjärjestys pätee kaikkiin tiedostotyyppeihin\",\n \"nor\": \"Hvis ikke valgt, gjelder denne arbeidsflyten for alle typer dokumenter.\"\n },\n \"approvalDefaultDescr\": {\n \"eng\": \"Automates approval decision for this Workflow. Gets activated if no approvers are specified.\",\n \"pol\": \"Automatyzuje decyzje o zatwierdzeniu. Stosowane, gdy nie są wybrani żadni zatwierdzający.\",\n \"fin\": \"Automatisoi hyväksyntä. Aktivoituu, jos hyväksyjiä ei ole määritelty.\",\n \"est\": \"Automeerib kinnitamise otsuseid. Kasutatakse siis, kui kinnitajaid pole valitud.\",\n \"lav\": \"Automātiska lēmuma pieņemšana. Stājas spēkā, ja attiecīgajā darbību shēmā nav norādīts neviens lēmuma pieņēmējs.\",\n \"rus\": \"Автоматизирует принятие решения об утверждении для соответствующего рабочего процесса. Активируется, если не указаны утверждающие лица.\",\n \"swe\": \"Automatiserar bekräftelsebeslut för denna runda. Aktiveras om inga godkännare specificeras.\",\n \"lit\": \"Automatizuoja tvirtinimo sprendimą šiai Eigai. Aktyvuojama, jei nenurodomi tvirtintojai\",\n \"nor\": \"Automatiserer godkjenningsbeslutning for denne arbeidsflyten. Aktiveres hvis ingen godkjennere er spesifisert.\"\n },\n \"addApprovers\": {\n \"eng\": \"Add approvers\",\n \"lav\": \"Pievienot lēmuma pieņēmējus\",\n \"fin\": \"Lisää hyväksyjiä\",\n \"est\": \"Lisa kinnitajaid\",\n \"rus\": \"Добавить утвердителей\",\n \"pol\": \"Dodaj zatwierdzających\",\n \"swe\": \"Lägg till godkännare\",\n \"lit\": \"Pridėti tvirtintojus\",\n \"nor\": \"Legg til godkjennere\"\n },\n \"eeSentToITSupport\": {\n \"est\": \"Teade saadetud ITabi-sse\",\n \"eng\": \"Message sent to IT support\",\n \"lav\": \"Ziņa nosūtīta IT atbalsta speciāistiem\",\n \"fin\": \"Viesti lähetetty tekniseen tukeen\",\n \"rus\": \"Сообщение отправлено в службу поддержки ИТ\",\n \"pol\": \"Wiadomość wysłana do działu wsparcia IT\",\n \"swe\": \"Meddelande skickat till IT-support\",\n \"lit\": \"Žinutė išsiųsta pagalbos skyriui\",\n \"nor\": \"Melding sendt til IT-Support\"\n },\n \"cancelApproval\": {\n \"eng\": \"Cancel approval\",\n \"lav\": \"Atsaukt apstiprinājuma pieteikumu\",\n \"est\": \"Tühista kinnitamine\",\n \"rus\": \"Отменить запрос на утверждение\",\n \"pol\": \"Anuluj zatwierdzenie\",\n \"swe\": \"Avbryt bekräftelse\",\n \"lit\": \"Atšaukti patvirtinimą\",\n \"fin\": \"Epää hyväksyntä\",\n \"nor\": \"Avbryt godkjenning\"\n },\n \"approvalVoid\": {\n \"eng\": \"Approval has already completed\",\n \"lav\": \"Apstiprinājuma kārta ir noslēgta\",\n \"est\": \"Kinnitamine on juba tehtud\",\n \"rus\": \"Утверждение уже завершено\",\n \"pol\": \"Proces zatwierdzania został zakończony\",\n \"swe\": \"Bekräftelse är redan färdig\",\n \"lit\": \"Tvirtinimas jau yra užbaigtas\",\n \"fin\": \"Hyväksyntä on valmis\",\n \"nor\": \"Godkjenningen er allerede fullført\"\n },\n \"approvalDecisionVoid\": {\n \"eng\": \"Approval decision has already been made\",\n \"lav\": \"Lēmums jau ir pieņemts\",\n \"est\": \"Kinnitamise otsus on juba tehtud\",\n \"rus\": \"Решение уже принято\",\n \"pol\": \"Decyzja o zatwierdzeniu została już podjęta\",\n \"swe\": \"Bekräftelsebeslut har redan gjorts\",\n \"lit\": \"Sprendimas jau yra priimtas\",\n \"fin\": \"Hyväksymispäätös on suoritettu\",\n \"nor\": \"Godkjenningsvedtaket er allerede tatt\"\n },\n \"rejectReasonExpected\": {\n \"eng\": \"Approval rejection reason must be provided\",\n \"lav\": \"Ir jānorāda noraidījuma iemesls\",\n \"est\": \"Sisesta tagasi lükkamise põhjus\",\n \"rus\": \"Необходимо указать причину отклонения\",\n \"pol\": \"Należy podać powód odmowy zatwierdzenia\",\n \"swe\": \"Orsak till bekräftelseavslag måste anges\",\n \"lit\": \"Atmetimo priežastis turi būti nurodyta\",\n \"fin\": \"Hyväksynnän epäämisen syy on ilmoitettava\",\n \"nor\": \"Årsak til avvisning av godkjenning må oppgis\"\n },\n \"approvalNonExistent\": {\n \"eng\": \"Approval does not exist\",\n \"lav\": \"Apstiprināšanas kārta neeksistē\",\n \"est\": \"Kinnitamine ei eksisteeri\",\n \"rus\": \"Утверждение не существует\",\n \"pol\": \"Brak potwierdzenia\",\n \"swe\": \"Bekräftelse saknas\",\n \"lit\": \"Patvirtinimas neegzistuoja\",\n \"fin\": \"Ei hyväksyntää\",\n \"nor\": \"Godkjenning finnes ikke\"\n },\n \"reimbursable\": {\n \"eng\": \"Reimbursable\",\n \"lav\": \"Kompensējams\",\n \"rus\": \"Возмещаемые\",\n \"pol\": \"Podlega zwrotowi kosztów\",\n \"swe\": \"Återbetalningsbar\",\n \"est\": \"Hüvitamisele kuuluv\",\n \"lit\": \"Kompensuojama\",\n \"fin\": \"Hyvitettävä\",\n \"nor\": \"Refusjonsberettiget\"\n },\n \"approvedAndSent\": {\n \"eng\": \"Approved and forwarded\",\n \"lav\": \"Apstiprināts un nosūtīts\",\n \"est\": \"Kinnitatud ja saadetud raamatupidamisse\",\n \"lit\": \"Patvirtinta ir išsiųsta apskaitai\",\n \"swe\": \"Godkänt och skickat till mjukvara\",\n \"fin\": \"Hyväksytty ja lähetetty sovellukseen\",\n \"rus\": \"Утверждено и отправлено в бухгалтерскую программу\",\n \"nor\": \"Godkjent og sendt til programvare\",\n \"pol\": \"Zatwierdzone i wysłane do oprogramowania\"\n },\n \"showMore\": {\n \"eng\": \"Show all\",\n \"lav\": \"Rādīt visus\",\n \"est\": \"Näita rohkem\",\n \"lit\": \"Rodyti daugiau\",\n \"swe\": \"Visa mer\",\n \"fin\": \"Näytä lisää\",\n \"rus\": \"Показать все\",\n \"nor\": \"Vis mer\",\n \"pol\": \"Pokaż więcej\"\n },\n \"submitDocsOnlyInReports\": {\n \"eng\": \"Single documents can only be submitted inside reports for this company\",\n \"est\": \"Üksikuid dokumente saab selles ettevõttes esitada vaid koos aruannetega\",\n \"rus\": \"Единичные документы могут быть представлены только внутри отчетов для данной компании\",\n \"lav\": \"Šim uzņēmumam dokumentus var iesniegt tikai ar izdevumu pārskatiem\",\n \"swe\": \"Enskilda dokument kan endast skickas inom rapporter för detta företag\",\n \"fin\": \"Yksittäisiä dokumentteja voi lähettää vain osana raporttia\",\n \"lit\": \"Šiai kompanijai pavieniai dokumentai gali būti teikiami tik ataskaitose\",\n \"nor\": \"Enkeltdokumenter kan bare sendes inn i rapporter for dette selskapet\",\n \"pol\": \"Pojedyncze dokumenty mogą być składane tylko wewnątrz raportów tej firmy\"\n },\n \"withoutCosts\": {\n \"eng\": \"Without costs\",\n \"lav\": \"Bez izmaksām\",\n \"est\": \"Ilma kuludeta\",\n \"swe\": \"Utan kostnader\",\n \"fin\": \"Maksutta\",\n \"rus\": \"Без затрат\",\n \"lit\": \"Be išlaidų\",\n \"nor\": \"Uten kostnader\",\n \"pol\": \"Bez kosztów\"\n },\n \"defEmailNotificationsOn\": {\n \"eng\": \"Email notifications are on\",\n \"est\": \"Emaili teavitused on sisse lülitatud\",\n \"rus\": \"Уведомления по электронной почте включены\",\n \"lav\": \"Epasta paziņojumi ir aktīvi\",\n \"swe\": \"Epost-notifikationer är aktiverade\",\n \"fin\": \"Sähköposti-ilmoitukset ovat päällä\",\n \"lit\": \"E-pašto pranešimai įjungti\",\n \"nor\": \"E-postvarsler er på\",\n \"pol\": \"Powiadomienia e-mail są włączone\"\n },\n \"defMustBeApprovedByAll\": {\n \"eng\": \"Must be approved by all\",\n \"est\": \"Kõik peavad kinnitama\",\n \"rus\": \"Должны быть одобрены всеми\",\n \"lav\": \"Ir jāapstiprina visiem\",\n \"swe\": \"Måste godkännas av alla\",\n \"fin\": \"Edellyttää kaikkien hyväksyntää\",\n \"lit\": \"Privalo būti patvirtinta visų\",\n \"nor\": \"Må godkjennes av alle\",\n \"pol\": \"Musi być zatwierdzony przez wszystkich\"\n },\n \"defAllexpensesApproved\": {\n \"eng\": \"All types of expenses are going through approval\",\n \"est\": \"Kõiki dokumenditüüpe peab kinnitama\",\n \"rus\": \"Все виды расходов проходят процесс утверждения\",\n \"lav\": \"Apstiprināšanai tiks virzīti visu veidu izdevumi\",\n \"swe\": \"Alla typer av utgifter går igenom godkännande\",\n \"fin\": \"Kaikki kulut lähetetään hyväksyttäväksi\",\n \"lit\": \"Visų tipų išlaidos privalo būti patvirtintos\",\n \"nor\": \"Alle typer utgifter går gjennom godkjenning\",\n \"pol\": \"Wszystkie rodzaje wydatków są zatwierdzane\"\n },\n \"defAutoReject\": {\n \"eng\": \"Auto-reject if no approvers are specified\",\n \"est\": \"Lükka automaatselt tagasi kui kinnitajad puuduvad\",\n \"rus\": \"Автоотклонение, если не указаны утверждающие лица\",\n \"lav\": \"Automātisks noraidījums, ja nav norādīti apstiprinātāji\",\n \"swe\": \"Automatiskt avvisa om inga godkännare har valts\",\n \"fin\": \"Hylkää automaattisesti, jos hyväksyjää ei ole valittu\",\n \"lit\": \"Automatinis atmetimas, jei nėra nurodytas bent vienas tvirtintojas\",\n \"nor\": \"Autoavvis hvis ingen godkjennere er spesifisert\",\n \"pol\": \"Odrzuć automatycznie, jeśli nie określono osób zatwierdzających\"\n },\n \"createReportForEmployee\": {\n \"eng\": \"Create this report for another employee\",\n \"lav\": \"Izveidot šo pārskatu cita darbinieka vārdā\",\n \"est\": \"Loo see aruanne teise kasutaja nimel\",\n \"swe\": \"Skapa denna rapport åt en annan anställd\",\n \"rus\": \"Создать этот отчет для другого сотрудника\",\n \"fin\": \"Luo raportti toiselle työntekijälle\",\n \"lit\": \"Sukurti šią ataskaitą kitam darbuotojui\",\n \"nor\": \"Opprett denne rapporten for en annen ansatt\",\n \"pol\": \"Utwórz ten raport dla innego pracownika\"\n },\n \"lastTravelExport\": {\n \"eng\": \"Last travel info export\",\n \"lav\": \"Komandējuma informācija pēdējoreiz eksportēta\",\n \"est\": \"Viimase reisi info eksport\",\n \"swe\": \"Senaste reseinfoexport\",\n \"rus\": \"Последний экспорт информации о командировках\",\n \"fin\": \"Viimeisin matkustustietoraportti\",\n \"lit\": \"Paskutinis kelionės informacijos eksportas\",\n \"nor\": \"Siste eksport av reiseinformasjon\",\n \"pol\": \"Eksport informacji z poprzedniej podróży\"\n },\n \"exportTravelInfo\": {\n \"eng\": \"Export travel info\",\n \"lav\": \"Exportēt komandējuma informāciju\",\n \"est\": \"Ekpordi reisiinfo\",\n \"swe\": \"Exportera reseinfo\",\n \"rus\": \"Экспорт информации о командировках\",\n \"fin\": \"Tuo matkustustiedot\",\n \"lit\": \"Eksportuoti kelionės info\",\n \"nor\": \"Eksporter reiseinformasjon\",\n \"pol\": \"Eksport informacji z podróży\"\n },\n \"customerId\": {\n \"eng\": \"User ID\",\n \"est\": \"Kliendi ID\",\n \"swe\": \"\",\n \"fin\": \"Käyttäjätunnus\",\n \"rus\": \"ID пользователя\",\n \"lav\": \"Lietotāja ID\",\n \"lit\": \"Kliento ID\",\n \"nor\": \"bruker-ID\",\n \"pol\": \"ID użytkownika\"\n },\n \"customerKey\": {\n \"eng\": \"Key\",\n \"est\": \"Kliendivõti\",\n \"swe\": \"\",\n \"fin\": \"Avain\",\n \"lav\": \"Atslēga\",\n \"rus\": \"Ключ\",\n \"lit\": \"Raktas\",\n \"nor\": \"Nøkkel\",\n \"pol\": \"Klucz\"\n },\n \"customerBusinessId\": {\n \"eng\": \"Business ID\",\n \"est\": \"Ettevõtte ID\",\n \"swe\": \"Företags-ID\",\n \"fin\": \"Y-tunnus\",\n \"rus\": \"Бизнес ID\",\n \"lav\": \"Uzņēmuma ID\",\n \"lit\": \"Verslo kodas\",\n \"nor\": \"Bedrifts-ID\",\n \"pol\": \"ID firmy\"\n },\n \"expenseReportForEmployee\": {\n \"eng\": \"Expense report for other employee\",\n \"lav\": \"Izdevumu pārskats citam darbiniekam\",\n \"rus\": \"Отчет о расходах для другого сотрудника\",\n \"swe\": \"Utgiftsrapport för annan anställd\",\n \"est\": \"Kuluaruanne teise töötaja nimele\",\n \"fin\": \"Kuluraportti työntekijälle\",\n \"lit\": \"Išlaidų ataskaita kitam darbuotojui\",\n \"nor\": \"Utgiftsrapport for annen ansatt\",\n \"pol\": \"Raport z wydatków dla innego pracownika\"\n },\n \"selectedSubmitters\": {\n \"eng\": \"Selected submitters\",\n \"rus\": \"Отобранные податели\",\n \"lav\": \"Norādītie iesniedzēji\",\n \"swe\": \"Valda inlämnare\",\n \"est\": \"Valitud kasutajad\",\n \"fin\": \"Valitut lähettäjät\",\n \"lit\": \"Parinkti teikėjai\",\n \"nor\": \"Utvalgte innsendere\",\n \"pol\": \"Wybrani użytkownicy\"\n },\n \"targetSubmittters\": {\n \"eng\": \"Target submitters\",\n \"lav\": \"Iesniedzēji\",\n \"rus\": \"Податели\",\n \"swe\": \"Målinlämnare\",\n \"est\": \"Kasutajad, kelle kulud peab kinnitama\",\n \"fin\": \"Kohdelähettäjä\",\n \"lit\": \"Teikėjai, kurių išlaidos yra tvirtinamos\",\n \"nor\": \"Mål innsendere\",\n \"pol\": \"Docelowi użytkownicy\"\n },\n \"addTargetSubmitters\": {\n \"eng\": \"Add target submitters\",\n \"rus\": \"Укажите подателей\",\n \"lav\": \"Norādiet iesniedzējus\",\n \"swe\": \"Lägg till målinlämnare\",\n \"est\": \"Lisa kasutajad\",\n \"fin\": \"Lisää kohdelähettäjiä\",\n \"lit\": \"Pridėti teikėjus\",\n \"nor\": \"Legg til målinnsendere\",\n \"pol\": \"Dodaj docelowych użytkowników\"\n },\n \"targetSubmittersDescription\": {\n \"eng\": \"Submitter/-s who'se documents are going to be subject for approval in this Workflow.\",\n \"rus\": \"Податель/-ы, чьи расходы будут подлежать утверждению в данном рабочем процессе.\",\n \"lav\": \"Iesniedzēji, kuru izdevumi tiks virzīti apstiprināšanai dotajā darbību shēmā.\",\n \"swe\": \"Inskickare vars utgifter ska godkännas i detta arbetsflöde\",\n \"est\": \"Vali kasutajad, kelle dokumendid lähevad kinnitusringi.\",\n \"fin\": \"Lähettäjän dokumentit jotka odottavat hyväksyntää\",\n \"lit\": \"Teikėjai, kurių dokumentai bus tvirtinami pagal šią Eigą\",\n \"nor\": \"Innsender/-er hvis dokumenter skal godkjennes i denne arbeidsflyten.\",\n \"pol\": \"Użytkownik (użytkownicy), którego dokumenty będą podlegały zatwierdzeniu w tym obiegu.\"\n },\n \"accountantComment\": {\n \"eng\": \"Accountant comment\",\n \"lav\": \"Grāmatveža komentārs\",\n \"est\": \"Raamatupidaja kommentaar\",\n \"swe\": \"Revisors kommentar\",\n \"fin\": \"Kirjanpitäjän kommentti\",\n \"rus\": \"Комментарий бухгалтера\",\n \"lit\": \"Apskaitininko komentaras\",\n \"nor\": \"Regnskapsførerkommentar\",\n \"pol\": \"Komentarz księgowego\"\n },\n \"decisionWasDelegatedTo\": {\n \"eng\": \"$approver delegated approval to $delegate\",\n \"lav\": \"$approver deleģēja lēmuma pieņemšanu $delegate\",\n \"est\": \"$approver delegeeris kinnitamise kasutajale $delegate\",\n \"fin\": \"$approver siirsi hyväksymisen $delegate\",\n \"rus\": \"$approver делегировал утверждение $delegate\",\n \"lit\": \"$approver delegavo patvirtinimą $delegate\",\n \"nor\": \"$approver delegerte godkjenning til $delegate\",\n \"pol\": \"$approver przekazał zatwierdzenie do $delegate\"\n },\n \"youDelegatedDecision\": {\n \"eng\": \"You delegated approval to $delegate\",\n \"lav\": \"Jūs deleģējāt lēmuma pieņemšanu $delegate\",\n \"est\": \"Sina delegeerisid kinnitamise kasutajale $delegate\",\n \"fin\": \"Siirsit hyväksynnän $delegate\",\n \"rus\": \"Вы делегировали утверждение $delegate\",\n \"lit\": \"Jūs delegavote patvirtinimą $delegate\",\n \"nor\": \"Du delegerte godkjenning til $delegate\",\n \"pol\": \"Przekazałeś zatwierdzenie do $delegate\"\n },\n \"delegateDecision\": {\n \"eng\": \"Delegate approval\",\n \"lav\": \"Deleģēt lēmumu\",\n \"est\": \"Delegeeri kinnitamine\",\n \"fin\": \"Siirrä hyväksyntä\",\n \"rus\": \"Делегировать утверждение\",\n \"lit\": \"Deleguoti patvirtinimą\",\n \"nor\": \"Delegert godkjenning\",\n \"pol\": \"Delegowanie zatwierdzenia\"\n },\n \"addAndApprove\": {\n \"eng\": \"Add and approve\",\n \"lav\": \"Pievienot un apstiprināt\",\n \"est\": \"Lisa ja kinnita\",\n \"fin\": \"Lisää ja hyväksy\",\n \"rus\": \"Добавить и утвердить\",\n \"lit\": \"Pridėti ir patvirtinti\",\n \"nor\": \"Legg til og godkjenn\",\n \"pol\": \"Dodaj i zatwierdź\"\n },\n \"justAddApprover\": {\n \"eng\": \"Add an extra approver\",\n \"lav\": \"Tikai pievienot\",\n \"est\": \"Lisa veel üks kinnitaja\",\n \"fin\": \"Lisäkäyttäjä\",\n \"rus\": \"Добавить дополнительного утверждающего\",\n \"lit\": \"Pridėti papildomą tvirtintoją\",\n \"nor\": \"Legg til en ekstra godkjenner\",\n \"pol\": \"Dodaj dodatkowego zatwierdzającego\"\n },\n \"approvalDelegated\": {\n \"eng\": \"Approval delegated\",\n \"lav\": \"Lēmums ir deleģēts\",\n \"est\": \"Kinnitamine on delegeeritud\",\n \"fin\": \"Hyväksyminen delegoitu\",\n \"rus\": \"Утверждение делегировано\",\n \"lit\": \"Patvirtinimas deleguotas\",\n \"nor\": \"Godkjenning delegert\",\n \"pol\": \"Zatwierdzenie oddelegowane\"\n },\n \"docIsNotSentToDigitization\": {\n \"eng\": \"Document is not sent to digitisation\",\n \"lav\": \"Dokuments nav nosūtīts digitalizācijai\",\n \"est\": \"Dokument ei ole saadetud digiteerimisele\",\n \"fin\": \"Dokumenttia ei lähetetty\",\n \"rus\": \"Документ не отправлен на оцифровку\",\n \"lit\": \"Dokumentas nėra išsiųstas skaitmeninimui\",\n \"nor\": \"Dokument sendes ikke til digitalisering\",\n \"pol\": \"Dokument nie jest wysyłany do digitalizacji\"\n },\n \"docIsDigitizedButNotRetrieved\": {\n \"eng\": \"Document is digitised but not retrieved\",\n \"lav\": \"Dokuments ir digitalizēts, bet nav saņemts\",\n \"est\": \"Dokument on digiteeritud, aga mitte kätte saadud\",\n \"fin\": \"Dokumentti on sähköistetty, muttei tietokannassa\",\n \"rus\": \"Документ оцифрован, но не извлечен\",\n \"lit\": \"Dokumentas suskaitmenintas, tačiau dar neišsiųstas\",\n \"nor\": \"Dokumentet er digitalisert, men ikke hentet\",\n \"pol\": \"Dokument jest zdigitalizowany, ale nie został odnaleziony\"\n },\n \"docIsDigitized\": {\n \"eng\": \"Document is digitised\",\n \"lav\": \"Dokuments ir digitalizēts\",\n \"est\": \"Dokument on digiteeritud\",\n \"fin\": \"Tiedoston lähetys onnistui\",\n \"rus\": \"Документ оцифрован\",\n \"lit\": \"Dokumentas suskaitmenintas\",\n \"nor\": \"Dokumentet er digitalisert\",\n \"pol\": \"Dokument jest zdigitalizowany\"\n },\n \"checkDigitization\": {\n \"eng\": \"Check digitisation status\",\n \"lav\": \"Pārbaudīt digitalizācijas statusu\",\n \"est\": \"Vaata digiteerimise staatust\",\n \"fin\": \"Tarkista dokumentin tila\",\n \"rus\": \"Проверка статуса оцифровки\",\n \"lit\": \"Patikrinkite skaitmeninimo būseną\",\n \"nor\": \"Sjekk digitaliseringsstatus\",\n \"pol\": \"Sprawdź status digitalizacji\"\n },\n \"resendToDigitization\": {\n \"eng\": \"(Re)Send to digitisation\",\n \"lav\": \"(Vēlreiz)Nosūtīt digitalizācijai\",\n \"est\": \"Saada (uuesti) digiteerimisele\",\n \"fin\": \"Uudelleenlähetä sähköisesti\",\n \"rus\": \"(Пере)отправка на оцифровку\",\n \"lit\": \"Siųsti (dar kartą) skaitmeninimui\",\n \"nor\": \"Send(igjen) til digitalisering\",\n \"pol\": \"Prześlij (ponownie) do digitalizacji\"\n },\n \"emailNotAllowed\": {\n \"eng\": \"CostPocket email is not allowed to be used here\",\n \"lav\": \"Šeit nav atļauts izmantot CostPocket e-pasta adresi\",\n \"est\": \"Siin ei saa kasutada CostPocketi e-posti aadressi\",\n \"fin\": \"CostPocket sähköpostia ei voi käyttää täällä\",\n \"rus\": \"Электронная почта CostPocket не может быть использована здесь\",\n \"lit\": \"CostPocket e-paštas negali būti naudojamas čia\",\n \"nor\": \"CostPocket e-post er ikke tillatt å bruke her\",\n \"pol\": \"Email CostPocket nie może być tutaj użyty\"\n },\n \"writeToIntegrateWithVerp\": {\n \"eng\": \"To enable integration with Verp, write to $email and ask for API id and API token\",\n \"est\": \"Verp tarkvara liidese aktiveerimiseks küsi API ID-d ja API tokenit siit: $email\",\n \"fin\": \"Integroidaksesi Verpin, lähetä sähköpostia $email ja kysy API-tunnus ja API-token\",\n \"rus\": \"Чтобы включить интеграцию с Verp, напишите на адрес $email и запросите API id и API token\",\n \"lav\": \"Lai aktivizētu integrāciju ar Verp, rakstiet uz $email un pieprasiet API id un API tokenu\",\n \"lit\": \"Rašykite $email dėl API ID ir API token norėdami integruoti su Verp\",\n \"nor\": \"For å aktivere integrasjon med Verp, skriv til $email og be om API-id og API-token\",\n \"pol\": \"Aby włączyć integrację z Verp, napisz do $email i poproś o identyfikator API i token API\"\n },\n \"writeToIntegrateWithTelema\": {\n \"eng\": \"To integrate CostPocket with Telema eFlow, write to us at $email or $email\",\n \"est\": \"CostPocketi ja Telema eFlow liidese tegemiseks kirjuta $email or $email\",\n \"fin\": \"Integroidaksesi CostPocketin Teleman eFlowssa, lähetä meille sähköpostia $email tai $email\",\n \"rus\": \"Чтобы интегрировать CostPocket с Telema eFlow, напишите нам по адресу $email или $email\",\n \"lav\": \"Lai izveidotu savienojumu starp CostPocket un Telema eFlow, rakstiet mums uz $email vai $email\",\n \"lit\": \"Rašykite mums $email arba $email norėdami integruoti CostPocket su Telema eFlow\",\n \"nor\": \"For å integrere CostPocket med Telema eFlow, skriv til oss på $email eller $email\",\n \"pol\": \"Aby zintegrować CostPocket z Telema eFlow, napisz do nas na adres $email lub $email\"\n },\n \"unsubmit\": {\n \"eng\": \"Unsubmit\",\n \"lav\": \"Atarhivēt\",\n \"est\": \"Võta tagasi\",\n \"fin\": \"Poista\",\n \"rus\": \"Отменить\",\n \"lit\": \"Atšaukti\",\n \"nor\": \"Avbryt innsending\",\n \"pol\": \"Odrzuć\"\n },\n \"customMileageRate\": {\n \"eng\": \"Company's mileage rate\",\n \"lav\": \"Uzņēmuma kilometrāžas likme\",\n \"est\": \"Ettevõtte sõidupäeviku määr\",\n \"fin\": \"Yrityksen kilometrikorvaukset\",\n \"rus\": \"Ставка компании за пробег\",\n \"lit\": \"Kompanijos kilometražo norma\",\n \"nor\": \"Firmaets kjøregodtgjørelse\",\n \"pol\": \"Firmowa stawka za kilometr\"\n },\n \"sendEmailToReport\": {\n \"eng\": \"To add documents to this report, send them to the following email:\",\n \"est\": \"Aruandele dokumendi lisamiseks, edasta dokumendid järgmisele emailile:\",\n \"lav\": \"Lai pievienotu dokumentus šim pārskatam, nosūtiet tos uz epastu:\",\n \"fin\": \"Lisätäksesi tiedostoja raporttiin, lähetä ne sähköpostiosoitteeseen:\",\n \"rus\": \"Чтобы добавить документы в этот отчет, отправьте их на следующий адрес электронной почты:\",\n \"lit\": \"Pridėkite dokumentus prie ataskaitos išsiųsdami juos į šį e-paštą:\",\n \"nor\": \"For å legge til dokumenter i denne rapporten, send dem til følgende e-post:\",\n \"pol\": \"Aby dodać dokumenty do tego raportu, należy je przesłać na następujący e-mail:\"\n },\n \"download\": {\n \"eng\": \"Download\",\n \"pol\": \"Pobierz\",\n \"est\": \"Lae alla\",\n \"rus\": \"Скачать\",\n \"fin\": \"Lataa\",\n \"lav\": \"Lejuplādēt\",\n \"lit\": \"Parsisiųsti\",\n \"nor\": \"Last ned\"\n },\n \"verifiedByHuman\": {\n \"eng\": \"Verified by human\",\n \"pol\": \"Zweryfikowany przez człowieka\",\n \"est\": \"Inimese poolt digiteeritud\",\n \"rus\": \"Проверено человеком\",\n \"fin\": \"Ihmisen varmentama\",\n \"lav\": \"Cilvēka pārbaudīts\",\n \"lit\": \"Patikrinta žmogaus\",\n \"nor\": \"Verifisert av menneske\"\n },\n \"fromPastMonth\": {\n \"pol\": \"Z poprzedniego miesiąca\",\n \"eng\": \"From previous month\",\n \"est\": \"Eelmise kuu algusest\",\n \"rus\": \"С прошлого месяца\",\n \"fin\": \"Edelliseltä kuukaudelta\",\n \"lav\": \"No pagājušā mēneša\",\n \"lit\": \"Iš ankstesnio mėnesio\",\n \"nor\": \"Fra forrige måned\"\n },\n \"ongoingMonth\": {\n \"eng\": \"Current month\",\n \"pol\": \"Obecny miesiąc\",\n \"est\": \"Jooksev kuu\",\n \"rus\": \"Текущий месяц\",\n \"fin\": \"Kuluva kuukausi\",\n \"lav\": \"Tekošais mēnesis\",\n \"lit\": \"Šis mėnuo\",\n \"nor\": \"Denne måneden\"\n },\n \"pastMonth\": {\n \"est\": \"Eelmine kuu\",\n \"eng\": \"Previous month\",\n \"lav\": \"Iepriekšējais mēnesis\",\n \"fin\": \"Edellinen kuukausi\",\n \"pol\": \"Poprzedni miesiąc\",\n \"rus\": \"Предыдущий месяц\",\n \"lit\": \"Ankstesnis mėnuo\",\n \"nor\": \"Forrige måned\"\n },\n \"activateFivaldi\": {\n \"eng\": \"Activate the integration based on your company Business ID. Make sure to set up the permissions for CostPocket on your Fivaldi account.\",\n \"lav\": \"Aktivizējiet integrāciju izmantojot Jūsu uzņēmuma reģistrācijas numuru. Pārliecinieties, ka Jūsu Fivaldi kontā CostPocket ir iespējotas atļaujas.\",\n \"pol\": \"Aktywuj integrację na podstawie identyfikatora Business ID swojej firmy. Upewnij się, że skonfigurowałeś uprawnienia dla CostPocket na swoim koncie Fivaldi.\",\n \"fin\": \"Aktivoi integraatio Y-tunnuksella. Varmista tiedonsiirto-oikeudet Costpocket appin ja Fivaldi-tilin välillä.\",\n \"est\": \"Liidestuse aktiveerimiseks on vaja teie ettevõtte Business ID-d. Kindlasti veendu, et Fivaldi kasutajas on lubatud CostPocketi kasutamine.\",\n \"rus\": \"Активируйте интеграцию на основе Business ID вашей компании. Обязательно настройте разрешения для CostPocket в вашей учетной записи Fivaldi.\",\n \"lit\": \"Aktyvuok integraciją su kompanijos Business ID. Įsitikinkite, kad Fivaldi paskyroje nustatėte leidimus CostPocket.\",\n \"nor\": \"Aktiver integrasjonen basert på bedriftens Business ID. Sørg for å sette opp tillatelsene for CostPocket på Fivaldi-kontoen din.\"\n },\n \"findBusinessId\": {\n \"eng\": \"Find it in Netvisor dashboard: click on Company name > Company basic data and settings > Basic data\",\n \"lav\": \"Meklējiet Netvisor darba panelī: klikšķiniet uz Company name > Company basic data and settings > Basic data\",\n \"est\": \"Mine Netvisori töölauale: vali Ettevõtte nimi > Ettevõtte üldised andmed ja seaded > Üldised andmed\",\n \"fin\": \"Mene Netvisor asetukset - valikkoon: Klikkaa yrityksen nimeä > Perustiedot ja asetukset > Perustiedot\",\n \"pol\": \"Znajdź ją w panelu Netvisor: kliknij na Nazwę firmy > Podstawowe dane i ustawienia firmy > Podstawowe dane\",\n \"rus\": \"Найдите его на приборной панели Netvisor: нажмите на Название компании > Основные данные и настройки компании > Основные данные\",\n \"lit\": \"Rask Netvisor puslapyje: spausk ant Company name > Company basic data and settings > Basic data\",\n \"nor\": \"Finn det i Netvisor-dashbordet: klikk på Firmanavn > Selskapets grunnleggende data og innstillinger > Grunnleggende data\"\n },\n \"findUserIdAndKey\": {\n \"eng\": \"Find these in Netvisor dashboard: click on Company name > API and API Identifiers. There, create a new API identifier and copy the User ID and Key\",\n \"lav\": \"Meklējiet Netvisor darba panelī: klikšķiniet uz Company name > API and API Identifiers. Šeit izveidojiet jaunu API identifikatoru un nokopējiet User ID un Key\",\n \"est\": \"Mine Netvisori töölauale: vali Ettevõtte nimi > API ja API määrajad. Sealt loo uus API määraja ja kopperi Kasutaja ID ja võti\",\n \"fin\": \"Löydä tunnukset Netvisor - hallintapaneelista: napsauta Yrityksen nimi > API ja API-tunnisteet. Luo uusi API-tunniste ja kopioi käyttäjätunnus, sekä avain\",\n \"pol\": \"Znajdź te informacje w panelu Netvisor: kliknij na Nazwa firmy > API i Identyfikatory API. Utwórz nowy identyfikator API, skopiuj identyfikator użytkownika i klucz.\",\n \"rus\": \"Найдите их на приборной панели Netvisor: нажмите на Название компании > API и Идентификаторы API. Там создайте новый идентификатор API и скопируйте идентификатор пользователя и ключ.\",\n \"lit\": \"Raskite juos Netvisor: Company name > API and API Identifiers. Ten sukurkite API identifier ir nukopijuokite User ID ir Key\",\n \"nor\": \"Finn disse i Netvisor-dashbordet: klikk på Firmanavn > API- og API-identifikatorer. Der oppretter du en ny API-identifikator og kopierer bruker-ID og nøkkel\"\n },\n \"delegated\": {\n \"eng\": \"Delegated\",\n \"lav\": \"Deleģēts\",\n \"est\": \"Delegeeritud\",\n \"fin\": \"delegoitu\",\n \"pol\": \"Oddelegowano\",\n \"rus\": \"Делегировано\",\n \"lit\": \"Deleguota\",\n \"nor\": \"Delegert\"\n },\n \"integrationNotActive\": {\n \"eng\": \"Integration with the accounting software $software is not active\",\n \"lav\": \"Integrācija ar grāmatvedības programmatūru $software nav aktivizēta\",\n \"fin\": \"Integraatio kirjanpitosovellukseen ei ole aktiivinen\",\n \"est\": \"Liidestus tarkvaraga $software ei ole aktiivne\",\n \"pol\": \"Integracja z $software nie jest aktywna\",\n \"rus\": \"Интеграция с бухгалтерским программным обеспечением $software не активна\",\n \"lit\": \"Integracija su apskaitos sistema $software nėra aktyvi\",\n \"nor\": \"Integrasjon med regnskapsprogramvaren $software er ikke aktiv\"\n },\n \"clickToActivate\": {\n \"eng\": \"Click here to activate\",\n \"lav\": \"Klikšķiniet šeit\",\n \"fin\": \"Aktivoi\",\n \"est\": \"Aktiveerimiseks vajuta siia\",\n \"pol\": \"Kliknij, aby aktywować\",\n \"rus\": \"Нажмите здесь, чтобы активировать\",\n \"lit\": \"Aktyvuokite spausdami čia\",\n \"nor\": \"Klikk her for å aktivere\"\n },\n \"sendingReportFailed\": {\n \"eng\": \"Failed to send report\",\n \"lav\": \"Neizdevās nosūtīt pārskatu\",\n \"est\": \"Aruande edastamine nurjus\",\n \"pol\": \"Raport nie został wysłany\",\n \"rus\": \"Не удалось отправить отчет\",\n \"lit\": \"Nepavyko išsiųsti ataskaitos\",\n \"nor\": \"Kunne ikke sende rapporten\",\n \"fin\": \"Raportin lähettäminen epäonnistui\"\n },\n \"createTravelReport\": {\n \"eng\": \"Create travel report\",\n \"lav\": \"Izveidot komandējuma atskaiti\",\n \"pol\": \"Utwórz raport z podróży\",\n \"est\": \"Loo lähetusaruanne\",\n \"rus\": \"Создать отчет о командировке\",\n \"lit\": \"Sukurti kelionės ataskaitą\",\n \"nor\": \"Lag reiserapport\",\n \"fin\": \"Luo matkakuluraportti\"\n },\n \"createdTravelReport\": {\n \"eng\": \"Created travel report nr. $number\",\n \"lav\": \"Izveidota komandējuma atskaite nr. $number\",\n \"pol\": \"Utworzono raport z podróży, nr $number\",\n \"est\": \"Lähetusaruanne loodud - nr. $number\",\n \"rus\": \"Создан отчет о командировке № $number\",\n \"lit\": \"Kelionės ataskaita nr. $number sukurta\",\n \"nor\": \"Laget reiserapport nr. $nummer\",\n \"fin\": \"Matkakuluraportti nr. $number on luotu\"\n },\n \"travelReportExists\": {\n \"eng\": \"Travel report already exists (#$number)\",\n \"rus\": \"Отчет о командировке уже существует (#$number)\",\n \"pol\": \"Raport z tej podróży już istnieje (#$number)\",\n \"est\": \"Lähetusaruanne juba eksisteerib (#$number)\",\n \"lav\": \"Komandējuma atskaite jau eksistē (#$number)\",\n \"fin\": \"Matkakuluraportti on jo ladattu\",\n \"lit\": \"Kelionės ataskaita jau egzistuoja (#$number)\",\n \"nor\": \"Reiserapport eksisterer allerede (#$number)\"\n },\n \"ongoingYear\": {\n \"eng\": \"Current year\",\n \"pol\": \"Bieżący rok\",\n \"est\": \"Jooksev aasta\",\n \"lav\": \"Tekošais gads\",\n \"fin\": \"Nykyinen vuosi\",\n \"rus\": \"Текущий год\",\n \"lit\": \"Šie metai\",\n \"nor\": \"Dette året\"\n },\n \"unarchive\": {\n \"eng\": \"Unarchive\",\n \"lav\": \"Atarhivēt\",\n \"est\": \"Dearhiveeri\",\n \"rus\": \"Разархивировать\",\n \"lit\": \"Išarchyvuoti\",\n \"nor\": \"Avarkiver\",\n \"fin\": \"Poista arkistosta\",\n \"pol\": \"Usuń z archiwum\"\n },\n \"refNum\": {\n \"eng\": \"Reference number\",\n \"pol\": \"Numer referencyjny\",\n \"est\": \"Viitenumber\",\n \"rus\": \"Номер ссылки\",\n \"fin\": \"Viitenumero\",\n \"lav\": \"Atsauces numurs\",\n \"lit\": \"Nuorodos numeris\",\n \"nor\": \"Referansenummer\"\n },\n \"submittedOn\": {\n \"eng\": \"Submitted on\",\n \"lav\": \"Iesniegts\",\n \"rus\": \"Подано\",\n \"est\": \"Esitatud\",\n \"lit\": \"Pateikta\",\n \"nor\": \"Sendt den\",\n \"fin\": \"Päivämäärä\",\n \"pol\": \"Dodany w dniu\"\n },\n \"removeFromReport\": {\n \"eng\": \"Remove from report\",\n \"lav\": \"Izņemt no atskaites\",\n \"rus\": \"Удалить из отчета\",\n \"est\": \"Eemalda aruandest\",\n \"lit\": \"Pašalinti iš ataskaitos\",\n \"nor\": \"Fjern fra rapport\",\n \"fin\": \"Poista raportista\",\n \"pol\": \"Usuń z raportu\"\n },\n \"toPrevCloud\": {\n \"eng\": \"Previous Cloud version\",\n \"lav\": \"Iepriekšējā mākoņpakalpojuma versija\",\n \"est\": \"Eelmine pilvekeskkonna versioon\",\n \"lit\": \"Ankstesnė Cloud versija\",\n \"nor\": \"Sist skyversjon\",\n \"fin\": \"Edellinen palveluversio\",\n \"pol\": \"Poprzednia wersja chmury\",\n \"rus\": \"Предыдущая облачная версия\"\n },\n \"removeVat\": {\n \"eng\": \"Remove VAT\",\n \"lav\": \"Nodzēst PVN\",\n \"est\": \"Eemalda KM\",\n \"lit\": \"Pašalinti PVM\",\n \"nor\": \"Fjern MVA\",\n \"fin\": \"Poista ALV\",\n \"pol\": \"Usuń VAT\",\n \"rus\": \"Убрать НДС\"\n },\n \"reportType\": {\n \"eng\": \"Report type\",\n \"lav\": \"Atskaites veids\",\n \"est\": \"Aruande liik\",\n \"esp\": \"\",\n \"lit\": \"Ataskaitos tipas\",\n \"nor\": \"Rapporttype\",\n \"fin\": \"Raporttityyppi\",\n \"pol\": \"Rodzaj raportu\",\n \"rus\": \"Тип отчета\"\n },\n \"alwaysOpenAs\": {\n \"eng\": \"Always open as $format\",\n \"lav\": \"Vienmēr atvērt kā $format\",\n \"est\": \"Ava alati $format formaadis\",\n \"lit\": \"Visada atidaryti $format\",\n \"nor\": \"Alltid åpne som $format\",\n \"fin\": \"Lataa aina $format\",\n \"pol\": \"Zawsze otwieraj jako\",\n \"rus\": \"Всегда открывается как $format\"\n },\n \"ifirmaApiKeys\": {\n \"eng\": \"API keys from iFirma settings\",\n \"nor\": \"API-nøkler fra iFirma-innstillinger\",\n \"fin\": \"iFirma API-avaimet\",\n \"lit\": \"API raktai iš iFirma nustatymų\",\n \"pol\": \"Klucze API z konfiguracji na stronie iFirma\",\n \"lav\": \"API atslēgas no iFirma iestatījumiem\",\n \"rus\": \"API-ключи из настроек iFirma\",\n \"est\": \"API võtmed iFirma seadetest\"\n },\n \"ifirmaUsername\": {\n \"eng\": \"iFirma login email\",\n \"nor\": \"iFirma påloggings-e-post\",\n \"fin\": \"iFirma sähköposti\",\n \"pol\": \"E-mail do logowania się na stronie iFirma\",\n \"lav\": \"iFirma pieslēgšanās epasts\",\n \"rus\": \"Email для входа в систему iFirma\",\n \"est\": \"iFirma sisselogimise e-post\"\n },\n \"dragAndDropDocs\": {\n \"eng\": \"Drag and drop your documents\",\n \"lav\": \"Velciet un nometiet failus\",\n \"fin\": \"Pudota tiedosto\",\n \"lit\": \"Įkelkite dokumentus\",\n \"est\": \"Lohista kuludokumendid\",\n \"pol\": \"Przeciągnij i upuść swoje dokumenty\",\n \"nor\": \"Dra og slipp dokumentene dine\",\n \"rus\": \"Перетаскивайте документы\"\n },\n \"supportedFormats\": {\n \"eng\": \"Supported file formats\",\n \"lav\": \"Atbalstītie failu formāti\",\n \"fin\": \"Tuetut tiedostotyypit\",\n \"lit\": \"Palaikomi failų formatai\",\n \"est\": \"Toetatud faili formaadid\",\n \"pol\": \"Obsługiwane formaty plików\",\n \"nor\": \"Støttede filformater\",\n \"rus\": \"Поддерживаемые форматы файлов\"\n },\n \"browseFiles\": {\n \"eng\": \"Browse files\",\n \"lav\": \"Pārlūkot failus\",\n \"fin\": \"Selaa tiedostoja\",\n \"lit\": \"Pridėti dokumentus\",\n \"est\": \"Vali fail arvutist\",\n \"pol\": \"Przeglądaj pliki\",\n \"nor\": \"Bla gjennom filer\",\n \"rus\": \"Просмотр файлов\"\n },\n \"uploadInProgress\": {\n \"eng\": \"Upload in progress\",\n \"lav\": \"Notiek augšupielāde\",\n \"fin\": \"Lataus käynnissä\",\n \"lit\": \"Vyksta įkėlimas\",\n \"est\": \"Üleslaadimine\",\n \"pol\": \"Wysyłanie w toku\",\n \"nor\": \"Opplasting pågår\",\n \"rus\": \"Идет загрузка\"\n },\n \"uploadCompleted\": {\n \"eng\": \"Document upload completed!\",\n \"lav\": \"Dokumentu augšupielāde pabeigta!\",\n \"fin\": \"Lataus valmis!\",\n \"lit\": \"Dokumentas įkeltas.\",\n \"est\": \"Üleslaadimine lõpetatud!\",\n \"pol\": \"Dokumenty przesłane!\",\n \"nor\": \"Dokumentopplasting fullført!\",\n \"rus\": \"Загрузка документов завершена!\"\n },\n \"reviewDocuments\": {\n \"eng\": \"Review documents\",\n \"lav\": \"Pārskatīt dokumentus\",\n \"fin\": \"Tarkista tiedosto\",\n \"lit\": \"Peržiūrėti dokumentus\",\n \"est\": \"Kontrolli andmeid\",\n \"pol\": \"Sprawdź dokumenty\",\n \"nor\": \"Gjennomgå dokumenter\",\n \"rus\": \"Проверка документов\"\n },\n \"unsubmitted\": {\n \"eng\": \"Not submitted\",\n \"lav\": \"Nav iesniegts\",\n \"fin\": \"Ei lisätty\",\n \"lit\": \"Nepateiktas\",\n \"est\": \"Esitamata\",\n \"pol\": \"Nie dodano\",\n \"nor\": \"Ikke levert\",\n \"rus\": \"Не подано\"\n },\n \"fileFormatNotSupported\": {\n \"eng\": \"File format not supported - this document will not be uploaded\",\n \"lav\": \"Nederīgs faila formāts - šis dokuments netiks augšupielādēts\",\n \"fin\": \"Tiedostotyyppi ei tuettu - tätä dokumenttia ei tallennettu\",\n \"lit\": \"Dokumento formatas netinka - šis dokumentas nebus įkeltas\",\n \"est\": \"Antud failiformaati ei toetata - dokumenti ei laeta üles\",\n \"pol\": \"Format pliku nie jest obsługiwany - ten dokument nie zostanie załadowany\",\n \"nor\": \"Filformat støttes ikke - dette dokumentet vil ikke bli lastet opp\",\n \"rus\": \"Формат файла не поддерживается - этот документ не будет загружен\"\n },\n \"addDocuments\": {\n \"eng\": \"Add documents\",\n \"lav\": \"Pievienot dokumentus\",\n \"fin\": \"Lisää tiedosto\",\n \"lit\": \"Pridėti dokumentus\",\n \"est\": \"Lisa kuludokumendid\",\n \"pol\": \"Dodaj dokumenty\",\n \"nor\": \"Legg til dokumenter\",\n \"rus\": \"Добавить документы\"\n },\n \"manageApproval\": {\n \"eng\": \"Manage approval\",\n \"lav\": \"Pārvaldīt apstiprināšanu\",\n \"lit\": \"Tvarkyti patvirtinimą\",\n \"est\": \"Halda kinnitusringi\",\n \"pol\": \"Zarządzaj zatwierdzaniem\",\n \"nor\": \"Administrer godkjenning\",\n \"rus\": \"Управление утверждением\",\n \"fin\": \"Hallinnoi hyväksyntää\"\n },\n \"thisCloudWillBeClosed\": {\n \"eng\": \"This environment will be closed on 31 August 2022. Please write to us support@costpocket.ee, if you would like to keep using it.\",\n \"est\": \"Oleme plaaninud selle keskkonna sulgeda 31 Augustil 2022. Kui soovite seda keskkonda edasi kasutada, siis palun kirjutage meile: support@costpocket.ee\",\n \"pol\": \"Ta wersja Chmury zostanie zamknięta 31 sierpnia 2022 roku. Prosimy napisać na support@costpocket.ee jeśli chcielibyście nadal z niego korzystać.\",\n \"nor\": \"Dette miljøet vil bli stengt 31. august 2022. Skriv til oss support@costpocket.ee hvis du vil fortsette å bruke det.\",\n \"lav\": \"Šīs mākoņvides darbība tiks apstādināta 31.augustā. Lūdzam rakstīt uz atbalsts@costpocket.ee, ja vēlaties turpināt lietot šo vidi.\",\n \"rus\": \"Эта среда будет закрыта 31 августа 2022 года. Пожалуйста, напишите нам support@costpocket.ee, если вы хотите продолжать пользоваться ею.\",\n \"fin\": \"Tämä ympäristö suljetaan 31 elokuuta 2022. Mikäli sinulla on kysymyksiä, ottathan yhteyttä osoitteessa support@costpocket.ee jos haluat jatkaa ympäristön käyttämistä.\",\n \"lit\": \"Ši aplinka uždaroma Rugpjūčio 31, 2022. Jei norite ja toliau naudotis, rašykite mums support@costpocket.ee\"\n },\n \"confirmAndSend\": {\n \"pol\": \"Potwierdź i wyślij do oprogramowania\",\n \"eng\": \"Confirm and send to software\",\n \"est\": \"Kinnita ja saada tarkvarasse\",\n \"lav\": \"Apstiprināt un nosūtīt grāmatvedībai\",\n \"fin\": \"Vahvista ja lähetä ohjelmistoon\",\n \"rus\": \"Утвердить и отправить в бухгалтерию\",\n \"nor\": \"Bekreft og send til programvare\",\n \"lit\": \"Patvirtinti ir siųsti programai\"\n },\n \"addAttachment\": {\n \"eng\": \"Add attachment\",\n \"lav\": \"Pievienot pielikumu\",\n \"est\": \"Lisa muu dokument\",\n \"nor\": \"Legg til vedlegg\",\n \"rus\": \"Добавить приложение\",\n \"pol\": \"Dodaj załącznik\",\n \"fin\": \"Lisää liite\",\n \"lit\": \"Įkelti priedą\"\n },\n \"setToDefault\": {\n \"eng\": \"Set to default\",\n \"lav\": \"Atjaunot sākotnējo\",\n \"nor\": \"Set til standard\",\n \"rus\": \"Установить по умолчанию\",\n \"est\": \"Taasta algsätted\",\n \"fin\": \"Aseta\",\n \"pol\": \"Ustawienia domyślne\",\n \"lit\": \"Atkurti pradinį\"\n },\n \"everyone\": {\n \"eng\": \"Everyone\",\n \"lav\": \"Visi\",\n \"nor\": \"Alle\",\n \"rus\": \"Все\",\n \"est\": \"Kõik\",\n \"fin\": \"Kaikki\",\n \"pol\": \"Wszyscy\",\n \"lit\": \"Visi\"\n },\n \"addStep\": {\n \"eng\": \"Add step\",\n \"lav\": \"Pievienot kārtu\",\n \"nor\": \"Legg til steg\",\n \"rus\": \"Добавить этап\",\n \"est\": \"Lisa samm\",\n \"fin\": \"Lisää vaihe\",\n \"pol\": \"Dodaj etap\",\n \"lit\": \"Pridėti žingsnį\"\n },\n \"none\": {\n \"eng\": \"None\",\n \"lav\": \"Nav\",\n \"nor\": \"Ingen\",\n \"rus\": \"Нет\",\n \"est\": \"Puudub\",\n \"fin\": \"Tyhjä\",\n \"pol\": \"Brak\",\n \"lit\": \"Nėra\"\n },\n \"addSubmitters\": {\n \"eng\": \"Add submitters\",\n \"lav\": \"Pievienot iesniedzējus\",\n \"nor\": \"Legg til innsendere\",\n \"rus\": \"Добавить подателей\",\n \"est\": \"Lisa kasutaja\",\n \"fin\": \"Lisää lähettäjiä\",\n \"pol\": \"Dodaj użytkowników\",\n \"lit\": \"Pridėti teikėjus\"\n },\n \"sendingComplete\": {\n \"eng\": \"Sending documents completed\",\n \"lav\": \"Dokumentu sūtīšana ir pabeigta\",\n \"rus\": \"Отправка документов завершена\",\n \"est\": \"Dokumentide edastamine õnnestus\",\n \"fin\": \"Tositteiden lähettäminen valmis\",\n \"nor\": \"Sending av dokumenter fullført\",\n \"pol\": \"Wysyłanie dokumentów zakończone\",\n \"lit\": \"Dokumentų siuntimas užbaigtas\"\n },\n \"failedToSendSomeDocs\": {\n \"eng\": \"Forwarding some documents failed\",\n \"lav\": \"Dažus dokumentus neizdevās pārsūtīt\",\n \"rus\": \"Пересылка некоторых документов не удалась\",\n \"est\": \"Mõne dokumendi edastamine ebaõnnestus\",\n \"fin\": \"Joidenkin tositteiden lähettäminen epäonnistui\",\n \"nor\": \"Videresending av noen dokumenter mislyktes\",\n \"pol\": \"Wysyłka niektórych dokumentów nie powiodła się\",\n \"lit\": \"Kai kurių dokumentų persiuntimas nepavyko\"\n },\n \"sendingDocumentsCount\": {\n \"eng\": \"Sending document $current out of $total\",\n \"lav\": \"Sūta dokumentu nr. $current no $total\",\n \"rus\": \"Отправка документа $current из $total\",\n \"est\": \"Saadan dokumenti $current/$total\",\n \"fin\": \"Lataus kesken $current out of $total\",\n \"nor\": \"Sender dokument $current av $total\",\n \"pol\": \"Wysyłanie dokumentu nr $current z $total\",\n \"lit\": \"Siunčiamas $current dokumentas iš $total\"\n },\n \"nonZero\": {\n \"eng\": \"$field can't be 0\",\n \"lav\": \"$field nedrīkst būt vērtība 0\",\n \"fin\": \"$field ei voi olla 0\",\n \"nor\": \"$field kan ikke være 0\",\n \"rus\": \"не может быть 0\",\n \"est\": \"$field ei või olla 0\",\n \"lit\": \"$field negali būti 0\",\n \"pol\": \"$field nie może być równe 0\"\n },\n \"nonZeroCount\": {\n \"eng\": \"Document must have sum\",\n \"lav\": \"Dokumentā ir jābūt norādītai summai\",\n \"fin\": \"Dokumentilla pitää olla summa\",\n \"nor\": \"Dokumentet må ha sum\",\n \"rus\": \"Документ должен иметь сумму\",\n \"est\": \"Dokumendil peab olema summa\",\n \"lit\": \"Dokumentas privalo turėti sumą\",\n \"pol\": \"Dokument musi zawierać sumę\"\n },\n \"greaterThanZero\": {\n \"eng\": \"$field must be greater than 0\",\n \"lav\": \"$field ir jābūt lielākam/-ai par 0\",\n \"fin\": \"$field pitää olla suurempi kuin\",\n \"nor\": \"$field må være større enn 0\",\n \"swe\": \"\",\n \"rus\": \"$field должно быть больше, чем 0\",\n \"est\": \"$field peab olema suurem kui 0\",\n \"lit\": \"$field privalo būti didesnis nei 0\",\n \"pol\": \"$field musi być większa niż 0\"\n },\n \"mustExist\": {\n \"eng\": \"Missing $field\",\n \"lav\": \"Nav norādīts $field\",\n \"fin\": \"puuttuva $field\",\n \"nor\": \"Manglende $field\",\n \"rus\": \"Отсутствующее поле $field\",\n \"est\": \"puudub $field\",\n \"lit\": \"Trūksta $field\",\n \"pol\": \"Brakujące dane $field\"\n },\n \"vatNotIncluded\": {\n \"eng\": \"VAT not included\",\n \"lav\": \"PVN nav iekļauts cenā\",\n \"fin\": \"ALV ei sisälly\",\n \"est\": \"ei sisalda KM\",\n \"rus\": \"НДС не включен\",\n \"lit\": \"PVM neįskaičiuotas\",\n \"pol\": \"Nie zawiera podatku VAT\",\n \"nor\": \"MVA ikke inkludert\"\n },\n \"export\": {\n \"eng\": \"Export\",\n \"lav\": \"Eksportēt\",\n \"fin\": \"Vienti\",\n \"est\": \"Eksport\",\n \"rus\": \"Экспорт\",\n \"lit\": \"Eksportuoti\",\n \"pol\": \"Eksportuj\",\n \"nor\": \"Eksport\"\n },\n \"nrDocumentsSelected\": {\n \"eng\": \"$number items(s) selected\",\n \"lav\": \"Atlasītas $number vienības\",\n \"fin\": \"$number dokumenttia valittu\",\n \"est\": \"$number dokumenti valitud\",\n \"rus\": \"$number выбранных документов\",\n \"lit\": \"$number dokumentas(-ai) pasirinkti\",\n \"pol\": \"Ilość wybranych dokumentów: $number\",\n \"nor\": \"$number dokument(er) valgt\"\n },\n \"bankAccount\": {\n \"eng\": \"Bank account\",\n \"lav\": \"Bankas konts\",\n \"fin\": \"Pankkitili\",\n \"est\": \"Pangakonto\",\n \"rus\": \"Банковский счет\",\n \"lit\": \"Banko sąskaita\",\n \"pol\": \"Konto bankowe\",\n \"nor\": \"bankkonto\"\n },\n \"creditCard\": {\n \"eng\": \"Credit card\",\n \"lav\": \"Kredītkarte\",\n \"fin\": \"Maksukortti\",\n \"est\": \"Krediitkaart\",\n \"rus\": \"Кредитная карта\",\n \"lit\": \"Kreditinė kortelė\",\n \"pol\": \"Karta kredytowa\",\n \"nor\": \"Kredittkort\"\n },\n \"debitCard\": {\n \"eng\": \"Debit card\",\n \"lav\": \"Debetkarte\",\n \"fin\": \"Debit-kortti\",\n \"est\": \"Deebetkaart\",\n \"rus\": \"Дебетовая карта\",\n \"lit\": \"Debitinė kortelė\",\n \"pol\": \"Karta debetowa\",\n \"nor\": \"Debetkort\"\n },\n \"exportAndCopyCSV\": {\n \"eng\": \"Export and copy CSV\",\n \"lav\": \"Eksportēt un kopēt CSV\",\n \"fin\": \"Tuo .CSV - tiedosto\",\n \"est\": \"Ekspordi ja kopeeri CSV\",\n \"rus\": \"Экспорт и копирование CSV\",\n \"lit\": \"Eksportuokite ir nukopijuokite CSV\",\n \"pol\": \"Eksportuj i kopiuj CSV\",\n \"nor\": \"Eksporter og kopier CSV\"\n },\n \"isufficientAccessRights\": {\n \"eng\": \"Insufficient access rights\",\n \"lav\": \"Piekļuve liegta\",\n \"fin\": \"Ei pääsyoikeutta\",\n \"est\": \"Õigused puuduvad\",\n \"rus\": \"Недостаточные права доступа\",\n \"lit\": \"Nepakankamos prieigos teisės\",\n \"pol\": \"Niewystarczające prawa dostępu\",\n \"nor\": \"Utilstrekkelige tilgangsrettigheter\"\n },\n \"youHaveUnsubmittedDocuments\": {\n \"eng\": \"You have unsubmitted documents. Please review them before submitting report!\",\n \"est\": \"Teil on aruandes dokumente, mis pole üle lõpuni esitatud. Palun vaadake need üle enne aruande esitamist!\",\n \"lav\": \"Atskaite satur neiesniegtus dokumentus. Lūdzam pirms atskaites iesniegšanas pārbaudīt dokumentu statusu!\",\n \"fin\": \"Kaikkia dokumentteja ei ole lähetetty. Tarkistathan dokumentit ennen lähettämistä\",\n \"rus\": \"У вас есть неподанные документы. Пожалуйста, просмотрите их перед отправкой отчета!\",\n \"lit\": \"Yra nepateiktų dokumentų. Peržiūrėkite prie teikdami ataskaitą!\",\n \"pol\": \"W Twoim raporcie znajdują się nieprzesłane dokumenty. Sprawdź je, zanim zatwierdzisz raport!\",\n \"nor\": \"Du har dokumenter som ikke er sendt inn. Vennligst les dem før du sender inn rapporten!\"\n },\n \"someDocsMayBeUnsubmitted\": {\n \"eng\": \"Closing window now may leave some documents in unsubmitted state\",\n \"lav\": \"Ņemiet vērā, ka, aizverot šo logu, dokumenti tiks saglabāti, bet tie netiks pārvirzīti uz grāmatvedību, kamēr paliks statusā \\\"Nav iesniegts\\\"\",\n \"fin\": \"Ikkuna sulkeutuu, jotkin dokumentit saattavat jäädä \\\"lähettämätön tilaan\\\"\",\n \"est\": \"Akna sulgemine võib mõned dokumendid jätta esitamata staatusesse\",\n \"rus\": \"Закрытие окна сейчас может оставить некоторые документы в неподанном статусе\",\n \"lit\": \"Uždarius langą dalis dokumentų gali likti nepateikti\",\n \"pol\": \"Jeśli zamkniesz teraz okno, niektóre dokumenty mogą nie zostać przesłane\",\n \"nor\": \"Når vinduet lukkes nå, kan det hende at noen dokumenter ikke er sendt inn\"\n },\n \"allowMileageOverLimit\": {\n \"eng\": \"Allow mileage over limit\",\n \"lav\": \"Komandējumu atlīdzība bez limita\",\n \"est\": \"Luba läbisõit üle limiidi\",\n \"rus\": \"Разрешить пробег сверх лимита\",\n \"lit\": \"Neribotas kilometražas\",\n \"pol\": \"Zezwalaj na przekroczenie limitu przebiegu\",\n \"fin\": \"Salli kilometrikorvaukset yli asetetun rajan\",\n \"nor\": \"Tillat kjørelengde over grensen\"\n },\n \"submitterCanExceedAllowance\": {\n \"eng\": \"Submitter can exceed mileage allowance tax-exempt limit 335€/month\",\n \"lav\": \"Lietotāji drīkst pārsniegt ar nodokļiem neapliekamās kompensācijas ierobežojumu 335€/mēnesī\",\n \"est\": \"Esitaja saab ületada maksuvaba piirmäära 335€/kuus\",\n \"rus\": \"Податель заявки может превысить необлагаемый налогом лимит на пробег 335€/месяц\",\n \"lit\": \"Teikėjas gali viršyti neapmokestinamą kilometražo limitą, 335€/mėnesį\",\n \"fin\": \"Käyttäjä voi ylittää kilometrikorvausten arvonlisäverottoman rajan 335€/kk\",\n \"nor\": \"Innsender kan overskride kilometergodtgjørelse skattefri grense på 335€/måned\",\n \"pol\": \"Zgłaszający może przekroczyć limit kilometrów zwolnionych z podatku 335€/miesiąc\"\n },\n \"processingCurrency\": {\n \"eng\": \"Processing currency\",\n \"lav\": \"Notiek valūtas konvertēšana\",\n \"est\": \"Valuuta töötlemine\",\n \"rus\": \"Обработка валюты\",\n \"lit\": \"Valiuta keičiama\",\n \"pol\": \"Przetwarzanie waluty\",\n \"fin\": \"Prosessoidaan valuuttaa\",\n \"nor\": \"Behandler valuta\"\n },\n \"currencyConverted\": {\n \"eng\": \"Currency converted\",\n \"lav\": \"Valūtas konvertēšana pabeigta\",\n \"est\": \"Konverteeritud valuuta\",\n \"rus\": \"Конвертация валюты завершена\",\n \"lit\": \"Valiuta iškeista\",\n \"pol\": \"Waluta przeliczona\",\n \"fin\": \"Valuutta vaihdettu\",\n \"nor\": \"Valuta omregnet\"\n },\n \"paygAdditionalCost\": {\n \"eng\": \"per user per month, from 4th user in the organisation\",\n \"lav\": \"par lietotāju, sākot no ceturtā lietotāja organizācijā\",\n \"pol\": \"na użytkownika od czwartego użytkownika w firmie\",\n \"est\": \"kasutaja kohta kuus alates 4ndast kasutajast ettevõttes\",\n \"rus\": \"за одного пользователя начиная с 4-го пользователя в организации\",\n \"lit\": \"per vartotoją per mėnesį, nuo 4-to nario organizacijoje\",\n \"fin\": \"per käyttäjä organisaation 4:nnestä jäsenestä laskien\",\n \"nor\": \"per bruker fra 4. bruker i organisasjonen\"\n },\n \"tooManyAttempts\": {\n \"eng\": \"Too many attempts! Please try again in a moment.\",\n \"est\": \"Ületatud katsete arvu. Palun proovi mõne hetke pärast uuesti.\",\n \"lav\": \"Pārāk daudz mēģinājumu! Lūdzu, pēc brīža mēģiniet vēlreiz.\",\n \"rus\": \"Слишком много попыток! Попробуйте еще раз через некоторое время.\",\n \"lit\": \"Per daug užklausų. Bandykite darkart už minutės\",\n \"pol\": \"Zbyt wiele prób! Spróbuj ponownie za chwilę.\",\n \"fin\": \"Liian monta yritystä! Kokeilisitko hetken päästä uudestaan\",\n \"nor\": \"For mange forsøk! Prøv igjen om et øyeblikk.\"\n },\n \"allowedIpAddress\": {\n \"eng\": \"Allowed IP address\",\n \"est\": \"Lubatud IP aadressid\",\n \"rus\": \"Разрешенный IP-адрес\",\n \"lav\": \"Atļauta IP adrese\",\n \"lit\": \"Leidžiamas IP adresas\",\n \"pol\": \"Dozwolony adres IP\",\n \"fin\": \"Sallittu IP-osoite\",\n \"nor\": \"Tillatt IP-adresse\"\n },\n \"createApproval\": {\n \"eng\": \"Create approval\",\n \"lav\": \"Izveidot apstiprinājuma pieprasījumu\",\n \"lit\": \"Sukurti patvirtinimą\",\n \"pol\": \"Utwórz prośbę o zatwierdzenie\",\n \"fin\": \"Luo hyväksyntä\",\n \"est\": \"Loo kinnitus\",\n \"nor\": \"Opprett godkjenning\",\n \"rus\": \"Создать утверждение\"\n },\n \"pleaseUpdateApp\": {\n \"eng\": \"Please update your app in $storeName before $date\",\n \"lav\": \"Lūdzu, atjaunojiet Jūsu lietotnes versiju vietnē $storeName līdz $date\",\n \"fin\": \"Päivittäisitkö appin $storeName ennen $date\",\n \"lit\": \"Atnaujinkite aplikaciją $storeName iki $date\",\n \"est\": \"Palun uuenda äppi $storeName enne $date\",\n \"rus\": \"Пожалуйста, обновите ваше приложение в $storeName до $date\",\n \"pol\": \"Zaktualizuj swoją aplikację w $storeName przed $date\",\n \"nor\": \"Oppdater appen din i $storeName før $date\"\n },\n \"update\": {\n \"eng\": \"Update\",\n \"lav\": \"Atjaunot\",\n \"fin\": \"Päivitys\",\n \"lit\": \"Atnaujinti\",\n \"est\": \"Uuenda\",\n \"rus\": \"Обновление\",\n \"pol\": \"Aktualizuj\",\n \"nor\": \"Oppdater\"\n },\n \"horizonApiUsername\": {\n \"eng\": \"Horizon API username\",\n \"lav\": \"Horizon API lietotājvārds\",\n \"rus\": \"Имя пользователя API Horizon\",\n \"nor\": \"Horizon API brukernavn\",\n \"fin\": \"Horizon API -käyttäjänimi\",\n \"est\": \"Horizoni API kasutajanimi\",\n \"pol\": \"Horizon API nazwa użytkownika\"\n },\n \"horizonApiPassword\": {\n \"eng\": \"Horizon API user password\",\n \"lav\": \"Horizon API lietotāja parole\",\n \"rus\": \"Пароль пользователя Horizon API\",\n \"nor\": \"Horizon API brukerpassord\",\n \"fin\": \"Horizon API -käyttäjän salasana\",\n \"est\": \"Horizoni API kasutaja parool\",\n \"pol\": \"Horizon API hasło użytkownika\"\n },\n \"horizonApiKey\": {\n \"eng\": \"API name in Horizon\",\n \"lav\": \"Horizon API nosaukums\",\n \"rus\": \"Имя API в Horizon\",\n \"nor\": \"API-navn i Horizon\",\n \"lit\": \"API pavadinimas Horizon'e\",\n \"fin\": \"API-nimi Horizonissa\",\n \"est\": \"API nimi Horizonis\",\n \"pol\": \"Nazwa API w Horizon\"\n },\n \"horizonFileStorageId\": {\n \"eng\": \"File storage ID in Horizon\",\n \"lav\": \"Horizon failu glabātuves ID\",\n \"rus\": \"ИД хранилища файлов в Horizon\",\n \"nor\": \"Fillagrings-ID i Horizon\",\n \"lit\": \"Dokumentų saugyklos kodas Horizon'e\",\n \"fin\": \"Tiedoston tallennustunnus Horizonissa\",\n \"est\": \"Faili salvestamise ID Horizonis\"\n },\n \"horizonDocType\": {\n \"eng\": \"Supplier document type in Horizon\",\n \"lav\": \"Piegādātāju kartiņu dokumentu tips\",\n \"rus\": \"Тип документа поставщиков в Horizon\",\n \"nor\": \"Leverandørdokumenttype i Horizon\",\n \"lit\": \"Tiekėjo dokumentų tipas Horizon'e\",\n \"fin\": \"Toimittajan asiakirjatyyppi Horizonissa\",\n \"est\": \"Tarnija dokumendi tüüp Horizonis\",\n \"pol\": \"Typ dokumentu dostawcy w Horizon\"\n },\n \"horizonAccountCode\": {\n \"eng\": \"Account code for Avansa Norēķinu persona\",\n \"lav\": \"Avansa norēķinu personu grāmatošanas konta numurs\",\n \"rus\": \"Код аккаунта для персоны aвансовых платежей\",\n \"nor\": \"Kontokode for Avansa Norēķinu persona\",\n \"fin\": \"Avansa Norēķinu -henkilön tilikoodi\",\n \"est\": \"Konto kood Avansa Norēķinu persona\"\n },\n \"showDuplicates\": {\n \"eng\": \"Duplicates\",\n \"pol\": \"Pokaż duplikaty\",\n \"lav\": \"Dublikāti\",\n \"lit\": \"Dublikatai\",\n \"est\": \"Topelt dokumendid\",\n \"rus\": \"Дубликаты\",\n \"nor\": \"Vis duplikater\",\n \"fin\": \"Näytä kahdenkertaiset kopiot\"\n },\n \"noDuplicatesFound\": {\n \"eng\": \"No duplicates found\",\n \"lav\": \"Netika atrasts neviens dublikāts\",\n \"lit\": \"Dublikatų nerasta\",\n \"est\": \"Topelt dokumente ei tuvastatud\",\n \"rus\": \"Дубликатов не обнаружено\",\n \"pol\": \"Nie znaleziono duplikatów\",\n \"nor\": \"Ingen duplikater funnet\",\n \"fin\": \"Kahdenkertaisia kopioita ei löytynyt\"\n },\n \"unset\": {\n \"eng\": \"Missing\",\n \"lav\": \"Nav iestatīts\",\n \"pol\": \"Brak\",\n \"nor\": \"Mangler\",\n \"fin\": \"Puuttuu\",\n \"rus\": \"Отсутствует\",\n \"lit\": \"Trūksta\",\n \"est\": \"Puudub\"\n },\n \"summary\": {\n \"eng\": \"Summary\",\n \"lav\": \"Kopsavilkums\",\n \"pol\": \"Podsumowanie\",\n \"nor\": \"Sammendrag\",\n \"fin\": \"Kooste\",\n \"rus\": \"Резюме\",\n \"lit\": \"Suvestinė\",\n \"est\": \"Kokkuvõte\"\n },\n \"efExDocNotDistinct\": {\n \"eng\": \"This document seems to be duplicate and will not be sent to accounting software\",\n \"lav\": \"Šis dokuments ir marķēts kā dublikāts un netiks nosūtīts grāmatvedībai\",\n \"pol\": \"Ten dokument został oznaczony jako duplikat i nie zostanie przesłany do programu księgowego\",\n \"nor\": \"Dette dokumentet ser ut til å være duplikat og vil ikke bli sendt til regnskapsprogramvare\",\n \"fin\": \"Kahdenkertaisia kopioita ei lähetetä kirjanpitoon\",\n \"rus\": \"Этот документ кажется дубликатом и не будет отправлен в бухгалтерскую программу\",\n \"lit\": \"Šis dokumentas yra dublikatas ir nebus siunčiamas apskaitai\",\n \"est\": \"See dokument näib olevat duplikaat ja seda ei saadeta raamatupidamistarkvarasse\"\n },\n \"creditCardReport\": {\n \"eng\": \"Credit card report\",\n \"lav\": \"Kredītkartes maksājumu atskaite\",\n \"nor\": \"Kredittkortrapport\",\n \"pol\": \"Raport płatności kartą kredytową\",\n \"fin\": \"Maksukorttiraportointi\",\n \"rus\": \"Отчет по кредитной карте\",\n \"lit\": \"Kreditinės kortelės ataskaita\",\n \"est\": \"Krediitkaardi aruanne\"\n },\n \"enable\": {\n \"eng\": \"Enable\",\n \"lav\": \"Iestatīt\",\n \"nor\": \"Aktiver\",\n \"pol\": \"Włącz\",\n \"fin\": \"Aseta\",\n \"rus\": \"Включить\",\n \"lit\": \"Įgalinti\",\n \"est\": \"Luba\"\n },\n \"customPaymentMethods\": {\n \"eng\": \"Payment methods\",\n \"lav\": \"Maksājumu metodes\",\n \"nor\": \"Egendefinerte betalingsmetoder\",\n \"pol\": \"Spersonalizowane metody płatności\",\n \"fin\": \"Kustomoidut maksutavat\",\n \"rus\": \"Персонализированные способы оплаты\",\n \"lit\": \"Individualizuoti mokėjimo būdai\",\n \"est\": \"Kohandatud makseviisid\"\n },\n \"creditCardReconciliation\": {\n \"eng\": \"Automated payment card reports\",\n \"lav\": \"Maksājumu kartes izraksta saskaņošana\",\n \"nor\": \"Kredittkortavstemming\",\n \"pol\": \"Uzgadnianie wyciągu z karty kredytowej\",\n \"fin\": \"Korttitapahtumien täsmäyttäminen\",\n \"rus\": \"Сверка платежных карт\",\n \"lit\": \"Kreditinės kortelės suderinimas\",\n \"est\": \"Pangakaardi aruanne\"\n },\n \"ccReconciliationExplanation\": {\n \"eng\": \"CostPocket automatically generates reports and matches expense documents with transactions synced from your bank or uploaded statements\",\n \"lav\": \"Automātiski saskaņot maksājumu dokumentus ar darījumiem bankas izrakstā\",\n \"nor\": \"Match utgifter med kredittkorttransaksjoner i kontoutskriften automatisk\",\n \"pol\": \"Automatycznie dopasowuj wydatki do transakcji na wyciągu z karty kredytowej\",\n \"fin\": \"Täsmäytä kulut korttitapahtumiin automaattisesti\",\n \"rus\": \"Автоматическое сопоставление расходов с платежами в выписке по платежной карте\",\n \"lit\": \"Automatiškai suporuoti išlaidas su kreditinės kortelės mokėjimais\",\n \"est\": \"Seo pangakaardi kulud automaatselt pangakaardi väljavõttega\"\n },\n \"availableOnlyWithReports\": {\n \"eng\": \"Available only with integrations that support expense reports\",\n \"lav\": \"Pieejams tikai ar integrācijām, kas atbalsta pārskatu veidošanu\",\n \"nor\": \"Kun tilgjengelig med integrasjoner som støtter utgiftsrapporter\",\n \"pol\": \"Dostępne tylko z integracjami obsługującymi raporty wydatków\",\n \"fin\": \"Saatavilla vain integraatioihin jotka tukevat kuluraportointia\",\n \"rus\": \"Доступно только для интеграций, поддерживающих отчеты о расходах\",\n \"lit\": \"Galima naudoti tik su integracijomis, palaikančiomis išlaidų ataskaitas\",\n \"est\": \"Saadaval ainult kuluaruandeid toetava liidestusega\"\n },\n \"enableCustomMethods\": {\n \"eng\": \"Enable custom payment methods\",\n \"lav\": \"Iespējot personalizētās maksājumu metodes\",\n \"nor\": \"Aktiver egendefinerte betalingsmåter\",\n \"pol\": \"Włącz spersonalizowane metody płatności\",\n \"fin\": \"Lisää kustomoitu maksutapa\",\n \"rus\": \"Включить персонализированные способы оплаты\",\n \"lit\": \"Įgalinti individualizuotus mokėjimo būdus\",\n \"est\": \"Luba kohandatud makseviisid\"\n },\n \"ccReportsRequirePayments\": {\n \"eng\": \"Automatic payment card reconciliation works only when custom payment methods are enabled.\",\n \"lav\": \"Lai iespējotu automatizētu maksājumu karšu izrakstu saskņošanu, nepieciešams iestatīt personalizētās maksājumu metodes.\",\n \"nor\": \"Automatisk kredittkortavstemming fungerer bare når egendefinerte betalingsmåter er aktivert.\",\n \"pol\": \"Automatyczne uzgadnianie kart kredytowych działa tylko wtedy, gdy włączone są spersonalizowane metody płatności.\",\n \"fin\": \"Automaattinen korttitapahtumien täsmäytys toimii vain kun kustomoidut maksutavat ovat käytössä\",\n \"rus\": \"Автоматическая сверка платежных карт работает только при включенных персонализированных способах оплаты.\",\n \"lit\": \"Automatinis kreditinės kortelės suderinimas veikia, kai įgalinami individualizuoti mokėjimo būdai\",\n \"est\": \"Pangakaardi kulude automaatne kokku viimine pangakaardi väljavõttega töötab vaid koos kohandatud kululiikidega.\"\n },\n \"ccReportsRequireReports\": {\n \"eng\": \"Automatic payment card reconciliation requires the use of reports.\",\n \"lav\": \"Lai iespējotu automatizētu kartes maksājumu izrakstu saskaņošanu, nepieciešams iestatīt maksājumu pārskatu veidošanu.\",\n \"nor\": \"Automatisk kredittkortavstemming krever bruk av rapporter.\",\n \"pol\": \"Automatyczna weryfikacja zgodności rachunków bankowych wymaga aktywacji usługi raportów.\",\n \"fin\": \"Automaattinen korttitapahtumien täsmäytys edellyttää raporttien aktivoimista\",\n \"rus\": \"Автоматическая сверка платежных карт требует использования отчетов.\",\n \"lit\": \"Automatinis kreditinės kortelės suderinimas veikia kartu su ataskaitomis\",\n \"est\": \"Pangakaardi kulude automaatne kokku viimine pangakaardi väljavõttega töötab vaid aruannetega.\"\n },\n \"paymentMethodExplanation\": {\n \"eng\": \"Customise payment options if paid from company funds\",\n \"lav\": \"Pielāgot maksājumu metodes darījumiem, kas apmaksāti ar uzņēmuma līdzekļiem\",\n \"pol\": \"Dostosuj opcje płatności, jeśli są opłacane ze środków firmowych\",\n \"fin\": \"Kustomoi maksutapoja jos kulu maksettiin yrityksen varoista\",\n \"rus\": \"Настройка способов оплаты, если оплата производится из средств компании\",\n \"lit\": \"Individualizuokite mokėjimo būdus, jei mokama kompanijos lėšomis\",\n \"est\": \"Kohandage maksevõimalusi ettevõtte vahenditest maksmisel\"\n },\n \"addPaymentMethod\": {\n \"eng\": \"Add payment method\",\n \"lav\": \"Pievienot maksājumu metodi\",\n \"pol\": \"Dodaj metodę płatności\",\n \"fin\": \"Lisää maksutapa\",\n \"rus\": \"Добавить способ оплаты\",\n \"lit\": \"Pridėti mokėjimo būdą\",\n \"est\": \"Lisa makseviis\"\n },\n \"cardLfd\": {\n \"eng\": \"Card last 4 digits\",\n \"lav\": \"Kartes pēdējie 4 cipari\",\n \"pol\": \"Ostatnie 4 cyfry numeru karty płatniczej\",\n \"fin\": \"Kortin viimeiset neljä numeroa\",\n \"rus\": \"Последние 4 цифры карты\",\n \"lit\": \"Paskutiniai 4 kortelės skaitmenys\",\n \"est\": \"Kaardi viimased 4 numbrit\"\n },\n \"assignToUser\": {\n \"eng\": \"Assign to user\",\n \"lav\": \"Piešķirt lietotājam\",\n \"pol\": \"Przypisz do użytkownika\",\n \"fin\": \"Lisää käyttäjälle\",\n \"rus\": \"Присвоить пользователю\",\n \"lit\": \"Priskirti vartotojui\",\n \"est\": \"Määra kasutajale\"\n },\n \"ccReportWarning\": {\n \"eng\": \"Adding the expense to payment card report\",\n \"lav\": \"Šis izdevumu dokuments tiek pievienots kartes maksājumu atskaitei\",\n \"pol\": \"Dodanie wydatku do raportu karty kredytowej\",\n \"fin\": \"Lisätään kulua maksukorttiraporttiin\",\n \"rus\": \"Добавление расходов в отчет по кредитной карте\",\n \"lit\": \"Pridėti išlaidą prie kreditinės kortelės ataskaitos\",\n \"est\": \"Kulude lisamine pangakaardi aruandesse\"\n },\n \"selectPaymentMonth\": {\n \"eng\": \"Select the month when the payment was made\",\n \"lav\": \"Norādiet mēnesi, kurā tika veikts darījums\",\n \"pol\": \"Wybierz miesiąc, w którym płatność została dokonana\",\n \"fin\": \"Valitse maksukuukausi\",\n \"rus\": \"Выберите месяц, когда был произведен платеж\",\n \"lit\": \"Norodykite, kurį mėnesį buvo atliktas mokėjimas\",\n \"est\": \"Valige kuu, millal makse tehti\"\n },\n \"skipccReport\": {\n \"eng\": \"Skip adding to payment card report\",\n \"lav\": \"Nepievienot kartes maksājumu atskaitei\",\n \"pol\": \"Pomiń dodawanie do raportu karty kredytowej\",\n \"fin\": \"Jätä väliin korttitapahtumien lataaminen\",\n \"rus\": \"Не добавлять в отчет по кредитной карте\",\n \"lit\": \"Nepridėti prie kreditinės kortelės ataskaitos\",\n \"est\": \"Jäta pangakaardi aruandesse lisamine vahele\"\n },\n \"statementUploaded\": {\n \"eng\": \"Statement uploaded\",\n \"lav\": \"Izraksts augšupielādēts\",\n \"pol\": \"Wyciąg przesłany\",\n \"fin\": \"Tiliote ladattu\",\n \"rus\": \"Выписка загружена\",\n \"lit\": \"Ataskaita pateikta\",\n \"est\": \"Väljavõte on üles laetud\"\n },\n \"transactions\": {\n \"eng\": \"Transactions\",\n \"lav\": \"Darījumi\",\n \"pol\": \"Transakcje\",\n \"fin\": \"Transaktiot\",\n \"rus\": \"Транзакции\",\n \"lit\": \"Mokėjimai\",\n \"est\": \"Tehingud\"\n },\n \"uploadStatementToMatch\": {\n \"eng\": \"Upload card statement to match payment transactions with cost documents\",\n \"lav\": \"Augšupielādējiet konta izrakstu, lai pielīdzinātu izdevumu dokumentus kartes darījumiem\",\n \"pol\": \"Prześlij wyciąg z karty kredytowej, aby dopasować transakcje płatnicze do dokumentów kosztowych\",\n \"fin\": \"Lataa tiliote täsmäyttääksesi kulutositteet maksuihin\",\n \"rus\": \"Загрузить выписку по карте, чтобы сопоставить платежные сделки с расходными документами\",\n \"lit\": \"Pateikite kreditinės kortelės ataskaitą norėdami suporuoti mokėjimus su išlaidų dokumentais\",\n \"est\": \"Laadige üles panga väljavõte, et sobitada maksetehingud kuludokumentidega\"\n },\n \"unmatched\": {\n \"eng\": \"Unmatched\",\n \"lav\": \"Nav pielīdzināti\",\n \"pol\": \"Niedopasowane\",\n \"fin\": \"Täsmäämätön\",\n \"rus\": \"Несравненные\",\n \"lit\": \"Nesuporuota\",\n \"est\": \"Sidumata\"\n },\n \"matched\": {\n \"eng\": \"Matched\",\n \"lav\": \"Pielīdzināti\",\n \"pol\": \"Dopasowane\",\n \"fin\": \"Täsmäytetty\",\n \"rus\": \"Соответствующие\",\n \"lit\": \"Suporuota\",\n \"est\": \"Seotud\"\n },\n \"addStatement\": {\n \"eng\": \"Upload bank statement\",\n \"lav\": \"Augšupielādēt konta izrakstu\",\n \"pol\": \"Dodaj wyciąg z karty kredytowej\",\n \"fin\": \"Lataa tiliote\",\n \"rus\": \"Загрузите выписку с банковского счета\",\n \"lit\": \"Pateikti kreditinės kortelės ataskaitą\",\n \"est\": \"Laadige panga väljavõte\"\n },\n \"processingStatement\": {\n \"eng\": \"Processing bank statement\",\n \"lav\": \"Tiek nolasīta informācija no konta izraksta\",\n \"pol\": \"Przetwarzanie wyciągu z karty kredytowej\",\n \"fin\": \"Tiliotetta käsitellään\",\n \"rus\": \"Обработка банковской выписки\",\n \"lit\": \"Peržiūrima kreditinės kortelės ataskaita\",\n \"est\": \"Panga väljavõtte protsessimine\"\n },\n \"containsUnmatchedTransactions\": {\n \"eng\": \"Report contains unmatched transactions\",\n \"lav\": \"Atskaite satur nepielīdzinātus darījumus\",\n \"pol\": \"Raport zawiera niedopasowane transakcje\",\n \"fin\": \"Raportti sisältää täsmäämättömiä transaktioita\",\n \"rus\": \"Отчет содержит несопоставленные записи\",\n \"lit\": \"Yra nesuporuotų mokėjimų\",\n \"est\": \"Aruanne sisaldab kokku viimata tehinguid\"\n },\n \"weWillMakeEmptyDocs\": {\n \"eng\": \"If submitted, a cost without a document will be automatically created for each unmatched transaction\",\n \"lav\": \"Iesniedzot šādu atskaiti, katram nepielīdzinātajam darījumam tiks automātiski izveidots un iesniegts atbilstošs izdevumu dokuments bez attēla\",\n \"pol\": \"Przesłanie takiego raportu spowoduje automatyczne utworzenie dokumentu kosztowego bez obrazu dla każej niedopasowanej transakcji\",\n \"fin\": \"Mikäli tosite lähetetään, maksut ilman täsmäytettyä dokumenttia tuodaan kirjanpitoon automaattisesti\",\n \"rus\": \"В случае подачи отчета, расход без документа будет автоматически создан для каждой несопоставленной записи\",\n \"lit\": \"Pateikus dabar, kiekvienas nesuporuotas mokėjimas bus raportuotas kaip išlaida be patvirtinančio dokumento\",\n \"est\": \"Iga puuduva dokumendi kohta luuakse ilma kuludokumendita kulu\"\n },\n \"removeStatement\": {\n \"eng\": \"Remove statement\",\n \"lav\": \"Dzēst konta izrakstu\",\n \"pol\": \"Usuń wyciąg z konta\",\n \"fin\": \"Poista tiliote\",\n \"rus\": \"Удалить выписку по кредитной карте\",\n \"lit\": \"Pašalinti išrašą\",\n \"est\": \"Eemalda krediitkaardi väljavõte\"\n },\n \"matchTransactionToDoc\": {\n \"eng\": \"Match transaction with document\",\n \"lav\": \"Pielīdzināt darījumu izdevumu dokumentam\",\n \"pol\": \"Połącz transakcję z dokumentem\",\n \"fin\": \"Täsmäytä transaktiot tositteisiin\",\n \"rus\": \"Сопоставить транзакцию с документом\",\n \"lit\": \"Suporuoti mokėjimą su dokumentu\",\n \"est\": \"Ühendage tehing dokumendiga\"\n },\n \"iDontHaveDocument\": {\n \"eng\": \"I dont have the document\",\n \"lav\": \"Man nav šī dokumenta\",\n \"pol\": \"Nie posiadam dokumentu\",\n \"fin\": \"Minulla ei ole dokumenttia\",\n \"rus\": \"У меня нет этого документа\",\n \"lit\": \"Neturiu dokumento\",\n \"est\": \"See dokument on kadunud\"\n },\n \"addDocument\": {\n \"eng\": \"Add document\",\n \"lav\": \"Pievienot dokumentu\",\n \"pol\": \"Dodaj dokument\",\n \"fin\": \"Lisää dokumentti\",\n \"rus\": \"Добавить документ\",\n \"lit\": \"Pridėti dokumentą\",\n \"est\": \"Lisa kuludokument\"\n },\n \"currencyConversion\": {\n \"eng\": \"Automatic currency conversion\",\n \"lav\": \"Automātiska valūtu konvertācija\",\n \"pol\": \"Automatyczne przeliczanie walut\",\n \"fin\": \"Automaattinen valuutanvaihto\",\n \"rus\": \"Автоматическая конвертация валюты\",\n \"est\": \"Automaatne valuuta konverteerimine\",\n \"lit\": \"Automatinė valiutos konversija\"\n },\n \"conversionDay\": {\n \"eng\": \"Currency conversion day\",\n \"lav\": \"Valūtas konvertācijas diena\",\n \"pol\": \"Dzień przeliczenia waluty\",\n \"fin\": \"Valuuttapäivä\",\n \"rus\": \"День конвертации валюты\",\n \"est\": \"Valuuta konverteerimise päev\",\n \"lit\": \"Valiutos konvertavimo diena\"\n },\n \"transactionDay\": {\n \"eng\": \"Transaction day\",\n \"lav\": \"Diena, kad veikts darījums\",\n \"pol\": \"Dzień dokonania transakcji\",\n \"fin\": \"Maksupäivä\",\n \"rus\": \"День оплаты\",\n \"est\": \"Tehinguga sama päev\",\n \"lit\": \"Transakcijos diena\"\n },\n \"workdayAfterTrip\": {\n \"eng\": \"First workday after the business travel\",\n \"lav\": \"Pirmā darba diena pēc komandējuma beigām\",\n \"pol\": \"Pierwszy dzień roboczy po zakończeniu podróży służbowej\",\n \"fin\": \"Ensimmäinen työpäivä työmatkan päättymisestä\",\n \"rus\": \"Первый рабочий день после окончания командировки\",\n \"est\": \"Esimene tööpäev pärast lähetuse lõppu\",\n \"lit\": \"Pirma darbo diena po verslo kelionės\"\n },\n \"previousTransactionDay\": {\n \"eng\": \"Day before the transaction\",\n \"lav\": \"Diena pirms darījuma\",\n \"rus\": \"День перед оплатой\",\n \"pol\": \"Dzień przed transakcją\",\n \"est\": \"Päev enne tehingut\",\n \"lit\": \"Diena prieš transakciją\",\n \"fin\": \"Päivä ennen tapahtumaa\"\n },\n \"explanationTransactionDay\": {\n \"eng\": \"Conversion with the official rate on the day of the transaction.\",\n \"lav\": \"Valūta tiek konvertēta pēc oficiālās likmes darījuma dienā.\",\n \"rus\": \"Конвертация по официальному курсу на день совершения платежа.\",\n \"pol\": \"Przewalutowanie na podstawie oficjalnego kursu z dnia dokonania transakcji\",\n \"est\": \"Konverteerimine tehingupäeva ametliku kursiga.\",\n \"lit\": \"Konversija su oficialiu valiutos kursu transakcijos dieną\",\n \"fin\": \"Muuntaminen tapahtumapäivän viralliseen kurssiin.\"\n },\n \"explanationPrevDay\": {\n \"eng\": \"Conversion with the official rate on the day before the transaction.\",\n \"lav\": \"Valūta tiek konvertēta pēc oficiālās likmes dienu pirms darījuma.\",\n \"rus\": \"Конвертация по официальному курсу на день, предшествующий платежу.\",\n \"pol\": \"Przewalutowanie na podstawie oficjalnego kursu z dnia poprzedzającego dzień dokonania transakcji\",\n \"est\": \"Konverteerimine tehingueelse päeva ametliku kursi alusel.\",\n \"lit\": \"Konversija su oficialiu valiutos kursu dieną prieš transakciją\",\n \"fin\": \"Muuntaminen tapahtumaa edeltävän päivän viralliseen kurssiin.\"\n },\n \"explanationNextWorkday\": {\n \"eng\": \"Documents in travel reports: conversion with the official rate on the next day after the business trip. Other documents: conversion with the official rate on the day of the transaction.\",\n \"lav\": \"Dokumentiem komandējumu atskaitēs: valūta tiek konvertēta nākamajā darba dienā pēc komandējuma beigām. Pārējiem dokumentiem: valūta tiek konvertēta pēc oficiālās likmes darījuma dienā.\",\n \"rus\": \"Документы в командировочных отчетах: конвертация по официальному курсу на следующий день после командировки. Прочие документы: конвертация по официальному курсу на день совершения платежа.\",\n \"pol\": \"Dokumenty w raportach z podróży: przewalutowanie na podstawie oficjalnego kursu z pierwszego dnia po zakończeniu podróży służbowej. Inne dokumenty: przewalutowanie na podstawie oficjalnego kursu z dnia dokonania transakcji.\",\n \"est\": \"Dokumendid lähetusaruandes: konverteerimine ametliku kursiga järgmisel tööpäeval pärast lähetuse lõppu. Muud dokumendid: konverteerimine tehingupäeva ametliku kursiga.\",\n \"lit\": \"Dokumentai kelionių ataskaitose: konvertuojami su oficialiu sekančios dienos po kelionės pabaigos valiutos kursu. Kiti dokumentai: konvertuojami su oficialiu valiutos kursu transakcijos dieną.\",\n \"fin\": \"Asiakirjat matkaraporteissa: muuntaminen työmatkan jälkeisen seuraavan päivän viralliseen kurssiin. Muut asiakirjat: muuntaminen tapahtumapäivän viralliseen kurssiin.\"\n },\n \"searchCompany\": {\n \"eng\": \"Search company\",\n \"lav\": \"Meklēt uzņēmumu\",\n \"rus\": \"Искать компанию\",\n \"est\": \"Otsi ettevõtet\",\n \"pol\": \"Wyszukaj firmę\",\n \"lit\": \"Ieškoti kompanijos\",\n \"fin\": \"Etsi yritystä\"\n },\n \"convert\": {\n \"eng\": \"Convert\",\n \"lav\": \"Konvertēt\",\n \"rus\": \"Конвертировать\",\n \"est\": \"Konverteeri\",\n \"pol\": \"Konwertuj\",\n \"lit\": \"Iškeisti\",\n \"fin\": \"Muunna\"\n },\n \"optional\": {\n \"eng\": \"optional\",\n \"lav\": \"nav obligāts\",\n \"rus\": \"необязательный\",\n \"est\": \"valikuline\",\n \"pol\": \"opcjonalnie\",\n \"lit\": \"pasirinktinai\",\n \"fin\": \"valinnainen\"\n },\n \"exchangeRate\": {\n \"eng\": \"Exchange rate\",\n \"lav\": \"Valūtas kurss\",\n \"rus\": \"Обменный курс\",\n \"est\": \"Valuuta kurss\",\n \"pol\": \"Kurs wymiany\",\n \"lit\": \"Keitimo kursas\",\n \"fin\": \"Vaihtokurssi\"\n },\n \"searchByContent\": {\n \"eng\": \"Search by name, comment, date or employee name\",\n \"lav\": \"Meklējiet pēc nosaukuma, komentāra, datuma vai darbinieka vārda\",\n \"est\": \"Otsi nime, kommentaari, kuupäeva või töötaja nime järgi\",\n \"rus\": \"Поиск по названию, комментарию, дате или имени сотрудника\",\n \"pol\": \"Szukaj według nazwy, komentarza, daty lub nazwiska pracownika\",\n \"lit\": \"Ieškoti pagal pavadinimą, komentarą, datą arba darbuotoją\",\n \"fin\": \"Hae nimellä, kommentilla, päivämäärällä tai työntekijän nimellä\"\n },\n \"digitizedByUser\": {\n \"eng\": \"Digitised by user\",\n \"lav\": \"Dokumentu digitalizējis lietotājs\",\n \"est\": \"Digiteeritud kasutaja poolt\",\n \"pol\": \"Zdigitalizowane przez użytkownika\",\n \"rus\": \"Оцифровано пользователем\",\n \"lit\": \"Suskaitmeninta vartotojo\",\n \"fin\": \"Käyttäjän digitoima\"\n },\n \"cancelTravel\": {\n \"eng\": \"Cancel travel\",\n \"lav\": \"Atcelt komandējumu\",\n \"est\": \"Tühista reis\",\n \"pol\": \"Anuluj podróż\",\n \"rus\": \"Отменить поездку\",\n \"lit\": \"Atšaukti kelionę\",\n \"fin\": \"Peruuta matka\"\n },\n \"approxTravelCosts\": {\n \"eng\": \"Approximate travel costs\",\n \"lav\": \"Aptuvenās ceļošanas izmakasas\",\n \"est\": \"Ligikaudsed reisikulud\",\n \"pol\": \"Szacunkowe koszty podróży\",\n \"rus\": \"Приблизительные расходы на поездку\",\n \"lit\": \"Apytikslės kelionės išlaidos\",\n \"fin\": \"Arvioidut matkakulut\"\n },\n \"draft\": {\n \"eng\": \"Draft\",\n \"lav\": \"Nepabeigts\",\n \"pol\": \"Szkic\",\n \"rus\": \"Черновик\",\n \"est\": \"Mustand\",\n \"lit\": \"Ruošinys\",\n \"fin\": \"Luonnos\"\n },\n \"saveAsDraft\": {\n \"eng\": \"Save as draft\",\n \"lav\": \"Saglabāt vēlākai apstrādei\",\n \"rus\": \"Сохранить как черновик\",\n \"est\": \"Salvesta mustandina\",\n \"pol\": \"Zapisz jako szkic\",\n \"lit\": \"Išsaugoti ruošinį\",\n \"fin\": \"Tallenna luonnoksena\"\n },\n \"dropMatchingDoc\": {\n \"eng\": \"Drop matching document here\",\n \"lav\": \"Ievelciet atbilstošo dokumentu šeit\",\n \"rus\": \"Бросьте соответствующий документ сюда\",\n \"est\": \"Lohista maksega soetud dokument siia\",\n \"pol\": \"Upuść pasujący dokument tutaj\",\n \"lit\": \"Įkelkite susijusį dokumentą čia\",\n \"fin\": \"Siirrä vastaava asiakirja tähän\"\n },\n \"unmatch\": {\n \"eng\": \"Unmatch\",\n \"lav\": \"Atzīmēt kā nepielīdzinātu\",\n \"rus\": \"Отметить как несопоставленные\",\n \"est\": \"Seo lahti\",\n \"pol\": \"Oznacz jako niedopasowane\",\n \"lit\": \"Išskirti\",\n \"fin\": \"Ei täsmää\"\n },\n \"matchWithTransaction\": {\n \"eng\": \"Match with transaction\",\n \"lav\": \"Pielīdzināt darījumam\",\n \"rus\": \"Сопоставить с сделкой\",\n \"est\": \"Seotud maksega\",\n \"pol\": \"Dopasuj do transakcji\",\n \"lit\": \"Susieti su pavedimu\",\n \"fin\": \"Yhdistä tapahtumaan\"\n },\n \"match\": {\n \"eng\": \"Match\",\n \"lav\": \"Pielīdzināt\",\n \"rus\": \"Сопоставить\",\n \"est\": \"Seotud\",\n \"pol\": \"Dopasuj\",\n \"lit\": \"Susieti\",\n \"fin\": \"Täsmäytä\"\n },\n \"reportContainsDuplicates\": {\n \"eng\": \"Report contains duplicate documents which will not be sent to software. Please review them!\",\n \"lav\": \"Šī atskaite satur dublikātus, kas netiks nosūtīti grāmatvedībai. Lūdzu, pārskatiet šos dokumentus!\",\n \"est\": \"Aruanne sisaldab topelt dokumente, mida ei saadeta raamatupidamisprogrammi edasi. Palun vaadake need üle.\",\n \"pol\": \"Ten raport zawiera duplikaty. Przejrzyj je przed wysłaniem!\",\n \"rus\": \"Этот отчет содержит дубликаты. Пожалуйста, просмотрите их перед отправкой!\",\n \"lit\": \"Šioje ataskaitoje yra dublikatų, kurie nebus siunčiami apskaitai. Peržiūrėkite prieš pateikdami.\",\n \"fin\": \"Tämä raportti sisältää kaksoiskappaleita. Tarkista dokumentit ennen lähettämistä!\"\n },\n \"paidByUnspecified\": {\n \"eng\": \"Paid by unspecified funds\",\n \"lav\": \"Apmaksas veids nav norādīts\",\n \"pol\": \"Opłacone z nieokreślonych funduszy\",\n \"rus\": \"Оплачено из неуказанных средств\",\n \"lit\": \"Apmokėta nenurodytomis lėšomis\",\n \"est\": \"Makstud täpsustamata vahenditega\",\n \"fin\": \"Maksetaan määrittelemättömistä varoista\"\n },\n \"totalReimbursable\": {\n \"eng\": \"Total reimbursable\",\n \"lav\": \"Kopā atmaksājams\",\n \"pol\": \"Całkowita kwota do zwrotu\",\n \"rus\": \"Итого компенсируемая сумма\",\n \"lit\": \"Iš viso kompensuojama\",\n \"est\": \"Hüvitatav summa\",\n \"fin\": \"Korvattava yhteensä\"\n },\n \"reimbursableAdditionalDocs\": {\n \"eng\": \"Reimbursable additional documents\",\n \"lav\": \"Atmaksājams par pievienotajām izmaksām bez dokumenta\",\n \"pol\": \"Dokumenty dodatkowe podlegające zwrotowi\",\n \"rus\": \"Компенсируемые дополнительные документы\",\n \"lit\": \"Kompensuojami papildomi dokumentai\",\n \"est\": \"Hüvitatavad lisadokumendid\",\n \"fin\": \"Korvattavat lisäasiakirjat\"\n },\n \"docAlreadyImported\": {\n \"lav\": \"Šis dokuments jau tika iesūtīts grāmatvedības programmā\",\n \"eng\": \"This document has already been imported\",\n \"pol\": \"Ten dokument został już dodany\",\n \"rus\": \"Этот документ уже был импортирован\",\n \"lit\": \"Šis dokumentas jau buvo įkeltas\",\n \"est\": \"See dokument on varasemalt imporditud\",\n \"fin\": \"Tämä asiakirja on jo tuotu\"\n },\n \"setReimbursement\": {\n \"eng\": \"Set reimbursement type\",\n \"lav\": \"Mainīt apmaksas veidu\",\n \"rus\": \"Изменить тип компенсации\",\n \"pol\": \"Ustaw rodzaj zwrotu kosztów\",\n \"lit\": \"Nustatyti kompensavimo tipą\",\n \"est\": \"Määra hüvitise tüüp\",\n \"fin\": \"Aseta korvaustyyppi\"\n },\n \"pendingConfirmation\": {\n \"eng\": \"Pending administrator confirmation\",\n \"lav\": \"Gaida administratora apstiprinājumu\",\n \"rus\": \"Ожидается подтверждение администратора\",\n \"pol\": \"Oczekuje na potwierdzenie księgowego\",\n \"lit\": \"Laukiama administratoriaus patvirtinimo\",\n \"est\": \"Ootab administraatori kinnitamist\",\n \"fin\": \"Odottaa pääkäyttäjän vahvistusta\"\n },\n \"markNonDuplicate\": {\n \"eng\": \"Not duplicate\",\n \"lav\": \"Nav dublikāts\",\n \"rus\": \"Не дубликат\",\n \"pol\": \"Dokument nie jest duplikatem\",\n \"est\": \"Ei ole topelt\",\n \"lit\": \"Nėra dublikatas\",\n \"fin\": \"Ei kaksoiskappaletta\"\n },\n \"calendarDocumentsHint\": {\n \"eng\": \"Documents added during the selected period\",\n \"lav\": \"Dokumenti, kas pievienoti atlasītajā laika periodā\",\n \"rus\": \"Документы, добавленные в течение выбранного периода\",\n \"pol\": \"Dokumenty dodane w wybranym okresie\",\n \"est\": \"Valitud perioodi jooksul lisatud dokumendid\",\n \"lit\": \"Dokumentai, pridėti per pasirinktą periodą\",\n \"fin\": \"Valitun ajanjakson aikana lisätyt asiakirjat\"\n },\n \"calendarReceiptsHint\": {\n \"eng\": \"Reports created during or for the selected period\",\n \"lav\": \"Atskaites, kas izveidotas atlasītajā laika periodā vai par šo periodu\",\n \"rus\": \"Отчеты, созданные в течение или за выбранный период\",\n \"pol\": \"Raporty utworzone w trakcie lub dla wybranego okresu\",\n \"est\": \"Aruanded, mis on loodud valitud perioodi jooksul või selle kohta\",\n \"lit\": \"Ataskaitos, sukurtos per arba už pasirinktą periodą\",\n \"fin\": \"Luodut raportit valitun ajanjakson aikana\"\n },\n \"duplicateDetection\": {\n \"eng\": \"Duplicate prevention\",\n \"lav\": \"Dublikātu novēršana\",\n \"est\": \"Topelt arvete tuvastamine\",\n \"lit\": \"Dublikatų aptikimas\",\n \"rus\": \"Определение дубликатов\",\n \"pol\": \"Wykrywanie duplikatów\",\n \"fin\": \"Kaksoiskappaleiden ehkäisy\"\n },\n \"dupplicateDetectionExplanation\": {\n \"eng\": \"Detects and prevents forwarding of duplicates to accounting software\",\n \"lav\": \"Atpazīt dublikātus un nepieļaut to sūtīsanu uz grāmatvedības programmatūru\",\n \"est\": \"Takistab topelt dokumentide edastamist raamatupidamistarkvarasse\",\n \"lit\": \"Sustabdo dublikatų siuntimą apskaitai\",\n \"rus\": \"Предотвращает пересылку дубликатов документов в бухгалтерскую программу\",\n \"pol\": \"Uniemożliwia przesłanie duplikatów do programu księgowego\",\n \"fin\": \"Tunnistaa ja estää kaksoiskappaleiden välittämisen kirjanpito-ohjelmistoon\"\n },\n \"addCarRegCard\": {\n \"eng\": \"Add vehicle registration certificate\",\n \"lav\": \"Pievienot transportlīdzekļa reģistrācijas apliecību\",\n \"rus\": \"Добавить свидетельство о регистрации транспортного средства\",\n \"est\": \"Lisage sõiduki registreerimistunnistus\",\n \"lit\": \"Pridėti transporto priemonės registracijos sertifikatą\",\n \"pol\": \"Dodaj dowód rejestracyjny pojazdu\",\n \"fin\": \"Lisää ajoneuvon rekisteröintitodistus\"\n },\n \"carRegCard\": {\n \"eng\": \"Vehicle registration certificate\",\n \"lav\": \"Transportlīdzekļa reģistrācijas apliecība\",\n \"rus\": \"Свидетельство о регистрации транспортного средства\",\n \"est\": \"Sõiduki registreerimistunnistus\",\n \"lit\": \"Transporto priemonės registracijos sertifikatas\",\n \"pol\": \"Dowód rejestracyjny pojazdu\",\n \"fin\": \"Ajoneuvon rekisteröintitodistus\"\n },\n \"mileageReportOtherEmployee\": {\n \"eng\": \"Mileage report for other employee\",\n \"lav\": \"Maršruta lapa citam darbiniekam\",\n \"est\": \"Sõidupäeviku koostamine teisele töötajale\",\n \"lit\": \"Kilometražo ataskaita už kitą darbuotoją\",\n \"pol\": \"Raport przebiegu pojazdu dla innego pracownika\",\n \"rus\": \"Отчет о пробеге другого сотрудника\",\n \"fin\": \"Kilometriraportti toiselle työntekijälle\"\n },\n \"mileageReports\": {\n \"eng\": \"Mileage reports\",\n \"lav\": \"Maršruta lapas\",\n \"est\": \"Sõidupäevik\",\n \"lit\": \"Kilometražo ataskaitos\",\n \"pol\": \"Raport przebiegu pojazdu\",\n \"rus\": \"Отчеты о пробеге\",\n \"fin\": \"Kilometriraportit\"\n },\n \"newLine\": {\n \"eng\": \"New line\",\n \"lav\": \"Jauna rinda\",\n \"lit\": \"Nauja eilutė\",\n \"rus\": \"Новая строка\",\n \"est\": \"Uus rida\",\n \"pol\": \"Nowy wiersz\",\n \"fin\": \"Uusi rivi\"\n },\n \"addItemRows\": {\n \"eng\": \"Add item lines\",\n \"lav\": \"Pievienot preču rindas\",\n \"lit\": \"Pridėti sąskaitos eilutes\",\n \"rus\": \"Добавить строки счета\",\n \"est\": \"Lisa arve rida\",\n \"pol\": \"Dodaj wiersze faktury\",\n \"fin\": \"Lisää laskurivit\"\n },\n \"showItemRows\": {\n \"eng\": \"Show item lines\",\n \"lav\": \"Izvērst rindas\",\n \"lit\": \"Rodyti sąskaitos eilutes\",\n \"rus\": \"Показать строки счета\",\n \"est\": \"Kuva arve read\",\n \"pol\": \"Pokaż wiersze faktury\",\n \"fin\": \"Näytä laskurivit\"\n },\n \"description\": {\n \"eng\": \"Description\",\n \"lav\": \"Nosaukums/Apraksts\",\n \"lit\": \"Aprašymas\",\n \"rus\": \"Название/Описание\",\n \"est\": \"Kirjeldus\",\n \"pol\": \"Opis\",\n \"fin\": \"Kuvaus\"\n },\n \"price\": {\n \"eng\": \"Price\",\n \"lav\": \"Cena\",\n \"lit\": \"Kaina\",\n \"rus\": \"Цена\",\n \"est\": \"Hind\",\n \"pol\": \"Cena\",\n \"fin\": \"Hinta\"\n },\n \"quantity\": {\n \"eng\": \"Quantity\",\n \"lav\": \"Daudzums\",\n \"lit\": \"Kiekis\",\n \"rus\": \"Количество\",\n \"est\": \"Kogus\",\n \"pol\": \"Ilość\",\n \"fin\": \"Määrä\"\n },\n \"code\": {\n \"eng\": \"Code\",\n \"lav\": \"Kods\",\n \"lit\": \"Kodas\",\n \"rus\": \"Код\",\n \"est\": \"EAN kood\",\n \"pol\": \"Kod\",\n \"fin\": \"Koodi\"\n },\n \"unit\": {\n \"eng\": \"Unit\",\n \"lav\": \"Vienība\",\n \"lit\": \"Vienetas\",\n \"rus\": \"Единица\",\n \"est\": \"Ühik\",\n \"pol\": \"Jednostka\",\n \"fin\": \"Yksikkö\"\n },\n \"rounding\": {\n \"eng\": \"Rounding\",\n \"lav\": \"Noapaļot\",\n \"lit\": \"Apvalinimas\",\n \"rus\": \"Округление\",\n \"est\": \"Ümardus\",\n \"pol\": \"Zaokrąglenie\",\n \"fin\": \"Pyöristys\"\n },\n \"requestTravelOffer\": {\n \"eng\": \"Request travel offer\",\n \"lav\": \"Pieprasīt ceļojuma piedāvājumu\",\n \"est\": \"Loo reisipakkumise päring\",\n \"pol\": \"Zapytaj o ofertę podróży\",\n \"rus\": \"Запросить предложение о путешествии\",\n \"lit\": \"Užsakyti kelionės pasiūlymą\",\n \"fin\": \"Pyydä matkatarjous\"\n },\n \"arrival\": {\n \"eng\": \"Arrival\",\n \"lav\": \"Ierašanās\",\n \"est\": \"Saabumine\",\n \"pol\": \"Przyjazd\",\n \"rus\": \"Прибытие\",\n \"lit\": \"Atvykimas\",\n \"fin\": \"Saapuminen\"\n },\n \"time\": {\n \"eng\": \"Time\",\n \"lav\": \"Laiks\",\n \"est\": \"Aeg\",\n \"pol\": \"Czas\",\n \"rus\": \"Время\",\n \"lit\": \"Laikas\",\n \"fin\": \"Aika\"\n },\n \"departureCity\": {\n \"eng\": \"Departure location (city)\",\n \"lav\": \"Izbraukšanas vieta (pilsēta)\",\n \"est\": \"Väljumise asukoht (linn)\",\n \"pol\": \"Miejsce wyjazdu (miasto)\",\n \"rus\": \"Место отправления (город)\",\n \"lit\": \"Išvykimo vieta (miestas)\",\n \"fin\": \"Lähtöpaikka (kaupunki)\"\n },\n \"returning\": {\n \"eng\": \"Returning\",\n \"lav\": \"Atgriešanās\",\n \"est\": \"Tagasitulek\",\n \"pol\": \"Powrót\",\n \"rus\": \"Возвращение\",\n \"lit\": \"Grįžimas\",\n \"fin\": \"Paluu\"\n },\n \"destinationCity\": {\n \"eng\": \"Destination location (city)\",\n \"lav\": \"Ierašanās vieta (pilsēta)\",\n \"est\": \"Sihtkoht (linn)\",\n \"pol\": \"Miejsce docelowe (miasto)\",\n \"rus\": \"Место назначения (город)\",\n \"lit\": \"Tikslo vieta (miestas)\",\n \"fin\": \"Kohteen sijainti (kaupunki)\"\n },\n \"additionalInfoShort\": {\n \"eng\": \"Additional information\",\n \"lav\": \"Papildus informācija\",\n \"est\": \"Lisainfo\",\n \"pol\": \"Dodatkowe informacje\",\n \"rus\": \"Дополнительная информация\",\n \"lit\": \"Papildoma informacija\",\n \"fin\": \"Lisätieto\"\n },\n \"additionalInfoLong\": {\n \"eng\": \"Additional information for travel agency (venue location, car rental needs, number of passengers etc.)\",\n \"lav\": \"Papildus informācija ceļojumu aģentūrai (informācija par ierašanās vietu, auto nomu, pasažieru skaitu utt.)\",\n \"est\": \"Lisa informatsioon reisibüroole (asukoht, rendiauto vajadus, reisijate arv jne.)\",\n \"pol\": \"Dodatkowe informacje dla biura podróży (lokalizacja miejsca, potrzeby wynajmu samochodów itp.)\",\n \"rus\": \"Дополнительная информация для туристического агентства (место проведения мероприятия, необходимость аренды автомобиля, количество пассажиров и т.д.)\",\n \"lit\": \"Papildoma informacija kelionių agentūrai (renginio vieta, automobilio nuomos poreikis, keleivių skaičius ir t. t.)\",\n \"fin\": \"Lisätietoja matkatoimistolle (paikan sijainti, auton vuokraustarpeet, matkustajamäärä jne.)\"\n },\n \"travelMethod\": {\n \"eng\": \"Preferred method of travelling\",\n \"lav\": \"Vēlamais transporta veids\",\n \"est\": \"Eelistatud reisimisviis\",\n \"pol\": \"Preferowany środek transportu\",\n \"rus\": \"Предпочтительный способ путешествия\",\n \"lit\": \"Pageidaujamas keliavimo būdas\",\n \"fin\": \"Suosituin matkustustapa\"\n },\n \"airplane\": {\n \"eng\": \"Airplane\",\n \"lav\": \"Lidmašīna\",\n \"est\": \"Lennuk\",\n \"pol\": \"Samolot\",\n \"rus\": \"Самолет\",\n \"lit\": \"Lėktuvas\",\n \"fin\": \"Lentokone\"\n },\n \"bus\": {\n \"eng\": \"Bus\",\n \"est\": \"Buss\",\n \"lav\": \"Autobuss\",\n \"pol\": \"Autobus\",\n \"rus\": \"Автобус\",\n \"lit\": \"Autobusas\",\n \"fin\": \"Linja-auto\"\n },\n \"boat\": {\n \"eng\": \"Boat\",\n \"est\": \"Laev\",\n \"lav\": \"Kuģis\",\n \"pol\": \"Łódź\",\n \"rus\": \"Корабль\",\n \"lit\": \"Keltas\",\n \"fin\": \"Vene\"\n },\n \"train\": {\n \"eng\": \"Train\",\n \"est\": \"Rong\",\n \"lav\": \"Vilciens\",\n \"pol\": \"Pociąg\",\n \"rus\": \"Поезд\",\n \"lit\": \"Traukinys\",\n \"fin\": \"Juna\"\n },\n \"requestCreatedAndSent\": {\n \"eng\": \"Report saved and travel offer request sent to the travel agency\",\n \"lav\": \"Komandējuma pieteikums saglabāts un pieprasījums nosūtīts ceļojumu aģentūrai\",\n \"est\": \"Aruanne salvestatud ja reisipakkumine saadetud reisibüroole\",\n \"pol\": \"Raport został zapisany i zapytanie ofertowe wysłane do biura podróży\",\n \"rus\": \"Отчет сохранен и запрос на предложение поездки отправлен в туристическое агентство\",\n \"lit\": \"Ataskaita išsaugota ir užklausa dėl kelionės pasiūlymo išsiųsta kelionių agentūrai\",\n \"fin\": \"Raportti tallennettu ja matkatarjouspyyntö lähetetty matkatoimistolle\"\n },\n \"travelOffer\": {\n \"eng\": \"Travel offer\",\n \"lav\": \"Ceļojuma piedāvājums\",\n \"est\": \"Reisipakkumine\",\n \"pol\": \"Oferta podróży\",\n \"rus\": \"Предложение по путешествию\",\n \"lit\": \"Kelionės pasiūlymas\",\n \"fin\": \"Matkatarjous\"\n },\n \"submitAnyway\": {\n \"eng\": \"Submit anyway\",\n \"lav\": \"Iesniegt tik un tā\",\n \"est\": \"Esitage ikkagi\",\n \"pol\": \"Zatwierdź mimo wszystko\",\n \"rus\": \"Отправить в любом случае\",\n \"lit\": \"Pateikti vis tiek\",\n \"fin\": \"Lähetä silti\"\n },\n \"carRegCardMissing\": {\n \"eng\": \"Vehicle registration certificate is missing\",\n \"lav\": \"Nav pievienota transportlīdzekļa reģistrācijas apliecība\",\n \"est\": \"Sõiduki registreerimistunnistus puudub\",\n \"pol\": \"Brak dowodu rejestracyjnego pojazdu\",\n \"rus\": \"Отсутствует свидетельство о регистрации транспортного средства\",\n \"lit\": \"Trūksta transporto priemonės registracijos liudijimo\",\n \"fin\": \"Ajoneuvon rekisteritodistus puuttuu\"\n },\n \"manageApporovers\": {\n \"eng\": \"Manage approvers\",\n \"lav\": \"Rediģēt lēmumu pieņēmējus\",\n \"pol\": \"Zarządzaj osobami zatwierdzającymi\",\n \"rus\": \"Управление утверждающими лицами\",\n \"est\": \"Manageeri kinnitajaid\",\n \"lit\": \"Tvarkyti tvirtintojus\",\n \"fin\": \"Hallinnoi hyväksyjiä\"\n },\n \"targetSum\": {\n \"eng\": \"Sum\",\n \"lav\": \"Piemērojamā summa\",\n \"pol\": \"Obowiązująca kwota\",\n \"rus\": \"Утверждаемая сумма\",\n \"lit\": \"Tikslinė suma\",\n \"est\": \"Summa\",\n \"fin\": \"Sovellettava määrä\"\n },\n \"targetSumDescr\": {\n \"eng\": \"Approval rules apply for documents and reports between the amounts indicated below\",\n \"lav\": \"Darbību shēma attiecas tikai uz izdevumiem zemāk norādītajā intervālā\",\n \"pol\": \"Zasady zatwierdzania zostaną zastosowane, jeśli suma wydatków będzie wyższa (minimalna) lub niższa (maksymalna) niż określona kwota.\",\n \"rus\": \"Правила утверждения будут применяться, если сумма выше (минимум) или ниже (максимум) указанной суммы.\",\n \"lit\": \"Patvirtinimo taisyklės taikomos dokumentams ir ataskaitoms tarp nurodytų sumų\",\n \"est\": \"Kinnitusringi reeglid kehtivad dokumentidele ja aruannetele, mille summad jäävad allpool indikeeritud vahemikku.\",\n \"fin\": \"Hyväksymissääntöjä sovelletaan asiakirjoihin ja raportteihin alla ilmoitettujen arvojen välillä\"\n },\n \"targetMinimumSum\": {\n \"eng\": \"Target minimum sum\",\n \"lav\": \"Piemērojamā minimālā summa\",\n \"pol\": \"Minimalna kwota\",\n \"rus\": \"Минимальная сумма для утверждения\",\n \"lit\": \"Apatinė suma\",\n \"est\": \"Minimaalne summa\",\n \"fin\": \"Tavoiteltu vähimmäismäärä\"\n },\n \"targetMaximumSum\": {\n \"eng\": \"Target maximum sum\",\n \"lav\": \"Piemērojamā maksimālā summa\",\n \"pol\": \"Maksymalna kwota\",\n \"rus\": \"Максимальная сумма для утверждения\",\n \"lit\": \"Viršutinė suma\",\n \"est\": \"Maksimaalne summa\",\n \"fin\": \"Tavoiteltu enimmäismäärä\"\n },\n \"targetExpenseTypes\": {\n \"eng\": \"Expense types\",\n \"lav\": \"Piemērojamie izdevumu veidi\",\n \"pol\": \"Obowiązuje w wybranych rodzajach kosztów\",\n \"rus\": \"Типы расходов для утверждения\",\n \"lit\": \"Tiksliniai išlaidų tipai\",\n \"est\": \"Kululiigid\",\n \"fin\": \"Sovellettavat kululajit\"\n },\n \"targetExpenseTypesDescr\": {\n \"eng\": \"Approval rules will be applied only to single documents with the selected expense types. Doesn't affect documents inside reports.\",\n \"lav\": \"Darbību shēma attieksies tikai uz izmaksu dokumentiem ar atlasītajiem izmaksu veidiem. Neattiecas uz dokumentiem, kas pievienoti pārskatiem.\",\n \"pol\": \"Reguły zatwierdzania będą stosowane tylko do pojedynczych dokumentów z wybranymi rodzajami kosztów.\",\n \"rus\": \"Правила утверждения будут применяться только к отдельным документам с выбранными типами расходов. Не влияет на документы внутри отчетов.\",\n \"est\": \"Kinnituse reeglid rakendatakse ainult üksikutele dokumentidele, millel on määratud kululiik.\",\n \"lit\": \"Tvirtinimo taisyklės bus taikomos tik pavieniams dokumentams su pasirinktais išlaidų tipais.\",\n \"fin\": \"Hyväksymissääntöjä sovelletaan vain yksittäisiin asiakirjoihin valituilla kulutyypeillä.\"\n },\n \"spendingLimit\": {\n \"eng\": \"Spending limit\",\n \"lav\": \"Izdevumu limits\",\n \"pol\": \"Limit wydatków\",\n \"rus\": \"Лимит расходов\",\n \"est\": \"Kulutuste limiit\",\n \"lit\": \"Išlaidų limitas\",\n \"fin\": \"Kulutusraja\"\n },\n \"monthlySpendingLimit\": {\n \"eng\": \"Monthly spending limit\",\n \"lav\": \"Mēneša izdevumu limits\",\n \"pol\": \"Miesięczny limit wydatków\",\n \"rus\": \"Ежемесячный лимит расходов\",\n \"est\": \"Kuine kulutuste limiit\",\n \"lit\": \"Mėnesio išlaidų limitas\",\n \"fin\": \"Kuukauden kulutusraja\"\n },\n \"quarterlySpendingLimit\": {\n \"eng\": \"Quarterly spending limit\",\n \"lav\": \"Ceturkšņa izdevumu limits\",\n \"pol\": \"Kwartalny limit wydatków\",\n \"rus\": \"Ежеквартальный лимит расходов\",\n \"est\": \"Kvartali kulutuste limiit\",\n \"lit\": \"Ketvirčio išlaidų limitas\",\n \"fin\": \"Kvartaali kulutusraja\"\n },\n \"yearlySpendingLimit\": {\n \"eng\": \"Yearly spending limit\",\n \"lav\": \"Gada izdevumu limits\",\n \"pol\": \"Roczny limit wydatków\",\n \"rus\": \"Ежегодный лимит расходов\",\n \"est\": \"Aastane kulutuste limiit\",\n \"lit\": \"Metinis išlaidų limitas\",\n \"fin\": \"Vuosittainen kulutusraja\"\n },\n \"spendingLimitDescr\": {\n \"eng\": \"Submitter's expenses over the limit will be auto-rejected\",\n \"lav\": \"Lietotāja iesniegtie izdevumu dokumenti virs limita tiks automātiski noraidīti\",\n \"pol\": \"Wydatki powyżej limitu będą odrzucane automatycznie\",\n \"rus\": \"Расходы подателя, превышающие лимит, будут автоматически отклонены\",\n \"est\": \"Dokumendi sisestaja kulutused üle limiidi lükatakse automaatselt tagasi\",\n \"lit\": \"Pateikėjo išlaidos virš limito bus automatiškai atmestos\",\n \"fin\": \"Rajan ylittävät lähettäjän kulut hylätään automaattisesti\"\n },\n \"requireAccountantConfirm\": {\n \"eng\": \"Require administrator confirmation\",\n \"lav\": \"Sūtīt tikai pēc administratora apstiprinājuma\",\n \"pol\": \"Wysyłaj tylko po zatwierdzeniu przez księgowego\",\n \"rus\": \"Требовать подтверждения администратора\",\n \"est\": \"Nõua administraatori kinnitust\",\n \"lit\": \"Reikalauti administratoriaus patvirtinimo\",\n \"fin\": \"Vaadi järjestelmänvalvojan vahvistus\"\n },\n \"requireAccountantConfirmDesc\": {\n \"eng\": \"Prevents the expense from being sent to accounting by submitter or by automation\",\n \"lav\": \"Nepieļauj vienkāršo lietotāju un sistēmas automatizācijas tiešu dokumentu sūtīšanu uz grāmatvedības programmatūru\",\n \"pol\": \"Nie pozwala zwykłym użytkownikom i automatyzacji systemu na przesłanie dokumentu do programu księgowego\",\n \"rus\": \"Предотвращает отправку документа в бухгалтерию по инициативе подателя или автоматики\",\n \"lit\": \"Užkerta kelią išlaidų išsiuntimui į apskaitą pagal teikėją arba automatizuotai\",\n \"est\": \"Takistab kulude edastamist raamatupidamistarkvarasse dokumendi esitaja või automatsiooni poolt\",\n \"fin\": \"Estää kulujen lähettämisen kirjanpitoon lähettäjän tai automaation kautta\"\n },\n \"sendingDuplicate\": {\n \"eng\": \"Confirm sending duplicate document(s)\",\n \"lav\": \"Vai iesūtīt dokumentu, kas marķēts kā dublikāts?\",\n \"rus\": \"Подтвердите отправку дубликата\",\n \"pol\": \"Potwierdź przesłanie duplikatu\",\n \"est\": \"Kas oled kindel, et soovid topelt dokumenti edastada?\",\n \"lit\": \"Patvirtinti dublikato siuntimą\",\n \"fin\": \"Vahvista asiakirjan kaksoiskappaleen lähettäminen\"\n },\n \"generalSettings\": {\n \"eng\": \"General settings\",\n \"lav\": \"Vispārīgie iestatījumi\",\n \"lit\": \"Bendrieji nustatymai\",\n \"est\": \"Üldised seaded\",\n \"rus\": \"Общие настройки\",\n \"pol\": \"Ustawienia ogólne\",\n \"fin\": \"Yleiset asetukset\"\n },\n \"default\": {\n \"eng\": \"Default\",\n \"lav\": \"Noklusējuma\",\n \"lit\": \"Numatytas\",\n \"est\": \"Vaikimisi\",\n \"rus\": \"По умолчанию\",\n \"pol\": \"Domyślny\",\n \"fin\": \"Oletus\"\n },\n \"setUpAutomatedWorkflow\": {\n \"eng\": \"Set up automated workflow\",\n \"lav\": \"Automātiskais lēmums\",\n \"lit\": \"Nustatyti automatizuotą eigą\",\n \"est\": \"Seadista automatiseeritud töövoog\",\n \"rus\": \"Настройте автоматизированный сценарий\",\n \"pol\": \"Ustaw automatyczny przepływ pracy\",\n \"fin\": \"Määritä automaattinen työnkulku\"\n },\n \"from\": {\n \"eng\": \"From\",\n \"lav\": \"No\",\n \"lit\": \"Nuo\",\n \"est\": \"Alates\",\n \"rus\": \"От\",\n \"pol\": \"Od\",\n \"fin\": \"Alkaen\"\n },\n \"to\": {\n \"eng\": \"To\",\n \"lav\": \"Līdz\",\n \"lit\": \"Iki\",\n \"est\": \"Kuni\",\n \"rus\": \"До\",\n \"pol\": \"Do\",\n \"fin\": \"Saakka\"\n },\n \"needAdminRightsToConfirm\": {\n \"eng\": \"You need admin rights to confirm the integration\",\n \"lav\": \"Jums ir nepieciešamas administratora tiesības, lai apstiprinātu integrāciju\",\n \"est\": \"Liidestuse kinnitamiseks on vaja administraatori õiguseid\",\n \"rus\": \"Вам необходимы права администратора для подтверждения интеграции\",\n \"pol\": \"Aby potwierdzić integrację, potrzebujesz uprawnień administratora\",\n \"lit\": \"Administratoriaus teisės privalomos norint patvirtinti integraciją\",\n \"fin\": \"Tarvitset järjestelmänvalvojan oikeudet integroinnin vahvistamiseen\"\n },\n \"horizonInvoiceDocType\": {\n \"eng\": \"Invoice document type\",\n \"rus\": \"Тип документа счета\",\n \"lav\": \"Rēķina dokumenta veids\",\n \"est\": \"Arve dokumendi tüüp\",\n \"lit\": \"Sąskaitų tipai\",\n \"pol\": \"Rodzaj dokumentu faktury\",\n \"fin\": \"Laskutositteen tyyppi\"\n },\n \"horizonSelectDocType\": {\n \"eng\": \"Select invoice document type\",\n \"pol\": \"Wybierz typ dokumentu faktury\",\n \"rus\": \"Выберите тип документа счета\",\n \"lav\": \"Izvēlieties rēķina dokumenta veidu\",\n \"est\": \"Vali arve dokumendi tüüp\",\n \"lit\": \"Parinkite sąskaitų tipus\",\n \"fin\": \"Valitse laskutositteen tyyppi\"\n },\n \"pleaseCheckData\": {\n \"eng\": \"Something went wrong. Please check inserted data.\",\n \"lav\": \"Pieprasījums neizdevās. Lūdzu, pārbaudiet ievadīto datu pareizību!\",\n \"pol\": \"Coś poszło nie tak. Sprawdź wprowadzone dane.\",\n \"rus\": \"Что-то пошло не так. Пожалуйста, проверьте введенные данные.\",\n \"est\": \"Midagi läks valesti. Palun kontrolli sisestatud andmeid.\",\n \"lit\": \"Kažkas nepavyko. Patikrinkite įvestus duomenis.\",\n \"fin\": \"Jotain meni pieleen. Tarkista lisätyt tiedot.\"\n },\n \"creditCardReports\": {\n \"eng\": \"Credit card reports\",\n \"lav\": \"Kredītkartes maksājumu atskaites\",\n \"pol\": \"Raporty z kart kredytowych\",\n \"rus\": \"Отчеты по кредитным картам\",\n \"est\": \"Krediitkaardi aruanne\",\n \"lit\": \"Kreditinės kortelės ataskaitos\",\n \"fin\": \"Korttitapahtumien täsmäyttäminen\"\n },\n \"profile\": {\n \"eng\": \"Profile\",\n \"lav\": \"Profils\",\n \"rus\": \"Профиль\",\n \"est\": \"Profiil\",\n \"pol\": \"Profil\",\n \"lit\": \"Profilis\",\n \"fin\": \"Profiili\"\n },\n \"company\": {\n \"eng\": \"Company\",\n \"lav\": \"Uzņēmums\",\n \"rus\": \"Компания\",\n \"est\": \"Ettevõte\",\n \"pol\": \"Firma\",\n \"lit\": \"Kompanija\",\n \"fin\": \"Yritys\"\n },\n \"billingInfo\": {\n \"eng\": \"Billing\",\n \"lav\": \"Maksājumi\",\n \"rus\": \"Оплата\",\n \"pol\": \"Płatności\",\n \"est\": \"Arveldamine\",\n \"lit\": \"Mokėjimai\",\n \"fin\": \"Laskutus\"\n },\n \"accountingSoftware\": {\n \"eng\": \"Accounting software integration\",\n \"lav\": \"Grāmatvedības sistēmas integrācija\",\n \"rus\": \"Бухгалтерское программное обеспечение\",\n \"est\": \"Raamatupidamistarkvara\",\n \"pol\": \"Oprogramowanie księgowe\",\n \"lit\": \"Apskaitos programos integracija\",\n \"fin\": \"Kirjanpito-ohjelmistojen integrointi\"\n },\n \"accountingConfig\": {\n \"eng\": \"Accounting configuration\",\n \"lav\": \"Grāmatvedības iestatījumi\",\n \"rus\": \"Бухгалтерская конфигурация\",\n \"est\": \"Raamatupidamise seadistamine\",\n \"pol\": \"Ustawienia księgowości\",\n \"lit\": \"Apskaitos nustatymai\",\n \"fin\": \"Kirjanpitoasetukset\"\n },\n \"integrationsAndServices\": {\n \"eng\": \"Other services\",\n \"lav\": \"Citi pakalpojumi\",\n \"rus\": \"Прочие услуги\",\n \"pol\": \"Pozostałe usługi\",\n \"est\": \"Muud teenused\",\n \"lit\": \"Kitos paslaugos\",\n \"fin\": \"Muut palvelut\"\n },\n \"digitisationPlan\": {\n \"eng\": \"Digitisation plan\",\n \"lav\": \"Pakalpojumu plāns\",\n \"rus\": \"План оцифровки\",\n \"pol\": \"Plan cenowy\",\n \"est\": \"Digiteerimise plaan\",\n \"lit\": \"Skaitmeninimo planas\",\n \"fin\": \"Digitalisoinnin suunnitelma\"\n },\n \"billedCompany\": {\n \"eng\": \"Billed company\",\n \"lav\": \"Rēķina saņēmējs\",\n \"rus\": \"Компания, которая будет оплачивать услугу CostPocket\",\n \"pol\": \"Firma, na którą zostanie wystawiona faktura za usługę\",\n \"est\": \"Arve saaja\",\n \"lit\": \"Kompanija, kuriai išrašoma sąskaita\",\n \"fin\": \"Laskutettu yritys\"\n },\n \"addEmail\": {\n \"eng\": \"Add email\",\n \"lav\": \"Pievienot epastu\",\n \"rus\": \"Добавить электронную почту\",\n \"est\": \"Lisa e-mail\",\n \"pol\": \"Dodaj e-mail\",\n \"lit\": \"Pridėti el. paštą\",\n \"fin\": \"Lisää sähköposti\"\n },\n \"dataSentToAccounting\": {\n \"eng\": \"Data sent to accounting\",\n \"lav\": \"Grāmatvedības datu iestatījumi\",\n \"rus\": \"Данные, отправляемые в бухгалтерию\",\n \"est\": \"Andmed saadatud raamatupidamisse\",\n \"pol\": \"Dane przesłane do księgowości\",\n \"lit\": \"Duomenys siunčiami į apskaitą\",\n \"fin\": \"Tiedot lähetetään kirjanpitoon\"\n },\n \"configureInput\": {\n \"eng\": \"Document submission steps\",\n \"lav\": \"Iesniedzējam vaicātie dati\",\n \"rus\": \"Настройте параметры ввода подающего лица\",\n \"est\": \"Dokumendi esitamise sammud\",\n \"pol\": \"Skonfiguruj dane wymagane od przesyłającego dokument\",\n \"lit\": \"Konfigūruoti išlaidų pateikimo žingsnius\",\n \"fin\": \"Asiakirjan toimittamisen vaiheet\"\n },\n \"turnOffToClaimVAT\": {\n \"eng\": \"Turn off to claim foreign VAT back\",\n \"lav\": \"Izslēdziet, ja nevēlaties ārzemju PVN atmaksu\",\n \"rus\": \"Выключить для возврата иностранного НДС\",\n \"est\": \"Lülita välja, et saada välismaa KM tagastust.\",\n \"pol\": \"Wyłącz, aby ubiegać się o zwrot zagranicznego podatku VAT\",\n \"lit\": \"Išjungti norint susigrąžinti užsienyje sumokėtą PVM\",\n \"fin\": \"Poista käytöstä, jos haluat hakea ulkomaisen arvonlisäveron takaisin\"\n },\n \"sendUserToSoftware\": {\n \"eng\": \"Send submitter name to software\",\n \"lav\": \"Sūtīt iesniedzēja vārdu\",\n \"rus\": \"Отправка имени подателя в бухгалтерскую программу\",\n \"est\": \"Saada dokumendi sisestaja nimi raamatupidamistarkvarasse\",\n \"pol\": \"Wysyłaj nazwę użytkownika do oprogramowania\",\n \"lit\": \"Siųsti teikėjo vardą į sistemą\",\n \"fin\": \"Lähetä lähettäjän nimi ohjelmistoon\"\n },\n \"sendUserNameDescr\": {\n \"eng\": \"Turn off if submitter data is not needed, e.g. accountant submits the documents\",\n \"lav\": \"Izslēdziet, ja iesniedzēja datus nav nepieciešams sūtīt uz grāmatvedības programmatūru, piemēram, ja dokumentus iesniedz grāmatvedis\",\n \"rus\": \"Выключите, если данные отправителя не нужны, например, если бухгалтер подает документы\",\n \"est\": \"Lülita välja, kui dokumendi sisestaja andmed ei ole vajalikud näiteks: raamatupidaja sisestab kuludokumente\",\n \"pol\": \"Wyłącz, jeśli dane przesyłającego nie są potrzebne, np. kiedy księgowy składa dokumenty\",\n \"lit\": \"Išjunkite, jei pateikėjo duomenys nėra svarbūs, pvz. apskaitininkas pateikia dokumentus\",\n \"fin\": \"Kytke pois päältä, jos lähettäjän tietoja ei tarvita. Esim. kirjanpitäjä toimittaa asiakirjat\"\n },\n \"forwardingRules\": {\n \"eng\": \"Forwarding rules\",\n \"lav\": \"Pārsūtīšanas nosacījumi\",\n \"rus\": \"Условия пересылки\",\n \"est\": \"Edastamise reeglid\",\n \"pol\": \"Zasady przesyłania\",\n \"lit\": \"Persiuntimo taisyklės\",\n \"fin\": \"Edelleenlähetyksen säännöt\"\n },\n \"singleDocsAndReports\": {\n \"eng\": \"Single documents & reports\",\n \"lav\": \"Dokumenti un atskaites\",\n \"rus\": \"Единичные документы и отчеты\",\n \"est\": \"Üksikud dokumendid ja aruanded\",\n \"pol\": \"Pojedyncze dokumenty & raporty\",\n \"lit\": \"Pavieniai dokumentai ir ataskaitos\",\n \"fin\": \"Yksittäiset asiakirjat ja raportit\"\n },\n \"mileageRateAndLimit\": {\n \"eng\": \"Mileage rate and limit\",\n \"lav\": \"Kilometrāžas likme un limits\",\n \"rus\": \"Коэффициент и лимит пробега\",\n \"pol\": \"Stawka i limit kilometrów\",\n \"est\": \"Läbisõidumäär ja limiit\",\n \"lit\": \"Kilometražo tarifas ir limitas\",\n \"fin\": \"Kilometrimäärä ja raja\"\n },\n \"skipAllInput\": {\n \"eng\": \"Skip all input\",\n \"lav\": \"Izlaist visu\",\n \"rus\": \"Пропустить все запросы\",\n \"est\": \"Jäta kõik vahele\",\n \"pol\": \"Pomiń wszystko\",\n \"lit\": \"Praleisti visas užklausas\",\n \"fin\": \"Ohita kaikki tiedot\"\n },\n \"defaultExpenseTypes\": {\n \"eng\": \"Default expense types\",\n \"lav\": \"Izmaksu veidi pēc noklusējuma\",\n \"rus\": \"Типы расходов по умолчанию\",\n \"est\": \"Vaikimisi kululiigid\",\n \"pol\": \"Domyślne typy wydatków\",\n \"lit\": \"Standartiniai išlaidų tipai\",\n \"fin\": \"Oletuskustannustyypit\"\n },\n \"exploreTutorials\": {\n \"eng\": \"Explore tutorials\",\n \"lav\": \"Kā lietot\",\n \"rus\": \"Посмотреть инструкции\",\n \"est\": \"Vaata juhendeid\",\n \"pol\": \"Przeglądaj tutoriale\",\n \"lit\": \"Naršyti instrukcijas\",\n \"fin\": \"Tutustu ohjeisiin\"\n },\n \"getHelpGiveFeedback\": {\n \"eng\": \"Get help or give feedback\",\n \"lav\": \"Saņem palīdzību vai izsaki viedokli\",\n \"rus\": \"Получить помощь или оставить отзыв\",\n \"est\": \"Saa abi või anna tagasisidet\",\n \"pol\": \"Uzyskaj pomoc lub podziel się opinią\",\n \"lit\": \"Gaukite pagalbos arba pateikite atsiliepimą\",\n \"fin\": \"Pyydä apua tai anna palautetta\"\n },\n \"writeMessage\": {\n \"eng\": \"Write us a message\",\n \"lav\": \"Raksti savu ziņu šeit\",\n \"rus\": \"Пишите сообщение здесь\",\n \"est\": \"Kirjuta meile sõnum\",\n \"pol\": \"Napisz do nas\",\n \"lit\": \"Rašykite mums\",\n \"fin\": \"Kirjoita meille viesti\"\n },\n \"sendMessage\": {\n \"eng\": \"Send message\",\n \"lav\": \"Sūtīt ziņojumu\",\n \"rus\": \"Отправить сообщение\",\n \"est\": \"Saada sõnum\",\n \"pol\": \"Wyślij wiadomość\",\n \"lit\": \"Siųsti žinutę\",\n \"fin\": \"Lähetä viesti\"\n },\n \"website\": {\n \"eng\": \"Website\",\n \"lav\": \"Tīmekļa vietne\",\n \"rus\": \"Сайт\",\n \"est\": \"Kodulehekülg\",\n \"pol\": \"Strona internetowa\",\n \"lit\": \"Interneto svetainė\",\n \"fin\": \"Verkkosivu\"\n },\n \"legal\": {\n \"eng\": \"Legal\",\n \"lav\": \"Noteikumi\",\n \"rus\": \"Правила\",\n \"est\": \"Juriidiline\",\n \"pol\": \"Informacje prawne\",\n \"lit\": \"Teisinė info\",\n \"fin\": \"Laillinen\"\n },\n \"grants\": {\n \"eng\": \"Grants\",\n \"lav\": \"Granti\",\n \"rus\": \"Гранты\",\n \"est\": \"Toetused\",\n \"pol\": \"Dotacje\",\n \"lit\": \"Subsidijos\",\n \"fin\": \"Apurahat\"\n },\n \"unspecified\": {\n \"eng\": \"Unspecified\",\n \"lav\": \"Nav norādīts\",\n \"rus\": \"Неуказанный\",\n \"est\": \"Määramata\",\n \"pol\": \"Nieokreślony\",\n \"lit\": \"Nenurodyta\",\n \"fin\": \"Määrittelemätön\"\n },\n \"claimForeignVAT\": {\n \"eng\": \"Claim foreign VAT\",\n \"lav\": \"Atgūt ārvalstu PVN\",\n \"rus\": \"Заявлять иностранный НДС\",\n \"est\": \"Taotle tagasi välisriigi käibemaks\",\n \"pol\": \"Ubiegaj się o zagraniczny podatek VAT\",\n \"lit\": \"Susigrąžinti užsienyje sumokėtą PVM\",\n \"fin\": \"Lunasta ulkomainen ALV\"\n },\n \"reportForeignVATSeparately\": {\n \"eng\": \"Report foreign VAT amount separately\",\n \"lav\": \"Deklarēt ārzemju PVN summas atsevisķi\",\n \"rus\": \"Отдельно указывать сумму иностранного НДС\",\n \"est\": \"Digiteerime välisriigi KM kuludokumentidelt\",\n \"pol\": \"Zgłaszaj zagraniczny podatek VAT oddzielnie\",\n \"lit\": \"Atskirai deklaruoti užsienio sąskaitų PVM\",\n \"fin\": \"Ilmoita ulkomaisen arvonlisäveron määrä erikseen\"\n },\n \"enableInvoiceLines\": {\n \"eng\": \"Item line digitisation\",\n \"est\": \"Luba arve ridade digiteerimine\",\n \"lav\": \"Preču rindu digitalizēšana\",\n \"rus\": \"Включить оцифровку строк счетов\",\n \"pol\": \"Włącz digitalizację wierszy faktury\",\n \"lit\": \"Įjungti eilučių skaitmeninimą PDF formato sąskaitoms\",\n \"fin\": \"Ota laskurivien digitointi käyttöön\"\n },\n \"defaultPaymentMethods\": {\n \"eng\": \"Default payment methods\",\n \"lav\": \"Noklusējuma maksājumu metodes\",\n \"rus\": \"Способы оплаты по умолчанию\",\n \"pol\": \"Domyślne metody płatności\",\n \"est\": \"Vaikimisi makse meetodid\",\n \"fin\": \"Oletusmaksutavat\"\n },\n \"insertValidAPI\": {\n \"eng\": \"Invalid API name\",\n \"lav\": \"Nepareizs API nosaukums\",\n \"est\": \"Kehtetu API nimi\",\n \"pol\": \"Nieprawidłowa nazwa API\",\n \"lit\": \"Neteisingas API pavadinimas\",\n \"fin\": \"Virheellinen API-nimi\",\n \"rus\": \"Неверное название API\"\n },\n \"passwordOrUserDoesNotMatch\": {\n \"eng\": \"Username or password does not match\",\n \"lav\": \"Nesakrīt API lietotājvārds vai parole\",\n \"est\": \"Kasutajanimi või parool ei ühti\",\n \"pol\": \"Nazwa użytkownika lub hasło nie jest poprawne\",\n \"fin\": \"Käyttäjätunnus tai salasana ei täsmää\",\n \"rus\": \"Имя пользователя или пароль не совпадает\"\n },\n \"selectMonth\": {\n \"eng\": \"Select month\",\n \"lav\": \"Mēnesis\",\n \"rus\": \"Выберите месяц\",\n \"est\": \"Vali kuu\",\n \"pol\": \"Wybierz miesiąc\",\n \"lit\": \"Pasirinkite mėnesį\",\n \"fin\": \"Valitse kuukausi\"\n },\n \"debitCardReport\": {\n \"eng\": \"Debit card report\",\n \"lav\": \"Debetkaršu pārskats\",\n \"rus\": \"Отчет по дебетовым картам\",\n \"est\": \"Deebetkaardi aruanne\",\n \"pol\": \"Raport z karty debetowej\",\n \"lit\": \"Debitinės kortelės ataskaita\",\n \"fin\": \"Pankkikorttiraportti\"\n },\n \"paymentCardReport\": {\n \"eng\": \"Payment card report\",\n \"lav\": \"Kartes maksājumu atskaite\",\n \"rus\": \"Отчет по платежным картам\",\n \"pol\": \"Raport z karty płatniczej\",\n \"lit\": \"Mokėjimo kortelės ataskaita\",\n \"est\": \"Pangakaardi aruanne\",\n \"fin\": \"Maksukorttiraportti\"\n },\n \"enableApprovalRounds\": {\n \"eng\": \"Enable approval rounds\",\n \"lav\": \"Ieslēgt izdevumu apstiprināšanu\",\n \"rus\": \"Включить процедуру согласования\",\n \"lit\": \"Įjungti tvirtinimo procesą\",\n \"pol\": \"Aktywuj zatwierdzanie wydatków\",\n \"est\": \"Aktiveeri kinnitusring\",\n \"fin\": \"Ota hyväksyntäkierrokset käyttöön\"\n },\n \"enableApprovalsWarning\": {\n \"eng\": \"Workflows were set up but the process was not enabled yet\",\n \"lav\": \"Apstiprināšanas funckija vēl nav ieslēgta, lai gan ir izveidota/-s darbību shēmas\",\n \"rus\": \"Рабочие процессы настроены, но процесс еще не включен\",\n \"lit\": \"Tvirtinimo eigos yra nustatytos, tačiau procesas dar nėra įjungtas\",\n \"pol\": \"Proces zatwierdzania został skonfigurowany, ale nie jest jeszcze aktywowany\",\n \"est\": \"Töövoog oli seadistatud, aga protsess ei olnud veel aktiveeritud\",\n \"fin\": \"Työnkulku määritelty, mutta prosessia ei ole otettu vielä käyttöön\"\n },\n \"otherOptions\": {\n \"eng\": \"Other options\",\n \"lav\": \"Citas iespējas\",\n \"rus\": \"Другие опции\",\n \"lit\": \"Kiti pasirinkimai\",\n \"est\": \"Muud võimalused\",\n \"fin\": \"Muut vaihtoehdot\",\n \"pol\": \"Inne opcje\"\n },\n \"commentAndApprove\": {\n \"eng\": \"Add comment and approve\",\n \"lav\": \"Pievienot komentāru un apstiprināt\",\n \"rus\": \"Добавить комментарий и утвердить\",\n \"lit\": \"Patvirtinti su komentaru\",\n \"est\": \"Lisa kommentaar ja kinnita\",\n \"fin\": \"Lisää kommentti ja hyväksy\",\n \"pol\": \"Dodaj komentarz i zatwierdź\"\n },\n \"horizonApiUrl\": {\n \"eng\": \"Horizon API url\",\n \"lav\": \"Horizon API saite\",\n \"rus\": \"URL-адрес Horizon API\",\n \"est\": \"Horizon API url\",\n \"fin\": \"Horizon API url\",\n \"lit\": \"Horizon API adresas\",\n \"pol\": \"Horizon API ulr\"\n },\n \"sepcifyOneOfOptions\": {\n \"eng\": \"Specify one of the options below\",\n \"lav\": \"Aizpildiet vienu no zemāk esošajiem laukiem\",\n \"fin\": \"Määritä yksi alla olevista vaihtoehdoista\",\n \"rus\": \"Укажите один из приведенных ниже вариантов\",\n \"pol\": \"Wybierz jedną z poniższych opcji\",\n \"est\": \"Määrake üks allolevatest valikutest\",\n \"lit\": \"Nurodykite vieną iš parinkčių žemiau\"\n },\n \"invalidApiUrl\": {\n \"eng\": \"Invalid API url\",\n \"lav\": \"Nepareiza API saite\",\n \"fin\": \"Virheellinen API url\",\n \"rus\": \"Недопустимый URL-адрес API\",\n \"pol\": \"Nieprawidłowy adres API\",\n \"est\": \"Kehtetu API URL\",\n \"lit\": \"Netinkamas API adresas\"\n },\n \"freeMealsWereIncluded\": {\n \"eng\": \"Food provided\",\n \"lav\": \"Apmaksātas ēdienreizes\",\n \"fin\": \"Tarjottu ruokaa\",\n \"rus\": \"Обеспечение питанием\",\n \"pol\": \"Zapewnione wyżywienie\",\n \"est\": \"Tasuta toitlustamine\",\n \"lit\": \"Maitinimas apmokėtas\"\n },\n \"setForEveryDay\": {\n \"eng\": \"Set for every day\",\n \"lav\": \"Atzīmēt visām dienām\",\n \"rus\": \"Установить на каждый день\",\n \"fin\": \"Aseta joka päivälle\",\n \"pol\": \"Ustaw na każdy dzień\",\n \"est\": \"Määrake igaks päevaks\",\n \"lit\": \"Nustatyti kiekvienai dienai\"\n },\n \"accessRequestSent\": {\n \"eng\": \"A request to join the company has been sent to company administrators. You will be notified if the administrator provides you access.\",\n \"lav\": \"Organizācijas administrācijai ir nosūtīts pieprasījums pievienoties. Apstiprinājuma gadījumā Jūs tiksiet informēts/-a.\",\n \"pol\": \"Prośba o dołączenie do firmy została wysłana do administratorów firmy. Zostaniesz powiadomiony, jeśli administrator zapewni Ci dostęp do firmy.\",\n \"est\": \"Teie liitumise soov on edastatud ettevõtte administraatorile. Kui admin on teie juurdepääsu kinnitanud, siis teile saadetakse e-mailile teavitus.\",\n \"rus\": \"Запрос на присоединение к компании был отправлен администраторам компании. Вы будете уведомлены, если администратор предоставит Вам доступ к компании.\",\n \"fin\": \"Pyyntö liittyä yritykseen on lähetetty yrityksen ylläpitäjille. Saat ilmoituksen järjestelmänvalvojan hyväksyttyä pyyntösi.\",\n \"lit\": \"Prašymas prisijungti prie įmonės išsiųstas įmonės administratoriams. Jums bus pranešta, kai administratorius suteiks jums prieigą.\"\n },\n \"emailAlreadyAdded\": {\n \"eng\": \"$email is already added\",\n \"lav\": \"$email jau ir pievienots\",\n \"pol\": \"$email został już dodany\",\n \"est\": \"$email on juba lisatud\",\n \"rus\": \"$email уже добавлен\",\n \"fin\": \"$email on jo lisätty\",\n \"lit\": \"$email jau pridėtas\"\n },\n \"newVersionWarning\": {\n \"eng\": \"A new update is available. Please reload the page to use the latest version!\",\n \"lav\": \"Ir veikts lapas atjauninājums. Lūdzam pārlādēt lapu, lai lietotu jaunāko versiju!\",\n \"pol\": \"Dostępna jest nowa aktualizacja. Załaduj ponownie stronę, aby skorzystać z najnowszej wersji!\",\n \"est\": \"Uus värskendus on saadaval. Uusima versiooni kasutamiseks laadige leht uuesti!\",\n \"rus\": \"Доступно новое обновление. Пожалуйста, перезагрузите страницу, чтобы использовать последнюю версию!\",\n \"fin\": \"Uusi päivitys on saatavilla. Lataa sivu uudelleen käyttääksesi uusinta versiota!\",\n \"lit\": \"Atnaujinimas. Perkraukite puslapį ir naudokite naujausią versiją!\"\n },\n \"pastInvoices\": {\n \"eng\": \"Past invoices\",\n \"lav\": \"Rēķinu vēsture\",\n \"pol\": \"Dotychczasowe faktury\",\n \"est\": \"Varasemad arved\",\n \"rus\": \"Прошлые счета\",\n \"fin\": \"Aiemmat laskut\",\n \"lit\": \"Ankstesnės sąskaitos\"\n },\n \"selectPaymentCard\": {\n \"eng\": \"Select payment card\",\n \"lav\": \"Maksājumu karte\",\n \"pol\": \"Wybierz kartę płatniczą\",\n \"est\": \"Valige maksekaart\",\n \"rus\": \"Выберите платежную карту\",\n \"fin\": \"Valitse maksukortti\",\n \"lit\": \"Parinkite mokėjimo kortelę\"\n },\n \"selectUserForReport\": {\n \"eng\": \"Select user\",\n \"lav\": \"Lietotājs\",\n \"pol\": \"Wybierz użytkownika\",\n \"est\": \"Valige kasutaja\",\n \"rus\": \"Выберите пользователя\",\n \"fin\": \"Valitse käyttäjä\",\n \"lit\": \"Parinkite vartotoją\"\n },\n \"doYouWantToResubmit\": {\n \"eng\": \"This document is already forwarded to accounting software. Do you want to submit it again?\",\n \"lav\": \"Šis dokuments jau ir nosūtīts uz grāmatvedības programmatūru. Vai vēlaties to iesniegt vēlreiz?\",\n \"pol\": \"Ten dokument został już przesłany do programu księgowego. Czy chcesz przesłać go ponownie?\",\n \"est\": \"See dokument on juba raamatupidamistarkvarasse edastatud. Kas soovite selle uuesti esitada?\",\n \"rus\": \"Этот документ уже отправлен в бухгалтерскую программу. Хотите отправить его еще раз?\",\n \"fin\": \"Tämä asiakirja on jo välitetty kirjanpito-ohjelmistoon. Haluatko lähettää sen uudelleen?\",\n \"lit\": \"Šis dokumentas jau perduotas į apskaitos programą. Ar norite jį pateikti dar kartą?\"\n },\n \"allowanceNotSpecified\": {\n \"eng\": \"You have not specified daily allowance. Do you still want to submit the report?\",\n \"lav\": \"Nav norādīta dienas naudas summa. Vai vēlaties iesniegt atskaiti bez tās?\",\n \"est\": \"Te ei ole täpsustanud päevarahade suurust. Kas sa soovid endiselt aruannet esitada?\",\n \"rus\": \"Вы не указали суточные. Вы все еще хотите подать отчет?\",\n \"fin\": \"Et ole määrittänyt päivärahaa. Haluatko silti lähettää raportin?\",\n \"pol\": \"Nie określiłeś dziennej diety. Czy nadal chcesz przesłać raport?\",\n \"lit\": \"Nenurodėte dienpinigių. Ar vis dar norite pateikti ataskaitą?\"\n },\n \"addFilters\": {\n \"eng\": \"Add filters\",\n \"lav\": \"Pievienot filtrus\",\n \"est\": \"Lisage filtreid\",\n \"rus\": \"Добавить фильтры\",\n \"fin\": \"Lisää suodattimia\",\n \"pol\": \"Dodaj filtry\",\n \"lit\": \"Pridėti filtrus\"\n },\n \"autoSubmitEmailedDocs\": {\n \"eng\": \"Auto-submit documents sent by email\",\n \"lav\": \"Automātiski iesniegt dokumentus no epasta\",\n \"est\": \"E-posti teel saadetud dokumentide automaatne esitamine\",\n \"rus\": \"Автоподача документов, присланных по электронной почте\",\n \"fin\": \"Lähetä sähköpostilla lähetetyt asiakirjat automaattisesti\",\n \"pol\": \"Automatyczne przesyłanie dokumentów wysyłanych e-mailem\",\n \"lit\": \"Automatiškai pateikti dokumentus atsiųstus e. paštu\"\n },\n \"autoSubmitDescription\": {\n \"eng\": \"With auto-submit off, the submitter can add data and must submit documents manually\",\n \"lav\": \"Ja automātiskā iesniegšana ir izslēgta, lietotājs var pievienot datus pirms dokumenta iesniegšanas, kā arī dokumenta iesniegšana jāveic manuāli\",\n \"est\": \"Kui automaatne esitamine on välja lülitatud, saab esitaja andmeid lisada ja CostPocketis dokumendid käsitsi esitada\",\n \"rus\": \"При выключенной автоподаче пользователь может дополнить данные и должен подать документы после их пересылки по электронной почте\",\n \"fin\": \"Kun automaattinen lähetys on pois päältä, lähettäjä voi lisätä tietoja ja asiakirjat on lähetettävä manuaalisesti\",\n \"pol\": \"Jeśli automatyczne przesyłanie jest wyłączone, osoba przesyłająca może dodawać oraz edytować dane, po czym dokumenty muszą zostać ręcznie przesłane do programu księgowego\",\n \"lit\": \"Jei automatinis pateikimas išjungtas, dokumentai pridedami ir pateikiami rankiniu būdu\"\n },\n \"paymentMethodName\": {\n \"eng\": \"Payment method name (e.g., bank name)\",\n \"lav\": \"Maksājuma metodes nosaukums (piem., bankas nosaukums)\",\n \"fin\": \"Maksutavan nimi (esim. pankin nimi)\\\"\",\n \"rus\": \"Название метода оплаты (например, название банка)\",\n \"pol\": \"Nazwa metody płatności (np. nazwa banku)\",\n \"est\": \"Makseviisi nimi (nt. panga nimi)\",\n \"lit\": \"Mokėjimo būdo pavadinimas (pvz., banko pavadinimas)\"\n },\n \"paid\": {\n \"eng\": \"Paid\",\n \"lav\": \"Apmaksāts\",\n \"rus\": \"Оплачено\",\n \"fin\": \"Maksettu\",\n \"pol\": \"Opłacone\",\n \"est\": \"Makstud\",\n \"lit\": \"Apmokėta\"\n },\n \"targetCriteria\": {\n \"eng\": \"Document selection\",\n \"lav\": \"Apstiprināmo dokumentu atlases kritēriji\",\n \"rus\": \"Критерии утверждения документов\",\n \"fin\": \"Asiakirjan hyväksymiskriteerit\",\n \"pol\": \"Kryteria zatwierdzania dokumentów\",\n \"est\": \"Dokumendi valik\",\n \"lit\": \"Dokumentų atranka\"\n },\n \"addCriteria\": {\n \"eng\": \"Add rule\",\n \"lav\": \"Pievienot kritēriju\",\n \"rus\": \"Добавить критерий\",\n \"fin\": \"Lisää kriteeri\",\n \"pol\": \"Dodaj kryteria\",\n \"est\": \"Lisa reegel\",\n \"lit\": \"Pridėti taisyklę\"\n },\n \"automationRules\": {\n \"eng\": \"Automation rules\",\n \"lav\": \"Automatizācijas nosacījumi\",\n \"rus\": \"Правила автоматизации\",\n \"fin\": \"Automaation säännöt\",\n \"pol\": \"Zasady automatyzacji\",\n \"est\": \"Automatiseerimise reeglid\",\n \"lit\": \"Automatizavimo taisyklės\"\n },\n \"account\": {\n \"eng\": \"Account\",\n \"lav\": \"Konts\",\n \"pol\": \"Konto\",\n \"fin\": \"Tili\",\n \"est\": \"Konto\",\n \"lit\": \"Sąskaita\",\n \"rus\": \"Конт\"\n },\n \"dimension\": {\n \"eng\": \"Dimension\",\n \"lav\": \"Dimensija\",\n \"pol\": \"Wymiar\",\n \"fin\": \"Ulottuvuus\",\n \"est\": \"Dimensioon\",\n \"lit\": \"Dimensija\",\n \"rus\": \"Дименсия\"\n },\n \"itemCode\": {\n \"eng\": \"Item code\",\n \"lav\": \"Artikuls\",\n \"pol\": \"Kod produktu\",\n \"fin\": \"Tuotekoodi\",\n \"est\": \"Artikkel\",\n \"lit\": \"Prekės kodas\",\n \"rus\": \"Артикул\"\n },\n \"costObjective\": {\n \"eng\": \"Cost object\",\n \"lav\": \"Objekts\",\n \"pol\": \"Obiekt kosztów\",\n \"fin\": \"Kululaji\",\n \"est\": \"Kuluobjekt\",\n \"lit\": \"Kaštų objektas\",\n \"rus\": \"Объект затрат\"\n },\n \"project\": {\n \"eng\": \"Project\",\n \"lav\": \"Projekts\",\n \"pol\": \"Projekt\",\n \"fin\": \"Projekti\",\n \"est\": \"Projekt\",\n \"lit\": \"Projektas\",\n \"rus\": \"Проект\"\n },\n \"VATCode\": {\n \"eng\": \"VAT code\",\n \"lav\": \"PVN kods\",\n \"pol\": \"Numer VAT\",\n \"fin\": \"ALV numero\",\n \"est\": \"KM kood\",\n \"lit\": \"PVM kodas\",\n \"rus\": \"Код НДС\"\n },\n \"engineCapacity\": {\n \"eng\": \"Vehicle engine capacity\",\n \"lav\": \"Transportlīdzekļa motora tilpums\",\n \"pol\": \"Pojemność silnika pojazdu\",\n \"fin\": \"Ajoneuvon moottorin kapasiteetti\",\n \"est\": \"Sõiduki mootori töömaht\",\n \"lit\": \"Variklio tūris\",\n \"rus\": \"Объем двигателя автомобиля\"\n },\n \"ownedByPerson\": {\n \"eng\": \"Personal\",\n \"lav\": \"Personīgais\",\n \"pol\": \"Osobiste\",\n \"fin\": \"Henkilökohtainen\",\n \"est\": \"Isiklik\",\n \"lit\": \"Privatus\",\n \"rus\": \"Личный\"\n },\n \"ownedByCompany\": {\n \"lav\": \"Uzņēmuma\",\n \"eng\": \"Company\",\n \"pol\": \"Firma\",\n \"fin\": \"Yritys\",\n \"est\": \"Ettevõte\",\n \"lit\": \"Kompanijos\",\n \"rus\": \"Компания\"\n },\n \"noInvoicesToDisplay\": {\n \"eng\": \"No invoices\",\n \"lav\": \"Nav rēķinu\",\n \"pol\": \"Brak dokumentów\",\n \"fin\": \"Ei laskuja\",\n \"est\": \"Arveid pole\",\n \"lit\": \"Nėra sąskaitų\",\n \"rus\": \"Нет счетов\"\n },\n \"salaryModelName\": {\n \"eng\": \"Salary model\",\n \"lav\": \"Algas modelis\",\n \"fin\": \"Palkkamalli\",\n \"lit\": \"Algos modelis\",\n \"pol\": \"Model wynagrodzeń\",\n \"est\": \"Palgamoodul\",\n \"rus\": \"Модель зарплаты\"\n },\n \"personalCodeIssuer\": {\n \"eng\": \"Personal code issuer country\",\n \"lav\": \"Personas koda izsniedzēja valsts\",\n \"lit\": \"Šalis, suteikusi asmens kodą\",\n \"fin\": \"Henkilötunnuksen myöntäjämaa\",\n \"pol\": \"Kraj, który wydał numer pesel\",\n \"est\": \"Isikukoodi väljastanud riik\",\n \"rus\": \"Страна, выдавшая персональный код\"\n },\n \"fileTooLarge\": {\n \"eng\": \"Uploaded file exceeded maximum size of $size MB\",\n \"lav\": \"Fails ir lielāks par maksimālo atļauto faila izmēru $size MB\",\n \"rus\": \"Загруженный файл превысил максимальный размер $size МБ\",\n \"lit\": \"Įkeltas failas viršijo maksimalų $size MB dydį\",\n \"fin\": \"Ladattu tiedosto ylitti enimmäiskoon $size MB\",\n \"pol\": \"Przesłany plik przekroczył maksymalny rozmiar $size MB\",\n \"est\": \"Üleslaaditud fail ületas maksimaalse suuruse $size MB\"\n },\n \"goToWebApp\": {\n \"eng\": \"Go to Web App\",\n \"lav\": \"Doties uz web lietotni\",\n \"est\": \"Minge veebirakendusse\",\n \"lit\": \"Eiti į Web programėlę\",\n \"fin\": \"Kirjaudu CostPocket sovellukseen\",\n \"rus\": \"Перейдите в веб-приложение\",\n \"pol\": \"Przejdź do aplikacji internetowej\"\n },\n \"approveDocsInApp\": {\n \"eng\": \"Pending expense documents await your approval. Take action on the Web App.\",\n \"lav\": \"Dokumenti gaida Jūsu apstiprinājumu. Apstipriniet tos web lietotnē.\",\n \"est\": \"Ootel kuludokumendid ootavad teie kinnitust. Seda toimingut saab teha veebirakenduses.\",\n \"lit\": \"Išlaidų dokumentai laukia jūsų patvirtinimo. Imkitės veiksmų Web programėlėje.\",\n \"fin\": \"Odottavat kuluasiakirjat odottavat hyväksyntääsi. Kirjaudu CostPocket sovellukseen.\",\n \"rus\": \"Документы по расходам ожидают вашего утверждения. Действуйте через веб-приложение.\",\n \"pol\": \"Oczekujące dokumenty dotyczące wydatków czekają na zatwierdzenie. Podejmij działania w aplikacji internetowej.\"\n },\n \"editLines\": {\n \"eng\": \"Edit item lines\",\n \"lav\": \"Rediģēt rindas\",\n \"fin\": \"Muokkaa rivejä\",\n \"rus\": \"Редактировать строки\",\n \"pol\": \"Edytuj wiersze\",\n \"est\": \"Muuda ridu\",\n \"lit\": \"Keisti eilutes\"\n },\n \"showSumWithVAT\": {\n \"eng\": \"Show sum with VAT included\",\n \"lav\": \"Rindas summā iekļaut PVN\",\n \"fin\": \"Näytä summa sisältäen arvonlisäveron\",\n \"rus\": \"Показать сумму с учетом НДС\",\n \"pol\": \"Pokaż sumę z VAT\",\n \"est\": \"Näita summat koos käibemaksuga\",\n \"lit\": \"Rodyti sumą su PVM'u\"\n },\n \"statement\": {\n \"eng\": \"Bank statement\",\n \"lav\": \"Konta izraksts\",\n \"pol\": \"Wyciąg bankowy\",\n \"est\": \"Panga väljavõte\",\n \"rus\": \"Банковская выписка\",\n \"fin\": \"Tiliote\",\n \"lit\": \"Banko išrašas\"\n },\n \"extRef\": {\n \"eng\": \"External reference\",\n \"lav\": \"Ārējā atsauce\",\n \"est\": \"Väline viide\",\n \"rus\": \"Внешняя ссылка\",\n \"fin\": \"Ulkoinen viite\",\n \"lit\": \"Išorinė nuoroda\",\n \"pol\": \"Odniesienie zewnętrzne\"\n },\n \"psd2SwedBankProviderInfo\": {\n \"eng\": \"Select a bank from the list. If not found, it's not supported yet. Agree to service terms, then proceed to your bank's authorisation page to grant the card transaction history access to CostPocket.\",\n \"lit\": \"Pasirinkite banką. Jei nerandate, vadinasi, jis dar nepalaikomas. Sutikite su paslaugos sąlygomis, tada pereikite į banko autorizacijos puslapį, kad suteiktumėte 'CostPocket' prieigą prie kortelės operacijų istorijos.\",\n \"fin\": \"Valitse pankki luettelosta. Jos sitä ei löydy, se ei ole vielä tuettu. Hyväksy palvelun ehdot ja siirry sitten pankkisi valtuutussivulle myöntämään korttitapahtumahistorian käyttöoikeus CostPocketiin.\",\n \"lav\": \"Izvēlieties banku no saraksta. Ja banka nav atrasta, tātad tā vēl nav pieejama pakalpojumam. Dodiet piekrišanu pakalpojuma noteikumiem, pēc tam dodieties uz bankas autorizācijas lapu, lai piešķirtu piekļuvi kartes darījumu vēsturei CostPocket.\",\n \"est\": \"Valige nimekirjast pank. Kui soovitud panka ei ole nimekirjas, ei ole see veel toetatud. Nõustuge teenuse tingimustega, seejärel suunatakse Teid oma panka, et anda CostPocketile juurdepääs kaarditehingute ajaloole.\",\n \"rus\": \"Выберите банк из списка. Если банк не найден, значит, он еще не поддерживается. Согласитесь с условиями обслуживания, затем перейдите на страницу авторизации вашего банка, чтобы предоставить CostPocket доступ к истории операций по карте.\",\n \"pol\": \"Wybierz bank z listy. Jeśli nie zostanie znaleziony, nie jest jeszcze obsługiwany. Zaakceptuj warunki usługi, a następnie przejdź do strony autoryzacji swojego banku, aby przyznać CostPocket dostęp do historii transakcji kartą.\"\n },\n \"psd2SwedBankAccountInfo\": {\n \"eng\": \"Manage connected bank accounts; their card transactions sync up to 4 times daily with CostPocket.\",\n \"lit\": \"Tvarkykite prijungtas banko sąskaitas; jų kortelių operacijos su 'CostPocket' sinchronizuojamos iki 4 kartų per dieną.\",\n \"fin\": \"Hallitse yhdistettyjä pankkitilejä; niiden korttitapahtumat synkronoidaan jopa 4 kertaa päivässä CostPocketiin.\",\n \"lav\": \"Pārvaldiet savienotos bankas kontus; to karšu darījumi tiek sinhronizēti ar CostPocket līdz 4 reizēm dienā.\",\n \"est\": \"Halda ühendatud pangakontosid; kaarditehinguid sünkroonitakse CostPocketiga kuni 4 korda päevas.\",\n \"rus\": \"Управляйте подключенными банковскими счетами; транзакции по их картам синхронизируются с CostPocket до 4 раз в день.\",\n \"pol\": \"Zarządzaj połączonymi kontami bankowymi; transakcje kartą synchronizują się do 4 razy dziennie z CostPocket.\"\n },\n \"psd2SwedBankStatementInfo\": {\n \"eng\": \"Your card transactions are imported to CostPocket from the beginning of current month. We will automatically import transactions to the statement once every 6 hours from your bank.\",\n \"lit\": \"Sinchronizuokite kortelių operacijas už tam tikrą laikotarpį. Jei laikotarpis ilgesnis nei 3 mėnesiai, reikia gauti banko sutikimą.\",\n \"fin\": \"Synkronoi korttitapahtumat tietyksi ajanjaksoksi. Yli 3 kuukauden jaksoille tarvitaan suostumus pankin kautta.\",\n \"lav\": \"Sinhronizēt karšu darījumus konkrētam periodam. Periodiem, kas ilgāki par 3 mēnešiem, ir nepieciešama piekrišana, ko sniedz jūsu banka.\",\n \"est\": \"Teie kaarditehingud imporditakse CostPocketisse jooksva kuu algusest. Uued tehingud imporditakse iga 6 tunni järel.\",\n \"rus\": \"Синхронизируйте операции по карте за определенный период. Для периодов более 3 месяцев необходимо согласие вашего банка.\",\n \"pol\": \"Transakcje kartą są importowane do CostPocket od początku bieżącego miesiąca. Transakcje będą automatycznie importowane z banku do wyciągu raz na 6 godzin.\"\n },\n \"validAgreements\": {\n \"eng\": \"Valid agreements\",\n \"lit\": \"Galiojantys susitarimai\",\n \"fin\": \"Voimassa olevat sopimukset\",\n \"lav\": \"Derīgās vienošanās\",\n \"est\": \"Kehtivad lepingud\",\n \"rus\": \"Действительные соглашения\",\n \"pol\": \"Aktualne porozumienia\"\n },\n \"consentValidUntil\": {\n \"eng\": \"Consent valid until\",\n \"lit\": \"Sutikimas galioja iki\",\n \"fin\": \"Suostumus voimassa\",\n \"lav\": \"Piekrišana derīga līdz\",\n \"est\": \"Nõusolek kehtib kuni\",\n \"rus\": \"Согласие действительно до\",\n \"pol\": \"Zgoda ważna do\"\n },\n \"revokeConsent\": {\n \"eng\": \"Revoke consent\",\n \"lit\": \"Atšaukti sutikimą\",\n \"fin\": \"Peruuta suostumus\",\n \"lav\": \"Atcelt piekrišanu\",\n \"est\": \"Nõusoleku tühistamine\",\n \"rus\": \"Отозвать согласие\",\n \"pol\": \"Cofnij zgodę\"\n },\n \"agree\": {\n \"eng\": \"Agree\",\n \"lit\": \"Sutikti\",\n \"fin\": \"Hyväksy\",\n \"lav\": \"Piekrist\",\n \"est\": \"Kinnita\",\n \"rus\": \"Согласиться\",\n \"pol\": \"Zgadzam się\"\n },\n \"startDate\": {\n \"eng\": \"Start date\",\n \"lit\": \"Pradžios data\",\n \"fin\": \"Aloituspäivä\",\n \"lav\": \"Sākuma datums\",\n \"est\": \"Alguskuupäev\",\n \"rus\": \"Начальная дата\",\n \"pol\": \"Data rozpoczęcia\"\n },\n \"endDate\": {\n \"eng\": \"End date\",\n \"lit\": \"Galutinė data\",\n \"fin\": \"Loppupäivä\",\n \"lav\": \"Beigu datums\",\n \"est\": \"Lõppkuupäev\",\n \"rus\": \"Конечная дата\",\n \"pol\": \"Data końcowa\"\n },\n \"syncAccount\": {\n \"eng\": \"Import transactions\",\n \"lit\": \"Sinchronizuoti sąskaitą\",\n \"fin\": \"Synkronoi tili\",\n \"lav\": \"Sinhronizēt kontu\",\n \"est\": \"Tehingute importimine\",\n \"rus\": \"Синхронизировать банковский счет\",\n \"pol\": \"Zsynchronizuj konto\"\n },\n \"waitingForStatementToBeReady\": {\n \"eng\": \"Waiting for the account statement from the bank...\",\n \"fin\": \"Odotamme tiliotetta pankista...\",\n \"lit\": \"Laukiame sąskaitos išrašo iš banko...\",\n \"lav\": \"Gaida konta izrakstu no bankas...\",\n \"est\": \"Ootame pangast konto väljavõtet...\",\n \"rus\": \"В ожидании выписки по счету из банка...\",\n \"pol\": \"Czekam na wyciąg z konta z banku...\"\n },\n \"importedStatementSuccess\": {\n \"eng\": \"Successfully imported statement with $transactionCount transaction(s)\",\n \"lit\": \"Sėkmingai importuotas išrašas su $transactionCount sandoriu (-iais)\",\n \"fin\": \"Onnistuneesti tuotu tiliote, jossa on $transactionCount -tapahtuma(t).\",\n \"lav\": \"Veiksmīgi importēts izraksts ar $transactionCount darījumu(-u) skaitu\",\n \"est\": \"$transactionCount tehingu(te)ga väljavõte edukalt imporditud\",\n \"rus\": \"Успешно импортирована выписка с $transactionCount транзакцией(ями).\",\n \"pol\": \"Pomyślnie zaimportowano wyciąg z transakcjami $transactionCount\"\n },\n \"maxStatementPeriod\": {\n \"eng\": \"Max statement period is 730 days\",\n \"lit\": \"Maksimali išrašo trukmė yra 730 dienų\",\n \"fin\": \"Maksimi tilikausi on 730 päivää\",\n \"lav\": \"Maksimālais pārskata periods ir 730 dienas\",\n \"pol\": \"Maksymalny okres wyciągu to 730 dni\",\n \"est\": \"Maksimaalne väljavõtteperiood on 730 päeva\",\n \"rus\": \"Максимальный период выписки - 730 дней\"\n },\n \"transactionsOverview\": {\n \"eng\": \"Card transactions\",\n \"lav\": \"Kartes darījumi\",\n \"rus\": \"Обзор операций по карте\",\n \"fin\": \"Korttitapahtumat\",\n \"lit\": \"Kortelės pervedimai\",\n \"pol\": \"Transakcje kartą\",\n \"est\": \"Kaarditehingud\"\n },\n \"accountConnected\": {\n \"eng\": \"Bank account connected. Click to manage.\",\n \"lav\": \"Savienojums ar bankas kontu izvedots. Klikšķiniet, lai pārvaldītu savienojumu.\",\n \"rus\": \"Банковский счет подключен. Нажмите для управления.\",\n \"fin\": \"Pankkitili yhdistetty. Hallitse asetuksia nappia painamalla.\",\n \"lit\": \"Banko sąskaita prijungta. Spustelėkite valdyti nustatymus\",\n \"pol\": \"Konto bankowe połączone. Kliknij, aby zarządzać.\",\n \"est\": \"Pangakonto ühendatud. Klõpsake haldamiseks.\"\n },\n \"importFromFile\": {\n \"eng\": \"Import from file\",\n \"lav\": \"Augšuplādēt no faila\",\n \"rus\": \"Импорт из файла\",\n \"fin\": \"Tuo tiedostosta\",\n \"lit\": \"Importuoti iš failo\",\n \"pol\": \"Importuj z pliku\",\n \"est\": \"Laadi üles failist\"\n },\n \"reportingInterval\": {\n \"eng\": \"Reporting interval\",\n \"lav\": \"Iesniegšanas biežums\",\n \"rus\": \"Интервал составления отчетов\",\n \"fin\": \"Raportointiväli\",\n \"lit\": \"Ataskaitų teikimo intervalas\",\n \"pol\": \"Częstotliwość raportowania\",\n \"est\": \"Aruande intervall\"\n },\n \"weekly\": {\n \"eng\": \"Weekly\",\n \"lav\": \"Reizi nedēļā\",\n \"rus\": \"Еженедельно\",\n \"fin\": \"Viikoittain\",\n \"lit\": \"Kas savaitę\",\n \"pol\": \"Tygodniowo\",\n \"est\": \"Iganädalane\"\n },\n \"monthly\": {\n \"eng\": \"Monthly\",\n \"lav\": \"Reizi mēnesī\",\n \"rus\": \"Ежемесячно\",\n \"fin\": \"Kuukausittain\",\n \"lit\": \"Kas mėnesį\",\n \"pol\": \"Miesięcznie\",\n \"est\": \"Igakuine\"\n },\n \"yearly\": {\n \"eng\": \"Yearly\",\n \"lav\": \"Reizi gadā\",\n \"rus\": \"Ежегодно\",\n \"fin\": \"Vuosittain\",\n \"lit\": \"Kas metus\",\n \"pol\": \"Rocznie\",\n \"est\": \"Aastane\"\n },\n \"connectToBank\": {\n \"eng\": \"Connect to bank\",\n \"lav\": \"Savienojums ar banku\",\n \"rus\": \"Подключиться к банку\",\n \"fin\": \"Yhdistä pankkiin\",\n \"lit\": \"Prijunkite prie banko\",\n \"pol\": \"Połącz się z bankiem\",\n \"est\": \"Ühenda pangaga\"\n },\n \"cardUnidentifiable\": {\n \"eng\": \"Unknown card\",\n \"lav\": \"Karte netika atpazīta\",\n \"rus\": \"Неизвестная карта\",\n \"fin\": \"Tuntematon kortti\",\n \"lit\": \"Neatpažinta kortelė\",\n \"pol\": \"Nieznana karta\",\n \"est\": \"Tundmatu pangakaart\"\n },\n \"withinSubmittedReport\": {\n \"eng\": \"Already reported\",\n \"lav\": \"Jau iesniegts\",\n \"rus\": \"Уже подано\",\n \"fin\": \"Raportoitu aiemmin\",\n \"lit\": \"Jau pateiktas\",\n \"pol\": \"Raport przesłany do programu księgowego\",\n \"est\": \"Aruanne saadetud raamatupidamisprogrammi\"\n },\n \"methodNotFound\": {\n \"eng\": \"Missing payment method\",\n \"lav\": \"Nav izveidota maksājumu metode\",\n \"lit\": \"Nėra mokėjimo metodo\",\n \"rus\": \"Отсутствует способ оплаты\",\n \"fin\": \"Maksutapa puuttuu\",\n \"pol\": \"Brak metody płatności\",\n \"est\": \"Makseviis puudub\"\n },\n \"multipleMethodsFound\": {\n \"eng\": \"Multiple payment methods\",\n \"lav\": \"Atbilst vairākas maksājumu metodes\",\n \"rus\": \"Многочисленные способы оплаты\",\n \"fin\": \"Useita maksutapoja\",\n \"lit\": \"Keli mokėjimo metodai\",\n \"pol\": \"Wiele metod płatności\",\n \"est\": \"Mitu makseviisi\"\n },\n \"noTransactions\": {\n \"eng\": \"No transactions\",\n \"lav\": \"Nav darījumu\",\n \"rus\": \"Нет сделок\",\n \"fin\": \"Ei suorituksia\",\n \"lit\": \"Nėra mokėjimų\",\n \"pol\": \"Brak transakcji\",\n \"est\": \"Tehingud puuduvad\"\n },\n \"disableUnsubmittedDescription\": {\n \"eng\": \"Turn off to avoid notifications every time documents are emailed to CostPocket, but not submitted to the accounting software\",\n \"est\": \"Lülita välja, kui ei soovi saada teavitust iga kord kui dokument emailiga CostPocketisse saadetakse, aga seda ei edastata raamatupidamisse\",\n \"rus\": \"Выключите, чтобы не получать сообщения каждый раз, когда документы отправляются по электронной почте в CostPocket, но не передаются в бухгалтерскую программу.\",\n \"lav\": \"Izslēdziet, ja nevēlaties saņemt paziņojumus katru reizi, kad iesūtat dokumentus CostPocket sistēmā no e-pasta un tie netiek automātiski pārsūtīti uz grāmatvedības sistēmu.\",\n \"lit\": \"Išjunkite, norėdami išvengti pranešimų apie dokumentus atsiųstus į CostPocket e-paštu, bet nepateiktus apskaitos programai.\",\n \"pol\": \"Wyłącz tę opcję, aby uniknąć powiadomień za każdym razem, gdy dokumenty zostaną przesłane drogą mailową do CostPocket, ale nie przesłane do oprogramowania księgowego\",\n \"fin\": \"Kytke pois päältä välttääksesi ilmoitukset, kun asiakirjat lähetetään sähköpostitse CostPocketille (ei välitetä automaattisesti kirjanpito-ohjelmistoon)\"\n },\n \"disableUnsubmittedNotif\": {\n \"eng\": \"Receive email notifications about pending documents\",\n \"est\": \"Teavita edastamata dokumentidest emaili teel\",\n \"lav\": \"Saņemt e-pasta paziņojumus par nepabeigtajiem dokumentiem\",\n \"rus\": \"Получайте сообщения по эл. почте о недоработанных документах\",\n \"lit\": \"Gauti pranešimus e-paštu apie nepriduotus apskaitai dokumentus\",\n \"pol\": \"Otrzymuj powiadomienia e-mail o oczekujących dokumentach\",\n \"fin\": \"Vastaanota sähköposti-ilmoituksia odottavista asiakirjoista\"\n },\n \"youHaveUnmatchedReceipts\": {\n \"eng\": \"Report contains unmatched documents\",\n \"lav\": \"Atskaite satur nepielīdzinātus dokumentus\",\n \"pol\": \"Raport zawiera niedopasowane dokumenty\",\n \"est\": \"Aruanne sisaldab sidumata dokumente\",\n \"fin\": \"Raportti sisältää täsmäämättömiä asiakirjoja\",\n \"rus\": \"Отчет содержит несопоставленные документы\",\n \"lit\": \"Ataskaitoje yra nesuderintų dokumetų\"\n },\n \"return\": {\n \"eng\": \"Return\",\n \"est\": \"Mine tagasi\",\n \"fin\": \"Palaa\",\n \"pol\": \"Wróć\",\n \"lav\": \"Atgriezties\",\n \"rus\": \"Вернуться\",\n \"lit\": \"Atgal\"\n },\n \"approvalsAndAdminConf\": {\n \"eng\": \"Services ''Require administrator confirmation'' and ''Approval rounds'' can't be used together.\",\n \"est\": \"Teenuseid ''Nõua administraatori kinnitust'' ja ''Kinnitusring'' ei saa korraga kasutada.\",\n \"fin\": \"Palveluita ''Edellytä järjestelmänvalvojan vahvistus'' ja ''Hyväksyntäkierrokset'' ei voida käyttää yhdessä.\",\n \"rus\": \"Услуги ''Требовать подтверждения администратора'' и ''Утверждение расходов'' не могут быть использованы совместно.\",\n \"lav\": \"Pakalpojumi \\\"Izdevumu apstiprināšana\\\" un \\\"Sūtīt tikai pēc administratora apstiprinājuma\\\" nevar tikt izmantoti vienlaicīgi.\",\n \"pol\": \"Usługi „Wymagaj potwierdzenia administratora” i „Zatwierdzanie wydatków” nie mogą być używane jednocześnie.\",\n \"lit\": \"Paslaugų ''Reikalauti administratoriaus patvirtinimo'' ir ''Tvirtinimo etapai'' negalima naudoti kartu.\"\n },\n \"currencyNotSupported\": {\n \"eng\": \"Unsupported or missing currency detected\",\n \"lav\": \"Nav norādīta valūta vai nav iespējama tās konvertācija\",\n \"fin\": \"Valuuttaa ei tueta tai se puuttuu\",\n \"est\": \"Tuvastati toetamata või puuduv valuuta\",\n \"rus\": \"Обнаружена неподдерживаемая или отсутствующая валюта\",\n \"pol\": \"Wykryto nieobsługiwaną lub brakującą walutę\",\n \"lit\": \"Aptikta nepalaikoma arba trūkstama valiuta\"\n },\n \"currencyRateSource\": {\n \"eng\": \"Currency exchange rates are primarily sourced from the $primarySource, with $secondarySource serving as an alternative for unsupported currencies.\",\n \"lav\": \"Primārais avots valūtas kursa noteikšanai ir $primarySource un $secondarySource kā alternatīva, ja konkrētās valūtas konvertācijas likmi nepiedāvā primārias avots.\",\n \"rus\": \"Курсы валют в основном берутся из $primarySource, а $secondarySource служит альтернативой для неподдерживаемых валют.\",\n \"lit\": \"Valiutų kursai gaunami iš $primarySource, o $secondarySource yra alternatyva nepalaikomoms valiutoms.\",\n \"fin\": \"Valuuttakurssit saadaan ensisijaisesti $primarySourcesta, ja $secondarySource toimii vaihtoehtona ei-tuetuille valuutoille.\",\n \"est\": \"Valuuta vahetuskursid pärinevad peamiselt $primarySource'st, kuid seal mitte eksisteerivate valuutade jaoks kasutame alternatiivset allikat ($secondarySource).\",\n \"pol\": \"Kursy wymiany walut pochodzą głównie z $primarySource, przy czym $secondarySource stanowi alternatywę dla nieobsługiwanych walut.\"\n },\n \"attachmentUploadWarning\": {\n \"eng\": \"Uploading attachments. Data in these documents will not be digitsed.\",\n \"lav\": \"Pielikumu augšupielāde. Dati no šiem dokumentiem netiks digitalizēti.\",\n \"fin\": \"Lataa liitteitä. Näiden asiakirjojen tietoja ei digitalisoida.\",\n \"pol\": \"Wgrywanie załączników. Dane zawarte w tych dokumentach nie będą digitalizowane.\",\n \"est\": \"Muu dokumendi üleslaadimine. Neid dokumente ei digiteerita.\",\n \"rus\": \"Загрузка приложений. Данные в этих документах не будут оцифрованы.\",\n \"lit\": \"Priedai įkeliami. Šie dokumentai nebus skaitmeninami.\"\n },\n \"unselect\": {\n \"eng\": \"Unselect\",\n \"lav\": \"Noņemt atlasi\",\n \"fin\": \"Poista valinta\",\n \"pol\": \"Odznacz\",\n \"est\": \"Tühista valik\",\n \"rus\": \"Снять выбор\",\n \"lit\": \"Atšaukti\"\n },\n \"markApplicable\": {\n \"eng\": \"Mark applicable\",\n \"lav\": \"Dokuments ir derīgs\",\n \"est\": \"Märgi kuludokumendiks\",\n \"fin\": \"Merkitse kulutositteeksi\",\n \"rus\": \"Отметить документ, как соответствующий\",\n \"lit\": \"Pažymėti taikoma\"\n },\n \"notificationSchedule\": {\n \"eng\": \"Notifications\",\n \"est\": \"Teavitused\",\n \"fin\": \"Ilmoitukset\",\n \"rus\": \"Сообщения\",\n \"lav\": \"Paziņojumi\",\n \"lit\": \"Pranešimai\",\n \"pol\": \"Powiadomienia\"\n },\n \"notificationScheduleDescr\": {\n \"eng\": \"Notify at\",\n \"est\": \"Teavita kell\",\n \"fin\": \"Ilmoita osoitteessa\",\n \"rus\": \"Сообщите в\",\n \"lav\": \"Paziņojumus sūtīt plkst.\",\n \"lit\": \"Pranešti\",\n \"pol\": \"Powiadomienie na adres\"\n },\n \"reminderIntervalDays\": {\n \"eng\": \"Reminder interval in days\",\n \"est\": \"Teavituse intervall päevades\",\n \"fin\": \"Muistutusväli päivinä\",\n \"rus\": \"Интервал напоминания в днях\",\n \"lav\": \"Atgādinājumu intervāls dienu izteiksmē\",\n \"lit\": \"Priminimų intervalas dienomis\"\n },\n \"notificationTime\": {\n \"eng\": \"Notification time\",\n \"est\": \"Teavituse kellaaeg\",\n \"fin\": \"Ilmoitusaika\",\n \"rus\": \"Время сообщения\",\n \"lav\": \"Paziņojumu laiks\",\n \"lit\": \"Pranešimų laikas\",\n \"pol\": \"Czas powiadomienia\"\n },\n \"Days\": {\n \"eng\": \"Days\",\n \"est\": \"Päeva\",\n \"pol\": \"Dni\",\n \"lav\": \"Dienas\",\n \"rus\": \"Дни\",\n \"fin\": \"Päivät\",\n \"swe\": \"Dagar\",\n \"lit\": \"Dienos\",\n \"esp\": \"Días\"\n },\n \"immediate\": {\n \"eng\": \"Immediately\",\n \"est\": \"Koheselt\",\n \"fin\": \"Välitön\",\n \"rus\": \"Немедленно\",\n \"lav\": \"Tūlītēji\",\n \"lit\": \"Iš karto\",\n \"pol\": \"Natychmiast\"\n },\n \"enableCustomSchedule\": {\n \"eng\": \"Customise the notification schedule\",\n \"est\": \"Muuda teavituste aegasid\",\n \"fin\": \"Muokkaa ilmoitusaikataulua\",\n \"rus\": \"Настройте график сообщений\",\n \"lav\": \"Personalizēt paziņojumu grafiku\",\n \"lit\": \"Keiskite pranešimų grafiką\",\n \"pol\": \"Dostosowywanie harmonogramu powiadomień\"\n },\n \"disabled\": {\n \"eng\": \"Disabled\",\n \"est\": \"Välja lülitatud\",\n \"fin\": \"Poistettu käytöstä\",\n \"rus\": \"Отключено\",\n \"lav\": \"Izslēgts\",\n \"lit\": \"Išjungta\",\n \"pol\": \"Wyłączony\"\n },\n \"deafultNotification\": {\n \"eng\": \"When off: notify once a day immediately after approval request\",\n \"est\": \"Välja lülitatuna: teavita kord päevas kohe peale kinnituse soovi\",\n \"fin\": \"Pois päältä: Ilmoita kerran päivässä heti hyväksymispyynnön jälkeen\",\n \"lav\": \"Kad izslēgts: sūta paziņojumus vienu reizi dienā uzreiz pēc apstiprinājuma pieprasījuma\",\n \"rus\": \"Когда отключено: сообщение один раз в день сразу после запроса на утверждение\",\n \"pol\": \"Gdy wyłączone: powiadamiaj raz dziennie natychmiast po zatwierdzeniu żądania.\"\n },\n \"day(s)\": {\n \"eng\": \"day(s)\",\n \"est\": \"päev(a)\",\n \"fin\": \"Päivää\",\n \"lit\": \"diena(-os)\",\n \"lav\": \"diena(s)\",\n \"rus\": \"день (дни)\",\n \"pol\": \"Dzień/dni\"\n },\n \"selectAll\": {\n \"eng\": \"Select all\",\n \"lav\": \"Atlasīt visu\",\n \"est\": \"Vali kõik\",\n \"fin\": \"Valitse kaikkki\",\n \"lit\": \"Pažymėti visus\",\n \"rus\": \"Выбрать все\",\n \"pol\": \"Wybierz wszystko\"\n },\n \"mergeEinvLines\": {\n \"eng\": \"Merge e-invoice lines by groups\",\n \"fin\": \"Yhdistä laskurivit ryhmittäin\",\n \"est\": \"Summeeri e-arve ridade summad kokku\",\n \"lit\": \"Sujungti sąskaitų faktūrų eilutes pagal grupes\",\n \"rus\": \"Объединить строки счетов по группам\",\n \"lav\": \"Apvienot rēķinu rindiņas pēc grupām\",\n \"pol\": \"Scalanie linii faktur według grup\"\n },\n \"existingEInvoicingContract\": {\n \"eng\": \"You already have an e-invoicing contract with another provider (E-Financials/E-arveldaja). Cancel it first to activate e-invoicing with CostPocket.\",\n \"fin\": \"Sinulla on jo verkkolaskutussopimus toisen palveluntarjoajan kanssa. Peruutathan sen ensin aktivoidaksesi verkkolaskutuksen CostPocketissa.\",\n \"est\": \"Teil on juba kehtiv e-arvete leping teise teenusepakkuja juures (E-arveldaja). CostPocketi e-arvete aktiveerimiseks tühistage see esmalt, võttes ühendust oma teenusepakkujaga.\",\n \"lit\": \"Jau esate sudarę e. sąskaitų išrašymo sutartį su kitu paslaugų teikėju. Pirmiausia ją nutraukite, kad galėtumėte aktyvinti išrašymą su CostPocket.\",\n \"lav\": \"Jums jau ir noslēgts e-rēķinu līgums ar citu operatoru. Atceliet to, pirms aktivizējat pakalpojumu CostPocket.\",\n \"rus\": \"У вас уже есть договор об электронном выставлении счетов с другим оператором. Сначала откажитесь от него, чтобы активировать электронное выставление счетов в CostPocket.\",\n \"pol\": \"Masz już umowę na e-fakturowanie z innym dostawcą. Anuluj ją najpierw, aby aktywować e-fakturowanie w CostPocket.\"\n },\n \"clientMismatchWarning\": {\n \"eng\": \"This document may not be intended for your company, based on digitised data. Please review.\",\n \"est\": \"Vastavalt tuvastatud andmetele on võimalik, et see dokument ei väljastatud teie ettevõttele.\",\n \"fin\": \"Digitoidun tiedon perusteella asiakirjaa ei välttämättä ole tarkoitettu yrityksellesi. Tarkistathan asiakirjan.\",\n \"lit\": \"Pagal suskaitmenintus duomenis, šis dokumentas gali būti skirtas ne jūsų įmonei. Prašome peržiūrėti.\",\n \"lav\": \"Pamatojoties uz digitalizētajiem datiem, šis dokuments, iespējams, nav paredzēts Jūsu uzņēmumam. Lūdzu, pārskatiet.\",\n \"rus\": \"На основании оцифрованных данных этот документ может не относиться к вашей компании. Пожалуйста, проверьте.\",\n \"pol\": \"Ten dokument może nie być przeznaczony dla Twojej firmy, w oparciu o dane cyfrowe Prosimy o zapoznanie się.\"\n },\n \"someNeedReview\": {\n \"eng\": \"Some need review\",\n \"est\": \"Mõni vajab üle vaatamist\",\n \"fin\": \"Jotkut tarvitsevat tarkistusta\",\n \"lit\": \"Reikia peržiūrėti\",\n \"lav\": \"Nepieciešams pārskatīt rezultātus\",\n \"rus\": \"Необходимо пересмотреть результаты\",\n \"pol\": \"Niektóre wymagają przejrzenia\"\n },\n \"docIssuedBetween\": {\n \"eng\": \"Document issued\",\n \"lav\": \"Dokuments izsniegts periodā\",\n \"rus\": \"Документ, выданный в периоде\",\n \"fin\": \"Välillä myönnetty dokumentti\",\n \"est\": \"Kuludokumendi kuupäev\",\n \"lit\": \"Dokumentas išduotas\",\n \"pol\": \"Dokument wystawiony\"\n },\n \"docAddedBetween\": {\n \"eng\": \"Document added\",\n \"lav\": \"Dokuments pievienots periodā\",\n \"rus\": \"Документ, добавлен в периоде\",\n \"fin\": \"Dokumentti lisätty välillä\",\n \"est\": \"Kuludokument lisatud\",\n \"lit\": \"Dokumentas pateiktas\",\n \"pol\": \"Dokument dodany\"\n },\n \"reportAddedBetween\": {\n \"eng\": \"Report added\",\n \"lav\": \"Pārskats pievienots periodā\",\n \"rus\": \"Показать отчёты, которые были добавлены в указанный период\",\n \"fin\": \"Raportti lisätty välillä\",\n \"est\": \"Aruanne loodud\",\n \"lit\": \"Ataskaita pateikta\",\n \"pol\": \"Raport dodany\"\n },\n \"reportDatedBetween\": {\n \"eng\": \"Report dated\",\n \"lav\": \"Pārskata datums attiecas uz periodu\",\n \"rus\": \"Показать отчёты, которые датированы в указанный период\",\n \"fin\": \"Raportti päivätty välillä\",\n \"est\": \"Aruande periood\",\n \"lit\": \"Ataskaitos periodas\",\n \"pol\": \"Data raportu lub dodany raport\"\n },\n \"reportDatedOrAdded\": {\n \"eng\": \"Reporting date or report added\",\n \"lav\": \"Pārskats pievienots vai datums attiecas uz periodu\",\n \"rus\": \"Показать отчёты, созданные или добавленные в указанный период\",\n \"fin\": \"Raportti päivätty tai lisätty välillä\",\n \"est\": \"Aruanne loodud või aruande periood\",\n \"lit\": \"Ataskaitos periodas arba ataskaita pateikta\",\n \"pol\": \"Data raportu lub dodany raport\"\n },\n \"deleteXDocuments\": {\n \"eng\": \"Confirm deleting $number documents\",\n \"est\": \"Kinnita $number dokumendi kustutamine\",\n \"lav\": \"Dzēst $number dokumentus\",\n \"lit\": \"Ištrinti $number dokumentus\",\n \"fin\": \"Vahvista $number asiakirjojen poistaminen\",\n \"rus\": \"Подтвердите удаление $number документов\",\n \"pol\": \"Potwierdzenie usunięcia $number dokumentów\"\n },\n \"bank\": {\n \"eng\": \"Bank\",\n \"lav\": \"Banka\",\n \"lit\": \"Bankas\",\n \"est\": \"Pank\",\n \"fin\": \"Pankki\",\n \"rus\": \"Банк\",\n \"pol\": \"Bank\"\n },\n \"card\": {\n \"eng\": \"Card\",\n \"lav\": \"Karte\",\n \"lit\": \"Kortelė\",\n \"fin\": \"Kortti\",\n \"rus\": \"Карточка\",\n \"est\": \"Kaart\",\n \"pol\": \"Karta\"\n },\n \"yourDecisionPrepared\": {\n \"eng\": \"Your decision is inactive\",\n \"lav\": \"Jūsu lēmums nav aktīvs\",\n \"fin\": \"Päätöksesi ei ole aktiivinen\",\n \"rus\": \"Ваше решение неактивно\",\n \"est\": \"Sinu otsus ei ole aktiivne\",\n \"lit\": \"Jūsų sprendimas negalioja\",\n \"pol\": \"Twoja decyzja jest nieaktywna\"\n },\n \"decisionPrepared\": {\n \"eng\": \"decision is inactive\",\n \"lav\": \"lēmums nav aktīvs\",\n \"fin\": \"päätös ei ole aktiivinen\",\n \"rus\": \"решение неактивно\",\n \"est\": \"ei ole aktiivne\",\n \"lit\": \"sprendimas negalioja\",\n \"pol\": \"decyzja jest nieaktywna\"\n },\n \"oneFreeMeal\": {\n \"eng\": \"1 meal provided\",\n \"lav\": \"1 apmaksāta ēdienreize\",\n \"fin\": \"1 ateria tarjottu\",\n \"rus\": \"1 разовое питание\",\n \"est\": \"1 söögikorda juba tasutud\",\n \"lit\": \"Maitinimas 1 kartą\",\n \"pol\": \"1 posiłek zapewniony\"\n },\n \"twoFreeMeals\": {\n \"eng\": \"2 meals provided\",\n \"lav\": \"2 apmaksātas ēdienreizes\",\n \"fin\": \"2 ateriaa tarjottu\",\n \"rus\": \"2 разовое питание\",\n \"est\": \"2 söögikorda juba tasutud\",\n \"lit\": \"Maitinimas 2 kartus\",\n \"pol\": \"2 posiłki zapewnione\"\n },\n \"changeCostPocketEmail\": {\n \"eng\": \"Change document inbox to $address\",\n \"est\": \"Muuda e-posti aadress $address\",\n \"fin\": \"Muuta asiakirjan postilaatikko $address\",\n \"rus\": \"Изменить адрес для входящих документов на $address\",\n \"lav\": \"Mainīt e-pasta adresi uz $address\",\n \"lit\": \"Keisti dokumentų dėžutės adresą į $address\",\n \"pol\": \"Zmiana skrzynki odbiorczej dokumentu na $address\"\n },\n \"costpocketWarningMonth\": {\n \"eng\": \"Change is available only once a month.\",\n \"est\": \"Muuta saab vaid kord kuus.\",\n \"fin\": \"Vaihto on saatavilla vain kerran kuukaudessa.\",\n \"rus\": \"Изменения возможны только раз в месяц.\",\n \"lav\": \"Izmaiņas var veikt reizi mēnesī.\",\n \"lit\": \"Keitaimas galimas vieną kartą per mėnesį\",\n \"pol\": \"Zmiana jest możliwa raz w miesiącu\"\n },\n \"costpocketWarningEmail\": {\n \"eng\": \"The previous address $address remains valid.\",\n \"est\": \"Eelmine aadress $address jääb ikka kasutatavaks.\",\n \"fin\": \"Edellinen osoite $address pysyy voimassa.\",\n \"rus\": \"Предыдущий адрес $address остается в силе.\",\n \"lav\": \"Vecā adrese $address saglabājas aktīva.\",\n \"lit\": \"Ankstesnis adresas $address išlieka galiojantis\",\n \"pol\": \"Poprzedni adres $address pozostaje ważny.\"\n },\n \"costpocketEmailAddress\": {\n \"eng\": \"Document inbox for CostPocket\",\n \"est\": \"Dokumentide aadress CostPocketis\",\n \"fin\": \"Asiakirjojen postilaatikko CostPocketilla\",\n \"rus\": \"CostPocket - почтовый ящик для документов\",\n \"lav\": \"CostPocket dokumentu digitalizēšanas iesūtne\",\n \"lit\": \"Dokumentų dėžutės adresas su CostPocket\",\n \"pol\": \"Prefiks skrzynki odbiorczej dokumentu musi składać się z co najmniej 3 znaków.\"\n },\n \"costpocketErrorLength\": {\n \"eng\": \"Document inbox prefix must be at least 3 characters long.\",\n \"est\": \"Dokumentide aadress peab olema vähemalt 3 tähemärki.\",\n \"fin\": \"Asiakirjan postilaatikon osoitteen on oltava vähintään 3 merkkiä pitkä.\",\n \"rus\": \"Адрес электронной почты должен содержать не менее 3 символов.\",\n \"lav\": \"Dokumentu digitalizēšanas e-pasta adresei ir jāsastāv no vismaz 3 simboliem.\",\n \"lit\": \"Dėžutės priešdėlis turi būti iš bent trijų ženklų ilgio\",\n \"pol\": \"Prefiks skrzynki odbiorczej dokumentu musi składać się z co najmniej 3 znaków.\"\n },\n \"costpocketErrorChar\": {\n \"eng\": \"Document inbox prefix can only contain Latin alphabet letters, digits or dots.\",\n \"est\": \"Dokumentide aadress võib sisaldada ainult ladina tähemärke, numbreid või punkte.\",\n \"fin\": \"Asiakirjan postilaatikon osoite voi sisältää vain latinalaisten aakkosten kirjaimia, numeroita tai pisteitä.\",\n \"rus\": \"Адрес входящего электронного почтового ящика может содержать только буквы латинского алфавита, цифры или точки.\",\n \"lav\": \"Dokumentu digitalizēšanas e-pasta adrese drīkst saturēt vienīgi latīņu alfabēta simbolus, ciparus un punktus.\",\n \"lit\": \"Dėžutės priešdėlyje gali būti tik lotyniškos abėcėlės raidės, skaitmenys arba taškai.\",\n \"pol\": \"Prefiks skrzynki odbiorczej dokumentu może zawierać tylko litery alfabetu łacińskiego, cyfry lub kropki.\"\n },\n \"aliasMonthError\": {\n \"eng\": \"Document inbox is allowed to be updated once a month!\",\n \"est\": \"Dokumentide aadressi saab muuta vaid kord kuus!\",\n \"fin\": \"Asiakirjojen postilaatikon saa päivittää kerran kuukaudessa!\",\n \"rus\": \"Обновление электронной почты разрешено раз в месяц!\",\n \"lav\": \"Dokumentu digitalizēšanas e-pasta maiņa ir iespējama vienu reizi mēnesī.\",\n \"lit\": \"Dėžutės pavadinimą galima keisti vieną kartą per mėnesį\",\n \"pol\": \"Skrzynka odbiorcza dokumentów może być aktualizowana raz w miesiącu!\"\n },\n \"aliasUnavailableError\": {\n \"eng\": \"This document inbox name is unavailable!\",\n \"est\": \"See aadress on võetud!\",\n \"fin\": \"Tämän asiakirjan postilaatikon nimi ei ole käytettävissä!\",\n \"rus\": \"Название этого почтового ящика для документов недоступно.\",\n \"lav\": \"Šis dokumentu digitalizēšanas e-pasta vārds nav pieejams.\",\n \"lit\": \"Šis dėžutės pavadinimas negalimas\",\n \"pol\": \"Ta nazwa skrzynki odbiorczej dokumentu jest niedostępna!\"\n },\n \"noPendingApprovals\": {\n \"eng\": \"No pending approvals\",\n \"lav\": \"Nav aktīvu apstiprinājuma pieprasījumu\",\n \"fin\": \"Ei odottavia hyväksyntöjä\",\n \"rus\": \"Нет активных запросов на утверждение\",\n \"est\": \"Ootel kinnitused puuduvad\",\n \"lit\": \"Nėra laukiančių patvirtinimų\",\n \"pol\": \"Brak oczekujących zatwierdzeń\"\n },\n \"pendingApprovals\": {\n \"eng\": \"Pending approvals\",\n \"lav\": \"Dokumenti gaida apstiprinājumu\",\n \"pol\": \"Oczekujące zatwierdzenia\",\n \"fin\": \"Odottavat hyväksynnät\",\n \"rus\": \"Документы, ожидающие утверждения\",\n \"est\": \"Ootel kinnitused\",\n \"lit\": \"Laukiantys patvirtinimai\"\n },\n \"myPendingApprovals\": {\n \"eng\": \"My pending approvals\",\n \"lav\": \"Man jāapstiprina\",\n \"fin\": \"Odottavat hyväksyntäni\",\n \"rus\": \"Мне нужно утвердить\",\n \"est\": \"Minu ootel kinnitused\",\n \"lit\": \"Mano laukiantys patvirtinimai\",\n \"pol\": \"Moje oczekujące zatwierdzenia\"\n },\n \"editCostpocketAddress\": {\n \"eng\": \"Edit inbox prefix\",\n \"est\": \"Muuda CostPocketi aadressi\",\n \"lav\": \"Mainīt digitalizēšanas e-pasta nosaukumu\",\n \"rus\": \"Редактировать префикс эл-почты для оцифровки\",\n \"fin\": \"Muokkaa postilaatikon etuliitettä\",\n \"lit\": \"Redaguoti dėžutės priešdėlį\",\n \"pol\": \"Edycja prefiksu skrzynki odbiorczej\"\n },\n \"hide\": {\n \"eng\": \"Hide\",\n \"lav\": \"Paslēpt\",\n \"rus\": \"Спрятать\",\n \"est\": \"Peida\",\n \"fin\": \"Piilota\",\n \"lit\": \"Paslėpti\",\n \"pol\": \"Ukryj\"\n },\n \"datesMismatch\": {\n \"eng\": \"Document date and transaction date don't match\",\n \"est\": \"Dokumendi ja tehingu kuupäevad ei klapi\",\n \"rus\": \"Дата документа и дата транзакции не совпадают\",\n \"lav\": \"Dokumenta un darījuma datumi nesakrīt\",\n \"fin\": \"Asiakirjan päivämäärä ja tapahtumapäivä eivät täsmää\",\n \"lit\": \"Dokumento ir pavedimo datos nesutampa\",\n \"pol\": \"Data dokumentu i data transakcji nie są zgodne\"\n },\n \"dateNotInPeriod\": {\n \"eng\": \"Date is not in report period\",\n \"est\": \"Kuupäev ei ole aruande perioodis\",\n \"rus\": \"Дата не входит в отчетный период\",\n \"lav\": \"Datums ir ārpus pārskata perioda\",\n \"fin\": \"Päivämäärä ei ole raportointikaudella\",\n \"lit\": \"Data nepatenka į ataskaitos periodą\",\n \"pol\": \"Data nie mieści się w okresie raportu\"\n },\n \"sumsMismatch\": {\n \"eng\": \"Document sum and transaction sum don't match\",\n \"est\": \"Dokumendi ja tehingu summad ei klapi\",\n \"rus\": \"Сумма документа и сумма транзакции не совпадают\",\n \"lav\": \"Dokumenta un darījuma summas nesakrīt\",\n \"fin\": \"Tositesumma ja tapahtumasumma eivät täsmää\",\n \"lit\": \"Dokumento ir pavedimo sumos nesutampa\",\n \"pol\": \"Suma dokumentu i suma transakcji nie są zgodne\"\n },\n \"inviteSent\": {\n \"eng\": \"Invite sent\",\n \"est\": \"Kutse saadetud\",\n \"lav\": \"Uzaicinājums nosūtīts\",\n \"rus\": \"Приглашение отправлено\",\n \"fin\": \"Kutsu lähetetty\",\n \"lit\": \"Pakvietimas išsiųstas\",\n \"pol\": \"Zaproszenie wysłane\"\n },\n \"resendInvite\": {\n \"eng\": \"Resend invite\",\n \"est\": \"Saada kutse uuesti\",\n \"rus\": \"Повторно отправить приглашение\",\n \"lav\": \"Nosūtīt uzaicinājumu atkārtoti\",\n \"fin\": \"Lähetä kutsu uudelleen\",\n \"lit\": \"Pakartotinai išsiųsti kvietimą\",\n \"pol\": \"Wyślij zaproszenie ponownie\"\n },\n \"department\": {\n \"eng\": \"Department\",\n \"lav\": \"Departaments\",\n \"pol\": \"Department\",\n \"est\": \"Osakond\",\n \"rus\": \"Департамент\",\n \"fin\": \"Osasto\",\n \"lit\": \"Departamentas\"\n },\n \"listIsEmpty\": {\n \"eng\": \"The list is empty\",\n \"lav\": \"Saraksts ir tukšs\",\n \"est\": \"Nimekiri on tühi\",\n \"rus\": \"Список пуст\",\n \"fin\": \"Tämä lista on tyhjä\",\n \"lit\": \"Sąrašas yra tuščias\",\n \"pol\": \"Lista jest pusta\"\n },\n \"doYouWantToResubmitMany\": {\n \"eng\": \"Some documents are already forwarded to accounting software. Do you want to submit them again?\",\n \"est\": \"Mõned dokumendid on juba edastatud raamatupidamisse. Kas soovid need uuesti edastada?\",\n \"lav\": \"Daži dokumenti jau ir nosūtīti grāmatvedībai. Vai vēlaties tos nosūtīt vēlreiz?\",\n \"rus\": \"Некоторые документы уже переданы в бухгалтерскую программу. Вы хотите отправить их снова?\",\n \"fin\": \"Osa asiakirjoista on jo välitetty kirjanpito-ohjelmistoon. Haluatko lähettää ne uudelleen?\",\n \"lit\": \"Kai kurie dokumentai jau perduoti į apskaitos programą. Ar norite juos pateikti dar kartą?\",\n \"pol\": \"Niektóre dokumenty zostały już przesłane do oprogramowania księgowego. Czy chcesz przesłać je ponownie?\"\n },\n \"accountingCode\": {\n \"eng\": \"Code\",\n \"lav\": \"Kods\",\n \"est\": \"Kood\",\n \"rus\": \"Код\",\n \"fin\": \"Koodi\",\n \"lit\": \"Kodas\",\n \"pol\": \"Kod\"\n },\n \"accountingClass\": {\n \"eng\": \"Class\",\n \"lav\": \"Klase\",\n \"est\": \"Klass\",\n \"rus\": \"Класс\",\n \"fin\": \"Luokka\",\n \"lit\": \"Klasė\",\n \"pol\": \"Klasa\"\n },\n \"accountingContext\": {\n \"eng\": \"Accounting context\",\n \"lav\": \"Grāmatvedības konfigurācija\",\n \"est\": \"Raamatupidamise kontoplaan\",\n \"rus\": \"Конфигурация бухгалтерского учета\",\n \"fin\": \"Kirjanpitoasetukset\",\n \"lit\": \"Apskaitos kontekstas\",\n \"pol\": \"Kontekst księgowy\"\n },\n \"efExDocAlreadyAccounting\": {\n \"eng\": \"This document is already sent to accounting software\",\n \"est\": \"See dokument on juba saadetud raamatupidamisse\",\n \"lav\": \"Šis dokuments jau ir nosūtīts uz grāmatvedības sistēmu.\",\n \"rus\": \"Этот документ уже отправлен в бухгалтерскую программу.\",\n \"fin\": \"Tämä asiakirja on jo lähetetty kirjanpito-ohjelmistoon\",\n \"lit\": \"Šis dokumentas jau išsiųstas apskaitos programai\",\n \"pol\": \"Dokument ten jest już wysyłany do oprogramowania księgowego\"\n },\n \"agreeToReceiveEmails\": {\n \"eng\": \"Receive updates on new features and promotions via email\",\n \"lav\": \"Vēlos saņemt CostPocket jaunumus e-pastā\",\n \"est\": \"Saadame e-maili teel teavitus süsteemi uuendusest ja pakkumistest\",\n \"fin\": \"Saat sähköpostiisi päivityksiä uusista ominaisuuksista ja tarjouksista\",\n \"lit\": \"Gauti pranešimus apie naujas funkcijas ir akcijas el. paštu\",\n \"rus\": \"Получать информацию о новых функциях и рекламные сообщения по электронной почте\",\n \"pol\": \"Otrzymuj aktualizacje dotyczące nowych funkcji i promocji za pośrednictwem e-maila\"\n },\n \"digitizerComment\": {\n \"eng\": \"Comment from digitizer:\",\n \"est\": \"Kommentaar digiteerijalt:\",\n \"fin\": \"Kommentti digitoijalta:\",\n \"lav\": \"Digitalizētāja komentārs:\",\n \"lit\": \"Komentaras nuo skaitmenintojo\",\n \"rus\": \"Комментарий от оцифровщика:\",\n \"pol\": \"Komentarz od digitizer\"\n },\n \"issueDateNotInFuture\": {\n \"eng\": \"Select a date in the past or today\",\n \"est\": \"Valitud kuupäev ei tohi olla tulevikus\",\n \"lav\": \"Izvēlieties pagātnes vai šodienas datumu\",\n \"lit\": \"Pasirinkite šiandienos ar ankstesnę datą\",\n \"fin\": \"Valitse päivämäärä menneisyydestä tai tänään\",\n \"rus\": \"Выберите прошлую или сегодняшнюю дату\",\n \"pol\": \"Wybierz przeszłą lub dzisiejszą datę\"\n },\n \"addRow\": {\n \"eng\": \"Add row\",\n \"lav\": \"Pievienot rindu\",\n \"est\": \"Uus rida\",\n \"lit\": \"Pridėti eilutę\",\n \"fin\": \"Lisää rivi\",\n \"rus\": \"Добавить строку\",\n \"pol\": \"Dodaj wiersz\"\n },\n \"sepcifyOneProjectCode\": {\n \"eng\": \"Please specify only one project code\",\n \"est\": \"Palun lisage ainult üks projekti kood\",\n \"lav\": \"Lūdzu, norādiet tikai vienu projekta kodu\",\n \"lit\": \"Parinkite tik vieno projekto kodą\",\n \"fin\": \"Anna vain yksi projektikoodi\",\n \"rus\": \"Пожалуйста, укажите только один код проекта\",\n \"pol\": \"Podaj tylko jeden kod projektu\"\n },\n \"assignToReports\": {\n \"eng\": \"Documents need to be attached to the reports\",\n \"lav\": \"Dokumentus nepieciešams pievienot pārskatiem\",\n \"esp\": \"Dokumente tuleb lisada aruannetele\",\n \"lit\": \"Dokumentai privalo būti prisegti prie ataskaitų\",\n \"fin\": \"Asiakirjat on liitettävä raportteihin\",\n \"rus\": \"Эти документы должны быть добавлены к отчетам\",\n \"est\": \"Dokumendid tuleb lisada aruandesse\",\n \"pol\": \"Do raportów należy dołączyć dokumenty\"\n },\n \"overlappingTripDates\": {\n \"eng\": \"Month overlaps with another report\",\n \"est\": \"Kuu kattub teise aruandega\",\n \"lav\": \"Pārskata periods pārklājas ar cita pārskata periodu\",\n \"fin\": \"Kuukausi on päällekkäinen toisen raportin kanssa\",\n \"pol\": \"Miesiąc pokrywa się z innym raportem\",\n \"rus\": \"Месяц отчета пересекается с другим отчетом\",\n \"lit\": \"Mėnuo persidengia su kita ataskaita\"\n },\n \"confirmAllAdded\": {\n \"eng\": \"Confirm that all documents and information have been added.\",\n \"est\": \"Kinnita, et kõik dokumendid ja info on lisatud.\",\n \"rus\": \"Убедитесь, что все документы и информация добавлены.\",\n \"lav\": \"Apstiprinu, ka visi dokumenti un informācija ir pievienota.\",\n \"fin\": \"Vahvista, että kaikki asiakirjat ja tiedot on lisätty.\",\n \"pol\": \"Upewnij się, że wszystkie dokumenty i informacje zostały dodane\",\n \"lit\": \"Patvirtinkite, kad visi dokumentai ir informacija yra pridėti.\"\n },\n \"onylBusinessAccounts\": {\n \"eng\": \"Integrations are available only to business accounts\",\n \"est\": \"Liideseid saavad teha vaid juriidilised isikud\",\n \"rus\": \"Интеграции доступны только для учетных записей организаций.\",\n \"lav\": \"Integrācijas ir pieejamas tikai organizāciju tipa kontiem.\",\n \"fin\": \"Integraatiot ovat saatavilla vain yritystileille\",\n \"pol\": \"Integracje są dostępne tylko dla kont biznesowych\",\n \"lit\": \"Integracijos galimos tik verslo paskyroms\"\n },\n \"registerCompany\": {\n \"eng\": \"Register a company\",\n \"est\": \"Registreeri ettevõte\",\n \"lav\": \"Reģistrēt organizāciju\",\n \"rus\": \"Зарегистрировать организацию\",\n \"fin\": \"Rekisteröi yritys\",\n \"lit\": \"Registruoti kompaniją\"\n },\n \"itemRows\": {\n \"eng\": \"Item lines\",\n \"lav\": \"Preču rindas\",\n \"rus\": \"Линии товаров\",\n \"est\": \"Arve read\",\n \"fin\": \"Tuoterivit\",\n \"pol\": \"Linie pozycji\",\n \"lit\": \"Prekių eilutės\"\n },\n \"addFromFile\": {\n \"eng\": \"Add from file\",\n \"lav\": \"Pievienot no faila\",\n \"rus\": \"Добавить из файла\",\n \"est\": \"Lisa failist\",\n \"fin\": \"Lisää tiedostosta\",\n \"pol\": \"Dodaj z pliku\",\n \"lit\": \"Pridėti iš dokumento\"\n },\n \"enabledForFields\": {\n \"eng\": \"Enabled for\",\n \"lav\": \"Attiecināms uz\",\n \"rus\": \"Включено для\",\n \"est\": \"Kehtib\",\n \"fin\": \"Käytössä:\",\n \"pol\": \"Włączone dla\",\n \"lit\": \"Įgalinta\"\n },\n \"syncedBankAccounts\": {\n \"eng\": \"Connected bank accounts\",\n \"lav\": \"Pievienotie bankas konti\",\n \"rus\": \"Подключенные банковские счета\",\n \"est\": \"Ühendatud pangakontod\",\n \"fin\": \"Yhdistetyt pankkitilit\",\n \"pol\": \"Połączone konta bankowe\",\n \"lit\": \"Prijungtos bankų sąskaitos\"\n },\n \"approverInput\": {\n \"eng\": \"Approver input\",\n \"lav\": \"Atļauts rediģēt\",\n \"est\": \"Kinnitaja peab lisama\",\n \"fin\": \"Hyväksyjän kommentit\",\n \"rus\": \"Может редактировать\",\n \"pol\": \"Dane zatwierdzającego\",\n \"lit\": \"Tvirtintojo pastabos\"\n },\n \"approverInputDescr\": {\n \"eng\": \"Define editable accounting data for approvers without administrator rights.\",\n \"lav\": \"Nosaka, kurus grāmatvedības datus lēmuma pieņēmējs var redigēt, ja tam nav administratora tiesību.\",\n \"est\": \"Määrake väljad, mida mitte administraatorist kinnitaja saab muuta.\",\n \"fin\": \"Määritä, mitä kirjanpitotietojen hyväksyjät voivat muokata, kun heillä ei ole järjestelmänvalvojan oikeuksia.\",\n \"rus\": \"Укажите, какие учетные данные могут редактировать лица, не имеющие прав администратора.\",\n \"pol\": \"Definiowanie edytowalnych danych księgowych dla osób zatwierdzających bez uprawnień administratora\",\n \"lit\": \"Apibrėžkite redaguojamus apskaitos duomenis tvirtintojams, neturintiems administratoriaus teisių.\"\n },\n \"psd2EnableBankingProviderInfo\": {\n \"eng\": \"Connect with a bank. You must provide consent in your bank portal, which can be revoked at any time.\",\n \"fin\": \"Ota yhteyttä pankkiin. Sinun on annettava suostumus pankkiportaalissasi. Voit peruuttaa suostumuksen milloin tahansa.\",\n \"est\": \"Ühenda CostPocket oma pangaga. Selleks küsime kinnitust läbi internetipanga. Kinnituse saab iga hetk tühistada.\",\n \"rus\": \"Подключитесь к банку. Вам необходимо будет предоставить согласие на портале вашего банка. Вы можете отозвать согласие в любое время.\",\n \"lav\": \"Pieslēdzieties ar savu banku. Jums vajadzēs sniegt savu piekrišanu bankas lapā. Piekrišanu varēsiet atsaukt jebkurā laikā.\",\n \"pol\": \"Połącz się z bankiem. Wymagane będzie wyrażenie zgody w portalu bankowym. Zgodę można wycofać w dowolnym momencie.\",\n \"lit\": \"Prisijunkite prie banko. Banko portale turėsite suteikti prieigą prie sąskaitos, kurią galėsite bet kada atšaukti.\"\n },\n \"psd2EnableBankingAccountInfo\": {\n \"eng\": \"Select the accounts that you want to connect with. For the selected accounts CostPocket will automatically synchronize transactions 4 times a day.\",\n \"fin\": \"Valitse tilit, joihin haluat muodostaa yhteyden. Valituille tileille CostPocket synkronoi tapahtumat automaattisesti 4 kertaa päivässä.\",\n \"est\": \"Vali pangakontod, millele soovite ühenduse teha. CostPocket sünkroniseerib märgitud kontode kandeid 4 korda päevas.\",\n \"rus\": \"Выберите счета, с которыми вы хотите установить связь. Для выбранных счетов CostPocket будет автоматически синхронизировать транзакции 4 раза в день.\",\n \"lav\": \"Izvēlieties kontus kurus vēlaties pieslēgt. Izvēlētajiem kontiem CostPocket veiks automātisku darījumu sinhronizāciju 4 reizes dienā.\",\n \"pol\": \"Wybierz konta, z którymi chcesz się połączyć. Dla wybranych kont CostPocket będzie automatycznie synchronizować transakcje 4 razy dziennie.\",\n \"lit\": \"Pasirinkite sąskaitas prie kurių norite prisijungti. Prijungtų sąskaitų operacijas sinchronizuojame 4 kartus per dieną.\"\n },\n \"psd2EnableBankingStatementInfo\": {\n \"eng\": \"Synchronize card transaction statement from a specific period.\",\n \"est\": \"Sünkroniseeri kaarditehinguid kindlas ajavahemikuks.\",\n \"lav\": \"Sinhronizēt karšu darījumus konkrētam periodam.\",\n \"rus\": \"Синхронизируйте операции по карте за определенный период.\",\n \"fin\": \"Synkronoi korttitapahtumat tietyksi ajanjaksoksi.\",\n \"lit\": \"Sinchronizuokite kortelių operacijas už tam tikrą laikotarpį.\",\n \"pol\": \"Synchronizacja wyciągu transakcji kartą z określonego okresu.\"\n },\n \"unsupportedBySoftware\": {\n \"eng\": \"Not supported by integrated accounting software\",\n \"lav\": \"Nav pieejams integrētajā grāmatvedības sistēmā.\",\n \"fin\": \"Ei saatavilla integroidussa kirjanpitojärjestelmässä\",\n \"est\": \"Pole toetatud teie raamatupidamistarkvara poolt.\",\n \"rus\": \"Не поддерживается интегрированным бухгалтерским программным обеспечением.\",\n \"lit\": \"Nepalaikoma su integruota apskaitos sistema\"\n },\n \"downloadTemplate\": {\n \"eng\": \"Download CSV template\",\n \"lav\": \"Lejupielādēt CSV veidni\",\n \"fin\": \"Lataa CSV pohja\",\n \"est\": \"Laadi alla CSV näidis\",\n \"rus\": \"Скачать шаблон CSV\",\n \"pol\": \"Pobierz szablon CSV\",\n \"lit\": \"Parsisųskite CSV šabloną\"\n },\n \"accountingContextUpload\": {\n \"eng\": \"Fill in the accounting context template and upload all data in one file\",\n \"lav\": \"Aizpildiet CSV veidni ar grāmatvedības vienībām un augšuplādējiet datus no viena faila.\",\n \"fin\": \"Täytä kirjanpidon kontekstimalli ja lataa kaikki tiedot yhteen tiedostoon\",\n \"est\": \"Täitke raamatupidamise kontoplaani näidis ja laadige kõik andmed ühe failina üles.\",\n \"rus\": \"Заполните шаблон контекста бухгалтерского учета и загрузите все данные одним файлом.\",\n \"pol\": \"Wypełnij szablon kontekstu księgowego i prześlij wszystkie dane w jednym pliku.\",\n \"lit\": \"Užpildykite apskaitos konteksto šabloną ir įkelkite visus duomenis vienu dokumentu\"\n },\n \"syncBankAccounts\": {\n \"eng\": \"By linking your organization's bank accounts, you can sync and match transactions with expense documents using the payment card reconciliation feature\",\n \"fin\": \"Linkittämällä organisaatiosi pankkitilit voit synkronoida ja yhdistää tapahtumat kulutositteisiin maksukorttien täsmäytysominaisuuden avulla\",\n \"lav\": \"Savienojums ar organizācijas bankas kontiem ļauj veikt automatizētu bankas darījumu pielīdzināšanu izdevumu dokumentiem.\",\n \"est\": \"Ühendades ettevõtte pangakontod, saate siduda pangakanded ja kuludokumendid kasutades pangakaardi aruandeid\",\n \"rus\": \"Связав банковские счета вашей организации, вы можете синхронизировать и сопоставлять транзакции с расходными документами с помощью функции сверки платежных карт.\",\n \"pol\": \"Łącząc konta bankowe organizacji, można synchronizować i dopasowywać transakcje z dokumentami wydatków za pomocą funkcji uzgadniania kart płatniczych\"\n },\n \"enableCardReconciliation\": {\n \"eng\": \"Enable payment card reconciliation\",\n \"lav\": \"Ieslēgt karšu izrakstu saskaņošanu\",\n \"fin\": \"Ota maksukorttien täsmäytys käyttöön\",\n \"est\": \"Lülita sisse pangakaardi aruanded\",\n \"rus\": \"Включить сверку платежных карт\",\n \"pol\": \"Włącz uzgadnianie kart płatniczych\",\n \"lit\": \"Įgalinti mokėjimo kortelių sutikrinimą\"\n },\n \"addCards\": {\n \"eng\": \"Add payment card\",\n \"lav\": \"Pievienot maksājumu karti\",\n \"fin\": \"Lisää maksukortit\",\n \"est\": \"Lisa pangakaarte\",\n \"rus\": \"Добавьте платежные карты\",\n \"pol\": \"Dodaj płatności kartą\",\n \"lit\": \"Pridėti mokėjimo kortelę\"\n },\n \"addCardsDesc\": {\n \"eng\": \"To use payment card reconciliation feature, add payment card information of your organization to custom payment methods\",\n \"lav\": \"Lai lietotu maksājumu karšu izrakstu saskaņošanu, pievienojiet uzņēmuma kartes personalizētajām maksājumu metodēm \\\"Maksājumu metodes\\\" sadaļā.\",\n \"fin\": \"Jos haluat käyttää maksukorttien täsmäytysominaisuutta, lisää organisaatiosi maksukorttitiedot mukautettuihin maksutapoihin\",\n \"est\": \"Pangakaardi aruannete kasutamiseks lisage pangakaardi andmed oma ettevõtte makseviiside alla.\",\n \"rus\": \"Чтобы воспользоваться функцией сверки платежных карт, добавьте информацию о платежной карте вашей организации в раздел Персонализированные способы оплаты.\",\n \"pol\": \"Aby skorzystać z funkcji uzgadniania płatności kartą płatniczą, dodaj informacje o karcie płatniczej swojej organizacji do niestandardowych metod płatności\"\n },\n \"image\": {\n \"eng\": \"Image\",\n \"lav\": \"Attēls\",\n \"rus\": \"Изображение\",\n \"est\": \"Pilt\",\n \"fin\": \"Kuva\",\n \"pol\": \"Obraz\",\n \"lit\": \"Nuotrauka\"\n },\n \"rememberMyChoice\": {\n \"eng\": \"Remember my choice\",\n \"lav\": \"Iegaumēt manu izvēli\",\n \"rus\": \"Запомнить мой выбор\",\n \"est\": \"Mäleta valikut\",\n \"fin\": \"Muista valintani\",\n \"pol\": \"Zapamiętaj mój wybór\",\n \"lit\": \"Prisiminti pasirinkimą\"\n },\n \"more\": {\n \"eng\": \"More\",\n \"lav\": \"Vairāk\",\n \"rus\": \"Другие\",\n \"est\": \"Rohkem\",\n \"fin\": \"Lisää\",\n \"pol\": \"Więcej\",\n \"lit\": \"Daugiau\"\n },\n \"docNotFound\": {\n \"eng\": \"Document is not found\",\n \"est\": \"Dokumenti ei leitud\",\n \"pol\": \"Dokument nie został znaleziony\",\n \"lav\": \"Dokuments nav atrasts\",\n \"rus\": \"Документ не найден\",\n \"lit\": \"Dokumentas nerastas\",\n \"fin\": \"Dokumenttia ei löydy\"\n },\n \"reportNotFound\": {\n \"eng\": \"Report is not found\",\n \"est\": \"Aruannet ei leitud\",\n \"pol\": \"Raport nie został znaleziony\",\n \"rus\": \"Отчет не найден\",\n \"lav\": \"Pārskats nav atrasts\",\n \"lit\": \"Ataskaita nerasta\",\n \"fin\": \"Raporttia ei löydy\"\n },\n \"backToHome\": {\n \"eng\": \"Back to Home\",\n \"est\": \"Tagasi esilehele\",\n \"pol\": \"Powrót do strony głównej\",\n \"lav\": \"Atgriezties uz sākumu\",\n \"rus\": \"Вернуться к началу\",\n \"lit\": \"Grįžti į pradžią\",\n \"fin\": \"Takaisin etusivulle\"\n },\n \"itemLineDigiHuman\": {\n \"eng\": \"Option for PDF item line digitisation at $price per line\",\n \"lav\": \"Opcija digitalizēt preču rindas, $price par rindu\",\n \"pol\": \"Digitalizacja wierszy pozycji PDF, cena $price za wiersz\",\n \"rus\": \"Оцифровка строк PDF-счетов, $price за строку\",\n \"est\": \"Digiteerime arve read PDF arvetelt, $price rea kohta\",\n \"lit\": \"Skaitmeninti sąskaitų eilutes, $price per eilutę\",\n \"fin\": \"Digitoi PDF- dokumentin rivit, $price riviltä\"\n },\n \"itemLineDigiRobo\": {\n \"eng\": \"Digitise item lines\",\n \"lav\": \"Dokumentu preču rindu digitalizācija\",\n \"pol\": \"Digitalizacja linii\",\n \"rus\": \"Оцифровка строк счетов\",\n \"est\": \"Robot digiteerib kuludokumendi read\",\n \"lit\": \"Skaitmeninti sąskaitų eilutes\",\n \"fin\": \"Digitoi dokumentin rivit\"\n },\n \"itemLineDigiHumanPlanActive\": {\n \"eng\": \"PDF item line digitisation at $price per line\",\n \"pol\": \"Digitalizacja wierszy pozycji PDF, cena $price za wiersz\",\n \"est\": \"Digiteerime arve read PDF arvetelt, $price rea kohta\",\n \"lav\": \"Opcija digitalizēt preču rindas, $price par rindu\",\n \"rus\": \"Оцифровка строк счетов, $price за строку\",\n \"fin\": \"Digitoi PDF- dokumentin rivit, $price riviltä\",\n \"lit\": \"PDF sąskaitų eilučių skaitmeninimas už $price per eilutę\"\n },\n \"selectBank\": {\n \"eng\": \"Select a bank to connect with\",\n \"lav\": \"Izvēlies banku, ar kuru pieslēgties\",\n \"est\": \"Valige pank, millega liides luua\",\n \"pol\": \"Wybierz bank, z którym chcesz się połączyć\",\n \"rus\": \"Выберите банк для подключения\",\n \"lit\": \"Pasirinkite banką prisijungimui\",\n \"fin\": \"Valitse pankki, johon haluat muodostaa yhteyden\"\n },\n \"connect\": {\n \"eng\": \"Connect\",\n \"lav\": \"Savienot\",\n \"est\": \"Ühendage\",\n \"pol\": \"Połącz\",\n \"rus\": \"Подключить\",\n \"lit\": \"Prijungti\",\n \"fin\": \"Yhdistä\"\n },\n \"synchronize\": {\n \"eng\": \"Synchronize transactions\",\n \"lav\": \"Sinhronizēt darījumus\",\n \"est\": \"Tehingute sünkroonimine\",\n \"pol\": \"Synchronizacja transakcji\",\n \"rus\": \"Синхронизировать транзакции\",\n \"lit\": \"Sinchronizuoti\",\n \"fin\": \"Täsmäytä tapahtumat\"\n },\n \"autoaccounting\": {\n \"eng\": \"Automated posting\",\n \"lav\": \"Grāmatvedības automatizācija\",\n \"fin\": \"Automatisoitu tiliöinti\",\n \"est\": \"Automaatne kirjendamine\",\n \"lit\": \"Automatizuota apskaita\",\n \"pol\": \"Zautomatyzowana księgowość\",\n \"rus\": \"Автоматизированный бухгалтерский учет\"\n },\n \"autoaccountingDescr\": {\n \"eng\": \"Assigns accounts and dimensions to expenses by analyzing historical data submitted through CostPocket\",\n \"lav\": \"CostPocket analizē un automātiski aizpilda grāmatvedības datus, balstoties uz iepriekš iesniegto informāciju\",\n \"fin\": \"Ehdottaa dokumenteille automaattisesti kulutilejä analysoimalla aiemmmin lähetettyjä historiallisia tietoja ja kirjanpito-ohjelmiston tilikarttaa.\",\n \"est\": \"Analüüsides meie kaudu raamatupidamistarkvarasse esitatud ajaloolisi andmeid, lisame dokumentidele vajalikud raamatupidamuslikud väljas: artikli, kulukonto, kMk, dimensioonid\",\n \"lit\": \"CostPocket suskirsto jūsų išlaidas į kategorijas, pagal istorinius duomenis pateiktus apskaitai\",\n \"pol\": \"CostPocket kategoryzuje wydatki, analizując dane historyczne przesłane do oprogramowania księgowego\",\n \"rus\": \"CostPocket классифицирует ваши расходы, анализируя исторические данные, переданные в вашу бухгалтерскую программу.\"\n },\n \"notAvailableForIntegration\": {\n \"eng\": \"Currently not available with $integration integration\",\n \"lav\": \"Pagaidām nav pieejams ar integrāciju $integration\",\n \"est\": \"Hetkel pole $integration integratsiooniga saadaval\",\n \"lit\": \"Šiuo metu neveikia su $integration integracija\",\n \"pol\": \"Obecnie niedostępne z integracją $integration\",\n \"fin\": \"Ei tällä hetkellä saatavilla $integration integraatiolla\",\n \"rus\": \"На данный момент недоступно с интеграцией $integration\"\n },\n \"individualMileageRate\": {\n \"eng\": \"Custom mileage rate (€/km)\",\n \"lav\": \"Individuāla likme (€/km)\",\n \"est\": \"Kohandatud läbisõidumäär (€/km)\",\n \"fin\": \"Mukautettu kilometrimaksu (€/km)\",\n \"pol\": \"Niestandardowa stawka za kilometr (€/km)\",\n \"rus\": \"Индивидуальная ставка за пробег (€/км)\",\n \"lit\": \"Individualus kilometražo tarifas (€/km)\"\n },\n \"einvoiceReceiving\": {\n \"eng\": \"E-invoice receiving\",\n \"est\": \"E-arvete vastuvõtmine\",\n \"fin\": \"Verkkolaskujen vastaanottaminen\",\n \"rus\": \"Получение электронных счетов\",\n \"lav\": \"E-rēķinu saņemšana\",\n \"lit\": \"E-sąskaitų gavimas\",\n \"pol\": \"Odbieranie faktur elektronicznych\"\n },\n \"createCopy\": {\n \"eng\": \"Create a copy\",\n \"lav\": \"Kopēt datus\",\n \"rus\": \"Создать копию\",\n \"est\": \"Tee koopia\",\n \"fin\": \"Luo kopio\",\n \"lit\": \"Sukurti kopiją\",\n \"pol\": \"Utwórz kopię\"\n },\n \"saveAndCopy\": {\n \"eng\": \"Save and create a copy\",\n \"lav\": \"Saglabāt un kopēt datus\",\n \"rus\": \"Сохранить и создать копию\",\n \"est\": \"Salvesta ja tee koopia\",\n \"fin\": \"Tallenna ja luo kopio\",\n \"lit\": \"Išsaugoti ir sukurti kopiją\",\n \"pol\": \"Zapisz i utwórz kopię\"\n },\n \"creatingCopy\": {\n \"eng\": \"Copying data to new entry...\",\n \"lav\": \"Kopē datus uz jaunu ierakstu...\",\n \"rus\": \"Копирование данных в новую запись...\",\n \"est\": \"Kopeerin andmeid eelmisest sõidust...\",\n \"fin\": \"Kopioidaan tietoja uuteen tietueeseen...\",\n \"lit\": \"Duomnys kopijuojami į naują įrašą\",\n \"pol\": \"Kopiowanie danych do nowego wpisu...\"\n },\n \"copyCreated\": {\n \"eng\": \"Copy created\",\n \"lav\": \"Jauns ieraksts izveidots\",\n \"rus\": \"Создана новая запись\",\n \"est\": \"Koopia loodud\",\n \"fin\": \"Kopio luotu\",\n \"lit\": \"Kopija sukurta\",\n \"pol\": \"Utworzona kopia\"\n },\n \"selectToActivate\": {\n \"eng\": \"Select an option to activate\",\n \"lav\": \"Izvēlieties vienu no variantiem, lai pieslēgtu pakalpojumu\",\n \"rus\": \"Выберите опцию для активации\",\n \"lit\": \"Aktyvuokite pasirinkdami vieną iš variantų\",\n \"fin\": \"Valitse jokin vaihtoehdoista palvelun yhdistämiseksi\",\n \"est\": \"Tehke valik aktiveerimiseks\",\n \"pol\": \"Wybierz opcję do aktywacji\"\n },\n \"reportSettings\": {\n \"eng\": \"Report settings\",\n \"lav\": \"Pārskatu iestatījumi\",\n \"est\": \"Aruande seaded\",\n \"rus\": \"Настройки отчетов\",\n \"lit\": \"Ataskaitų nustatymai\",\n \"fin\": \"Raporttiasetukset\",\n \"pol\": \"Ustawienia raportu\"\n },\n \"downloadOriginal\": {\n \"eng\": \"Download original\",\n \"lav\": \"Lejupielādēt oriģinālu\",\n \"est\": \"Laadige alla originaal\",\n \"rus\": \"Скачать оригинал\",\n \"lit\": \"Parsisiųsti originalą\",\n \"fin\": \"Lataa alkuperäinen\",\n \"pol\": \"Pobierz oryginał\"\n },\n \"reportReminders\": {\n \"eng\": \"Reminders about incomplete reports\",\n \"lav\": \"Atgādinājumi par neiesniegtiem pārskatiem\",\n \"est\": \"Meeldetuletus programmi edastamata kuluaruande kohta\",\n \"rus\": \"Напоминания о неподанных отчетах\",\n \"lit\": \"Priminimai apie nepabaigtas ataskaitas\",\n \"fin\": \"Muistutukset lähettämättömistä raporteista\",\n \"pol\": \"Przypomnienia o niekompletnych raportach\"\n },\n \"otherReports\": {\n \"eng\": \"Other reports\",\n \"lav\": \"Citi pārskati\",\n \"rus\": \"Другие отчеты\",\n \"lit\": \"Kitos ataskaitos\",\n \"fin\": \"Muut raportit\",\n \"est\": \"Teised aruanded\",\n \"pol\": \"Inne raporty\"\n },\n \"oneDayAfterReturn\": {\n \"eng\": \"1 day after the return\",\n \"lav\": \"1 dienu pēc atgriešanās\",\n \"rus\": \"Через 1 день после возвращения\",\n \"lit\": \"1 diena po sugrįžimo\",\n \"fin\": \"1 päivä palautuksen jälkeen\",\n \"est\": \"1 päev peale lähetust\",\n \"pol\": \"1 dzień po zwrocie\"\n },\n \"daysAfterReturn\": {\n \"eng\": \"$number days after the return\",\n \"lav\": \"$number dienas pēc atgriešanās\",\n \"rus\": \"$number дней после возвращения\",\n \"lit\": \"$number dienų po sugrįžimo\",\n \"fin\": \"$numero päivää paluun jälkeen\",\n \"est\": \"$number päeva pärast peale lähetust\",\n \"pol\": \"$ liczba dni po zwrocie\"\n },\n \"beginningOfMonth\": {\n \"eng\": \"1 day after the month-end\",\n \"lav\": \"1 dienu pēc mēneša beigām\",\n \"est\": \"Päev enne kuu lõppu\",\n \"rus\": \"Через 1 день после окончания месяца\",\n \"lit\": \"1 diena po mėnesio pabaigos\",\n \"fin\": \"1 päivä kuukauden lopun jälkeen\",\n \"pol\": \"1 dzień po zakończeniu miesiąca\"\n },\n \"endOfMonth\": {\n \"eng\": \"5 days before the month-end\",\n \"lav\": \"5 dienas pirms mēneša beigām\",\n \"est\": \"5 päeva enne kuu lõppu\",\n \"rus\": \"За 5 дней до окончания месяца\",\n \"lit\": \"5 dienos prieš mėnesio pabaigą\",\n \"fin\": \"5 päivää ennen kuukauden loppua\",\n \"pol\": \"5 dni przed końcem miesiąca\"\n },\n \"noReminders\": {\n \"eng\": \"No reminders\",\n \"lav\": \"Izslēgt\",\n \"rus\": \"Отключить\",\n \"nor\": \"\",\n \"lit\": \"Be priminimų\",\n \"fin\": \"Ei muistutuksia\",\n \"est\": \"Ei soovi meeldetuletusi\",\n \"pol\": \"Brak przypomnień\"\n },\n \"sendDocumentsToBookkeeping\": {\n \"eng\": \"Send single documents to bookkeeping\",\n \"lav\": \"Sūtīt dokumentus uz grāmatvedības sistēmu pa vienam\",\n \"fin\": \"Lähetä yksittäiset kuludokumentit kirjanpitoon\",\n \"pol\": \"Wysyłanie pojedynczych dokumentów do księgowości\",\n \"lit\": \"Siųsti pavienius dokumentus į apskaitą\",\n \"rus\": \"Отправлять единичные документы в бухгалтерию\",\n \"est\": \"Saada dokumendid raamatupidamisse\"\n },\n \"sendCardReportsToBookkeeping\": {\n \"lav\": \"Sūtīt uz grāmatvedības sistēmu maksājumu karšu atskaites\",\n \"eng\": \"Send payment card reports to bookkeeping\",\n \"fin\": \"Lähetä yrityskorttiraportit kirjanpitoon\",\n \"pol\": \"Wysyłanie raportów kart płatniczych do działu księgowości\",\n \"lit\": \"Siųsti mokėjimo kortelės ataskaitas į apskaitą\",\n \"rus\": \"Отправляйте отчеты по платежным картам в бухгалтерию\",\n \"est\": \"Saada pangakaardi aruanded raamatupidamisse\"\n },\n \"configureVisibleColumns\": {\n \"eng\": \"Configures visible data in the table for everyone in the company\",\n \"lav\": \"Konfigurē redzamos tabulas datus visiem lietotājiem uzņēmumā\",\n \"fin\": \"Konfiguroi näkyvät taulukkotiedot kaikille yrityksen käyttäjille\",\n \"rus\": \"Настройка видимых данных в таблице для всех пользователей компании\",\n \"est\": \"Seadistab tabelis nähtavad andmed kõigi ettevõtte töötajate jaoks\",\n \"pol\": \"Konfiguruje widoczne dane w tabeli dla wszystkich w firmie\",\n \"lit\": \"Nustato duomenų stulpelius lentelėje visiems\"\n },\n \"downloadAll\": {\n \"eng\": \"Download all\",\n \"lav\": \"Lejupielādēt visus\",\n \"est\": \"Laadige kõik alla\",\n \"fin\": \"Lataa kaikki\",\n \"rus\": \"Скачать все\",\n \"pol\": \"Pobierz wszystko\",\n \"lit\": \"Parsisiųsti visus\"\n },\n \"downloadSelected\": {\n \"eng\": \"Download selected\",\n \"lav\": \"Lejupielādēt atzīmētos\",\n \"est\": \"Laadige aktiivsed alla\",\n \"fin\": \"Lataus valittu\",\n \"rus\": \"Скачать выбранные\",\n \"pol\": \"Pobierz wybrane\",\n \"lit\": \"Parsisiųsti parinktus\"\n },\n \"oneReport\": {\n \"eng\": \"Report\",\n \"lav\": \"Pārskats\",\n \"lit\": \"Ataskaita\",\n \"pol\": \"Raport\",\n \"fin\": \"Raportti\",\n \"rus\": \"Отчет\",\n \"est\": \"Aruanne\"\n },\n \"psd2SelectBank\": {\n \"eng\": \"A secure and reliable bank connection is provided by Swedbank and EnableBanking after you give your consent. You can revoke this consent at any time.\",\n \"lav\": \"Pēc Jūsu piekrišanas tiks izveidots drošs un uzticams savienojums ar Swedbank un EnableBanking. To ir iespējams atsaukt jebkurā laikā.\",\n \"rus\": \"Безопасное и надежное банковское соединение обеспечивается Swedbank и EnableBanking после вашего согласия. Вы можете отозвать это согласие в любое время.\",\n \"fin\": \"Suomalainen EnableBanking tarjoaa turvallisen ja luotettavan pankkiyhteyden suostumuksesi jälkeen. Voit peruuttaa pankkiyhteyden milloin tahansa.\",\n \"lit\": \"Saugų ir patikimą ryšį su Jūsų banku užtikrina Swedbank ir EnableBanking, davus sutikimą. Šį sutikimą galite bet kada atšaukti.\",\n \"pol\": \"Polski EnableBanking zapewnia bezpieczne i niezawodne połączenie bankowe po uzyskaniu zgody użytkownika. Połączenie bankowe można anulować w dowolnym momencie.\",\n \"est\": \"Turvalist ja usaldusväärset pangaühendust pakuvad Swedbank ja EnableBanking pärast teie nõusoleku andmist. Nõusoleku saate igal ajal tühistada.\"\n },\n \"consentRevokeWarning\": {\n \"eng\": \"Consent will be revoked for all accounts in bank $bankName\",\n \"est\": \"Nõusolek tühistatakse kõikide kontode puhul pangas $bankName.\",\n \"lit\": \"Sutikimas bus atšauktas visoms $bankName banko sąskaitoms\",\n \"rus\": \"Согласие будет отозвано для всех счетов в банке $bankName.\",\n \"lav\": \"Piekrišana tiks atsaukta visiem $bankName kontiem.\",\n \"fin\": \"Suostumus peruutetaan kaikilta pankin $bankName tileiltä\"\n },\n \"lastSync\": {\n \"eng\": \"Last synchronization'\",\n \"est\": \"Viimane sükroonimine\",\n \"lit\": \"Paskutinis sinchronizavimas\",\n \"lav\": \"Pēdējā sinhronizācija\",\n \"rus\": \"Последняя синхронизация\",\n \"fin\": \"Viimeisin synkronointi\",\n \"pol\": \"Ostatnia synchronizacja\"\n },\n \"year\": {\n \"eng\": \"Year\",\n \"lav\": \"Gads\",\n \"est\": \"Aasta\",\n \"rus\": \"Год\",\n \"fin\": \"Vuosi\",\n \"pol\": \"Rok\"\n },\n \"syncTransctions\": {\n \"eng\": \"Synchronize transactions\",\n \"pol\": \"Synchronizacja transakcji\",\n \"est\": \"Tehingute sünkroonimine\",\n \"lav\": \"Sinhronizēt darījumus\",\n \"rus\": \"Синхронизировать транзакции\",\n \"fin\": \"Täsmäytä tapahtumat\",\n \"lit\": \"Sinchronizuoti\"\n },\n \"splitByPaymentType\": {\n \"eng\": \"Auto-split reports by payment method\",\n \"fin\": \"Jaa raportit maksutavan perusteella\",\n \"pol\": \"Automatyczne dzielenie raportów według metody płatności\",\n \"est\": \"Aruannete automaatne jagamine makseviisi järgi\",\n \"lav\": \"Automātiski dalīt pārskatus pa maksājumu metodēm\",\n \"rus\": \"Автоматическая сортировка отчетов по способам оплаты\"\n },\n \"splitReportsDescr\": {\n \"eng\": \"Divides reports by reimbursable, non-reimbursable, and unspecified expenses\",\n \"pol\": \"Dzieli raporty na wydatki podlegające zwrotowi, niepodlegające zwrotowi i nieokreślone.\",\n \"fin\": \"Jakaa raportit korvattaviin, ei-korvattaviin ja määrittelemättömiin kuluihin\",\n \"est\": \"Jagab aruanded hüvitatavate, mittehüvitatavate ja täpsustamata kulude järgi\",\n \"rus\": \"Разделение отчетов на возмещаемые, невозмещаемые и неуказанные расходы\",\n \"lav\": \"Sadala pārskatus pēc atmaksājamiem, neatmaksājamiem un neprecizētiem izdevumiem.\"\n },\n \"csvDocumentList\": {\n \"eng\": \"CSV (document list only)\",\n \"lav\": \"CSV (tikai dokumentu saraksts)\",\n \"pol\": \"CSV (tylko lista dokumentów)\",\n \"est\": \"CSV (ainult dokumentide nimekiri)\",\n \"fin\": \"CSV (vain asiakirjaluettelo)\",\n \"rus\": \"CSV (только список документов)\",\n \"lit\": \"CSV (tik dokumentų sąrašas)\"\n },\n \"reportMightBeSent\": {\n \"eng\": \"The report may have already been sent to the accounting software\",\n \"lav\": \"Ņemiet vērā, ka šis pārskats, iespējams, jau ir bijis nosūtīts grāmatvedībai\",\n \"est\": \"Aruanne võib olla juba varasemalt raamatupidamisprogrammi edastatud.\",\n \"fin\": \"Raportti on ehkä jo lähetetty kirjanpito-ohjelmistoon\",\n \"rus\": \"Возможно, отчет уже был отправлен в бухгалтерскую программу\",\n \"lit\": \"Ši ataskaita jau gali būti išsiųsta į apskaitą\"\n },\n \"oooAnnouncement\": {\n \"eng\": \"Support team is not available by phone till 7 October. Send us a message by e-mail instead.\",\n \"lav\": \"Klientu atbalsta komanda nebūs sasniedzama pa tālruni līdz 7. oktobrim. Lūdzam šajā laikā saziņai izmantot e-pastu.\",\n \"est\": \"CostPocketi klienditugi ei ole telefoni teel kättesaadav kuni 7. oktoobrini. Küsimuste korral võtke meiega ühendust emaili teel ning vastame teile esimesel võimalusel.\",\n \"fin\": \"Puhelinpalvelumme on tavoitettavissa seuraavan kerran 7.10. Palvelemme normaalisti sähköpostitse.\",\n \"rus\": \"Служба поддержки недоступна по телефону до 7 октября. Напишите нам сообщение по электронной почте.\"\n },\n \"statementNonExistent\": {\n \"eng\": \"Statement not found\",\n \"lav\": \"Nav iespējams nolasīt bankas izraksta failu\",\n \"pol\": \"Nie znaleziono oświadczenia\",\n \"est\": \"Panga väljavõtet ei leitud\",\n \"fin\": \"Pankkitiliotetiedostoa ei voi lukea\",\n \"lit\": \"Išrašas nerastas\",\n \"rus\": \"Выписка не найдена\"\n },\n \"unidentifiedIssuer\": {\n \"eng\": \"Unable to identify the card issuer\",\n \"lav\": \"Nav identificējams maksājumu kartes izdevējs\",\n \"pol\": \"Nie można zidentyfikować wydawcy karty\",\n \"est\": \"Kaardi väljaandjat ei õnnestu tuvastada\",\n \"fin\": \"Kortin myöntäjää ei voida tunnistaa\",\n \"lit\": \"Nepavyko nustatyti kortelės išdavėjo\",\n \"rus\": \"Невозможно определить издателя карты\"\n },\n \"missingPaymentMethod\": {\n \"eng\": \"Payment method for this statement is missing\",\n \"lav\": \"Nav pievienota maksājumu metode\",\n \"pol\": \"Brak metody płatności dla tego wyciągu\",\n \"est\": \"Makseviis puudub selles väljavõttes\",\n \"fin\": \"Tämän tiliotteen maksutapa puuttuu\",\n \"lit\": \"Šiame išraše trūksta mokėjimo būdo\",\n \"rus\": \"Способ оплаты для этой выписки отсутствует\"\n },\n \"statementParsingFailure\": {\n \"eng\": \"Failed to read the card statement\",\n \"lav\": \"Neizdevās nolasīt bankas izraksta datus\",\n \"pol\": \"Nie udało się odczytać wyciągu z karty\",\n \"est\": \"Kaardi väljavõtte lugemine ebaõnnestus\",\n \"fin\": \"Tiliotteen lukeminen epäonnistui\",\n \"lit\": \"Nepavyko perskaityti kortelės ataskaitos\",\n \"rus\": \"Не удалось считать выписку по карте\"\n },\n \"transactionsNotFound\": {\n \"eng\": \"No transactions found in the card statement\",\n \"lav\": \"Bankas izrakstā netika atrasts neviens kartes darījums\",\n \"pol\": \"Brak transakcji na wyciągu z karty\",\n \"est\": \"Kaardi väljavõttest ei leitud tehinguid\",\n \"fin\": \"Tiliotteessa ei löytynyt korttitapahtumia\",\n \"lit\": \"Kortelės ataskaitoje operacijų nerasta\",\n \"rus\": \"В выписке по карте не обнаружено никаких операций\"\n },\n \"uploadNotAllowed\": {\n \"eng\": \"You cannot (re)upload a statement to a submitted report\",\n \"lav\": \"Nav atļauts augšupielādēt bankas izrakstu iesniegtā pārskatā\",\n \"pol\": \"Nie można (ponownie) przesłać oświadczenia do przesłanego raportu\",\n \"est\": \"Esitatud aruandele ei saa panga väljavõtet lisada\",\n \"fin\": \"Et voi (uudelleen) lähettää tiliotetta lähetettyyn raporttiin\",\n \"lit\": \"Negalite įkelti išrašo į jau pateiktą ataskaitą\",\n \"rus\": \"Невозможно повторно загрузить выписку в отправленный отчет\"\n },\n \"removalNotAllowed\": {\n \"eng\": \"You cannot delete a statement from a submitted report\",\n \"lav\": \"Nevar dzēst bankas izrakstu no iesniegta pārskata\",\n \"rus\": \"Нельзя удалить банковскую выписку из представленного отчета\",\n \"pol\": \"Nie można usunąć oświadczenia z przesłanego raportu\",\n \"est\": \"Esitatud aruandest ei saa panga väljavõtet kustutada\",\n \"fin\": \"Et voi poistaa tilioteta lähetetystä raportista\",\n \"lit\": \"Negalite ištrinti išrašo iš pateiktos ataskaitos\"\n },\n \"orderId\": {\n \"eng\": \"Order Id\",\n \"pol\": \"Id zamówienia\",\n \"rus\": \"Номер заказа\",\n \"lav\": \"Pasūtījuma numurs\",\n \"lit\": \"Užsakymo kodas\",\n \"fin\": \"Tilaustunnus\",\n \"est\": \"Tellimuse number\"\n },\n \"supplierCountry\": {\n \"eng\": \"Supplier country\",\n \"lav\": \"Piegādātāja valsts\",\n \"pol\": \"Kraj dostawcy\",\n \"rus\": \"Страна поставщика\",\n \"lit\": \"Tiekėjo šalis\",\n \"fin\": \"Toimittajan maa\",\n \"est\": \"Tarnija riik\"\n },\n \"supplierAccount\": {\n \"eng\": \"Supplier bank account\",\n \"lav\": \"Piegādātāja bankas konts\",\n \"pol\": \"Konto bankowe dostawcy\",\n \"rus\": \"Банковский счет поставщика\",\n \"lit\": \"Tiekėjo banko sąskaita\",\n \"fin\": \"Toimittajan pankkitili\",\n \"est\": \"Tarnija pangakonto\"\n },\n \"isEqual\": {\n \"lav\": \"ir vienāds ar\",\n \"eng\": \"is equal to\",\n \"pol\": \"jest równa\",\n \"rus\": \"равен\",\n \"lit\": \"yra lygus\",\n \"fin\": \"on yhtä suuri kuin\",\n \"est\": \"on võrdne\"\n },\n \"isEquivalent\": {\n \"eng\": \"is similar to\",\n \"lav\": \"līdzinās\",\n \"pol\": \"jest podobny do\",\n \"rus\": \"похож на\",\n \"lit\": \"yra panašus į\",\n \"fin\": \"on samanlainen kuin\",\n \"est\": \"on sarnane\"\n },\n \"isOneOf\": {\n \"eng\": \"is one of\",\n \"lav\": \"ir viens no\",\n \"pol\": \"jest jednym z\",\n \"rus\": \"является одним из\",\n \"lit\": \"yra vienas iš\",\n \"fin\": \"on yksi\",\n \"est\": \"on üks\"\n },\n \"afterDocsDigitized\": {\n \"eng\": \"as soon as documents are digitised\",\n \"lav\": \"tiklīdz dokumenti būs digitalizēti\",\n \"rus\": \"как только документы будут обработаны\",\n \"lit\": \"iškart po dokumentų suskaitmeninimo\",\n \"fin\": \"heti kun asiakirjat on digitoitu\",\n \"est\": \"niipea, kui dokumendid on digiteeritud\",\n \"pol\": \"jak tylko dokumenty zostaną zdigitalizowane\"\n },\n \"selfManagedRules\": {\n \"eng\": \"Self-managed rules\",\n \"lav\": \"Pašadministrētie nosacījumi\",\n \"fin\": \"Itsehallitut säännöt\",\n \"pol\": \"Zasady samodzielnego zarządzania\",\n \"rus\": \"Самоуправляемые правила\",\n \"est\": \"Manuaalselt loodud reeglid\",\n \"swe\": \"\",\n \"lit\": \"Vartotojo sukurtos taisyklės\"\n },\n \"autoGeneratedRules\": {\n \"eng\": \"Auto-generated rules\",\n \"lav\": \"Auto-ģenerētie nosacījumi\",\n \"fin\": \"Automaattisesti luodut säännöt\",\n \"pol\": \"Reguły generowane automatycznie\",\n \"rus\": \"Автоматически созданные правила\",\n \"est\": \"Automaatselt loodud reeglid\",\n \"lit\": \"Automatiškai sugeneruotos taisyklės\"\n },\n \"autoGeneratedRuleInfo\": {\n \"eng\": \"These rules can't be edited or deleted but self-managed rules can override them\",\n \"lav\": \"Šos nosacījumus nevar labot vai dzēst, bet pašadministrētie nosacījumi var tos atspēkot\",\n \"fin\": \"Näitä sääntöjä ei voi muokata tai poistaa, mutta itsehallitut säännöt voivat ohittaa ne\",\n \"pol\": \"Reguł tych nie można edytować ani usuwać, ale reguły zarządzane samodzielnie mogą je zastępować\",\n \"rus\": \"Эти правила нельзя редактировать или удалять, но самоуправляемые правила могут их отменять.\",\n \"est\": \"Reegleid ei saa muuta ega kustutada, kuid manuaalselt loodud reeglid kirjutavad automaatselt loodud reegild üle\",\n \"lit\": \"Šios taisyklės negalit būtų taisomos ar ištrintos, tačiau vartotojo sukurtos taisyklės tampa viršesnėmis\"\n },\n \"addNewRule\": {\n \"eng\": \"Add new rule\",\n \"lav\": \"Pievienot nosacījumu\",\n \"fin\": \"Lisää uusi sääntö\",\n \"pol\": \"Dodaj nową regułę\",\n \"rus\": \"Добавить новое правило\",\n \"est\": \"Lisa uus reegel\",\n \"lit\": \"Pridėti naują taisyklę\"\n },\n \"criteria\": {\n \"eng\": \"Criteria\",\n \"lav\": \"Kritēriji\",\n \"fin\": \"Kriteerit\",\n \"pol\": \"Kryteria\",\n \"rus\": \"Критерии\",\n \"est\": \"Sisend\",\n \"lit\": \"Kriterijai\"\n },\n \"valueAppliedTo\": {\n \"eng\": \"Value applied to\",\n \"lav\": \"Vērtība attiecināta uz\",\n \"fin\": \"Arvoa sovelletaan\",\n \"pol\": \"Wartość zastosowana do\",\n \"rus\": \"Значение, применяемое к\",\n \"est\": \"Rakenda järgmisi väärtusi\",\n \"lit\": \"Vertė pritaikyta\"\n },\n \"appliedValue\": {\n \"eng\": \"Applied value\",\n \"lav\": \"Piešķiramā vērtība\",\n \"fin\": \"Sovellettu arvo\",\n \"pol\": \"Zastosowana wartość\",\n \"rus\": \"Применяемое значение\",\n \"est\": \"Lisa väärtus\",\n \"lit\": \"Pritaikyta vertė\"\n },\n \"addAnother\": {\n \"eng\": \"Add another\",\n \"lav\": \"Pievienot vēl\",\n \"fin\": \"Lisää toinen\",\n \"pol\": \"Dodaj kolejny\",\n \"rus\": \"Добавить еще\",\n \"est\": \"Lisa üks veel\",\n \"lit\": \"Pridėti dar\"\n },\n \"type\": {\n \"eng\": \"Type\",\n \"lav\": \"Veids\",\n \"fin\": \"Luokka\",\n \"pol\": \"Rodzaj\",\n \"rus\": \"Тип\",\n \"est\": \"Tüüp\",\n \"lit\": \"Tipas\"\n },\n \"addLine\": {\n \"eng\": \"Add line\",\n \"lav\": \"Pievienot rindu\",\n \"fin\": \"Lisää rivi\",\n \"pol\": \"Dodaj linię\",\n \"rus\": \"Добавить строку\",\n \"est\": \"Lisa rida\",\n \"lit\": \"Pridėti eilutę\"\n },\n \"addDocType\": {\n \"eng\": \"Show document type\",\n \"lav\": \"Rādīt dokumenta veidu\",\n \"pol\": \"Dodaj typ dokumentu\",\n \"est\": \"Näita dokumendi tüüpi\",\n \"lit\": \"Pridėti dokumento tipą\",\n \"fin\": \"Lisää asiakirjatyyppi\",\n \"rus\": \"Показать тип документа\"\n },\n \"meritDuplicateNovember\": {\n \"eng\": \"Merit Aktiva now requires a unique document number when submitting the documents. Please enter the document number manually if not detected.\",\n \"est\": \"Merit Aktiva nõuab nüüd dokumentide esitamisel unikaalset dokumendinumbrit. Palun sisestage dokumendi number käsitsi, kui seda ei ole tuvastatud.\",\n \"fin\": \"Merit Aktiva vaatii nyt yksilöivän asiakirjanumeron asiakirjoja toimitettaessa. Anna asiakirjan numero manuaalisesti, jos sitä ei tunnisteta.\",\n \"pol\": \"360Księgowość wymaga teraz unikalnego numeru dokumentu podczas przesyłania dokumentów. Wprowadź numer dokumentu ręcznie, jeśli nie został wykryty\",\n \"rus\": \"Merit Aktiva теперь требует уникальный номер документа при подаче документов. Пожалуйста, введите номер документа вручную, если он не обнаружен.\",\n \"lit\": \"Pateikiant dokumentus, Merit Aktiva reikalauja nurodyti unikalų dokumento numerį. Jei dokumento numeris nenustatytas, įveskite jį rankiniu būdu.\"\n },\n \"accountType\": {\n \"eng\": \"Bank Account type\",\n \"est\": \"Panga konto liik\",\n \"lav\": \"Bankas konta veids\",\n \"rus\": \"Тип банковского счета\",\n \"lit\": \"Banko sąskaitos tipas\",\n \"pol\": \"Rodzaj konta bankowego\",\n \"fin\": \"Pankkitilin tyyppi\"\n },\n \"bankTypePersonal\": {\n \"eng\": \"Personal\",\n \"est\": \"Isiklik\",\n \"rus\": \"Частное лицо\",\n \"lav\": \"Privātpersona\",\n \"lit\": \"Privati\",\n \"pol\": \"Osobiste\",\n \"fin\": \"Henkilökohtainen\"\n },\n \"bankTypeBusiness\": {\n \"eng\": \"Business\",\n \"est\": \"Ärikonto\",\n \"lav\": \"Uzņēmums\",\n \"rus\": \"Бизнес\",\n \"lit\": \"Verslo\",\n \"pol\": \"Biznes\",\n \"fin\": \"Yritys\"\n },\n \"showOrderId\": {\n \"eng\": \"Show order Id\",\n \"est\": \"Näita tellimuse numbrit\",\n \"rus\": \"Показать номер заказа\",\n \"lav\": \"Rādīt pasūtījuma numuru\",\n \"pol\": \"Pokaż Id zamówienia\",\n \"fin\": \"Näytä tilausnumero\",\n \"lit\": \"Rodyti užsakymo numerį\"\n },\n \"blockAccess\": {\n \"eng\": \"Remove access\",\n \"lav\": \"Noņemt piekļuvi\",\n \"lit\": \"Užblokuoti prieigą\",\n \"fin\": \"Poista käyttäjä\",\n \"est\": \"Eemalda juurdepääs\",\n \"pol\": \"Zablokuj dostęp\",\n \"rus\": \"Снять доступ\"\n },\n \"dragAndDropAttachments\": {\n \"eng\": \"Drag and drop your attachments\",\n \"est\": \"Lohista muu dokument\",\n \"lav\": \"Velciet un nometiet pielikuma failus\",\n \"lit\": \"Įkelkite priedus\",\n \"fin\": \"Vedä ja pudota liitteitä\",\n \"pol\": \"Przeciągnij i upuść załączniki\",\n \"rus\": \"Перетащите приложения\"\n },\n \"downloadExcluding\": {\n \"eng\": \"Choose which expense documents to include\",\n \"lav\": \"Atlasiet, kurus izmaksu dokumentus lejupielādēt\",\n \"est\": \"Vali, milliseid kuludokumente kaasata\",\n \"lit\": \"Pasirinkite kuriuos išlaidų dokumentus įtraukti\",\n \"rus\": \"Выберите, какие расходные документы загрузить\",\n \"fin\": \"Valitse sisällytettävät kuludokumentit\",\n \"pol\": \"Wybierz typ dokumentów dotyczących wydatków, które mają zostać uwzględnione\"\n },\n \"onlySingleDocs\": {\n \"eng\": \"Only single documents\",\n \"lav\": \"Dokumentus ārpus pārskatiem\",\n \"pol\": \"Tylko pojedyncze dokumenty\",\n \"est\": \"Ainult üksikud dokumendid\",\n \"lit\": \"Tik pavienius dokumentus\",\n \"rus\": \"Только отдельные документы\",\n \"fin\": \"Vain yksittäiset dokumentit\"\n },\n \"singleAndReportDocs\": {\n \"eng\": \"Single documents and reports\",\n \"lav\": \"Iekļaujot dokumentus no pārskatiem\",\n \"pol\": \"Pojedyncze dokumenty i raporty\",\n \"est\": \"Üksikud dokumendid ja aruanded\",\n \"lit\": \"Pavienius dokumentus ir ataskaitas\",\n \"rus\": \"Отдельные документы и документы в отчетах\",\n \"fin\": \"Yksittäiset dokumentit ja raportit\"\n },\n \"removeUserfromCompany\": {\n \"eng\": \"Remove user $email from $organisation?\",\n \"lav\": \"Noņemt lietotājam $email piekļuvi organizācijai $organisation?\",\n \"est\": \"Eemalda kasutaja $email ettevõttest $organisation?\",\n \"fin\": \"Poistetaanko käyttäjä $email organisaatiosta $organisation?\",\n \"pol\": \"Usunięcie użytkownika $email z $organizacji\",\n \"rus\": \"Удалить пользователя $email из $organisation?\",\n \"lit\": \"Pašalinti naudotoją $email iš $organisation?\"\n },\n \"connectBankDesc\": {\n \"eng\": \"Link your bank account for effortless synchronization of card transaction data\",\n \"lav\": \"Pieslēdziet uzņēmuma bankas kontu un atvieglojiet bankas darījumu datu importu\",\n \"fin\": \"Liitä pankkitilisi korttitapahtumatietojen synkronointia varten\",\n \"pol\": \"Połącz konto bankowe w celu łatwej synchronizacji danych transakcji kartą\",\n \"rus\": \"Подключите свой банковский счет, чтобы без труда синхронизировать данные о карточных платежах.\",\n \"lit\": \"Susiekite savo banko sąskaitą, kad lengvai sinchronizuotumėte kortelių operacijų duomenis.\",\n \"est\": \"Ühenda ettevõtte pangakonto ja hõlbusta pangatehingute andmete lihtsat importimist\"\n },\n \"paymentCards\": {\n \"eng\": \"Payment cards\",\n \"lav\": \"Maksājumu kartes\",\n \"fin\": \"Maksukortit\",\n \"pol\": \"Karty płatnicze\",\n \"rus\": \"Платежные карты\",\n \"lit\": \"Mokėjimo kortelės\",\n \"est\": \"Maksekaardid\"\n },\n \"confirmEnableReports\": {\n \"eng\": \"Activate the reports feature to use automated payment card reports. Enable now?\",\n \"lav\": \"Šī pakalpojuma darbībai nepieciešams iestatīt pārskatu veidošanu. Vai iestatīt tagad?\",\n \"fin\": \"Aktivoi raporttiominaisuus käyttääksesi automaattisia maksukorttiraportteja. Otetaanko nyt käyttöön?\",\n \"pol\": \"Aktywuj funkcję raportów, aby korzystać z automatycznych raportów dotyczących kart płatniczych. Włącz teraz\",\n \"rus\": \"Активируйте функцию отчетов, чтобы использовать автоматические отчеты по платежным картам. Включить сейчас?\",\n \"lit\": \"Įjunkite ataskaitų funkciją, kad galėtumėte naudoti automatines mokėjimo kortelių ataskaitas. Įjungti dabar?\",\n \"est\": \"Automaatsete kaardiaruannete jaoks tuleb aktiveerida aruannete funktsioon. Aktiveeri kohe?\"\n },\n \"servicesDisabledWarning\": {\n \"eng\": \"CostPocket services are disabled for this company. Contact our support team to sort out the issues.\",\n \"lav\": \"CostPocket pakalpojumi šai organizācijai ir bloķēti. Lūdzam sazināties ar klientu atbalsta servisu.\",\n \"est\": \"CostPocketi teenused on sellele ettevõttele peatatud. Lisainfo saamiseks võtke ühendust meie klienditoega.\",\n \"pol\": \"Usługi CostPocket są wyłączone dla tej firmy. Skontaktuj się z naszym zespołem pomocy technicznej, aby rozwiązać problem\",\n \"rus\": \"Услуги CostPocket отключены для этой компании. Свяжитесь с нашей службой поддержки, чтобы решить проблему.\",\n \"fin\": \"CostPocket-palvelu on poistettu käytöstä. Ota yhteyttä asiakastukeemme aktivoidaksesi palvelun.\"\n },\n \"inboxBounceAddress\": {\n \"eng\": \"Alerts for failed document submissions\",\n \"lav\": \"Paziņojumi par neveiksmīgi iesūtītiem dokumentiem\",\n \"fin\": \"Osoite, johon lähetetään ilmoituksia epäonnistuneista sähköpostilähetyksistä\",\n \"pol\": \"Adres do otrzymywania powiadomień o nieudanych zgłoszeniach przez e-mail\",\n \"est\": \"Hoiatused ebaõnnestunud dokumentide esitamise kohta\",\n \"rus\": \"Адрес для получения уведомлений о неудачных передачах по эл. почте\"\n },\n \"submittedByEmail\": {\n \"eng\": \"Submitted by email\",\n \"lav\": \"Iesūtīti no epasta\",\n \"est\": \"Meili teel esitatud\",\n \"pol\": \"Przesłane przez e-mail\",\n \"fin\": \"Lähetetty sähköpostitse\",\n \"rus\": \"Подано по эл. почте\"\n },\n \"bounceAddressDesc\": {\n \"eng\": \"Users who submit documents via email automatically receive failure notifications. Enable this feature to notify additional user\",\n \"lav\": \"Par neizdevušos dokumentu iesūtīšanu paziņojumi automātiski tiek sūtīti uz iesniedzēja e-pastu. Iestatiet paziņojumu sūtīšanu papildus lietotājam.\",\n \"fin\": \"Sähköpostitse dokumentteja lähettävät käyttäjät saavat automaattisesti virheilmoituksia. Ota ominaisuus käyttöön, jos haluat ilmoituksen muille käyttäjille\",\n \"est\": \"Kasutajad, kes esitavad dokumente e-posti teel, saavad automaatselt veateateid. Täiendavate kasutajate teavitamiseks lubage see funktsioon\",\n \"rus\": \"Уведомления о неудачной подаче документов автоматически отправляются на адрес эл. почты заявителя. Настройте отправку уведомлений дополнительному пользователю.\",\n \"pol\": \"Użytkownicy przesyłający dokumenty pocztą elektroniczną automatycznie otrzymują powiadomienia o niepowodzeniu. Włącz tę funkcję, aby powiadamiać dodatkowych użytkowników\"\n },\n \"onlyInvoices\": {\n \"eng\": \"For invoices only\",\n \"lav\": \"Tikai rēķiniem\",\n \"rus\": \"Только для счетов\",\n \"fin\": \"Vain laskuille\",\n \"pol\": \"Tylko dla faktur\",\n \"est\": \"Ainult arvetele\"\n },\n \"customCostTypesDetect\": {\n \"eng\": \"Custom Expense Types Review\",\n \"lav\": \"Personalizēto izmaksu veidu restrukturizācija\",\n \"rus\": \"Обзор персонализированных типов расходов\",\n \"fin\": \"Kululajien tarkistus\",\n \"pol\": \"Przegląd niestandardowych typów wydatków\",\n \"est\": \"Kohandatud kululiikide ülevaade\"\n },\n \"reactivateCustom\": {\n \"eng\": \"You have unused custom expense types. Do you want to remove them or reactivate?\",\n \"lav\": \"Šajā organizācijā ir iestatīti personalizētie izmaksu veidi, kas netiek izmantoti. Vai vēlaties tos atjaunot?\",\n \"rus\": \"У вас есть неиспользуемые типы расходов. Вы хотите их удалить или восстановить?\",\n \"fin\": \"Sinulla on käyttämättömiä kululajeja. Haluatko poistaa ne vai aktivoida ne uudelleen?\",\n \"pol\": \"Masz nieużywane niestandardowe typy wydatków. Czy chcesz je usunąć lub ponownie aktywować?\",\n \"est\": \"Teil on kasutamata kohandatud kulutüüpe. Kas soovite need eemaldada või taastada?\"\n },\n \"reactivate\": {\n \"eng\": \"Reactivate\",\n \"lav\": \"Atjaunot\",\n \"rus\": \"Восстановить\",\n \"fin\": \"Aktivoi uudelleen\",\n \"pol\": \"Reaktywacja\",\n \"est\": \"Taasta\"\n },\n \"pleaseDigitiseAgain\": {\n \"eng\": \"Digitisation failed! Please download this document and submit it again!\",\n \"lav\": \"Digitalizācija neizdevās! Lūdzu, lejupielādējiet šo dokumentu un iesniedziet to vēlreiz!\",\n \"est\": \"Digiteerimine ebaõnnestus! Palun laadige see dokument alla ja esitage uuesti!\",\n \"rus\": \"Оцифровка не удалась! Пожалуйста, скачайте этот документ и отправьте его снова!\",\n \"lit\": \"Skaitmenizacija nepavyko! Prašome atsisiųsti šį dokumentą ir pateikti jį dar kartą!\",\n \"pol\": \"Digitalizacja nie powiodła się! Proszę pobrać ten dokument i przesłać go ponownie!\",\n \"fin\": \"Digitaalinen käsittely epäonnistui! Lataa tämä asiakirja ja lähetä se uudelleen!\",\n \"nor\": \"Digitaliseringen mislyktes! Vennligst last ned dette dokumentet og send det inn igjen!\"\n },\n \"notCompanyName\": {\n \"nor\": \"Huff! Vennligst skriv inn et land, ikke et firmanavn!\",\n \"fin\": \"Hups! Syötä maa, ei yrityksen nimeä!\",\n \"pol\": \"Ups! Proszę wprowadzić kraj, a nie nazwę firmy!\",\n \"lit\": \"Oi! Prašome įvesti šalį, o ne įmonės pavadinimą!\",\n \"rus\": \"Упс! Пожалуйста, введите страну, а не название компании!\",\n \"est\": \"Ups! Palun sisestage riik, mitte ettevõtte nimi!\",\n \"lav\": \"Ups! Lūdzu, ievadiet valsti, nevis uzņēmuma nosaukumu!\",\n \"eng\": \"Whoops! Please enter a country, not company name!\",\n \"esp\": \"¡Ups! ¡Por favor, introduce un país, no un nombre de empresa!\",\n \"swe\": \"Oj! Ange ett land, inte ett företagsnamn!\"\n },\n \"digitizeAgain\": {\n \"eng\": \"Digitise again\",\n \"lav\": \"Nolasīt datus\",\n \"rus\": \"Оцифровать еще раз\",\n \"est\": \"Digiteeri uuesti\",\n \"pol\": \"Zdigitalizuj ponownie\",\n \"fin\": \"Digitoi uudelleen\"\n },\n \"markDigitized\": {\n \"eng\": \"Mark digitised\",\n \"lav\": \"Atzīmēt kā digitalizētu\",\n \"rus\": \"Отметить как оцифрованное\",\n \"est\": \"Märgi digiteerituks\",\n \"pol\": \"Oznacz jak zdigitalizowany\",\n \"fin\": \"Merkitse digitoiduksi\"\n }\n }","import Big from 'big.js'\nimport moment from 'moment'\n\nexport default function (receipts) {\n const receiptsById = {}\n receipts.forEach((receipt) => {\n if (receipt.sum) {\n receipt.sum = new Big(receipt['sum']).toFixed(2).toString()\n }\n if (receipt.sumNoVAT) {\n receipt.sumNoVAT = new Big(receipt['sumNoVAT']).toFixed(2).toString()\n }\n if (receipt.VAT) {\n receipt.VAT = new Big(receipt['VAT']).toFixed(2).toString()\n }\n receipt.issued = new moment(receipt?.issued, 'YYYY-MM-DDTHH:mm:ss.SSSZ').format('YYYY-MM-DD').toString()\n receiptsById[receipt.id] = receipt\n })\n return receiptsById\n}\n","import { validateStatus } from '@/lib/status'\r\nimport { TRIP_STATUS, TRIP_STATUS_VALIDATOR, TRIP_STATUS_CATEGORY, STATUS_COLORS } from '@/enums'\r\n\r\nexport function displayedTripStatus(trip, company) {\r\n switch (true) {\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.BOUNCED): {\r\n return {\r\n color: STATUS_COLORS.RED,\r\n label: 'forwardingFailed',\r\n status: TRIP_STATUS_CATEGORY.BOUNCED,\r\n canSubmit: true,\r\n index: 9\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.SENT) &&\r\n validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVED): {\r\n return {\r\n color: STATUS_COLORS.GREEN,\r\n label: 'approvedAndSent',\r\n status: TRIP_STATUS_CATEGORY.APPROVED_AND_SENT,\r\n canSubmit: false,\r\n index: 1\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.SENT): {\r\n return {\r\n color: STATUS_COLORS.GREEN,\r\n label: 'forwardingSuccess',\r\n status: TRIP_STATUS_CATEGORY.SENT,\r\n canSubmit: false,\r\n index: 1\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVING): {\r\n return {\r\n color: STATUS_COLORS.BLUE,\r\n label: 'approving',\r\n status: TRIP_STATUS_CATEGORY.APPROVING,\r\n canSubmit: false,\r\n index: 5\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.APPROVED): {\r\n return {\r\n color: STATUS_COLORS.GREEN,\r\n label: 'approved',\r\n status: TRIP_STATUS_CATEGORY.APPROVED,\r\n canSubmit: false,\r\n index: 2\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.REJECTED): {\r\n return {\r\n color: STATUS_COLORS.RED,\r\n label: 'rejected',\r\n status: TRIP_STATUS_CATEGORY.REJECTED,\r\n canSubmit: true,\r\n index: 8\r\n }\r\n }\r\n\r\n case !validateStatus(trip.status, [TRIP_STATUS.CONFIRMED]): {\r\n return {\r\n color: STATUS_COLORS.GREY,\r\n label: 'draft',\r\n status: TRIP_STATUS_CATEGORY.DRAFT,\r\n canSubmit: true,\r\n index: 7\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.PROCESSING): {\r\n return {\r\n color: STATUS_COLORS.BLUE,\r\n label: 'tripProcessing',\r\n status: TRIP_STATUS_CATEGORY.PROCESSING,\r\n canSubmit: false,\r\n index: 3\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, [TRIP_STATUS.DIGITIZING]): {\r\n return {\r\n color: STATUS_COLORS.BLUE,\r\n label: 'digitizing',\r\n status: TRIP_STATUS_CATEGORY.DIGITIZING,\r\n canSubmit: false,\r\n index: 4\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.CONFIRMED) && company?.settings?.requireReportConfirmation: {\r\n return {\r\n color: STATUS_COLORS.BLUE,\r\n label: 'pendingConfirmation',\r\n status: TRIP_STATUS_CATEGORY.CONFIRMING,\r\n canSubmit: false,\r\n index: 6\r\n }\r\n }\r\n\r\n case validateStatus(trip.status, TRIP_STATUS_VALIDATOR.CONFIRMED): {\r\n return {\r\n color: STATUS_COLORS.BLUE,\r\n label: 'submitted',\r\n status: TRIP_STATUS_CATEGORY.SUBMITTED,\r\n canSubmit: false,\r\n index: 6\r\n }\r\n }\r\n\r\n default: {\r\n return {\r\n color: STATUS_COLORS.GREY,\r\n label: 'draft',\r\n status: TRIP_STATUS_CATEGORY.DRAFT,\r\n canSubmit: true,\r\n index: 7\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = {\n \"AU\": [ 10, 0 ],\n \"AT\": [ 20, 10, 13 ],\n \"BE\": [ 21, 12, 6, 0 ],\n \"BG\": [ 20, 9, 0 ],\n \"HR\": [ 25, 13, 5 ],\n \"CY\": [ 19, 8, 5 ],\n \"CZ\": [ 21, 15, 10 ],\n \"DK\": [ 25, 0 ],\n \"EE\": [ 22, 20, 13, 9, 0 ],\n \"FI\": [ 25.5, 14, 10, 0 ],\n \"FR\": [ 20, 10, 5.5, 2.1 ],\n \"DE\": [ 19, 7, 0 ],\n \"GR\": [ 24, 13, 6.5 ],\n \"HU\": [ 27, 18, 5, 0 ],\n \"IE\": [ 23, 13.5, 9, 4.8, 0 ],\n \"IT\": [ 22, 10, 4, 0 ],\n \"LV\": [ 21, 12, 0 ],\n \"LT\": [ 21, 9, 5 ],\n \"LU\": [ 17, 14, 8, 3 ],\n \"MT\": [ 18, 7, 5, 0 ],\n \"NL\": [ 21, 9, 0 ],\n \"PL\": [ 23, 8, 5, 0 ],\n \"PT\": [ 23, 13, 6 ],\n \"RO\": [ 19, 9, 5 ],\n \"SK\": [ 20, 10 ],\n \"SI\": [ 22, 9.5 ],\n \"ES\": [ 21, 10, 4 ],\n \"SE\": [ 25, 12, 6, 0 ],\n \"NO\": [ 25, 15, 8, 0 ],\n \"GB\": [ 20, 5, 0 ]\n}","module.exports = [\n { code: 'EE',\n emoji: '🇪🇪',\n unicode: 'U+1F1EA U+1F1EA',\n name: 'Estonia' },\n { code: 'FI',\n emoji: '🇫🇮',\n unicode: 'U+1F1EB U+1F1EE',\n name: 'Finland' },\n { code: 'LV',\n emoji: '🇱🇻',\n unicode: 'U+1F1F1 U+1F1FB',\n name: 'Latvia' },\n { code: 'PL',\n emoji: '🇵🇱',\n unicode: 'U+1F1F5 U+1F1F1',\n name: 'Poland' },\n { code: 'LT',\n emoji: '🇱🇹',\n unicode: 'U+1F1F1 U+1F1F9',\n name: 'Lithuania' },\n { code: 'RU',\n emoji: '🇷🇺',\n unicode: 'U+1F1F7 U+1F1FA',\n name: 'Russia' },\n { code: 'SE',\n emoji: '🇸🇪',\n unicode: 'U+1F1F8 U+1F1EA',\n name: 'Sweden' }, \n { code: 'DE',\n emoji: '🇩🇪',\n unicode: 'U+1F1E9 U+1F1EA',\n name: 'Germany' }, \n { code: 'AF',\n emoji: '🇦🇫',\n unicode: 'U+1F1E6 U+1F1EB',\n name: 'Afghanistan' },\n { code: 'AL',\n emoji: '🇦🇱',\n unicode: 'U+1F1E6 U+1F1F1',\n name: 'Albania' },\n { code: 'DZ',\n emoji: '🇩🇿',\n unicode: 'U+1F1E9 U+1F1FF',\n name: 'Algeria' },\n { code: 'AS',\n emoji: '🇦🇸',\n unicode: 'U+1F1E6 U+1F1F8',\n name: 'American Samoa' },\n { code: 'AD',\n emoji: '🇦🇩',\n unicode: 'U+1F1E6 U+1F1E9',\n name: 'Andorra' },\n { code: 'AO',\n emoji: '🇦🇴',\n unicode: 'U+1F1E6 U+1F1F4',\n name: 'Angola' },\n { code: 'AI',\n emoji: '🇦🇮',\n unicode: 'U+1F1E6 U+1F1EE',\n name: 'Anguilla' },\n { code: 'AQ',\n emoji: '🇦🇶',\n unicode: 'U+1F1E6 U+1F1F6',\n name: 'Antarctica' },\n { code: 'AG',\n emoji: '🇦🇬',\n unicode: 'U+1F1E6 U+1F1EC',\n name: 'Antigua and Barbuda' },\n { code: 'AR',\n emoji: '🇦🇷',\n unicode: 'U+1F1E6 U+1F1F7',\n name: 'Argentina' },\n { code: 'AM',\n emoji: '🇦🇲',\n unicode: 'U+1F1E6 U+1F1F2',\n name: 'Armenia' },\n { code: 'AW',\n emoji: '🇦🇼',\n unicode: 'U+1F1E6 U+1F1FC',\n name: 'Aruba' },\n { code: 'AU',\n emoji: '🇦🇺',\n unicode: 'U+1F1E6 U+1F1FA',\n name: 'Australia' },\n { code: 'AT',\n emoji: '🇦🇹',\n unicode: 'U+1F1E6 U+1F1F9',\n name: 'Austria' },\n { code: 'AZ',\n emoji: '🇦🇿',\n unicode: 'U+1F1E6 U+1F1FF',\n name: 'Azerbaijan' },\n { code: 'BS',\n emoji: '🇧🇸',\n unicode: 'U+1F1E7 U+1F1F8',\n name: 'Bahamas' },\n { code: 'BH',\n emoji: '🇧🇭',\n unicode: 'U+1F1E7 U+1F1ED',\n name: 'Bahrain' },\n { code: 'BD',\n emoji: '🇧🇩',\n unicode: 'U+1F1E7 U+1F1E9',\n name: 'Bangladesh' },\n { code: 'BB',\n emoji: '🇧🇧',\n unicode: 'U+1F1E7 U+1F1E7',\n name: 'Barbados' },\n { code: 'BY',\n emoji: '🇧🇾',\n unicode: 'U+1F1E7 U+1F1FE',\n name: 'Belarus' },\n { code: 'BE',\n emoji: '🇧🇪',\n unicode: 'U+1F1E7 U+1F1EA',\n name: 'Belgium' },\n { code: 'BZ',\n emoji: '🇧🇿',\n unicode: 'U+1F1E7 U+1F1FF',\n name: 'Belize' },\n { code: 'BJ',\n emoji: '🇧🇯',\n unicode: 'U+1F1E7 U+1F1EF',\n name: 'Benin' },\n { code: 'BM',\n emoji: '🇧🇲',\n unicode: 'U+1F1E7 U+1F1F2',\n name: 'Bermuda' },\n { code: 'BT',\n emoji: '🇧🇹',\n unicode: 'U+1F1E7 U+1F1F9',\n name: 'Bhutan' },\n { code: 'BO',\n emoji: '🇧🇴',\n unicode: 'U+1F1E7 U+1F1F4',\n name: 'Bolivia' },\n { code: 'BQ',\n emoji: '🇧🇶',\n unicode: 'U+1F1E7 U+1F1F6',\n name: 'Bonaire, Sint Eustatius and Saba' },\n { code: 'BA',\n emoji: '🇧🇦',\n unicode: 'U+1F1E7 U+1F1E6',\n name: 'Bosnia and Herzegovina' },\n { code: 'BW',\n emoji: '🇧🇼',\n unicode: 'U+1F1E7 U+1F1FC',\n name: 'Botswana' },\n { code: 'BV',\n emoji: '🇧🇻',\n unicode: 'U+1F1E7 U+1F1FB',\n name: 'Bouvet Island' },\n { code: 'BR',\n emoji: '🇧🇷',\n unicode: 'U+1F1E7 U+1F1F7',\n name: 'Brazil' },\n { code: 'IO',\n emoji: '🇮🇴',\n unicode: 'U+1F1EE U+1F1F4',\n name: 'British Indian Ocean Territory' },\n { code: 'BN',\n emoji: '🇧🇳',\n unicode: 'U+1F1E7 U+1F1F3',\n name: 'Brunei Darussalam' },\n { code: 'BG',\n emoji: '🇧🇬',\n unicode: 'U+1F1E7 U+1F1EC',\n name: 'Bulgaria' },\n { code: 'BF',\n emoji: '🇧🇫',\n unicode: 'U+1F1E7 U+1F1EB',\n name: 'Burkina Faso' },\n { code: 'BI',\n emoji: '🇧🇮',\n unicode: 'U+1F1E7 U+1F1EE',\n name: 'Burundi' },\n { code: 'KH',\n emoji: '🇰🇭',\n unicode: 'U+1F1F0 U+1F1ED',\n name: 'Cambodia' },\n { code: 'CM',\n emoji: '🇨🇲',\n unicode: 'U+1F1E8 U+1F1F2',\n name: 'Cameroon' },\n { code: 'CA',\n emoji: '🇨🇦',\n unicode: 'U+1F1E8 U+1F1E6',\n name: 'Canada' },\n { code: 'CV',\n emoji: '🇨🇻',\n unicode: 'U+1F1E8 U+1F1FB',\n name: 'Cape Verde' },\n { code: 'KY',\n emoji: '🇰🇾',\n unicode: 'U+1F1F0 U+1F1FE',\n name: 'Cayman Islands' },\n { code: 'CF',\n emoji: '🇨🇫',\n unicode: 'U+1F1E8 U+1F1EB',\n name: 'Central African Republic' },\n { code: 'TD',\n emoji: '🇹🇩',\n unicode: 'U+1F1F9 U+1F1E9',\n name: 'Chad' },\n { code: 'CL',\n emoji: '🇨🇱',\n unicode: 'U+1F1E8 U+1F1F1',\n name: 'Chile' },\n { code: 'CN',\n emoji: '🇨🇳',\n unicode: 'U+1F1E8 U+1F1F3',\n name: 'China' },\n { code: 'CX',\n emoji: '🇨🇽',\n unicode: 'U+1F1E8 U+1F1FD',\n name: 'Christmas Island' },\n { code: 'CC',\n emoji: '🇨🇨',\n unicode: 'U+1F1E8 U+1F1E8',\n name: 'Cocos (Keeling) Islands' },\n { code: 'CO',\n emoji: '🇨🇴',\n unicode: 'U+1F1E8 U+1F1F4',\n name: 'Colombia' },\n { code: 'KM',\n emoji: '🇰🇲',\n unicode: 'U+1F1F0 U+1F1F2',\n name: 'Comoros' },\n { code: 'CD',\n emoji: '🇨🇩',\n unicode: 'U+1F1E8 U+1F1E9',\n name: 'Congo' },\n { code: 'CG',\n emoji: '🇨🇬',\n unicode: 'U+1F1E8 U+1F1EC',\n name: 'Congo' },\n { code: 'CK',\n emoji: '🇨🇰',\n unicode: 'U+1F1E8 U+1F1F0',\n name: 'Cook Islands' },\n { code: 'CR',\n emoji: '🇨🇷',\n unicode: 'U+1F1E8 U+1F1F7',\n name: 'Costa Rica' },\n { code: 'HR',\n emoji: '🇭🇷',\n unicode: 'U+1F1ED U+1F1F7',\n name: 'Croatia' },\n { code: 'CU',\n emoji: '🇨🇺',\n unicode: 'U+1F1E8 U+1F1FA',\n name: 'Cuba' },\n { code: 'CW',\n emoji: '🇨🇼',\n unicode: 'U+1F1E8 U+1F1FC',\n name: 'Curaçao' },\n { code: 'CY',\n emoji: '🇨🇾',\n unicode: 'U+1F1E8 U+1F1FE',\n name: 'Cyprus' },\n { code: 'CZ',\n emoji: '🇨🇿',\n unicode: 'U+1F1E8 U+1F1FF',\n name: 'Czech Republic' },\n { code: 'CI',\n emoji: '🇨🇮',\n unicode: 'U+1F1E8 U+1F1EE',\n name: 'Côte D\\'Ivoire' },\n { code: 'DK',\n emoji: '🇩🇰',\n unicode: 'U+1F1E9 U+1F1F0',\n name: 'Denmark' },\n { code: 'DJ',\n emoji: '🇩🇯',\n unicode: 'U+1F1E9 U+1F1EF',\n name: 'Djibouti' },\n { code: 'DM',\n emoji: '🇩🇲',\n unicode: 'U+1F1E9 U+1F1F2',\n name: 'Dominica' },\n { code: 'DO',\n emoji: '🇩🇴',\n unicode: 'U+1F1E9 U+1F1F4',\n name: 'Dominican Republic' },\n { code: 'EC',\n emoji: '🇪🇨',\n unicode: 'U+1F1EA U+1F1E8',\n name: 'Ecuador' },\n { code: 'EG',\n emoji: '🇪🇬',\n unicode: 'U+1F1EA U+1F1EC',\n name: 'Egypt' },\n { code: 'SV',\n emoji: '🇸🇻',\n unicode: 'U+1F1F8 U+1F1FB',\n name: 'El Salvador' },\n { code: 'GQ',\n emoji: '🇬🇶',\n unicode: 'U+1F1EC U+1F1F6',\n name: 'Equatorial Guinea' },\n { code: 'ER',\n emoji: '🇪🇷',\n unicode: 'U+1F1EA U+1F1F7',\n name: 'Eritrea' },\n { code: 'ET',\n emoji: '🇪🇹',\n unicode: 'U+1F1EA U+1F1F9',\n name: 'Ethiopia' },\n { code: 'EU',\n emoji: '🇪🇺',\n unicode: 'U+1F1EA U+1F1FA',\n name: 'European Union' },\n { code: 'FK',\n emoji: '🇫🇰',\n unicode: 'U+1F1EB U+1F1F0',\n name: 'Falkland Islands (Malvinas)' },\n { code: 'FO',\n emoji: '🇫🇴',\n unicode: 'U+1F1EB U+1F1F4',\n name: 'Faroe Islands' },\n { code: 'FJ',\n emoji: '🇫🇯',\n unicode: 'U+1F1EB U+1F1EF',\n name: 'Fiji' },\n { code: 'FR',\n emoji: '🇫🇷',\n unicode: 'U+1F1EB U+1F1F7',\n name: 'France' },\n { code: 'GF',\n emoji: '🇬🇫',\n unicode: 'U+1F1EC U+1F1EB',\n name: 'French Guiana' },\n { code: 'PF',\n emoji: '🇵🇫',\n unicode: 'U+1F1F5 U+1F1EB',\n name: 'French Polynesia' },\n { code: 'TF',\n emoji: '🇹🇫',\n unicode: 'U+1F1F9 U+1F1EB',\n name: 'French Southern Territories' },\n { code: 'GA',\n emoji: '🇬🇦',\n unicode: 'U+1F1EC U+1F1E6',\n name: 'Gabon' },\n { code: 'GM',\n emoji: '🇬🇲',\n unicode: 'U+1F1EC U+1F1F2',\n name: 'Gambia' },\n { code: 'GE',\n emoji: '🇬🇪',\n unicode: 'U+1F1EC U+1F1EA',\n name: 'Georgia' },\n { code: 'GH',\n emoji: '🇬🇭',\n unicode: 'U+1F1EC U+1F1ED',\n name: 'Ghana' },\n { code: 'GI',\n emoji: '🇬🇮',\n unicode: 'U+1F1EC U+1F1EE',\n name: 'Gibraltar' },\n { code: 'GR',\n emoji: '🇬🇷',\n unicode: 'U+1F1EC U+1F1F7',\n name: 'Greece' },\n { code: 'GL',\n emoji: '🇬🇱',\n unicode: 'U+1F1EC U+1F1F1',\n name: 'Greenland' },\n { code: 'GD',\n emoji: '🇬🇩',\n unicode: 'U+1F1EC U+1F1E9',\n name: 'Grenada' },\n { code: 'GP',\n emoji: '🇬🇵',\n unicode: 'U+1F1EC U+1F1F5',\n name: 'Guadeloupe' },\n { code: 'GU',\n emoji: '🇬🇺',\n unicode: 'U+1F1EC U+1F1FA',\n name: 'Guam' },\n { code: 'GT',\n emoji: '🇬🇹',\n unicode: 'U+1F1EC U+1F1F9',\n name: 'Guatemala' },\n { code: 'GG',\n emoji: '🇬🇬',\n unicode: 'U+1F1EC U+1F1EC',\n name: 'Guernsey' },\n { code: 'GN',\n emoji: '🇬🇳',\n unicode: 'U+1F1EC U+1F1F3',\n name: 'Guinea' },\n { code: 'GW',\n emoji: '🇬🇼',\n unicode: 'U+1F1EC U+1F1FC',\n name: 'Guinea-Bissau' },\n { code: 'GY',\n emoji: '🇬🇾',\n unicode: 'U+1F1EC U+1F1FE',\n name: 'Guyana' },\n { code: 'HT',\n emoji: '🇭🇹',\n unicode: 'U+1F1ED U+1F1F9',\n name: 'Haiti' },\n { code: 'HM',\n emoji: '🇭🇲',\n unicode: 'U+1F1ED U+1F1F2',\n name: 'Heard Island and Mcdonald Islands' },\n { code: 'HN',\n emoji: '🇭🇳',\n unicode: 'U+1F1ED U+1F1F3',\n name: 'Honduras' },\n { code: 'HK',\n emoji: '🇭🇰',\n unicode: 'U+1F1ED U+1F1F0',\n name: 'Hong Kong' },\n { code: 'HU',\n emoji: '🇭🇺',\n unicode: 'U+1F1ED U+1F1FA',\n name: 'Hungary' },\n { code: 'IS',\n emoji: '🇮🇸',\n unicode: 'U+1F1EE U+1F1F8',\n name: 'Iceland' },\n { code: 'IN',\n emoji: '🇮🇳',\n unicode: 'U+1F1EE U+1F1F3',\n name: 'India' },\n { code: 'ID',\n emoji: '🇮🇩',\n unicode: 'U+1F1EE U+1F1E9',\n name: 'Indonesia' },\n { code: 'IR',\n emoji: '🇮🇷',\n unicode: 'U+1F1EE U+1F1F7',\n name: 'Iran' },\n { code: 'IQ',\n emoji: '🇮🇶',\n unicode: 'U+1F1EE U+1F1F6',\n name: 'Iraq' },\n { code: 'IE',\n emoji: '🇮🇪',\n unicode: 'U+1F1EE U+1F1EA',\n name: 'Ireland' },\n { code: 'IM',\n emoji: '🇮🇲',\n unicode: 'U+1F1EE U+1F1F2',\n name: 'Isle of Man' },\n { code: 'IL',\n emoji: '🇮🇱',\n unicode: 'U+1F1EE U+1F1F1',\n name: 'Israel' },\n { code: 'IT',\n emoji: '🇮🇹',\n unicode: 'U+1F1EE U+1F1F9',\n name: 'Italy' },\n { code: 'JM',\n emoji: '🇯🇲',\n unicode: 'U+1F1EF U+1F1F2',\n name: 'Jamaica' },\n { code: 'JP',\n emoji: '🇯🇵',\n unicode: 'U+1F1EF U+1F1F5',\n name: 'Japan' },\n { code: 'JE',\n emoji: '🇯🇪',\n unicode: 'U+1F1EF U+1F1EA',\n name: 'Jersey' },\n { code: 'JO',\n emoji: '🇯🇴',\n unicode: 'U+1F1EF U+1F1F4',\n name: 'Jordan' },\n { code: 'KZ',\n emoji: '🇰🇿',\n unicode: 'U+1F1F0 U+1F1FF',\n name: 'Kazakhstan' },\n { code: 'KE',\n emoji: '🇰🇪',\n unicode: 'U+1F1F0 U+1F1EA',\n name: 'Kenya' },\n { code: 'KI',\n emoji: '🇰🇮',\n unicode: 'U+1F1F0 U+1F1EE',\n name: 'Kiribati' },\n { code: 'XK',\n emoji: '🇽🇰',\n unicode: 'U+1F1FD U+1F1F0',\n name: 'Kosovo' },\n { code: 'KW',\n emoji: '🇰🇼',\n unicode: 'U+1F1F0 U+1F1FC',\n name: 'Kuwait' },\n { code: 'KG',\n emoji: '🇰🇬',\n unicode: 'U+1F1F0 U+1F1EC',\n name: 'Kyrgyzstan' },\n { code: 'LA',\n emoji: '🇱🇦',\n unicode: 'U+1F1F1 U+1F1E6',\n name: 'Lao People\\'s Democratic Republic' },\n { code: 'LB',\n emoji: '🇱🇧',\n unicode: 'U+1F1F1 U+1F1E7',\n name: 'Lebanon' },\n { code: 'LS',\n emoji: '🇱🇸',\n unicode: 'U+1F1F1 U+1F1F8',\n name: 'Lesotho' },\n { code: 'LR',\n emoji: '🇱🇷',\n unicode: 'U+1F1F1 U+1F1F7',\n name: 'Liberia' },\n { code: 'LY',\n emoji: '🇱🇾',\n unicode: 'U+1F1F1 U+1F1FE',\n name: 'Libya' },\n { code: 'LI',\n emoji: '🇱🇮',\n unicode: 'U+1F1F1 U+1F1EE',\n name: 'Liechtenstein' },\n { code: 'LU',\n emoji: '🇱🇺',\n unicode: 'U+1F1F1 U+1F1FA',\n name: 'Luxembourg' },\n { code: 'MO',\n emoji: '🇲🇴',\n unicode: 'U+1F1F2 U+1F1F4',\n name: 'Macao' },\n { code: 'MK',\n emoji: '🇲🇰',\n unicode: 'U+1F1F2 U+1F1F0',\n name: 'Macedonia' },\n { code: 'MG',\n emoji: '🇲🇬',\n unicode: 'U+1F1F2 U+1F1EC',\n name: 'Madagascar' },\n { code: 'MW',\n emoji: '🇲🇼',\n unicode: 'U+1F1F2 U+1F1FC',\n name: 'Malawi' },\n { code: 'MY',\n emoji: '🇲🇾',\n unicode: 'U+1F1F2 U+1F1FE',\n name: 'Malaysia' },\n { code: 'MV',\n emoji: '🇲🇻',\n unicode: 'U+1F1F2 U+1F1FB',\n name: 'Maldives' },\n { code: 'ML',\n emoji: '🇲🇱',\n unicode: 'U+1F1F2 U+1F1F1',\n name: 'Mali' },\n { code: 'MT',\n emoji: '🇲🇹',\n unicode: 'U+1F1F2 U+1F1F9',\n name: 'Malta' },\n { code: 'MH',\n emoji: '🇲🇭',\n unicode: 'U+1F1F2 U+1F1ED',\n name: 'Marshall Islands' },\n { code: 'MQ',\n emoji: '🇲🇶',\n unicode: 'U+1F1F2 U+1F1F6',\n name: 'Martinique' },\n { code: 'MR',\n emoji: '🇲🇷',\n unicode: 'U+1F1F2 U+1F1F7',\n name: 'Mauritania' },\n { code: 'MU',\n emoji: '🇲🇺',\n unicode: 'U+1F1F2 U+1F1FA',\n name: 'Mauritius' },\n { code: 'YT',\n emoji: '🇾🇹',\n unicode: 'U+1F1FE U+1F1F9',\n name: 'Mayotte' },\n { code: 'MX',\n emoji: '🇲🇽',\n unicode: 'U+1F1F2 U+1F1FD',\n name: 'Mexico' },\n { code: 'FM',\n emoji: '🇫🇲',\n unicode: 'U+1F1EB U+1F1F2',\n name: 'Micronesia' },\n { code: 'MD',\n emoji: '🇲🇩',\n unicode: 'U+1F1F2 U+1F1E9',\n name: 'Moldova' },\n { code: 'MC',\n emoji: '🇲🇨',\n unicode: 'U+1F1F2 U+1F1E8',\n name: 'Monaco' },\n { code: 'MN',\n emoji: '🇲🇳',\n unicode: 'U+1F1F2 U+1F1F3',\n name: 'Mongolia' },\n { code: 'ME',\n emoji: '🇲🇪',\n unicode: 'U+1F1F2 U+1F1EA',\n name: 'Montenegro' },\n { code: 'MS',\n emoji: '🇲🇸',\n unicode: 'U+1F1F2 U+1F1F8',\n name: 'Montserrat' },\n { code: 'MA',\n emoji: '🇲🇦',\n unicode: 'U+1F1F2 U+1F1E6',\n name: 'Morocco' },\n { code: 'MZ',\n emoji: '🇲🇿',\n unicode: 'U+1F1F2 U+1F1FF',\n name: 'Mozambique' },\n { code: 'MM',\n emoji: '🇲🇲',\n unicode: 'U+1F1F2 U+1F1F2',\n name: 'Myanmar' },\n { code: 'NA',\n emoji: '🇳🇦',\n unicode: 'U+1F1F3 U+1F1E6',\n name: 'Namibia' },\n { code: 'NR',\n emoji: '🇳🇷',\n unicode: 'U+1F1F3 U+1F1F7',\n name: 'Nauru' },\n { code: 'NP',\n emoji: '🇳🇵',\n unicode: 'U+1F1F3 U+1F1F5',\n name: 'Nepal' },\n { code: 'NL',\n emoji: '🇳🇱',\n unicode: 'U+1F1F3 U+1F1F1',\n name: 'Netherlands' },\n { code: 'NC',\n emoji: '🇳🇨',\n unicode: 'U+1F1F3 U+1F1E8',\n name: 'New Caledonia' },\n { code: 'NZ',\n emoji: '🇳🇿',\n unicode: 'U+1F1F3 U+1F1FF',\n name: 'New Zealand' },\n { code: 'NI',\n emoji: '🇳🇮',\n unicode: 'U+1F1F3 U+1F1EE',\n name: 'Nicaragua' },\n { code: 'NE',\n emoji: '🇳🇪',\n unicode: 'U+1F1F3 U+1F1EA',\n name: 'Niger' },\n { code: 'NG',\n emoji: '🇳🇬',\n unicode: 'U+1F1F3 U+1F1EC',\n name: 'Nigeria' },\n { code: 'NU',\n emoji: '🇳🇺',\n unicode: 'U+1F1F3 U+1F1FA',\n name: 'Niue' },\n { code: 'NF',\n emoji: '🇳🇫',\n unicode: 'U+1F1F3 U+1F1EB',\n name: 'Norfolk Island' },\n { code: 'KP',\n emoji: '🇰🇵',\n unicode: 'U+1F1F0 U+1F1F5',\n name: 'North Korea' },\n { code: 'MP',\n emoji: '🇲🇵',\n unicode: 'U+1F1F2 U+1F1F5',\n name: 'Northern Mariana Islands' },\n { code: 'NO',\n emoji: '🇳🇴',\n unicode: 'U+1F1F3 U+1F1F4',\n name: 'Norway' },\n { code: 'OM',\n emoji: '🇴🇲',\n unicode: 'U+1F1F4 U+1F1F2',\n name: 'Oman' },\n { code: 'PK',\n emoji: '🇵🇰',\n unicode: 'U+1F1F5 U+1F1F0',\n name: 'Pakistan' },\n { code: 'PW',\n emoji: '🇵🇼',\n unicode: 'U+1F1F5 U+1F1FC',\n name: 'Palau' },\n { code: 'PS',\n emoji: '🇵🇸',\n unicode: 'U+1F1F5 U+1F1F8',\n name: 'Palestinian Territory' },\n { code: 'PA',\n emoji: '🇵🇦',\n unicode: 'U+1F1F5 U+1F1E6',\n name: 'Panama' },\n { code: 'PG',\n emoji: '🇵🇬',\n unicode: 'U+1F1F5 U+1F1EC',\n name: 'Papua New Guinea' },\n { code: 'PY',\n emoji: '🇵🇾',\n unicode: 'U+1F1F5 U+1F1FE',\n name: 'Paraguay' },\n { code: 'PE',\n emoji: '🇵🇪',\n unicode: 'U+1F1F5 U+1F1EA',\n name: 'Peru' },\n { code: 'PH',\n emoji: '🇵🇭',\n unicode: 'U+1F1F5 U+1F1ED',\n name: 'Philippines' },\n { code: 'PN',\n emoji: '🇵🇳',\n unicode: 'U+1F1F5 U+1F1F3',\n name: 'Pitcairn' },\n { code: 'PT',\n emoji: '🇵🇹',\n unicode: 'U+1F1F5 U+1F1F9',\n name: 'Portugal' },\n { code: 'PR',\n emoji: '🇵🇷',\n unicode: 'U+1F1F5 U+1F1F7',\n name: 'Puerto Rico' },\n { code: 'QA',\n emoji: '🇶🇦',\n unicode: 'U+1F1F6 U+1F1E6',\n name: 'Qatar' },\n { code: 'RO',\n emoji: '🇷🇴',\n unicode: 'U+1F1F7 U+1F1F4',\n name: 'Romania' },\n { code: 'RW',\n emoji: '🇷🇼',\n unicode: 'U+1F1F7 U+1F1FC',\n name: 'Rwanda' },\n { code: 'RE',\n emoji: '🇷🇪',\n unicode: 'U+1F1F7 U+1F1EA',\n name: 'Réunion' },\n { code: 'BL',\n emoji: '🇧🇱',\n unicode: 'U+1F1E7 U+1F1F1',\n name: 'Saint Barthélemy' },\n { code: 'SH',\n emoji: '🇸🇭',\n unicode: 'U+1F1F8 U+1F1ED',\n name: 'Saint Helena, Ascension and Tristan Da Cunha' },\n { code: 'KN',\n emoji: '🇰🇳',\n unicode: 'U+1F1F0 U+1F1F3',\n name: 'Saint Kitts and Nevis' },\n { code: 'LC',\n emoji: '🇱🇨',\n unicode: 'U+1F1F1 U+1F1E8',\n name: 'Saint Lucia' },\n { code: 'MF',\n emoji: '🇲🇫',\n unicode: 'U+1F1F2 U+1F1EB',\n name: 'Saint Martin (French Part)' },\n { code: 'PM',\n emoji: '🇵🇲',\n unicode: 'U+1F1F5 U+1F1F2',\n name: 'Saint Pierre and Miquelon' },\n { code: 'VC',\n emoji: '🇻🇨',\n unicode: 'U+1F1FB U+1F1E8',\n name: 'Saint Vincent and The Grenadines' },\n { code: 'WS',\n emoji: '🇼🇸',\n unicode: 'U+1F1FC U+1F1F8',\n name: 'Samoa' },\n { code: 'SM',\n emoji: '🇸🇲',\n unicode: 'U+1F1F8 U+1F1F2',\n name: 'San Marino' },\n { code: 'ST',\n emoji: '🇸🇹',\n unicode: 'U+1F1F8 U+1F1F9',\n name: 'Sao Tome and Principe' },\n { code: 'SA',\n emoji: '🇸🇦',\n unicode: 'U+1F1F8 U+1F1E6',\n name: 'Saudi Arabia' },\n { code: 'SN',\n emoji: '🇸🇳',\n unicode: 'U+1F1F8 U+1F1F3',\n name: 'Senegal' },\n { code: 'RS',\n emoji: '🇷🇸',\n unicode: 'U+1F1F7 U+1F1F8',\n name: 'Serbia' },\n { code: 'SC',\n emoji: '🇸🇨',\n unicode: 'U+1F1F8 U+1F1E8',\n name: 'Seychelles' },\n { code: 'SL',\n emoji: '🇸🇱',\n unicode: 'U+1F1F8 U+1F1F1',\n name: 'Sierra Leone' },\n { code: 'SG',\n emoji: '🇸🇬',\n unicode: 'U+1F1F8 U+1F1EC',\n name: 'Singapore' },\n { code: 'SX',\n emoji: '🇸🇽',\n unicode: 'U+1F1F8 U+1F1FD',\n name: 'Sint Maarten (Dutch Part)' },\n { code: 'SK',\n emoji: '🇸🇰',\n unicode: 'U+1F1F8 U+1F1F0',\n name: 'Slovakia' },\n { code: 'SI',\n emoji: '🇸🇮',\n unicode: 'U+1F1F8 U+1F1EE',\n name: 'Slovenia' },\n { code: 'SB',\n emoji: '🇸🇧',\n unicode: 'U+1F1F8 U+1F1E7',\n name: 'Solomon Islands' },\n { code: 'SO',\n emoji: '🇸🇴',\n unicode: 'U+1F1F8 U+1F1F4',\n name: 'Somalia' },\n { code: 'ZA',\n emoji: '🇿🇦',\n unicode: 'U+1F1FF U+1F1E6',\n name: 'South Africa' },\n { code: 'GS',\n emoji: '🇬🇸',\n unicode: 'U+1F1EC U+1F1F8',\n name: 'South Georgia' },\n { code: 'KR',\n emoji: '🇰🇷',\n unicode: 'U+1F1F0 U+1F1F7',\n name: 'South Korea' },\n { code: 'SS',\n emoji: '🇸🇸',\n unicode: 'U+1F1F8 U+1F1F8',\n name: 'South Sudan' },\n { code: 'ES',\n emoji: '🇪🇸',\n unicode: 'U+1F1EA U+1F1F8',\n name: 'Spain' },\n { code: 'LK',\n emoji: '🇱🇰',\n unicode: 'U+1F1F1 U+1F1F0',\n name: 'Sri Lanka' },\n { code: 'SD',\n emoji: '🇸🇩',\n unicode: 'U+1F1F8 U+1F1E9',\n name: 'Sudan' },\n { code: 'SR',\n emoji: '🇸🇷',\n unicode: 'U+1F1F8 U+1F1F7',\n name: 'Suriname' },\n { code: 'SJ',\n emoji: '🇸🇯',\n unicode: 'U+1F1F8 U+1F1EF',\n name: 'Svalbard and Jan Mayen' },\n { code: 'SZ',\n emoji: '🇸🇿',\n unicode: 'U+1F1F8 U+1F1FF',\n name: 'Swaziland' },\n { code: 'CH',\n emoji: '🇨🇭',\n unicode: 'U+1F1E8 U+1F1ED',\n name: 'Switzerland' },\n { code: 'SY',\n emoji: '🇸🇾',\n unicode: 'U+1F1F8 U+1F1FE',\n name: 'Syrian Arab Republic' },\n { code: 'TW',\n emoji: '🇹🇼',\n unicode: 'U+1F1F9 U+1F1FC',\n name: 'Taiwan' },\n { code: 'TJ',\n emoji: '🇹🇯',\n unicode: 'U+1F1F9 U+1F1EF',\n name: 'Tajikistan' },\n { code: 'TZ',\n emoji: '🇹🇿',\n unicode: 'U+1F1F9 U+1F1FF',\n name: 'Tanzania' },\n { code: 'TH',\n emoji: '🇹🇭',\n unicode: 'U+1F1F9 U+1F1ED',\n name: 'Thailand' },\n { code: 'TL',\n emoji: '🇹🇱',\n unicode: 'U+1F1F9 U+1F1F1',\n name: 'Timor-Leste' },\n { code: 'TG',\n emoji: '🇹🇬',\n unicode: 'U+1F1F9 U+1F1EC',\n name: 'Togo' },\n { code: 'TK',\n emoji: '🇹🇰',\n unicode: 'U+1F1F9 U+1F1F0',\n name: 'Tokelau' },\n { code: 'TO',\n emoji: '🇹🇴',\n unicode: 'U+1F1F9 U+1F1F4',\n name: 'Tonga' },\n { code: 'TT',\n emoji: '🇹🇹',\n unicode: 'U+1F1F9 U+1F1F9',\n name: 'Trinidad and Tobago' },\n { code: 'TN',\n emoji: '🇹🇳',\n unicode: 'U+1F1F9 U+1F1F3',\n name: 'Tunisia' },\n { code: 'TR',\n emoji: '🇹🇷',\n unicode: 'U+1F1F9 U+1F1F7',\n name: 'Turkey' },\n { code: 'TM',\n emoji: '🇹🇲',\n unicode: 'U+1F1F9 U+1F1F2',\n name: 'Turkmenistan' },\n { code: 'TC',\n emoji: '🇹🇨',\n unicode: 'U+1F1F9 U+1F1E8',\n name: 'Turks and Caicos Islands' },\n { code: 'TV',\n emoji: '🇹🇻',\n unicode: 'U+1F1F9 U+1F1FB',\n name: 'Tuvalu' },\n { code: 'UG',\n emoji: '🇺🇬',\n unicode: 'U+1F1FA U+1F1EC',\n name: 'Uganda' },\n { code: 'UA',\n emoji: '🇺🇦',\n unicode: 'U+1F1FA U+1F1E6',\n name: 'Ukraine' },\n { code: 'AE',\n emoji: '🇦🇪',\n unicode: 'U+1F1E6 U+1F1EA',\n name: 'United Arab Emirates' },\n { code: 'GB',\n emoji: '🇬🇧',\n unicode: 'U+1F1EC U+1F1E7',\n name: 'United Kingdom' },\n { code: 'US',\n emoji: '🇺🇸',\n unicode: 'U+1F1FA U+1F1F8',\n name: 'United States' },\n { code: 'UM',\n emoji: '🇺🇲',\n unicode: 'U+1F1FA U+1F1F2',\n name: 'United States Minor Outlying Islands' },\n { code: 'UY',\n emoji: '🇺🇾',\n unicode: 'U+1F1FA U+1F1FE',\n name: 'Uruguay' },\n { code: 'UZ',\n emoji: '🇺🇿',\n unicode: 'U+1F1FA U+1F1FF',\n name: 'Uzbekistan' },\n { code: 'VU',\n emoji: '🇻🇺',\n unicode: 'U+1F1FB U+1F1FA',\n name: 'Vanuatu' },\n { code: 'VA',\n emoji: '🇻🇦',\n unicode: 'U+1F1FB U+1F1E6',\n name: 'Vatican City' },\n { code: 'VE',\n emoji: '🇻🇪',\n unicode: 'U+1F1FB U+1F1EA',\n name: 'Venezuela' },\n { code: 'VN',\n emoji: '🇻🇳',\n unicode: 'U+1F1FB U+1F1F3',\n name: 'Viet Nam' },\n { code: 'VG',\n emoji: '🇻🇬',\n unicode: 'U+1F1FB U+1F1EC',\n name: 'Virgin Islands, British' },\n { code: 'VI',\n emoji: '🇻🇮',\n unicode: 'U+1F1FB U+1F1EE',\n name: 'Virgin Islands, U.S.' },\n { code: 'WF',\n emoji: '🇼🇫',\n unicode: 'U+1F1FC U+1F1EB',\n name: 'Wallis and Futuna' },\n { code: 'EH',\n emoji: '🇪🇭',\n unicode: 'U+1F1EA U+1F1ED',\n name: 'Western Sahara' },\n { code: 'YE',\n emoji: '🇾🇪',\n unicode: 'U+1F1FE U+1F1EA',\n name: 'Yemen' },\n { code: 'ZM',\n emoji: '🇿🇲',\n unicode: 'U+1F1FF U+1F1F2',\n name: 'Zambia' },\n { code: 'ZW',\n emoji: '🇿🇼',\n unicode: 'U+1F1FF U+1F1FC',\n name: 'Zimbabwe' },\n { code: 'AX',\n emoji: '🇦🇽',\n unicode: 'U+1F1E6 U+1F1FD',\n name: 'Åland Islands' } ]\n","\n\n","import { render } from \"./IconAccount.vue?vue&type=template&id=08f8ef02\"\nimport script from \"./IconAccount.vue?vue&type=script&lang=js\"\nexport * from \"./IconAccount.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconAdd.vue?vue&type=template&id=f234907a\"\nimport script from \"./IconAdd.vue?vue&type=script&lang=js\"\nexport * from \"./IconAdd.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconAddFile.vue?vue&type=template&id=7da16294\"\nimport script from \"./IconAddFile.vue?vue&type=script&lang=js\"\nexport * from \"./IconAddFile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconAddFolder.vue?vue&type=template&id=f399e02a\"\nimport script from \"./IconAddFolder.vue?vue&type=script&lang=js\"\nexport * from \"./IconAddFolder.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconAdjust.vue?vue&type=template&id=a87b828e\"\nimport script from \"./IconAdjust.vue?vue&type=script&lang=js\"\nexport * from \"./IconAdjust.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconArchive.vue?vue&type=template&id=3a63cfba\"\nimport script from \"./IconArchive.vue?vue&type=script&lang=js\"\nexport * from \"./IconArchive.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconArrow.vue?vue&type=template&id=22592783\"\nimport script from \"./IconArrow.vue?vue&type=script&lang=js\"\nexport * from \"./IconArrow.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconBank.vue?vue&type=template&id=335fca82\"\nimport script from \"./IconBank.vue?vue&type=script&lang=js\"\nexport * from \"./IconBank.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconBoat.vue?vue&type=template&id=a1e81d06\"\nimport script from \"./IconBoat.vue?vue&type=script&lang=js\"\nexport * from \"./IconBoat.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconBriefcase.vue?vue&type=template&id=d6c633f4\"\nimport script from \"./IconBriefcase.vue?vue&type=script&lang=js\"\nexport * from \"./IconBriefcase.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCancel.vue?vue&type=template&id=1211e1ec\"\nimport script from \"./IconCancel.vue?vue&type=script&lang=js\"\nexport * from \"./IconCancel.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCar.vue?vue&type=template&id=285ce014\"\nimport script from \"./IconCar.vue?vue&type=script&lang=js\"\nexport * from \"./IconCar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCard.vue?vue&type=template&id=20b9f4dd\"\nimport script from \"./IconCard.vue?vue&type=script&lang=js\"\nexport * from \"./IconCard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCash.vue?vue&type=template&id=aa40d6e8\"\nimport script from \"./IconCash.vue?vue&type=script&lang=js\"\nexport * from \"./IconCash.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconChevronLeft.vue?vue&type=template&id=28df835c\"\nimport script from \"./IconChevronLeft.vue?vue&type=script&lang=js\"\nexport * from \"./IconChevronLeft.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","'\n\n'\n","import { render } from \"./IconChevronUp.vue?vue&type=template&id=fc41213e\"\nimport script from \"./IconChevronUp.vue?vue&type=script&lang=js\"\nexport * from \"./IconChevronUp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconCollapse.vue?vue&type=template&id=120cd540\"\nimport script from \"./IconCollapse.vue?vue&type=script&lang=js\"\nexport * from \"./IconCollapse.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconConversion.vue?vue&type=template&id=4f681624\"\nimport script from \"./IconConversion.vue?vue&type=script&lang=js\"\nexport * from \"./IconConversion.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCopy.vue?vue&type=template&id=5eb91408\"\nimport script from \"./IconCopy.vue?vue&type=script&lang=js\"\nexport * from \"./IconCopy.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconCup.vue?vue&type=template&id=3cc808dd\"\nimport script from \"./IconCup.vue?vue&type=script&lang=js\"\nexport * from \"./IconCup.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconDelete.vue?vue&type=template&id=182b31d8\"\nimport script from \"./IconDelete.vue?vue&type=script&lang=js\"\nexport * from \"./IconDelete.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconDocument.vue?vue&type=template&id=aeeb98bc\"\nimport script from \"./IconDocument.vue?vue&type=script&lang=js\"\nexport * from \"./IconDocument.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconDone.vue?vue&type=template&id=d7248be0\"\nimport script from \"./IconDone.vue?vue&type=script&lang=js\"\nexport * from \"./IconDone.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconDots.vue?vue&type=template&id=77be9754\"\nimport script from \"./IconDots.vue?vue&type=script&lang=js\"\nexport * from \"./IconDots.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconDownload.vue?vue&type=template&id=7703aee9\"\nimport script from \"./IconDownload.vue?vue&type=script&lang=js\"\nexport * from \"./IconDownload.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n","import { render } from \"./IconDoubleChevron.vue?vue&type=template&id=68f82b06\"\nconst script = {}\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconEnvelope.vue?vue&type=template&id=a6751ec0\"\nimport script from \"./IconEnvelope.vue?vue&type=script&lang=js\"\nexport * from \"./IconEnvelope.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconExit.vue?vue&type=template&id=e4f2ab4c\"\nimport script from \"./IconExit.vue?vue&type=script&lang=js\"\nexport * from \"./IconExit.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconEye.vue?vue&type=template&id=78873294\"\nimport script from \"./IconEye.vue?vue&type=script&lang=js\"\nexport * from \"./IconEye.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconFacebook.vue?vue&type=template&id=307d64f0\"\nimport script from \"./IconFacebook.vue?vue&type=script&lang=js\"\nexport * from \"./IconFacebook.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconFilter.vue?vue&type=template&id=061576e8\"\nimport script from \"./IconFilter.vue?vue&type=script&lang=js\"\nexport * from \"./IconFilter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconFolder.vue?vue&type=template&id=398948a0\"\nimport script from \"./IconFolder.vue?vue&type=script&lang=js\"\nexport * from \"./IconFolder.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconGlobe.vue?vue&type=template&id=4dbea550\"\nimport script from \"./IconGlobe.vue?vue&type=script&lang=js\"\nexport * from \"./IconGlobe.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n","import { render } from \"./IconGoogle.vue?vue&type=template&id=78595e33\"\nconst script = {}\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconHail.vue?vue&type=template&id=66f90d1c\"\nimport script from \"./IconHail.vue?vue&type=script&lang=js\"\nexport * from \"./IconHail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconImportFile.vue?vue&type=template&id=7a01e178\"\nimport script from \"./IconImportFile.vue?vue&type=script&lang=js\"\nexport * from \"./IconImportFile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconInfo.vue?vue&type=template&id=930e9476\"\nimport script from \"./IconInfo.vue?vue&type=script&lang=js\"\nexport * from \"./IconInfo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconKanban.vue?vue&type=template&id=7a89930c\"\nimport script from \"./IconKanban.vue?vue&type=script&lang=js\"\nexport * from \"./IconKanban.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./IconKey.vue?vue&type=template&id=68e284db\"\nimport script from \"./IconKey.vue?vue&type=script&lang=js\"\nexport * from \"./IconKey.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconLines.vue?vue&type=template&id=5031ad22\"\nimport script from \"./IconLines.vue?vue&type=script&lang=js\"\nexport * from \"./IconLines.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconLinkedin.vue?vue&type=template&id=5363200d\"\nimport script from \"./IconLinkedin.vue?vue&type=script&lang=js\"\nexport * from \"./IconLinkedin.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconLink.vue?vue&type=template&id=d87490b8\"\nimport script from \"./IconLink.vue?vue&type=script&lang=js\"\nexport * from \"./IconLink.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconList.vue?vue&type=template&id=14efcba4\"\nimport script from \"./IconList.vue?vue&type=script&lang=js\"\nexport * from \"./IconList.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconMatch.vue?vue&type=template&id=74829269\"\nimport script from \"./IconMatch.vue?vue&type=script&lang=js\"\nexport * from \"./IconMatch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMenu.vue?vue&type=template&id=37ba2283\"\nimport script from \"./IconMenu.vue?vue&type=script&lang=js\"\nexport * from \"./IconMenu.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n","import { render } from \"./IconMicrosoft.vue?vue&type=template&id=28b23f54\"\nconst script = {}\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMileage.vue?vue&type=template&id=0475ba71\"\nimport script from \"./IconMileage.vue?vue&type=script&lang=js\"\nexport * from \"./IconMileage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMinivan.vue?vue&type=template&id=3559c222\"\nimport script from \"./IconMinivan.vue?vue&type=script&lang=js\"\nexport * from \"./IconMinivan.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMoped.vue?vue&type=template&id=a47b2388\"\nimport script from \"./IconMoped.vue?vue&type=script&lang=js\"\nexport * from \"./IconMoped.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMotorcycle.vue?vue&type=template&id=21cb44a8\"\nimport script from \"./IconMotorcycle.vue?vue&type=script&lang=js\"\nexport * from \"./IconMotorcycle.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconMove.vue?vue&type=template&id=3379e646\"\nimport script from \"./IconMove.vue?vue&type=script&lang=js\"\nexport * from \"./IconMove.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconOverview.vue?vue&type=template&id=0ef0af84\"\nimport script from \"./IconOverview.vue?vue&type=script&lang=js\"\nexport * from \"./IconOverview.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPaperclip.vue?vue&type=template&id=4af9a9a0\"\nimport script from \"./IconPaperclip.vue?vue&type=script&lang=js\"\nexport * from \"./IconPaperclip.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPayment.vue?vue&type=template&id=1a9a783d\"\nimport script from \"./IconPayment.vue?vue&type=script&lang=js\"\nexport * from \"./IconPayment.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPencil.vue?vue&type=template&id=630ea546\"\nimport script from \"./IconPencil.vue?vue&type=script&lang=js\"\nexport * from \"./IconPencil.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPeople.vue?vue&type=template&id=246118c4\"\nimport script from \"./IconPeople.vue?vue&type=script&lang=js\"\nexport * from \"./IconPeople.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPerson.vue?vue&type=template&id=4ab14966\"\nimport script from \"./IconPerson.vue?vue&type=script&lang=js\"\nexport * from \"./IconPerson.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconPhone.vue?vue&type=template&id=d47e6184\"\nimport script from \"./IconPhone.vue?vue&type=script&lang=js\"\nexport * from \"./IconPhone.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPhotoCamera.vue?vue&type=template&id=601c0fce\"\nimport script from \"./IconPhotoCamera.vue?vue&type=script&lang=js\"\nexport * from \"./IconPhotoCamera.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPhotos.vue?vue&type=template&id=67162f80\"\nimport script from \"./IconPhotos.vue?vue&type=script&lang=js\"\nexport * from \"./IconPhotos.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPlane.vue?vue&type=template&id=6bf87c6e\"\nimport script from \"./IconPlane.vue?vue&type=script&lang=js\"\nexport * from \"./IconPlane.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconPlus.vue?vue&type=template&id=434f5c14\"\nimport script from \"./IconPlus.vue?vue&type=script&lang=js\"\nexport * from \"./IconPlus.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconQuadbike.vue?vue&type=template&id=589dee81\"\nimport script from \"./IconQuadbike.vue?vue&type=script&lang=js\"\nexport * from \"./IconQuadbike.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconReceipt.vue?vue&type=template&id=adb67344\"\nimport script from \"./IconReceipt.vue?vue&type=script&lang=js\"\nexport * from \"./IconReceipt.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconRemove.vue?vue&type=template&id=18871426\"\nimport script from \"./IconRemove.vue?vue&type=script&lang=js\"\nexport * from \"./IconRemove.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconSave.vue?vue&type=template&id=20f3b3c7\"\nimport script from \"./IconSave.vue?vue&type=script&lang=js\"\nexport * from \"./IconSave.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconScan.vue?vue&type=template&id=6a1a2640\"\nimport script from \"./IconScan.vue?vue&type=script&lang=js\"\nexport * from \"./IconScan.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconSearch.vue?vue&type=template&id=7ddf26f0\"\nimport script from \"./IconSearch.vue?vue&type=script&lang=js\"\nexport * from \"./IconSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconSettings.vue?vue&type=template&id=ac805a54\"\nimport script from \"./IconSettings.vue?vue&type=script&lang=js\"\nexport * from \"./IconSettings.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconSnowmobile.vue?vue&type=template&id=70088762\"\nimport script from \"./IconSnowmobile.vue?vue&type=script&lang=js\"\nexport * from \"./IconSnowmobile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconSync.vue?vue&type=template&id=1b800f98\"\nimport script from \"./IconSync.vue?vue&type=script&lang=js\"\nexport * from \"./IconSync.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconTrain.vue?vue&type=template&id=da9a7d70\"\nimport script from \"./IconTrain.vue?vue&type=script&lang=js\"\nexport * from \"./IconTrain.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconUnfold.vue?vue&type=template&id=36270a62\"\nimport script from \"./IconUnfold.vue?vue&type=script&lang=js\"\nexport * from \"./IconUnfold.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconUpload.vue?vue&type=template&id=39280798\"\nimport script from \"./IconUpload.vue?vue&type=script&lang=js\"\nexport * from \"./IconUpload.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconUploadFile.vue?vue&type=template&id=3e6b8896\"\nimport script from \"./IconUploadFile.vue?vue&type=script&lang=js\"\nexport * from \"./IconUploadFile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconVerify.vue?vue&type=template&id=48c96b81\"\nimport script from \"./IconVerify.vue?vue&type=script&lang=js\"\nexport * from \"./IconVerify.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconWallet.vue?vue&type=template&id=098285aa\"\nimport script from \"./IconWallet.vue?vue&type=script&lang=js\"\nexport * from \"./IconWallet.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconWarning.vue?vue&type=template&id=57774a26\"\nimport script from \"./IconWarning.vue?vue&type=script&lang=js\"\nexport * from \"./IconWarning.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./IconYoutube.vue?vue&type=template&id=68f960ec\"\nimport script from \"./IconYoutube.vue?vue&type=script&lang=js\"\nexport * from \"./IconYoutube.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import IconAccount from './IconAccount.vue'\nimport IconAdd from './IconAdd.vue'\nimport IconAddFile from './IconAddFile.vue'\nimport IconAddFolder from './IconAddFolder.vue'\nimport IconAdjust from './IconAdjust.vue'\nimport IconArchive from './IconArchive.vue'\nimport IconArrow from './IconArrow.vue'\nimport IconBank from './IconBank.vue'\nimport IconBoat from './IconBoat.vue'\nimport IconBriefcase from './IconBriefcase.vue'\nimport IconCalendar from './IconCalendar.vue'\nimport IconCancel from './IconCancel.vue'\nimport IconCar from './IconCar.vue'\nimport IconCard from './IconCard.vue'\nimport IconCash from './IconCash.vue'\nimport IconChevronDown from './IconChevronDown.vue'\nimport IconChevronLeft from './IconChevronLeft.vue'\nimport IconChevronRight from './IconChevronRight.vue'\nimport IconChevronUp from './IconChevronUp.vue'\nimport IconClose from './IconClose.vue'\nimport IconCollapse from './IconCollapse.vue'\nimport IconConversion from './IconConversion.vue'\nimport IconCopy from './IconCopy.vue'\nimport IconCup from './IconCup.vue'\nimport IconDelete from './IconDelete.vue'\nimport IconDocument from './IconDocument.vue'\nimport IconDone from './IconDone.vue'\nimport IconDots from './IconDots.vue'\nimport IconDownload from './IconDownload.vue'\nimport IconDoubleChevron from './IconDoubleChevron.vue'\nimport IconEnvelope from './IconEnvelope.vue'\nimport IconExit from './IconExit.vue'\nimport IconEye from './IconEye.vue'\nimport IconFacebook from './IconFacebook.vue'\nimport IconFilter from './IconFilter.vue'\nimport IconFolder from './IconFolder.vue'\nimport IconGlobe from './IconGlobe.vue'\nimport IconGoogle from './IconGoogle.vue'\nimport IconHail from './IconHail.vue'\nimport IconImportFile from './IconImportFile.vue'\nimport IconInfo from './IconInfo.vue'\nimport IconKanban from './IconKanban.vue'\nimport IconKey from './IconKey.vue'\nimport IconLines from './IconLines.vue'\nimport IconLinkedin from './IconLinkedin.vue'\nimport IconLink from './IconLink.vue'\nimport IconList from './IconList.vue'\nimport IconMatch from './IconMatch.vue'\nimport IconMenu from './IconMenu.vue'\nimport IconMessage from './IconMessage.vue'\nimport IconMicrosoft from './IconMicrosoft.vue'\nimport IconMileage from './IconMileage.vue'\nimport IconMinivan from './IconMinivan.vue'\nimport IconMoped from './IconMoped.vue'\nimport IconMotorcycle from './IconMotorcycle.vue'\nimport IconMove from './IconMove.vue'\nimport IconOverview from './IconOverview.vue'\nimport IconPaperclip from './IconPaperclip.vue'\nimport IconPayment from './IconPayment.vue'\nimport IconPencil from './IconPencil.vue'\nimport IconPeople from './IconPeople.vue'\nimport IconPerson from './IconPerson.vue'\nimport IconPhone from './IconPhone.vue'\nimport IconPhotoCamera from './IconPhotoCamera.vue'\nimport IconPhotos from './IconPhotos.vue'\nimport IconPlane from './IconPlane.vue'\nimport IconPlus from './IconPlus.vue'\nimport IconQuadbike from './IconQuadbike.vue'\nimport IconReceipt from './IconReceipt.vue'\nimport IconRemove from './IconRemove.vue'\nimport IconSave from './IconSave.vue'\nimport IconScan from './IconScan.vue'\nimport IconSearch from './IconSearch.vue'\nimport IconSettings from './IconSettings.vue'\nimport IconSnowmobile from './IconSnowmobile.vue'\nimport IconSync from './IconSync.vue'\nimport IconTrain from './IconTrain.vue'\nimport IconUnfold from './IconUnfold.vue'\nimport IconUpload from './IconUpload.vue'\nimport IconUploadFile from './IconUploadFile.vue'\nimport IconVerify from './IconVerify.vue'\nimport IconWallet from './IconWallet.vue'\nimport IconWarning from './IconWarning.vue'\nimport IconYoutube from './IconYoutube.vue'\n\nexport default {\n install: (app) => {\n app.component('icon-account', IconAccount)\n app.component('icon-add', IconAdd)\n app.component('icon-add-file', IconAddFile)\n app.component('icon-add-folder', IconAddFolder)\n app.component('icon-adjust', IconAdjust)\n app.component('icon-archive', IconArchive)\n app.component('icon-arrow', IconArrow)\n app.component('icon-bank', IconBank)\n app.component('icon-boat', IconBoat)\n app.component('icon-briefcase', IconBriefcase)\n app.component('icon-calendar', IconCalendar)\n app.component('icon-cancel', IconCancel)\n app.component('icon-car', IconCar)\n app.component('icon-card', IconCard)\n app.component('icon-cash', IconCash)\n app.component('icon-chevron-down', IconChevronDown)\n app.component('icon-chevron-left', IconChevronLeft)\n app.component('icon-chevron-right', IconChevronRight)\n app.component('icon-chevron-up', IconChevronUp)\n app.component('icon-close', IconClose)\n app.component('icon-collapse', IconCollapse)\n app.component('icon-conversion', IconConversion)\n app.component('icon-copy', IconCopy)\n app.component('icon-cup', IconCup)\n app.component('icon-delete', IconDelete)\n app.component('icon-document', IconDocument)\n app.component('icon-done', IconDone)\n app.component('icon-dots', IconDots)\n app.component('icon-download', IconDownload)\n app.component('icon-double-chevron', IconDoubleChevron)\n app.component('icon-envelope', IconEnvelope)\n app.component('icon-exit', IconExit)\n app.component('icon-eye', IconEye)\n app.component('icon-facebook', IconFacebook)\n app.component('icon-filter', IconFilter)\n app.component('icon-folder', IconFolder)\n app.component('icon-globe', IconGlobe)\n app.component('icon-google', IconGoogle)\n app.component('icon-hail', IconHail)\n app.component('icon-import-file', IconImportFile)\n app.component('icon-info', IconInfo)\n app.component('icon-kanban', IconKanban)\n app.component('icon-key', IconKey)\n app.component('icon-lines', IconLines)\n app.component('icon-linkedin', IconLinkedin)\n app.component('icon-link', IconLink)\n app.component('icon-list', IconList)\n app.component('icon-match', IconMatch)\n app.component('icon-menu', IconMenu)\n app.component('icon-message', IconMessage)\n app.component('icon-microsoft', IconMicrosoft)\n app.component('icon-mileage', IconMileage)\n app.component('icon-minivan', IconMinivan)\n app.component('icon-moped', IconMoped)\n app.component('icon-motorcycle', IconMotorcycle)\n app.component('icon-move', IconMove)\n app.component('icon-overview', IconOverview)\n app.component('icon-paperclip', IconPaperclip)\n app.component('icon-payment', IconPayment)\n app.component('icon-pencil', IconPencil)\n app.component('icon-people', IconPeople)\n app.component('icon-person', IconPerson)\n app.component('icon-phone', IconPhone)\n app.component('icon-photo-camera', IconPhotoCamera)\n app.component('icon-photos', IconPhotos)\n app.component('icon-plane', IconPlane)\n app.component('icon-plus', IconPlus)\n app.component('icon-quadbike', IconQuadbike)\n app.component('icon-receipt', IconReceipt)\n app.component('icon-remove', IconRemove)\n app.component('icon-save', IconSave)\n app.component('icon-scan', IconScan)\n app.component('icon-search', IconSearch)\n app.component('icon-settings', IconSettings)\n app.component('icon-snowmobile', IconSnowmobile)\n app.component('icon-sync', IconSync)\n app.component('icon-train', IconTrain)\n app.component('icon-unfold', IconUnfold)\n app.component('icon-upload', IconUpload)\n app.component('icon-upload-file', IconUploadFile)\n app.component('icon-verify', IconVerify)\n app.component('icon-wallet', IconWallet)\n app.component('icon-warning', IconWarning)\n app.component('icon-youtube', IconYoutube)\n }\n}\n\n","\n\n\n","import { render } from \"./IconCalendar.vue?vue&type=template&id=b50525e6\"\nimport script from \"./IconCalendar.vue?vue&type=script&lang=js\"\nexport * from \"./IconCalendar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconChevronDown.vue?vue&type=template&id=47541405\"\nimport script from \"./IconChevronDown.vue?vue&type=script&lang=js\"\nexport * from \"./IconChevronDown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconChevronRight.vue?vue&type=template&id=cf4b14f0\"\nimport script from \"./IconChevronRight.vue?vue&type=script&lang=js\"\nexport * from \"./IconChevronRight.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconClose.vue?vue&type=template&id=7d84e3ee\"\nimport script from \"./IconClose.vue?vue&type=script&lang=js\"\nexport * from \"./IconClose.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconMessage.vue?vue&type=template&id=5c3a4912\"\nimport script from \"./IconMessage.vue?vue&type=script&lang=js\"\nexport * from \"./IconMessage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","\n\n\n\n\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","useCardReports","alertAllowAccess","root","uploadStatement","companyId","tripId","paymentMethodId","formData","FormData","target","files","statementFile","append","params","then","data","paymentTransactionsStatement","uploadStatementX","async","fileName","Promise","reject","xcall","allowed","result","FileName","responseType","blob","Blob","getStatement","deleteStatement","automatchTransactions","paymentTransactions","matchDocumentToTransaction","receiptId","transactionId","useReceiptUpload","store","t","createReceipt","$route","toString","mileageId","activeCompany","getters","COMPANIES","value","companySteps","steps","type","message","camera","gallery","$snackbar","setReceiptUploadingWarning","isBeingUploaded","$config","uploadingReceipt","$set","$delete","goToReceiptFirstStep","receipt","docType","docSubType","query","onlyRegCard","$router","push","firstCompanyStep","reportRoute","setTimeout","receiveOcr","isReceiptOcrActive","countdownResolution","countDownTime","dPreferences","itemRowsDigitization","countdownInterval","countDownValue","$stash","receipts","countdownEnded","stopCountDown","clearInterval","setInterval","Math","max","timeout","ocrProgress","uploadProgress","catch","uploadReceiptX","_performUpload","didError","uploadReceipt","console","error","uploadURI","services","coreapi","url","localStorage","getItem","_performUploadNative","progress","call","maxNumberOfTries","numberOfTries","_nextTry","window","X_PLATFORM","X_VERSION_ID","config","onUploadProgress","progressEvent","ceil","loaded","total","response","codename","route","eh","addReceiptX","source","initialPayload","payload","fileId","assign","addReceipt","theImage","openCamera","X_HOST","preventDefault","openGallery","useAccountingFields","accountingObjectsByType","hasApproverRightsToEdit","approvalItem","refObjectType","accountingObjectType","workflowPolicies","activeRound","decisions","find","decision","state","accountingFieldsPolicy","policy","policyKey","roundNumber","approvalRoundNo","allowedInput","policyValue","types","includes","fieldValue","allRefs","refType","refId","objectType","refsToArray","values","found","oneRef","Number","accounting","mapOptions","accountingObject","title","name","disabled","active","accountingFieldOptions","ACCOUNT","options","getValue","useAccountingRefs","referenceObjectTypes","companyAccountingObjects","activeIntegration","activeAccountingFields","configuration","accountingFields","availableAccountingFields","accountingEntriesEnabled","Boolean","autoAccountingSyncEnabled","autoaccountingRules","filter","loadAccountingObjects","accountingContextSyncEnabled","integrationId","loadAutoaccountingRules","downloadContextTemplate","lang","uploadContextFile","uploadedFile","reader","FileReader","onload","csvContent","event","readAsText","createAccountingObject","newAccountingObject","updateAccountingObject","updatedAccountingObject","deleteAccountingObject","accountingObjectId","updateAccountingFields","include","field","existingType","updatedField","unchangedField","integration","updatedConfig","enableAutoAccounting","enable","updateAutoAccountingRules","updatedRules","useApprovalProgress","activeUser","setApprovalProgress","approvalDecisions","approvalState","userId","rounds","length","forEach","roundDecision","text","color","decidedAt","reason","comment","activeUserIsApprover","approvingUserId","appendedByUserId","appendedBy","_decision","approvingUserFullname","decisionAppended","appended","delegatedTo","delegatedDecisionId","replace","auto","useCardReconciliation","addItemRow","updateItemRow","submitReceipt","statements","supportedStatementFormats","allBankStatementFormats","country","countryCode","activeTripStatement","loadBankStatement","loadStatementFormats","removeStatement","transactions","transaction","uploadBankStatement","statement","$notification","unmatchDocumentFromTransaction","createDocsForUnmatchedTransactions","trip","extraData","emptyReceipt","isPlaceholderDocForTransaction","billingType","issued","date","currency","createdReceipt","itemRows","sum","rowNum","useConfig","isConfigLoaded","CONFIG","useDateFilters","dates","firstDayOfPreviousMonth","subtract","startOf","lastDayOfPreviousMonth","endOf","beforeYesterday","startOfThisMonth","startOfPastMonth","startOfThisYear","endOfThisMonth","yesterday","endOfThisYear","tomorrow","add","today","selectableDates","label","dateLabel","format","selectedDates","start","end","addExtraDayForApi","useDownloads","activeDates","downloadableDocTypes","isReportView","eInvoiceTitle","allOptions","eInvoice","hideEInvoiceOption","option","exportPeriodic","from","startDate","to","endDate","downloadTrip","downloadReceiptsZIP","receiptIds","exportReceipts","downloadReceiptPDF","downloadImportSourceFile","useExpenseFlow","findPrevalidationError","validationErrors","invalid","invalidFields","condition","digitizeReceipt","company","status","efException","efAction","receiptSubmitOnly","suppressDuplicateCheck","isSubmitted","isRejected","isApproved","sendReceipt","efData","isAdmin","companyRoles","digitization","confirmReceipt","requiresConfirmation","settings","requireExpenseConfirmation","errorText","success","language","link","linkText","unsubmitReceipt","mesage","unsubmitReport","submitReport","tripReceipts","sendReport","currentReceiptState","willBeSent","hasUndigitizedReceipts","reportSentMessage","confirmAndSendReport","requiredConfirmation","requireReportConfirmation","onlyAfterDigitizing","usesEmail","useFormatters","formatLocale","userLocale","formatSum","money","toFixed","formatInteger","numericValue","formatDate","formattedDate","formatDateShort","formatDateLong","formatDateSlashes","formatDateDashes","formatDateTime","locale","formatMonthAndYear","formatDateTextShort","formatCurrency","CURRENCY_SYMBOLS","EUR","GBP","USD","SEK","NOK","PLN","RUB","truncateText","nrOfCharacters","substring","useHelpers","companyReceipts","activeReceipt","findDocumentSubmitter","document","submitterFullName","submitter","fullName","submitterFromRoles","role","firstName","lastName","submitterEmail","email","findUserFullName","trim","findFileExtension","testExpression","exec","safeAdd","value1","value2","search","searchableWord","searchInput","modifiedInput","toLowerCase","findMostUsedCurrencies","lastReceipts","slice","popularCurrencies","filteredCurrencies","c","i","a","indexOf","filteredPopularCurrencies","concat","test","currencies","Array","Set","ocrWordList","words","ocr","wordList","expressions","expressionList","updateObject","initialObject","updatedObject","key","isArray","useInstanceHelpers","instance","appContext","globalProperties","s","useItemRows","countryDefaultVATRate","countryVATRate","itemRow","VATAccountable","rowKey","updatedValue","autofillOverride","deleteItemRow","deleteAllItemRows","row","removeVAT","receiptItemRows","calculateVATTotals","totals","rowVATRate","undefined","calculateItemRowTotals","useMileage","activeTripReceipts","mileage","MILEAGE","tripMileage","mileageItem","sort","mileageA","mileageB","Date","info","getTime","tripCarRegCards","mileageById","item","mileageByPlateNumber","plateNumber","mileagePerMonth","mileages","isBetween","getMileage","getTripMileage","getUserMileage","activeUserIsAdmin","loadMileageForUserId","loadAllRegistrationCards","cloneRegistrationCard","documentId","cloned","findAndCloneCarRegCard","regCards","tripHasRegCard","addMileage","updateMileage","deleteMileage","useMileageCalculator","isCompanyCar","ratesPerKm","limitPerMonthEstonia","calculateMileageEstonia","year","vehicle","distance","customMileageRate","sumThisMonth","calcMileageOverLimit","mileageRate","limit","remainingCompensation","mileageCalculator","useMileageUtils","setMileagePayload","preparedMileage","distanceUnit","individualRate","odometerStart","odometerEnd","mileageMonth","userLang","lastMileageComments","mileageItems","comments","sortedMileage","b","lastVisitedPlaces","addressKey","coordinatesKey","addresses","address","mostCommon","index","findIndex","mostCommonAddress","splice","unshift","calculateMileageTotal","vehicleOptions","vehicleList","engineCapacity","owner","split","calculateDistance","mileageReportDateRange","currentMileageEntryId","tripMileageEntries","oneEntryDate","isPrivateCar","parseNum","parseInt","useParamsContext","router","paramsContext","currentRoute","tab","useReceipts","onReceiptsChangeTargetFn","RECEIPTS","receiptFileAttachment","reverse","activeCardTripReceipts","receiptsByPeriod","selectReceiptsBy","endDatePlusOneDay","createdAt","filterDate","receiptById","loadReceipt","loadReceiptAttachments","attachments","asyncGet","selectBy","onReceiptChange","targetFn","createCostWithoutDocument","baseCurrency","updateReceipt","comapny","updatedReceipt","updateReceiptStore","deleteReceipt","deleteManyReceipts","loadOCR","onlyForRectangles","oldId","convertCurrency","didConvert","checkReceiptFileExistance","noPicture","useTripStatus","currencyConversionStatus","statusInfo","background","useTripUtils","previousTripNames","findOverlappingPaymentTrips","documentCountTotal","documentCount","currencyTotals","docCount","calculateItemTotals","items","calculateReimbursementTotals","alllowances","createTitle","tripDestinations","companyCountryCode","allCountries","countries","d","destination","city","tripName","join","prepSelectableMonths","monthCount","suggestions","suggestion","prepSelectablePaymentMonths","localReport","localReportCopy","overLappingTrips","extraInfo","setNewTravelReportPayload","updatedTrip","tripPayload","includesDailyAllowance","filterUsers","searchValue","allRoles","searchString","hasName","hasEmail","userOptions","useTrips","onTripsChangeTargetFn","trips","TRIPS","allowances","tripAllowance","companyTrips","tripsByPeriod","selectTripsBy","tripStartDate","tripEndDate","createdWithinInterval","startWithinInterval","endWithinInterval","activeTrip","selectableTrips","subtype","createNewTrip","editTrip","deleteTrip","keepReceipts","loadTripAllowance","loadTrip","loadPaymentCardTrips","loadFilteredTrips","tripById","onTripChange","findOverlappingTrips","reportTypes","reportSubTypes","report","firstStartInSecond","firstEndInSecond","secondStartInFirst","currentTrip","currentPaymentCardId","paymentCard","overlappingPaymentCardId","tripsMatch","paymentCardsMatch","AUTH_STORE_GETTERS","AUTH_STORE_ACTIONS","AUTH_STORE_MUTAUTIONS","CONFIG_STORE_STATE","CONFIG_STORE_MUTATIONS","CONFIG_STORE_ACTIONS","CONFIG_STORE_GETTERS","STORE_STATE_LOCAL_KEY","STORE_STATE","STORE_GETTERS","STORE_ACTIONS","STORE_MUTATIONS","STORAGE","INTEGRATION_CONFIRM_ERROR","PREVALIDATION_ERROR_MESSAGES","ERRROR_MESSAGES","INTEGRATIONS_STORE_STATE","INTEGRATIONS_STORE_GETTERS","INTEGRATIONS_STORE_ACTIONS","INTEGRATIONS_STORE_MUTATIONS","INTEGRATION","PAYMENTS_STORE_STATE","PAYMENTS_STORE_GETTERS","PAYMENTS_STORE_ACTIONS","PAYMENTS_STORE_MUTATIONS","PAYMENT_TYPE","USERS_STORE_STATE","USERS_STORE_MUTATIONS","USERS_STORE_ACTIONS","USERS_STORE_GETTERS","rates","fullRate","reducedRate","calculateTripAllowance","tripInput","tripsInput","allowanceSum","allowanceDays","warning","overlappingDates","tripCalendar","oldTrips","fullRateDaysPerMonth","createTripCalendar","newTrip","month","maxAllowance","fullRateDaysPerTrip","days","_","day","setYear","tripMaxAllowance","parseFloat","allowanceRate","findAllowancePerDay","tripStartMonth","currentTripDay","departAfter22","departBefore03","totalDaysForCalculation","diff","daysInTrip","oneDay","usedFullRateDays","perDiemsByYear","finlandPerDiems2023","finlandPerDiems2024","finlandPerDiems2025","defaultInternationalPerDiemByYear","partialPerDiemByYear","previousTrips","createOldTripCalendar","createNewTripCalendar","dataPerDestination","each","perDiem","destinationInfo","calendarOfPreviousTrips","startingDate","moment","tripDayCount","times","dayOfTrip","currentDay","clone","setDay","setMonth","destinations","tripStartTime","startTime","tripEndTime","endTime","convertToDate","totalTimeInMinutes","lastDestination","partialPerDiem","capAtMaxllowance","setReducedPerDiem","setPerDiem","fullDaysCount","exceededTime","nextFullDay","dayEndsInDestination","destinationStart","destinationEnd","nextFullDayDate","lastDayPerDiem","setExceededTimePerDiem","isPartialDayPerDiem","isFreeMealCounted","oneFreeMeal","freeMealDate","twoFreeMeals","time","allowanceCalculator","errorCode","onlyTravelReports","previousTrip","finland","overWrittenValuesWhenAutofilling","VATsum","price","validateStatus","_status","_enums","every","_enum","abs","sign","COUNTRY_CODE","PLAN_ID","makeURL","args","baseName","substr","this","param","arg","sanitize","beforeMount","el","binding","addEventListener","getUrl","basenames","defaultIfMissing","string","thumbnail","updatedAt","token","approvalImg","approvalId","fileType","original","attachmentId","pdf","n","num","spacer","setLoggingContext","context","user","captureException","error1","error2","error3","error4","error5","error6","errorFinal","expected","Plugin","app","$moment","$makeURL","$getUrl","$thumbnail","$approvalImg","$original","$pdf","$date","$setLoggingContext","$captureException","directive","mixin","methods","getLanguageISO3","stashUserLang","storeUserLang","languageKey","foundTranslation","eng","routerLocationKey","Symbol","getRandomId","random","activeRequests","actions","CANCEL_ACTIVE_REQUEST","identifiers","requestId","request","isRightCaller","caller","rightIdentifiers","entries","cancelToken","cancel","commit","mutations","SET_ACTIVE_REQUEST","Axios","REMOVE_ACTIVE_REQUEST","IS_PROCESS_ACTIVE","targetRequest","foundTarget","allRightIdentifiers","identifierKey","identifierValue","namespaced","generatedToken","ocrURL","log","queryPayload","getQueryFromObj","targetUrl","receiptPayload","disableLocalSave","massUpdate","UPDATE_LOCAL_RECEIPT","newReceiptData","prepared","prepareReceipts","preparedReceipt","setItem","JSON","stringify","errorHandler","consoleMessage","parameters","location","hostname","Sentry","grant_type","accountingEntries","receiptAccountingRefs","accountingRef","tripAccountingRefs","accountingRefId","sortedByReceiptIds","accountingEntry","references","reference","baseRefKey","baseRefId","updatedRef","requestData","accountingObjects","sortedObjects","sortBy","currentState","cloneDeep","existingEntryIndex","oneObject","managedRefs","updatedIntegration","api","open","csv","approval","APPROVALS","initialApproval","approvals","assignableApprovers","approverOptions","assignable","approver","statuses","decisionId","payloadData","dispatch","workflows","workflow","workflowId","policies","roundId","scope","filteredPolicies","existingPolicy","currentRound","updatedRound","policyExists","updatedRounds","round","policyId","workflowPayload","newWorkflowPayload","newPolicy","approverPayload","approverId","targetId","rest","expenseTypes","updatedExpenseType","parentId","parentExpenseType","existingExpenseType","existingSubTypeIndex","subgroup","subType","expenseTypeId","expenseType","costTypes","reduce","accumulator","sub","serviceActivation","partnerId","accepted","encodedCode","encodeURIComponent","tripsCount","statusCount","statusKey","Any","acc","val","receiptsCount","Unsubmitted","Submitted","missingFileCount","NoPicture","Digitized","Digitizing","Processing","Bounced","Approving","Rejected","Approved","Sent","ALLOWED_OPERATORS","isGreaterThan","isGreaterOrEqualThan","isLesserThan","isLesserOrEqualThan","isEqualWith","whereNotEqualTo","and","isEqualTo","isNotEqualTo","continue","ALLOWED_WHERE_KEYS","paymentTransactionsCount","deleted","summary","ALLOWED_ORDER_BY_KEYS","supplier","singleValue","operator","inBetweenValue","compareOperator","value_1","value_2","addToQuery","offset","includeSummary","includeCurrencyTotals","includeSubmitter","includeItemRows","includeTransactionCount","orderBy","prototype","hasOwnProperty","where","callbackFn","resultQuery","addToWhereQuery","domain","_query","_whereQuery","base","_base","get","whereQuery","final","queryCreatorInstance","cleanArgs","parse","QueryCreator","queryCreator","reportsUrl","tripsCountPerCompany","receiptsUrl","receiptsCountPerCompany","TRANSACTIONS","bankAccounts","bankAccount","paymentMethods","paymentMethod","newPaymentMethod","updatedPaymentMethod","duplicates","selected","receiptIndex","dateEndPlusOneDay","addDays","receiptsQueryCreator","receiptsQuery","reversedReceipts","duplicate","disableUpdatingParentTrip","disablePopUp","requestPayload","createElement","href","URL","createObjectURL","download","body","appendChild","click","remove","ids","dFlags","originalName","isLoading","criteria","allowance","allowanceEntry","entryIndex","allowanceEntryId","tripTransactions","supportedFormats","months","transactionCount","tripsQuery_1","tripsQuery_2","tripsQuery_3","trips_1","trips_2","trips_3","allTrips","requestUrl","ccTripsQuery","dcTripsQuery","ccTrips","dcTrips","newAllowanceEntry","entryPayload","banksMerged","bank","existingIndex","createVuexStoreRoot","createModule","prefix","mount","modules","companies","disableCurrent","updatedSettings","accountant","users","rootState","rootGetters","removeItem","debug","xstore","strict","plugins","Auth","Accounting","AccountingSettings","Approvals","ApprovalSettings","Config","CostTypes","Integrations","Mileage","Overview","Payments","Requests","_Receipts","Receipts","Setting","Trips","Transactions","class","desktop","showButton","tabindex","fill","width","height","placement","focusedOption","components","IconChevronDown","emits","props","modelValue","String","required","default","setup","emit","ENTER_KEY_CODE","DOWN_ARROW_KEY_CODE","UP_ARROW_KEY_CODE","focusNextListItem","direction","nextActiveElementIndex","onKeyup","keyCode","preselect","removeEventListener","__exports__","render","isSelected","isDisabled","$emit","IconChevronRight","noFile","src","imageSrc","selectedDate","isValid","toDate","computedValue","set","btnType","openOverlay","hasShadow","onBackdropClick","showPopover","alwaysOpen","floatingLabel","keyword","ref","placeholder","handleInput","$event","onFocus","onBlur","onEnter","deleteInput","iconSize","some","x","svg","selectSuggestion","alt","isButton","autoFocus","inputField","searchBarActive","focusInput","focus","checked","togglePopover","localState","selectedOptions","inlineLabel","buttonText","isPopoverShown","searchable","searchWord","onSearchInput","onSearchEnter","searchAutocomplete","clearSearchInput","onOptionClick","isMultipleChoice","canUnselect","autoOpen","ESCAPE_ARROW_KEY_CODE","onButtonClick","preventDefaultForKeys","setLocalOptions","setSelected","currentActiveElementIndex","highlighted","filterOptionsOnSearch","modifiedSearchWord","deburr","foundTitle","foundExtraInfo","selectedOption","setButtonText","shouldShow","selectedValues","setMultipleValues","selectedValue","setSingleValue","setAutocompleteValue","debounce","foundMatch","startsWith","style","textColor","btnSize","labelColor","upperCase","isTransparent","toUpperCase","localValue","changeValue","newValue","accept","acceptedFileTypes","multiple","multipleFilesAllowed","size","border","inputIndex","inputType","min","step","pattern","handleFocus","onKeydown","onPaste","togglePasswordVisibility","iconColor","autocomplete","isFocused","localAutocompleteOptions","selectAutocomplete","isHighlighted","onlyNumbers","maxLength","filtered","autocompleteOptions","selectionRange","ALLOWED_KEY_CODES","_value","allowOnlyNumbers","which","selection","getSelection","isAllowedKey","targetValue","overMaxLength","ctrlKey","isNumeric","isDot","isComma","includesDot","startIndex","selectionStart","setSelectionRange","paste","clipboardData","getData","findNumberFromString","dotIndex","commaIndex","addListener","shouldListen","shouldFocus","showModal","pageTitle","wideTitle","messageType","arrow","hover","openDelay","content","isUsingContentSlot","Popper","maxWidth","cursor","globalStatus","computed","ignoredRoute","uploading","offline","ignored","registerStaticComponents","install","component","UiSelectTransparent","UiNavigationDrawer","UiImagePreview","UiInputChips","UiFabButton","UiPopupMenu","UiSearchBar","UiCheckbox","UiInfoBox","UiSwitch","UiSelect","UiButton","UiButtonDesktop","UiButtonSwitch","UiFileUploadButton","UiHeader","UiLoader","UiInput","UiModal","UiCard","UiRadio","UiTooltip","UploadWarning","Spinner","registerDynamicComponents","UiDatepicker","Latvia","require","Sweden","Lithuania","Poland","calculate","isBefore","oneTrip","latviaForeignTravelPerDiems","calendarPerDestination","returned","meal","noWeekends","calendar","tripDays","dayOfWeek","mergeCalendars","oneDestinationCalendar","isNewTrip","returnOvernight","mealAndAccomodation","excludeWeekends","dailyAllowanceInfo","dest","oneDestinationData","newTripFirstDay","oldTripEndDates","endIsStart","lithuaniaPerDiems2022","lithuaniaPerDiems2023","createCalendarOfDestinations","allDestinations","findPerDiem","financialYear","isSameOrAfter","perDiemOfYear","calculateAllowanceForEachDay","calendarWithDestinations","daysOfMonth","countriesInOneDay","perDiems","oneTripCalendar","calculateTripDays","calendarOfDestinations","nextTripOnLastDay","createPreviousTripCalendar","polandForeignTravelPerDiems","checkOverlappingDates","newTripCalendar","oldTripCalendar","visitedCountry","resultData","getMonth","getDay","timeSpentInDestination","fullAllowanceDays","daysHadBreakfast","breakfastIncluded","daysHadLunch","lunchIncluded","daysHadDinner","dinnerIncluded","perDiemRate","rate","lastDayProportion","findExceededTimeProportion","breakfastProportion","lunchProportion","dinnerProportion","totalSum","countryData","proportion","swedenPerDiems2023","swedenPerDiems2024","locations","prepareCalendarOfDestinations","lastItem","firstDay","lastDay","tripDaysCount","currentDate","currentYear","firstDayStart","sameDay12","lastDayEnd","sameDay19","isSameOrBefore","deductForMeal","daysInDestination","daysInOneDestination","dayCount","overlappingDate","destinationsOnSameDate","de","dateAndTime","endOfDay","minutes","startOfDay","repeating","dst","highestRate","highestRatedLocation","highestRatedLocationId","r","rateForLocation","perDiemOfDay","maximum","FI","AF","AL","DZ","AD","AO","AR","AM","AW","AU","AT","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BW","BR","BG","BF","BI","KH","CM","CA","CV","CF","TD","CL","CN","CO","KM","CK","CR","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","ER","EE","ET","FO","FJ","FR","GA","GM","GE","DE","GH","GR","GL","GD","GP","GT","GN","GW","GY","HT","HN","HU","IS","IN","ID","IR","IQ","IE","IL","IT","JM","JP","KZ","KE","XK","KW","LV","LB","LS","LR","LY","LI","LT","LU","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","MX","FM","MD","MC","MN","ME","MA","MZ","NA","NP","NL","NZ","NI","NE","NG","NO","OM","PK","PW","PA","PG","PY","PE","PH","PL","PT","PR","QA","RO","RW","KN","LC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","SS","ES","LK","SD","SR","SE","CH","TW","TZ","TH","TG","TO","TT","TN","TR","TM","UG","UA","AE","GB","US","UY","UZ","VU","VE","VN","YE","ZW","ZM","AG","AZ","BA","BN","HK","CG","CD","CI","TL","SZ","JO","KP","KR","KG","LA","MM","MK","RU","VC","SY","TJ","PS","VI","GI","VA","MO","KY","est","fin","lav","rus","pol","swe","lit","esp","specialTerritoriesFinland","specialTerritoriesLatvia","specialTerritoriesLithuania","AN","Estonian","Polish","Latvian","Finnish","English","Russian","Swedish","Lithuanian","Spanish","handleDownloadPrecent","callback","percentCompleted","floor","headers","common","withCredentials","__ignoreCustomServices","__services","__basenames","onDownloadProgress","handleOnDownloadProgress","isDebugMode","handleError","findMostCommonOccurence","list","v","particularizeReportName","existingName","otherReportNames","prevName","nameNumber","newName","transformSumInput","sumWithDots","replaceAll","transformedSum","formattedSum","nextChar","remainingString","isNaN","receiptsById","Big","sumNoVAT","VAT","displayedTripStatus","TRIP_STATUS_VALIDATOR","STATUS_COLORS","TRIP_STATUS_CATEGORY","canSubmit","TRIP_STATUS","emoji","unicode","xmlns","viewBox","y","opacity","script","transform","cx","cy","version","preserveAspectRatio","stroke","IconAccount","IconAdd","IconAddFile","IconAddFolder","IconAdjust","IconArchive","IconArrow","IconBank","IconBoat","IconBriefcase","IconCalendar","IconCancel","IconCar","IconCard","IconCash","IconChevronLeft","IconChevronUp","IconClose","IconCollapse","IconConversion","IconCopy","IconCup","IconDelete","IconDocument","IconDone","IconDots","IconDownload","IconDoubleChevron","IconEnvelope","IconExit","IconEye","IconFacebook","IconFilter","IconFolder","IconGlobe","IconGoogle","IconHail","IconImportFile","IconInfo","IconKanban","IconKey","IconLines","IconLinkedin","IconLink","IconList","IconMatch","IconMenu","IconMessage","IconMicrosoft","IconMileage","IconMinivan","IconMoped","IconMotorcycle","IconMove","IconOverview","IconPaperclip","IconPayment","IconPencil","IconPeople","IconPerson","IconPhone","IconPhotoCamera","IconPhotos","IconPlane","IconPlus","IconQuadbike","IconReceipt","IconRemove","IconSave","IconScan","IconSearch","IconSettings","IconSnowmobile","IconSync","IconTrain","IconUnfold","IconUpload","IconUploadFile","IconVerify","IconWallet","IconWarning","IconYoutube","proxy","isNotificationVisible","notificationMessage","notificationType","appearanceHeight","showCloseIcon","goToLink","showNotification","timeToDisappear","bottomOffset","clearTimeout","messagePayload","hideNotification","isSnackbarVisible","snackbarMessage","snackbarType","showSnackbar","hideSnackbar"],"sourceRoot":""}