{"version":3,"sources":["Core/indexCombined-5c3bf5f4.js"],"names":["Resources","Common","select-screen-workout","en","it","es","fr","workouts-planning","single-workout-planning","display-group","slots-duration-error","slot-duration-error","you-must-select-an-on-screen-Workout","hide-free-spots","start-hour","end-hour","you-are-cloning-the-selected-workouts","acceptance-date","type-policy-text-here","kiosk","no-kiosk","policies","Accepted","NotAccepted","NotAnswered","new-policy","edit-policy","summary","policy-will-be","TermsOfPurchase","JoinClub","publication-date","club-policies","cannot-suspend-a-subscription-with-active-bookings","unable-to-copy-following-workouts","exercise-not-found-in-destination-club","elements","check-field-cardioZone","check-field-rPE","check-field-reps","check-field-level","check-field-weight","check-repetition-interval-field","exercise-cannot-have-only-pause","check-round-rest-field","check-rest-field","check-round-duration-field","check-notes-field","folder-and-all-workouts-inside-will-be-deleted","select-destination","create-new-folder","new-folder-name","move","level-rank","no-level","event","support","check-exercise-duration-filed","exercises-duration-at-least-five-seconds","duration-at-least-five-seconds","impossible-to-delete-the-element","unable-to-delete-element-stations","exercise","overnight-avg","kcal-session","upps-session","open","you-are-cloning-a-circuit","station-not-configured-in-the-club","exercise-definition-not-found","select-all","pause-field-error","check-exercise-pause-field","check-set-field","check-round-pause-field","check-round-field","check-exercise-duration-field","check-duration-filed","exercise-note-error","check-the-element","you-must-have-at-least-one-exercise-in-each-set","station-with-set-without-exercises","check-name-field","check-description-field","select-club","copy-to-other-club","you-are-about-to-delete-circuit","enable-stations-to-create-synchronized-workouts-on-multiple-TVs","select-stations","stations","to-activate-stations-you-must-have-at-least-one-bridge-with-a-station","you-must-select-at-least-one-station-or-deactivate-the-stations","to-deactivate-stations-you-must-have-only-one-active-station","impossible-to-remove-station-because-it-contains-exercises","exercise-note","you-are-about-to-save-some-exercises-in-stations-that-not-exist","Timer","Emom","Amrap","enable-stations","station","exercises-pause","lap-pause","lap-pause-field-at-least-five-seconds","create-bw-timer","edit-bw-timer","add-bw-timer","remove-timer","brand","templates","no-activity-in-selected-period","intensity-minutes","resting-hr","prc","rank","heartrate","stress","no-data","rest-stress-duration","high-stress-duration","medium-stress-duration","low-stress-duration","completed","to-do","sleep-FAIR","sleep-POOR","sleep-GOOD","sleep-EXCELLENT","health","garmin-health","resting-calories","active-calories","you-can-view-the-data-up-to-today-date","avg-resting-hr","tot-activities","sleep","avg-body-battery","7-day-average","avg-stress-level","resting","body-battery","highest","lowest","hrv-status","stress-level","score","avg-score","steps","week-goal","deep","light","rem","awake","help","news-title","boxing","punch","you-are-about-to-delete","this-file-is-assigned-to","hit","mode","visibility-days-must-be-greater-than-Booking-hours-by-24-hours","4-week","7-days","week","this-week","single-service","origin","select-operator","operator-name","operator","enable-uptivo-live","enable-activities","enable-on-demand","disable-dashboard","subscriptions","uptivo-on-demand","sensor-already-associated","associate-anyway","this-sensor-is-already-associated-with-these-club-users","this-sensor-is-already-associated-with-this-user","associate","invite-user","create","expired","time","ora","hide","speed","enable","disable","unlimited","create-new","club-message","no-club-messages","select-message","activities-not-enabled-club","dashboard-not-enabled-club","total-space-used","folder-space-used","biometrics","add-measurements","any","new-tag","no-tags-defined","define-tags-help","select-tags","edit-training","trainings","athletes","roles","version","notes","view","shares-count","assign-tags","remove-tags","assign-tags-result","remove-tags-result","send-message-result","share-training-program-result","unshare-training-program-result","send","send-message","share-training-program","share","unshare","progress","min","avg","max","invalid-range-error","invalid-name","creation-date","modification-date","check-browser-settings","open-bridge","open-rooms-totem","open-boxing-totem","check-connections","time-range","range","activation-date","deactivation-date","expiration-date","recurring","recurrence","installments","installment-price","invoices","amount","scheduled-end-date","disabled","mark-as-complete","enter-valid-duration","assigned-to","show-tasks-assigned-to-me","confirm","edit","remove","target","targets","today","power","force","bpm","bpm-avg","max-speed","total-calories","heart-rate-zones","power-zones","total","device-id","ht-id-left","ht-id-right","users","measure","value","select","change-display-group","export","role","print","go-to","actions","follow","user","left","right","full-name","date-time","dont-follow","watch","trainer","trainer-operator","trainers","try-again","something-went-wrong","could-not-get-training","could-not-save-comment","open-in-uptivo","go-to-new-portal","uptivo-fit-moved-title","uptivo-fit-moved-text","add-comment","edit-comment","training-comments-others","top-workout-athlete","top-workout-others","good-workout-athlete","good-workout-others","can-do-more-athlete","can-do-more-others","rate-this-workout-athlete","rate-this-workout-others","no-next-items","no-prev-items","user-training-programs","my-files","message-templates","language","change-picture","remove-this-image","image-uploaded","picture","mark-all-as-read","no-new-notifications","see-all-notifications","go-club-logs","club-logs-registry","no-new-tasks","see-all-tasks","avg-calories","min-hr","avg-speed","avg-pace","pace","avg-power","avg-force","avg-cadence","max-power","avg-time","bar-chart","line-chart","new-email","confirm-email","change-email","change-email-info","add-sensor","add-uptivo-sensor","add-uptivo-sensor-desc","add-mz-sensor","add-garmin-sensor","edit-demo-user","notifications","rankings","ranking","objectives","ranking-prc","public-rankings","no-public-rankings","uptivo-sensor-id","mz-sensor-id","garmin-sensor-id","optional","account","creation-successful","update-successful","operation-failed","operation-complete","changes-saved","delete-successful","get-failed","creation-failed","update-failed","delete-failed","error","badge","server-error","component-load-error","error-license-limit-exceeded","error-no-license","miles","rename","age-comprised-between","value-multiple-of","enter-valid-number","enter-valid-url","enter-valid-ipv4","status","add","cancel","distance","calories","add-new-group","phone","max-hr","avg-hr","logo","delete","change-logo","save-changes","close","clear-selection","resize-logo","submit","email","clubs","club","equipment","guest","athlete","manager","athlete-small","trainer-small","manager-small","gender","text","author","nickname-display","unspecified","males","male","females","female","unspecified-small","male-small","female-small","nickname","country","country-required","time-zone","time-zone-required","add-new","age","physical-settings","weight-ms","Weight-ms","height","height-required","hr-sensor","hr-sensors","remove-sensor","no-associated-sensors","default","custom","name","title","settings","setup","general-settings","user-info","zone-error-msg","target-zone","log-out","profile","duration","days","day","no-training-to-display","duration-small","calories-small","distance-small","speed-small","meters","minutes","seconds","are-you-sure","first-day","date-format","time-format","units","delete-all","provide-valid-date","provide-valid-time","provide-valid-email","yes-leave-club","uptivo-live","training-title","training-description","create-live-training","live-training-start-confirm","live-training-stop-confirm","delete-live-training-confirm","athlete-successfully-remove","successfully-create-live-training","successfully-edited-live-training","successfully-delete-live-training","successfully-emptied-participant-list","successfully-stop-live-training","successfully-start-live-training","stop-successfully","start-successfully","start-error","must-select-trainer","live-training-already-actived","live-training-already-actived-for-trainer","add-athletes","resend-invitation","resend-invitation-confirm","start-live-training","color","trainer-name","select-trainer","change-trainer","select-staff","change-staff","remove-trainer","participants-max","not-able-to-bring-back","Single","Course","participants","onsite","home","onsite-participants","home-participants","remove-class-participants","remove-class-participants-insite","remove-class-participants-home","search","type","place","clear-filters","published","unpublished","proceed-anyway","single","course","group","Group","calendar","calendars","activities","1_day","x_days","every_day","every_x_days","1_month","x_months","every_month","every_x_months","1_year","x_years","every_year","every_x_years","change","added-date","date","start-date","end-date","cannot-delete-status-published","my-activities","rename-file","rename-folder","new-name","trophies","club-trophies","challenges","challenge","description","short-description","create-challenge","challenge-contains-invalid-dates","challenge-start-date-after-end","challenge-end-date-must-be-after-start-date","challenge-cannot-last-more-than-365-days","challenge-exceeded-maximum-months","challenge-succesfully-deleted","challenge-start-date-must-be-in-future","select-image","select-color","club-challenges","uptivo-live-for-windows","uptivo-live-link","link-copied","click-to-copy-link","total-duration","valid-zones-points","valid-zones-time","valid-zones-time-prc","to","active-challenges","history-challenges","credits-and-subscriptions","management","engagement","publish","unpublish","credits","insufficient-club-credits","credits-required","training-type","booking-mode","hours","visibility-days","booking-before","cancel-before","subscription","multiple-values","with-participants","without-participants","queued-participants","publish-failed","publish-successful","unpublish-failed","unpublish-successful","classes-with-participants","classes-with-participants-edit","activity-type","activity-date","onsite-online","day-of-week","sunday","monday","tuesday","wednesday","thursday","friday","saturday","edit-all","lock-all","lessons","location","add-filters","reduce-filters","cannot-delete-class-with-participants","class-is-notbookable-cannot-edit-participants","activities-calendar","pt-calendar","services-calendar","services","service-type","OsteopathyType","MassageTherapyType","NutritionType","BioMeasurementsType","OrthopedicsType","ManicureType","PedicureType","HairRemovalType","BodyCareType","FacialCleansingType","BodyMassagesType","SolariumType","AntiCelluliteTreatmentType","CryotherapyType","PosturalAssessmentType","free-access","click-on-the-locks-to-enable-the-change","activity","you-are-marking-the-athlete-as-present","you-are-marking-the-athlete-as-absent","assign-remove-tags","save-in-club-messages","instant-message","predefined-message","goal-challenge","zone-0-valid","zone-1-valid","zone-2-valid","zone-3-valid","zone-4-valid","zone-5-valid","repetition","select-participants","challenge-assign-mode-open","challenge-assign-mode-invite","workouts","personal","challenge-based-on","based-on","upps-zones","min-target-zone-prc","rewards-structure","only-upps-earned-in-the-following-zones","delete-challenge","invalid-rewards-structure","must-be-greater-than-the-previous","remove-all-athletes","remove-all-athletes-confirm","from","before-the","from-the","participating-athletes","adding-participants-to-a-challenge-that-has-already-started","select-dates","monthly","first-day-of-month","last-day-of-month","self-join-tag","guest-tag","please-enter-a-valid-time","never-ending","has-attended","new-participants-initial-state","absent","present","attendance","edit-subscriptions","select-subscriptions","subscriptions-that-are-not-homogeneous-cannot-be-changed","subscriptions-update-successful","start-time","duration-min","level","defaults-level","tickets","invalid-phone-number","invalid-country-code","too-short","too-long","TimeRange","Today","Yesterday","Tomorrow","Near14Days","LastNext7Days","LastNext30Days","TodayAndTomorrow","SameDayLastWeek","Last12Months","LastMonth","ThisMonth","ThisWeek","LastWeek","Last7Days","Last7DaysAndToday","Last30DaysAndToday","Last365Days","leads","leads-qualified","prospects","clients","lead","lead-qualified","prospect","client","client-from","dashboard","dashboard-settings","trial","change-client-state","client-state","select-period","birthdays","birth-date","award-date","sms-sent-successfully","sms-sent-error","sms","sms-credits","remaining-sms-credits","missing-number","send-sms","all-selected-users-are-without-phone","expired-subscriptions-membership","suspended-date","last-activity","training-date","warning-user-do-not-have-phone","view-training","view-class","expired-subscriptions","subscription-expiration","no-activity","suspended-membership","suspended-memberships","single-ticket","no-show","save-and-remove","comment-trainings","view-profile","view-diary","trainings-with-no-comments","no-show-date","clients-no-trainings","last-comment","athletes-with-no-comments","join-date","selected-interval-cannot-exceed-120-days","new-users","last-training","last-training-date","expired-date","last-booking","phone-number-copied","leads-tooltip","qualified-tooltip","prospect-tooltip","client-tooltip","no-comments-tooltip","no-trainings-tooltip","no-show-tooltip","single-ticket-tooltip","no-activity-tooltip","suspended-membership-tooltip","expired-membership-tooltip","birthdays-tooltip","trophies-tooltip","trial-tooltip","tasks-tooltip","default-training-type","user-has-no-data-to-view","ranking-challenge","scheduled-ranking-challenge","generic-task","call-task","do-not-call-task","assignee","task-is-mandatory-for-generic-task","tasks","task","add-task","edit-task","my-tasks","show-completed-tasks","staff","enable-leads-management","membership","receiver","personal-app","kos","to-avoid","kos-min","Last50Trainings","Last100Trainings","Last250Trainings","Last500Trainings","group-training","Second","BenchPressMaxReps-ms","BenchPressMaxWgt-ms","HandGripTest-ms","LatPullDownMaxReps-ms","LatPullDownMaxWgt-ms","MaxAerobicSpeed-ms","MaxAerobicSpeed-desc","Plank-ms","PushUpMaxReps1Minute-ms","SquatMaxReps1Minute-ms","RowerMaxDist1Minute-ms","x-days-left","expired-x-days-ago","PullUpMaxReps-ms","SquatMaxReps-ms","SquatMaxWgt-ms","documents","active","expiring","medical-certificate","MedicalCertificate","add-document","edit-document","missing","machine-level","workout-reps","na","cardio-zone","choose-cardio-zone","also-shows-clubs-where-is-not-currently-an-athlete","share-count","workout-sheets","add-workout","edit-workout","add-interval-workout","workout-exercise","repsMax-cannot-be-lower-than-reps","assign-subscription","edit-subscription","suspended","early","choose-subscription","remaining","suspend-subscription","blank-manual-reactivation","operation","past-operations","files","pick","add-subscription","exercises","rest","REST","rounds","configure","round-pause","set","select-cardio-zone","ok","RPE","EPCP","repsMax","reps","shared","no-exercise-selected","edit-group","add-new-timer","choose-exercise","add-exercise","add-set","show-fields","add-rest","sheet-intensity","free-group","intensity","round-duration","round-rest","exercise-rest","repetitions","max-repetitions","weight","tempo","superset","Superset","AFAP","EMOM","AMRAP","Interval","est","rest-must-be-greater-than-0","duration-must-be-greater-than-0","exercise-cannot-contains-only-rest","export-workout","clone-to-personal","choose-athletes","create-as-template","interval-training","expand-series","collapse-series","expand","collapse","defaults","workout-definitions","exercise-library","uptivo-editor-exercise-library","exercise-duration","create-group","MainMuscle-Abductors","MainMuscle-Abs","MainMuscle-Adductors","MainMuscle-BackLower","MainMuscle-BackMiddle","MainMuscle-Bicep","MainMuscle-Calves","MainMuscle-Chest","MainMuscle-Forearms","MainMuscle-Glutes","MainMuscle-Hamstrings","MainMuscle-Lats","MainMuscle-Neck","MainMuscle-Obliques","MainMuscle-Quads","MainMuscle-Shoulder","MainMuscle-Traps","MainMuscle-Triceps","MainMuscle-Hips","MainMuscle-Rhomboids","Muscle-Abductors","Muscle-Abs","Muscle-Adductors","Muscle-BackLower","Muscle-BackMiddle","Muscle-Bicep","Muscle-Calves","Muscle-Chest","Muscle-Forearms","Muscle-Glutes","Muscle-Hamstrings","Muscle-Lats","Muscle-Neck","Muscle-Obliques","Muscle-Quads","Muscle-Shoulder","Muscle-Traps","Muscle-Triceps","Muscle-Hips","Muscle-Rhomboids","Equipment-BalanceBoard","Equipment-HandleBands","Equipment-LoopBands","Equipment-Barbell","Equipment-BattleRopes","Equipment-Bench","Equipment-BodyWeight","Functional","Equipment-BOSU","Equipment-PlyoBox","Equipment-Dumbbell","Equipment-FoamRoller","Equipment-PilatesRoller","Equipment-PilatesRing","Equipment-JumpRope","Equipment-Kettlebell","Equipment-LacrosseBall","Equipment-Landmine","Equipment-Strength","Equipment-Cardio","Equipment-Mat","Equipment-Boxing","Equipment-MedicineBall","Equipment-MiniBand","Equipment-Plate","Equipment-PullUpBar","Equipment-Sandbag","Equipment-SlamBall","Equipment-Sled","Equipment-Sliders","Equipment-SuspensionTrainer","Equipment-SwissBall","Equipment-Clubbell","Equipment-TGEEncompass","Equipment-PosturalBench","Equipment-Blast","Equipment-Reformer","Equipment-EVOWorkstation","Activity-Cardio","Activity-BodyWeight","Activity-YogaPilates","Activity-Functional","Activity-Stretching","Activity-Mobility","Activity-Combat","Activity-Strengthening","Wkstag-Stretching","Wkstag-Strengthening","Wkstag-Mobility","Wkstag-Cardio","Wkstag-Combat","Wkstag-YogaPilates","Wkstag-BodyWeight","Wkstag-CrossTraining","Wkstag-BackSchool","Wkstag-BodyBuilding","Wkstag-Endurance","wetag-Equipment","wetag-Activity","wetag-Brand","wetag-MainMuscle","wetag-Muscle","Brand-Triform","Brand-TotalGym","Brand-WellBackSystem","Brand-Flowin","Brand-XeniosUSA","Brand-BlastJump","Brand-BodyExercisePilates","Muscles","Defaults","Front","Side","ThreeQuarters","selected","interval","regular","create-workout","create-timer-workout","create-standard-workout","all-members","this-file-is-visible-to-all-club-members","if-you-want-to-share-it-with-only-some-members-you-need-to-remove-visibility-to-all-club-members","make-the-selected-workout-visible-to-all-members","continuing-you-will-remove-all-shares-with-members","remove-visibility-to-all-members","the-date-range-entered-cannot-include-the-week-you-are-copying","copy-week","apply-this-schedule-to-the-interval","you-are-unsharing-the-file-from","you-are-deleting-the-file-from","you-are-editing-a-workout-shared-with-x-athletes","you-are-cloning-this-workout-and-assigning-it-to-selected-athletes","you-are-cloning-this-workout-so-that-it-becomes-shareable-you-will-find-it-in-the-club-tab","selected-athletes","selected-members","add-participant","Waiting","Processing","Success","Failed","show-athlete-menu","you-have-selected-activities-that-are-not-published","select-athlete","inconsistent-lessons","source","uptivo","you-are-publish-this-exercise","you-are-unpublish-this-exercise","you-are-publish-this-workoutsheet","you-are-unpublish-this-workoutsheet","uptivo-editor-sheets","uptivo-workouts","make-visible-to-all","hide-from-everyone","move-up","move-down","move-left","move-right","rotate-right","rotate-left","clone","image","new","choose-workout","you-are-cloning-this-workout-and-assigning-it-to-selected-athlete","clone-workout","share-workout","create-new-workout","invalid-id","add-image","cash","debit","credit","wire-transfer","other","refund","total-movements","tax-id","translated-exercises","untranslated-exercises","choose-language","movements","method","transaction-type","payment-mode","movement-not-found","add-transaction","currency","movement","movement-not-in-export","movement-in-export","visible-in-export","purchase","check-movement-data","credits-modified-successfully","missing-language","add-circuit","laps","create-for","payment-method","payment","manual","online","operator-email","linked-payment","user-bookings-enabled","user-bookings-disabled","bookings-block-until","bookings-block","delete-booking-limit","user-will-have-active-bookings","rest-at-least-five-seconds","cannot-add-same-exercises-to-set","max-exercises-number-is-9","no-zone","groups","circuit","circuits","on-screen-workout-planning","element","you-are-about-to-clone","classes-participations","past","next","disable-bookings-invalid-medical-certificate","disable-bookings-invalid-mebership","HomeView","uptivo-cloud-description","app-description","signIn","signUp","ClubMessagesView","new-message","type-message-text-here","edit-message","yes","successfully-add-athlete","fast-schedule-challenge-title-calories","fast-schedule-challenge-title-trainings","fast-schedule-challenge-title-points","fast-schedule-challenge-title-valid-zone-points","TrainingProgramsView","share-file","shared-programs","training-programs","size","shared-at","shared-by","no-shares","AthletesBioView","BODY_CIRCUMFERENCES-mg","BODY_MASS-mg","BODY_WATER-mg","BODY_OTHER-mg","SKINFOLD_MEAS-mg","BLOOD_MEAS-mg","TEST-mg","save-batch-measurements-result","AdvancedBiometricsView","no-user-measurements","user-measures","variation","initial","current","measurement-events","UptivoYMCAStep","UptivoYMCAStep.Score-ms","SpO2Prc-sh-ms","SpO2Prc-ms","SpO2Prc-desc","BloodPressureMin-sh-ms","BloodPressureMin-ms","BloodPressureMin-desc","BloodPressureMax-sh-ms","BloodPressureMax-ms","BloodPressureMax-desc","PercentBodyWater-ms","PercentBodyWater-desc","BoneMass-sh-ms","BoneMass-ms","VisceralFatLevel-sh-ms","VisceralFatLevel-ms","PercentBoneMass-sh-ms","PercentBoneMass-ms","ChestCirc-sh-ms","ChestCirc-ms","WaistCirc-sh-ms","WaistCirc-ms","HipCirc-sh-ms","HipCirc-ms","ThighCirc-sh-ms","ThighCirc-ms","ArmCirc-sh-ms","ArmCirc-ms","HeartRateAverage-sh-ms","HeartRateAverage-ms","HeartRateRest-sh-ms","HeartRateRest-ms","manual-measurements","BloodGlucose-ms","BloodGlucose.1-ms","BloodGlucose.2-ms","BloodGlucose.3-ms","BloodGlucose.4-ms","TricepsTK-ms","AbdomenTK-ms","SuprailiacTK-ms","SubscapularTK-ms","AxillaryTK-ms","PectoralTK-ms","ThighTK-ms","CalfTK-ms","BiometricReportView","biometric-report","FitnessTestView","FitnessTest","MaxHrThresholdExceeded","StoppedByUser","rating","Rating.excellent","Rating.good","Rating.aboveaverage","Rating.average","Rating.belowaverage","Rating.poor","Rating.verypoor","results","heart-rates","HrPreTest-ms","HrAt1Min-ms","HrAt2Min-ms","HrAt3Min-ms","Hr1MinPost-ms","HrAtStop-ms","EstimatedVO2Max-ms","TestInterruptedAtTime","BodyCompositionView","BodyComposition","TotalBodyWater-ms","TotalBodyWater-desc","protein-ms","minerals-ms","dry-lean-mass-ms","BodyFatMass-sh-ms","BodyFatMass-ms","muscle-fat-analysis","SkeletalMuscleMass-ms","SkeletalMuscleMass-desc","obesity-analysis","BodyMassIndex-ms","BodyMassIndex-desc","IntracellularWater-ms","IntracellularWater-desc","ExtracellularWater-ms","ExtracellularWater-desc","BoneMineralContent-ms","BodyCellMass-ms","LeftArm-ms","RightArm-ms","Trunk-ms","LeftLeg-ms","RightLeg-ms","CircNeck-sh-ms","CircLeftArm-sh-ms","MuscleCircLeftArm-sh-ms","CircRightArm-sh-ms","CircChest-sh-ms","CircAbdomen-sh-ms","CircHip-sh-ms","CircLeftThigh-sh-ms","CircRightThigh-sh-ms","PercentBodyFat-ms","PercentBodyFat-desc","segmental-lean-analysis","segmental-fat-analysis","ecw-analysis","inbody-score","weight-control-ms","target-weight-ms","fat-control-ms","muscle-control-ms","bf-lb-mass-control","waist-hip-ratio","visceral-fat-level","research-parameters","BasalMetabolicRate-ms","BasalMetabolicRate-sh-ms","obesity-degree","FatFreeMass-sh-ms","FatFreeMass-ms","body-measurements","body-water-composition","segmental-water-analysis","visceral-fat-area","tbw-ffm","FatFreeMassIndex","FatMassIndex","ECWTBWRatio-sh-ms","ECWTBWRatio-ms","ECWTBWRatio-desc","segmental-ecwtbw-analysis","phase-angles","under","normal","over","high","very-high","Menu","user-profile","my-journal","club-profile","ClubSlideShowsView","slideshow","random-order","slideshow-text","ClubLicensesWarningView","warning-upper","club-no-license","club-license-expired","club-license-expiring","please-contact","TimersView","timer","timer-name","circuit-timers","create-timer","edit-timer","warmup","reps-range","cooldown","duration-format","ContextSelectorView","selected-club","ClubSensorsView","fitness-sensors","add-fitness-sensor","add-uptivo-tracking-sensors","other-devices","uptivo-boxing-trackers","device-exists","bike","IntensityFlowsView","duration-error","segments","begin-error","intensity-flows","flow","edit-intensity-flow","create-intensity-flow","avg-intensity","use-cadence","rpm","no","ClubProfileView","max-weekly-bookings","max-monthly-bookings","booking-limits","bookings","athlete-age-period","welcome-users-after","remind-users-use-uptivo","first-training-welcome","x-weeks","club-information","tags","default-booking-settings","club-name","club-exists","delete-club","address","website","club-policy","add-club","uptivo-bar-preview","enable-user-rankings","enable-trainer-rankings","enable-online-payments","enable-uptivo-store","online-payments","state","not-configured","payment-services","Onboarding","Inactive","Active","MissingData","currency-required","payment-account-succesfully-removed","stripe-description","paypal-description","uptivo-commission","paypal-confirm-email","paypal-no-payments","stripe-no-payments","club-code","club-code-text","discount-code","discount-code-text","licenses","show-hide-all","lic-no-valid","DurationExtension-LM","redeem","options","cannot-suspend-an-inactive-subscription","subscription-succesfully-edited","add-new-tag","tag-name","edit-tag","tag","ClubLicensesView","ClubLicenseView","lic-type","lic-apps","lic-hr-sensors","third-party-sensors","lic-trial","lic-valid","BrandView","edit-club","brand-data-updated","brand-profile","brand-information","brand-name","add-new-club","use-logo-for-all","ImageUploaderView","drag-label","loading-label","AccountView","email-updated","email-exists","conflict","confirm-email-required","new-email-required","updated-club-info","created-club","updated-account-info","email-required","nickname-required","account-information","first-name","last-name","leave-club","no-clubs-so-far","delete-account","advanced","delete-account-info","AddUsersView","invited","created","pending-users","self-service","send-link-label","send-link","create-new-user-label","create-new-user","sent-on","expires-on","date-of-birth-required","date-no-greater-than-now","gender-is-required","height-is-required","weight-is-required","user-created-title","user-created-details","user-invited-title","user-invited-details","the-user-with-email","is-already-member","waiting-confirm","create-new-invitation-qr-code","edit-invitation-qr-code","qr-code","link","invitation-qr-codes","the-qr-code-will-be-deactivated","the-qr-code-will-be-reactivated","DemoUsersView","demo-users","demo-user","manage-demo-users","add-demo-sensor","display-group-id","demo-user-created","demo-user-updated","default-display","sensor-id","model","AddOrUpdateUptivoBelt","invalid-uptivo-belt-number","AddOrUpdateMZBelt","invalid-mz-belt-number","AddOrUpdateGarminBelt","invalid-garmin-belt-number","AppManagementView","app-management","registered-apps","generate-code","pending-registrations","IntegrationsView","integrations","edit-device","create-device","device-type","device-model","club-devices","ip-address","BodyCompositionAnalyzer","no-devices","DeviceManagementView","ant-disconnected","disconnected-nodes","not-online","error-last-hour","connection-problems","uptivo-bridges","display-groups","register-new-bridge","add-new-display-group","rename-display-group","name-required","select-valid-color","added-device-group","bridge-name","added-on","move-to","successfully-deleted-device","successfully-renamed-group","successfully-deleted-group","code","required-on","EditUserView","edit-user","yes-delete","yes-confirm","will-remove-from-club","you-have-been-deleted","form-invalid","fix-values","fix-limits","successfully-updated-physical","sensor-created","remove-sensor-confirm","sensor-removed-succesfully","show-in-rankings","send-fitness-test-notification","sensor-removed","minimum-percentage-target-zone","minimum-percentage-target-zone-error","maximum-percentage-target-zone","maximum-percentage-target-zone-error","last","number","awards","badge-earned-x-times","badge-last-earned","training-days","training-schedule-notes","note","training-info","fitness-goals","injuries-history","certificates","training-comments","by","occupation","not-set","FTP","no-awards-in-this-club","city","total-booking","total-bookings","total-trainings","postal-code","address1","address2","last-edit","add-note","edit-note","add-expiration","edit-expiration","expiration-must-be-in-future","FooterView","copyright","GeneralSettingsView","send-email-after","send-monthly-recap-email","send-fitness-test-notifications","mon","sat","sun","metric","imperial","updated-general-settings-msg","GroupTrainingView","group-trainings","training-summary","avg-tz","calories-per-person","InvitationCodeView","accepted","JournalView","journal","month","list","month-totals","week-totals","sessions","total-sessions","cadence","ManageUsersView","balance","current-shares-count","load-program","training-program","no-programs-share","select-training-program","change-target-zone","group-operation-warning","info","surname","warning","error-removing-user-from-club","no-roles-removed","athlete-no-roles-removed","athlete-confirmation-removal","user-permissions-removed","manage-users","add-athlete-failed","add-trainer-failed","add-manager-failed","addcredits-op","remcredits-op","booking-op","unbooking-op","show-in-rankings-table","send-fitness-test-notifications-table","default-display-table","program","tz","message-tag","impossible-follow-yourself","confirm-remove-self-join-tag","confirm-remove-guest-tag","remove-self-join-tags","this-sensor-is-assigned-to-multiple-club-users","NoAccessView","insufficient-rights","no-rights","NotificationView","UptivoLevel0","UptivoLevel1","UptivoLevel2","UptivoLevel3","UptivoLevel4","UptivoLevel5","UptivoLevel6","UptivoLevel7","UptivoLevel8","UptivoLevel9","UptivoLevel10","user-subscription-add-tpl","user-subscription-add-manager-tpl","UserSubscriptionAdd","user-subscription-update-tpl","user-subscription-update-manager-tpl","UserSubscriptionUpdate","user-subscription-delete-tpl","user-subscription-delete-manager-tpl","UserSubscriptionDelete","user-subscription-suspend-tpl","user-subscription-suspend-manager-tpl","UserSubscriptionSuspend","user-subscription-reactivate-tpl","user-subscription-reactivate-manager-tpl","UserSubscriptionReactivate","challenge-started-tpl","ChallengeStarted","challenge-canceled-tpl","ChallengeCanceled","challenge-terminated-tpl","ChallengeTerminated","challenge-awarded-tpl","ChallengeAwarded","OrderFulfilled","UserSubscriptionExpired","UserSubscriptionExpiredDateUser","UserSubscriptionExpiredTicketUser","UserSubscriptionExpiredDateManager","UserSubscriptionExpiredTicketManager","UserSubscriptionExpiring","UserSubscriptionExpiringDateUser","UserSubscriptionExpiringTicketUser","UserSubscriptionExpiringDateManager","UserSubscriptionExpiringTicketManager","AthleteExpExpiredMedicalCertificateUser","AthleteExpExpiredMembershipUser","PoliciesNotAccepted","AthleteExpExpired","AthleteExpExpiredGenericUser","AthleteExpExpiredMedicalCertificateManager","AthleteExpExpiredMembershipManager","AthleteExpExpiredGenericManager","AthleteExpExpiringMedicalCertificateUser","AthleteExpExpiringMembershipUser","AthleteExpExpiringGenericUser","AthleteExpExpiringMedicalCertificateManager","AthleteExpExpiringMembershipManager","AthleteExpExpiringGenericManager","athlete-exp-expiring-medical-certificate-user-tpl","athlete-exp-expiring-membership-user-tpl","athlete-exp-expired-medical-certificate-user-tpl","athlete-exp-expired-medical-certificate-manager-tpl","athlete-exp-expired-membership-user-tpl","athlete-exp-expired-membership-manager-tpl","athlete-exp-expired-generic-manager-tpl","athlete-exp-expired-generic-user-tpl","user-subscription-expiring-date-user-tpl","user-subscription-expiring-ticket-user-tpl","user-subscription-expired-date-user-tpl","user-subscription-expired-ticket-user-tpl","user-subscription-expired-date-manager-tpl","user-subscription-expired-ticket-manager-tpl","credits-sub-tpl","credits-add-tpl","class-unsubscription-tpl","log-class-unsubscription-self-tpl","log-class-unsubscription-tpl","class-subscription-tpl","user-measure-expired-first-tpl","user-measure-expired-tpl","trainer-awards-tpl","level-update-tpl","created-user-tpl","created-invitation-tpl","user-accepted-tpl","user-expired-tpl","invitation-link-expired-tpl","user-left-club-tpl","removed-from-club-tpl","user-is-back-tpl","workout-program-share-tpl","club-message-tpl","started-live-self-tpl","started-live-tpl","credits-purchase-tpl","sub-purchase-tpl","details","resend","UserMeasureExpired","CreatedUser","PendingUserExpired","PendingUserAccepted","CreatedInvitation","InvitationExpired","InvitationAccepted","UserLeftClub","UserIsBack","TrainerAwards","LevelUpdate","WorkoutProgramShare","ClubMessage","StartedLive","ClassSubscription","ClassUnsubscription","CreditsAdd","CreditsSub","PhysicalSettingsView","bpm-cannot-exceed","height-min-error","height-max-error","TrainerDetailsView","trainer-points","comments","no-points-awarded","watched-athletes","RankingsView","last-week","this-month","last-month","this-year","last-year","last-12-months","yesterday","end-date-cannot-be-in-future","end-date-must-be-after-or-equal-start-date","selected-interval-cannot-exceed-one-year","TrainersJournalView","trainers-journal","view-by-club","view-by-week","view-by-user","select-week","select-day","no-trainings","TrainingView","punches-summary","minute-breakdown","punches-min","punches","selection","training-range","training-no-comments","training","delete-training","UnspecifiedType","UnspecifiedServiceType","RunningType","CyclingType","WalkingType","MountainBikingType","CrossCountrySkiingType","DownhillSkiingType","FunctionalTrainingType","RowingType","NordicWalkingType","SkatingType","HikingType","TennisType","SquashType","WeightTrainingType","OtherWithGPSType","OtherWithoutGPSType","TreadmillRunningType","IndoorCyclingType","IndoorWalkingType","HIITType","IndoorRowingType","AquaCyclingType","WaterAerobicsType","YogaType","ZumbaType","BasketballType","VolleyballType","KayakType","BootcampType","CalisthenicsType","ClimbingOutdoorType","ClimbingIndoorType","CrossfitType","DancingType","EMSType","FitboxingType","CombatFitnessType","PadelType","PersonalTrainingType","PilatesType","SwimmingType","TrampolineType","PoleDanceType","GAGType","EllipticalType","SoccerType","HorseRidingType","DressageType","ShowJumpingType","PosturalType","FencingType","StrafitType","ZRFitType","ZRStrongType","ZRBoosterType","ZRBilanInBodyType","ZRHypericeExperienceType","SwitchingType","GolfType","BlastJumpType","hr-zone0-name","hr-zone1-name","hr-zone2-name","hr-zone3-name","hr-zone4-name","hr-zone5-name","elevation","grade","heart-rate","route-info","mail-sent-successfully","copy-link","insert-email","UserBasicDataModalView","welcome","date-of-birth","UserGroupsView","user-groups","members","ClubDeleteModalView","info-text","warning-text","CustomBindings","max-heart-rate","VideosView","will-delete-video","no-videos-in-list","AppVersionManager","new-version-title","new-version-description","reload","later","LiveTrainingsView","join-live-training","training-list","recurrent-live-trainings","participant-limit-exceeded","total-selected-athletes","elapsed-time","delete-live-training","remove-invitation-confirm","max-live-training-number-reached","UptivoLIVEView","uptivo-live-not-available","uptivo-live-not-enabled-club","cannot-delete-running-trainer","cannot-delete-running-trainer-participants","running-status","stopped-status","remove-participants","delete-uptivo-live","UptivoLIVEtrainingView","no-trainer-selected","add-live-training","edit-live-training","subscription-type","save-to-generate-id","ClubClassView","Sun","Mon","Tue","Wed","Thu","Fri","Sat","class-description","invite-booking-mode","open-booking-mode","not-bookable-booking-mode","external-booking-mode","cannot-change-bookingmode-not-bookable","max-slots","schedule","add-new-dates","generated-activities","lesson-schedule","create-class","start","end","schedule-limit-reached","need-at-least-one-place","trainer-must-be-registered","activity-succesfully-updated","schedule-not-generate-event","cannot-unpublish-if-participants","updated","confirm-remove-date","must-have-one-schedule","schedule-contains-invalid-dates","schedule-contains-invalid-dates-end-earlier","schedule-contains-invalid-start-time","schedule-contains-invalid-duration","schedule-exceeded-maximum-months","all-schedule-date-in-past","lesson-schedule-end-date-in-past","calendar-visibility-must-be-greater-booking-before","booking-before-must-be-greater-cancel-before","booking-before-must-be-greater-than-max-cancel-before","cancel-before-must-be-minor-than-min-booking-before","max-schedule-begin-in-future-days-error","max-global-duration-days-error","confirm-publish-lesson-template","cannot-delete-activity-in-the-past","class-is-unpublished-cannot-edit-participants","class-has-no-participants","live-unavailable","full-day","personal-trainer","error-increase-onsite-participants-because-class-has-queue","error-increase-remote-participants-because-class-has-queue","ClubClassesView","club-activities","add-new-course","add-new-class","when","onsite-credits","home-credits","onsite-tickets","home-tickets","selected-activities","PersonalTrainersView","personal-trainers","add-single-lesson","add-lessons","repeat-for","repeat-every","pt-lesson","add-new-pt-lesson","ServicesView","add-service","add-services","service","service-lesson","add-new-service-lesson","ClubClassParticipantsView","booked","waiting","athlete-successfully-add","athlete-successfully-moved","could-not-remove-participant-after-end-date","could-not-remove-participants-after-end-date","could-not-add-participant-after-end-date","the-time-for-unsubscribing-has-passed","unable-to-add-participants-if-the-status-is-unpublished","already-participant","no-registration-required","registrations-are-not-yet-open","registration-is-closed","event-already-started","places-available-exceeded","not-enought-credits","club-limits-exceeded","bookings-blocked-athlete","invalid-payment-option","no-valid-subscriptions","remove-athletes-confirm","move-to-waiting-list","move-to-participants-list","MyActivitiesView","activity-without-live","my-next-activities","participant","queue","AthleteFilesView","athlete-files","upload-successful","upload-failed","move-successful","remove-file-sharing","remove-file","remove-folder","MyFilesView","remove-my-file","remove-my-folder","RefreshPaymentAccountView","please-wait","redirect-to-payment-accont-site","ClubChallengeRankingView","in-progress","target-zone-prc","ClubChallengesView","also-shows-finished-challenges","add-challenge","add-goals","goal","goals","monthly-challenges","running","history","schedule-challenge","schedule-goals","quick-schedule-challenge","scheduled","challenge-start","zr-monthly-upps-goal-challenge","zr-trainings-goal-challenge","the-challenge-will-start-on-the-first-day-of-next-month","challenge-type","generate-default-ZR-Challenges","delete-running-challenge","ClubChallengeView","scheduled-challenge","top-tier","middle-tier","lower-tier","participant-tier","enable-rank-trainings","rank-trainings","ClubObjectiveView","select-badge","threshold","reward","create-goal-challenge","goals-must-be-incremental","all-goals-must-have-badge","scheduled-goal-challenge","CreditsAndSubscriptionsView","AutoAssign","AutoAssign-text","remember-complete-payment-account-setup","credits-description","enable-club-packages-warning","subscription-succesfully-removed","subscription-succesfully-suspended","subscription-succesfully-reactivate","subscription-succesfully-add","confirm-hide-subscription","confirm-show-subscription","confirm-enable-auto-assign","confirm-disable-auto-assign","credits-packages","add-credit-package","add-credits-packages","cancellation-requested","customer","WaitingInitialPayment","InitialPaymentFailed","RetryingPayment","PaymentFailed","CanceledImmediately","CanceledAtPeriodEnd","PaymentPeriodTerminated","draft","void","paid","uncollectible","unpaid","price","plans","confirm-delete-credits-package","confirm-remove-payment-account","confirm-disable-ranking","confirm-disable-kiosk","confirm-disable-kiosk-alert","confirm-remove-paypal","price-required","add-new-subscription","unable-delete-subscription-because-assigned","confirm-delete-club-subscription","define-subscription-plans","duration-days","max-activities","subscription-management","credits-management","subscription-name","limits","remove-athlete-subscription","subscription-update","set-reactivation-date","reactivation-date","suspend-subscription-confirm","reactivate-subscription-confirm","non-renewed","select-plan","purchasable","not-purchasable","cannot-suspend-expired-subscription","cannot-suspend-subscription-for-less-7-days","cannot-suspend-subscription-has-bookings","cannot-remove-subscription-has-bookings","subscription-end-must-be-greater-start","reactivation-date-must-be-in-future","without-subscriptions","from-table","to-table","unsubscribe","cancel-unsubscribe","unsubscribe-immediately","unsubscribe-at-end","ClassParticipantSubscriptionsView","in-queue","participation-status","pt","view-lesson","view-all-participants","VideoCollectionsView","insert-valid-youtube-link","insert-valid-vimeo-link","video-not-found","youtube-link","vimeo-link","video","video-collections","add-new-collection","edit-collection","add-new-video","import-video","create-video","edit-video","confirm-disable","confirm-enable","a-video-must-be-in-at-least-one-collection","this-video-is-present-in-several-collections","on-demand-not-enabled-club","DashBoardView","show-client-status-boxes","show-lists-under-boxes","show-extended-view","DataTables","dt.decimal","dt.emptyTable","dt.info","dt.infoEmpty","dt.infoFiltered","dt.thousands","dt.lengthMenu","dt.loadingRecords","dt.processing","dt.search","dt.zeroRecords","dt.select.1","dt.select.many","Support","videos","guide","localized-guide-url","activity-calendars-title","activity-calendars-txt","adding-participants-title","adding-participants-txt","custom-challenges-title","custom-challenges-txt","monthly-challenges-title","monthly-challenges-txt","garmin-gym-title","garmin-gym-txt","garmin-connect-integration-title","garmin-connect-integration-txt","invite-user-title","invite-user-txt","sensor-pairing-title","sensor-pairing-txt","subscription-management-title","subscription-management-txt","user-profile-title","user-profile-txt","workouts-app-title","workouts-app-txt","workouts-onscreen-title","workouts-onscreen-txt","bridge-registration-title","bridge-registration-txt","bridge-setup-title","bridge-setup-txt","inapp-messages-title","inapp-messages-txt","move-users-tv-title","move-users-tv-txt","real-time-challenges-title","real-time-challenges-txt","timers-intensity-flows-title","timers-intensity-flows-txt","isMobile","test","navigator","userAgent","match","module","hasOwnProperty","exports","global","factory","require","define","amd","moment","this","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","dow","doy","monthsShortDot","monthsParse","monthsRegex","format","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","monthsParseExact","period","root","e","momentDurationFormatSetup","toLocaleStringWorks","toLocaleStringRoundingWorks","intlNumberFormatWorks","intlNumberFormatRoundingWorks","types","bubbles","stringIncludes","str","length","indexOf","repeatZero","qty","result","cachedNumberFormat","locale","cacheKey","map","keys","sort","key","join","cache","Intl","NumberFormat","formatNumber","userLocale","integerString","fractionString","exponentString","useToLocaleString","useGrouping","grouping","slice","maximumSignificantDigits","minimumIntegerDigits","fractionDigits","groupingSeparator","decimalSeparator","localeStringOptions","maximumFractionDigits","minimumFractionDigits","roundingOptions","extend","parseFloat","toLocaleString","temp","toPrecision","toFixed","integerLength","fractionLength","digitCount","digits","digitsArray","reverse","i","carry","parseInt","toString","push","stringRound","replace","exponent","Math","abs","formattedString","shift","durationLabelCompare","a","b","label","engLocale","durationLabelsStandard","S","SS","w","ww","durationLabelsShort","durationTimeTemplates","HMS","HM","MS","durationLabelTypes","string","durationPluralKey","token","integerValue","decimalValue","isArray","array","Object","prototype","call","isObject","obj","find","callback","index","item","each","ret","pluck","prop","compact","unique","_a","intersection","_b","featureTestFormatterRounding","formatter","featureTestFormatter","passed","durationsFormat","durations","args","arguments","arg","precision","template","returnMomentTypes","formattedDurations","dur","outputTypes","child","concat","largest","durationFormat","asMilliseconds","asMonths","isValid","isNegative","remainder","remainderMonths","momentTokens","years","weeks","milliseconds","tokenDefs","escape","general","typeMap","tokenizer","RegExp","apply","stopTrim","localeData","_durationTimeTemplates","useLeftUnits","usePlural","forceLength","trunc","useSignificantDigits","significantDigits","significantDigitsCache","minValue","isMinValue","maxValue","isMaxValue","trim","trimIncludes","rBoth","rAll","trimLarge","trimSmall","trimMid","trimFinal","rawTokens","currentToken","tokens","momentTypes","momentType","rawValue","isSmallest","isLargest","as","wholeValue","floor","subtract","tokenLength","truncMethod","round","truncate","places","factor","pow","foundFirst","bubbled","formatValue","formatOptions","formattedValue","formattedValueEn","formattedValueMS","findType","bubble","bubbleMomentType","targetMomentType","outputType","values","labels","pluralKey","localeDataKey","labelType","toLowerCase","labelKey","autoLocalized","pluralizedLabels","_durationLabelTypes","out","defaultFormatTemplate","_data","firstType","lastType","findLast","init","context","fn","updateLocale","toLocaleStringFormatter","toLocaleStringSupportsLocales","intlNumberFormatFormatter","window","Slim","CustomEvent","params","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","Event","loadImage","file","url","oUrl","img","createElement","onerror","onload","noRevoke","revokeObjectURL","scale","isInstanceOf","createObjectURL","_type","crossOrigin","src","readFile","urlAPI","URL","webkitURL","transformCoordinates","getTransformedOptions","newOptions","width","aspectRatio","crop","naturalWidth","naturalHeight","maxWidth","maxHeight","renderImageToCanvas","canvas","sourceX","sourceY","sourceWidth","sourceHeight","destX","destY","destWidth","destHeight","getContext","drawImage","hasCanvasOption","minWidth","minHeight","pixelRatio","downsamplingRatio","tmp","useCanvas","scaleUp","scaleDown","top","bottom","contain","cover","style","FileReader","fileReader","originalHasCanvasOption","originalTransformCoordinates","originalGetTransformedOptions","orientation","ctx","styleWidth","styleHeight","translate","rotate","PI","opts","hasblobSlice","Blob","webkitSlice","mozSlice","blobSlice","metaDataParsers","jpeg","65505","parseMetaData","that","maxMetaDataSize","data","DataView","markerBytes","markerLength","parsers","buffer","dataView","offset","maxOffset","byteLength","headLength","getUint16","disableImageHead","imageHead","Uint8Array","subarray","ExifMap","Orientation","get","id","getExifThumbnail","hexData","getUint8","exifTagTypes","1","getValue","dataOffset","2","String","fromCharCode","ascii","3","littleEndian","4","getUint32","5","9","getInt32","10","getExifValue","tiffOffset","tagSize","c","tagType","parseExifTag","exif","parseExifTags","dirOffset","tagsNumber","dirEndOffset","parseExifData","disableExif","thumbnailData","disableExifThumbnail","Thumbnail","disableExifSub","disableExifGps","snabbt","tickRequests","runningAnimations","completedAnimations","transformProperty","styles","getComputedStyle","documentElement","Array","OLink","arg1","arg2","arg3","snabbtSingleElement","preprocessOptions","aggregateChainer","chainers","then","len","forEach","chainer","setValue","finish","rollback","cloneObject","isFunction","delay","complete","hasAllDoneCallback","allDone","hasCompleteCallback","valueFeeder","matrix","easing","property","setupAttentionAnimation","stopAnimation","detachChildren","clearOphanedEndStates","currentState","currentAnimationState","stateFromOptions","animOptions","setupAnimationOptions","animation","createAnimation","updateElement","unshift","queueTick","tick","isStopped","loop","restart","pop","createState","createAttentionAnimation","currentAnimation","animatedElement","stop","indexOfElement","arr","el","animations","contains","detachElement","splice","findAnimationState","animationList","getCurrentState","filter","findUltimateAncestor","node","ancestor","parentNode","useFromPrefix","position","rotation","rotationPost","skew","scalePost","opacity","optionOrDefault","startState","endState","polyFillrAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","setTimeout","func","tickAnimations","finishedAnimations","perspective","createEaser","transformOrigin","manualCallback","tweener","startTime","currentTime","stopped","started","manualValue","manualDelayFactor","createValueFeederTweener","createStateTweener","resetFrom","setReverse","updateCurrentTransform","curr","_manualValue","tweenValue","val","tween","forceUpdate","asMatrix","properties","getProperties","updateElementTransform","updateElementProperties","initialVelocity","equilibriumPosition","spring","createSpringEasing","tweenPosition","tweenRotation","tweenRotationPost","tweenScale","tweenSkew","currentMovement","equilibrium","updateMovement","startPosition","velocity","springConstant","deceleration","springDeceleration","mass","springMass","EASING_FUNCS","linear","ease","cos","easeIn","easeOut","easerName","easeFunction","lastValue","easer","v","assignIdentity","copyArray","createMatrix","Float32Array","asCSS","css","clear","x","z","assignedMatrixMultiplication","rotateX","radians","rad","sin","rotateY","rotateZ","ax","ay","tan","res","config","resultState","tweenWidth","tweenHeight","tweenOpacity","dX","dY","dZ","dAX","dAY","dAZ","dBX","dBY","dBZ","dSX","dSY","dSkewX","dSkewY","dWidth","dHeight","dOpacity","oldStart","currentMatrix","option","def","cssPerspective","cssMatrix","object","setElementTransform","stackBlur","mul_table","shg_table","BlurStack","r","g","top_x","top_y","radius","isNaN","imageData","getElementById","HTMLCanvasElement","getImageData","Error","getImageDataFromCanvas","p","yp","yi","yw","r_sum","g_sum","b_sum","a_sum","r_out_sum","g_out_sum","b_out_sum","a_out_sum","r_in_sum","g_in_sum","b_in_sum","a_in_sum","pr","pg","pb","pa","rbs","pixels","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","stack","stackEnd","stackIn","stackOut","mul_sum","shg_sum","processImageDataRGBA","putImageData","toBlob","defineProperty","quality","binStr","atob","toDataURL","charCodeAt","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_typeof","Symbol","iterator","constructor","_classCallCheck","instance","TypeError","toCamelCase","substr","charAt","toUpperCase","getElementAttributes","attributes","l","getOffsetByEvent","offsetX","layerX","offsetY","layerY","mergeOptions","base","additives","optionsToMerge","Key","Events","MimeTypes","jpg","jpe","png","gif","bmp","ImageExtensionsRegex","className","addEvents","events","scope","addEventListener","removeEvents","removeEventListener","getEventOffsetScroll","changedTouches","pageX","pageY","getEventOffset","pageXOffset","scrollLeft","pageYOffset","scrollTop","capitalizeFirstLetter","limit","inArray","needle","resetTransforms","webkitTransform","transform","getExtensionByMimeType","mimetype","getFileName","path","leftPad","padding","getDateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getFileTypeByFile","getFileNameWithoutExtension","Date","blobToFile","blob","lastModifiedDate","loadURL","cb","xhr","XMLHttpRequest","responseType","getMimeTypeFromResponseType","response","cloneFile","base64ToBlob","dataURI","filename","dataPartCleaned","byteString","ab","ArrayBuffer","ia","mimeType","getMimeTypeFromDataURI","createBlob","BB","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","bb","append","getBlob","getAutoCropRect","ratioOut","scaleCanvas","scalar","bounds","targetWidth","targetHeight","cloneCanvas","resizers","CropAreaEvents","ImageEditor","DragDropEvents","_filter","sharpen","mix","weights","katet","sqrt","half","dstData","createImageData","dstBuff","srcBuff","sy","sx","dstOff","cy","cx","scy","scx","srcOff","wt","original","cloneCanvasScaled","duplicate","JSON","parse","stringify","dupe","jpegCompression","dataUri","matches","substring","nodeListToArray","nl","removeElement","removeChild","polarToCartesian","centerX","centerY","angleInDegrees","angleInRadians","percentageArc","startAngle","endAngle","arcSweep","CropArea","n","rect","space","ratio","t","ne","se","sw","nw","_element","_interaction","_minWidth","_minHeight","_ratio","_rect","_space","_rectChanged","_init","lines","handler","appendChild","_btn","btn","_redraw","dispatchEvent","_onStartDrag","_onDrag","_onStopDrag","preventDefault","setAttribute","_this","cssText","_options","_output","_input","_preview","_previewBlurred","_blurredPreview","_cropper","_straightCrop","_previewWrapper","_currentWindowSize","_btnGroup","_maskFrame","_dirty","_wrapperRotation","_wrapperScale","_this2","_container","_wrapper","_stage","_previewMask","Buttons","innerHTML","_utilsGroup","buttonRotateClassName","buttonRotateTitle","_onClick","_onGridChange","_onGridInput","_onKeyDown","_onResize","keyCode","_confirm","_cancel","classList","_rotate","innerWidth","innerHeight","_redrawCropper","area","_updateWrapperScale","_redrawWrapper","_redrawCropMask","minSize","offsetWidth","offsetHeight","wrapperWidth","wrapperHeight","isTilted","_this3","_updateWrapperRotation","angle","x1","y1","x2","y2","rx1","ry1","rx2","ry2","_hideCropper","_showCropper","fromOpacity","_this4","mask","preview","cancelAnimationFrame","_previewSize","_this5","tilted","relativeCrop","imageRatio","sh","offsetLeft","offsetTop","resize","clientWidth","clientHeight","destination","fromRotation","fromPosition","fromScale","dirty","childNodes","_this6","children","destroy","enabled","getBoundingClientRect","buttonCancelClassName","buttonConfirmClassName","buttonCancelLabel","buttonConfirmLabel","buttonCancelTitle","buttonConfirmTitle","FileHopper","_accept","_allowURLs","_dragPath","dataTransfer","areValidDataTransferFiles","items","areValidDataTransferItems","kind","_this7","_onDragOver","_onDragLeave","_onDrop","remote","meta","getData","parsed","isValidDataTransfer","dropEffect","dataValidity","_this8","display","mimetypes","Popover","_inner","body","_this9","_this10","firstChild","intSplit","CropType","Rect","HopperEvents","ImageEditorEvents","SlimButtons","SlimPopover","SlimCount","SlimLoaderHTML","SlimUploadStatusHTML","stringToSize","wrapper","_uid","forceSize","_originalElement","_originalElementInner","_originalElementAttributes","nodeName","nextSibling","insertBefore","_state","_timers","_inputReference","_isRequired","_imageHopper","_imageEditor","_progressEnabled","_resetData","_drip","_hasInitialImage","_initialCrop","_initialRotation","_isBeingDestroyed","supported","_fallback","input","_manualTransform","dimensions","_this11","_isFixedRatio","parts","_cropAuto","_scaleDropArea","_load","_doUpload","_doDownload","_doRemove","_doDestroy","_doEdit","_crop","instantEdit","_isInitialising","querySelector","_getFileInput","_getInitialImage","action","selector","_updateState","server","field","output","err","form","ref","reset","resetFileInput","_this12","_addState","post","_getInputElement","required","defaultInputName","removeAttribute","initialImageSrc","resultHTML","_isImageOnly","labelLoading","hasAttribute","getAttribute","accept","getCommonMimeTypes","allowURLs","fetcher","_isButtonAllowed","_updateProgress","_onInit","_this13","done","didInit","saveInitialImage","containsImage","_save","_toggleButton","loader","paths","querySelectorAll","ringWidth","_this14","ring","_stopProgressLoop","_this15","repeat","button","download","_throwError","statusNoSupport","_onChange","_onCancel","_onConfirm","_onFileOver","_onFileOut","_onDropFile","_onInvalidFile","_onInvalidFileDrop","_removeState","_removeError","click","_this16","_openFileDialog","willRemove","drip","_getDrip","statusFileType","statusImageTooSmall","statusFileSize","maxFileSize","dragPath","_this17","jump","dx","dy","resource","_this18","clearTimeout","_replaceTimeout","_startProgressLoop","_loadTimeout","exit","_onRemoteURLProblem","message","_onOverWeightFile","internalCanvasSize","rewind","_onImageTooSmall","didLoad","_loadCanvas","isUploading","dropReplace","intro","_getIntro","isDetached","_canInstantEdit","revealCanvas","_showButtons","ready","_this19","_applyTransforms","transformedImage","willUpload","_startProgress","_stopProgress","_this20","filters","filterSharpen","transforms","px","py","pw","ph","scalarX","scalarY","transformCanvas","outputImage","_onTransformCanvas","transformedData","didTransform","willTransform","_this21","buttonRotateLabel","_getRatioSpacerElement","marginBottom","didCancel","_hideEditor","_isAutoCrop","_this22","didConfirm","images","_getInOut","outro","zIndex","_showPreview","cropType","_this23","save","_this24","allowUpload","dataBase64","willSave","_store","didSave","_upload","_storeServerResponse","didUpload","_this25","formData","FormData","uploadBase64","requestDecorator","success","statusNode","willRequest","loaded","statusUploadSuccess","html","statusContentLength","didReceiveServerError","statusUnknownResponse","upload","onreadystatechange","readyState","responseText","_obj","show","_this26","_this27","_appendEditor","showRotateButton","rotateButton","inner","_showEditor","_hideButtons","_hideStatus","removeAction","_this28","_clearState","_getOutro","_hideResult","didRemove","_this29","forcedType","forceType","msSaveBlob","href","_this30","matchesAttributeInList","attr","replaceChild","attribute","async","flattenData","setSize","setRotation","setRatio","defaultError","capitalized","instances","passThrough","defaultFalse","defaultTrue","defaultLabel","defaultFunction","levels","defaultSize","toInt","buttonOptions","opt","operamini","croppers","getOptionsFromAttributes","dataset","attrs","getDataset","valueTransformer","_value","isAttachedTo","slim","deps","$","$container","listener","previousToast","toastId","toastType","toastr","$toastElement","clearOptions","getOptions","getContainer","clearToast","toastsToClear","clearContainer","removeToast","optionsOverride","notify","iconClass","iconClasses","subscribe","containerId","addClass","positionClass","appendTo","hideMethod","hideDuration","hideEasing","preventDuplicates","shouldExit","intervalId","$titleElement","$messageElement","$progressElement","$closeElement","closeHtml","progressBar","hideEta","maxHideTime","toastClass","titleClass","messageClass","closeButton","prepend","newestOnTop","showMethod","showDuration","showEasing","onShown","timeOut","hideToast","getTime","setInterval","updateProgress","hover","stickAround","delayedHideToast","onclick","tapToDismiss","stopPropagation","cancelBubble","debug","console","log","override","onHidden","endTime","extendedTimeOut","percentage","is","Qty","isQty","Qty$1","isString","isFiniteImpl","Number","isFinite","isNumber","identity","compareArray","array1","array2","assign","mulSafe","decimals","getFractional","divSafe","num","den","count","QtyError","throwIncompatibleUnits","UNITS","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","<1>","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","BASE_UNITS","UNITY","UNITY_ARRAY","validateUnitDefinition","unitDef","definition","numerator","denominator","unit","PREFIX_VALUES","PREFIX_MAP","UNIT_VALUES","UNIT_MAP","OUTPUT_MAP","j","SIGNATURE_VECTOR","unitSignature","signature","vector","unitSignatureVector","isBase","toBase","k","reduce","previous","QTY_STRING_REGEX","POWER_OP","SAFE_POWER","TOP_REGEX","BOTTOM_REGEX","exec","scalarMatch","nx","UNIT_TEST_REGEX","parseUnits","UNIT_MATCH","UNIT_MATCH_REGEX","parsedUnitsCache","cached","unitMatch","normalizedUnits","initValue","initUnits","isDefinitionObject","baseScalar","_conversionCache","isTemperature","KINDS","-312078","-312058","-312038","-152058","-152040","-152038","-7997","-79","-59","-39","-38","-20","-19","-18","-17","-1","0","20","400","7941","7942","7959","7961","7962","7979","7981","7982","7997","7998","8000","152020","159999","160000","160020","312058","312078","3199980","3199997","3200000","63999998","64000000","1280000000","25599999980","25600000000","511999999980","512000000000","addTempDegrees","deg","tempDegrees","getDegreeUnits","toDegrees","dst","dstScalar","srcDegK","q","toDegK","dstUnits","isDegrees","isCompatible","toTemp","isInverse","inverse","toTempK","baseUnitCache","toBaseUnits","mul","toFloat","isUnitless","toPrec","precQuantity","cleanTerms","combined","NestedMap","getUnits","unitKeys","getKinds","getAliases","unitName","strings","knownSignature","seen","swiftConverter","srcUnits","convert","srcQty","dstQty","eq","sub","rhs","lhsUnits","lhs","rhsConverted","dstDegrees","op1","op2","numden","compareTo","lt","lte","gt","gte","same","every","_isBase","childMap","_units","numIsUnity","denIsUnity","numUnits","stringifyUnits","denUnits","targetUnitsOrMaxDecimalsOrPrec","maxDecimals","targetUnits","targetQty","stringifiedUnitsCache","stringified","tokenNext","unitNames","getOutputNames","acc","unitCounter","unitCount","numeral","_","decimal","binary","unformatRegex","formats","locales","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","Numeral","unformatFunction","regexp","isNumeral","regexps","unformat","stringToNumber","numberToFormat","roundingFunction","leadingCount","abbrForce","int","signed","thousands","negP","optDec","abbr","neg","includes","abbreviations","trillion","billion","million","thousand","delimiters","abbreviation","stringOriginal","symbol","insert","subString","multiplier","correctionFactor","accum","mn","optionals","boundedPrecision","optionalsRegExp","splitValue","minDecimals","register","validate","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","warn","inputString","formatFunction","corrFactor","currI","O","multiply","divide","difference","suffixes","bytes","suffix","bytesMultiplier","symbols","before","after","toExponential","timeArray","8","70","80","7","50","100","6","30","60","90","ko","mapping","dependentObservables","visitedObjects","DEBUG","mappingProperty","realKoDependentObservable","dependentObservable","mappingNesting","recognizedRootProperties","emptyReturn","_defaultOptions","include","ignore","copy","observe","defaultOptions","unionArrays","extendObject","destType","getType","bothArrays","merge","obj1","obj2","merged","fillOptions","rawOptions","otherOptions","mergeArrays","mappedProperties","copiedProperties","utils","arrayGetDistinctValues","ignorableIndexOf","ignoreIndices","mapKey","mappedItem","unwrapObservable","getItemByKey","filterArrayByKey","arrayMap","visitPropertiesOrArrayEntries","rootObject","visitorCallback","propertyName","canHaveProperties","simpleObjectLookup","existingIndex","arrayIndexOf","objectLookup","buckets","findBucket","bucketKey","bucket","isMapped","viewModel","unwrapped","fromJS","jsObject","updateViewModel","mappedRootObject","parentName","parent","parentPropertyName","mappedParent","previousMapping","callbackParams","hasCreateCallback","Function","createCallback","localDO","read","owner","realDeferEvaluation","deferEvaluation","isRemoved","realDependentObservable","DO","isWriteable","isWriteableObservable","wrapped","arrayRemoveItem","write","wrap","computed","withProxyDependentObservable","skip","hasUpdateCallback","update","updateCallback","observable","alreadyMapped","changes","hasKeyCallback","keyCallback","isObservable","observableArray","mappedRemove","valueOrPredicate","predicate","mappedRemoveAll","arrayOfValues","arrayOfKeys","mappedDestroy","mappedDestroyAll","mappedIndexOf","mappedCreate","newValue","currentArrayKeys","newArrayKeys","editScript","compareArrays","ignoreIndexOf","unwrappedRootObject","itemsByKey","optimizedKeys","newContents","passedOver","fullPropertyName","arrayChanged","arrayForEach","indexer","prevMappedProperty","retval","valueToWrite","hasCreateOrUpdateCallback","fromJSON","jsonString","parseJson","updateFromJS","updateFromJSON","toJS","resetDefaultOptions","visitModel","toJSON","plainJavaScriptObject","stringifyJson","propertyValue","previouslyMappedValue","validation","seedId","domData","domDataKey","kv","koUtils","unwrap","registerExtenders","messagesOnModified","errorsAsTitle","errorsAsTitleOnModified","messageTemplate","insertMessages","parseInputAttributes","writeInputAttributes","decorateInputElement","decorateElementOnModified","errorClass","errorElementClass","errorMessageClass","allowHtmlMessages","live","configuration","html5Attributes","html5InputTypes","o","isObservableArray","isValidatable","rules","isModified","insertAfter","newNode","newId","getConfigOptions","contextFor","setDomData","getDomData","nodeType","isEmptyVal","getOriginalElementTitle","savedOriginalTitle","currentTitle","expr","setImmediate","api","isInitialized","cleanUpSubscriptions","dispose","runTraversal","validatables","traverseGraph","objValues","peek","__kv_traversed","flagged","errors","validatable","graphMonitor","valueHasMutated","_destroy","isComputed","collectErrors","showAllMessages","isAnyMessageShown","arrayFilter","arrayFirst","formatMessage","typeAttr","replacements","addRule","rule","addAnonymousRule","ruleObj","onlyIf","condition","addExtender","ruleName","extenders","insertValidationMessage","span","parseInputValidationAttributes","valueAccessor","currentType","writeInputValidationAttributes","contexts","disposeWhenNodeIsRemoved","makeBindingHandlerValidatable","handlerName","bindingHandlers","allBindingsAccessor","bindingContext","setRules","ruleDefinitions","targetValue","unwrappedTargetValue","nonRules","minMaxValidatorFactory","validatorName","isMaxValidation","comparisonValue","regex","valMatches","comparisonValueMatches","validateAsync","isValidating","callBack","valObj","msg","__valid__","validator","testVal","minLength","maxLength","step","dif","phoneNumber","otherValue","collection","external","externalValue","counter","validationMessageElement","renderTemplate","applyBindingsToNode","validationMessage","validationElement","textInput","obsv","isVisible","isCurrentlyVisible","setHtml","shouldShow","hasModification","data-orig-title","newConfig","validationOptions","throttleEvaluation","throttle","setError","previousError","previousIsValid","notifySubscribers","clearError","h_change","h_obsValidationTrigger","validateObservable","_disposeValidation","removeAll","ruleContexts","_currentLocale","_locales","localize","msgTranslations","applyBindingsWithValidation","rootNode","applyBindings","origApplyBindings","validatedObservable","initialValue","pattern","dateISO","digit","phoneUS","equal","notEqual","jQuery","UTCDate","UTC","UTCToday","alias","extras","DateArray","valueOf","new_array","Datepicker","_process_options","dates","viewDate","defaultViewDate","focusDate","isInput","inputField","component","hasClass","hasInput","isInline","picker","DPGlobal","_check_template","leftArrow","rightArrow","_buildEvents","_attachEvents","rtl","viewMode","startView","calendarWeeks","_allow_update","setStartDate","_o","startDate","setEndDate","endDate","setDaysOfWeekDisabled","daysOfWeekDisabled","setDaysOfWeekHighlighted","daysOfWeekHighlighted","setDatesDisabled","datesDisabled","fillDow","fillMonths","showMode","_resolveViewName","default_value","ex","lang","minViewMode","maxViewMode","multidate","multidateSeparator","weekStart","weekEnd","parseFormat","Infinity","_local_to_utc","_zero_time","parseDate","assumeNearbyYear","plc","_plc","grep","word","year","_events","_secondaryEvents","_applyEvents","evs","ch","ev","on","_unapplyEvents","off","keyup","proxy","keydown","paste","showOnFocus","focus","blur","_focused_from","immediateUpdates","changeYear changeMonth","mousedown","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","altdate","local_date","_utc_to_local","trigger","ix","formatDate","enableOnReadonly","container","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","datepicker","dateString","originalEvent","clipboardData","setDate","utc","getTimezoneOffset","local","_zero_utc_time","getUTCFullYear","getUTCMonth","getUTCDate","getDates","getUTCDates","selected_date","clearDates","autoclose","setDates","setUTCDates","setUTCDate","formatted","getFormattedDate","getStartDate","updateNavArrows","getEndDate","calendarWidth","outerWidth","calendarHeight","outerHeight","windowWidth","appendOffset","parentsZindex","parents","itemZIndex","zIndexOffset","removeClass","yorient","oldDates","fromArgs","dateWithinRange","fill","dowCnt","daysMin","localDate","setRange","getClassNames","cls","todayHighlight","dateIsDisabled","getUTCDay","_fill_yearsView","cssClass","currentYear","startYear","endYear","startStep","endStep","thisYear","classes","tooltip","noop","startMonth","endMonth","todaytxt","cleartxt","titleFormat","toggle","todayBtn","clearBtn","prevMonth","getDaysInMonth","nextMonth","setUTCFullYear","clsName","ws","th","yth","calWeek","beforeShowDay","empty","monthsTitle","beforeShowMonth","moDate","beforeShowYear","beforeShowDecade","beforeShowCentury","visibility","dir","monthChanged","yearChanged","navArrow","closest","modes","navStep","moveMonth","moveYear","_setDate","setUTCMonth","_toggle_multidate","toggleActive","which","moveDay","newDate","moveWeek","new_month","new_date","mag","moveAvailableDate","weekOfDateIsDisabled","date2","date1","newViewDate","dateChanged","keyboardNavigation","ctrlKey","shiftKey","DateRangePicker","inputs","jquery","datepickerPlugin","dateUpdated","pickers","updateDates","updateRanges","updating","dp","old","internal_return","$this","elopts","prefix","re_lower","opts_from_el","locopts","locale_opts","opts_from_locale","toArray","daysShort","navFnc","isLeapYear","validParts","nonpunctuation","toValue","toDisplay","separators","assumeNearby","part","part_re","fn_map","dateAliases","tomorrow","applyNearbyYear","filtered","setters_order","setters_map","yyyy","fparts","match_part","cnt","_date","D","DD","seps","headTemplate","contTemplate","footTemplate","noConflict","isMenuShown","inspinia_fix_height","heightWithoutNavbar","navbarHeigh","wrapperHeigh","initTemplate","applyBodyWithHiddenMenu","ibox","slideToggle","toggleClass","toggleMenu","SmoothlyMenu","bind","slimScroll","railOpacity","scroll","popover","hideMenuIfIsShown","animationHover","fadeIn","removeAttr","WinMove","sortable","handle","connectWith","tolerance","forcePlaceholderSize","disableSelection","menu","animate","marginLeft","safeGet","Utilities","ajaxOp","authManager","getApiTokenAsync","ajaxConfiguration","startsWith","CONFIGURATION","BASE_API_URL","headers","noAuth","isUndefined","payload","contentType","forceJson","processData","isRaw","ignoreCodes","ignoreStatus","trackerManager","logError","requestBody","responseBody","errorMsg","errorTitle","responseJSON","ErrorType","ajax","durationRegEx","colors","tagColors","tagsRandomColor","idx","hash","lightenColor","hex","amt","usePound","randomColor","betterRandomColor","TextEncoder","encode","sum","getInitials","initials","preferenceSortingCriteria","idxA","SYSTEM_MEASURES","SORTING_PREFERENCE","Name","idxB","loc","resourceManager","getCurrentLocale","naturalSort","toLocaleLowerCase","calcEvaluationIndex","EVALUATIONS","Value","self","parseDuration","durationString","confirmWindow","confirmButtonText","cancelCallback","deleteElement","swal","showCancelButton","cancelButtonText","confirmButtonColor","closeOnConfirm","confirmed","elem","blobToFormData","suggestName","propName","numeralFmt","fmt","localizedToJavaScriptNumber","tSym","dSym","strip","stripHtml","stripNewlines","decodeEntities","weekdayNameToNumber","dayname","weekdayBefore","weekDay","isAfter","weekdayAfter","isBefore","openModal","modalId","modal","closeModal","some","redirectTo","route","getTable","tableId","DataTable","isDataTable","tagsGetTableSearch","columnName","dt","utilities","column","tagsTableFilterDecode","tagsSetTableSearch","tagIds","tagsTableFilterEncode","draw","joinMode","isGuest","tagId","TAGS_FILTER_CHAR","TAGS_ENCODE_CHARS","TAGS_FILTER_SEPARATOR","first","tagS","drawTableTags","tagsRow","Text","avatarFilter","WATCH_MODES","NONE","FILTER_CHAR","avatarColumn","photoUrl","fallbackUrl","editable","avatar","generateAvatar","isInteger","favoriteAvatar","avatarImg","ICONS","backgroundColor","fontColor","DEFAULT_PHOTO","formatDuration","isDuration","formatDurationShort","getDurationMs","formattedDuration","weekDayNumber","dayName","dn","getTrainingTypeIconUrl","getServiceTypeIconUrl","getTrainingTypeName","getServiceTypeName","getDistance","p1","p2","dLat","lat","dLong","lng","atan2","CONSTANTS","EARTH_RADIUS_METERS","defaultGet","defaultUpdate","defaultDelete","defaultCreate","defaultPartialUpdate","getPercentage","getMomentDateFormat","uptivoFormat","datetime","ui","DateFormat","formatTimeStamp","ts","sep","withSeconds","getMomentTimeFormat","TimeFormat","formatTime","getMomentTimeSortable","getMomentDateSortable","getMomentDateTimeSortable","removeIllegalFilenameChars","getDateOfISOWeek","simple","getDay","ISOweekStart","showLoader","hideLoader","setNoAccessComponent","routing","changeComponent","getLanguageCode","languageEnglishName","LANGUAGES","shortname","ceilToTens","ceil","floorToTens","roundToTens","convertToMiles","km","convertToFeet","validateSensorId","isRequired","keepScrollBarAtElement","scrollHeight","pad","average","translateUptivoLevel","generateWorkoutSheetId","folder","fileId","clubId","userId","trainingDuration","begin","Begin","End","diff","Duration","trainingZonesBar","totalZonesTime","zones","svg","zoneDuration","pos","ENUMS","ZONE_COLORS","openWatchMenu","$element","$row","currentWatchMode","setWatchModeFx","$menu","FOLLOW","NOTIFY","generateActivityIcon","paddingLeft","paddingTop","displayName","TrainingType","CalendarType","Color","generateActivityWhen","userData","generateSubscriptionCircleById","subscriptionId","clubSubscriptions","ClassSubscriptionId","parseAddAtleteAsParticipantsErrors","responseErrorArray","errorsArray","NotifManager","computedTemplates","notification","SUPPORTED_NOTIFICATIONS","computeDetails","userInfo","messageEventName","has","Actor","UserId","Target","Nickname","LastMeasurementUtc","LastMetricUtc","OrderType","computeEvent","kebabCase","computeSearch","uniq","notificationEvent","AvailableActivities","ExpirationType","Modernizr","localstorage","localStorage","getItem","fixedsidebar","fixednavbar","boxedlayout","fixedfooter","metisMenu","_jquery","__esModule","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Default","doubleTapToGo","activeClass","collapseClass","collapseInClass","collapsingClass","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","transition","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","Util","Boolean","transitionEndEmulator","called","one","QUnit","transitionEndTest","special","bindType","delegateType","handleObj","MetisMenu","_config","_getConfig","_transitioning","not","_parent","_list","_hide","_show","onTransitionStart","_doubleTapToGo","_el","startEvent","isDefaultPrevented","siblings","setTransitioning","onTransitionEnd","isTransitioning","_jQueryInterface","fun","notifManager","UptivoUserDataProvider","_updateUserInfo","setUserId","_updateRoles","AvailableRoles","highestRole","setHighestRole","_updateWatch","found","Watches","WatcherId","WatchedId","Type","NotifyWatcher","_deleteWatch","watcherId","watchedId","updateWatchFromApi","prm","Deferred","userService","getWatch","resolve","fail","reject","addWatch","deleteWatch","updateWatchesFromApi","getWatches","watches","updateRolesFromApi","getRoles","eventBus","updateUserFromApi","getSelf","UserInfo","ext","IsUptivoAdmin","isUptivoAdmin","IsUptivoEditor","isUptivoEditor","setCurrentLanguage","Language","raw","userAssets","unionBy","Athlete","Trainer","Manager","Owner","hasAthleteRole","hasRole","USER_ROLES","ATHLETE","hasTrainerRole","TRAINER","hasManagerRole","MANAGER","hasOwnerRole","brandId","OWNER","resourceId","USER","ALL","ClubId","toInteger","BrandId","getWatchNotify","getTrainerWatchNotifyStatus","isInOneOfRoles","managerClubs","trainerClubs","getClubs","getBrands","getBrandId","WEEK_START_DAYS","MONDAY","SATURDAY","SUNDAY","DATE_FORMATS","DMY","MDY","YMD","TIME_FORMATS","FULL_CLOCK","HALF_CLOCK","METRIC","IMPERIAL","ZONE_0","ZONE_1","ZONE_2","ZONE_3","ZONE_4","ZONE_5","GENDERS","UNSPECIFIED","MALE","FEMALE","GENDER_ICONS","SUBSCRIPTION_TYPE","INVITE","OPEN","EXTERNAL","SUBSCRIPTION_TYPE_ICONS","TRAINING_COLORS","GROUP_TRAINING_BG_COLOR","INDIVIDUAL_TRAINING_APP_BG_COLOR","INDIVIDUAL_TRAINING_CLUB_BG_COLOR","INDIVIDUAL_TRAINING_LIVE","DISPLAY_GROUP_COLORS","others","Icon","WEIGHT","HEIGHT","CARDIO_SENSOR_NAMES","All","Uptivo","Licensed","LICENSE_NAMES_OVERRIDES","ClubPlus","GreenMonthly","OrangeMonthly","RedMonthly","POWER_ZONES_EFFORTS","HR_ZONES_EFFORTS","POINTS_PER_MINUTE","MM_IN_INCH","CM_IN_FOOT","INCH_IN_FOOT","METERS_IN_MILE","METERS_IN_KILOMETER","LBS_IN_KG","TICKS_IN_SECOND","SECONDS_IN_MINUTE","TICKS_IN_MINUTE","CM_IN_INCH","DEFAULT_POWER_OUTPUT","Unspecified","Male","Female","s4","random","guid","guidShort","CLASSES","WEMUSCLES","WEEQUIPMENTS","WEACTIVITIES","WEBRANDS","EXERCISE_TAGS","MainMuscle","Muscle","Equipment","Activity","Brand","WSACTIVITIES","GROUPS","BODY_CIRCUMFERENCES","SKINFOLD_MEAS","BODY_MASS","BODY_WATER","BODY_OTHER","BLOOD_MEAS","TEST","PRC_DEPENDENCES","TotalBodyWater","FatFreeMass","BodyFatMass","SkeletalMuscleMass","BoneMass","USERS_ENDPOINT","TRAININGS_ENDPOINT","GROUP_TRAININGS_ENDPOINT","BRANDS_ENDPOINT","CLUBS_ENDPOINT","CLUB_RANKINGS_ENDPOINT","RANKINGS_ENDPOINT","COUNTRIES_ENDPOINT","SENSORS_ENDPOINT","USERRELATIONSHIPS_ENDPOINT","INVITATION_ENDPOIND","DEVICES_ENDPOINT","DEMO_SENSORS_ENDPOINT","NOTIFICATIONS_ENDPOINT","UPTIVO_BRIDGES_ENDPOINT","DISPLAY_GROUPS_ENDPOINT","TRAINING_COMMENTS_ENDPOINT","MEASURE_TYPES_ENDPOINT","USER_MEASURES_ENDPOINT","GENERIC_DEVICES_ENDPOINT","SHARING_ENDPOINT","APPS_ENDPOINT","CIRCUIT_TIMERS_ENDPOINT","BIOMETRICDATA_ENDPOINT","CLUBSENSORS_ENDPOINT","INTENSITYFLOWS_ENDPOINT","CLUBSLIDESHOWS_ENDPOINT","LICENSES_ENDPOINT","CLUB_TAGS_ENDPOINT","LIVE_HOST_ENDPOINT","LIVE_TRAINING_ENDPOINT","LIVE_RECURRENT_ENDPOINT","LIVE_CLASSES_ENDPOINT","CLASSES_ENDPOINT","PAYMENTS_ENDPOINT","CURRENCIES_ENDPOINT","CHALLENGES_ENDPOINT","SUBSCRIPTIONS_ENDPOINT","BADGES_ENDPOINT","CLUB_APP_LINKS_ENDPOINT","ATHLETE_EXPIRATIONS_ENDPOINT","ATHLETE_NOTES_ENDPOINT","ATHLETE_TASKS_ENDPOINT","CLUB_VIDEO_COLLECTIONS_ENDPOINT","CLUB_VIDEOS_ENDPOINT","DASHBOARDS_ENDPOINT","WORKOUTDEFS_ENDPOINT","WORKOUTSHEETS_ENDPOINT","BRIDGE_WORKOUTS_ENDPOINT","CLUB_TRANSACTIONS_ENDPOINT","CLUB_POLICIES_ENDPOINT","CLUB_KIOSKS_ENDPOINT","BASE_FILE_SERVICE","LOCAL_BASE_API_URL","LOCAL_BASE_FILE_SERVICE","TESTING_BASE_API_URL","TESTING_BASE_FILE_SERVICE","SPA_MASTER_VIEW_URL","AUTH_COMPONENTS_URL","AUTH0_CLIENT_ID","AUTH0_DOMAIN","AUTH0_UPTIVOAPI_ID","SPA_COMPONENTS_URL","DEFAULT_DEMO_PHOTO","LOGO_URL","RESIZED_PICTURE","DEFAULT_DATE_FORMAT","MAX_BPM","SIDE_MENU_ID","UNLIMITED_RESOURCES_LICENSE","DEFAULT_TARGET_ZONE_LOW_PRC","DEFAULT_TARGET_ZONE_HIGH_PRC","NEWS_IS_NEW_DAYS","NEWS_DATA_URI","ServiceLocator","AppContextManager","ObjectAccessConfiguration","AuthManager","CountryService","TimeZoneService","TRAINING_TYPES","SERVICE_TYPES","TRAINING_IMAGES_URL","SERVICE_IMAGES_URL","BADGE_IMAGES","badgeId","STATION_COLOR_ARRAY","WORKOUT_IS_NEW_DAYS","serviceLocator","ControlBase","ImageUploader","extraconfigOb","imageUriOb","uploadUriOb","modifiedOb","resultOb","MIN_COMPONENT_WIDTH","imageUri","uploadUri","modified","$input","$img","confirmText","cancelText","editText","removeText","slimConfig","buttonEditLabel","buttonEditTitle","buttonRemoveLabel","buttonRemoveTitle","_updateElementWidth","_create","newWidth","outAspect","_calcWidth","initialize","newImageUri","newUploadUri","maxSize","needsRecreate","needsReload","load","UptivoCalendar","allBindings","CURRENT_MONTH_CLASS","MONTH_VIEW_CLASS","WEEK_VIEW_CLASS","calendarMode","currentDay","preventHashChange","weekTotalTemplate","calendarRendering","refreshInfoText","currentMonth","loadingSpinner","addCalendarModeButton","fullCalendar","header","center","getCurrentLanguage","defaultView","eventOrder","timeFormat","droppable","fixedWeekCount","allDaySlot","slotEventOverlap","slotDuration","displayEventTime","displayEventEnd","timezone","eventLimit","slotLabelFormat","defaultDate","now","firstDay","startWeekDay","viewRender","granularity","viewSpec","durationUnit","intervalStart","intervalEnd","endOf","startOf","trainingsDef","getTrainingSummaries","combMeasuresDef","getMeasureEvents","whenAll","trainingsRes","combMeasuresRes","combMeasures","updatedEvents","Data","allDay","subEvents","parentEvents","isSubEvent","subEvent","GroupTrainingId","TrainingId","isBetween","IsLive","borderColor","cm","TimeStamp","DataType","textColor","startOfWeek","$summary","$week","endofweek","countSessions","sumDuration","points","sumPoints","sumCalories","updateWeeklyTotals","always","eventClick","navigateTo","listCalendarValue","navigateBackStack","MeasureEventId","eventRender","eventElement","icon","$overlay","tt","UptivoEventsCalendar","closeEventMenu","translateBookingMode","bookingMode","minTime","maxTime","selectable","columnHeaderFormat","startTimeFilter","endTimeFilter","clubsService","getClubClasses","searchText","locationFilter","trainerNameId","trainingTypeFilter","activityTypeFilter","placeFilter","statusFilter","participantsFilter","subscriptionNameId","dayOfWeekFilter","classesRes","hour","setItem","generateFilterOptionsObj","$calendarElement","participantsButtonVisible","PublishState","$containerElement","cec","onScreenOffset","ClassId","updateClassPublishState","ClassType","calendarType","tooltipTitle","BookingMode","tooltipTrainingType","tooltipDate","tooltipTime","trainerName","TrainerName","TrainerPictureUri","tooltipTrainerAvatar","tooltipTrainer","tooltipLocation","Location","tooltipOnsitePlaces","InSiteParticipants","MaxInSiteParticipants","InSiteQueued","CreditsCostInSite","tooltipRemotePlaces","RemoteParticipants","MaxRemoteParticipants","RemoteQueued","CreditsCostRemote","tip","border-color","border-left","margin-left","min-width","overflow","background-color","startTitle","iconType","trainerAvatar","eventParticipants","customContent","eventAfterAllRender","userIsManager","singleCalendarSelectionSchedule","scheduleStartDate","singleStartTime","singleDuration","asMinutes","UptivoGeneratedActivitiesCalendar","addOrRemoveExceptionToScheduleDays","classesService","updateExceptionClassScheduledDays","classInfo","Class","scheduleDays","ScheduledDays","Response","eventLimitText","moreNumber","classAlreadyFinishedOrWithoutPermission","getClassScheduledDays","scheduleDaysRes","UptivoScheduleCalendar","selectedWkSubscription","selectedWk","wk","displayEventStart","selectAllow","selectInfo","asHours","views","basic","columnFormat","agenda","scheduleCalendarDisabled","wksDurationMinutes","wksDuration","eventResize","eventDrop","UptivoPTCalendar","clickCount","publishClass","eventData","getPtClasses","classType","PictureUri","Email","FirstMidName","LastName","selectedTrainer","editData","maxInSiteParticipants","availableRemotePlaces","creditsCostInSite","creditsCostRemote","visibilityPreDays","cs","InSite","Remote","ServicesCalendar","getServicesClasses","serviceTypeFilter","tooltipServiceType","CircuitsCalendar","getBridgeWorkoutsClasses","circuitsFilter","displayGroupFilter","eventDisplayGroup","clubDisplayGroups","DisplayGroupId","eventDisplayGroupName","eventDisplayGroupColor","tooltipDisplayGroup","ICheckBox","isCheckbox","isRadio","checkedValue","pureComputed","useElementValue","valueIsArray","rawValueIsNonArrayObservable","oldElemValue","iCheck","checkboxClass","radioClass","disabledClass","isChecked","checked","elemValue","computedContext","isInitial","getDependenciesCount","modelValue","writableValue","saveOldValue","addOrRemoveItem","expressionRewriting","Ea","UptivoRadioButton","WRONG_SOURCE","WRONG_NAME","WRONG_FIELDS","getList","prev","dataValueField","dataTextField","_validate","resultHtml","$html","inputHtml","labelHtml","$ul","rebind","DatePicker","IRadioButton","UptivoMap","coordinates","markersDistance","currentBounds","mapBounds","posMarker","startSelectionMarker","endSelectionMarker","SQUARE_ROUNDED","mouseMoveEventHandler","timestamp","hideMarker","geopos","coordinatesArray","findClosestFromTimestamp","placeMarker","viewBounds","getBounds","panTo","fitPosition","selectionEventHandler","google","maps","LatLngBounds","pathRange","drawPath","setVisible","setPosition","fitBounds","isEmpty","distanceIcon","anchor","fillColor","fillOpacity","strokeWeight","labelOrigin","pinIcon","coords","pathBounds","markersMinDistance","distSep","inRange","setMap","cInRange","cDistance","totalDistance","line","cColor","Polyline","strokeColor","strokeOpacity","Marker","fontSize","Map","zoom","streetViewControl","mapTypeId","mapTypeControlOptions","MapTypeControlStyle","DROPDOWN_MENU","mapTypeIds","scrollwheel","scaleControl","visible","minLng","minBy","maxLng","maxBy","minLat","maxLat","getSouthWest","getNorthEast","addListener","closestCoord","point","minIdx","minDistance","findClosestFromScreenCoords","latLng","HeightWidget","heightObservable","ionRangeSlider","grid","onFinish","grid_num","prettify","feet","ftOnly","inOnly","slider","Tabs","tabs","currentTabId","CONTENT_CONTAINERS_CLASS","NAV_ID","tabsArray","currentTab","nav","tab","rowHtml","Id","Title","tabsHtml","UptivoTrainingZones","sourceZones","zonesData","totalDurationTime","revIdx","zoneIndex","durationPrc","totalPrc","sumBy","buildZonesData","zone","UptivoZoneLimits","sourceName","masterSwitch","ControlFactory","bindings","createControl","control","AMChart","UptivoDataTable","processing","loading","originalConfig","dataTable","_hasRowButtons","columnDefs","defaultContent","paging","dom","searching","buttons","buttonLiner","fixButtons","watchButtonFx","watchButtonInit","tagsButtonFx","infoCallback","pre","currentSearch","selectedTags","selectedButtonFx","selectedButtonInit","dataTableWrapperFx","actionExt","baseAction","baseActionFx","stateSave","stateDuration","table","filterWatchButtons","nodes","rowButtons","$button","row","$searchInput","tagsFilters","$tagsHtml","$filtersRow","tagsList","showObservable","selectedObservable","tagClicked","selList","clearTagSelection","tagBorderColor","tagColor","tagBgColor","fx","$i","dataIndex","buttonConfig","computedArraySubscriptionFx","newValues","updateTableData","differenceBy","dataId","startBk","page","observableArraySubscriptionFx","added","deleted","deletedAll","rows","initialRowsCount","ids","addedSelected","columns","adjust","_dataSubscription","_processingSubscription","stateLoadParams","rowId","selectAll","dtab","chk","containers","headerRow","deselect","allbindings","cfg","fontFamily","chart","AmCharts","makeChart","beforePrint","afterPrint","printWidth","validateNow","UserService","getUserById","getDemoUserById","getUserBasicDataById","updateDemoUser","DemoAthleteId","getUserSensors","addSensor","UptivoCodeRe","validUptivoSensor","uptivoCode","parseUptivoSensor","HardwareId","ModelId","getUptivoSensorModel","belt","Model","addUptivoSensor","MZCodeRe","validMZSensor","mzCode","parseMZSensor","antId","padStart","getMZSensorModel","addMZSensor","GarminCodeRe","validGarminSensor","garminCode","parseGarminSensor","getGarminSensorModel","addGarminSensor","deleteSensor","sendJoinLink","createUser","ISO_8601","updateUser","RowVersion","updateInvitation","invitationCode","deleteInvitationByCode","deleteUser","getUserRoles","getCurrentUserSensors","updateCurrentUser","getCurrentUser","getHeartbeats","toISOString","getPower","getCadence","getGeopositions","getHits","getDefaultHeartZones","birthday","birthdayFormat","maxRate","Zone5Bpm","Zone4Bpm","Zone3Bpm","Zone2Bpm","Zone1Bpm","Zone0Bpm","getDefaultFTP","totalTime","zoneTimeTicks","DurationTicks","dataType","athleteId","getMeasures","excludeEvents","getAllMeasures","getAllMeasureEvents","deleteProfileImage","uploadProfileImage","getClubLicenseExpirations","updateTargetZone","loPrc","hiPrc","CustomTargetZone","TargetZoneLowPrc","TargetZoneHighPrc","getTrainingPrograms","getClubTags","getlistUserPersonalFiles","deleteUserPersonalFile","deleteUserPersonalFolder","folderTagName","encodeURI","moveUserPersonalFile","xtags","renameUserPersonalFile","fileName","renameUserPersonalFolder","oldFolderTagName","newFolderName","getUserSubscriptions","getUserExpirations","getUserNotes","getUserBadges","getUserAssignedTasks","getUserExpiringTasks","query","getGarminDailySummary","getGarminHrv","getGarminPulseOx","getGarminSleep","getGarminStress","getHealthActivity","getGarminSleepDashboard","getGarminHrvDashboard","garminDailySummaryDashboard","getGarminStressDashboard","getHealthActivityDashboard","batchUpdateClubPolicyUserStates","updatesDto","cleanNode","elBindings","render","allowEmpty","filterWatch","filterSelected","filterTags","columnVisibility","i18n","exportData","exportOptions","alignmentForCols","getAlignmentForCols","_relToAbs","linkHost","_link","host","pathname","protocol","outerHTML","addRowWithStyle","ien","footer","frame1","frameDoc","contentWindow","contentDocument","head","customize","frames","autoPrint","Api","oApi","_fnProcessingDisplay","colheader","aoColumns","BrandsService","currentClub","getCurrentClub","setCurrentClub","getBrandsByUserId","getClubLicenses","updateBrand","brandLogoForAllClubs","replaceClubs","brandsService","ClubsService","createClub","getClubsForUser","getClubById","getClubSummaryById","getUsers","getSensorUsersInClub","hardwareId","encodeURIComponent","deleteSensorFromUsersInClub","getUsersRoles","getUsersMgmt","getClubAthleteCredits","getUserCreditsTransactions","createUserCreditsTransaction","getClubSensors","getClubIntensityFlows","checkIfUserInClub","userEmail","getAthletesTrainingTotals","getAthletesBasicInfo","getClubStaffBasicData","managers","getAthletesCredits","getAtletesLastMeasures","getAthletesRankings","createInvitationLink","getInvitationLinks","getInvitations","createInvitation","getDisplayGroups","getDevices","updateDevice","UptivoBridgeId","deleteDevice","getUptivoBridgeState","deleteDisplayGroup","createDisplayGroup","createDemoSensor","updateDemoSensor","removeDemoSensor","getDemoSensors","getPendingDevicesRegistrations","getNewPendingUsers","generateDeviceRegistrationCode","updateDisplayGroup","displayGroupId","renameDisplayGroup","addAthlete","addManager","addTrainer","removeAthlete","removeManager","removeTrainer","updateClub","partialUpdateClub","deleteClub","getRankings","getCircuitTimers","getLicenses","getLicenseModifiers","useLicenseModifier","lmId","getResources","getApps","deleteApp","app","UptivoAppId","generateAppRegistrationCode","getPendingAppRegistrationCodes","getGenericDevices","getFullScreenSlideShow","getTrainers","getTrainersRankingsStats","getTrainersCommentsStats","getTrainerWatchedStats","getTrainerPoints","getTrainerComments","getTrainerWatchedAthletes","unwatchTrainerWatchedAthletes","deleteClubProgram","updateClubProgramName","getClubFileShares","shareClubProgram","userIds","unshareClubFile","getClubMessages","deleteClubMessage","updateClubMessage","x-file-name","createClubMessage","sendClubMessage","getTags","getUserTagIds","getAllClubClasses","expandDates","BridgeWorkoutId","getClubClassFiltersData","getClubClass","classId","getClubActivitiesForStaff","trainerId","withParticipants","getClubPaymentAccounts","onboardPaymentAccount","accountType","getClubCreditsPackages","orderCreditsPackage","packageId","ClubCreditsPackageId","PaymentAccountType","getClubSubscriptions","getClubClassSubscriptionUsers","getUserClubSubscriptions","getClubChallenges","getClubBadges","getClassParticipantSubscriptions","calendarTypeFilter","absentFilter","getClassParticipantSubscriptionsFiltersData","updateAthleteJoinMode","updateAthleteJoinModeBatch","getClubAppLinks","getClubExpirations","getClubAthleteExpirations","getClubAthleteNotes","getAthleteCredits","getAthleteExpirations","getAthleteSubscriptions","getUserActivity","getAthleteNotes","getAthleteTasks","getClubAthleteTasks","getAthleteTrainingComments","getAthleteAwardedBadges","getAthleteClassesParticipations","getAthleteLevels","getAthletePolicies","getClubVideosAndCollections","updateAthleteClientStage","updateAthleteClientStageBatch","sendBatchSMSToPhones","sendBatchSMSToAthletes","updateAthleteIsGuest","getAthleteClubs","getAthleteClubsInfo","getClubLogs","listClubWorkoutSheets","listUptivoWorkoutSheets","createClubWorkoutSheet","updateClubWorkoutSheet","getClubWorkoutSheet","deleteClubWorkoutSheet","shareClubWorkoutSheet","shareUptivoWorkoutSheet","listClubAthleteWorkoutSheets","createClubAthleteWorkoutSheet","updateClubAthleteWorkoutSheet","getClubAthleteWorkoutSheet","deleteClubAthleteWorkoutSheet","listClubSharedFiles","getAthleteWorkoutSheets","setClubWorkoutSheetsPublic","workoutSheetIds","setUptivoWorkoutSheetsPublic","unsetClubFilePublic","uploadClubClassImage","imageFileBLob","getClubClassImages","deleteClubClassImage","pictureId","getClubTransactions","presetRange","updateAthleteNoBookingsUntil","noBookingsUntilDate","getBridgeWorkoutsCached","getAthleteNoBookingsUntilDates","getHealthDashboard","updateClubWorkoutSheetsTags","getClubCurrentLicensePermissions","deleteClubWorkoutSheetsBatch","updateBridgeWorkoutsTags","deleteBridgeWorkoutsBatch","getClubPolicies","getClubkiosks","DevicesService","createGenericDevice","getGenericDevice","deviceId","updateGenericDevice","GenericDeviceId","deleteGenericDevice","devicesService","UptivoBridgeManager","updateDevicesStats","devices","deferredList","device","onlineStatus","systemStatus","lastOnline","PingLastOnlineTime","IoTLastOnlineTime","PingConnectionState","IoTConnectionState","CldErrors","OnlineStatus","isBoolean","AntPresent","Processes","SystemStatus","addr","EthAddress","WiFiAddress","Connect","Url","VerifiedAt","SwVersion","LastOnline","AppUp","CldTotalErrors","HDMI1","HDMI2","HostUp","HwVersion","LastError","LastGood","OsVersion","WiFiSSID","Ping","IoT","IsMaster","ConnNodes","setDeviceStats","addressesList","IPAddresses","NetworkAddress","updateDevicesFromApi","noStats","loadingOp","op","apiResponse","removed","intersectionBy","CreatedAt","Station","_clearInterval","updateInterval","_setInterval","fastUpdateRequests","updateCycle","updateRequests","recentbridges","offline","deviceErrors","QuickConnectDevice","sortBy","QuickConnectUrl","cd","UpdateDevices","StartAutoUpdates","fast","StopAutoUpdates","ubManager","TrainingsService","getNextTrainingForUser","currentTrainingId","getPreviousTrainingForUser","getTrainingById","getSharingUri","sharedTrainingWithEmail","getSubTrainings","getTrainingTotalsForDateRange","getTrainingsForDate","getGroupTrainingsForDate","getTrainingComments","trainingId","updateTraining","deleteTraining","getGroupTrainingTotals","getTrainingsInGroup","getGroupTrainingsWithSummaries","getNextGroupTrainingForClubWithSummaries","groupTrainingId","getPreviousGroupTrainingForClubWithSummaries","updateGroupTraining","trainingsService","endpoint","getAll","NotificationService","getNotifById","removeNotif","NotificationId","updateNotifState","getUserNotifications","getNewestUserNotifications","removeUserNotifications","updateUserNotificationsState","notificationsService","countryEndpoint","getAllByCountry","countryId","ClubRankingsService","createRankings","deleteRankings","rankingsKey","clubRankingsService","TimerService","createCircuitTimer","getCircuitTimer","timerId","updateCircuitTimer","deleteCircuitTimer","timerService","WorkoutDefinitionsService","listWorkoutDefinitions","listWorkoutDefinitionsDetails","getWorkoutDefinition","workoutDefinitionId","saveWorkoutDefinition","workoutDefinition","WorkoutDefinitionId","updateWorkoutVideo","workoutVideo","WorkoutVideoId","deleteWorkoutDefinition","publishWorkoutDefinitions","workoutDefinitionIds","unpublishWorkoutDefinitions","uploadWorkoutDefinitionImage","workoutDefsService","SystemMeasuresService","_getFromApi","dfd","measures","promise","systemMeasuresService","CommentsService","createTrainingComment","commentData","updateTrainingComment","deleteTrainingComment","getAuthorData","commentsService","MeasuresService","getMeasureGroup","deleteMeasureGroup","addMeasureGroup","createBatchMeasures","measuresService","UnitsConversionService","_defaultUnits","Quantity","MetricUnit","ImperialUnit","Convert","fromValue","fromUnit","toUnitSystem","fu","fromUnitData","QuantityName","UnitName","unitTypes","quantityName","u","FromUnitSystem","MatchedUnit","ConversionUnit","_getUnitTypes","toUnit","Unit","ConvertUnit","ToFeetInchesString","totalInches","wholeFeet","inches","unitsConversionService","ClubSensorsService","createClubSensor","getClubSensor","clubSensorId","updateClubSensor","deleteClubSensor","clubSensorsService","IntensityFlowsService","createIntensityFlow","getIntensityFlow","intensityFlowId","updateIntensityFlow","deleteIntensityFlow","intensityFlowsService","SlideShowsService","createSlideShow","getSlideShow","slideShowId","updateSlideShow","deleteSlideShow","uploadSlideShowImage","order","deleteSlideShowImage","updateSlideShowImageData","slideShowsService","ClubTagsService","createClubTag","getClubTag","clubTagId","updateClubTag","deleteClubTag","assignClubTags","clubTagIds","ClubTagIds","UserIds","removeClubTags","clubTagsService","Services","LiveService","createLiveTraining","hostId","getLiveTraining","deleteLiveTraining","deleteLiveTrainingByLiveId","liveId","addParticipantsList","getParticipantsList","deleteSingleParticipant","liveService","RecurrentLiveTrainingService","createRecurrentLiveTraining","getRecurrentLiveTraining","recurrentLiveTrainingId","deleteRecurrentLiveTraining","deleteRecurrentLiveTrainingParticipants","updateRecurrentLiveTraining","RecurrentLiveTrainingId","setRecurrentLiveTrainingTrainerId","getClubRecurrentLiveTrainings","startRecurrentLiveTraining","recurrentLiveTrainingsService","ClassesService","createClass","getClass","updateClass","deleteClass","deleteClasses","batchRequestDto","publishClasses","unpublishClasses","checkUpdateClasses","updateClasses","batchUpdateWriteDto","getClassSchedules","updateClassSchedule","getClassParticipantsCount","getClassParticipants","addUserParticipation","updateUserParticipantState","deleteUserParticipation","deleteAllUsersParticipation","participantsMode","startClassLive","getClassSubscriptions","setClassSubscriptions","updateClassParticipantNoShow","newNoShow","checkUpdateAssociatedClassSubscriptions","updateAssociatedClassSubscriptions","cloneClasses","PaymentsService","createClubPaymentAccount","deleteClubPaymentAccount","createClubCreditsPackage","deleteClubCreditsPackage","createClubPaymentAccountOnboardingLink","accountId","paymentsService","CurrenciesService","getSupportedCurrencies","getSupportedCurrenciesNames","currenciesService","ChallengesService","createChallenge","editChallenge","challengeId","getChallenge","deleteChallenge","setChallengeAwards","getChallengeAwards","getChallengeRanking","updateChallengePublishState","deleteAllParticipants","createChallengeGoals","getChallengeGoals","createChallengeGoal","updateChallengeGoal","goalId","deleteChallengeGoal","getChallengeGoal","challengesService","SubscriptionsService","createClassSubscription","deleteClassSubscription","classSubscriptionId","updateClassSubscription","setClassSubscriptionPlans","getClassSubscriptionPlans","getClassSubscriptionUsersCount","updateSubscriptionPublishState","newStatus","addSubscriptionToUser","updateUserSubscription","userSubscriptionId","deleteUserClassSubscription","getUserClassSubscriptionExtData","subspendUserSubscription","reactivateUserSubscription","unsubscribeImmediately","AtEndOfBilling","unsubscribeAtEnd","cancelUnsubscription","subscriptionsService","BadgesService","GetUptivoBadges","badgesService","ClubAppLinksService","createClubAppLink","updateClubAppLink","deleteClubAppLink","clubAppLinksService","YoutubeService","getVideoInfo","videoId","GOOGLE_API_KEY","youtubeService","VimeoService","vimeoService","ClubVideoCollectionsService","createClubVideoCollection","updateClubVideoCollection","videoCollectionId","getClubVideoCollection","deleteClubVideoCollection","addVideosToCollection","videoIds","removeVideosFromCollection","getVideoCollectionSubscriptions","setVideoCollectionSubscriptions","subscriptionIds","clubVideoCollectionsService","ClubVideosService","createClubVideo","updateClubVideo","getClubVideo","deleteClubVideo","addCollectionsToVideo","removeCollectionsFromVideo","clubVideosService","AthleteExpirationsService","createAthleteExpiration","updateAthleteExpiration","expirationId","deleteAthleteExpiration","athleteExpirationsService","AthleteNotesService","createAthleteNote","updateAthleteNote","noteId","getAthleteNote","deleteAthleteNote","athleteNotesService","AthleteTasksService","createAthleteTask","updateAthleteTask","taskId","setAthleteTaskCompleted","completedStatus","getAthleteTask","deleteAthleteTask","athleteTasksService","DashboardsService","getClubDashboardAthletesByClientStage","clientStage","getClubDashboardClientsNoTraining","getClubDashboardTrialParticipations","getClubDashboardNoShowParticipations","getClubDashboardSingleTicketsRemaining","getClubDashboardSuspendedMemberships","getClubDashboardNewBadges","getClubDashboardNoComments","getClubDashboardNoActivity","activeFrom","activeTo","activePresetRange","inactiveFrom","inactiveTo","inactivePresetRange","getClubDashboardExpiredClients","getClubDashboardBirthdays","getClubDashboardTasks","dashboardsService","LicensesService","getClubExtraFeatures","getLicenseStripePortal","licenseId","licensesService","WorkoutSheetsService","getUptivoWorkoutSheet","deleteUptivoWorkoutSheet","publishUptivoWorkoutSheet","unpublishUptivoWorkoutSheet","getUptivoWorkoutSheetFromUri","wksUri","workoutSheetsService","CircuitsService","createBridgeWorkout","getBridgeWorkout","bridgeWorkoutId","updateBridgeWorkout","deleteBridgeWorkout","cloneBridgeWorkouts","circuitsService","ClubTransactionsService","createClubTransaction","updateClubTransaction","transactionId","deleteClubTransaction","getClubTransaction","clubTransactionsService","PoliciesService","createClubPolicy","getClubPolicy","policyId","updateClubPolicy","updateClubPolicyPublishState","publishState","deleteClubPolicy","policiesService","ClubKiosksService","createKiosk","deleteKiosk","clubKioskId","clubKiosksService","accessConfiguration","DeviceManagement","AppManagement","Integrations","ClubSensors","ClubProfile","ClubLicenses","ClubSlideShows","Timers","IntensityFlows","AddUsers","ManageUsers","Roles","EditUser","DemoUsers","Rankings","Trainers","TrainersJournal","Athletes","TrainingPrograms","ClubMessages","TrainerDetails","UptivoLIVE","UptivoLiveTraining","LiveTrainings","AthletesBiometrics","MyActivities","ClubClasses","PersonalTrainers","ClubClassParticipants","ClassParticipantSubscriptions","ClubClass","ClubChallenges","CreditsAndSubscriptions","DashBoard","VideoCollections","WorkoutSheets","Movements","Circuits","WorkoutDefinitions","WorkoutSheetsUsers","HealthUsers","SupportVideos","hasAccess","isLiveView","isClassesView","enabledLiveT","EnableLiveTrainings","enabledLiveM","enabledClassesT","EnableActivities","enabledClassesM","viewByClub","selectedClubId","getSelectedClubId","selectDefaultClub","getSelectedClub","clubIds","cachedValue","selectClub","assertClubWasSelected","subscribeChanged","refreshRoute","RoutesConfig","defaultViewName","invoke","mappings","routes","hashUpdate","ComponentsConfig","components","fromUrl","componentsConfig","EventBus","resizeTimer","publishBeforePrintEvent","printing","publishAfterPrintEvent","printHandler","mql","resizeHandler","topics","topic","matchMedia","onbeforeprint","onafterprint","CacheManager","storageType","storage","itemJSON","removeItem","clearAll","exists","cookieStorage","createCookie","exp","setTime","expires","toGMTString","cookie","nameEQ","ca","readCookie","cookies","eqPos","objectStorage","sessionCache","ResourceManager","languageKey","resources","langToLocale","langStore","ltext","infoFiltered","emptyTable","infoEmpty","lengthMenu","loadingRecords","zeroRecords","paginate","st","firebaseAuth","firebaseUi","auth0WebAuth","validAuth0Session","initDeferred","auth0","WebAuth","domain","clientID","leeway","audience","supportedLanguages","firebaseApp","firebase","initializeApp","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","auth","firebaseui","AuthUI","onAuthStateChanged","getIdToken","base64Url","base64","jsonPayload","decodeURIComponent","parseJwt","parsedToken","endsWith","catch","initializeFirebase","getAuth0TokenFromSession","tokenDeferred","checkSession","redirectUri","authResult","accessToken","signInWithAuth0","auth0token","Authorization","customToken","signInWithCustomToken","currentUser","openUi","elementId","signInOptions","provider","EmailAuthProvider","PROVIDER_ID","requireDisplayName","buttonColor","disableSignUp","tosUrl","privacyPolicyUrl","callbacks","signInSuccessWithAuthResult","operationType","successCb","logOut","sessionStorage","signOut","logout","Validation","loadSettings","parentElement","decorateElement","loadValidationRules","validateLocalizedNumber","cachedScript","deferreds","wrappedDeferreds","loaders","componentsPrefix","getClearComponentName","componentName","nameWithoutNc","getViewPathFromComponentName","callDefaultBehaviour","showLoadError","getConfig","loadTemplate","templateConfig","isLocal","languagePrefix","relativeUrl","fullUrl","maxCacheAge","APP_VERSION","markupString","defaultLoader","Ex","clearCachedDefinition","loadViewModel","viewModelConfig","indexOfNameStart","viewModelConstructor","lastIndexOf","getChanges","initialArray","updatedArray","idColumn","columnsToCompare","comparePropertyValues","areTheSame","col","processChanges","deffereds","record","addCallback","removeCallback","successCallback","subscribable","savedValue","latestValue","oldValue","filterByProperty","matchValue","allItems","matchingItems","firstByProperty","refreshAll","refreshItem","sammy","getDefaultView","internalUpdateComponent","newHash","updateHash","matched","currentRoute","currentView","navigating","_checkFormSubmission","changeRoute","viewToShow","trimUrl","currentUrl","navigateBack","extendConfig","previousViewData","previousView","previousViewConfig","newView","newViewConfig","currentViewConfig","resetRoute","objectAccessConfiguration","noAccessViewName","notFound","re","sre","dre","hre","ore","htmre","xN","yN","xD","yD","cLoc","numS","oFxNcL","oFyNcL","KOSubscriptionsManager","debugMessages","addSubscribe","disposeSubscription","addSubscribeChanged","disposeSubscriptions","intervalHandler","doVersionCheck","versionScript","isConfirm","setCheckTimeout","timeoutSecs","TrackerManager","ga_tracker","ga","ga_enabled","ai_tracker","appInsights","ai_enabled","lastView","trackView","viewName","telemetryTrace","traceID","hexValues","oct","clockSequenceHi","generateW3CId","trackPageView","uri","refUri","hashUserId","setAuthenticatedUserContext","clearAuthenticatedUserContext","md5","severity","trackTrace","severityLevel","logVerbose","logInfo","logWarning","logCritical","selectListHTML","selectedValue","$li","currentTarget","icheck","domNodeDisposal","addDisposeCallback","controlsDescendantBindings","dayList","$el","dayStr","baseId","elName","isSame","selectList","$result","rangeSlider","postfix","onChange","currentMin","currentMax","currentDisabled","confirmDelete","hidden","modalSave","nodesObservable","activeNodeObservable","activeNode","isNodeActive","menuHtml","innerUl","innerLi","innerA","innerHtml","li","hasChildren","nodeHtml","childNode","isChildNode","nodesFlat","isChild","flatMapDeep","enterkey","changeToSvg","imgID","imgClass","imgURL","$svg","generators","uniqueId","showIcon","setBindings","formInput","dropdown","optionsValue","selectedItem","newItem","optionsText","valueField","genders","fixedUnit","placeholder","bindingsConfiguration","validationProp","inputType","generator","bindingsCfg","hideMsg","labelClass","inputClass","replaceAll","replacement","replaceParam","paramsObject","originalUrl","newUrl","param","delimiter","hasQuestionMark","f","unescape","A","bootCompleted","AmCharts_path","appBuildMode","dropRight","Init","hostname","environment","deploy","appVersionManager","run","boot","mapsLoaded"],"mappings":"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AAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGnEC,EAAY,CACf,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,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AGjF,SAASG,YACR,OAAOH,KAAOA,KAAOA,KAAOA,KAAOA,KAAOA,KAAOA,KAAOA,KAGzD,IAAInW,YAAc,CACjBiH,OAAQ,EACRD,OAAQ,EACR/G,KAAM,EACNsW,QAAS,CAAC,GAAI,SAAU,UAAW,aACnC3V,MAAO,CAAC,GAAI,4BAA6B,6BAA8B,gCACvEV,YAAa,KAGVT,sBAAwB,IACxBF,iBAAmB,IACnBC,kBAAoB,CACvBv5B,EAAG,IACH5sC,EAAG,IACHG,EAAG,IACHI,EAAG,IACHE,EAAG,IACHE,EAAG,IACHg4C,EAAG,IACHH,EAAG,IACHH,EAAG,IACHz3C,EAAG,KAGAu8E,UAAY,CACf,YACA,MACA,YACA,YACA,aACA,QACA,SACA,QACA,WACA,SACA,aACA,OACA,OACA,WACA,QACA,WACA,QACA,UACA,OACA,aAGGC,aAAe,CAClB,eACA,cACA,YACA,UACA,cACA,QACA,aACA,OACA,SACA,UACA,WACA,aACA,gBACA,cACA,WACA,aACA,eACA,WACA,WACA,MACA,eACA,WACA,QACA,YACA,UACA,WACA,OACA,UACA,oBACA,YACA,WACA,SACA,eACA,gBACA,QACA,WACA,kBAGGC,aAAe,CAClB,aACA,gBACA,WACA,SACA,SACA,aACA,cACA,cAGGC,SAAW,CACd,UACA,WACA,iBACA,SACA,YACA,YACA,uBAGGC,cAAgB,CACnBC,WAAYL,UACZM,OAAQN,UACRO,UAAWN,aACXO,SAAUN,aACVO,MAAON,UAIJO,aAAe,CAClB,aACA,gBACA,WACA,SACA,SACA,cACA,aACA,gBACA,aACA,gBAIGhc,gBAAkB,CACrBC,mBAAoB,CACnB,SACA,gBACA,UACA,YACA,YACA,UACA,YACA,mBACA,mBACA,mBACA,gBACA,UACA,cACA,iBACA,cACA,qBACA,iBACA,mBACA,WACA,kBACA,cACA,mBACA,uBACA,eACA,iBACA,iBACA,iBACA,kBAEDgc,OAAQ,CACPC,oBAAqB,CAAC,UAAW,YAAa,YAAa,UAAW,aACtEC,cAAe,CACd,YACA,YACA,eACA,gBACA,aACA,aACA,UACA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AEuqF,QAAS,EAAGvqF,IAAK,iDACnB,CAAEuqF,QAAS,EAAGvqF,IAAK,iDACnB,CAAEuqF,QAAS,EAAGvqF,IAAK,iDACnB,CAAEuqF,QAAS,EAAGvqF,IAAK,iDACnB,CAAEuqF,QAAS,EAAGvqF,IAAK,iDACnB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDAGpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDAGpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDAEpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDAGpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,iDACpB,CAAEuqF,QAAS,GAAIvqF,IAAK,kDAKrBwqF,oBAAsB,CAAC,MAAO,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAG3G,oBAAXh9F,QAA0BA,OAAOC,eAAe,aAC1DD,OAAOE,QAAUi4E,eAIlB8kB,oBAAsB,GA2CtB,IAAIC,eAAiB,IAAId,eACzB,SAASe,eAST,SAASC,cAAchX,EAAUiX,EAAeC,EAAYC,EAAaC,EAAYC,GACpF,IAAIliB,EAAO96E,KAKPi9F,EAAsB,GAkE1B,SAAS5gE,KAmBT,SAAkBspD,EAAU71C,GACvBA,GAAMA,EAAKzT,UACXspD,GAAUA,EAAS/V,QApBvBjS,CAASmd,EAAK6K,SAAU7K,EAAKhrC,MAC7BgrC,EAAKhrC,KAAO,KAGb,SAAS5zG,IACR4+I,EAAKhrC,KAkBN,SAAiB61C,EAAU3gE,EAAQk4E,EAAUC,GAI5C,GAHAriB,EAAKvlH,MAAM,MACXulH,EAAKsiB,UAAS,GAEVzX,EAAU,CACb,IAAI0X,EAASrtD,EAAE,sCAGf,GAFA21C,EAASt0D,OAAOgsE,GAEZH,EAAU,CACb,IAAII,EAAOttD,EAAE,aAAektD,EAAW,cACvCvX,EAASt0D,OAAOisE,GAGjB,IAAIC,EAAct2E,EAAE,WAChBu2E,EAAav2E,EAAE,UACfw2E,EAAWx2E,EAAE,QACby2E,EAAaz2E,EAAE,UACf02E,EAAa9xC,EAAE9gG,SAASi6D,EAAQ,CACnCmQ,MAAO,MACPx6D,KAAM,UACN++D,QAAS,UACToP,cAAe,GACf74C,QAASktG,EACTt7D,aAAa,EACb76B,MAAM,EAENW,MAAOsf,EAAE,cACTsc,aAActc,EAAE,iBAChB22E,gBAAiBH,EACjBI,gBAAiBJ,EACjBK,kBAAmBJ,EACnBK,kBAAmBL,EACnBhhE,kBAAmB8gE,EACnB5gE,kBAAmB4gE,EACnB7gE,mBAAoB4gE,EACpB1gE,mBAAoB0gE,IAgBrB,OAZAI,EAAWj0D,aAAe,WACzBs0D,EAAoBrY,EAAU7K,EAAKhrC,KAAKj5B,KAAMikE,EAAKrnE,SAAUqnE,EAAKpnE,WAC7DonE,EAAKhrC,KAAKhO,iBAAiBg5C,EAAKsiB,UAAS,GAC9CtiB,EAAKvlH,MAAMulH,EAAKhrC,KAAK/E,WAAWxI,OAAOhtE,QAGxCooI,EAAWnwD,UAAY,WACtBwwD,EAAoBrY,EAAU7K,EAAKhrC,KAAKj5B,KAAMikE,EAAKrnE,SAAUqnE,EAAKpnE,WAC7DonE,EAAKhrC,KAAKhO,iBAAiBg5C,EAAKsiB,WAAWtiB,EAAKoiB,UACrDpiB,EAAKvlH,MAAMulH,EAAKhrC,KAAK/E,WAAWxI,OAAOhtE,QAGjC,IAAI27C,KAAKy0E,EAAS5tE,IAAI,GAAI4lF,IArEtBM,CAAQnjB,EAAK6K,SAAU7K,EAAK91D,OAAQ81D,EAAKoiB,SAAUpiB,EAAKqiB,WA4FrE,SAASa,EAAoBrY,EAAU9uE,EAAMpD,EAAUC,GACtD,GAAIiyE,EAAU,CACb,IAAIuY,EArBN,SAAoBrnF,EAAMpD,EAAUC,GACnC,GAAImD,GAAQpD,GAAYC,GACnBmD,EAAK0rB,OAAOhtE,MAAO,CACtB,IAEI4oI,EAFetnF,EAAK0rB,OAAOnvB,MACXyD,EAAK0rB,OAAOt2F,OAK5BiyJ,EAAWzqF,EAKf,OAJqBC,EAHAD,EAAW0qF,IAI/BD,EAAW92F,KAAKnoE,IAAIg+J,EAAqBvpF,EAAYyqF,IAG/CD,GAOOE,CAAWvnF,EAAMpD,EAAUC,GACrCwqF,GACJpjB,EAAKhrC,KAAKvB,SAASusC,EAAK91D,OAAOmQ,OAGhCwwD,EAASvyE,MAAM8qF,GAAY,SAzK7BpjB,EAAKsiB,SAAWhsC,GAAG2F,YAAW,GAC9B+jB,EAAKvlH,MAAQ67F,GAAG2F,aAEhB+jB,EAAKujB,WAAa,WACjBvjB,EAAK6K,SAAWA,EAEZqX,IACHliB,EAAKvlH,MAAQynI,GAGVD,IACHjiB,EAAKsiB,SAAWL,IAIlBjiB,EAAKjkB,OAAS,WACb,IAAIynC,EAAcltC,GAAGkJ,OAAOuiC,GACxB0B,EAAentC,GAAGkJ,OAAOwiC,GACzBx6B,EAAYlR,GAAGkJ,OAAOsiC,GAE1B,GAAIt6B,GACCA,EAAUk8B,QAAS,CACtB,IAAIA,EAAUl8B,EAAUk8B,QAAQr+F,MAAM,KAEtC26E,EAAKrnE,SAAW+qF,EAAQ,GACxB1jB,EAAKpnE,UAAY8qF,EAAQ,GAI3B,IAgDctB,EAhDVuB,EAAgB3jB,EAAKqiB,WAAaoB,GAAgBzjB,EAAK91D,QAAUs9C,EACjEo8B,EAAc5jB,EAAKoiB,UAAYoB,EAEnCxjB,EAAKoiB,SAAWoB,EAChBxjB,EAAKqiB,UAAYoB,EACjBzjB,EAAK91D,OAASs9C,EAEVm8B,GAwBJpiE,IACAngG,KAvBY4+I,EAAKhrC,KAEN4uD,IAqCGxB,EAHRpiB,EAAKoiB,SAIPpiB,EAAKhrC,MACRgrC,EAAK6jB,KAAKzB,IAxCVhhK,KAMF4+I,EAAK/d,QAAU,WACd1gC,KAGDy+C,EAAKxpD,QAAU,SAAUzB,GACxB,GAAIirD,EAAKhrC,MAAQjgB,EAAI,CACpB,IAAIhZ,EAAOikE,EAAKhrC,KAAKj5B,KACrB,GAAIA,EAAK0rB,OAAOhtE,MACf,OAAOshD,EAAK0rB,OAAOhtE,MAAM00D,OAAO4F,EAAI,aAAc,IAGpDA,EAAG,OA0HL,SAAS+uE,eAAejZ,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GAC/D,IAECC,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAIjBknF,EAAetkK,IACfukK,EAAa7xJ,IAsWjB,SAAS8xJ,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAvTT/oE,KAAKq+F,WAAa,WACjB,IA4QIe,EA5QAC,EAAoBjuC,GAAG2F,YAAW,GAwMtC,SAASuoC,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GAxMnCnuC,GAAGuQ,oBAAoB3xB,EAAE,gBAAgB,GAAI,CAC5CwvD,eAAgBH,IAuPlB,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBA1PnCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAERyhE,OAAQm2E,gBAAgBslB,qBACxB5zJ,OAAQ,IACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZC,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YAuOIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KAvOXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAE5CC,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,aAAa0vD,aAAa,WAAWyB,cAC/Cv0G,EAAMojD,EAAE,aAAa0vD,aAAa,WAAW0B,YACjDx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpBwgC,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GACtCzc,EAAMA,EAAIt3B,QAAQgsI,QAAQ,OAE1BjC,GAAkB,GAElB,IAAIkC,EAAe5T,YAAY6T,qBAAqB5sC,EAAU+yB,OAAQh7F,EAAOC,EAAK,OAE9E60G,EAAkB9T,YAAY+T,iBAAiB9sC,EAAU+yB,OAAQh7F,EAAOC,GAE5EojD,EAAE2xD,QAAQ,CAACJ,EAAiCE,IAC1Cv9D,KAAK,SAAS09D,EAAiCC,GAC/C,KAGa,EAFZ7xD,EAAEs4B,KAAK99D,UAAW,SAASC,GAC1B,MAAkB,UAAXA,EAAI,KACT3G,QAHJ,CAQA,IAAInmE,EAAYikK,EAAa,GAEzBE,EAAeD,EAAgB,GAE/BE,EAAgB,GACpBpkK,EAAU89E,QAAQ,SAAS33B,GAC1B,IAAI6I,EAAQoT,OAAOjc,EAASghG,OACxBl4F,EAAMmT,OAAOjc,EAASihG,KAEtB7wJ,EAAQ,CACXi5J,KAAM,WACN6U,KAAMl+G,EACNp3C,MAAOigD,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAC3D31F,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAAS4mF,GAC1BA,EAASL,KAAKM,iBACjBP,EAActmF,QAAQ,SAASvnF,GAC1BA,EAAM8tK,KAAKO,YAAcF,EAASL,KAAKO,YAAcF,EAAS11G,MAAM61G,UAAUtuK,EAAMy4D,MAAOz4D,EAAM04D,OAAS14D,EAAM8tK,KAAKM,kBACxHpuK,EAAMguK,UAAUl7F,KAAKq7F,GACrBA,EAASF,aAAan7F,KAAK9yE,GAC3BmuK,EAASD,YAAa,OAM1BL,EAActmF,QAAQ,SAASvnF,GAC9B,IA7JiBA,EA6Jb8b,GA7Ja9b,EA6JSA,GA5JrB8tK,KAAKS,OAAejd,MAAMuN,gBAAgBI,yBACvB,EAAzBj/J,EAAMguK,UAAUp+F,QAAc5vE,EAAM8tK,KAAKM,gBAAwB9c,MAAMuN,gBAAgBC,yBACtF9+J,EAAM8tK,KAAKM,iBAAmBpuK,EAAM8tK,KAAKzR,OAAe/K,MAAMuN,gBAAgBG,kCAC9Eh/J,EAAM8tK,KAAKM,iBAAoBpuK,EAAM8tK,KAAKzR,YAA/C,EAA8D/K,MAAMuN,gBAAgBE,iCA0J/E/+J,EAAM2rJ,gBAAkB7vI,EACxB9b,EAAMwuK,YAAc1yJ,IAKrB67G,EAAE/qH,OAAOihK,EAAe,CAAEK,YAAY,IAEtCN,EAAarmF,QAAQ,SAASknF,GAC7B,IAAIh2G,EAAQoT,OAAO4iG,EAAGC,WAClB1uK,EAAQ,CACXi5J,KAAsB,SAAhBwV,EAAGE,SAAsB,UAAY,kBAC3Cb,KAAMW,EACNj2J,MAAOigD,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAC3D31F,MAAOA,EACPC,IAAKD,EACLugC,UAAW,CAAC,gBACZ+0E,QAAQ,EACRa,UAAW,UACXjjB,gBAAiB,UACjB6iB,YAAa,WAEdX,EAAc/6F,KAAK9yE,KAGpBk5F,EAAO20E,GACP14F,EAAS04F,GAhLd,SAA4Bp1G,EAAOC,GAWlC,IAVA,IAAIm2G,EAAcllB,UAAUrB,oBAAoB5nB,EAAUksC,gBAEtD1lJ,EAAOyiI,UAAUnB,cAAc/vF,EAAMr3B,QAAQgsI,QAAQ,OAAQyB,GAC7D/tJ,EAAK6oI,UACPhB,aAAajwF,EAAKm2G,GAClBz0F,SAAS,EAAG,OACZ+yF,MAAM,OAEJ2B,EAAWhzD,EAAE,yBAER1mC,EAAQ,EAAGA,EAAQ,IAAKA,EAAO,CACvC,IAAI25F,EAAQD,EAAS55F,KAAK,sBAAsB1G,OAAO4G,IAEvD,GAAIluD,EAAK0hI,SAAS9nI,GAAK,CACtB,IAAIkuJ,EAAY9nJ,EACdka,QACArsB,IAAI,EAAG,QACPo4J,MAAM,OAEJ3pH,EAAWk9E,EAAUuuC,cAAc/nJ,EAAM8nJ,GACzC/1J,EAAWynH,EAAUwuC,YAAYhoJ,EAAM8nJ,GACvCG,EAASzuC,EAAU0uC,UAAUloJ,EAAM8nJ,GACnC95J,EAAWwrH,EAAU2uC,YAAYnoJ,EAAM8nJ,GAE3CD,EAAM75F,KAAK,eAAex+D,KAAK8sC,GAC/BurH,EAAM75F,KAAK,eAAex+D,KAAKuC,GAC/B81J,EAAM75F,KAAK,iBAAiBx+D,KAAKizI,UAAU9B,WAAWsnB,IACtDJ,EAAM75F,KAAK,eAAex+D,KAAKizI,UAAU9B,WAAW3yI,IAEpD65J,EAAMx2D,YAENw2D,EAAM3mK,OAGP8e,EAAKnS,IAAI,EAAG,SA8ITu6J,CAAmB72G,EAAOC,MAE1B62G,OAAO,WACPpE,GAAkB,MAIrBqE,WAAY,SAASxvK,GACpB,OAAQA,EAAMi5J,MACb,IAAK,WACJhK,QAAQwgB,WACP,WACA,CAAE3rF,GAAI9jF,EAAM8tK,KAAKO,YACjB,CAAEvqF,GAAI48C,EAAU+yB,OAAQsX,aAAcA,EAAc2E,kBAAmBhvC,EAAUgvC,qBACjFhvC,EAAUivC,qBAEX,MACD,IAAK,kBACL,IAAK,UACJ1gB,QAAQwgB,WACP,kBACA,CAAE3rF,GAAI9jF,EAAM8tK,KAAK8B,gBACjB,CAAE9rF,GAAI48C,EAAU+yB,OAAQsX,aAAcA,EAAc2E,kBAAmBhvC,EAAUgvC,qBACjFhvC,EAAUivC,qBAIb,OAAO,GAERE,YAAa,SAAS7vK,EAAO8vK,GAC5B,GAAmB,aAAf9vK,EAAMi5J,MAAsC,oBAAfj5J,EAAMi5J,MAA6C,YAAfj5J,EAAMi5J,KA6B1E,OAAO,EA5BP,IAKI8W,EALAC,EAAWl0D,EAAE,qCAMjB,OALAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAEDhwK,EAAMi5J,MACb,IAAK,WACJ,IAAIgX,EAA+B,EAAzBjwK,EAAMguK,UAAUp+F,QAAc5vE,EAAMguK,UAAU,GAAGF,KAAK1b,cAAwD,eAAxCpyJ,EAAMguK,UAAU,GAAGF,KAAK1b,aAAiCpyJ,EAAMguK,UAAU,GAAGF,KAAK1b,aAAepyJ,EAAM8tK,KAAK1b,aAC3L2d,EAAO,4EAA4EvhG,OAClFyhG,GAAM,eAEsB,EAAzBjwK,EAAMguK,UAAUp+F,SACnBmgG,GAAQ,gDAET,MACD,IAAK,UACJA,EAAO,iDACP,MACD,IAAK,kBACJA,EAAO,+CAILA,GACHD,EAAa56F,KAAK,kBAAkBspC,QAAQuxD,MAYhDj0D,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,OAEjBqpJ,EAASv8E,KAAK,sBAAsBioB,QAqBhC+tE,EACH,2KAEAn4E,EAAE,YACF,gdAOA,2DAGAA,EAAE,eACF,uUAYoBvkB,OAAO08F,MAG7Bp/F,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KAaF,SAASiF,qBAAqBze,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACrE,IAaoC9rJ,EAXnC+rJ,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAIjBknF,EAAetkK,IACfukK,GAEgCnsJ,EAFQ1F,IAGpC0yD,OAAOmrE,IAAIn4H,EAAM8qI,UAAU+D,oBAAoB2F,EAASvF,aAAa,GAAMroB,UAwfnF,SAASwlC,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAIT,SAASs7B,IAER,IAAIrtB,EAAOhnC,EAAE,yBAETgnC,GACHA,EAAKl2I,SAIP,SAASwjK,EAAqBC,GAE7B,OAAQA,GACP,IAAK,SACH,OAAOt9E,EAAE,uBACX,IAAK,OACH,OAAOA,EAAE,qBACX,IAAK,cACH,OAAOA,EAAE,gBA5gBbjnB,KAAKq+F,WAAa,WAgajB,SAASiB,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GAjanC3qC,EAAUyqC,mBAAkB,GAE5BrvD,EAAE,+BAA+BrmC,KAAK,YAAY,GAClDqmC,EAAE,6BAA6BrmC,KAAK,YAAY,GAEhDynD,GAAGuQ,oBAAoB3xB,EAAE,gBAAgB,GAAI,CAC5CwvD,eAAgB5qC,EAAUyqC,oBAmd5B,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBAtdnCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAERyhE,OAAQm2E,gBAAgBslB,qBACxB2E,QAAS,QACTC,QAAS,QACTx4J,OAAQ,OACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZC,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YAicIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KAjcXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAC5C4D,YAAY,EACZC,mBAA4C,YAAvBpd,EAASvF,YAAmD,YAAvBuF,EAASvF,WAA4B,UAAY,UAE3G+e,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,aAAa0vD,aAAa,WAAWyB,cAC/Cv0G,EAAMojD,EAAE,aAAa0vD,aAAa,WAAW0B,YAEjDx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAGpBwgC,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GAOtC,GALAurD,EAAUyqC,mBAAkB,GAKxBzqC,EAAUgwC,kBAAmB,CAChC,IAAIA,EAAkBhwC,EAAUgwC,kBACL,OAAvBrd,EAASjF,aACZsiB,EAAkB7kG,OAAO6kG,EAAiB/mB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAK9G,GAAIkyD,EAAUiwC,gBAAiB,CAC9B,IAAIA,EAAgBjwC,EAAUiwC,gBACH,OAAvBtd,EAASjF,aACZuiB,EAAgB9kG,OAAO8kG,EAAehnB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAIzFoiG,aAAaC,eAC7BnwC,EAAU8vB,OACV,EACA,EACA,IACA9vB,EAAUowC,aACVr4G,EAAMgtE,SACN/sE,EAAIt3B,QAAQg5C,SAAS,EAAG,OAAO+yF,MAAM,OAAO1nC,SAC5C/E,EAAUqwC,iBACVrwC,EAAUswC,gBACVtwC,EAAUuwC,qBACVvwC,EAAUwwC,qBACVxwC,EAAUywC,cACVzwC,EAAU0wC,eACV1wC,EAAU2wC,qBACV3wC,EAAU4wC,qBACV5wC,EAAU6wC,mBACV,EACAb,EACAC,GAIC3gE,KAAK,SAASwhE,GACd11D,EAAE,aAAa0vD,aAAa,SAAU,UAAW,SACjD1vD,EAAE,aAAa0vD,aAAa,SAAU,UAAW,SAEjD,IAAInxB,EAAUm3B,EAAW7uF,KAErBkrF,EAAgB,GAEpBxzB,EAAQ9yD,QAAQ,SAASlC,GACxB,IAAI5sB,EAAQoT,OAAOwZ,EAAEurE,OACjBl4F,EAAMmT,OAAOwZ,EAAEwrE,KACf7wJ,EAAQ,CACXi5J,KAAM,QACN6U,KAAMzoF,EACN7sE,MAAO6sE,EAAE6gE,KACTztF,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAASvnF,GAE3B6rE,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,OAAS,GACpC31D,EAAE,aAAa0vD,aAAa,SAAU,UAAW,SAEb,GAAlC3/F,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,QAC3B31D,EAAE,aAAa0vD,aAAa,SAAU,UAAW,WAInDtyE,EAAO20E,GACP14F,EAAS04F,KAETjU,KAAK,SAASh+D,EAAK3nF,EAAOa,MAG1By6J,OAAO,WACP/a,aAAakd,QAAQ,2CAA4ClyE,KAAKE,UAAUghC,EAAUixC,gCAG7FnC,WAAY,SAASxvK,EAAOkvE,GAC3B,IAAI0iG,EAAmB91D,EAAE5sC,EAAEriE,QAE3BsjK,IAEA,IAAI0B,EAAuD,aAA3B7xK,EAAM8tK,KAAKgE,aAA8B,QAAU,OAG/EjgB,EAAQ/1C,EACX,8DACgC97G,EAAM8tK,KAAKxb,MAAQ,kLAKvBuf,EAA4B,kEAKvD9+E,EAAE,gBACF,8EAcAA,EAAE,QACF,oBAOF,GAAG6+E,EAAiB,GAAG54E,UAAUwgC,SAAS,gBAAiB,CAC1Du4C,kBAAoBH,EAAiB3wC,SAASA,SAC9C,IAAI+wC,EAAMJ,MACJ,CACNG,kBAAoBH,EAAiB3wC,SAASA,SAASA,SACnD+wC,EAAMJ,EAAiB3wC,SAG5B8wC,kBAAkB50E,OAAO00D,GAEzB,IAOIogB,EAPAlnF,EAAWinF,EAAI9uF,SAEnB2uE,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAO,IAKnBqjJ,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAAiB,KAE9Ew8F,EAAkBpgB,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAE5Eo8E,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAOyjK,EAAiB,MAKzCpgB,EAAM38E,KAAK,MAAM28B,MAAM,WAGtB,OAFgBiK,EAAEhwC,MAAM6W,KAAK,OAG5B,IAAK,eACJ,GAA8B,eAA3B3iF,EAAM8tK,KAAKgE,aACb,OAED7iB,QAAQwgB,WAAW,wBAAyB,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,UAC7D,MACD,IAAK,UACJ,GAA8B,aAA3BlyK,EAAM8tK,KAAKgE,aACb,OAEDK,wBAAwBnyK,EAAM8tK,MAC9B,MACD,IAAK,OACJ7e,QAAQwgB,WAAW,YAAa,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,QAASh1J,KAAMld,EAAM8tK,KAAKsE,UAAWC,aAAc,aASxGxC,YAAa,SAAS7vK,EAAO8vK,GAI5B,IAAIwC,EAAe,wCAA0Cv/E,EAAE,SAAW,YAAc/yF,EAAM8tK,KAAK5nB,KAAO,SACtGmqB,EAAc,wCAA0Ct9E,EAAE,gBAAkB,YAAcq9E,EAAqBpwK,EAAM8tK,KAAKyE,aAAe,SACzIC,EAAsB,wCAA0Cz/E,EAAE,iBAAmB,YAAc42D,UAAU6C,oBAAoBxsJ,EAAM8tK,KAAK1b,cAC5IqgB,EAAc,wCAA0C1/E,EAAE,QAAU,qBAAqBvkB,OAAO3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,cAEvK4kB,EAAc,wCAA0C3/E,EAAE,QAAU,2BAA2BvkB,OAClG3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAG9EukB,EAAc3yK,EAAM8tK,KAAK8E,YAAc5yK,EAAM8tK,KAAK8E,YAAc,GAEpE,GAAI5yK,EAAM8tK,KAAK+E,kBACd,IAAIC,EAAuBnpB,UAAUsB,aACpCjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFinB,EAAuBA,EAAuBA,EAAqB9/F,QAAQ,OAAQ,6BAA+B,GAElH,IAAI+/F,EAAiBJ,EAAc,wCAA0C5/E,EAAE,WAAa,YAAc+/E,EAAuB,IAAMH,EAAc,SAAW,wCAA0C5/E,EAAE,WAAa,YAAcA,EAAE,eAAiB,SAEtPigF,EAAkBhzK,EAAM8tK,KAAKmF,SAAW,wCAA0ClgF,EAAE,YAAc,YAAc/yF,EAAM8tK,KAAKmF,SAAW,SAAW,wCAA0ClgF,EAAE,YAAc,YAAcA,EAAE,eAAiB,SAE5OmgF,EAAsB,wCAA0CngF,EAAE,uBAAyB,YAAc/yF,EAAM8tK,KAAKqF,mBAAqB,IAAMnzK,EAAM8tK,KAAKsF,sBAAwB,wDAA2DrgF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAKuF,aAAe,qDAAwDtgF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAKwF,kBAAoB,SAEjaC,EAAsB,wCAA0CxgF,EAAE,qBAAuB,YAAc/yF,EAAM8tK,KAAK0F,mBAAqB,IAAMxzK,EAAM8tK,KAAK2F,sBAAwB,wDAA2D1gF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAK4F,aAAe,qDAAwD3gF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAK6F,kBAAoB,SAE/Zr5B,EACJg4B,EACAjC,EACAmC,EACAC,EACAC,EACAK,EACAC,GACoC,EAAnChzK,EAAM8tK,KAAKsF,sBAA4BF,EAAsB,KAC1B,EAAnClzK,EAAM8tK,KAAK2F,sBAA4BF,EAAsB,IAC9Dz3D,EAAEg0D,GAAch2D,KAAK,sBAAuBwgC,GAC5Cx+B,EAAEg0D,GAAch2D,KAAK,iBAAkB,gBACvCgC,EAAEg0D,GAAcx1B,QAAQ,CAAExiC,MAAM,IAAOn1B,KAAK,cAAcixF,MAAMz2D,SAAS,wBAMzE,IAAI6yD,EAAWl0D,EAAE,qCAgBjB,GAfAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAGTF,EAAa56F,KAAK,kBAAkBwmE,QACpCo0B,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAAC8jF,eAAgB,mBAAoBC,cAAe,YAAc9zK,EAAM8tK,KAAKxb,MAAOyhB,cAAe,QACpJjE,EAAa56F,KAAK,kBAAkB6a,IAAI,CAACikF,YAAa,QAASj8J,OAAU,OAAQk8J,SAAY,WAEzB,EAAhEj0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAC9C1D,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAACmkF,mBAAoB,UAIxC,eAA3Bl0K,EAAM8tK,KAAKgE,aAA+B,CAE7Ch2D,EAAEg0D,GAAc//E,IAAI,aAAc,kFAIpB,yBAAyBvhB,OACvC3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAFlF,IAKI+lB,EAAa,gDAAgD3lG,OAChE3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAA8B,OAAvB6kF,EAASjF,WAAsB,QAAUzE,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAC5HpuJ,EAAM8tK,KAAK5nB,MAGZhrG,KAAOyuG,UAAU2C,uBAAuBtsJ,EAAM8tK,KAAK1b,cAEnD,IAAIgiB,EAAW,iCAAmCp0K,EAAM8tK,KAAKxb,MAAQ,4JACCp3G,KAAO,0FAG7E,GAAIl7C,EAAM8tK,KAAK+E,kBACd,IAAIwB,EAAgB1qB,UAAUsB,aAC7BjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFwoB,EAAgBA,GAAgC,GAE/Br0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAAmGxzK,EAAM8tK,KAAK5nB,KAA1K,IACIouB,EAAsF,EAAjEt0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAA0B,sEAAuExzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAyB,aAAe,mEAAoEzzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAwB,SASjhBc,EAAgB,QAASJ,EAAa,+DAAgEC,EAAW,cAE5GC,EAAgB,IAAM1B,EAAa,UAT5C2B,EAA8C,eAA1Bt0K,EAAM8tK,KAAKyE,YAA+B,iEAAmEnC,EAAqBpwK,EAAM8tK,KAAKyE,aAAe+B,IAE9H,EAAnCt0K,EAAM8tK,KAAK2F,sBAA4B,yHAA2H,KAC7H,EAAnCzzK,EAAM8tK,KAAKsF,sBAA2B,4HAA8H,KACtKpzK,EAAM8tK,KAAKmF,SAAW,sEAAwEjzK,EAAM8tK,KAAKmF,SAAW,SAAW,sEAAwElgF,EAAE,eAAiB,UAYzO+8E,EAAa56F,KAAK,kBAAkBioB,OAAOo3E,GAG3CzE,EAAa56F,KAAK,kBAAkB4kC,KAAK,KAAM,4BAGhD06D,oBAAqB,WACpB9zC,EAAUyqC,mBAAkB,IAE7Bp9J,OAAQ,SAAS0qD,EAAMC,EAAK14D,GAE3B,GAAiC,GAA7B0gI,EAAU+zC,gBAId,GAAI34D,EAAE97G,EAAM6M,QAAQyvI,QAAQ,yBAAyB1sE,YAE9C,CAEN,GAAGlX,EAAIkwF,SAAS/8E,UAGf,YADAuwC,OAAOnoG,MAAM8+E,EAAE,oCAAqCA,EAAE,qBAIvD,IAAI2hF,EAAkC,CACrCC,kBAAmBl8G,EAAM+V,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,aACvE8mB,gBAAiBn8G,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACjFymB,eAAgBhpG,OAAO5yD,SAASy/C,EAAIo4F,KAAKr4F,IAAQq8G,aAGlD7lB,QAAQwgB,WAAW,YAAa,CAAEiF,gCAAiCA,EAAiCx3J,KAAM,SAAUm1J,aAAc,aAMrI3xC,EAAU0qC,gBAAkB,WAC3B,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,IAQnCvvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,OAGjB0zG,EAAE,QAAQjK,MAAM,SAAS7xG,GACpB87G,EAAE97G,EAAM6M,QAAQyvI,QAAQ,iBAAiB1sE,QAG5CugG,OAuBHrkG,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KA+BDluF,OAAOqc,iBAAiB,SAAU,SAAUlqB,GAC3C4sC,EAAE,eAAe58B,MAAM48B,EAAE,iBAAiB58B,WACvC,GAQL,SAAS61F,kCAAmCtjB,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACnF,IAECC,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAIjBknF,EAAetkK,EACfukK,EAAa7xJ,IAiQjB,SAAS8xJ,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAIT,SAASmgC,EAAmCh1K,GAC3C,IAAIg8C,EAAQ,CAAC,CACZ40G,MAAO5wJ,EAAM8tK,KAAKld,MAClBqI,KAAyB,cAAnBj5J,EAAM8tK,KAAK7U,KAAuB,YAAc,eAGvDgc,eAAeC,kCAAkCl5H,EAAOh8C,EAAM8tK,KAAKoE,SACjEliE,KAAK,SAAShU,GAEd0kC,EAAUy0C,UAAUn5E,EAASo5E,OAC7B10C,EAAU20C,aAAar5E,EAASs5E,eAEhCl5D,OAAO3E,QAAQ1kB,EAAE,gCAAiCA,EAAE,kBAEpD+oB,EAAE,aAAa0vD,aAAc,mBAG7B5R,KAAK,SAAU2b,GACf51D,QAAQC,IAAI,yBAA2B21D,EAASzgK,QAE5CygK,EAASl9D,aAAamhB,SAAS,4CAClCpd,OAAOnoG,MAAM8+E,EAAE,+BAAgCA,EAAE,oBAzRrDjnB,KAAKq+F,WAAa,WACjB,IAAIgB,EAAoBjuC,GAAG2F,YAAW,GAgLtC,SAASuoC,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GAhLnCnuC,GAAGuQ,oBAAoB3xB,EAAE,wCAAwC,GAAI,CACpEwvD,eAAgBH,IA+NlB,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBAlOnCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAERyhE,OAAQm2E,gBAAgBslB,qBACxB5zJ,OAAQ,IACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZiJ,eAAgB,SAASC,GAAc,OAAQA,EAAa,WAC5DjJ,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YA8MIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KA9MXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAE5CC,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,aAAa0vD,aAAa,WAAWyB,cAC/Cv0G,EAAMojD,EAAE,aAAa0vD,aAAa,WAAW0B,YAEjDx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpB87G,oBAAqB,WAEsB,aAAtC9zC,EAAUy0C,YAAYrD,cAAgCpxC,EAAUg1C,0CAGnE55D,EAAE,sBAAsB/rB,IAAI,SAAU,eAFtC+rB,EAAE,sBAAsB/rB,IAAI,SAAU,WAKvC+rB,EAAE,YAAYjK,MAAM,WACuB,aAAtC6uB,EAAUy0C,YAAYrD,cAAgCpxC,EAAUg1C,0CAGnE55D,EAAE,sBAAsB/rB,IAAI,SAAU,eAFtC+rB,EAAE,sBAAsB/rB,IAAI,SAAU,cAMzCmJ,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GACtCzc,EAAMA,EAAIt3B,QAAQgsI,QAAQ,OAE1BjC,GAAkB,GAEI8J,eAAeU,sBAAsBj1C,EAAUy0C,YAAYjD,SAEjEliE,KAAK,SAAS4lE,GAE5B,IAEI/H,EAAgB,GAFD+H,EAINruF,QAAQ,SAASlC,GAC7B,IAAI5sB,EAAQoT,OAAOwZ,EAAEurE,OACjBl4F,EAAMmT,OAAOwZ,EAAEurE,OACf5wJ,EAAQ,CACXi5J,KAAM,eACN6U,KAAMzoF,EACN7sE,MAAOigD,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAC3D31F,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAASvnF,GAC9B,IAAI8b,EAA2B,aAAnB9b,EAAM8tK,KAAK7U,KAAsB,qBAAuB,UACpEj5J,EAAM2rJ,gBAAkB7vI,EACxB9b,EAAMwuK,YAAc1yJ,IAIrBo9E,EAAO20E,GACP14F,EAAS04F,KAETjU,KAAK,SAASh+D,EAAK3nF,EAAOa,MAG1By6J,OAAO,WACPpE,GAAkB,MAIrBqE,WAAY,SAASxvK,GACqB,aAAtC0gI,EAAUy0C,YAAYrD,cAA+BpxC,EAAUg1C,4CAI3C,cAAnB11K,EAAM8tK,KAAK7U,KACd9R,KACC,CACC3uI,MAAOu6E,EAAE,gBACTr8E,KAAMq8E,EAAE,uBAAyBlnB,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,aAAe,IAAMjiF,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAChNlxI,KAAM,UACNkqI,kBAAkB,EAClBC,iBAAkBt0D,EAAE,UACpBu0D,mBAAoB,UACpBN,kBAAmBj0D,EAAE,cACrBw0D,gBAAgB,GAEjB,SAASC,GACHA,GAELwtB,EAAmCh1K,KAKrCg1K,EAAmCh1K,KAIrC6vK,YAAa,SAAS7vK,EAAO8vK,GAG5Bh0D,EAAE,kBAAkB/rB,IAAI,QAAS,QAEjC,IAAIigF,EAAWl0D,EAAE,qCAMjB,GALAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAEgC,aAAtCtvC,EAAUy0C,YAAYrD,eAAgCpxC,EAAUg1C,0CAA2C,CAE7G,IAAI3F,EAEK/vK,EAAM8tK,KAAK1b,cACpB2d,EAAO,8BAA8BvhG,OACjB,aAAnBxuE,EAAM8tK,KAAK7U,KAAsB,aAAe,iBAIhD6W,EAAa56F,KAAK,kBAAkBspC,QAAQuxD,OAWhDj0D,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,QAsBlB0jE,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KAuCF,SAAS4K,uBAAwBpkB,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACxE,IAKCzxE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAIjBknF,EAAetkK,EACfukK,EAAa7xJ,EAHT2yD,KAMHgqG,uBAAyBp1C,EAAUq1C,WAAW94D,UAAU,SAAS+4D,GAEhEA,GAILl6D,EAAE,sBAAsB0vD,aAAa,mBAQtC1/F,KAAKq+F,WAAa,WAEjB,IAAIgB,EAAoBjuC,GAAG2F,YAAW,GAEtC3F,GAAGuQ,oBAAoB3xB,EAAE,4BAA4B,GAAI,CACxDwvD,eAAgBH,IAIjB1Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,GACNk9J,OAAQ,GACRj9J,MAAO,IAERyhE,OAAQm2E,gBAAgBslB,qBACxB5zJ,OAAQ,OACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACXC,gBAAgB,EAChB5gB,UAAU,EACV6gB,YAAY,EACZC,kBAAkB,EAElBoE,QAAS,QACTC,QAAS,QACTnE,kBAAkB,EAClBC,iBAAiB,EACjB4J,mBAAmB,EACnB3J,SAAU,QACVC,WAAY,EACZiJ,eAAgB,SAASC,GAAc,OAAQA,EAAa,WAC5DjJ,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YA+MIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KA/MXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAC5C4D,YAAY,EAEZ0F,YAAa,SAASC,GAErB,OADetqG,OAAO5yD,SAASk9J,EAAWz9G,IAAIo4F,KAAKqlB,EAAW19G,QAC9C29G,WAAa,GAE9BC,MAAO,CACNC,MAAO,CACNC,aAAc,OAEfC,OAAQ,CACPD,aAAc,OAEf1vK,KAAM,CACL0vK,aAAc,OAEfp9J,IAAK,CACJo9J,aAAc,QAIhB1J,WAAY,SAAS/iK,GAEpB,IAAI2uD,EAAQqjD,EAAE,sBAAsB0vD,aAAa,WAAWyB,cACxDv0G,EAAMojD,EAAE,sBAAsB0vD,aAAa,WAAW0B,YAE1Dx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpB87G,oBAAqB,WAEf9zC,EAAU+1C,2BAGd36D,EAAE,uBAAuB/rB,IAAI,SAAU,eAFvC+rB,EAAE,uBAAuB/rB,IAAI,SAAU,YAMzCmJ,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GAEtCzc,EAAMA,EAAIt3B,QAAQgsI,QAAQ,OAE1BjC,GAAkB,GAElB,IAAI0C,EAAgB,GAqBpB,GAlBA30E,IAAS3R,QAAQ,SAASlC,GACzB,IAAI5sB,EAAQ4sB,EAAE5sB,MACVC,EAAM2sB,EAAE3sB,IACR14D,EAAQ,CACX8jF,GAAIrrB,EAAQC,EACZo1G,KAAMzoF,EACN7sE,MAAOigD,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAAe,MAAQ11F,EAAI8V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aACpI31F,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGY,kBAA5B0gI,EAAU2xC,eAAoC,CACjD,IAAI0D,EAAar1C,EAAUq1C,aAE3B,GAAIA,EAAY,CACf,IAAIW,EAAqB/+C,EAAE63B,KAAK3jF,OAAO5yD,SAAS88J,EAAWhlB,UAAU+jB,aACrE6B,YAAqC,IAAtBD,EAA2B7qG,OAAO5yD,SAAS88J,EAAWhlB,UAAYllF,OAAO5yD,SAAS,YAEjG0+G,EAAEriD,KAAKu4F,EAAe,SAAS3+F,GAC9BA,EAAExW,IAAMmT,OAAOqD,EAAEzW,MAAQk+G,aACzBznG,EAAE4U,GAAK5U,EAAEzW,MAAQyW,EAAExW,IACnBwW,EAAE12D,MAAQ02D,EAAEzW,MAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAAe,MAAQl/E,EAAExW,IAAI8V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,gBAK9Il1D,EAAO20E,GACP14F,EAAS04F,GAET1C,GAAkB,IAGnBqE,WAAY,SAASxvK,EAAMkvE,GAEvBwxD,EAAU+1C,4BAIM,yBAAfvnG,EAAEriE,OAAOi3E,IAAyE,GAAxC48C,EAAU+1C,6BACtDv9E,EAAOy+B,EAAEltC,OAAOyO,IAAU,SAAShqB,GACpC,OAAOlvE,EAAM8jF,IAAM5U,EAAE4U,MAErBg4B,EAAE,sBAAsB0vD,aAAa,mBAIvCqE,YAAa,SAAS7vK,EAAO8vK,GAE5Bh0D,EAAE,kBAAkB/rB,IAAI,QAAS,QAEjC,IAQKggF,EARDC,EAAWl0D,EAAE,sCACjBg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAELtvC,EAAU+1C,8BAIb1G,EAAO,0HAIND,EAAa56F,KAAK,kBAAkBspC,QAAQuxD,KAK/C6G,YAAa,SAAS52K,GAErB,IAAG0gI,EAAU+1C,2BAAb,CAKA,GAA0B,EADX5qG,OAAO5yD,SAASjZ,EAAM04D,IAAIo4F,KAAK9wJ,EAAMy4D,QACtC29G,UAMb,OALAz+C,EAAE/qH,OAAOssF,IAAU,SAAShqB,GAAK,OAAOA,EAAE4U,IAAM9jF,EAAM8jF,KACtD9jF,EAAMy4D,MAAQz4D,EAAM8tK,KAAKr1G,MACzBz4D,EAAM04D,IAAM14D,EAAM8tK,KAAKp1G,IACvBwgC,EAAOpmB,KAAK9yE,QACZ87G,EAAE,sBAAsB0vD,aAAa,iBAItC7zC,EAAE/qH,OAAOssF,IAAU,SAAShqB,GAAK,OAAOA,EAAE4U,IAAM9jF,EAAM8jF,KAEtD9jF,EAAM8tK,KAAKr1G,MAAQz4D,EAAMy4D,MACzBz4D,EAAM8tK,KAAKp1G,IAAM14D,EAAM04D,IACvB14D,EAAMwY,MAAQxY,EAAM8tK,KAAKr1G,MAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAAe,MAAQpuJ,EAAM8tK,KAAKp1G,IAAI8V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAEjKl1D,EAAOpmB,KAAK9yE,GAEZ87G,EAAE,sBAAsB0vD,aAAa,mBAGtCqL,UAAW,SAAS72K,GACnB23H,EAAE/qH,OAAOssF,IAAU,SAAShqB,GAAK,OAAOA,EAAE4U,IAAM9jF,EAAM8jF,KAEtD9jF,EAAM8tK,KAAKr1G,MAAQz4D,EAAMy4D,MACzBz4D,EAAM8tK,KAAKp1G,IAAM14D,EAAM04D,IACvB14D,EAAMwY,MAAQxY,EAAM8tK,KAAKr1G,MAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAAe,MAAQpuJ,EAAM8tK,KAAKp1G,IAAI8V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAEjKl1D,EAAOpmB,KAAK9yE,GAEZ87G,EAAE,sBAAsB0vD,aAAa,kBAGtCz9J,OAAQ,SAAS0qD,EAAMC,GAEtB,IAAI14D,EAAQ,CACTi5J,KAAM,KACN6U,UAAMzwF,EACN7kE,MAAOigD,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,aAC3D31F,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,EACZviB,gBAAiB,UACjB6iB,YAAa,WAKhBt1E,EAAOpmB,KAAK9yE,GAEZ87G,EAAE,sBAAsB0vD,aAAa,oBAKvC1vD,EAAE,eAAe1zG,QAWlB0jE,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAM7D0zG,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,KAKTnU,EAAU+1C,yBAAyBx5D,UAAU,SAAS7vB,GACrD0uB,EAAE,sBAAsB0vD,aAAa,SAAU,CAACpgB,UAAWh+D,EAAKojF,YAAapjF,IAC7E0uB,EAAE,sBAAsB0vD,aAAa,mBAYvC,SAASsL,iBAAiBrlB,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACjE,IAECC,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAGpBkzF,WAAa,EAEd,IAGoCl4J,EAHhCksJ,EAAetkK,IACfukK,GAEgCnsJ,EAFQ1F,IAGpC0yD,OAAOmrE,IAAIn4H,EAAM8qI,UAAU+D,oBAAoB2F,EAASvF,aAAa,GAAMroB,UAshBnF,SAASwlC,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAIT,SAASs7B,IAER,IAAIrtB,EAAOhnC,EAAE,yBAETgnC,GACHA,EAAKl2I,SA8BP,SAASoqK,EAAaC,GAErBhC,eAAe9C,wBAAwB8E,EAAU/E,QAAS,aACzDliE,KAAK,SAAUhU,GACfogB,OAAO3E,QAAQ1kB,EAAE,UAAY,KAAOA,EAAE,aAAcA,EAAE,kBACtD+oB,EAAE,gBAAgB0vD,aAAa,mBAjkBjC1/F,KAAKq+F,WAAa,WA2bjB,SAASiB,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GA3bnC3qC,EAAUyqC,mBAAkB,GAE5BrvD,EAAE,+BAA+BrmC,KAAK,YAAY,GAClDqmC,EAAE,6BAA6BrmC,KAAK,YAAY,GAEhDynD,GAAGuQ,oBAAoB3xB,EAAE,mBAAmB,GAAI,CAC/CwvD,eAAgB5qC,EAAUyqC,oBAgf5B,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBAnfnCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAEPyhE,OAAQm2E,gBAAgBslB,qBACzB2E,QAAS,QACTC,QAAS,QACTx4J,OAAQ,OACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZC,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YA8dIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KA9dXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAC5C4D,YAAY,EACZC,mBAA4C,YAAvBpd,EAASvF,YAAmD,YAAvBuF,EAASvF,WAA4B,UAAY,UAE3GooB,YAAa,SAASC,GAErB,OADetqG,OAAO5yD,SAASk9J,EAAWz9G,IAAIo4F,KAAKqlB,EAAW19G,QAC9C29G,WAAa,GAE9BvJ,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,gBAAgB0vD,aAAa,WAAWyB,cAClDv0G,EAAMojD,EAAE,gBAAgB0vD,aAAa,WAAW0B,YAEpDx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpBwgC,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GAOtC,GALAurD,EAAUyqC,mBAAkB,GAKxBzqC,EAAUgwC,kBAAmB,CAChC,IAAIA,EAAkBhwC,EAAUgwC,kBACL,OAAvBrd,EAASjF,aACZsiB,EAAkB7kG,OAAO6kG,EAAiB/mB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAK9G,GAAIkyD,EAAUiwC,gBAAiB,CAC9B,IAAIA,EAAgBjwC,EAAUiwC,gBACH,OAAvBtd,EAASjF,aACZuiB,EAAgB9kG,OAAO8kG,EAAehnB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAIzFoiG,aAAasG,aAC7Bx2C,EAAU8vB,OACV,EACA,EACA,IACA9vB,EAAUowC,aACVr4G,EAAMgtE,SACN/sE,EAAIt3B,QAAQg5C,SAAS,EAAG,OAAO+yF,MAAM,OAAO1nC,SAC5C/E,EAAUqwC,iBACVrwC,EAAUswC,gBACVtwC,EAAUuwC,qBACVvwC,EAAUwwC,qBACVxwC,EAAUywC,cACVzwC,EAAU0wC,eACV1wC,EAAU2wC,qBACV3wC,EAAU4wC,qBACV5wC,EAAU6wC,mBACV,EACAb,EACAC,GAGC3gE,KAAK,SAASwhE,GACd11D,EAAE,gBAAgB0vD,aAAa,SAAU,UAAW,SACpD1vD,EAAE,gBAAgB0vD,aAAa,SAAU,UAAW,SAEpD,IAAInxB,EAAUm3B,EAAW7uF,KAErBkrF,EAAgB,GAEpBxzB,EAAQ9yD,QAAQ,SAASlC,GACxB,IAAI5sB,EAAQoT,OAAOwZ,EAAEurE,OACjBl4F,EAAMmT,OAAOwZ,EAAEwrE,KACf7wJ,EAAQ,CACXi5J,KAAM,QACN6U,KAAMzoF,EACN7sE,MAAO6sE,EAAE6gE,KACTztF,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAASvnF,GAE3B6rE,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,OAAS,GACpC31D,EAAE,gBAAgB0vD,aAAa,SAAU,UAAW,SAEhB,GAAlC3/F,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,QAC3B31D,EAAE,gBAAgB0vD,aAAa,SAAU,UAAW,WAKtDtyE,EAAO20E,GACP14F,EAAS04F,KAETjU,KAAK,SAASh+D,EAAK3nF,EAAOa,MAG1By6J,OAAO,WACP/a,aAAakd,QAAQ,gDAAiDlyE,KAAKE,UAAUghC,EAAUixC,gCAGlGnC,WAAY,SAASxvK,EAAOkvE,GAE3B,IAAI0iG,EAAmB91D,EAAE5sC,EAAEriE,QAE3BsjK,IAEA,IAAI0B,EAAuD,aAA3B7xK,EAAM8tK,KAAKgE,aAA8B,QAAU,OAG/EjgB,EAAQ/1C,EACX,8DACgC97G,EAAM8tK,KAAKxb,MAAQ,kLAKvBuf,EAA4B,kEAKvD9+E,EAAE,gBACF,8EAcAA,EAAE,QACF,oBAOF,GAAG6+E,EAAiB,GAAG54E,UAAUwgC,SAAS,gBAAiB,CAC1Du4C,kBAAoBH,EAAiB3wC,SAASA,SAC9C,IAAI+wC,EAAMJ,MACJ,CACNG,kBAAoBH,EAAiB3wC,SAASA,SAASA,SACnD+wC,EAAMJ,EAAiB3wC,SAG5B8wC,kBAAkB50E,OAAO00D,GAEzB,IAOIogB,EAPAlnF,EAAWinF,EAAI9uF,SAEnB2uE,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAO,IAKnBqjJ,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAAiB,KAE9Ew8F,EAAkBpgB,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAE5Eo8E,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAOyjK,EAAiB,MAIzCpgB,EAAM38E,KAAK,MAAM28B,MAAM,WACtB,IA2T6BolE,EAzT7B,OAFgBn7D,EAAEhwC,MAAM6W,KAAK,OAG5B,IAAK,eACJ,GAA8B,eAA3B3iF,EAAM8tK,KAAKgE,aACb,OAED7iB,QAAQwgB,WAAW,wBAAyB,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,UAC7D,MACD,IAAK,UACJ,GAA8B,aAA3BlyK,EAAM8tK,KAAKgE,aACb,OAkTqB,UAFKmF,EA9SHj3K,EAAM8tK,MAgTrBqJ,UACbhwB,KACC,CACC3uI,MAAOu6E,EAAE,gBACTr8E,KAAMq8E,EAAE,mCACR71E,KAAM,UACNkqI,kBAAkB,EAClBC,iBAAkBt0D,EAAE,UACpBu0D,mBAAoB,UACpBN,kBAAmBj0D,EAAE,WACrBw0D,gBAAgB,GAEjB,SAAUC,GACJA,GACLwvB,EAAaC,KAIfD,EAAaC,GAjUT,MACD,IAAK,OACJhoB,QAAQwgB,WAAW,YAAa,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,QAASh1J,KAAMld,EAAM8tK,KAAKsE,UAAWC,aAAc,WAQxGxC,YAAa,SAAS7vK,EAAO8vK,GAI5B,IAAIwC,EAAe,wCAA0Cv/E,EAAE,SAAW,YAAc/yF,EAAM8tK,KAAK5nB,KAAO,SACtGssB,EAAsB,wCAA0Cz/E,EAAE,iBAAmB,YAAc42D,UAAU6C,oBAAoBxsJ,EAAM8tK,KAAK1b,cAC5IqgB,EAAc,wCAA0C1/E,EAAE,QAAU,qBAAqBvkB,OAAO3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,cAEvK4kB,EAAc,wCAA0C3/E,EAAE,QAAU,2BAA2BvkB,OAClG3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAG9EukB,EAAc3yK,EAAM8tK,KAAK8E,YAAc5yK,EAAM8tK,KAAK8E,YAAc,GAEpE,GAAI5yK,EAAM8tK,KAAK+E,kBACd,IAAIC,EAAuBnpB,UAAUsB,aACpCjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFinB,EAAuBA,EAAuBA,EAAqB9/F,QAAQ,OAAQ,6BAA+B,GAElH,IAAI+/F,EAAiBJ,EAAc,wCAA0C5/E,EAAE,WAAa,YAAc+/E,EAAuB,IAAMH,EAAc,SAAW,wCAA0C5/E,EAAE,WAAa,YAAcA,EAAE,eAAiB,SAEtPigF,EAAkBhzK,EAAM8tK,KAAKmF,SAAW,wCAA0ClgF,EAAE,YAAc,YAAc/yF,EAAM8tK,KAAKmF,SAAW,SAAW,wCAA0ClgF,EAAE,YAAc,YAAcA,EAAE,eAAiB,SAE5OmgF,EAAsB,wCAA0CngF,EAAE,uBAAyB,YAAc/yF,EAAM8tK,KAAKqF,mBAAqB,IAAMnzK,EAAM8tK,KAAKsF,sBAAwB,wDAA2DrgF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAKuF,aAAe,qDAAwDtgF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAKwF,kBAAoB,SAEjaC,EAAsB,wCAA0CxgF,EAAE,qBAAuB,YAAc/yF,EAAM8tK,KAAK0F,mBAAqB,IAAMxzK,EAAM8tK,KAAK2F,sBAAwB,wDAA2D1gF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAK4F,aAAe,qDAAwD3gF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAK6F,kBAAoB,SAE/Zr5B,EACJg4B,EACAE,EACAC,EACAC,EACAK,EACAC,GACoC,EAAnChzK,EAAM8tK,KAAKsF,sBAA4BF,EAAsB,KAC1B,EAAnClzK,EAAM8tK,KAAK2F,sBAA4BF,EAAsB,IAE9Dz3D,EAAEg0D,GAAch2D,KAAK,sBAAuBwgC,GAC5Cx+B,EAAEg0D,GAAch2D,KAAK,iBAAkB,mBACvCgC,EAAEg0D,GAAcx1B,QAAQ,CAAExiC,MAAM,IAAOn1B,KAAK,cAAcixF,MAAMz2D,SAAS,wBAMzE,IAAI6yD,EAAWl0D,EAAE,qCAgBjB,GAfAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAETF,EAAa56F,KAAK,kBAAkBwmE,QACpCo0B,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAAC8jF,eAAgB,mBAAoBC,cAAe,YAAc9zK,EAAM8tK,KAAKxb,MAAOyhB,cAAe,QACpJjE,EAAa56F,KAAK,kBAAkB6a,IAAI,CAACikF,YAAa,QAASj8J,OAAU,OAAQk8J,SAAY,WAEzB,EAAhEj0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAC9C1D,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAACmkF,mBAAoB,UAKxC,eAA3Bl0K,EAAM8tK,KAAKgE,aAA+B,CAE7Ch2D,EAAEg0D,GAAc//E,IAAI,aAAc,kFAIpB,yBAAyBvhB,OACvC3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAFlF,IAKI+lB,EAAa,gDAAgD3lG,OAChE3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAA8B,OAAvB6kF,EAASjF,WAAsB,QAAUzE,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAC5HpuJ,EAAM8tK,KAAK5nB,MAGZhrG,KAAOyuG,UAAU2C,uBAAuBtsJ,EAAM8tK,KAAK1b,cAEnD,IAAIgiB,EAAW,iCAAmCp0K,EAAM8tK,KAAKxb,MAAQ,4JACCp3G,KAAO,0FAG7E,GAAIl7C,EAAM8tK,KAAK+E,kBACd,IAAIwB,EAAgB1qB,UAAUsB,aAC7BjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFwoB,EAAgBA,GAAgC,GAE/Br0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAAmGxzK,EAAM8tK,KAAK5nB,KAA1K,IACIouB,EAAsF,EAAjEt0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAA0B,sEAAuExzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAyB,aAAe,mEAAoEzzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAwB,SAMjhBc,EAAgB,QAASJ,EAAa,+DAAgEC,EAAW,cAE5GC,EAAgB,IAAM1B,EAAa,UAP5C2B,EAA8C,eAA1Bt0K,EAAM8tK,KAAKyE,YAA+B,iEAAmEnC,qBAAqBpwK,EAAM8tK,KAAKyE,aAAe+B,IAC9H,EAAnCt0K,EAAM8tK,KAAK2F,sBAA4B,yHAA2H,KAC7H,EAAnCzzK,EAAM8tK,KAAKsF,sBAA2B,4HAA8H,KACtKpzK,EAAM8tK,KAAKmF,SAAW,sEAAwEjzK,EAAM8tK,KAAKmF,SAAW,SAAW,sEAAwElgF,EAAE,eAAiB,UAUzO+8E,EAAa56F,KAAK,kBAAkBioB,OAAOo3E,GAG3CzE,EAAa56F,KAAK,kBAAkB4kC,KAAK,KAAM,4BAEhD06D,oBAAqB,WACpB9zC,EAAUyqC,mBAAkB,IAE7Bp9J,OAAQ,SAAS0qD,EAAMC,EAAK14D,GAE3B,GAAI87G,EAAE97G,EAAM6M,QAAQyvI,QAAQ,yBAAyB1sE,YAE9C,CAEN,GAAGlX,EAAIkwF,SAAS/8E,UAGf,YADAuwC,OAAOnoG,MAAM8+E,EAAE,oCAAqCA,EAAE,qBAKvD,GAAIsgE,EAASmI,QAAQC,WAAWG,QAASl7B,EAAU8vB,QACnD,CACC,IAAI1hJ,EAAU,CACb6kJ,SAAYN,EAASM,SACrByjB,WAAc/jB,EAAS+jB,WACvB3jB,OAAUJ,EAASI,OACnB4jB,MAAShkB,EAASgkB,MAClBC,aAAgBjkB,EAASikB,aACzBC,SAAYlkB,EAASkkB,UAEtB72C,EAAU82C,gBAAgB1oK,QAE1B4xH,EAAU82C,gBAAgB,MAG3B92C,EAAU+2C,SAASl/J,KAAKw6E,EAAE,cAC1B2tC,EAAU+2C,SAASC,sBAAsB,GACzCh3C,EAAU+2C,SAASE,sBAAsB,GACzCj3C,EAAU+2C,SAASG,kBAAkB,GACrCl3C,EAAU+2C,SAASI,kBAAkB,GACrCn3C,EAAU+2C,SAASK,kBAAkB,GAErCp3C,EAAU+2C,SAAS9C,kBAAkBl8G,EAAM+V,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,cACzFptB,EAAU+2C,SAAS7C,gBAAgBn8G,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KACnG1tB,EAAU+2C,SAAS5C,eAAehpG,OAAO5yD,SAASy/C,EAAIo4F,KAAKr4F,IAAQq8G,aAEnEn9C,EAAEpwC,QAAQm5C,EAAUiyB,oBAAqB,SAASolB,GACjDA,EAAGC,QAAO,GACVD,EAAGE,QAAO,KAEXtuB,UAAUd,UAAU,0BAavBnoB,EAAU0qC,gBAAkB,WAC3B,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,IAQnCvvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,OAIjB0zG,EAAE,QAAQjK,MAAM,SAAS7xG,GACpB87G,EAAE97G,EAAM6M,QAAQyvI,QAAQ,iBAAiB1sE,QAG5CugG,OAyBHrkG,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KAsDDluF,OAAOqc,iBAAiB,SAAU,SAAUlqB,GAC3C4sC,EAAE,eAAe58B,MAAM48B,EAAE,iBAAiB58B,WACvC,GAQL,SAASg5F,iBAAiBzmB,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACjE,IAECC,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAGpBkzF,WAAa,EAEd,IAGoCl4J,EAHhCksJ,EAAetkK,IACfukK,GAEgCnsJ,EAFQ1F,IAGpC0yD,OAAOmrE,IAAIn4H,EAAM8qI,UAAU+D,oBAAoB2F,EAASvF,aAAa,GAAMroB,UA0gBnF,SAASwlC,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAIT,SAASs7B,IAER,IAAIrtB,EAAOhnC,EAAE,yBAETgnC,GACHA,EAAKl2I,SAIP,SAASwjK,EAAqBC,GAE7B,OAAQA,GACP,IAAK,SACH,OAAOt9E,EAAE,uBACX,IAAK,OACH,OAAOA,EAAE,qBACX,IAAK,cACH,OAAOA,EAAE,gBA8Bb,SAASikF,EAAaC,GAErBhC,eAAe9C,wBAAwB8E,EAAU/E,QAAS,aACzDliE,KAAK,SAAUhU,GACfogB,OAAO3E,QAAQ1kB,EAAE,UAAY,KAAOA,EAAE,aAAcA,EAAE,kBACtD+oB,EAAE,sBAAsB0vD,aAAa,mBAjkBvC1/F,KAAKq+F,WAAa,WA+ajB,SAASiB,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GA/anC3qC,EAAUyqC,mBAAkB,GAE5BrvD,EAAE,+BAA+BrmC,KAAK,YAAY,GAClDqmC,EAAE,6BAA6BrmC,KAAK,YAAY,GAEhDynD,GAAGuQ,oBAAoB3xB,EAAE,yBAAyB,GAAI,CACrDwvD,eAAgB5qC,EAAUyqC,oBAoe5B,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBAvenCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAEPyhE,OAAQm2E,gBAAgBslB,qBACzB2E,QAAS,QACTC,QAAS,QACTx4J,OAAQ,OACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZC,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YAkdIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KAldXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAC5C4D,YAAY,EACZC,mBAA4C,YAAvBpd,EAASvF,YAAmD,YAAvBuF,EAASvF,WAA4B,UAAY,UAE3GooB,YAAa,SAASC,GAErB,OADetqG,OAAO5yD,SAASk9J,EAAWz9G,IAAIo4F,KAAKqlB,EAAW19G,QAC9C29G,WAAa,GAE9BvJ,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,sBAAsB0vD,aAAa,WAAWyB,cACxDv0G,EAAMojD,EAAE,sBAAsB0vD,aAAa,WAAW0B,YAE1Dx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpBwgC,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GAOtC,GALAurD,EAAUyqC,mBAAkB,GAKxBzqC,EAAUgwC,kBAAmB,CAChC,IAAIA,EAAkBhwC,EAAUgwC,kBACL,OAAvBrd,EAASjF,aACZsiB,EAAkB7kG,OAAO6kG,EAAiB/mB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAK9G,GAAIkyD,EAAUiwC,gBAAiB,CAC9B,IAAIA,EAAgBjwC,EAAUiwC,gBACH,OAAvBtd,EAASjF,aACZuiB,EAAgB9kG,OAAO8kG,EAAehnB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAIzFoiG,aAAauH,mBAC7Bz3C,EAAU8vB,OACV,EACA,EACA,IACA9vB,EAAUowC,aACVr4G,EAAMgtE,SACN/sE,EAAIt3B,QAAQg5C,SAAS,EAAG,OAAO+yF,MAAM,OAAO1nC,SAC5C/E,EAAUqwC,iBACVrwC,EAAUswC,gBACVtwC,EAAU03C,oBACV13C,EAAUwwC,qBACVxwC,EAAUywC,cACVzwC,EAAU0wC,eACV1wC,EAAU2wC,qBACV3wC,EAAU4wC,qBACV5wC,EAAU6wC,mBACV,EACAb,EACAC,GAGC3gE,KAAK,SAASwhE,GACd11D,EAAE,sBAAsB0vD,aAAa,SAAU,UAAW,SAC1D1vD,EAAE,sBAAsB0vD,aAAa,SAAU,UAAW,SAE1D,IAAInxB,EAAUm3B,EAAW7uF,KAErBkrF,EAAgB,GAEpBxzB,EAAQ9yD,QAAQ,SAASlC,GACxB,IAAI5sB,EAAQoT,OAAOwZ,EAAEurE,OACjBl4F,EAAMmT,OAAOwZ,EAAEwrE,KACf7wJ,EAAQ,CACXi5J,KAAM,QACN6U,KAAMzoF,EACN7sE,MAAO6sE,EAAE6gE,KACTztF,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAASvnF,GAE3B6rE,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,OAAS,GACpC31D,EAAE,sBAAsB0vD,aAAa,SAAU,UAAW,SAEtB,GAAlC3/F,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,QAC3B31D,EAAE,sBAAsB0vD,aAAa,SAAU,UAAW,WAK5DtyE,EAAO20E,GACP14F,EAAS04F,KAETjU,KAAK,SAASh+D,EAAK3nF,EAAOa,MAG1By6J,OAAO,WACP/a,aAAakd,QAAQ,wCAAyClyE,KAAKE,UAAUghC,EAAUixC,gCAG1FnC,WAAY,SAASxvK,EAAOkvE,GAE3B,IAAI0iG,EAAmB91D,EAAE5sC,EAAEriE,QAE3BsjK,IAEA,IAAI0B,EAAuD,aAA3B7xK,EAAM8tK,KAAKgE,aAA8B,QAAU,OAG/EjgB,EAAQ/1C,EACX,8DACgC97G,EAAM8tK,KAAKxb,MAAQ,kLAKvBuf,EAA4B,kEAKvD9+E,EAAE,gBACF,8EAcAA,EAAE,QACF,oBAOF,GAAG6+E,EAAiB,GAAG54E,UAAUwgC,SAAS,gBAAiB,CAC1Du4C,kBAAoBH,EAAiB3wC,SAASA,SAC9C,IAAI+wC,EAAMJ,MACJ,CACNG,kBAAoBH,EAAiB3wC,SAASA,SAASA,SACnD+wC,EAAMJ,EAAiB3wC,SAG5B8wC,kBAAkB50E,OAAO00D,GAEzB,IAOIogB,EAPAlnF,EAAWinF,EAAI9uF,SAEnB2uE,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAO,IAKnBqjJ,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAAiB,KAE9Ew8F,EAAkBpgB,EAAM3uE,SAAS10E,KAAOqjJ,EAAMxZ,aAAev8B,EAAE,QAAQrmC,KAAK,eAE5Eo8E,EAAM3uE,OAAO,CACZpC,IAAKiK,EAASjK,IAAM,EACpBtyE,KAAMu8E,EAASv8E,KAAOyjK,EAAiB,MAIzCpgB,EAAM38E,KAAK,MAAM28B,MAAM,WACtB,IA2T6BolE,EAzT7B,OAFgBn7D,EAAEhwC,MAAM6W,KAAK,OAG5B,IAAK,eACJ,GAA8B,eAA3B3iF,EAAM8tK,KAAKgE,aACb,OAED7iB,QAAQwgB,WAAW,wBAAyB,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,UAC7D,MACD,IAAK,UACJ,GAA8B,aAA3BlyK,EAAM8tK,KAAKgE,aACb,OAkTqB,UAFKmF,EA9SHj3K,EAAM8tK,MAgTrBqJ,UACbhwB,KACC,CACC3uI,MAAOu6E,EAAE,gBACTr8E,KAAMq8E,EAAE,mCACR71E,KAAM,UACNkqI,kBAAkB,EAClBC,iBAAkBt0D,EAAE,UACpBu0D,mBAAoB,UACpBN,kBAAmBj0D,EAAE,WACrBw0D,gBAAgB,GAEjB,SAAUC,GACJA,GACLwvB,EAAaC,KAIfD,EAAaC,GAjUT,MACD,IAAK,OACJhoB,QAAQwgB,WAAW,YAAa,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,QAASh1J,KAAMld,EAAM8tK,KAAKsE,UAAWC,aAAc,iBAQxGxC,YAAa,SAAS7vK,EAAO8vK,GAI5B,IAAIwC,EAAe,wCAA0Cv/E,EAAE,SAAW,YAAc/yF,EAAM8tK,KAAK5nB,KAAO,SACtGmqB,EAAc,wCAA0Ct9E,EAAE,gBAAkB,YAAcq9E,EAAqBpwK,EAAM8tK,KAAKyE,aAAe,SACzI8F,EAAqB,wCAA0CtlF,EAAE,gBAAkB,YAAc42D,UAAU8C,mBAAmBzsJ,EAAM8tK,KAAK1b,cACzIqgB,EAAc,wCAA0C1/E,EAAE,QAAU,qBAAqBvkB,OAAO3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,cAEvK4kB,EAAc,wCAA0C3/E,EAAE,QAAU,2BAA2BvkB,OAClG3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAG9EukB,EAAc3yK,EAAM8tK,KAAK8E,YAAc5yK,EAAM8tK,KAAK8E,YAAc,GAEpE,GAAI5yK,EAAM8tK,KAAK+E,kBACd,IAAIC,EAAuBnpB,UAAUsB,aACpCjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFinB,EAAuBA,EAAuBA,EAAqB9/F,QAAQ,OAAQ,6BAA+B,GAElH,IAAI+/F,EAAiBJ,EAAc,wCAA0C5/E,EAAE,YAAc,YAAc+/E,EAAuB,IAAMH,EAAc,SAAW,wCAA0C5/E,EAAE,YAAc,YAAcA,EAAE,eAAiB,SAExPigF,EAAkBhzK,EAAM8tK,KAAKmF,SAAW,wCAA0ClgF,EAAE,YAAc,YAAc/yF,EAAM8tK,KAAKmF,SAAW,SAAW,wCAA0ClgF,EAAE,YAAc,YAAcA,EAAE,eAAiB,SAE5OmgF,EAAsB,wCAA0CngF,EAAE,uBAAyB,YAAc/yF,EAAM8tK,KAAKqF,mBAAqB,IAAMnzK,EAAM8tK,KAAKsF,sBAAwB,wDAA2DrgF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAKuF,aAAe,qDAAwDtgF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAKwF,kBAAoB,SAEjaC,EAAsB,wCAA0CxgF,EAAE,qBAAuB,YAAc/yF,EAAM8tK,KAAK0F,mBAAqB,IAAMxzK,EAAM8tK,KAAK2F,sBAAwB,wDAA2D1gF,EAAE,WAAa,YAAc/yF,EAAM8tK,KAAK4F,aAAe,qDAAwD3gF,EAAE,oBAAsB,YAAc/yF,EAAM8tK,KAAK6F,kBAAoB,SAE/Zr5B,EACJg4B,EACAjC,EACAgI,EACA5F,EACAC,EACAK,EACAC,GACoC,EAAnChzK,EAAM8tK,KAAKsF,sBAA4BF,EAAsB,KAC1B,EAAnClzK,EAAM8tK,KAAK2F,sBAA4BF,EAAsB,IAE9Dz3D,EAAEg0D,GAAch2D,KAAK,sBAAuBwgC,GAC5Cx+B,EAAEg0D,GAAch2D,KAAK,iBAAkB,yBACvCgC,EAAEg0D,GAAcx1B,QAAQ,CAAExiC,MAAM,IAAOn1B,KAAK,cAAcixF,MAAMz2D,SAAS,wBAMzE,IAAI6yD,EAAWl0D,EAAE,qCAgBjB,GAfAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAETF,EAAa56F,KAAK,kBAAkBwmE,QACpCo0B,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAAC8jF,eAAgB,mBAAoBC,cAAe,YAAc9zK,EAAM8tK,KAAKxb,MAAOyhB,cAAe,QACpJjE,EAAa56F,KAAK,kBAAkB6a,IAAI,CAACikF,YAAa,QAASj8J,OAAU,OAAQk8J,SAAY,WAEzB,EAAhEj0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAC9C1D,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAACmkF,mBAAoB,UAKxC,eAA3Bl0K,EAAM8tK,KAAKgE,aAA+B,CAE7Ch2D,EAAEg0D,GAAc//E,IAAI,aAAc,kFAIpB,yBAAyBvhB,OACvC3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAFlF,IAKI+lB,EAAa,gDAAgD3lG,OAChE3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAA8B,OAAvB6kF,EAASjF,WAAsB,QAAUzE,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAC5HpuJ,EAAM8tK,KAAK5nB,MAGZhrG,KAAOyuG,UAAU4C,sBAAsBvsJ,EAAM8tK,KAAK1b,cAElD,IAAIgiB,EAAW,iCAAmCp0K,EAAM8tK,KAAKxb,MAAQ,4JACCp3G,KAAO,yFAG7E,GAAIl7C,EAAM8tK,KAAK+E,kBACd,IAAIwB,EAAgB1qB,UAAUsB,aAC7BjrJ,EAAM8tK,KAAK+E,kBACX7yK,EAAM8tK,KAAK8E,YACXpvB,cAAcqI,cACd,IACA,GAIFwoB,EAAgBA,GAAgC,GAE/Br0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAAmGxzK,EAAM8tK,KAAK5nB,KAA1K,IACIouB,EAAsF,EAAjEt0K,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,mBAA0B,sEAAuExzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAyB,aAAe,mEAAoEzzK,EAAM8tK,KAAKqF,mBAAqBnzK,EAAM8tK,KAAK0F,oBAAsB,KAAOxzK,EAAM8tK,KAAKsF,sBAAwBpzK,EAAM8tK,KAAK2F,uBAAwB,SAMjhBc,EAAgB,QAASJ,EAAa,+DAAgEC,EAAW,cAE5GC,EAAgB,IAAM1B,EAAa,UAP5C2B,EAA8C,eAA1Bt0K,EAAM8tK,KAAKyE,YAA+B,iEAAmEnC,EAAqBpwK,EAAM8tK,KAAKyE,aAAe+B,IAC9H,EAAnCt0K,EAAM8tK,KAAK2F,sBAA4B,yHAA2H,KAC7H,EAAnCzzK,EAAM8tK,KAAKsF,sBAA2B,4HAA8H,KACtKpzK,EAAM8tK,KAAKmF,SAAW,sEAAwEjzK,EAAM8tK,KAAKmF,SAAW,SAAW,sEAAwElgF,EAAE,eAAiB,UAUzO+8E,EAAa56F,KAAK,kBAAkBioB,OAAOo3E,GAG3CzE,EAAa56F,KAAK,kBAAkB4kC,KAAK,KAAM,4BAEhD06D,oBAAqB,WACpB9zC,EAAUyqC,mBAAkB,IAE7Bp9J,OAAQ,SAAS0qD,EAAMC,EAAK14D,GAE3B,GAAiC,GAA7B0gI,EAAU+zC,gBAId,GAAI34D,EAAE97G,EAAM6M,QAAQyvI,QAAQ,yBAAyB1sE,YAE9C,CAEN,GAAGlX,EAAIkwF,SAAS/8E,UAGf,YADAuwC,OAAOnoG,MAAM8+E,EAAE,oCAAqCA,EAAE,qBAkBvD,IAAI2hF,EAAkC,CACrCC,kBAAmBl8G,EAAM+V,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,aACvE8mB,gBAAiBn8G,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACjFymB,eAAgBhpG,OAAO5yD,SAASy/C,EAAIo4F,KAAKr4F,IAAQq8G,aAGlD7lB,QAAQwgB,WAAW,YAAa,CAAEiF,gCAAiCA,EAAiCx3J,KAAM,SAAUm1J,aAAc,iBAMrI3xC,EAAU0qC,gBAAkB,WAC3B,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,IAQnCvvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,OAIjB0zG,EAAE,QAAQjK,MAAM,SAAS7xG,GACpB87G,EAAE97G,EAAM6M,QAAQyvI,QAAQ,iBAAiB1sE,QAG5CugG,OAyBHrkG,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KAkEDluF,OAAOqc,iBAAiB,SAAU,SAAUlqB,GAC3C4sC,EAAE,eAAe58B,MAAM48B,EAAE,iBAAiB58B,WACvC,GAQL,SAASo5F,iBAAiB7mB,EAAUt4I,EAAK1S,EAAM25B,EAAQsgG,EAAWiqC,GACjE,IAECC,EAAsB,uBACtBC,EAAmB,sBACnBC,EAAkB,qBAClB5xE,EAAS94D,EACTizH,EAAWb,SAAS3uE,MAGpBkzF,WAAa,EAEd,IAGoCl4J,EAHhCksJ,EAAetkK,IACfukK,GAEgCnsJ,EAFQ1F,IAGpC0yD,OAAOmrE,IAAIn4H,EAAM8qI,UAAU+D,oBAAoB2F,EAASvF,aAAa,GAAMroB,UAmXnF,SAASwlC,IACRnvD,EAAE,wBAAwB+4B,GAAG,QAAS,WAAY,WACjD,OAAO,IAlXT/oE,KAAKq+F,WAAa,WAwRjB,SAASiB,IACR,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,GAxRnC3qC,EAAUyqC,mBAAkB,GAE5BrvD,EAAE,+BAA+BrmC,KAAK,YAAY,GAClDqmC,EAAE,6BAA6BrmC,KAAK,YAAY,GAEhDynD,GAAGuQ,oBAAoB3xB,EAAE,gCAAgC,GAAI,CAC5DwvD,eAAgB5qC,EAAUyqC,oBA6U5B,WACqB,SAAhBJ,IACHjvD,EAAE,IAAM+uD,GAAkB1tD,SAAS,iBACnC1sC,MAAMz8C,IAAI,cAAc,IAEL,cAAhB+2I,GACHjvD,EAAE,IAAMgvD,GAAiB3tD,SAAS,iBAhVnCouD,GAEA9Z,EAAS+Z,aAAa,CACrBC,OAAQ,CACPj9J,KAAM,kBACNk9J,OAAQ,QACRj9J,MAAO,8BAEPyhE,OAAQm2E,gBAAgBslB,qBACzB2E,QAAS,QACTC,QAAS,QACTx4J,OAAQ,OACR6zJ,YAAab,EACbc,WAAY,SACZC,WAAY,SACZC,WAAW,EACX3gB,UAAU,EACV4gB,gBAAgB,EAChBC,YAAY,EACZC,kBAAkB,EAClBC,aAAc,WACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAU,QACVC,WAAY,EACZC,gBAAiB7iB,UAAUwE,oBAAoBkF,EAASjF,YACxDqe,YA2TIzB,EAGE,IAAI1vE,KAAK0vE,GAFR,IAAI1vE,KA3TXoxE,IAAK,IAAIpxE,KACTqxE,SAAUhjB,UAAUwC,cAAczrB,EAAUksC,gBAC5C4D,YAAY,EACZC,mBAA4C,YAAvBpd,EAASvF,YAAmD,YAAvBuF,EAASvF,WAA4B,UAAY,UAE3GooB,YAAa,SAASC,GAErB,OADetqG,OAAO5yD,SAASk9J,EAAWz9G,IAAIo4F,KAAKqlB,EAAW19G,QAC9C29G,WAAa,GAE9BvJ,WAAY,SAAS/iK,GAChB6gK,IAAcmC,aAAanC,IAAcmC,YAAYhjK,EAAKijK,SAASC,cAEvE,IAAIv0G,EAAQqjD,EAAE,6BAA6B0vD,aAAa,WAAWyB,cAC/Dv0G,EAAMojD,EAAE,6BAA6B0vD,aAAa,WAAW0B,YAEjEx0G,EAAMA,EACJt3B,QACAg5C,SAAS,EAAG,OACZ+yF,MAAM,OAEJxC,IAAclyG,OACjBkyG,IAAclyG,MAAMA,GAGjBkyG,IAAcjyG,KACjBiyG,IAAcjyG,IAAIA,IAIpBwgC,OAAQ,SAASzgC,EAAOC,EAAK4zG,EAAUn3F,GAOtC,GALAurD,EAAUyqC,mBAAkB,GAKxBzqC,EAAUgwC,kBAAmB,CAChC,IAAIA,EAAkBhwC,EAAUgwC,kBACL,OAAvBrd,EAASjF,aACZsiB,EAAkB7kG,OAAO6kG,EAAiB/mB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAK9G,GAAIkyD,EAAUiwC,gBAAiB,CAC9B,IAAIA,EAAgBjwC,EAAUiwC,gBACH,OAAvBtd,EAASjF,aACZuiB,EAAgB9kG,OAAO8kG,EAAehnB,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAAQ5/E,OAAO,UAIzFoiG,aAAa2H,yBAC7B73C,EAAU8vB,OACV,EACA,EACA,IACA9vB,EAAUowC,aACVr4G,EAAMgtE,SACN/sE,EAAIt3B,QAAQg5C,SAAS,EAAG,OAAO+yF,MAAM,OAAO1nC,SAC5C/E,EAAUqwC,iBACVrwC,EAAUswC,gBACVtwC,EAAU03C,oBACV13C,EAAUwwC,qBACVxwC,EAAUywC,cACVzwC,EAAU0wC,eACV1wC,EAAU2wC,qBACV3wC,EAAU4wC,qBACV5wC,EAAU6wC,mBACV,EACAb,EACAC,EACAjwC,EAAU83C,iBACV93C,EAAU+3C,sBAGTzoE,KAAK,SAASwhE,GACd11D,EAAE,6BAA6B0vD,aAAa,SAAU,UAAW,SACjE1vD,EAAE,6BAA6B0vD,aAAa,SAAU,UAAW,SAEjE,IAAInxB,EAAUm3B,EAAW7uF,KAErBkrF,EAAgB,GAEpBxzB,EAAQ9yD,QAAQ,SAASlC,GACxB,IAAI5sB,EAAQoT,OAAOwZ,EAAEurE,OACjBl4F,EAAMmT,OAAOwZ,EAAEwrE,KACf7wJ,EAAQ,CACXi5J,KAAM,QACN6U,KAAMzoF,EACN7sE,MAAO6sE,EAAE6gE,KACTztF,MAAOA,EACPC,IAAKA,EACLq1G,QAAQ,EACR/0E,UAAW,CAAC,gBACZg1E,UAAW,GACXC,aAAc,GACdC,YAAY,GAEbL,EAAc/6F,KAAK9yE,KAGpB6tK,EAActmF,QAAQ,SAASvnF,GAE3B6rE,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,OAAS,GACpC31D,EAAE,6BAA6B0vD,aAAa,SAAU,UAAW,SAE7B,GAAlC3/F,OAAO7rE,EAAM8tK,KAAKld,OAAO6gB,QAC3B31D,EAAE,6BAA6B0vD,aAAa,SAAU,UAAW,WAKnEtyE,EAAO20E,GACP14F,EAAS04F,KAETjU,KAAK,SAASh+D,EAAK3nF,EAAOa,MAG1By6J,OAAO,WACP/a,aAAakd,QAAQ,4CAA6ClyE,KAAKE,UAAUghC,EAAUixC,gCAG9FnC,WAAY,SAASxvK,EAAOkvE,GAC3B+/E,QAAQwgB,WAAW,YAAa,CAAE3rF,GAAI9jF,EAAM8tK,KAAKoE,QAASh1J,KAAMld,EAAM8tK,KAAKsE,UAAWC,aAAc,oBAErGxC,YAAa,SAAS7vK,EAAO8vK,GAE5B,IAAI4I,EAAoB/gD,EAAEziD,KAAKwrD,EAAUi4C,oBAAqB,CAACC,eAAmB54K,EAAM8tK,KAAK8K,iBAEzFC,EAAwB,GACxBC,EAAyB,OAEzBJ,IACHG,EAAwBH,EAAkBxyB,KAC1C4yB,EAAyBJ,EAAkBpmB,OAK5C,IAAIggB,EAAe,wCAA0Cv/E,EAAE,SAAW,YAAc/yF,EAAM8tK,KAAK5nB,KAAO,SACtGusB,EAAc,wCAA0C1/E,EAAE,QAAU,qBAAqBvkB,OAAO3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,cAEvKirB,EAAsB,wCAA0ChmF,EAAE,iBAAmB,qBAAqBvkB,OAAOqqG,GAQjHv+B,EAAUg4B,EAAeG,GALX,wCAA0C1/E,EAAE,QAAU,2BAA2BvkB,OAClG3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,MAGzB2qB,EAEzDj9D,EAAEg0D,GAAch2D,KAAK,sBAAuBwgC,GAC5Cx+B,EAAEg0D,GAAch2D,KAAK,iBAAkB,gCACvCgC,EAAEg0D,GAAcx1B,QAAQ,CAAExiC,MAAM,IAAOn1B,KAAK,cAAcixF,MAAMz2D,SAAS,wBAMzE,IAAI6yD,EAAWl0D,EAAE,qCAWjB,GAVAg0D,EACE56F,KAAK,kBACL+rD,SACA9jC,OAAO6yE,GAETF,EAAa56F,KAAK,kBAAkBwmE,QACpCo0B,EAAa56F,KAAK,kBAAkB+rD,SAASlxC,IAAI,CAAC8jF,eAAgB,mBAAoBC,cAAe,aAAegF,EAAwB/E,cAAe,QAC3JjE,EAAa56F,KAAK,kBAAkB6a,IAAI,CAACikF,YAAa,QAASj8J,OAAU,OAAQk8J,SAAY,WAG9D,eAA3Bj0K,EAAM8tK,KAAKgE,aAA+B,CAE7Ch2D,EAAEg0D,GAAc//E,IAAI,aAAc,kFAIpB,yBAAyBvhB,OACvC3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACnFviF,OAAO7rE,EAAM8tK,KAAKjd,KAAKriF,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,KAFlF,IAKI+lB,EAAa,gDAAgD3lG,OAChE3C,OAAO7rE,EAAM8tK,KAAKld,OAAOpiF,OAA8B,OAAvB6kF,EAASjF,WAAsB,QAAUzE,UAAUwE,oBAAoBkF,EAASjF,YAAY,IAC5HpuJ,EAAM8tK,KAAK5nB,MAGZhrG,KAAOyuG,UAAU4C,sBAAsBvsJ,EAAM8tK,KAAK1b,cAElD,IAAImiB,EAAgB,QAASJ,EAAa,SAE1CrE,EAAa56F,KAAK,kBAAkBioB,OAAOo3E,GAG3CzE,EAAa56F,KAAK,kBAAkB4kC,KAAK,KAAM,4BAEhD06D,oBAAqB,WACpB9zC,EAAUyqC,mBAAkB,IAE7Bp9J,OAAQ,SAAS0qD,EAAMC,EAAK14D,GAE3B,GAAiC,GAA7B0gI,EAAU+zC,gBAId,GAAI34D,EAAE97G,EAAM6M,QAAQyvI,QAAQ,yBAAyB1sE,YAE9C,CAEN,GAAGlX,EAAIkwF,SAAS/8E,UAGf,YADAuwC,OAAOnoG,MAAM8+E,EAAE,oCAAqCA,EAAE,qBAcvD,IAAI2hF,EAAkC,CACrCC,kBAAmBl8G,EAAM+V,OAAOm7E,UAAU+D,oBAAoB2F,EAASvF,aACvE8mB,gBAAiBn8G,EAAM+V,OAAOm7E,UAAUwE,oBAAoBkF,EAASjF,YAAY,IACjFymB,eAAgBhpG,OAAO5yD,SAASy/C,EAAIo4F,KAAKr4F,IAAQq8G,aAGlD7lB,QAAQwgB,WAAW,YAAa,CAAEiF,gCAAiCA,EAAiCx3J,KAAM,SAAUm1J,aAAc,uBAMrI3xC,EAAU0qC,gBAAkB,WAC3B,IAAIC,EAAevvD,EAAE,iBAAiBhE,OACtCgE,EAAE,IAAM8uD,GAAqB9yD,KAAKuzD,IAQnCvvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,sBAAwB+4B,GAAG,QAAS,WACrC/4B,EAAE,mBAAmBo6B,QAAQ,SAC7Bk1B,IACAH,MAGDnvD,EAAE,IAAM+uD,GAAkBh2B,GAAG,QAAS,WACrC/4B,EAAE,yBAAyBvD,OAE3BwyD,EAAe,QACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,oBAAoBo6B,QAAQ,SAE9Bp6B,EAAE,IAAMgvD,GAAiBhyB,YAAY,iBACrCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjB8tD,IACAG,MAGDtvD,EAAE,IAAMgvD,GAAiBj2B,GAAG,QAAS,WACpC/4B,EAAE,yBAAyB1zG,OAE3B2iK,EAAe,aACft6F,MAAMz8C,IAAI,cAAc,GAExB8nF,EAAE,yBAAyBo6B,QAAQ,SAEnCp6B,EAAE,IAAM+uD,GAAkB/xB,YAAY,iBACtCh9B,EAAEhwC,MAAMqxC,SAAS,iBACjBiuD,MAGDtvD,EAAE,IAAM8uD,GAAqB9yD,KAAKgE,EAAE,iBAAiBhE,QACrDgE,EAAE,eAAe1zG,OAIjB0zG,EAAE,QAAQjK,MAAM,SAAS7xG,GA6C1B,IAEK8iJ,EA9CChnC,EAAE97G,EAAM6M,QAAQyvI,QAAQ,iBAAiB1sE,SA8C1CkzE,EAAOhnC,EAAE,2BAGZgnC,EAAKl2I,YArBPk/D,KAAK62D,OAAS,YACF,EAEX8uB,EAASvb,QAAQ,cAEG,cAAhB60B,GAA8BjvD,EAAE,yBAAyB1zG,OAE7D6iK,KAkEDluF,OAAOqc,iBAAiB,SAAU,SAAUlqB,GAC3C4sC,EAAE,eAAe58B,MAAM48B,EAAE,iBAAiB58B,WACvC,GAML,SAAS85F,UAAUvnB,EAAU1mB,EAAe4/B,GAC3C,IAAIsO,EAAqC,YAAxBxnB,EAAS5tE,IAAI,GAAG3mE,KAChCg8J,EAAkC,SAAxBznB,EAAS5tE,IAAI,GAAG3mE,KAEvBi8J,EAAej8C,GAAGk8C,aAAa,WAElC,OAAIzO,EAAiB,IAAE,gBACfztC,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,iBACvCw1F,EACN1O,EAAiB,IAAE,SACfztC,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,UAE1C9+C,QAAQj3B,WAJV,IASJgsE,EAAWixD,IACduuC,EAAeL,GAAe/7C,GAAGgC,MAAMM,iBAAiB1lD,aAAqB8M,MAC7E2yF,IAAiCD,GAAgBx/F,EAAShH,MAAQgH,EAASuQ,QAC3EgvF,EAAkBH,GAAWI,EAC7BE,EAAeF,EAAeH,SAAiB97F,EAEhDvR,KAAKq+F,WAAa,WACjB1Y,EAASgoB,OAAO,CACfC,cAAe,0BACfC,WAAY,uBACZC,cAAe,aAGhBnoB,EAAS5c,GAAG,YAAa,WAGxB,IAAIglC,EAAYpoB,EAAS5tE,IAAI,GAAGi2F,QAC/BC,EAAYZ,IAGb,IAAIj8C,GAAG88C,gBAAgBC,cAOlBJ,IAAcX,IAAWh8C,GAAG88C,gBAAgBE,wBAAjD,CAMA,IAAIC,EAAaj9C,GAAG88C,gBAAgBlmG,EAAEi3D,GACtC,GAAIuuC,EAAc,CACjB,IAAIc,EAAgBb,EAA+BY,EAAWjxC,OAASixC,EACtEE,EAAeb,EAGZa,KAFJb,EAAeO,GAMVF,IACH38C,GAAGgC,MAAMo7C,gBAAgBF,EAAeL,GAAW,GACnD78C,GAAGgC,MAAMo7C,gBAAgBF,EAAeC,GAAc,IAKvDn9C,GAAGgC,MAAMo7C,gBAAgBF,EAAeL,EAAWF,GAGhDN,GAAgCr8C,GAAGgF,sBAAsBi4C,IAC5DA,EAAWC,QAGRnB,SACe57F,IAAd08F,EACHA,EAAYF,EACDA,IACXE,OAAY18F,IAGd6/C,GAAGq9C,oBAAoBC,GAAGL,EAAYxP,EAAa,UAAWoP,GAAW,OAK5EjuG,KAAK62D,OAAS,WAGb,IAAIw3C,EAAaj9C,GAAGgC,MAAMM,iBAAiBuL,KAC1CgvC,EAAYZ,IACZ/wE,EAAU80B,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,WACpDx3E,EAAW6wH,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,YAElDy1F,GAEH7nB,EAASgoB,OAAuD,GAAhDv8C,GAAGgC,MAAMiB,aAAag6C,EAAYJ,GAAkB,QAAU,WAC9EP,EAAeO,GACLd,QAA4B57F,IAAd08F,EAGxBtoB,EAASgoB,OAASU,EAAa,QAAU,WAGzC1oB,EAASgoB,OAAON,MAAmBgB,EAAa,QAAU,WAGtDxiD,EAAEisB,YAAYx7C,GAEPuvB,EAAEisB,YAAYv3I,IACzBolJ,EAASgoB,OAAOptK,EAAW,UAAY,UAFvColJ,EAASgoB,OAAOrxE,EAAU,SAAW,YAUxC,SAASqyE,kBAAkBhpB,EAAUrxH,GACpC,IAAIs6I,EAAe,oEACfC,EAAa,4CACbC,EAAe,uFAEnB9uG,KAAK+uG,QAAU,WACd,OAAOppB,EAASqpB,QASjB,IAAIC,EAAiBtpB,EAAS33C,KAAK,oBAClCkhE,EAAgBvpB,EAAS33C,KAAK,mBAC9BvhG,EAAOk5I,EAAS33C,KAAK,QACrBggC,EAAW2X,EAAS33C,KAAK,SA8B1BhuC,KAAKq+F,WAAa,WACjB,KAxCD,WACC,IAAK/pI,EAAQ,MAAM,IAAIqzD,MAAMinF,GAC7B,IAAKjpB,EAAS33C,KAAK,QAAS,MAAM,IAAIrmB,MAAMknF,GAC5C,IAAKlpB,EAAS33C,KAAK,qBAAuB23C,EAAS33C,KAAK,oBAAqB,MAAM,IAAIrmB,MAAMmnF,GAsC5FK,GACAxpB,EAASrpJ,OACR,MAAO6L,GACR,MAAMA,IAIR63D,KAAK62D,OAAS,SAAS59F,EAASgmG,EAAe4/B,GAC9C,IArCIuQ,EAqCA7tG,EAAI6vD,GAAGkJ,OAAOhmG,GACd+6I,GAtCAD,EAAa,cAAgBphC,EAAW,KAsCnBzsE,EArClBka,QAAQ,SAASlS,EAAM3C,GAC7B,IAAI0oG,EACH,cACA7iK,EACA,IACAm6D,EACA,wBACAn6D,EACA,YACA88D,EAAK0lG,GACL,MACGM,EACH,eACA9iK,EACA,IACAm6D,EACA,MACC2C,EAAK06F,KAAO,gBAAkB16F,EAAK06F,KAAO,UAAY,IACvD16F,EAAK2lG,GACL,WACDE,GAAc,OAASE,EAAYC,EAAY,UAEhDH,GAAc,QACPp/D,EAAEo/D,IAeLI,EAAM7pB,EAASqpB,KAAK,MAAMtwB,QAC1B8wB,EAAI1rG,QACP0rG,EAAI1uK,SAEL6kJ,EAASr1B,OAAO++C,GAChBrvG,KAAKyvG,OAAO,KAAM5Q,IAkBpB,SAAS6Q,WAAW/pB,EAAUjjF,GAC7B1C,KAAKq+F,WAAa,WACjB1Y,EAAS9a,WAAW,CACnBmE,SAAU,SACVpB,gBAAgB,EAChBkE,oBAAoB,EACpBlH,YAAY,EACZxE,eAAe,EACfyF,WAAW,EACXnpE,OAAQA,EAAOqN,cACfprE,SAAUo7D,OAAOqE,YAQpB,SAASurG,aAAahqB,EAAU1mB,EAAe4/B,GAC1C5/B,EAAgBA,EACnB0mB,EAAWA,EAEZ3lF,KAAKq+F,WAAa,WACjB1Y,EAASgoB,OAAO,CACfC,cAAe,0BACfC,WAAY,uBACZC,cAAe,aAGhBnoB,EAAS5c,GAAG,YAAa,WACP9J,GACjBlI,CAAW/2D,KAAKh+D,UAIlBg+D,KAAK62D,OAAS,SAAS70H,GACtBA,EAAQovH,GAAGkJ,OAAO2E,KAClB,IAAI3iC,EAAU80B,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,WACpDx3E,EAAW6wH,GAAGgC,MAAMM,iBAAiBmrC,EAAY9mF,IAAI,YAErD/1E,GAAS2jJ,EAAS33C,KAAK,UAC1B23C,EAASgoB,OAAO,SAGZ9hD,EAAEisB,YAAYx7C,GAEPuvB,EAAEisB,YAAYv3I,IACzBolJ,EAASgoB,OAAOptK,EAAW,UAAY,UAFvColJ,EAASgoB,OAAOrxE,EAAU,SAAW,YAUxC,SAASszE,UAAUjqB,EAAUkqB,EAAa3hK,EAAO4hK,GAChD,IACIxrG,EAAiByrG,EAAeC,EAChCC,EAEAC,EAAsBC,EAHjBj6E,EAAQ,GAMbk6E,EAAiB,wFAmCrB,SAASC,EAAsBC,GAC9B,GAA4B,GAAxBT,IAAc/rG,OAElB,GAAI+nD,EAAEisB,YAAYw4B,GACjBC,QACM,CACN,IAAIC,EA1BN,SAAkCp0K,GAGjC,IAFA,IAAIq0K,EAAmBZ,IACnB9iG,EAAWg7D,EAAAA,EAAUoR,GAAO,EACvBvyE,EAAI,EAAGA,EAAI6pG,EAAiB3sG,SAAU8C,EAAG,CACjD,IAAIg3E,EAAKx2E,KAAKC,IAAIopG,EAAiB7pG,GAAG0pG,UAAYl0K,GAC9CwhJ,EAAK7wE,IACRA,EAAW6wE,EACXzE,EAAMvyE,GAGR,OAAO6pG,EAAiBt3B,GAgBVu3B,CAAyBJ,GACtCK,EAAYH,GA+Bd,SAAqBjrB,GACpB,GAAIA,GAAOjhF,EAAK,CACf,IAAIssG,EAAatsG,EAAIusG,YACjBd,GAAiBa,GAAcb,EAAc1xF,SAASknE,KAASqrB,EAAWvyF,SAASknE,IACtFjhF,EAAIwsG,MAAMvrB,IAlCXwrB,CAAYP,IAId,SAASQ,EAAsBrtH,GAC9B,GAA4B,GAAxBksH,IAAc/rG,OAAlB,CAEAisG,EAAgB,IAAIkB,OAAOC,KAAKC,aAChC,IAAIC,EAAYC,EAASxB,IAAeE,EAvDhB,EAuDmDpsH,GAEvEkoE,EAAEisB,YAAYn0F,IACjBusH,EAAqBoB,YAAW,GAChCnB,EAAmBmB,YAAW,KAE1BF,EAAUzkH,OACbujH,EAAqBqB,YAAYH,EAAUzkH,OAC3CujH,EAAqBoB,YAAW,IAEhCpB,EAAqBoB,YAAW,GAE7BF,EAAUxkH,KACbujH,EAAmBoB,YAAYH,EAAUxkH,KACzCujH,EAAmBmB,YAAW,IAE9BnB,EAAmBmB,YAAW,GAE/BhtG,EAAIktG,UAAUzB,EAAc0B,UAAYzB,EAAYD,KAatD,SAASY,EAAY1xF,GAChBA,GAAYgxF,GAAa3rG,IAC5B2rG,EAAUsB,YAAYtyF,GACtBgxF,EAAUqB,YAAW,GACrB/iB,SAASj5I,QAAQ,WAAY2pE,IAI/B,SAASsxF,IACRhiB,SAASj5I,QAAQ,YACjB26J,EAAUqB,YAAW,GAkCtB,SAASI,EAAa1hK,GACrB,MAAO,CACN2hK,OAAQ,CAAExtF,GAAI,EAAGliB,GAAI,IACrB2vG,UAAW5hK,GAAS,QACpB6hK,YAAa,EACbC,aAAc,EACdC,YAAa,CAAE5tF,EAAG,EAAGliB,GAAI,IACzBsQ,MAAO,IACPqc,KAAMwhF,GAIR,SAAS4B,EAAQhiK,GAChB,MAAO,CACN4hK,UAAW5hK,GAAS,QACpB6hK,YAAa,EACbC,aAAc,EACdC,YAAa,CAAE5tF,EAAG,EAAGliB,GAAI,IACzBsQ,MAAO,GACPqc,KAnJY,4GAuJd,SAASyiF,EAASY,EAAQC,EAAYC,EAAoBxuH,GACzD,IAEI3zC,EAFAoiK,EAAUlkK,KAAWs3I,MAAM7vC,MAAMk8C,OAASzQ,UAAUqT,oBAAsBrT,UAAUoT,eACpF5lE,EAAO,GAEPzlF,EAAW,EACXkpK,GAAU,EAEVjB,EAAY,GAqDhB,OAlDAe,EAAqBA,GAAsB,EAxC3CtmD,EAAEriD,KAAK0sB,EAAO,SAAUnK,GACvBA,EAAEumF,OAAO,QAEVp8E,EAAQ,GAwCR21B,EAAEriD,KAAKyoG,EAAQ,SAAU14F,EAAG3S,EAAGqrG,GAC9B,IAAIM,GAAY5uH,GAAc41B,EAAE+2F,WAAa3sH,EAAU68B,WAAajH,EAAE+2F,WAAa3sH,EAAUswD,QACzFu+D,EAAYprG,KAAKiH,MAAMkL,EAAEk5F,cAAgBL,GAE7CxjF,EAAK5nB,KAAK,CAAEg6E,IAAKznE,EAAEynE,IAAKE,IAAK3nE,EAAE2nE,MAE/B,IA7DoBtyD,EAAM5+E,EAAOs0D,EAC9BouG,EA4DCC,EAAUJ,GAAYh5F,EAAEvpE,OAAU,OAClCkiK,GAAcK,GACjBL,EAAWlsG,OAAOuT,IAGd84F,GAAWE,GACfnB,EAAUzkH,MAAQ4sB,EAClB84F,GAAU,GACAA,IAAYE,IACtBnB,EAAUxkH,IAAMqlH,EAAOrrG,EAAI,GAC3ByrG,GAAU,GAGF,GAALzrG,GACH52D,EAAQ2iK,EACRxpK,EAAWqpK,KAEPxiK,GAAS2iK,GAAW/rG,GAAKqrG,EAAOnuG,OAAS,GAAmB,EAAd8qB,EAAK9qB,UA9EpC8qB,EA+ELA,EA/EW5+E,EA+ELA,EA/EYs0D,EA+ELA,GA9EzBouG,EAAO,IAAIzB,OAAOC,KAAK0B,SAAS,CACnChkF,KAAMA,EACNikF,YAAa7iK,EACb8iK,cAAe,EACfhB,aAAc,KAEVQ,OAAOhuG,GACZ4xB,EAAMlvB,KAAK0rG,GAyER9jF,EAAO,CAAC,CAAEoyD,IAAKznE,EAAEynE,IAAKE,IAAK3nE,EAAE2nE,MAC7BlxI,EAAQ2iK,GAGSxpK,EAAWgpK,GAAzBK,IACH,IAAIvB,OAAOC,KAAK6B,OAAO,CACtBzuG,IAAKA,EACL2/F,KAAMyN,EAAa,SACnBzyF,SAAU1F,EACV5R,MAAO,CAAEqrG,SAAU,MAAOhjK,MAAO,QAASpF,KAAM4nK,EAAUzrG,cAG3D59D,EAAWqpK,MAKVpB,EAAUzkH,QAAUykH,EAAUxkH,MACjCwkH,EAAUxkH,IAAMi/D,EAAE33E,KAAK+9H,IAGjBb,EAxNGpxG,KAsGNq+F,WAAa,WAEjB9P,SAASp9C,UAAU,kBAAmBk/D,GACtC9hB,SAASp9C,UAAU,kBAAmB6/D,IAzG5BhxG,KA4GN+8D,QAAU,WACdwxB,SAAS50F,YAAY,kBAAmB02G,GACxC9hB,SAAS50F,YAAY,kBAAmBq3G,IA9G9BhxG,KA2NN62D,OAAS,WAEb,IAAI45C,EAAmBr/C,GAAGkJ,OAAOu1C,GAC7BsC,EAAqB/gD,GAAGkJ,OAAOw1C,GAenC,GAbAxrG,EAAM,IAAI2sG,OAAOC,KAAK+B,IAAIttB,EAAS,GAAI,CACtCutB,KAAM,GACNC,mBAAmB,EACnBC,UAAW,UACXC,sBAAuB,CACtBj+F,MAAO67F,OAAOC,KAAKoC,oBAAoBC,cACvCC,WAAY,CAAC,UAAW,UAAW,YAAa,WAEjDC,aAAa,EACbC,cAAc,IAGf3D,EAAgB,IAAIkB,OAAOC,KAAKC,aACF,EAA1BV,EAAiB3sG,OAIpButG,EAASZ,EAAkBV,EAAeoC,GAE5B,IAAIlB,OAAOC,KAAK6B,OAAO,CACpCzuG,IAAKA,EACL2/F,KAAMyN,EAAa,SACnBzyF,SAAU4sC,EAAE6yB,MAAM+xB,KAGP,IAAIQ,OAAOC,KAAK6B,OAAO,CAClCzuG,IAAKA,EACL2/F,KAAMyN,EAAa,OACnBzyF,SAAU4sC,EAAE33E,KAAKu8H,KAGlBP,EAAuB,IAAIe,OAAOC,KAAK6B,OAAO,CAC7CY,SAAS,EACTrvG,IAAKA,EACL2/F,KAAM+N,EAAQ,WACdrqG,MAAO,CAAE/8D,KAAM,IAAKoF,MAAO,WAG5BmgK,EAAqB,IAAIc,OAAOC,KAAK6B,OAAO,CAC3CY,SAAS,EACTrvG,IAAKA,EACL2/F,KAAM+N,EAAQ,WACdrqG,MAAO,CAAE/8D,KAAM,IAAKoF,MAAO,eAGtB,CACN,IAAI4jK,EAAS/nD,EAAE9zC,IAAI8zC,EAAEgoD,MAAMpD,EAAkB,OAAQ,OACpDqD,EAASjoD,EAAE9zC,IAAI8zC,EAAEkoD,MAAMtD,EAAkB,OAAQ,OACjDuD,EAASnoD,EAAE9zC,IAAI8zC,EAAEgoD,MAAMpD,EAAkB,OAAQ,OACjDwD,EAASpoD,EAAE9zC,IAAI8zC,EAAEkoD,MAAMtD,EAAkB,OAAQ,OAQlDV,EAAc/pG,OAAO,CAAEg7E,IAAKgzB,EADf,KACgC9yB,IAAK0yB,EADrC,OAEb7D,EAAc/pG,OAAO,CAAEg7E,IAAKizB,EAFf,KAEgC/yB,IAAK4yB,EAFrC,OAKd9D,EAAY,IAAIiB,OAAOC,KAAKC,aAAapB,EAAcmE,eAAgBnE,EAAcoE,gBACrF7vG,EAAIktG,UAAUzB,GAEdE,EAAY,IAAIgB,OAAOC,KAAK6B,OAAO,CAClCY,SAAS,EACTrvG,IAAKA,EACL2/F,KAAM,CACL0N,OAAQ,CAAExtF,EAAG,GAAIliB,EAAG,IACpB2vG,UAAW,OACXC,YAAa,EACbC,aAAc,EACdC,YAAa,CAAE5tF,EAAG,EAAGliB,GAAI,IACzBsQ,MAAO,GACPqc,KApSgB,8OAsSjB4b,OAAQ,MAMTlmC,EAAI8vG,YAAY,YAAa,SAAU5iG,GACtC,IAII6iG,EA7SN,SAAqCC,GAGpC,IAFA,IAC4BC,EADxB9D,EAAmBZ,IACnB2E,EAAczsC,EAAAA,EACTnhE,EAAI,EAAGA,EAAI6pG,EAAiB3sG,SAAU8C,EAC1Ci3E,UAAU+C,YAAY6vB,EAAiB7pG,GAAI0tG,GAASE,IACvDA,EAAc32B,UAAU+C,YAAY6vB,EAAiB7pG,GAAI0tG,GACzDC,EAAS3tG,GAGX,OAAO6pG,EAAiB8D,GAoSJE,CAJN,CACZzzB,IAAKxvE,EAAIkjG,OAAO1zB,MAChBE,IAAK1vE,EAAIkjG,OAAOxzB,QAGjByvB,EAAY0D,GAEZ9lB,SAASj5I,QAAQ,gBAAiB++J,EAAaj4K,QAIhDkoE,EAAI8vG,YAAY,WAAY,SAAU5iG,GACrC++F,IACAhiB,SAASj5I,QAAQ,oBAQpB,SAASq/J,aAAahvB,EAAUivB,EAAkB1mK,GAUjD8xD,KAAKq+F,WAAa,WACbnwJ,KAAWs3I,MAAM7vC,MAAMk8C,OAC1BlM,EAASkvB,eAAe,CACvB91K,IAAK,GACLE,IAAK,IACLgiI,KAAM,EACN6zC,MAAM,EACNC,SAAU,SAASl+F,GAClB+9F,EAAiB/9F,EAAKz7D,SAIxBuqI,EAASkvB,eAAe,CACvB91K,IAAK,GACLE,IAAK,GACLgiI,KAAM,EACN6zC,MAAM,EACNE,SAAU,EACVC,SAAU,SAASjzK,GAClB,OAzBCkzK,EAyBoBlzK,EAzBLo/I,UAAUmT,aACzB4gB,EAAS/tG,KAAKiH,MAAM6mG,GAEP,IADbE,EAAShuG,KAAKqH,OAAOymG,EAAOC,GAAU/zB,UAAUmT,eAC/B4gB,EAAS,IAAMA,EAAS,KAAOC,EAAS,IAJ9D,IACKF,EACAC,EACAC,GAyBFL,SAAU,SAASl+F,GAClB+9F,EAAiB/9F,EAAKz7D,KAAOgmI,UAAU0T,eAK1C90F,KAAKq1G,OAAS1vB,EAAS9uE,KAAK,mBAE7B7W,KAAK62D,OAAS,WACb,IAAI70H,EAAQ4yK,IACR1mK,KAAWs3I,MAAM7vC,MAAMm8C,WAC1B9vJ,GAASo/I,UAAU0T,YAEpB90F,KAAKq1G,OAAOx+C,OAAO,CAClBz7G,KAAMpZ,KAQT,SAASszK,KAAK3vB,EAAU4vB,EAAMC,GAC7B,IACCC,EAA2B,gBAC3BC,EAAS,cAAe,IAAIlmF,MAAO0jB,UAgCpClzC,KAAKq+F,WAAa,WACjB,IA/B0BmX,EACtBxpE,EA8BA2pE,EAAYJ,IACfK,EAAaJ,IAEVK,GAlCsBL,EAkCOI,EAjC7B5pE,EAAO,gCAAkC0pE,EAAS,KAiChCC,EAhCjBl6F,QAAQ,SAASq6F,EAAKlvG,GAC1B,IAAImvG,EAAU,eAAiBD,EAAIE,IAAMR,EAAe,SAAW,IAAM,KACzEO,GACC,mCACAD,EAAIE,GACJ,qBACCF,EAAIE,IAAMR,EAAe,OAAS,SACnC,KACDO,GAAWD,EAAIG,MAEfjqE,GADA+pE,GAAW,cAGZ/pE,GAAQ,SAqBPkqE,EAAW,GAEZP,EAAUl6F,QAAQ,SAASq6F,EAAKlvG,GAnBjC,IAAqBkvG,EAAKN,EAAclsG,EACnC0iC,EAmBHkqE,IApBwBV,EAoBKI,EApBStsG,EAoBG1C,EAnBtColC,EAAO,iBADS8pE,EAoBKA,GAnBQE,GAAK,sBAAwBF,EAAIE,IAAMR,EAAe,SAAW,IAAM,KACxGxpE,GAAQ,2BAKRA,GAJgB25C,EACdv8E,KAAKqsG,GACLlsD,GAAGjgD,GACH0iC,OAEFA,GAAQ,kBAcR,IAAIA,EAAO,+BAAiC6pE,EAAMK,EAAW,SAE7DvwB,EAASv8E,KAAKqsG,GAA0B9qC,SAExCgb,EAAS5c,GAAG,QAAS,uBAAwB,SAAS3lE,GACrD4sC,EAAEhwC,MAAM81G,IAAI,UAGbnwB,EAASt0D,OAAO2a,IAGjBhsC,KAAK62D,OAAS,SAAS70H,KAMxB,SAASm0K,oBAAoBxwB,EAAUywB,GACtC,IAAIt7B,EAAO96E,KAkEXA,KAAKq2G,UAAYjlD,GAAGk8C,aAAa,WAEhC,OAtCD,SAAwBloB,GACvB,IAAKA,EAAO,MAAO,GAEnB,IAAIkxB,EAAoBzqD,EAAErJ,OACzB4iC,EACA,SAAS39E,EAAGkc,GACX,OAAOlc,EAAEx+D,IAAI06E,IAEd5jB,OAAO5yD,YAGJ43E,EAAM8mC,EAAEvnD,IAAI8gF,EAAO,SAASzhE,EAAG/c,GAClC,IAAI2vG,EAASnxB,EAAMthF,OAAS8C,EAAI,EAChC,MAAO,CACN4vG,UAAWD,EACXppK,SAAUw2E,EACV8yF,YAAa54B,UAAU8D,cACtB9D,UAAUsC,cAAcx8D,GACxBk6D,UAAUsC,cAAcm2B,IAEzBtmK,MAAOw1I,MAAMC,YAAY,QAAU8wB,MAIrC,GAAInxB,EAAMthF,OAAQ,CACjB,IAAI4yG,EAAW7qD,EAAE8qD,MAAM5xF,EAAK,eAEZ,KAAZ2xF,GAA+B,GAAZA,IACZ7qD,EAAEkoD,MAAMhvF,EAAK,eACnB0xF,aAAe,IAAMC,GAI3B,OAAO3xF,EAKA6xF,CADIxlD,GAAGkJ,OAAO87C,QAItBp2G,KAAKq+F,WAAa,aAClBr+F,KAAK62D,OAAS,WACb,IAvEoBuuB,EAChBgqB,EAsEApjE,GAvEgBo5C,EAuEGtK,EAAKu7B,YAtExBjH,EAAa,sCAEjBhqB,EAAM3pE,QAAQ,SAASo7F,EAAMjwG,GAC5BwoG,GACC,2DAEAyH,EAAKJ,YACL,yGAEAI,EAAK7mK,MACL,6DACA6mK,EAAKL,UACL,yIAEAK,EAAK7mK,MACL,0BACA6mK,EAAKJ,YACL,8CAEA54B,UAAUmC,eAAe62B,EAAK1pK,UAC9B,iBAGFiiK,GAAc,UAgDdzpB,EAAS35C,KAAK,IACd25C,EAASt0D,OAAO2a,IAOlB,SAAS8qE,iBAAiBnxB,EAAUrxH,EAAQyiJ,EAAYC,GAsCvDh3G,KAAKyvG,OAAS,SAAS76C,GACtBxD,GAAGuS,cAAc/O,EAAW5kB,EAAE,uBAAuB,KAGtDhwC,KAAK62D,OAAS,aACd72D,KAAKq+F,WAAa,WACjB,IA1CIn6F,EA0CA2S,EAAOviD,IACV03E,GA3CG9nC,EAAS,mCA2CQ2S,EA1ChB4E,QAAQ,SAASo7F,EAAMjwG,GAC3B,IAAImvG,EAAU,eAAiBc,EAAKpqK,KAAO,KAC3CspK,GACC,2CACAgB,EACA,MACAnwG,EACA,kFACAmwG,EACA,MACAnwG,EACA,gBACK,EAAJA,EAAQ,WAAaowG,EAAe,YAAc,IACnD,MACM,GAALpwG,EAAS,YAAc,IACxB,yBACDmvG,GACC,2CACAgB,EACA,MACAnwG,EACA,mFACAmwG,EACA,MACAnwG,EACA,mBACAowG,EACA,uCAED9yG,GADA6xG,GAAW,WAGZ7xG,GAAU,UAYVyhF,EAASt0D,OAAO2a,IAOlB,SAASirE,eAAetxB,EAAUkZ,EAAajqC,GAC1C+wB,EAAWA,EAAf,IACCuxB,EAAWrY,IACXjqC,EAAYA,EAEb50D,KAAKm3G,cAAgB,SAAU/lK,GAC9B,IAAIgmK,EAwCJ,YAtCyB,IAAdlK,WAA6B97J,IAAS87J,UAChDkK,EAAU,IAAIlK,UAAUvnB,EAAUuxB,EAASlJ,QAASkJ,QACpB,IAAfxH,YAA8Bt+J,IAASs+J,WACxD0H,EAAU,IAAI1H,WAAW/pB,EAAU9H,UAAU+D,oBAAoB8E,SAAS3uE,MAAMiqE,kBAC5C,IAAnB4c,gBAAkCxtJ,IAASwtJ,eAC5DwY,EAAU,IAAIxY,eAAejZ,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QACrD,IAA1BuF,sBAAyChzJ,IAASgzJ,qBACnEgT,EAAU,IAAIhT,qBAAsBze,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QAC/C,IAAvCoK,mCAAsD73J,IAAS63J,kCAChFmO,EAAU,IAAInO,kCAAmCtjB,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QACvE,IAA5BkL,wBAA2C34J,IAAS24J,uBACrEqN,EAAU,IAAIrN,uBAAwBpkB,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QAClE,IAAtBmM,kBAAqC55J,IAAS45J,iBAC/DoM,EAAU,IAAIpM,iBAAkBrlB,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QAC5D,IAAtBuN,kBAAqCh7J,IAASg7J,iBAC/DgL,EAAU,IAAIhL,iBAAkBzmB,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QAC5D,IAAtB2N,kBAAqCp7J,IAASo7J,iBAC/D4K,EAAU,IAAI5K,iBAAkB7mB,EAAUuxB,EAAS7pK,IAAK6pK,EAASv8K,KAAMu8K,EAAS5iJ,OAAQsgG,EAAWiqC,QAC5D,IAAtB8P,mBAAqCv9J,IAASu9J,kBAC/DyI,EAAU,IAAIzI,kBAAkBhpB,EAAUuxB,EAAS5iJ,aACV,IAAxB6hJ,qBAAuC/kK,IAAS+kK,oBACjEiB,EAAU,IAAIjB,oBAAoBxwB,EAAUuxB,EAAS5iJ,aACf,IAArBwiJ,kBAAoC1lK,IAAS0lK,iBAC9DM,EAAU,IAAIN,iBAAiBnxB,EAAUuxB,EAAS5iJ,OAAQ4iJ,EAASH,WAAYG,EAAS/hD,aACzD,IAAdy6C,WAA6Bx+J,GAAQw+J,UACtDwH,EAAU,IAAIxH,UAAUjqB,EAAUuxB,EAAS5iJ,OAAQ4iJ,EAAShpK,MAAOgpK,EAASpH,sBAC1C,IAAjB6E,cAAgCvjK,GAAQujK,aACzDyC,EAAU,IAAIzC,aAAahvB,EAAUuxB,EAAS5iJ,OAAQ4iJ,EAAShpK,YACrC,IAATonK,MAAwBlkK,GAAQkkK,KACjD8B,EAAU,IAAI9B,KAAK3vB,EAAUuxB,EAAS5iJ,OAAQ4iJ,EAAS1B,mBAC1B,IAAZ6B,SAA2BjmK,GAAQimK,QACpDD,EAAU,IAAIC,QAAQ1xB,EAAUuxB,EAASlyF,OAAQ4vC,EAAWiqC,QACvB,IAApByY,iBAAmClmK,GAAQkmK,gBAC5DF,EAAU,IAAIE,gBAAgB3xB,EAAUuxB,EAAS57C,cAAe47C,EAAS5iJ,OAAQ4iJ,EAASK,WAAYL,EAASM,QAAS5iD,EAAWiqC,QAChG,IAAlBlC,eAAiCvrJ,GAAQurJ,gBAC1Dya,EAAU,IAAIza,cAAchX,EAAUuxB,EAASlyF,OAAQkyF,EAASha,SAAUga,EAAS/Z,UAAW+Z,EAAS9Z,SAAU8Z,EAAShzG,SAGpHkzG,GAkNT,SAAS55B,UAAUmI,EAAU8xB,EAAgBnjJ,GAC5C,IAAI0wD,EAAS6mC,EAAEv2F,MAAMmiJ,GACjB38B,EAAO96E,KACX86E,EAAK48B,UAAY,KACjB58B,EAAKrS,QAAU,GACfqS,EAAK68B,gBAAiB,EAEtB3yF,EAAO4yF,WAAa5yF,EAAO4yF,YAAc,CACxC,CACC/gG,KAAM,KACNghG,eAAgB,GAChB72K,QAAS,SAIXgkF,EAAOrgF,SAAWknH,EAAE9gG,SAAS,GAAIi6D,EAAOrgF,SAAU64I,UAAU74I,UAE5DqgF,EAAO8yF,OAASjsD,EAAEisB,YAAY9yD,EAAO8yF,SAAW9yF,EAAO8yF,OAErC,QAAd9yF,EAAO+yF,IACV/yF,EAAO+yF,IACN,oFACC/yF,EAAO8yF,OAAS,IAAM,IACvB,2BACC9yF,EAAO8yF,OAAS,8CAAgD,IAC1C,UAAd9yF,EAAO+yF,IACjB/yF,EAAO+yF,IACN,yFACC/yF,EAAO8yF,OAAS,8CAAgD,IAC1C,aAAd9yF,EAAO+yF,IACjB/yF,EAAO+yF,IACN,sHACC/yF,EAAO8yF,OAAS,IAAM,IACvB,2BACC9yF,EAAO8yF,OAAS,8CAAgD,IAC1C,QAAd9yF,EAAO+yF,MACjB/yF,EAAO1sC,MAAO,EACd0sC,EAAOgzF,WAAY,EACnBhzF,EAAO8yF,QAAS,SACT9yF,EAAO+yF,KAIX/yF,EAAOizF,UAeNpsD,EAAEhjD,QAAQmc,EAAOizF,WACpBjzF,EAAOizF,QAAU,CAChBA,QAASjzF,EAAOizF,UAKdpsD,EAAE3iD,SAAS8b,EAAOizF,WAErBjzF,EAAOizF,QAAQF,IAAM/yF,EAAOizF,QAAQF,KAAO,CAC1C9yE,OAAQ,CAAE95D,IAAK,QACf+sI,YAAa,CAAE/sI,IAAK,OAGjB0gF,EAAEhjD,QAAQmc,EAAOizF,QAAQA,UAiI/B,SAASE,EAAWF,EAASr7J,EAAOooE,GACnCpoE,EAAQA,GAAS,EAGjBivG,EAAEriD,KAAKyuG,EAAS,SAAShzE,GAGpB4mB,EAAErX,SAASvP,KACdA,EAAS,CAAEj/B,OAAQi/B,IAIpBA,EAAO/X,WAAa+X,EAAO/X,WAAa,IAAM,sBAI1C2+B,EAAE3iD,SAAS+7B,IAAmD,iBAAvCA,EAAOj/B,QAAU,IAAI+J,eAC/Ck1B,EAAO/C,OAASk2E,EAChBnzE,EAAOv0B,KAAO2nG,EACdpzE,EAAO/X,WAAa,qBACpB+X,EAAOx4F,KAAO,eACJo/G,EAAE3iD,SAAS+7B,IAAmD,gBAAvCA,EAAOj/B,QAAU,IAAI+J,eACtDk1B,EAAO/C,OAASo2E,EAChBrzE,EAAO/X,WAAa,oBACpB+X,EAAOx4F,KAAO,aACVw4F,EAAO3sD,OACV0sC,EAAOuzF,aAAe,SAAS5rK,EAAUggD,EAAOC,EAAK3tD,EAAKyC,EAAO82K,GAChE,IAAIC,EAAgBz4G,KAAK48D,MAAMkhB,OAAO74C,EAAO64C,QAAQ3sI,SACjDunK,EAAe76B,UAAUE,sBAAsB06B,GACnD,OAAOD,EAAMvzE,EAAO3sD,KAAKogI,MAGjB7sD,EAAE3iD,SAAS+7B,IAAmD,oBAAvCA,EAAOj/B,QAAU,IAAI+J,eACtDk1B,EAAO/C,OAASy2E,EAChB1zE,EAAOv0B,KAAOkoG,EACd3zE,EAAO/X,WAAa,wBACpB+X,EAAOx4F,KAAO,mBAGdw4F,EAAO/X,WAAa,0BAEhB2+B,EAAE9vC,WAAWkpB,EAAO3U,YACvB2U,EAAO3U,SAAWu7B,EAAE2K,KAAKvxB,EAAO3U,SAAUuoF,IAGvChtD,EAAE9vC,WAAWkpB,EAAOv4F,SACvBu4F,EAAOv4F,MAAQm/G,EAAE2K,KAAKvxB,EAAOv4F,MAAOmsK,IAGjChtD,EAAE9vC,WAAWkpB,EAAO6zE,aACvB7zE,EAAO8zE,WAAa/oE,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQhzE,EAAOj/B,QAAQk8B,OAC9D+C,EAAO/C,OAAS82E,IAIdntD,EAAEhjD,QAAQo8B,EAAOgzE,UACpBE,EAAWlzE,EAAOgzE,UAAWr7J,EAAOooE,KAxLpCmzF,CAAWnzF,EAAOizF,QAAQA,QAAS,EAAGjzF,KAKzCA,EAAOi0F,WAAY,EACnBj0F,EAAOk0F,eAAiB,EAEpB5kJ,IAAW0wD,EAAOnO,OACrBmO,EAAOnO,KAAOu6C,GAAGkJ,OAAOhmG,IAGzBwmH,EAAK48B,UAAY/xB,EAASnI,UAAUx4D,GAEpC,IAAIirB,EAAaD,EAAE8qC,EAAK48B,UAAUyB,QAAQ3uC,aAC1Cv6B,EAAWoB,SAAS,eAEpB,IAAI+nE,EAAqBt+B,EAAK48B,UAAUO,QAAQ,0DAChB,EAA5BmB,EAAmBt1G,QACtBs1G,EACEC,QACA1uC,SACAp5B,SAAStB,EAAW7mC,KAAK,6BAGxB4b,EAAOs0F,aACVztD,EAAEriD,KAAKwb,EAAOs0F,WAAY,SAASn7F,GAClCwnE,EAAS5c,GAAG,QAAS,IAAM5qD,EAAG1xE,KAAO,sBAAuB,WAC3D,IAAI8sK,EAAUvpE,EAAEhwC,MACZ4lF,EAAO2zB,EAAQ1sC,QAAQ,MACvBh2D,EAAOikE,EAAK48B,UAAU8B,IAAI5zB,GAAM/uE,OAEpCsH,EAAG+jB,OAAOq3E,EAAS1iG,EAAM+uE,EAAMznE,OAGjC28D,EAAK68B,gBAAiB,GAGnB3yF,EAAOoI,SACVy+B,EAAEriD,KAAKwb,EAAOoI,OAAQ,SAASjP,GAC1B0tC,EAAE9vC,WAAWoC,EAAG+jB,SACnB44C,EAAK48B,UAAU3uC,GAAG5qD,EAAGjqF,MAAO23H,EAAE2K,KAAKskB,EAAK48B,UAAWv5F,EAAG+jB,WAIxD44C,EAAKrS,QAAUzjD,EAAOoI,QAGvB,IAAIqsF,EAAexpE,EAAW7mC,KAAK,4BAKnC,GAJA0xE,EAAK48B,UAAU3uC,GAAG,YAAa,WAC9B0wC,EAAa5jC,YAAY,aAAYiF,EAAK48B,UAAUvmK,YAGjD6zE,EAAO00F,YACX,CACC,IAAIC,EAAY3pE,EAAE,2nBAWd4pE,EAAc3pE,EAAW7mC,KAAK,4BAClCwwG,EAAYxwG,KAAK,yBAAyBtoE,SAC1C84K,EAAYvoF,OAAOsoF,GAEnBvoD,GAAGuS,cAAc,CAChBk2C,SAAU70F,EAAO00F,YAAYI,eAC7BpB,aAAc1zF,EAAO00F,YAAYK,mBACjCC,WAAY,SAAS7uI,GACpB,IAAI8uI,EAAUj1F,EAAO00F,YAAYK,mBAC9B5uI,EAAI5Y,SACN0nJ,EAAQn5K,OAAOqqC,EAAI6sC,IAEnBiiG,EAAQjzG,KAAK77B,EAAI6sC,IAElB7sC,EAAI5Y,UAAY4Y,EAAI5Y,UAErB2nJ,kBAAmB,WAClBl1F,EAAO00F,YAAYK,mBAAmB52C,aAEvCg3C,eAAgB,SAAStjG,GAExB,MAAO,YADWgnE,UAAU3E,gBAAgBriE,EAAKjsE,KAAKu1D,MAAM,MAAM,KAGnEi6G,SAAU,SAASvjG,GAClB,OAAIA,EAAKtkD,SACD,QAEOsrH,UAAU3E,gBAAgBriE,EAAKjsE,KAAKu1D,MAAM,MAAM,KAGhEk6G,WAAY,SAASxjG,GACpB,OAAKA,EAAKtkD,SAGIsrH,UAAU3E,gBAAgBriE,EAAKjsE,KAAKu1D,MAAM,MAAM,IAFtD,UAKPw5G,EAAU,IAsFd,SAASd,EAAmByB,GAC3B,OAAOA,EAAGx/B,EAAK48B,WAGhB,SAASkB,EAAmBh7B,EAAI34C,GAC/B,IAAIs1E,EAAKvqE,EAAE/K,GAAQ77B,KAAK,KACxBw0E,EAAG7U,GAAG,OAAQ,WAC2B,GAApC/4B,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAO2yD,OAC7By2G,EAAGvtC,YAAY,mBAAmB37B,SAAS,qBAE3CkpE,EAAGvtC,YAAY,qBAAqB37B,SAAS,qBAKhD,SAASsnE,EAAiBv1G,EAAGw6E,GACY,GAApC5tC,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAO2yD,OAC7BksC,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAO,GAAK,SAASxE,EAAUkqE,EAAM2jG,GACvD,OAAOxqE,EAAE4tC,EAAG47B,IAAIgB,GAAW37F,QAAQ0mD,SAAS,aAG7Cv1B,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAS,GAE7BysI,EAAGO,OAGJ,SAASk6B,EAAgBz6B,EAAI34C,EAAQjgB,GAChC44D,EAAGE,OAAO94D,EAAO84D,QAAQ3sI,UAAY6tI,YAAYE,aACpDj6C,EACE77B,KAAK,KACL4jE,YAAYgS,YAAYuW,QAAQvW,YAAYC,OAC5C5tC,SAAS2tC,YAAYuW,QAAQvW,YAAYgH,SAI7C,SAASoyB,EAAch1G,EAAGw6E,EAAI34C,EAAQw1E,GACrC,IAAIF,EAAKvqE,EAAE/K,GAAQ77B,KAAK,KACxBmxG,EAAG1kC,YAAYmJ,YAAYuW,QAAQvW,YAAYC,MAAQ,IAAMD,YAAYuW,QAAQvW,YAAYgH,SAC7FpI,EAAGE,OAAO28B,EAAa38B,QACrB3sI,OAAOopK,EAAGh1C,SAASyZ,YAAYuW,QAAQvW,YAAYgH,SAAWhH,YAAYE,YAAc,IACxFf,OAGH,SAASm6B,EAAal1G,EAAGw6E,EAAI34C,EAAQw1E,GACpC,GAAIA,EAAa97F,OAAQ,CACxB,IAAI85F,EAAgB76B,EAAGE,OAAO28B,EAAa38B,QAAQ3sI,SAC/CunK,EAAe76B,UAAUE,sBAAsB06B,GACnDgC,EAAa97F,OAAO+5F,IAItB,SAASM,EAAa51G,EAAGw6E,EAAI34C,EAAQw1E,GAChC5uD,EAAE9vC,WAAW0+F,EAAa3B,YAAY2B,EAAa3B,UAAU7vG,KAAKjJ,KAAMoD,EAAGw6E,EAAI34C,EAAQw1E,GACvF5uD,EAAE9vC,WAAW0+F,EAAa1B,aAAa0B,EAAa1B,WAAW9vG,KAAKjJ,KAAMoD,EAAGw6E,EAAI34C,EAAQw1E,GAvI9F3/B,EAAK/d,QAAU,WACd/sB,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAS,GAE5B2pI,EAAK48B,UAAUzuC,IAAI,WACnB6R,EAAK48B,UAAUzuC,IAAI,aAEnBpd,EAAEriD,KAAKsxE,EAAKrS,QAAS,SAAStqD,GAC7B28D,EAAK48B,UAAUzuC,IAAI9qD,EAAGjqF,SAGvB4mJ,EAAKrS,QAAU,GAEXqS,EAAK68B,iBACRhyB,EAAS1c,IAAI,SACb6R,EAAK68B,eAAiB,MAGvB78B,EAAK48B,UAAUr7E,WA4HjB,SAASi7E,gBAAgB3xB,EAAU3gE,EAAQ1wD,EAAQijJ,EAAYC,GAC9D,IAAI18B,EAAO96E,KAMX,SAAS06G,EAA4BC,GACpC,GAAI7/B,EAAK8C,GAAI,CACZ,IAAI/mE,EAAOikE,EAAK8C,GAAG85B,UAAU7gG,OAG7B,GAFA+jG,EAAgB/uD,EAAEgvD,aAAaF,EAAW9jG,EAAMikE,EAAKggC,QAASjvD,EAAEgvD,aAAahkG,EAAM8jG,EAAW7/B,EAAKggC,SAEhGhgC,EAAKigC,QAAS,CAChB,IAAIC,EAAQlgC,EAAKigC,QAAUjgC,EAAK8C,GAAG85B,UAAUruI,QAAQy6B,OACrDg3E,EAAK8C,GAAG85B,UAAUsD,KAAKA,GAAM78B,KAAK,QAClCrD,EAAKigC,aAAUxpG,IAMlB,SAAS0pG,EAA8BhkD,GAGtC,GAFA2jD,EAAgB/uD,EAAEvnD,IAAIunD,EAAEltC,OAAOs4C,EAAS,CAAEjuH,OAAQ,UAAY,SAAU6iH,EAAEvnD,IAAIunD,EAAEltC,OAAOs4C,EAAS,CAAEjuH,OAAQ,YAAc,UAErH8xI,EAAKigC,QAAS,CAChB,IAAIC,EAAQlgC,EAAKigC,QAAUjgC,EAAK8C,GAAG85B,UAAUruI,QAAQy6B,OACrDg3E,EAAK8C,GAAG85B,UAAUsD,KAAKA,GAAM78B,KAAK,QAClCrD,EAAKigC,aAAUxpG,GAKjB,SAASqpG,EAAgBM,EAAOC,GAC/B,GAAIrgC,EAAK8C,GAAI,CACZ,IAAIA,EAAK9C,EAAK8C,GAAG85B,UACb0D,EAAaD,EAAQr3G,QAAU85E,EAAGy9B,OAAO7lE,SAA4B,EAAjB2lE,EAAQr3G,OAE5Dw3G,EAAmB19B,EAAG/mE,OAAO2+B,QAE7BjjF,EAAWqrH,EACby9B,KAAK,CAAE9oJ,UAAU,IACjBgpJ,MACAloC,UAGE+nC,EAEHtgC,EAAK8C,GAAG85B,UAAU2D,OAAOv6K,SACfq6K,EAAQr3G,QAClBg3E,EAAK8C,GAAG85B,UACN2D,KACAxvD,EAAEvnD,IAAI62G,EAAS,SAASh9F,GACvB,MAAO,IAAMA,EAAG28D,EAAKggC,WAGtBh6K,SAICo6K,EAAMp3G,QAETg3E,EAAK8C,GAAG85B,UAAU2D,KAAKpyK,IAAIiyK,GAGxBE,GAA8B,GAAhBF,EAAMp3G,SACvBksC,EAAEp/B,GAAG4sE,UAAUmR,IAAIx9I,OAAS,IAI7B,IAAIqqK,EAAgB3vD,EAAE9hD,aACrB8hD,EAAEvnD,IAAI42G,EAAO,SAAS/8F,GACrB,OAAOA,EAAG28D,EAAKggC,QAAQ/zG,aAExBx0C,GAG0B,EAAvBipJ,EAAc13G,QACjB85E,EAAGy9B,KACFxvD,EAAEvnD,IAAIk3G,EAAe,SAASr9F,GAC7B,MAAO,IAAMA,KAEbl8E,SAGqB,GAApBq5K,GAAwC,EAAfJ,EAAMp3G,QAElC85E,EAAG69B,QAAQC,SAGZ99B,EAAGO,MAAK,IAvFVrD,EAAK8C,GAAK,KACV9C,EAAKggC,OAAS,KACdhgC,EAAK6gC,kBAAoB,KACzB7gC,EAAK8gC,wBAA0B,KAwF/B9gC,EAAKujB,WAAa,WA8BjB,GA5BAr5E,EAAO62F,gBAAmB,SAAUlvK,EAAUkqE,GAC7CikE,EAAKigC,QAAUlkG,EAAKlqB,OAGrBmuF,EAAK8C,GAAK,IAAIJ,UAAUmI,EAAU3gE,EAAQ1wD,GAEtC88F,GAAGgG,aAAamgD,KACnBz8B,EAAK8gC,wBAA0BrE,EAAWpmE,UAAU2pC,EAAK8C,GAAG85B,UAAUH,aAGnEnmD,GAAGgG,aAAa9iG,KACf0wD,EAAO82F,MACVhhC,EAAKggC,OAAS91F,EAAO82F,MAErBjoE,QAAQC,IAAI,2BAITsd,GAAGwM,WAAWtpG,GAEjBwmH,EAAK6gC,kBAAoBrnJ,EAAO68E,UAAUupE,GAI1C5/B,EAAK6gC,kBAAoBrnJ,EAAO68E,UAAU8pE,EAA+B,KAAM,gBAI7Ej2F,EAAO/iF,QAAU+iF,EAAO/iF,OAAO85K,UAAW,CAC7C,IAAIC,EAAOlhC,EAAK8C,GAAG85B,UACfuE,EAAMjsE,EAAEgsE,EAAKE,cAAc9yG,KAAK,sBAChC+yG,EAAYF,EAAIzrC,QAAQ,MAC5ByrC,EAAIlzC,GAAG,QAAS,WACXozC,EAAU52C,SAAS,aACtBy2C,EAAKX,KAAK,CAAElqK,OAAQ,YAAairK,WACjCD,EAAUnvC,YAAY,cAEtBgvC,EAAKX,KAAK,CAAElqK,OAAQ,YAAalP,SACjCk6K,EAAU9qE,SAAS,eAIrB2qE,EAAKjzC,GAAG,yBAA0B,WACjC,IAAIx2G,EAAWypJ,EACbX,KAAK,CAAE9oJ,UAAU,IACjBgpJ,MACAloC,UACEgB,EAAW2nC,EACbX,KAAK,CAAElqK,OAAQ,YACfoqK,MACAloC,UAEExnB,EAAE9hD,aAAax3C,EAAU8hH,GAAUvwE,SAAWuwE,EAASvwE,OAC1Dq4G,EAAU9qE,SAAS,YAEnB8qE,EAAUnvC,YAAY,cAKrBwqC,GACHpmD,GAAGuQ,oBAAoBmZ,EAAK8C,GAAG85B,UAAUyB,QAAQ3uC,YAAa,CAC7Dg1B,eAAgBgY,KAKnB18B,EAAK/d,QAAU,WACV+d,EAAK6gC,oBACR7gC,EAAK6gC,kBAAkB5+C,UACvB+d,EAAK6gC,kBAAoB,MAGtB7gC,EAAK8gC,0BACR9gC,EAAK8gC,wBAAwB7+C,UAC7B+d,EAAK8gC,wBAA0B,MAGhC9gC,EAAK8C,GAAG7gB,UACR+d,EAAK8C,GAAK,MAOZ,SAASy5B,QAAQ1xB,EAAU3gE,EAAQ4vC,EAAWynD,GAC7C,IACIpsE,EADA6qC,EAAO96E,KAIX86E,EAAKjkB,OAAS,WACb,IAAIylD,EAAMlrD,GAAGkJ,OAAOt1C,GAChBs3F,IACHA,EAAMzwD,EAAE9gG,SAASuxJ,EAAK,CACrBC,WAAY,wEAETzhC,EAAK0hC,OAAO1hC,EAAK0hC,MAAMt4F,QAC3B42D,EAAK0hC,MAAQ,IAAIC,SAASC,UAAUzsE,EAAWl4B,IAAI,GAAIukG,KAIzDxhC,EAAKujB,WAAa,WACjBpuD,EAAaD,EAAE,SACb58B,MAAM,QACNnnE,OAAO,QACT05I,EAASt0D,OAAO4e,GAEhBs+C,SAASp9C,UAAU,cAAewrE,GAClCpuB,SAASp9C,UAAU,aAAcyrE,IAGlC9hC,EAAK/d,QAAU,WACdwxB,SAAS50F,YAAY,cAAegjH,GACpCpuB,SAAS50F,YAAY,aAAcijH,IAGpC,IAAID,EAAc,WACjB,IAAIL,EAAMlrD,GAAGkJ,OAAOt1C,GAChB81D,EAAK0hC,OACJF,EAAIO,aACP/hC,EAAK0hC,MAAMrzF,IAAI/T,MAAMhC,MAAQkpG,EAAIO,WAAa,KAC9C/hC,EAAK0hC,MAAMM,gBAKVF,EAAa,WAChB,IAAIN,EAAMlrD,GAAGkJ,OAAOt1C,GAChB81D,EAAK0hC,OACJF,EAAIO,aACP/hC,EAAK0hC,MAAMrzF,IAAI/T,MAAMhC,MAAQ,OAC7B0nE,EAAK0hC,MAAMM,gBASf,SAASC,cACR,IAAIjiC,EAAO96E,KAEX86E,EAAK2T,QAAU,WACd,OAAO5Q,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,WAItCnc,EAAKkiC,YAAc,SAAShlG,GAC3B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMj/E,KAI5C8iE,EAAKmiC,gBAAkB,SAASjlG,GAC/B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcmgB,sBAAwB,IAAM7/E,KAInD8iE,EAAKoiC,qBAAuB,SAASllG,GACpC,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMj/E,EAAK,YAIjD8iE,EAAKqiC,eAAiB,SAASjtI,GAC9B,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcmgB,sBAAwB,IAAM3nH,EAAMktI,gBACvDrlC,QAAS3mB,GAAGuI,OAAOzpF,MAIrB4qG,EAAKuiC,eAAiB,SAASrlG,GAC9B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMj/E,EAAK,cAIjD8iE,EAAKwiC,UAAY,SAASptI,GACzB,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc+f,iBACnB1f,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKyiC,aAAe,gFAEpBziC,EAAK0iC,kBAAoB,SAASC,GACjC,OAAO3iC,EAAKyiC,aAAap+G,KAAKs+G,IAG/B3iC,EAAK4iC,kBAAoB,SAASD,GACjC,IAAIh8G,EAAIq5E,EAAKyiC,aAAax6D,KAAK06D,GAC/B,GAAIh8G,EAAG,CACN,IAAI6zC,EAAMxuC,SAASrF,EAAE,GAAI,IACzB,MAAO,CACNizC,OAAQY,EACR8kC,KAAM,UAAY34E,EAAE,GAAGmqB,cACvB+xF,WAAY,QAAUroE,EACtBsoE,QAASn8G,EAAE,GAAGmqB,eAIhB,OAAO,MAGRkvD,EAAK+iC,qBAAuB,SAASl5B,EAAQ84B,GAC5C,IAAIK,EAAOhjC,EAAK4iC,kBAAkBD,GAClC,GAAIK,EACH,MAAO,CACNn2B,OAAQhD,EACRg5B,WAAYG,EAAKH,WACjBI,MAAOD,EAAK1jC,KACZA,KAAM0jC,EAAK1jC,OAKdU,EAAKkjC,gBAAkB,SAASr5B,EAAQ84B,GACvC,IAAIvtI,EAAQ4qG,EAAK+iC,qBAAqBl5B,EAAQ84B,GAC9C,GAAIvtI,EACH,OAAO4qG,EAAKwiC,UAAUptI,IAKxB4qG,EAAKmjC,SAAW,qBAEhBnjC,EAAKojC,cAAgB,SAASC,GAC7B,OAAOhyG,OAAO2uE,EAAKmjC,UAAU9+G,KAAKg/G,IAGnCrjC,EAAKsjC,cAAgB,SAASD,GAC7B,IAAI18G,EAAI0K,OAAO2uE,EAAKmjC,UAAUl7D,KAAKo7D,GACnC,GAAI18G,EAAG,CACN,IAAI6zC,EAAMxuC,SAASrF,EAAE,GAAI,IACrB48G,EAAc,MAAN/oE,EACZ,MAAO,CACNZ,OAAQY,EACR8kC,KAAM,UAAY34E,EAAE,GAAG68G,SAAS,EAAG,KACnCX,WAAY,QAAUU,EACtBN,MAAO,SAAWt8G,EAAE,GAAG68G,SAAS,EAAG,MAIrC,OAAO,MAGRxjC,EAAKyjC,iBAAmB,SAAS55B,EAAQw5B,GACxC,IAAIL,EAAOhjC,EAAKsjC,cAAcD,GAC9B,GAAIL,EACH,MAAO,CACNn2B,OAAQhD,EACRg5B,WAAYG,EAAKH,WACjBI,MAAOD,EAAKC,MACZ3jC,KAAM0jC,EAAK1jC,OAKdU,EAAK0jC,YAAc,SAAS75B,EAAQw5B,GACnC,IAAIjuI,EAAQ4qG,EAAKyjC,iBAAiB55B,EAAQw5B,GAC1C,GAAIjuI,EACH,OAAO4qG,EAAKwiC,UAAUptI,IAIxB4qG,EAAK2jC,aAAe,sBAEpB3jC,EAAK4jC,kBAAoB,SAASC,GACjC,OAAOxyG,OAAO2uE,EAAK2jC,cAAct/G,KAAKw/G,IAGvC7jC,EAAK8jC,kBAAoB,SAASD,GACjC,IAAIl9G,EAAI0K,OAAO2uE,EAAK2jC,cAAc17D,KAAK47D,GACvC,GAAIl9G,EAAG,CACN,IAAI6zC,EAAMxuC,SAASrF,EAAE,GAAI,IACrB48G,EAAc,MAAN/oE,EACZ,MAAO,CACNZ,OAAQY,EACR8kC,KAAM,UAAY34E,EAAE,GACpBk8G,WAAY,QAAUU,EACtBN,MAAO,aAAat8G,EAAE,IAIxB,OAAO,MAGRq5E,EAAK+jC,qBAAuB,SAASl6B,EAAQg6B,GAC5C,IAAIb,EAAOhjC,EAAK8jC,kBAAkBD,GAClC,GAAIb,EACH,MAAO,CACNn2B,OAAQhD,EACRg5B,WAAYG,EAAKH,WACjBI,MAAOD,EAAKC,MACZ3jC,KAAM0jC,EAAK1jC,OAKdU,EAAKgkC,gBAAkB,SAASn6B,EAAQg6B,GACvC,IAAIzuI,EAAQ4qG,EAAK+jC,qBAAqBl6B,EAAQg6B,GAC9C,GAAIzuI,EACH,OAAO4qG,EAAKwiC,UAAUptI,IAIxB4qG,EAAKikC,aAAe,SAAS/mG,GAC5B,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc+f,iBAAmB,IAAMz/E,KAI9C8iE,EAAKkkC,aAAe,SAAS/0K,EAAOy6I,GACnC,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,yBACnD3M,QAAS3mB,GAAGuI,OAAO1vH,GACnBmuI,YAAa,CAAC,QAIhB0C,EAAKmkC,WAAa,SAAS/uI,EAAOw0G,GACjC,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,SACnD3M,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,GAAW,aAAPyiE,EACHziE,EAAQ+9D,OAAO/9D,EAAO,CACrB+9D,OAAOm/G,SACPrhC,UAAU+D,oBAAoB8E,SAAS3uE,MAAMiqE,cAC3Ct/E,cACG,GAAW,UAAP+B,EAAiB,OAE5B,OAAOziE,IAERo2I,YAAa,CAAC,QAIhB0C,EAAKqkC,WAAa,SAASnnG,EAAI9nC,GAE9B,cADOA,EAAMkvI,WACNvhC,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcuf,eAAiB,IAAMj/E,EAC1C+/D,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GAOvC,GANW,aAAPyiE,IACHziE,EAAQ+9D,OAAO/9D,EAAO,CACrB+9D,OAAOm/G,SACPrhC,UAAU+D,oBAAoB8E,SAAS3uE,MAAMiqE,cAC3Ct/E,UAEO,UAAP+B,GAAoBziE,EAIxB,OAAOA,IAERo2I,YAAa,CAAC,QAIhB0C,EAAKukC,iBAAmB,SAASC,EAAgB36B,GAChD,OAAO9G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuf,eAAiB,KAAOtS,GAAU+B,SAAS3uE,MAAM4vE,QAAU,eAC9E5P,QAAS,IAAMunC,EAAiB,IAChCrnC,WAAW,KAIb6C,EAAKykC,uBAAyB,SAAS3sI,GACtC,OAAOirG,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcigB,oBAAsB,IAAM/kH,KAIjDkoG,EAAK0kC,WAAa,SAAS76B,GAC1B,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,KAI5C7J,EAAKwT,SAAW,SAASt2E,EAAIm2B,GAC5B,OAAO0vC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMj/E,EAAK,SAC/Cm2B,MAAOA,KAIT2sC,EAAK2kC,aAAe,SAAS96B,EAAQD,GACpC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,UAAYD,EAAS,YAI1E5J,EAAK4kC,sBAAwB,WAC5B,OAAO5kC,EAAKuiC,eAAe32B,SAAS3uE,MAAM4vE,SAG3C7M,EAAK6kC,kBAAoB,SAASzvI,GACjC,OAAO4qG,EAAKqkC,WAAWz4B,SAAS3uE,MAAM4vE,OAAQz3G,IAE/C4qG,EAAK8kC,eAAiB,WACrB,OAAO9kC,EAAKkiC,YAAYt2B,SAAS3uE,MAAM4vE,SAExC7M,EAAK+kC,cAAgB,SAASl7B,EAAQh4F,EAAOC,GAC5C,OAAOixF,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,oBACAh4F,EAAMmzH,cACN,OACAlzH,EAAIkzH,iBAGPhlC,EAAKilC,SAAW,SAASp7B,EAAQh4F,EAAOC,GACvC,OAAOixF,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,eACAh4F,EAAMmzH,cACN,OACAlzH,EAAIkzH,iBAGPhlC,EAAKklC,WAAa,SAASr7B,EAAQh4F,EAAOC,GACzC,OAAOixF,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,iBACAh4F,EAAMmzH,cACN,OACAlzH,EAAIkzH,iBAGPhlC,EAAKmlC,gBAAkB,SAASt7B,EAAQh4F,EAAOC,GAC9C,OAAOixF,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,sBACAh4F,EAAMmzH,cACN,OACAlzH,EAAIkzH,iBAGPhlC,EAAKolC,QAAU,SAASv7B,EAAQh4F,EAAOC,GACtC,OAAOixF,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,cACAh4F,EAAMmzH,cACN,OACAlzH,EAAIkzH,iBAGPhlC,EAAKqlC,qBAAuB,SAASC,EAAUC,GACzCA,IAAgBA,EAAiB,cAEtC,IAAIC,EAAUl5G,KAAKqH,MAAM,IAAM,KAAO,IAAI+gB,MAAOR,cAAgBjvB,OAAOqgH,EAAUC,GAAgB73C,SAElG,MAAO,CACN+3C,SAAUD,EACVE,SAAUp5G,KAAKqH,MAAgB,GAAV6xG,GACrBG,SAAUr5G,KAAKqH,MAAgB,GAAV6xG,GACrBI,SAAUt5G,KAAKqH,MAAgB,GAAV6xG,GACrBK,SAAUv5G,KAAKqH,MAAgB,GAAV6xG,GACrBM,SAAUx5G,KAAKqH,MAAgB,GAAV6xG,KAGvBxlC,EAAK+lC,cAAgB,SAASl2K,EAAQ+e,GACrC,OAAO/e,GAAU+e,EAAS09C,KAAKqH,MAAMsmF,qBAAqBpqJ,GAAU+e,GAAU,GAG/EoxH,EAAK0mB,qBAAuB,SAAS7c,EAAQvpI,EAAMpG,EAAIw0G,EAAIhU,GAC1D,OAAOqoC,UAAUyD,WAAW,CAC1BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,6BACCvpI,EAAOA,EAAK0kK,cAAgB,IAC7B,QACC9qK,EAAKA,EAAG8qK,cAAgB,KACxBt2D,EAAM,QAAUA,EAAM,KACtBhU,EAAQ,UAAYA,EAAQ,MAE9Bj6B,KAAK,SAAS59E,GACd,OAAOA,EAAU2mE,IAAI,SAASxgB,GAE7B,IADA,IAAIg9H,EAAY,EACPl6G,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC5B,IAAIm6G,EAAgBljC,UAAUsC,cAAcr8F,EAAS,OAAS8iB,EAAI,SAElEk6G,GADAh9H,EAAS,OAAS8iB,EAAI,aAAem6G,EAItC,OADAj9H,EAASk9H,cAAgBF,EAClBh9H,OAKXg3F,EAAKkT,SAAW,SAASV,EAAWC,EAAWn8I,EAAM4/F,GACpD,OAAO6sC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcggB,2BACnBtf,YAAa,CAAC,KACd6oC,SAAU,OACVlpC,QAASrkD,KAAKE,UAAU,CACvBu5D,KAAM/7I,EACN67I,UAAWK,EACXJ,UAAWK,EACXH,cAAep8C,IAEhBgnC,YAAa,qCAIf8C,EAAKmT,YAAc,SAASX,EAAWC,EAAWn8I,GACjD,OAAOysI,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcggB,2BAA6B,IAAMtmJ,EAAO,IAAMk8I,EAAY,IAAMC,EACrFnV,YAAa,CAAC,QAIhB0C,EAAKqT,WAAa,SAASxJ,GAC1B,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,oBAWrD7J,EAAK8S,SAAW,SAASjJ,EAAQu8B,EAAW9vK,GAC3C,OAAOysI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcggB,2BAA6B,IAAMtmJ,EAAO,IAAMuzI,EAAS,IAAMu8B,EAClF9oC,YAAa,CAAC,QAIhB0C,EAAKqmC,YAAc,SAASx8B,EAAQvpI,EAAMpG,EAAIosK,GAC7C,OAAOvjC,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,kBACAvpI,EAAK0kK,cACL,OACA9qK,EAAG8qK,eACFsB,EAAgB,sBAAwB,OAI5CtmC,EAAKumC,eAAiB,SAAS18B,GAC9B,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,eAIrD7J,EAAK4mB,iBAAmB,SAAS/c,EAAQvpI,EAAMpG,GAC9C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAcuf,eACd,IACAtS,EACA,yBACAvpI,EAAK0kK,cACL,OACA9qK,EAAG8qK,iBAINhlC,EAAKwmC,oBAAsB,SAAS38B,GACnC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,sBAIrD7J,EAAKymC,mBAAqB,SAAS58B,GAClC,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,mBAIrD7J,EAAK0mC,mBAAqB,SAAS78B,EAAQj1D,GAC1C,OAAOmuD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,gBACnD5M,QAAS8F,UAAUjC,eAAelsD,GAClCyoD,OAAO,KAIT2C,EAAK2mC,0BAA4B,SAAS98B,GACzC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,iCAIrD7J,EAAK4mC,iBAAmB,SAAS/8B,EAAQg9B,EAAOC,GAC/C,OAAO/jC,UAAU6D,qBAAqB,CACrC3vE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAC1C5M,QAASrkD,KAAKE,UAAU,CACvBiuF,iBAA4B,IAATF,GAAwB,IAATC,EAClCE,iBAAkBH,EAClBI,kBAAmBH,IAEpB5pC,YAAa,qCAIf8C,EAAKknC,oBAAsB,SAASr9B,EAAQH,GAC3C,IAAIzyE,EAAM2lE,cAAcuf,eAAiB,IAAMtS,EAAS,gBAExD,OADA5yE,GAAOyyE,EAAS,IAAMA,EAAS,GACxB3G,UAAUyD,WAAW,CAC3BvvE,IAAKA,EACLqmE,YAAa,CAAC,QAIhB0C,EAAKmnC,YAAc,SAASt9B,GAC3B,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,iBAIrD7J,EAAKonC,yBAA2B,SAASv9B,GACxC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,kBACnDvM,YAAa,CAAC,QAIhB0C,EAAKqnC,uBAAyB,SAASx9B,EAAQF,GAC9C,OAAO5G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,mBAAqBF,KAI1E3J,EAAKsnC,yBAA2B,SAASz9B,EAAQ09B,GAChD,OAAOxkC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,2BAA6B29B,UAAUD,MAK5FvnC,EAAKynC,qBAAuB,SAAS59B,EAAQF,EAAQ+9B,GACpD,OAAO3kC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,mBAAqBF,EAAS,QACjF1M,QAASrkD,KAAKE,UAAU4uF,MAK1B1nC,EAAK2nC,uBAAyB,SAAS99B,EAAQF,EAAQi+B,GACtD,OAAO7kC,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,mBAAqBF,EAAS,YACjF1M,QAASrkD,KAAKE,UAAU8uF,MAI1B5nC,EAAK6nC,yBAA2B,SAASh+B,EAAQi+B,EAAkBC,GAClE,OAAOhlC,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,wBAA0B29B,UAAUM,GACvF7qC,QAASrkD,KAAKE,UAAUivF,MAI1B/nC,EAAKgoC,qBAAuB,SAASn+B,GACpC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,oBAIrD7J,EAAKioC,mBAAqB,SAASp+B,GAClC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,kBAIrD7J,EAAKkoC,aAAe,SAASr+B,GAC5B,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,YAIrD7J,EAAKmoC,cAAgB,SAASt+B,GAC7B,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,aAIrD7J,EAAKooC,qBAAuB,SAASv+B,GACpC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,qBAIrD7J,EAAKqoC,qBAAuB,SAASx+B,EAAQy+B,GAC5C,OAAOvlC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,6BAA+By+B,GAAgB,OAOpGtoC,EAAKuoC,sBAAwB,SAAS1+B,EAAQvpI,EAAMpG,GACnD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,6BAA+BvpI,EAAO,OAASpG,KAKpG8lI,EAAKwoC,aAAe,SAAS3+B,EAAQvpI,EAAMpG,GAC1C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,2BAA6BvpI,EAAO,OAASpG,KAKlG8lI,EAAKyoC,iBAAmB,SAAS5+B,EAAQvpI,EAAMpG,GAC9C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,+BAAiCvpI,EAAO,OAASpG,KAKtG8lI,EAAK0oC,eAAiB,SAAS7+B,EAAQvpI,EAAMpG,GAC5C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,6BAA+BvpI,EAAO,OAASpG,KAKpG8lI,EAAK2oC,gBAAkB,SAAS9+B,EAAQvpI,EAAMpG,GAC7C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,8BAAgCvpI,EAAO,OAASpG,KAKrG8lI,EAAK4oC,kBAAoB,SAAS/+B,EAAQvpI,EAAMpG,GAC/C,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,yBAA2BvpI,EAAO,OAASpG,KAKhG8lI,EAAK6oC,wBAA0B,SAASh/B,EAAQvpI,EAAMpG,GACrD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,uCAAyCvpI,EAAO,OAASpG,KAK9G8lI,EAAK8oC,sBAAwB,SAASj/B,EAAQvpI,EAAMpG,GACnD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,qCAAuCvpI,EAAO,OAASpG,KAK5G8lI,EAAK+oC,4BAA8B,SAASl/B,EAAQvpI,EAAMpG,GACzD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,uCAAyCvpI,EAAO,OAASpG,KAK9G8lI,EAAKgpC,yBAA2B,SAASn/B,EAAQvpI,EAAMpG,GACtD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,wCAA0CvpI,EAAO,OAASpG,KAK/G8lI,EAAKipC,2BAA6B,SAASp/B,EAAQvpI,EAAMpG,GACxD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,mCAAqCvpI,EAAO,OAASpG,KAK1G8lI,EAAKkpC,gCAAkC,SAASr/B,EAAQs/B,GACvD,OAAOpmC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,wBACnD5M,QAASrkD,KAAKE,UAAUqwF,MAlmL3BvnB,YAAY1zF,UAAUq1F,WAAa,aAInC3B,YAAY1zF,UAAUymG,OAAS,SAAU76C,KAwLzC+nC,cAAc3zF,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACpD2zF,cAAc3zF,UAAUqiB,YAAcsxE,cA4XtCiC,eAAe51F,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACrD41F,eAAe51F,UAAUqiB,YAAcuzE,eA4iBvCwF,qBAAqBp7F,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAC3Do7F,qBAAqBp7F,UAAUqiB,YAAc+4E,qBAgT7C6E,kCAAkCjgG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACxEigG,kCAAkCjgG,UAAUqiB,YAAc49E,kCAiT1Dc,uBAAuB/gG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAC7D+gG,uBAAuB/gG,UAAUqiB,YAAc0+E,uBAkmB/CiB,iBAAiBhiG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACvDgiG,iBAAiBhiG,UAAUqiB,YAAc2/E,iBAkmBzCoB,iBAAiBpjG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACvDojG,iBAAiBpjG,UAAUqiB,YAAc+gF,iBA2czCI,iBAAiBxjG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACvDwjG,iBAAiBxjG,UAAUqiB,YAAcmhF,iBAsHzCU,UAAUlkG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAChDkkG,UAAUlkG,UAAUqiB,YAAc6hF,UAsElCyB,kBAAkB3lG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,YACxD2lG,kBAAkB3lG,UAAUqiB,YAAcsjF,mBAExB3lG,UAAUymG,OAAS,SAAS76C,EAAWsiD,GACxD,IAAIxvG,EAAIwvG,IACRlnE,EAAExmC,KAAKxJ,KAAK+uG,UAAU3lG,KAAK,uBAAwB,SAASxC,EAAGuX,GAC9DizC,GAAG8yD,UAAU/lG,GACb,IAAIgmG,EAAa,CAAE5hD,kBAAmB,CAAE3H,gBAAgB,GAASozC,QAAStmG,EAAEsmG,SACxEtmG,EAAElrE,SAAQ2nL,EAAW3nL,OAASkrE,EAAElrE,QAChCkrE,EAAEjrE,UAAS0nL,EAAW1nL,QAAUirE,EAAEjrE,SACtC20H,GAAGuQ,oBAAoBxjD,EAAIgmG,MAmB7BzU,WAAW1mG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACjD0mG,WAAW1mG,UAAUqiB,YAAcqkF,WAoCnCC,aAAa3mG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACnD2mG,aAAa3mG,UAAUqiB,YAAcskF,aAwUrCC,UAAU5mG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAChD4mG,UAAU5mG,UAAUqiB,YAAcukF,UAoDlC+E,aAAa3rG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACnD2rG,aAAa3rG,UAAUqiB,YAAcspF,aA6DrCW,KAAKtsG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAC3CssG,KAAKtsG,UAAUqiB,YAAciqF,KAkF7Ba,oBAAoBntG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAC1DmtG,oBAAoBntG,UAAUqiB,YAAc8qF,oBAoD5CW,iBAAiB9tG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACvD8tG,iBAAiB9tG,UAAUqiB,YAAcyrF,iBAoDzC9mE,EAAEp/B,GAAG8mG,UAAU0M,OAAOx4D,QAAU,SAASzW,EAAUkvE,GAClD,OAAO,SAASxtG,EAAMzlE,GACrB,OAAQA,GACP,IAAK,SACJ,OAAOysI,UAAUpvE,MAAMoI,EAAMs+B,GAE9B,IAAK,QACL,IAAK,UACJ,OAAO0W,EAAEjX,SAAS/9B,GAAQgnE,UAAU9B,WAAWllE,EAAMs+B,GAAakvE,EAAa,KAAO,EAEvF,QACC,OAAOxtG,KAKXm5B,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQqM,YAAc,CACxC15K,KAAMo0I,YAAYY,MAAMZ,YAAYC,OAGrCjvC,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQsM,eAAiB,CAC3C35K,KAAM,wCAGPolG,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQuM,WAAa,CACvC55K,KAAM,6BAGPolG,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQwM,iBAAiBv3F,UAAY,kDAExD8iB,EAAEp/B,GAAG8mG,UAAU/oB,IAAIspB,QAAQ51K,MAAQ,CAClC6qF,UAAW,gBAEXtiF,KAAM,SAASgzI,GACd,OAAOA,EAAG8mC,KAAK,gBAAiB,UAGjCxiF,OAAQ,SAAS9+B,EAAGw6E,EAAI34C,EAAQjgB,GAC/B,IAAInO,EAAO+mE,EAAGq6B,QAAQ0M,WAAW3/F,EAAO4/F,eACpCC,EAAmBjnC,EAAGq6B,QAAQ6M,oBAAoBlnC,EAAI/mE,EAAK8oF,QAC3DolB,EAAY,SAAS5mG,GAQxB,IAEI6mG,EAFAC,EAAQxzG,SAASS,cAAc,KAC/B58C,EAAQ06E,EAAE7xB,GAAI7oD,QAAQ,GAgB1B,MAbqC,SAAjCA,EAAMsqE,SAAS7vB,gBAClBk1G,EAAMp3E,KAAOv4E,EAAMu4E,MAKY,KAJ/Bm3E,EAAWC,EAAMC,MAIJnhH,QAAQ,MAA+C,IAAhCkhH,EAAME,SAASphH,QAAQ,OAC1DihH,GAAY,KAGb1vJ,EAAMu4E,KAAOo3E,EAAMG,SAAW,KAAOJ,EAAWC,EAAME,SAAWF,EAAM9zK,QAGjEmkB,EAAM+vJ,WAGVC,EAAkB,SAASzjH,EAAG12B,GAGjC,IAFA,IAAI04B,EAAM,OAED+C,EAAI,EAAG2+G,EAAM1jH,EAAEiC,OAAQ8C,EAAI2+G,EAAK3+G,IAAK,CAE7C/C,GAAO,IAAM14B,EAAM,YADP,eAAiB05I,EAAiBj+G,IACN,KAAO/E,EAAE+E,GAAK,KAAOz7B,EAAM,IAGpE,OAAO04B,EAAM,SAIVmoC,EAAO,iBAAmB4xC,EAAGu7B,QAAQt6F,OAAOqO,UAAY,cAExDlI,EAAO26E,SACV3zD,GAAQ,UAAYs5E,EAAgBzuG,EAAK8oF,OAAQ,MAAQ,YAG1D3zD,GAAQ,UACR,IAAK,IAAIplC,EAAI,EAAG2+G,EAAM1uG,EAAK0nB,KAAKz6B,OAAQ8C,EAAI2+G,EAAK3+G,IAChDolC,GAAQs5E,EAAgBzuG,EAAK0nB,KAAK33B,GAAI,MAEvColC,GAAQ,WAEJhnB,EAAOwgG,QAAU3uG,EAAK2uG,SACzBx5E,GAAQ,UAAYs5E,EAAgBzuG,EAAK2uG,OAAQ,MAAQ,YAG1D,IAAIC,EAASz1E,EAAE,cACfy1E,EAAO,GAAGh5K,KAAO,SACjBg5K,EAAOxhG,IAAI,CAAEhF,SAAU,WAAYjK,IAAK,eACxCg7B,EAAE,QAAQ3e,OAAOo0F,GACjB,IAAIC,EAAWD,EAAO,GAAGE,cACtBF,EAAO,GAAGE,cACVF,EAAO,GAAGG,gBAAgBn0G,SAC1Bg0G,EAAO,GAAGG,gBAAgBn0G,SAC1Bg0G,EAAO,GAAGG,gBAGTl5K,EAAQs4E,EAAOt4E,MAEE,mBAAVA,IACVA,EAAQA,MAGmB,IAAxBA,EAAMq3D,QAAQ,OACjBr3D,EAAQA,EAAMw6D,QAAQ,IAAK8oC,EAAE,SAASplG,SAOvC,IAAIi7K,EAAO,UAAYn5K,EAAQ,WAE/Bm5K,GACC,gHAEoC,GAAjCnuK,SAASm2F,KAAK9pC,QAAQ,SACzB8hH,GAAQd,EAAU,qFAClBc,GAAQd,EAAU,wDAElBc,GAAQd,EAAU,gEAGnBc,GACC,2LAED,IACCH,EAASj0G,SAASo0G,KAAKxtF,UAAYwtF,EAClC,MAAOziH,GACR4sC,EAAE01E,EAASj0G,SAASo0G,MAAM75E,KAAK65E,GAIhCH,EAASj0G,SAAS8sB,KAAKlG,UACtB,OACA3rF,EACA,cAE2B,mBAAnBs4E,EAAOsiB,QAAyBtiB,EAAOsiB,QAAQs2C,EAAI34C,EAAQjgB,GAAUA,EAAOsiB,SACpF,SACA0E,EAEGhnB,EAAO8gG,WACV9gG,EAAO8gG,UAAUJ,GAGlB3lG,WAAW,WACV9O,OAAO80G,OAAe,OAAEx8C,QACxBt4D,OAAO80G,OAAe,OAAE1jL,QACxBojL,EAAO3kL,SAEP2kL,EADAC,EAAW,MAET,MAGJh5K,MAAO,IACP46F,QAAS,GACTs9E,cAAe,GACfjlB,QAAQ,EACR6lB,QAAQ,EACRQ,WAAW,EACXF,UAAW,MAGZ91E,EAAEp/B,GAAG8mG,UAAUuO,IAAIl3D,SAAS,eAAgB,SAAStiB,GACpD,OAAOzsC,KAAKorB,SAAS,QAAS,SAASzV,GACtCA,EAAIuwG,KAAKC,qBAAqBxwG,EAAK82B,OAIrCuD,EAAEp/B,GAAG8mG,UAAUuO,IAAIl3D,SAAS,mBAAoB,WAC/C,IAAIq3D,EAAYpmH,KAAK2/F,SACrB,OAAO3vD,EAAEo2E,GACPx7K,OACAuiE,SAGH6iC,EAAEp/B,GAAG8mG,UAAUuO,IAAIl3D,SAAS,gCAAiC,SAAS6uB,EAAIhG,GAgBzE,OAfuB/rB,EAAEvnD,IAAIszE,EAAS,SAAS+nB,GAC9C,IAAK,IAAI/4F,EAAI,EAAGA,EAAIg3E,EAAGjxI,WAAW,GAAG05K,UAAUviH,OAAQ8C,IAAK,CAC3D,IAAIk3E,EAASF,EAAGjxI,WAAW,GAAG05K,UAAUz/G,GACxC,GAAIk3E,EAAOpxI,OAASizJ,EACnB,OACC9zC,EAAE6B,SAASowB,EAAO5wD,UAAW,aAC7B2+B,EAAE6B,SAASowB,EAAO5wD,UAAW,kBAC7B2+B,EAAE6B,SAASowB,EAAO5wD,UAAW,iBAEtB,QACD,YAuUXswD,UAAU74I,SAAW,KAoLrB2yK,gBAAgBtuG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WACtDsuG,gBAAgBtuG,UAAUqiB,YAAcisF,gBAsDxCD,QAAQruG,UAAYD,OAAO7sE,OAAOwgK,YAAY1zF,WAC9CquG,QAAQruG,UAAUqiB,YAAcgsF,QA2pBhC,IAAI1pB,YAAc,IAAIovB,YAEtB,SAASuJ,gBACR,IAAIxrC,EAAO96E,KAEX86E,EAAKyrC,YAAcn1D,GAAG2F,aAEtB+jB,EAAK0rC,eAAiB,WACrB,OAAO1rC,EAAKyrC,aAGbzrC,EAAK2rC,eAAiB,SAAUt8K,GAC/B2wI,EAAKyrC,YAAYp8K,EAAKomJ,SAGvBzV,EAAK5+I,OAAS,SAAUuQ,GACvB,OAAOoxI,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc0f,gBACnBrf,QAASrkD,KAAKE,UAAU,CACvB68D,QAAS,EACTrW,KAAM3tI,OAKTquI,EAAK4rC,kBAAoB,SAAU/hC,GAClC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,aAIrD7J,EAAKiW,SAAW,SAAUb,GACzB,OAAOrS,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc0f,gBAAkB,IAAMlH,EAAU,YAIvDpV,EAAK6rC,gBAAkB,SAAUz2B,GAChC,OAAOrS,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc0f,gBAAkB,IAAMlH,EAAU,qBAKvDpV,EAAK8rC,YAAc,SAAU5uG,EAAI9nC,GAChC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc0f,gBAAkB,IAAMp/E,EAC3C+/D,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,OAKV84I,EAAK+rC,qBAAuB,SAAU7uG,GACrC,OAAO6lE,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc0f,gBAAkB,IAAMp/E,EAAK,0CAIlD8iE,EAAKymC,mBAAqB,SAAUrxB,GACnC,OAAOrS,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc0f,gBAAkB,IAAMlH,EAAU,mBAIvDpV,EAAK0mC,mBAAqB,SAAUtxB,EAASxgE,EAAMo3F,GAClD,OAAOjpC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc0f,gBAAkB,IAAMlH,EAAU,iBAAmB42B,EAAe,0BAA4B,IACnH/uC,QAAS8F,UAAUjC,eAAelsD,GAClCyoD,OAAO,KAKV,IAAI4uC,cAAgB,IAAIT,cACxB,SAASU,eACR,IAAIlsC,EAAO96E,KACX86E,EAAKmsC,WAAa,SAAU/2I,GAC3B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eACnBtf,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAIhB0C,EAAKosC,gBAAkB,SAAUviC,GAChC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,YAIrD7J,EAAKqsC,YAAc,SAAUziC,GAC5B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,KAI5C5J,EAAKssC,mBAAqB,SAAU1iC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,cAIrD5J,EAAKusC,SAAW,SAAU3iC,GACzB,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,YAIrD5J,EAAKuiC,eAAiB,SAAU34B,GAC/B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oBAIrD5J,EAAKwsC,qBAAuB,SAAU5iC,EAAQ6iC,GAC7C,OAAO1pC,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAc2f,eACd,IACA3S,EACA,6BACA8iC,mBAAmBD,MAItBzsC,EAAK2sC,4BAA8B,SAAU/iC,EAAQ6iC,GACpD,OAAO1pC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBAAyB8iC,mBAAmBD,MAIjGzsC,EAAK4sC,cAAgB,SAAUhjC,GAC9B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,kBAIrD5J,EAAK6sC,aAAe,SAAUjjC,GAC7B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBAIrD5J,EAAK8sC,sBAAwB,SAAUljC,EAAQC,GAC9C,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,cAI7E7J,EAAK+sC,2BAA6B,SAAUnjC,EAAQC,GACnD,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,2BAI7E7J,EAAKgtC,6BAA+B,SAAUpjC,EAAQC,EAAQz0G,GAC7D,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,wBAC3E5M,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKitC,eAAiB,SAAUrjC,GAC/B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,kBAIrD5J,EAAKktC,sBAAwB,SAAUtjC,GACtC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAIrD5J,EAAKmtC,kBAAoB,SAAUvjC,EAAQwjC,EAAW7+G,GACrD,OAAOw0E,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBAAkBwjC,EAAY,SACjF//K,MAAO,SAAU2nF,GACE,KAAdA,EAAI9mF,QAAeqgE,QAK1ByxE,EAAKqtC,0BAA4B,SAAUzjC,GAC1C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,eAIrD5J,EAAKstC,qBAAuB,SAAU1jC,GACrC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAIrD5J,EAAKutC,sBAAwB,SAAU3jC,EAAQxhJ,EAAUolL,GACxD,IAAIv2G,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBAIxD,OAHA3yE,GAAO7uE,EAAW,iBAAmB,GACrC6uE,GAAOu2G,EAAW,gBAAkB,GAE7BzqC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAKytC,mBAAqB,SAAU7jC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBAIrD5J,EAAK0tC,uBAAyB,SAAU9jC,GACvC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,6BAIrD5J,EAAK2tC,oBAAsB,SAAU/jC,EAAQtpI,EAAMpG,EAAI9Z,GACtD,IAAI62E,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBACpD0+B,EAAQ,GAkBZ,OAhBIhoK,IACEpG,EAGJouK,EAAMp8G,KAAK,QAAU5rD,EAAK0kK,cAAgB,OAAS9qK,EAAG8qK,eAFtDsD,EAAMp8G,KAAK,eAAiB5rD,IAM1BlgB,GACHkoL,EAAMp8G,KAAK,UAAY9rE,GAGpBkoL,EAAMt/G,SACTiO,GAAO,IAAMqxG,EAAM1+G,KAAK,MAGlBm5E,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAK4tC,qBAAuB,SAAUhkC,EAAQz6I,GAC7C,OAAO4zI,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBACnD3M,QAASrkD,KAAKE,UAAU3pF,MAI1B6wI,EAAK6tC,mBAAqB,SAAUjkC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAIrD5J,EAAK8tC,eAAiB,SAAUlkC,GAC/B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,kBAIrD5J,EAAK+tC,iBAAmB,SAAU34I,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAMnnH,EAAMqgH,OAAS,eACzDxY,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKguC,iBAAmB,SAAUpkC,GACjC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oBAIrD5J,EAAKiuC,WAAa,SAAUrkC,GAC3B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oBAIrD5J,EAAKkuC,aAAe,SAAU94I,GAC7B,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcqgB,wBAA0B,IAAM7nH,EAAM+4I,eACzDlxC,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKouC,aAAe,SAAUlxG,GAC7B,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcqgB,wBAA0B,IAAM//E,KAIrD8iE,EAAKquC,qBAAuB,SAAUnxG,GACrC,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcqgB,wBAA0B,IAAM//E,EAAK,SACxDogE,YAAa,CAAC,QAIhB0C,EAAKsuC,mBAAqB,SAAUpxG,GACnC,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcsgB,wBAA0B,IAAMhgF,KAIrD8iE,EAAKuuC,mBAAqB,SAAUn5I,GACnC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcsgB,wBACnBjgB,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKwuC,iBAAmB,SAAUp5I,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcmgB,sBACnB9f,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKyuC,iBAAmB,SAAUr5I,GACjC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcmgB,sBAAwB,IAAM3nH,EAAMktI,cACvDrlC,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAK0uC,iBAAmB,SAAUt5I,GACjC,OAAO2tG,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcmgB,sBAAwB,IAAM3nH,EAAMktI,iBAIzDtiC,EAAK2uC,eAAiB,SAAU/kC,GAC/B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAIrD5J,EAAK4uC,+BAAiC,SAAUhlC,GAC/C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sCAIrD5J,EAAK6uC,mBAAqB,SAAUjlC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oBAIrD5J,EAAK8uC,+BAAiC,SAAUllC,GAC/C,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sCAIrD5J,EAAK+uC,mBAAqB,SAAUllC,EAAQD,EAAQolC,GACnD,OAAOjsC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,kBAC3E5M,QAAS+xC,EACT7xC,WAAW,KAIb6C,EAAKivC,mBAAqB,SAAU75I,GACnC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcsgB,wBAA0B,IAAM9nH,EAAM48H,eACzD/0B,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKkvC,WAAa,SAAUrlC,EAAQD,GACnC,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,YACnD3M,QAAS4M,EACT1M,WAAW,KAIb6C,EAAKmvC,WAAa,SAAUtlC,EAAQD,GACnC,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,YACnD3M,QAAS4M,EACT1M,WAAW,KAGb6C,EAAKovC,WAAa,SAAUvlC,EAAQD,GACnC,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,YACnD3M,QAAS4M,EACT1M,WAAW,KAGb6C,EAAKqvC,cAAgB,SAAUxlC,EAAQD,GACtC,OAAO7G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,KAIpE7J,EAAKsvC,cAAgB,SAAUzlC,EAAQD,GACtC,OAAO7G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,KAIpE7J,EAAKuvC,cAAgB,SAAU1lC,EAAQD,GACtC,OAAO7G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,KAIpE7J,EAAKwvC,WAAa,SAAUtyG,EAAI9nC,GAC/B,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2f,eAAiB,IAAMr/E,EAC1C+/D,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,IAERo2I,YAAa,CAAC,QAIhB0C,EAAKyvC,kBAAoB,SAAUvyG,EAAI9nC,GACtC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAMr/E,EAC1C+/D,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,IAERo2I,YAAa,CAAC,QAIhB0C,EAAK0vC,WAAa,SAAUxyG,GAC3B,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAMr/E,KAI5C8iE,EAAK2vC,YAAc,SAAU/lC,GAC5B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,eAIrD5J,EAAK4vC,iBAAmB,SAAUhmC,GACjC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAIrD5J,EAAK6vC,YAAc,SAAUjmC,GAC5B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,eAIrD5J,EAAK8vC,oBAAsB,SAAUlmC,GACpC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,yBAIrD5J,EAAK+vC,mBAAqB,SAAUC,GACnC,OAAOjtC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAckhB,kBAAoB,oBAAsBkyB,EAAO,QACpE/yC,SAAS,EACTE,WAAW,KAIb6C,EAAKiwC,aAAe,SAAUrmC,GAC7B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBAIrD5J,EAAKkwC,QAAU,SAAUtmC,GACxB,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iBAIrD5J,EAAKmwC,UAAY,SAAUC,GAC1B,OAAOrtC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4gB,cAAgB,IAAM4yB,EAAIC,eAI/CrwC,EAAKswC,4BAA8B,SAAU1mC,GAC5C,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCAIrD5J,EAAKuwC,+BAAiC,SAAU3mC,GAC/C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCAIrD5J,EAAKwwC,kBAAoB,SAAU5mC,GAClC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAIrD5J,EAAKymC,mBAAqB,SAAU78B,GACnC,OAAO7G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAIrD5J,EAAK0mC,mBAAqB,SAAU98B,EAAQh1D,GAC3C,OAAOmuD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBACnD3M,QAAS8F,UAAUjC,eAAelsD,GAClCyoD,OAAO,KAIT2C,EAAKywC,uBAAyB,SAAU7mC,GACvC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,4BAIrD5J,EAAK0wC,YAAc,SAAU9mC,GAC5B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAIrD5J,EAAK2wC,yBAA2B,SAAU/mC,EAAQtpI,EAAMpG,GACvD,IAAI+8D,EAAM,CACT2lE,cAAc2f,eAAiB,IAAM3S,EAAS,2BAC9C,CAAC,iBAAmBtpI,EAAM,eAAiBpG,GAAI0vD,KAAK,MACnDA,KAAK,KAEP,OAAOm5E,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAK4wC,yBAA2B,SAAUhnC,EAAQtpI,EAAMpG,GACvD,IAAI+8D,EAAM,CACT2lE,cAAc2f,eAAiB,IAAM3S,EAAS,4BAC9C,CAAC,QAAUtpI,EAAM,MAAQpG,GAAI0vD,KAAK,MACjCA,KAAK,KAEP,OAAOm5E,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAK6wC,uBAAyB,SAAUjnC,GACvC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCAIrD5J,EAAK8wC,iBAAmB,SAAUlnC,EAAQC,GACzC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,oBAI7E7J,EAAK+wC,mBAAqB,SAAUnnC,EAAQC,GAC3C,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,yBAI7E7J,EAAKgxC,0BAA4B,SAAUpnC,EAAQC,GAClD,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,mCAI7E7J,EAAKixC,8BAAgC,SAAUrnC,EAAQC,GACtD,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,oBAI7E7J,EAAKknC,oBAAsB,SAAUt9B,GACpC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAIrD5J,EAAKkxC,kBAAoB,SAAUtnC,EAAQD,GAC1C,OAAO5G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAAqBD,KAI1E3J,EAAKmxC,sBAAwB,SAAUvnC,EAAQD,EAAQi+B,GACtD,OAAO7kC,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAAqBD,EAAS,YACjF1M,QAASrkD,KAAKE,UAAU8uF,MAI1B5nC,EAAKoxC,kBAAoB,SAAUxnC,EAAQD,GAC1C,OAAO5G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,UAAYD,EAAS,aAI1E3J,EAAKqxC,iBAAmB,SAAUznC,EAAQD,EAAQ2nC,GACjD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAAqBD,EAAS,sBACjF1M,QAASrkD,KAAKE,UAAUw4F,MAI1BtxC,EAAKuxC,gBAAkB,SAAU3nC,EAAQD,EAAQ2nC,GAChD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,UAAYD,EAAS,sBACxE1M,QAASrkD,KAAKE,UAAUw4F,MAI1BtxC,EAAKwxC,gBAAkB,SAAU5nC,GAChC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAIrD5J,EAAKyxC,kBAAoB,SAAU7nC,EAAQD,GAC1C,OAAO5G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAAqBD,KAI1E3J,EAAK0xC,kBAAoB,SAAU9nC,EAAQD,EAAQ/3I,EAAO6xF,GACzD,OAAOs/C,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2iB,kBAAoB,gBAAkB3V,EAAS,aAAeD,EACjFtM,OAAO,EACPthE,KAAM0nB,EACNy5C,YAAa,2BACbJ,QAAS,CACR60C,cAAejF,mBAAmB96K,OAKrCouI,EAAK4xC,kBAAoB,SAAUhoC,EAAQh4I,EAAO6xF,GACjD,OAAOs/C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2iB,kBAAoB,gBAAkB3V,EAAS,aAClEvM,OAAO,EACPthE,KAAM0nB,EACNy5C,YAAa,2BACbJ,QAAS,CACR60C,cAAejF,mBAAmB96K,OAKrCouI,EAAK6xC,gBAAkB,SAAUjoC,EAAQD,EAAQ2nC,GAChD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mBAAqBD,EAAS,QACjF1M,QAASrkD,KAAKE,UAAUw4F,MAI1BtxC,EAAK8xC,QAAU,SAAUloC,GACxB,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,WAIrD5J,EAAK+xC,cAAgB,SAAUnoC,GAC9B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAMrD5J,EAAKgyC,kBAAoB,SACxBpoC,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAunB,GAEA,IAAIh7G,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,WAyBxD,OAvBK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EsqB,EAAqB,iBAAmBA,EAAmBtqB,MAAQ,KAC7C,KAAtBuqB,EAA4B,cAAgBA,EAAqB,KAClD,KAAfC,EAAqB,UAAYA,EAAc,KAC/B,KAAhBC,EAAsB,iBAAmBA,EAAe,KAClC,KAAtBC,EAA4B,iBAAmBA,EAAqB,KACpEC,EAAqB,wBAA0BA,EAAqB,KACpEunB,EAAc,oBAAsB,KAGhClvC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKiqB,eAAiB,SACrBrgB,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAsnB,EACAnoB,EACAC,GAEA,IAAI9yF,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BA4BxD,OA1BK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EsqB,EAAqB,iBAAmBA,EAAmBtqB,MAAQ,KAC7C,KAAtBuqB,EAA4B,cAAgBA,EAAqB,KAClD,KAAfC,EAAqB,UAAYA,EAAc,KAC/B,KAAhBC,EAAsB,iBAAmBA,EAAe,KAClC,KAAtBC,EAA4B,iBAAmBA,EAAqB,KAC9Ch0F,MAAtBi0F,EAAkC,wBAA0BA,EAAqB,KAC9D,WAAnBC,EAA+B,cAAgBA,EAAkB,KACjEsnB,EAAc,oBAAsB,KACpCnoB,EAAkB,cAAgBA,EAAkB,KACpDC,EAAgB,YAAcA,EAAgB,KAG1ChnB,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKswB,aAAe,SACnB1mB,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAsnB,EACAnoB,EACAC,GAEA,IAAI9yF,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBA4BxD,OA1BK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EsqB,EAAqB,iBAAmBA,EAAmBtqB,MAAQ,KAC7C,KAAtBuqB,EAA4B,cAAgBA,EAAqB,KAClD,KAAfC,EAAqB,UAAYA,EAAc,KAC/B,KAAhBC,EAAsB,iBAAmBA,EAAe,KAClC,KAAtBC,EAA4B,iBAAmBA,EAAqB,KAC9Ch0F,MAAtBi0F,EAAkC,wBAA0BA,EAAqB,KAC9D,WAAnBC,EAA+B,cAAgBA,EAAkB,KACjEsnB,EAAc,oBAAsB,KACpCnoB,EAAkB,cAAgBA,EAAkB,KACpDC,EAAgB,YAAcA,EAAgB,KAG1ChnB,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKuxB,mBAAqB,SACzB3nB,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAoH,EACAlH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAsnB,EACAnoB,EACAC,GAEA,IAAI9yF,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,8BA4BxD,OA1BK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EyxB,EAAoB,iBAAmBA,EAAkBzxB,MAAQ,KAC3C,KAAtBuqB,EAA4B,cAAgBA,EAAqB,KAClD,KAAfC,EAAqB,UAAYA,EAAc,KAC/B,KAAhBC,EAAsB,iBAAmBA,EAAe,KAClC,KAAtBC,EAA4B,iBAAmBA,EAAqB,KAC9Ch0F,MAAtBi0F,EAAkC,wBAA0BA,EAAqB,KAC9D,WAAnBC,EAA+B,cAAgBA,EAAkB,KACjEsnB,EAAc,oBAAsB,KACpCnoB,EAAkB,cAAgBA,EAAkB,KACpDC,EAAgB,YAAcA,EAAgB,KAG1ChnB,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAK2xB,yBAA2B,SAC/B/nB,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAoH,EACAlH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAsnB,EACAnoB,EACAC,EACA6H,EACAC,GAEA,IAAI56F,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oCA8BxD,OA5BK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EyxB,EAAoB,iBAAmBA,EAAkBzxB,MAAQ,KAC3C,KAAtBuqB,EAA4B,cAAgBA,EAAqB,KAClD,KAAfC,EAAqB,UAAYA,EAAc,KAC/B,KAAhBC,EAAsB,iBAAmBA,EAAe,KAClC,KAAtBC,EAA4B,iBAAmBA,EAAqB,KAC9Ch0F,MAAtBi0F,EAAkC,wBAA0BA,EAAqB,KAC9D,WAAnBC,EAA+B,cAAgBA,EAAkB,KACjEsnB,EAAc,oBAAsB,KACpCnoB,EAAkB,cAAgBA,EAAkB,KACpDC,EAAgB,YAAcA,EAAgB,KAC9C6H,EAAiB,oBAAsBA,EAAesgB,gBAAkB,KACxErgB,EAAqB,mBAAqBA,EAAmBG,eAAiB,KAG1EjvB,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAKmyC,wBAA0B,SAAUvoC,EAAQ6hB,GAChD,OAAO1oB,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qCAAuC6hB,KAI5FzrB,EAAKoyC,aAAe,SAAUC,GAC7B,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,YAAc81B,KAIpDryC,EAAKsyC,0BAA4B,SAAU1oC,EAAQtpI,EAAMpG,EAAIwgG,EAAO63E,EAAWC,GAC9E,IAAIv7G,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBAQxD,OAPA3yE,IACE32D,EAAO,QAAUA,EAAO,KACxBpG,EAAK,OAASA,EAAK,KACnBwgG,EAAQ,UAAYA,EAAQ,KAC5B63E,EAAY,cAAgBA,EAAY,KACxCC,EAAmB,qBAAuBA,EAAmB,IAExDzvC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAKyyC,uBAAyB,SAAU7oC,GACvC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAIrD5J,EAAK0yC,sBAAwB,SAAU9oC,EAAQ+oC,GAC9C,OAAO5vC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,6BACnD3M,QAASrkD,KAAKE,UAAU65F,MAI1B3yC,EAAK4yC,uBAAyB,SAAUhpC,GACvC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,6CAIrD5J,EAAK6yC,oBAAsB,SAAUjpC,EAAQC,EAAQipC,EAAWH,GAC/D,OAAO5vC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,kBAC3E5M,QAASrkD,KAAKE,UAAU,CACvBi6F,qBAAsBD,EACtBE,mBAAoBL,OAOvB3yC,EAAKizC,qBAAuB,SAAUrpC,GACrC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oBAIrD5J,EAAKkzC,8BAAgC,SAAUtpC,GAC9C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BAIrD5J,EAAKmzC,yBAA2B,SAAUvpC,EAAQC,GACjD,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,oBAM7E7J,EAAKozC,kBAAoB,SAAUxpC,GAClC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iBAMrD5J,EAAKqzC,cAAgB,SAAUzpC,GAC9B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAIrD5J,EAAKszC,iCAAmC,SACvC1pC,EACAvG,EACAxxF,EACAmX,EACA3yD,EACAq1H,EACAE,EACAu+B,EACAC,EACAC,EACAkpB,EACAhpB,EACAE,EACAC,EACA8oB,GAEA,IAAIv8G,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAwBxD,OAtBK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCq1H,EAAY,UAAYA,EAAY,KACpCE,EAAU,QAAUA,EAAU,KAC9Bu+B,EAAiB,aAAeA,EAAepqB,MAAQ,KACvDqqB,GAAiBA,EAAc8Q,GAAK,cAAgB9Q,EAAc8Q,GAAK,KACvE9Q,GAAiBA,EAAcrqB,MAAQ,gBAAkBqqB,EAAcrqB,MAAQ,KAC/EsqB,EAAqB,iBAAmBA,EAAmBtqB,MAAQ,KAC7C,KAAtBwzC,EAA4B,iBAAmBA,EAAqB,KACrD,KAAfhpB,EAAqB,UAAYA,EAAc,KACzB,KAAtBE,EAA4B,UAAYA,EAAqB,KAC7DC,EAAqB,wBAA0BA,EAAqB,KACpD,KAAhB8oB,EAAsB,WAAaA,EAAe,KAG9CzwC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAIP+oE,EAAKyzC,4CAA8C,SAAU7pC,GAC5D,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uCAMrD5J,EAAK0zC,sBAAwB,SAAU7pC,EAAQD,EAAQx0G,GACtD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,YAC3E5M,QAASrkD,KAAKE,UAAU1jD,GACxB+nG,WAAW,KAIb6C,EAAK2zC,2BAA6B,SAAU/pC,EAAQx0G,GACnD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCACnD3M,QAASrkD,KAAKE,UAAU1jD,GACxB+nG,WAAW,KAMb6C,EAAK4zC,gBAAkB,SAAUhqC,GAChC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,eAMrD5J,EAAK6zC,mBAAqB,SAAUjqC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,2BAIrD5J,EAAK8zC,0BAA4B,SAAUlqC,EAAQC,GAClD,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,kBAM7E7J,EAAK+zC,oBAAsB,SAAUnqC,EAAQC,GAC5C,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,YAO7E7J,EAAKg0C,kBAAoB,SAAUnqC,GAClC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,cAK9D7J,EAAKi0C,sBAAwB,SAAUpqC,GACtC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,kBAK9D7J,EAAKk0C,wBAA0B,SAAUrqC,GACxC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,oBAK9D7J,EAAKm0C,gBAAkB,SAAUtqC,GAChC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,eAK9D7J,EAAKo0C,gBAAkB,SAAUvqC,GAChC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,YAK9D7J,EAAKq0C,gBAAkB,SAAUxqC,GAChC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,YAK9D7J,EAAKs0C,oBAAsB,SAAUzqC,EAAQD,GAC5C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,YAK7E7J,EAAKu0C,2BAA6B,SAAU1qC,GAC3C,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,yBAK9D7J,EAAKw0C,wBAA0B,SAAU3qC,GACxC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,aAK9D7J,EAAKy0C,gCAAkC,SAAU5qC,GAChD,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,2BAK9D7J,EAAK00C,iBAAmB,SAAU7qC,GACjC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,aAK9D7J,EAAK20C,mBAAqB,SAAU9qC,GACnC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,eAK9D7J,EAAK40C,4BAA8B,SAAUhrC,GAC5C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAMrD5J,EAAK60C,yBAA2B,SAAUhrC,EAAQD,EAAQx0G,GACzD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,eAC3E5M,QAASrkD,KAAKE,UAAU1jD,GACxB+nG,WAAW,KAIb6C,EAAK80C,8BAAgC,SAAUlrC,EAAQx0G,GACtD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,oCACnD3M,QAASrkD,KAAKE,UAAU1jD,GACxB+nG,WAAW,KAOb6C,EAAK+0C,qBAAuB,SAAUnrC,EAAQx0G,GAC7C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBACnD3M,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,KACdH,WAAW,KAKb6C,EAAKg1C,uBAAyB,SAAUprC,EAAQx0G,GAC/C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BACnD3M,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,KACdH,WAAW,KAKb6C,EAAKi1C,qBAAuB,SAAUrrC,EAAQC,EAAQtG,GACrD,OAAOR,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,WAC3E5M,QAASrkD,KAAKE,UAAUyqD,GACxBpG,WAAW,KAKb6C,EAAKk1C,gBAAkB,SAAUrrC,GAChC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,YAK9D7J,EAAKm1C,oBAAsB,SAAUtrC,GACpC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,gBAI9D7J,EAAKo1C,YAAc,SAAUxrC,EAAQvG,EAAMxxF,EAAOmX,EAAQ3yD,EAAQjd,GACjE,IAAI69E,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,QAcxD,OAZK74B,EAAEisB,YAAYqG,KAClBpsE,GACC,SACAosE,EACA,UACAxxF,EACA,WACAmX,GACC3yD,EAAS,iBAAmBA,EAAS,KACrCjd,EAAQ,UAAYA,EAAQ,KAGxB2pJ,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAOP+oE,EAAKq1C,sBAAwB,SAAUzrC,GACtC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BAKrD5J,EAAKs1C,wBAA0B,SAAU1rC,GACxC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCAKrD5J,EAAKu1C,uBAAyB,SAAU3rC,EAAQx0G,GAC/C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBACnD3M,QAAS7nG,EACT+nG,WAAW,KAKb6C,EAAKw1C,uBAAyB,SAAU5rC,EAAQx0G,EAAOu0G,GACtD,OAAO5G,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAA0BD,EAC7E1M,QAAS7nG,KAMX4qG,EAAKy1C,oBAAsB,SAAU7rC,EAAQD,GAC5C,OAAO5G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAA0BD,KAK/E3J,EAAK01C,uBAAyB,SAAU9rC,EAAQD,GAC/C,OAAO5G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAA0BD,KAK/E3J,EAAK21C,sBAAwB,SAAU/rC,EAAQD,EAAQ2nC,GACtD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,wBAA0BD,EAAS,sBACtF1M,QAASrkD,KAAKE,UAAUw4F,MAK1BtxC,EAAK41C,wBAA0B,SAAUhsC,EAAQD,EAAQ2nC,GACxD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,+BAAiCD,EAAS,sBAC7F1M,QAASrkD,KAAKE,UAAUw4F,MAO1BtxC,EAAK61C,6BAA+B,SAAUjsC,GAC7C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCAKrD5J,EAAK81C,8BAAgC,SAAUjsC,EAAQD,EAAQx0G,GAC9D,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCAAmCC,EACtF5M,QAAS7nG,EACT+nG,WAAW,KAKb6C,EAAK+1C,8BAAgC,SAAUlsC,EAAQD,EAAQx0G,EAAOu0G,GACrE,OAAO5G,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCAAmCC,EAAS,IAAMF,EACrG1M,QAAS7nG,KAMX4qG,EAAKg2C,2BAA6B,SAAUnsC,EAAQD,EAAQD,GAC3D,OAAO5G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCAAmCC,EAAS,IAAMF,KAKvG3J,EAAKi2C,8BAAgC,SAAUpsC,EAAQD,EAAQD,GAC9D,OAAO5G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,iCAAmCC,EAAS,IAAMF,KAMvG3J,EAAKk2C,oBAAsB,SAAUtsC,EAAQF,GAC5C,IAAIzyE,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBAExD,OADA3yE,GAAOyyE,EAAS,IAAMA,EAAS,GACxB3G,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAKm2C,wBAA0B,SAAUtsC,GACxC,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,0BAK9D7J,EAAKo2C,2BAA6B,SAAUxsC,EAAQysC,GACnD,OAAOtzC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sCACnD3M,QAASrkD,KAAKE,UAAUu9F,GACxBl5C,WAAW,KAKb6C,EAAKs2C,6BAA+B,SAAU1sC,EAAQysC,GACrD,OAAOtzC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,6CACnD3M,QAASrkD,KAAKE,UAAUu9F,GACxBl5C,WAAW,KAKb6C,EAAKu2C,oBAAsB,SAAU3sC,EAAQysC,GAC5C,OAAOtzC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BACnD3M,QAASrkD,KAAKE,UAAUu9F,GACxBl5C,WAAW,KAKb6C,EAAKw2C,qBAAuB,SAAU5sC,EAAQ6hB,EAAcgrB,GAC3D,OAAO1zC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAAwB6hB,EAAe,aAC1FxuB,QAAS8F,UAAUjC,eAAe21C,GAClCp5C,OAAO,KAKT2C,EAAK02C,mBAAqB,SAAU9sC,EAAQ6hB,GAC3C,OAAO1oB,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAAwB6hB,EAAe,eAK5FzrB,EAAK22C,qBAAuB,SAAU/sC,EAAQ6hB,EAAcmrB,GAC3D,OAAO7zC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,sBAAwB6hB,EAAe,aAAemrB,KAM3G52C,EAAK62C,oBAAsB,SAAUjtC,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GACnE,IAAIzjC,EAAM2lE,cAAc2f,eAAiB,IAAM3S,EAAS,gBACpD0+B,EAAQ,GAiBZ,OAfIwO,EACHxO,EAAMp8G,KAAK,eAAiB4qH,IAE5BxO,EAAMp8G,KAAK,QAAU5rD,GACrBgoK,EAAMp8G,KAAK,MAAQhyD,IAGhBwgG,GACH4tE,EAAMp8G,KAAK,SAAWwuC,GAGnB4tE,EAAMt/G,SACTiO,GAAO,IAAMqxG,EAAM1+G,KAAK,MAGlBm5E,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAK+2C,6BAA+B,SAAUntC,EAAQC,EAAQmtC,GAC7D,OAAOj0C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAAeC,EAAS,mBAC3E5M,QAASrkD,KAAKE,UAAUk+F,MAM1Bh3C,EAAKi3C,wBAA0B,SAAUrtC,GACxC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,qBAMrD5J,EAAKk3C,+BAAiC,SAAUrtC,GAC/C,OAAO9G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,aAAe1S,EAAS,wBAK9D7J,EAAKm3C,mBAAqB,SAAUvtC,GACnC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBAOrD5J,EAAKo3C,4BAA8B,SAAUxtC,EAAQx0G,GACpD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,4BACnD3M,QAASrkD,KAAKE,UAAU1jD,MAM1B4qG,EAAKq3C,iCAAmC,SAAUztC,GACjD,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCAKrD5J,EAAKs3C,6BAA+B,SAAU1tC,EAAQx0G,GACrD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,mCACnD3M,QAASrkD,KAAKE,UAAU1jD,MAQ1B4qG,EAAKu3C,yBAA2B,SAAU3tC,EAAQx0G,GACjD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,uBACnD3M,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKw3C,0BAA4B,SAAU5tC,EAAQx0G,GAClD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,8BACnD3M,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKy3C,gBAAkB,SAAU7tC,GAChC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,eAKrD5J,EAAK03C,cAAgB,SAAU9tC,GAC9B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,aAMtD,IAAIogB,aAAe,IAAIkiB,aAEvB,SAASyL,iBACGzyH,KAEN0yH,oBAAsB,SAASxiJ,GACnC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc0gB,yBACnBrgB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASN2yH,iBAAmB,SAASC,GAChC,OAAO/0C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc0gB,yBAA2B,IAAMw6B,KAX3C5yH,KAeN6yH,oBAAsB,SAAS3iJ,GACnC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc0gB,yBAA2B,IAAMloH,EAAM4iJ,gBAC1D/6C,QAASrkD,KAAKE,UAAU1jD,MAlBf8vB,KAsBN+yH,oBAAsB,SAAS7iJ,GACnC,OAAO2tG,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc0gB,yBAA2B,IAAMloH,EAAM4iJ,mBAK7D,IAAIE,eAAiB,IAAIP,eAEzB,SAASQ,sBACR,IAAIn4C,EAAO96E,KAuJX,SAASkzH,IACR,IAAIC,EAAUr4C,EAAKq4C,UAEfC,EAAevnE,EAAEvnD,IAAI6uH,EAAS,SAAUE,GAC3C,OAAOvuB,aACLqkB,qBAAqBkK,EAAOpK,gBAC5B/kF,KAAK,SAAUrtB,IAtEnB,SAAwBw8G,EAAQx8G,GAC/B,IAEIy8G,EAUAC,EAZAC,EAAa38G,EAAK48G,oBAAsB58G,EAAK68G,kBAMhDJ,EAHgC,cAA7Bz8G,EAAK88G,qBAAmE,cAA5B98G,EAAK+8G,oBAAwC/nE,EAAE4zB,UAAU5oE,EAAKg9G,YAAgC,GAAlBh9G,EAAKg9G,UAEzF,cAA7Bh9G,EAAK88G,qBAAmE,cAA5B98G,EAAK+8G,mBAC5C,UAEA,UAJA,SAMhBP,EAAOS,aAAaR,GAGhBznE,EAAEkoE,UAAUl9G,EAAKm9G,aAAen9G,EAAKm9G,YAAcnoE,EAAEkoE,UAAUl9G,EAAKo9G,YAAcp9G,EAAKo9G,UAC1FV,EAAe,MACL1nE,EAAEkoE,UAAUl9G,EAAKm9G,aAAenoE,EAAEkoE,UAAUl9G,EAAKo9G,cAC3DV,EAAe,WAEhBF,EAAOa,aAAaX,GAEpB,IAAIY,EAAOt9G,EAAKu9G,YAAcv9G,EAAKw9G,YACnChB,EAAOiB,QACU,WAAhBhB,GAA+Ba,EAC5B,CACAI,IAAK,UAAYJ,EACjBK,WAAYz0H,OAAOyzH,IAEnB,MAGJH,EAAOoB,UAAU59G,EAAK49G,WACtBpB,EAAOe,WAAWv9G,EAAKu9G,YACvBf,EAAOgB,YAAYx9G,EAAKw9G,aACxBhB,EAAOqB,WAAWlB,GAClBH,EAAOW,WAAWn9G,EAAKm9G,YACvBX,EAAOsB,MAAM99G,EAAK89G,OAClBtB,EAAOQ,UAAUh9G,EAAKg9G,WACtBR,EAAOuB,eAAe/9G,EAAK+9G,gBAC3BvB,EAAOwB,MAAMh+G,EAAKg+G,OAClBxB,EAAOyB,MAAMj+G,EAAKi+G,OAClBzB,EAAO0B,OAAOl+G,EAAKk+G,QACnB1B,EAAO2B,UAAUn+G,EAAKm+G,WACtB3B,EAAO4B,UAAUp+G,EAAKo+G,WACtB5B,EAAO6B,SAASr+G,EAAKq+G,UACrB7B,EAAO8B,UAAUt+G,EAAKs+G,WACtB9B,EAAOY,UAAUp9G,EAAKo9G,WACtBZ,EAAO+B,SAASv+G,EAAKu+G,UACrB/B,EAAOgC,KAAKx+G,EAAK88G,qBACjBN,EAAOiC,IAAIz+G,EAAK+8G,oBAChBP,EAAOkC,SAAS1+G,EAAK0+G,UACrBlC,EAAOmC,UAAU3+G,EAAK2+G,WAoBnBC,CAAepC,EAAQx8G,KAEvB4sF,OAAO,WAnBX,IAA8BiyB,EAoB1BrC,EAAOsC,aApBmBD,EAoBcrC,EAAOuC,gBAlB1C/pE,EAAEltC,OAAOktC,EAAEvnD,IAAIoxH,EAAcv1H,MAAM,MAAO0rD,EAAE1+C,MAAO,SAAUgR,GACnE,MAAO,+BAA+Bhf,KAAKgf,KAItC,UAiBP,OAAO6xB,EAAE2xD,QAAQyxB,GAwElB,SAASyC,EAAqBnxC,EAAQoxC,GACrC,GAAIh7C,EAAK4J,UAAYA,IAAU5J,EAAKi7C,YAApC,CACAj7C,EAAK4J,OAAOA,GACZ,IAAIsxC,EAAKlxB,aACPikB,WAAWrkC,GACXxgD,KAAK,SAAUnf,GACf,GAAI+1D,EAAKi7C,aAAeC,EACvB,OA5EkCC,EA4EElxG,EA5EW+wG,EA4ENA,EA3ExC3C,EAAUr4C,EAAKq4C,UAEfjY,EAAQrvD,EAAEgvD,aAAaob,EAAa9C,EAAS,kBAC7C+C,EAAUrqE,EAAEgvD,aAAasY,EAAS8C,EAAa,kBAC/C9oI,EAAU0+D,EAAEsqE,eAAeF,EAAa9C,EAAS,kBAGrDr4C,EAAKq4C,QAAQryL,OAAO,SAAUuyL,GAC7B,OAAOxnE,EAAE6B,SAAS7B,EAAEvnD,IAAI4xH,EAAS,kBAAmB7C,EAAOpK,kBAI5Dp9D,EAAEriD,KAAK0xG,EAAO,SAAUrkG,GACvBikE,EAAKq4C,QAAQnsH,KAAK,CACjBiiH,eAAgBpyG,EAAKoyG,eACrBtL,WAAY9mG,EAAK8mG,WACjBptB,OAAQ15E,EAAK05E,OACb6lC,UAAWv/G,EAAKu/G,UAChBrY,MAAOlnG,EAAKknG,MACZ6X,eAAgB/+G,EAAK++G,eACrB9oB,eAAgB17C,GAAG2F,WAAWlgD,EAAKi2F,gBACnC1yB,KAAMhpB,GAAG2F,WAAWlgD,EAAKujE,MACzBi8C,QAASjlE,GAAG2F,WAAWlgD,EAAKw/G,SAE5B5B,UAAWrjE,GAAG2F,aACdq9D,WAAYhjE,GAAG2F,aACfs9D,YAAajjE,GAAG2F,aAChB+8D,aAAc1iE,GAAG2F,aACjBm9D,aAAc9iE,GAAG2F,aACjB29D,WAAYtjE,GAAG2F,aACfu9D,QAASljE,GAAG2F,aACZ4+D,YAAavkE,GAAG2F,aAChBi9D,WAAY5iE,GAAG2F,aACf49D,MAAOvjE,GAAG2F,aACV88D,UAAWziE,GAAG2F,aACd69D,eAAgBxjE,GAAG2F,aACnB89D,MAAOzjE,GAAG2F,aACV+9D,MAAO1jE,GAAG2F,aACVg+D,OAAQ3jE,GAAG2F,aACXi+D,UAAW5jE,GAAG2F,aACdk+D,UAAW7jE,GAAG2F,aACdm+D,SAAU9jE,GAAG2F,aACbo+D,UAAW/jE,GAAG2F,aACdk9D,UAAW7iE,GAAG2F,aACdq+D,SAAUhkE,GAAG2F,aACbu+D,IAAKlkE,GAAG2F,aACRs+D,KAAMjkE,GAAG2F,aACTw+D,SAAUnkE,GAAG2F,aACby+D,UAAWpkE,GAAGiG,sBAKhBxL,EAAEriD,KAAKrc,EAAS,SAAU0pB,GACzB,IAAIywD,EAAKzb,EAAEziD,KAAK+pH,EAAS,CAAElK,eAAgBpyG,EAAKoyG,iBAC5C3hD,IACHA,EAAG8S,KAAKvjE,EAAKujE,MACb9S,EAAGwlC,eAAej2F,EAAKi2F,mBAIrBgpB,EACI9lF,EAAE09C,WAAWG,QAAQ,IAGtBqlC,IAlER,IAAsC+C,EAAaH,EAC9C3C,EAEAjY,EACAgb,EACA/oI,IA0EFs2G,OAAO,WACH3oB,EAAKi7C,aAAeC,GACvBl7C,EAAKi7C,UAAU,QAGlBj7C,EAAKi7C,UAAUC,IAShB,SAASM,IACRtvF,aAAa8zC,EAAKy7C,gBAClBz7C,EAAKy7C,eAAiB,KASvB,SAASC,IACR,IAAIx6G,EAA8C,KAArC8+D,EAAK27C,mBAAqB,GAAK,IAE5C37C,EAAKy7C,eAAiBx2G,WAAW,WAG1B+6D,EAAK47C,YAAc,EAGZ57C,EAAK47C,YAAc,GAC1BxD,KAHA2C,EAAqB/6C,EAAK4J,UAC/B5J,EAAK47C,YAAc,GAKpB57C,EAAK47C,cAELF,KACEx6G,GA9RJ8+D,EAAK67C,eAAiB,EACtB77C,EAAK27C,mBAAqB,EAC1B37C,EAAK4J,OAAStzB,GAAG2F,aACjB+jB,EAAKq4C,QAAU/hE,GAAGiG,kBAElByjB,EAAKi7C,UAAY3kE,GAAG2F,aACpB+jB,EAAK08B,QAAUpmD,GAAGk8C,aAAa,WAC9B,QAASxyB,EAAKi7C,cAGfj7C,EAAK9iH,OAASo5F,GAAGk8C,aAAa,WAC7B,OAAOzhD,EAAEltC,OAAOm8D,EAAKq4C,UAAW,SAAUtxH,GACzC,MAAoB,cAAbA,EAAEwzH,WAIXv6C,EAAK87C,cAAgBxlE,GAAGk8C,aAAa,WACpC,OAAOzhD,EAAEltC,OAAOm8D,EAAKq4C,UAAW,SAAUtxH,GACzC,OAAO9B,SAASilF,KAAKnjF,EAAE6yH,aAAc,QAAU,OAIjD55C,EAAK+7C,QAAUzlE,GAAGk8C,aAAa,WAC9B,OAAOzhD,EAAEltC,OAAOm8D,EAAK87C,gBAAiB,SAAU/0H,GAC/C,OAAOgqD,EAAE6B,SAAS,CAAC,UAAW,WAAY7rD,EAAEiyH,oBAI9Ch5C,EAAKg8C,aAAe1lE,GAAGk8C,aAAa,WACnC,IAAIt1I,EAAS8iH,EAAK9iH,SACd6+J,EAAU/7C,EAAK+7C,UAEft5D,EAAS,GAkCb,OA/BI1R,EAAEsxB,KAAK05C,IACVt5D,EAAOv2D,KAAK,cAKZ6kD,EAAEsxB,KAAKnlH,EAAQ,SAAU6pC,GACxB,OAAQA,EAAEmyH,gBAGXz2D,EAAOv2D,KAAK,oBAKZ6kD,EAAEsxB,KAAKnlH,EAAQ,SAAU6pC,GACxB,OAAOgqD,EAAEhjD,QAAQhH,EAAE2zH,cAAgB3pE,EAAElxF,KAAKknC,EAAE2zH,aAAe3pE,EAAElxF,KAAK3C,GAAU,KAG7EulG,EAAOv2D,KAAK,sBAKZ6kD,EAAEsxB,KAAKnlH,EAAQ,SAAU6pC,GACxB,OAAOgqD,EAAErX,SAAS3yC,EAAEozH,cAAgBl1H,SAASuO,SAAS,EAAG,KAAKwuE,SAASj7E,EAAEozH,gBAG1E13D,EAAOv2D,KAAK,mBAGNu2D,IAGRud,EAAKi8C,mBAAqB3lE,GAAGk8C,aAAa,WACzC,OAAOzhD,EAAE6yB,MACR7yB,EAAEmrE,OACDnrE,EAAEltC,OAAOm8D,EAAKq4C,UAAW,SAAUtxH,GAClC,OAAsB,MAAfA,EAAEyyH,YAEV,CAAC,sBAKJx5C,EAAKm8C,gBAAkB7lE,GAAGk8C,aAAa,WACtC,IAAI4pB,EAAKp8C,EAAKi8C,qBACd,OAAOG,EAAKA,EAAG5C,UAAUC,IAAM,OA2KhCz5C,EAAKq8C,cAAgB,SAAUzyC,EAAQoxC,GACtCD,EAAqBnxC,EAAQoxC,GAC7Bh7C,EAAK47C,YAAc,EAmCf57C,EAAKy7C,iBACRD,IACAE,MAWF17C,EAAKs8C,iBAAmB,SAAUC,GAC7BA,EACHv8C,EAAK27C,qBAEL37C,EAAK67C,iBAG8C,EAAhD77C,EAAK67C,eAAiB77C,EAAK27C,qBAb1B37C,EAAKy7C,iBACTz7C,EAAK47C,YAAc,EACnBF,OAgBF17C,EAAKw8C,gBAAkB,SAAUD,GAC5BA,EACHv8C,EAAK27C,qBAEL37C,EAAK67C,iBAGF77C,EAAK67C,eAAiB77C,EAAK27C,oBAAsB,GAzDjD37C,EAAKy7C,gBACRD,KA8DH,IAAIiB,UAAY,IAAItE,oBAEpB,SAASuE,mBACR,IAAI18C,EAAO96E,KAEX86E,EAAK28C,uBAAyB,SAASC,GACtC,OAAO75C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwf,mBAAqB,IAAMwgC,EAAoB,QAClEt/C,YAAa,CAAC,QAIhB0C,EAAK68C,2BAA6B,SAASD,GAC1C,OAAO75C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwf,mBAAqB,IAAMwgC,EAAoB,QAClEt/C,YAAa,CAAC,QAIhB0C,EAAK88C,gBAAkB,SAAS5/G,GAC/B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwf,mBAAqB,IAAMl/E,KAIhD8iE,EAAK+8C,cAAgB,SAAS7/G,GAC7B,OAAO6lE,UAAUyD,WAAW,CAC3BnzC,OAAO,EACPp8B,IAAK2lE,cAAcwf,mBAAqB,IAAMl/E,EAAK,gBAIrD8iE,EAAKg9C,wBAA0B,SAAS9/G,EAAI/tE,EAAOwC,GAClD,OAAOoxI,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwf,mBAAqB,IAAMl/E,EAAK,kBACnD+/D,QAASrkD,KAAKE,UAAU,CACvB23E,MAAOthK,EACPmwI,KAAM3tI,OAKTquI,EAAK+kC,cAAgB,SAAS/7H,GAC7B,OAAO6pG,YAAYkyB,cAAc/7H,EAAS6jG,OAAQ5nF,OAAOjc,EAASghG,OAAQ/kF,OAAOjc,EAASihG,OAG3FjK,EAAKmlC,gBAAkB,SAASn8H,GAC/B,OAAO6pG,YAAYsyB,gBAAgBn8H,EAAS6jG,OAAQ5nF,OAAOjc,EAASghG,OAAQ/kF,OAAOjc,EAASihG,OAG7FjK,EAAKilC,SAAW,SAASj8H,GACxB,OAAO6pG,YAAYoyB,SAASj8H,EAAS6jG,OAAQ5nF,OAAOjc,EAASghG,OAAQ/kF,OAAOjc,EAASihG,OAGtFjK,EAAKklC,WAAa,SAASl8H,GAC1B,OAAO6pG,YAAYqyB,WAAWl8H,EAAS6jG,OAAQ5nF,OAAOjc,EAASghG,OAAQ/kF,OAAOjc,EAASihG,OAGxFjK,EAAKolC,QAAU,SAASp8H,GACvB,OAAO6pG,YAAYuyB,QAAQp8H,EAAS6jG,OAAQ5nF,OAAOjc,EAASghG,OAAQ/kF,OAAOjc,EAASihG,OAGrFjK,EAAKi9C,gBAAkB,SAASj0I,GAC/B,OAAO+5F,UAAUyD,WAAW,CAC1BvvE,IACC2lE,cAAcuf,eACd,IACAnzG,EAAS6jG,OACT,4BACA5nF,OAAOjc,EAASghG,OAAOg7B,cACvB,OACA//G,OAAOjc,EAASihG,KAAK+6B,cACrB,cAIJhlC,EAAKk9C,8BAAgC,SAAStzC,EAAQtpI,EAAMpG,EAAI9Z,GAC/D,OAAO2iJ,UAAUyD,WAAW,CAC3BvvE,IACA2lE,cAAc2f,eACd,IACA3S,EACA,mCACA3kF,OAAO3kD,GAAM0kK,cACb,OACA//G,OAAO/qD,GAAI8qK,cACX,WACA5kL,KAIF4/I,EAAKm9C,oBAAsB,SAASvzC,EAAQtpI,EAAMpG,GACjD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAc2f,eACd,IACA3S,EACA,4BACAtpI,EAAK0kK,cACL,OACA9qK,EAAG8qK,iBAINhlC,EAAKo9C,yBAA2B,SAASxzC,EAAQtpI,EAAMpG,GACtD,OAAO6oI,UAAUyD,WAAW,CAC3BvvE,IACC2lE,cAAc2f,eACd,IACA3S,EACA,iCACAtpI,EAAK0kK,cACL,OACA9qK,EAAG8qK,iBAINhlC,EAAKq9C,oBAAsB,SAASC,GACnC,OAAOv6C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwf,mBAAqB,IAAMkhC,EAAa,eAI7Dt9C,EAAKu9C,eAAiB,SAASD,EAAYloJ,GAC1C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcwf,mBAAqB,IAAMkhC,EAC9CrgD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,OAAOA,OAKV84I,EAAKw9C,eAAiB,SAASF,GAC9B,OAAOv6C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcwf,mBAAqB,IAAMkhC,KAIhDt9C,EAAKy9C,uBAAyB,SAASH,GACtC,OAAOv6C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyf,yBAA2B,IAAMihC,KAItDt9C,EAAK09C,oBAAsB,SAASJ,GACnC,OAAOv6C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyf,yBAA2B,IAAMihC,EAAa,0BAInEt9C,EAAK29C,+BAAiC,SAASL,GAC9C,OAAOv6C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyf,yBAA2B,IAAMihC,EAAa,oBAInEt9C,EAAK49C,yCAA2C,SAASC,GACxD,OAAO96C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyf,yBAA2B,IAAMwhC,EAAkB,sBACtEvgD,YAAa,CAAC,QAIhB0C,EAAK89C,6CAA+C,SAASD,GAC5D,OAAO96C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyf,yBAA2B,IAAMwhC,EAAkB,sBACtEvgD,YAAa,CAAC,QAIhB0C,EAAK+9C,oBAAsB,SAASF,EAAiBzoJ,GACpD,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcyf,yBAA2B,IAAMwhC,EACpD5gD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,OAAOA,OAMX,IAAI82L,iBAAmB,IAAItB,iBAE3B,SAASz7B,eAAe3oC,GACvB,IAAI0nB,EAAO96E,KAEXA,KAAK+4H,SAAW,iBAEhB/4H,KAAKg5H,OAAS,SAAUr0L,GACvB,OAAOyuH,EAAMkuB,WAAW,CACvBvvE,IAAK,yBAAyBrP,OAAOo4E,EAAKi+C,SAAUp0L,MAQvD,SAASs0L,sBACGj5H,KAENk5H,aAAe,SAASlhH,GAC5B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcogB,uBAAyB,IAAM9/E,KAJzChY,KAQNm5H,YAAc,SAAS/xC,GAC3B,OAAOvJ,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcogB,uBAAyB,IAAM1Q,EAAagyC,kBAVtDp5H,KAcNq5H,iBAAmB,SAASrhH,EAAI3uC,GACpC,OAAOw0G,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcogB,uBAAyB,IAAM9/E,KAhBzChY,KAoBNs5H,qBAAuB,SAAS30C,EAAQy+B,GAC5C,OAAOvlC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,kBAAoBy+B,GAAgB,OAtB9EpjH,KA0BNu5H,2BAA6B,SAAS50C,EAAQy+B,GAClD,OAAOvlC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,yBAA2By+B,GAAgB,OA5BrFpjH,KAgCNw5H,wBAA0B,SAAS70C,GACvC,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,iBACnDh5C,QAAS,WACR4iD,SAASj5I,QAAQ,4BApCT0qD,KAyCNy5H,6BAA+B,SAAS90C,EAAQt7G,GACpD,OAAOw0G,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcuf,eAAiB,IAAMtS,EAAS,uBACnD5M,QAASrkD,KAAKE,UAAUvqD,GACxBsiE,QAAS,WACR4iD,SAASj5I,QAAQ,iCAAkC+zB,OAlDjC,oBAAXk2B,QAA0BA,OAAOC,eAAe,aAC1DD,OAAOE,QAAUs8F,gBAuDlB,IAAI29B,qBAAuB,IAAIT,oBAE/B,SAASj9B,gBAAgB5oC,GACrB,IAAI0nB,EAAO96E,KAEXA,KAAK+4H,SAAW,iBAChB/4H,KAAK25H,gBAAkB,iBAEvB35H,KAAKg5H,OAAS,WACV,OAAO5lE,EAAMkuB,WAAW,CACpBvvE,IAAK,YAAYrP,OAAOo4E,EAAKi+C,aAIrC/4H,KAAK45H,gBAAkB,SAAUj1L,EAAUk1L,GACvC,GAAKA,EAEL,OAAOzmE,EAAMkuB,WAAW,CACpBvvE,IAAK,iCAAiCrP,OAAOo4E,EAAK6+C,gBAAiBE,EAAWl1L,MAS1F,SAASm1L,sBACG95H,KAEN+5H,eAAiB,SAAUr1C,GAC/B,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4f,uBACnBvf,QAASrkD,KAAKE,UAAU,CACvB28D,OAAQ7L,OANA1kF,KAWNg6H,eAAiB,SAAUC,GAC/B,OAAOp8C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4f,uBAAyB,IAAM2iC,KAjB/B,oBAAX16H,QAA0BA,OAAOC,eAAe,aACvDD,OAAOE,QAAUu8F,iBAsBrB,IAAIk+B,oBAAsB,IAAIJ,oBAC9B,SAASK,eACGn6H,KAENo6H,mBAAqB,SAASlqJ,GAClC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc6gB,wBACnBxgB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASNq6H,gBAAkB,SAASC,GAC/B,OAAOz8C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc6gB,wBAA0B,IAAM+hC,KAX1Ct6H,KAeNu6H,mBAAqB,SAASD,EAASpqJ,GAC3C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc6gB,wBAA0B,IAAM+hC,EACnDviD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,OAAOA,OAnBCg+D,KAwBNw6H,mBAAqB,SAASF,GAClC,OAAOz8C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc6gB,wBAA0B,IAAM+hC,KAKtD,IAAIG,aAAe,IAAIN,aAEvB,SAASO,4BACG16H,KAEN26H,uBAAyB,SAAUj2C,EAAQwL,EAAS3oB,GACxD,IAAI1wD,EAAO,GAWX,OAVI6tE,IACH7tE,EAAK6tE,OAASA,GAEXwL,IACHr5E,EAAKq5E,QAAUA,GAEZ3oB,IACH1wD,EAAK0wD,KAAOA,GAGNsW,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcqiB,qBACnBljF,KAAMA,KAhBG7W,KAoBN46H,8BAAgC,SAAUl2C,EAAQwL,EAAS3oB,GAC/D,IAAI1wD,EAAO,GAWX,OAVI6tE,IACH7tE,EAAK6tE,OAASA,GAEXwL,IACHr5E,EAAKq5E,QAAUA,GAEZ3oB,IACH1wD,EAAK0wD,KAAOA,GAGNsW,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcqiB,qBAAuB,WAC1CljF,KAAMA,KAlCG7W,KAsCN66H,qBAAuB,SAAUC,GACrC,OAAOj9C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcqiB,qBAAuB,IAAM+gC,KAxCvC96H,KA4CN+6H,sBAAwB,SAAUC,GACtC,OAAIA,EAAkBC,oBACdp9C,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcqiB,qBAAuB,IAAMihC,EAAkBC,oBAClEljD,QAASrkD,KAAKE,UAAUonG,KAGlBn9C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcqiB,qBACnBhiB,QAASrkD,KAAKE,UAAUonG,MArDhBh7H,KA0DNk7H,mBAAqB,SAAUC,GACnC,OAAOt9C,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcqiB,qBAAuB,IAAMohC,EAAaF,oBAAsB,WAAaE,EAAaC,eAC7GrjD,QAASrkD,KAAKE,UAAUunG,MA7Dfn7H,KAiENq7H,wBAA0B,SAAUP,GACxC,OAAOj9C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcqiB,qBAAuB,IAAM+gC,KAnEvC96H,KAuENs7H,0BAA4B,SAAUC,GAE1C,OAAO19C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcqiB,qBAAuB,gBAC1ChiB,QAASrkD,KAAKE,UAAU2nG,MA3Efv7H,KA+ENw7H,4BAA8B,SAAUD,GAE5C,OAAO19C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcqiB,qBAAuB,kBAC1ChiB,QAASrkD,KAAKE,UAAU2nG,MAnFfv7H,KAuFNy7H,6BAA+B,SAAU/2C,EAAQwL,EAASqhC,GAE9D,IAAIx/G,EAAM2lE,cAAcqiB,qBAAuB,aAU/C,OAPChoF,GADGm+E,EACI,UAAYA,EACTxL,EACH,SAAWA,EAEX,SAGD7G,UAAU4D,cAAc,CAC9B1vE,IAAKA,EACLgmE,QAAS8F,UAAUjC,eAAe21C,GAClCp5C,OAAO,KAOV,IAAIujD,mBAAqB,IAAIhB,0BAC7B,SAASiB,wBACR,IAAI7gD,EAAO96E,KAEX86E,EAAK8gD,YAAc,WAClB,OAAO/9C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwgB,0BAIrBpd,EAAK/iE,IAAM,WACV,IAAI8jH,EAAM7rF,EAAE09C,WAcZ,OAZI5S,EAAKghD,SACRD,EAAIhuC,QAAQ/S,EAAKghD,UAEjBhhD,EAAK8gD,cACH13F,KAAK,SAAUxgC,GACfo3E,EAAKghD,SAAWp4H,IAEhB+/F,OAAO,WACPo4B,EAAIhuC,QAAQ/S,EAAKghD,YAIbD,EAAIE,WAIb,IAAIC,sBAAwB,IAAIL,sBAChC,SAASM,kBACGj8H,KAENk8H,sBAAwB,SAAUC,GACtC,OAAOt+C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcugB,2BACnBlgB,QAASrkD,KAAKE,UAAUuoG,MALfn8H,KASNo8H,sBAAwB,SAAUpkH,EAAImkH,GAC1C,OAAOt+C,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcugB,2BAA6B,IAAMjgF,EACtD+/D,QAASrkD,KAAKE,UAAUuoG,MAZfn8H,KAgBNq8H,sBAAwB,SAAUrkH,EAAIskH,GAC1C,OAAOz+C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcugB,2BAA6B,IAAMjgF,GAAMskH,EAAgB,uBAAyB,OAKxG,IAAIC,gBAAkB,IAAIN,gBAC1B,SAASO,kBACGx8H,KAENy8H,gBAAkB,SAASzkH,GAC/B,OAAO6lE,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcygB,uBAAyB,WAAangF,KAJhDhY,KAQN08H,mBAAqB,SAAS1kH,GAClC,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcygB,uBAAyB,WAAangF,KAVhDhY,KAcN28H,gBAAkB,SAASzsJ,GAC/B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcygB,uBAAyB,UAC5CpgB,QAASrkD,KAAKE,UAAU1jD,MAjBf8vB,KAqBN48H,oBAAsB,SAAS1sJ,GACnC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcygB,uBAAyB,sBAC5CpgB,QAASrkD,KAAKE,UAAU1jD,MAK3B,IAAI2sJ,gBAAkB,IAAIL,gBAE1B,SAASM,yBACR,IAAIhiD,EAAO96E,KAEP+8H,EAAgB,CACnB,CACCC,SAAU,SACVC,WAAY,CAAC,KAAM,aAAc,eACjCC,aAAc,CAAC,KAAM,OAAQ,WAE9B,CACCF,SAAU,SACVC,WAAY,CAAC,KAAM,YAAa,cAChCC,aAAc,CAAC,KAAM,OAAQ,UAE9B,CACCF,SAAU,SACVC,WAAY,CAAC,IAAK,QAAS,UAC3BC,aAAc,CAAC,KAAM,OAAQ,SAE9B,CACCF,SAAU,SACVC,WAAY,CAAC,KAAM,aAAc,eACjCC,aAAc,CAAC,KAAM,OAAQ,WAE9B,CACCF,SAAU,OACVC,WAAY,CAAC,KAAM,WAAY,aAC/BC,aAAc,CAAC,MAAO,KAAM,QAAS,WAEtC,CACCF,SAAU,QACVC,WAAY,CAAC,IAAK,WAClBC,aAAc,CAAC,IAAK,YAErB,CACCF,SAAU,WACVC,WAAY,CAAC,OAAQ,uBACrBC,aAAc,CAAC,OAAQ,wBAExB,CACCF,SAAU,YACVC,WAAY,CAAC,MAAO,iBACpBC,aAAc,CAAC,MAAO,kBAEvB,CACCF,SAAU,UACVC,WAAY,CAAC,QAAS,yBACtBC,aAAc,CAAC,QAAS,0BAEzB,CACCF,SAAU,SACVC,WAAY,CAAC,OAAQ,eACrBC,aAAc,CAAC,OAAQ,gBAExB,CACCF,SAAU,QACVC,WAAY,CAAC,OAAQ,oBACrBC,aAAc,CAAC,MAAO,kBA8DxBpiD,EAAKqiD,QAAU,SAASC,EAAWC,EAAUC,GAC5C,IA1DIC,EA0DAC,EAxDY,GAFZD,EA0D6BF,EA1Dfl9H,MAAM,MAEjB2D,OACC,KAGS,GAAby5H,EAAGz5H,OACC,CACN25H,aAAcF,EAAG,GACjBG,SAAUH,EAAG,IAIR,CACNG,SAAUH,EAAG,GAAGxtH,eA6CjB,GAAIytH,EAAc,CACjB,IAAIG,EA1CN,SAAuBC,EAAc90E,GACpC,IAAK,IAAI+0E,EAAI,EAAGA,EAAId,EAAcj5H,SAAU+5H,EAC3C,IAAKD,GAAgBA,EAAa7tH,eAAiBgtH,EAAcc,GAAGb,SAASjtH,cAAe,CAC3F,IAAIopE,EAKJ,IAAY,IAHZA,EAAMttB,EAAEvnD,IAAIy4H,EAAcc,GAAGZ,WAAY,SAAS9+G,GACjD,OAAOA,EAAGpO,gBACRhM,QAAQ+kD,EAAS/4C,gBAEnB,MAAO,CACNitH,SAAUD,EAAcc,GAAGb,SAC3Bc,eAAgBt4C,MAAM7vC,MAAMk8C,OAC5BksC,YAAahB,EAAcc,GAAGZ,WAAW9jD,GACzC6kD,eAAgBjB,EAAcc,GAAGZ,WAAW,GAC5CA,WAAYF,EAAcc,GAAGZ,WAC7BC,aAAcH,EAAcc,GAAGX,cAIjC,IAGwC,GAFvCrxE,EAAEvnD,IAAIy4H,EAAcc,GAAGX,aAAc,SAAS/+G,GAC7C,OAAOA,EAAGpO,gBACRhM,QAAQ+kD,EAAS/4C,eAEpB,MAAO,CACNitH,SAAUD,EAAcc,GAAGb,SAC3Bc,eAAgBt4C,MAAM7vC,MAAMm8C,SAC5BisC,YAAahB,EAAcc,GAAGX,aAAa/jD,GAC3C6kD,eAAgBjB,EAAcc,GAAGX,aAAa,GAC9CD,WAAYF,EAAcc,GAAGZ,WAC7BC,aAAcH,EAAcc,GAAGX,cAMnC,OAAO,KAMUe,CAAcT,EAAaC,aAAcD,EAAaE,UACtE,GAAIC,EAAW,CACd,IAAI15H,EAAMowC,IAAI1gB,MAAMypG,EAAYO,EAAUK,gBAC1C,GAAI/5H,EAAK,CACR,IAAIi6H,EAASZ,GAAgB93C,MAAM7vC,MAAMk8C,OAAS8rC,EAAUV,WAAW,GAAKU,EAAUT,aAAa,GAC/FvpD,EAAU1vE,EAAIjvD,GAAGkpL,GAErB,MAAO,CACN7pF,IAAKs/B,EACLwqD,KAAMxqD,EAAQzlI,QACd2sI,MAAOlH,EAAQjiD,UAMnB,IAAI87B,EAAOgwE,EAAeA,EAAaE,SAAWL,EAKlD,MAJY,mBAAR7vE,IACHA,EAAO,IAGD,CACNqtB,MAAOuiD,EACPe,KAAM3wE,IAIRstB,EAAKsjD,YAAc,SAASf,EAAUC,GAErC,OADWxiD,EAAKqiD,QAAQ,EAAGE,EAAUC,GACzBa,MAGbrjD,EAAKujD,mBAAqB,SAASp6H,GAClC,GAAkB,UAAdA,EAAIq5B,OAQR,OAAOr5B,EAAIytB,OAAOrrB,QAAQ,GAPzB,IACIi4H,EAAcr6H,EAAIjvD,GAAG,QACrBupL,EAAYn3H,KAAKiH,MAAMiwH,EAAY5sG,OAFpB,IAGf8sG,EAASF,EAAY5sG,OAHN,GAInB,MAAO,YAAYhvB,OAAO67H,EAAWC,EAAOn4H,QAAQ,KAOvD,IAAIo4H,uBAAyB,IAAI3B,uBAEjC,SAAS4B,qBACG1+H,KAEN2+H,iBAAmB,SAAUzuJ,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc+gB,qBACnB1gB,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QANLp4E,KAUN4+H,cAAgB,SAAUC,GAC9B,OAAOhhD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc+gB,qBAAuB,IAAMomC,KAZvC7+H,KAgBN8+H,iBAAmB,SAAUD,EAAc3uJ,GAC/C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc+gB,qBAAuB,IAAMomC,EAChD9mD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,IAERo2I,YAAa,CAAC,QAtBLp4E,KA0BN++H,iBAAmB,SAAUF,GACjC,OAAOhhD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc+gB,qBAAuB,IAAMomC,KAKnD,IAAIG,mBAAqB,IAAIN,mBAC7B,SAASO,wBACGj/H,KAENk/H,oBAAsB,SAAUhvJ,GACpC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcghB,wBACnB3gB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASNm/H,iBAAmB,SAAUC,GACjC,OAAOvhD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcghB,wBAA0B,IAAM0mC,KAX1Cp/H,KAeNq/H,oBAAsB,SAAUD,EAAiBlvJ,GACrD,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcghB,wBAA0B,IAAM0mC,EACnDrnD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,OAnBCg+D,KAwBNs/H,oBAAsB,SAAUF,GACpC,OAAOvhD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcghB,wBAA0B,IAAM0mC,KAKtD,IAAIG,sBAAwB,IAAIN,sBAChC,SAASO,oBACGx/H,KAENy/H,gBAAkB,SAAUvvJ,GAChC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcihB,wBACnB5gB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASN0/H,aAAe,SAAUC,GAC7B,OAAO9hD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,KAX1C3/H,KAeN4/H,gBAAkB,SAAUD,EAAazvJ,GAC7C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,EACnD5nD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,OAnBCg+D,KAwBN6/H,gBAAkB,SAAUF,GAChC,OAAO9hD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,KA1B1C3/H,KA+BN8/H,qBAAuB,SAAUH,EAAaxyL,EAAU4yL,EAAOrwG,GACnE,IAAI7Y,EAAOgnE,UAAUjC,eAAelsD,GAKpC,OAHA7Y,EAAKwa,OAAO,WAAYlkF,GACxB0pE,EAAKwa,OAAO,QAAS0uG,GAEdliD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,EAAc,aACjE5nD,QAASlhE,EACTshE,OAAO,KAxCEn4E,KA4CNggI,qBAAuB,SAAUL,EAAajO,GAClD,OAAO7zC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,EAAc,aAAejO,KA9CvE1xH,KAkDNigI,yBAA2B,SAAUN,EAAajO,EAAWxhJ,GACjE,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcihB,wBAA0B,IAAMgnC,EAAc,aAAejO,EAChF35C,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAAUu0B,EAAKziE,GACxC,OAAOA,OAMX,IAAIk+L,kBAAoB,IAAIV,kBAC5B,SAASW,kBACGngI,KAENogI,cAAgB,SAASlwJ,GAC7B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcmhB,mBACnB9gB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASNqgI,WAAa,SAASC,GAC1B,OAAOziD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcmhB,mBAAqB,IAAMynC,KAXrCtgI,KAeNugI,cAAgB,SAASD,EAAWpwJ,GACxC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcmhB,mBAAqB,IAAMynC,EAC9CvoD,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,OAAOA,OAnBCg+D,KAwBNwgI,cAAgB,SAASF,GAC7B,OAAOziD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcmhB,mBAAqB,IAAMynC,KA1BrCtgI,KA8BNygI,eAAiB,SAAS/7C,EAAQg8C,EAAYtU,GAClD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BACnD3M,QAASrkD,KAAKE,UAAU,CACvB+sG,WAAYD,EACZE,QAASxU,OAnCDpsH,KAwCN6gI,eAAiB,SAASn8C,EAAQg8C,EAAYtU,GAClD,OAAOvuC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,0BACnD3M,QAASrkD,KAAKE,UAAU,CACvB+sG,WAAYD,EACZE,QAASxU,OAMb,IAAI0U,gBAAkB,IAAIX,gBAE1B,SAASY,WACG/gI,KAEN0Q,KAAO,WACX+rF,eAAev0I,IAAI,iBAAkB,IAAI6zI,eAAeU,eAAe1kF,IAAI,eAC3E0kF,eAAev0I,IAAI,kBAAmB,IAAI8zI,gBAAgBS,eAAe1kF,IAAI,gBAI/E,SAASipH,cACGhhI,KAENihI,mBAAqB,SAASC,EAAQhxJ,GAC1C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,YACvDnpD,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,IAAK,QANVp4E,KAUNmhI,gBAAkB,SAASD,GAC/B,OAAOrjD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,YACvD9oD,YAAa,CAAC,QAbLp4E,KAiBNohI,mBAAqB,SAASF,GAClC,OAAOrjD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,eAnB9ClhI,KAuBNqhI,2BAA6B,SAASC,GAC1C,OAAOzjD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcqhB,uBAAyB,IAAMuoC,KAzBzCthI,KA8BNuhI,oBAAsB,SAASL,EAAQhxJ,GAC3C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,qCACvDnpD,QAASrkD,KAAKE,UAAU1jD,MAjCf8vB,KAqCNwhI,oBAAsB,SAASN,GACnC,OAAOrjD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,yBACvD9oD,YAAa,CAAC,QAxCLp4E,KA4CNyhI,wBAA0B,SAASP,EAAQv8C,GAC/C,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcohB,mBAAqB,IAAMooC,EAAS,0BAA4Bv8C,KAOtF,IAAI+8C,YAAc,IAAIV,YAEtB,SAASW,+BACR,IAAI7mD,EAAO96E,KAEX86E,EAAK8mD,4BAA8B,SAAS1xJ,GAC3C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcshB,wBACnBjhB,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,MAIf0C,EAAK+mD,yBAA2B,SAASC,GACxC,OAAOjkD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EACnD1pD,YAAa,MAIf0C,EAAKinD,4BAA8B,SAASD,GAC3C,OAAOjkD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,KAIrDhnD,EAAKknD,wCAA0C,SAASF,GACvD,OAAOjkD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,mBAI/EhnD,EAAKmnD,4BAA8B,SAAS/xJ,GAC3C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcshB,wBAA0B,IAAM9oH,EAAMgyJ,wBACzDnqD,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,MAIf0C,EAAKqnD,kCAAoC,SAASL,EAAyBzU,GAC1E,OAAOxvC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,aAC7E/pD,QAASrkD,KAAKE,UAAUy5F,GACxBj1C,YAAa,MAKf0C,EAAKymD,oBAAsB,SAASO,EAAyB5xJ,GAC5D,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,4BAC7E/pD,QAASrkD,KAAKE,UAAU1jD,MAM1B4qG,EAAK0mD,oBAAsB,SAASM,GACnC,OAAOjkD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,gBAC7E1pD,YAAa,MAMf0C,EAAK2mD,wBAA0B,SAASK,EAAyBn9C,GAChE,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,iBAAmBn9C,KAMlG7J,EAAKsnD,8BAAgC,SAAS19C,GAC7C,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2f,eAAiB,IAAM3S,EAAS,kBACnDtM,YAAa,MAKf0C,EAAKunD,2BAA6B,SAASP,GAC1C,OAAOjkD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcshB,wBAA0B,IAAM8oC,EAA0B,aAC7E/pD,QAASrkD,KAAKE,YACdwkD,YAAa,CAAC,IAAK,QAUtB,IAAIkqD,8BAAgC,IAAIX,6BAExC,SAASY,iBACR,IAAIznD,EAAO96E,KAEX86E,EAAK0nD,YAAc,SAAStyJ,GAC3B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBACnBnhB,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAIhB0C,EAAK2nD,SAAW,SAAStV,GACxB,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,KAI9CryC,EAAK4nD,YAAc,SAASxyJ,GAC3B,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMhpH,EAAMk2H,QAClDruB,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,IAAK,QAIrB0C,EAAK6nD,YAAc,SAASxV,GAC3B,OAAOtvC,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,KAI9CryC,EAAK8nD,cAAgB,SAASC,GAC7B,OAAOhlD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,eACtCnhB,QAASrkD,KAAKE,UAAUivG,MAI1B/nD,EAAKurB,wBAA0B,SAAS8mB,EAASj9I,GAChD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,gBACtDp1C,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAIhB0C,EAAKgoD,eAAiB,SAASD,GAC9B,OAAOhlD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,gBACtCnhB,QAASrkD,KAAKE,UAAUivG,MAI1B/nD,EAAKioD,iBAAmB,SAASF,GAChC,OAAOhlD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,kBACtCnhB,QAASrkD,KAAKE,UAAUivG,MAK1B/nD,EAAKkoD,mBAAqB,SAASH,GAClC,OAAOhlD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,sBACtCnhB,QAASrkD,KAAKE,UAAUivG,MAI1B/nD,EAAKmoD,cAAgB,SAASC,GAC7B,OAAOrlD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,eACtCnhB,QAASrkD,KAAKE,UAAUsvG,MAM1BpoD,EAAKqoD,kBAAoB,SAAShW,GACjC,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,gBAIxDryC,EAAK+uB,sBAAwB,SAASsjB,GACrC,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,oBAIxDryC,EAAKsuB,kCAAqC,SAASl5H,EAAOi9I,GACzD,OAAOtvC,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,iBACtDp1C,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAKhB0C,EAAKsoD,oBAAuB,SAASjW,EAASj9I,GAC7C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,aACtDp1C,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAKhB0C,EAAKuoD,0BAA4B,SAASlW,GACzC,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,0BAIxDryC,EAAKwoD,qBAAuB,SAASnW,GACpC,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,mBAIxDryC,EAAKyoD,qBAAwB,SAASpW,EAASj9I,EAAO/uC,GACrD,OAAO08I,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,wCAA+ChsL,EACrG42I,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAIhB0C,EAAK0oD,2BAA8B,SAASrW,EAASxoC,EAAQz0G,EAAO/uC,GACnE,OAAO08I,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,iBAAmBxoC,EAAS,gBAAkBxjJ,EACpG42I,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAKhB0C,EAAK2oD,wBAA0B,SAAStW,EAASxoC,EAAQxjJ,GACxD,OAAO08I,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,iBAAmBxoC,EAAS,UAAYxjJ,EAC9Fi3I,YAAa,CAAC,QAIhB0C,EAAK4oD,4BAA8B,SAASvW,EAAShsL,EAAOwiM,GAC3D,OAAO9lD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,uBAAyBhsL,GAASwiM,EAAmB,SAAWA,EAAmB,IACzIvrD,YAAa,CAAC,QAIhB0C,EAAK8oD,eAAiB,SAASzW,GAC9B,OAAOtvC,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuhB,sBAAwB,IAAMk0B,EAAU,aAC3D/0C,YAAa,CAAC,IAAK,QAIrB0C,EAAK+oD,sBAAwB,SAAS1W,GACrC,OAAOtvC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,oBAIxDryC,EAAKgpD,sBAAyB,SAAS3W,EAASj9I,GAC/C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,iBACtDp1C,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKipD,6BAAgC,SAAS5W,EAASxoC,EAAQq/C,GAC9D,OAAOnmD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,IAAMi0B,EAAU,iBAAmBxoC,EAAS,UAClF5M,QAASrkD,KAAKE,UAAUowG,MAI1BlpD,EAAKmpD,wCAA2C,SAAS/zJ,GACxD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,oCACtCnhB,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKopD,mCAAsC,SAASh0J,GACnD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,6BACtCnhB,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKqpD,aAAgB,SAASj0J,GAC7B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwhB,iBAAmB,cACtCnhB,QAASrkD,KAAKE,UAAU1jD,MAQ3B,IAAIi5H,eAAiB,IAAIo5B,eAEzB,SAAS6B,kBACGpkI,KAGNqkI,yBAA2B,SAASn0J,GACxC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcyhB,kBAAqB,YACxCphB,QAASrkD,KAAKE,UAAU1jD,MANf8vB,KAUNskI,yBAA2B,SAAStsH,GACxC,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcyhB,kBAAoB,aAAenhF,KAZ7ChY,KAgBNukI,yBAA2B,SAASr0J,GACxC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcyhB,kBAAoB,oBACvCphB,QAASrkD,KAAKE,UAAU1jD,MAnBf8vB,KAuBNwkI,yBAA2B,SAASxsH,GACxC,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcyhB,kBAAoB,qBAAuBnhF,KAzBrDhY,KA6BNykI,uCAAyC,SAASC,GACtD,OAAO7mD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcyhB,kBAAqB,aAAeurC,EAAY,iBAOtE,IAAIC,gBAAkB,IAAIP,gBAE1B,SAASQ,oBACG5kI,KAEN6kI,uBAAyB,WAC7B,OAAOhnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc0hB,uBAJVp5F,KAQN8kI,4BAA8B,SAASngM,GAC3C,OAAOk5I,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc0hB,oBAAsB,mBAAqBz0J,KAMjE,IAAIogM,kBAAoB,IAAIH,kBAE5B,SAASI,oBACR,IAAIlqD,EAAO96E,KAGX86E,EAAKmqD,gBAAkB,SAAS/0J,GAC/B,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBACnBthB,QAASrkD,KAAKE,UAAU1jD,MAM1B4qG,EAAKoqD,cAAgB,SAASh1J,EAAOi1J,GACpC,OAAOtnD,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAC/CptD,QAASrkD,KAAKE,UAAU1jD,MAM1B4qG,EAAKsqD,aAAe,SAASD,GAC5B,OAAOtnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,KAKjDrqD,EAAKuqD,gBAAkB,SAASF,GAC/B,OAAOtnD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,KAKjDrqD,EAAKwqD,mBAAqB,SAASp1J,EAAOi1J,GACzC,OAAOtnD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,UAC7DptD,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKyqD,mBAAqB,SAASJ,GAClC,OAAOtnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,aAI/DrqD,EAAK0qD,oBAAsB,SAASL,GACnC,OAAOtnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,eAI/DrqD,EAAK2qD,4BAA8B,SAAStY,EAAS7wF,GACpD,OAAOuhD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8zB,EAAU,WACzDp1C,QAASrkD,KAAKE,UAAU0I,MAQ1Bw+C,EAAKymD,oBAAsB,SAAS4D,EAAaj1J,GAChD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,4BAC7DptD,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAK0mD,oBAAsB,SAAS2D,GACnC,OAAOtnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,gBAC7D/sD,YAAa,CAAC,QAKhB0C,EAAK2mD,wBAA0B,SAAS0D,EAAaxgD,GACpD,OAAO9G,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,iBAAmBxgD,KAKlF7J,EAAK4qD,sBAAwB,SAASP,GACrC,OAAOtnD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,oBAO/DrqD,EAAK6qD,qBAAuB,SAASR,EAAaj1J,GACjD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,SAC7DptD,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAK8qD,kBAAoB,SAAST,GACjC,OAAOtnD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAsB,IAAM8rC,EAAc,YAK/DrqD,EAAK+qD,oBAAsB,SAAS31J,GACnC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc2hB,oBAAsB,SACzCthB,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKgrD,oBAAsB,SAASC,EAAO71J,GAC1C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc2hB,oBAAsB,UAAY0sC,EACrDhuD,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKkrD,oBAAsB,SAASD,GACnC,OAAOloD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc2hB,oBAAsB,UAAY0sC,KAKvDjrD,EAAKmrD,iBAAmB,SAASF,GAChC,OAAOloD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc2hB,oBAAqB,UAAY0sC,KAOvD,IAAIG,kBAAoB,IAAIlB,kBAE5B,SAASmB,uBACR,IAAIrrD,EAAO96E,KAGX86E,EAAKsrD,wBAA0B,SAAUl2J,GACxC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBACnBvhB,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKurD,wBAA0B,SAAUC,GACxC,OAAOzoD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4hB,uBAAyB,IAAMgtC,KAIpDxrD,EAAKyrD,wBAA0B,SAAUr2J,GACxC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc4hB,uBAAyB,IAAMppH,EAAM42G,oBACxD/O,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAK0rD,0BAA4B,SAAUF,EAAqBp2J,GAC/D,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,IAAMgtC,EAAsB,SACxEvuD,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAK2rD,0BAA4B,SAAUH,GAC1C,OAAOzoD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc4hB,uBAAyB,IAAMgtC,EAAsB,YAK1ExrD,EAAK4rD,+BAAiC,SAAUJ,GAC/C,OAAOzoD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc4hB,uBAAyB,IAAMgtC,EAAsB,kBAK1ExrD,EAAK6rD,+BAAiC,SAAUL,EAAqBM,GACpE,OAAO/oD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,IAAMgtC,EAAsB,gBACxEvuD,QAASrkD,KAAKE,UAAUgzG,MAM1B9rD,EAAK+rD,sBAAwB,SAAU32J,GACtC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,SAC5CvhB,QAASrkD,KAAKE,UAAU1jD,MAI1B4qG,EAAKgsD,uBAAyB,SAAUC,EAAoB72J,GAC3D,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EACxDhvD,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,SAKf0C,EAAKksD,4BAA8B,SAAUD,GAC5C,OAAOlpD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EACxD3uD,YAAa,CAAC,QAIhB0C,EAAKmsD,gCAAkC,SAASF,GAC/C,OAAOlpD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,cAK/EjsD,EAAKosD,yBAA2B,SAAUH,EAAoB72J,GAC7D,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,cAC7EhvD,QAASrkD,KAAKE,UAAU1jD,MAK1B4qG,EAAKqsD,2BAA6B,SAAUJ,GAC3C,OAAOlpD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,iBAI/EjsD,EAAKssD,uBAAyB,SAAUL,GACvC,OAAOlpD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,UAC7EhvD,QAASrkD,KAAKE,UAAU,CACvByzG,gBAAgB,OAKnBvsD,EAAKwsD,iBAAmB,SAAUP,GACjC,OAAOlpD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,UAC7EhvD,QAASrkD,KAAKE,UAAU,CACvByzG,gBAAgB,OAKnBvsD,EAAKysD,qBAAuB,SAAUR,GACrC,OAAOlpD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc4hB,uBAAyB,UAAYytC,EAAqB,aAKhF,IAAIS,qBAAuB,IAAIrB,qBAE/B,SAASsB,gBACGznI,KAGN0nI,gBAAkB,SAAShjD,GAC/B,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc6hB,mBAOtB,IAAIouC,cAAgB,IAAIF,cAExB,SAASG,sBACG5nI,KAEN6nI,kBAAoB,SAAS33J,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc8hB,wBACnBzhB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KAUN8nI,kBAAoB,SAAS9vH,EAAG9nC,GACpC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc8hB,wBAA0B,IAAMxhF,EACnD+/D,QAASrkD,KAAKE,UAAU1jD,MAbf8vB,KAkBN+nI,kBAAoB,SAAS/vH,GACjC,OAAO6lE,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc8hB,wBAA0B,IAAMxhF,KAOtD,IAAIgwH,oBAAsB,IAAIJ,oBAE9B,SAASK,iBACGjoI,KAENkoI,aAAe,SAASC,GAC5B,OAAOtqD,UAAUyD,WAAW,CAC3BvvE,IAAK,oFAAsFo2H,EAAU,QAAUC,eAC/GvwD,QAAQ,KAOX,IAAIwwD,eAAiB,IAAIJ,eAEzB,SAASK,eACGtoI,KAENkoI,aAAe,SAASC,GAC5B,OAAOtqD,UAAUyD,WAAW,CAC3BvvE,IAAK,kCAAoCo2H,EAAU,QACnDtwD,QAAQ,KAOX,IAAI0wD,aAAe,IAAID,aAEvB,SAASE,8BACGxoI,KAENyoI,0BAA4B,SAAUv4J,GAC1C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAckiB,gCACnB7hB,QAAS7nG,KALA8vB,KASN0oI,0BAA4B,SAAUC,EAAmBz4J,GAC7D,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,EAC3D5wD,QAAS7nG,KAZA8vB,KAgBN4oI,uBAAyB,SAAUD,GACvC,OAAO9qD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,KAlBlD3oI,KAsBN6oI,0BAA4B,SAAUF,GAC1C,OAAO9qD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,KAxBlD3oI,KA4BN8oI,sBAAwB,SAAUH,EAAmBI,GACzD,OAAOlrD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,EAAoB,sBAC/E5wD,QAASrkD,KAAKE,UAAUm1G,MA/Bf/oI,KAmCNgpI,2BAA6B,SAAUL,EAAmBI,GAC9D,OAAOlrD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,EAAoB,sBAC/E5wD,QAASrkD,KAAKE,UAAUm1G,MAtCf/oI,KA0CNipI,gCAAkC,SAAUN,GAChD,OAAO9qD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,EAAoB,oBA5CtE3oI,KAgDNkpI,gCAAkC,SAAUP,EAAmBQ,GACnE,OAAOtrD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAckiB,gCAAkC,IAAM+uC,EAAoB,iBAC/E5wD,QAASrkD,KAAKE,UAAUu1G,MAK3B,IAAIC,4BAA8B,IAAIZ,4BACtC,SAASa,oBACGrpI,KAENspI,gBAAkB,SAAUp5J,GAChC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcmiB,qBACnB9hB,QAAS7nG,KALA8vB,KASNupI,gBAAkB,SAAUpB,EAASj4J,GACzC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcmiB,qBAAuB,IAAMsuC,EAChDpwD,QAAS7nG,EACTkoG,YAAa,CAAC,QAbLp4E,KAiBNwpI,aAAe,SAAUrB,GAC7B,OAAOtqD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcmiB,qBAAuB,IAAMsuC,KAnBvCnoI,KAuBNypI,gBAAkB,SAAUtB,GAChC,OAAOtqD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcmiB,qBAAuB,IAAMsuC,KAzBvCnoI,KA6BN0pI,sBAAwB,SAAUvB,EAASj4J,GAC/C,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcmiB,qBAAuB,IAAMsuC,EAAU,2BAC1DpwD,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAjCLp4E,KAqCN2pI,2BAA6B,SAAUxB,EAASj4J,GACpD,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcmiB,qBAAuB,IAAMsuC,EAAU,2BAC1DpwD,QAASrkD,KAAKE,UAAU1jD,GACxBkoG,YAAa,CAAC,QAKjB,IAAIwxD,kBAAoB,IAAIP,kBAC5B,SAASQ,4BACG7pI,KAEN8pI,wBAA0B,SAAS55J,GACvC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc+hB,6BACnB1hB,QAAS7nG,KALA8vB,KASN+pI,wBAA0B,SAASC,EAAc95J,GACrD,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAc+hB,6BAA+B,IAAMuwC,EACxDjyD,QAAS7nG,KAZA8vB,KAgBN+uH,sBAAwB,SAASib,GACrC,OAAOnsD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAc+hB,6BAA+B,IAAMuwC,KAlB/ChqI,KAsBNiqI,wBAA0B,SAASD,GACvC,OAAOnsD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc+hB,6BAA+B,IAAMuwC,KAO3D,IAAIE,0BAA4B,IAAIL,0BAEpC,SAASM,sBACGnqI,KAENoqI,kBAAoB,SAASl6J,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcgiB,uBACnB3hB,QAAS7nG,KALA8vB,KASNqqI,kBAAoB,SAASC,EAAQp6J,GACzC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcgiB,uBAAyB,IAAM4wC,EAClDvyD,QAAS7nG,KAZA8vB,KAgBNuqI,eAAiB,SAASD,GAC9B,OAAOzsD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcgiB,uBAAyB,IAAM4wC,KAlBzCtqI,KAsBNwqI,kBAAoB,SAASF,GACjC,OAAOzsD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcgiB,uBAAyB,IAAM4wC,KAOrD,IAAIG,oBAAsB,IAAIN,oBAE9B,SAASO,sBACG1qI,KAEN2qI,kBAAoB,SAASz6J,GACjC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAciiB,uBACnB5hB,QAAS7nG,KALA8vB,KASN4qI,kBAAoB,SAASC,EAAQ36J,GACzC,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAciiB,uBAAyB,IAAMkxC,EAClD9yD,QAAS7nG,KAZA8vB,KAgBN8qI,wBAA0B,SAASD,EAAQE,GAC/C,OAAOltD,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAciiB,uBAAyB,IAAMkxC,EAAS,aAC3D9yD,QAASrkD,KAAKE,UAAUm3G,MAnBf/qI,KAuBNgrI,eAAiB,SAASH,GAC9B,OAAOhtD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAciiB,uBAAyB,IAAMkxC,KAzBzC7qI,KA6BNirI,kBAAoB,SAASJ,GACjC,OAAOhtD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAciiB,uBAAyB,IAAMkxC,KAOrD,IAAIK,oBAAsB,IAAIR,oBAE9B,SAASS,oBACR,IAAIrwD,EAAO96E,KAIX86E,EAAKswD,sCAAwC,SAAS1mD,EAAQ2mD,EAAajwL,EAAMpG,EAAI48K,EAAap8E,GAEjG,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,2BAQnE,OAPA3yE,IACCs5H,EAAc,gBAAkBA,EAAc,KAC9CjwL,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKwwD,kCAAoC,SAAS5mD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAEhF,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,wBAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKywD,oCAAsC,SAAS7mD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAElF,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,gCAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAK0wD,qCAAuC,SAAS9mD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAEnF,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,iCAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAK2wD,uCAAyC,SAAS/mD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAErF,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,yCAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAK4wD,qCAAuC,SAAShnD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAEnF,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,qCAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAK6wD,0BAA4B,SAASjnD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAExE,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,oBAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAK8wD,2BAA6B,SAASlnD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAEzE,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,yBAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAK+wD,2BAA6B,SAASnnD,EAAQonD,EAAYC,EAAUC,EAAmBC,EAAcC,EAAYC,EAAqB32F,GAE1I,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,wBAUnE,OATA3yE,IACC+5H,EAAa,eAAiBA,EAAa,KAC3CC,EAAW,aAAeA,EAAW,KACrCC,EAAoB,sBAAwBA,EAAoB,KAChEC,EAAe,iBAAmBA,EAAe,KACjDC,EAAa,eAAiBA,EAAa,KAC3CC,EAAsB,wBAA0BA,EAAsB,KACtE32F,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAKsxD,+BAAiC,SAAS1nD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAE7E,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,mCAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAMP+oE,EAAKuxD,0BAA4B,SAAS3nD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAExE,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,uBAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAKP+oE,EAAKwxD,sBAAwB,SAAS5nD,EAAQtpI,EAAMpG,EAAI48K,EAAap8E,GAEpE,IAAIzjC,EAAM2lE,cAAcoiB,oBAAsB,UAAYpV,EAAS,sBAOnE,OANA3yE,IACC32D,EAAO,SAAWA,EAAO,KACzBpG,EAAK,OAASA,EAAK,KACnB48K,EAAc,gBAAkBA,EAAc,KAC9Cp8E,EAAQ,UAAYA,EAAQ,IAEtBqoC,UAAUyD,WAAW,CAC3BvvE,IAAKA,KAWR,IAAIw6H,kBAAoB,IAAIpB,kBAE5B,SAASqB,kBACGxsI,KAENysI,qBAAuB,SAAS/nD,GACpC,OAAO7G,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAckhB,kBAAoB,UAAYlU,EAAS,aAJnD1kF,KAQN0sI,uBAAyB,SAASC,GACtC,OAAO9uD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAckhB,kBAAoB,UAAY+zC,EAAY,oBAKlE,IAAIC,gBAAkB,IAAIJ,gBAE1B,SAASK,uBACG7sI,KAENowH,wBAA0B,WAC9B,OAAOvyC,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcsiB,uBAAyB,aAJnCh6F,KASNqwH,uBAAyB,SAAUngJ,GACvC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcsiB,uBAAyB,UAC5CjiB,QAAS7nG,EACT+nG,WAAW,KAbFj4E,KAkBNswH,uBAAyB,SAAUpgJ,EAAOu0G,GAC9C,OAAO5G,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcsiB,uBAAyB,WAAavV,EACzD1M,QAAS7nG,KArBA8vB,KA0BN8sI,sBAAwB,SAAUhS,GACtC,OAAOj9C,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcsiB,uBAAyB,WAAa8gC,KA5BhD96H,KAgCN+sI,yBAA2B,SAAUjS,GACzC,OAAOj9C,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcsiB,uBAAyB,WAAa8gC,KAlChD96H,KAsCNgtI,0BAA4B,SAAUzR,GAC1C,OAAO19C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcsiB,uBAAyB,uBAC5CjiB,QAASrkD,KAAKE,UAAU2nG,MAzCfv7H,KA6CNitI,4BAA8B,SAAU1R,GAC5C,OAAO19C,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcsiB,uBAAyB,yBAC5CjiB,QAASrkD,KAAKE,UAAU2nG,MAhDfv7H,KAoDNktI,6BAA+B,SAAUC,GAC7C,OAAOtvD,UAAUyD,WAAW,CAC3BvvE,IAAKo7H,EACLt1D,QAAQ,KAMX,IAAIu1D,qBAAuB,IAAIP,qBAC/B,SAASQ,kBACGrtI,KAGNstI,oBAAsB,SAASp9J,GACnC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuiB,yBACnBliB,QAASrkD,KAAKE,UAAU1jD,MANf8vB,KAWNutI,iBAAmB,SAASC,GAChC,OAAO3vD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcuiB,yBAA2B,IAAMuzC,KAb3CxtI,KAkBNytI,oBAAsB,SAASD,EAAiBt9J,GACpD,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcuiB,yBAA2B,IAAMuzC,EACpDz1D,QAAS3mB,GAAGuI,OAAOzpF,EAAO,SAASu0B,EAAKziE,GACvC,OAAOA,OAtBCg+D,KA4BN0tI,oBAAsB,SAASF,GACnC,OAAO3vD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcuiB,yBAA2B,IAAMuzC,KA9B3CxtI,KAoCN2tI,oBAAsB,SAAUz9J,GACpC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcuiB,yBAA2B,cAC9CliB,QAASrkD,KAAKE,UAAU1jD,MAM3B,IAAI09J,gBAAkB,IAAIP,gBAE1B,SAASQ,0BACG7tI,KAEN8tI,sBAAwB,SAAS59J,GACrC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcwiB,2BACnBniB,QAASrkD,KAAKE,UAAU1jD,MALf8vB,KASN+tI,sBAAwB,SAASC,EAAe99J,GACpD,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcwiB,2BAA6B,IAAM8zC,EACtDj2D,QAASrkD,KAAKE,UAAU1jD,MAZf8vB,KAgBNiuI,sBAAwB,SAASD,GACrC,OAAOnwD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcwiB,2BAA6B,IAAM8zC,KAlB7ChuI,KAuBNkuI,mBAAqB,SAASF,GAClC,OAAOnwD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcwiB,2BAA6B,IAAM8zC,KAMzD,IAAIG,wBAA0B,IAAIN,wBAElC,SAASO,kBACGpuI,KAGNquI,iBAAmB,SAASn+J,GAChC,OAAO2tG,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcyiB,uBACnBpiB,QAASrkD,KAAKE,UAAU1jD,MANf8vB,KAuBNsuI,cAAgB,SAASC,GAC7B,OAAO1wD,UAAUyD,WAAW,CAC3BvvE,IAAK2lE,cAAcyiB,uBAAyB,IAAMo0C,KAzBzCvuI,KA8BNwuI,iBAAmB,SAASD,EAAUr+J,GAC1C,OAAO2tG,UAAU0D,cAAc,CAC9BxvE,IAAK2lE,cAAcyiB,uBAAyB,IAAMo0C,EAClDx2D,QAASrkD,KAAKE,UAAU1jD,MAjCf8vB,KAsCNyuI,6BAA+B,SAASF,EAAUG,GACtD,OAAO7wD,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAcyiB,uBAAyB,IAAMo0C,EAAW,gBAC7Dx2D,QAASrkD,KAAKE,UAAU86G,MAzCf1uI,KA8CN2uI,iBAAmB,SAASJ,GAChC,OAAO1wD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAcyiB,uBAAyB,IAAMo0C,KAMrD,IAAIK,gBAAkB,IAAIR,gBAE1B,SAASS,oBACG7uI,KAEN8uI,YAAc,SAAUpqD,GAC5B,OAAO7G,UAAU4D,cAAc,CAC9B1vE,IAAK2lE,cAAc0iB,qBACnBriB,QAASrkD,KAAKE,UAAU,CACvB28D,OAAQ7L,OANA1kF,KAWN+uI,YAAc,SAAUC,GAC5B,OAAOnxD,UAAU2D,cAAc,CAC9BzvE,IAAK2lE,cAAc0iB,qBAAuB,IAAM40C,KAMnD,IAAIC,kBAAoB,IAAIJ,kBAC5B,SAAShzC,0BAA0BnV,GAClC1mF,KAAKkvI,oBAAsB,CAC1Bj5C,MAAO,CACNp4J,MAAO,CAAC8xJ,WAAWQ,QAEpBg/C,iBAAkB,CACjBtxM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCo/C,cAAe,CACdvxM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCq/C,aAAc,CACbxxM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCs/C,YAAa,CACZzxM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCu/C,YAAa,CACZ1xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCw/C,aAAc,CACb3xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCy/C,eAAgB,CACf5xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtC0/C,OAAQ,CACP7xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWG,UAEtC6/C,eAAgB,CACf9xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWG,UAEtC8/C,SAAU,CACT/xM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D+/C,YAAa,CACZhyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DggD,MAAO,CACNjyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DigD,SAAU,CACTlyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DkgD,UAAW,CACVnyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DmgD,SAAU,CACTpyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWG,UAEtCogD,SAAU,CACTryM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCmgD,gBAAiB,CAChBtyM,MAAO,CAAC8xJ,WAAWG,UAEpBsgD,SAAU,CACTvyM,MAAO,CAAC8xJ,WAAWG,UAEpBugD,iBAAkB,CACjBxyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DwgD,aAAc,CACbzyM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DygD,eAAgB,CACf1yM,MAAO,CAAC8xJ,WAAWG,UAEpB0gD,WAAY,CACX3yM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D2gD,mBAAoB,CACnB5yM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D4gD,cAAe,CACd7yM,MAAO,CAAC8xJ,WAAWG,UAEpB6gD,mBAAoB,CACnB9yM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D8gD,aAAc,CACb/yM,MAAO,CAAC8xJ,WAAWG,QAASH,WAAWK,UAExC6gD,YAAa,CACZhzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DghD,iBAAkB,CACjBjzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DihD,sBAAuB,CACtBlzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DkhD,8BAA+B,CAC9BnzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DmhD,UAAW,CACVpzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DohD,eAAgB,CACfrzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DqhD,wBAAyB,CACxBtzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCohD,UAAW,CACVvzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DixC,SAAU,CACTljM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DuhD,iBAAkB,CACjBxzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DwhD,cAAe,CACdzzM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1DyhD,UAAW,CACV1zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,UAEtCwhD,SAAU,CACT3zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D2hD,mBAAoB,CACnB5zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D4hD,mBAAoB,CACnB7zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,UAE1D6hD,YAAa,CACZ9zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWG,UAEtC8hD,cAAe,CACd/zM,MAAO,CAAC8xJ,WAAWQ,MAAOR,WAAWK,QAASL,WAAWG,WAI3D9vF,KAAK6xI,UAAY,SAAS7zM,GAMzB,IAAIupJ,EAAWb,EAAS3uE,MACxB,IAAKwvE,EAAU,OAAO,EAEtB,GAAY,QAARvpJ,EAAgB,OAAO,EAE3B,IAAIH,EAAQguH,EAAE9zC,IAAI/X,KAAKkvI,oBAAqBlxM,EAAO,SAAU,CAAC2xJ,WAAWW,MAGrEwhD,EAAqB,iBAAR9zM,GAAmC,cAARA,GAAgC,sBAARA,EAChE+zM,EAAwB,gBAAR/zM,GAAkC,eAARA,GAAiC,yBAARA,GAA2C,aAARA,EAE1G,IAJcupJ,EAASqJ,eAAe/yJ,GAKrC,OAAO,EAGR,IAAKi0M,IAAeC,EACnB,OAAO,EAGR,GAAID,EAAY,CACf,IAAIE,EAAenmF,EAAEsxB,KAAKoK,EAASuJ,eAAgB,CAAEmhD,qBAAqB,IACtEC,EAAermF,EAAEsxB,KAAKoK,EAASsJ,eAAgB,CAAEohD,qBAAqB,IAE1E,OAAOD,GAAgBE,EAGxB,GAAIH,EAAe,CAClB,IAAII,EAAkBtmF,EAAEsxB,KAAKoK,EAASuJ,eAAgB,CAAEshD,kBAAkB,IACtEC,EAAkBxmF,EAAEsxB,KAAKoK,EAASsJ,eAAgB,CAAEuhD,kBAAkB,IAE1E,OAAOD,GAAmBE,EAG3B,OAAO,GAGT,SAASz2C,kBAAkB/d,EAAWl5E,EAAO+hF,GAC5C,IAAI5L,EAAO96E,KAsDX,SAAS+wF,IACR,IAAItuJ,EAAOikJ,EAAS3uE,MACpB,OAAKt1E,EAGEA,EAAKsuJ,WAFJ,GAvDT/wF,KAAKsyI,WAAalhF,GAAG2F,aACrB/2D,KAAKuyI,eAAiBnhF,GAAG2F,aAEzB/2D,KAAKwyI,kBAAoB,WAIxB,OAHK13D,EAAKy3D,kBACTz3D,EAAK23D,oBAEC33D,EAAKy3D,kBAGbvyI,KAAK0yI,gBAAkB,WACtB,OAAO7mF,EAAEziD,KAAK2nF,KAAc,GAAI,CAAER,OAAQzV,EAAKy3D,oBAIhDvyI,KAAKyyI,kBAAoB,WACxB,IAAIE,EAAU9mF,EAAEvnD,IAAIysF,IAAY,UAC5B6hD,EAAcjuI,EAAMoT,IAAI,oBACxB2sE,EAAS74B,EAAE6B,SAASilF,EAASC,GAAeA,EAAc/mF,EAAE6yB,MAAMi0D,GAEtE73D,EAAKy3D,eAAe7tD,IAGrB1kF,KAAK6yI,WAAa,SAASnuD,GAE1B,GADW74B,EAAEziD,KAAK2nF,KAAc,GAAI,CAAER,OAAQ7L,IAK7C,OAFA//E,EAAMz8C,IAAI,mBAAoBw8H,GAC9B5J,EAAKy3D,eAAe7tD,GACbA,GAKT1kF,KAAK8yI,sBAAwB,WAC5B,QAAKpsD,EAAS3uE,UAGV+iE,EAAK03D,sBAGTliG,OAAOnoG,MAAM,oDAAqD,uBAC3D,KAGR63D,KAAKuyI,eAAeQ,iBAAiB,SAAU/9G,EAAGymC,GAC5CzmC,GAAKA,IAAMymC,GAGhB92D,EAAMz8C,IAAI,mBAAoB8sE,KAmB/Bu5D,SAASp9C,UAAU,kBAPnB,WACM2pC,EAAKy3D,kBACTz3D,EAAK23D,oBACNtvD,QAAQ6vD,iBAMV,SAASC,eACGjzI,KAEN0Q,KAAO,WACXyyE,QAAQzyE,KAAK,CACZwiI,gBAAiB,WAChB,IAAIzwM,EAAOopH,EAAEsnF,OAAOzsD,SAAU,OAC9B,OAAIjkJ,EACCA,EAAKotJ,iBAAyB,kBAE9BptJ,EAAKstJ,iBAAyB,cAE9BttJ,EAAKwtJ,eAAuB,QAEzB,UAGD,QAERmjD,SAAU,GACVC,OAAQ,CACP,CACC/xF,WAAY,sBACZtjH,KAAM,YAEP,CACCsjH,WAAY,6BACZtjH,KAAM,gBAEP,CACCsjH,WAAY,kBACZtjH,KAAM,WAEP,CACCsjH,WAAY,mBACZtjH,KAAM,YAEP,CACCsjH,WAAY,2BACZtjH,KAAM,iBAEP,CACCsjH,WAAY,yBACZtjH,KAAM,cACNs1M,WAAY,YAEb,CACChyF,WAAY,iCACZtjH,KAAM,cACNs1M,WAAY,YAEb,CACChyF,WAAY,sCACZtjH,KAAM,yBAEP,CACCsjH,WAAY,0BACZtjH,KAAM,gBAEP,CACCsjH,WAAY,wCACZtjH,KAAM,kBAEP,CACCsjH,WAAY,6BACZtjH,KAAM,mBAEP,CACCsjH,WAAY,gCACZtjH,KAAM,sBAEP,CACCsjH,WAAY,6BACZtjH,KAAM,mBAEP,CACCsjH,WAAY,8BACZtjH,KAAM,oBAEP,CACCsjH,WAAY,4BACZtjH,KAAM,kBAEP,CACCsjH,WAAY,gCACZtjH,KAAM,sBAEP,CACCsjH,WAAY,uBACZtjH,KAAM,aAEP,CACCsjH,WAAY,sCACZtjH,KAAM,yBAEP,CACCsjH,WAAY,0BACZtjH,KAAM,gBAEP,CACCsjH,WAAY,2BACZtjH,KAAM,iBAEP,CACCsjH,WAAY,qCACZtjH,KAAM,wBAEP,CACCsjH,WAAY,2BACZtjH,KAAM,iBAEP,CACCsjH,WAAY,0BACZtjH,KAAM,gBAEP,CACCsjH,WAAY,mCACZtjH,KAAM,sBAEP,CACCsjH,WAAY,kBACZtjH,KAAM,eAMX,SAASu1M,mBACRvzI,KAAK0Q,KAAO,WACX0gD,GAAGoiF,WAAWzkF,SAAS,QAAS,CAC/BpkD,SAAU,CAAE8oI,QAAS,wBACrB7+E,UAAW,CAAE6+E,QAAS,6BAGvBriF,GAAGoiF,WAAWzkF,SAAS,OAAQ,CAC9BpkD,SAAU,CAAE8oI,QAAS,sBACrB7+E,UAAW,CAAE6+E,QAAS,2BAGvBriF,GAAGoiF,WAAWzkF,SAAS,kBAAmB,CACzCpkD,SAAU,CAAE8oI,QAAS,4CACrB7+E,UAAW,CAAE6+E,QAAS,iDAGvBriF,GAAGoiF,WAAWzkF,SAAS,wBAAyB,CAC/CpkD,SAAU,CAAE8oI,QAAS,wDACrB7+E,UAAW,CAAE6+E,QAAS,6DAGvBriF,GAAGoiF,WAAWzkF,SAAS,gBAAiB,CACvCpkD,SAAU,CAAE8oI,QAAS,wCACrB7+E,UAAW,CAAE6+E,QAAS,6CAGvBriF,GAAGoiF,WAAWzkF,SAAS,wBAAyB,CAC/CpkD,SAAU,CAAE8oI,QAAS,wDACrB7+E,UAAW,CAAE6+E,QAAS,6DAGvBriF,GAAGoiF,WAAWzkF,SAAS,qBAAsB,CAC5CpkD,SAAU,CAAE8oI,QAAS,kDACrB7+E,UAAW,CAAE6+E,QAAS,uDAGvBriF,GAAGoiF,WAAWzkF,SAAS,WAAY,CAClCpkD,SAAU,CAAE8oI,QAAS,8BACrB7+E,UAAW,CAAE6+E,QAAS,mCAGvBriF,GAAGoiF,WAAWzkF,SAAS,SAAU,CAChCpkD,SAAU,CAAE8oI,QAAS,0BACrB7+E,UAAW,CAAE6+E,QAAS,+BAGvBriF,GAAGoiF,WAAWzkF,SAAS,WAAY,CAClCpkD,SAAU,CAAE8oI,QAAS,8BACrB7+E,UAAW,CAAE6+E,QAAS,mCAGvBriF,GAAGoiF,WAAWzkF,SAAS,sBAAuB,CAC7CpkD,SAAU,CAAE8oI,QAAS,oDACrB7+E,UAAW,CAAE6+E,QAAS,yDAGvBriF,GAAGoiF,WAAWzkF,SAAS,aAAc,CACpCpkD,SAAU,CAAE8oI,QAAS,kCACrB7+E,UAAW,CAAE6+E,QAAS,uCAGvBriF,GAAGoiF,WAAWzkF,SAAS,WAAY,CAClCpkD,SAAU,CAAE8oI,QAAS,IACrB7+E,UAAW,CAAE6+E,QAAS,mCAGvBriF,GAAGoiF,WAAWzkF,SAAS,mBAAoB,CAC1CpkD,SAAU,CAAE8oI,QAAS,IACrB7+E,UAAW,CAAE6+E,QAAS,oDAKzB,IAAIC,iBAAmB,IAAIH,iBAC3B,SAASI,WACL,IA+EIC,EA/EA94D,EAAO96E,KAgCX,SAAS6zI,IACA/4D,EAAKg5D,WACNh5D,EAAKg5D,UAAW,EAChBh5D,EAAKxlI,QAAQ,gBAIrB,SAASy+L,IACDj5D,EAAKg5D,WACLh5D,EAAKxlI,QAAQ,cACbwlI,EAAKg5D,UAAW,GAIxB,SAASE,EAAaC,GACdA,EAAIjgH,QACJ6/G,IAEAE,IA8BR,SAASG,IACLltG,aAAa4sG,GACbA,EAAc7zH,WAAW,WACrB+6D,EAAKxlI,QAAQ,iBACd,IAlFPwlI,EAAKq5D,OAAS,GAEdr5D,EAAK3pC,UAAY,SAAUijG,EAAOlkG,GAEzB4qC,EAAKq5D,OAAOC,KAAQt5D,EAAKq5D,OAAOC,GAAS,IAG9Ct5D,EAAKq5D,OAAOC,GAAOptI,KAAKkpC,IAG5B4qC,EAAKnhF,YAAc,SAAUy6I,EAAOlkG,GAChC,IAAKtpC,EAAI,EAAGA,EAAIk0E,EAAKq5D,OAAOC,GAAOtwI,SAAU8C,EACrCk0E,EAAKq5D,OAAOC,GAAOxtI,KAAOspC,GAC1B4qC,EAAKq5D,OAAOC,GAAO71H,OAAO3X,IAAK,IAK3Ck0E,EAAKxlI,QAAU,SAAU8+L,EAAOv9H,IAEvBikE,EAAKq5D,OAAOC,IAAUt5D,EAAKq5D,OAAOC,GAAOtwI,OAAS,GAGvDg3E,EAAKq5D,OAAOC,GAAO34H,QAAQ,SAAUy0B,GACjCA,EAASr5B,MAIjBikE,EAAKg5D,UAAW,EAwBR7iI,OAAOojI,YACcpjI,OAAOojI,WAAW,SACxBjgC,YAAY4/B,GAE/B/iI,OAAOqjI,cAAgBT,EACvB5iI,OAAOsjI,aAAeR,EAatB/jG,EAAE/+B,QAAQ83D,GAAG,SAAUmrE,GAmB/B,IAAI3lD,SAAW,IAAIolD,SA4FnB,SAASa,aAAaC,GACrB,IACCC,EAAUzjI,OAAOwjI,GADPz0I,KAGN+X,IAAM,SAAStT,GACnB,IAAIkwI,EAAWD,EAAQ/rD,QAAQlkF,GAC/B,IAAIonD,EAAEisB,YAAY68D,GAGlB,IACC,OAAOjhH,KAAKC,MAAMghH,GACjB,MAAOvxI,MAVCpD,KAeN93C,IAAM,SAASu8C,EAAK0E,GACxB,IACCurI,EAAQ9uC,QAAQnhG,EAAKivB,KAAKE,UAAUzqB,IACnC,MAAO/F,MAlBCpD,KAuBNkkB,MAAQ,SAASzf,GACrBiwI,EAAQE,WAAWnwI,IAxBTzE,KA2BN60I,SAAW,SAASpwI,GACxBiwI,EAAQxwH,SA5BElkB,KA+BN80I,OAAS,SAASrwI,GACtB,QAASiwI,EAAQ/rD,QAAQlkF,IA3H3BwM,OAAO8jI,cAAgB,WAQtB,SAASC,EAAavwI,EAAKziE,EAAOizM,GACjC,IAAIliM,EAAO,IAAIy8E,KACfz8E,EAAKmiM,QAAQniM,EAAKmgG,UAAkB,GAAN+hG,EAAW,GAAK,GAAK,KACnD,IAAIE,EAAU,aAAepiM,EAAKqiM,cAClC3jI,SAAS4jI,OAAS5wI,EAAM,IAAMziE,EAAQmzM,EAAU,WA2CjD,MAAO,CACNxsD,QAxBD,SAAiBlkF,GAChB,OAbD,SAAoBA,GAGnB,IAFA,IAAI6wI,EAAS7wI,EAAM,IACf8wI,EAAK9jI,SAAS4jI,OAAOl1I,MAAM,KACtByG,EAAI,EAAG3nE,EAAMs2M,EAAGzxI,OAAQ8C,EAAI3nE,EAAK2nE,IAAK,CAE9C,IADA,IAAI2S,EAAIg8H,EAAG3uI,GACY,MAAhB2S,EAAEoS,OAAO,IAAYpS,EAAIA,EAAE0a,UAAU,EAAG1a,EAAEzV,QACjD,GAA0B,IAAtByV,EAAExV,QAAQuxI,GACb,OAAO/7H,EAAE0a,UAAUqhH,EAAOxxI,OAAQyV,EAAEzV,QAEtC,OAAO,KAIA0xI,CAAW/wI,IAwBlBmhG,QArBD,SAAiBnhG,EAAKziE,GACrB,OAAOgzM,EAAavwI,EAAKziE,EAAO,KAqBhCkiF,MAdD,WAGC,IAFA,IAAIuxH,EAAUhkI,SAAS4jI,OAAOl1I,MAAM,KAE3ByG,EAAI,EAAGA,EAAI6uI,EAAQ3xI,OAAQ8C,IAAK,CACxC,IAAIyuI,EAASI,EAAQ7uI,GACjB8uI,EAAQL,EAAOtxI,QAAQ,KACvBt3D,GAAgB,EAATipM,EAAaL,EAAO3pH,OAAO,EAAGgqH,GAASL,EAClD5jI,SAAS4jI,OAAS5oM,EAAO,4CAQ1BmoM,WAnBD,SAAoBnwI,GACnB,OAAOuwI,EAAavwI,EAAK,IAAK,KAzCT,GA+DvBwM,OAAO0kI,cAAgB,WACtB,IAAIjB,EAAU,GAkBd,MAAO,CACN/rD,QAjBD,SAAiBlkF,GAChB,OAAOiwI,EAAQjwI,IAiBfmhG,QAdD,SAAiBnhG,EAAKziE,GACrB,OAAQ0yM,EAAQjwI,GAAOziE,GAcvBkiF,MAPD,WACCwwH,EAAU,IAOVE,WAZD,SAAoBnwI,GACnB,OAAQiwI,EAAQjwI,QAAO8M,IAZF,GAgEvB,IAAI5M,MAAQ,IAAI6vI,aACfhsD,UAAUC,aAAe,eAAiB,iBAEvCmtD,aAAe,IAAIpB,aACtBhsD,UAAUC,aAAe,iBAAmB,iBAG7C,SAASotD,kBACR,IAAIC,EAAc,WACjBC,EAAY,IAAIplN,UAoCjB,SAASqlN,EAAazuE,GAQrB,MAPe,CACdx2I,GAAI,QACJD,GAAI,QACJE,GAAI,QACJC,GAAI,SAGWs2I,IAAS,QAO1B,SAASs4B,IACR,IAAIt4B,EACA0uE,EAAYtxI,MAAMoT,IAAI+9H,GAY1B,OAPCvuE,EAHI0uE,GAAcA,EAAU1uE,KAGrB0uE,EAAU1uE,MAFTnoE,UAAUz6D,UAAW,SAASw7D,MAAM,KAAK,GAK7C0rD,EAAEziD,KAAKsuE,cAAc6L,UAAW,CAAEC,UAAUjc,MAChDA,EAAOmQ,cAAc6L,UAAU,GAAGC,WAG5Bjc,EAwER,OAvIAt2D,OAAOgW,EAAI,SAAUr8E,GACpB,GAAKA,EAAL,CAEA,IAAIs5D,EAASt5D,EAGb,IAAK,IAAI20D,KAAUw2I,EAClB,IAAK,IAAItxI,KAAOsxI,EAAUx2I,GAAS,CAClC,GAAIw2I,EAAUx2I,GAAQ30D,IAASmrM,EAAUx2I,GAAQ30D,GAAMi1J,KACtD,OAAOk2C,EAAUx2I,GAAQ30D,GAAMi1J,KAGhC,IAAIq2C,EAAQtrM,EAAKmlE,cAEjB,IAAK,IAAIprE,KAAYoxM,EAAUx2I,GAAQkF,GACtC,GAAIsxI,EAAUx2I,GAAQkF,GAAK9/D,GAAUorE,eAAiBmmI,EACrD,OAAOH,EAAUx2I,GAAQkF,GAAKo7F,KAIhC,GAAIj1J,GAAQsrM,GACPH,EAAUx2I,GAAQ22I,IAAUH,EAAUx2I,GAAQ22I,GAAOr2C,KACxD,OAAOk2C,EAAUx2I,GAAQ22I,GAAOr2C,KASpC,OAHChsD,QAAQ2b,KAAK,gCAAkC5kH,GAGzCs5D,IAwGD,CACN6T,IAAK,SAAUtT,GACd,IAAIlF,EAASkF,EAAItE,MAAM,KAAK,GAC3B2mC,EAAWriC,EAAItE,MAAM,KAAK,GAC3B,OAAO41I,EAAUx2I,GAAQunC,GAAU+4D,MAAyBp7F,GAE7DuqF,mBA3ED,SAA4BrqJ,EAAUilD,GAChCiiE,EAAEziD,KAAKsuE,cAAc6L,UAAW,CAAEC,UAAU7+I,MAChD4iI,KAAOmQ,cAAc6L,UAAU,GAAGC,WAGnC7+E,MAAMz8C,IAAI4tL,EAAa,CAAEvuE,KAAM5iI,IAC3BilD,GAAQlyC,SAASkyC,SAEjBiiE,EAAE47B,IAAIx2E,OAAQ,kBACjBlR,OAAOqE,OAAOz/D,GAGXknH,EAAE47B,IAAIx2E,OAAQ,mBACjB26C,QAAQxnD,OAAOz/D,GAGZknH,EAAE47B,IAAIx2E,OAAQ,yBACjBmgD,GAAG4I,WAAW51D,OAAO4xI,EAAarxM,IAGhCknH,EAAE47B,IAAIx2E,OAAQ,wBAEfusE,UAAU74I,SADM,OAAbA,EACkB,CACpBwxM,aAAc,MAAQlvH,EAAE,mBAAqB,QAGzB,CACpB6kC,QAAS7kC,EAAE,cACXmvH,WAAYnvH,EAAE,iBACd3uC,KAAM2uC,EAAE,WACRovH,UAAWpvH,EAAE,gBACbkvH,aAAc,MAAQlvH,EAAE,mBAAqB,OAC7ComC,UAAWpmC,EAAE,gBACbqvH,WAAYrvH,EAAE,iBACdsvH,eAAgBtvH,EAAE,qBAClBswF,WAAYtwF,EAAE,iBACd91E,OAAQ81E,EAAE,aACVuvH,YAAavvH,EAAE,kBACfgxF,QAAS,CACR51K,MAAO4kF,EAAE,WAKZu2D,UAAU74I,SAAS1C,OAAS,CAC3Bo5K,KAAM,CACLxvD,EAAG,MAAQ5kC,EAAE,kBAAoB,OACjC5O,EAAG,MAAQ4O,EAAE,eAAiB,OAC9Bg+B,EAAG,KAILu4B,UAAU74I,SAAS8xM,SAAW,CAC7B/3D,MAAO,UACPxqG,KAAM,UACNuuE,SAAU,SACVppF,KAAM,WAIRwyF,EAAEriD,KAAKyyF,eAAgB,SAASkI,GAC/BA,EAAG/pB,KAAOnzD,EAAEk9E,EAAGhX,KAAO,UAGvBthC,EAAEriD,KAAK0yF,cAAe,SAASw6C,GAC9BA,EAAGt8D,KAAOnzD,EAAEyvH,EAAGvpD,KAAO,WAWvB0S,mBAAoBA,EACpBrlB,iBAlGD,WACC,OAAOw7D,EAAan2C,OA0GtB,IAAItlB,gBAAkB,IAAIs7D,gBAE1B,SAAS/5C,cACR,IAKI66C,EAAcC,EACdC,EAJAhoD,GAAgB,EAChBE,GAAiB,EACjB+nD,GAAoB,EAKpBC,EAAe/mG,EAAE09C,WATV1tF,KAYNq+F,WAAa,WAKjB,OA2MAw4C,EAAe,IAAIG,MAAMC,QAAQ,CAChCC,OAAQx/D,cAAcmjB,aACtBs8C,SAAUz/D,cAAckjB,gBACxBw8C,OAAQ,GACRpnH,aAAc,QACdqnH,SAAU3/D,cAAcojB,qBAzD1B,WACC,IAAIvzB,GAAQnoE,UAAUz6D,UAAY,SAASw7D,MAAM,KAAK,GAClDm3I,EAAqB,CAAC,KAAM,KAAM,KAAM,MACvCzrF,EAAE6B,SAAS4pF,EAAoB/vE,KACnCA,EAAO+vE,EAAmB,IAG3B,IAAIC,EAAcC,SAASC,cAAc,CACxCC,OAAQ,0CACRC,WAAY,6BACZC,UAAW,aACXC,cAAe,yBACfC,kBAAmB,eACnBC,MAAO,8CAGRpB,EAAeY,EAAYS,OAE3BhoG,EAAE8oC,KAAK,CACN/mE,IAAK,iEAAmEw1D,EAAO,MAC/E05C,SAAU,SACVt8G,OAAO,EACPgnC,QAAS,WACRirG,EAAa,IAAIqB,WAAWD,KAAKE,OAAOvB,GAGxCA,EAAawB,mBAAmB,SAAU11M,GACzCoxG,QAAQC,IAAI,4BAA6BrxG,GACrCA,EACHA,EAAK21M,aACH78H,KAAK,SAAU7S,GACf,OAgCP,SAAkBA,GACjB,IAAKA,EAAO,OAAO,KAEnB,IACC,IAAI2vI,EAAY3vI,EAAMvI,MAAM,KAAK,GAC7Bm4I,EAASD,EAAUnxI,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KACpDqxI,EAAcC,mBAAmBvnI,OAAOoZ,KAAKiuH,GAAQn4I,MAAM,IAAImE,IAAI,SAAUiV,GAChF,MAAO,KAAO,KAAOA,EAAEgR,WAAW,GAAGxjB,SAAS,KAAKzB,OAAO,KACxDZ,KAAK,KAER,OAAOgvB,KAAKC,MAAM4kH,GACjB,MAAO/1G,GAER,OADAqR,QAAQ1rG,MAAMq6F,GACP,MA7CKi2G,CAAS/vI,KAEhB6S,KAAK,SAAUm9H,GACf7pD,IAAkBhjC,EAAEziD,KAAKsvI,EAAa,SAAU/0H,EAAG4+B,GAAK,OAAOA,EAAEo2F,SAAS,kBAC1E5pD,IAAmBljC,EAAEziD,KAAKsvI,EAAa,SAAU/0H,EAAG4+B,GAAK,OAAOA,EAAEo2F,SAAS,mBAC3E5B,EAAalpD,YAEb+qD,MAAM,WAEN7pD,EADAF,GAAgB,EAEhBkoD,EAAahpD,WAGfgpD,EAAahpD,cArMjB8qD,GAEO9B,GAjBG/2I,KAoBN84I,yBAA2B,WAC/B,IAAIC,EAAgB/oG,EAAE09C,WAEtB,IACCmpD,EAAamC,aAAa,CACzBC,YAAahoI,OAAOv5D,SAASm2F,MAC3B,SAAUrL,EAAK02G,GACb12G,GACa,kBAAZA,EAAI5vD,MACPihE,QAAQ1rG,MAAMq6F,EAAI5vD,KAAM4vD,EAAI7uF,aAE7BmjM,GAAoB,EACpBiC,EAAchrD,OAAOvrD,KAErBs0G,GAAoB,EACpBiC,EAAclrD,QAAQqrD,EAAWC,gBAGlC,MAAO32G,GACRqR,QAAQ1rG,MAAMq6F,GACds0G,GAAoB,EACpBiC,EAAchrD,SAGf,OAAOgrD,GA5CG/4I,KA+CNo5I,gBAAkB,SAASC,GAC/B,IAAIxd,EAAM7rF,EAAE09C,WAEZ,IACC19C,EAAE8oC,KAAK,CACNmoC,SAAU,OACVlvG,IAAK2lE,cAAcC,aAAe,+BAClCC,QAAS,CACR0hE,cAAe,UAAYD,KAG5B99H,KAAK,SAAUg+H,GACf1lG,QAAQC,IAAI,+BAAgCylG,GAC5C5C,EAAa6C,sBAAsBD,GACjCh+H,KAAK,SAAU7S,GACfmzH,EAAIhuC,YAEJ+qD,MAAM,WACN/c,EAAI9tC,YAEJ,WACFl6C,QAAQC,IAAI,sBACZ+nF,EAAI9tC,WAEJ,MAAOvrD,GACRqR,QAAQ1rG,MAAMq6F,GACdq5F,EAAI9tC,SAGL,OAAO8tC,GA5EG77H,KAgFNu3E,iBAAmB,WACvB,IAAIwhE,EAAgB/oG,EAAE09C,WAEtB,IACMipD,EAAa8C,YAIjB9C,EAAa8C,YAAYrB,aACxB78H,KAAK,SAAU7S,GACfqwI,EAAclrD,QAAQnlF,KAEtBkwI,MAAM,SAAUp2G,GAChBqR,QAAQ1rG,MAAMq6F,GACdu2G,EAAchrD,YATfl6C,QAAQC,IAAI,mBACZilG,EAAchrD,UAWd,MAAOvrD,GACRqR,QAAQ1rG,MAAMq6F,GACdu2G,EAAchrD,SAGf,OAAOgrD,GAtGG/4I,KA0GN6uF,cAAgB,WACpB,OAAOA,GA3GG7uF,KA+GN+uF,eAAiB,WACrB,OAAOA,GAhHG/uF,KAqHN05I,OAAS,SAAU7uK,GACdgpE,QAAQC,IAAI,mBAErB8iG,EAAWj0G,QACXi0G,EAAWjqJ,MAAM9hB,EAAQ8uK,UAAW,CACnCC,cAAe,CACd,CACCC,SAAUrC,SAASQ,KAAK8B,kBAAkBC,YAC1CC,oBAAoB,EACpBC,YAAa,UACbC,cAAe,CACdlxM,OAAwB,UAAhB6hC,EAAQlwC,QAInBw/M,OAAwB,UAAhBtvK,EAAQlwC,MAAoB,6CACpCy/M,iBAAkC,UAAhBvvK,EAAQlwC,MAAoB,6CAC9C0/M,UAAW,CACVC,4BAA6B,SAAUpB,GAC7BrlG,QAAQC,IAAI,kBAAmBolG,EAAWqB,eAE/C1uF,EAAE9vC,WAAWlxC,EAAQ2vK,YACxB3vK,EAAQ2vK,iBA3IFx6I,KAmJNy6I,OAAS,WACJ5mG,QAAQC,IAAI,oBAErB7iC,OAAOy3E,aAAaxkE,QACpBjT,OAAOypI,eAAex2H,QACtBwiE,SAASxiE,QAEA2vB,QAAQC,IAAI,6BACrB6iG,EAAagE,UACXp/H,KAAK,WACIs4B,QAAQC,IAAI,4BACjBgjG,IACHA,GAAoB,EACXjjG,QAAQC,IAAI,0BACrB+iG,EAAa+D,OAAO,CACnB3B,YAAahoI,OAAOv5D,SAASm2F,WAianC,SAASgtG,aA2NR,MAAO,CACNC,aA3ND,WAYC,GAAI1pF,GAAG4I,WAAY,CAClB,IAAI8E,EAA0B1N,GAAG4I,WAAW8E,wBAC5C1N,GAAG4I,WAAW8E,wBAA0B,SAAS7lG,GAChD,OAAI+2E,EAAE/2E,EAAQ8hL,eAAex1E,SAAS,eAC9BzG,EAAwB7lG,EAAQ8hL,eAEjCj8E,EAAwB7lG,IAGhCm4F,GAAG4I,WAAWtpD,KApBkB,CAChCkqD,gBAAgB,EAChBogF,iBAAiB,EACjB9/E,kBAAmB,YACnBC,kBAAmB,YACnB91D,SAAU,CACTrrE,MAAM,EACN+8H,YAAY,UAebljB,QAAQC,IAAI,8CAqMbmnG,oBAjMD,WAmFC,SAASC,EAAwBl5M,EAAOovE,GACvC,IAAKw6C,QACJ,OAAOwF,GAAG4I,WAAW4B,MAAMznF,OAAO0sF,UAAU7+H,IAASovE,GAEtD,IAAI8qE,EAAOtwB,QAAQt/C,aAAa0hD,WAAWX,UACvC8uB,EAAOvwB,QAAQt/C,aAAa0hD,WAAWlC,QAK3C,OAFY,IAAI3/C,OADF,sCAAgD,KAAR+vE,EAAc,MAAQA,GAAQ,gBAA0B,KAARC,EAAc,MAAQA,GAAQ,WAGvHh9E,KAAKn9D,GA5FnBovH,GAAG4I,WAAW4B,MAAsB,eAAI,CACvCiF,UAAW,SAASv/C,EAAK5e,GACxB,OAAO3C,OAAOuhB,EAAK5e,GAAQ,GAAM4I,WAElCg8B,QAASrgB,EAAE,uBAGZmqC,GAAG4I,WAAW4B,MAAsB,eAAI,CACvCiF,UAAW,SAASv/C,EAAK5e,GACxB,OAAO3C,OAAOuhB,EAAK5e,GAAQ,GAAM4I,WAElCg8B,QAASrgB,EAAE,uBAGZmqC,GAAG4I,WAAW4B,MAAsB,eAAI,CACvCiF,UAAW,SAASv/C,EAAK5e,GACxB,OAAO3C,OAAOuhB,EAAK5e,GAAQ,GAAQ3C,UAEpCunC,QAASrgB,EAAE,6BAGZmqC,GAAG4I,WAAW4B,MAAkB,WAAI,CACnCiF,UAAW,SAASv/C,EAAKlQ,GACxB,IAAIr+D,EAAOgtD,OAAOuhB,EAAKlQ,EAAO1O,QAC1B72D,EAAMk0D,SAASilF,KAAKjyI,EAAM,SAAS,GACvC,QAAIu0E,MAAMz7E,IACHA,GAAOulE,EAAOryE,KAAO8M,GAAOulE,EAAOnyE,KAE3CqoG,QAAS,SAASl2B,GACjB,OAAO6V,EAAE,yBAAyBvkB,OAAO0O,EAAOryE,IAAKqyE,EAAOnyE,OAI9DmyH,GAAG4I,WAAW4B,MAAyB,kBAAI,CAC1CiF,UAAW,SAASv/C,EAAKlQ,GACxB,OAAOrR,OAAO5yD,SAASikE,EAAO2hE,OAASzxD,GAAKnT,GAAG,WAAaiD,EAAOvjE,SAAW,GAE/Ey5F,QAAS,SAASl2B,GACjB,OAAO6V,EAAE,qBAAqBvkB,OAAO0O,EAAOvjE,WAI9CujH,GAAG4I,WAAW4B,MAAoB,aAAI,CACrCiF,UAAW,SAASv/C,GACnB,OAAIA,GACIqsE,YAAY6vB,kBAAkBl8F,IAIvCgmB,QAASrgB,EAAE,+BAGZmqC,GAAG4I,WAAW4B,MAAgB,SAAI,CACjCiF,UAAW,SAASv/C,GACnB,OAAIA,GACIqsE,YAAYuwB,cAAc58F,IAInCgmB,QAASrgB,EAAE,2BAGZmqC,GAAG4I,WAAW4B,MAAoB,aAAI,CACrCiF,UAAW,SAASv/C,GACnB,OAAIA,GACIqsE,YAAY+wB,kBAAkBp9F,IAIvCgmB,QAASrgB,EAAE,+BAIZmqC,GAAG4I,WAAW4B,MAAmB,YAAI,CACpCiF,UAAW,SAASv/C,GACnB,MAAO,mKAAmKniB,KACzK,GAAKmiB,IAGPgmB,QAASrgB,EAAE,qBAiBZmqC,GAAG4I,WAAW4B,MAA0B,mBAAI,CAC3CiF,UAAW,SAAS7+H,EAAOovE,GAC1B,QAAIggD,GAAG4I,WAAW5G,MAAMkJ,WAAWt6H,MAI9Bk5M,EAAwBl5M,EAAOovE,IAI7BggD,GAAG4I,WAAW4B,MAAM78H,IAAI8hI,UAAUgd,UAAU5B,4BAA4Bj6I,GAAQovE,IAExFk2B,QAAS8pB,GAAG4I,WAAW4B,MAAM78H,IAAIuoG,SAGlC8pB,GAAG4I,WAAW4B,MAA0B,mBAAI,CAC3CiF,UAAW,SAAS7+H,EAAOovE,GAC1B,QAAIggD,GAAG4I,WAAW5G,MAAMkJ,WAAWt6H,MAI9Bk5M,EAAwBl5M,EAAOovE,IAI7BggD,GAAG4I,WAAW4B,MAAM38H,IAAI4hI,UAAUgd,UAAU5B,4BAA4Bj6I,GAAQovE,IAExFk2B,QAAS8pB,GAAG4I,WAAW4B,MAAM38H,IAAIqoG,SAGlC8pB,GAAG4I,WAAW4B,MAAuB,gBAAI,CACxCiF,UAAW,SAAS7+H,EAAOovE,GAC1B,QAAIggD,GAAG4I,WAAW5G,MAAMkJ,WAAWt6H,IAI5Bk5M,EAAwBl5M,EAAOovE,IAEvCk2B,QAAS,SAASl2B,GACjB,OAAO6V,EAAE,sBAAsBvkB,OAC9BkpD,QAAQt/C,aAAa0hD,WAAWX,UAChCzB,QAAQt/C,aAAa0hD,WAAWlC,WAKnCsF,GAAG4I,WAAW4B,MAAgB,SAAI,CACjCiF,UAAW,SAASma,EAAgB5pE,GAC/B4pE,MAAAA,GAA8E,KAAnBA,IAC9DA,EAAiB,KAElB,IAAI7tI,EAAW0wI,UAAU9C,cAAcC,GACvC,IAAK7tI,EAAU,OAAO,EAEtB,GAAIikE,EAAQ,CACX,GAAIA,EAAOryE,KAAOoO,EAASy3H,UAAY7kE,OAAO5yD,SAASikE,EAAOryE,KAAK6lI,UAAW,OAAO,EACrF,GAAIxzD,EAAOnyE,KAAOkO,EAASy3H,UAAY7kE,OAAO5yD,SAASikE,EAAOnyE,KAAK2lI,UAAW,OAAO,EAEtF,OAAO,GAERt9B,QAASrgB,EAAE,yBAGZmqC,GAAG4I,WAAW4B,MAAW,IAAI,CAC5BiF,UAAW,SAAS7+H,GACnB,OACCovH,GAAG4I,WAAW5G,MAAMkJ,WAAWt6H,IAC/B,iFAAiFm9D,KAAKn9D,IAGxFslG,QAASrgB,EAAE,oBAGZmqC,GAAG4I,WAAW4B,MAAqB,cAAI,CACtCiF,UAAW,SAASv/C,EAAKy/C,GACxB,OAAO3P,GAAG4I,WAAW4B,MAAiB,UAAEiF,UAAUhV,EAAE1+C,KAAKmU,GAAMy/C,IAEhEz5B,QAAS,SAASl2B,GACjB,OAAOggD,GAAG4I,WAAW4B,MAAiB,UAAEt0B,QAAQ5kC,OAAO0O,KAIzDggD,GAAG4I,WAAW4B,MAAqB,cAAI,CACtCiF,UAAW,SAASv/C,EAAKy/C,GACxB,OAAO3P,GAAG4I,WAAW4B,MAAiB,UAAEiF,UAAUhV,EAAE1+C,KAAKmU,GAAMy/C,IAEhEz5B,QAAS,SAASl2B,GACjB,OAAOggD,GAAG4I,WAAW4B,MAAiB,UAAEt0B,QAAQ5kC,OAAO0O,KAIzDggD,GAAG4I,WAAWO,uBAliBhB,SAAU8J,GACTA,EAAO82E,aAAe,SAASppI,EAAKlnC,GAUnC,OARAA,EAAUmlE,EAAEhqC,OAAOn7B,GAAW,GAAI,CACjCo2I,SAAU,SACVt8G,OAAO,EACPoN,IAAKA,IAKCsyD,EAAOyU,KAAKjuG,IAIpBw5F,EAAOs9B,QAAU,SAASy5C,GAGzB,IAFA,IAAIC,EAAmB,GAEdz0I,EAAI,EAAGA,EAAIw0I,EAAUt3I,OAAQ8C,IAAK,CAC1Cy0I,EAAiBr0I,KAAKq9D,EAAOqpB,YAE7B,IAAIn0E,EAAI,SAAS9O,GAChB4wI,EAAiB5wI,GAAKojF,QAAQrjF,YAC7BwrE,KAAK,KAAMpvE,GAEbw0I,EAAUx0I,GAAG68F,OAAOlqF,GAGrB,OAAO8qD,EAAOr1E,KAAKod,MAAMi4D,EAAQg3E,GAAkBtf,WA5BrD,CA8BG13D,QAGHjT,GAAGoiF,WAAW8H,QAAQj+H,QACrB,WACC,IAAIk+H,EAAmB7jE,cAAcqjB,mBAMrC,SAASygD,EAAsBC,GAG9B,IAAIC,EAAgBD,EAAcv0I,QAAQ,MAAO,IAGjD,OAFsBw0I,EAAc/vH,OAAO,GAAGC,cAAgB8vH,EAAcp2I,MAAM,GAWnF,SAASq2I,EAA6BF,GAErC,IAAIhvM,EAAO+uM,EAAsBC,GACjC,OAAOhvM,EAAO,IAAMA,EAAO,YAiB5B,SAASmvM,EAAqBvyI,GAC7BA,EAAS,MAGV,SAASwyI,IACRvrG,OAAOnoG,MAAM8+E,EAAE,wBAAyBA,EAAE,iBAuG3C,MAAO,CACN60H,UA7CD,SAAmBrvM,EAAM48D,GA9EzB,IAA2CoyI,EAEtChvM,GA8EyB,IAAzBA,EAAKs3D,QAAQ,OAMjBsF,EAAS,CACRsB,SAAU,CAAE8oI,QAASkI,EAA6BlvM,IAClDmoH,UAAW,CAAE6+E,SAxF4BgI,EAwFehvM,EAtFrDA,EAAO+uM,EAAsBC,GAC1BhvM,EAAO,IAAMA,EAAO,mBA8E1BmvM,EAAqBvyI,IA2CtB0yI,aAjBD,SAAsBtvM,EAAMuvM,EAAgB3yI,GAC3C,GAAsC2yI,EArGnB/iL,QAsGlB2iL,EAAqBvyI,OADtB,CAtGD,IAgByBx+B,EACpBoxK,EACAC,EACAC,EAEAC,EAsFArqI,EAAMiqI,EAAevI,SAAWkI,EAA6BlvM,GA3FzCo+B,EA4FR,CACfp+B,KAAMA,EACN0vM,YAAapqI,EACbsqI,YAAaL,EAAeK,YAC5BhzI,SAAUA,GA/FP4yI,EAA2C,GAAjCvkM,SAASm2F,KAAK9pC,QAAQ,QAChCm4I,EAAiBD,EAAU,GAAK1hE,gBAAgBslB,qBAAuB,IACvEs8C,EAAcF,EAAUpxK,EAAQsxK,YAActxK,EAAQsxK,YAAYj1I,QAAQ,QAAS,IAAMo1I,YAAc,SAEvGF,EACHb,EAAmBW,EAAiBC,EAErCnsG,EAAEj4B,IAAIqkI,EAAS,SAASG,GACvBnrF,GAAGoiF,WAAWgJ,cAAcT,aAAalxK,EAAQp+B,KAAM8vM,EAAc1xK,EAAQw+B,YAC3EykF,KAAK,WACP,IACC8tD,EAAqB/wK,EAAQw+B,UAC5B,MAAOozI,GACRrrF,GAAGoiF,WAAWgJ,cAAcT,aAAalxK,EAAQp+B,KAAM,GAAIo+B,EAAQw+B,UACnE+nD,GAAGoiF,WAAWkJ,sBAAsB7xK,EAAQp+B,MAC5CovM,SAuFFc,cAjCD,SAAuBlwM,EAAMmwM,EAAiBvzI,GAC7C,GAA2CuzI,EAlFpBnJ,QAkFvB,CAnFD,IAiC8B5oK,EAGzBsxK,EACAC,EAmDArqI,EAAM6qI,EAAgBnJ,SAAWkI,EAA6BlvM,GAvDrCo+B,EAwDR,CACpBp+B,KAAMA,EACN0vM,YAAapqI,EACbsqI,YAAaO,EAAgBP,YAC7BhzI,SAAUA,GAzDP8yI,EAD2C,GAAjCzkM,SAASm2F,KAAK9pC,QAAQ,QACRl5B,EAAQsxK,YAActxK,EAAQsxK,YAAYj1I,QAAQ,MAAO,IAAMo1I,YAAc,OACrGF,EAAUb,EAAmBY,EAGjCnsG,EAAEmrG,aAAaiB,GACbl4G,KAAK,WACL,IAhE8BnyB,EAE5B8qI,EA8DEC,EAAuB7rI,QAhEGc,EAgE4BlnC,EAAQsxK,YA9DhEU,EAAmB9qI,EAAIgrI,YAAY,KAAO,EACvChrI,EAAIkiB,UAAU4oH,GAAkB31I,QAAQ,MAAO,MAsEpDkqD,GAAGoiF,WAAWgJ,cAAcG,cAAc9xK,EAAQp+B,KARpB,SAASoqE,GACtC,IAAI+9C,EAAY,IAAIkoF,EAIpB,OAFIloF,EAAUlkD,MAAMkkD,EAAUlkD,KAAKmG,GAE5B+9C,GAGyE/pF,EAAQw+B,YAEzFykF,KAAK,WACL,IACC8tD,EAAqB/wK,EAAQw+B,UAC5B,MAAOozI,GACRrrF,GAAGoiF,WAAWgJ,cAAcG,cAAc9xK,EAAQp+B,KAAM,aAAeo+B,EAAQw+B,UAC/E+nD,GAAGoiF,WAAWkJ,sBAAsB7xK,EAAQp+B,MAC5CovM,YAyBFD,EAAqBvyI,KA1HxB,IA8JD+nD,GAAGu9B,IAAMv9B,GAAGu9B,KAAO,GAEnBv9B,GAAGu9B,IAAI35B,gBAAkB,SAASJ,EAAW1kF,EAAO81B,GACnD,IAAK,IAAI2D,KAAQz5B,EAChB,GAAKA,EAAMsvB,eAAemK,GAE1B,GAAIkiD,EAAE47B,IAAI7yB,EAAUjrD,GAAO,qBAAuBkiD,EAAE9vC,WAAW64C,EAAUjrD,IACxE,IACCirD,EAAUjrD,GAAMz5B,EAAMy5B,IACrB,MAAO64B,GACR,IAA+C,IAA3CA,EAAI8E,QAAQvjC,QAAQ,kBAA0B,MAAMy+B,OAE/Cx8B,IACV4uD,EAAUjrD,GAAQz5B,EAAMy5B,KAK3BynD,GAAGu9B,IAAIquD,WAAa,SAASC,EAAcC,EAAcC,EAAUC,GAClE,IAAIl5I,EAAS,CACZgyH,QAAS,GACT/oI,QAAS,GACT+tH,MAAO,IAiCR,OA9BAlrE,EAAExmC,KAAKyzI,EAAc,SAASr2I,EAAG2sB,GAChC,IAAIpmC,EAAU+vJ,EAAa9zI,KAAK,SAASy0H,GACxC,OAAOzsE,GAAGu9B,IAAI0uD,sBAAsBxf,EAAGtqG,EAAU4pH,KAGlD,GAAKhwJ,EAAL,CAKA,IAAImwJ,GAAa,EACjBttG,EAAExmC,KAAK4zI,EAAkB,SAASx2I,EAAG22I,GACpCD,GAAclsF,GAAGu9B,IAAI0uD,sBAAsB9pH,EAAUpmC,EAASowJ,KAG1DD,GACJp5I,EAAO/W,QAAQ6Z,KAAK7Z,QAVpB+W,EAAOgyH,QAAQlvH,KAAKusB,KActByc,EAAExmC,KAAK0zI,EAAc,SAASt2I,EAAGzZ,GACjB8vJ,EAAa7zI,KAAK,SAASy0H,GACzC,OAAOzsE,GAAGu9B,IAAI0uD,sBAAsBxf,EAAG1wI,EAASgwJ,MAIhDj5I,EAAOg3G,MAAMl0G,KAAK7Z,KAIb+W,GAGRktD,GAAGu9B,IAAI0uD,sBAAwB,SAAS1qF,EAAMC,EAAMjpD,GAInD,OAHWqmC,EAAEj0B,WAAW42C,EAAKhpD,IAASgpD,EAAKhpD,KAAUgpD,EAAKhpD,OAC/CqmC,EAAEj0B,WAAW62C,EAAKjpD,IAASipD,EAAKjpD,KAAUipD,EAAKjpD,KAK3DynD,GAAGu9B,IAAI6uD,eAAiB,SAASpuG,GAChC,IAAIquG,EAAY,GAEZruG,EAAI0nB,gBACP9mB,EAAExmC,KAAK4lC,EAAI6nB,QAAQ9pE,QAAS,SAASmc,EAAOo0I,GAC3CD,EAAUz2I,KAAKooC,EAAI0nB,eAAe1F,GAAGoI,KAAKkkF,OAGxCtuG,EAAIuuG,aACP3tG,EAAExmC,KAAK4lC,EAAI6nB,QAAQikD,MAAO,SAAS5xG,EAAOo0I,GACzCD,EAAUz2I,KAAKooC,EAAIuuG,YAAYvsF,GAAGoI,KAAKkkF,OAGrCtuG,EAAIwuG,gBACP5tG,EAAExmC,KAAK4lC,EAAI6nB,QAAQi/D,QAAS,SAAS5sH,EAAOo0I,GAC3CD,EAAUz2I,KAAKooC,EAAIwuG,eAAexsF,GAAGoI,KAAKkkF,OAI5C1tG,EAAE2xD,QAAQ87C,GAAWv5G,KAAK,WACrBkL,EAAIyuG,iBAAiBzuG,EAAIyuG,gBAAgBzxI,MAAM5B,cAIrD4mD,GAAG0sF,aAAaltI,GAAGmiI,iBAAmB,SAAS1pI,GAC9C,IAAI00I,EAAa/9I,KAAKo9D,OACtB,OAAOp9D,KAAKmxC,UAAU,SAAS6sG,GAC9B,IAAIC,EAAWF,EAEf10I,EADA00I,EAAaC,EACSC,MAIxB7sF,GAAGiG,gBAAgBzmD,GAAGstI,iBAAmB,SAASpiE,EAAUqiE,GAC3D,OAAO/sF,GAAGk8C,aAAa,WAGtB,IAFA,IAAI8wC,EAAWp+I,OACdq+I,EAAgB,GACRz3I,EAAI,EAAGA,EAAIw3I,EAASt6I,OAAQ8C,IAAK,CACzC,IAAI/qC,EAAUuiL,EAASx3I,GACnBwqD,GAAGkJ,OAAOz+F,EAAQigH,MAAeqiE,GAAYE,EAAcr3I,KAAKnrC,GAErE,OAAOwiL,GACLr+I,OAGJoxD,GAAGiG,gBAAgBzmD,GAAG0tI,gBAAkB,SAASxiE,EAAUqiE,GAC1D,OAAO/sF,GAAGk8C,aAAa,WAGtB,IAFA,IAAI8wC,EAAWp+I,OACdq+I,EAAgB,GACRz3I,EAAI,EAAGA,EAAIw3I,EAASt6I,OAAQ8C,IAAK,CACzC,IAAI/qC,EAAUuiL,EAASx3I,GACnBwqD,GAAGkJ,OAAOz+F,EAAQigH,KAAcqiE,GAAYE,EAAcr3I,KAAKnrC,GAEpE,OAAOwiL,EAAcv6I,OAASu6I,EAAc,QAAK9sI,GAC/CvR,OAGJoxD,GAAGiG,gBAAgBzmD,GAAG2tI,WAAa,WAClC,IAAI1nI,EAAO7W,OAKXA,KAAKue,OAAOnS,MAAMpM,KAAM6rD,EAAE5gD,OAAO,CAAC,EAAG4L,EAAK/S,QAAS+S,KAGpDu6C,GAAGiG,gBAAgBzmD,GAAG4tI,YAAc,SAASj1I,GAC5C,IAAID,EAAQtJ,KAAc,QAAEuJ,GACf,GAATD,GACHtJ,KAAKue,OAAOnS,MAAMpM,KAAM,CAACsJ,EAAO,EAAGC,KAqOrC,IAAIywD,WAAa,IAAI6gF,WAEjB13D,QAAUnzC,EAAEyuG,MAAM,WACrB,IAIIvL,EAJAp4D,EAAO96E,KAEPozI,EAAW,GAaf,SAASsL,IACR,OAAO7yF,EAAE9vC,WAAWm3H,GAAmBA,IAAoBA,EA8B5D,SAASyL,EAAwB3gN,EAAMozE,EAAQkiI,IAvB/C,SAAoBt1M,EAAMozE,EAAQylD,GAIjC,GAAc,aAFdA,EAASA,GAAU,aAEnB,CAGA,IAAI+nF,EAAU,IAAM5gN,EAEN,YAAV64H,IAECzlD,GAAUA,EAAO4G,KACpB4mI,GAAW,IAAMxtI,EAAO4G,IAErB5G,GAAUA,EAAO8wB,SACpB08G,GAAW,IAAMxtI,EAAO8wB,SAGtBjxB,OAAOv5D,SAAS0hI,MAAQwlE,IAC3B3tI,OAAOv5D,SAAS0hI,KAAOwlE,IAKxBC,CAAW7gN,EAAMozE,EAAQkiI,GAEzB,IAAIwL,EAAU1L,EAASz0H,OAAO,SAAUR,GAAM,OAAOA,EAAGngF,OAASA,IAC7Dy9M,EAAkBqD,GAA8B,IAAnBA,EAAQh7I,OAA+Bg7I,EAAQ,GAAGx5E,UAA1BtnI,EAAO,MAE5DktL,IAAI95G,UAAYA,GACnB85G,IAAI95G,OAAOA,GAGR85G,IAAIrvJ,WAAa4/K,GACpBvwB,IAAIrvJ,QAAQ4/K,GAGTvwB,IAAI6zB,gBAAkB/gN,GACzBktL,IAAI6zB,aAAa/gN,GArDnB88I,EAAKkkE,YAAc5tF,GAAG2F,aAyDtB,IAAIkoF,IAtDJj/I,KAAKk/I,qBAAuB,SAAUz8G,GACrC,OAAO,IAsDR,SAAS08G,EAAYnhN,EAAMozE,EAAQkiI,GAClC,IAAK2L,EAAY,CAChBA,GAAa,EAEb,IAAIG,EAAaphN,GAAQ0gN,IACzB5jE,EAAKkkE,YAAYI,GACjBT,EAAwBS,EAAYhuI,EAAQkiI,GAC5C/kD,SAASj5I,QAAQ,eAAgB8pM,GAEjCH,GAAa,GAwEf,SAASI,IACR,IAAIC,EAA4BruI,OAAOv5D,SAASm2F,KAJrC1tC,MAAM,KAAK,GAKlBi5E,EAAOnoE,OAAOv5D,SAAS0hI,KAC3B1hI,SAASm2F,KAAOyxG,EAAalmE,EAtE9Bp5E,KAAKu/I,aAAe,SAAU17C,EAAmB27C,GAChD,GAAI37C,EAAmB,CACtB,IAAI47C,EAAmB57C,EAAkBlmF,MAErC+hI,EAAeD,EAAiBzhN,KAChC2hN,EAAqBF,EAAiBz6H,OAEtC26H,IACCH,GAAgBA,EAAaE,IAChC7zF,EAAE5W,OAAO0qG,EAAoBH,EAAaE,IAGvC77C,EAAkB//F,SACrB67I,EAAmB97C,kBAAoBA,IAIzCs7C,EAAYM,EAAiBzhN,KAAMyhN,EAAiBz6H,UAItDhlB,KAAK2jG,WAAa,SAAUi8C,EAASC,EAAeC,EAAmBj8C,GAClE/oB,EAAKkkE,eAAiBa,IACzBA,EAAch8C,kBAAoBA,GAAqB,GACvDg8C,EAAch8C,kBAAkB78F,KAAK,CACpChpE,KAAM88I,EAAKkkE,cACXh6H,OAAQ86H,KAIVX,EAAYS,EAASC,IAGtB7/I,KAAKojF,gBAAkB,SAAUplJ,EAAMozE,GACjC6tI,IACJA,GAAa,EACbN,EAAwB3gN,EAAMozE,GAC9B6tI,GAAa,IAIfj/I,KAAK+/I,WAAa,WACjBZ,OAAY5tI,EAAW25G,IAAI95G,UACvBK,SAAS/5D,SAASvG,OAAO2yD,QAC5Bu7I,KAIFr/I,KAAKgzI,aAAe,WACnB,IAAIh1M,EAAO88I,EAAKkkE,cACZ5tI,EAAS85G,IAAI95G,SAEZpzE,GAASgiN,0BAA0BnO,UAAU7zM,KACjDA,EAAO0gN,IACPttI,OAASG,GAGV4tI,EAAYnhN,EAAMozE,GACdK,SAAS/5D,SAASvG,OAAO2yD,QAC5Bu7I,KAsCFr/I,KAAK0Q,KAAO,SAAU7lC,GAvBtB,IAAoBwoK,EAwBnBH,EAAkBroK,EAAQqoK,gBACProK,EAAQo1K,kBAAoB,WAE/C7M,EAAWvoK,EAAQuoK,UA3BAC,EA6BRxoK,EAAQwoK,UAzBnBrjG,EAAExmC,KAAK6pI,EAAQ,SAAUzsI,EAAGqgB,GAC3B6zD,EAAK/iE,IAAIkP,EAAEq6B,WAAY,WACtB69F,EAAYl4H,EAAEjpF,MAAQgiE,KAAKoR,OAAOpzE,MAAQ0gN,IAAkB1+I,KAAKoR,OAAQ6V,EAAEqsH,gBAI7Ex4D,EAAK/iE,IAAI,aAAc,WACtBonI,EAAYn/I,KAAKoR,OAAOpzE,KAAMgiE,KAAKoR,OAAO4G,MAG3C8iE,EAAK/iE,IAAI,SAAU,WAClBonI,EAAYn/I,KAAKoR,OAAOpzE,QAGzB88I,EAAKolE,SAAW,SAAUtpL,EAAQg4D,SA8wBpC,SAAS6rD,YAAYhzE,EAAGC,EAAGskC,GAC1B,IAAIm0G,EAAK,gEACRC,EAAM,iBACNC,EACC,iHACDC,EAAM,iBACNC,EAAM,KACNC,EAAQ,gBAERr8H,EAAI1c,EAAEV,WAAWG,QAAQk5I,EAAK,KAAO,GACrCn+I,EAAIyF,EAAEX,WAAWG,QAAQk5I,EAAK,KAAO,GAEjCp0G,IACJ7nB,EAAIA,EAAEjd,QAAQs5I,EAAO,IACrBv+I,EAAIA,EAAEiF,QAAQs5I,EAAO,KAGtB,IAAIC,EAAKt8H,EAAEjd,QAAQi5I,EAAI,UAAUj5I,QAAQ,MAAO,IAAIA,QAAQ,MAAO,IAAI/G,MAAM,MAC5EugJ,EAAKz+I,EAAEiF,QAAQi5I,EAAI,UAAUj5I,QAAQ,MAAO,IAAIA,QAAQ,MAAO,IAAI/G,MAAM,MAEzEwgJ,EAAK75I,SAASqd,EAAE7kB,MAAMghJ,GAAM,KAAsB,IAAdG,EAAG38I,QAAgBqgB,EAAE7kB,MAAM+gJ,IAAQ7wH,KAAKmE,MAAMxP,GAClFy8H,EAAK95I,SAAS7E,EAAE3C,MAAMghJ,GAAM,KAAQK,GAAM1+I,EAAE3C,MAAM+gJ,IAAQ7wH,KAAKmE,MAAM1xB,IAAO,KAG7E,GAAI2+I,EAAI,CACP,GAAID,EAAKC,EACR,OAAQ,EACF,GAASA,EAALD,EACV,OAAO,EAKT,IAAK,IAAIE,EAAO,EAAGC,EAAO15I,KAAKnoE,IAAIwhN,EAAG38I,OAAQ48I,EAAG58I,QAAS+8I,EAAOC,EAAMD,IAAQ,CAE9E,IAAIE,IAAYN,EAAGI,IAAS,IAAIvhJ,MAAMihJ,IAAQt6I,WAAWw6I,EAAGI,GAAO,KAAQJ,EAAGI,IAAS,EACnFG,IAAYN,EAAGG,IAAS,IAAIvhJ,MAAMihJ,IAAQt6I,WAAWy6I,EAAGG,GAAO,KAAQH,EAAGG,IAAS,EAEvF,GAAIv5H,MAAMy5H,KAAYz5H,MAAM05H,GAC3B,OAAO15H,MAAMy5H,GAAU,GAAK,EAO7B,UAJgBA,UAAkBC,IACjCD,GAAU,GACVC,GAAU,IAEPD,EAASC,EACZ,OAAQ,EAET,GAAaA,EAATD,EACH,OAAO,EAGT,OAAO,EAGR,SAASE,uBAAuBC,GAC/B,IAAIpmE,EAAO96E,KAEX86E,EAAKp/I,cAAgB,GACrBo/I,EAAKlnC,QAAUstG,EACfpmE,EAAKtlC,MAAQ,EAEbslC,EAAKqmE,aAAe,SAAS10M,EAAMsqH,EAAY/2C,GAC9C,GAAI86D,EAAKp/I,cAAc+Q,GACtB,MAAM,IAAIk7E,MAAM,2BAA6Bl7E,GAE9CquI,EAAKsmE,oBAAoB30M,GAEzBquI,EAAKp/I,cAAc+Q,GAAQsqH,EAAW5lB,UAAUnxB,GAChD86D,EAAKlnC,OAASC,QAAQC,IAAI,yBAA0B,eAAgBrnG,IAAQquI,EAAKtlC,QAGlFslC,EAAKumE,oBAAsB,SAAS50M,EAAMsqH,EAAY/2C,GACrD,GAAI86D,EAAKp/I,cAAc+Q,GACtB,MAAM,IAAIk7E,MAAM,2BAA6Bl7E,GAE9CquI,EAAKsmE,oBAAoB30M,GAEzBquI,EAAKlnC,OAASC,QAAQC,IAAI,yBAA0B,sBAAuBrnG,IAAQquI,EAAKtlC,OACxFslC,EAAKp/I,cAAc+Q,GAAQsqH,EAAWg8E,iBAAiB/yH,IAGxD86D,EAAKsmE,oBAAsB,SAAS30M,GAC/BquI,EAAKp/I,cAAc+Q,KACtBquI,EAAKp/I,cAAc+Q,GAAMswH,iBAClB+d,EAAKp/I,cAAc+Q,GAE1BquI,EAAKlnC,OAASC,QAAQC,IAAI,yBAA0B,sBAAuBrnG,IAAQquI,EAAKtlC,SAI1Fx1C,KAAKshJ,qBAAuB,WAC3BtxG,EAAExmC,KAAKsxE,EAAKp/I,cAAe,SAAS+Q,EAAM+8G,GACzCA,EAAIuT,UACJ+d,EAAKlnC,OAASC,QAAQC,IAAI,yBAA0B,uBAAwBrnG,IAAQquI,EAAKtlC,SAE1FslC,EAAKp/I,cAAgB,IAIvB,SAAS+tD,oBACR,IAAI83J,EAMJ,SAASC,EAAeC,GACvB,IAAI3jN,EAA6B2jN,EAJZniJ,MAAM,uDAAuD,GAK9Eg9I,aAAex+M,EAElBu9I,KACC,CACC3uI,MAAOu6E,EAAE,qBACTr8E,KAAMq8E,EAAE,2BACR71E,KAAM,UACNkqI,kBAAkB,EAClBE,mBAAoB,UACpBN,kBAAmBj0D,EAAE,UACrBs0D,iBAAkBt0D,EAAE,UAErB,SAASy6H,GACJA,EACHzwI,OAAOv5D,SAASkyC,SAKjB+3J,EAAgB,SAGRJ,GAEVI,EAAgB,IAIlB,SAASA,EAAgBC,GACxBL,EAAkBxhI,WAAW,WAMtBiwB,EAAE8oC,KAAK,mBAAqBwc,YAAa,CAAE2rB,SAAU,SALtC/8E,KAAKs9G,IACV,IAAdI,GAOJ5hJ,KAAKrT,MAAQ,WACP40J,GACJI,EAAgB,IAIlB3hJ,KAAKge,KAAO,WACPujI,IACHv6G,aAAau6G,GACbA,EAAkB,OAsLrB,SAASM,iBACR,IAAI/mE,EAAO96E,KAEP8hJ,EAAa7wI,OAAO8wI,GACpBC,GAAcn2F,EAAEisB,YAAYgqE,GAE5BG,EAAahxI,OAAOixI,YACpBC,GAAct2F,EAAEisB,YAAYmqE,GAEhCpuG,QAAQC,IAAI,KAAMquG,EAAY,KAAMH,GAEpC,IAAII,OAAW7wI,EAmDfupE,EAAKunE,UAAY,SAASC,GACzB,GAAIA,GAAYA,IAAaF,IAC5BA,EAAWE,EAEPN,IACHF,EAAW,MAAO,OAAQpqM,SAASytK,SAAW,IAAMm9B,GACpDR,EAAW,OAAQ,aAGhBK,GACH,IACCF,EAAWtxI,QAAQ4xI,eAAeC,QA3CtC,WAMC,IALA,IAIC5tI,EAJG6tI,EAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGxFC,EAAM,GAEDj7I,EAAI,EAAGA,EAAI,EAAGA,IAEtBi7I,GACCD,EAAgB,IAFjB7tI,EATO,WAAcxN,KAAKguF,SAAY,IAYrCqtD,EAAW7tI,GAAO,EAAK,IACvB6tI,EAAW7tI,GAAO,EAAK,IACvB6tI,EAAW7tI,GAAO,GAAM,IACxB6tI,EAAW7tI,GAAO,GAAM,IACxB6tI,EAAW7tI,GAAO,GAAM,IACxB6tI,EAAW7tI,GAAO,GAAM,IACxB6tI,EAAW7tI,GAAO,GAAM,IAI1B,IAAI+tI,EAAkBF,EAAW,EAAoB,EAAhBr7I,KAAKguF,SAAgB,GAC1D,OACCstD,EAAIh3H,OAAO,EAAG,GACdg3H,EAAIh3H,OAAO,EAAG,GACd,IACAg3H,EAAIh3H,OAAO,GAAI,GACfi3H,EACAD,EAAIh3H,OAAO,GAAI,GACfg3H,EAAIh3H,OAAO,GAAI,IAe+Bk3H,GAC5CX,EAAWtxI,QAAQ4xI,eAAe91M,KAAO,OAAS61M,EAClDL,EAAWY,cAAc,CACxBp2M,KAAM21M,EACNU,IAAKprM,SAASxc,OAASwc,SAASytK,SAAW,IAAMm9B,EACjDS,OAAQ,OAER,MAAO3/I,GACRywC,QAAQ1rG,MAAMi7D,KAMlB03E,EAAK+R,eAAiB,SAASzqJ,GAC1B4/M,GAEHF,EAAW,MAAO,aAAc1/M,IAIlC04I,EAAK2R,UAAY,SAAS9H,GAKzB,GAJIq9D,GACHF,EAAW,MAAO,SAAUn9D,EAAS7J,EAAKkoE,WAAWr+D,QAAUpzE,GAG5D4wI,EACH,IACKx9D,EACHs9D,EAAWgB,4BAA4Bt+D,EAAO59E,YAE9Ck7I,EAAWiB,gCAEX,MAAO9/I,GACRywC,QAAQ1rG,MAAMi7D,KAKjB03E,EAAKkoE,WAAa,SAASr+D,GAC1B,OAAOw+D,IAAIx+D,EAAO59E,aAGnB+zE,EAAKhnC,IAAM,SAASxM,EAAS5lB,EAAY0hI,GACxC,GAAIjB,EACH,IACCF,EAAWoB,WAAW,CACrB/7G,QAASA,EACT5lB,WAAYA,EACZ4hI,cAAeF,IAEf,MAAOhgJ,GACRywC,QAAQ1rG,MAAMi7D,KAKjB03E,EAAKyoE,WAAa,SAASj8G,EAAS5lB,GACnCo5D,EAAKhnC,IAAIxM,EAAS5lB,EAAY,YAG/Bo5D,EAAK0oE,QAAU,SAASl8G,EAAS5lB,GAChCo5D,EAAKhnC,IAAIxM,EAAS5lB,EAAY,gBAG/Bo5D,EAAK2oE,WAAa,SAASn8G,EAAS5lB,GACnCo5D,EAAKhnC,IAAIxM,EAAS5lB,EAAY,YAG/Bo5D,EAAKvC,SAAW,SAASjxC,EAAS5lB,GACjCo5D,EAAKhnC,IAAIxM,EAAS5lB,EAAY,UAG/Bo5D,EAAK4oE,YAAc,SAASp8G,EAAS5lB,GACpCo5D,EAAKhnC,IAAIxM,EAAS5lB,EAAY,cAtuChC,WAmJC,SAASiiI,EAAe3+H,GACvB,IAAIwqF,EAAMx/D,EAAE,qCAAqCttC,OAAOsiB,EAAOgpD,WA0B/D,OAxBAhpD,EAAOztC,KAAKkkC,QAAQ,SAASlS,EAAM3C,GAClC,IAAI0oG,EAAY,gEAAgE5sG,OAC/EsiB,EAAOv4E,KACPm6D,EACA2C,EACAA,EAAKyO,IAAMo5C,GAAGgC,MAAMM,iBAAiB1uC,EAAO4+H,eAAiB,WAAa,IAEvEr0C,EAAY,mCAAmC7sG,OAAOsiB,EAAOv4E,KAAMm6D,EAAG2C,EAAK98D,MAC3Eo3M,EAAM7zG,EAAE,kBAAkBttC,OAAO4sG,EAAWC,IAEhDn+C,GAAGuQ,oBACFkiF,EAAInlE,QACJ,CACC34C,MAAO,SAAS6uB,EAAW1gI,GAC1B87G,EAAE97G,EAAM4vN,eACN16I,KAAK,SACLO,KAAK,WAAW,GAClBqb,EAAO4+H,cAAcr6I,EAAKyO,MAG5BgN,EAAO06C,gBAER8vC,EAAIn+E,OAAOwyH,KAELr0C,EA7KRp+C,GAAGoO,gBAAgBukF,OAAS,CAC3BrzI,KAAM,SAASz3C,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAC/B,YAA3B1vB,EAAE/2E,GAAS+0E,KAAK,QACnB/0E,EAAQm+I,QAAU,IAAIlK,UAAUl9D,EAAE/2E,GAAUgmG,EAAe4/B,GAEvD5lI,EAAQm+I,QAAU,IAAIzH,aAAa3/D,EAAE/2E,GAAUgmG,EAAe4/B,GACnE5lI,EAAQm+I,QAAQ/Y,aAChBruD,EAAE/2E,GAASo4E,SAAS,WAErBwlB,OAAQ,SAAS59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAChEzmG,EAAQm+I,QAAQvgD,WAIlBzF,GAAGoO,gBAAgBggC,eAAiB,CACnC9uF,KAAM,SAASz3C,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAC9D,IAAIl7B,EAASwL,EACZ,kUAaG21C,EAAW31C,EAAE/2E,GAEjB0sH,EAASt0D,OAAOmT,GAEgB,UAA5BmhD,EAAS1hE,IAAI,aAChB0hE,EAAS1hE,IAAI,WAAY,YAGQ,OAA9B0hE,EAAS1hE,IAAI,eAChB0hE,EAAS1hE,IAAI,aAAc,QAG5BmtC,GAAGuQ,oBAAoBgkB,EAASv8E,KAAK,WAAW,GAAI,CACnDuqG,QAAS9U,IAAcW,mBAK1BpuC,GAAGoO,gBAAgBpuH,KAAO,CACzBs/D,KAAM,SAASz3C,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAC9D,IACI03C,EADiB,IAAIH,eAAejnE,EAAE/2E,GAAU4lI,EAAajqC,GACpCuiD,cAAcl4C,KAc3C,OAZAhmG,EAAQm+I,QAAUA,GAEN/Y,YACX+Y,EAAQ/Y,aAGT+Y,EAAQ3H,OAAO76C,EAAWiqC,GAEtBuY,EAAQr6C,SACX3L,GAAGgC,MAAM4wF,gBAAgBC,mBAAmBhrL,EAASm+I,EAAQr6C,QAAQiZ,KAAKohC,IAGpE,CAAE8sC,4BAA4B,IAEtCrtF,OAAQ,SAAS59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAC5DzmG,EAAQm+I,SAAWn+I,EAAQm+I,QAAQvgD,QACtC59F,EAAQm+I,QAAQvgD,OAAO59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,KAK1EtO,GAAGoO,gBAAgB99H,MAAQ0vH,GAAGoO,gBAAgB3jG,QAAU,CACvDg7F,OAAQ,SAAS59F,EAASgmG,EAAeQ,GACxCxmG,EAAQm+I,QAAQvgD,WAIlBzF,GAAGoO,gBAAgB2kF,QAAU,CAC5BzzI,KAAM,SAASz3C,EAASgmG,EAAeQ,EAAqB7K,EAAW8K,KACvE7I,OAAQ,SAAS59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAChE,IAAIp+C,EAAM8vC,GAAGkJ,OAAO2E,KAEhBigC,EAAa9tC,GAAGkJ,OAAOh5C,EAAI49E,YAC3BziK,EAAU20H,GAAGkJ,OAAOh5C,EAAI7kF,SACxBozF,EAAKuhC,GAAGkJ,OAAOh5C,EAAIjY,UAEnB+6I,EAAMp0G,EAAE/2E,GAER+0G,EAAWo2E,EAAIp2G,KAAK,SACpBvxG,IACHuxI,GAAY,aAIb,IADA,IAAIwhC,EAAMx/D,EAAE,qCAAqCttC,OAAOsrE,IAC/C3gI,EAAMi0E,EAAI1hF,QAAQilJ,MAAMvvH,QAASjoB,EAAIyvI,SAASx7D,EAAI1hF,QAAQgtD,KAAMv/C,EAAIpE,IAAI,EAAG,OAAQ,CAC3F,IAAIo7M,EAASh3M,EAAIq1D,OAAO,YACpB4hJ,EAASF,EAAIp2G,KAAK,MAClBu2G,EAAS,UAAU7hJ,OAAO4hJ,EAAQD,GAElC50G,EAAQ,GACRpiG,EAAIm3M,OAAOtlD,EAAY,QAC1BzvD,EAAMzoC,KAAK,WAERvqE,GACHgzG,EAAMzoC,KAAK,YAIZ,IAAIsoG,EAAY,4DAA4D5sG,OAC3E6hJ,EACAD,EACAj3M,EAAIq1D,SACJ+sC,EAAM/qC,KAAK,MAGR6qG,EAAY,+BAA+B7sG,OAAO6hJ,EAAQl3M,EAAIq1D,OAAO,WAErEmhJ,EAAM7zG,EAAE,kBAAkBttC,OAAO4sG,EAAWC,IAEhDn+C,GAAGuQ,oBACFkiF,EAAInlE,QACJ,CACC34C,MAAO,SAAS6uB,EAAW1gI,GACtBuI,GACJozF,EACC9vB,OACCiwC,EAAE97G,EAAM4vN,eACN16I,KAAK,SACLO,KAAK,WAAW,GAChB2X,UAKNo+C,GAED8vC,EAAIn+E,OAAOwyH,GAGZO,EAAIx0E,QAAQv+C,OAAOm+E,KAkCrBp+C,GAAGoO,gBAAgBilF,WAAa,CAC/B/zI,KAAM,SAASz3C,EAASgmG,EAAeQ,EAAqB7K,EAAW8K,GACtE,IAAIp+C,EAAM8vC,GAAGgC,MAAMM,iBAAiBuL,EAA1B7N,GACNgzF,EAAMp0G,EAAE/2E,GASRyrL,EAAUf,EARD,CACZpsK,KAAM65E,GAAGgC,MAAMM,iBAAiBpyC,EAAIhtD,QACpCsvL,cAAetiI,EAAIsiI,cACnBlkF,eAAgBA,EAChBjzH,KAAM23M,EAAIp2G,KAAK,MACfggC,SAAUo2E,EAAIp2G,KAAK,WAIpBo2G,EAAI/yH,OAAOqzH,IAEZ7tF,OAAQ,SAAS59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAChE,IAAIp+C,EAAM8vC,GAAGkJ,OAAO2E,KAChBmlF,EAAMp0G,EAAE/2E,GACR+rD,EAAS,CACZztC,KAAM65E,GAAGkJ,OAAOh5C,EAAIhtD,QACpBsvL,cAAetiI,EAAIsiI,cACnBlkF,eAAgBA,EAChBjzH,KAAM23M,EAAIp2G,KAAK,MACfggC,SAAUo2E,EAAIp2G,KAAK,UAGpBo2G,EAAIx0E,QACJ,IAAI80E,EAAUf,EAAe3+H,GAC7Bo/H,EAAI/yH,OAAOqzH,KAIbtzF,GAAGoO,gBAAgBmlF,YAAc,CAChCj0I,KAAM,SAASz3C,EAASgmG,EAAeQ,GACtC,IAAIn+C,EAAM8vC,GAAGgC,MAAMM,iBAAiBuL,EAA1B7N,GAENryH,EAAMqyH,GAAGgC,MAAMM,iBAAiBpyC,EAAIviF,KACpCE,EAAMmyH,GAAGgC,MAAMM,iBAAiBpyC,EAAIriF,KACpCsB,EAAW6wH,GAAGgC,MAAMM,iBAAiBpyC,EAAI/gF,UAE7CyvG,EAAE/2E,GAAS47I,eAAe,CACzB91K,IAAK,EACLE,IAAK,IACLmc,KAAMrc,EACNiW,GAAI/V,EACJmS,KAAM,SACN6vH,KAAM,EACN2jF,QAAS,IACT9vC,MAAM,EACNE,SAAU,GACVv4K,UAAS8D,EACTskN,SAAU,SAAS3wN,GAClBotF,EAAIviF,IAAI7K,EAAMknB,MACdkmE,EAAIriF,IAAI/K,EAAM8gB,QAIjB6hH,OAAQ,SAAS59F,EAASgmG,EAAe4/B,EAAajqC,EAAW8K,GAChE,IAAIp+C,EAAM8vC,GAAGkJ,OAAO2E,KAEhBlgI,EAAMqyH,GAAGkJ,OAAOh5C,EAAIviF,KACpBE,EAAMmyH,GAAGkJ,OAAOh5C,EAAIriF,KACpBsB,EAAW6wH,GAAGkJ,OAAOh5C,EAAI/gF,UAEzBs2E,EAAOm5B,EAAE/2E,GAAS49C,KAAK,kBAEvBiuI,EAAajuI,EAAK3S,OAAO9oD,KACzB2pM,EAAaluI,EAAK3S,OAAOlvD,GACzBgwM,EAAkBnuI,EAAKhsC,QAAQpuC,QAE/BqoN,IAAe/lN,GAAOgmN,IAAe9lN,GAAOsB,IAAaykN,GAE7DnuI,EAAKggD,OAAO,CAAEz7G,KAAMrc,EAAKiW,GAAI/V,EAAKxC,UAAS8D,MAI7C6wH,GAAGoO,gBAAgBylF,cAAgB,CAClCv0I,KAAM,SAASz3C,EAASgmG,GACvB,IAAI39C,EAAM8vC,GAAGgC,MAAMM,iBAAiBuL,EAA1B7N,GAEN/nD,EAAW+nD,GAAGkJ,OAAOh5C,EAAIjY,UACzBP,EAAQsoD,GAAGkJ,OAAOh5C,EAAIxY,OACtBQ,EAAQ8nD,GAAGkJ,OAAOh5C,EAAIhY,OACtB1+D,EAAO02E,EAAI12E,KACXswI,EAAoB55D,EAAI45D,kBACxBE,GAAgB,EAChBhqE,EAASkQ,EAAIlQ,OACb7wE,EAAW+gF,EAAI/gF,cAEOgxE,IAAtB+P,EAAI85D,gBACPA,EAAgBoP,QAAQlpE,EAAI85D,gBAG7BprC,EAAE/2E,GAAS8sE,MAAM,SAAS3iC,GACpB7iE,GAAaA,KACjBs9I,UAAU5C,cACTrwI,EACAswI,EACA7xE,EACA,KACA+H,EACA9H,EACAR,EACAsyE,MAMJvkB,OAAQ,SAAS59F,EAASgmG,MAG3B7N,GAAGoO,gBAAgB0lF,OAAS,CAC3BruF,OAAQ,SAAS59F,EAASgmG,GACzB7N,GAAGoO,gBAAgBm0C,QAAQ98C,OAAO59F,EAAS,WAC1C,OAAQm4F,GAAGgC,MAAMM,iBAAiBuL,SAKrC7N,GAAGoO,gBAAgB2lF,UAAY,CAC9Bz0I,KAAM,SAASz3C,EAASgmG,EAAeQ,EAAqB7K,EAAW8K,GAWtEtO,GAAGuQ,oBAAoB1oG,EAAS,CAAE8sE,MAVlC,YAGgB,IAFAqrB,GAAGkJ,OAAO2E,KACH7yD,MAAMpM,KAAMwK,YAGlCwlC,EAAE/2E,GACAu3G,QAAQ,UACRyM,MAAM,UAG+Cvd,KAG1DtO,GAAGoO,gBAAgBwX,KAAO,CACzBtmE,KAAM,SAASz3C,EAASgmG,EAAeQ,GACtCzvB,EAAE/2E,GAAS22G,QACX,IAAIw1E,EAAkBnmF,IAClBomF,EAAuB5lF,IAAsB6lF,WAEjD,SAASC,EAAa1mI,GACrB,OAAOwmI,KAA0BxmI,EAAK7gF,KA2DvC,IA3BoBq7K,EACfn1G,EA0BDshJ,GA3BgBnsC,EA2BM+rC,IA1BrBlhJ,EAAS,GACbm1G,EAAM59F,QAAQ,SAASoD,EAAMjY,GAC5B,IA3BG6+I,EAEAC,EACAC,EAEAC,EAsBCC,EACH,mBAAqBN,EAAa1mI,GAAQ,iBAAmB,IAAM,yBAChEpX,EACH,wFAECoX,EAAKinI,YAAc,iCAAmC,IACvD,OACGC,EAAWF,EAAGnjJ,OACjBmc,EAAKinI,YAAc,cAAgB,OACnCjnI,EAAK7gF,MAAQ6gF,EAAKnyE,MAAMw6D,QAAQ,KAAM,KACtCO,EAAE/E,OACDmc,EAAKinI,YAAc,cAAgB,OACnCjnI,EAAKinI,YAAc,qBAAuB,IAAMjnI,EAAK7gF,KACrD6gF,EAAKolF,KACLplF,EAAKnyE,OAENmyE,EAAKinI,aA3CHL,EACH,qDACGC,EAAU,2BACVC,EAAS,2BAETC,EAAY,GAsCoB/mI,EArC/Bud,SAAS3gB,QAAQ,SAASuqI,GAC1BA,EAAUhoN,KACb4nN,GAAaF,EAAQhjJ,OACpBsjJ,EAAUhoN,KACVunN,EAAaS,GAAa,kBAAoB,GAC9CL,EAAOjjJ,OAAO,IAAIsjJ,EAAUhoN,KAAM,GAAIgoN,EAAUt5M,QAEvCs5M,EAAUj0I,MACpB6zI,GAAaF,EAAQhjJ,OACpBsjJ,EAAUj0I,IACV,GACA4zI,EAAOjjJ,OAAOsjJ,EAAUj0I,IAAK,kBAAmBi0I,EAAUt5M,WAItD+4M,EAAQ/iJ,OAAOkjJ,IAsBsB,IAG3C1hJ,GAAU6hJ,IAEJ7hJ,GAIR8rC,EAAE/2E,GAASo4D,OAAOm0H,GAClBx1G,EAAE/2E,GAAS+vH,aAEZnyB,OAAQ,SAAS59F,EAASgmG,EAAeQ,GACxC,IAICwmF,EAJGX,EAAa7lF,IAAsB6lF,aAEnCjsC,EAAQp6C,GAAAA,GACRinF,EAAY,GAGhB7sC,EAAM59F,QAAQ,SAASoD,GAClBA,EAAKinI,YACRjnI,EAAKud,SAAS3gB,QAAQ,SAASuZ,GAC9BA,EAAEmxH,SAAU,EACZD,EAAUl/I,KAAKguB,KAEVkxH,EAAUl/I,KAAK6X,KAGvB,IAAIA,EAAOqnI,EAAUvnI,OAAO,SAASqW,GAQpC,MAPkB,WAAdswH,GAA2Bx+I,SAASmK,OAAOv5D,SAAS0hI,KAAKj5E,MAAM,KAAK,KAAO2G,SAASmK,OAAOv5D,SAAS0hI,KAAKj5E,MAAM,KAAK,KAAOumF,SAAS3uE,MAAM4vE,SAC7I29D,EAAa,YAEI,sBAAdA,GAAsCx+I,SAASmK,OAAOv5D,SAAS0hI,KAAKj5E,MAAM,KAAK,KAAO2G,SAASmK,OAAOv5D,SAAS0hI,KAAKj5E,MAAM,KAAK,KAAOumF,SAAS3uE,MAAM4vE,SACxJ29D,EAAa,sBAGPtwH,EAAEh3F,MAAQsnN,IACf,GAEHz5F,EAAEriD,KAAKqiD,EAAEu6F,YAAY/sC,EAAO,SAASrkF,GAAK,OAAO62B,EAAEsxB,KAAKnoD,EAAEoH,UAAY,CAACpH,EAAGA,EAAEoH,UAAYpH,IAAM,SAASnW,GAClGA,EAAK7gF,MACRgyG,EAAE/2E,GAASmwC,KAAK,IAAMyV,EAAK7gF,MAAM+wI,QAAQlwD,EAAKt+E,YAI3Cs+E,IACLonI,EAAcpnI,EAAKsnI,QAEnBn2G,EAAE/2E,GACAmwC,KAAK,aACL4jE,YAAY,UACdh9B,EAAE/2E,GACAmwC,KAAK,OACL4jE,YAAY,MACdh9B,EAAE/2E,GACAmwC,KAAK,IAAMyV,EAAK7gF,MAChBqzG,SAAS,UACP40G,IACHj2G,EAAE/2E,GACAmwC,KAAK,IAAMyV,EAAK7gF,MAChBm3H,SACA9jB,SAAS,MACXrB,EAAE/2E,GACAmwC,KAAK,IAAMyV,EAAK7gF,MAChBm3H,SACAA,SACA9jB,SAAS,cAMd+f,GAAGoO,gBAAgB6mF,SAAW,CAC7B31I,KAAM,SAASz3C,EAASgmG,EAAe4/B,EAAahoF,EAAMlG,GAMzDygD,GAAGuQ,oBAAoB1oG,EAAS,CAAE/kC,MAAO,CAAEg1I,MAL7B,SAASryD,EAAM3iF,GACN,KAAlBA,EAAM4kG,SACTmmC,IAAgBh2D,KAAKjJ,KAAM6W,EAAM3iF,MAG4By8E,KAIjEygD,GAAGoO,gBAAgB8mF,YAAc,CAChCzvF,OAAQ,SAAS59F,EAASgmG,GAEzB,IAAIj9H,EAAQi9H,IAERjvH,EAAQhO,EAAMgO,MACd4iE,EAAMw+C,GAAGkJ,OAAOt4H,EAAM4wE,OAE1Bo9B,EAAE/2E,GAASuwC,KAAK,WACf,IAAI8zF,EAAOj5B,OAAOrkE,MACdumJ,EAAQjpD,EAAKtvD,KAAK,MAClBw4G,EAAWlpD,EAAKtvD,KAAK,SACrBy4G,EAAS7zI,GAAO0qF,EAAKtvD,KAAK,OAE1By4G,GACHpiF,OAAOtsD,IACN0uI,EACA,SAAS5vI,GAER,IAAI6vI,EAAOriF,OAAOxtD,GAAMzN,KAAK,YAGR,IAAVm9I,IACVG,EAAOA,EAAK14G,KAAK,KAAMu4G,SAGA,IAAbC,IACVE,EAAOA,EAAK14G,KAAK,QAASw4G,EAAW,kBAItCE,EAAOA,EAAKlwE,WAAW,WAGvB8mB,EAAK0R,KAAK,OAAOluK,SACjBw8J,EAAKhtC,OAAOo2F,GAER12M,GAAO02M,EAAKt9I,KAAK,KAAK4kC,KAAK,OAAQh+F,IAExC,WA5eN,GAofA,WAiKC,IAAI22M,EAAa,CAChB5zM,KAjKD,SAAsBqxM,EAAKltC,EAAUx3C,GACpC,IAAIknF,EAAWtxD,YAEf,GAAyB,GAArB4hB,EAAS2vC,SACZ,IAAIxpD,EAASrtD,EACZ,qJAIEttC,OAAOkkJ,EAAU3/H,EAAEiwF,EAASvvG,cAG3B01F,EAASrtD,EACZ,uOAKEttC,OAAOkkJ,EAAU3/H,EAAEiwF,EAASvvG,SAIhC,IAAIm/I,EAAc,CAAE11M,KAAMs+J,WAAY1tK,MAAOk1K,EAAS6vC,WACjDl7F,EAAEisB,YAAYo/B,EAAS16K,UAC3BsqN,EAAYtqN,OAAS06K,EAAS16K,QAG/B4nN,EAAI/yH,OAAOgsE,GACXjsC,GAAGuQ,oBAAoB07B,EAAOj0F,KAAK,SAAS,GAAI09I,EAAapnF,IAsI7DsnF,SAzFD,SAA0B5C,EAAKltC,EAAUx3C,GACxC,IAAI29B,EAASrtD,EAAE,0DAEX1uB,EAAM41F,EAAS6vC,UACfE,EAAe71F,GAAGkJ,OAAO48C,EAAS+vC,cAElCC,EAAe91F,GAAGk8C,aAAa,CAClC13C,KAAM,WACL,IAAIx4B,EAAQg0B,GAAGkJ,OAAO48C,EAAS95E,OAE/B,GAAKA,GAAUA,EAAMt5B,OAIrB,OACCstD,GAAGgC,MAAM6K,WAAW7gC,EAAO,SAAS7zB,GACnC,OAAO+X,KAAS/X,GAAQ+X,MAAU/X,EAAK09I,MAClC7pH,EAAM,IAGdm5B,MAAO,SAAS4wF,GACf,IAAI/pH,EAAQg0B,GAAGkJ,OAAO48C,EAAS95E,OAE1BA,GAAUA,EAAMt5B,QAIUwd,EAA9B2lI,EAAkCE,EAAQF,GAAvBE,MAItB/C,EAAI/yH,OAAOgsE,GACXjsC,GAAGuQ,oBACF07B,EAAO,GACP,CACCr7J,MAAOklN,EACPr8K,QAASqsI,EAAS95E,MAClBgqH,YAAalwC,EAASkwC,aAEvB1nF,IAmDDz1H,MA5GD,SAAuBm6M,EAAKltC,EAAUx3C,GACrC,IAAI29B,EAASrtD,GAEX,gQAIA/oB,EAAE,gBACF,0BAGCvkB,OAAOukB,EAAEiwF,EAASvvG,SAGrBy8I,EAAI/yH,OAAOgsE,GACXjsC,GAAGuQ,oBAAoB07B,EAAOj0F,KAAK,SAAS,GAAI,CAAEpnE,MAAOk1K,EAAS6vC,WAAarnF,IA8F/E/0H,OAhDD,SAAwBy5M,EAAKltC,EAAUx3C,GACtC,IAAI29B,EAASrtD,EACZ,8GAA8GttC,OAC7Gw0G,EAASmwC,aAIPC,EAAU,CACb,CACCtvI,GAAIwtE,MAAM6M,QAAQC,YAClB5lJ,MAAOu6E,EAAEu+D,MAAM6M,QAAQC,aACvB2R,KAAMze,MAAMiN,aAAaH,aAE1B,CAAEt6E,GAAIwtE,MAAM6M,QAAQE,KAAM7lJ,MAAOu6E,EAAEu+D,MAAM6M,QAAQE,MAAO0R,KAAMze,MAAMiN,aAAaF,MACjF,CAAEv6E,GAAIwtE,MAAM6M,QAAQG,OAAQ9lJ,MAAOu6E,EAAEu+D,MAAM6M,QAAQG,QAASyR,KAAMze,MAAMiN,aAAaD,SAGtF4xD,EAAI/yH,OAAOgsE,GAEXjsC,GAAGuQ,oBACF07B,EAAO,GACP,CAAEjsJ,KAAMu9J,kBAAmBr6I,OAAQgzL,EAASt5C,QAASkJ,EAAS6vC,WAC9DrnF,IA2BDvrF,OAtID,SAAwBiwK,EAAKltC,EAAUx3C,GACtC,IAAI29B,EAASrtD,GAEX,4GAECknE,EAASqwC,WAAarwC,EAASz1D,KAC7B,mCACCy1D,EAASz1D,KAAO,wBAA0B,IAC3C,KACCy1D,EAASqwC,UAAY,MAAQ,IAC9B,UACA,IACH,UACC7kJ,OAAOukB,EAAEiwF,EAASvvG,OAAQuvG,EAASz1D,MAAQy1D,EAASqwC,YAGnDjrC,EAAM,CAAEt6K,MAAOk1K,EAAS6vC,gBACE,IAAnB7vC,EAAS16K,SACnB8/K,EAAI9/K,OAAS06K,EAAS16K,QAEvB4nN,EAAI/yH,OAAOgsE,GACXjsC,GAAGuQ,oBAAoB07B,EAAOj0F,KAAK,SAAS,GAAIkzG,EAAK58C,IAkHrD90H,KAxBD,SAAsBw5M,EAAKltC,EAAUx3C,GACpC,IAAI29B,EAASrtD,EACZ,8EAA8EttC,OAC7Ew0G,EAASswC,YAAcvgI,EAAEiwF,EAASswC,aAAevgI,EAAEiwF,EAASvvG,OAC5DuvG,EAASl2C,WAAa,MAIpBymF,EAAwB,CAAEzlN,MAAOk1K,EAAS6vC,WAE1C7vC,EAAS16K,SACZirN,EAAsBjrN,OAAS06K,EAAS16K,QAGzC4nN,EAAI/yH,OAAOgsE,GACXjsC,GAAGuQ,oBAAoB07B,EAAO,GAAIoqD,EAAuB/nF,KAY1DtO,GAAGoO,gBAAgBunF,UAAY,CAC9Br2I,KAAM,SAASz3C,EAASgmG,EAAeQ,EAAqB7K,EAAW8K,GACtE,IAAI0kF,EAAMp0G,EAAE/2E,GACRyuL,EAAiBjoF,IAAsBioF,gBAAkBzoF,IACzD0oF,GAAaloF,IAAsBkoF,WAAa,QAAQ53I,cACxD63I,EAAYjB,EAAWgB,GAC3B,IAAKC,EAAW,MAAM,IAAIjgI,MAAM,4BAA8BggI,GAE9D,IAAIE,EAAc,GACdH,EAAe9rF,QAClBisF,EAAYhmF,kBAAoB6lF,GAE7BjoF,IAAsBqoF,UACzBD,EAAYtlF,kBAAoB,CAAE3H,gBAAgB,IAEnDxJ,GAAGuQ,oBAAoB1oG,EAAS4uL,EAAanoF,GAE7C,IAAIukB,EACHxkB,IAAsBwkB,YACrByjE,EAAe9rF,OACf8rF,EAAe9rF,QAAQxyD,KAAK,SAASG,GACpC,MAAqB,aAAdA,EAAK+0D,OAAuC,IAAhB/0D,EAAK6H,SAG3CgzI,EAAI/yG,SAAS,cACb+yG,EAAI/yH,OACH,0EAA0E3uB,OACzE+8D,IAAsBsoF,YAAc,WACpC9gI,EAAEw4C,IAAsB93D,OACxBs8E,EAAa,IAAM,GACnBxkB,IAAsBuoF,YAAc,aAItCJ,EAAUxD,EAAIh7I,KAAK,OAAQq2D,IAAuBC,KA5MrD,GAiNKjnD,OAAOzP,UAAUtG,SACrB+V,OAAOzP,UAAUtG,OAAS,WACzB,IAAI6H,EAAOC,UACX,OAAOxK,KAAKkH,QAAQ,WAAY,SAAU5H,EAAOnrB,GAChD,YAA8B,IAAhBo2B,EAAKp2B,GAAyBo2B,EAAKp2B,GAAUmrB,MAKzDmZ,OAAOzP,UAAUi/I,aACrBxvI,OAAOzP,UAAUi/I,WAAa,SAAU92M,EAAQ+2M,GAE/C,OADaloJ,KACCkH,QAAQ,IAAIiF,OAAOh7D,EAAQ,KAAM+2M,KAI5CzvI,OAAOzP,UAAUm/I,eAKrB1vI,OAAOzP,UAAUm/I,aAAe,SAAUC,EAAcn/M,GACvD,IAAIo/M,EAAcroJ,KAAK+G,WACnBqK,EAASrI,OAAOxE,KAAK6jJ,GACrBE,EAASD,EAyBb,OAxBAj3I,EAAOqK,QAAQ,SAAU8sI,GAExB,IAECC,EAFGrI,EAAK,IAAIh0I,OAAO,SAAWo8I,EAAQ,YAAa,KACnDjpJ,EAAQ6gJ,EAAGp9F,KAAKulG,GAKjB,GAAc,OAAVhpJ,GAAkBr2D,EAAK,CAE1B,IAAIw/M,EAAkB,KAAKtpJ,KAAKmpJ,GAEhCA,EAASA,GADTE,EAAYC,EAAkB,IAAM,KACNF,EAAQ,IAAMH,EAAaG,QAC/CjpJ,GACVkpJ,EAAYlpJ,EAAM,GAAGqsB,OAAO,GAC5B28H,EAASA,EAAOphJ,QAAQi5I,EAAIqI,EAAYD,EAAQ,IAAMH,EAAaG,MAEnE10G,QAAQ1rG,MAAM,YAAa,IAAMogN,EAAQ,IAAK,0BAA2BF,GACzEx0G,QAAQ1rG,MACP,oHAKImgN,IA+KR,SAAUtzH,GACV,aACA,SAASI,EAAEJ,EAAGI,GACb,IAAInO,GAAK,MAAQ+N,IAAM,MAAQI,GAE/B,OADMJ,GAAK,KAAOI,GAAK,KAAOnO,GAAK,KACtB,GAAO,MAAQA,EAK7B,SAAS7jB,EAAE4xB,EAAG5xB,EAAGq4D,EAAGoiE,EAAGtkH,EAAGmvI,GACzB,OAAOtzH,GAJGJ,EAICI,EAAEA,EAAEhyB,EAAG4xB,GAAII,EAAEyoG,EAAG6qB,OAJdtzH,EAImB7b,GAHbyb,IAAO,GAAKI,EAGKqmC,GAJrC,IAAWzmC,EAAGI,EAMd,SAASqmC,EAAEzmC,EAAGI,EAAGnO,EAAGw0C,EAAGoiE,EAAGtkH,EAAGmvI,GAC5B,OAAOtlJ,EAAGgyB,EAAInO,GAAOmO,EAAIqmC,EAAIzmC,EAAGI,EAAGyoG,EAAGtkH,EAAGmvI,GAE1C,SAAS7qB,EAAE7oG,EAAGI,EAAGnO,EAAGw0C,EAAGoiE,EAAGtkH,EAAGmvI,GAC5B,OAAOtlJ,EAAGgyB,EAAIqmC,EAAMx0C,GAAKw0C,EAAIzmC,EAAGI,EAAGyoG,EAAGtkH,EAAGmvI,GAE1C,SAASnvI,EAAEyb,EAAGI,EAAGnO,EAAGw0C,EAAGoiE,EAAGtkH,EAAGmvI,GAC5B,OAAOtlJ,EAAEgyB,EAAInO,EAAIw0C,EAAGzmC,EAAGI,EAAGyoG,EAAGtkH,EAAGmvI,GAEjC,SAASA,EAAE1zH,EAAGI,EAAGnO,EAAGw0C,EAAGoiE,EAAGtkH,EAAGmvI,GAC5B,OAAOtlJ,EAAE6jB,GAAKmO,GAAKqmC,GAAIzmC,EAAGI,EAAGyoG,EAAGtkH,EAAGmvI,GAEpC,SAAS9hJ,EAAEouB,EAAG/N,GACZ+N,EAAE/N,GAAK,IAAM,KAAOA,EAAI,GAAM+N,EAA4B,IAAvB/N,EAAI,KAAQ,GAAM,IAAWA,EACjE,IAAI7jB,EACHwD,EACAa,EACA9F,EACAE,EACAkqB,EAAI,WACJ7E,GAAK,UACLvD,GAAK,WACLliB,EAAI,UACL,IAAK2B,EAAI,EAAGA,EAAI4xB,EAAElxB,OAAQV,GAAK,GAoE5B8jB,EAAIwhI,EAJJxhI,EAAIwhI,EAJJxhI,EAAIwhI,EAJJxhI,EAAIwhI,EAJJxhI,EAAI3N,EAJJ2N,EAAI3N,EAJJ2N,EAAI3N,EAJJ2N,EAAI3N,EAJJ2N,EAAI22G,EAJJ32G,EAAI22G,EAJJ32G,EAAI22G,EAJJ32G,EAAI22G,EAJJ32G,EAAIu0C,EAJJv0C,EAAIu0C,EAJJv0C,EAAIu0C,EAJJv0C,EAAIu0C,EANJh0D,EAAIyf,EAKJvD,EAAI83C,EAJJ95D,EAAIgiB,EAGJliB,EAAIg6D,EAFJ55D,EAAIJ,EACJsqB,EAAI0vC,EAJL70D,EAAImlB,EAIM7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,GAAI,GAAI,WAChB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,IAAK,WACrB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,GAAI,WACpB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,YAGjCugB,EAAI83C,EAAE93C,EADNliB,EAAIg6D,EAAEh6D,EADNsqB,EAAI0vC,EAAE1vC,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,GAAI,YACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,IAAK,YACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,UAGjCugB,EAAI83C,EAAE93C,EADNliB,EAAIg6D,EAAEh6D,EADNsqB,EAAI0vC,EAAE1vC,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,EAAG,YACnB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,IAAK,YACrB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,IAAK,OACtB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,IAAK,YAGlCugB,EAAI83C,EAAE93C,EADNliB,EAAIg6D,EAAEh6D,EADNsqB,EAAI0vC,EAAE1vC,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,IAAK,EAAG,YACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,IAAK,UACtB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,IAAK,YACtB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,GAAI,YAGjCugB,EAAIk6G,EAAEl6G,EADNliB,EAAIo8H,EAAEp8H,EADNsqB,EAAI8xG,EAAE9xG,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,GAAI,YACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,GAAI,WACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,GAAI,IAAK,WAG7BugB,EAAIk6G,EAAEl6G,EADNliB,EAAIo8H,EAAEp8H,EADNsqB,EAAI8xG,EAAE9xG,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,EAAG,UACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,IAAK,WACtB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,WAGjCugB,EAAIk6G,EAAEl6G,EADNliB,EAAIo8H,EAAEp8H,EADNsqB,EAAI8xG,EAAE9xG,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,EAAG,WACnB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,GAAI,YACrB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,IAAK,WACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,GAAI,YAGhCugB,EAAIk6G,EAAEl6G,EADNliB,EAAIo8H,EAAEp8H,EADNsqB,EAAI8xG,EAAE9xG,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,IAAK,GAAI,YACrB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,GAAI,UACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,GAAI,YACpB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,IAAK,YAGlCugB,EAAIpK,EAAEoK,EADNliB,EAAI8X,EAAE9X,EADNsqB,EAAIxS,EAAEwS,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,QACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,IAAK,YACrB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,GAAI,YACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,IAAK,UAGlCugB,EAAIpK,EAAEoK,EADNliB,EAAI8X,EAAE9X,EADNsqB,EAAIxS,EAAEwS,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,YACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,GAAI,YACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,IAAK,WACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,IAAK,YAGlCugB,EAAIpK,EAAEoK,EADNliB,EAAI8X,EAAE9X,EADNsqB,EAAIxS,EAAEwS,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,IAAK,EAAG,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,GAAI,IAAK,WACjB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,IAAK,WACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,GAAI,UAGhCugB,EAAIpK,EAAEoK,EADNliB,EAAI8X,EAAE9X,EADNsqB,EAAIxS,EAAEwS,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,IAAK,WACtB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,GAAI,WACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,WAGjCugB,EAAI+kI,EAAE/kI,EADNliB,EAAIinJ,EAAEjnJ,EADNsqB,EAAI28H,EAAE38H,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,GAAI,GAAI,WAChB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,GAAI,YACpB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,IAAK,YACtB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,UAGjCugB,EAAI+kI,EAAE/kI,EADNliB,EAAIinJ,EAAEjnJ,EADNsqB,EAAI28H,EAAE38H,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,IAAK,EAAG,YACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,GAAI,IAAK,YACrB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,IAAK,IAAK,SACtB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,YAGjCugB,EAAI+kI,EAAE/kI,EADNliB,EAAIinJ,EAAEjnJ,EADNsqB,EAAI28H,EAAE38H,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,EAAG,YACnB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,IAAK,UACtB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,IAAK,YACrB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,IAAK,GAAI,YAGjCugB,EAAI+kI,EAAE/kI,EADNliB,EAAIinJ,EAAEjnJ,EADNsqB,EAAI28H,EAAE38H,EAAG7E,EAAGvD,EAAGliB,EAAGuzB,EAAE5xB,EAAI,GAAI,GAAI,WACpB8jB,EAAGvD,EAAGqR,EAAE5xB,EAAI,IAAK,IAAK,YACtB2oB,EAAG7E,EAAG8N,EAAE5xB,EAAI,GAAI,GAAI,WACpB3B,EAAGsqB,EAAGiJ,EAAE5xB,EAAI,GAAI,IAAK,WACjC2oB,EAAIqJ,EAAErJ,EAAGnlB,GACTsgB,EAAIkO,EAAElO,EAAGzf,GACTkc,EAAIyR,EAAEzR,EAAGhiB,GACTF,EAAI2zB,EAAE3zB,EAAGI,GACZ,MAAO,CAACkqB,EAAG7E,EAAGvD,EAAGliB,GAElB,SAASgG,EAAEutB,GACV,IAAII,EACHnO,EAAI,GACJ7jB,EAAI,GAAK4xB,EAAElxB,OACZ,IAAKsxB,EAAI,EAAGA,EAAIhyB,EAAGgyB,GAAK,EAAGnO,GAAKxO,OAAOC,aAAcsc,EAAEI,GAAK,KAAOA,EAAI,GAAM,KAC7E,OAAOnO,EAER,SAAStlB,EAAEqzB,GACV,IAAII,EACHnO,EAAI,GACL,IAAKA,GAAG+N,EAAElxB,QAAU,GAAK,QAAK,EAAQsxB,EAAI,EAAGA,EAAInO,EAAEnjB,OAAQsxB,GAAK,EAAGnO,EAAEmO,GAAK,EAC1E,IAAIhyB,EAAI,EAAI4xB,EAAElxB,OACd,IAAKsxB,EAAI,EAAGA,EAAIhyB,EAAGgyB,GAAK,EAAGnO,EAAEmO,GAAK,KAAO,IAAMJ,EAAEzK,WAAW6K,EAAI,KAAOA,EAAI,GAC3E,OAAOnO,EAeR,SAASC,EAAE8N,GACV,IAAII,EACHnO,EACA7jB,EAAI,mBACJq4D,EAAI,GACL,IAAKx0C,EAAI,EAAGA,EAAI+N,EAAElxB,OAAQmjB,GAAK,EAAImO,EAAIJ,EAAEzK,WAAWtD,GAAMw0C,GAAKr4D,EAAEuoB,OAAQyJ,IAAM,EAAK,IAAMhyB,EAAEuoB,OAAO,GAAKyJ,GACxG,OAAOqmC,EAER,SAAS93C,EAAEqR,GACV,OAAO2zH,SAASnhC,mBAAmBxyF,IAEpC,SAASvzB,EAAEuzB,GACV,OAxBOvtB,EAAEb,EAAEjF,EADDqzB,EAyBDrR,EAAEqR,IAxBM,EAAIA,EAAElxB,SADxB,IAAWkxB,EA8BX,SAASzzB,EAAEyzB,EAAGI,GACb,OA5BD,SAAWJ,EAAGI,GACb,IAAInO,EACH7jB,EACAq4D,EAAI95D,EAAEqzB,GACN6oG,EAAI,GACJtkH,EAAI,GACL,IAAKskH,EAAE,IAAMtkH,EAAE,SAAM,EAAmB,GAAXkiD,EAAE33D,SAAgB23D,EAAI70D,EAAE60D,EAAG,EAAIzmC,EAAElxB,SAAUmjB,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC1F42G,EAAE52G,GAAK,UAAYw0C,EAAEx0C,GAAM1N,EAAE0N,GAAK,WAAaw0C,EAAEx0C,GACnD,OAAQ7jB,EAAIwD,EAAEi3H,EAAE5yH,OAAOtJ,EAAEyzB,IAAK,IAAM,EAAIA,EAAEtxB,QAAU2D,EAAEb,EAAE2S,EAAEtO,OAAO7H,GAAI,MAoB9D2oB,CAAEpI,EAAEqR,GAAIrR,EAAEyR,IAKlB,SAASwzH,EAAE5zH,EAAGI,EAAGnO,GAChB,OAAOmO,EAAKnO,EAAI1lB,EAAE6zB,EAAGJ,GAHd9N,EAAE3lB,EAGmB6zB,EAAGJ,IAAM/N,EAAIxlB,EAAEuzB,GATpC9N,EAAEzlB,EASyCuzB,IAEnD,mBAAqBn1B,QAAUA,OAAOC,IACnCD,OAAO,WACP,OAAO+oJ,IAEP,iBAAmBrpJ,QAAUA,OAAOE,QACnCF,OAAOE,QAAUmpJ,EACjB5zH,EAAEmuH,IAAMyF,EA3KZ,CA4KE5oJ,MAyJH,IAAIs4E,eAAiB,IAAIupE,eAErB32B,IAAM,WAET,SAAS29B,IAEJh9F,EAAE47B,IAAIx2E,OAAQ,gBACjB+oD,WAAW8gF,eACX9gF,WAAWihF,uBAGRpvF,EAAE47B,IAAIx2E,OAAQ,YACjBA,OAAOq/B,OAAOzlE,QAAQ8mE,mBAAoB,GAG3Cm3G,eAAkC,QAAjBC,aAAyB,GAAKl9F,EAAEnnD,KAAKmnD,EAAEm9F,UAAUn9F,EAAE1rD,MAAM8Q,OAAOv5D,SAASytK,SAAU,MAAO,MAAQ,oBAE/Gt5D,EAAE47B,IAAIx2E,OAAQ,mBACjBA,OAAOs9E,SAASp9C,UAAU,eAAgB,SAAUmxG,GAClC,aAAbA,GACHhqE,eAAe+pE,UAAUC,KAKxBz2F,EAAE47B,IAAIx2E,OAAQ,YAEjBkyE,QAAQ6vD,eAGT5hF,GAAGuS,gBAkGJ,MAAO,CACNslF,KA5CD,WACiC,aAA5Bh4I,OAAOv5D,SAASwxM,UAAuD,mBAA5Bj4I,OAAOv5D,SAASwxM,UAA6D,mBAA5Bj4I,OAAOv5D,SAASwxM,UAC/Gj4I,OAAOk4I,YAAc,cACrB13I,SAASoJ,gBAAgBqS,WAAa,mBAEN,mBAA5Bjc,OAAOv5D,SAASwxM,UACnBxxE,cAAcC,aAAeD,cAAc8iB,qBAC3C9iB,cAAc2iB,kBAAoB3iB,cAAc+iB,2BACV,aAA5BxpF,OAAOv5D,SAASwxM,WAC1BxxE,cAAcC,aAAeD,cAAc4iB,mBAC3C5iB,cAAc2iB,kBAAoB3iB,cAAc6iB,2BAGjDtpF,OAAOk4I,YAAc,aACrB13I,SAASoJ,gBAAgBqS,WAAa,mBAGvCjc,OAAOm4I,OAASn4I,OAAOv5D,SAASwxM,SAASvQ,SAAS,eAAiB,SAAW,UAC9E1nI,OAAO83I,aAAel9F,EAAE6B,SAASz8C,OAAOv5D,SAASytK,SAAU,QAAU,MAAQ,OAExE38B,UAAUitD,SAAYjtD,UAAUC,aAxEtC,WAwBC,GArBI58B,EAAE47B,IAAIx2E,OAAQ,qBACjByiI,iBAAiBhjI,OAEdm7C,EAAE47B,IAAIx2E,OAAQ,mBACjBwrF,eAAe/rF,OAEZm7C,EAAE47B,IAAIx2E,OAAQ,kBACE,IAAIgiI,cACVviI,OAKVm7C,EAAE47B,IAAIx2E,OAAQ,sBACjBo4I,kBAAkB18J,QAGfk/D,EAAE47B,IAAIx2E,OAAQ,YACjBkyE,QAAQmmE,MAGLz9F,EAAE47B,IAAIx2E,OAAQ,eACjB,OAAOqmE,YACL+mB,aACA9iF,KAAK,KAAM,WAGX,OADAs4B,QAAQC,IAAI,uBACLwjC,YAAYwhE,2BACjBv9H,KAAK,SAAU89H,GAEf,OADAxlG,QAAQC,IAAI,kBAAmBulG,GACxB/hE,YAAY8hE,gBAAgBC,IACjC,WACFxlG,QAAQC,IAAI,wBAGdv4B,KAAK,WAGL,OAFAs4B,QAAQC,IAAI,sBAEL4yC,SAAS8H,sBAEhBiV,OAAO,WACP,OAAOolD,MAGTtuE,gBAAgByU,mBAAmBzU,gBAAgBslB,sBACnDgpD,IA4CDU,GAnBCluE,KACC,CACC3uI,MAAO,6BACP9B,KAAMq8E,EAAE,0BACR71E,KAAM,QACN46F,MAAM,EACNwvC,mBAAoB,UACpBN,kBAAmBj0D,EAAE,WAEtB,SAAUy6H,GACLA,GACHzwI,OAAOv5D,SAASkyC,YAapB/tB,QAASu1F,GAAG2F,aACZgoF,aAAc3tF,GAAG2F,aACjByyF,WAAYp4F,GAAG2F,YAAW,GAC1B3lD,OAAQggD,GAAG2F,cAnIH,GAuIV/mB,EAAEv+B,UAAU42B,MAAM,WACjB6iF,IAAI+9B","file":"indexCombined-5c3bf5f4.js","sourcesContent":["function Resources() {\r\n\treturn {\r\n\t\tCommon: {\r\n\t\t\t\"select-screen-workout\": {\r\n\t\t\t\t\"en\": \"Select Screen Workout\",\r\n\t\t\t\t\"it\": \"Seleziona Allenamento A Schermo\",\r\n\t\t\t\t\"es\": \"Seleccionar Entrenamiento En Pantalla\",\r\n\t\t\t\t\"fr\": \"Sรฉlectionner l'Entraรฎnement ร  l'ร‰cran\"\r\n\t\t\t},\r\n\t\t\t\"workouts-planning\": {\r\n\t\t\t\t\"en\": \"Workouts Planning\",\r\n\t\t\t\t\"it\": \"Pianificazione dei Workout\",\r\n\t\t\t\t\"es\": \"Planificaciรณn de Entrenamientos\",\r\n\t\t\t\t\"fr\": \"Planification des Entraรฎnements\"\r\n\t\t\t},\r\n\t\t\t\"single-workout-planning\": {\r\n\t\t\t\ten: \"Single Workout Planning\",\r\n\t\t\t\tit: \"Pianificazione di un Singolo Workout\",\r\n\t\t\t\tes: \"Planificaciรณn de Entrenamiento รšnico\",\r\n\t\t\t\tfr: \"Planification d'un Entraรฎnement Unique\"\r\n\t\t\t},\r\n\t\t\t\"display-group\": {\r\n\t\t\t\ten: \"Room\",\r\n\t\t\t\tit: \"Sala\",\r\n\t\t\t\tes: \"Sala\",\r\n\t\t\t\tfr: \"Salle\",\r\n\t\t\t},\r\n\t\t\t\"slots-duration-error\": {\r\n\t\t\t\t\"en\": \"All slots on the calendar must have a duration greater than or equal to that of the selected workout.\",\r\n\t\t\t\t\"it\": \"Tutti gli slot sul calendario devono avere una durata maggiore o uguale di quella del workout selezionato.\",\r\n\t\t\t\t\"es\": \"Todos los espacios en el calendario deben tener una duraciรณn mayor o igual a la del entrenamiento seleccionado.\",\r\n\t\t\t\t\"fr\": \"Tous les crรฉneaux du calendrier doivent avoir une durรฉe supรฉrieure ou รฉgale ร  celle de l'entraรฎnement sรฉlectionnรฉ.\"\r\n\t\t\t},\r\n\t\t\t\"slot-duration-error\": {\r\n\t\t\t\t\"en\": \"Slot calendar must have a duration greater than or equal to that of the selected workout.\",\r\n\t\t\t\t\"it\": \"Lo slot sul calendario devono avere una durata maggiore o uguale di quella del workout selezionato.\",\r\n\t\t\t\t\"es\": \"Espacio en el calendario deben tener una duraciรณn mayor o igual a la del entrenamiento seleccionado.\",\r\n\t\t\t\t\"fr\": \"Crรฉneaux du calendrier doivent avoir une durรฉe supรฉrieure ou รฉgale ร  celle de l'entraรฎnement sรฉlectionnรฉ.\"\r\n\t\t\t},\r\n\t\t\t\"you-must-select-an-on-screen-Workout\": {\r\n\t\t\t\t\"en\": \"You must select an on-screen Workout\",\r\n\t\t\t\t\"it\": \"Devi selezionare un allenamento a schermo\",\r\n\t\t\t\t\"es\": \"Debes seleccionar un entrenamiento De pantalla\",\r\n\t\t\t\t\"fr\": \"Vous devez sรฉlectionner un entraรฎnement ร  l'รฉcran\"\r\n\t\t\t},\r\n\t\t\t\"hide-free-spots\": {\r\n\t\t\t\t\"en\": \"Hide free spots\",\r\n\t\t\t\t\"it\": \"Nascondi Posti Liberi\",\r\n\t\t\t\t\"es\": \"Ocultar Plazas Libres\",\r\n\t\t\t\t\"fr\": \"Masquer Les Places Disponibles\"\r\n\t\t\t},\r\n\t\t\t\"start-hour\": {\r\n\t\t\t\t\"en\": \"Start time\",\r\n\t\t\t\t\"it\": \"Ora inizio\",\r\n\t\t\t\t\"es\": \"Hora de inicio\",\r\n\t\t\t\t\"fr\": \"Heure de dรฉbut\"\r\n\t\t\t},\r\n\t\t\t\"end-hour\": {\r\n\t\t\t\t\"en\": \"End time\",\r\n\t\t\t\t\"it\": \"Ora fine\",\r\n\t\t\t\t\"es\": \"Hora de finalizaciรณn\",\r\n\t\t\t\t\"fr\": \"Heure de fin\"\r\n\t\t\t},\r\n\t\t\t\"you-are-cloning-the-selected-workouts\": {\r\n\t\t\t\ten: \"You are cloning the selected workouts.\",\r\n\t\t\t\tit: \"Stai clonando i workout selezionati.\",\r\n\t\t\t\tes: \"Estรกs clonando los entrenamientos seleccionados.\",\r\n\t\t\t\tfr: \"Vous clonez les sรฉances d'entraรฎnement sรฉlectionnรฉes.\"\r\n\t\t\t},\r\n\t\t\t\"acceptance-date\": {\r\n\t\t\t\ten: \"Acceptance Date\",\r\n\t\t\t\tit: \"Data Accettazione\",\r\n\t\t\t\tes: \"Fecha Aceptaciรณn\",\r\n\t\t\t\tfr: \"Date Acceptation\"\r\n\t\t\t},\r\n\t\t\t\"type-policy-text-here\": {\r\n\t\t\t\ten: \"Type the policy text here\",\r\n\t\t\t\tit: \"Scrivi qui il testo della policy\",\r\n\t\t\t\tes: \"Escriba el texto de la polรญtica aquรญ\",\r\n\t\t\t\tfr: \"Tapez le texte de la politique ici\",\r\n\t\t\t},\r\n\t\t\t\"kiosk\": {\r\n\t\t\t\ten: \"Kiosk\",\r\n\t\t\t\tit: \"Kiosk\",\r\n\t\t\t\tes: \"Kiosk\",\r\n\t\t\t\tfr: \"Kiosk\"\r\n\t\t\t},\r\n\t\t\t\"no-kiosk\": {\r\n\t\t\t\ten: \"No Kiosk\",\r\n\t\t\t\tit: \"Nessun Kiosk\",\r\n\t\t\t\tes: \"Sin Kiosk\",\r\n\t\t\t\tfr: \"Aucun Kiosk\",\r\n\t\t\t},\r\n\t\t\t\"policies\": {\r\n\t\t\t\ten: \"Policies\",\r\n\t\t\t\tit: \"Policies\",\r\n\t\t\t\tes: \"Policies\",\r\n\t\t\t\tfr: \"Policies\"\r\n\t\t\t},\r\n\t\t\t\"Accepted\": {\r\n\t\t\t\ten: \"Accepted\",\r\n\t\t\t\tit: \"Accettato\",\r\n\t\t\t\tes: \"Aceptado\",\r\n\t\t\t\tfr: \"Acceptรฉ\"\r\n\t\t\t},\r\n\t\t\t\"NotAccepted\": {\r\n\t\t\t\ten: \"Not Accepted\",\r\n\t\t\t\tit: \"Non Accettato\",\r\n\t\t\t\tes: \"No Aceptado\",\r\n\t\t\t\tfr: \"Non Acceptรฉ\"\r\n\t\t\t},\r\n\t\t\t\"NotAnswered\": {\r\n\t\t\t\ten: \"Not Answered\",\r\n\t\t\t\tit: \"Non Risposto\",\r\n\t\t\t\tes: \"No Respondido\",\r\n\t\t\t\tfr: \"Non Rรฉpondu\"\r\n\t\t\t},\r\n\t\t\t\"new-policy\": {\r\n\t\t\t\ten: \"New Policy\",\r\n\t\t\t\tit: \"Nuova Policy\",\r\n\t\t\t\tes: \"Nueva Polรญtica\",\r\n\t\t\t\tfr: \"Nouvelle Politique\"\r\n\t\t\t},\r\n\t\t\t\"edit-policy\": {\r\n\t\t\t\ten: \"Edit Policy\",\r\n\t\t\t\tit: \"Modifica Policy\",\r\n\t\t\t\tes: \"Editar Polรญtica\",\r\n\t\t\t\tfr: \"Modifier la Politique\"\r\n\t\t\t},\r\n\t\t\t\"summary\": {\r\n\t\t\t\ten: \"Summary\",\r\n\t\t\t\tit: \"Riepilogo\",\r\n\t\t\t\tes: \"Resumen\",\r\n\t\t\t\tfr: \"Rรฉsumรฉ\"\r\n\t\t\t},\r\n\t\t\t\"policy-will-be\": {\r\n\t\t\t\ten: \"The policy will be:\",\r\n\t\t\t\tit: \"La policy sarร :\",\r\n\t\t\t\tes: \"La polรญtica serรก:\",\r\n\t\t\t\tfr: \"La politique sera:\"\r\n\t\t\t},\r\n\t\t\t\"TermsOfPurchase\": {\r\n\t\t\t\ten: \"Terms of Purchase\",\r\n\t\t\t\tit: \"Termini di Acquisto\",\r\n\t\t\t\tes: \"Tรฉrminos de Compra\",\r\n\t\t\t\tfr: \"Conditions d'Achat\"\r\n\t\t\t},\r\n\t\t\t\"JoinClub\": {\r\n\t\t\t\ten: \"Join Club\",\r\n\t\t\t\tit: \"Unione al Club\",\r\n\t\t\t\tes: \"Join Club\",\r\n\t\t\t\tfr: \"Join Club\"\r\n\t\t\t},\r\n\t\t\t\"publication-date\": {\r\n\t\t\t\ten: \"Publication Date\",\r\n\t\t\t\tit: \"Data di Pubblicazione\",\r\n\t\t\t\tes: \"Fecha de Publicaciรณn\",\r\n\t\t\t\tfr: \"Date de Publication\"\r\n\t\t\t},\r\n\t\t\t\"club-policies\": {\r\n\t\t\t\ten: \"Policies\",\r\n\t\t\t\tit: \"Policy\",\r\n\t\t\t\tes: \"Tรฉrminos y Condiciones\",\r\n\t\t\t\tfr: \"Termes et Conditions\"\r\n\t\t\t},\r\n\t\t\t\"cannot-suspend-a-subscription-with-active-bookings\": {\r\n\t\t\t\ten: \"Cannot suspend a subscription with active bookings\",\r\n\t\t\t\tit: \"Impossibile sospendere un abbonamento con prenotazioni attive\",\r\n\t\t\t\tes: \"No se puede suspender una suscripciรณn con reservas activas\",\r\n\t\t\t\tfr: \"Impossible de suspendre un abonnement avec des rรฉservations actives\"\r\n\t\t\t},\r\n\t\t\t\"unable-to-copy-following-workouts\": {\r\n\t\t\t\ten: \"Unable to copy the following on-screen workouts:\",\r\n\t\t\t\tit: \"Impossibile copiare i seguenti allenamenti a schermo:\",\r\n\t\t\t\tes: \"No se pudieron copiar los siguientes entrenamientos de pantalla:\",\r\n\t\t\t\tfr: \"Impossible de copier les entraรฎnements sur รจcran:\"\r\n\t\t\t}, \r\n\t\t\t\"exercise-not-found-in-destination-club\": {\r\n\t\t\t\ten: \"Exercise not found in destination club\",\r\n\t\t\t\tit: \"Esercizio non trovato nel club di destinazione\",\r\n\t\t\t\tes: \"Ejercicio no encontrado en el club de destino\",\r\n\t\t\t\tfr: \"Exercice non trouvรฉ dans le club de destination\"\r\n\t\t\t},\r\n\t\t\t\"elements\": {\r\n\t\t\t\ten: \"Elements\",\r\n\t\t\t\tit: \"Elementi\",\r\n\t\t\t\tes: \"Elementos\",\r\n\t\t\t\tfr: \"ร‰lรฉments\"\r\n\t\t\t},\r\n\t\t\t\"check-field-cardioZone\": {\r\n\t\t\t\ten: \"Check the HR Target field.\",\r\n\t\t\t\tit: \"Controlla il campo HR Target.\",\r\n\t\t\t\tes: \"Verifique el campo FC Target.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ FC Target.\"\r\n\t\t\t},\r\n\t\t\t\"check-field-rPE\": {\r\n\t\t\t\ten: \"Check the RPE field.\",\r\n\t\t\t\tit: \"Controlla il campo RPE.\",\r\n\t\t\t\tes: \"Verifique el campo RPE.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ RPE.\"\r\n\t\t\t},\r\n\t\t\t\"check-field-reps\": {\r\n\t\t\t\ten: \"Check the repetitions field.\",\r\n\t\t\t\tit: \"Controlla il campo ripetizioni.\",\r\n\t\t\t\tes: \"Verifique el campo de repeticiones.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ des rรฉpรฉtitions.\"\r\n\t\t\t},\r\n\t\t\t\"check-field-level\": {\r\n\t\t\t\ten: \"Check the equipment level field.\",\r\n\t\t\t\tit: \"Controlla il campo livello attrezzo.\",\r\n\t\t\t\tes: \"Verifique el campo de nivel de equipo.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ niveau de l'รฉquipement.\"\r\n\t\t\t},\r\n\t\t\t\"check-field-weight\": {\r\n\t\t\t\ten: \"Check the field weight.\",\r\n\t\t\t\tit: \"Controlla il campo peso.\",\r\n\t\t\t\tes: \"Verifique el campo de peso.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de poids.\"\r\n\t\t\t},\r\n\t\t\t\"check-repetition-interval-field\": {\r\n\t\t\t\ten: \"Check the repetition interval field.\",\r\n\t\t\t\tit: \"Controlla il campo intervallo ripetizioni.\",\r\n\t\t\t\tes: \"Verifique el campo de intervalo de repeticiones.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ intervalle de rรฉpรฉtitions.\"\r\n\t\t\t},\r\n\t\t\t\"exercise-cannot-have-only-pause\": {\r\n\t\t\t\ten: \"An exercise cannot have only a pause.\",\r\n\t\t\t\tit: \"Un esercizio non puรฒ avere solo una pausa.\",\r\n\t\t\t\tes: \"Un ejercicio no puede tener solo una pausa.\",\r\n\t\t\t\tfr: \"Un exercice ne peut pas avoir seulement une pause.\"\r\n\t\t\t},\r\n\t\t\t\"check-round-rest-field\": {\r\n\t\t\t\ten: \"Check the round rest field.\",\r\n\t\t\t\tit: \"Controlla il campo pausa round.\",\r\n\t\t\t\tes: \"Verifique el campo de descanso de la ronda.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ repos du round.\"\r\n\t\t\t},\r\n\t\t\t\"check-rest-field\": {\r\n\t\t\t\ten: \"Check the rest field.\",\r\n\t\t\t\tit: \"Controlla il campo pausa.\",\r\n\t\t\t\tes: \"Verifique el campo de descans.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ repos.\"\r\n\t\t\t},\r\n\t\t\t\"check-round-duration-field\": {\r\n\t\t\t\ten: \"Check the round duration field.\",\r\n\t\t\t\tit: \"Controlla il campo durata round.\",\r\n\t\t\t\tes: \"Verifique el campo de duraciรณn de la ronda.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ durรฉe du round.\"\r\n\t\t\t},\r\n\t\t\t\"check-notes-field\": {\r\n\t\t\t\ten: \"Check the notes field.\",\r\n\t\t\t\tit: \"Controlla il campo note.\",\r\n\t\t\t\tes: \"Verifique el campo de notas.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ notes.\"\r\n\t\t\t},\r\n\t\t\t\"folder-and-all-workouts-inside-will-be-deleted\": {\r\n\t\t\t\ten: \"The folder and all workouts inside it will be deleted.\",\r\n\t\t\t\tit: \"La cartella e tutti i workout al suo interno verranno eliminati.\",\r\n\t\t\t\tes: \"La carpeta y todos los entrenamientos dentro de ella serรกn eliminados.\",\r\n\t\t\t\tfr: \"Le dossier et tous les entraรฎnements qu'il contient seront supprimรฉs.\"\r\n\t\t\t},\r\n\t\t\t\"select-destination\": {\r\n\t\t\t\ten: \"Select Destination\",\r\n\t\t\t\tit: \"Seleziona Destinazione\",\r\n\t\t\t\tes: \"Seleccione Destino\",\r\n\t\t\t\tfr: \"Sรฉlectionner La Destination\",\r\n\t\t\t},\r\n\t\t\t\"create-new-folder\": {\r\n\t\t\t\ten: \"Create New Folder:\",\r\n\t\t\t\tit: \"Crea Nuova Cartella:\",\r\n\t\t\t\tes: \"Crear Nueva Carpeta:\",\r\n\t\t\t\tfr: \"Crรฉer Un Nouveau Dossier:\",\r\n\t\t\t},\r\n\t\t\t\"new-folder-name\": {\r\n\t\t\t\ten: \"New Folder Name\",\r\n\t\t\t\tit: \"Nome Nuova Cartella\",\r\n\t\t\t\tes: \"Nuevo Nombre De Carpeta\",\r\n\t\t\t\tfr: \"Nouveau Nom De Dossier\",\r\n\t\t\t},\r\n\t\t\t\"move\": {\r\n\t\t\t\ten: \"Move\",\r\n\t\t\t\tit: \"Sposta\",\r\n\t\t\t\tes: \"Mover\",\r\n\t\t\t\tfr: \"Dรฉplacer\",\r\n\t\t\t},\r\n\t\t\t\"level-rank\": {\r\n\t\t\t\t\"en\": \"Rank\",\r\n\t\t\t\t\"it\": \"Rank\",\r\n\t\t\t\t\"es\": \"Rango\",\r\n\t\t\t\t\"fr\": \"Rang\"\r\n\t\t\t},\r\n\t\t\t\"no-level\": {\r\n\t\t\t\ten: \"No Level\",\r\n\t\t\t\tit: \"Nessun Livello\",\r\n\t\t\t\tes: \"Sin Nivel\",\r\n\t\t\t\tfr: \"Pas De Niveau\",\r\n\t\t\t},\r\n\t\t\t\"event\": {\r\n\t\t\t\ten: \"Event\",\r\n\t\t\t\tit: \"Evento\",\r\n\t\t\t\tes: \"Evento\",\r\n\t\t\t\tfr: \"ร‰vรฉnement\",\r\n\t\t\t},\r\n\t\t\t\"support\": {\r\n\t\t\t\ten: \"Support\",\r\n\t\t\t\tit: \"Supporto\",\r\n\t\t\t\tes: \"Asistencia\",\r\n\t\t\t\tfr: \"Assistance\",\r\n\t\t\t},\r\n\t\t\t\"check-exercise-duration-filed\": {\r\n\t\t\t\ten: \"Check the exercise duration field.\",\r\n\t\t\t\tit: \"Controlla il campo della durata dell'esercizio.\",\r\n\t\t\t\tes: \"Verifica el campo de duraciรณn del ejercicio.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de durรฉe de l'exercice.\"\r\n\t\t\t},\r\n\t\t\t\"exercises-duration-at-least-five-seconds\": {\r\n\t\t\t\ten: \"Exercise duration must be at least five seconds.\",\r\n\t\t\t\tit: \"La durata dell'esercizio deve essere di almeno cinque secondi.\",\r\n\t\t\t\tes: \"La duraciรณn del ejercicio debe ser de al menos cinco segundos.\",\r\n\t\t\t\tfr: \"La durรฉe de l'exercice doit รชtre d'au moins cinq secondes.\"\r\n\t\t\t},\r\n\t\t\t\"duration-at-least-five-seconds\": {\r\n\t\t\t\ten: \"Duration must be at least five seconds.\",\r\n\t\t\t\tit: \"La durata deve essere di almeno cinque secondi.\",\r\n\t\t\t\tes: \"La duraciรณn debe ser de al menos cinco segundos.\",\r\n\t\t\t\tfr: \"La durรฉe doit รชtre d'au moins cinq secondes.\"\r\n\t\t\t},\r\n\t\t\t\"impossible-to-delete-the-element\": {\r\n\t\t\t\ten: \"Impossible to delete the element because it contains {0} exercises;\",\r\n\t\t\t\tit: \"Impossibile eliminare l'elemento perchรฉ contiene {0} esercizi;\",\r\n\t\t\t\tes: \"Imposible eliminar el elemento porque contiene {0} ejercicios;\",\r\n\t\t\t\tfr: \"Impossible de supprimer l'รฉlรฉment car il contient {0} exercices;\"\r\n\t\t\t},\r\n\t\t\t\"unable-to-delete-element-stations\": {\r\n\t\t\t\ten: \"Unable to delete the element because it contains {0} exercises. Check that all stations do not have exercises.\",\r\n\t\t\t\tit: \"Impossibile eliminare l'elemento perchรจ contiene {0} esercizi. Controllare che tutte le stazioni non abbiano esercizi.\",\r\n\t\t\t\tes: \"No se puede eliminar el elemento porque contiene {0} ejercicios. Verifique que todas las estaciones no tengan ejercicios.\",\r\n\t\t\t\tfr: \"Impossible de supprimer l'รฉlรฉment car il contient {0} exercices. Vรฉrifiez que toutes les stations n'ont pas d'exercices.\"\r\n\t\t\t},\r\n\t\t\texercise: {\r\n\t\t\t\ten: \"Exercise\",\r\n\t\t\t\tit: \"Esercizio\",\r\n\t\t\t\tes: \"Ejercicio\",\r\n\t\t\t\tfr: \"Exercice\",\r\n\t\t\t},\r\n\t\t\t\"overnight-avg\": {\r\n\t\t\t\ten: \"Overnight Avg\",\r\n\t\t\t\tit: \"Media Notturna\",\r\n\t\t\t\tes: \"Promedio Nocturno\",\r\n\t\t\t\tfr: \"Moyenne Nocturne\"\r\n\t\t\t},\r\n\t\t\t\"kcal-session\": {\r\n\t\t\t\ten: \"kcal/session\",\r\n\t\t\t\tit: \"kcal/sessione\",\r\n\t\t\t\tes: \"kcal/sesiรณn\",\r\n\t\t\t\tfr: \"kcal/sรฉance\"\r\n\t\t\t},\r\n\t\t\t\"upps-session\": {\r\n\t\t\t\ten: \"UPPs/session\",\r\n\t\t\t\tit: \"UPPs/sessione\",\r\n\t\t\t\tes: \"UPPs/sesiรณn\",\r\n\t\t\t\tfr: \"UPPs/sรฉance\"\r\n\t\t\t},\r\n\t\t\t\"open\": {\r\n\t\t\t\ten: \"Open\",\r\n\t\t\t\tit: \"Open\",\r\n\t\t\t\tes: \"Open\",\r\n\t\t\t\tfr: \"Open\"\r\n\t\t\t},\r\n\t\t\t\"you-are-cloning-a-circuit\": {\r\n\t\t\t\ten: \"You are cloning a circuit\",\r\n\t\t\t\tit: \"Stai clonando un circuito\",\r\n\t\t\t\tes: \"Estรกs clonando un circuito\",\r\n\t\t\t\tfr: \"Vous clonez un circuit\"\r\n\t\t\t},\r\n\t\t\t\"station-not-configured-in-the-club\": {\r\n\t\t\t\ten: \"Station not configured in the club\",\r\n\t\t\t\tit: \"Stazione non configurata nel club\",\r\n\t\t\t\tes: \"Estaciรณn no configurada en el club\",\r\n\t\t\t\tfr: \"Station non configurรฉe dans le club\"\r\n\t\t\t},\r\n\t\t\t\"exercise-definition-not-found\": {\r\n\t\t\t\ten: \"Exercise definition not found. Exercise removed. Id: {0}.\",\r\n\t\t\t\tit: \"Definizione dell'esercizio non trovata. Esercizio rimosso. Id: {0}.\",\r\n\t\t\t\tes: \"Definiciรณn del ejercicio no encontrada. Ejercicio eliminado. Id: {0}.\",\r\n\t\t\t\tfr: \"Dรฉfinition de l'exercice non trouvรฉe. Exercice supprimรฉ. Id: {0}.\"\r\n\t\t\t},\r\n\t\t\t\"select-all\": {\r\n\t\t\t\t\"en\": \"Select all\",\r\n\t\t\t\t\"it\": \"Seleziona tutto\",\r\n\t\t\t\t\"es\": \"Seleccionar todo\",\r\n\t\t\t\t\"fr\": \"Sรฉlectionner tout\"\r\n\t\t\t},\r\n\t\t\t\"pause-field-error\": {\r\n\t\t\t\ten: \"Pause field error.\",\r\n\t\t\t\tit: \"Errore campo pausa.\",\r\n\t\t\t\tes: \"Error en el campo de pausa.\",\r\n\t\t\t\tfr: \"Erreur de champ de pause.\"\r\n\t\t\t},\r\n\t\t\t\"check-exercise-pause-field\": {\r\n\t\t\t\ten: \"Check exercise pause field.\",\r\n\t\t\t\tit: \"Controlla il campo pausa esercizio.\",\r\n\t\t\t\tes: \"Verifica el campo de pausa ejercicio.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de pause exercice.\"\r\n\t\t\t},\r\n\t\t\t\"check-set-field\": {\r\n\t\t\t\ten: \"Check set field.\",\r\n\t\t\t\tit: \"Controlla il campo set.\",\r\n\t\t\t\tes: \"Verifica el campo de serie.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de sรฉrie.\"\r\n\t\t\t},\r\n\t\t\t\"check-round-pause-field\": {\r\n\t\t\t\ten: \"Check round pause field.\",\r\n\t\t\t\tit: \"Controlla il campo pausa del round.\",\r\n\t\t\t\tes: \"Verifica el campo de pausa de ronda.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de pause de manche.\"\r\n\t\t\t},\r\n\t\t\t\"check-round-field\": {\r\n\t\t\t\ten: \"Check round field.\",\r\n\t\t\t\tit: \"Controlla il campo round.\",\r\n\t\t\t\tes: \"Verifica el campo de ronda.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de tour.\"\r\n\t\t\t},\r\n\t\t\t\"check-exercise-duration-field\": {\r\n\t\t\t\ten: \"Check exercise duration field.\",\r\n\t\t\t\tit: \"Controlla il campo durata dell'esercizio.\",\r\n\t\t\t\tes: \"Verifica el campo duraciรณn del ejercicio.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de durรฉe de l'exercice.\"\r\n\t\t\t},\r\n\t\t\t\"check-duration-filed\": {\r\n\t\t\t\ten: \"Check duration field.\",\r\n\t\t\t\tit: \"Controlla il campo durata.\",\r\n\t\t\t\tes: \"Verifica el campo duraciรณn.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ de durรฉe.\"\r\n\t\t\t},\r\n\t\t\t\"exercise-note-error\": {\r\n\t\t\t\ten: \"Exercise note error.\",\r\n\t\t\t\tit: \"Errore nota dell'esercizio.\",\r\n\t\t\t\tes: \"Error de nota del ejercicio.\",\r\n\t\t\t\tfr: \"Erreur de note d'exercice.\"\r\n\t\t\t},\r\n\t\t\t\"check-the-element\": {\r\n\t\t\t\ten: \"Check the element {0}.\",\r\n\t\t\t\tit: \"Controlla l'elemento {0}.\",\r\n\t\t\t\tes: \"Verifica el elemento {0}.\",\r\n\t\t\t\tfr: \"Vรฉrifiez l'รฉlรฉment {0}.\"\r\n\t\t\t},\r\n\t\t\t\"you-must-have-at-least-one-exercise-in-each-set\": {\r\n\t\t\t\ten: \"You must have at least one exercise in each set.\",\r\n\t\t\t\tit: \"Devi avere almeno un esercizio in ogni set.\",\r\n\t\t\t\tes: \"Debes tener al menos un ejercicio en cada serie.\",\r\n\t\t\t\tfr: \"Vous devez avoir au moins un exercice dans chaque sรฉrie.\"\r\n\t\t\t},\r\n\t\t\t\"station-with-set-without-exercises\": {\r\n\t\t\t\ten: \"Station with set without exercises.\",\r\n\t\t\t\tit: \"Stazione con set senza esercizi.\",\r\n\t\t\t\tes: \"Estaciรณn con serie sin ejercicios.\",\r\n\t\t\t\tfr: \"Station avec sรฉrie sans exercices.\"\r\n\t\t\t},\r\n\t\t\t\"check-name-field\": {\r\n\t\t\t\ten: \"Check Name Field.\",\r\n\t\t\t\tit: \"Controlla il Campo Nome.\",\r\n\t\t\t\tes: \"Verificar Campo Nombre.\",\r\n\t\t\t\tfr: \"Vรฉrifier le Champ Nom.\"\r\n\t\t\t},\r\n\t\t\t\"check-description-field\": {\r\n\t\t\t\ten: \"Check the description field.\",\r\n\t\t\t\tit: \"Controlla il campo descrizione.\",\r\n\t\t\t\tes: \"Verifique el campo de descripciรณn.\",\r\n\t\t\t\tfr: \"Vรฉrifiez le champ description.\"\r\n\t\t\t},\r\n\t\t\t\"select-club\": {\r\n\t\t\t\ten: \"Select Club\",\r\n\t\t\t\tit: \"Seleziona Club\",\r\n\t\t\t\tes: \"Seleccionar Club\",\r\n\t\t\t\tfr: \"Sรฉlectionner un Club\"\r\n\t\t\t},\r\n\t\t\t\"copy-to-other-club\": {\r\n\t\t\t\t\"en\": \"Copy to other club\",\r\n\t\t\t\t\"it\": \"Copia in un altro club\",\r\n\t\t\t\t\"es\": \"Copiar en otro club\",\r\n\t\t\t\t\"fr\": \"Copier dans un autre club\"\r\n\t\t\t},\r\n\t\t\t\"you-are-about-to-delete-circuit\": {\r\n\t\t\t\ten: \"You are about to delete circuit\",\r\n\t\t\t\tit: \"Stai per eliminare il circuito\",\r\n\t\t\t\tes: \"Estรกs a punto de borrar el circuito\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer le circuit\"\r\n\t\t\t},\r\n\t\t\t\"enable-stations-to-create-synchronized-workouts-on-multiple-TVs\": {\r\n\t\t\t\ten: \"Enable stations to create synchronized workouts on multiple TVs (each station is managed by a different Bridge)\",\r\n\t\t\t\tit: \"Abilita le stazioni per creare workout sincronizzati su piรน televisori (ogni stazione รจ gestita da un Bridge diverso)\",\r\n\t\t\t\tes: \"Habilitar las estaciones para crear entrenamientos sincronizados en varios televisores (cada estaciรณn es administrada por un Bridge diferente)\",\r\n\t\t\t\tfr: \"Activez les stations pour crรฉer des entraรฎnements synchronisรฉs sur plusieurs tรฉlรฉviseurs (chaque station est gรฉrรฉe par un Bridge diffรฉrent)\"\r\n\t\t\t},\r\n\t\t\t\"select-stations\": {\r\n\t\t\t\ten: \"Select Stations\",\r\n\t\t\t\tit: \"Seleziona Stazioni\",\r\n\t\t\t\tes: \"Seleccionar Estaciones\",\r\n\t\t\t\tfr: \"Sรฉlectionner des Stations\"\r\n\t\t\t},\r\n\t\t\t\"stations\": {\r\n\t\t\t\ten: \"Stations\",\r\n\t\t\t\tit: \"Stazioni\",\r\n\t\t\t\tes: \"Estaciones\",\r\n\t\t\t\tfr: \"Stations\"\r\n\t\t\t},\r\n\t\t\t\"to-activate-stations-you-must-have-at-least-one-bridge-with-a-station\": {\r\n\t\t\t\ten: \"To activate stations, you must have at least one bridge with a station\",\r\n\t\t\t\tit: \"Per poter attivare le stazioni devi avere almeno un bridge con una stazione\",\r\n\t\t\t\tes: \"Para activar las estaciones, debes tener al menos un bridge con una estaciรณn\",\r\n\t\t\t\tfr: \"Pour activer les stations, vous devez avoir au moins un bridge avec une station\"\r\n\t\t\t},\r\n\t\t\t\"you-must-select-at-least-one-station-or-deactivate-the-stations\": {\r\n\t\t\t\ten: \"You must select at least one station, or deactivate the stations\",\r\n\t\t\t\tit: \"Devi selezionare almeno una stazione, oppure disattivare le stazioni\",\r\n\t\t\t\tes: \"Debes seleccionar al menos una estaciรณn o desactivar las estaciones\",\r\n\t\t\t\tfr: \"Vous devez sรฉlectionner au moins une station, ou dรฉsactiver les stations\"\r\n\t\t\t},\r\n\t\t\t\"to-deactivate-stations-you-must-have-only-one-active-station\": {\r\n\t\t\t\ten: \"To deactivate stations you must have only one active station\",\r\n\t\t\t\tit: \"Per disattivare le stazioni devi avere attiva solo una stazione\",\r\n\t\t\t\tes: \"Para desactivar las estaciones debes tener solo una estaciรณn activa\",\r\n\t\t\t\tfr: \"Pour dรฉsactiver les stations, vous ne devez avoir qu'une seule station active\"\r\n\t\t\t},\r\n\t\t\t\"impossible-to-remove-station-because-it-contains-exercises\": {\r\n\t\t\t\ten: \"Impossible to remove the station because it contains {0} exercises.\",\r\n\t\t\t\tit: \"Impossibile rimuovere la stazione perchรฉ contiene {0} esercizi.\",\r\n\t\t\t\tes: \"Imposible eliminar la estaciรณn porque contiene {0} ejercicios.\",\r\n\t\t\t\tfr: \"Impossible de supprimer la station car elle contient {0} exercices.\"\r\n\t\t\t},\r\n\t\t\t\"exercise-note\": {\r\n\t\t\t\ten: \"Exercise Note\",\r\n\t\t\t\tit: \"Nota sull'esercizio\",\r\n\t\t\t\tes: \"Nota del ejercicio\",\r\n\t\t\t\tfr: \"Note d'exercice\"\r\n\t\t\t},\r\n\t\t\t\"you-are-about-to-save-some-exercises-in-stations-that-not-exist\": {\r\n\t\t\t\ten: \"You are about to save some exercises in stations that do not exist. Stations: \",\r\n\t\t\t\tit: \"Stai per salvare alcuni esercizi in stazioni che non esistono. Stazioni: \",\r\n\t\t\t\tes: \"Estรกs a punto de guardar algunos ejercicios en estaciones que no existen. Estaciones: \",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de sauvegarder certains exercices dans des stations qui n'existent pas. Stations : \"\r\n\t\t\t},\r\n\t\t\t\"Timer\": {\r\n\t\t\t\ten: \"Interval\",\r\n\t\t\t\tit: \"Interval\",\r\n\t\t\t\tes: \"Interval\",\r\n\t\t\t\tfr: \"Interval\"\r\n\t\t\t},\r\n\t\t\t\"Emom\": {\r\n\t\t\t\ten: \"EMOM\",\r\n\t\t\t\tit: \"EMOM\",\r\n\t\t\t\tes: \"EMOM\",\r\n\t\t\t\tfr: \"EMOM\",\r\n\t\t\t},\r\n\t\t\t\"Amrap\": {\r\n\t\t\t\ten: \"AMRAP\",\r\n\t\t\t\tit: \"AMRAP\",\r\n\t\t\t\tes: \"AMRAP\",\r\n\t\t\t\tfr: \"AMRAP\",\r\n\t\t\t},\r\n\t\t\t\"enable-stations\": {\r\n\t\t\t\ten: \"Enable Stations\",\r\n\t\t\t\tit: \"Abilita Stazioni\",\r\n\t\t\t\tes: \"Activar Estaciones\",\r\n\t\t\t\tfr: \"Activer les Stations\"\r\n\t\t\t},\r\n\t\t\t\"station\": {\r\n\t\t\t\ten: \"Station\",\r\n\t\t\t\tit: \"Stazione\",\r\n\t\t\t\tes: \"Estaciรณn\",\r\n\t\t\t\tfr: \"Station\"\r\n\t\t\t},\r\n\t\t\t\"exercises-pause\": {\r\n\t\t\t\ten: \"Exercises Pause\",\r\n\t\t\t\tit: \"Pausa degli Esercizi\",\r\n\t\t\t\tes: \"Pausa de Ejercicios\",\r\n\t\t\t\tfr: \"Pause des Exercices\"\r\n\t\t\t},\r\n\t\t\t\"lap-pause\": {\r\n\t\t\t\ten: \"Lap Pause\",\r\n\t\t\t\tit: \"Pausa Giro\",\r\n\t\t\t\tes: \"Pausa de Vuelta\",\r\n\t\t\t\tfr: \"Pause de Tour\"\r\n\t\t\t},\r\n\t\t\t\"lap-pause-field-at-least-five-seconds\": {\r\n\t\t\t\ten: \"The Lap Pause field must be at least five seconds.\",\r\n\t\t\t\tit: \"Il campo Pausa Giro deve essere di almeno cinque secondi.\",\r\n\t\t\t\tes: \"El campo Pausa de Vuelta debe ser de al menos cinco segundos.\",\r\n\t\t\t\tfr: \"Le champ Pause de Tour doit รชtre d'au moins cinq secondes.\"\r\n\t\t\t},\r\n\t\t\t\"create-bw-timer\": {\r\n\t\t\t\ten: \"Create Circuit\",\r\n\t\t\t\tit: \"Crea Circuito\",\r\n\t\t\t\tes: \"Crear Circuito\",\r\n\t\t\t\tfr: \"Crรฉer un Circuit\"\r\n\t\t\t},\r\n\t\t\t\"edit-bw-timer\": {\r\n\t\t\t\ten: \"Edit Circuit\",\r\n\t\t\t\tit: \"Modifica Circuito\",\r\n\t\t\t\tes: \"Editar Circuito\",\r\n\t\t\t\tfr: \"Modifier un Circuit\"\r\n\t\t\t},\r\n\t\t\t\"add-bw-timer\": {\r\n\t\t\t\ten: \"Add Circuit\",\r\n\t\t\t\tit: \"Aggiungi Circuito\",\r\n\t\t\t\tes: \"Crear Circuito\",\r\n\t\t\t\tfr: \"Crรฉer Circuit\"\r\n\t\t\t},\r\n\t\t\t\"remove-timer\": {\r\n\t\t\t\ten: \"Remove Circuit\",\r\n\t\t\t\tit: \"Rimuovi Circuito\",\r\n\t\t\t\tes: \"Eliminar Circuito\",\r\n\t\t\t\tfr: \"Supprimer un Circuit\"\r\n\t\t\t},\r\n\t\t\t\"brand\": {\r\n\t\t\t\ten: \"Organization\",\r\n\t\t\t\tit: \"Organizzazione\",\r\n\t\t\t\tes: \"Organizaciรณn\",\r\n\t\t\t\tfr: \"Organisation\"\r\n\t\t\t},\r\n\t\t\t\"templates\": {\r\n\t\t\t\ten: \"Templates\",\r\n\t\t\t\tit: \"Modelli\",\r\n\t\t\t\tes: \"Plantillas\",\r\n\t\t\t\tfr: \"Modรจles\"\r\n\t\t\t},\r\n\t\t\t\"no-activity-in-selected-period\": {\r\n\t\t\t\t\"en\": \"No activity in selected period\",\r\n\t\t\t\t\"it\": \"Nessuna attivitร  nel periodo selezionato\",\r\n\t\t\t\t\"es\": \"Sin actividad en el perรญodo seleccionado\",\r\n\t\t\t\t\"fr\": \"Aucune activitรฉ dans la pรฉriode sรฉlectionnรฉe\"\r\n\t\t\t},\r\n\t\t\t\"intensity-minutes\": {\r\n\t\t\t\t\"en\": \"Intensity Minutes\",\r\n\t\t\t\t\"it\": \"Minuti di Intensitร \",\r\n\t\t\t\t\"es\": \"Minutos de Intensidad\",\r\n\t\t\t\t\"fr\": \"Minutes d'Intensitรฉ\"\r\n\t\t\t},\r\n\t\t\t\"resting-hr\": {\r\n\t\t\t\t\"en\": \"Resting HR\",\r\n\t\t\t\t\"it\": \"HR a Riposo\",\r\n\t\t\t\t\"es\": \"FC en Reposo\",\r\n\t\t\t\t\"fr\": \"FC au Repos\"\r\n\t\t\t},\r\n\t\t\t\"prc\": {\r\n\t\t\t\t\"en\": \"Prc\",\r\n\t\t\t\t\"it\": \"Prc\",\r\n\t\t\t\t\"es\": \"Prc\",\r\n\t\t\t\t\"fr\": \"Prc\"\r\n\t\t\t},\r\n\t\t\t\"rank\": {\r\n\t\t\t\t\"en\": \"Rank\",\r\n\t\t\t\t\"it\": \"Rank\",\r\n\t\t\t\t\"es\": \"Rank\",\r\n\t\t\t\t\"fr\": \"Rank\"\r\n\t\t\t},\r\n\t\t\t\"heartrate\": {\r\n\t\t\t\t\"en\": \"Heart Rate\",\r\n\t\t\t\t\"it\": \"Frequenza Cardiaca\",\r\n\t\t\t\t\"es\": \"Ritmo Cardรญaco\",\r\n\t\t\t\t\"fr\": \"Frรฉquence Cardiaque\"\r\n\t\t\t},\r\n\t\t\t\"stress\": {\r\n\t\t\t\t\"en\": \"Stress\",\r\n\t\t\t\t\"it\": \"Stress\",\r\n\t\t\t\t\"es\": \"Stress\",\r\n\t\t\t\t\"fr\": \"Stress\"\r\n\t\t\t},\r\n\t\t\t\"stress\": {\r\n\t\t\t\t\"en\": \"Stress\",\r\n\t\t\t\t\"it\": \"Stress\",\r\n\t\t\t\t\"es\": \"Stress\",\r\n\t\t\t\t\"fr\": \"Stress\"\r\n\t\t\t},\r\n\t\t\t\"no-data\": {\r\n\t\t\t\t\"en\": \"No Data\",\r\n\t\t\t\t\"it\": \"Nessun Dato\",\r\n\t\t\t\t\"es\": \"Sin Datos\",\r\n\t\t\t\t\"fr\": \"Pas de Donnรฉes\"\r\n\t\t\t},\r\n\t\t\t\"rest-stress-duration\": {\r\n\t\t\t\t\"en\": \"Rest Stress Duration\",\r\n\t\t\t\t\"it\": \"Durata Stress Riposo\",\r\n\t\t\t\t\"es\": \"Duraciรณn de Estrรฉs en Reposo\",\r\n\t\t\t\t\"fr\": \"Durรฉe du Stress au Repos\"\r\n\t\t\t},\r\n\t\t\t\"high-stress-duration\": {\r\n\t\t\t\t\"en\": \"High Stress Duration\",\r\n\t\t\t\t\"it\": \"Durata Stress Elevato\",\r\n\t\t\t\t\"es\": \"Duraciรณn de Estrรฉs Alto\",\r\n\t\t\t\t\"fr\": \"Durรฉe du Stress ร‰levรฉ\"\r\n\t\t\t},\r\n\t\t\t\"medium-stress-duration\": {\r\n\t\t\t\t\"en\": \"Medium Stress Duration\",\r\n\t\t\t\t\"it\": \"Durata Stress Media\",\r\n\t\t\t\t\"es\": \"Duraciรณn de Estrรฉs Medio\",\r\n\t\t\t\t\"fr\": \"Durรฉe du Stress Moyen\"\r\n\t\t\t},\r\n\t\t\t\"low-stress-duration\": {\r\n\t\t\t\t\"en\": \"Low Stress Duration\",\r\n\t\t\t\t\"it\": \"Durata Stress Bassa\",\r\n\t\t\t\t\"es\": \"Duraciรณn de Estrรฉs Bajo\",\r\n\t\t\t\t\"fr\": \"Durรฉe du Stress Faible\"\r\n\t\t\t},\r\n\t\t\t\"completed\": {\r\n\t\t\t\t\"en\": \"Completed\",\r\n\t\t\t\t\"it\": \"Completato\",\r\n\t\t\t\t\"es\": \"Completado\",\r\n\t\t\t\t\"fr\": \"Terminรฉ\"\r\n\t\t\t},\r\n\t\t\t\"to-do\": {\r\n\t\t\t\t\"en\": \"To Do\",\r\n\t\t\t\t\"it\": \"Da Fare\",\r\n\t\t\t\t\"es\": \"Por Hacer\",\r\n\t\t\t\t\"fr\": \"ร€ Faire\"\r\n\t\t\t},\r\n\t\t\t\"sleep-FAIR\": {\r\n\t\t\t\t\"en\": \"Fair\",\r\n\t\t\t\t\"it\": \"Discreto\",\r\n\t\t\t\t\"es\": \"Fair\",\r\n\t\t\t\t\"fr\": \"Fair\"\r\n\t\t\t},\r\n\t\t\t\"sleep-POOR\": {\r\n\t\t\t\t\"en\": \"Poor\",\r\n\t\t\t\t\"it\": \"Scarso\",\r\n\t\t\t\t\"es\": \"Pobre\",\r\n\t\t\t\t\"fr\": \"Mauvais\"\r\n\t\t\t},\r\n\t\t\t\"sleep-GOOD\": {\r\n\t\t\t\t\"en\": \"Good\",\r\n\t\t\t\t\"it\": \"Buono\",\r\n\t\t\t\t\"es\": \"Bueno\",\r\n\t\t\t\t\"fr\": \"Bon\"\r\n\t\t\t},\r\n\t\t\t\"sleep-EXCELLENT\": {\r\n\t\t\t\t\"en\": \"Excellent\",\r\n\t\t\t\t\"it\": \"Eccellente\",\r\n\t\t\t\t\"es\": \"Excelente\",\r\n\t\t\t\t\"fr\": \"Excellent\"\r\n\t\t\t},\r\n\t\t\t\"health\": {\r\n\t\t\t\ten: \"Health\",\r\n\t\t\t\tit: \"Health\",\r\n\t\t\t\tes: \"Health\",\r\n\t\t\t\tfr: \"Health\"\r\n\t\t\t},\r\n\t\t\t\"garmin-health\": {\r\n\t\t\t\ten: \"Garmin Health\",\r\n\t\t\t\tit: \"Garmin Health\",\r\n\t\t\t\tes: \"Garmin Health\",\r\n\t\t\t\tfr: \"Garmin Health\"\r\n\t\t\t},\r\n\t\t\t\"resting-calories\": {\r\n\t\t\t\ten: \"Resting Calories\",\r\n\t\t\t\tit: \"Calorie a Riposo\",\r\n\t\t\t\tes: \"Calorรญas en Reposo\",\r\n\t\t\t\tfr: \"Calories au Repos\"\r\n\t\t\t},\r\n\t\t\t\"active-calories\": {\r\n\t\t\t\ten: \"Active Calories\",\r\n\t\t\t\tit: \"Calorie Attive\",\r\n\t\t\t\tes: \"Calorรญas Activas\",\r\n\t\t\t\tfr: \"Calories Actives\"\r\n\t\t\t},\r\n\t\t\t\"you-can-view-the-data-up-to-today-date\": {\r\n\t\t\t\ten: \"You can view the data up to today's date\",\r\n\t\t\t\tit: \"Puoi visualizzare i dati fino alla data odierna\",\r\n\t\t\t\tes: \"Puedes ver los datos hasta la fecha de hoy\",\r\n\t\t\t\tfr: \"Vous pouvez consulter les donnรฉes jusqu'ร  la date d'aujourd'hui\"\r\n\t\t\t},\r\n\t\t\t\"avg-resting-hr\": {\r\n\t\t\t\ten: \"Average Resting HR\",\r\n\t\t\t\tit: \"HR a Riposo Media\",\r\n\t\t\t\tes: \"HR en Reposo Promedio\",\r\n\t\t\t\tfr: \"HR au Repos Moyenne\"\r\n\t\t\t},\r\n\t\t\t\"tot-activities\": {\r\n\t\t\t\ten: \"Total Activities\",\r\n\t\t\t\tit: \"Attivitร  Totali\",\r\n\t\t\t\tes: \"Actividades Totales\",\r\n\t\t\t\tfr: \"Activitรฉs Totales\"\r\n\t\t\t},\r\n\t\t\t\"sleep\": {\r\n\t\t\t\ten: \"Sleep\",\r\n\t\t\t\tit: \"Sonno\",\r\n\t\t\t\tes: \"Sueรฑo\",\r\n\t\t\t\tfr: \"Sommeil\"\r\n\t\t\t},\r\n\t\t\t\"avg-body-battery\": {\r\n\t\t\t\ten: \"Average Body Battery\",\r\n\t\t\t\tit: \"Body Battery Media\",\r\n\t\t\t\tes: \"Body Battery Promedio\",\r\n\t\t\t\tfr: \"Body Battery Moyenne\"\r\n\t\t\t},\r\n\t\t\t\"7-day-average\": {\r\n\t\t\t\ten: \"7-Day Average\",\r\n\t\t\t\tit: \"Media 7 giorni\",\r\n\t\t\t\tes: \"Promedio de 7 dรญas\",\r\n\t\t\t\tfr: \"Moyenne sur 7 jours\"\r\n\t\t\t},\r\n\t\t\t\"avg-stress-level\": {\r\n\t\t\t\ten: \"Average Stress Level\",\r\n\t\t\t\tit: \"Livello di Stress Medio\",\r\n\t\t\t\tes: \"Nivel de Estrรฉs Promedio\",\r\n\t\t\t\tfr: \"Niveau de Stress Moyen\"\r\n\t\t\t},\r\n\t\t\t\"intensity-minutes\": {\r\n\t\t\t\ten: \"Intensity Minutes\",\r\n\t\t\t\tit: \"Minuti di Intensitร \",\r\n\t\t\t\tes: \"Minutos de Intensidad\",\r\n\t\t\t\tfr: \"Minutes d'Intensitรฉ\"\r\n\t\t\t},\r\n\t\t\t\"resting\": {\r\n\t\t\t\ten: \"Resting\",\r\n\t\t\t\tit: \"A riposo\",\r\n\t\t\t\tes: \"En reposo\",\r\n\t\t\t\tfr: \"Repos\"\r\n\t\t\t},\r\n\t\t\t\"body-battery\": {\r\n\t\t\t\ten: \"Body Battery\",\r\n\t\t\t\tit: \"Body Battery\",\r\n\t\t\t\tes: \"Body Battery\",\r\n\t\t\t\tfr: \"Body Battery\"\r\n\t\t\t},\r\n\t\t\t\"highest\": {\r\n\t\t\t\ten: \"Highest\",\r\n\t\t\t\tit: \"Piรน alto\",\r\n\t\t\t\tes: \"Mรกs alto\",\r\n\t\t\t\tfr: \"Le plus รฉlevรฉ\"\r\n\t\t\t},\r\n\t\t\t\"lowest\": {\r\n\t\t\t\ten: \"Lowest\",\r\n\t\t\t\tit: \"Piรน basso\",\r\n\t\t\t\tes: \"Mรกs bajo\",\r\n\t\t\t\tfr: \"Le plus bas\"\r\n\t\t\t},\r\n\t\t\t\"hrv-status\": {\r\n\t\t\t\ten: \"HRV Status\",\r\n\t\t\t\tit: \"Stato HRV\",\r\n\t\t\t\tes: \"Estado de HRV\",\r\n\t\t\t\tfr: \"ร‰tat HRV\"\r\n\t\t\t},\r\n\t\t\t\"stress-level\": {\r\n\t\t\t\ten: \"Stress Level\",\r\n\t\t\t\tit: \"Livello di Stress\",\r\n\t\t\t\tes: \"Nivel de Estrรฉs\",\r\n\t\t\t\tfr: \"Niveau de Stress\"\r\n\t\t\t},\r\n\t\t\t\"score\": {\r\n\t\t\t\ten: \"Score\",\r\n\t\t\t\tit: \"Punteggio\",\r\n\t\t\t\tes: \"Puntaje\",\r\n\t\t\t\tfr: \"Score\"\r\n\t\t\t},\r\n\t\t\t\"avg-score\": {\r\n\t\t\t\ten: \"Average Score\",\r\n\t\t\t\tit: \"Punteggio Medio\",\r\n\t\t\t\tes: \"Puntuaciรณn Promedio\",\r\n\t\t\t\tfr: \"Score Moyen\"\r\n\t\t\t},\r\n\t\t\t\"steps\": {\r\n\t\t\t\ten: \"Steps\",\r\n\t\t\t\tit: \"Passi\",\r\n\t\t\t\tes: \"Pasos\",\r\n\t\t\t\tfr: \"Pas\"\r\n\t\t\t},\r\n\t\t\t\"week-goal\": {\r\n\t\t\t\ten: \"Week Goal\",\r\n\t\t\t\tit: \"Obiettivo Settimanale\",\r\n\t\t\t\tes: \"Meta Semanal\",\r\n\t\t\t\tfr: \"Objectif Hebdomadaire\"\r\n\t\t\t},\r\n\t\t\t\"deep\": {\r\n\t\t\t\ten: \"Deep\",\r\n\t\t\t\tit: \"Profondo\",\r\n\t\t\t\tes: \"Profundo\",\r\n\t\t\t\tfr: \"Profond\",\r\n\t\t\t},\r\n\t\t\t\"light\": {\r\n\t\t\t\ten: \"Light\",\r\n\t\t\t\tit: \"Leggero\",\r\n\t\t\t\tes: \"Ligero\",\r\n\t\t\t\tfr: \"Lรฉger\",\r\n\t\t\t},\r\n\t\t\t\"rem\": {\r\n\t\t\t\ten: \"REM\",\r\n\t\t\t\tit: \"REM\",\r\n\t\t\t\tes: \"MOR\",\r\n\t\t\t\tfr: \"Sommeil Paradoxal\",\r\n\t\t\t},\r\n\t\t\t\"awake\": {\r\n\t\t\t\ten: \"Awake\",\r\n\t\t\t\tit: \"Veglia\",\r\n\t\t\t\tes: \"Vigilia\",\r\n\t\t\t\tfr: \"ร‰veil\",\r\n\t\t\t},\r\n\t\t\t\"help\": {\r\n\t\t\t\ten: \"Help\",\r\n\t\t\t\tit: \"Aiuto\",\r\n\t\t\t\tes: \"Ayuda\",\r\n\t\t\t\tfr: \"Aide\",\r\n\t\t\t},\r\n\t\t\t\"news-title\": {\r\n\t\t\t\ten: \"What's New\",\r\n\t\t\t\tit: \"Nuove Funzionalitร \",\r\n\t\t\t\tes: \"Novedades\",\r\n\t\t\t\tfr: \"Nouvelles fonctionnalitรฉs\",\r\n\t\t\t},\r\n\t\t\tboxing: {\r\n\t\t\t\ten: \"Combat\",\r\n\t\t\t\tit: \"Combat\",\r\n\t\t\t\tes: \"Combat\",\r\n\t\t\t\tfr: \"Combat\",\r\n\t\t\t},\r\n\t\t\tpunch: {\r\n\t\t\t\ten: \"punch\",\r\n\t\t\t\tit: \"pugno\",\r\n\t\t\t\tes: \"puรฑo\",\r\n\t\t\t\tfr: \"poing\",\r\n\t\t\t},\r\n\t\t\t\"you-are-about-to-delete\": {\r\n\t\t\t\ten: \"You are about to delete\",\r\n\t\t\t\tit: \"Stai per cancellare\",\r\n\t\t\t\tes: \"Estรกs a punto de cancelar\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point d'annuler\",\r\n\t\t\t},\r\n\t\t\t\"this-file-is-assigned-to\": {\r\n\t\t\t\ten: \"This workout is assigned to {0} athletes.\",\r\n\t\t\t\tit: \"Questo workout รจ assegnato a {0} atleti.\",\r\n\t\t\t\tes: \"Este entrenamiento estรก asignado a {0} atletas.\",\r\n\t\t\t\tfr: \"Cet entraรฎnement est attribuรฉ ร  {0} athlรจtes.\",\r\n\t\t\t},\r\n\t\t\thit: {\r\n\t\t\t\ten: \"hit\",\r\n\t\t\t\tit: \"colpo\",\r\n\t\t\t\tes: \"puรฑo\",\r\n\t\t\t\tfr: \"poing\",\r\n\t\t\t},\r\n\t\t\tmode: {\r\n\t\t\t\ten: \"Mode\",\r\n\t\t\t\tit: \"Modalitร \",\r\n\t\t\t\tes: \"Modo\",\r\n\t\t\t\tfr: \"Mode\",\r\n\t\t\t},\r\n\t\t\t\"visibility-days-must-be-greater-than-Booking-hours-by-24-hours\": {\r\n\t\t\t\ten: \"Visibility days must be greater than Booking hours by 24 hours.\",\r\n\t\t\t\tit: \"I giorni di visibilitร  devono essere superiori alle ore di prenotazione di 24 ore.\",\r\n\t\t\t\tes: \"Los dรญas de visibilidad deben ser mayores que las horas de reserva en 24 horas.\",\r\n\t\t\t\tfr: \"Les jours de visibilitรฉ doivent รชtre supรฉrieurs aux heures de rรฉservation de 24 heures.\",\r\n\t\t\t},\r\n\t\t\t\"4-week\": {\r\n\t\t\t\ten: \"4 Week\",\r\n\t\t\t\tit: \"4 Settimane\",\r\n\t\t\t\tes: \"4 Semanas\",\r\n\t\t\t\tfr: \"4 Semaines\",\r\n\t\t\t},\r\n\t\t\t\"7-days\": {\r\n\t\t\t\ten: \"7 Days\",\r\n\t\t\t\tit: \"7 Giorni\",\r\n\t\t\t\tes: \"7 Dรญas\",\r\n\t\t\t\tfr: \"7 Jours\"\r\n\t\t\t},\r\n\t\t\tweek: {\r\n\t\t\t\ten: \"Week\",\r\n\t\t\t\tit: \"Settimana\",\r\n\t\t\t\tes: \"Semana\",\r\n\t\t\t\tfr: \"Semaine\",\r\n\t\t\t},\r\n\t\t\t\"this-week\": {\r\n\t\t\t\ten: \"This week\",\r\n\t\t\t\tit: \"Questa Settimana\",\r\n\t\t\t\tes: \"Esta semana\",\r\n\t\t\t\tfr: \"Cette semaine\",\r\n\t\t\t},\r\n\t\t\t\"single-service\": {\r\n\t\t\t\ten: \"Single Service\",\r\n\t\t\t\tit: \"Singolo Servizio\",\r\n\t\t\t\tes: \"Servicio Unico\",\r\n\t\t\t\tfr: \"Service Unique\",\r\n\t\t\t},\r\n\t\t\torigin: {\r\n\t\t\t\ten: \"Origin\",\r\n\t\t\t\tit: \"Origine\",\r\n\t\t\t\tes: \"Origen\",\r\n\t\t\t\tfr: \"Origine\",\r\n\t\t\t},\r\n\t\t\t\"select-operator\": {\r\n\t\t\t\ten: \"Select operator\",\r\n\t\t\t\tit: \"Seleziona operatore\",\r\n\t\t\t\tes: \"Seleccionar operador\",\r\n\t\t\t\tfr: \"sรฉlectionner l'opรฉrateur\",\r\n\t\t\t},\r\n\t\t\t\"operator-name\": {\r\n\t\t\t\ten: \"Operator name\",\r\n\t\t\t\tit: \"Nome operatore\",\r\n\t\t\t\tes: \"Nombre del operador\",\r\n\t\t\t\tfr: \"Nom de l'opรฉrateur\",\r\n\t\t\t},\r\n\t\t\toperator: {\r\n\t\t\t\ten: \"Operator\",\r\n\t\t\t\tit: \"Operatore\",\r\n\t\t\t\tes: \"Operador\",\r\n\t\t\t\tfr: \"Opรฉrateur\",\r\n\t\t\t},\r\n\t\t\t\"enable-uptivo-live\": {\r\n\t\t\t\ten: \"Enable Uptivo LIVE\",\r\n\t\t\t\tit: \"Abilita Uptivo LIVE\",\r\n\t\t\t\tes: \"Activar Uptivo LIVE\",\r\n\t\t\t\tfr: \"Activer Uptivo LIVE\",\r\n\t\t\t},\r\n\t\t\t\"enable-activities\": {\r\n\t\t\t\ten: \"Enable Activities\",\r\n\t\t\t\tit: \"Abilita Attivitร \",\r\n\t\t\t\tes: \"Activar Actividades\",\r\n\t\t\t\tfr: \"Activer Planning\",\r\n\t\t\t},\r\n\t\t\t\"enable-on-demand\": {\r\n\t\t\t\ten: \"Enable On Demand\",\r\n\t\t\t\tit: \"Abilita On Demand\",\r\n\t\t\t\tes: \"Activar On Demand\",\r\n\t\t\t\tfr: \"Activer On Demand\",\r\n\t\t\t},\r\n\t\t\t\"disable-dashboard\": {\r\n\t\t\t\ten: \"Disable Dashboard\",\r\n\t\t\t\tit: \"Disabilita Dashboard\",\r\n\t\t\t\tes: \"Deshabilitar Dashboard\",\r\n\t\t\t\tfr: \"Dรฉsactiver Dashboard\",\r\n\t\t\t},\r\n\t\t\tsubscriptions: {\r\n\t\t\t\ten: \"Subscriptions\",\r\n\t\t\t\tit: \"Abbonamenti\",\r\n\t\t\t\tes: \"Suscripciones\",\r\n\t\t\t\tfr: \"Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-on-demand\": {\r\n\t\t\t\ten: \"On Demand\",\r\n\t\t\t\tit: \"On Demand\",\r\n\t\t\t\tes: \"On Demand\",\r\n\t\t\t\tfr: \"On Demand\",\r\n\t\t\t},\r\n\t\t\t\"sensor-already-associated\": {\r\n\t\t\t\ten: \"Sensor Already Associated\",\r\n\t\t\t\tit: \"Sensore Giร  Associato\",\r\n\t\t\t\tes: \"Sensor Ya Asociado\",\r\n\t\t\t\tfr: \"Capteur Dรฉjร  Associรฉ\",\r\n\t\t\t},\r\n\t\t\t\"associate-anyway\": {\r\n\t\t\t\ten: \"Associate Anyway\",\r\n\t\t\t\tit: \"Associa Comunque\",\r\n\t\t\t\tes: \"Asociar Igualmente\",\r\n\t\t\t\tfr: \"Associer Quand Mรชme\",\r\n\t\t\t},\r\n\t\t\t\"this-sensor-is-already-associated-with-these-club-users\": {\r\n\t\t\t\ten: \"This sensor is already associated with these club users. \\n If you proceed, the sensor will be disassociated from the other users.\",\r\n\t\t\t\tit: \"Questo sensore risulta giร  associato a questi utenti del club. \\n Se si procede, il sensore verrร  dissociato dagli altri utenti.\",\r\n\t\t\t\tes: \"Este sensor ya estรก asociado con estos usuarios del club. \\n Si continรบa, el sensor se desvincularรก de los demรกs usuarios.\",\r\n\t\t\t\tfr: \"Ce capteur est dรฉjร  associรฉ ร  ces utilisateurs du club. \\n Si vous continuez, le capteur sera dissociรฉ des autres utilisateurs.\",\r\n\t\t\t},\r\n\t\t\t\"this-sensor-is-already-associated-with-this-user\": {\r\n\t\t\t\ten: \"This sensor is already associated with this user.\",\r\n\t\t\t\tit: \"Questo sensore risulta giร  associato a questo utente\",\r\n\t\t\t\tes: \"Este sensor ya estรก asociado con este usuario.\",\r\n\t\t\t\tfr: \"Ce capteur est dรฉjร  associรฉ ร  cet utilisateur.\",\r\n\t\t\t},\r\n\t\t\tassociate: {\r\n\t\t\t\ten: \"Associate\",\r\n\t\t\t\tit: \"Associa\",\r\n\t\t\t\tes: \"Asociar\",\r\n\t\t\t\tfr: \"Associer\",\r\n\t\t\t},\r\n\t\t\t\"invite-user\": {\r\n\t\t\t\ten: \"Invite User\",\r\n\t\t\t\tit: \"Invita Utente\",\r\n\t\t\t\tes: \"Invitar usuario\",\r\n\t\t\t\tfr: \"Inviter un utilisateur\",\r\n\t\t\t},\r\n\t\t\tcreate: {\r\n\t\t\t\ten: \"Create\",\r\n\t\t\t\tit: \"Crea\",\r\n\t\t\t\tes: \"Crear\",\r\n\t\t\t\tfr: \"Crรฉer\",\r\n\t\t\t},\r\n\t\t\texpired: {\r\n\t\t\t\ten: \"Expired\",\r\n\t\t\t\tit: \"Scaduto\",\r\n\t\t\t\tes: \"Caducado\",\r\n\t\t\t\tfr: \"Expirรฉ\",\r\n\t\t\t},\r\n\t\t\ttime: {\r\n\t\t\t\ten: \"Time\",\r\n\t\t\t\tit: \"Tempo\",\r\n\t\t\t\tes: \"Tiempo\",\r\n\t\t\t\tfr: \"Temps\",\r\n\t\t\t},\r\n\t\t\tora: {\r\n\t\t\t\ten: \"Hour\",\r\n\t\t\t\tit: \"Ora\",\r\n\t\t\t\tes: \"Hora\",\r\n\t\t\t\tfr: \"Heure\",\r\n\t\t\t},\r\n\t\t\thide: {\r\n\t\t\t\ten: \"Hide\",\r\n\t\t\t\tit: \"Nascondi\",\r\n\t\t\t\tes: \"Ocultar\",\r\n\t\t\t\tfr: \"Masquer\",\r\n\t\t\t},\r\n\t\t\tspeed: {\r\n\t\t\t\ten: \"Speed\",\r\n\t\t\t\tit: \"Velocitร \",\r\n\t\t\t\tes: \"Velocidad\",\r\n\t\t\t\tfr: \"Vitesse\",\r\n\t\t\t},\r\n\t\t\tenable: {\r\n\t\t\t\ten: \"Enable\",\r\n\t\t\t\tit: \"Abilita\",\r\n\t\t\t\tes: \"Activar\",\r\n\t\t\t\tfr: \"Activer\",\r\n\t\t\t},\r\n\t\t\tdisable: {\r\n\t\t\t\t\"en\": \"Disable\",\r\n\t\t\t\t\"it\": \"Disabilita\",\r\n\t\t\t\t\"es\": \"Desactivar\",\r\n\t\t\t\t\"fr\": \"Dรฉsactiver\"\r\n\t\t\t},\r\n\t\t\tunlimited: {\r\n\t\t\t\ten: \"Unlimited\",\r\n\t\t\t\tit: \"Illimitato\",\r\n\t\t\t\tes: \"Ilimitada\",\r\n\t\t\t\tfr: \"Illimitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"create-new\": {\r\n\t\t\t\ten: \"Create a new\",\r\n\t\t\t\tit: \"Crea un nuovo\",\r\n\t\t\t\tes: \"Crea un nuevo\",\r\n\t\t\t\tfr: \"Crรฉer un nouveau\",\r\n\t\t\t},\r\n\t\t\t\"club-message\": {\r\n\t\t\t\ten: \"Message\",\r\n\t\t\t\tit: \"Messaggio\",\r\n\t\t\t\tes: \"Mensaje\",\r\n\t\t\t\tfr: \"Message\",\r\n\t\t\t},\r\n\t\t\t\"no-club-messages\": {\r\n\t\t\t\ten: \"There are no Message Templates set.\",\r\n\t\t\t\tit: \"Non ci sono modelli di messaggio impostati.\",\r\n\t\t\t\tes: \"No hay plantillas de mensaje establecidas.\",\r\n\t\t\t\tfr: \"Il n'y a pas de modรจles de message dรฉfinis.\",\r\n\t\t\t},\r\n\t\t\t\"select-message\": {\r\n\t\t\t\ten: \"Select a message\",\r\n\t\t\t\tit: \"Seleziona un messaggio\",\r\n\t\t\t\tes: \"Selecciona un mensaje\",\r\n\t\t\t\tfr: \"Sรฉlectionnez un message\",\r\n\t\t\t},\r\n\t\t\t\"activities-not-enabled-club\": {\r\n\t\t\t\ten: \"Activities are not enabled for the selected club.\",\r\n\t\t\t\tit: \"Le attivitร  non sono abilitate nel club selezionato.\",\r\n\t\t\t\tes: \"Las actividades no estรกn habilitadas en el club seleccionado.\",\r\n\t\t\t\tfr: \"Les activitรฉs ne sont pas activรฉes dans le club sรฉlectionnรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"dashboard-not-enabled-club\": {\r\n\t\t\t\ten: \"The dashboard is not enabled in the selected club.\",\r\n\t\t\t\tit: \"La dashboard non รจ abilitata nel club selezionato.\",\r\n\t\t\t\tes: \"El panel de control no estรก habilitado en el club seleccionado.\",\r\n\t\t\t\tfr: \"Le tableau de bord n'est pas activรฉ dans le club sรฉlectionnรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"total-space-used\": {\r\n\t\t\t\ten: \"Total space used: \",\r\n\t\t\t\tit: \"Spazio totale utilizzato: \",\r\n\t\t\t\tes: \"Espacio total utilizado: \",\r\n\t\t\t\tfr: \"Espace total utilisรฉ: \",\r\n\t\t\t},\r\n\t\t\t\"folder-space-used\": {\r\n\t\t\t\ten: \"Space used by the folder \",\r\n\t\t\t\tit: \"Spazio utilizzato dalla cartella: \",\r\n\t\t\t\tes: \"Espacio utilizado por la carpeta: \",\r\n\t\t\t\tfr: \"Espace utilisรฉ par le dossier: \",\r\n\t\t\t},\r\n\t\t\tbiometrics: {\r\n\t\t\t\ten: \"Biometrics\",\r\n\t\t\t\tit: \"Biometriche\",\r\n\t\t\t\tes: \"Biometrรญa\",\r\n\t\t\t\tfr: \"Biomรฉtrie\",\r\n\t\t\t},\r\n\t\t\t\"add-measurements\": {\r\n\t\t\t\ten: \"Create measurements\",\r\n\t\t\t\tit: \"Crea misurazioni\",\r\n\t\t\t\tes: \"Crear medidas\",\r\n\t\t\t\tfr: \"Crรฉer des mesures\",\r\n\t\t\t},\r\n\t\t\tany: {\r\n\t\t\t\ten: \"All\",\r\n\t\t\t\tit: \"Tutti\",\r\n\t\t\t\tes: \"Todos\",\r\n\t\t\t\tfr: \"Tous\",\r\n\t\t\t},\r\n\t\t\t\"new-tag\": {\r\n\t\t\t\ten: \"New Group\",\r\n\t\t\t\tit: \"Nuovo Gruppo\",\r\n\t\t\t\tes: \"Nuevo Grupo\",\r\n\t\t\t\tfr: \"Nouveau Groupe\",\r\n\t\t\t},\r\n\t\t\t\"no-tags-defined\": {\r\n\t\t\t\ten: \"You haven't defined any groups yet.\",\r\n\t\t\t\tit: \"Non hai ancora definito nessun gruppo.\",\r\n\t\t\t\tes: \"Aรบn no has definido ningรบn grupo.\",\r\n\t\t\t\tfr: \"Vous n'avez encore dรฉfini aucun groupe.\",\r\n\t\t\t},\r\n\t\t\t\"define-tags-help\": {\r\n\t\t\t\ten: \"Go to Club Settings to create nee groups and organize your members into groups.\",\r\n\t\t\t\tit: \"Vai in Club Impostazioni per creare nuovi gruppi e organizzare i tuoi membri in gruppi.\",\r\n\t\t\t\tes: \"Vaya a Club Ajustes para crear nuevos grupos y organizar a sus miembros en grupos.\",\r\n\t\t\t\tfr: \"Accรฉdez ร  Club Rรฉglages pour crรฉer de nouveaux groupes et organiser vos membres en groupes.\",\r\n\t\t\t},\r\n\t\t\t\"select-tags\": {\r\n\t\t\t\ten: \"Filter By Groups\",\r\n\t\t\t\tit: \"Filtra Per Gruppi\",\r\n\t\t\t\tes: \"Filtrar Por Grupos\",\r\n\t\t\t\tfr: \"Filtrer Par Groupes\",\r\n\t\t\t},\r\n\t\t\t\"edit-training\": {\r\n\t\t\t\ten: \"Edit training\",\r\n\t\t\t\tit: \"Modifica allenamento\",\r\n\t\t\t\tes: \"Editar entrenamiento\",\r\n\t\t\t\tfr: \"Modifier l'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\ttrainings: {\r\n\t\t\t\ten: \"Trainings\",\r\n\t\t\t\tit: \"Allenamenti\",\r\n\t\t\t\tes: \"Entrenamientos\",\r\n\t\t\t\tfr: \"Entraรฎnements\",\r\n\t\t\t},\r\n\t\t\tathletes: {\r\n\t\t\t\ten: \"Athletes\",\r\n\t\t\t\tit: \"Atleti\",\r\n\t\t\t\tes: \"Deportistas\",\r\n\t\t\t\tfr: \"Athlรจtes\",\r\n\t\t\t},\r\n\t\t\troles: {\r\n\t\t\t\ten: \"Roles\",\r\n\t\t\t\tit: \"Ruoli\",\r\n\t\t\t\tes: \"Roles\",\r\n\t\t\t\tfr: \"Rรดles\",\r\n\t\t\t},\r\n\t\t\tversion: {\r\n\t\t\t\ten: \"Version\",\r\n\t\t\t\tit: \"Versione\",\r\n\t\t\t\tes: \"Versiรณn\",\r\n\t\t\t\tfr: \"Version\",\r\n\t\t\t},\r\n\t\t\tnotes: {\r\n\t\t\t\ten: \"Notes\",\r\n\t\t\t\tit: \"Note\",\r\n\t\t\t\tes: \"Notas\",\r\n\t\t\t\tfr: \"Notes\",\r\n\t\t\t},\r\n\t\t\tview: {\r\n\t\t\t\ten: \"View\",\r\n\t\t\t\tit: \"Vedi\",\r\n\t\t\t\tes: \"Ver\",\r\n\t\t\t\tfr: \"Voir\",\r\n\t\t\t},\r\n\t\t\t\"shares-count\": {\r\n\t\t\t\ten: \"{0} shares\",\r\n\t\t\t\tit: \"{0} condivisioni\",\r\n\t\t\t\tes: \"{0} repartos\",\r\n\t\t\t\tfr: \"{0} partages\",\r\n\t\t\t},\r\n\t\t\t\"assign-tags\": {\r\n\t\t\t\ten: \"Add Gropus\",\r\n\t\t\t\tit: \"Aggiungi Gruppi\",\r\n\t\t\t\tes: \"Aรฑadir Grupos\",\r\n\t\t\t\tfr: \"Ajouter Groupes\",\r\n\t\t\t},\r\n\t\t\t\"remove-tags\": {\r\n\t\t\t\ten: \"Remove Gropus\",\r\n\t\t\t\tit: \"Rimuovi Gruppi\",\r\n\t\t\t\tes: \"Quitar Grupos\",\r\n\t\t\t\tfr: \"Retirer Groupes\",\r\n\t\t\t},\r\n\t\t\t\"assign-tags-result\": {\r\n\t\t\t\ten: \"{0} users were added to the group.\",\r\n\t\t\t\tit: \"{0} utenti sono stati aggiunti al gruppo.\",\r\n\t\t\t\tes: \"Se agregaron {0} usuarios al grupo.\",\r\n\t\t\t\tfr: \"{0} utilisateurs ont รฉtรฉ ajoutรฉs au groupe.\",\r\n\t\t\t},\r\n\t\t\t\"remove-tags-result\": {\r\n\t\t\t\ten: \"{0} users were removed from the group.\",\r\n\t\t\t\tit: \"{0} utenti sono stati rimossi dal gruppo\",\r\n\t\t\t\tes: \"Se han eliminado {0} grupos.\",\r\n\t\t\t\tfr: \"{0} รฉtiquettes ont รฉtรฉ groupes\",\r\n\t\t\t},\r\n\t\t\t\"send-message-result\": {\r\n\t\t\t\ten: \"The message has been sent to {0} athletes.\",\r\n\t\t\t\tit: \"Il messaggio รจ stato inviato a {0} atleti.\",\r\n\t\t\t\tes: \"{0} usuarios fueron eliminados del grupo.\",\r\n\t\t\t\tfr: \"{0} utilisateurs ont รฉtรฉ supprimรฉs du groupe.\",\r\n\t\t\t},\r\n\t\t\t\"share-training-program-result\": {\r\n\t\t\t\ten: \"The program has been shared with {0} athletes (out of {1})\",\r\n\t\t\t\tit: \"Il programma รจ stato condiviso con {0} atleti (su {1})\",\r\n\t\t\t\tes: \"El programa fue compartido con {0} atletas (de {1})\",\r\n\t\t\t\tfr: \"Le programme a รฉtรฉ partagรฉ avec {0} athlรจtes (sur {1})\",\r\n\t\t\t},\r\n\t\t\t\"unshare-training-program-result\": {\r\n\t\t\t\ten: \"Sharing has been removed from {0} athletes (out of {1})\",\r\n\t\t\t\tit: \"La condivisione รจ stata rimossa da {0} atleti (su {1})\",\r\n\t\t\t\tes: \"Compartir ha sido eliminado por {0} atletas (de {1})\",\r\n\t\t\t\tfr: \"Le partage a รฉtรฉ supprimรฉ par {0} athlรจtes (sur {1})\",\r\n\t\t\t},\r\n\t\t\tsend: {\r\n\t\t\t\ten: \"Send\",\r\n\t\t\t\tit: \"Invia\",\r\n\t\t\t\tes: \"Enviar\",\r\n\t\t\t\tfr: \"Envoyer\",\r\n\t\t\t},\r\n\t\t\t\"send-message\": {\r\n\t\t\t\ten: \"Send Message\",\r\n\t\t\t\tit: \"Invia Messaggio\",\r\n\t\t\t\tes: \"Enviar Mensaje\",\r\n\t\t\t\tfr: \"Envoyer Message\",\r\n\t\t\t},\r\n\t\t\t\"share-training-program\": {\r\n\t\t\t\ten: \"Share a Workout Program\",\r\n\t\t\t\tit: \"Condividi Programma di Allenamento\",\r\n\t\t\t\tes: \"Compartir Programa de Entrenamiento\",\r\n\t\t\t\tfr: \"Partager Programmes d'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tshare: {\r\n\t\t\t\ten: \"Share\",\r\n\t\t\t\tit: \"Condividi\",\r\n\t\t\t\tes: \"Compartir\",\r\n\t\t\t\tfr: \"Partager\",\r\n\t\t\t},\r\n\t\t\tunshare: {\r\n\t\t\t\ten: \"Remove Sharing\",\r\n\t\t\t\tit: \"Rimuovi Condivisione\",\r\n\t\t\t\tes: \"Dejar de compartir\",\r\n\t\t\t\tfr: \"Ne pas partager\",\r\n\t\t\t},\r\n\t\t\tprogress: {\r\n\t\t\t\ten: \"Progress\",\r\n\t\t\t\tit: \"Progresso\",\r\n\t\t\t\tes: \"Progreso\",\r\n\t\t\t\tfr: \"Progrรจs\",\r\n\t\t\t},\r\n\t\t\tmin: {\r\n\t\t\t\ten: \"Min Value\",\r\n\t\t\t\tit: \"Minimo\",\r\n\t\t\t\tes: \"Valor mรญnimo\",\r\n\t\t\t\tfr: \"Valeur minimale\",\r\n\t\t\t},\r\n\t\t\tavg: {\r\n\t\t\t\ten: \"Average\",\r\n\t\t\t\tit: \"Media\",\r\n\t\t\t\tes: \"Promedio\",\r\n\t\t\t\tfr: \"Moyen\",\r\n\t\t\t},\r\n\t\t\tmax: {\r\n\t\t\t\ten: \"Max\",\r\n\t\t\t\tit: \"Massimo\",\r\n\t\t\t\tes: \"Mรกximo\",\r\n\t\t\t\tfr: \"Maximale\",\r\n\t\t\t},\r\n\t\t\t\"invalid-range-error\": {\r\n\t\t\t\ten: \"The entered range is invalid\",\r\n\t\t\t\tit: \"L'intervallo inserito non รจ valido\",\r\n\t\t\t\tes: \"El rango introducido no es vรกlido\",\r\n\t\t\t\tfr: \"La plage entrรฉe est invalide\",\r\n\t\t\t},\r\n\t\t\t\"invalid-name\": {\r\n\t\t\t\ten: \"Invalid name\",\r\n\t\t\t\tit: \"Nome non valido\",\r\n\t\t\t\tes: \"Nombre invรกlido\",\r\n\t\t\t\tfr: \"Nom invalide\",\r\n\t\t\t},\r\n\t\t\t\"creation-date\": {\r\n\t\t\t\ten: \"Creation date\",\r\n\t\t\t\tit: \"Data Creazione\",\r\n\t\t\t\tes: \"Fecha creaciรณn\",\r\n\t\t\t\tfr: \"Date crรฉation\",\r\n\t\t\t},\r\n\t\t\t\"modification-date\": {\r\n\t\t\t\ten: \"Modification date\",\r\n\t\t\t\tit: \"Data Modifica\",\r\n\t\t\t\tes: \"Fecha modificaciรณn\",\r\n\t\t\t\tfr: \"Date modification\",\r\n\t\t\t},\r\n\t\t\t\"check-browser-settings\": {\r\n\t\t\t\ten: \"

It seems that some settings on your browser are preventing this app from working properly.


Please check your security settings and verify that cookies are enabled, then reload this page.

\",\r\n\t\t\t\tit: \"

Sembra che alcune impostazioni del tuo browser stiano impedendo il corretto funzionamento di questa app.


Per favore controlla le impostazioni di sicurezza e verifica che i cookie siano abilitati, poi ricarica questa pagina.

\",\r\n\t\t\t\tes: \"

Parece que algunas configuraciones en su navegador estรกn impidiendo que esta aplicaciรณn funcione correctamente.


Verifique sus configuraciones de seguridad y verifique que las cookies estรฉn habilitadas, luego vuelve a cargar esta pรกgina.

\",\r\n\t\t\t\tfr: \"

Il semble que certains paramรจtres de votre navigateur empรชchent cette application de fonctionner correctement.


Vรฉrifiez vos paramรจtres de sรฉcuritรฉ et vรฉrifiez que les cookies sont activรฉs, puis rechargez cette page.

\",\r\n\t\t\t},\r\n\t\t\t\"open-bridge\": {\r\n\t\t\t\ten: \"Open Bridge\",\r\n\t\t\t\tit: \"Apri Bridge\",\r\n\t\t\t\tes: \"Abre Bridge\",\r\n\t\t\t\tfr: \"Ouvrez Bridge\",\r\n\t\t\t},\r\n\t\t\t\"open-rooms-totem\": {\r\n\t\t\t\ten: \"Room Display\",\r\n\t\t\t\tit: \"Display Sale\",\r\n\t\t\t\tes: \"Room Display\",\r\n\t\t\t\tfr: \"Room Display\",\r\n\t\t\t},\r\n\t\t\t\"open-boxing-totem\": {\r\n\t\t\t\ten: \"Boxing Display\",\r\n\t\t\t\tit: \"Display Boxing\",\r\n\t\t\t\tes: \"Boxing Display\",\r\n\t\t\t\tfr: \"Boxing Display\",\r\n\t\t\t},\r\n\t\t\t\"check-connections\": {\r\n\t\t\t\ten: \"Check Connections\",\r\n\t\t\t\tit: \"Controlla le connessioni\",\r\n\t\t\t\tes: \"Comprobar las conexiones\",\r\n\t\t\t\tfr: \"Vรฉrifiez les connexions\",\r\n\t\t\t},\r\n\t\t\t\"time-range\": {\r\n\t\t\t\ten: \"Time Range\",\r\n\t\t\t\tit: \"Intervallo temporale\",\r\n\t\t\t\tes: \"Intervalo de tiempo\",\r\n\t\t\t\tfr: \"Intervalle de temps\",\r\n\t\t\t},\r\n\t\t\trange: {\r\n\t\t\t\ten: \"Range\",\r\n\t\t\t\tit: \"Intervallo\",\r\n\t\t\t\tes: \"Intervalo\",\r\n\t\t\t\tfr: \"Intervalle\",\r\n\t\t\t},\r\n\t\t\t\"activation-date\": {\r\n\t\t\t\ten: \"Activation Date\",\r\n\t\t\t\tit: \"Data Attivazione\",\r\n\t\t\t\tes: \"Fecha de activaciรณn\",\r\n\t\t\t\tfr: \"Date dโ€™activation\",\r\n\t\t\t},\r\n\t\t\t\"deactivation-date\": {\r\n\t\t\t\ten: \"Deactivation Date\",\r\n\t\t\t\tit: \"Data Disattivazione\",\r\n\t\t\t\tes: \"Fecha de desactivaciรณn\",\r\n\t\t\t\tfr: \"Date de dรฉsactivation\",\r\n\t\t\t},\r\n\t\t\t\"expiration-date\": {\r\n\t\t\t\ten: \"Expiration Date\",\r\n\t\t\t\tit: \"Data Scadenza\",\r\n\t\t\t\tes: \"Fecha De Expiraciรณn\",\r\n\t\t\t\tfr: \"Date d'Expiration\",\r\n\t\t\t},\r\n\t\t\trecurring: {\r\n\t\t\t\ten: \"Recurring\",\r\n\t\t\t\tit: \"Ricorrente\",\r\n\t\t\t\tes: \"Recurrente\",\r\n\t\t\t\tfr: \"Rรฉcurrent\",\r\n\t\t\t},\r\n\t\t\trecurrence: {\r\n\t\t\t\ten: \"Recurrence\",\r\n\t\t\t\tit: \"Ricorrenza\",\r\n\t\t\t\tes: \"Frequencia\",\r\n\t\t\t\tfr: \"Rรฉcurrence \",\r\n\t\t\t},\r\n\t\t\tinstallments: {\r\n\t\t\t\ten: \"Installments\",\r\n\t\t\t\tit: \"Rate\",\r\n\t\t\t\tes: \"Cuotas\",\r\n\t\t\t\tfr: \"Versements\",\r\n\t\t\t},\r\n\t\t\t\"installment-price\": {\r\n\t\t\t\ten: \"Installment Price\",\r\n\t\t\t\tit: \"Prezzo Rate\",\r\n\t\t\t\tes: \"Precio a plazos\",\r\n\t\t\t\tfr: \"Prix โ€‹โ€‹d'acompte\",\r\n\t\t\t},\r\n\t\t\tinvoices: {\r\n\t\t\t\ten: \"Invoices\",\r\n\t\t\t\tit: \"Pagamenti\",\r\n\t\t\t\tes: \"Pagos\",\r\n\t\t\t\tfr: \"Paiements\",\r\n\t\t\t},\r\n\t\t\tamount: {\r\n\t\t\t\ten: \"Amount\",\r\n\t\t\t\tit: \"Importo\",\r\n\t\t\t\tes: \"Cantidad\",\r\n\t\t\t\tfr: \"Montant\",\r\n\t\t\t},\r\n\t\t\t\"scheduled-end-date\": {\r\n\t\t\t\ten: \"Scheduled End\",\r\n\t\t\t\tit: \"Termine Programmato\",\r\n\t\t\t\tes: \"Tรฉrmino programado\",\r\n\t\t\t\tfr: \"Terme prรฉvu\",\r\n\t\t\t},\r\n\t\t\tdisabled: {\r\n\t\t\t\ten: \"Disabled\",\r\n\t\t\t\tit: \"Non attivo\",\r\n\t\t\t\tes: \"Inhabilitado\",\r\n\t\t\t\tfr: \"Dรฉsactivรฉe\",\r\n\t\t\t},\r\n\t\t\t\"mark-as-complete\": {\r\n\t\t\t\ten: \"Mark as complete?\",\r\n\t\t\t\tit: \"Segna come completato?\",\r\n\t\t\t\tes: \"ยฟMarcar como completo?\",\r\n\t\t\t\tfr: \"Marquer comme terminรฉย ?\",\r\n\t\t\t},\r\n\t\t\t\"enter-valid-duration\": {\r\n\t\t\t\ten: \"Enter a valid duration value\",\r\n\t\t\t\tit: \"Inserisci un valore di durata valido\",\r\n\t\t\t\tes: \"Ingrese un valor de duraciรณn vรกlido\",\r\n\t\t\t\tfr: \"Entrez une valeur de durรฉe valide\",\r\n\t\t\t},\r\n\t\t\t\"assigned-to\": {\r\n\t\t\t\ten: \"Assigned To\",\r\n\t\t\t\tit: \"Assegnato A\",\r\n\t\t\t\tes: \"Asignado A\",\r\n\t\t\t\tfr: \"Assignรฉ A\",\r\n\t\t\t},\r\n\t\t\t\"show-tasks-assigned-to-me\": {\r\n\t\t\t\ten: \"Show My Tasks\",\r\n\t\t\t\tit: \"Mostra i Miei Tasks\",\r\n\t\t\t\tes: \"Mostrar mis Tasks\",\r\n\t\t\t\tfr: \"Afficher Mes Tasks\",\r\n\t\t\t},\r\n\t\t\tconfirm: {\r\n\t\t\t\ten: \"Confirm\",\r\n\t\t\t\tit: \"Conferma\",\r\n\t\t\t\tes: \"Confirmar\",\r\n\t\t\t\tfr: \"Confirmer\",\r\n\t\t\t},\r\n\t\t\tedit: {\r\n\t\t\t\ten: \"Edit\",\r\n\t\t\t\tit: \"Modifica\",\r\n\t\t\t\tes: \"Editar\",\r\n\t\t\t\tfr: \"Modifier\",\r\n\t\t\t},\r\n\t\t\tremove: {\r\n\t\t\t\ten: \"Remove\",\r\n\t\t\t\tit: \"Rimuovi\",\r\n\t\t\t\tes: \"Quitar\",\r\n\t\t\t\tfr: \"Retirer\",\r\n\t\t\t},\r\n\t\t\ttarget: {\r\n\t\t\t\ten: \"Target\",\r\n\t\t\t\tit: \"Obiettivo\",\r\n\t\t\t\tes: \"Objetivo\",\r\n\t\t\t\tfr: \"Objectif\",\r\n\t\t\t},\r\n\t\t\ttargets: {\r\n\t\t\t\ten: \"Targets\",\r\n\t\t\t\tit: \"Obiettivi\",\r\n\t\t\t\tes: \"Objetivos\",\r\n\t\t\t\tfr: \"Objectifs\",\r\n\t\t\t},\r\n\t\t\ttoday: {\r\n\t\t\t\ten: \"Today\",\r\n\t\t\t\tit: \"Oggi\",\r\n\t\t\t\tes: \"Hoy\",\r\n\t\t\t\tfr: \"Aujourd'hui\",\r\n\t\t\t},\r\n\t\t\tpower: {\r\n\t\t\t\ten: \"Power\",\r\n\t\t\t\tit: \"Potenza\",\r\n\t\t\t\tes: \"Potencia\",\r\n\t\t\t\tfr: \"Puissance\",\r\n\t\t\t},\r\n\t\t\tforce: {\r\n\t\t\t\ten: \"Force\",\r\n\t\t\t\tit: \"Forza\",\r\n\t\t\t\tes: \"Fuerza\",\r\n\t\t\t\tfr: \"Force\",\r\n\t\t\t},\r\n\t\t\tbpm: {\r\n\t\t\t\ten: \"bpm\",\r\n\t\t\t\tit: \"bpm\",\r\n\t\t\t\tes: \"lpm\",\r\n\t\t\t\tfr: \"bpm\",\r\n\t\t\t},\r\n\t\t\t\"bpm-avg\": {\r\n\t\t\t\ten: \"bpm (avg)\",\r\n\t\t\t\tit: \"bpm (med)\",\r\n\t\t\t\tes: \"lpm (promedio)\",\r\n\t\t\t\tfr: \"bpm (moy.)\",\r\n\t\t\t},\r\n\t\t\t\"max-speed\": {\r\n\t\t\t\ten: \"Max Speed\",\r\n\t\t\t\tit: \"Max Velocitร \",\r\n\t\t\t\tes: \"Velocidad mรกx.\",\r\n\t\t\t\tfr: \"Vitesse max.\",\r\n\t\t\t},\r\n\t\t\t\"total-calories\": {\r\n\t\t\t\ten: \"total calories\",\r\n\t\t\t\tit: \"calorie totali\",\r\n\t\t\t\tes: \"calorรญas totales\",\r\n\t\t\t\tfr: \"total de calories\",\r\n\t\t\t},\r\n\t\t\t\"heart-rate-zones\": {\r\n\t\t\t\ten: \"Heart Rate Zones\",\r\n\t\t\t\tit: \"Zone Cardio\",\r\n\t\t\t\tes: \"Zonas de Frecuencia Cardรญaca\",\r\n\t\t\t\tfr: \"Zones de frรฉquence cardiaque\",\r\n\t\t\t},\r\n\t\t\t\"power-zones\": {\r\n\t\t\t\ten: \"Power Zones\",\r\n\t\t\t\tit: \"Zone Power\",\r\n\t\t\t\tes: \"Zonas de Potencia\",\r\n\t\t\t\tfr: \"Zones de puissance\",\r\n\t\t\t},\r\n\t\t\ttotal: {\r\n\t\t\t\ten: \"Total\",\r\n\t\t\t\tit: \"Totale\",\r\n\t\t\t\tes: \"Total\",\r\n\t\t\t\tfr: \"Total\",\r\n\t\t\t},\r\n\t\t\t\"device-id\": {\r\n\t\t\t\ten: \"Device Id\",\r\n\t\t\t\tit: \"Id dispositivo\",\r\n\t\t\t\tes: \"ID del dispositivo\",\r\n\t\t\t\tfr: \"Identifiant de lโ€™appareil\",\r\n\t\t\t},\r\n\t\t\t\"ht-id-left\": {\r\n\t\t\t\ten: \"(Red) AL-\",\r\n\t\t\t\tit: \"(Rosso) AL-\",\r\n\t\t\t\tes: \"(Rojo) AL-\",\r\n\t\t\t\tfr: \"(Rouge) AL-\",\r\n\t\t\t},\r\n\t\t\t\"ht-id-right\": {\r\n\t\t\t\ten: \"(Yellow) AR-\",\r\n\t\t\t\tit: \"(Giallo) AR-\",\r\n\t\t\t\tes: \"(Amarillo) AR-\",\r\n\t\t\t\tfr: \"(Jaune) AR-\",\r\n\t\t\t},\r\n\t\t\tusers: {\r\n\t\t\t\ten: \"Users\",\r\n\t\t\t\tit: \"Utenti\",\r\n\t\t\t\tes: \"Usuarios\",\r\n\t\t\t\tfr: \"Utilisateurs\",\r\n\t\t\t},\r\n\t\t\tmeasure: {\r\n\t\t\t\ten: \"Measure\",\r\n\t\t\t\tit: \"Misura\",\r\n\t\t\t\tes: \"Medida\",\r\n\t\t\t\tfr: \"Mesure\",\r\n\t\t\t},\r\n\t\t\tvalue: {\r\n\t\t\t\ten: \"Value\",\r\n\t\t\t\tit: \"Valore\",\r\n\t\t\t\tes: \"Valor\",\r\n\t\t\t\tfr: \"Valeur\",\r\n\t\t\t},\r\n\t\t\tselect: {\r\n\t\t\t\ten: \"Select\",\r\n\t\t\t\tit: \"Seleziona\",\r\n\t\t\t\tes: \"Seleccionar\",\r\n\t\t\t\tfr: \"Sรฉlectionner\",\r\n\t\t\t},\r\n\t\t\t\"change-display-group\": {\r\n\t\t\t\ten: \"Change Room\",\r\n\t\t\t\tit: \"Cambia Sala\",\r\n\t\t\t\tes: \"Cambiar Sala\",\r\n\t\t\t\tfr: \"Modifier Salle\",\r\n\t\t\t},\r\n\t\t\texport: {\r\n\t\t\t\ten: \"Export\",\r\n\t\t\t\tit: \"Esporta\",\r\n\t\t\t\tes: \"Exportar\",\r\n\t\t\t\tfr: \"Exporter\",\r\n\t\t\t},\r\n\t\t\trole: {\r\n\t\t\t\ten: \"Role\",\r\n\t\t\t\tit: \"Ruolo\",\r\n\t\t\t\tes: \"Oficio\",\r\n\t\t\t\tfr: \"Rรดle\",\r\n\t\t\t},\r\n\t\t\tprint: {\r\n\t\t\t\ten: \"Print\",\r\n\t\t\t\tit: \"Stampa\",\r\n\t\t\t\tes: \"Imprimir\",\r\n\t\t\t\tfr: \"Imprimer\",\r\n\t\t\t},\r\n\t\t\t\"go-to\": {\r\n\t\t\t\ten: \"Go toโ€ฆ\",\r\n\t\t\t\tit: \"Vai aโ€ฆ\",\r\n\t\t\t\tes: \"Irโ€ฆ\",\r\n\t\t\t\tfr: \"Aller ร โ€ฆ\",\r\n\t\t\t},\r\n\t\t\tactions: {\r\n\t\t\t\ten: \"Actions\",\r\n\t\t\t\tit: \"Azioni\",\r\n\t\t\t\tes: \"Acciones\",\r\n\t\t\t\tfr: \"Actions\",\r\n\t\t\t},\r\n\t\t\tfollow: {\r\n\t\t\t\ten: \"Follow\",\r\n\t\t\t\tit: \"Segui\",\r\n\t\t\t\tes: \"Seguir\",\r\n\t\t\t\tfr: \"Suivre\",\r\n\t\t\t},\r\n\t\t\tuser: {\r\n\t\t\t\ten: \"User\",\r\n\t\t\t\tit: \"Utente\",\r\n\t\t\t\tes: \"Usuario\",\r\n\t\t\t\tfr: \"Utilisateur\",\r\n\t\t\t},\r\n\t\t\tleft: {\r\n\t\t\t\ten: \"Left\",\r\n\t\t\t\tit: \"Sinistra\",\r\n\t\t\t\tes: \"Izquierda\",\r\n\t\t\t\tfr: \"Gauche\",\r\n\t\t\t},\r\n\t\t\tright: {\r\n\t\t\t\ten: \"Right\",\r\n\t\t\t\tit: \"Destra\",\r\n\t\t\t\tes: \"Derecha\",\r\n\t\t\t\tfr: \"Droite\",\r\n\t\t\t},\r\n\t\t\t\"full-name\": {\r\n\t\t\t\ten: \"Full Name\",\r\n\t\t\t\tit: \"Nome Completo\",\r\n\t\t\t\tes: \"Nombre completo\",\r\n\t\t\t\tfr: \"Nom complet\",\r\n\t\t\t},\r\n\t\t\t\"date-time\": {\r\n\t\t\t\ten: \"Date/time\",\r\n\t\t\t\tit: \"Data/ora\",\r\n\t\t\t\tes: \"Fecha/hora\",\r\n\t\t\t\tfr: \"Date/Heure\",\r\n\t\t\t},\r\n\t\t\t\"dont-follow\": {\r\n\t\t\t\ten: \"Stop Following\",\r\n\t\t\t\tit: \"Non Seguire\",\r\n\t\t\t\tes: \"No Seguir\",\r\n\t\t\t\tfr: \"Ne Pas Suivre\",\r\n\t\t\t},\r\n\t\t\twatch: {\r\n\t\t\t\ten: \"Get Notifications\",\r\n\t\t\t\tit: \"Ricevi Notifiche\",\r\n\t\t\t\tes: \"Recibir notificaciones\",\r\n\t\t\t\tfr: \"Recevoir des notifications\",\r\n\t\t\t},\r\n\t\t\ttrainer: {\r\n\t\t\t\ten: \"Trainer\",\r\n\t\t\t\tit: \"Trainer\",\r\n\t\t\t\tes: \"Entrenador\",\r\n\t\t\t\tfr: \"Entraรฎneur\",\r\n\t\t\t},\r\n\t\t\t\"trainer-operator\": {\r\n\t\t\t\ten: \"Trainer / Operator\",\r\n\t\t\t\tit: \"Trainer / Operatore\",\r\n\t\t\t\tes: \"Entrenador / Operador\",\r\n\t\t\t\tfr: \"Formateur / Opรฉrateur\",\r\n\t\t\t},\r\n\t\t\ttrainers: {\r\n\t\t\t\ten: \"Trainers\",\r\n\t\t\t\tit: \"Trainer\",\r\n\t\t\t\tes: \"Entrenadores\",\r\n\t\t\t\tfr: \"Entraรฎneurs\",\r\n\t\t\t},\r\n\t\t\t\"try-again\": {\r\n\t\t\t\ten: \"Try again\",\r\n\t\t\t\tit: \"Riprova\",\r\n\t\t\t\tes: \"Intentar de nuevo\",\r\n\t\t\t\tfr: \"Rรฉessayer\",\r\n\t\t\t},\r\n\t\t\t\"something-went-wrong\": {\r\n\t\t\t\ten: \"Something went wrong\",\r\n\t\t\t\tit: \"Qualcosa รจ andato storto\",\r\n\t\t\t\tes: \"Algo saliรณ mal\",\r\n\t\t\t\tfr: \"Une erreur est survenue\",\r\n\t\t\t},\r\n\t\t\t\"could-not-get-training\": {\r\n\t\t\t\ten: \"Error getting the training data.\",\r\n\t\t\t\tit: \"C'รจ stato un errore nel recuperare i dati del training.\",\r\n\t\t\t\tes: \"Error al obtener los datos del entrenamiento.\",\r\n\t\t\t\tfr: \"Erreur lors de l'obtention des donnรฉes d'entraรฎnement.\",\r\n\t\t\t},\r\n\t\t\t\"could-not-save-comment\": {\r\n\t\t\t\ten: \"Error saving the comment.\",\r\n\t\t\t\tit: \"C'รจ stato un errore nel salvataggio del commento.\",\r\n\t\t\t\tes: \"Error al guardar el comentario.\",\r\n\t\t\t\tfr: \"Erreur lors de lโ€™enregistrement du commentaire.\",\r\n\t\t\t},\r\n\t\t\t\"open-in-uptivo\": {\r\n\t\t\t\ten: \"Open in my.uptivo.fit\",\r\n\t\t\t\tit: \"Apri in my.uptivo.fit\",\r\n\t\t\t\tes: \"Abrir en my.uptivo.fit\",\r\n\t\t\t\tfr: \"Ouvrir dans uptivo.fit\",\r\n\t\t\t},\r\n\t\t\t\"go-to-new-portal\": {\r\n\t\t\t\ten: \"Go to the new portal\",\r\n\t\t\t\tit: \"Vai al nuovo portale\",\r\n\t\t\t\tes: \"Ir al nuevo portal\",\r\n\t\t\t\tfr: \"Aller sur le nouveau portail\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-fit-moved-title\": {\r\n\t\t\t\ten: \"Uptivo is migrating to my.uptivo.fit\",\r\n\t\t\t\tit: \"Uptivo si sposta su my.uptivo.fit\",\r\n\t\t\t\tes: \"Uptivo estรก migrando a my.uptivo.fit\",\r\n\t\t\t\tfr: \"Uptivo migre vers my.uptivo.fit\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-fit-moved-text\": {\r\n\t\t\t\ten: \"

Hi there!

As of April 23rd 2018 the Uptivo platform is exclusively available at my.uptivo.fit.

Remember to update your browser bookmarks!

\",\r\n\t\t\t\tit: \"

Ciao!

Dal 23 aprile 2018, il portale Uptivo รจ raggiungibile esclusivamente da my.uptivo.fit.
Ricordati di aggiornare i preferiti del tuo browser!\",\r\n\t\t\t\tes: \"

ยกHola!

A partir del 23 de abril de 2018, Uptivo estรก disponible exclusivamente en my.uptivo.fit.
ยกRecuerde actualizar los marcadores de su navegador!\",\r\n\t\t\t\tfr: \"

Bonjour!

ร€ compter du 23 avril 2018, Uptivo est exclusivement disponible sur my.uptivo.fit.
N'oubliez pas de mettre ร  jour les favoris de votre navigateur!\",\r\n\t\t\t},\r\n\t\t\t\"add-comment\": {\r\n\t\t\t\ten: \"Add Feedback\",\r\n\t\t\t\tit: \"Commenta\",\r\n\t\t\t\tes: \"Aรฑadir comentarios\",\r\n\t\t\t\tfr: \"Ajouter un feedback\",\r\n\t\t\t},\r\n\t\t\t\"edit-comment\": {\r\n\t\t\t\ten: \"Change your Feedback\",\r\n\t\t\t\tit: \"Cambia il tuo commento\",\r\n\t\t\t\tes: \"Cambiar sus comentarios\",\r\n\t\t\t\tfr: \"Modifier le feedback\",\r\n\t\t\t},\r\n\t\t\t\"training-comments-others\": {\r\n\t\t\t\ten: \"Your Trainer's feedback\",\r\n\t\t\t\tit: \"Il feedback del tuo trainer\",\r\n\t\t\t\tes: \"Comentarios de su entrenador\",\r\n\t\t\t\tfr: \"Le feedback de votre entraรฎneur\",\r\n\t\t\t},\r\n\t\t\t\"top-workout-athlete\": {\r\n\t\t\t\ten: \"That was awesome!\",\r\n\t\t\t\tit: \"Alla grande!\",\r\n\t\t\t\tes: \"ยกAsombroso!\",\r\n\t\t\t\tfr: \"C'รฉtait gรฉnial!\",\r\n\t\t\t},\r\n\t\t\t\"top-workout-others\": {\r\n\t\t\t\ten: \"TOP workout!\",\r\n\t\t\t\tit: \"Allenamento TOP!\",\r\n\t\t\t\tes: \"ยกEntrenamiento TOP!\",\r\n\t\t\t\tfr: \"SUPER entraรฎnement!\",\r\n\t\t\t},\r\n\t\t\t\"good-workout-athlete\": {\r\n\t\t\t\ten: \"Way to go!\",\r\n\t\t\t\tit: \"Niente male!\",\r\n\t\t\t\tes: \"ยกAsรญ se hace!\",\r\n\t\t\t\tfr: \"Bravo!\",\r\n\t\t\t},\r\n\t\t\t\"good-workout-others\": {\r\n\t\t\t\ten: \"Good Workout!\",\r\n\t\t\t\tit: \"Buon allenamento!\",\r\n\t\t\t\tes: \"ยกBuen entrenamiento!\",\r\n\t\t\t\tfr: \"Bon entraรฎnement!\",\r\n\t\t\t},\r\n\t\t\t\"can-do-more-athlete\": {\r\n\t\t\t\ten: \"Could've done betterโ€ฆ\",\r\n\t\t\t\tit: \"Ero un po' giรนโ€ฆ\",\r\n\t\t\t\tes: \"Podrรญa haberlo hecho mejorโ€ฆ\",\r\n\t\t\t\tfr: \"Peut mieux faireโ€ฆ\",\r\n\t\t\t},\r\n\t\t\t\"can-do-more-others\": {\r\n\t\t\t\ten: \"Not your best workoutโ€ฆ\",\r\n\t\t\t\tit: \"Puoi fare di meglioโ€ฆ\",\r\n\t\t\t\tes: \"No ha sido su mejor entrenamientoโ€ฆ\",\r\n\t\t\t\tfr: \"ร‡a n'a pas รฉtรฉ votre meilleur entraรฎnementโ€ฆ\",\r\n\t\t\t},\r\n\t\t\t\"rate-this-workout-athlete\": {\r\n\t\t\t\ten: \"How did I feel?\",\r\n\t\t\t\tit: \"Come รจ andata?\",\r\n\t\t\t\tes: \"ยฟCรณmo me sentรญ?\",\r\n\t\t\t\tfr: \"Comment me suis-je senti?\",\r\n\t\t\t},\r\n\t\t\t\"rate-this-workout-others\": {\r\n\t\t\t\ten: \"Add your feedback\",\r\n\t\t\t\tit: \"Commenta il training\",\r\n\t\t\t\tes: \"Aรฑadir comentarios\",\r\n\t\t\t\tfr: \"Ajouter votre feedback\",\r\n\t\t\t},\r\n\t\t\t\"no-next-items\": {\r\n\t\t\t\ten: \"There are no further items\",\r\n\t\t\t\tit: \"Non ci sono elementi successivi\",\r\n\t\t\t\tes: \"No hay mรกs artรญculos\",\r\n\t\t\t\tfr: \"Il n'y a pas d'autres รฉlรฉments\",\r\n\t\t\t},\r\n\t\t\t\"no-prev-items\": {\r\n\t\t\t\ten: \"There are no previous items\",\r\n\t\t\t\tit: \"Non ci sono elementi precedenti\",\r\n\t\t\t\tes: \"No hay artรญculos anteriores\",\r\n\t\t\t\tfr: \"Il n'y a aucun รฉlรฉment prรฉcรฉdent\",\r\n\t\t\t},\r\n\t\t\t\"user-training-programs\": {\r\n\t\t\t\ten: \"My Workout programs\",\r\n\t\t\t\tit: \"I miei Programmi di Allenamento\",\r\n\t\t\t\tes: \"Mis Programas de Entrenamiento\",\r\n\t\t\t\tfr: \"Mes Programmes d'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"my-files\": {\r\n\t\t\t\ten: \"My Files\",\r\n\t\t\t\tit: \"I Miei File\",\r\n\t\t\t\tes: \"Mis Archivos\",\r\n\t\t\t\tfr: \"Mes Fichiers\",\r\n\t\t\t},\r\n\t\t\t\"message-templates\": {\r\n\t\t\t\ten: \"Messages\",\r\n\t\t\t\tit: \"Messaggi\",\r\n\t\t\t\tes: \"Mensajes\",\r\n\t\t\t\tfr: \"Messages\",\r\n\t\t\t},\r\n\t\t\tlanguage: {\r\n\t\t\t\ten: \"Language\",\r\n\t\t\t\tit: \"Lingua\",\r\n\t\t\t\tes: \"Idioma\",\r\n\t\t\t\tfr: \"Langue\",\r\n\t\t\t},\r\n\t\t\t\"change-picture\": {\r\n\t\t\t\ten: \"Change Picture\",\r\n\t\t\t\tit: \"Cambia Immagine\",\r\n\t\t\t\tes: \"Cambiar imagen\",\r\n\t\t\t\tfr: \"Changer d'image\",\r\n\t\t\t},\r\n\t\t\t\"remove-this-image\": {\r\n\t\t\t\ten: \"Do you really want to remove this image?\",\r\n\t\t\t\tit: \"Vuoi veramente rimuovere questa immagine?\",\r\n\t\t\t\tes: \"ยฟRealmente quieres eliminar esta imagen?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment supprimer cette image?\",\r\n\t\t\t},\r\n\t\t\t\"image-uploaded\": {\r\n\t\t\t\ten: \"Image Uploaded Successfully\",\r\n\t\t\t\tit: \"Immagine aggiornata con successo\",\r\n\t\t\t\tes: \"La imagen se ha subido correctamente\",\r\n\t\t\t\tfr: \"Tรฉlรฉchargement de l'image rรฉussi\",\r\n\t\t\t},\r\n\t\t\tpicture: {\r\n\t\t\t\ten: \"Picture\",\r\n\t\t\t\tit: \"Immagine\",\r\n\t\t\t\tes: \"Imagen\",\r\n\t\t\t\tfr: \"Image\",\r\n\t\t\t},\r\n\t\t\t\"mark-all-as-read\": {\r\n\t\t\t\ten: \"Mark all as read\",\r\n\t\t\t\tit: \"Segna tutto come letto\",\r\n\t\t\t\tes: \"Marcar todos como leรญdos\",\r\n\t\t\t\tfr: \"Marquer tous comme lus\",\r\n\t\t\t},\r\n\t\t\t\"no-new-notifications\": {\r\n\t\t\t\ten: \"There are no new notifications\",\r\n\t\t\t\tit: \"Non sono presenti nuove notifiche\",\r\n\t\t\t\tes: \"No hay nuevas notificaciones\",\r\n\t\t\t\tfr: \"Il n'y a pas de nouvelles notifications\",\r\n\t\t\t},\r\n\t\t\t\"see-all-notifications\": {\r\n\t\t\t\ten: \"See All Notifications\",\r\n\t\t\t\tit: \"Guarda tutte le notifiche\",\r\n\t\t\t\tes: \"Ver todas las notificaciones\",\r\n\t\t\t\tfr: \"Voir toutes les notifications\",\r\n\t\t\t},\r\n\t\t\t\"go-club-logs\": {\r\n\t\t\t\ten: \"Go to Club Events Registry\",\r\n\t\t\t\tit: \"Vai al registro Eventi del Club\",\r\n\t\t\t\tes: \"Ir al Registro Eventos del Club\",\r\n\t\t\t\tfr: \"Aller au Registre ร‰vรฉnements du Club\",\r\n\t\t\t},\r\n\t\t\t\"club-logs-registry\": {\r\n\t\t\t\ten: \"Club Logs Registry\",\r\n\t\t\t\tit: \"Registro Eventi del Club\",\r\n\t\t\t\tes: \"Registro Eventos del Club\",\r\n\t\t\t\tfr: \"Registre ร‰vรฉnements du Club\",\r\n\t\t\t},\r\n\t\t\t\"no-new-tasks\": {\r\n\t\t\t\ten: \"There are no new tasks\",\r\n\t\t\t\tit: \"Non sono presenti nuovi tasks\",\r\n\t\t\t\tes: \"No hay nuevas tasks\",\r\n\t\t\t\tfr: \"Il n'y a pas de nouvelles tasks\",\r\n\t\t\t},\r\n\t\t\t\"see-all-tasks\": {\r\n\t\t\t\ten: \"See All tasks\",\r\n\t\t\t\tit: \"Guarda tutti i tasks\",\r\n\t\t\t\tes: \"Ver todas tasks\",\r\n\t\t\t\tfr: \"Voir toutes tasks\",\r\n\t\t\t},\r\n\t\t\t\"avg-calories\": {\r\n\t\t\t\ten: \"Avg Calories\",\r\n\t\t\t\tit: \"Calorie Medie\",\r\n\t\t\t\tes: \"Calorรญas promedio\",\r\n\t\t\t\tfr: \"Calories moy.\",\r\n\t\t\t},\r\n\t\t\t\"min-hr\": {\r\n\t\t\t\ten: \"Min HR\",\r\n\t\t\t\tit: \"FC Min\",\r\n\t\t\t\tes: \"FC mรญn\",\r\n\t\t\t\tfr: \"FC min.\",\r\n\t\t\t},\r\n\t\t\t\"avg-speed\": {\r\n\t\t\t\ten: \"Avg Speed\",\r\n\t\t\t\tit: \"Velocitร  Media\",\r\n\t\t\t\tes: \"Velocidad promedio\",\r\n\t\t\t\tfr: \"Vitesse moy.\",\r\n\t\t\t},\r\n\t\t\t\"avg-pace\": {\r\n\t\t\t\ten: \"Avg Pace\",\r\n\t\t\t\tit: \"Ritmo Medio\",\r\n\t\t\t\tes: \"Pasos promedio\",\r\n\t\t\t\tfr: \"Allure moy.\",\r\n\t\t\t},\r\n\t\t\tpace: {\r\n\t\t\t\ten: \"Pace\",\r\n\t\t\t\tit: \"Ritmo\",\r\n\t\t\t\tes: \"Pasos\",\r\n\t\t\t\tfr: \"Allure\",\r\n\t\t\t},\r\n\t\t\t\"avg-power\": {\r\n\t\t\t\ten: \"Avg Power\",\r\n\t\t\t\tit: \"Potenza Med\",\r\n\t\t\t\tes: \"Potencia promedio\",\r\n\t\t\t\tfr: \"Puissance moy.\",\r\n\t\t\t},\r\n\t\t\t\"avg-force\": {\r\n\t\t\t\ten: \"Avg Force\",\r\n\t\t\t\tit: \"Forza Med\",\r\n\t\t\t\tes: \"Fuerza promedio\",\r\n\t\t\t\tfr: \"Force moy.\",\r\n\t\t\t},\r\n\t\t\t\"avg-cadence\": {\r\n\t\t\t\ten: \"Avg Cadence\",\r\n\t\t\t\tit: \"Cadenza Med\",\r\n\t\t\t\tes: \"Cadencia promedio\",\r\n\t\t\t\tfr: \"Cadence moy.\",\r\n\t\t\t},\r\n\t\t\t\"max-power\": {\r\n\t\t\t\ten: \"Max Power\",\r\n\t\t\t\tit: \"Potenza Max\",\r\n\t\t\t\tes: \"Potencia mรกx\",\r\n\t\t\t\tfr: \"Puissance max.\",\r\n\t\t\t},\r\n\t\t\t\"avg-time\": {\r\n\t\t\t\ten: \"Avg Time\",\r\n\t\t\t\tit: \"Tempo Med\",\r\n\t\t\t\tes: \"Tiempo promedio\",\r\n\t\t\t\tfr: \"Temps moy.\",\r\n\t\t\t},\r\n\t\t\t\"bar-chart\": {\r\n\t\t\t\ten: \"Bar Chart\",\r\n\t\t\t\tit: \"Grafico a Barre\",\r\n\t\t\t\tes: \"Grรกfico de barras\",\r\n\t\t\t\tfr: \"Diagramme\",\r\n\t\t\t},\r\n\t\t\t\"line-chart\": {\r\n\t\t\t\ten: \"Line Chart\",\r\n\t\t\t\tit: \"Grafico a Linea\",\r\n\t\t\t\tes: \"Grรกfico de Lรญneas\",\r\n\t\t\t\tfr: \"Graphique linรฉaire\",\r\n\t\t\t},\r\n\t\t\t\"new-email\": {\r\n\t\t\t\ten: \"New Email\",\r\n\t\t\t\tit: \"Nuova Email\",\r\n\t\t\t\tes: \"Correo electrรณnico nuevo\",\r\n\t\t\t\tfr: \"Nouvelle adresse e-mail\",\r\n\t\t\t},\r\n\t\t\t\"confirm-email\": {\r\n\t\t\t\ten: \"Confirm Email\",\r\n\t\t\t\tit: \"Conferma Email\",\r\n\t\t\t\tes: \"Confirmar correo electrรณnico\",\r\n\t\t\t\tfr: \"Confirmer l'adresse e-mail\",\r\n\t\t\t},\r\n\t\t\t\"change-email\": {\r\n\t\t\t\ten: \"Change Email\",\r\n\t\t\t\tit: \"Cambia Email\",\r\n\t\t\t\tes: \"Cambiar direcciรณn de correo electrรณnico\",\r\n\t\t\t\tfr: \"Changer l'e-mail\",\r\n\t\t\t},\r\n\t\t\t\"change-email-info\": {\r\n\t\t\t\ten: \"You are about to change the email you use for login and Uptivo notifications\",\r\n\t\t\t\tit: \"Stai per cambiare l'email usata per il login e per le notifiche di Uptivo\",\r\n\t\t\t\tes: \"Estรก a punto de cambiar el correo electrรณnico que utiliza para iniciar sesiรณn y las notificaciones de Uptivo\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de modifier l'e-mail que vous utilisez pour les connexions et les notifications Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"add-sensor\": {\r\n\t\t\t\ten: \"Add Sensor\",\r\n\t\t\t\tit: \"Aggiungi Sensore\",\r\n\t\t\t\tes: \"Aรฑadir Sensor\",\r\n\t\t\t\tfr: \"Ajouter un capteur\",\r\n\t\t\t},\r\n\t\t\t\"add-uptivo-sensor\": {\r\n\t\t\t\ten: \"Add Uptivo Sensor by ID\",\r\n\t\t\t\tit: \"Aggiungi Sensore Uptivo con ID\",\r\n\t\t\t\tes: \"Aรฑadir Uptivo Sensor por ID\",\r\n\t\t\t\tfr: \"Ajouter la ceinture Uptivo par identifiant\",\r\n\t\t\t},\r\n\t\t\t\"add-uptivo-sensor-desc\": {\r\n\t\t\t\ten: \"Please type the 7-digit ID that you can find on the back of your Uptivo Sensor.\",\r\n\t\t\t\tit: \"Scrivi lโ€™ID a 7 cifre stampato sul retro del tuo sensore Uptivo.\",\r\n\t\t\t\tes: \"Por favor, introduzca la ID de 7 dรญgitos que puede encontrar en la parte posterior de su Sensor Uptivo.\",\r\n\t\t\t\tfr: \"Veuillez taper l'identifiant ร  7 chiffres que vous pouvez trouver ร  l'arriรจre de votre Capteur Uptivo.\",\r\n\t\t\t},\r\n\t\t\t\"add-mz-sensor\": {\r\n\t\t\t\ten: \"Add MZ Sensor by SN\",\r\n\t\t\t\tit: \"Aggiungi Sensore MZ con SN\",\r\n\t\t\t\tes: \"Aรฑadir MZ Sensor por SN\",\r\n\t\t\t\tfr: \"Ajouter la ceinture MZ par SN\",\r\n\t\t\t},\r\n\t\t\t\"add-garmin-sensor\": {\r\n\t\t\t\ten: \"Add Garmin Sensor by SN\",\r\n\t\t\t\tit: \"Aggiungi Sensore Garmin con SN\",\r\n\t\t\t\tes: \"Aรฑadir Sensor Garmin por SN\",\r\n\t\t\t\tfr: \"Ajouter la ceinture Garmin par SN\",\r\n\t\t\t},\r\n\t\t\t\"edit-demo-user\": {\r\n\t\t\t\ten: \"Edit Demo User\",\r\n\t\t\t\tit: \"Modifica Utente Demo\",\r\n\t\t\t\tes: \"Editar usuario demo\",\r\n\t\t\t\tfr: \"Modifier l'Utilisateur Dรฉmo\",\r\n\t\t\t},\r\n\t\t\tnotifications: {\r\n\t\t\t\ten: \"Notifications\",\r\n\t\t\t\tit: \"Notifiche\",\r\n\t\t\t\tes: \"Notificaciones\",\r\n\t\t\t\tfr: \"Notifications\",\r\n\t\t\t},\r\n\t\t\trankings: {\r\n\t\t\t\ten: \"Rankings\",\r\n\t\t\t\tit: \"Classifiche\",\r\n\t\t\t\tes: \"Posiciones\",\r\n\t\t\t\tfr: \"Classements\",\r\n\t\t\t},\r\n\t\t\tranking: {\r\n\t\t\t\ten: \"Ranking\",\r\n\t\t\t\tit: \"Classifica\",\r\n\t\t\t\tes: \"Clasificaciรณn\",\r\n\t\t\t\tfr: \"Classement\",\r\n\t\t\t},\r\n\t\t\tobjectives: {\r\n\t\t\t\ten: \"Objectives\",\r\n\t\t\t\tit: \"Obiettivi\",\r\n\t\t\t\tes: \"Objetivos\",\r\n\t\t\t\tfr: \"Objectifs\",\r\n\t\t\t},\r\n\t\t\t\"ranking-prc\": {\r\n\t\t\t\ten: \"Ranking Prc\",\r\n\t\t\t\tit: \"Classifica Prc\",\r\n\t\t\t\tes: \"Clasificaciรณn Prc\",\r\n\t\t\t\tfr: \"Classement Prc\",\r\n\t\t\t},\r\n\t\t\t\"public-rankings\": {\r\n\t\t\t\ten: \"Public Rankings\",\r\n\t\t\t\tit: \"Classifiche Pubbliche\",\r\n\t\t\t\tes: \"Clasificaciones pรบblicas\",\r\n\t\t\t\tfr: \"Classements publics\",\r\n\t\t\t},\r\n\t\t\t\"no-public-rankings\": {\r\n\t\t\t\ten: \"No Public Rankings\",\r\n\t\t\t\tit: \"Nessuna Classifica Pubblica\",\r\n\t\t\t\tes: \"Sin Clasificaciones Pรบblicas\",\r\n\t\t\t\tfr: \"Aucun Classement Public\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-sensor-id\": {\r\n\t\t\t\ten: \"Uptivo Sensor ID\",\r\n\t\t\t\tit: \"ID del Sensore Uptivo\",\r\n\t\t\t\tes: \"ID del Sensor Uptivo\",\r\n\t\t\t\tfr: \"Identification du Capteur Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"mz-sensor-id\": {\r\n\t\t\t\ten: \"MZ Sensor SN\",\r\n\t\t\t\tit: \"SN del Sensore MZ\",\r\n\t\t\t\tes: \"SN del Sensor MZ\",\r\n\t\t\t\tfr: \"SN du Capteur MZ\",\r\n\t\t\t},\r\n\t\t\t\"garmin-sensor-id\": {\r\n\t\t\t\ten: \"Garmin Sensor SN\",\r\n\t\t\t\tit: \"SN del Sensore Garmin\",\r\n\t\t\t\tes: \"SN del Sensor Garmin\",\r\n\t\t\t\tfr: \"SN du Capteur Garmin\",\r\n\t\t\t},\r\n\t\t\toptional: {\r\n\t\t\t\ten: \"optional\",\r\n\t\t\t\tit: \"opzionale\",\r\n\t\t\t\tes: \"opcional\",\r\n\t\t\t\tfr: \"optionnel\",\r\n\t\t\t},\r\n\t\t\taccount: {\r\n\t\t\t\ten: \"Account\",\r\n\t\t\t\tit: \"Account\",\r\n\t\t\t\tes: \"Cuenta\",\r\n\t\t\t\tfr: \"Compte\",\r\n\t\t\t},\r\n\t\t\t\"creation-successful\": {\r\n\t\t\t\ten: \"Creation successful\",\r\n\t\t\t\tit: \"Creazione effettuata con successo\",\r\n\t\t\t\tes: \"Se ha creado correctamente\",\r\n\t\t\t\tfr: \"Crรฉation rรฉussie\",\r\n\t\t\t},\r\n\t\t\t\"update-successful\": {\r\n\t\t\t\ten: \"Update successful\",\r\n\t\t\t\tit: \"Aggiornamento riuscito\",\r\n\t\t\t\tes: \"Actualizaciรณn exitosa\",\r\n\t\t\t\tfr: \"Mise ร  jour rรฉussie\",\r\n\t\t\t},\r\n\t\t\t\"operation-failed\": {\r\n\t\t\t\ten: \"Operation failed\",\r\n\t\t\t\tit: \"Operazione fallita\",\r\n\t\t\t\tes: \"Operaciรณn fallida.\",\r\n\t\t\t\tfr: \"L'opรฉration n'a pas abouti\",\r\n\t\t\t},\r\n\t\t\t\"operation-complete\": {\r\n\t\t\t\ten: \"Operation complete\",\r\n\t\t\t\tit: \"Operazione completata\",\r\n\t\t\t\tes: \"Operaciรณn completa\",\r\n\t\t\t\tfr: \"Opรฉration terminรฉe\",\r\n\t\t\t},\r\n\t\t\t\"changes-saved\": {\r\n\t\t\t\ten: \"Successfully saved changes\",\r\n\t\t\t\tit: \"Cambiamenti effettuati con successo\",\r\n\t\t\t\tes: \"Los cambios se han guardado correctamente\",\r\n\t\t\t\tfr: \"Changements enregistrรฉs avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"delete-successful\": {\r\n\t\t\t\ten: \"Delete successful\",\r\n\t\t\t\tit: \"Cancellazione effettuata con successo\",\r\n\t\t\t\tes: \"Eliminado correctamente\",\r\n\t\t\t\tfr: \"Suppression rรฉussie\",\r\n\t\t\t},\r\n\t\t\t\"get-failed\": {\r\n\t\t\t\ten: \"Couldn't load data from server\",\r\n\t\t\t\tit: \"Non รจ stato possibile scaricare i dati dal server\",\r\n\t\t\t\tes: \"No se pudieron cargar los datos del servidor\",\r\n\t\t\t\tfr: \"Impossible de charger les donnรฉes du serveur\",\r\n\t\t\t},\r\n\t\t\t\"creation-failed\": {\r\n\t\t\t\ten: \"Creation error\",\r\n\t\t\t\tit: \"Errore di creazione\",\r\n\t\t\t\tes: \"Error al crear\",\r\n\t\t\t\tfr: \"Erreur lors de la crรฉation\",\r\n\t\t\t},\r\n\t\t\t\"update-failed\": {\r\n\t\t\t\ten: \"Error updating data\",\r\n\t\t\t\tit: \"Errore nell'aggiornamento dei dati\",\r\n\t\t\t\tes: \"Error al actualizar los datos\",\r\n\t\t\t\tfr: \"Erreur lors de la mise ร  jour des donnรฉes\",\r\n\t\t\t},\r\n\t\t\t\"delete-failed\": {\r\n\t\t\t\ten: \"Deletion error\",\r\n\t\t\t\tit: \"Errore nella cancellazione dei dati\",\r\n\t\t\t\tes: \"Error de eliminaciรณn\",\r\n\t\t\t\tfr: \"Erreur lors de la suppression\",\r\n\t\t\t},\r\n\t\t\terror: {\r\n\t\t\t\ten: \"Error\",\r\n\t\t\t\tit: \"Errore\",\r\n\t\t\t\tes: \"Error\",\r\n\t\t\t\tfr: \"Erreur\",\r\n\t\t\t},\r\n\t\t\tbadge: {\r\n\t\t\t\ten: \"Badge\",\r\n\t\t\t\tit: \"Badge\",\r\n\t\t\t\tes: \"Badge\",\r\n\t\t\t\tfr: \"Badge\",\r\n\t\t\t},\r\n\t\t\t\"server-error\": {\r\n\t\t\t\ten: \"Network or Server Problem\",\r\n\t\t\t\tit: \"Errore di rete o del server\",\r\n\t\t\t\tes: \"Problema de red o servidor\",\r\n\t\t\t\tfr: \"Problรจme de rรฉseau ou de serveur\",\r\n\t\t\t},\r\n\t\t\t\"component-load-error\": {\r\n\t\t\t\ten: \"This component could not be downloaded, check the network and reload the page\",\r\n\t\t\t\tit: \"Non รจ stato possibile scaricare questo componente, verificare la rete e ricaricare la pagina\",\r\n\t\t\t\tes: \"Este componente no se pudo descargar, verifique la red y vuelva a cargar la pรกgina\",\r\n\t\t\t\tfr: \"Ce composant n'a pas pu รชtre tรฉlรฉchargรฉ, vรฉrifiez le rรฉseau et rechargez la page\",\r\n\t\t\t},\r\n\t\t\t\"error-license-limit-exceeded\": {\r\n\t\t\t\ten: \"No License or Limits Exceeded\",\r\n\t\t\t\tit: \"Nessuna licenza o limiti superati\",\r\n\t\t\t\tes: \"Sin licencia o lรญmites excedidos\",\r\n\t\t\t\tfr: \"Aucune licence, ou limites dรฉpassรฉes\",\r\n\t\t\t},\r\n\t\t\t\"error-no-license\": {\r\n\t\t\t\ten: \"No Valid License\",\r\n\t\t\t\tit: \"Nessuna licenza valida\",\r\n\t\t\t\tes: \"Sin licencia vรกlida\",\r\n\t\t\t\tfr: \"Pas de licence valable\",\r\n\t\t\t},\r\n\t\t\tmiles: {\r\n\t\t\t\ten: \"miles\",\r\n\t\t\t\tit: \"miglia\",\r\n\t\t\t\tes: \"millas\",\r\n\t\t\t\tfr: \"miles\",\r\n\t\t\t},\r\n\t\t\trename: {\r\n\t\t\t\ten: \"Rename\",\r\n\t\t\t\tit: \"Rinomina\",\r\n\t\t\t\tes: \"Cambiar el nombre\",\r\n\t\t\t\tfr: \"Renommer\",\r\n\t\t\t},\r\n\t\t\t\"age-comprised-between\": {\r\n\t\t\t\ten: \"Age must be comprised between {0} and {1}\",\r\n\t\t\t\tit: \"L'etร  deve essere compresa tra {0} e {1}\",\r\n\t\t\t\tes: \"La edad debe estar comprendida entre {0} y {1}\",\r\n\t\t\t\tfr: \"L'รขge doit รชtre compris entre {0} et {1}\",\r\n\t\t\t},\r\n\t\t\t\"value-multiple-of\": {\r\n\t\t\t\ten: \"Value must be multiple of {0} seconds\",\r\n\t\t\t\tit: \"Il valore deve essere multiplo di {0} secondi\",\r\n\t\t\t\tes: \"El valor debe ser mรบltiplo de {0} segundos\",\r\n\t\t\t\tfr: \"La valeur doit รชtre multiple de {0} secondes\",\r\n\t\t\t},\r\n\t\t\t\"enter-valid-number\": {\r\n\t\t\t\ten: \"Please enter a valid number (separators: '{0}' for thousands, '{1}' for decimals)\",\r\n\t\t\t\tit: \"Inserisci un numero valido (separatori: '{0}' per migliaia, '{1}' per decimali)\",\r\n\t\t\t\tes: \"Ingrese un nรบmero vรกlido (separadores: '{0}' para miles, '{1}' para decimales)\",\r\n\t\t\t\tfr: \"Veuillez saisir un nombre valide (sรฉparateurs: '{0}' pour les milliers, '{1}' pour les dรฉcimaux)\",\r\n\t\t\t},\r\n\t\t\t\"enter-valid-url\": {\r\n\t\t\t\ten: \"Please enter a valid web URL starting with http:// or https://\",\r\n\t\t\t\tit: \"Inserisci un URL web valido che inizi con http:// o https://\",\r\n\t\t\t\tes: \"Ingrese una URL web vรกlida que comience con http:// o https://\",\r\n\t\t\t\tfr: \"Veuillez entrer une URL Web valide commenรงant par http:// ou https://\",\r\n\t\t\t},\r\n\t\t\t\"enter-valid-ipv4\": {\r\n\t\t\t\ten: \"Please enter a valid IPv4 address\",\r\n\t\t\t\tit: \"Inserisci un indirizzo IPv4 valido\",\r\n\t\t\t\tes: \"Por favor, introduzca una direcciรณn de IPv4 vรกlida\",\r\n\t\t\t\tfr: \"Veuillez saisir une adresse IPv4 valide\",\r\n\t\t\t},\r\n\t\t\tstatus: {\r\n\t\t\t\ten: \"Status\",\r\n\t\t\t\tit: \"Stato\",\r\n\t\t\t\tes: \"Estado\",\r\n\t\t\t\tfr: \"ร‰tat\",\r\n\t\t\t},\r\n\t\t\tadd: {\r\n\t\t\t\ten: \"Add\",\r\n\t\t\t\tit: \"Aggiungi\",\r\n\t\t\t\tes: \"Aรฑadir\",\r\n\t\t\t\tfr: \"Ajouter\",\r\n\t\t\t},\r\n\t\t\tcancel: {\r\n\t\t\t\ten: \"Cancel\",\r\n\t\t\t\tit: \"Annulla\",\r\n\t\t\t\tes: \"Cancelar\",\r\n\t\t\t\tfr: \"Annuler\",\r\n\t\t\t},\r\n\t\t\tdistance: {\r\n\t\t\t\ten: \"Distance\",\r\n\t\t\t\tit: \"Distanza\",\r\n\t\t\t\tes: \"Distancia\",\r\n\t\t\t\tfr: \"Distance\",\r\n\t\t\t},\r\n\t\t\tcalories: {\r\n\t\t\t\ten: \"Calories\",\r\n\t\t\t\tit: \"Calorie\",\r\n\t\t\t\tes: \"Calorรญas\",\r\n\t\t\t\tfr: \"Calories\",\r\n\t\t\t},\r\n\t\t\t\"add-new-group\": {\r\n\t\t\t\ten: \"Add New Room\",\r\n\t\t\t\tit: \"Aggiungi Nuova Sala\",\r\n\t\t\t\tes: \"Aรฑadir Nueva Sala\",\r\n\t\t\t\tfr: \"Ajouter Une Nouvelle Salle\",\r\n\t\t\t},\r\n\t\t\tphone: {\r\n\t\t\t\ten: \"Phone\",\r\n\t\t\t\tit: \"Telefono\",\r\n\t\t\t\tes: \"Telรฉfono\",\r\n\t\t\t\tfr: \"Tรฉlรฉphone\",\r\n\t\t\t},\r\n\t\t\t\"max-hr\": {\r\n\t\t\t\ten: \"Max HR\",\r\n\t\t\t\tit: \"FC Max\",\r\n\t\t\t\tes: \"FC mรกx.\",\r\n\t\t\t\tfr: \"FC max.\",\r\n\t\t\t},\r\n\t\t\t\"avg-hr\": {\r\n\t\t\t\ten: \"Avg HR\",\r\n\t\t\t\tit: \"FC Med\",\r\n\t\t\t\tes: \"FC promedio\",\r\n\t\t\t\tfr: \"FC moy.\",\r\n\t\t\t},\r\n\t\t\ten: {\r\n\t\t\t\ten: \"English\",\r\n\t\t\t\tit: \"Inglese\",\r\n\t\t\t\tes: \"Inglรฉs\",\r\n\t\t\t\tfr: \"Anglais\",\r\n\t\t\t},\r\n\t\t\tlogo: {\r\n\t\t\t\ten: \"Logo\",\r\n\t\t\t\tit: \"Logo\",\r\n\t\t\t\tes: \"Logotipo\",\r\n\t\t\t\tfr: \"Logo\",\r\n\t\t\t},\r\n\t\t\tdelete: {\r\n\t\t\t\ten: \"Delete\",\r\n\t\t\t\tit: \"Elimina\",\r\n\t\t\t\tes: \"Eliminar\",\r\n\t\t\t\tfr: \"Supprimer\",\r\n\t\t\t},\r\n\t\t\t\"change-logo\": {\r\n\t\t\t\ten: \"Change Logo\",\r\n\t\t\t\tit: \"Cambia Logo\",\r\n\t\t\t\tes: \"Cambiar logotipo\",\r\n\t\t\t\tfr: \"Modifier le logo\",\r\n\t\t\t},\r\n\t\t\t\"save-changes\": {\r\n\t\t\t\ten: \"Save\",\r\n\t\t\t\tit: \"Salva\",\r\n\t\t\t\tes: \"Guardar\",\r\n\t\t\t\tfr: \"Enregistrer\",\r\n\t\t\t},\r\n\t\t\tclose: {\r\n\t\t\t\ten: \"Close\",\r\n\t\t\t\tit: \"Chiudi\",\r\n\t\t\t\tes: \"Cerrar\",\r\n\t\t\t\tfr: \"Fermer\",\r\n\t\t\t},\r\n\t\t\t\"clear-selection\": {\r\n\t\t\t\ten: \"Deselect All\",\r\n\t\t\t\tit: \"Deseleziona tutto\",\r\n\t\t\t\tes: \"Deseleccionar todo\",\r\n\t\t\t\tfr: \"Dรฉsรฉlectionner tous\",\r\n\t\t\t},\r\n\t\t\t\"resize-logo\": {\r\n\t\t\t\ten: \"Resize Logo\",\r\n\t\t\t\tit: \"Ridimensiona Logo\",\r\n\t\t\t\tes: \"Cambiar el tamaรฑo del logotipo\",\r\n\t\t\t\tfr: \"Redimensionner le logo\",\r\n\t\t\t},\r\n\t\t\tsubmit: {\r\n\t\t\t\ten: \"Submit\",\r\n\t\t\t\tit: \"Invia\",\r\n\t\t\t\tes: \"Enviar\",\r\n\t\t\t\tfr: \"Transmettre\",\r\n\t\t\t},\r\n\t\t\temail: {\r\n\t\t\t\ten: \"Email\",\r\n\t\t\t\tit: \"Email\",\r\n\t\t\t\tes: \"Correo electrรณnico\",\r\n\t\t\t\tfr: \"E-mail\",\r\n\t\t\t},\r\n\t\t\tclubs: {\r\n\t\t\t\ten: \"Clubs\",\r\n\t\t\t\tit: \"Club\",\r\n\t\t\t\tes: \"Club\",\r\n\t\t\t\tfr: \"Club\",\r\n\t\t\t},\r\n\t\t\tclub: {\r\n\t\t\t\ten: \"Club\",\r\n\t\t\t\tit: \"Club\",\r\n\t\t\t\tes: \"Club\",\r\n\t\t\t\tfr: \"Club\",\r\n\t\t\t},\r\n\t\t\tequipment: {\r\n\t\t\t\ten: \"Equipment\",\r\n\t\t\t\tit: \"Attrezzature\",\r\n\t\t\t\tes: \"Equipo\",\r\n\t\t\t\tfr: \"ร‰quipement\",\r\n\t\t\t},\r\n\t\t\tguest: {\r\n\t\t\t\ten: \"Guest\",\r\n\t\t\t\tit: \"Guest\",\r\n\t\t\t\tes: \"Guest\",\r\n\t\t\t\tfr: \"Guest\",\r\n\t\t\t},\r\n\t\t\tathlete: {\r\n\t\t\t\ten: \"Athlete\",\r\n\t\t\t\tit: \"Atleta\",\r\n\t\t\t\tes: \"Deportista\",\r\n\t\t\t\tfr: \"Athlรจte\",\r\n\t\t\t},\r\n\t\t\tmanager: {\r\n\t\t\t\ten: \"Manager\",\r\n\t\t\t\tit: \"Manager\",\r\n\t\t\t\tes: \"Gerente\",\r\n\t\t\t\tfr: \"Gestionnaire\",\r\n\t\t\t},\r\n\t\t\t\"athlete-small\": {\r\n\t\t\t\ten: \"A\",\r\n\t\t\t\tit: \"A\",\r\n\t\t\t\tes: \"D\",\r\n\t\t\t\tfr: \"A\",\r\n\t\t\t},\r\n\t\t\t\"trainer-small\": {\r\n\t\t\t\ten: \"T\",\r\n\t\t\t\tit: \"T\",\r\n\t\t\t\tes: \"E\",\r\n\t\t\t\tfr: \"T\",\r\n\t\t\t},\r\n\t\t\t\"manager-small\": {\r\n\t\t\t\ten: \"M\",\r\n\t\t\t\tit: \"M\",\r\n\t\t\t\tes: \"G\",\r\n\t\t\t\tfr: \"M\",\r\n\t\t\t},\r\n\t\t\tgender: {\r\n\t\t\t\ten: \"Gender\",\r\n\t\t\t\tit: \"Sesso\",\r\n\t\t\t\tes: \"Sexo\",\r\n\t\t\t\tfr: \"Genre\",\r\n\t\t\t},\r\n\t\t\ttext: {\r\n\t\t\t\ten: \"Text\",\r\n\t\t\t\tit: \"Testo\",\r\n\t\t\t\tes: \"Texto\",\r\n\t\t\t\tfr: \"Texte\",\r\n\t\t\t},\r\n\t\t\tauthor: {\r\n\t\t\t\ten: \"Author\",\r\n\t\t\t\tit: \"Autore\",\r\n\t\t\t\tes: \"Autor\",\r\n\t\t\t\tfr: \"Auteur\",\r\n\t\t\t},\r\n\t\t\t\"nickname-display\": {\r\n\t\t\t\ten: \"Nickname (display name)\",\r\n\t\t\t\tit: \"Nickname (nome a schermo)\",\r\n\t\t\t\tes: \"Apodo (nombre que se muestra)\",\r\n\t\t\t\tfr: \"Pseudo (nom d'affichage)\",\r\n\t\t\t},\r\n\t\t\tunspecified: {\r\n\t\t\t\ten: \"Unspecified\",\r\n\t\t\t\tit: \"Non Specificato\",\r\n\t\t\t\tes: \"No especificado\",\r\n\t\t\t\tfr: \"Non spรฉcifiรฉ\",\r\n\t\t\t},\r\n\t\t\tmales: {\r\n\t\t\t\ten: \"Males\",\r\n\t\t\t\tit: \"Maschi\",\r\n\t\t\t\tes: \"Hombres\",\r\n\t\t\t\tfr: \"Hommes\",\r\n\t\t\t},\r\n\t\t\tmale: {\r\n\t\t\t\ten: \"Male\",\r\n\t\t\t\tit: \"Maschio\",\r\n\t\t\t\tes: \"Hombre\",\r\n\t\t\t\tfr: \"Homme\",\r\n\t\t\t},\r\n\t\t\tfemales: {\r\n\t\t\t\ten: \"Females\",\r\n\t\t\t\tit: \"Femmine\",\r\n\t\t\t\tes: \"Mujeres\",\r\n\t\t\t\tfr: \"Femmes\",\r\n\t\t\t},\r\n\t\t\tfemale: {\r\n\t\t\t\ten: \"Female\",\r\n\t\t\t\tit: \"Femmina\",\r\n\t\t\t\tes: \"Mujer\",\r\n\t\t\t\tfr: \"Femme\",\r\n\t\t\t},\r\n\t\t\t\"unspecified-small\": {\r\n\t\t\t\ten: \"NA\",\r\n\t\t\t\tit: \"ND\",\r\n\t\t\t\tes: \"NE\",\r\n\t\t\t\tfr: \"NA\",\r\n\t\t\t},\r\n\t\t\t\"male-small\": {\r\n\t\t\t\ten: \"M\",\r\n\t\t\t\tit: \"M\",\r\n\t\t\t\tes: \"H\",\r\n\t\t\t\tfr: \"M\",\r\n\t\t\t},\r\n\t\t\t\"female-small\": {\r\n\t\t\t\ten: \"F\",\r\n\t\t\t\tit: \"F\",\r\n\t\t\t\tes: \"M\",\r\n\t\t\t\tfr: \"F\",\r\n\t\t\t},\r\n\t\t\tnickname: {\r\n\t\t\t\ten: \"Nickname\",\r\n\t\t\t\tit: \"Nickname\",\r\n\t\t\t\tes: \"Apodo\",\r\n\t\t\t\tfr: \"Pseudo\",\r\n\t\t\t},\r\n\t\t\tcountry: {\r\n\t\t\t\ten: \"Country\",\r\n\t\t\t\tit: \"Paese\",\r\n\t\t\t\tes: \"Paรญs\",\r\n\t\t\t\tfr: \"Pays\",\r\n\t\t\t},\r\n\t\t\t\"country-required\": {\r\n\t\t\t\ten: \"Country *\",\r\n\t\t\t\tit: \"Paese *\",\r\n\t\t\t\tes: \"Paรญs *\",\r\n\t\t\t\tfr: \"Pays *\",\r\n\t\t\t},\r\n\t\t\t\"time-zone\": {\r\n\t\t\t\ten: \"Time Zone\",\r\n\t\t\t\tit: \"Time Zone\",\r\n\t\t\t\tes: \"Zona Horaria\",\r\n\t\t\t\tfr: \"Fuseau Horaire\",\r\n\t\t\t},\r\n\t\t\t\"time-zone-required\": {\r\n\t\t\t\ten: \"Time Zone *\",\r\n\t\t\t\tit: \"Time Zone *\",\r\n\t\t\t\tes: \"Zona Horaria *\",\r\n\t\t\t\tfr: \"Fuseau Horaire *\",\r\n\t\t\t},\r\n\t\t\t\"add-new\": {\r\n\t\t\t\ten: \"Add New\",\r\n\t\t\t\tit: \"Aggiungi Nuovo\",\r\n\t\t\t\tes: \"Aรฑadir Nuevo\",\r\n\t\t\t\tfr: \"Ajouter nouveau\",\r\n\t\t\t},\r\n\t\t\tage: {\r\n\t\t\t\ten: \"Age\",\r\n\t\t\t\tit: \"Etร \",\r\n\t\t\t\tes: \"Edad\",\r\n\t\t\t\tfr: \"ร‚ge\",\r\n\t\t\t},\r\n\t\t\t\"physical-settings\": {\r\n\t\t\t\ten: \"Physical Settings\",\r\n\t\t\t\tit: \"Impostazioni Biometriche\",\r\n\t\t\t\tes: \"Configuraciรณn fรญsica\",\r\n\t\t\t\tfr: \"Paramรจtres physiques\",\r\n\t\t\t},\r\n\t\t\t\"weight-ms\": {\r\n\t\t\t\ten: \"Weight\",\r\n\t\t\t\tit: \"Peso\",\r\n\t\t\t\tes: \"Peso\",\r\n\t\t\t\tfr: \"Poids\",\r\n\t\t\t},\r\n\t\t\t\"Weight-ms\": {\r\n\t\t\t\ten: \"Weight\",\r\n\t\t\t\tit: \"Peso\",\r\n\t\t\t\tes: \"Peso\",\r\n\t\t\t\tfr: \"Poids\",\r\n\t\t\t},\r\n\t\t\theight: {\r\n\t\t\t\ten: \"Height\",\r\n\t\t\t\tit: \"Altezza\",\r\n\t\t\t\tes: \"Altura\",\r\n\t\t\t\tfr: \"Taille\",\r\n\t\t\t},\r\n\t\t\t\"height-required\": {\r\n\t\t\t\ten: \"Height *\",\r\n\t\t\t\tit: \"Altezza *\",\r\n\t\t\t\tes: \"Altura *\",\r\n\t\t\t\tfr: \"Taille *\",\r\n\t\t\t},\r\n\t\t\t\"hr-sensor\": {\r\n\t\t\t\ten: \"HR Sensor\",\r\n\t\t\t\tit: \"Sensore Cardio\",\r\n\t\t\t\tes: \"Sensor de FC\",\r\n\t\t\t\tfr: \"Capteur FC\",\r\n\t\t\t},\r\n\t\t\t\"hr-sensors\": {\r\n\t\t\t\ten: \"HR Sensors\",\r\n\t\t\t\tit: \"Sensori Cardio\",\r\n\t\t\t\tes: \"Sensores de FC\",\r\n\t\t\t\tfr: \"Capteurs FC\",\r\n\t\t\t},\r\n\t\t\t\"remove-sensor\": {\r\n\t\t\t\ten: \"Remove Sensor\",\r\n\t\t\t\tit: \"Rimuovi Sensore\",\r\n\t\t\t\tes: \"Eliminar el sensor\",\r\n\t\t\t\tfr: \"Supprimer le capteur\",\r\n\t\t\t},\r\n\t\t\t\"no-associated-sensors\": {\r\n\t\t\t\ten: \"No associated sensors\",\r\n\t\t\t\tit: \"Nessun sensore associato\",\r\n\t\t\t\tes: \"Sin sensores asociados\",\r\n\t\t\t\tfr: \"Aucun capteur associรฉ\",\r\n\t\t\t},\r\n\t\t\tdefault: {\r\n\t\t\t\ten: \"Default\",\r\n\t\t\t\tit: \"Default\",\r\n\t\t\t\tes: \"Predeterminado\",\r\n\t\t\t\tfr: \"Dรฉfaut\",\r\n\t\t\t},\r\n\t\t\tcustom: {\r\n\t\t\t\ten: \"Custom\",\r\n\t\t\t\tit: \"Manuale\",\r\n\t\t\t\tes: \"Personalizado\",\r\n\t\t\t\tfr: \"Personnalisรฉ\",\r\n\t\t\t},\r\n\t\t\tname: {\r\n\t\t\t\ten: \"Name\",\r\n\t\t\t\tit: \"Nome\",\r\n\t\t\t\tes: \"Nombre\",\r\n\t\t\t\tfr: \"Nom\",\r\n\t\t\t},\r\n\t\t\ttitle: {\r\n\t\t\t\ten: \"Title\",\r\n\t\t\t\tit: \"Titolo\",\r\n\t\t\t\tes: \"Tรญtulo\",\r\n\t\t\t\tfr: \"Titre\",\r\n\t\t\t},\r\n\t\t\tsettings: {\r\n\t\t\t\ten: \"Settings\",\r\n\t\t\t\tit: \"Impostazioni\",\r\n\t\t\t\tes: \"Ajustes\",\r\n\t\t\t\tfr: \"Rรฉglages\",\r\n\t\t\t},\r\n\t\t\tsetup: {\r\n\t\t\t\ten: \"Setup\",\r\n\t\t\t\tit: \"Setup\",\r\n\t\t\t\tes: \"Setup\",\r\n\t\t\t\tfr: \"Setup\",\r\n\t\t\t},\r\n\t\t\t\"general-settings\": {\r\n\t\t\t\ten: \"General Settings\",\r\n\t\t\t\tit: \"Impostazioni generali\",\r\n\t\t\t\tes: \"Ajustes generales\",\r\n\t\t\t\tfr: \"Paramรจtres gรฉnรฉraux\",\r\n\t\t\t},\r\n\t\t\t\"user-info\": {\r\n\t\t\t\ten: \"Users Info\",\r\n\t\t\t\tit: \"Info Utenti\",\r\n\t\t\t\tes: \"Informaciรณn de los usuarios\",\r\n\t\t\t\tfr: \"Informations sur les utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"zone-error-msg\": {\r\n\t\t\t\ten: \"Invalid data - the zone limit has to be less than the next and greater than previous zone limit\",\r\n\t\t\t\tit: \"Dati non validi - il valore della zona deve essere inferiore al successivo e superiore al precededente\",\r\n\t\t\t\tes: \"Datos invรกlidos - el lรญmite de la zona debe ser menor que el siguiente y mayor que el lรญmite de la zona anterior\",\r\n\t\t\t\tfr: \"Donnรฉes non valides - la limite de zone doit รชtre infรฉrieure ร  la limite suivante, et supรฉrieure ร  la limite de zone prรฉcรฉdente\",\r\n\t\t\t},\r\n\t\t\t\"target-zone\": {\r\n\t\t\t\ten: \"Target Zone\",\r\n\t\t\t\tit: \"Target Zone\",\r\n\t\t\t\tes: \"Zona objetivo\",\r\n\t\t\t\tfr: \"Zone cible\",\r\n\t\t\t},\r\n\t\t\t\"log-out\": {\r\n\t\t\t\ten: \"Log Out\",\r\n\t\t\t\tit: \"Esci\",\r\n\t\t\t\tes: \"Cerrar sesiรณn\",\r\n\t\t\t\tfr: \"Se dรฉconnecter\",\r\n\t\t\t},\r\n\t\t\tprofile: {\r\n\t\t\t\ten: \"Profile\",\r\n\t\t\t\tit: \"Profilo\",\r\n\t\t\t\tes: \"Perfil\",\r\n\t\t\t\tfr: \"Profil\",\r\n\t\t\t},\r\n\t\t\tduration: {\r\n\t\t\t\ten: \"Duration\",\r\n\t\t\t\tit: \"Durata\",\r\n\t\t\t\tes: \"Duraciรณn\",\r\n\t\t\t\tfr: \"Durรฉe\",\r\n\t\t\t},\r\n\t\t\tdays: {\r\n\t\t\t\ten: \"days\",\r\n\t\t\t\tit: \"giorni\",\r\n\t\t\t\tes: \"dรญas\",\r\n\t\t\t\tfr: \"jours\",\r\n\t\t\t},\r\n\t\t\tday: {\r\n\t\t\t\ten: \"Day\",\r\n\t\t\t\tit: \"Giorno\",\r\n\t\t\t\tes: \"Dรญa\",\r\n\t\t\t\tfr: \"Journรฉe\",\r\n\t\t\t},\r\n\t\t\t\"no-training-to-display\": {\r\n\t\t\t\ten: \"No trainings to display\",\r\n\t\t\t\tit: \"Non ci sono training da mostrare\",\r\n\t\t\t\tes: \"No hay entrenamientos apropiados para mostrar\",\r\n\t\t\t\tfr: \"Aucun entraรฎnement ร  afficher\",\r\n\t\t\t},\r\n\t\t\t\"duration-small\": {\r\n\t\t\t\ten: \"duration\",\r\n\t\t\t\tit: \"durata\",\r\n\t\t\t\tes: \"duraciรณn\",\r\n\t\t\t\tfr: \"durรฉe\",\r\n\t\t\t},\r\n\t\t\t\"calories-small\": {\r\n\t\t\t\ten: \"calories\",\r\n\t\t\t\tit: \"calorie\",\r\n\t\t\t\tes: \"calorรญas\",\r\n\t\t\t\tfr: \"calories\",\r\n\t\t\t},\r\n\t\t\t\"distance-small\": {\r\n\t\t\t\ten: \"distance\",\r\n\t\t\t\tit: \"distanza\",\r\n\t\t\t\tes: \"distancia\",\r\n\t\t\t\tfr: \"distance\",\r\n\t\t\t},\r\n\t\t\t\"speed-small\": {\r\n\t\t\t\ten: \"speed\",\r\n\t\t\t\tit: \"velocitร \",\r\n\t\t\t\tes: \"velocidad\",\r\n\t\t\t\tfr: \"vitesse\",\r\n\t\t\t},\r\n\t\t\tmeters: {\r\n\t\t\t\ten: \"meters\",\r\n\t\t\t\tit: \"metri\",\r\n\t\t\t\tes: \"metros\",\r\n\t\t\t\tfr: \"mรจtres\",\r\n\t\t\t},\r\n\t\t\tminutes: {\r\n\t\t\t\ten: \"minutes\",\r\n\t\t\t\tit: \"minuti\",\r\n\t\t\t\tes: \"minutos\",\r\n\t\t\t\tfr: \"minutes\",\r\n\t\t\t},\r\n\t\t\tseconds: {\r\n\t\t\t\ten: \"seconds\",\r\n\t\t\t\tit: \"secondi\",\r\n\t\t\t\tes: \"secondes\",\r\n\t\t\t\tfr: \"minutes\",\r\n\t\t\t},\r\n\t\t\t\"are-you-sure\": {\r\n\t\t\t\ten: \"Are you sure?\",\r\n\t\t\t\tit: \"Sei sicuro?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro?\",\r\n\t\t\t\tfr: \"รŠtes vous sรปr?\",\r\n\t\t\t},\r\n\t\t\t\"first-day\": {\r\n\t\t\t\ten: \"First Day of the Week\",\r\n\t\t\t\tit: \"Primo Giorno della Settimana\",\r\n\t\t\t\tes: \"Primer dรญa de la semana\",\r\n\t\t\t\tfr: \"Premier jour de la semaine\",\r\n\t\t\t},\r\n\t\t\t\"date-format\": {\r\n\t\t\t\ten: \"Date Format\",\r\n\t\t\t\tit: \"Formato Data\",\r\n\t\t\t\tes: \"Formato de fecha\",\r\n\t\t\t\tfr: \"Format de date\",\r\n\t\t\t},\r\n\t\t\t\"time-format\": {\r\n\t\t\t\ten: \"Time Format\",\r\n\t\t\t\tit: \"Formato Ora\",\r\n\t\t\t\tes: \"Formato de hora\",\r\n\t\t\t\tfr: \"Format horaire\",\r\n\t\t\t},\r\n\t\t\tunits: {\r\n\t\t\t\ten: \"Units\",\r\n\t\t\t\tit: \"Unitร  di Misura\",\r\n\t\t\t\tes: \"Unidades\",\r\n\t\t\t\tfr: \"Unitรฉs\",\r\n\t\t\t},\r\n\t\t\t\"delete-all\": {\r\n\t\t\t\ten: \"Delete all\",\r\n\t\t\t\tit: \"Cancella tutto\",\r\n\t\t\t\tes: \"Borrar todo\",\r\n\t\t\t\tfr: \"Tout effacer\",\r\n\t\t\t},\r\n\t\t\t\"provide-valid-date\": {\r\n\t\t\t\ten: \"Please provide a valid date\",\r\n\t\t\t\tit: \"Per favore inserisci una data valida\",\r\n\t\t\t\tes: \"Por favor, escriba un tiempo vรกlido\",\r\n\t\t\t\tfr: \"Veuillez saisir une date valide\",\r\n\t\t\t},\r\n\t\t\t\"provide-valid-time\": {\r\n\t\t\t\ten: \"Please provide a valid time\",\r\n\t\t\t\tit: \"Per favore inserisci un'ora valida\",\r\n\t\t\t\tes: \"Por favor, scriba una hora vรกlida\",\r\n\t\t\t\tfr: \"Veuillez saisir une heure valide\",\r\n\t\t\t},\r\n\t\t\t\"provide-valid-email\": {\r\n\t\t\t\ten: \"Please provide a valid email address\",\r\n\t\t\t\tit: \"Per favore inserisci una email valida\",\r\n\t\t\t\tes: \"Por favor, introduzca una direcciรณn de correo electrรณnico vรกlida\",\r\n\t\t\t\tfr: \"Veuillez saisir une adresse e-mail valide.\",\r\n\t\t\t},\r\n\t\t\t\"yes-leave-club\": {\r\n\t\t\t\ten: \"Yes, leave the club!\",\r\n\t\t\t\tit: \"Si, lascia il Club!\",\r\n\t\t\t\tes: \"ยกSรญ, deje el club!\",\r\n\t\t\t\tfr: \"Oui, quitter le club!\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-live\": {\r\n\t\t\t\ten: \"LIVE\",\r\n\t\t\t\tit: \"LIVE\",\r\n\t\t\t\tes: \"LIVE\",\r\n\t\t\t\tfr: \"LIVE\",\r\n\t\t\t},\r\n\t\t\t\"training-title\": {\r\n\t\t\t\ten: \"Title\",\r\n\t\t\t\tit: \"Titolo\",\r\n\t\t\t\tes: \"Tรญtulo\",\r\n\t\t\t\tfr: \"Titre\",\r\n\t\t\t},\r\n\t\t\t\"training-description\": {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\t\"create-live-training\": {\r\n\t\t\t\ten: \"Create Live Training\",\r\n\t\t\t\tit: \"Crea Live Training\",\r\n\t\t\t\tes: \"Crear Live Training\",\r\n\t\t\t\tfr: \"Crรฉer Live Training\",\r\n\t\t\t},\r\n\t\t\t\"live-training-start-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to start this live training?\",\r\n\t\t\t\tit: \"Sei sicuro di voler iniziare questo live training?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres comenzar este entrenamiento en vivo?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment commencer cette entraรฎnement en direct\",\r\n\t\t\t},\r\n\t\t\t\"live-training-stop-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to stop this live training?\",\r\n\t\t\t\tit: \"Sei sicuro di voler terminare questo live training?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres detener este entrenamiento en vivo?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment commencer arrรชtez entraรฎnement en direct\",\r\n\t\t\t},\r\n\t\t\t\"delete-live-training-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to delete this live training?\",\r\n\t\t\t\tit: \"Sei sicuro di voler canellare questo live training?\",\r\n\t\t\t\tes: \"Estรกs seguro de que deseas eliminar esta capacitaciรณn en vivo?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment supprimer cette entraรฎnement en direct?\",\r\n\t\t\t},\r\n\t\t\t\"athlete-successfully-remove\": {\r\n\t\t\t\ten: \"Athlete successfully removed\",\r\n\t\t\t\tit: \"Atleta rimosso con successo\",\r\n\t\t\t\tes: \"Atleta eliminado con รฉxito\",\r\n\t\t\t\tfr: \"Athlรจte retirรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-create-live-training\": {\r\n\t\t\t\ten: \"Successfully create live training\",\r\n\t\t\t\tit: \"Live training creato con successo\",\r\n\t\t\t\tes: \"Crea exitosamente entrenamiento en vivo\",\r\n\t\t\t\tfr: \"Crรฉer avec succรจs une entraรฎnement en direct\",\r\n\t\t\t},\r\n\t\t\t\"successfully-edited-live-training\": {\r\n\t\t\t\ten: \"Successfully edited live training\",\r\n\t\t\t\tit: \"Live training modificato con successo\",\r\n\t\t\t\tes: \"Entrenamiento en vivo editado con รฉxito\",\r\n\t\t\t\tfr: \"Entraรฎnement en direct modifiรฉe avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-delete-live-training\": {\r\n\t\t\t\ten: \"Live training successfully deleted\",\r\n\t\t\t\tit: \"Live training cancellato con successo\",\r\n\t\t\t\tes: \"Entrenamiento en vivo eliminado con รฉxito\",\r\n\t\t\t\tfr: \"L' entraรฎnement en direct a bien รฉtรฉ supprimรฉe\",\r\n\t\t\t},\r\n\t\t\t\"successfully-emptied-participant-list\": {\r\n\t\t\t\ten: \"Participant list emptied successfully\",\r\n\t\t\t\tit: \"Lista partecipanti svuotata con successo\",\r\n\t\t\t\tes: \"Lista de participantes vaciada con รฉxito\",\r\n\t\t\t\tfr: \"Liste des participants vidรฉe avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-stop-live-training\": {\r\n\t\t\t\ten: \"Live training successfully stopped\",\r\n\t\t\t\tit: \"Live training interrotto con successo\",\r\n\t\t\t\tes: \"Entrenamiento en vivo se detuvo con รฉxito\",\r\n\t\t\t\tfr: \"L' entraรฎnement en direct s'est arrรชtรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-start-live-training\": {\r\n\t\t\t\ten: \"Live training successfully started\",\r\n\t\t\t\tit: \"Live training avviato con successo\",\r\n\t\t\t\tes: \"El entrenamiento en vivo comenzรณ con รฉxito\",\r\n\t\t\t\tfr: \"L' entraรฎnement en direct a dรฉmarrรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"stop-successfully\": {\r\n\t\t\t\ten: \"Successfully stopped\",\r\n\t\t\t\tit: \"Interrotto con successo\",\r\n\t\t\t\tes: \"Se detuvo exitosamente\",\r\n\t\t\t\tfr: \"Arrรชtรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"start-successfully\": {\r\n\t\t\t\ten: \"Successfully started\",\r\n\t\t\t\tit: \"Avviato con successo\",\r\n\t\t\t\tes: \"Comenzรณ con รฉxito\",\r\n\t\t\t\tfr: \"Dรฉmarrรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"start-error\": {\r\n\t\t\t\ten: \"Start error\",\r\n\t\t\t\tit: \"Errore di avvio\",\r\n\t\t\t\tes: \"Error de inicio\",\r\n\t\t\t\tfr: \"Erreur de dรฉmarrage\",\r\n\t\t\t},\r\n\t\t\t\"must-select-trainer\": {\r\n\t\t\t\ten: \"No trainer selected\",\r\n\t\t\t\tit: \"Nessun trainer selezionato\",\r\n\t\t\t\tes: \"Ningรบn entrenador seleccionado\",\r\n\t\t\t\tfr: \"Aucun formateur sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t\t\"live-training-already-actived\": {\r\n\t\t\t\ten: \"It's already an active live training\",\r\n\t\t\t\tit: \"Risulta gia' un live training attivo\",\r\n\t\t\t\tes: \"Ya es un entrenamiento activo en vivo\",\r\n\t\t\t\tfr: \"C'est dรฉjร  un entraรฎnement active en direct\",\r\n\t\t\t},\r\n\t\t\t\"live-training-already-actived-for-trainer\": {\r\n\t\t\t\ten: \"It's already an active training for this trainer\",\r\n\t\t\t\tit: \"Risulta gia' un training attivo per questo trainer\",\r\n\t\t\t\tes: \"Ya es un entrenamiento activo para este entrenador\",\r\n\t\t\t\tfr: \"C'est dรฉjร  un entraรฎnement active pour ce formateur\",\r\n\t\t\t},\r\n\t\t\t\"add-athletes\": {\r\n\t\t\t\ten: \"Add Athletes\",\r\n\t\t\t\tit: \"Aggiungi Atleti\",\r\n\t\t\t\tes: \"Aรฑadir atletas\",\r\n\t\t\t\tfr: \"Ajouter athlรจtes\",\r\n\t\t\t},\r\n\t\t\t\"resend-invitation\": {\r\n\t\t\t\ten: \"Resend Invitation\",\r\n\t\t\t\tit: \"Rimanda invito\",\r\n\t\t\t\tes: \"Reenviar invitacรญon\",\r\n\t\t\t\tfr: \"Renvoyer l'invitation\",\r\n\t\t\t},\r\n\t\t\t\"resend-invitation-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to resend the invitation for the user \",\r\n\t\t\t\tit: \"Sei sicuro di voler rimandare l' invito per l utente \",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea reenviar la invitaciรณn para el usuario?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment renvoyer l'invitation ร  l'utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"start-live-training\": {\r\n\t\t\t\ten: \"Start Live Training\",\r\n\t\t\t\tit: \"Iniza Allenamento Live\",\r\n\t\t\t\tes: \"Comience El Entrenamiento\",\r\n\t\t\t\tfr: \"Commencez L' Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tcolor: {\r\n\t\t\t\ten: \"Color\",\r\n\t\t\t\tit: \"Colore\",\r\n\t\t\t\tes: \"Color\",\r\n\t\t\t\tfr: \"Couleur\",\r\n\t\t\t},\r\n\t\t\t\"trainer-name\": {\r\n\t\t\t\ten: \"Trainer name\",\r\n\t\t\t\tit: \"Nome trainer\",\r\n\t\t\t\tes: \"Nombre del entrenador\",\r\n\t\t\t\tfr: \"Nom du formateur\",\r\n\t\t\t},\r\n\t\t\t\"select-trainer\": {\r\n\t\t\t\ten: \"Select Trainer\",\r\n\t\t\t\tit: \"Seleziona Trainer\",\r\n\t\t\t\tes: \"Seleccionar Entrenador\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Le Entraรฎneur\",\r\n\t\t\t},\r\n\t\t\t\"change-trainer\": {\r\n\t\t\t\ten: \"Change Trainer\",\r\n\t\t\t\tit: \"Cambia Trainer\",\r\n\t\t\t\tes: \"Cambiar entrenador\",\r\n\t\t\t\tfr: \"Changer de Entraรฎneur\",\r\n\t\t\t},\r\n\t\t\t\"select-staff\": {\r\n\t\t\t\ten: \"Select Staff\",\r\n\t\t\t\tit: \"Seleziona Staff\",\r\n\t\t\t\tes: \"Seleccionar Staff\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Staff\",\r\n\t\t\t},\r\n\t\t\t\"change-staff\": {\r\n\t\t\t\ten: \"Change Staff\",\r\n\t\t\t\tit: \"Cambia Staff\",\r\n\t\t\t\tes: \"Cambiar Staff\",\r\n\t\t\t\tfr: \"Changer Staff\",\r\n\t\t\t},\r\n\t\t\t\"remove-trainer\": {\r\n\t\t\t\ten: \"Remove\",\r\n\t\t\t\tit: \"Rimuovi\",\r\n\t\t\t\tes: \"Eliminar\",\r\n\t\t\t\tfr: \"Supprimer\",\r\n\t\t\t},\r\n\t\t\t\"participants-max\": {\r\n\t\t\t\ten: \"Participants/max\",\r\n\t\t\t\tit: \"Partecipanti/max\",\r\n\t\t\t\tes: \"Participantes/max\",\r\n\t\t\t\tfr: \"Participants/max\",\r\n\t\t\t},\r\n\t\t\t\"not-able-to-bring-back\": {\r\n\t\t\t\ten: \"You will not be able to recover this data!\",\r\n\t\t\t\tit: \"Non sarร  possibile recuperare questi dati!\",\r\n\t\t\t\tes: \"ยกNo podrรก recuperar este registro!\",\r\n\t\t\t\tfr: \"Vous ne pourrez pas rรฉcupรฉrer ces donnรฉes!\",\r\n\t\t\t},\r\n\t\t\tSingle: {\r\n\t\t\t\ten: \"Lesson\",\r\n\t\t\t\tit: \"Lezione\",\r\n\t\t\t\tes: \"Lesson\",\r\n\t\t\t\tfr: \"Lesson\",\r\n\t\t\t},\r\n\t\t\tCourse: {\r\n\t\t\t\ten: \"Course\",\r\n\t\t\t\tit: \"Corso\",\r\n\t\t\t\tes: \"Course\",\r\n\t\t\t\tfr: \"ร‰vรจnements\",\r\n\t\t\t},\r\n\t\t\tparticipants: {\r\n\t\t\t\ten: \"Participants\",\r\n\t\t\t\tit: \"Partecipanti\",\r\n\t\t\t\tes: \"Participantes\",\r\n\t\t\t\tfr: \"Participants\",\r\n\t\t\t},\r\n\t\t\tonsite: {\r\n\t\t\t\ten: \"Onsite\",\r\n\t\t\t\tit: \"In Presenza\",\r\n\t\t\t\tes: \"En Sitio\",\r\n\t\t\t\tfr: \"Sur Site\",\r\n\t\t\t},\r\n\t\t\thome: {\r\n\t\t\t\ten: \"Online\",\r\n\t\t\t\tit: \"Online\",\r\n\t\t\t\tes: \"En Lรญnea\",\r\n\t\t\t\tfr: \"En Ligne\",\r\n\t\t\t},\r\n\t\t\t\"onsite-participants\": {\r\n\t\t\t\ten: \"Onsite participants\",\r\n\t\t\t\tit: \"Partecipanti in presenza\",\r\n\t\t\t\tes: \"Participantes en el sitio\",\r\n\t\t\t\tfr: \"Participants sur site\",\r\n\t\t\t},\r\n\t\t\t\"home-participants\": {\r\n\t\t\t\ten: \"Online participants\",\r\n\t\t\t\tit: \"Partecipanti online\",\r\n\t\t\t\tes: \"Participantes en lรญnea\",\r\n\t\t\t\tfr: \"Participants en Ligne\",\r\n\t\t\t},\r\n\t\t\t\"remove-class-participants\": {\r\n\t\t\t\ten: \"Do you want to remove all participants?\",\r\n\t\t\t\tit: \"Vuoi rimuovere tutti i partecipanti?\",\r\n\t\t\t\tes: \"ยฟDesea eliminar a todos los participantes?\",\r\n\t\t\t\tfr: \"Voulez-vous supprimer tous les participants?\",\r\n\t\t\t},\r\n\t\t\t\"remove-class-participants-insite\": {\r\n\t\t\t\ten: \"Do you want to remove all onsite participants?\",\r\n\t\t\t\tit: \"Vuoi rimuovere tutti i partecipanti in presenza?\",\r\n\t\t\t\tes: \"ยฟDesea eliminar a todos los participantes en el sitio?\",\r\n\t\t\t\tfr: \"Voulez-vous supprimer tous les participants sur site?\",\r\n\t\t\t},\r\n\t\t\t\"remove-class-participants-home\": {\r\n\t\t\t\ten: \"Do you want to remove all online participants?\",\r\n\t\t\t\tit: \"Vuoi rimuovere tutti i partecipanti online?\",\r\n\t\t\t\tes: \"ยฟDesea eliminar a todos los participantes en lรญnea?\",\r\n\t\t\t\tfr: \"Voulez-vous supprimer tous les participants en ligne?\",\r\n\t\t\t},\r\n\t\t\tsearch: {\r\n\t\t\t\ten: \"Search\",\r\n\t\t\t\tit: \"Cerca\",\r\n\t\t\t\tes: \"Buscar\",\r\n\t\t\t\tfr: \"Recherche\",\r\n\t\t\t},\r\n\t\t\ttype: {\r\n\t\t\t\ten: \"Type\",\r\n\t\t\t\tit: \"Tipo\",\r\n\t\t\t\tes: \"Tipo\",\r\n\t\t\t\tfr: \"Type\",\r\n\t\t\t},\r\n\t\t\tplace: {\r\n\t\t\t\ten: \"Location\",\r\n\t\t\t\tit: \"Luogo\",\r\n\t\t\t\tes: \"Sitio\",\r\n\t\t\t\tfr: \"Lieu\",\r\n\t\t\t},\r\n\t\t\t\"clear-filters\": {\r\n\t\t\t\ten: \"Clear Filters\",\r\n\t\t\t\tit: \"Reset Filtri\",\r\n\t\t\t\tes: \"Borrar Filtros\",\r\n\t\t\t\tfr: \"Effacer Filtres\",\r\n\t\t\t},\r\n\t\t\tpublished: {\r\n\t\t\t\ten: \"Active\",\r\n\t\t\t\tit: \"Attivo\",\r\n\t\t\t\tes: \"Activo\",\r\n\t\t\t\tfr: \"Actif\",\r\n\t\t\t},\r\n\t\t\tunpublished: {\r\n\t\t\t\ten: \"Inactive\",\r\n\t\t\t\tit: \"Inattivo\",\r\n\t\t\t\tes: \"Inactivo\",\r\n\t\t\t\tfr: \"Inactif\",\r\n\t\t\t},\r\n\t\t\t\"proceed-anyway\": {\r\n\t\t\t\ten: \"Do you want to proceed anyway?\",\r\n\t\t\t\tit: \"Vuoi procedere comunque?\",\r\n\t\t\t\tes: \"ยฟQuieres continuar de todos modos?\",\r\n\t\t\t\tfr: \"Voulez-vous quand mรชme continuer?\",\r\n\t\t\t},\r\n\t\t\tsingle: {\r\n\t\t\t\ten: \"Lesson\",\r\n\t\t\t\tit: \"Lezione\",\r\n\t\t\t\tes: \"Lecciรณn\",\r\n\t\t\t\tfr: \"Leรงon\",\r\n\t\t\t},\r\n\t\t\tcourse: {\r\n\t\t\t\ten: \"Course\",\r\n\t\t\t\tit: \"Corso\",\r\n\t\t\t\tes: \"Curso\",\r\n\t\t\t\tfr: \"ร‰vรจnements\",\r\n\t\t\t},\r\n\t\t\tgroup: {\r\n\t\t\t\ten: \"Group\",\r\n\t\t\t\tit: \"Gruppo\",\r\n\t\t\t\tes: \"Grupo\",\r\n\t\t\t\tfr: \"Groupe\",\r\n\t\t\t},\r\n\t\t\tGroup: {\r\n\t\t\t\ten: \"Lesson Group\",\r\n\t\t\t\tit: \"Gruppo Di Lezioni\",\r\n\t\t\t\tes: \"Grupo Lecciones\",\r\n\t\t\t\tfr: \"Groupe Training\",\r\n\t\t\t},\r\n\t\t\tcalendar: {\r\n\t\t\t\ten: \"Calendar\",\r\n\t\t\t\tit: \"Calendario\",\r\n\t\t\t\tes: \"Calendario\",\r\n\t\t\t\tfr: \"Calendrier\",\r\n\t\t\t},\r\n\t\t\tcalendars: {\r\n\t\t\t\ten: \"Calendars\",\r\n\t\t\t\tit: \"Calendari\",\r\n\t\t\t\tes: \"Calendarios\",\r\n\t\t\t\tfr: \"Calendriers\",\r\n\t\t\t},\r\n\t\t\tactivities: {\r\n\t\t\t\ten: \"Activities\",\r\n\t\t\t\tit: \"Attivitร \",\r\n\t\t\t\tes: \"Actividades\",\r\n\t\t\t\tfr: \"Activitรฉs\",\r\n\t\t\t},\r\n\t\t\t\"1_day\": {\r\n\t\t\t\ten: \"1 day\",\r\n\t\t\t\tit: \"1 giorno\",\r\n\t\t\t\tes: \"1 dรญa\",\r\n\t\t\t\tfr: \"1 jour\",\r\n\t\t\t},\r\n\t\t\tx_days: {\r\n\t\t\t\ten: \"{0} days\",\r\n\t\t\t\tit: \"{0} giorni\",\r\n\t\t\t\tes: \"{0} dรญas\",\r\n\t\t\t\tfr: \"{0} jours\",\r\n\t\t\t},\r\n\t\t\tevery_day: {\r\n\t\t\t\ten: \"Every day\",\r\n\t\t\t\tit: \"Ogni giorno\",\r\n\t\t\t\tes: \"Cada dรญa\",\r\n\t\t\t\tfr: \"Tous les jours\",\r\n\t\t\t},\r\n\t\t\tevery_x_days: {\r\n\t\t\t\ten: \"Every {0} days\",\r\n\t\t\t\tit: \"Ogni {0} giorni\",\r\n\t\t\t\tes: \"Cada {0} dรญas\",\r\n\t\t\t\tfr: \"Tous les {0} jours\",\r\n\t\t\t},\r\n\r\n\t\t\t\"1_month\": {\r\n\t\t\t\ten: \"1 month\",\r\n\t\t\t\tit: \"1 mese\",\r\n\t\t\t\tes: \"1 mes\",\r\n\t\t\t\tfr: \"1 mois\",\r\n\t\t\t},\r\n\t\t\tx_months: {\r\n\t\t\t\ten: \"{0} months\",\r\n\t\t\t\tit: \"{0} mesi\",\r\n\t\t\t\tes: \"{0} meses\",\r\n\t\t\t\tfr: \"{0} mois\",\r\n\t\t\t},\r\n\t\t\tevery_month: {\r\n\t\t\t\ten: \"Every month\",\r\n\t\t\t\tit: \"Ogni mese\",\r\n\t\t\t\tes: \"Cada mes\",\r\n\t\t\t\tfr: \"Chaque mois\",\r\n\t\t\t},\r\n\t\t\tevery_x_months: {\r\n\t\t\t\ten: \"Every {0} months\",\r\n\t\t\t\tit: \"Ogni {0} mesi\",\r\n\t\t\t\tes: \"Cada {0} meses\",\r\n\t\t\t\tfr: \"Tous les {0} mois\",\r\n\t\t\t},\r\n\r\n\t\t\t\"1_year\": {\r\n\t\t\t\ten: \"1 year\",\r\n\t\t\t\tit: \"1 anno\",\r\n\t\t\t\tes: \"1 aรฑo\",\r\n\t\t\t\tfr: \"1 ans\",\r\n\t\t\t},\r\n\t\t\tx_years: {\r\n\t\t\t\ten: \"{0} years\",\r\n\t\t\t\tit: \"{0} anni\",\r\n\t\t\t\tes: \"{0} aรฑos\",\r\n\t\t\t\tfr: \"{0} annรฉes\",\r\n\t\t\t},\r\n\t\t\tevery_year: {\r\n\t\t\t\ten: \"Every year\",\r\n\t\t\t\tit: \"Ogni anno\",\r\n\t\t\t\tes: \"Todos los aรฑos\",\r\n\t\t\t\tfr: \"Chaque annรฉe\",\r\n\t\t\t},\r\n\t\t\tevery_x_years: {\r\n\t\t\t\ten: \"Every {0} years\",\r\n\t\t\t\tit: \"Ogni {0} anni\",\r\n\t\t\t\tes: \"Cada {0} aรฑos\",\r\n\t\t\t\tfr: \"Tous les {0} ans\",\r\n\t\t\t},\r\n\r\n\t\t\tchange: {\r\n\t\t\t\ten: \"Change\",\r\n\t\t\t\tit: \"Cambia\",\r\n\t\t\t\tes: \"Cambiar\",\r\n\t\t\t\tfr: \"Modifier\",\r\n\t\t\t},\r\n\t\t\t\"added-date\": {\r\n\t\t\t\ten: \"Added Date\",\r\n\t\t\t\tit: \"Data Aggiunta\",\r\n\t\t\t\tes: \"Fecha Aรฑadida\",\r\n\t\t\t\tfr: \"Date d'Ajout\",\r\n\t\t\t},\r\n\t\t\tdate: {\r\n\t\t\t\ten: \"Date\",\r\n\t\t\t\tit: \"Data\",\r\n\t\t\t\tes: \"Fecha\",\r\n\t\t\t\tfr: \"Date\",\r\n\t\t\t},\r\n\t\t\t\"start-date\": {\r\n\t\t\t\ten: \"Start Date\",\r\n\t\t\t\tit: \"Data Inizio\",\r\n\t\t\t\tes: \"Fecha Inicio\",\r\n\t\t\t\tfr: \"Date Dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"end-date\": {\r\n\t\t\t\ten: \"End Date\",\r\n\t\t\t\tit: \"Data Fine\",\r\n\t\t\t\tes: \"Fecha final\",\r\n\t\t\t\tfr: \"Date Fin\",\r\n\t\t\t},\r\n\t\t\t\"cannot-delete-status-published\": {\r\n\t\t\t\ten: \"Could not delete because the status is 'Active'\",\r\n\t\t\t\tit: \"Impossibile cancellare perchรจ lo stato รจ 'Attivo'\",\r\n\t\t\t\tes: \"No se pudo eliminar porque el estado es 'Activo'\",\r\n\t\t\t\tfr: \"Impossible de supprimer car l'รฉtat est 'Actif'\",\r\n\t\t\t},\r\n\t\t\t\"my-activities\": {\r\n\t\t\t\ten: \"Upcoming Activities\",\r\n\t\t\t\tit: \"Prossime Attivitร \",\r\n\t\t\t\tes: \"Prรณximas Actividades\",\r\n\t\t\t\tfr: \"Activitรฉs ร€ Venir\",\r\n\t\t\t},\r\n\t\t\t\"rename-file\": {\r\n\t\t\t\ten: \"Rename File\",\r\n\t\t\t\tit: \"Rinomina il file\",\r\n\t\t\t\tes: \"Renombrar archivo\",\r\n\t\t\t\tfr: \"Renommer le fichier\",\r\n\t\t\t},\r\n\t\t\t\"rename-folder\": {\r\n\t\t\t\ten: \"Rename Folder\",\r\n\t\t\t\tit: \"Rinomina La Cartella\",\r\n\t\t\t\tes: \"Renombrar Carpeta\",\r\n\t\t\t\tfr: \"Renommer Le Dossier\",\r\n\t\t\t},\r\n\t\t\t\"new-name\": {\r\n\t\t\t\ten: \"New name\",\r\n\t\t\t\tit: \"Nuovo nome\",\r\n\t\t\t\tes: \"Nuevo nombre\",\r\n\t\t\t\tfr: \"Nouveau nom\",\r\n\t\t\t},\r\n\t\t\ttrophies: {\r\n\t\t\t\ten: \"Trophies\",\r\n\t\t\t\tit: \"Trofei\",\r\n\t\t\t\tes: \"Trofeos\",\r\n\t\t\t\tfr: \"Trophรฉes\",\r\n\t\t\t},\r\n\t\t\t\"club-trophies\": {\r\n\t\t\t\ten: \"Club Trophies\",\r\n\t\t\t\tit: \"Trofei Del Club\",\r\n\t\t\t\tes: \"Trofeos Del Club\",\r\n\t\t\t\tfr: \"Trophรฉes de club\",\r\n\t\t\t},\r\n\t\t\tchallenges: {\r\n\t\t\t\ten: \"Challenges\",\r\n\t\t\t\tit: \"Sfide\",\r\n\t\t\t\tes: \"Desafรญos\",\r\n\t\t\t\tfr: \"Dรฉfis\",\r\n\t\t\t},\r\n\t\t\tobjectives: {\r\n\t\t\t\ten: \"Objectives\",\r\n\t\t\t\tit: \"Obiettivi\",\r\n\t\t\t\tes: \"Objetivos\",\r\n\t\t\t\tfr: \"Objectifs\",\r\n\t\t\t},\r\n\t\t\tchallenge: {\r\n\t\t\t\ten: \"Challenge\",\r\n\t\t\t\tit: \"Sfida\",\r\n\t\t\t\tes: \"Desafรญo\",\r\n\t\t\t\tfr: \"Dรฉfi\",\r\n\t\t\t},\r\n\t\t\tdescription: {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\t\"short-description\": {\r\n\t\t\t\ten: \"Short Description\",\r\n\t\t\t\tit: \"Descrizione Breve\",\r\n\t\t\t\tes: \"Breve Descripciรณn\",\r\n\t\t\t\tfr: \"Brรจve Description\",\r\n\t\t\t},\r\n\t\t\t\"create-challenge\": {\r\n\t\t\t\ten: \"Create Challenge\",\r\n\t\t\t\tit: \"Crea Sfida\",\r\n\t\t\t\tes: \"Crear Desafรญo\",\r\n\t\t\t\tfr: \"Crรฉer Un Dรฉfi\",\r\n\t\t\t},\r\n\t\t\t\"challenge-contains-invalid-dates\": {\r\n\t\t\t\ten: \"Challenge contains invalid dates\",\r\n\t\t\t\tit: \"La Sfida contiene date non valide\",\r\n\t\t\t\tes: \"La Desafรญo contiene fechas invรกlidas\",\r\n\t\t\t\tfr: \"La Dรฉfi contient des dates non valides\",\r\n\t\t\t},\r\n\t\t\t\"challenge-start-date-after-end\": {\r\n\t\t\t\ten: \"Challenge end date is earlier than a start date\",\r\n\t\t\t\tit: \"La data di fine della sfida รจ anteriore alla data di inizio\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn del desafรญo es anterior a la fecha de inicio\",\r\n\t\t\t\tfr: \"La date de fin du dรฉfi est antรฉrieure ร  une date de dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"challenge-end-date-must-be-after-start-date\": {\r\n\t\t\t\ten: \"The challenge end date must be after the start date\",\r\n\t\t\t\tit: \"La data di fine della sfida deve essere successiva alla data di inizio\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn del desafรญo debe ser posterior a la fecha de inicio\",\r\n\t\t\t\tfr: \"La date de fin du dรฉfi doit รชtre postรฉrieure ร  la date de dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"challenge-cannot-last-more-than-365-days\": {\r\n\t\t\t\t\"en\": \"The challenge cannot last more than 365 days\",\r\n\t\t\t\t\"it\": \"La sfida non puรฒ durare piรน di 365 giorni\",\r\n\t\t\t\t\"es\": \"El desafรญo no puede durar mรกs de 365 dรญas\",\r\n\t\t\t\t\"fr\": \"Le dรฉfi ne peut pas durer plus de 365 jours\"\r\n\t\t\t},\r\n\t\t\t\"challenge-exceeded-maximum-months\": {\r\n\t\t\t\ten: \"Challenge has exceeded the maximum number of months: \",\r\n\t\t\t\tit: \"La sfida ha superato il numero massimo di mesi: \",\r\n\t\t\t\tes: \"La Desafรญo ha excedido el nรบmero mรกximo de meses: \",\r\n\t\t\t\tfr: \"La Dรฉfi a dรฉpassรฉ le nombre maximum de mois: \",\r\n\t\t\t},\r\n\t\t\t\"challenge-succesfully-deleted\": {\r\n\t\t\t\ten: \"challenge succesfully deleted\",\r\n\t\t\t\tit: \"sfida eliminata con successo\",\r\n\t\t\t\tes: \"Desafรญo eliminado con รฉxito\",\r\n\t\t\t\tfr: \"Dรฉfi supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"challenge-start-date-must-be-in-future\": {\r\n\t\t\t\ten: \"The challenge start date must be in the future\",\r\n\t\t\t\tit: \"La data di inizio della sfida deve essere nel futuro\",\r\n\t\t\t\tes: \"La fecha de inicio del desafรญo debe ser futura\",\r\n\t\t\t\tfr: \"La date de dรฉbut du dรฉfi doit รชtre dans le futur\",\r\n\t\t\t},\r\n\t\t\t\"select-image\": {\r\n\t\t\t\ten: \"Select Image\",\r\n\t\t\t\tit: \"Seleziona Immagine\",\r\n\t\t\t\tes: \"Selecciona Imagen\",\r\n\t\t\t\tfr: \"Sรฉlectionner Image\",\r\n\t\t\t},\r\n\t\t\t\"select-color\": {\r\n\t\t\t\ten: \"Select Color\",\r\n\t\t\t\tit: \"Seleziona Colore\",\r\n\t\t\t\tes: \"Seleccionar Color\",\r\n\t\t\t\tfr: \"Choisissez Couleur\",\r\n\t\t\t},\r\n\t\t\t\"club-challenges\": {\r\n\t\t\t\ten: \"Club Challenges\",\r\n\t\t\t\tit: \"Sfide Del Club\",\r\n\t\t\t\tes: \"Retos Del Club\",\r\n\t\t\t\tfr: \"Dรฉfis de club\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-live-for-windows\": {\r\n\t\t\t\ten: \"Uptivo LIVE for Windows\",\r\n\t\t\t\tit: \"Uptivo LIVE per Windows\",\r\n\t\t\t\tes: \"Uptivo LIVE para Windows\",\r\n\t\t\t\tfr: \"Uptivo LIVE pour Windows\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-live-link\": {\r\n\t\t\t\ten: \"https://uptivo.fit/support/download/\",\r\n\t\t\t\tit: \"https://uptivo.fit/it/support/download/\",\r\n\t\t\t\tes: \"https://uptivo.fit/support/download/\",\r\n\t\t\t\tfr: \"https://uptivo.fit/support/download/\",\r\n\t\t\t},\r\n\t\t\t\"link-copied\": {\r\n\t\t\t\ten: \"Link copied!\",\r\n\t\t\t\tit: \"Link copiato!\",\r\n\t\t\t\tes: \"Enlace copiado!\",\r\n\t\t\t\tfr: \"Lien copiรฉ!\",\r\n\t\t\t},\r\n\t\t\t\"click-to-copy-link\": {\r\n\t\t\t\ten: \"Click to copy link\",\r\n\t\t\t\tit: \"Clicca per copiare il link\",\r\n\t\t\t\tes: \"Haga clic para copiar el enlace\",\r\n\t\t\t\tfr: \"Cliquer pour copier le lien\",\r\n\t\t\t},\r\n\t\t\t\"total-duration\": {\r\n\t\t\t\ten: \"Total duration\",\r\n\t\t\t\tit: \"Durata totale\",\r\n\t\t\t\tes: \"Duraciรณn total\",\r\n\t\t\t\tfr: \"Durรฉe totale\",\r\n\t\t\t},\r\n\t\t\t\"valid-zones-points\": {\r\n\t\t\t\ten: \"Valid zones Points\",\r\n\t\t\t\tit: \"Punti zone valide\",\r\n\t\t\t\tes: \"Puntos de zonas vรกlidas\",\r\n\t\t\t\tfr: \"Points de zones valides\",\r\n\t\t\t},\r\n\t\t\t\"valid-zones-time\": {\r\n\t\t\t\ten: \"Time in valid zones\",\r\n\t\t\t\tit: \"Tempo in zone valide\",\r\n\t\t\t\tes: \"Hora en zonas vรกlidas\",\r\n\t\t\t\tfr: \"Heure dans les zones valides\",\r\n\t\t\t},\r\n\t\t\t\"valid-zones-time-prc\": {\r\n\t\t\t\ten: \"% time in valid zones\",\r\n\t\t\t\tit: \"% tempo in zone valide\",\r\n\t\t\t\tes: \"% hora en zonas vรกlidas\",\r\n\t\t\t\tfr: \"% heure dans les zones valides\",\r\n\t\t\t},\r\n\t\t\tto: {\r\n\t\t\t\ten: \"To\",\r\n\t\t\t\tit: \"A\",\r\n\t\t\t\tes: \"A\",\r\n\t\t\t\tfr: \"ร€\",\r\n\t\t\t},\r\n\t\t\t\"active-challenges\": {\r\n\t\t\t\ten: \"Active\",\r\n\t\t\t\tit: \"Attivo\",\r\n\t\t\t\tes: \"Activos\",\r\n\t\t\t\tfr: \"Actifs\",\r\n\t\t\t},\r\n\t\t\t\"history-challenges\": {\r\n\t\t\t\ten: \"History\",\r\n\t\t\t\tit: \"Storico\",\r\n\t\t\t\tes: \"Historia\",\r\n\t\t\t\tfr: \"L'histoire\",\r\n\t\t\t},\r\n\t\t\t\"credits-and-subscriptions\": {\r\n\t\t\t\ten: \"Credits And Subscriptions\",\r\n\t\t\t\tit: \"Crediti e Abbonamenti\",\r\n\t\t\t\tes: \"Crรฉditos y Suscripciones\",\r\n\t\t\t\tfr: \"Crรฉdits Et Abonnements\",\r\n\t\t\t},\r\n\t\t\tmanagement: {\r\n\t\t\t\ten: \"Management\",\r\n\t\t\t\tit: \"Gestione\",\r\n\t\t\t\tes: \"Gestiรณn\",\r\n\t\t\t\tfr: \"Gestion\",\r\n\t\t\t},\r\n\t\t\tengagement: {\r\n\t\t\t\ten: \"Engagement\",\r\n\t\t\t\tit: \"Engagement\",\r\n\t\t\t\tes: \"Engagement\",\r\n\t\t\t\tfr: \"Engagement\",\r\n\t\t\t},\r\n\t\t\tpublish: {\r\n\t\t\t\ten: \"Activate\",\r\n\t\t\t\tit: \"Attiva\",\r\n\t\t\t\tes: \"Activar\",\r\n\t\t\t\tfr: \"Activer\",\r\n\t\t\t},\r\n\t\t\tunpublish: {\r\n\t\t\t\ten: \"Deactivate\",\r\n\t\t\t\tit: \"Disattiva\",\r\n\t\t\t\tes: \"Desactivar\",\r\n\t\t\t\tfr: \"Dรฉsactiver\",\r\n\t\t\t},\r\n\t\t\tcredits: {\r\n\t\t\t\ten: \"Credits\",\r\n\t\t\t\tit: \"Crediti\",\r\n\t\t\t\tes: \"Crรฉditos\",\r\n\t\t\t\tfr: \"Crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"insufficient-club-credits\": {\r\n\t\t\t\ten: \"Insufficient SMS club credits\",\r\n\t\t\t\tit: \"Crediti SMS del club insufficienti\",\r\n\t\t\t\tes: \"Crรฉditos SMS del club insuficientes\",\r\n\t\t\t\tfr: \"Crรฉdits SMS de club insuffisants\",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti richiesti\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"training-type\": {\r\n\t\t\t\ten: \"Training type\",\r\n\t\t\t\tit: \"Tipo allenamento\",\r\n\t\t\t\tes: \"Tipo entrenamiento\",\r\n\t\t\t\tfr: \"Type entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"booking-mode\": {\r\n\t\t\t\ten: \"Booking Mode\",\r\n\t\t\t\tit: \"Modalitร  Prenotazione\",\r\n\t\t\t\tes: \"Modo De Reserva\",\r\n\t\t\t\tfr: \"Mode De Rรฉservation\",\r\n\t\t\t},\r\n\t\t\thours: {\r\n\t\t\t\ten: \"Hours\",\r\n\t\t\t\tit: \"Ore\",\r\n\t\t\t\tes: \"Horas\",\r\n\t\t\t\tfr: \"Heures\",\r\n\t\t\t},\r\n\t\t\t\"visibility-days\": {\r\n\t\t\t\ten: \"Booking Interval\",\r\n\t\t\t\tit: \"Intervallo Prenotazione\",\r\n\t\t\t\tes: \"Intervalo Reserva\",\r\n\t\t\t\tfr: \"Intervalle Rรฉservation\",\r\n\t\t\t},\r\n\t\t\t\"booking-before\": {\r\n\t\t\t\ten: \"Booking Before\",\r\n\t\t\t\tit: \"Prenota Entro\",\r\n\t\t\t\tes: \"Reserva Antes\",\r\n\t\t\t\tfr: \"Rรฉservation Avant\",\r\n\t\t\t},\r\n\t\t\t\"cancel-before\": {\r\n\t\t\t\ten: \"Cancel Before\",\r\n\t\t\t\tit: \"Disdici Entro\",\r\n\t\t\t\tes: \"Cancela Antes\",\r\n\t\t\t\tfr: \"Annuler Avant\",\r\n\t\t\t},\r\n\t\t\tsubscription: {\r\n\t\t\t\ten: \"Subscription\",\r\n\t\t\t\tit: \"Abbonamento\",\r\n\t\t\t\tes: \"Suscripciรณn\",\r\n\t\t\t\tfr: \"Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"multiple-values\": {\r\n\t\t\t\ten: \"Multiple Values\",\r\n\t\t\t\tit: \"Valori Multipli\",\r\n\t\t\t\tes: \"Varios Valores\",\r\n\t\t\t\tfr: \"Valeurs multiples\",\r\n\t\t\t},\r\n\t\t\t\"with-participants\": {\r\n\t\t\t\ten: \"With Participants\",\r\n\t\t\t\tit: \"Con Partecipanti\",\r\n\t\t\t\tes: \"Sin Participantes\",\r\n\t\t\t\tfr: \"Avec Participants\",\r\n\t\t\t},\r\n\t\t\t\"without-participants\": {\r\n\t\t\t\ten: \"Without Participants\",\r\n\t\t\t\tit: \"Senza Partecipanti\",\r\n\t\t\t\tes: \"Con Participantes\",\r\n\t\t\t\tfr: \"Participants En File D'Attente\",\r\n\t\t\t},\r\n\t\t\t\"queued-participants\": {\r\n\t\t\t\ten: \"Queued Participants\",\r\n\t\t\t\tit: \"Partecipanti In Coda\",\r\n\t\t\t\tes: \"Participantes En Cola\",\r\n\t\t\t\tfr: \"Sans Participants\",\r\n\t\t\t},\r\n\t\t\t\"publish-failed\": {\r\n\t\t\t\ten: \"Activation/s failed\",\r\n\t\t\t\tit: \"Attivazione/i fallita/e\",\r\n\t\t\t\tes: \"Activaciones fallidas\",\r\n\t\t\t\tfr: \"Activations echouรฉes\",\r\n\t\t\t},\r\n\t\t\t\"publish-successful\": {\r\n\t\t\t\ten: \"Activation/s successful\",\r\n\t\t\t\tit: \"Attivazione/i avvenuta/e con successo\",\r\n\t\t\t\tes: \"Activaciรณnes exitosa\",\r\n\t\t\t\tfr: \"Activation rรฉussie\",\r\n\t\t\t},\r\n\t\t\t\"unpublish-failed\": {\r\n\t\t\t\ten: \"Deactivation/s failed\",\r\n\t\t\t\tit: \"Disattivazione/i fallita/e\",\r\n\t\t\t\tes: \"Desactivaciรณn fallida\",\r\n\t\t\t\tfr: \"La dรฉsactivation a รฉchouรฉ\",\r\n\t\t\t},\r\n\t\t\t\"unpublish-successful\": {\r\n\t\t\t\ten: \"Deactivation/s successful\",\r\n\t\t\t\tit: \"Disattivazione/i avvenuta/e con successo\",\r\n\t\t\t\tes: \"Desactivaciones Exitosas\",\r\n\t\t\t\tfr: \"Dรฉsactivations Rรฉussies\",\r\n\t\t\t},\r\n\t\t\t\"classes-with-participants\": {\r\n\t\t\t\ten: \"Edit disable. You have selected classes with participants\",\r\n\t\t\t\tit: \"Modifica disabilita. Hai selezionato classi con partecipanti.\",\r\n\t\t\t\tes: \"Editar deshabilitar. Has seleccionado clases con participantes\",\r\n\t\t\t\tfr: \"Modifier dรฉsactiver. Vous avez sรฉlectionnรฉ des รจvรจnements avec des participants\",\r\n\t\t\t},\r\n\t\t\t\"classes-with-participants-edit\": {\r\n\t\t\t\ten: \"You have selected classes with participants\",\r\n\t\t\t\tit: \"Hai selezionato classi con partecipanti.\",\r\n\t\t\t\tes: \"Has seleccionado clases con participantes\",\r\n\t\t\t\tfr: \"Vous avez sรฉlectionnรฉ des รจvรจnements avec des participants\",\r\n\t\t\t},\r\n\t\t\t\"activity-type\": {\r\n\t\t\t\ten: \"Activity Type\",\r\n\t\t\t\tit: \"Tipo Attivitร \",\r\n\t\t\t\tes: \"Tipo De Actividad\",\r\n\t\t\t\tfr: \"Type D'Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"activity-date\": {\r\n\t\t\t\ten: \"Activity Date\",\r\n\t\t\t\tit: \"Data Attivitร \",\r\n\t\t\t\tes: \"Fecha Actividad\",\r\n\t\t\t\tfr: \"Date D'Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"onsite-online\": {\r\n\t\t\t\ten: \"Onsite/Online\",\r\n\t\t\t\tit: \"Onsite/Online\",\r\n\t\t\t\tes: \"Onsite/Online\",\r\n\t\t\t\tfr: \"Onsite/Online\",\r\n\t\t\t},\r\n\t\t\t\"day-of-week\": {\r\n\t\t\t\ten: \"Day\",\r\n\t\t\t\tit: \"Giorno\",\r\n\t\t\t\tes: \"Dรญa\",\r\n\t\t\t\tfr: \"Jour\",\r\n\t\t\t},\r\n\t\t\tsunday: {\r\n\t\t\t\ten: \"Sunday\",\r\n\t\t\t\tit: \"Domenica\",\r\n\t\t\t\tes: \"Domingo\",\r\n\t\t\t\tfr: \"Dimanche\",\r\n\t\t\t},\r\n\t\t\tmonday: {\r\n\t\t\t\ten: \"Monday\",\r\n\t\t\t\tit: \"Lunedรฌ\",\r\n\t\t\t\tes: \"Lunes\",\r\n\t\t\t\tfr: \"Lundi\",\r\n\t\t\t},\r\n\t\t\ttuesday: {\r\n\t\t\t\ten: \"Tuesday\",\r\n\t\t\t\tit: \"Martedรฌ\",\r\n\t\t\t\tes: \"Martes\",\r\n\t\t\t\tfr: \"Mardi\",\r\n\t\t\t},\r\n\t\t\twednesday: {\r\n\t\t\t\ten: \"Wednesday\",\r\n\t\t\t\tit: \"Mercoledรฌ\",\r\n\t\t\t\tes: \"Miรฉrcoles\",\r\n\t\t\t\tfr: \"Mercredi\",\r\n\t\t\t},\r\n\t\t\tthursday: {\r\n\t\t\t\ten: \"Thursday\",\r\n\t\t\t\tit: \"Giovedรฌ\",\r\n\t\t\t\tes: \"Jueves\",\r\n\t\t\t\tfr: \"Jeudi\",\r\n\t\t\t},\r\n\t\t\tfriday: {\r\n\t\t\t\ten: \"Friday\",\r\n\t\t\t\tit: \"Venerdรฌ\",\r\n\t\t\t\tes: \"Viernes\",\r\n\t\t\t\tfr: \"Vendredi\",\r\n\t\t\t},\r\n\t\t\tsaturday: {\r\n\t\t\t\ten: \"Saturday\",\r\n\t\t\t\tit: \"Sabato\",\r\n\t\t\t\tes: \"Sรกbado\",\r\n\t\t\t\tfr: \"Samedi\",\r\n\t\t\t},\r\n\t\t\t\"edit-all\": {\r\n\t\t\t\ten: \"Edit All\",\r\n\t\t\t\tit: \"Modifica Tutti\",\r\n\t\t\t\tes: \"Editar Todo\",\r\n\t\t\t\tfr: \"Tout Modifier\",\r\n\t\t\t},\r\n\t\t\t\"lock-all\": {\r\n\t\t\t\ten: \"Lock All\",\r\n\t\t\t\tit: \"Blocca Tutti\",\r\n\t\t\t\tes: \"Bloquear Todo\",\r\n\t\t\t\tfr: \"Vout Verrouiller\",\r\n\t\t\t},\r\n\t\t\tlessons: {\r\n\t\t\t\ten: \"Lessons\",\r\n\t\t\t\tit: \"Lezioni\",\r\n\t\t\t\tes: \"Lecciones\",\r\n\t\t\t\tfr: \"Training\",\r\n\t\t\t},\r\n\t\t\tlocation: {\r\n\t\t\t\ten: \"Location\",\r\n\t\t\t\tit: \"Luogo\",\r\n\t\t\t\tes: \"Sitio\",\r\n\t\t\t\tfr: \"Lieu\",\r\n\t\t\t},\r\n\t\t\t\"add-filters\": {\r\n\t\t\t\ten: \"Add Filters\",\r\n\t\t\t\tit: \"Aggiungi Filtri\",\r\n\t\t\t\tes: \"Agregar Filtros\",\r\n\t\t\t\tfr: \"Ajouter Filtres\",\r\n\t\t\t},\r\n\t\t\t\"reduce-filters\": {\r\n\t\t\t\ten: \"Reduce filters\",\r\n\t\t\t\tit: \"Riduci filtri\",\r\n\t\t\t\tes: \"Reducir filtros\",\r\n\t\t\t\tfr: \"Rรฉduire Filtres\",\r\n\t\t\t},\r\n\t\t\t\"cannot-delete-class-with-participants\": {\r\n\t\t\t\ten: \"Cannot delete activity with participants\",\r\n\t\t\t\tit: \"Impossibile cancellare attivitร  con partecipanti\",\r\n\t\t\t\tes: \"No se puede eliminar la actividad con los participantes\",\r\n\t\t\t\tfr: \"Rรฉduire Filtres\",\r\n\t\t\t},\r\n\t\t\t\"class-is-notbookable-cannot-edit-participants\": {\r\n\t\t\t\ten: \"The activity is open and does not include a list of participants\",\r\n\t\t\t\tit: \"L'attivitร  รจ aperta e non prevede una lista di partecipanti\",\r\n\t\t\t\tes: \"La actividad estรก abierta y no incluye lista de participantes\",\r\n\t\t\t\tfr: \"Impossible de supprimer l'activitรฉ avec les participants\",\r\n\t\t\t},\r\n\t\t\t\"activities-calendar\": {\r\n\t\t\t\ten: \"Club Calendar\",\r\n\t\t\t\tit: \"Calendario Club\",\r\n\t\t\t\tes: \"Calendario Club\",\r\n\t\t\t\tfr: \"Calendrier Club\",\r\n\t\t\t},\r\n\t\t\t\"pt-calendar\": {\r\n\t\t\t\ten: \"PT Calendar\",\r\n\t\t\t\tit: \"Calendario PT\",\r\n\t\t\t\tes: \"Calendario PT\",\r\n\t\t\t\tfr: \"Calendrier PT\",\r\n\t\t\t},\r\n\t\t\t\"services-calendar\": {\r\n\t\t\t\ten: \"Services Calendar\",\r\n\t\t\t\tit: \"Calendario Servizi\",\r\n\t\t\t\tes: \"Calendario Servicios\",\r\n\t\t\t\tfr: \"Calendrier Prestations\",\r\n\t\t\t},\r\n\t\t\tservices: {\r\n\t\t\t\ten: \"Services\",\r\n\t\t\t\tit: \"Servizi\",\r\n\t\t\t\tes: \"Servicios\",\r\n\t\t\t\tfr: \"Prestations\",\r\n\t\t\t},\r\n\t\t\t\"service-type\": {\r\n\t\t\t\ten: \"Service Type\",\r\n\t\t\t\tit: \"Tipo Di Servizio\",\r\n\t\t\t\tes: \"Tipo De Servicio\",\r\n\t\t\t\tfr: \"Type De Service\",\r\n\t\t\t},\r\n\t\t\tOsteopathyType: {\r\n\t\t\t\ten: \"Osteopathy\",\r\n\t\t\t\tit: \"Osteopatia\",\r\n\t\t\t\tes: \"Osteopatรญa\",\r\n\t\t\t\tfr: \"Ostรฉopathie\",\r\n\t\t\t},\r\n\t\t\tMassageTherapyType: {\r\n\t\t\t\ten: \"Massage Therapy\",\r\n\t\t\t\tit: \"Massofisioterapia\",\r\n\t\t\t\tes: \"Terapia De Masajes\",\r\n\t\t\t\tfr: \"Massage Thรฉrapeutique\",\r\n\t\t\t},\r\n\t\t\tNutritionType: {\r\n\t\t\t\ten: \"Nutrition\",\r\n\t\t\t\tit: \"Nutrizione\",\r\n\t\t\t\tes: \"Nutriciรณn\",\r\n\t\t\t\tfr: \"Nutrition\",\r\n\t\t\t},\r\n\t\t\tBioMeasurementsType: {\r\n\t\t\t\ten: \"Biometric Measurements\",\r\n\t\t\t\tit: \"Misurazioni Biometriche\",\r\n\t\t\t\tes: \"Medidas Biomรฉtricas\",\r\n\t\t\t\tfr: \"Mesures Biomรฉtriques\",\r\n\t\t\t},\r\n\t\t\tOrthopedicsType: {\r\n\t\t\t\ten: \"Orthopedics\",\r\n\t\t\t\tit: \"Ortopedia\",\r\n\t\t\t\tes: \"Ortopedรญa\",\r\n\t\t\t\tfr: \"Orthopรฉdie\",\r\n\t\t\t},\r\n\t\t\tManicureType: {\r\n\t\t\t\ten: \"Manicure\",\r\n\t\t\t\tit: \"Manicure\",\r\n\t\t\t\tes: \"Manicura\",\r\n\t\t\t\tfr: \"Manucure\",\r\n\t\t\t},\r\n\t\t\tPedicureType: {\r\n\t\t\t\ten: \"Pedicure\",\r\n\t\t\t\tit: \"Pedicure\",\r\n\t\t\t\tes: \"Pedicure\",\r\n\t\t\t\tfr: \"Pรฉdicure\",\r\n\t\t\t},\r\n\t\t\tHairRemovalType: {\r\n\t\t\t\ten: \"Hair Removal\",\r\n\t\t\t\tit: \"Epilazione\",\r\n\t\t\t\tes: \"Depilaciรณn\",\r\n\t\t\t\tfr: \"ร‰pilation\",\r\n\t\t\t},\r\n\t\t\tBodyCareType: {\r\n\t\t\t\ten: \"Body Care\",\r\n\t\t\t\tit: \"Cura Del Corpo\",\r\n\t\t\t\tes: \"Cuidado Del Cuerpo\",\r\n\t\t\t\tfr: \"Soin Du Corps\",\r\n\t\t\t},\r\n\t\t\tFacialCleansingType: {\r\n\t\t\t\ten: \"Facial Cleansing\",\r\n\t\t\t\tit: \"Pulizia Viso\",\r\n\t\t\t\tes: \"Limpieza Facial\",\r\n\t\t\t\tfr: \"Nettoyage Du Visage\",\r\n\t\t\t},\r\n\t\t\tBodyMassagesType: {\r\n\t\t\t\ten: \"Body Massages\",\r\n\t\t\t\tit: \"Massaggi Corpo\",\r\n\t\t\t\tes: \"Masajes Corporales\",\r\n\t\t\t\tfr: \"Massages Du Corps\",\r\n\t\t\t},\r\n\t\t\tSolariumType: {\r\n\t\t\t\ten: \"Solarium\",\r\n\t\t\t\tit: \"Solarium\",\r\n\t\t\t\tes: \"Solรกrium\",\r\n\t\t\t\tfr: \"Solarium\",\r\n\t\t\t},\r\n\t\t\tAntiCelluliteTreatmentType: {\r\n\t\t\t\ten: \"Anti-cellulite Treatment\",\r\n\t\t\t\tit: \"Trattamento Anticellulite\",\r\n\t\t\t\tes: \"Tratamiento Anticelulรญtico\",\r\n\t\t\t\tfr: \"Traitement Anti-cellulite\",\r\n\t\t\t},\r\n\t\t\tCryotherapyType: {\r\n\t\t\t\ten: \"Cryotherapy\",\r\n\t\t\t\tit: \"Crioterapia\",\r\n\t\t\t\tes: \"Crioterapia\",\r\n\t\t\t\tfr: \"Cryothรฉrapie\",\r\n\t\t\t},\r\n\t\t\tPosturalAssessmentType: {\r\n\t\t\t\ten: \"Postural Assessment\",\r\n\t\t\t\tit: \"Valutazione Posturale\",\r\n\t\t\t\tes: \"Evaluaciรณn Postural\",\r\n\t\t\t\tfr: \"ร‰valuation Posturale\",\r\n\t\t\t},\r\n\t\t\t\"free-access\": {\r\n\t\t\t\ten: \"Free Access\",\r\n\t\t\t\tit: \"Accesso Libero\",\r\n\t\t\t\tes: \"Acceso Libre\",\r\n\t\t\t\tfr: \"Accรจs Libre\",\r\n\t\t\t},\r\n\t\t\t\"click-on-the-locks-to-enable-the-change\": {\r\n\t\t\t\ten: \"Click on the locks to enable the change\",\r\n\t\t\t\tit: \"Clicca sui lucchetti per abilitare la modifica\",\r\n\t\t\t\tes: \"Haga clic en las cerraduras para habilitar el cambio\",\r\n\t\t\t\tfr: \"Cliquez sur les cadenas pour activer le changement\",\r\n\t\t\t},\r\n\t\t\tactivity: {\r\n\t\t\t\ten: \"Activity\",\r\n\t\t\t\tit: \"Attivitร \",\r\n\t\t\t\tes: \"Actividad\",\r\n\t\t\t\tfr: \"Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"you-are-marking-the-athlete-as-present\": {\r\n\t\t\t\ten: \"You are marking the athlete as present.\",\r\n\t\t\t\tit: \"Stai marcando l'atleta come presente.\",\r\n\t\t\t\tes: \"Estรกs marcando al atleta como presente.\",\r\n\t\t\t\tfr: \"Vous marquez l'athlรจte comme prรฉsent.\",\r\n\t\t\t},\r\n\t\t\t\"you-are-marking-the-athlete-as-absent\": {\r\n\t\t\t\ten: \"You are marking the athlete as absent.\",\r\n\t\t\t\tit: \"Stai marcando l'atleta come assente.\",\r\n\t\t\t\tes: \"Estรกs marcando al atleta como ausente.\",\r\n\t\t\t\tfr: \"Vous marquez l'athlรจte comme absent.\",\r\n\t\t\t},\r\n\t\t\t\"assign-remove-tags\": {\r\n\t\t\t\ten: \"Add/Remove Groups\",\r\n\t\t\t\tit: \"Aggiungi/Rimuovi Gruppi\",\r\n\t\t\t\tes: \"Aรฑadir/Quitar Grupos\",\r\n\t\t\t\tfr: \"Ajouter/Retirer Groupes\",\r\n\t\t\t},\r\n\t\t\t\"save-in-club-messages\": {\r\n\t\t\t\ten: \"Save in club messages\",\r\n\t\t\t\tit: \"Salva nei messaggi del club\",\r\n\t\t\t\tes: \"Guardar en mensajes del club\",\r\n\t\t\t\tfr: \"Enregistrer dans les messages du club\",\r\n\t\t\t},\r\n\t\t\t\"instant-message\": {\r\n\t\t\t\ten: \"Instant Message\",\r\n\t\t\t\tit: \"Messaggio Istantaneo\",\r\n\t\t\t\tes: \"Mensaje Instantรกneo\",\r\n\t\t\t\tfr: \"Message Instantanรฉ\",\r\n\t\t\t},\r\n\t\t\t\"predefined-message\": {\r\n\t\t\t\ten: \"Predefined\",\r\n\t\t\t\tit: \"Predefinito\",\r\n\t\t\t\tes: \"Predefinido\",\r\n\t\t\t\tfr: \"Prรฉdรฉfini\",\r\n\t\t\t},\r\n\t\t\t\"goal-challenge\": {\r\n\t\t\t\ten: \"Goal Challenge\",\r\n\t\t\t\tit: \"Obiettivi\",\r\n\t\t\t\tes: \"Agregar Objetivos\",\r\n\t\t\t\tfr: \"Ajouter Objectifs\",\r\n\t\t\t},\r\n\t\t\t\"zone-0-valid\": {\r\n\t\t\t\ten: \"Is Zone 0 Valid?\",\r\n\t\t\t\tit: \"La Zona 0 ร‰ Valida?\",\r\n\t\t\t\tes: \"ยฟEs Vรกlida La Zona 0?\",\r\n\t\t\t\tfr: \"La Zone 0 Est-elle Valide?\",\r\n\t\t\t},\r\n\t\t\t\"zone-1-valid\": {\r\n\t\t\t\ten: \"Minimum Effort\",\r\n\t\t\t\tit: \"Intensitร  Moderata\",\r\n\t\t\t\tes: \"Esfuerzo Mรฌnimo\",\r\n\t\t\t\tfr: \"Effort Minimal\",\r\n\t\t\t},\r\n\t\t\t\"zone-2-valid\": {\r\n\t\t\t\ten: \"Weight Control\",\r\n\t\t\t\tit: \"Controllo Peso\",\r\n\t\t\t\tes: \"Control De Peso\",\r\n\t\t\t\tfr: \"Contrรดle Du Poids\",\r\n\t\t\t},\r\n\t\t\t\"zone-3-valid\": {\r\n\t\t\t\ten: \"Aerobic\",\r\n\t\t\t\tit: \"Zona Aerobica\",\r\n\t\t\t\tes: \"Aerรฒbico\",\r\n\t\t\t\tfr: \"Aรจrobie\",\r\n\t\t\t},\r\n\t\t\t\"zone-4-valid\": {\r\n\t\t\t\ten: \"Anaerobic\",\r\n\t\t\t\tit: \"Zona Anaerobica\",\r\n\t\t\t\tes: \"Anaerรฒbico\",\r\n\t\t\t\tfr: \"Anaรจrobie\",\r\n\t\t\t},\r\n\t\t\t\"zone-5-valid\": {\r\n\t\t\t\ten: \"Maximum Effort\",\r\n\t\t\t\tit: \"Massima intensitร \",\r\n\t\t\t\tes: \"Esfuerzo Mร ximo\",\r\n\t\t\t\tfr: \"Effort Maximal\",\r\n\t\t\t},\r\n\t\t\trepetition: {\r\n\t\t\t\ten: \"Repetition\",\r\n\t\t\t\tit: \"Ripetizione\",\r\n\t\t\t\tes: \"Repeticiรณn\",\r\n\t\t\t\tfr: \"Rรฉpรฉtition\",\r\n\t\t\t},\r\n\t\t\t\"select-participants\": {\r\n\t\t\t\ten: \"Select Participants\",\r\n\t\t\t\tit: \"Seleziona Partecipanti\",\r\n\t\t\t\tes: \"Seleccionar Participantes\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Les Participants\",\r\n\t\t\t},\r\n\t\t\t\"challenge-assign-mode-open\": {\r\n\t\t\t\ten: \"Open\",\r\n\t\t\t\tit: \"Aperto\",\r\n\t\t\t\tes: \"Abierto\",\r\n\t\t\t\tfr: \"Ouvert\",\r\n\t\t\t},\r\n\t\t\t\"challenge-assign-mode-invite\": {\r\n\t\t\t\ten: \"Invite\",\r\n\t\t\t\tit: \"A Invito\",\r\n\t\t\t\tes: \"Invitaciรณn\",\r\n\t\t\t\tfr: \"Invitation\",\r\n\t\t\t},\r\n\t\t\tworkouts: {\r\n\t\t\t\ten: \"Workouts\",\r\n\t\t\t\tit: \"Allenamenti\",\r\n\t\t\t\tes: \"Entrenamientos\",\r\n\t\t\t\tfr: \"Entraรฎnements\",\r\n\t\t\t},\r\n\t\t\tpersonal: {\r\n\t\t\t\ten: \"Personal\",\r\n\t\t\t\tit: \"Personale\",\r\n\t\t\t\tes: \"Personal\",\r\n\t\t\t\tfr: \"Personnel\",\r\n\t\t\t},\r\n\t\t\tclub: {\r\n\t\t\t\ten: \"Club\",\r\n\t\t\t\tit: \"Club\",\r\n\t\t\t\tes: \"Club\",\r\n\t\t\t\tfr: \"Club\",\r\n\t\t\t},\r\n\t\t\t\"challenge-based-on\": {\r\n\t\t\t\ten: \"Challenge Based On\",\r\n\t\t\t\tit: \"Sfida Basata Su\",\r\n\t\t\t\tes: \"Desafรญo Basado En\",\r\n\t\t\t\tfr: \"Dรฉfi Basรฉ Sur\",\r\n\t\t\t},\r\n\t\t\t\"based-on\": {\r\n\t\t\t\ten: \"Based On\",\r\n\t\t\t\tit: \"Basata Su\",\r\n\t\t\t\tes: \"Basado En\",\r\n\t\t\t\tfr: \"Basรฉ Sur\",\r\n\t\t\t},\r\n\t\t\t\"upps-zones\": {\r\n\t\t\t\ten: \"UPPs / Zones\",\r\n\t\t\t\tit: \"UPPs / Zone\",\r\n\t\t\t\tes: \"UPPs / Zonas\",\r\n\t\t\t\tfr: \"UPPs / Zones\",\r\n\t\t\t},\r\n\t\t\t\"min-target-zone-prc\": {\r\n\t\t\t\ten: \"% Minimal Target Zone\",\r\n\t\t\t\tit: \"% Minima Target Zone\",\r\n\t\t\t\tes: \"% Mรญnimo Target Zone\",\r\n\t\t\t\tfr: \"% Minimal Target Zone\",\r\n\t\t\t},\r\n\t\t\t\"rewards-structure\": {\r\n\t\t\t\ten: \"Rewards Structure\",\r\n\t\t\t\tit: \"Struttura Dei Premi\",\r\n\t\t\t\tes: \"Estructura De Recompensas\",\r\n\t\t\t\tfr: \"Structure Des Rรฉcompenses\",\r\n\t\t\t},\r\n\t\t\t\"only-upps-earned-in-the-following-zones\": {\r\n\t\t\t\ten: \"Only UPPs earned in the following zones:\",\r\n\t\t\t\tit: \"Solo UPP guadagnati nelle seguenti zone:\",\r\n\t\t\t\tes: \"Solo los UPP obtenidos en las siguientes zonas:\",\r\n\t\t\t\tfr: \"Seuls les UPP gagnรฉs dans les zones suivantes:\",\r\n\t\t\t},\r\n\t\t\t\"delete-challenge\": {\r\n\t\t\t\ten: \"You are about to delete a challenge\",\r\n\t\t\t\tit: \"Stai per cancellare una sfida\",\r\n\t\t\t\tes: \"Estรกs a punto de cancelar un desafรญo\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point d'annuler un dรฉfi\",\r\n\t\t\t},\r\n\t\t\t\"invalid-rewards-structure\": {\r\n\t\t\t\ten: \"Invalid rewards structure\",\r\n\t\t\t\tit: \"Struttura dei premi non valida\",\r\n\t\t\t\tes: \"Estructura de recompensas no vรกlida\",\r\n\t\t\t\tfr: \"Structure de rรฉcompenses invalide\",\r\n\t\t\t},\r\n\t\t\t\"must-be-greater-than-the-previous\": {\r\n\t\t\t\ten: \"Must be greater than the previous one\",\r\n\t\t\t\tit: \"Deve essere maggiore del precedente\",\r\n\t\t\t\tes: \"Debe ser mayor que el anterior\",\r\n\t\t\t\tfr: \"Il doit รชtre supรฉrieur au prรฉcรฉdent\",\r\n\t\t\t},\r\n\t\t\t\"remove-all-athletes\": {\r\n\t\t\t\ten: \"Remove All Athletes\",\r\n\t\t\t\tit: \"Rimuovi Tutti Gli Atleti\",\r\n\t\t\t\tes: \"Eliminar Todos Los Atletas\",\r\n\t\t\t\tfr: \"Supprimer Tous Les Athlรจtes\",\r\n\t\t\t},\r\n\t\t\t\"remove-all-athletes-confirm\": {\r\n\t\t\t\ten: \"You are about to remove all athletes from the challenge.\",\r\n\t\t\t\tit: \"Stai per rimuovere tutti gli atleti dalla sfida.\",\r\n\t\t\t\tes: \"Estรก a punto de eliminar a todos los atletas del desafรญo.\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de retirer tous les athlรจtes du dรฉfi.\",\r\n\t\t\t},\r\n\t\t\tfrom: {\r\n\t\t\t\ten: \"From:\",\r\n\t\t\t\tit: \"Da:\",\r\n\t\t\t\tes: \"Desde:\",\r\n\t\t\t\tfr: \"De:\",\r\n\t\t\t},\r\n\t\t\t\"before-the\": {\r\n\t\t\t\ten: \"Before\",\r\n\t\t\t\tit: \"Prima del\",\r\n\t\t\t\tes: \"Antes de\",\r\n\t\t\t\tfr: \"Avant de\",\r\n\t\t\t},\r\n\t\t\t\"from-the\": {\r\n\t\t\t\ten: \"From\",\r\n\t\t\t\tit: \"Dal\",\r\n\t\t\t\tes: \"Desde\",\r\n\t\t\t\tfr: \"De\",\r\n\t\t\t},\r\n\t\t\tto: {\r\n\t\t\t\ten: \"To:\",\r\n\t\t\t\tit: \"A:\",\r\n\t\t\t\tes: \"A:\",\r\n\t\t\t\tfr: \"ร€:\",\r\n\t\t\t},\r\n\t\t\t\"participating-athletes\": {\r\n\t\t\t\ten: \"Participating Athletes\",\r\n\t\t\t\tit: \"Atleti Partecipanti\",\r\n\t\t\t\tes: \"Atletas Participantes\",\r\n\t\t\t\tfr: \"Athlรจtes Participants\",\r\n\t\t\t},\r\n\t\t\t\"adding-participants-to-a-challenge-that-has-already-started\": {\r\n\t\t\t\ten: \"You are adding participants to a challenge that has already started. They will accumulate points from now on.\",\r\n\t\t\t\tit: \"Stai aggiungendo partecipanti a una sfida che รจ giร  iniziata. Accumuleranno punti solo da questo momento in poi.\",\r\n\t\t\t\tes: \"Estรก agregando participantes a un desafรญo que ya ha comenzado. Acumularรกn puntos a partir de ahora.\",\r\n\t\t\t\tfr: \"Vous ajoutez des participants ร  un dรฉfi qui a dรฉjร  commencรฉ. Ils accumuleront dรฉsormais des points.\",\r\n\t\t\t},\r\n\t\t\t\"select-dates\": {\r\n\t\t\t\ten: \"Select Dates\",\r\n\t\t\t\tit: \"Seleziona Date\",\r\n\t\t\t\tes: \"Seleccionar Fechas\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Dates\",\r\n\t\t\t},\r\n\t\t\tmonthly: {\r\n\t\t\t\ten: \"Monthly\",\r\n\t\t\t\tit: \"Mensile\",\r\n\t\t\t\tes: \"Mensual\",\r\n\t\t\t\tfr: \"Mensuel\",\r\n\t\t\t},\r\n\t\t\t\"first-day-of-month\": {\r\n\t\t\t\ten: \"First day of month\",\r\n\t\t\t\tit: \"Primo giorno del mese\",\r\n\t\t\t\tes: \"Primer dia del mes\",\r\n\t\t\t\tfr: \"Premier jour du mois\",\r\n\t\t\t},\r\n\t\t\t\"last-day-of-month\": {\r\n\t\t\t\ten: \"Last day of month\",\r\n\t\t\t\tit: \"Ultimo giorno del mese\",\r\n\t\t\t\tes: \"รšltimo dรญa del mes\",\r\n\t\t\t\tfr: \"Dernier jour du mois\",\r\n\t\t\t},\r\n\t\t\t\"self-join-tag\": {\r\n\t\t\t\ten: \"SELF JOIN\",\r\n\t\t\t\tit: \"SELF JOIN\",\r\n\t\t\t\tes: \"SELF JOIN\",\r\n\t\t\t\tfr: \"SELF JOIN\",\r\n\t\t\t},\r\n\t\t\t\"guest-tag\": {\r\n\t\t\t\ten: \"GUEST\",\r\n\t\t\t\tit: \"GUEST\",\r\n\t\t\t\tes: \"GUEST\",\r\n\t\t\t\tfr: \"GUEST\",\r\n\t\t\t},\r\n\t\t\t\"please-enter-a-valid-time\": {\r\n\t\t\t\ten: \"Please enter a valid time\",\r\n\t\t\t\tit: \"Per favore inserisci un orario valido\",\r\n\t\t\t\tes: \"Ingrese una hora vรกlida\",\r\n\t\t\t\tfr: \"Veuillez entrer une heure valide\",\r\n\t\t\t},\r\n\t\t\t\"never-ending\": {\r\n\t\t\t\ten: \"Never-Ending\",\r\n\t\t\t\tit: \"Infinito\",\r\n\t\t\t\tes: \"Sin fin\",\r\n\t\t\t\tfr: \"Sans fin\",\r\n\t\t\t},\r\n\t\t\t\"has-attended\": {\r\n\t\t\t\ten: \"Has Attended\",\r\n\t\t\t\tit: \"Ha Frequentato\",\r\n\t\t\t\tes: \"Ha Atendido\",\r\n\t\t\t\tfr: \"A Participรฉ\",\r\n\t\t\t},\r\n\t\t\t\"new-participants-initial-state\": {\r\n\t\t\t\ten: \"New Participants Initial State\",\r\n\t\t\t\tit: \"Stato Iniziale Nuovi Partecipanti\",\r\n\t\t\t\tes: \"Estado Inicial Nuevos Participantes\",\r\n\t\t\t\tfr: \"ร‰tat Initial Nouveaux Participants\"\r\n\t\t\t},\r\n\t\t\tabsent: {\r\n\t\t\t\ten: \"Absent\",\r\n\t\t\t\tit: \"Assente\",\r\n\t\t\t\tes: \"Ausente\",\r\n\t\t\t\tfr: \"Absent\",\r\n\t\t\t},\r\n\t\t\tpresent: {\r\n\t\t\t\ten: \"Present\",\r\n\t\t\t\tit: \"Presente\",\r\n\t\t\t\tes: \"presente\",\r\n\t\t\t\tfr: \"Prรฉsent\",\r\n\t\t\t},\r\n\t\t\tattendance: {\r\n\t\t\t\ten: \"Attendance\",\r\n\t\t\t\tit: \"Presenze\",\r\n\t\t\t\tes: \"Asistencia\",\r\n\t\t\t\tfr: \"Prรฉsence\",\r\n\t\t\t},\r\n\t\t\t\"edit-subscriptions\": {\r\n\t\t\t\ten: \"Edit Subscriptions\",\r\n\t\t\t\tit: \"Modifica Abbonamenti\",\r\n\t\t\t\tes: \"Editar Suscripciones\",\r\n\t\t\t\tfr: \"Modification Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"select-subscriptions\": {\r\n\t\t\t\ten: \"Select Subscriptions\",\r\n\t\t\t\tit: \"Seleziona Abbonamenti\",\r\n\t\t\t\tes: \"Seleccione Suscripciones\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"subscriptions-that-are-not-homogeneous-cannot-be-changed\": {\r\n\t\t\t\ten: \"Subscriptions that are not homogeneous cannot be changed.\",\r\n\t\t\t\tit: \"Gli abbonamenti non omogenei non possono essere modificati.\",\r\n\t\t\t\tes: \"Las suscripciones que no son homogรฉneas no se pueden modificar.\",\r\n\t\t\t\tfr: \"Les abonnements qui ne sont pas homogรจnes ne peuvent pas รชtre modifiรฉs.\",\r\n\t\t\t},\r\n\t\t\t\"subscriptions-update-successful\": {\r\n\t\t\t\ten: \"Subscriptions updated successfully\",\r\n\t\t\t\tit: \"Abbonamenti aggiornati con successo\",\r\n\t\t\t\tes: \"Suscripciones actualizadas con รฉxito\",\r\n\t\t\t\tfr: \"Abonnements mis ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"start-time\": {\r\n\t\t\t\ten: \"Begin\",\r\n\t\t\t\tit: \"Inizio\",\r\n\t\t\t\tes: \"Inicio\",\r\n\t\t\t\tfr: \"Dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"duration-min\": {\r\n\t\t\t\ten: \"Duration (Min)\",\r\n\t\t\t\tit: \"Durata (Min)\",\r\n\t\t\t\tes: \"Duraciรณn (Min)\",\r\n\t\t\t\tfr: \"Durรฉe (Min)\",\r\n\t\t\t},\r\n\t\t\t\"level\": {\r\n\t\t\t\ten: \"Level\",\r\n\t\t\t\tit: \"Livello\",\r\n\t\t\t\tes: \"Nivel\",\r\n\t\t\t\tfr: \"Niveau\",\r\n\t\t\t},\r\n\t\t\t\"defaults-level\": {\r\n\t\t\t\ten: \"Level\",\r\n\t\t\t\tit: \"Livello\",\r\n\t\t\t\tes: \"Nivel\",\r\n\t\t\t\tfr: \"Niveau\",\r\n\t\t\t},\r\n\t\t\ttickets: {\r\n\t\t\t\ten: \"Tickets\",\r\n\t\t\t\tit: \"Ingressi\",\r\n\t\t\t\tes: \"Entradas\",\r\n\t\t\t\tfr: \"Tickets\",\r\n\t\t\t},\r\n\t\t\trecurring: {\r\n\t\t\t\ten: \"Recurring\",\r\n\t\t\t\tit: \"Ricorrente\",\r\n\t\t\t\tes: \"Recurrente\",\r\n\t\t\t\tfr: \"Rรฉcurrent\",\r\n\t\t\t},\r\n\t\t\t\"you-are-about-to-delete\": {\r\n\t\t\t\ten: \"You are about to delete\",\r\n\t\t\t\tit: \"Stai per cancellare\",\r\n\t\t\t\tes: \"Estรกs a punto de cancelar\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point d'annuler\",\r\n\t\t\t},\r\n\t\t\t\"invalid-phone-number\": {\r\n\t\t\t\ten: \"Invalid phone number\",\r\n\t\t\t\tit: \"Numero di telefono non valido\",\r\n\t\t\t\tes: \"Numero de telefono invalido\",\r\n\t\t\t\tfr: \"Numรฉro de tรฉlรฉphone invalide\",\r\n\t\t\t},\r\n\t\t\t\"invalid-country-code\": {\r\n\t\t\t\ten: \"Invalid country code\",\r\n\t\t\t\tit: \"Codice paese non valido\",\r\n\t\t\t\tes: \"Cรณdigo de paรญs no vรกlido\",\r\n\t\t\t\tfr: \"Code pays invalide\",\r\n\t\t\t},\r\n\t\t\t\"too-short\": {\r\n\t\t\t\ten: \"Too short\",\r\n\t\t\t\tit: \"Troppo corto\",\r\n\t\t\t\tes: \"Demasiado corto\",\r\n\t\t\t\tfr: \"Trop court\",\r\n\t\t\t},\r\n\t\t\t\"too-long\": {\r\n\t\t\t\ten: \"Too long\",\r\n\t\t\t\tit: \"Troppo lungo\",\r\n\t\t\t\tes: \"Demasiado largo\",\r\n\t\t\t\tfr: \"Trop long\",\r\n\t\t\t},\r\n\t\t\tTimeRange: {\r\n\t\t\t\ten: \"Time Range\",\r\n\t\t\t\tit: \"Intervallo temporale\",\r\n\t\t\t\tes: \"Intervalo de tiempo\",\r\n\t\t\t\tfr: \"Intervalle de temps\",\r\n\t\t\t},\r\n\t\t\tToday: {\r\n\t\t\t\ten: \"Today\",\r\n\t\t\t\tit: \"Oggi\",\r\n\t\t\t\tes: \"Hoy\",\r\n\t\t\t\tfr: \"Aujourd'hui\",\r\n\t\t\t},\r\n\t\t\tYesterday: {\r\n\t\t\t\ten: \"Yesterday\",\r\n\t\t\t\tit: \"Ieri\",\r\n\t\t\t\tes: \"Ayer\",\r\n\t\t\t\tfr: \"Hier\",\r\n\t\t\t},\r\n\t\t\tTomorrow: {\r\n\t\t\t\ten: \"Tomorrow\",\r\n\t\t\t\tit: \"Domani\",\r\n\t\t\t\tes: \"Maรฑana\",\r\n\t\t\t\tfr: \"Demain\",\r\n\t\t\t},\r\n\t\t\tNear14Days: {\r\n\t\t\t\ten: \"+- 7 Days\",\r\n\t\t\t\tit: \"+- 7 Giorni\",\r\n\t\t\t\tes: \"+- 7 Dรญas\",\r\n\t\t\t\tfr: \"+- 7 Jours\",\r\n\t\t\t},\r\n\t\t\tLastNext7Days: {\r\n\t\t\t\ten: \"+- 7 Days\",\r\n\t\t\t\tit: \"+- 7 Giorni\",\r\n\t\t\t\tes: \"+- 7 Dรญas\",\r\n\t\t\t\tfr: \"+- 7 Jours\",\r\n\t\t\t},\r\n\t\t\tLastNext30Days: {\r\n\t\t\t\ten: \"+- 30 Days\",\r\n\t\t\t\tit: \"+- 30 Giorni\",\r\n\t\t\t\tes: \"+- 30 Dรญas\",\r\n\t\t\t\tfr: \"+- 30 Jours\",\r\n\t\t\t},\r\n\t\t\tTodayAndTomorrow: {\r\n\t\t\t\ten: \"Today And Tomorrow\",\r\n\t\t\t\tit: \"Oggi E Domani\",\r\n\t\t\t\tes: \"Hoy Y Maรฑana\",\r\n\t\t\t\tfr: \"Aujourd'Hui Et Demain\",\r\n\t\t\t},\r\n\t\t\tSameDayLastWeek: {\r\n\t\t\t\ten: \"Same Day Last Week\",\r\n\t\t\t\tit: \"Stesso Giorno Ultima Settimana\",\r\n\t\t\t\tes: \"Mismo dรญa la semana pasada\",\r\n\t\t\t\tfr: \"Mรชme jour la semaine derniรจre\",\r\n\t\t\t},\r\n\t\t\tLast12Months: {\r\n\t\t\t\ten: \"Last 12 Months\",\r\n\t\t\t\tit: \"Ultimi 12 mesi\",\r\n\t\t\t\tes: \"รšltimos 12 meses\",\r\n\t\t\t\tfr: \"Derniers 12 mois\",\r\n\t\t\t},\r\n\t\t\tLastMonth: {\r\n\t\t\t\ten: \"Last Month\",\r\n\t\t\t\tit: \"Mese scorso\",\r\n\t\t\t\tes: \"Mes pasado\",\r\n\t\t\t\tfr: \"Mois dernier\",\r\n\t\t\t},\r\n\t\t\tThisMonth: {\r\n\t\t\t\ten: \"This Month\",\r\n\t\t\t\tit: \"Questo Mese\",\r\n\t\t\t\tes: \"Este Mes\",\r\n\t\t\t\tfr: \"Ce Mois\",\r\n\t\t\t},\r\n\t\t\tThisWeek: {\r\n\t\t\t\ten: \"This Week\",\r\n\t\t\t\tit: \"Questa Settimana\",\r\n\t\t\t\tes: \"Esta Semana\",\r\n\t\t\t\tfr: \"Cette Semaine\",\r\n\t\t\t},\r\n\t\t\tLastWeek: {\r\n\t\t\t\ten: \"Last Week\",\r\n\t\t\t\tit: \"Ultima Settimana\",\r\n\t\t\t\tes: \"รšltima Semana\",\r\n\t\t\t\tfr: \"Derniรจre Semaine\",\r\n\t\t\t},\r\n\t\t\tLast7Days: {\r\n\t\t\t\ten: \"Last 7 Days\",\r\n\t\t\t\tit: \"Ultimi 7 giorni\",\r\n\t\t\t\tes: \"รšltimos 7 dรญas\",\r\n\t\t\t\tfr: \"7 derniers jours\",\r\n\t\t\t},\r\n\t\t\tLast7DaysAndToday: {\r\n\t\t\t\ten: \"Last 7 Days\",\r\n\t\t\t\tit: \"Ultimi 7 giorni\",\r\n\t\t\t\tes: \"รšltimos 7 dรญas\",\r\n\t\t\t\tfr: \"7 derniers jours\",\r\n\t\t\t},\r\n\t\t\tLast30DaysAndToday: {\r\n\t\t\t\ten: \"Last 30 Days\",\r\n\t\t\t\tit: \"Ultimi 30 giorni\",\r\n\t\t\t\tes: \"รšltimos 30 dรญas\",\r\n\t\t\t\tfr: \"30 Derniers Jours\",\r\n\t\t\t},\r\n\t\t\tLast365Days: {\r\n\t\t\t\ten: \"Last 365 Days\",\r\n\t\t\t\tit: \"Ultimi 365 giorni\",\r\n\t\t\t\tes: \"รšltimos 365 dรญas\",\r\n\t\t\t\tfr: \"365 derniers jours\",\r\n\t\t\t},\r\n\t\t\tleads: {\r\n\t\t\t\ten: \"Leads\",\r\n\t\t\t\tit: \"Leads\",\r\n\t\t\t\tes: \"Leads\",\r\n\t\t\t\tfr: \"Leads\",\r\n\t\t\t},\r\n\t\t\t\"leads-qualified\": {\r\n\t\t\t\ten: \"Leads - Qualified\",\r\n\t\t\t\tit: \"Leads - Qualified\",\r\n\t\t\t\tes: \"Leads - Qualified\",\r\n\t\t\t\tfr: \"Leads - Qualified\",\r\n\t\t\t},\r\n\t\t\tprospects: {\r\n\t\t\t\ten: \"Prospects\",\r\n\t\t\t\tit: \"Prospects\",\r\n\t\t\t\tes: \"Prospects\",\r\n\t\t\t\tfr: \"Prospects\",\r\n\t\t\t},\r\n\t\t\tclients: {\r\n\t\t\t\ten: \"Clients\",\r\n\t\t\t\tit: \"Clienti\",\r\n\t\t\t\tes: \"Clients\",\r\n\t\t\t\tfr: \"Clients\",\r\n\t\t\t},\r\n\t\t\tlead: {\r\n\t\t\t\ten: \"Lead\",\r\n\t\t\t\tit: \"Lead\",\r\n\t\t\t\tes: \"Lead\",\r\n\t\t\t\tfr: \"Lead\",\r\n\t\t\t},\r\n\t\t\t\"lead-qualified\": {\r\n\t\t\t\ten: \"Lead - Qualified\",\r\n\t\t\t\tit: \"Lead - Qualified\",\r\n\t\t\t\tes: \"Lead - Qualified\",\r\n\t\t\t\tfr: \"Lead - Qualified\",\r\n\t\t\t},\r\n\t\t\tprospect: {\r\n\t\t\t\ten: \"Prospect\",\r\n\t\t\t\tit: \"Prospect\",\r\n\t\t\t\tes: \"Prospect\",\r\n\t\t\t\tfr: \"Prospect\",\r\n\t\t\t},\r\n\t\t\tclient: {\r\n\t\t\t\ten: \"Client\",\r\n\t\t\t\tit: \"Clienti\",\r\n\t\t\t\tes: \"Client\",\r\n\t\t\t\tfr: \"Client\",\r\n\t\t\t},\r\n\t\t\t\"client-from\": {\r\n\t\t\t\ten: \"Client From\",\r\n\t\t\t\tit: \"Client Da\",\r\n\t\t\t\tes: \"Client De\",\r\n\t\t\t\tfr: \"Client De\",\r\n\t\t\t},\r\n\t\t\tdashboard: {\r\n\t\t\t\ten: \"Dashboard\",\r\n\t\t\t\tit: \"Dashboard\",\r\n\t\t\t\tes: \"Dashboard\",\r\n\t\t\t\tfr: \"Dashboard\",\r\n\t\t\t},\r\n\t\t\t\"dashboard-settings\": {\r\n\t\t\t\ten: \"Dashboard Settings\",\r\n\t\t\t\tit: \"Impostazioni Dashboard\",\r\n\t\t\t\tes: \"Configuraciรณn Dashboard\",\r\n\t\t\t\tfr: \"Paramรจtres Dashboard\",\r\n\t\t\t},\r\n\t\t\ttrial: {\r\n\t\t\t\ten: \"Trial\",\r\n\t\t\t\tit: \"Prova\",\r\n\t\t\t\tes: \"Prueba\",\r\n\t\t\t\tfr: \"Essai\",\r\n\t\t\t},\r\n\t\t\t\"change-client-state\": {\r\n\t\t\t\ten: \"Change State\",\r\n\t\t\t\tit: \"Cambia Stato\",\r\n\t\t\t\tes: \"Cambiar Estado\",\r\n\t\t\t\tfr: \"Changer Etat\",\r\n\t\t\t},\r\n\t\t\t\"client-state\": {\r\n\t\t\t\ten: \"Client State\",\r\n\t\t\t\tit: \"Stato Cliente\",\r\n\t\t\t\tes: \"Estado Cliente\",\r\n\t\t\t\tfr: \"Etat Client\",\r\n\t\t\t},\r\n\t\t\t\"select-period\": {\r\n\t\t\t\ten: \"Select Period\",\r\n\t\t\t\tit: \"Seleziona Periodo\",\r\n\t\t\t\tes: \"Seleccionar Periodo\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Pรฉriode\",\r\n\t\t\t},\r\n\t\t\tbirthdays: {\r\n\t\t\t\ten: \"Birthdays\",\r\n\t\t\t\tit: \"Compleanni\",\r\n\t\t\t\tes: \"Cumpleaรฑos\",\r\n\t\t\t\tfr: \"Anniversaires\",\r\n\t\t\t},\r\n\t\t\t\"birth-date\": {\r\n\t\t\t\ten: \"Birth Date\",\r\n\t\t\t\tit: \"Data Compleanno\",\r\n\t\t\t\tes: \"Fecha De Nacimiento\",\r\n\t\t\t\tfr: \"Date De Naissance\",\r\n\t\t\t},\r\n\t\t\t\"award-date\": {\r\n\t\t\t\ten: \"Award Date\",\r\n\t\t\t\tit: \"Data Premiazione\",\r\n\t\t\t\tes: \"Fecha De Premiaciรณn\",\r\n\t\t\t\tfr: \"Date D'Attribution\",\r\n\t\t\t},\r\n\t\t\ttrophies: {\r\n\t\t\t\ten: \"Trophies\",\r\n\t\t\t\tit: \"Trofei\",\r\n\t\t\t\tes: \"Trofeos\",\r\n\t\t\t\tfr: \"Trophรฉes\",\r\n\t\t\t},\r\n\t\t\t\"sms-sent-successfully\": {\r\n\t\t\t\ten: \"SMS sent successfully\",\r\n\t\t\t\tit: \"SMS inviato con successo\",\r\n\t\t\t\tes: \"SMS enviado satisfactoriamente\",\r\n\t\t\t\tfr: \"SMS envoyรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"sms-sent-error\": {\r\n\t\t\t\ten: \"Error while sending SMS\",\r\n\t\t\t\tit: \"Errore durante l'invio SMS\",\r\n\t\t\t\tes: \"Error al enviar SMS\",\r\n\t\t\t\tfr: \"Erreur lors de l'envoi SMS\",\r\n\t\t\t},\r\n\t\t\tsms: {\r\n\t\t\t\ten: \"SMS\",\r\n\t\t\t\tit: \"SMS\",\r\n\t\t\t\tes: \"SMS\",\r\n\t\t\t\tfr: \"SMS\",\r\n\t\t\t},\r\n\t\t\t\"sms-credits\": {\r\n\t\t\t\ten: \"SMS Credits\",\r\n\t\t\t\tit: \"SMS Rimanenti\",\r\n\t\t\t\tes: \"SMS Restantes\",\r\n\t\t\t\tfr: \"SMS Restants\",\r\n\t\t\t},\r\n\t\t\t\"remaining-sms-credits\": {\r\n\t\t\t\ten: \"Remaining SMS Credits:\",\r\n\t\t\t\tit: \"Crediti SMS Rimanenti:\",\r\n\t\t\t\tes: \"Crรฉditos SMS Restantes:\",\r\n\t\t\t\tfr: \"Crรฉdits SMS Restants:\",\r\n\t\t\t},\r\n\t\t\t\"missing-number\": {\r\n\t\t\t\ten: \"Missing Phone\",\r\n\t\t\t\tit: \"Telefono Mancante\",\r\n\t\t\t\tes: \"Telรฉfono Faltante\",\r\n\t\t\t\tfr: \"Tรฉlรฉphone Manquant\",\r\n\t\t\t},\r\n\t\t\t\"send-sms\": {\r\n\t\t\t\ten: \"Send SMS\",\r\n\t\t\t\tit: \"Invia SMS\",\r\n\t\t\t\tes: \"Envoyer SMS\",\r\n\t\t\t\tfr: \"Enviar SMS\",\r\n\t\t\t},\r\n\t\t\t\"all-selected-users-are-without-phone\": {\r\n\t\t\t\ten: \"All selected users are without phone number\",\r\n\t\t\t\tit: \"Tutti gli utenti selezionati sono senza numero di telefono\",\r\n\t\t\t\tes: \"Todos los usuarios seleccionados no tienen telรฉfono\",\r\n\t\t\t\tfr: \"Tous les utilisateurs sรฉlectionnรฉs sont sans tรฉlรฉphone\",\r\n\t\t\t},\r\n\t\t\t\"expired-subscriptions-membership\": {\r\n\t\t\t\ten: \"Expired Subscriptions\",\r\n\t\t\t\tit: \"Abbonamenti Scaduti\",\r\n\t\t\t\tes: \"Subscripciones Expiradas\",\r\n\t\t\t\tfr: \"Abonnements Expirรฉs\",\r\n\t\t\t},\r\n\t\t\t\"suspended-date\": {\r\n\t\t\t\ten: \"Suspended Date\",\r\n\t\t\t\tit: \"Data Sospensione\",\r\n\t\t\t\tes: \"Fecha Suspendida\",\r\n\t\t\t\tfr: \"Date Suspendue\",\r\n\t\t\t},\r\n\t\t\t\"last-activity\": {\r\n\t\t\t\ten: \"Last Activity\",\r\n\t\t\t\tit: \"Ultima Attivitร \",\r\n\t\t\t\tes: \"รšltima Actividad\",\r\n\t\t\t\tfr: \"Derniรจre Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"training-date\": {\r\n\t\t\t\ten: \"Training Date\",\r\n\t\t\t\tit: \"Data Allenamento\",\r\n\t\t\t\tes: \"Fecha De Entrenamiento\",\r\n\t\t\t\tfr: \"Date D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"send-sms\": {\r\n\t\t\t\ten: \"Send SMS\",\r\n\t\t\t\tit: \"Invia SMS\",\r\n\t\t\t\tes: \"Enviar SMS\",\r\n\t\t\t\tfr: \"Envoyer SMS\",\r\n\t\t\t},\r\n\t\t\t\"warning-user-do-not-have-phone\": {\r\n\t\t\t\ten: \"Warning: some of the selected users do not have a phone number.\",\r\n\t\t\t\tit: \"Attenzione: alcuni degli utenti selezionati non hanno un numero di telefono.\",\r\n\t\t\t\tes: \"Advertencia: algunos de los usuarios seleccionados no tienen un nรบmero de telรฉfono.\",\r\n\t\t\t\tfr: \"Avertissement: certains des utilisateurs sรฉlectionnรฉs n'ont pas de numรฉro de tรฉlรฉphone.\",\r\n\t\t\t},\r\n\t\t\t\"view-training\": {\r\n\t\t\t\ten: \"View Training\",\r\n\t\t\t\tit: \"Visualizza Allenamento\",\r\n\t\t\t\tes: \"Ver Entrenamiento\",\r\n\t\t\t\tfr: \"Voir Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"view-class\": {\r\n\t\t\t\ten: \"View Activity\",\r\n\t\t\t\tit: \"Visualizza Attivitร \",\r\n\t\t\t\tes: \"Ver Actividad\",\r\n\t\t\t\tfr: \"Voir Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"expired-subscriptions\": {\r\n\t\t\t\ten: \"Expired Subscriptions\",\r\n\t\t\t\tit: \"Abbonamenti Scaduti\",\r\n\t\t\t\tes: \"Subscripciones Expiradas\",\r\n\t\t\t\tfr: \"Abonnements Expirรฉs\",\r\n\t\t\t},\r\n\t\t\t\"subscription-expiration\": {\r\n\t\t\t\ten: \"Subscription Expiration\",\r\n\t\t\t\tit: \"Scadenza Abbonamento\",\r\n\t\t\t\tes: \"Suscripciรณn Caducidad\",\r\n\t\t\t\tfr: \"Expiration De L'Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"no-activity\": {\r\n\t\t\t\ten: \"No Activity\",\r\n\t\t\t\tit: \"Nessuna Attivitร \",\r\n\t\t\t\tes: \"No Activity\",\r\n\t\t\t\tfr: \"Pas D'Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"suspended-membership\": {\r\n\t\t\t\ten: \"Suspended Subscription\",\r\n\t\t\t\tit: \"Abbonamento Sospeso\",\r\n\t\t\t\tes: \"Suscripciรณn Suspendida\",\r\n\t\t\t\tfr: \"Abonnement Suspendue\",\r\n\t\t\t},\r\n\t\t\t\"suspended-memberships\": {\r\n\t\t\t\ten: \"Suspended Subscriptions\",\r\n\t\t\t\tit: \"Abbonamenti Sospesi\",\r\n\t\t\t\tes: \"Suscripciones Suspendidas\",\r\n\t\t\t\tfr: \"Abonnements Suspendus\",\r\n\t\t\t},\r\n\t\t\t\"single-ticket\": {\r\n\t\t\t\ten: \"One Remaining Ticket\",\r\n\t\t\t\tit: \"Un Ticket Rimanente\",\r\n\t\t\t\tes: \"Un Ticket Restante\",\r\n\t\t\t\tfr: \"Un Ticket Restant\",\r\n\t\t\t},\r\n\t\t\t\"no-show\": {\r\n\t\t\t\ten: \"No Show\",\r\n\t\t\t\tit: \"Assenti\",\r\n\t\t\t\tes: \"Ausente\",\r\n\t\t\t\tfr: \"Absent\",\r\n\t\t\t},\r\n\t\t\t\"save-and-remove\": {\r\n\t\t\t\ten: \"Save And Remove\",\r\n\t\t\t\tit: \"Salva E Rimuovi\",\r\n\t\t\t\tes: \"Guardar Y Eliminar\",\r\n\t\t\t\tfr: \"Enregistrer Et Supprimer\",\r\n\t\t\t},\r\n\t\t\t\"comment-trainings\": {\r\n\t\t\t\ten: \"Comment Trainings\",\r\n\t\t\t\tit: \"Commenta Allenamenti\",\r\n\t\t\t\tes: \"Comentarios De Entrenamiento\",\r\n\t\t\t\tfr: \"Commentaires D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"view-profile\": {\r\n\t\t\t\ten: \"View Profile\",\r\n\t\t\t\tit: \"Vedi Profilo\",\r\n\t\t\t\tes: \"Ver Perfil\",\r\n\t\t\t\tfr: \"Voir Le Profil\",\r\n\t\t\t},\r\n\t\t\t\"view-diary\": {\r\n\t\t\t\ten: \"View Diary\",\r\n\t\t\t\tit: \"Vedi Diario\",\r\n\t\t\t\tes: \"Ver Diario\",\r\n\t\t\t\tfr: \"Voir Le Journal\",\r\n\t\t\t},\r\n\t\t\t\"trainings-with-no-comments\": {\r\n\t\t\t\ten: \"Trainings Without Comments\",\r\n\t\t\t\tit: \"Allenamenti Senza Commenti\",\r\n\t\t\t\tes: \"Entrenamientos Sin Comentarios\",\r\n\t\t\t\tfr: \"Entraรฎnements Sans Commentaires\",\r\n\t\t\t},\r\n\t\t\t\"no-show-date\": {\r\n\t\t\t\ten: \"No Show Date\",\r\n\t\t\t\tit: \"Data No Show\",\r\n\t\t\t\tes: \"Fecha No Show\",\r\n\t\t\t\tfr: \"Date No Show\",\r\n\t\t\t},\r\n\t\t\t\"clients-no-trainings\": {\r\n\t\t\t\ten: \"New Clients With No Training\",\r\n\t\t\t\tit: \"Nuovi Clienti Senza Allenamenti\",\r\n\t\t\t\tes: \"Nuevos Clientes Sin Entrenamiento\",\r\n\t\t\t\tfr: \"Nouveaux Clients Sans Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"last-comment\": {\r\n\t\t\t\ten: \"Last Comment\",\r\n\t\t\t\tit: \"Ultimo Commento\",\r\n\t\t\t\tes: \"รšltimo Comentario\",\r\n\t\t\t\tfr: \"Dernier Commentaire\",\r\n\t\t\t},\r\n\t\t\t\"athletes-with-no-comments\": {\r\n\t\t\t\ten: \"No Staff Comments\",\r\n\t\t\t\tit: \"Nessun Commento Dallo Staff\",\r\n\t\t\t\tes: \"Sin Comentarios Del Personal\",\r\n\t\t\t\tfr: \"Aucun Commentaire Du Personnel\",\r\n\t\t\t},\r\n\t\t\t\"join-date\": {\r\n\t\t\t\ten: \"Join Date\",\r\n\t\t\t\tit: \"Data Iscrizione\",\r\n\t\t\t\tes: \"Fecha Ingreso\",\r\n\t\t\t\tfr: \"Date Inscription\",\r\n\t\t\t},\r\n\t\t\t\"selected-interval-cannot-exceed-120-days\": {\r\n\t\t\t\ten: \"The selected interval cannot exceed 120 days\",\r\n\t\t\t\tit: \"L'intervallo selezionato non puรฒ superare i 120 giorni\",\r\n\t\t\t\tes: \"El intervalo seleccionado no puede exceder 120 dรญas\",\r\n\t\t\t\tfr: \"L'intervalle sรฉlectionnรฉ ne peut pas dรฉpasser 120 jours\",\r\n\t\t\t},\r\n\t\t\t\"new-users\": {\r\n\t\t\t\ten: \"New Users\",\r\n\t\t\t\tit: \"Nuovi Utenti\",\r\n\t\t\t\tes: \"Nuevos Usuarios\",\r\n\t\t\t\tfr: \"Nouveaux Utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"new-users\": {\r\n\t\t\t\ten: \"New Users\",\r\n\t\t\t\tit: \"Nuovi Utenti\",\r\n\t\t\t\tes: \"Nuevos Usuarios\",\r\n\t\t\t\tfr: \"Nouveaux Utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"last-training\": {\r\n\t\t\t\ten: \"Last Training\",\r\n\t\t\t\tit: \"Ultimo Allenamento\",\r\n\t\t\t\tes: \"รšltimo Entrenamiento\",\r\n\t\t\t\tfr: \"Dernier Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"last-training-date\": {\r\n\t\t\t\ten: \"Last Training Data\",\r\n\t\t\t\tit: \"Data Ultimo Allenamento\",\r\n\t\t\t\tes: \"รšltimos Datos De Entrenamiento\",\r\n\t\t\t\tfr: \"Derniรจres Donnรฉes D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"expired-date\": {\r\n\t\t\t\ten: \"Expired Date\",\r\n\t\t\t\tit: \"Scaduto Il\",\r\n\t\t\t\tes: \"Fecha De Vencimiento\",\r\n\t\t\t\tfr: \"Date d'Expiration\",\r\n\t\t\t},\r\n\t\t\t\"last-booking\": {\r\n\t\t\t\ten: \"Last Booking\",\r\n\t\t\t\tit: \"Ultima Prenotazione\",\r\n\t\t\t\tes: \"รšltima Reservaciรณn\",\r\n\t\t\t\tfr: \"Derniรจre Rรฉservation\",\r\n\t\t\t},\r\n\t\t\t\"phone-number-copied\": {\r\n\t\t\t\ten: \"Phone number copied!\",\r\n\t\t\t\tit: \"Numero Di Telefono Copiato!\",\r\n\t\t\t\tes: \"ยกNรบmero de telรฉfono copiado!\",\r\n\t\t\t\tfr: \"Numรฉro De Tรฉlรฉphone Copiรฉ!\",\r\n\t\t\t},\r\n\t\t\t\"leads-tooltip\": {\r\n\t\t\t\ten: \"New club members with no interaction from staff in the selected time period\",\r\n\t\t\t\tit: \"Nuovi soci del club senza interazione da parte del personale nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Nuevos socios del club sin interacciรณn del personal en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Nouveaux membres du club sans interaction du personnel pendant la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"qualified-tooltip\": {\r\n\t\t\t\ten: \"Club members with interaction from staff in the selected time period\",\r\n\t\t\t\tit: \"Membri del club con interazione da parte del personale nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros del club con interacciรณn del personal en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres du club avec interaction du personnel dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"prospect-tooltip\": {\r\n\t\t\t\ten: \"Club members who have done a trial workout in the selected time period\",\r\n\t\t\t\tit: \"Membri del club che hanno svolto un allenamento di prova nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros del club que han realizado un entrenamiento de prueba en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Les membres du club qui ont fait un entraรฎnement d'essai dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"client-tooltip\": {\r\n\t\t\t\ten: \"Club members who purchased (or were assigned) a subscription in the selected time period\",\r\n\t\t\t\tit: \"Membri del club che hanno acquistato (o assegnato) un abbonamento nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros del club que compraron (o se les asignรณ) una suscripciรณn en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres du club qui ont achetรฉ (ou ont reรงu) un abonnement au cours de la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"no-comments-tooltip\": {\r\n\t\t\t\ten: \"Members with no staff comments to trainings in the selected time period\",\r\n\t\t\t\tit: \"Membri senza commenti del personale agli allenamenti nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros sin comentarios del personal sobre las capacitaciones en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres sans commentaires du personnel sur les entraรฎnements dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"no-trainings-tooltip\": {\r\n\t\t\t\ten: \"Members who became clients in the selected time period and that didn't do any trainings after becoming clients\",\r\n\t\t\t\tit: \"Membri che sono diventati clienti nel periodo di tempo selezionato e che non hanno fatto nessun allenamento dopo essere diventati clienti\",\r\n\t\t\t\tes: \"Miembros que se convirtieron en clientes en el perรญodo de tiempo seleccionado y que no realizaron ninguna capacitaciรณn despuรฉs de convertirse en clientes\",\r\n\t\t\t\tfr: \"Membres qui sont devenus clients au cours de la pรฉriode sรฉlectionnรฉe et qui n'ont fait aucun entraรฎnement aprรจs รชtre devenus clients\",\r\n\t\t\t},\r\n\t\t\t\"no-show-tooltip\": {\r\n\t\t\t\ten: \"Members who missed a training they were booked for in the selected time period\",\r\n\t\t\t\tit: \"Membri che hanno perso un allenamento per il quale erano stati prenotati nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros que se perdieron un entrenamiento para el que estaban reservados en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres qui ont manquรฉ une sรฉance d'entraรฎnement pour laquelle ils avaient รฉtรฉ rรฉservรฉs au cours de la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"single-ticket-tooltip\": {\r\n\t\t\t\ten: \"Members with a subscription with only one remaining ticket\",\r\n\t\t\t\tit: \"I membri con un abbonamento con un solo biglietto rimanente\",\r\n\t\t\t\tes: \"Miembros con una suscripciรณn con solo un boleto restante\",\r\n\t\t\t\tfr: \"Membres ayant un abonnement avec un seul ticket restant\",\r\n\t\t\t},\r\n\t\t\t\"no-activity-tooltip\": {\r\n\t\t\t\ten: \"Members with no activity (trainings or bookings) in the selected time period who have performed activities (training or bookings) in the 30 days prior to the selected period\",\r\n\t\t\t\tit: \"Membri senza attivitร  (allenamenti o prenotazioni) nel periodo di tempo selezionato che hanno svolto attivitร  (allenamenti o prenotazioni) nei 30 giorni precedenti al periodo selezionato\",\r\n\t\t\t\tes: \"Miembros sin actividad (entrenamientos o reservas) en el perรญodo de tiempo seleccionado que han realizado actividades (entrenamientos o reservas) en los 30 dรญas anteriores al perรญodo seleccionado\",\r\n\t\t\t\tfr: \"Membres sans activitรฉ (entrainement ou rรฉservations) dans la pรฉriode sรฉlectionnรฉe qui ont effectuรฉ des activitรฉs (entrainement ou rรฉservations) dans les 30 jours prรฉcรฉdant la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"suspended-membership-tooltip\": {\r\n\t\t\t\ten: \"Members with suspended subscriptions in the selected time period\",\r\n\t\t\t\tit: \"Membri con abbonamenti sospesi nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros con suscripciones suspendidas en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres avec des abonnements suspendus dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"expired-membership-tooltip\": {\r\n\t\t\t\ten: \"Members with expired subscriptions and no renewals in the selected time period\",\r\n\t\t\t\tit: \"Membri con abbonamenti scaduti e nessun rinnovo nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros con suscripciones vencidas y sin renovaciones en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres dont les abonnements ont expirรฉ et aucun renouvellement dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"birthdays-tooltip\": {\r\n\t\t\t\ten: \"Members who have their birthday in the selected time period\",\r\n\t\t\t\tit: \"Membri che compiono gli anni nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Membres dont l'anniversaire se situe dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t\tfr: \"Membres dont l'anniversaire se situe dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"trophies-tooltip\": {\r\n\t\t\t\ten: \"Members who gained a trophy in the selected time period\",\r\n\t\t\t\tit: \"Membri che hanno ottenuto un trofeo nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros que ganaron un trofeo en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres dont l'anniversaire se situe dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"trial-tooltip\": {\r\n\t\t\t\ten: \"Members booked for a trial session in the selected time period\",\r\n\t\t\t\tit: \"I membri hanno prenotato una sessione di prova nel periodo di tempo selezionato\",\r\n\t\t\t\tes: \"Miembros reservados para una sesiรณn de prueba en el perรญodo de tiempo seleccionado\",\r\n\t\t\t\tfr: \"Membres rรฉservรฉs pour une session d'essai dans la pรฉriode sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"tasks-tooltip\": {\r\n\t\t\t\ten: \"Club tasks not completed\",\r\n\t\t\t\tit: \"Tasks del club non completati\",\r\n\t\t\t\tes: \"Tasks del club no completadas\",\r\n\t\t\t\tfr: \"Tasks du club non terminรฉes\",\r\n\t\t\t},\r\n\t\t\t\"default-training-type\": {\r\n\t\t\t\ten: \"Club Default Workout\",\r\n\t\t\t\tit: \"Allenamento Predefinito Nel Club\",\r\n\t\t\t\tes: \"Entrenamiento Predeterminado En El Club\",\r\n\t\t\t\tfr: \"Entraรฎnement Par Dรฉfaut Dans Le Club\",\r\n\t\t\t},\r\n\t\t\t\"user-has-no-data-to-view\": {\r\n\t\t\t\ten: \"User Has No Data To View\",\r\n\t\t\t\tit: \"L'Utente Non Ha Dati Da Visualizzare\",\r\n\t\t\t\tes: \"El Usuario No Tiene Datos Para Ver\",\r\n\t\t\t\tfr: \"L'Utilisateur N'A Pas De Donnรฉes Pour Visualiser\",\r\n\t\t\t},\r\n\t\t\t\"ranking-challenge\": {\r\n\t\t\t\ten: \"Ranking Challenge\",\r\n\t\t\t\tit: \"Sfida A Classifica\",\r\n\t\t\t\tes: \"Desafรญo De Clasificaciรณn\",\r\n\t\t\t\tfr: \"Un Dรฉfi De Classement\",\r\n\t\t\t},\r\n\t\t\t\"scheduled-ranking-challenge\": {\r\n\t\t\t\ten: \"Scheduled Ranking Challenge\",\r\n\t\t\t\tit: \"Sfida A Classifica Programmata\",\r\n\t\t\t\tes: \"Desafรญo De Clasificaciรณn Programado\",\r\n\t\t\t\tfr: \"Dรฉfi De Classement Programmรฉ\",\r\n\t\t\t},\r\n\t\t\t\"generic-task\": {\r\n\t\t\t\ten: \"Generic Task\",\r\n\t\t\t\tit: \"Task Generico\",\r\n\t\t\t\tes: \"Task Genรฉrico\",\r\n\t\t\t\tfr: \"Task gรฉnรฉrique\",\r\n\t\t\t},\r\n\t\t\t\"call-task\": {\r\n\t\t\t\ten: \"Call\",\r\n\t\t\t\tit: \"Chiamata\",\r\n\t\t\t\tes: \"llamada\",\r\n\t\t\t\tfr: \"Appel\",\r\n\t\t\t},\r\n\t\t\t\"do-not-call-task\": {\r\n\t\t\t\ten: \"Don't Call\",\r\n\t\t\t\tit: \"Non Chiamare\",\r\n\t\t\t\tes: \"No Llames\",\r\n\t\t\t\tfr: \"Ne Pas Appeler\",\r\n\t\t\t},\r\n\t\t\tassignee: {\r\n\t\t\t\ten: \"Assignee\",\r\n\t\t\t\tit: \"Assegnatario\",\r\n\t\t\t\tes: \"Cesionario\",\r\n\t\t\t\tfr: \"Cessionnaire\",\r\n\t\t\t},\r\n\t\t\t\"task-is-mandatory-for-generic-task\": {\r\n\t\t\t\ten: \"The task field is mandatory for generic tasks\",\r\n\t\t\t\tit: \"Il campo task รจ obbligatorio per i tasks generi\",\r\n\t\t\t\tes: \"El campo task es obligatorio para las tasks genรฉricas\",\r\n\t\t\t\tfr: \"Le champ task est obligatoire pour les tasks gรฉnรฉriques\",\r\n\t\t\t},\r\n\t\t\ttasks: {\r\n\t\t\t\ten: \"Tasks\",\r\n\t\t\t\tit: \"Tasks\",\r\n\t\t\t\tes: \"Tasks\",\r\n\t\t\t\tfr: \"Tasks\",\r\n\t\t\t},\r\n\t\t\ttask: {\r\n\t\t\t\ten: \"Task\",\r\n\t\t\t\tit: \"Task\",\r\n\t\t\t\tes: \"Task\",\r\n\t\t\t\tfr: \"Task\",\r\n\t\t\t},\r\n\t\t\t\"add-task\": {\r\n\t\t\t\ten: \"Add Task\",\r\n\t\t\t\tit: \"Aggiungi Task\",\r\n\t\t\t\tes: \"Agregar Task\",\r\n\t\t\t\tfr: \"Ajouter Task\",\r\n\t\t\t},\r\n\t\t\t\"edit-task\": {\r\n\t\t\t\ten: \"Edit Task\",\r\n\t\t\t\tit: \"Modifica Task\",\r\n\t\t\t\tes: \"Editar Task\",\r\n\t\t\t\tfr: \"ร‰diter Task\",\r\n\t\t\t},\r\n\t\t\t\"my-tasks\": {\r\n\t\t\t\ten: \"My Tasks\",\r\n\t\t\t\tit: \"I Miei Task\",\r\n\t\t\t\tes: \"Mi Task\",\r\n\t\t\t\tfr: \"Mes Task\",\r\n\t\t\t},\r\n\t\t\t\"show-completed-tasks\": {\r\n\t\t\t\ten: \"Show Completed Tasks\",\r\n\t\t\t\tit: \"Mostra Task Completati\",\r\n\t\t\t\tes: \"Mostrar Task Completadas\",\r\n\t\t\t\tfr: \"Afficher Task Terminรฉes\",\r\n\t\t\t},\r\n\t\t\tstaff: {\r\n\t\t\t\ten: \"Staff\",\r\n\t\t\t\tit: \"Staff\",\r\n\t\t\t\tes: \"Staff\",\r\n\t\t\t\tfr: \"Staff\",\r\n\t\t\t},\r\n\t\t\t\"enable-leads-management\": {\r\n\t\t\t\ten: \"Enable Leads Management\",\r\n\t\t\t\tit: \"Abilita La Gestione Dei Leads\",\r\n\t\t\t\tes: \"Habilitar La Gestiรณn De Leads\",\r\n\t\t\t\tfr: \"Activer la gestion des Leads\",\r\n\t\t\t},\r\n\t\t\tmembership: {\r\n\t\t\t\ten: \"Membership\",\r\n\t\t\t\tit: \"Iscrizione\",\r\n\t\t\t\tes: \"Matrรญcula\",\r\n\t\t\t\tfr: \"Inscription\",\r\n\t\t\t},\r\n\t\t\treceiver: {\r\n\t\t\t\ten: \"Receiver\",\r\n\t\t\t\tit: \"Ricevitore\",\r\n\t\t\t\tes: \"Receptor\",\r\n\t\t\t\tfr: \"Receveur\",\r\n\t\t\t},\r\n\t\t\t\"personal-app\": {\r\n\t\t\t\ten: \"Personal App\",\r\n\t\t\t\tit: \"App Personale\",\r\n\t\t\t\tes: \"Aplicaciรณn Personal\",\r\n\t\t\t\tfr: \"Application Personnelle\",\r\n\t\t\t},\r\n\t\t\tkos: {\r\n\t\t\t\ten: \"KOs\",\r\n\t\t\t\tit: \"KOs\",\r\n\t\t\t\tes: \"KOs\",\r\n\t\t\t\tfr: \"KOs\",\r\n\t\t\t},\r\n\t\t\t\"to-avoid\": {\r\n\t\t\t\ten: \"To Avoid\",\r\n\t\t\t\tit: \"Da Evitare\",\r\n\t\t\t\tes: \"Ser Evitado\",\r\n\t\t\t\tfr: \"Interdits\",\r\n\t\t\t},\r\n\t\t\t\"kos-min\": {\r\n\t\t\t\ten: \"KOs/min\",\r\n\t\t\t\tit: \"KOs/min\",\r\n\t\t\t\tes: \"KOs/min\",\r\n\t\t\t\tfr: \"KOs/min\",\r\n\t\t\t},\r\n\t\t\tLast50Trainings: {\r\n\t\t\t\ten: \"Last 50 Trainings\",\r\n\t\t\t\tit: \"Ultimi 50 Allenamenti\",\r\n\t\t\t\tes: \"รšltimos 50 Entrenamientos\",\r\n\t\t\t\tfr: \"50 Derniรจres Formations\",\r\n\t\t\t},\r\n\t\t\tLast100Trainings: {\r\n\t\t\t\ten: \"Last 100 Trainings\",\r\n\t\t\t\tit: \"Ultimi 100 Allenamenti\",\r\n\t\t\t\tes: \"รšltimos 100 Entrenamientos\",\r\n\t\t\t\tfr: \"100 Derniรจres Formations\",\r\n\t\t\t},\r\n\t\t\tLast250Trainings: {\r\n\t\t\t\ten: \"Last 250 Trainings\",\r\n\t\t\t\tit: \"Ultimi 250 Allenamenti\",\r\n\t\t\t\tes: \"รšltimos 250 Entrenamientos\",\r\n\t\t\t\tfr: \"250 Derniรจres Formations\",\r\n\t\t\t},\r\n\t\t\tLast500Trainings: {\r\n\t\t\t\ten: \"Last 500 Trainings\",\r\n\t\t\t\tit: \"Ultimi 500 Allenamenti\",\r\n\t\t\t\tes: \"รšltimos 500 Entrenamientos\",\r\n\t\t\t\tfr: \"500 Derniรจres Formations\",\r\n\t\t\t},\r\n\t\t\t\"group-training\": {\r\n\t\t\t\ten: \"Group Training\",\r\n\t\t\t\tit: \"Training di Gruppo\",\r\n\t\t\t\tes: \"Entrenamiento en grupo\",\r\n\t\t\t\tfr: \"Entraรฎnement en groupe\",\r\n\t\t\t},\r\n\t\t\tSecond: {\r\n\t\t\t\ten: \"Seconds\",\r\n\t\t\t\tit: \"Secondi\",\r\n\t\t\t\tes: \"Segundos\",\r\n\t\t\t\tfr: \"Seconds\",\r\n\t\t\t},\r\n\t\t\t\"BenchPressMaxReps-ms\": {\r\n\t\t\t\ten: \"Bench Press (max reps)\",\r\n\t\t\t\tit: \"Bench Press (ripetizioni max)\",\r\n\t\t\t\tes: \"Press de banca (repeticiones mรกx)\",\r\n\t\t\t\tfr: \"Dรฉveloppรฉ Couchรฉ (rรฉpรฉtitions max)\",\r\n\t\t\t},\r\n\t\t\t\"BenchPressMaxWgt-ms\": {\r\n\t\t\t\ten: \"Bench Press (max weight)\",\r\n\t\t\t\tit: \"Bench Press (massimale)\",\r\n\t\t\t\tes: \"Press de banca (peso mรกximo)\",\r\n\t\t\t\tfr: \"Dรฉveloppรฉ Couchรฉ (poids max)\",\r\n\t\t\t},\r\n\t\t\t\"HandGripTest-ms\": {\r\n\t\t\t\ten: \"Hand Grip Test\",\r\n\t\t\t\tit: \"Hand Grip Test\",\r\n\t\t\t\tes: \"Hand Grip Test\",\r\n\t\t\t\tfr: \"Force de la Poignรฉe\",\r\n\t\t\t},\r\n\t\t\t\"LatPullDownMaxReps-ms\": {\r\n\t\t\t\ten: \"Lat Pull Down (max reps)\",\r\n\t\t\t\tit: \"Lat Pull Down (ripetizioni max)\",\r\n\t\t\t\tes: \"Jalรณn hacia abajo (repeticiones mรกx)\",\r\n\t\t\t\tfr: \"Tirage Poitrine (rรฉpรฉtitions max)\",\r\n\t\t\t},\r\n\t\t\t\"LatPullDownMaxWgt-ms\": {\r\n\t\t\t\ten: \"Lat Pull Down (max weight)\",\r\n\t\t\t\tit: \"Lat Pull Down (massimale)\",\r\n\t\t\t\tes: \"Jalรณn hacia abajo (peso mร ximo)\",\r\n\t\t\t\tfr: \"Tirage Poitrine (poids max)\",\r\n\t\t\t},\r\n\t\t\t\"MaxAerobicSpeed-ms\": {\r\n\t\t\t\ten: \"MAS\",\r\n\t\t\t\tit: \"MVA\",\r\n\t\t\t\tes: \"VAM\",\r\n\t\t\t\tfr: \"VMA\",\r\n\t\t\t},\r\n\t\t\t\"MaxAerobicSpeed-desc\": {\r\n\t\t\t\ten: \"Maximum Aerobic Speed\",\r\n\t\t\t\tit: \"Massima Velocitร  Aerobica\",\r\n\t\t\t\tes: \"Velocidad Aerรณbica Mรกxima\",\r\n\t\t\t\tfr: \"Volume Maximal Aรฉrobie\",\r\n\t\t\t},\r\n\t\t\t\"Plank-ms\": {\r\n\t\t\t\ten: \"Max Plank\",\r\n\t\t\t\tit: \"Max Plank\",\r\n\t\t\t\tes: \"Plancha mรกx\",\r\n\t\t\t\tfr: \"Gainage Max\",\r\n\t\t\t},\r\n\t\t\t\"PushUpMaxReps1Minute-ms\": {\r\n\t\t\t\ten: \"Push-ups (max reps 1 min)\",\r\n\t\t\t\tit: \"Push-up (ripetizioni max 1 minuto)\",\r\n\t\t\t\tes: \"Flexiones (repeticiones mรกx 1 min)\",\r\n\t\t\t\tfr: \"Pompes (rรฉpรฉtitions max 1 min)\",\r\n\t\t\t},\r\n\t\t\t\"SquatMaxReps1Minute-ms\": {\r\n\t\t\t\ten: \"Squat (max reps 1 min)\",\r\n\t\t\t\tit: \"Squat (ripetizioni max 1 min)\",\r\n\t\t\t\tes: \"Sentadilla (repeticiones mรกx 1 min)\",\r\n\t\t\t\tfr: \"Squat (rรฉpรฉtitions max 1 min)\",\r\n\t\t\t},\r\n\t\t\t\"RowerMaxDist1Minute-ms\": {\r\n\t\t\t\ten: \"Rowing machine (max distance 1 min)\",\r\n\t\t\t\tit: \"Vogatore (distanza max 1 min)\",\r\n\t\t\t\tes: \"Mรกquina de remo (distancia mรกx 1 min)\",\r\n\t\t\t\tfr: \"Rameur (distance max 1 min)\",\r\n\t\t\t},\r\n\t\t\t\"x-days-left\": {\r\n\t\t\t\ten: \"{0} days left\",\r\n\t\t\t\tit: \"Rimangono {0} giorni\",\r\n\t\t\t\tes: \"Faltan {0} dรญas\",\r\n\t\t\t\tfr: \"{0} jours restants\",\r\n\t\t\t},\r\n\t\t\t\"expired-x-days-ago\": {\r\n\t\t\t\ten: \"Expired {0} days ago\",\r\n\t\t\t\tit: \"Scaduto da {0} giorni\",\r\n\t\t\t\tes: \"Vencido por {0} dias\",\r\n\t\t\t\tfr: \"Expirรฉ depuis {0} jours\",\r\n\t\t\t},\r\n\t\t\t\"PullUpMaxReps-ms\": {\r\n\t\t\t\ten: \"Pull Up\",\r\n\t\t\t\tit: \"Pull Up\",\r\n\t\t\t\tes: \"Dominadas\",\r\n\t\t\t\tfr: \"Tractions\",\r\n\t\t\t},\r\n\t\t\t\"SquatMaxReps-ms\": {\r\n\t\t\t\ten: \"Squat (max reps)\",\r\n\t\t\t\tit: \"Squat (ripetizioni max)\",\r\n\t\t\t\tes: \"Sentadillas (repeticiones mรกx)\",\r\n\t\t\t\tfr: \"Squat (rรฉpรฉtitions max)\",\r\n\t\t\t},\r\n\t\t\t\"SquatMaxWgt-ms\": {\r\n\t\t\t\ten: \"Squat (max weight)\",\r\n\t\t\t\tit: \"Squat (massimale)\",\r\n\t\t\t\tes: \"Sentadillas (peso mร ximo)\",\r\n\t\t\t\tfr: \"Squat (poids max)\",\r\n\t\t\t},\r\n\t\t\tdocuments: {\r\n\t\t\t\ten: \"Documents\",\r\n\t\t\t\tit: \"Documenti\",\r\n\t\t\t\tes: \"Documentos\",\r\n\t\t\t\tfr: \"Documents\",\r\n\t\t\t},\r\n\t\t\tactive: {\r\n\t\t\t\ten: \"Active\",\r\n\t\t\t\tit: \"Attivo\",\r\n\t\t\t\tes: \"Activo\",\r\n\t\t\t\tfr: \"Actif\",\r\n\t\t\t},\r\n\t\t\texpiring: {\r\n\t\t\t\ten: \"Expiring\",\r\n\t\t\t\tit: \"In Scadenza\",\r\n\t\t\t\tes: \"Expirando\",\r\n\t\t\t\tfr: \"Expirant\",\r\n\t\t\t},\r\n\t\t\t\"medical-certificate\": {\r\n\t\t\t\ten: \"Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico\",\r\n\t\t\t\tes: \"Certificado Medico\",\r\n\t\t\t\tfr: \"Certificat Mรฉdical\",\r\n\t\t\t},\r\n\t\t\tMedicalCertificate: {\r\n\t\t\t\ten: \"Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico\",\r\n\t\t\t\tes: \"Certificado Medico\",\r\n\t\t\t\tfr: \"Certificat Mรฉdical\",\r\n\t\t\t},\r\n\t\t\t\"add-document\": {\r\n\t\t\t\ten: \"Add Document\",\r\n\t\t\t\tit: \"Aggiungi Documento\",\r\n\t\t\t\tes: \"Agregar Documento\",\r\n\t\t\t\tfr: \"Ajouter Document\",\r\n\t\t\t},\r\n\t\t\t\"edit-document\": {\r\n\t\t\t\ten: \"Edit Document\",\r\n\t\t\t\tit: \"Modifica Documento\",\r\n\t\t\t\tes: \"Editar Documento\",\r\n\t\t\t\tfr: \"Modifier Document\",\r\n\t\t\t},\r\n\t\t\tmissing: {\r\n\t\t\t\ten: \"Missing\",\r\n\t\t\t\tit: \"Mancante\",\r\n\t\t\t\tes: \"Ausente\",\r\n\t\t\t\tfr: \"Manquant\",\r\n\t\t\t},\r\n\t\t\t\"machine-level\": {\r\n\t\t\t\ten: \"Gear Level\",\r\n\t\t\t\tit: \"Livello Attrezzo\",\r\n\t\t\t\tes: \"Nivel de dificultad\",\r\n\t\t\t\tfr: \"Niveau d'Outil\",\r\n\t\t\t},\r\n\t\t\t\"workout-reps\": {\r\n\t\t\t\ten: \"Reps\",\r\n\t\t\t\tit: \"Ripetizioni\",\r\n\t\t\t\tes: \"Repeticiones\",\r\n\t\t\t\tfr: \"Rรฉpรฉtitions\",\r\n\t\t\t},\r\n\t\t\tna: {\r\n\t\t\t\ten: \"N/A\",\r\n\t\t\t\tit: \"N/A\",\r\n\t\t\t\tes: \"N/A\",\r\n\t\t\t\tfr: \"N/A\",\r\n\t\t\t},\r\n\t\t\t\"cardio-zone\": {\r\n\t\t\t\ten: \"HR Target\",\r\n\t\t\t\tit: \"HR Target\",\r\n\t\t\t\tes: \"HR Target\",\r\n\t\t\t\tfr: \"HR Target\",\r\n\t\t\t},\r\n\t\t\t\"choose-cardio-zone\": {\r\n\t\t\t\ten: \"Choose zone\",\r\n\t\t\t\tit: \"Scegli zona\",\r\n\t\t\t\tes: \"Elegir zona\",\r\n\t\t\t\tfr: \"Choisir zone\",\r\n\t\t\t},\r\n\t\t\t\"also-shows-clubs-where-is-not-currently-an-athlete\": {\r\n\t\t\t\ten: \"Also shows clubs where is not currently an athlete.\",\r\n\t\t\t\tit: \"Mostra anche i club in cui non รจ attualmente un atleta.\",\r\n\t\t\t\tes: \"Tambiรฉn muestra clubes en los que actualmente no es deportista.\",\r\n\t\t\t\tfr: \"Montre รฉgalement les clubs oรน il n'est pas actuellement athlรจte.\",\r\n\t\t\t},\r\n\t\t\t\"share-count\": {\r\n\t\t\t\ten: \"Share Count\",\r\n\t\t\t\tit: \"Condivisioni\",\r\n\t\t\t\tes: \"Comparte\",\r\n\t\t\t\tfr: \"Partage\",\r\n\t\t\t},\r\n\t\t\t\"workout-sheets\": {\r\n\t\t\t\ten: \"Workouts\",\r\n\t\t\t\tit: \"Schede Allenamento\",\r\n\t\t\t\tes: \"Programas De Entrenamiento\",\r\n\t\t\t\tfr: \"Programmes De Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"add-workout\": {\r\n\t\t\t\ten: \"Add Workout\",\r\n\t\t\t\tit: \"Aggiungi Scheda\",\r\n\t\t\t\tes: \"Agregar Workout\",\r\n\t\t\t\tfr: \"Ajouter Workout\",\r\n\t\t\t},\r\n\t\t\t\"edit-workout\": {\r\n\t\t\t\ten: \"Edit Workout\",\r\n\t\t\t\tit: \"Modifica Scheda\",\r\n\t\t\t\tes: \"Editar Workout\",\r\n\t\t\t\tfr: \"Modifier Workout\",\r\n\t\t\t},\r\n\t\t\t\"add-interval-workout\": {\r\n\t\t\t\ten: \"Add Interval Workout\",\r\n\t\t\t\tit: \"Aggiungi Scheda A Intervalli\",\r\n\t\t\t\tes: \"Agregar Interval Workout\",\r\n\t\t\t\tfr: \"Ajouter Interval Workout\",\r\n\t\t\t},\r\n\t\t\t\"workout-exercise\": {\r\n\t\t\t\ten: \"Workout Exercise\",\r\n\t\t\t\tit: \"Escercizio\",\r\n\t\t\t\tes: \"Ejercicio\",\r\n\t\t\t\tfr: \"Exercer\",\r\n\t\t\t},\r\n\t\t\t\"repsMax-cannot-be-lower-than-reps\": {\r\n\t\t\t\ten: \"The maximum number of repetitions cannot be less than repetitions\",\r\n\t\t\t\tit: \"Il numero massimo di ripetizioni non puรฒ essere inferiore alle ripetizioni\",\r\n\t\t\t\tes: \"El nรบmero mรกximo de repeticiones no puede ser inferior a repeticiones\",\r\n\t\t\t\tfr: \"Le nombre maximum de rรฉpรฉtitions ne peut pas รชtre infรฉrieur ร  rรฉpรฉtitions\",\r\n\t\t\t},\r\n\t\t\t\"assign-subscription\": {\r\n\t\t\t\ten: \"Assign Subscription\",\r\n\t\t\t\tit: \"Assegna Abbonamento\",\r\n\t\t\t\tes: \"Asignar Suscripciรณn\",\r\n\t\t\t\tfr: \"Attribuer Un Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"edit-subscription\": {\r\n\t\t\t\ten: \"Edit Subscription\",\r\n\t\t\t\tit: \"Modifica Abbonamento\",\r\n\t\t\t\tes: \"Editar Suscripciรณn\",\r\n\t\t\t\tfr: \"Modifier L'Abonnement\",\r\n\t\t\t},\r\n\t\t\tsuspended: {\r\n\t\t\t\ten: \"Suspended\",\r\n\t\t\t\tit: \"Sospeso\",\r\n\t\t\t\tes: \"Suspendido\",\r\n\t\t\t\tfr: \"Suspendu\",\r\n\t\t\t},\r\n\t\t\tearly: {\r\n\t\t\t\ten: \"Not started\",\r\n\t\t\t\tit: \"Non iniziato\",\r\n\t\t\t\tes: \"No empezado\",\r\n\t\t\t\tfr: \"Pas commencรฉ\",\r\n\t\t\t},\r\n\t\t\t\"choose-subscription\": {\r\n\t\t\t\ten: \"Choose Subscription\",\r\n\t\t\t\tit: \"Scegli Abbonamento\",\r\n\t\t\t\tes: \"Elija Suscripciรณn\",\r\n\t\t\t\tfr: \"Choisissez l'Abonnement\",\r\n\t\t\t},\r\n\t\t\tremaining: {\r\n\t\t\t\ten: \"Remaining\",\r\n\t\t\t\tit: \"Rimanenti\",\r\n\t\t\t\tes: \"Restante\",\r\n\t\t\t\tfr: \"Restant\",\r\n\t\t\t},\r\n\t\t\t\"suspend-subscription\": {\r\n\t\t\t\ten: \"Suspend Subscription\",\r\n\t\t\t\tit: \"Sospendi Abbonamento\",\r\n\t\t\t\tes: \"Suspender Suscripciรณn\",\r\n\t\t\t\tfr: \"Suspendre Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"blank-manual-reactivation\": {\r\n\t\t\t\ten: \"Leave blank for manual reactivation\",\r\n\t\t\t\tit: \"Lasciare vuoto per riattivazione manuale\",\r\n\t\t\t\tes: \"Dejar en blanco para reactivaciรณn manual\",\r\n\t\t\t\tfr: \"Laisser vide pour la rรฉactivation manuelle\",\r\n\t\t\t},\r\n\t\t\toperation: {\r\n\t\t\t\ten: \"Operation\",\r\n\t\t\t\tit: \"Operazione\",\r\n\t\t\t\tes: \"Operaciรณn\",\r\n\t\t\t\tfr: \"Opรฉration\",\r\n\t\t\t},\r\n\t\t\t\"past-operations\": {\r\n\t\t\t\ten: \"Past Operations\",\r\n\t\t\t\tit: \"Storico Operazioni\",\r\n\t\t\t\tes: \"Operaciones Pasadas\",\r\n\t\t\t\tfr: \"Opรฉrations Passรฉes\",\r\n\t\t\t},\r\n\t\t\tfiles: {\r\n\t\t\t\ten: \"Files\",\r\n\t\t\t\tit: \"File\",\r\n\t\t\t\tes: \"Archivos\",\r\n\t\t\t\tfr: \"Fichiers\",\r\n\t\t\t},\r\n\t\t\tpick: {\r\n\t\t\t\ten: \"Pick\",\r\n\t\t\t\tit: \"Scegli\",\r\n\t\t\t\tes: \"Elegir\",\r\n\t\t\t\tfr: \"Prendre\",\r\n\t\t\t},\r\n\t\t\t\"add-subscription\": {\r\n\t\t\t\ten: \"Add Subscription\",\r\n\t\t\t\tit: \"Aggiungi Abbonamento\",\r\n\t\t\t\tes: \"Agregar Suscripciรณn\",\r\n\t\t\t\tfr: \"Ajouter Abonnement\",\r\n\t\t\t},\r\n\t\t\texercises: {\r\n\t\t\t\ten: \"Exercises\",\r\n\t\t\t\tit: \"Esercizi\",\r\n\t\t\t\tes: \"Ejercicios\",\r\n\t\t\t\tfr: \"Exercices\",\r\n\t\t\t},\r\n\t\t\trest: {\r\n\t\t\t\ten: \"Rest\",\r\n\t\t\t\tit: \"Pausa\",\r\n\t\t\t\tes: \"Descanso\",\r\n\t\t\t\tfr: \"Repos\",\r\n\t\t\t},\r\n\t\t\tREST: {\r\n\t\t\t\ten: \"REST\",\r\n\t\t\t\tit: \"PAUSA\",\r\n\t\t\t\tes: \"DESCANSO\",\r\n\t\t\t\tfr: \"REPOS\",\r\n\t\t\t},\r\n\t\t\trounds: {\r\n\t\t\t\ten: \"Round\",\r\n\t\t\t\tit: \"Rounds\",\r\n\t\t\t\tes: \"Rondas\",\r\n\t\t\t\tfr: \"Manches\"\r\n\t\t\t},\r\n\t\t\t\"configure\": {\r\n\t\t\t\ten: \"Configure\",\r\n\t\t\t\tit: \"Configura\",\r\n\t\t\t\tes: \"Configurar\",\r\n\t\t\t\tfr: \"Configurer\"\r\n\t\t\t},\r\n\t\t\t\"round-pause\": {\r\n\t\t\t\ten: \"Round Pause\",\r\n\t\t\t\tit: \"Pausa del Round\",\r\n\t\t\t\tes: \"Pausa de la Ronda\",\r\n\t\t\t\tfr: \"Pause de Manche\"\r\n\t\t\t},\r\n\t\t\t\"set\": {\r\n\t\t\t\ten: \"Set\",\r\n\t\t\t\tit: \"Serie\",\r\n\t\t\t\tes: \"Serie\",\r\n\t\t\t\tfr: \"Sรจrie\",\r\n\t\t\t},\r\n\t\t\t\"select-cardio-zone\": {\r\n\t\t\t\ten: \"Select Cardio Zone\",\r\n\t\t\t\tit: \"Seleziona Zona Cardio\",\r\n\t\t\t\tes: \"Seleccionar Zona Cardio\",\r\n\t\t\t\tfr: \"Sรฉlectionnez zone cardio\",\r\n\t\t\t},\r\n\t\t\t\"ok\": {\r\n\t\t\t\ten: \"Ok\",\r\n\t\t\t\tit: \"Ok\",\r\n\t\t\t\tes: \"Ok\",\r\n\t\t\t\tfr: \"Ok\",\r\n\t\t\t},\r\n\t\t\t\"total-duration\": {\r\n\t\t\t\ten: \"Total duration\",\r\n\t\t\t\tit: \"Durata totale\",\r\n\t\t\t\tes: \"Duraciรณn total\",\r\n\t\t\t\tfr: \"Durรฉe totale\",\r\n\t\t\t},\r\n\t\t\tnotes: {\r\n\t\t\t\ten: \"Notes\",\r\n\t\t\t\tit: \"Note\",\r\n\t\t\t\tes: \"Notas\",\r\n\t\t\t\tfr: \"Remarques\",\r\n\t\t\t},\r\n\t\t\tRPE: {\r\n\t\t\t\ten: \"RPE\",\r\n\t\t\t\tit: \"RPE\",\r\n\t\t\t\tes: \"RPE\",\r\n\t\t\t\tfr: \"RPE\",\r\n\t\t\t},\r\n\t\t\tEPCP: {\r\n\t\t\t\ten: \"EPCP\",\r\n\t\t\t\tit: \"EPCP\",\r\n\t\t\t\tes: \"EPCP\",\r\n\t\t\t\tfr: \"EPCP\",\r\n\t\t\t},\r\n\t\t\trepsMax: {\r\n\t\t\t\ten: \"repsMax\",\r\n\t\t\t\tit: \"repsMax\",\r\n\t\t\t\tes: \"repsMax\",\r\n\t\t\t\tfr: \"repsMax\",\r\n\t\t\t},\r\n\t\t\treps: {\r\n\t\t\t\ten: \"Number of Exercises\",\r\n\t\t\t\tit: \"Numero Esercizi\",\r\n\t\t\t\tes: \"Numero de Ejercicios\",\r\n\t\t\t\tfr: \"Nombre d'Exercices\",\r\n\t\t\t},\r\n\t\t\tshared: {\r\n\t\t\t\ten: \"Shared\",\r\n\t\t\t\tit: \"Condivisi\",\r\n\t\t\t\tes: \"Shared\",\r\n\t\t\t\tfr: \"Shared\",\r\n\t\t\t},\r\n\t\t\t\"no-exercise-selected\": {\r\n\t\t\t\ten: \"No exercise selected\",\r\n\t\t\t\tit: \"Nessun Esercizio Selezionato\",\r\n\t\t\t\tes: \"Ningรบn Ejercicio Seleccionado\",\r\n\t\t\t\tfr: \"Aucun Exercice Sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t\t\"edit-group\": {\r\n\t\t\t\ten: \"Edit Group\",\r\n\t\t\t\tit: \"Modifica Gruppo\",\r\n\t\t\t\tes: \"Editar Grupo\",\r\n\t\t\t\tfr: \"Modifier Groupe\",\r\n\t\t\t},\r\n\t\t\t\"add-new-timer\": {\r\n\t\t\t\ten: \"Add New Timer\",\r\n\t\t\t\tit: \"Aggiungi Nuovo Timer\",\r\n\t\t\t\tes: \"Add New Timer\",\r\n\t\t\t\tfr: \"Add New Timer\",\r\n\t\t\t},\r\n\t\t\t\"choose-exercise\": {\r\n\t\t\t\ten: \"Choose Exercise\",\r\n\t\t\t\tit: \"Scegli Esercizio\",\r\n\t\t\t\tes: \"Elige Ejercicio\",\r\n\t\t\t\tfr: \"Choisissez Exercice\",\r\n\t\t\t},\r\n\t\t\t\"add-exercise\": {\r\n\t\t\t\ten: \"Add Exercise\",\r\n\t\t\t\tit: \"Aggiungi Esercizio\",\r\n\t\t\t\tes: \"Aรฑadir Ejercicio\",\r\n\t\t\t\tfr: \"Ajouter Exercice\",\r\n\t\t\t},\r\n\t\t\t\"add-set\": {\r\n\t\t\t\ten: \"Add Set\",\r\n\t\t\t\tit: \"Aggiungi Set\",\r\n\t\t\t\tes: \"Aรฑadir Set\",\r\n\t\t\t\tfr: \"Ajouter Set\",\r\n\t\t\t},\r\n\t\t\t\"show-fields\": {\r\n\t\t\t\ten: \"Show Fields\",\r\n\t\t\t\tit: \"Mostra Campi\",\r\n\t\t\t\tes: \"Mostrar Campos\",\r\n\t\t\t\tfr: \"Afficher les Champs\",\r\n\t\t\t},\r\n\t\t\t\"add-rest\": {\r\n\t\t\t\ten: \"Add Rest\",\r\n\t\t\t\tit: \"Aggiungi Pausa\",\r\n\t\t\t\tes: \"Aรฑadir Descanso\",\r\n\t\t\t\tfr: \"Ajouter Repos\",\r\n\t\t\t},\r\n\t\t\t\"sheet-intensity\": {\r\n\t\t\t\ten: \"Intensity\",\r\n\t\t\t\tit: \"Intensitร \",\r\n\t\t\t\tes: \"Intensidad\",\r\n\t\t\t\tfr: \"Intensitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"free-group\": {\r\n\t\t\t\ten: \"Free\",\r\n\t\t\t\tit: \"Libero\",\r\n\t\t\t\tes: \"Libre\",\r\n\t\t\t\tfr: \"Libรฉrer\",\r\n\t\t\t},\r\n\t\t\tintensity: {\r\n\t\t\t\ten: \"Intensity\",\r\n\t\t\t\tit: \"Intensitร \",\r\n\t\t\t\tes: \"Intensidad\",\r\n\t\t\t\tfr: \"Intensitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"round-duration\": {\r\n\t\t\t\ten: \"Round Duration\",\r\n\t\t\t\tit: \"Durata Round\",\r\n\t\t\t\tes: \"Duraciรณn Ronda\",\r\n\t\t\t\tfr: \"Durรฉe Round\",\r\n\t\t\t},\r\n\t\t\t\"round-rest\": {\r\n\t\t\t\ten: \"Round Rest\",\r\n\t\t\t\tit: \"Pausa Round\",\r\n\t\t\t\tes: \"Descanso Ronda\",\r\n\t\t\t\tfr: \"Repos Manche\",\r\n\t\t\t},\r\n\t\t\t\"exercise-rest\": {\r\n\t\t\t\ten: \"Exercise Rest\",\r\n\t\t\t\tit: \"Pausa Esercizio\",\r\n\t\t\t\tes: \"Descanso Ejercicio\",\r\n\t\t\t\tfr: \"Repos Exercice\",\r\n\t\t\t},\r\n\t\t\trepetitions: {\r\n\t\t\t\ten: \"Repetitions\",\r\n\t\t\t\tit: \"Ripetizioni\",\r\n\t\t\t\tes: \"Repeticiones\",\r\n\t\t\t\tfr: \"Rรฉpรฉtitions\",\r\n\t\t\t},\r\n\t\t\t\"max-repetitions\": {\r\n\t\t\t\ten: \"Max Repetitions\",\r\n\t\t\t\tit: \"Max Ripetizioni\",\r\n\t\t\t\tes: \"Max Repeticiones\",\r\n\t\t\t\tfr: \"Max Rรฉpรฉtitions\",\r\n\t\t\t},\r\n\t\t\tweight: {\r\n\t\t\t\ten: \"Weight\",\r\n\t\t\t\tit: \"Peso\",\r\n\t\t\t\tes: \"Peso\",\r\n\t\t\t\tfr: \"Poids\",\r\n\t\t\t},\r\n\t\t\ttempo: {\r\n\t\t\t\ten: \"Tempo\",\r\n\t\t\t\tit: \"Tempo\",\r\n\t\t\t\tes: \"Tempo\",\r\n\t\t\t\tfr: \"Tempo\",\r\n\t\t\t},\r\n\t\t\tsuperset: {\r\n\t\t\t\ten: \"Superset\",\r\n\t\t\t\tit: \"Superset\",\r\n\t\t\t\tes: \"Superset\",\r\n\t\t\t\tfr: \"Superset\",\r\n\t\t\t},\r\n\t\t\tSuperset: {\r\n\t\t\t\ten: \"Superset\",\r\n\t\t\t\tit: \"Superset\",\r\n\t\t\t\tes: \"Superset\",\r\n\t\t\t\tfr: \"Superset\",\r\n\t\t\t},\r\n\t\t\tAFAP: {\r\n\t\t\t\ten: \"AFAP\",\r\n\t\t\t\tit: \"AFAP\",\r\n\t\t\t\tes: \"AFAP\",\r\n\t\t\t\tfr: \"AFAP\",\r\n\t\t\t},\r\n\t\t\tEMOM: {\r\n\t\t\t\ten: \"EMOM\",\r\n\t\t\t\tit: \"EMOM\",\r\n\t\t\t\tes: \"EMOM\",\r\n\t\t\t\tfr: \"EMOM\",\r\n\t\t\t},\r\n\t\t\tAMRAP: {\r\n\t\t\t\ten: \"AMRAP\",\r\n\t\t\t\tit: \"AMRAP\",\r\n\t\t\t\tes: \"AMRAP\",\r\n\t\t\t\tfr: \"AMRAP\",\r\n\t\t\t},\r\n\t\t\tInterval: {\r\n\t\t\t\ten: \"Interval Training\",\r\n\t\t\t\tit: \"Interval Training\",\r\n\t\t\t\tes: \"Interval Training\",\r\n\t\t\t\tfr: \"Interval Training\",\r\n\t\t\t},\r\n\t\t\test: {\r\n\t\t\t\ten: \"est.\",\r\n\t\t\t\tit: \"est.\",\r\n\t\t\t\tes: \"est.\",\r\n\t\t\t\tfr: \"est.\",\r\n\t\t\t},\r\n\t\t\t\"rest-must-be-greater-than-0\": {\r\n\t\t\t\ten: \"Rest must be greater than 0.\",\r\n\t\t\t\tit: \"La pausa deve essere maggiore di 0.\",\r\n\t\t\t\tes: \"La pausa debe ser mayor que 0.\",\r\n\t\t\t\tfr: \"La pause doit รชtre supรฉrieure ร  0.\",\r\n\t\t\t},\r\n\t\t\t\"duration-must-be-greater-than-0\": {\r\n\t\t\t\ten: \"Duration must be greater than 0.\",\r\n\t\t\t\tit: \"La durata deve essere maggiore di 0.\",\r\n\t\t\t\tes: \"La duraciรณn debe ser mayor que 0.\",\r\n\t\t\t\tfr: \"La durรฉe doit รชtre supรฉrieure ร  0.\",\r\n\t\t\t},\r\n\t\t\t\"exercise-cannot-contains-only-rest\": {\r\n\t\t\t\ten: \"An exercise cannot contain only rests.\",\r\n\t\t\t\tit: \"Un esercizio non puรฒ contenere solo pause.\",\r\n\t\t\t\tes: \"Un ejercicio no puede contener solo silencios.\",\r\n\t\t\t\tfr: \"Un exercice ne peut pas contenir que des descansos.\",\r\n\t\t\t},\r\n\t\t\t\"export-workout\": {\r\n\t\t\t\ten: \"Export Workout\",\r\n\t\t\t\tit: \"Esporta Scheda\",\r\n\t\t\t\tes: \"Exportar Entrenamiento\",\r\n\t\t\t\tfr: \"Exporter l'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"clone-to-personal\": {\r\n\t\t\t\ten: \"Clone to personal\",\r\n\t\t\t\tit: \"Clona come personale\",\r\n\t\t\t\tes: \"Clone to personal\",\r\n\t\t\t\tfr: \"Clone to personal\",\r\n\t\t\t},\r\n\t\t\t\"choose-athletes\": {\r\n\t\t\t\ten: \"Choose Athletes\",\r\n\t\t\t\tit: \"Seleziona Atleti\",\r\n\t\t\t\tes: \"Elegir Atletas\",\r\n\t\t\t\tfr: \"Choisir Athlรจtes\",\r\n\t\t\t},\r\n\t\t\t\"create-as-template\": {\r\n\t\t\t\ten: \"Create as template\",\r\n\t\t\t\tit: \"Crea come template\",\r\n\t\t\t\tes: \"Create as template\",\r\n\t\t\t\tfr: \"Create as template\",\r\n\t\t\t},\r\n\t\t\t\"interval-training\": {\r\n\t\t\t\ten: \"Interval Training\",\r\n\t\t\t\tit: \"Interval Training\",\r\n\t\t\t\tes: \"Interval Training\",\r\n\t\t\t\tfr: \"Interval Training\",\r\n\t\t\t},\r\n\t\t\t\"expand-series\": {\r\n\t\t\t\ten: \"Expand Sets\",\r\n\t\t\t\tit: \"Espandi Sets\",\r\n\t\t\t\tes: \"Expandir Sets\",\r\n\t\t\t\tfr: \"Expand Sets\",\r\n\t\t\t},\r\n\t\t\t\"collapse-series\": {\r\n\t\t\t\ten: \"Collapse Sets\",\r\n\t\t\t\tit: \"Comprimi Sets\",\r\n\t\t\t\tes: \"Comprimir Sets\",\r\n\t\t\t\tfr: \"Compresse Sets\",\r\n\t\t\t},\r\n\t\t\t\"expand\": {\r\n\t\t\t\ten: \"Expand\",\r\n\t\t\t\tit: \"Espandi\",\r\n\t\t\t\tes: \"Expandir\",\r\n\t\t\t\tfr: \"Expand\",\r\n\t\t\t},\r\n\t\t\t\"collapse\": {\r\n\t\t\t\ten: \"Collapse\",\r\n\t\t\t\tit: \"Comprimi\",\r\n\t\t\t\tes: \"Comprimir\",\r\n\t\t\t\tfr: \"Compresse\",\r\n\t\t\t},\r\n\t\t\t\"defaults\": {\r\n\t\t\t\ten: \"Defaults\",\r\n\t\t\t\tit: \"Defaults\",\r\n\t\t\t\tes: \"Defaults\",\r\n\t\t\t\tfr: \"Defaults\",\r\n\t\t\t},\r\n\t\t\t\"workout-definitions\": {\r\n\t\t\t\ten: \"Workout Definitions\",\r\n\t\t\t\tit: \"Definizioni Allenamento\",\r\n\t\t\t\tes: \"Definiciones Entrenamiento\",\r\n\t\t\t\tfr: \"Dรฉfinitions Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"exercise-library\": {\r\n\t\t\t\ten: \"Exercise Library\",\r\n\t\t\t\tit: \"Libreria di Esercizi\",\r\n\t\t\t\tes: \"Biblioteca de Ejercicios\",\r\n\t\t\t\tfr: \"Bibliothรจque d'Exercices\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-editor-exercise-library\": {\r\n\t\t\t\ten: \"Exercise Library (EDITOR)\",\r\n\t\t\t\tit: \"Libreria di Esercizi (EDITOR)\",\r\n\t\t\t\tes: \"Biblioteca de Ejercicios (EDITOR)\",\r\n\t\t\t\tfr: \"Bibliothรจque d'Exercices (EDITOR)\",\r\n\t\t\t},\r\n\t\t\t\"exercise-duration\": {\r\n\t\t\t\ten: \"Exercise Duration\",\r\n\t\t\t\tit: \"Durata Esercizio\",\r\n\t\t\t\tes: \"Duraciรณn Ejercicio\",\r\n\t\t\t\tfr: \"Durรฉe Exercice\",\r\n\t\t\t},\r\n\t\t\t\"create-group\": {\r\n\t\t\t\ten: \"Create Group\",\r\n\t\t\t\tit: \"Crea Gruppo\",\r\n\t\t\t\tes: \"Crea Grupo\",\r\n\t\t\t\tfr: \"Crรฉer Groupe\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Abductors\": {\r\n\t\t\t\ten: \"Abductors\",\r\n\t\t\t\tit: \"Abduttori\",\r\n\t\t\t\tes: \"Abductores\",\r\n\t\t\t\tfr: \"Abducteurs\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Abs\": {\r\n\t\t\t\ten: \"Abs\",\r\n\t\t\t\tit: \"Addominali\",\r\n\t\t\t\tes: \"Abdominales\",\r\n\t\t\t\tfr: \"Abdos\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Adductors\": {\r\n\t\t\t\ten: \"Adductors\",\r\n\t\t\t\tit: \"Adduttori\",\r\n\t\t\t\tes: \"Aductores\",\r\n\t\t\t\tfr: \"Adducteurs\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-BackLower\": {\r\n\t\t\t\ten: \"Lower Back\",\r\n\t\t\t\tit: \"Schiena Bassa\",\r\n\t\t\t\tes: \"Espalda Baja\",\r\n\t\t\t\tfr: \"Bas du dos\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-BackMiddle\": {\r\n\t\t\t\ten: \"Middle Back\",\r\n\t\t\t\tit: \"Schiena Media\",\r\n\t\t\t\tes: \"Espalda Media\",\r\n\t\t\t\tfr: \"Milieu du dos\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Bicep\": {\r\n\t\t\t\ten: \"Biceps\",\r\n\t\t\t\tit: \"Bicipiti\",\r\n\t\t\t\tes: \"Bรญceps\",\r\n\t\t\t\tfr: \"Biceps\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Calves\": {\r\n\t\t\t\ten: \"Calves\",\r\n\t\t\t\tit: \"Polpacci\",\r\n\t\t\t\tes: \"Gemelos\",\r\n\t\t\t\tfr: \"Mollets\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Chest\": {\r\n\t\t\t\ten: \"Chest\",\r\n\t\t\t\tit: \"Pettorali\",\r\n\t\t\t\tes: \"Pecho\",\r\n\t\t\t\tfr: \"Poitrine\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Forearms\": {\r\n\t\t\t\ten: \"Forearms\",\r\n\t\t\t\tit: \"Avambracci\",\r\n\t\t\t\tes: \"Antebrazos\",\r\n\t\t\t\tfr: \"Avant-bras\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Glutes\": {\r\n\t\t\t\ten: \"Glutes\",\r\n\t\t\t\tit: \"Glutei\",\r\n\t\t\t\tes: \"Glรบteos\",\r\n\t\t\t\tfr: \"Fessiers\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Hamstrings\": {\r\n\t\t\t\ten: \"Hamstrings\",\r\n\t\t\t\tit: \"Ischiocrurali\",\r\n\t\t\t\tes: \"Isquiotibiales\",\r\n\t\t\t\tfr: \"Ischio-jambiers\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Lats\": {\r\n\t\t\t\ten: \"Lats\",\r\n\t\t\t\tit: \"Dorsali\",\r\n\t\t\t\tes: \"Dorsales\",\r\n\t\t\t\tfr: \"Dorsaux\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Neck\": {\r\n\t\t\t\ten: \"Neck\",\r\n\t\t\t\tit: \"Collo\",\r\n\t\t\t\tes: \"Cuello\",\r\n\t\t\t\tfr: \"Cou\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Obliques\": {\r\n\t\t\t\ten: \"Obliques\",\r\n\t\t\t\tit: \"Addominali Obliqui\",\r\n\t\t\t\tes: \"Oblicuos\",\r\n\t\t\t\tfr: \"Obliques\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Quads\": {\r\n\t\t\t\ten: \"Quads\",\r\n\t\t\t\tit: \"Quadricipiti\",\r\n\t\t\t\tes: \"Cuรกdriceps\",\r\n\t\t\t\tfr: \"Quadriceps\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Shoulder\": {\r\n\t\t\t\ten: \"Shoulders\",\r\n\t\t\t\tit: \"Spalle\",\r\n\t\t\t\tes: \"Hombros\",\r\n\t\t\t\tfr: \"ร‰paule\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Traps\": {\r\n\t\t\t\ten: \"Traps\",\r\n\t\t\t\tit: \"Trapezi\",\r\n\t\t\t\tes: \"Trapecios\",\r\n\t\t\t\tfr: \"Trapรจzes\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Triceps\": {\r\n\t\t\t\ten: \"Triceps\",\r\n\t\t\t\tit: \"Tricipiti\",\r\n\t\t\t\tes: \"Trรญceps\",\r\n\t\t\t\tfr: \"Triceps\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Hips\": {\r\n\t\t\t\ten: \"Hip flexors\",\r\n\t\t\t\tit: \"Flessori dell'anca\",\r\n\t\t\t\tes: \"Hip flexors\",\r\n\t\t\t\tfr: \"Hip flexors\",\r\n\t\t\t},\r\n\t\t\t\"MainMuscle-Rhomboids\": {\r\n\t\t\t\ten: \"Rhomboids\",\r\n\t\t\t\tit: \"Romboidi\",\r\n\t\t\t\tes: \"Romboides\",\r\n\t\t\t\tfr: \"Rhomboรฏdes\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Abductors\": {\r\n\t\t\t\ten: \"Abductors\",\r\n\t\t\t\tit: \"Abduttori\",\r\n\t\t\t\tes: \"Abductores\",\r\n\t\t\t\tfr: \"Abducteurs\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Abs\": {\r\n\t\t\t\ten: \"Abs\",\r\n\t\t\t\tit: \"Addominali\",\r\n\t\t\t\tes: \"Abdominales\",\r\n\t\t\t\tfr: \"Abdos\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Adductors\": {\r\n\t\t\t\ten: \"Adductors\",\r\n\t\t\t\tit: \"Adduttori\",\r\n\t\t\t\tes: \"Aductores\",\r\n\t\t\t\tfr: \"Adducteurs\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-BackLower\": {\r\n\t\t\t\ten: \"Lower Back\",\r\n\t\t\t\tit: \"Schiena Bassa\",\r\n\t\t\t\tes: \"Espalda Baja\",\r\n\t\t\t\tfr: \"Bas du dos\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-BackMiddle\": {\r\n\t\t\t\ten: \"Middle Back\",\r\n\t\t\t\tit: \"Schiena Media\",\r\n\t\t\t\tes: \"Espalda Media\",\r\n\t\t\t\tfr: \"Milieu du dos\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Bicep\": {\r\n\t\t\t\ten: \"Biceps\",\r\n\t\t\t\tit: \"Bicipiti\",\r\n\t\t\t\tes: \"Bรญceps\",\r\n\t\t\t\tfr: \"Biceps\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Calves\": {\r\n\t\t\t\ten: \"Calves\",\r\n\t\t\t\tit: \"Polpacci\",\r\n\t\t\t\tes: \"Gemelos\",\r\n\t\t\t\tfr: \"Mollets\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Chest\": {\r\n\t\t\t\ten: \"Chest\",\r\n\t\t\t\tit: \"Pettorali\",\r\n\t\t\t\tes: \"Pecho\",\r\n\t\t\t\tfr: \"Poitrine\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Forearms\": {\r\n\t\t\t\ten: \"Forearms\",\r\n\t\t\t\tit: \"Avambracci\",\r\n\t\t\t\tes: \"Antebrazos\",\r\n\t\t\t\tfr: \"Avant-bras\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Glutes\": {\r\n\t\t\t\ten: \"Glutes\",\r\n\t\t\t\tit: \"Glutei\",\r\n\t\t\t\tes: \"Glรบteos\",\r\n\t\t\t\tfr: \"Fessiers\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Hamstrings\": {\r\n\t\t\t\ten: \"Hamstrings\",\r\n\t\t\t\tit: \"Ischiocrurali\",\r\n\t\t\t\tes: \"Isquiotibiales\",\r\n\t\t\t\tfr: \"Ischio-jambiers\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Lats\": {\r\n\t\t\t\ten: \"Lats\",\r\n\t\t\t\tit: \"Dorsali\",\r\n\t\t\t\tes: \"Dorsales\",\r\n\t\t\t\tfr: \"Dorsaux\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Neck\": {\r\n\t\t\t\ten: \"Neck\",\r\n\t\t\t\tit: \"Collo\",\r\n\t\t\t\tes: \"Cuello\",\r\n\t\t\t\tfr: \"Cou\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Obliques\": {\r\n\t\t\t\ten: \"Obliques\",\r\n\t\t\t\tit: \"Addominali Obliqui\",\r\n\t\t\t\tes: \"Oblicuos\",\r\n\t\t\t\tfr: \"Obliques\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Quads\": {\r\n\t\t\t\ten: \"Quads\",\r\n\t\t\t\tit: \"Quadricipiti\",\r\n\t\t\t\tes: \"Cuรกdriceps\",\r\n\t\t\t\tfr: \"Quadriceps\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Shoulder\": {\r\n\t\t\t\ten: \"Shoulders\",\r\n\t\t\t\tit: \"Spalle\",\r\n\t\t\t\tes: \"Hombros\",\r\n\t\t\t\tfr: \"ร‰paule\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Traps\": {\r\n\t\t\t\ten: \"Traps\",\r\n\t\t\t\tit: \"Trapezi\",\r\n\t\t\t\tes: \"Trapecios\",\r\n\t\t\t\tfr: \"Trapรจzes\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Triceps\": {\r\n\t\t\t\ten: \"Triceps\",\r\n\t\t\t\tit: \"Tricipiti\",\r\n\t\t\t\tes: \"Trรญceps\",\r\n\t\t\t\tfr: \"Triceps\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Hips\": {\r\n\t\t\t\ten: \"Hip flexors\",\r\n\t\t\t\tit: \"Flessori dell'anca\",\r\n\t\t\t\tes: \"Hip flexors\",\r\n\t\t\t\tfr: \"Hip flexors\",\r\n\t\t\t},\r\n\t\t\t\"Muscle-Rhomboids\": {\r\n\t\t\t\ten: \"Rhomboids\",\r\n\t\t\t\tit: \"Romboidi\",\r\n\t\t\t\tes: \"Romboides\",\r\n\t\t\t\tfr: \"Rhomboรฏdes\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-BalanceBoard\": {\r\n\t\t\t\ten: \"Balance board\",\r\n\t\t\t\tit: \"Tavoletta propriocettiva\",\r\n\t\t\t\tes: \"Plato de freeman\",\r\n\t\t\t\tfr: \"Tableau d'รฉquilibre\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-HandleBands\": {\r\n\t\t\t\ten: \"Handle bands\",\r\n\t\t\t\tit: \"Elastici con maniglie\",\r\n\t\t\t\tes: \"Elรกsticos con asas\",\r\n\t\t\t\tfr: \"Bande รฉlastique avec poignรฉess\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-LoopBands\": {\r\n\t\t\t\ten: \"Loop bands \",\r\n\t\t\t\tit: \"Fasce elastiche\",\r\n\t\t\t\tes: \"Bandas elรกsticas\",\r\n\t\t\t\tfr: \"ร‰lastiques\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Barbell\": {\r\n\t\t\t\ten: \"Barbell\",\r\n\t\t\t\tit: \"Bilanciere\",\r\n\t\t\t\tes: \"Barra\",\r\n\t\t\t\tfr: \"Barre de musculation\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-BattleRopes\": {\r\n\t\t\t\ten: \"Battle ropes\",\r\n\t\t\t\tit: \"Battle ropes\",\r\n\t\t\t\tes: \"Battle ropes\",\r\n\t\t\t\tfr: \"Battle ropes\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Bench\": {\r\n\t\t\t\ten: \"Bench\",\r\n\t\t\t\tit: \"Panca\",\r\n\t\t\t\tes: \"Banco\",\r\n\t\t\t\tfr: \"Banc\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-BodyWeight\": {\r\n\t\t\t\ten: \"Bodyweight\",\r\n\t\t\t\tit: \"Corpo libero\",\r\n\t\t\t\tes: \"Cuerpo libre\",\r\n\t\t\t\tfr: \"Poids du corps\",\r\n\t\t\t},\r\n\t\t\tFunctional: {\r\n\t\t\t\ten: \"Functional\",\r\n\t\t\t\tit: \"Functional\",\r\n\t\t\t\tes: \"Functional\",\r\n\t\t\t\tfr: \"Functional\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-BOSU\": {\r\n\t\t\t\ten: \"BOSU\",\r\n\t\t\t\tit: \"BOSU\",\r\n\t\t\t\tes: \"BOSU\",\r\n\t\t\t\tfr: \"BOSU\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-PlyoBox\": {\r\n\t\t\t\ten: \"Plyo box\",\r\n\t\t\t\tit: \"Plyo box\",\r\n\t\t\t\tes: \"Plyo box\",\r\n\t\t\t\tfr: \"Plyo box\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Dumbbell\": {\r\n\t\t\t\ten: \"Dumbbell\",\r\n\t\t\t\tit: \"Manubrio\",\r\n\t\t\t\tes: \"Mancuerna\",\r\n\t\t\t\tfr: \"Haltรจre\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-FoamRoller\": {\r\n\t\t\t\ten: \"Foam roller\",\r\n\t\t\t\tit: \"Foam roller\",\r\n\t\t\t\tes: \"Foam roller\",\r\n\t\t\t\tfr: \"Foam roller\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-PilatesRoller\": {\r\n\t\t\t\ten: \"Pilates roller\",\r\n\t\t\t\tit: \"Pilates roller\",\r\n\t\t\t\tes: \"Pilates roller\",\r\n\t\t\t\tfr: \"Pilates roller\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-PilatesRing\": {\r\n\t\t\t\ten: \"Pilates ring\",\r\n\t\t\t\tit: \"Pilates ring\",\r\n\t\t\t\tes: \"Aro de Pilates\",\r\n\t\t\t\tfr: \"Pilates ring\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-JumpRope\": {\r\n\t\t\t\ten: \"Jump rope\",\r\n\t\t\t\tit: \"Corda per saltare\",\r\n\t\t\t\tes: \"Cuerda para saltar\",\r\n\t\t\t\tfr: \"Corde ร  sauter\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Kettlebell\": {\r\n\t\t\t\ten: \"Kettlebell\",\r\n\t\t\t\tit: \"Kettlebell\",\r\n\t\t\t\tes: \"Pesas rusas\",\r\n\t\t\t\tfr: \"Kettlebell\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-LacrosseBall\": {\r\n\t\t\t\ten: \"Lacrosse ball\",\r\n\t\t\t\tit: \"Palla da lacrosse\",\r\n\t\t\t\tes: \"Pelota de lacrosse\",\r\n\t\t\t\tfr: \"Balle de lacrosse\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Landmine\": {\r\n\t\t\t\ten: \"Landmine\",\r\n\t\t\t\tit: \"Landmine\",\r\n\t\t\t\tes: \"Landmine\",\r\n\t\t\t\tfr: \"Landmine\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Strength\": {\r\n\t\t\t\ten: \"Strength equipments\",\r\n\t\t\t\tit: \"Strength equipments\",\r\n\t\t\t\tes: \"Strength equipments\",\r\n\t\t\t\tfr: \"Strength equipments\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Cardio\": {\r\n\t\t\t\ten: \"Cardio equipments\",\r\n\t\t\t\tit: \"Cardio equipments\",\r\n\t\t\t\tes: \"Cardio equipments\",\r\n\t\t\t\tfr: \"Cardio equipments\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Mat\": {\r\n\t\t\t\ten: \"Mat\",\r\n\t\t\t\tit: \"Tappetino\",\r\n\t\t\t\tes: \"Colchoneta\",\r\n\t\t\t\tfr: \"Tapis\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Boxing\": {\r\n\t\t\t\ten: \"Boxing\",\r\n\t\t\t\tit: \"Boxing\",\r\n\t\t\t\tes: \"Boxing\",\r\n\t\t\t\tfr: \"Boxing\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-MedicineBall\": {\r\n\t\t\t\ten: \"Medicine ball\",\r\n\t\t\t\tit: \"Palla medica\",\r\n\t\t\t\tes: \"Pelota medicinal\",\r\n\t\t\t\tfr: \"Medicine ball\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-MiniBand\": {\r\n\t\t\t\ten: \"Mini band\",\r\n\t\t\t\tit: \"Mini band\",\r\n\t\t\t\tes: \"Mini band\",\r\n\t\t\t\tfr: \"Mini bande รฉlastique\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Plate\": {\r\n\t\t\t\ten: \"Plate\",\r\n\t\t\t\tit: \"Piastra\",\r\n\t\t\t\tes: \"Disco\",\r\n\t\t\t\tfr: \"Disque\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-PullUpBar\": {\r\n\t\t\t\ten: \"Pull up bar\",\r\n\t\t\t\tit: \"Sbarra per trazioni\",\r\n\t\t\t\tes: \"Barra de dominadas\",\r\n\t\t\t\tfr: \"Barre de traction\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Sandbag\": {\r\n\t\t\t\ten: \"Sandbag\",\r\n\t\t\t\tit: \"Sandbag\",\r\n\t\t\t\tes: \"Sandbag\",\r\n\t\t\t\tfr: \"Sandbag\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-SlamBall\": {\r\n\t\t\t\ten: \"Slam ball\",\r\n\t\t\t\tit: \"Slam ball\",\r\n\t\t\t\tes: \"Slam ball\",\r\n\t\t\t\tfr: \"Slam ball\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Sled\": {\r\n\t\t\t\ten: \"Sled\",\r\n\t\t\t\tit: \"Slitta\",\r\n\t\t\t\tes: \"Trineo\",\r\n\t\t\t\tfr: \"Traรฎneau\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Sliders\": {\r\n\t\t\t\ten: \"Sliders\",\r\n\t\t\t\tit: \"Sliders\",\r\n\t\t\t\tes: \"Discos deslizantes\",\r\n\t\t\t\tfr: \"Sliders\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-SuspensionTrainer\": {\r\n\t\t\t\ten: \"Suspension trainer\",\r\n\t\t\t\tit: \"Suspension trainer\",\r\n\t\t\t\tes: \"Suspension trainer\",\r\n\t\t\t\tfr: \"Suspension trainer\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-SwissBall\": {\r\n\t\t\t\ten: \"Swiss ball\",\r\n\t\t\t\tit: \"Swiss ball\",\r\n\t\t\t\tes: \"Fit ball\",\r\n\t\t\t\tfr: \"Swiss ball\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Clubbell\": {\r\n\t\t\t\ten: \"Clubbell\",\r\n\t\t\t\tit: \"Clubbell\",\r\n\t\t\t\tes: \"Clubbell\",\r\n\t\t\t\tfr: \"Clubbell\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-TGEEncompass\": {\r\n\t\t\t\ten: \"Total Gym Encompassโ„ข\",\r\n\t\t\t\tit: \"Total Gym Encompassโ„ข\",\r\n\t\t\t\tes: \"Total Gym Encompassโ„ข\",\r\n\t\t\t\tfr: \"Total Gym Encompassโ„ข\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-PosturalBench\": {\r\n\t\t\t\ten: \"Postural Bench\",\r\n\t\t\t\tit: \"Panca Posturale\",\r\n\t\t\t\tes: \"Banco Postural\",\r\n\t\t\t\tfr: \"Banc Postural\"\r\n\t\t\t},\r\n\t\t\t\"Equipment-Blast\": {\r\n\t\t\t\ten: \"Blast\",\r\n\t\t\t\tit: \"Blast\",\r\n\t\t\t\tes: \"Blast\",\r\n\t\t\t\tfr: \"Blast\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-Reformer\": {\r\n\t\t\t\ten: \"Reformer\",\r\n\t\t\t\tit: \"Reformer\",\r\n\t\t\t\tes: \"Reformer\",\r\n\t\t\t\tfr: \"Reformer\",\r\n\t\t\t},\r\n\t\t\t\"Equipment-EVOWorkstation\": {\r\n\t\t\t\ten: \"EVO Workstation\",\r\n\t\t\t\tit: \"EVO Workstation\",\r\n\t\t\t\tes: \"EVO Workstation\",\r\n\t\t\t\tfr: \"EVO Workstation\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Cardio\": {\r\n\t\t\t\ten: \"Cardio\",\r\n\t\t\t\tit: \"Cardio\",\r\n\t\t\t\tes: \"Cardio\",\r\n\t\t\t\tfr: \"Cardio\",\r\n\t\t\t},\r\n\t\t\t\"Activity-BodyWeight\": {\r\n\t\t\t\ten: \"Body weight\",\r\n\t\t\t\tit: \"Corpo libero\",\r\n\t\t\t\tes: \"Cuerpo libre\",\r\n\t\t\t\tfr: \"Poids du corps\",\r\n\t\t\t},\r\n\t\t\t\"Activity-YogaPilates\": {\r\n\t\t\t\ten: \"Yoga/Pilates\",\r\n\t\t\t\tit: \"Yoga/Pilates\",\r\n\t\t\t\tes: \"Yoga/Pilates\",\r\n\t\t\t\tfr: \"Yoga/Pilates\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Functional\": {\r\n\t\t\t\ten: \"Functional\",\r\n\t\t\t\tit: \"Functional\",\r\n\t\t\t\tes: \"Functional\",\r\n\t\t\t\tfr: \"Functional\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Stretching\": {\r\n\t\t\t\ten: \"Stretching\",\r\n\t\t\t\tit: \"Stretching\",\r\n\t\t\t\tes: \"Stretching\",\r\n\t\t\t\tfr: \"Stretching\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Mobility\": {\r\n\t\t\t\ten: \"Mobility\",\r\n\t\t\t\tit: \"Mobility\",\r\n\t\t\t\tes: \"Mobility\",\r\n\t\t\t\tfr: \"Mobility\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Combat\": {\r\n\t\t\t\ten: \"Combat\",\r\n\t\t\t\tit: \"Combat\",\r\n\t\t\t\tes: \"Combat\",\r\n\t\t\t\tfr: \"Combat\",\r\n\t\t\t},\r\n\t\t\t\"Activity-Strengthening\": {\r\n\t\t\t\ten: \"Strengthening\",\r\n\t\t\t\tit: \"Strengthening\",\r\n\t\t\t\tes: \"Strengthening\",\r\n\t\t\t\tfr: \"Strengthening\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Stretching\": {\r\n\t\t\t\ten: \"Stretching\",\r\n\t\t\t\tit: \"Stretching\",\r\n\t\t\t\tes: \"Stretching\",\r\n\t\t\t\tfr: \"รˆtirement\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Strengthening\": {\r\n\t\t\t\ten: \"Strengthening\",\r\n\t\t\t\tit: \"Forza\",\r\n\t\t\t\tes: \"Fuerza\",\r\n\t\t\t\tfr: \"Musculation\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Mobility\": {\r\n\t\t\t\ten: \"Mobility\",\r\n\t\t\t\tit: \"Mobilitร \",\r\n\t\t\t\tes: \"Movilidad\",\r\n\t\t\t\tfr: \"Mobilisation\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Cardio\": {\r\n\t\t\t\ten: \"Cardio\",\r\n\t\t\t\tit: \"Cardio\",\r\n\t\t\t\tes: \"Cardio\",\r\n\t\t\t\tfr: \"Cardio\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Combat\": {\r\n\t\t\t\ten: \"Combat\",\r\n\t\t\t\tit: \"Combat\",\r\n\t\t\t\tes: \"Combat\",\r\n\t\t\t\tfr: \"Combat\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-YogaPilates\": {\r\n\t\t\t\ten: \"Yoga/Pilates\",\r\n\t\t\t\tit: \"Yoga/Pilates\",\r\n\t\t\t\tes: \"Yoga/Pilates\",\r\n\t\t\t\tfr: \"Yoga/Pilates\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-BodyWeight\": {\r\n\t\t\t\ten: \"Bodyweight\",\r\n\t\t\t\tit: \"Corpo libero\",\r\n\t\t\t\tes: \"Peso Corporal\",\r\n\t\t\t\tfr: \"Corps Libre\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-CrossTraining\": {\r\n\t\t\t\ten: \"Cross Training\",\r\n\t\t\t\tit: \"Cross Training\",\r\n\t\t\t\tes: \"Cross Training\",\r\n\t\t\t\tfr: \"Cross Training\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-BackSchool\": {\r\n\t\t\t\ten: \"Back School\",\r\n\t\t\t\tit: \"Back School\",\r\n\t\t\t\tes: \"Escuela de la Espalda\",\r\n\t\t\t\tfr: \"Gym du Dos\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-BodyBuilding\": {\r\n\t\t\t\ten: \"Body Building\",\r\n\t\t\t\tit: \"Body Building\",\r\n\t\t\t\tes: \"Body Building\",\r\n\t\t\t\tfr: \"Body Building\",\r\n\t\t\t},\r\n\t\t\t\"Wkstag-Endurance\": {\r\n\t\t\t\ten: \"Endurance\",\r\n\t\t\t\tit: \"Endurance\",\r\n\t\t\t\tes: \"Resistencia\",\r\n\t\t\t\tfr: \"Endurance\",\r\n\t\t\t},\r\n\t\t\t\"wetag-Equipment\": {\r\n\t\t\t\ten: \"Equipment\",\r\n\t\t\t\tit: \"Attrezzatura\",\r\n\t\t\t\tes: \"Equipo\",\r\n\t\t\t\tfr: \"ร‰quipement\",\r\n\t\t\t},\r\n\t\t\t\"wetag-Activity\": {\r\n\t\t\t\ten: \"Activity\",\r\n\t\t\t\tit: \"Attivitร \",\r\n\t\t\t\tes: \"Actividad\",\r\n\t\t\t\tfr: \"Activitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"wetag-Brand\": {\r\n\t\t\t\ten: \"Brand\",\r\n\t\t\t\tit: \"Brand\",\r\n\t\t\t\tes: \"Brand\",\r\n\t\t\t\tfr: \"Brand\",\r\n\t\t\t},\r\n\t\t\t\"wetag-MainMuscle\": {\r\n\t\t\t\ten: \"Main Muscle\",\r\n\t\t\t\tit: \"Muscolo Principale\",\r\n\t\t\t\tes: \"Mรบsculo Principal\",\r\n\t\t\t\tfr: \"Muscle Principal\",\r\n\t\t\t},\r\n\t\t\t\"wetag-Muscle\": {\r\n\t\t\t\ten: \"Secondary Muscles\",\r\n\t\t\t\tit: \"Muscoli Secondari\",\r\n\t\t\t\tes: \"Mรบsculos secundarios\",\r\n\t\t\t\tfr: \"Muscles secondaires\",\r\n\t\t\t},\r\n\t\t\t\"Brand-Triform\": {\r\n\t\t\t\ten: \"Triform\",\r\n\t\t\t\tit: \"Triform\",\r\n\t\t\t\tes: \"Triform\",\r\n\t\t\t\tfr: \"Triform\",\r\n\t\t\t},\r\n\t\t\t\"Brand-TotalGym\": {\r\n\t\t\t\ten: \"TotalGym\",\r\n\t\t\t\tit: \"TotalGym\",\r\n\t\t\t\tes: \"TotalGym\",\r\n\t\t\t\tfr: \"TotalGym\",\r\n\t\t\t},\r\n\t\t\t\"Brand-WellBackSystem\": {\r\n\t\t\t\ten: \"WellBackSystem\",\r\n\t\t\t\tit: \"WellBackSystem\",\r\n\t\t\t\tes: \"WellBackSystem\",\r\n\t\t\t\tfr: \"WellBackSystem\",\r\n\t\t\t},\r\n\t\t\t\"Brand-Flowin\": {\r\n\t\t\t\ten: \"Flowin\",\r\n\t\t\t\tit: \"Flowin\",\r\n\t\t\t\tes: \"Flowin\",\r\n\t\t\t\tfr: \"Flowin\",\r\n\t\t\t},\r\n\t\t\t\"Brand-XeniosUSA\": {\r\n\t\t\t\ten: \"Xenios USA\",\r\n\t\t\t\tit: \"Xenios USA\",\r\n\t\t\t\tes: \"Xenios USA\",\r\n\t\t\t\tfr: \"Xenios USA\",\r\n\t\t\t},\r\n\t\t\t\"Brand-BlastJump\": {\r\n\t\t\t\ten: \"Blast Jump\",\r\n\t\t\t\tit: \"Blast Jump\",\r\n\t\t\t\tes: \"Blast Jump\",\r\n\t\t\t\tfr: \"Blast Jump\",\r\n\t\t\t},\r\n\t\t\t\"Brand-BodyExercisePilates\": {\r\n\t\t\t\ten: \"Body & Exercise Pilates\",\r\n\t\t\t\tit: \"Body & Exercise Pilates\",\r\n\t\t\t\tes: \"Body & Exercise Pilates\",\r\n\t\t\t\tfr: \"Body & Exercise Pilates\",\r\n\t\t\t},\r\n\t\t\tMuscles: {\r\n\t\t\t\ten: \"Muscles\",\r\n\t\t\t\tit: \"Muscoli\",\r\n\t\t\t\tes: \"Mรบsculos\",\r\n\t\t\t\tfr: \"Muscles\",\r\n\t\t\t},\r\n\t\t\tDefaults: {\r\n\t\t\t\ten: \"Defaults\",\r\n\t\t\t\tit: \"Defaults\",\r\n\t\t\t\tes: \"Defaults\",\r\n\t\t\t\tfr: \"Defaults\",\r\n\t\t\t},\r\n\t\t\tFront: {\r\n\t\t\t\ten: \"Front\",\r\n\t\t\t\tit: \"Frontale\",\r\n\t\t\t\tes: \"Frente\",\r\n\t\t\t\tfr: \"Avant\",\r\n\t\t\t},\r\n\t\t\tSide: {\r\n\t\t\t\ten: \"Side\",\r\n\t\t\t\tit: \"Lato\",\r\n\t\t\t\tes: \"Lado\",\r\n\t\t\t\tfr: \"Cรดtรฉ\",\r\n\t\t\t},\r\n\t\t\tThreeQuarters: {\r\n\t\t\t\ten: \"Three Quarters\",\r\n\t\t\t\tit: \"Tre Quarti\",\r\n\t\t\t\tes: \"Tres Cuartos\",\r\n\t\t\t\tfr: \"Trois Quarts\",\r\n\t\t\t},\r\n\t\t\tselected: {\r\n\t\t\t\ten: \"Selected\",\r\n\t\t\t\tit: \"Selezionati\",\r\n\t\t\t\tes: \"Seleccionado\",\r\n\t\t\t\tfr: \"Choisi\",\r\n\t\t\t},\r\n\t\t\tinterval: {\r\n\t\t\t\ten: \"Interval\",\r\n\t\t\t\tit: \"Interval\",\r\n\t\t\t\tes: \"Interval\",\r\n\t\t\t\tfr: \"Interval\",\r\n\t\t\t},\r\n\t\t\tregular: {\r\n\t\t\t\ten: \"Regular\",\r\n\t\t\t\tit: \"Regular\",\r\n\t\t\t\tes: \"Regular\",\r\n\t\t\t\tfr: \"Regular\",\r\n\t\t\t},\r\n\t\t\t\"create-workout\": {\r\n\t\t\t\ten: \"Create Workout\",\r\n\t\t\t\tit: \"Crea Scheda di Allenamento\",\r\n\t\t\t\tes: \"Crear Programa de Entrenamiento\",\r\n\t\t\t\tfr: \"Crรฉer Programme dโ€™Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"create-timer-workout\": {\r\n\t\t\t\ten: \"Create time-based workout. All exercises will be guided by duration.\",\r\n\t\t\t\tit: \"Crea una scheda a tempo. Tutti gli esercizi saranno guidati dalla durata.\",\r\n\t\t\t\tes: \"Crear un programa basado en el tiempo. Todos los ejercicios estarรกn guiados por la duraciรณn.\",\r\n\t\t\t\tfr: \"Crรฉez un programme basรฉ sur le temps. Tous les exercices seront guidรฉs par la durรฉe.\",\r\n\t\t\t},\r\n\t\t\t\"create-standard-workout\": {\r\n\t\t\t\ten: \"This workout can contain both time-based elements and standalone exercises.\",\r\n\t\t\t\tit: \"Questa scheda puรฒ contenere sia elementi basati sul tempo che esercizi autonomi.\",\r\n\t\t\t\tes: \"Este programa puede contener tanto elementos basados en el tiempo como ejercicios independientes.\",\r\n\t\t\t\tfr: \"Ce programme peut contenir ร  la fois des รฉlรฉments temporels et des exercices autonomes.\",\r\n\t\t\t},\r\n\t\t\t\"all-members\": {\r\n\t\t\t\ten: \"All members\",\r\n\t\t\t\tit: \"Tutti i membri\",\r\n\t\t\t\tes: \"Todos los miembros\",\r\n\t\t\t\tfr: \"Tous les membres\",\r\n\t\t\t},\r\n\t\t\t\"this-file-is-visible-to-all-club-members\": {\r\n\t\t\t\ten: \"This file is visible to all club members\",\r\n\t\t\t\tit: \"Questo file รจ visibile a tutti i membri del club\",\r\n\t\t\t\tes: \"Este archivo es visible para todos los miembros del club\",\r\n\t\t\t\tfr: \"Ce fichier est visible pour tous les membres du club\",\r\n\t\t\t},\r\n\t\t\t\"if-you-want-to-share-it-with-only-some-members-you-need-to-remove-visibility-to-all-club-members\": {\r\n\t\t\t\ten: \"If you want to share it with only some members, you need to remove visibility to all club members\",\r\n\t\t\t\tit: \"Se vuoi condividerlo solo con alcuni membri, devi rimuovere la visibilitร  a tutti i membri del club\",\r\n\t\t\t\tes: \"Si deseas compartirlo solo con algunos miembros, debes quitar la visibilidad a todos los miembros del club\",\r\n\t\t\t\tfr: \"Si vous voulez le partager avec certains membres, vous devez supprimer la visibilitรฉ pour tous les membres du club\",\r\n\t\t\t},\r\n\t\t\t\"make-the-selected-workout-visible-to-all-members\": {\r\n\t\t\t\ten: \"Make the selected workout visible to all members.\",\r\n\t\t\t\tit: \"Rendi visibile la scheda a tutti i membri del tuo Club.\",\r\n\t\t\t\tes: \"Haga que el programa seleccionado sea visible para todos los miembros.\",\r\n\t\t\t\tfr: \"Rendre le programme sรฉlectionnรฉ visible ร  tous les membres.\",\r\n\t\t\t},\r\n\t\t\t\"continuing-you-will-remove-all-shares-with-members\": {\r\n\t\t\t\ten: \"Continuing, you will remove all shares with members\",\r\n\t\t\t\tit: \"Continuando, rimuoverai tutte le condivisioni con i membri\",\r\n\t\t\t\tes: \"Continuando, eliminarรกs todas las comparticiones con los miembros\",\r\n\t\t\t\tfr: \"En continuant, vous supprimerez toutes les partages avec les membres\",\r\n\t\t\t},\r\n\t\t\t\"remove-visibility-to-all-members\": {\r\n\t\t\t\ten: \"Remove visibility to all club members.\",\r\n\t\t\t\tit: \"Rimuovi la visibilitร  a tutti i membri del club.\",\r\n\t\t\t\tes: \"Quitar visibilidad a todos los miembros del club.\",\r\n\t\t\t\tfr: \"Supprimer la visibilitรฉ pour tous les membres du club.\",\r\n\t\t\t},\r\n\t\t\t\"the-date-range-entered-cannot-include-the-week-you-are-copying\": {\r\n\t\t\t\ten: \"The date range entered cannot include the week you are copying.\",\r\n\t\t\t\tit: \"L'intervallo di date inserito non puรฒ includere la settimana che stai copiando.\",\r\n\t\t\t\tes: \"El rango de fechas ingresado no puede incluir la semana que estรก copiando\",\r\n\t\t\t\tfr: \"La plage de dates saisie ne peut pas inclure la semaine que vous copiez.\",\r\n\t\t\t},\r\n\t\t\t\"copy-week\": {\r\n\t\t\t\ten: \"Copy Week\",\r\n\t\t\t\tit: \"Copia Settimana\",\r\n\t\t\t\tes: \"Copiar Semana\",\r\n\t\t\t\tfr: \"Copier la Semaine\",\r\n\t\t\t},\r\n\t\t\t\"apply-this-schedule-to-the-interval\": {\r\n\t\t\t\ten: \"Apply this schedule to the interval:\",\r\n\t\t\t\tit: \"Applica questa programmazione all'intervallo:\",\r\n\t\t\t\tes: \"Aplicar este horario al intervalo:\",\r\n\t\t\t\tfr: \"Appliquer cette planification ร  l'intervalle:\",\r\n\t\t\t},\r\n\t\t\t\"you-are-unsharing-the-file-from\": {\r\n\t\t\t\ten: \"You are unsharing the file from\",\r\n\t\t\t\tit: \"Stai togliendo la condivisione del file a\",\r\n\t\t\t\tes: \"Estรกs dejando de compartir el archivo un\",\r\n\t\t\t\tfr: \"Vous annulez le partage du fichier a\",\r\n\t\t\t},\r\n\t\t\t\"you-are-deleting-the-file-from\": {\r\n\t\t\t\ten: \"You are deleting the file from\",\r\n\t\t\t\tit: \"Stai eliminando il file da\",\r\n\t\t\t\tes: \"Estรกs eliminando el archivo de\",\r\n\t\t\t\tfr: \"Vous supprimez le fichier de\",\r\n\t\t\t},\r\n\t\t\t\"you-are-editing-a-workout-shared-with-x-athletes\": {\r\n\t\t\t\ten: \"You are editing a workout shared with {0} athletes.\",\r\n\t\t\t\tit: \"Stai modificado una scheda condivisa con {0} atleti.\",\r\n\t\t\t\tes: \"Estรกs editando un entrenamiento compartido con {0} atletas.\",\r\n\t\t\t\tfr: \"Vous modifiez un entraรฎnement partagรฉ avec {0} athlรจtes.\",\r\n\t\t\t},\r\n\t\t\t\"you-are-cloning-this-workout-and-assigning-it-to-selected-athletes\": {\r\n\t\t\t\ten: \"You are cloning this workout and assigning it to selected athletes\",\r\n\t\t\t\tit: \"Stai clonando questo allenamento e assegnandolo agli atleti selezionati\",\r\n\t\t\t\tes: \"Estรก clonando este entrenamiento y asignรกndolo a atletas seleccionados\",\r\n\t\t\t\tfr: \"Vous รชtes en train de cloner cet entraรฎnement et de l'attribuer ร  certains athlรจtes\",\r\n\t\t\t},\r\n\t\t\t\"you-are-cloning-this-workout-so-that-it-becomes-shareable-you-will-find-it-in-the-club-tab\": {\r\n\t\t\t\ten: \"You are cloning this workout so that it becomes shareable. You will find it in the Club tab.\",\r\n\t\t\t\tit: \"Stai clonando questo workout in modo che diventi condivisibile. Lo ritrovareai nella Scheda Club.\",\r\n\t\t\t\tes: \"Estรกs clonando este entrenamiento para que se pueda compartir. Lo encontrarรกs en la pestaรฑa Club.\",\r\n\t\t\t\tfr: \"Vous clonez cet entraรฎnement afin qu'il devienne partageable. Vous le trouverez dans l'onglet Club.\",\r\n\t\t\t},\r\n\t\t\t\"selected-athletes\": {\r\n\t\t\t\ten: \"Selected athletes\",\r\n\t\t\t\tit: \"Atleti selezionati\",\r\n\t\t\t\tes: \"Atletas seleccionados\",\r\n\t\t\t\tfr: \"Athlรจtes sรฉlectionnรฉs\",\r\n\t\t\t},\r\n\t\t\t\"selected-members\": {\r\n\t\t\t\ten: \"Selected members\",\r\n\t\t\t\tit: \"Membri selezionati\",\r\n\t\t\t\tes: \"Miembros seleccionados\",\r\n\t\t\t\tfr: \"Membres sรฉlectionnรฉs\",\r\n\t\t\t},\r\n\t\t\t\"add-participant\": {\r\n\t\t\t\ten: \"Add Participant\",\r\n\t\t\t\tit: \"Aggiungi Partecipante\",\r\n\t\t\t\tes: \"Aรฑada Participante\",\r\n\t\t\t\tfr: \"Ajouter Participant\",\r\n\t\t\t},\r\n\t\t\tWaiting: {\r\n\t\t\t\ten: \"Waiting\",\r\n\t\t\t\tit: \"In Attesa\",\r\n\t\t\t\tes: \"Esperando\",\r\n\t\t\t\tfr: \"En Attente\",\r\n\t\t\t},\r\n\t\t\tProcessing: {\r\n\t\t\t\ten: \"Processing\",\r\n\t\t\t\tit: \"Elaborazione\",\r\n\t\t\t\tes: \"Procesando\",\r\n\t\t\t\tfr: \"En Cours\",\r\n\t\t\t},\r\n\t\t\tSuccess: {\r\n\t\t\t\ten: \"Success\",\r\n\t\t\t\tit: \"Ok\",\r\n\t\t\t\tes: \"ร‰xito\",\r\n\t\t\t\tfr: \"Succรจs\",\r\n\t\t\t},\r\n\t\t\tFailed: {\r\n\t\t\t\ten: \"Failed\",\r\n\t\t\t\tit: \"Fallito\",\r\n\t\t\t\tes: \"Fallido\",\r\n\t\t\t\tfr: \"ร‰chec\",\r\n\t\t\t},\r\n\t\t\t\"show-athlete-menu\": {\r\n\t\t\t\ten: \"Show athlete menรน\",\r\n\t\t\t\tit: \"Mostra menรน atleta\",\r\n\t\t\t\tes: \"Mostrar menรบ de atleta\",\r\n\t\t\t\tfr: \"Afficher menu des athlรจtes\",\r\n\t\t\t},\r\n\t\t\t\"you-have-selected-activities-that-are-not-published\": {\r\n\t\t\t\ten: \"You have selected activities that are not Published\",\r\n\t\t\t\tit: \"Hai selezionato attivitร  non pubblicate\",\r\n\t\t\t\tes: \"Has seleccionado actividades que no estรกn publicadas\",\r\n\t\t\t\tfr: \"Vous avez sรฉlectionnรฉ des activitรฉs qui ne sont pas publiรฉes\",\r\n\t\t\t},\r\n\t\t\t\"select-athlete\": {\r\n\t\t\t\ten: \"Select Athlete\",\r\n\t\t\t\tit: \"Seleziona Atleta\",\r\n\t\t\t\tes: \"Seleccionar Atleta\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Un Athlรจte\",\r\n\t\t\t},\r\n\t\t\t\"inconsistent-lessons\": {\r\n\t\t\t\ten: \"Inconsistent lessons\",\r\n\t\t\t\tit: \"Lezioni non omogenee\",\r\n\t\t\t\tes: \"Lecciones no homogรฉneas\",\r\n\t\t\t\tfr: \"Leรงons non homogรจnes\",\r\n\t\t\t},\r\n\t\t\tsource: {\r\n\t\t\t\ten: \"Source\",\r\n\t\t\t\tit: \"Origine\",\r\n\t\t\t\tes: \"Fuente\",\r\n\t\t\t\tfr: \"Source\",\r\n\t\t\t},\r\n\t\t\tuptivo: {\r\n\t\t\t\ten: \"Uptivo\",\r\n\t\t\t\tit: \"Uptivo\",\r\n\t\t\t\tes: \"Uptivo\",\r\n\t\t\t\tfr: \"Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"you-are-publish-this-exercise\": {\r\n\t\t\t\ten: \"You are publishing this exercise\",\r\n\t\t\t\tit: \"Stai pubblicando questo esercizio\",\r\n\t\t\t\tes: \"Estรกs publicando este ejercicio\",\r\n\t\t\t\tfr: \"Vous publiez cet exercice\",\r\n\t\t\t},\r\n\t\t\t\"you-are-unpublish-this-exercise\": {\r\n\t\t\t\ten: \"You are unpublishing this exercise\",\r\n\t\t\t\tit: \"Stai togliendo dalla pubblicazione questo esercizio\",\r\n\t\t\t\tes: \"Estรกs retirando la publicaciรณn de este ejercicio\",\r\n\t\t\t\tfr: \"Vous retirez la publication de cet exercice\",\r\n\t\t\t},\r\n\t\t\t\"you-are-publish-this-workoutsheet\": {\r\n\t\t\t\ten: \"You are publishing this workout\",\r\n\t\t\t\tit: \"Stai pubblicando questa scheda\",\r\n\t\t\t\tes: \"Estรกs publicando este workout\",\r\n\t\t\t\tfr: \"Vous publiez cet workout\",\r\n\t\t\t},\r\n\t\t\t\"you-are-unpublish-this-workoutsheet\": {\r\n\t\t\t\ten: \"You are unpublishing this workout\",\r\n\t\t\t\tit: \"Stai togliendo dalla pubblicazione questa scheda\",\r\n\t\t\t\tes: \"Estรกs retirando la publicaciรณn de este workout\",\r\n\t\t\t\tfr: \"Vous retirez la publication de cet workout\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-editor-sheets\": {\r\n\t\t\t\ten: \"Uptivo Workouts (EDITOR)\",\r\n\t\t\t\tit: \"Uptivo Workouts (EDITOR)\",\r\n\t\t\t\tes: \"Uptivo Workouts (EDITOR)\",\r\n\t\t\t\tfr: \"Uptivo Workouts (EDITOR)\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-workouts\": {\r\n\t\t\t\ten: \"Uptivo Workouts\",\r\n\t\t\t\tit: \"Uptivo Workouts\",\r\n\t\t\t\tes: \"Uptivo Workouts\",\r\n\t\t\t\tfr: \"Uptivo Workouts\",\r\n\t\t\t},\r\n\t\t\t\"make-visible-to-all\": {\r\n\t\t\t\ten: \"Make visible to all\",\r\n\t\t\t\tit: \"Rendi visibile a tutti\",\r\n\t\t\t\tes: \"Hacer visible para todos\",\r\n\t\t\t\tfr: \"Rendre visible pour tous\",\r\n\t\t\t},\r\n\t\t\t\"hide-from-everyone\": {\r\n\t\t\t\ten: \"Hide from everyone\",\r\n\t\t\t\tit: \"Nascondi a tutti\",\r\n\t\t\t\tes: \"Ocultar de todos\",\r\n\t\t\t\tfr: \"Masquer ร  tout le monde\",\r\n\t\t\t},\r\n\t\t\t\"move-up\": {\r\n\t\t\t\ten: \"Move Up\",\r\n\t\t\t\tit: \"Sposta in alto\",\r\n\t\t\t\tes: \"Mover hacia arriba\",\r\n\t\t\t\tfr: \"Dรฉplacer vers le haut\",\r\n\t\t\t},\r\n\t\t\t\"move-down\": {\r\n\t\t\t\ten: \"Move Down\",\r\n\t\t\t\tit: \"Sposta in basso\",\r\n\t\t\t\tes: \"Mover hacia abajo\",\r\n\t\t\t\tfr: \"Dรฉplacer vers le bas\",\r\n\t\t\t},\r\n\t\t\t\"move-left\": {\r\n\t\t\t\ten: \"Move Left\",\r\n\t\t\t\tit: \"Sposta a Sinistra\",\r\n\t\t\t\tes: \"Mover a la Izquierda\",\r\n\t\t\t\tfr: \"Dรฉplacer ร  Gauche\"\r\n\t\t\t},\r\n\t\t\t\"move-right\": {\r\n\t\t\t\ten: \"Move Right\",\r\n\t\t\t\tit: \"Sposta a Destra\",\r\n\t\t\t\tes: \"Mover a la Derecha\",\r\n\t\t\t\tfr: \"Dรฉplacer ร  Droite\"\r\n\t\t\t},\r\n\t\t\t\"rotate-right\": {\r\n\t\t\t\ten: \"Rotate Right\",\r\n\t\t\t\tit: \"Ruota a Destra\",\r\n\t\t\t\tes: \"Rotar a la Derecha\",\r\n\t\t\t\tfr: \"Tourner ร  Droite\"\r\n\t\t\t},\r\n\t\t\t\"rotate-left\": {\r\n\t\t\t\ten: \"Rotate Left\",\r\n\t\t\t\tit: \"Ruota a Sinistra\",\r\n\t\t\t\tes: \"Rotar a la Izquierda\",\r\n\t\t\t\tfr: \"Tourner ร  Gauche\"\r\n\t\t\t},\r\n\t\t\t\"clone\": {\r\n\t\t\t\ten: \"Clone\",\r\n\t\t\t\tit: \"Clona\",\r\n\t\t\t\tes: \"Clonar\",\r\n\t\t\t\tfr: \"Cloner\",\r\n\t\t\t},\r\n\t\t\t\"image\": {\r\n\t\t\t\ten: \"Picture\",\r\n\t\t\t\tit: \"Immagine\",\r\n\t\t\t\tes: \"Imagen\",\r\n\t\t\t\tfr: \"Image\",\r\n\t\t\t},\r\n\t\t\t\"new\": {\r\n\t\t\t\ten: \"New\",\r\n\t\t\t\tit: \"Nuovi\",\r\n\t\t\t\tes: \"Nuevos\",\r\n\t\t\t\tfr: \"Nouveaux\",\r\n\t\t\t},\r\n\t\t\t\"choose-workout\": {\r\n\t\t\t\ten: \"Choose Workout\",\r\n\t\t\t\tit: \"Scegli Allenamento\",\r\n\t\t\t\tes: \"Seleccionar Entrenamiento\",\r\n\t\t\t\tfr: \"Choisir Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"you-are-cloning-this-workout-and-assigning-it-to-selected-athlete\": {\r\n\t\t\t\ten: \"You are cloning this workout and assigning it to the selected athlete\",\r\n\t\t\t\tit: \"Stai clonando questo allenamento e assegnandolo all'atleta selezionato\",\r\n\t\t\t\tes: \"Estรกs clonando este entrenamiento y asignรกndolo al atleta seleccionado\",\r\n\t\t\t\tfr: \"Vous clonez cet entraรฎnement et l'assignez ร  l'athlรจte sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t\t\"clone-workout\": {\r\n\t\t\t\ten: \"Select existing workouts and assign them to this user as personal workouts.\",\r\n\t\t\t\tit: \"Seleziona una scheda esistente e assegnala a questo utente come scheda personale.\",\r\n\t\t\t\tes: \"Seleccione un programa existente y asรญgnelo a este usuario como programa personal.\",\r\n\t\t\t\tfr: \"Sรฉlectionnez un programme existant et attribuez-le ร  cet utilisateur en tant que programme personnel.\",\r\n\t\t\t},\r\n\t\t\t\"share-workout\": {\r\n\t\t\t\ten: \"Select existing workouts and share them with this user.\",\r\n\t\t\t\tit: \"Seleziona le schede esistenti e condividile con questo utente.\",\r\n\t\t\t\tes: \"Selecciona programas existentes y compรกrtalos con este usuario.\",\r\n\t\t\t\tfr: \"Sรฉlectionnez les programmes existants et partagez-les avec cet utilisateur.\",\r\n\t\t\t},\r\n\t\t\t\"create-new-workout\": {\r\n\t\t\t\ten: \"Create new workout.\",\r\n\t\t\t\tit: \"Crea nuovo allenamento.\",\r\n\t\t\t\tes: \"Crear nuevo entrenamiento.\",\r\n\t\t\t\tfr: \"Crรฉer un nouvel entraรฎnement.\",\r\n\t\t\t},\r\n\t\t\t\"invalid-id\": {\r\n\t\t\t\ten: \"Invalid Id\",\r\n\t\t\t\tit: \"Id non valido\",\r\n\t\t\t\tes: \"Id no vรกlido\",\r\n\t\t\t\tfr: \"Id invalide\",\r\n\t\t\t},\r\n\t\t\t\"add-image\": {\r\n\t\t\t\ten: \"Add Image\",\r\n\r\n\t\t\t\tit: \"Aggiungi Immagine\",\r\n\t\t\t\tes: \"Agregar Imagen\",\r\n\t\t\t\tfr: \"Ajouter une Image\",\r\n\t\t\t},\r\n\t\t\t\"cash\": {\r\n\t\t\t\ten: \"Cash\",\r\n\t\t\t\tit: \"Contante\",\r\n\t\t\t\tes: \"Efectivo\",\r\n\t\t\t\tfr: \"Argent liquide\"\r\n\t\t\t},\r\n\t\t\t\"debit\": {\r\n\t\t\t\ten: \"Debit Card\",\r\n\t\t\t\tit: \"Carta di Debito\",\r\n\t\t\t\tes: \"Tarjeta de Dรฉbito\",\r\n\t\t\t\tfr: \"Carte de Dรฉbit\"\r\n\t\t\t},\r\n\t\t\t\"credit\": {\r\n\t\t\t\ten: \"Credit Card\",\r\n\t\t\t\tit: \"Carta di Credito\",\r\n\t\t\t\tes: \"Tarjeta de Crรฉdito\",\r\n\t\t\t\tfr: \"Carte de Crรฉdit\"\r\n\t\t\t},\r\n\t\t\t\"wire-transfer\": {\r\n\t\t\t\ten: \"Wire Transfer\",\r\n\t\t\t\tit: \"Bonifico Bancario\",\r\n\t\t\t\tes: \"Transferencia Bancaria\",\r\n\t\t\t\tfr: \"Virement Bancaire\"\r\n\t\t\t},\r\n\t\t\t\"other\": {\r\n\t\t\t\ten: \"Other\",\r\n\t\t\t\tit: \"Altro\",\r\n\t\t\t\tes: \"Otro\",\r\n\t\t\t\tfr: \"Autre\"\r\n\t\t\t},\r\n\t\t\t\"refund\": {\r\n\t\t\t\ten: \"Refund\",\r\n\t\t\t\tit: \"Rimborso\",\r\n\t\t\t\tes: \"Reembolso\",\r\n\t\t\t\tfr: \"Remboursement\"\r\n\t\t\t},\r\n\t\t\t\"total-movements\": {\r\n\t\t\t\ten: \"TOTAL\",\r\n\t\t\t\tit: \"TOTALE\",\r\n\t\t\t\tes: \"TOTAL\",\r\n\t\t\t\tfr: \"TOTAL\"\r\n\t\t\t},\r\n\t\t\t\"tax-id\": {\r\n\t\t\t\ten: \"Tax Id\",\r\n\t\t\t\tit: \"C.F./P.I.\",\r\n\t\t\t\tes: \"Tax Id\",\r\n\t\t\t\tfr: \"Tax Id\",\r\n\t\t\t},\r\n\t\t\t\"translated-exercises\": {\r\n\t\t\t\ten: \"Translated Exercises\",\r\n\t\t\t\tit: \"Esercizi tradotti\",\r\n\t\t\t\tes: \"Ejercicios traducidos\",\r\n\t\t\t\tfr: \"Exercices traduits\"\r\n\t\t\t},\r\n\t\t\t\"untranslated-exercises\": {\r\n\t\t\t\ten: \"Untranslated Exercises\",\r\n\t\t\t\tit: \"Esercizi non tradotti\",\r\n\t\t\t\tes: \"Ejercicios no traducidos\",\r\n\t\t\t\tfr: \"Exercices non traduits\"\r\n\t\t\t},\r\n\t\t\t\"choose-language\": {\r\n\t\t\t\ten: \"Choose Language\",\r\n\t\t\t\tit: \"Scegli Lingua\",\r\n\t\t\t\tes: \"Seleccionar Idioma\",\r\n\t\t\t\tfr: \"Choisir la Langue\"\r\n\t\t\t},\r\n\t\t\t\"movements\": {\r\n\t\t\t\ten: \"Transactions\",\r\n\t\t\t\tit: \"Movimenti\",\r\n\t\t\t\tes: \"Transacciones\",\r\n\t\t\t\tfr: \"Transactions\"\r\n\t\t\t},\r\n\t\t\t\"method\": {\r\n\t\t\t\ten: \"Method\",\r\n\t\t\t\tit: \"Metodo\",\r\n\t\t\t\tes: \"Mรฉtodo\",\r\n\t\t\t\tfr: \"Moyen\"\r\n\t\t\t},\r\n\t\t\t\"transaction-type\": {\r\n\t\t\t\ten: \"Transaction Type\",\r\n\t\t\t\tit: \"Tipo di Transazione\",\r\n\t\t\t\tes: \"Tipo de Transacciรณn\",\r\n\t\t\t\tfr: \"Type de Transaction\"\r\n\t\t\t},\r\n\t\t\t\"payment-mode\": {\r\n\t\t\t\ten: \"Payment Mode\",\r\n\t\t\t\tit: \"Modalitร  di Pagamento\",\r\n\t\t\t\tes: \"Modo de Pago\",\r\n\t\t\t\tfr: \"Mode de Paiement\"\r\n\t\t\t},\r\n\t\t\t\"movement-not-found\": {\r\n\t\t\t\ten: \"Movement Not Found\",\r\n\t\t\t\tit: \"Movimento Non Trovato\",\r\n\t\t\t\tes: \"Movimiento no Encontrado\",\r\n\t\t\t\tfr: \"Mouvement Non Trouvรฉ\"\r\n\t\t\t},\r\n\t\t\t\"add-transaction\": {\r\n\t\t\t\ten: \"Add Transaction\",\r\n\t\t\t\tit: \"Aggiungi Pagamento\",\r\n\t\t\t\tes: \"Agregar Transacciรณn\",\r\n\t\t\t\tfr: \"Ajouter une Transaction\"\r\n\t\t\t},\r\n\t\t\t\"currency\": {\r\n\t\t\t\ten: \"Currency\",\r\n\t\t\t\tit: \"Valuta\",\r\n\t\t\t\tes: \"Moneda\",\r\n\t\t\t\tfr: \"Devise\"\r\n\t\t\t},\r\n\t\t\t\"movement\": {\r\n\t\t\t\ten: \"Movement\",\r\n\t\t\t\tit: \"Movimento\",\r\n\t\t\t\tes: \"Movimiento\",\r\n\t\t\t\tfr: \"Mouvement\"\r\n\t\t\t},\r\n\t\t\t\"movement-not-in-export\": {\r\n\t\t\t\ten: \"This movement will not appear in the export\",\r\n\t\t\t\tit: \"Questo movimento non comparirร  nell'esportazione\",\r\n\t\t\t\tes: \"Este movimiento no aparecerรก en la exportaciรณn\",\r\n\t\t\t\tfr: \"Ce mouvement n'apparaรฎtra pas dans l'export\"\r\n\t\t\t},\r\n\t\t\t\"movement-in-export\": {\r\n\t\t\t\ten: \"This movement will appear in the export\",\r\n\t\t\t\tit: \"Questo movimento comparirร  nell'esportazione\",\r\n\t\t\t\tes: \"Este movimiento aparecerรก en la exportaciรณn\",\r\n\t\t\t\tfr: \"Ce mouvement apparaรฎtra dans l'export\"\r\n\t\t\t},\r\n\t\t\t\"visible-in-export\": {\r\n\t\t\t\ten: \"Visible in the export\",\r\n\t\t\t\tit: \"Visibile nell'esportazione\",\r\n\t\t\t\tes: \"Visible en la exportaciรณn\",\r\n\t\t\t\tfr: \"Visible dans l'export\"\r\n\t\t\t},\r\n\t\t\t\"purchase\": {\r\n\t\t\t\ten: \"Purchase\",\r\n\t\t\t\tit: \"Acquisto\",\r\n\t\t\t\tes: \"Compra\",\r\n\t\t\t\tfr: \"Achat\"\r\n\t\t\t},\r\n\t\t\t\"check-movement-data\": {\r\n\t\t\t\ten: \"Check the movement data\",\r\n\t\t\t\tit: \"Verifica i dati del movimento\",\r\n\t\t\t\tes: \"Verifica los datos del movimiento\",\r\n\t\t\t\tfr: \"Vรฉrifiez les donnรฉes du mouvement\"\r\n\t\t\t},\r\n\t\t\t\"credits-modified-successfully\": {\r\n\t\t\t\ten: \"Credits modified successfully\",\r\n\t\t\t\tit: \"Crediti modificati correttamente\",\r\n\t\t\t\tes: \"Crรฉditos modificados correctamente\",\r\n\t\t\t\tfr: \"Crรฉdits modifiรฉs avec succรจs\"\r\n\t\t\t},\r\n\t\t\t\"missing-language\": {\r\n\t\t\t\ten: \"Missing Language\",\r\n\t\t\t\tit: \"Lingua Mancante\",\r\n\t\t\t\tes: \"Idioma Faltante\",\r\n\t\t\t\tfr: \"Langue Manquante\"\r\n\t\t\t},\r\n\t\t\t\"add-circuit\": {\r\n\t\t\t\ten: \"Circuit\",\r\n\t\t\t\tit: \"Circuit\",\r\n\t\t\t\tes: \"Circuit\",\r\n\t\t\t\tfr: \"Circuit\"\r\n\t\t\t},\r\n\t\t\t\"laps\": {\r\n\t\t\t\ten: \"Rounds\",\r\n\t\t\t\tit: \"Round\",\r\n\t\t\t\tes: \"Rondas\",\r\n\t\t\t\tfr: \"Manches\"\r\n\t\t\t},\r\n\t\t\t\"create-for\": {\r\n\t\t\t\ten: \"Create for\",\r\n\t\t\t\tit: \"Crea per\",\r\n\t\t\t\tes: \"Crear para\",\r\n\t\t\t\tfr: \"Crรฉer pour\"\r\n\t\t\t},\r\n\t\t\t\"payment-method\": {\r\n\t\t\t\ten: \"Payment Method\",\r\n\t\t\t\tit: \"Metodo di Pagamento\",\r\n\t\t\t\tes: \"Mรฉtodo de Pago\",\r\n\t\t\t\tfr: \"Moyen de Paiement\"\r\n\t\t\t},\r\n\t\t\t\"payment\": {\r\n\t\t\t\ten: \"Payment\",\r\n\t\t\t\tit: \"Pagamento\",\r\n\t\t\t\tes: \"Pago\",\r\n\t\t\t\tfr: \"Paiement\"\r\n\t\t\t},\r\n\t\t\t\"manual\": {\r\n\t\t\t\ten: \"Manual\",\r\n\t\t\t\tit: \"Manuale\",\r\n\t\t\t\tes: \"Manual\",\r\n\t\t\t\tfr: \"Manuel\"\r\n\t\t\t},\r\n\t\t\t\"online\": {\r\n\t\t\t\ten: \"Online\",\r\n\t\t\t\tit: \"Online\",\r\n\t\t\t\tes: \"En Lรญnea\",\r\n\t\t\t\tfr: \"En Ligne\"\r\n\t\t\t},\r\n\t\t\t\"operator\": {\r\n\t\t\t\ten: \"Operator\",\r\n\t\t\t\tit: \"Operatore\",\r\n\t\t\t\tes: \"Operador\",\r\n\t\t\t\tfr: \"Opรฉrateur\"\r\n\t\t\t},\r\n\t\t\t\"operator-email\": {\r\n\t\t\t\ten: \"Operator Email\",\r\n\t\t\t\tit: \"Email Operatore\",\r\n\t\t\t\tes: \"Operador Email\",\r\n\t\t\t\tfr: \"Opรฉrateur Email\"\r\n\t\t\t},\r\n\t\t\t\"linked-payment\": {\r\n\t\t\t\ten: \"Linked Payment\",\r\n\t\t\t\tit: \"Pagamento Collegato\",\r\n\t\t\t\tes: \"Pago Vinculado\",\r\n\t\t\t\tfr: \"Paiement Liรฉ\"\r\n\t\t\t},\r\n\t\t\t\"user-bookings-enabled\": {\r\n\t\t\t\ten: \"User has bookings enabled\",\r\n\t\t\t\tit: \"L'utente ha le prenotazioni abilitate\",\r\n\t\t\t\tes: \"El usuario tiene reservas habilitadas\",\r\n\t\t\t\tfr: \"L'utilisateur a des rรฉservations activรฉes\"\r\n\t\t\t},\r\n\t\t\t\"user-bookings-disabled\": {\r\n\t\t\t\ten: \"User Bookings Disabled\",\r\n\t\t\t\tit: \"Prenotazioni disabilitate per l'utente\",\r\n\t\t\t\tes: \"Reservas deshabilitadas para el usuario\",\r\n\t\t\t\tfr: \"Rรฉservations dรฉsactivรฉes pour l'utilisateur\"\r\n\t\t\t},\r\n\t\t\t\"bookings-block-until\": {\r\n\t\t\t\ten: \"Ban bookings until\",\r\n\t\t\t\tit: \"Blocco prenotazioni fino al\",\r\n\t\t\t\tes: \"Bloqueo reservas hasta\",\r\n\t\t\t\tfr: \"Blocage rรฉservations jusqu'au\"\r\n\t\t\t},\r\n\t\t\t\"bookings-block\": {\r\n\t\t\t\ten: \"Bookings Ban\",\r\n\t\t\t\tit: \"Blocco Prenotazioni\",\r\n\t\t\t\tes: \"Bloqueo de Reservas\",\r\n\t\t\t\tfr: \"Blocage des Rรฉservations\"\r\n\t\t\t},\r\n\t\t\t\"delete-booking-limit\": {\r\n\t\t\t\ten: \"Delete Booking Limit\",\r\n\t\t\t\tit: \"Elimina limite di prenotazione\",\r\n\t\t\t\tes: \"Eliminar lรญmite de reserva\",\r\n\t\t\t\tfr: \"Supprimer la limite de rรฉservation\"\r\n\t\t\t},\r\n\t\t\t\"user-will-have-active-bookings\": {\r\n\t\t\t\ten: \"User will have active bookings\",\r\n\t\t\t\tit: \"L'utente avrร  le prenotazioni attive\",\r\n\t\t\t\tes: \"El usuario tendrรก reservas activas\",\r\n\t\t\t\tfr: \"L'utilisateur aura des rรฉservations actives\"\r\n\t\t\t},\r\n\t\t\t\"rest-at-least-five-seconds\": {\r\n\t\t\t\ten: \"The rest must be at least 5 seconds\",\r\n\t\t\t\tit: \"La pausa deve essere di almeno 5 secondi\",\r\n\t\t\t\tes: \"El descanso debe ser de al menos 5 segundos\",\r\n\t\t\t\tfr: \"La pause doit รชtre d'au moins 5 secondes\"\r\n\t\t\t},\r\n\t\t\t\"cannot-add-same-exercises-to-set\": {\r\n\t\t\t\ten: \"It is not possible to add exercises that are the same as those already present in the set\",\r\n\t\t\t\tit: \"Non รจ possibile aggiungere esercizi uguali a quelli giร  presenti nel set\",\r\n\t\t\t\tes: \"No es posible agregar ejercicios que sean iguales a los que ya estรกn presentes en el conjunto\",\r\n\t\t\t\tfr: \"Il n'est pas possible d'ajouter des exercices identiques ร  ceux dรฉjร  prรฉsents dans l'ensemble\"\r\n\t\t\t},\r\n\t\t\t\"max-exercises-number-is-9\": {\r\n\t\t\t\ten: \"The maximum number of exercises allowed is 9\",\r\n\t\t\t\tit: \"Il numero massimo di esercizi consentiti รจ 9\",\r\n\t\t\t\tes: \"El nรบmero mรกximo de ejercicios permitidos es 9\",\r\n\t\t\t\tfr: \"Le nombre maximum d'exercices autorisรฉs est de 9\"\r\n\t\t\t},\r\n\t\t\t\"no-zone\": {\r\n\t\t\t\ten: \"No Zone\",\r\n\t\t\t\tit: \"Nessuna Zona\",\r\n\t\t\t\tes: \"Sin Zona\",\r\n\t\t\t\tfr: \"Pas de Zone\"\r\n\t\t\t},\r\n\t\t\t\"groups\": {\r\n\t\t\t\ten: \"Groups\",\r\n\t\t\t\tit: \"Gruppi\",\r\n\t\t\t\tes: \"Grupos\",\r\n\t\t\t\tfr: \"Groupes\"\r\n\t\t\t},\r\n\t\t\t\"circuit\": {\r\n\t\t\t\ten: \"On-screen Workout\",\r\n\t\t\t\tit: \"Allenamento A Schermo\",\r\n\t\t\t\tes: \"Entrenamiento De Pantalla\",\r\n\t\t\t\tfr: \"Entraรฎnement Sur รˆcran\"\r\n\t\t\t},\r\n\t\t\t\"circuits\": {\r\n\t\t\t\ten: \"On-screen Workouts\",\r\n\t\t\t\tit: \"Allenamenti A Schermo\",\r\n\t\t\t\tes: \"Entrenamientos De Pantalla\",\r\n\t\t\t\tfr: \"Entraรฎnements Sur รˆcran\"\r\n\t\t\t},\r\n\t\t\t\"on-screen-workout-planning\": {\r\n\t\t\t\t\"en\": \"On-screen Workout Planning\",\r\n\t\t\t\t\"it\": \"Pianificazione Allenamenti A Schermo\",\r\n\t\t\t\t\"es\": \"Planificaciรณn De Entrenamientos En Pantalla\",\r\n\t\t\t\t\"fr\": \"Planification Des Entraรฎnements ร€ l'Ecran\"\r\n\t\t\t},\r\n\t\t\t\"elements\": {\r\n\t\t\t\ten: \"elements\",\r\n\t\t\t\tit: \"elementi\",\r\n\t\t\t\tes: \"elementos\",\r\n\t\t\t\tfr: \"รจlรฉments\"\r\n\t\t\t},\r\n\t\t\t\"element\": {\r\n\t\t\t\ten: \"element\",\r\n\t\t\t\tit: \"elemento\",\r\n\t\t\t\tes: \"elemento\",\r\n\t\t\t\tfr: \"รจlรฉment\"\r\n\t\t\t},\r\n\t\t\t\"you-are-about-to-clone\": {\r\n\t\t\t\ten: \"You are about to clone\",\r\n\t\t\t\tit: \"Stai per clonare\",\r\n\t\t\t\tes: \"Estรกs a punto de clonar\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de cloner\"\r\n\t\t\t},\r\n\t\t\t\"classes-participations\": {\r\n\t\t\t\ten: \"Classes Participations\",\r\n\t\t\t\tit: \"Partecipazioni alle Classi\",\r\n\t\t\t\tes: \"Participaciones en Clases\",\r\n\t\t\t\tfr: \"Participations aux Cours\"\r\n\t\t\t},\r\n\t\t\t\"past\": {\r\n\t\t\t\ten: \"Past\",\r\n\t\t\t\tit: \"Passate\",\r\n\t\t\t\tes: \"Pasadas\",\r\n\t\t\t\tfr: \"Passรฉes\"\r\n\t\t\t},\r\n\t\t\t\"next\": {\r\n\t\t\t\ten: \"Next\",\r\n\t\t\t\tit: \"Prossime\",\r\n\t\t\t\tes: \"Prรณximas\",\r\n\t\t\t\tfr: \"Prochaines\"\r\n\t\t\t},\r\n\t\t\t\"disable-bookings-invalid-medical-certificate\": {\r\n\t\t\t\ten: \"Disable bookings if user does not have a valid medical certificate\",\r\n\t\t\t\tit: \"Disabilita prenotazioni se l'utente non ha un certificato medico valido\",\r\n\t\t\t\tes: \"Deshabilitar reservas si el usuario no tiene un certificado mรฉdico vรกlido\",\r\n\t\t\t\tfr: \"Dรฉsactiver les rรฉservations si l'utilisateur n'a pas de certificat mรฉdical valide\"\r\n\t\t\t},\r\n\t\t\t\"disable-bookings-invalid-mebership\": {\r\n\t\t\t\ten: \"Disable bookings if user does not have a valid membership\",\r\n\t\t\t\tit: \"Disabilita prenotazioni se l'utente non ha una iscrizione valida\",\r\n\t\t\t\tes: \"Deshabilitar reservas si el usuario no tiene una matrรญcula vรกlida\",\r\n\t\t\t\tfr: \"Dรฉsactiver les rรฉservations si l'utilisateur n'a pas une inscription valide\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tHomeView: {\r\n\t\t\t\"uptivo-cloud-description\": {\r\n\t\t\t\ten: \"Combining a heart-rate monitoring solution with sport tracking and gamification features, Uptivo provides vertical solutions for functional training, combat fitness, indoor biking, and watersports in gyms, fitness boutiques, and PT studios.\",\r\n\t\t\t\tit: \"Combinando una soluzione di monitoraggio della frequenza cardiaca con funzionalitร  di tracciamento sportivo e gamification, Uptivo offre soluzioni verticali per l'allenamento funzionale, il combat fitness, il ciclismo indoor e gli sport acquatici in palestre, fitness boutique e studi PT.\",\r\n\t\t\t\tes: \"Al combinar una soluciรณn de monitoreo de frecuencia cardรญaca con funciones de seguimiento deportivo y ludificaciรณn, Uptivo proporciona soluciones verticales para entrenamiento funcional, fitness de combate, ciclismo de interior y deportes acuรกticos en gimnasios, boutiques de fitness y estudios de PT.\",\r\n\t\t\t\tfr: \"Combinant une solution de surveillance de la frรฉquence cardiaque avec des fonctionnalitรฉs de suivi sportif et de gamification, Uptivo fournit des solutions verticales pour l'entraรฎnement fonctionnel, le fitness de combat, le vรฉlo en salle et les sports nautiques dans les gymnases, les boutiques de fitness et les studios de PT.\",\r\n\t\t\t},\r\n\t\t\t\"app-description\": {\r\n\t\t\t\ten: \"Haven't you installed the Uptivo app yet to review all your progress and train when you're not at the gym? Download it here:\",\r\n\t\t\t\tit: \"Non hai ancora installato l'app Uptivo per rivedere tutti i tuoi progressi e allenarti quando non sei in palestra? Scaricala qui:\",\r\n\t\t\t\tes: \"ยฟAรบn no has instalado la app de Uptivo para revisar todos tus progresos y entrenar cuando no estรฉs en el gimnasio? Descarguelo aqui:\",\r\n\t\t\t\tfr: \"Vous n'avez pas encore installรฉ l'application Uptivo pour revoir tous vos progrรจs et vous entraรฎner lorsque vous n'รชtes pas ร  la salle de sport ? Tรฉlรฉcharger les ici:\",\r\n\t\t\t},\r\n\t\t\tsignIn: {\r\n\t\t\t\ten: \"Already a member? Sign in\",\r\n\t\t\t\tit: \"Sei giร  un membro? Accedi\",\r\n\t\t\t\tes: \"ยฟYa eres miembro? Iniciar sesiรณn\",\r\n\t\t\t\tfr: \"Dรฉjร  membre? Connectez-vous\",\r\n\t\t\t},\r\n\t\t\tsignUp: {\r\n\t\t\t\ten: \"New member? Create an account\",\r\n\t\t\t\tit: \"Nuovo membro? Crea un account\",\r\n\t\t\t\tes: \"ยฟNuevo miembro? Crear un perfil\",\r\n\t\t\t\tfr: \"Nouveau membre? Crรฉer un profil\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubMessagesView: {\r\n\t\t\t\"new-message\": {\r\n\t\t\t\ten: \"New message from your club!\",\r\n\t\t\t\tit: \"Nuovo messaggio dal tuo club!\",\r\n\t\t\t\tes: \"ยกNuevo mensaje de tu club!\",\r\n\t\t\t\tfr: \"Nouveau message de votre club!\",\r\n\t\t\t},\r\n\t\t\t\"type-message-text-here\": {\r\n\t\t\t\ten: \"Type the message here\",\r\n\t\t\t\tit: \"Scrivi qui il messaggio\",\r\n\t\t\t\tes: \"Escribe el mensaje aquรญ\",\r\n\t\t\t\tfr: \"Tapez le message ici\",\r\n\t\t\t},\r\n\t\t\t\"edit-message\": {\r\n\t\t\t\ten: \"Edit Template\",\r\n\t\t\t\tit: \"Modifica Modello\",\r\n\t\t\t\tes: \"Editar Plantilla\",\r\n\t\t\t\tfr: \"Modifier le Modรจle\",\r\n\t\t\t},\r\n\t\t\tyes: {\r\n\t\t\t\ten: \"Yes\",\r\n\t\t\t\tit: \"Sรฌ\",\r\n\t\t\t\tes: \"Sรญ\",\r\n\t\t\t\tfr: \"Oui\",\r\n\t\t\t},\r\n\t\t\t\"successfully-add-athlete\": {\r\n\t\t\t\ten: \"Successfully add athlete/s\",\r\n\t\t\t\tit: \"Atleta/i aggiunto/i con successo\",\r\n\t\t\t\tes: \"Aรฑadir con รฉxito atletas\",\r\n\t\t\t\tfr: \"Ajouter des athlรจtes avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"fast-schedule-challenge-title-calories\": {\r\n\t\t\t\ten: \"Monthly Calories\",\r\n\t\t\t\tit: \"Calorie Mensili\",\r\n\t\t\t\tes: \"Calorรญas Mensuales\",\r\n\t\t\t\tfr: \"Calories Mensuelles\",\r\n\t\t\t},\r\n\t\t\t\"fast-schedule-challenge-title-trainings\": {\r\n\t\t\t\ten: \"Monthly Trainings\",\r\n\t\t\t\tit: \"Allenamenti Mensili\",\r\n\t\t\t\tes: \"Entrenamientos Mensuales\",\r\n\t\t\t\tfr: \"Entrainement Mensuelles\",\r\n\t\t\t},\r\n\t\t\t\"fast-schedule-challenge-title-points\": {\r\n\t\t\t\ten: \"Monthly UPPs\",\r\n\t\t\t\tit: \"UPPs Mensili\",\r\n\t\t\t\tes: \"UPP Mensuales\",\r\n\t\t\t\tfr: \"UPP Mensuels\",\r\n\t\t\t},\r\n\t\t\t\"fast-schedule-challenge-title-valid-zone-points\": {\r\n\t\t\t\ten: \"Monthly Valid Zones UPPs\",\r\n\t\t\t\tit: \"UPPs In Zone Valide Mensili\",\r\n\t\t\t\tes: \"UPPs Mensuales De Zonas Vรกlidas\",\r\n\t\t\t\tfr: \"UPPs De Zones Valides Mensuels\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tTrainingProgramsView: {\r\n\t\t\t\"share-file\": {\r\n\t\t\t\ten: \"File Shares\",\r\n\t\t\t\tit: \"Condivisione del file\",\r\n\t\t\t\tes: \"Compartir el archivo\",\r\n\t\t\t\tfr: \"Partager le fichier\",\r\n\t\t\t},\r\n\t\t\t\"shared-programs\": {\r\n\t\t\t\ten: \"Shared Programs\",\r\n\t\t\t\tit: \"Programmi Condivisi\",\r\n\t\t\t\tes: \"Programas Compartidos\",\r\n\t\t\t\tfr: \"Programmes Partagรฉs\",\r\n\t\t\t},\r\n\t\t\t\"training-programs\": {\r\n\t\t\t\ten: \"Workout Programs\",\r\n\t\t\t\tit: \"Programmi Di Allenamento\",\r\n\t\t\t\tes: \"Programas De Entrenamiento\",\r\n\t\t\t\tfr: \"Programmes D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\ten: \"Size\",\r\n\t\t\t\tit: \"Dimensione\",\r\n\t\t\t\tes: \"Tamaรฑo\",\r\n\t\t\t\tfr: \"Taille\",\r\n\t\t\t},\r\n\t\t\t\"shared-at\": {\r\n\t\t\t\ten: \"Shared on\",\r\n\t\t\t\tit: \"Condiviso il\",\r\n\t\t\t\tes: \"Compartido el\",\r\n\t\t\t\tfr: \"Partagรฉ le\",\r\n\t\t\t},\r\n\t\t\t\"shared-by\": {\r\n\t\t\t\ten: \"Shared By\",\r\n\t\t\t\tit: \"Condiviso da\",\r\n\t\t\t\tes: \"Compartido por\",\r\n\t\t\t\tfr: \"Partagรฉ par\",\r\n\t\t\t},\r\n\t\t\t\"no-shares\": {\r\n\t\t\t\ten: \"Not shared\",\r\n\t\t\t\tit: \"Non condiviso\",\r\n\t\t\t\tes: \"No compartido\",\r\n\t\t\t\tfr: \"Non partagรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAthletesBioView: {\r\n\t\t\t\"BODY_CIRCUMFERENCES-mg\": {\r\n\t\t\t\ten: \"Circumferences\",\r\n\t\t\t\tit: \"Circonferenze\",\r\n\t\t\t\tes: \"Circunferencias\",\r\n\t\t\t\tfr: \"Circonfรฉrences\",\r\n\t\t\t},\r\n\t\t\t\"BODY_MASS-mg\": {\r\n\t\t\t\ten: \"Body Mass\",\r\n\t\t\t\tit: \"Massa Corporea\",\r\n\t\t\t\tes: \"Masa Corporal\",\r\n\t\t\t\tfr: \"Masse Corporelle\",\r\n\t\t\t},\r\n\t\t\t\"BODY_WATER-mg\": {\r\n\t\t\t\ten: \"Body Water\",\r\n\t\t\t\tit: \"Acqua Corporea\",\r\n\t\t\t\tes: \"Agua Corporal\",\r\n\t\t\t\tfr: \"Eau Corporelle\",\r\n\t\t\t},\r\n\t\t\t\"BODY_OTHER-mg\": {\r\n\t\t\t\ten: \"Other\",\r\n\t\t\t\tit: \"Altro\",\r\n\t\t\t\tes: \"Otro\",\r\n\t\t\t\tfr: \"Autre\",\r\n\t\t\t},\r\n\t\t\t\"SKINFOLD_MEAS-mg\": {\r\n\t\t\t\ten: \"Skinfold\",\r\n\t\t\t\tit: \"Plicometria\",\r\n\t\t\t\tes: \"Plicometrรญa\",\r\n\t\t\t\tfr: \"Plicomรฉtrie\",\r\n\t\t\t},\r\n\t\t\t\"BLOOD_MEAS-mg\": {\r\n\t\t\t\ten: \"Blood\",\r\n\t\t\t\tit: \"Sangue\",\r\n\t\t\t\tes: \"Sangre\",\r\n\t\t\t\tfr: \"Sang\",\r\n\t\t\t},\r\n\t\t\t\"TEST-mg\": {\r\n\t\t\t\ten: \"Test\",\r\n\t\t\t\tit: \"Test\",\r\n\t\t\t\tes: \"Test\",\r\n\t\t\t\tfr: \"Test\",\r\n\t\t\t},\r\n\t\t\t\"save-batch-measurements-result\": {\r\n\t\t\t\ten: \"Measurements saved on {0} athletes\",\r\n\t\t\t\tit: \"Misure salvate su {0} atleti\",\r\n\t\t\t\tes: \"Mediciones guardadas en {0} atletas.\",\r\n\t\t\t\tfr: \"Mesures enregistrรฉes sur {0} athlรจtes.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAdvancedBiometricsView: {\r\n\t\t\t\"no-user-measurements\": {\r\n\t\t\t\ten: \"No measurements for this user\",\r\n\t\t\t\tit: \"Nessuna misurazione per questo utente\",\r\n\t\t\t\tes: \"Sin medidas para este usuario\",\r\n\t\t\t\tfr: \"Aucune mesure pour cet utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"user-measures\": {\r\n\t\t\t\ten: \"Measurements\",\r\n\t\t\t\tit: \"Misurazioni\",\r\n\t\t\t\tes: \"Medidas\",\r\n\t\t\t\tfr: \"Mesures\",\r\n\t\t\t},\r\n\t\t\tvariation: {\r\n\t\t\t\ten: \"Variation\",\r\n\t\t\t\tit: \"Variazione\",\r\n\t\t\t\tes: \"Cambio\",\r\n\t\t\t\tfr: \"Variation\",\r\n\t\t\t},\r\n\t\t\tinitial: {\r\n\t\t\t\ten: \"Initial\",\r\n\t\t\t\tit: \"Iniziale\",\r\n\t\t\t\tes: \"Inicial\",\r\n\t\t\t\tfr: \"Initial\",\r\n\t\t\t},\r\n\t\t\tcurrent: {\r\n\t\t\t\ten: \"Current\",\r\n\t\t\t\tit: \"Attuale\",\r\n\t\t\t\tes: \"En curso\",\r\n\t\t\t\tfr: \"Actuel\",\r\n\t\t\t},\r\n\t\t\t\"measurement-events\": {\r\n\t\t\t\ten: \"Measurement Events\",\r\n\t\t\t\tit: \"Eventi di misurazione\",\r\n\t\t\t\tes: \"Herramientas de mediciรณn\",\r\n\t\t\t\tfr: \"ร‰vรฉnements de mesure\",\r\n\t\t\t},\r\n\t\t\tUptivoYMCAStep: {\r\n\t\t\t\ten: \"Uptivo 3M\",\r\n\t\t\t\tit: \"Uptivo 3M\",\r\n\t\t\t\tes: \"Uptivo 3M\",\r\n\t\t\t\tfr: \"Uptivo 3M\",\r\n\t\t\t},\r\n\t\t\t\"UptivoYMCAStep.Score-ms\": {\r\n\t\t\t\ten: \"Uptivo Fitness Test\",\r\n\t\t\t\tit: \"Fitness Test Uptivo\",\r\n\t\t\t\tes: \"Fitness Test Uptivo\",\r\n\t\t\t\tfr: \"Test de condition physique Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"SpO2Prc-sh-ms\": {\r\n\t\t\t\ten: \"SpOโ‚‚\",\r\n\t\t\t\tit: \"SpOโ‚‚\",\r\n\t\t\t\tes: \"SpOโ‚‚\",\r\n\t\t\t\tfr: \"SpOโ‚‚\",\r\n\t\t\t},\r\n\t\t\t\"SpO2Prc-ms\": {\r\n\t\t\t\ten: \"SpOโ‚‚\",\r\n\t\t\t\tit: \"SpOโ‚‚\",\r\n\t\t\t\tes: \"SpOโ‚‚\",\r\n\t\t\t\tfr: \"SpOโ‚‚\",\r\n\t\t\t},\r\n\t\t\t\"SpO2Prc-desc\": {\r\n\t\t\t\ten: \"Oxygen Saturation\",\r\n\t\t\t\tit: \"Saturazione Ossigeno\",\r\n\t\t\t\tes: \"Saturaciรณn de oxรญgeno\",\r\n\t\t\t\tfr: \"Saturation d'oxygรจne\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMin-sh-ms\": {\r\n\t\t\t\ten: \"BP Min\",\r\n\t\t\t\tit: \"PA Min\",\r\n\t\t\t\tes: \"TA Mรญn\",\r\n\t\t\t\tfr: \"TA Min\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMin-ms\": {\r\n\t\t\t\ten: \"Blood Pressure Min\",\r\n\t\t\t\tit: \"Pressione Arteriosa Min\",\r\n\t\t\t\tes: \"Tensiรณn Arterial Mรญnima\",\r\n\t\t\t\tfr: \"Tension Artรฉrielle Min\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMin-desc\": {\r\n\t\t\t\ten: \"Diastolic Blood Pressure\",\r\n\t\t\t\tit: \"Pressione Arteriosa Diastolica\",\r\n\t\t\t\tes: \"Presiรณn Arterial Diastรณlica\",\r\n\t\t\t\tfr: \"Pression Artรฉrielle Diastolique\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMax-sh-ms\": {\r\n\t\t\t\ten: \"BP Max\",\r\n\t\t\t\tit: \"PA Max\",\r\n\t\t\t\tes: \"TA Mรกx\",\r\n\t\t\t\tfr: \"TA Max\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMax-ms\": {\r\n\t\t\t\ten: \"Blood Pressure Max\",\r\n\t\t\t\tit: \"Pressione Arteriosa Massima\",\r\n\t\t\t\tes: \"Tensiรณn Arterial Mรกxima\",\r\n\t\t\t\tfr: \"Tension Artรฉrielle Max\",\r\n\t\t\t},\r\n\t\t\t\"BloodPressureMax-desc\": {\r\n\t\t\t\ten: \"Systolic Blood Pressure\",\r\n\t\t\t\tit: \"Pressione Arteriosa Sistolica\",\r\n\t\t\t\tes: \"Presiรณn Arterial Sistรณlica\",\r\n\t\t\t\tfr: \"Pression Artรฉrielle Systolique\",\r\n\t\t\t},\r\n\t\t\t\"PercentBodyWater-ms\": {\r\n\t\t\t\ten: \"BWP\",\r\n\t\t\t\tit: \"PAC\",\r\n\t\t\t\tes: \"PAC\",\r\n\t\t\t\tfr: \"PEC\",\r\n\t\t\t},\r\n\t\t\t\"PercentBodyWater-desc\": {\r\n\t\t\t\ten: \"Body Water Percentage\",\r\n\t\t\t\tit: \"Percentuale di Acqua Corporea\",\r\n\t\t\t\tes: \"Porcentaje de agua corporal\",\r\n\t\t\t\tfr: \"Pourcentage d'eau corporelle\",\r\n\t\t\t},\r\n\t\t\t\"BoneMass-sh-ms\": {\r\n\t\t\t\ten: \"BM\",\r\n\t\t\t\tit: \"MO\",\r\n\t\t\t\tes: \"MO\",\r\n\t\t\t\tfr: \"MO\",\r\n\t\t\t},\r\n\t\t\t\"BoneMass-ms\": {\r\n\t\t\t\ten: \"Bone Mass\",\r\n\t\t\t\tit: \"Massa Ossea\",\r\n\t\t\t\tes: \"Masa ร“sea\",\r\n\t\t\t\tfr: \"Masse Osseuse\",\r\n\t\t\t},\r\n\t\t\t\"VisceralFatLevel-sh-ms\": {\r\n\t\t\t\ten: \"VF\",\r\n\t\t\t\tit: \"GV\",\r\n\t\t\t\tes: \"GV\",\r\n\t\t\t\tfr: \"GV\",\r\n\t\t\t},\r\n\t\t\t\"VisceralFatLevel-ms\": {\r\n\t\t\t\ten: \"Visceral Fat Level\",\r\n\t\t\t\tit: \"Livello di Grasso Viscerale\",\r\n\t\t\t\tes: \"Nivel de grasa visceral\",\r\n\t\t\t\tfr: \"Niveau de graisse viscรฉrale\",\r\n\t\t\t},\r\n\t\t\t\"PercentBoneMass-sh-ms\": {\r\n\t\t\t\ten: \"BMP\",\r\n\t\t\t\tit: \"PMO\",\r\n\t\t\t\tes: \"PMO\",\r\n\t\t\t\tfr: \"PMO\",\r\n\t\t\t},\r\n\t\t\t\"PercentBoneMass-ms\": {\r\n\t\t\t\ten: \"Bone Mass Percentage\",\r\n\t\t\t\tit: \"Percentuale di Massa Ossea\",\r\n\t\t\t\tes: \"Porcentaje de masa รณsea\",\r\n\t\t\t\tfr: \"Pourcentage de masse osseuse\",\r\n\t\t\t},\r\n\t\t\t\"ChestCirc-sh-ms\": {\r\n\t\t\t\ten: \"Chest\",\r\n\t\t\t\tit: \"Torace\",\r\n\t\t\t\tes: \"Torax\",\r\n\t\t\t\tfr: \"Thorax\",\r\n\t\t\t},\r\n\t\t\t\"ChestCirc-ms\": {\r\n\t\t\t\ten: \"Chest Circumference\",\r\n\t\t\t\tit: \"Circonferenza Toracica\",\r\n\t\t\t\tes: \"Circunferencia del Torax\",\r\n\t\t\t\tfr: \"Tour de Poitrine\",\r\n\t\t\t},\r\n\t\t\t\"WaistCirc-sh-ms\": {\r\n\t\t\t\ten: \"Waist\",\r\n\t\t\t\tit: \"Vita\",\r\n\t\t\t\tes: \"Cintura\",\r\n\t\t\t\tfr: \"Taille\",\r\n\t\t\t},\r\n\t\t\t\"WaistCirc-ms\": {\r\n\t\t\t\ten: \"Waist Circumference\",\r\n\t\t\t\tit: \"Circonferenza della Vita\",\r\n\t\t\t\tes: \"Circunferencia de la Cintura\",\r\n\t\t\t\tfr: \"Tour de Taille\",\r\n\t\t\t},\r\n\t\t\t\"HipCirc-sh-ms\": {\r\n\t\t\t\ten: \"Hip\",\r\n\t\t\t\tit: \"Anche\",\r\n\t\t\t\tes: \"Cadera\",\r\n\t\t\t\tfr: \"Hanche\",\r\n\t\t\t},\r\n\t\t\t\"HipCirc-ms\": {\r\n\t\t\t\ten: \"Hip Circumference\",\r\n\t\t\t\tit: \"Circonferenza all'Anca\",\r\n\t\t\t\tes: \"Circunferencia de la Cadera\",\r\n\t\t\t\tfr: \"Tour de Hanche\",\r\n\t\t\t},\r\n\t\t\t\"ThighCirc-sh-ms\": {\r\n\t\t\t\ten: \"Thigh\",\r\n\t\t\t\tit: \"Coscia\",\r\n\t\t\t\tes: \"Muslo\",\r\n\t\t\t\tfr: \"Cuisse\",\r\n\t\t\t},\r\n\t\t\t\"ThighCirc-ms\": {\r\n\t\t\t\ten: \"Thigh Circumference\",\r\n\t\t\t\tit: \"Circonferenza della Coscia\",\r\n\t\t\t\tes: \"Circunferencia del Muslo\",\r\n\t\t\t\tfr: \"Tour de Cuisse\",\r\n\t\t\t},\r\n\t\t\t\"ArmCirc-sh-ms\": {\r\n\t\t\t\ten: \"Arm\",\r\n\t\t\t\tit: \"Braccio\",\r\n\t\t\t\tes: \"Brazo\",\r\n\t\t\t\tfr: \"Bras\",\r\n\t\t\t},\r\n\t\t\t\"ArmCirc-ms\": {\r\n\t\t\t\ten: \"Arm Circumference\",\r\n\t\t\t\tit: \"Circonferenza del Braccio\",\r\n\t\t\t\tes: \"Circunferencia del Brazo\",\r\n\t\t\t\tfr: \"Circonfรฉrence du Bras\",\r\n\t\t\t},\r\n\t\t\t\"HeartRateAverage-sh-ms\": {\r\n\t\t\t\ten: \"Avg HR\",\r\n\t\t\t\tit: \"FC Med\",\r\n\t\t\t\tes: \"FC Med\",\r\n\t\t\t\tfr: \"FC Moy\",\r\n\t\t\t},\r\n\t\t\t\"HeartRateAverage-ms\": {\r\n\t\t\t\ten: \"Avegage Heart Rate\",\r\n\t\t\t\tit: \"Frequenza Cardiaca Media\",\r\n\t\t\t\tes: \"Frecuencia Cardรญaca Media\",\r\n\t\t\t\tfr: \"Frรฉquence Cardiaque Moyenne\",\r\n\t\t\t},\r\n\t\t\t\"HeartRateRest-sh-ms\": {\r\n\t\t\t\ten: \"Rest HR\",\r\n\t\t\t\tit: \"FC Riposo\",\r\n\t\t\t\tes: \"FC Reposo\",\r\n\t\t\t\tfr: \"FC Repos\",\r\n\t\t\t},\r\n\t\t\t\"HeartRateRest-ms\": {\r\n\t\t\t\ten: \"Rest Heart Rate\",\r\n\t\t\t\tit: \"Frequenza Cardiaca a Riposo\",\r\n\t\t\t\tes: \"Frecuencia Cardรญaca en Reposo\",\r\n\t\t\t\tfr: \"Frรฉquence Cardiaque au Repos\",\r\n\t\t\t},\r\n\t\t\t\"manual-measurements\": {\r\n\t\t\t\ten: \"Manual Measurements\",\r\n\t\t\t\tit: \"Misurazione manuale\",\r\n\t\t\t\tes: \"Mediciones manuales\",\r\n\t\t\t\tfr: \"Mesures manuelles\",\r\n\t\t\t},\r\n\t\t\t\"BloodGlucose-ms\": {\r\n\t\t\t\ten: \"Glucose\",\r\n\t\t\t\tit: \"Glucosio\",\r\n\t\t\t\tes: \"Glucosa\",\r\n\t\t\t\tfr: \"Glycรฉmie\",\r\n\t\t\t},\r\n\t\t\t\"BloodGlucose.1-ms\": {\r\n\t\t\t\ten: \"Glucose 1\",\r\n\t\t\t\tit: \"Glucosio 1\",\r\n\t\t\t\tes: \"Glucosa 1\",\r\n\t\t\t\tfr: \"Glycรฉmie 1\",\r\n\t\t\t},\r\n\t\t\t\"BloodGlucose.2-ms\": {\r\n\t\t\t\ten: \"Glucose 2\",\r\n\t\t\t\tit: \"Glucosio 2\",\r\n\t\t\t\tes: \"Glucosa 2\",\r\n\t\t\t\tfr: \"Glycรฉmie 2\",\r\n\t\t\t},\r\n\t\t\t\"BloodGlucose.3-ms\": {\r\n\t\t\t\ten: \"Glucose 3\",\r\n\t\t\t\tit: \"Glucosio 3\",\r\n\t\t\t\tes: \"Glucosa 3\",\r\n\t\t\t\tfr: \"Glycรฉmie 3\",\r\n\t\t\t},\r\n\t\t\t\"BloodGlucose.4-ms\": {\r\n\t\t\t\ten: \"Glucose 4\",\r\n\t\t\t\tit: \"Glucosio 4\",\r\n\t\t\t\tes: \"Glucosa 4\",\r\n\t\t\t\tfr: \"Glycรฉmie 4\",\r\n\t\t\t},\r\n\t\t\t\"TricepsTK-ms\": {\r\n\t\t\t\ten: \"Tricep\",\r\n\t\t\t\tit: \"Tricipite\",\r\n\t\t\t\tes: \"Trรญceps\",\r\n\t\t\t\tfr: \"Triceps\",\r\n\t\t\t},\r\n\t\t\t\"AbdomenTK-ms\": {\r\n\t\t\t\ten: \"Abdomen\",\r\n\t\t\t\tit: \"Addome\",\r\n\t\t\t\tes: \"Abdomen\",\r\n\t\t\t\tfr: \"Abdomen\",\r\n\t\t\t},\r\n\t\t\t\"SuprailiacTK-ms\": {\r\n\t\t\t\ten: \"Suprailiac\",\r\n\t\t\t\tit: \"Sovrailiaco\",\r\n\t\t\t\tes: \"Suprailรญaco\",\r\n\t\t\t\tfr: \"Supra-iliaque\",\r\n\t\t\t},\r\n\t\t\t\"SubscapularTK-ms\": {\r\n\t\t\t\ten: \"Subscapular\",\r\n\t\t\t\tit: \"Sottoscapolare\",\r\n\t\t\t\tes: \"Subescapular\",\r\n\t\t\t\tfr: \"Sous-scapulaire\",\r\n\t\t\t},\r\n\t\t\t\"AxillaryTK-ms\": {\r\n\t\t\t\ten: \"Axillary\",\r\n\t\t\t\tit: \"Ascellare\",\r\n\t\t\t\tes: \"Axilar\",\r\n\t\t\t\tfr: \"Axillaire\",\r\n\t\t\t},\r\n\t\t\t\"PectoralTK-ms\": {\r\n\t\t\t\ten: \"Pectoral\",\r\n\t\t\t\tit: \"Pettorale\",\r\n\t\t\t\tes: \"Pectoral\",\r\n\t\t\t\tfr: \"Pectoral\",\r\n\t\t\t},\r\n\t\t\t\"ThighTK-ms\": {\r\n\t\t\t\ten: \"Thigh\",\r\n\t\t\t\tit: \"Coscia\",\r\n\t\t\t\tes: \"Muslo\",\r\n\t\t\t\tfr: \"Cuisse\",\r\n\t\t\t},\r\n\t\t\t\"CalfTK-ms\": {\r\n\t\t\t\ten: \"Calf\",\r\n\t\t\t\tit: \"Polpaccio\",\r\n\t\t\t\tes: \"Pantorrilla\",\r\n\t\t\t\tfr: \"Mollet\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tBiometricReportView: {\r\n\t\t\t\"biometric-report\": {\r\n\t\t\t\ten: \"Biometric Report\",\r\n\t\t\t\tit: \"Report Biometrico\",\r\n\t\t\t\tes: \"Informe biomรฉtrico\",\r\n\t\t\t\tfr: \"Rapport biomรฉtrique\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tFitnessTestView: {\r\n\t\t\tFitnessTest: {\r\n\t\t\t\ten: \"Fitness Test\",\r\n\t\t\t\tit: \"Fitness Test\",\r\n\t\t\t\tes: \"Fitness Test\",\r\n\t\t\t\tfr: \"Test de condition physique\",\r\n\t\t\t},\r\n\t\t\tMaxHrThresholdExceeded: {\r\n\t\t\t\ten: \"Heart Rate Exceeded 85% Of Max\",\r\n\t\t\t\tit: \"Frequenza cardiaca superiore a 85%\",\r\n\t\t\t\tes: \"La frecuencia cardรญaca superรณ el 85% de mรกxima\",\r\n\t\t\t\tfr: \"La frรฉquence cardiaque a dรฉpassรฉ 85% de la valeur max.\",\r\n\t\t\t},\r\n\t\t\tStoppedByUser: {\r\n\t\t\t\ten: \"Stopped by user\",\r\n\t\t\t\tit: \"Interrotto dall'utente\",\r\n\t\t\t\tes: \"Detenido por el usuario\",\r\n\t\t\t\tfr: \"Arrรชtรฉ par utilisateur\",\r\n\t\t\t},\r\n\t\t\trating: {\r\n\t\t\t\ten: \"Rating\",\r\n\t\t\t\tit: \"Livello\",\r\n\t\t\t\tes: \"Clasificaciรณn\",\r\n\t\t\t\tfr: \"ร‰valuation\",\r\n\t\t\t},\r\n\t\t\tscore: {\r\n\t\t\t\ten: \"Score\",\r\n\t\t\t\tit: \"Punteggio\",\r\n\t\t\t\tes: \"Puntuaciรณn\",\r\n\t\t\t\tfr: \"Score\",\r\n\t\t\t},\r\n\t\t\t\"Rating.excellent\": {\r\n\t\t\t\ten: \"Excellent\",\r\n\t\t\t\tit: \"Eccellente\",\r\n\t\t\t\tes: \"Excelente\",\r\n\t\t\t\tfr: \"Excellent\",\r\n\t\t\t},\r\n\t\t\t\"Rating.good\": {\r\n\t\t\t\ten: \"Good\",\r\n\t\t\t\tit: \"Buono\",\r\n\t\t\t\tes: \"Bien\",\r\n\t\t\t\tfr: \"Bon\",\r\n\t\t\t},\r\n\t\t\t\"Rating.aboveaverage\": {\r\n\t\t\t\ten: \"Above Average\",\r\n\t\t\t\tit: \"Sopra la media\",\r\n\t\t\t\tes: \"Por encima de la media\",\r\n\t\t\t\tfr: \"Supรฉrieur ร  la moyenne\",\r\n\t\t\t},\r\n\t\t\t\"Rating.average\": {\r\n\t\t\t\ten: \"Average\",\r\n\t\t\t\tit: \"Nella media\",\r\n\t\t\t\tes: \"Promedio\",\r\n\t\t\t\tfr: \"Moyen\",\r\n\t\t\t},\r\n\t\t\t\"Rating.belowaverage\": {\r\n\t\t\t\ten: \"Below Average\",\r\n\t\t\t\tit: \"Sotto la media\",\r\n\t\t\t\tes: \"Por debajo de la media\",\r\n\t\t\t\tfr: \"Infรฉrieur ร  la moyenne\",\r\n\t\t\t},\r\n\t\t\t\"Rating.poor\": {\r\n\t\t\t\ten: \"Poor\",\r\n\t\t\t\tit: \"Scarso\",\r\n\t\t\t\tes: \"Mala\",\r\n\t\t\t\tfr: \"Mauvais\",\r\n\t\t\t},\r\n\t\t\t\"Rating.verypoor\": {\r\n\t\t\t\ten: \"Very Poor\",\r\n\t\t\t\tit: \"Molto scarso\",\r\n\t\t\t\tes: \"Muy pobre\",\r\n\t\t\t\tfr: \"Pas bon\",\r\n\t\t\t},\r\n\t\t\tresults: {\r\n\t\t\t\ten: \"Results\",\r\n\t\t\t\tit: \"Risultati\",\r\n\t\t\t\tes: \"Resultados\",\r\n\t\t\t\tfr: \"Rรฉsultats\",\r\n\t\t\t},\r\n\t\t\t\"heart-rates\": {\r\n\t\t\t\ten: \"Heart Rates\",\r\n\t\t\t\tit: \"Frequenze cardiache\",\r\n\t\t\t\tes: \"Frecuencia cardiaca\",\r\n\t\t\t\tfr: \"Frรฉquences cardiaques\",\r\n\t\t\t},\r\n\t\t\t\"HrPreTest-ms\": {\r\n\t\t\t\ten: \"Pre Test\",\r\n\t\t\t\tit: \"Pre test\",\r\n\t\t\t\tes: \"Prueba previa\",\r\n\t\t\t\tfr: \"Prรฉ-test\",\r\n\t\t\t},\r\n\t\t\t\"HrAt1Min-ms\": {\r\n\t\t\t\ten: \"Rate At 60s\",\r\n\t\t\t\tit: \"Frequenza a 60s\",\r\n\t\t\t\tes: \"Frecuencia a 60s\",\r\n\t\t\t\tfr: \"Frรฉquence ร  60s\",\r\n\t\t\t},\r\n\t\t\t\"HrAt2Min-ms\": {\r\n\t\t\t\ten: \"Rate At 120s\",\r\n\t\t\t\tit: \"Frequenza a 120s\",\r\n\t\t\t\tes: \"Frecuencia a 120s\",\r\n\t\t\t\tfr: \"Frรฉquence ร  120s\",\r\n\t\t\t},\r\n\t\t\t\"HrAt3Min-ms\": {\r\n\t\t\t\ten: \"Rate At 180s\",\r\n\t\t\t\tit: \"Frequenza a 180s\",\r\n\t\t\t\tes: \"Frecuencia a 180s\",\r\n\t\t\t\tfr: \"Frรฉquence ร  180s\",\r\n\t\t\t},\r\n\t\t\t\"Hr1MinPost-ms\": {\r\n\t\t\t\ten: \"Recovery HR At 60s\",\r\n\t\t\t\tit: \"Freq. cardiaca di recupero a 60s\",\r\n\t\t\t\tes: \"Recuperaciรณn de FC a 60 pulsaciones\",\r\n\t\t\t\tfr: \"Rรฉcupรฉration FC ร  60 s.\",\r\n\t\t\t},\r\n\t\t\t\"HrAtStop-ms\": {\r\n\t\t\t\ten: \"Rate At Stop\",\r\n\t\t\t\tit: \"Frequenza allo stop\",\r\n\t\t\t\tes: \"Frecuencia en lo stop\",\r\n\t\t\t\tfr: \"Frรฉquence ร  l'arrรชt\",\r\n\t\t\t},\r\n\t\t\t\"EstimatedVO2Max-ms\": {\r\n\t\t\t\ten: \"Estimated VOโ‚‚ Max\",\r\n\t\t\t\tit: \"Stima VOโ‚‚ max\",\r\n\t\t\t\tes: \"VOโ‚‚ Mรกx. Estimado\",\r\n\t\t\t\tfr: \"VOโ‚‚ max. estimรฉ\",\r\n\t\t\t},\r\n\t\t\tTestInterruptedAtTime: {\r\n\t\t\t\ten: \"Test Interrupted At Time\",\r\n\t\t\t\tit: \"Test interrotto al tempo\",\r\n\t\t\t\tes: \"Prueba interrumpida en el tiempo\",\r\n\t\t\t\tfr: \"Test interrompu ร  Heure\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tBodyCompositionView: {\r\n\t\t\tBodyComposition: {\r\n\t\t\t\ten: \"Body Composition Analysis\",\r\n\t\t\t\tit: \"Analisi Composizione Corporea\",\r\n\t\t\t\tes: \"Anรกlisis composiciรณn corporal\",\r\n\t\t\t\tfr: \"Analyse de la composition corporelle\",\r\n\t\t\t},\r\n\t\t\t\"TotalBodyWater-ms\": {\r\n\t\t\t\ten: \"TBW\",\r\n\t\t\t\tit: \"ACT\",\r\n\t\t\t\tes: \"ACT\",\r\n\t\t\t\tfr: \"MHT\",\r\n\t\t\t},\r\n\t\t\t\"TotalBodyWater-desc\": {\r\n\t\t\t\ten: \"Total Body Water\",\r\n\t\t\t\tit: \"Acqua Corporea Totale\",\r\n\t\t\t\tes: \"Agua Corporal Total\",\r\n\t\t\t\tfr: \"Masse Hydrique Totale\",\r\n\t\t\t},\r\n\t\t\t\"protein-ms\": {\r\n\t\t\t\ten: \"Protein\",\r\n\t\t\t\tit: \"Proteine\",\r\n\t\t\t\tes: \"Proteรญna\",\r\n\t\t\t\tfr: \"Protรฉines\",\r\n\t\t\t},\r\n\t\t\t\"minerals-ms\": {\r\n\t\t\t\ten: \"Minerals\",\r\n\t\t\t\tit: \"Minerali\",\r\n\t\t\t\tes: \"Minerales\",\r\n\t\t\t\tfr: \"Minรฉraux\",\r\n\t\t\t},\r\n\t\t\t\"dry-lean-mass-ms\": {\r\n\t\t\t\ten: \"Dry Lean Mass\",\r\n\t\t\t\tit: \"Massa Muscolare Magra\",\r\n\t\t\t\tes: \"Masa Muscular Magra\",\r\n\t\t\t\tfr: \"Masse Corporelle Maigre\",\r\n\t\t\t},\r\n\t\t\t\"BodyFatMass-sh-ms\": {\r\n\t\t\t\ten: \"BFM\",\r\n\t\t\t\tit: \"MGC\",\r\n\t\t\t\tes: \"MGC\",\r\n\t\t\t\tfr: \"MCG\",\r\n\t\t\t},\r\n\t\t\t\"BodyFatMass-ms\": {\r\n\t\t\t\ten: \"Body Fat Mass\",\r\n\t\t\t\tit: \"Massa Grassa Corporea\",\r\n\t\t\t\tes: \"Masa de Grasa Corporal\",\r\n\t\t\t\tfr: \"Masse Corporelle Grasse\",\r\n\t\t\t},\r\n\t\t\t\"muscle-fat-analysis\": {\r\n\t\t\t\ten: \"Muscle-Fat Analysis\",\r\n\t\t\t\tit: \"Analisi Muscolo-Grasso\",\r\n\t\t\t\tes: \"Anรกlisis de Grasa Muscular\",\r\n\t\t\t\tfr: \"Analyse Muscle-Graisse\",\r\n\t\t\t},\r\n\t\t\t\"SkeletalMuscleMass-ms\": {\r\n\t\t\t\ten: \"SMM\",\r\n\t\t\t\tit: \"MMS\",\r\n\t\t\t\tes: \"MME\",\r\n\t\t\t\tfr: \"MMS\",\r\n\t\t\t},\r\n\t\t\t\"SkeletalMuscleMass-desc\": {\r\n\t\t\t\ten: \"Skeletal Muscle Mass\",\r\n\t\t\t\tit: \"Massa del Muscolo Scheletrico\",\r\n\t\t\t\tes: \"Masa mรบsculo-esquelรฉtica\",\r\n\t\t\t\tfr: \"Masse musculaire squelettique\",\r\n\t\t\t},\r\n\t\t\t\"obesity-analysis\": {\r\n\t\t\t\ten: \"Obesity Analysis\",\r\n\t\t\t\tit: \"Analisi dell'Obesitร \",\r\n\t\t\t\tes: \"Anรกlisis de Obesidad\",\r\n\t\t\t\tfr: \"Analyse d'obรฉsitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"BodyMassIndex-ms\": {\r\n\t\t\t\ten: \"BMI\",\r\n\t\t\t\tit: \"BMI\",\r\n\t\t\t\tes: \"IMC\",\r\n\t\t\t\tfr: \"IMC\",\r\n\t\t\t},\r\n\t\t\t\"BodyMassIndex-desc\": {\r\n\t\t\t\ten: \"Body Mass Index\",\r\n\t\t\t\tit: \"Indice di Massa Corporea\",\r\n\t\t\t\tes: \"รndice de masa corporal\",\r\n\t\t\t\tfr: \"Indice de masse corporelle\",\r\n\t\t\t},\r\n\t\t\t\"IntracellularWater-ms\": {\r\n\t\t\t\ten: \"ICW\",\r\n\t\t\t\tit: \"AIC\",\r\n\t\t\t\tes: \"AIC\",\r\n\t\t\t\tfr: \"EIC\",\r\n\t\t\t},\r\n\t\t\t\"IntracellularWater-desc\": {\r\n\t\t\t\ten: \"Intracellular Water\",\r\n\t\t\t\tit: \"Acqua intracellulare\",\r\n\t\t\t\tes: \"Agua intracelular\",\r\n\t\t\t\tfr: \"Eau intracellulaire\",\r\n\t\t\t},\r\n\t\t\t\"ExtracellularWater-ms\": {\r\n\t\t\t\ten: \"ECW\",\r\n\t\t\t\tit: \"AEC\",\r\n\t\t\t\tes: \"AEC\",\r\n\t\t\t\tfr: \"EEC\",\r\n\t\t\t},\r\n\t\t\t\"ExtracellularWater-desc\": {\r\n\t\t\t\ten: \"Extracellular Water\",\r\n\t\t\t\tit: \"Acqua Extra-Cellulare\",\r\n\t\t\t\tes: \"Agua Extra-Celular\",\r\n\t\t\t\tfr: \"Eau Extra-Cellulaire\",\r\n\t\t\t},\r\n\t\t\t\"BoneMineralContent-ms\": {\r\n\t\t\t\ten: \"Bone Mineral Content\",\r\n\t\t\t\tit: \"Contenuto Minerale Osseo\",\r\n\t\t\t\tes: \"Contenido mineral รณseo\",\r\n\t\t\t\tfr: \"Contenu minรฉral osseux\",\r\n\t\t\t},\r\n\t\t\t\"BodyCellMass-ms\": {\r\n\t\t\t\ten: \"Body Cell Mass\",\r\n\t\t\t\tit: \"Massa cellulare\",\r\n\t\t\t\tes: \"Masa celular\",\r\n\t\t\t\tfr: \"Masse cellulaire\",\r\n\t\t\t},\r\n\t\t\t\"LeftArm-ms\": {\r\n\t\t\t\ten: \"Left Arm\",\r\n\t\t\t\tit: \"Braccio sinistro\",\r\n\t\t\t\tes: \"Brazo izquierdo\",\r\n\t\t\t\tfr: \"Bras gauche\",\r\n\t\t\t},\r\n\t\t\t\"RightArm-ms\": {\r\n\t\t\t\ten: \"Right Arm\",\r\n\t\t\t\tit: \"Braccio destro\",\r\n\t\t\t\tes: \"Brazo derecho\",\r\n\t\t\t\tfr: \"Bras droit\",\r\n\t\t\t},\r\n\t\t\t\"Trunk-ms\": {\r\n\t\t\t\ten: \"Trunk\",\r\n\t\t\t\tit: \"Tronco\",\r\n\t\t\t\tes: \"Tronco\",\r\n\t\t\t\tfr: \"Tronc\",\r\n\t\t\t},\r\n\t\t\t\"LeftLeg-ms\": {\r\n\t\t\t\ten: \"Left Leg\",\r\n\t\t\t\tit: \"Gamba sinistra\",\r\n\t\t\t\tes: \"Pierna izquierda\",\r\n\t\t\t\tfr: \"Jambe gauche\",\r\n\t\t\t},\r\n\t\t\t\"RightLeg-ms\": {\r\n\t\t\t\ten: \"Right Leg\",\r\n\t\t\t\tit: \"Gamba destra\",\r\n\t\t\t\tes: \"Pierna derecha\",\r\n\t\t\t\tfr: \"Jambe droite\",\r\n\t\t\t},\r\n\t\t\t\"CircNeck-sh-ms\": {\r\n\t\t\t\ten: \"Neck Circ.\",\r\n\t\t\t\tit: \"Circ. collo\",\r\n\t\t\t\tes: \"Circ. cuello\",\r\n\t\t\t\tfr: \"Circ. cou\",\r\n\t\t\t},\r\n\t\t\t\"CircLeftArm-sh-ms\": {\r\n\t\t\t\ten: \"Left Arm Circ.\",\r\n\t\t\t\tit: \"Circ. braccio sinistro\",\r\n\t\t\t\tes: \"Circ. brazo izquierdo\",\r\n\t\t\t\tfr: \"Circ. bras gauche\",\r\n\t\t\t},\r\n\t\t\t\"MuscleCircLeftArm-sh-ms\": {\r\n\t\t\t\ten: \"Left Arm Muscle Circ.\",\r\n\t\t\t\tit: \"Circ. muscolare braccio sx\",\r\n\t\t\t\tes: \"Circ. muscular brazo izquierdo\",\r\n\t\t\t\tfr: \"Circ. musculaire bras gauche\",\r\n\t\t\t},\r\n\t\t\t\"CircRightArm-sh-ms\": {\r\n\t\t\t\ten: \"Right Arm Circ.\",\r\n\t\t\t\tit: \"Circ. braccio destro\",\r\n\t\t\t\tes: \"Circ. brazo derecho\",\r\n\t\t\t\tfr: \"Circ. bras droit\",\r\n\t\t\t},\r\n\t\t\t\"CircChest-sh-ms\": {\r\n\t\t\t\ten: \"Chest Circ.\",\r\n\t\t\t\tit: \"Circ. torace\",\r\n\t\t\t\tes: \"Circ. torax\",\r\n\t\t\t\tfr: \"Circ. poitrine\",\r\n\t\t\t},\r\n\t\t\t\"CircAbdomen-sh-ms\": {\r\n\t\t\t\ten: \"Abdomen Circ.\",\r\n\t\t\t\tit: \"Circ. addome\",\r\n\t\t\t\tes: \"Circ. abdomen\",\r\n\t\t\t\tfr: \"Circ. abdomen\",\r\n\t\t\t},\r\n\t\t\t\"CircHip-sh-ms\": {\r\n\t\t\t\ten: \"Hips Circ.\",\r\n\t\t\t\tit: \"Circ. fianchi\",\r\n\t\t\t\tes: \"Circ. caderas\",\r\n\t\t\t\tfr: \"Circ. hanches\",\r\n\t\t\t},\r\n\t\t\t\"CircLeftThigh-sh-ms\": {\r\n\t\t\t\ten: \"Left Thigh Circ.\",\r\n\t\t\t\tit: \"Circ. coscia sinistra\",\r\n\t\t\t\tes: \"Circ. muslo izquierdo\",\r\n\t\t\t\tfr: \"Circ. cuisse gauche\",\r\n\t\t\t},\r\n\t\t\t\"CircRightThigh-sh-ms\": {\r\n\t\t\t\ten: \"Right Thigh Circ.\",\r\n\t\t\t\tit: \"Circ. coscia destra\",\r\n\t\t\t\tes: \"Circ. muslo derecho\",\r\n\t\t\t\tfr: \"Circ. cuisse droit\",\r\n\t\t\t},\r\n\t\t\t\"PercentBodyFat-ms\": {\r\n\t\t\t\ten: \"BFP\",\r\n\t\t\t\tit: \"PGC\",\r\n\t\t\t\tes: \"PGC\",\r\n\t\t\t\tfr: \"IMG\",\r\n\t\t\t},\r\n\t\t\t\"PercentBodyFat-desc\": {\r\n\t\t\t\ten: \"Body Fat Percentage\",\r\n\t\t\t\tit: \"Percentuale di Grasso Corporeo\",\r\n\t\t\t\tes: \"Porcentaje de Grasa Corporal\",\r\n\t\t\t\tfr: \"Indice de masse grasse\",\r\n\t\t\t},\r\n\t\t\t\"segmental-lean-analysis\": {\r\n\t\t\t\ten: \"Segmental Lean Analysis\",\r\n\t\t\t\tit: \"Analisi Massa Magra Segmentale\",\r\n\t\t\t\tes: \"Anรกlisis de masa magra\",\r\n\t\t\t\tfr: \"Analyse segmentaire masse maigre\",\r\n\t\t\t},\r\n\t\t\t\"segmental-fat-analysis\": {\r\n\t\t\t\ten: \"Segmental Fat Analysis\",\r\n\t\t\t\tit: \"Analisi Massa Grassa Segmentale\",\r\n\t\t\t\tes: \"Anรกlisis de Grasa Segmental\",\r\n\t\t\t\tfr: \"Analyse segmentaire masse grasse\",\r\n\t\t\t},\r\n\t\t\t\"ecw-analysis\": {\r\n\t\t\t\ten: \"Extracellular Water Analysis\",\r\n\t\t\t\tit: \"Analisi Acqua Extracellulare\",\r\n\t\t\t\tes: \"Anรกlisis de agua extracelular\",\r\n\t\t\t\tfr: \"Analyse de l'eau extracellulaire\",\r\n\t\t\t},\r\n\t\t\t\"inbody-score\": {\r\n\t\t\t\ten: \"InBody Score\",\r\n\t\t\t\tit: \"Punteggio InBody\",\r\n\t\t\t\tes: \"Puntuaciรณn de InBody\",\r\n\t\t\t\tfr: \"Score InBody\",\r\n\t\t\t},\r\n\t\t\tscore: {\r\n\t\t\t\ten: \"Score\",\r\n\t\t\t\tit: \"Punteggio\",\r\n\t\t\t\tes: \"Puntuaciรณn\",\r\n\t\t\t\tfr: \"Score\",\r\n\t\t\t},\r\n\t\t\t\"weight-control-ms\": {\r\n\t\t\t\ten: \"Weight Contol\",\r\n\t\t\t\tit: \"Controllo del Peso\",\r\n\t\t\t\tes: \"Control de peso\",\r\n\t\t\t\tfr: \"Contrรดle du poids\",\r\n\t\t\t},\r\n\t\t\t\"target-weight-ms\": {\r\n\t\t\t\ten: \"Target Weight\",\r\n\t\t\t\tit: \"Peso Target\",\r\n\t\t\t\tes: \"Peso buscado\",\r\n\t\t\t\tfr: \"Poids cible\",\r\n\t\t\t},\r\n\t\t\t\"fat-control-ms\": {\r\n\t\t\t\ten: \"Fat Control\",\r\n\t\t\t\tit: \"Controllo del Grasso\",\r\n\t\t\t\tes: \"Control de grasa\",\r\n\t\t\t\tfr: \"Contrรดle de la masse grasse\",\r\n\t\t\t},\r\n\t\t\t\"muscle-control-ms\": {\r\n\t\t\t\ten: \"Muscle Control\",\r\n\t\t\t\tit: \"Controllo del Muscolo\",\r\n\t\t\t\tes: \"Control muscular\",\r\n\t\t\t\tfr: \"Contrรดle de la masse musculaire\",\r\n\t\t\t},\r\n\t\t\t\"bf-lb-mass-control\": {\r\n\t\t\t\ten: \"Body Fat-Lean Body Mass Control\",\r\n\t\t\t\tit: \"Controllo Massa Grassa-Magra\",\r\n\t\t\t\tes: \"Control de masa corporal\",\r\n\t\t\t\tfr: \"Contrรดle masse grasse/masse corporelle maigre\",\r\n\t\t\t},\r\n\t\t\t\"waist-hip-ratio\": {\r\n\t\t\t\ten: \"Waist-Hip Ratio\",\r\n\t\t\t\tit: \"Rapporto Cintura-Fianchi\",\r\n\t\t\t\tes: \"Relaciรณn cintura/cadera\",\r\n\t\t\t\tfr: \"Rapport Taille-Hanches\",\r\n\t\t\t},\r\n\t\t\t\"visceral-fat-level\": {\r\n\t\t\t\ten: \"Visceral Fat Level\",\r\n\t\t\t\tit: \"Livello di Grasso Viscerale\",\r\n\t\t\t\tes: \"Nivel de grasa visceral\",\r\n\t\t\t\tfr: \"Niveau de graisse viscรฉrale\",\r\n\t\t\t},\r\n\t\t\t\"research-parameters\": {\r\n\t\t\t\ten: \"Research Parameters\",\r\n\t\t\t\tit: \"Parametri di Ricerca\",\r\n\t\t\t\tes: \"Parรกmetros de investigaciรณn\",\r\n\t\t\t\tfr: \"Paramรจtres de recherche\",\r\n\t\t\t},\r\n\t\t\t\"BasalMetabolicRate-ms\": {\r\n\t\t\t\ten: \"Basal Metabolic Rate\",\r\n\t\t\t\tit: \"Tasso Metabolico Basale\",\r\n\t\t\t\tes: \"Tasa metabรณlica basal\",\r\n\t\t\t\tfr: \"Mรฉtabolisme basal\",\r\n\t\t\t},\r\n\t\t\t\"BasalMetabolicRate-sh-ms\": {\r\n\t\t\t\ten: \"BMR\",\r\n\t\t\t\tit: \"BMR\",\r\n\t\t\t\tes: \"BMR\",\r\n\t\t\t\tfr: \"BMR\",\r\n\t\t\t},\r\n\t\t\t\"obesity-degree\": {\r\n\t\t\t\ten: \"Obesity Degree\",\r\n\t\t\t\tit: \"Grado di Obesitร \",\r\n\t\t\t\tes: \"Grado de obesidad\",\r\n\t\t\t\tfr: \"Degrรฉ d'obรฉsitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"FatFreeMass-sh-ms\": {\r\n\t\t\t\ten: \"LeanM\",\r\n\t\t\t\tit: \"MMM\",\r\n\t\t\t\tes: \"MMM\",\r\n\t\t\t\tfr: \"MMM\",\r\n\t\t\t},\r\n\t\t\t\"FatFreeMass-ms\": {\r\n\t\t\t\ten: \"Lean Mass\",\r\n\t\t\t\tit: \"Massa Muscolare Magra\",\r\n\t\t\t\tes: \"Masa Muscular Magra\",\r\n\t\t\t\tfr: \"Masse Musculaire Maigre\",\r\n\t\t\t},\r\n\t\t\t\"body-measurements\": {\r\n\t\t\t\ten: \"Body Measurements\",\r\n\t\t\t\tit: \"Misure corporee\",\r\n\t\t\t\tes: \"Medidas del cuerpo\",\r\n\t\t\t\tfr: \"Mesures du corps\",\r\n\t\t\t},\r\n\t\t\t\"body-water-composition\": {\r\n\t\t\t\ten: \"Body Water Composition\",\r\n\t\t\t\tit: \"Composizione acqua corporea\",\r\n\t\t\t\tes: \"Composiciรณn de agua corporal\",\r\n\t\t\t\tfr: \"Composition de l'eau du corps\",\r\n\t\t\t},\r\n\t\t\t\"segmental-water-analysis\": {\r\n\t\t\t\ten: \"Segmental Water Analysis\",\r\n\t\t\t\tit: \"Analisi acqua segmentale\",\r\n\t\t\t\tes: \"Anรกlisis de agua segmental\",\r\n\t\t\t\tfr: \"Analyse de l'eau segmentaire\",\r\n\t\t\t},\r\n\t\t\t\"visceral-fat-area\": {\r\n\t\t\t\ten: \"Visceral Fat Area\",\r\n\t\t\t\tit: \"Area grasso viscerale\",\r\n\t\t\t\tes: \"รrea de grasa visceral\",\r\n\t\t\t\tfr: \"Zone de graisse viscรฉrale\",\r\n\t\t\t},\r\n\t\t\t\"tbw-ffm\": {\r\n\t\t\t\ten: \"TBW/FFM\",\r\n\t\t\t\tit: \"ACT/MMC\",\r\n\t\t\t\tes: \"ACT/MMC\",\r\n\t\t\t\tfr: \"MHT/MMC\",\r\n\t\t\t},\r\n\t\t\tFatFreeMassIndex: {\r\n\t\t\t\ten: \"Fat Free Mass Index\",\r\n\t\t\t\tit: \"Indice Massa Magra Alipidica\",\r\n\t\t\t\tes: \"รndice de masa magro\",\r\n\t\t\t\tfr: \"Indice de masse maigre\",\r\n\t\t\t},\r\n\t\t\tFatMassIndex: {\r\n\t\t\t\ten: \"Fat Mass Index\",\r\n\t\t\t\tit: \"Indice Massa Grassa\",\r\n\t\t\t\tes: \"รndice de masa grasa\",\r\n\t\t\t\tfr: \"Indice de masse grasse\",\r\n\t\t\t},\r\n\t\t\t\"ECWTBWRatio-sh-ms\": {\r\n\t\t\t\ten: \"ECW/TBW\",\r\n\t\t\t\tit: \"AEC/ACT\",\r\n\t\t\t\tes: \"AEC/ACT\",\r\n\t\t\t\tfr: \"EEC/MHT\",\r\n\t\t\t},\r\n\t\t\t\"ECWTBWRatio-ms\": {\r\n\t\t\t\ten: \"ECW/TBW Ratio\",\r\n\t\t\t\tit: \"Rapporto AEC/ACT\",\r\n\t\t\t\tes: \"Proporciรณn AEC/ACT\",\r\n\t\t\t\tfr: \"Rapport EEC/MHT\",\r\n\t\t\t},\r\n\t\t\t\"ECWTBWRatio-desc\": {\r\n\t\t\t\ten: \"Extra-Cellular Water / Total Body Water Ratio\",\r\n\t\t\t\tit: \"Rapporto Acqua Extra-Cellulare / Acqua Corporea Totale\",\r\n\t\t\t\tes: \"Proporciรณn Agua Extra-Celular / Agua Corporal Total\",\r\n\t\t\t\tfr: \"Rapport Eau Extra-Cellulaire / Masse Hydrique Totale\",\r\n\t\t\t},\r\n\t\t\t\"segmental-ecwtbw-analysis\": {\r\n\t\t\t\ten: \"Segmental ECW/TBW Ratio Analysis\",\r\n\t\t\t\tit: \"Analisi rapporto AEC/ACT segmentale\",\r\n\t\t\t\tes: \"Anรกlisis de la proporciรณn AEC/ACT segmentaria\",\r\n\t\t\t\tfr: \"Analyse du rapport EEC/MHT segmentaire\",\r\n\t\t\t},\r\n\t\t\t\"phase-angles\": {\r\n\t\t\t\ten: \"Phase Angles\",\r\n\t\t\t\tit: \"Angoli di fase\",\r\n\t\t\t\tes: \"รngulos de fase\",\r\n\t\t\t\tfr: \"Angles de phase\",\r\n\t\t\t},\r\n\t\t\tunder: {\r\n\t\t\t\ten: \"Under\",\r\n\t\t\t\tit: \"Sotto\",\r\n\t\t\t\tes: \"Por debajo\",\r\n\t\t\t\tfr: \"Infรฉrieur\",\r\n\t\t\t},\r\n\t\t\tnormal: {\r\n\t\t\t\ten: \"Normal\",\r\n\t\t\t\tit: \"Normale\",\r\n\t\t\t\tes: \"Normal\",\r\n\t\t\t\tfr: \"Normal\",\r\n\t\t\t},\r\n\t\t\tover: {\r\n\t\t\t\ten: \"Over\",\r\n\t\t\t\tit: \"Sopra\",\r\n\t\t\t\tes: \"Por encima\",\r\n\t\t\t\tfr: \"Supรฉrieur\",\r\n\t\t\t},\r\n\t\t\thigh: {\r\n\t\t\t\ten: \"High\",\r\n\t\t\t\tit: \"Alto\",\r\n\t\t\t\tes: \"Alto\",\r\n\t\t\t\tfr: \"ร‰levรฉ\",\r\n\t\t\t},\r\n\t\t\t\"very-high\": {\r\n\t\t\t\ten: \"Very High\",\r\n\t\t\t\tit: \"Molto Alto\",\r\n\t\t\t\tes: \"Muy alto\",\r\n\t\t\t\tfr: \"Trรจs รฉlevรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tMenu: {\r\n\t\t\t\"user-profile\": {\r\n\t\t\t\ten: \"User Profile\",\r\n\t\t\t\tit: \"Profilo Utente\",\r\n\t\t\t\tes: \"Perfil de usuario\",\r\n\t\t\t\tfr: \"Profil utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"my-journal\": {\r\n\t\t\t\ten: \"My Journal\",\r\n\t\t\t\tit: \"Il Mio Diario\",\r\n\t\t\t\tes: \"Mi Seguimiento\",\r\n\t\t\t\tfr: \"Mon journal\",\r\n\t\t\t},\r\n\t\t\tsummary: {\r\n\t\t\t\ten: \"Summary\",\r\n\t\t\t\tit: \"Riepilogo\",\r\n\t\t\t\tes: \"Resumen\",\r\n\t\t\t\tfr: \"Rรฉsumรฉ\",\r\n\t\t\t},\r\n\t\t\t\"club-profile\": {\r\n\t\t\t\ten: \"Club Profile\",\r\n\t\t\t\tit: \"Profilo Club\",\r\n\t\t\t\tes: \"Perfil del club\",\r\n\t\t\t\tfr: \"Profil du club\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubSlideShowsView: {\r\n\t\t\tslideshow: {\r\n\t\t\t\ten: \"Slideshows\",\r\n\t\t\t\tit: \"Slideshow\",\r\n\t\t\t\tes: \"Slideshow\",\r\n\t\t\t\tfr: \"Slideshow\",\r\n\t\t\t},\r\n\t\t\t\"random-order\": {\r\n\t\t\t\ten: \"Random Order\",\r\n\t\t\t\tit: \"Ordine casuale\",\r\n\t\t\t\tes: \"Orden aleatorio\",\r\n\t\t\t\tfr: \"Ordre alรฉatoire\",\r\n\t\t\t},\r\n\t\t\t\"slideshow-text\": {\r\n\t\t\t\ten: \"Display a slideshow on your Uptivo monitors during quiet hours. You can use the default Uptivo slideshow, or upload one or more images to your liking (Fullscreen 1920x1005, Half screen 960x1005).\",\r\n\t\t\t\tit: \"Scegli cosa visualizzare sui monitor Uptivo quando non ci sono allenamenti in corso. Puoi mostrare lo slideshow Uptivo (selezione predefinita) o caricare una o piรน immagini a tua scelta (Fullscreen 1920x1005, Half screen 960x1005).\",\r\n\t\t\t\tes: \"Muestre una presentaciรณn de diapositivas en sus monitores Uptivo durante horas tranquilas. Puede usar la presentaciรณn de diapositivas Uptivo predeterminada o cargar una o mรกs imรกgenes a su gusto (Fullscreen 1920x1005, Half screen 960x1005).\",\r\n\t\t\t\tfr: \"Affichez un diaporama sur vos moniteurs Uptivo pendant les heures calmes. Vous pouvez utiliser le diaporama Uptivo par dรฉfaut ou tรฉlรฉcharger une ou plusieurs images ร  votre convenance (Fullscreen 1920x1005, Half screen 960x1005).\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubLicensesWarningView: {\r\n\t\t\t\"warning-upper\": {\r\n\t\t\t\ten: \"WARNING!\",\r\n\t\t\t\tit: \"ATTENZIONE!\",\r\n\t\t\t\tes: \"ยกADVERTENCIA!\",\r\n\t\t\t\tfr: \"ATTENTION!\",\r\n\t\t\t},\r\n\t\t\t\"club-no-license\": {\r\n\t\t\t\ten: \"The Uptivo Cloud license for {0} does not exist.\",\r\n\t\t\t\tit: \"{0} non ha una licenza Uptivo Cloud.\",\r\n\t\t\t\tes: \"{0} no tiene una licencia Uptivo Cloud.\",\r\n\t\t\t\tfr: \"{0} n'a pas de licence Uptivo Cloud.\",\r\n\t\t\t},\r\n\t\t\t\"club-license-expired\": {\r\n\t\t\t\ten: \"The Uptivo Cloud license for {0} has expired on {1}.\",\r\n\t\t\t\tit: \"La licenza Uptivo Cloud di {0} รจ scaduta il {1}.\",\r\n\t\t\t\tes: \"La licencia Uptivo Cloud de {0} expirรณ el {1}.\",\r\n\t\t\t\tfr: \"La licence Uptivo Cloud de {0} a expirรฉ le {1}.\",\r\n\t\t\t},\r\n\t\t\t\"club-license-expiring\": {\r\n\t\t\t\ten: \"The Uptivo Cloud license for {0} will expire on {1}. The system will automatically deactivate upon expiration.\",\r\n\t\t\t\tit: \"La licenza Uptivo Cloud di {0} scadrร  il {1}. Il sistema verrร  automaticamente disattivato alla scadenza.\",\r\n\t\t\t\tes: \"La licencia Uptivo Cloud de {0} expira el {1}. El sistema se desactivarรก automรกticamente al expirar.\",\r\n\t\t\t\tfr: \"La licence Uptivo Cloud de {0} expire le {1}. Le systรจme se dรฉsactivera automatiquement ร  l'expiration.\",\r\n\t\t\t},\r\n\t\t\t\"please-contact\": {\r\n\t\t\t\ten: 'Please contact sales@uptivo.fit for more information.',\r\n\t\t\t\tit: 'Contatta sales@uptivo.fit per maggiori informazioni.',\r\n\t\t\t\tes: 'Pรณngase en contacto con sales@uptivo.fit para mรกs informaciรณn.',\r\n\t\t\t\tfr: 'Contactez sales@uptivo.fit pour plus d\\'informations.',\r\n\t\t\t},\r\n\t\t},\r\n\t\tTimersView: {\r\n\t\t\ttimer: {\r\n\t\t\t\ten: \"Timer\",\r\n\t\t\t\tit: \"Timer\",\r\n\t\t\t\tes: \"Temporizador\",\r\n\t\t\t\tfr: \"Chrono\",\r\n\t\t\t},\r\n\t\t\t\"timer-name\": {\r\n\t\t\t\ten: \"Timer Name\",\r\n\t\t\t\tit: \"Nome Timer\",\r\n\t\t\t\tes: \"Nombre del temporizador\",\r\n\t\t\t\tfr: \"Nom de chrono\",\r\n\t\t\t},\r\n\t\t\t\"circuit-timers\": {\r\n\t\t\t\ten: \"Circuit Timers\",\r\n\t\t\t\tit: \"Timer Circuiti\",\r\n\t\t\t\tes: \"Temporizadores de Circuito\",\r\n\t\t\t\tfr: \"Chronos de Circuit\",\r\n\t\t\t},\r\n\t\t\t\"create-timer\": {\r\n\t\t\t\ten: \"Create Timer\",\r\n\t\t\t\tit: \"Crea Timer\",\r\n\t\t\t\tes: \"Crear temporizador\",\r\n\t\t\t\tfr: \"Crรฉer un chrono\",\r\n\t\t\t},\r\n\t\t\t\"edit-timer\": {\r\n\t\t\t\ten: \"Edit Timer\",\r\n\t\t\t\tit: \"Modifica Timer\",\r\n\t\t\t\tes: \"Editar temporizador\",\r\n\t\t\t\tfr: \"Modifier un chrono\",\r\n\t\t\t},\r\n\t\t\twarmup: {\r\n\t\t\t\ten: \"Warm-up\",\r\n\t\t\t\tit: \"Preparazione\",\r\n\t\t\t\tes: \"Calentamiento\",\r\n\t\t\t\tfr: \"ร‰chauffement\",\r\n\t\t\t},\r\n\t\t\texercises: {\r\n\t\t\t\ten: \"Exercises\",\r\n\t\t\t\tit: \"Esercizi\",\r\n\t\t\t\tes: \"Ejercicios\",\r\n\t\t\t\tfr: \"Exercices\",\r\n\t\t\t},\r\n\t\t\trest: {\r\n\t\t\t\ten: \"Rest\",\r\n\t\t\t\tit: \"Pausa\",\r\n\t\t\t\tes: \"Descanso\",\r\n\t\t\t\tfr: \"Repos\",\r\n\t\t\t},\r\n\t\t\t\"reps-range\": {\r\n\t\t\t\ten: \"Reps Range\",\r\n\t\t\t\tit: \"Intervallo Ripetizioni\",\r\n\t\t\t\tes: \"Rango de repeticiones\",\r\n\t\t\t\tfr: \"Plage de rรฉpรฉtitions\",\r\n\t\t\t},\r\n\t\t\tlaps: {\r\n\t\t\t\ten: \"Rounds\",\r\n\t\t\t\tit: \"Circuiti\",\r\n\t\t\t\tes: \"Rondas\",\r\n\t\t\t\tfr: \"Manches\",\r\n\t\t\t},\r\n\t\t\tcooldown: {\r\n\t\t\t\ten: \"Cool Down\",\r\n\t\t\t\tit: \"Pausa Circuiti\",\r\n\t\t\t\tes: \"Descanso Ronda\",\r\n\t\t\t\tfr: \"Retour au calme\",\r\n\t\t\t},\r\n\t\t\t\"duration-format\": {\r\n\t\t\t\ten: \"Enter a duration value in format mm:ss (ex: 01:30)\",\r\n\t\t\t\tit: \"Inserisci una durata nel formato mm:ss (es: 01:30)\",\r\n\t\t\t\tes: \"Inserte un valor de duraciรณn en formato mm:ss (ej. 01:30)\",\r\n\t\t\t\tfr: \"Saisir une valeur de durรฉe au format mm:ss (ex: 01:30)\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tContextSelectorView: {\r\n\t\t\t\"selected-club\": {\r\n\t\t\t\ten: \"Selected Club\",\r\n\t\t\t\tit: \"Club Selezionato\",\r\n\t\t\t\tes: \"Club Seleccionado\",\r\n\t\t\t\tfr: \"Club Sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubSensorsView: {\r\n\t\t\t\"fitness-sensors\": {\r\n\t\t\t\ten: \"Fitness Sensors\",\r\n\t\t\t\tit: \"Sensori Fitness\",\r\n\t\t\t\tes: \"Sensores Fitness\",\r\n\t\t\t\tfr: \"Capteurs Fitness\",\r\n\t\t\t},\r\n\t\t\t\"add-fitness-sensor\": {\r\n\t\t\t\ten: \"Add Fitness Sensor\",\r\n\t\t\t\tit: \"Aggiungi Sensore Fitness\",\r\n\t\t\t\tes: \"Agregar Sensor De Fitness\",\r\n\t\t\t\tfr: \"Ajouter Un Capteur De Fitness\",\r\n\t\t\t},\r\n\t\t\t\"add-uptivo-tracking-sensors\": {\r\n\t\t\t\ten: \"Add Uptivo Tracking Sensors\",\r\n\t\t\t\tit: \"Aggiungi Uptivo Tracking Sensor\",\r\n\t\t\t\tes: \"Agregar Uptivo Tracking Sensors\",\r\n\t\t\t\tfr: \"Ajouter Uptivo Tracking Sensors\",\r\n\t\t\t},\r\n\t\t\t\"other-devices\": {\r\n\t\t\t\ten: \"Other Devices\",\r\n\t\t\t\tit: \"Altri Dispositivi\",\r\n\t\t\t\tes: \"Otros dispositivos\",\r\n\t\t\t\tfr: \"Autres appareils\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-boxing-trackers\": {\r\n\t\t\t\ten: \"Uptivo Boxing Trackers\",\r\n\t\t\t\tit: \"Uptivo Boxing Trackers\",\r\n\t\t\t\tes: \"Uptivo Boxing Trackers\",\r\n\t\t\t\tfr: \"Uptivo Boxing Trackers\",\r\n\t\t\t},\r\n\t\t\t\"device-exists\": {\r\n\t\t\t\ten: \"A device with the same Id {0} already exists in the club!\",\r\n\t\t\t\tit: \"Un dispositivo con lo stesso ID {0} esiste giร  nel club!\",\r\n\t\t\t\tes: \"ยกYa existe un dispositivo con el mismo ID {0} en el club!\",\r\n\t\t\t\tfr: \"Un appareil avec le mรชme identifiant {0} existe dรฉjร  dans le club!\",\r\n\t\t\t},\r\n\t\t\tbike: {\r\n\t\t\t\ten: \"Bike\",\r\n\t\t\t\tit: \"Bike\",\r\n\t\t\t\tes: \"Bici\",\r\n\t\t\t\tfr: \"Vรฉlo\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tIntensityFlowsView: {\r\n\t\t\t\"duration-error\": {\r\n\t\t\t\ten: \"Duration must be at least 15 seconds.\",\r\n\t\t\t\tit: \"La durata deve essere di almeno 15 secondi.\",\r\n\t\t\t\tes: \"La duraciรณn debe ser de al menos 15 segundos.\",\r\n\t\t\t\tfr: \"La durรฉe doit รชtre d'au moins 15 secondes.\",\r\n\t\t\t},\r\n\t\t\tsegments: {\r\n\t\t\t\ten: \"Segments\",\r\n\t\t\t\tit: \"Segmenti\",\r\n\t\t\t\tes: \"Segmentos\",\r\n\t\t\t\tfr: \"Segments\",\r\n\t\t\t},\r\n\t\t\t\"begin-error\": {\r\n\t\t\t\ten: \"Begin values must generate a duration of at least 15 seconds.\",\r\n\t\t\t\tit: \"I valori di inizio devono generare una durata di almeno 15 secondi.\",\r\n\t\t\t\tes: \"Los valores iniciales deben generar una duraciรณn de al menos 15 segundos.\",\r\n\t\t\t\tfr: \"Les valeurs de dรฉpart doivent gรฉnรฉrer une durรฉe d'au moins 15 secondes.\",\r\n\t\t\t},\r\n\t\t\t\"start-time\": {\r\n\t\t\t\ten: \"Begin\",\r\n\t\t\t\tit: \"Inizio\",\r\n\t\t\t\tes: \"Inicio\",\r\n\t\t\t\tfr: \"Dรฉpart\",\r\n\t\t\t},\r\n\t\t\t\"intensity-flows\": {\r\n\t\t\t\ten: \"Intensity Flows\",\r\n\t\t\t\tit: \"Intensity Flow\",\r\n\t\t\t\tes: \"Intensity Flow\",\r\n\t\t\t\tfr: \"Intensity Flow\",\r\n\t\t\t},\r\n\t\t\tflow: {\r\n\t\t\t\ten: \"Flow\",\r\n\t\t\t\tit: \"Flow\",\r\n\t\t\t\tes: \"Flow\",\r\n\t\t\t\tfr: \"Flow\",\r\n\t\t\t},\r\n\t\t\t\"edit-intensity-flow\": {\r\n\t\t\t\ten: \"Edit Intensity Flow\",\r\n\t\t\t\tit: \"Modifica Intensity Flow\",\r\n\t\t\t\tes: \"Editar Intensity Flow\",\r\n\t\t\t\tfr: \"Modifier Intensity Flow\",\r\n\t\t\t},\r\n\t\t\t\"create-intensity-flow\": {\r\n\t\t\t\ten: \"Create Intensity Flow\",\r\n\t\t\t\tit: \"Crea nuovo Intensity Flow\",\r\n\t\t\t\tes: \"Crear un nuevo Intensity Flow\",\r\n\t\t\t\tfr: \"Crรฉer un nouvel Intensity Flow\",\r\n\t\t\t},\r\n\t\t\t\"avg-intensity\": {\r\n\t\t\t\ten: \"Avg Intensity\",\r\n\t\t\t\tit: \"Intensitร  Med\",\r\n\t\t\t\tes: \"Intensidad promedio\",\r\n\t\t\t\tfr: \"Intensitรฉ moy.\",\r\n\t\t\t},\r\n\t\t\tintensity: {\r\n\t\t\t\ten: \"% Intensity\",\r\n\t\t\t\tit: \"% Intensitร \",\r\n\t\t\t\tes: \"% Intensidad\",\r\n\t\t\t\tfr: \"% Intensitรฉ\",\r\n\t\t\t},\r\n\t\t\t\"total-duration\": {\r\n\t\t\t\ten: \"Total duration\",\r\n\t\t\t\tit: \"Durata totale\",\r\n\t\t\t\tes: \"Duraciรณn total\",\r\n\t\t\t\tfr: \"Durรฉe totale\",\r\n\t\t\t},\r\n\t\t\t\"use-cadence\": {\r\n\t\t\t\ten: \"Use Cadence\",\r\n\t\t\t\tit: \"Usa Cadenza\",\r\n\t\t\t\tes: \"Usar Cadencia\",\r\n\t\t\t\tfr: \"Utiliser Cadence\",\r\n\t\t\t},\r\n\t\t\trpm: {\r\n\t\t\t\ten: \"RPM\",\r\n\t\t\t\tit: \"RPM\",\r\n\t\t\t\tes: \"RPM\",\r\n\t\t\t\tfr: \"RPM\",\r\n\t\t\t},\r\n\t\t\tno: {\r\n\t\t\t\ten: \"No\",\r\n\t\t\t\tit: \"No\",\r\n\t\t\t\tes: \"No\",\r\n\t\t\t\tfr: \"Non\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubProfileView: {\r\n\t\t\t\"max-weekly-bookings\": {\r\n\t\t\t\ten: \"Max Weekly Bookings\",\r\n\t\t\t\tit: \"Prenotazioni Massime Settimanali\",\r\n\t\t\t\tes: \"Reservas Mรกximas Semanales\",\r\n\t\t\t\tfr: \"Rรฉservations Hebdomadaires Max\",\r\n\t\t\t},\r\n\t\t\t\"max-monthly-bookings\": {\r\n\t\t\t\ten: \"Max Monthly Bookings\",\r\n\t\t\t\tit: \"Prenotazioni Massime Mensili\",\r\n\t\t\t\tes: \"Reservas Mรกximas Mensuales\",\r\n\t\t\t\tfr: \"Rรฉservations Mensuelles Max\",\r\n\t\t\t},\r\n\t\t\t\"booking-limits\": {\r\n\t\t\t\ten: \"Limits (without subscriptions)\",\r\n\t\t\t\tit: \"Limiti (in assenza abbonamenti)\",\r\n\t\t\t\tes: \"Lรญmites (sin suscripciones)\",\r\n\t\t\t\tfr: \"Limites (sans abonnements)\",\r\n\t\t\t},\r\n\t\t\tbookings: {\r\n\t\t\t\ten: \"Bookings\",\r\n\t\t\t\tit: \"Prenotazioni\",\r\n\t\t\t\tes: \"Reservas\",\r\n\t\t\t\tfr: \"Rรฉservations\",\r\n\t\t\t},\r\n\t\t\t\"athlete-age-period\": {\r\n\t\t\t\ten: 'Display \"new user\" dots for 3 periods of',\r\n\t\t\t\tit: 'Mostra pallini \"nuovo utente\" per 3 periodi di',\r\n\t\t\t\tes: 'Mostrar puntos de \"nuevo usuario\" durante 3 perรญodos de',\r\n\t\t\t\tfr: 'Afficher les points \"nouvel utilisateur\" pendant 3 pรฉriodes de',\r\n\t\t\t},\r\n\t\t\t\"welcome-users-after\": {\r\n\t\t\t\ten: \"Welcome users who return after\",\r\n\t\t\t\tit: \"Dร  il benvenuto a utente che torna dopo\",\r\n\t\t\t\tes: \"Bienvenido a un usuario que vuelve despuรฉs de\",\r\n\t\t\t\tfr: \"Bienvenue ร  un utilisateur qui revient aprรจs\",\r\n\t\t\t},\r\n\t\t\t\"remind-users-use-uptivo\": {\r\n\t\t\t\ten: \"Remind users to use Uptivo after\",\r\n\t\t\t\tit: \"Ricorda all'utente di usare Uptivo dopo\",\r\n\t\t\t\tes: \"Recuรฉrdale al usuario que utilice Uptivo despuรฉs de\",\r\n\t\t\t\tfr: \"Rappelez ร  l'utilisateur d'utiliser Uptivo aprรจs\",\r\n\t\t\t},\r\n\t\t\t\"first-training-welcome\": {\r\n\t\t\t\ten: \"First Training Email\",\r\n\t\t\t\tit: \"Email al primo allenamento\",\r\n\t\t\t\tes: \"Correo electrรณnico en el primer entrenamiento\",\r\n\t\t\t\tfr: \"E-mail au premier entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"x-weeks\": {\r\n\t\t\t\ten: \"{0} weeks\",\r\n\t\t\t\tit: \"{0} settimane\",\r\n\t\t\t\tes: \"{0} semanas\",\r\n\t\t\t\tfr: \"{0} semaines\",\r\n\t\t\t},\r\n\t\t\t\"club-information\": {\r\n\t\t\t\ten: \"Club Profile\",\r\n\t\t\t\tit: \"Profilo Del Club\",\r\n\t\t\t\tes: \"Perfil Del Club\",\r\n\t\t\t\tfr: \"Profil Du Club\",\r\n\t\t\t},\r\n\t\t\ttags: {\r\n\t\t\t\ten: \"Groups\",\r\n\t\t\t\tit: \"Gruppi\",\r\n\t\t\t\tes: \"Grupos\",\r\n\t\t\t\tfr: \"Groupes\",\r\n\t\t\t},\r\n\t\t\t\"default-booking-settings\": {\r\n\t\t\t\ten: \"Default Booking Settings\",\r\n\t\t\t\tit: \"Impostazioni Prenotazione Predefinite\",\r\n\t\t\t\tes: \"Configuraciรณn De Reserva Predeterminada\",\r\n\t\t\t\tfr: \"Paramรจtres De Rรฉservation Par Dรฉfaut\",\r\n\t\t\t},\r\n\t\t\t\"club-name\": {\r\n\t\t\t\ten: \"Club Name\",\r\n\t\t\t\tit: \"Nome Club\",\r\n\t\t\t\tes: \"Nombre del club\",\r\n\t\t\t\tfr: \"Nom du club\",\r\n\t\t\t},\r\n\t\t\t\"club-exists\": {\r\n\t\t\t\ten: \"Club '{0}' already exists!\",\r\n\t\t\t\tit: \"Il club con nome '{0}' esiste giร !\",\r\n\t\t\t\tes: \"ยกClub '{0}' ya existe!\",\r\n\t\t\t\tfr: \"Le club '{0}' existe dรฉjร !\",\r\n\t\t\t},\r\n\t\t\t\"delete-club\": {\r\n\t\t\t\ten: \"Delete Club\",\r\n\t\t\t\tit: \"Elimina Club\",\r\n\t\t\t\tes: \"Eliminar club\",\r\n\t\t\t\tfr: \"Supprimer le club\",\r\n\t\t\t},\r\n\t\t\taddress: {\r\n\t\t\t\ten: \"Address\",\r\n\t\t\t\tit: \"Indirizzo\",\r\n\t\t\t\tes: \"Direcciรณn\",\r\n\t\t\t\tfr: \"Adresse\",\r\n\t\t\t},\r\n\t\t\twebsite: {\r\n\t\t\t\ten: \"Web Site\",\r\n\t\t\t\tit: \"Sito Web\",\r\n\t\t\t\tes: \"Web del sitio\",\r\n\t\t\t\tfr: \"Site web\",\r\n\t\t\t},\r\n\t\t\t\"club-policy\": {\r\n\t\t\t\ten: \"Club Policy\",\r\n\t\t\t\tit: \"Club Policy\",\r\n\t\t\t\tes: \"Club Policy\",\r\n\t\t\t\tfr: \"Club Policy\",\r\n\t\t\t},\r\n\t\t\t\"club-profile\": {\r\n\t\t\t\ten: \"Club Profile\",\r\n\t\t\t\tit: \"Profilo Club\",\r\n\t\t\t\tes: \"Perfil del club\",\r\n\t\t\t\tfr: \"Profil du club\",\r\n\t\t\t},\r\n\t\t\t\"add-club\": {\r\n\t\t\t\ten: \"Add Club\",\r\n\t\t\t\tit: \"Aggiungi Club\",\r\n\t\t\t\tes: \"Agregar Club\",\r\n\t\t\t\tfr: \"Ajouter un club\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-bar-preview\": {\r\n\t\t\t\ten: \"Preview of Uptivo Bridge\",\r\n\t\t\t\tit: \"Anteprima di Uptivo Bridge\",\r\n\t\t\t\tes: \"Vista previa de Uptivo Bridge\",\r\n\t\t\t\tfr: \"Aperรงu de Uptivo Bridge\",\r\n\t\t\t},\r\n\t\t\t\"enable-user-rankings\": {\r\n\t\t\t\ten: \"Enable the Users Rankings\",\r\n\t\t\t\tit: \"Abilita le classifiche degli utenti\",\r\n\t\t\t\tes: \"Activar las clasificaciones de los usuarios\",\r\n\t\t\t\tfr: \"Activer le classement des utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"enable-trainer-rankings\": {\r\n\t\t\t\ten: \"Enable the Trainers Rankings\",\r\n\t\t\t\tit: \"Abilita le classifiche dei trainer\",\r\n\t\t\t\tes: \"Activar las clasificaciones de los entrenadores\",\r\n\t\t\t\tfr: \"Activer le classement des entraรฎneurs\",\r\n\t\t\t},\r\n\t\t\t\"enable-online-payments\": {\r\n\t\t\t\ten: \"Enable Online Payments\",\r\n\t\t\t\tit: \"Abilita Pagamenti Online\",\r\n\t\t\t\tes: \"Activar Pagos en Lรญnea\",\r\n\t\t\t\tfr: \"Activer les Paiements Online\",\r\n\t\t\t},\r\n\t\t\t\"enable-uptivo-store\": {\r\n\t\t\t\ten: \"Enable Uptivo Store\",\r\n\t\t\t\tit: \"Abilita Uptivo Store\",\r\n\t\t\t\tes: \"Activar Uptivo Store\",\r\n\t\t\t\tfr: \"Activer la Boutique Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"online-payments\": {\r\n\t\t\t\ten: \"Online Payments\",\r\n\t\t\t\tit: \"Pagamenti Online\",\r\n\t\t\t\tes: \"Pagos en Lรญnea\",\r\n\t\t\t\tfr: \"Paiements Online\",\r\n\t\t\t},\r\n\t\t\tstate: {\r\n\t\t\t\ten: \"State\",\r\n\t\t\t\tit: \"Stato\",\r\n\t\t\t\tes: \"Condiciรณn\",\r\n\t\t\t\tfr: \"Condition\",\r\n\t\t\t},\r\n\t\t\t\"not-configured\": {\r\n\t\t\t\ten: \"Not Configured\",\r\n\t\t\t\tit: \"Non configurato\",\r\n\t\t\t\tes: \"No configurado\",\r\n\t\t\t\tfr: \"Pas configurรฉ\",\r\n\t\t\t},\r\n\t\t\t\"payment-services\": {\r\n\t\t\t\ten: \"Payment Services\",\r\n\t\t\t\tit: \"Servizi Di Pagamento\",\r\n\t\t\t\tes: \"Servicios de pago\",\r\n\t\t\t\tfr: \"Services de paiement\",\r\n\t\t\t},\r\n\t\t\tOnboarding: {\r\n\t\t\t\ten: \"Configuration not completed\",\r\n\t\t\t\tit: \"Configurazione non completata\",\r\n\t\t\t\tes: \"Configuraciรณn no completada\",\r\n\t\t\t\tfr: \"Configuration non terminรฉe\",\r\n\t\t\t},\r\n\t\t\tInactive: {\r\n\t\t\t\ten: \"Inactive\",\r\n\t\t\t\tit: \"Non attivo\",\r\n\t\t\t\tes: \"Inactivo\",\r\n\t\t\t\tfr: \"Inactif\",\r\n\t\t\t},\r\n\t\t\tActive: {\r\n\t\t\t\ten: \"Active\",\r\n\t\t\t\tit: \"Attivo\",\r\n\t\t\t\tes: \"Activo\",\r\n\t\t\t\tfr: \"Actif\",\r\n\t\t\t},\r\n\t\t\tMissingData: {\r\n\t\t\t\ten: \"Missing data\",\r\n\t\t\t\tit: \"Dati mancanti\",\r\n\t\t\t\tes: \"Datos perdidos\",\r\n\t\t\t\tfr: \"Donnรฉes manquantes\",\r\n\t\t\t},\r\n\t\t\tconfigure: {\r\n\t\t\t\ten: \"Configure\",\r\n\t\t\t\tit: \"Configura\",\r\n\t\t\t\tes: \"Configurar\",\r\n\t\t\t\tfr: \"Configurer\",\r\n\t\t\t},\r\n\t\t\topen: {\r\n\t\t\t\ten: \"Open\",\r\n\t\t\t\tit: \"Apri\",\r\n\t\t\t\tes: \"Abre\",\r\n\t\t\t\tfr: \"Ouvert\",\r\n\t\t\t},\r\n\t\t\t\"currency-required\": {\r\n\t\t\t\ten: \"Currency is required\",\r\n\t\t\t\tit: \"รˆ richiesta la valuta\",\r\n\t\t\t\tes: \"Se requiere moneda\",\r\n\t\t\t\tfr: \"La devise est requise\",\r\n\t\t\t},\r\n\t\t\t\"payment-account-succesfully-removed\": {\r\n\t\t\t\ten: \"Payment account successfully removed\",\r\n\t\t\t\tit: \"Account di pagamento rimosso con successo\",\r\n\t\t\t\tes: \"Cuenta de pago eliminada con รฉxito\",\r\n\t\t\t\tfr: \"Compte de paiement supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"stripe-description\": {\r\n\t\t\t\ten: \"Payments from your customers will be credited to your Stripe account. STRIPE fees per transaction:\",\r\n\t\t\t\tit: \"I pagamenti dei tuoi clienti verranno accreditati sul tuo account Stripe. Commissioni STRIPE per transazione:\",\r\n\t\t\t\tes: \"Los pagos de sus clientes se acreditarรกn en su cuenta de Stripe. Tarifas de STRIPE por transacciรณn:\",\r\n\t\t\t\tfr: \"Les paiements de vos clients seront crรฉditรฉs sur votre compte Stripe. Frais STRIPE par transaction:\",\r\n\t\t\t},\r\n\t\t\t\"paypal-description\": {\r\n\t\t\t\ten: \"Payments from your customers will be credited to your PayPal account. PAYPAL fees per transaction:\",\r\n\t\t\t\tit: \"I pagamenti dei tuoi clienti verranno accreditati sul tuo account PayPal. Commissioni PAYPAL per transazione:\",\r\n\t\t\t\tes: \"Los pagos de sus clientes se acreditarรกn en su cuenta de PayPal. Tarifas de PAYPAL por transacciรณn:\",\r\n\t\t\t\tfr: \"Les paiements de vos clients seront crรฉditรฉs sur votre compte PayPal. Frais PAYPAL par transaction:\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-commission\": {\r\n\t\t\t\ten: \"Uptivo fees per transaction: 1% for each transaction.\",\r\n\t\t\t\tit: \"Commissioni Uptivo per transazione: 1% per ogni transazione.\",\r\n\t\t\t\tes: \"Tarifas de Uptivo por transacciรณn: 1% por cada transacciรณn.\",\r\n\t\t\t\tfr: \"Frais d'Uptivo par transaction: 1% pour chaque transaction.\",\r\n\t\t\t},\r\n\t\t\t\"paypal-confirm-email\": {\r\n\t\t\t\ten: \"Attention: Please confirm your email address on https://www.paypal.com/businessprofile/settings in order to receive payments! You currently cannot receive payments.\",\r\n\t\t\t\tit: \"Attenzione: conferma il tuo indirizzo email su https://www.paypal.com/businessprofile/settings per ricevere i pagamenti! Al momento non puoi ricevere pagamenti.\",\r\n\t\t\t\tes: \"Atenciรณn: ยกConfirme su direcciรณn de correo electrรณnico en https://www.paypal.com/businessprofile/settings para recibir pagos! Actualmente no puede recibir pagos.\",\r\n\t\t\t\tfr: \"Attention: Veuillez confirmer votre adresse e-mail sur https://www.paypal.com/businessprofile/settings afin de recevoir les paiements! Vous ne pouvez actuellement pas recevoir de paiements.\",\r\n\t\t\t},\r\n\t\t\t\"paypal-no-payments\": {\r\n\t\t\t\ten: \"Attention: You currently cannot receive payments due to restriction on your PayPal account. Please reach out to PayPal Customer Support or connect to https://www.paypal.com for more information.\",\r\n\t\t\t\tit: \"Attenzione: al momento non puoi ricevere pagamenti a causa di restrizioni sul tuo conto PayPal. Contatta l'Assistenza clienti PayPal o connettiti a https://www.paypal.com per ulteriori informazioni.\",\r\n\t\t\t\tes: \"Atenciรณn: actualmente no puede recibir pagos debido a la restricciรณn en su cuenta de PayPal. Comunรญquese con Atenciรณn al cliente de PayPal o conรฉctese a https://www.paypal.com para obtener mรกs informaciรณn.\",\r\n\t\t\t\tfr: \"Attentionย : Vous ne pouvez actuellement pas recevoir de paiements en raison d'une restriction sur votre compte PayPal. Veuillez contacter le service clientรจle de PayPal ou vous connecter ร  https://www.paypal.com pour plus d'informations.\",\r\n\t\t\t},\r\n\t\t\t\"stripe-no-payments\": {\r\n\t\t\t\ten: \"Attention: You currently cannot receive payments due to restriction on your Stripe account. Please reach out to Stripe Customer Support or connect to https://stripe.com/ for more information.\",\r\n\t\t\t\tit: \"Attenzione: al momento non puoi ricevere pagamenti a causa di restrizioni sul tuo conto Stripe. Contatta l'Assistenza clienti Stripe o connettiti a https://stripe.com/ per ulteriori informazioni.\",\r\n\t\t\t\tes: \"Atenciรณn: actualmente no puede recibir pagos debido a la restricciรณn en su cuenta de Stripe. Comunรญquese con Atenciรณn al cliente de Stripe o conรฉctese a https://stripe.com/ para obtener mรกs informaciรณn.\",\r\n\t\t\t\tfr: \"Attentionย : Vous ne pouvez actuellement pas recevoir de paiements en raison d'une restriction sur votre compte Stripe. Veuillez contacter le service clientรจle de Stripe ou vous connecter ร  https://stripe.com/ pour plus d'informations.\",\r\n\t\t\t},\r\n\t\t\t\"club-code\": {\r\n\t\t\t\ten: \"Club Code\",\r\n\t\t\t\tit: \"Codice Club\",\r\n\t\t\t\tes: \"Cรณdigo de Club\",\r\n\t\t\t\tfr: \"Code du Club\",\r\n\t\t\t},\r\n\t\t\t\"club-code-text\": {\r\n\t\t\t\ten: \"Invite your friends to purchase Uptivo with your Club Code to extend your Uptivo Cloud subscription for free.\",\r\n\t\t\t\tit: \"Invita i tuoi amici ad acquistare Uptivo con il tuo Codice Club per estendere gratuitamente il tuo abbonamento Uptivo Cloud.\",\r\n\t\t\t\tes: \"Invita a tus amigos a comprar Uptivo con tu Cรณdigo de Club para extender tu suscripciรณn a Uptivo Cloud gratis.\",\r\n\t\t\t\tfr: \"Invitez vos amis ร  acheter Uptivo avec votre code club pour prolonger votre abonnement Uptivo Cloud gratuitement.\",\r\n\t\t\t},\r\n\t\t\t\"discount-code\": {\r\n\t\t\t\ten: \"Discount Code\",\r\n\t\t\t\tit: \"Codice Sconto\",\r\n\t\t\t\tes: \"Cรณdigo de Descuento\",\r\n\t\t\t\tfr: \"Code de Rรฉduction\",\r\n\t\t\t},\r\n\t\t\t\"discount-code-text\": {\r\n\t\t\t\ten: \"Communicate to your members the discount code for the Uptivo store, so that they can have access to discounts and offers reserved for your Club (General conditions of Sale).\",\r\n\t\t\t\tit: \"Comunica ai tuoi membri il codice sconto per lo store Uptivo, in modo che possano aver accesso a sconti e offerte riservate al tuo Club (Condizioni Generali di Vendita).\",\r\n\t\t\t\tes: \"Comunica a tus socios el cรณdigo de descuento del store Uptivo, para que tengan acceso a descuentos y ofertas reservadas para tu Club (Condiciones Generales de Venta).\",\r\n\t\t\t\tfr: \"Communiquez ร  vos membres le code de rรฉduction de la boutique Uptivo, afin qu'ils puissent avoir accรจs aux rรฉductions et offres rรฉservรฉes ร  votre Club (Conditions Gรฉnรฉrales de Vente).\",\r\n\t\t\t},\r\n\t\t\tlicenses: {\r\n\t\t\t\ten: \"Licenses\",\r\n\t\t\t\tit: \"Licenze\",\r\n\t\t\t\tes: \"Licencias\",\r\n\t\t\t\tfr: \"Licences\",\r\n\t\t\t},\r\n\t\t\t\"show-hide-all\": {\r\n\t\t\t\ten: \"Show/Hide All\",\r\n\t\t\t\tit: \"Mostra/Nascondi Tutto\",\r\n\t\t\t\tes: \"Mostrar/Ocultar todo\",\r\n\t\t\t\tfr: \"Afficher/Masquer tout\",\r\n\t\t\t},\r\n\t\t\t\"lic-no-valid\": {\r\n\t\t\t\ten: \"No valid licenses!\",\r\n\t\t\t\tit: \"Non ci sono licenze valide!\",\r\n\t\t\t\tes: \"ยกSin licencias vรกlidas!\",\r\n\t\t\t\tfr: \"Aucune licence valide!\",\r\n\t\t\t},\r\n\t\t\t\"DurationExtension-LM\": {\r\n\t\t\t\ten: \"{0} used your Club code to become an Uptivo customer. You have been rewarded with {1} days of free cloud!\",\r\n\t\t\t\tit: \"{0} ha usato il tuo codice club per il suo primo acquisto Uptivo. Hai ottenuto {1} giorni di cloud gratuito!\",\r\n\t\t\t\tes: \"{0} ha usado tu cรณdigo club para su primera compra de la soluciรณn Uptivo. ยกTe regalamos {1} dรญas gratuitos de nube!\",\r\n\t\t\t\tfr: \"{0} a utilisรฉ votre code club pour acheter Uptivo pour la premiรจre fois. Nous vous avons rรฉcompensรฉ avec {1} jours de cloud gratuits!\",\r\n\t\t\t},\r\n\t\t\tredeem: {\r\n\t\t\t\ten: \"Redeem\",\r\n\t\t\t\tit: \"Attiva\",\r\n\t\t\t\tes: \"Redimir\",\r\n\t\t\t\tfr: \"Racheter\",\r\n\t\t\t},\r\n\t\t\toptions: {\r\n\t\t\t\ten: \"Options\",\r\n\t\t\t\tit: \"Opzioni\",\r\n\t\t\t\tes: \"Opciones\",\r\n\t\t\t\tfr: \"Options\",\r\n\t\t\t},\r\n\t\t\t\"cannot-suspend-an-inactive-subscription\": {\r\n\t\t\t\ten: \"Can't suspend an inactive subscription\",\r\n\t\t\t\tit: \"Impossibile sospendere un abbonamento inattivo\",\r\n\t\t\t\tes: \"No se puede suspender una suscripciรณn inactiva\",\r\n\t\t\t\tfr: \"Impossible de suspendre un abonnement inactif\",\r\n\t\t\t},\r\n\t\t\t\"subscription-succesfully-edited\": {\r\n\t\t\t\ten: \"Subscription changed successfully\",\r\n\t\t\t\tit: \"Abbonamento modificato con successo\",\r\n\t\t\t\tes: \"Suscripciรณn cambiada con รฉxito\",\r\n\t\t\t\tfr: \"Abonnement modifiรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"add-new-tag\": {\r\n\t\t\t\ten: \"Add New Group\",\r\n\t\t\t\tit: \"Aggiungi Nuovo Gruppo\",\r\n\t\t\t\tes: \"Agregar Nuevo Grupo\",\r\n\t\t\t\tfr: \"Ajouter Nouveau Groupe\",\r\n\t\t\t},\r\n\t\t\t\"tag-name\": {\r\n\t\t\t\ten: \"Group Name\",\r\n\t\t\t\tit: \"Nome Gruppo\",\r\n\t\t\t\tes: \"Nombre De Grupo\",\r\n\t\t\t\tfr: \"Nom de la Groupe\",\r\n\t\t\t},\r\n\t\t\t\"edit-tag\": {\r\n\t\t\t\ten: \"Edit Group\",\r\n\t\t\t\tit: \"Modifica Gruppo\",\r\n\t\t\t\tes: \"Editar Grupo\",\r\n\t\t\t\tfr: \"Modifier Groupe\",\r\n\t\t\t},\r\n\t\t\ttag: {\r\n\t\t\t\ten: \"Group\",\r\n\t\t\t\tit: \"Gruppo\",\r\n\t\t\t\tes: \"Grupo\",\r\n\t\t\t\tfr: \"Groupe\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubLicensesView: {\r\n\t\t\t\"club-code\": {\r\n\t\t\t\ten: \"Club Code\",\r\n\t\t\t\tit: \"Codice Club\",\r\n\t\t\t\tes: \"Cรณdigo de Club\",\r\n\t\t\t\tfr: \"Code du Club\",\r\n\t\t\t},\r\n\t\t\t\"club-code-text\": {\r\n\t\t\t\ten: \"Invite your friends to purchase Uptivo with your Club Code to extend your Uptivo Cloud subscription for free.\",\r\n\t\t\t\tit: \"Invita i tuoi amici ad acquistare Uptivo con il tuo Codice Club per estendere gratuitamente il tuo abbonamento Uptivo Cloud.\",\r\n\t\t\t\tes: \"Invita a tus amigos a comprar Uptivo con tu Cรณdigo de Club para extender tu suscripciรณn a Uptivo Cloud gratis.\",\r\n\t\t\t\tfr: \"Invitez vos amis ร  acheter Uptivo avec votre code club pour prolonger votre abonnement Uptivo Cloud gratuitement.\",\r\n\t\t\t},\r\n\t\t\tlicenses: {\r\n\t\t\t\ten: \"License\",\r\n\t\t\t\tit: \"Licenze\",\r\n\t\t\t\tes: \"Licencias\",\r\n\t\t\t\tfr: \"Licences\",\r\n\t\t\t},\r\n\t\t\t\"show-hide-all\": {\r\n\t\t\t\ten: \"Show/Hide All\",\r\n\t\t\t\tit: \"Mostra/Nascondi Tutto\",\r\n\t\t\t\tes: \"Mostrar/Ocultar todo\",\r\n\t\t\t\tfr: \"Afficher/Masquer tout\",\r\n\t\t\t},\r\n\t\t\t\"lic-no-valid\": {\r\n\t\t\t\ten: \"No valid licenses!\",\r\n\t\t\t\tit: \"Non ci sono licenze valide!\",\r\n\t\t\t\tes: \"ยกSin licencias vรกlidas!\",\r\n\t\t\t\tfr: \"Aucune licence valide!\",\r\n\t\t\t},\r\n\t\t\t\"DurationExtension-LM\": {\r\n\t\t\t\ten: \"{0} used your Club code to become an Uptivo customer. You have been rewarded with {1} days of free cloud!\",\r\n\t\t\t\tit: \"{0} ha usato il tuo codice club per il suo primo acquisto Uptivo. Hai ottenuto {1} giorni di cloud gratuito!\",\r\n\t\t\t\tes: \"{0} ha usado tu cรณdigo club para su primera compra de la soluciรณn Uptivo. ยกTe regalamos {1} dรญas gratuitos de nube!\",\r\n\t\t\t\tfr: \"{0} a utilisรฉ votre code club pour acheter Uptivo pour la premiรจre fois. Nous vous avons rรฉcompensรฉ avec {1} jours de cloud gratuits!\",\r\n\t\t\t},\r\n\t\t\tredeem: {\r\n\t\t\t\ten: \"Redeem\",\r\n\t\t\t\tit: \"Attiva\",\r\n\t\t\t\tes: \"Redimir\",\r\n\t\t\t\tfr: \"Racheter\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubLicenseView: {\r\n\t\t\t\"lic-type\": {\r\n\t\t\t\ten: \"License Type\",\r\n\t\t\t\tit: \"Tipo Licenza\",\r\n\t\t\t\tes: \"Tipo de licencia\",\r\n\t\t\t\tfr: \"Type de licence\",\r\n\t\t\t},\r\n\t\t\t\"lic-apps\": {\r\n\t\t\t\ten: \"Trainer Apps\",\r\n\t\t\t\tit: \"Trainer App\",\r\n\t\t\t\tes: \"Aplicaciones para entrenadores\",\r\n\t\t\t\tfr: \"Applis Trainer\",\r\n\t\t\t},\r\n\t\t\t\"lic-hr-sensors\": {\r\n\t\t\t\ten: \"Heart Rate Sensors\",\r\n\t\t\t\tit: \"Sensori Cardio\",\r\n\t\t\t\tes: \"Sensores de FC\",\r\n\t\t\t\tfr: \"Capteurs de FC\",\r\n\t\t\t},\r\n\t\t\t\"third-party-sensors\": {\r\n\t\t\t\ten: \"Third-party\",\r\n\t\t\t\tit: \"Altre marche\",\r\n\t\t\t\tes: \"Otras marcas\",\r\n\t\t\t\tfr: \"Autres marques\",\r\n\t\t\t},\r\n\t\t\t\"lic-trial\": {\r\n\t\t\t\ten: \"Trial\",\r\n\t\t\t\tit: \"Prova\",\r\n\t\t\t\tes: \"Prueba\",\r\n\t\t\t\tfr: \"Essai\",\r\n\t\t\t},\r\n\t\t\t\"lic-valid\": {\r\n\t\t\t\ten: \"Valid\",\r\n\t\t\t\tit: \"Valida\",\r\n\t\t\t\tes: \"Vรกlido\",\r\n\t\t\t\tfr: \"Valide\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tBrandView: {\r\n\t\t\t\"brand\": {\r\n\t\t\t\ten: \"Organization\",\r\n\t\t\t\tit: \"Organizzazione\",\r\n\t\t\t\tes: \"Organizaciรณn\",\r\n\t\t\t\tfr: \"Organisation\"\r\n\t\t\t},\r\n\t\t\t\"edit-club\": {\r\n\t\t\t\ten: \"Edit Club\",\r\n\t\t\t\tit: \"Modifica Club\",\r\n\t\t\t\tes: \"Editar club\",\r\n\t\t\t\tfr: \"Modifier le club\",\r\n\t\t\t},\r\n\t\t\t\"brand-data-updated\": {\r\n\t\t\t\ten: \"Successfully updated brand data\",\r\n\t\t\t\tit: \"Dati del Brand modificati con successo\",\r\n\t\t\t\tes: \"Datos de la marca actualizados con รฉxito\",\r\n\t\t\t\tfr: \"Donnรฉes de marque mises ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"brand-profile\": {\r\n\t\t\t\ten: \"Brand Profile\",\r\n\t\t\t\tit: \"Profilo Brand\",\r\n\t\t\t\tes: \"Perfil de la marca\",\r\n\t\t\t\tfr: \"Profil de la marque\",\r\n\t\t\t},\r\n\t\t\t\"brand-information\": {\r\n\t\t\t\ten: \"Brand Information\",\r\n\t\t\t\tit: \"Informazioni Brand\",\r\n\t\t\t\tes: \"Informaciรณn de la marca\",\r\n\t\t\t\tfr: \"Informations de la marque\",\r\n\t\t\t},\r\n\t\t\t\"brand-name\": {\r\n\t\t\t\ten: \"Brand Name\",\r\n\t\t\t\tit: \"Nome Brand\",\r\n\t\t\t\tes: \"Nombre de la marca\",\r\n\t\t\t\tfr: \"Nom de marque\",\r\n\t\t\t},\r\n\t\t\t\"add-new-club\": {\r\n\t\t\t\ten: \"Add New Club\",\r\n\t\t\t\tit: \"Aggiungi Club\",\r\n\t\t\t\tes: \"Aรฑadir nuevo club\",\r\n\t\t\t\tfr: \"Ajouter nouveau club\",\r\n\t\t\t},\r\n\t\t\t\"use-logo-for-all\": {\r\n\t\t\t\ten: \"Use brand logo for all Clubs\",\r\n\t\t\t\tit: \"Usa il logo del brand per tutti i Club\",\r\n\t\t\t\tes: \"Usar el logotipo de la marca para todos los clubes\",\r\n\t\t\t\tfr: \"Utiliser le logo de la marque pour tous les clubs\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tImageUploaderView: {\r\n\t\t\t\"drag-label\": {\r\n\t\t\t\ten: \"Click or drop your image here\",\r\n\t\t\t\tit: \"Clicca o trascina la tua immagine qui\",\r\n\t\t\t\tes: \"Haga clic o suelte su imagen aquรญ\",\r\n\t\t\t\tfr: \"Cliquez ou dรฉposez votre image ici\",\r\n\t\t\t},\r\n\t\t\t\"loading-label\": {\r\n\t\t\t\ten: \"Loading imageโ€ฆ\",\r\n\t\t\t\tit: \"Caricamento immagineโ€ฆ\",\r\n\t\t\t\tes: \"Cargando imagenโ€ฆ\",\r\n\t\t\t\tfr: \"Chargement de l'imageโ€ฆ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAccountView: {\r\n\t\t\t\"email-updated\": {\r\n\t\t\t\ten: \"Successfully updated Email address\",\r\n\t\t\t\tit: \"Indirizzo Email modificato con successo\",\r\n\t\t\t\tes: \"Direcciรณn de correo electrรณnico actualizada correctamente\",\r\n\t\t\t\tfr: \"Adresse e-mail mise ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"email-exists\": {\r\n\t\t\t\ten: \"Email {0} already exists!\",\r\n\t\t\t\tit: \"L'email {0} รจ giร  in uso!\",\r\n\t\t\t\tes: \"ยกEl email {0} ya existe!\",\r\n\t\t\t\tfr: \"L'e-mail {0} existe dรฉjร !\",\r\n\t\t\t},\r\n\t\t\tconflict: {\r\n\t\t\t\ten: \"Conflict\",\r\n\t\t\t\tit: \"Conflitto\",\r\n\t\t\t\tes: \"Conflicto\",\r\n\t\t\t\tfr: \"Conflit\",\r\n\t\t\t},\r\n\t\t\t\"confirm-email-required\": {\r\n\t\t\t\ten: \"Confirm Email is required\",\r\n\t\t\t\tit: \"Conferma Email รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"El correo electrรณnico de confirmaciรณn es obligatorio\",\r\n\t\t\t\tfr: \"Il est nรฉcessaire de confirmer l'adresse e-mail\",\r\n\t\t\t},\r\n\t\t\t\"new-email-required\": {\r\n\t\t\t\ten: \"New Email is required\",\r\n\t\t\t\tit: \"Nuova Email รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere el nuevo correo electrรณnico\",\r\n\t\t\t\tfr: \"Une nouvelle adresse e-mail est requise\",\r\n\t\t\t},\r\n\t\t\t\"updated-club-info\": {\r\n\t\t\t\ten: \"Successfully updated clubs information\",\r\n\t\t\t\tit: \"Informazioni Club modificate con successo\",\r\n\t\t\t\tes: \"Informaciรณn de clubes actualizada correctamente\",\r\n\t\t\t\tfr: \"Informations sur les clubs mises ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"created-club\": {\r\n\t\t\t\ten: \"Successfully created a new club\",\r\n\t\t\t\tit: \"Club creato con successo\",\r\n\t\t\t\tes: \"Ha creado un nuevo club correctamente\",\r\n\t\t\t\tfr: \"Crรฉation rรฉussie d'un nouveau club\",\r\n\t\t\t},\r\n\t\t\t\"updated-account-info\": {\r\n\t\t\t\ten: \"Successfully updated account information\",\r\n\t\t\t\tit: \"Informazioni account modificate con successo\",\r\n\t\t\t\tes: \"Informaciรณn de la cuenta actualizada correctamente\",\r\n\t\t\t\tfr: \"Informations sur le compte mises ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"email-required\": {\r\n\t\t\t\ten: \"Email is required\",\r\n\t\t\t\tit: \"Email รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere una direcciรณn de correo electrรณnico\",\r\n\t\t\t\tfr: \"Une adresse e-mail est requise\",\r\n\t\t\t},\r\n\t\t\t\"nickname-required\": {\r\n\t\t\t\ten: \"Nickname is required\",\r\n\t\t\t\tit: \"Nickname รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere un apodo\",\r\n\t\t\t\tfr: \"Pseudo requis\",\r\n\t\t\t},\r\n\t\t\t\"account-information\": {\r\n\t\t\t\ten: \"Account Information\",\r\n\t\t\t\tit: \"Informazioni Account\",\r\n\t\t\t\tes: \"Informaciรณn de la cuenta\",\r\n\t\t\t\tfr: \"Informations de compte\",\r\n\t\t\t},\r\n\t\t\t\"first-name\": {\r\n\t\t\t\ten: \"First/Mid Name\",\r\n\t\t\t\tit: \"Nome\",\r\n\t\t\t\tes: \"Nombre\",\r\n\t\t\t\tfr: \"Prรฉnoms\",\r\n\t\t\t},\r\n\t\t\t\"last-name\": {\r\n\t\t\t\ten: \"Last Name\",\r\n\t\t\t\tit: \"Cognome\",\r\n\t\t\t\tes: \"Apellido\",\r\n\t\t\t\tfr: \"Nom\",\r\n\t\t\t},\r\n\t\t\t\"leave-club\": {\r\n\t\t\t\ten: \"Leave Club\",\r\n\t\t\t\tit: \"Lascia il Club\",\r\n\t\t\t\tes: \"Dejar club\",\r\n\t\t\t\tfr: \"Quitter le club\",\r\n\t\t\t},\r\n\t\t\t\"no-clubs-so-far\": {\r\n\t\t\t\ten: \"No clubs so far\",\r\n\t\t\t\tit: \"Non ci sono club\",\r\n\t\t\t\tes: \"De momento, no hay clubes\",\r\n\t\t\t\tfr: \"Aucun club jusqu'ร  prรฉsent\",\r\n\t\t\t},\r\n\t\t\t\"delete-account\": {\r\n\t\t\t\ten: \"Delete account\",\r\n\t\t\t\tit: \"Elimina Account\",\r\n\t\t\t\tes: \"Eliminar cuenta\",\r\n\t\t\t\tfr: \"Supprimer le compte\",\r\n\t\t\t},\r\n\t\t\tadvanced: {\r\n\t\t\t\ten: \"Advanced\",\r\n\t\t\t\tit: \"Avanzate\",\r\n\t\t\t\tes: \"Avanzado\",\r\n\t\t\t\tfr: \"Avancรฉ\",\r\n\t\t\t},\r\n\t\t\t\"delete-account-info\": {\r\n\t\t\t\ten: \"You are about to delete your account. To confirm type email you use for login and Uptivo notifications\",\r\n\t\t\t\tit: \"Stai per eliminare il tuo account. Per confermare, scrivi l'email che usi per login e notifiche di Uptivo\",\r\n\t\t\t\tes: \"Estรก a punto de eliminar su cuenta. Para confirmar, inserte el correo electrรณnico que utiliza para iniciar sesiรณn y las notificaciones Uptivo\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer votre compte. Pour confirmer, saisir l'adresse e-mail utilisรฉe pour la connexion et les notifications Uptivo\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAddUsersView: {\r\n\t\t\tinvited: {\r\n\t\t\t\ten: \"Invited\",\r\n\t\t\t\tit: \"Invitato\",\r\n\t\t\t\tes: \"Invitado\",\r\n\t\t\t\tfr: \"Invitรฉ\",\r\n\t\t\t},\r\n\t\t\tcreated: {\r\n\t\t\t\ten: \"Created\",\r\n\t\t\t\tit: \"Creato\",\r\n\t\t\t\tes: \"Creado\",\r\n\t\t\t\tfr: \"Crรฉรฉ\",\r\n\t\t\t},\r\n\t\t\t\"pending-users\": {\r\n\t\t\t\ten: \"Pending Users\",\r\n\t\t\t\tit: \"Utenti in Sospeso\",\r\n\t\t\t\tes: \"Usuarios pendientes\",\r\n\t\t\t\tfr: \"Utilisateurs en attente\",\r\n\t\t\t},\r\n\t\t\t\"self-service\": {\r\n\t\t\t\ten: \"Self-Service\",\r\n\t\t\t\tit: \"Fai da Te\",\r\n\t\t\t\tes: \"Autoservicio\",\r\n\t\t\t\tfr: \"En Libre Service\",\r\n\t\t\t},\r\n\t\t\t\"send-link-label\": {\r\n\t\t\t\ten: \"Let the user create their own profile and join the club\",\r\n\t\t\t\tit: \"Consenti all'utente di creare il proprio profilo e di unirsi al club\",\r\n\t\t\t\tes: \"Deje que el usuario cree su propio perfil y รบnase al club\",\r\n\t\t\t\tfr: \"Laissez l'utilisateur crรฉer son propre profil et rejoindre le club\",\r\n\t\t\t},\r\n\t\t\t\"send-link\": {\r\n\t\t\t\ten: \"Send email\",\r\n\t\t\t\tit: \"Invia email\",\r\n\t\t\t\tes: \"Enviar correo\",\r\n\t\t\t\tfr: \"Envoyer e-mail\",\r\n\t\t\t},\r\n\t\t\t\"create-new-user-label\": {\r\n\t\t\t\ten: \"Make life easier for your member and create their profile\",\r\n\t\t\t\tit: \"Semplifica la vita al tuo utente e crea il suo profilo\",\r\n\t\t\t\tes: \"Haz la vida mรกs fรกcil a tu miembro y crea su perfil\",\r\n\t\t\t\tfr: \"Facilitez la vie de votre membre et crรฉez son profil\",\r\n\t\t\t},\r\n\t\t\t\"create-new-user\": {\r\n\t\t\t\ten: \"Create Profile\",\r\n\t\t\t\tit: \"Crea il Profilo\",\r\n\t\t\t\tes: \"Crear Perfil\",\r\n\t\t\t\tfr: \"Crรฉer un Profil\",\r\n\t\t\t},\r\n\t\t\t\"sent-on\": {\r\n\t\t\t\ten: \"Sent On\",\r\n\t\t\t\tit: \"Mandato Il\",\r\n\t\t\t\tes: \"Enviado el\",\r\n\t\t\t\tfr: \"Envoyรฉ le\",\r\n\t\t\t},\r\n\t\t\t\"expires-on\": {\r\n\t\t\t\ten: \"Expires On\",\r\n\t\t\t\tit: \"Scade Il\",\r\n\t\t\t\tes: \"Caduca en\",\r\n\t\t\t\tfr: \"Expire le\",\r\n\t\t\t},\r\n\t\t\t\"date-of-birth-required\": {\r\n\t\t\t\ten: \"Date of Birth is required\",\r\n\t\t\t\tit: \"Data di Nascita รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere fecha de nacimiento\",\r\n\t\t\t\tfr: \"La date de naissance est requise\",\r\n\t\t\t},\r\n\t\t\t\"date-no-greater-than-now\": {\r\n\t\t\t\ten: \"Date can't be in future\",\r\n\t\t\t\tit: \"La data non puรฒ essere nel futuro\",\r\n\t\t\t\tes: \"La fecha no puede ser en el futuro\",\r\n\t\t\t\tfr: \"La date ne peut pas รชtre une date future\",\r\n\t\t\t},\r\n\t\t\t\"gender-is-required\": {\r\n\t\t\t\ten: \"Gender is required\",\r\n\t\t\t\tit: \"Sesso รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere rellenar el sexo\",\r\n\t\t\t\tfr: \"Le sexe est requis\",\r\n\t\t\t},\r\n\t\t\t\"height-is-required\": {\r\n\t\t\t\ten: \"Height is required\",\r\n\t\t\t\tit: \"Altezza รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere la altura\",\r\n\t\t\t\tfr: \"La taille est requise\",\r\n\t\t\t},\r\n\t\t\t\"weight-is-required\": {\r\n\t\t\t\ten: \"Weight is required\",\r\n\t\t\t\tit: \"Peso รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se requiere el peso\",\r\n\t\t\t\tfr: \"Le poids est requis\",\r\n\t\t\t},\r\n\t\t\t\"user-created-title\": {\r\n\t\t\t\ten: \"User added to the Club\",\r\n\t\t\t\tit: \"Utente aggiunto al club\",\r\n\t\t\t\tes: \"Usuario agregado al club\",\r\n\t\t\t\tfr: \"Utilisateur ajoutรฉ au club\",\r\n\t\t\t},\r\n\t\t\t\"user-created-details\": {\r\n\t\t\t\ten: \"The invitation must be accepted within 14 days or the user will be removed from Uptivo.\",\r\n\t\t\t\tit: \"L'utente ha 14 giorni per accettare l'invito o verrร  rimosso da Uptivo.\",\r\n\t\t\t\tes: \"La invitaciรณn debe aceptarse dentro de los 14 dรญas o el usuario serรก eliminado de Uptivo.\",\r\n\t\t\t\tfr: \"L'invitation doit รชtre acceptรฉe dans les 14 jours. Dans le cas contraire, l'utilisateur sera supprimรฉ d'Uptivo.\",\r\n\t\t\t},\r\n\t\t\t\"user-invited-title\": {\r\n\t\t\t\ten: \"Invitation sent\",\r\n\t\t\t\tit: \"Invito inviato\",\r\n\t\t\t\tes: \"Invitaciรณn enviada\",\r\n\t\t\t\tfr: \"Invitation envoyรฉe\",\r\n\t\t\t},\r\n\t\t\t\"user-invited-details\": {\r\n\t\t\t\ten: \"The user will be added to your Club as soon as the invite is accepted.\",\r\n\t\t\t\tit: \"L'utente verrร  aggiunto al tuo Club quando accetterร  l'invito.\",\r\n\t\t\t\tes: \"El usuario serรก agregado a su Club tan pronto como se acepte la invitaciรณn.\",\r\n\t\t\t\tfr: \"L'utilisateur sera ajoutรฉ ร  votre Club dรจs l'invitation acceptรฉe.\",\r\n\t\t\t},\r\n\t\t\t\"the-user-with-email\": {\r\n\t\t\t\ten: \"The user with email\",\r\n\t\t\t\tit: \"L'utente con email\",\r\n\t\t\t\tes: \"El usuario con el correo electrรณnico\",\r\n\t\t\t\tfr: \"L'utilisateur titulaire de l'adresse e-mail\",\r\n\t\t\t},\r\n\t\t\t\"is-already-member\": {\r\n\t\t\t\ten: \"is already member of your club.\",\r\n\t\t\t\tit: \"รจ giร  membro del tuo club.\",\r\n\t\t\t\tes: \"ya es miembro de su club.\",\r\n\t\t\t\tfr: \"est dรฉjร  membre de votre club.\",\r\n\t\t\t},\r\n\t\t\t\"waiting-confirm\": {\r\n\t\t\t\ten: \"Waiting Confirmation\",\r\n\t\t\t\tit: \"In attesa di conferma\",\r\n\t\t\t\tes: \"Esperando confirmaciรณn\",\r\n\t\t\t\tfr: \"En attente de confirmation\",\r\n\t\t\t},\r\n\t\t\t\"create-new-invitation-qr-code\": {\r\n\t\t\t\ten: \"Create new invitation QR Code\",\r\n\t\t\t\tit: \"Crea nuovo QR Code di invito\",\r\n\t\t\t\tes: \"Crea nuevo cรณdigo QR de invitaciรณn\",\r\n\t\t\t\tfr: \"Crรฉer nouvelle invitation QR Code\",\r\n\t\t\t},\r\n\t\t\t\"edit-invitation-qr-code\": {\r\n\t\t\t\ten: \"Edit invitation QR Code\",\r\n\t\t\t\tit: \"Modifica QR Code di invito\",\r\n\t\t\t\tes: \"Cambiar el cรณdigo QR de la invitaciรณn\",\r\n\t\t\t\tfr: \"Changer le QR Code d'invitation\",\r\n\t\t\t},\r\n\t\t\t\"qr-code\": {\r\n\t\t\t\ten: \"QR Code\",\r\n\t\t\t\tit: \"Codice QR\",\r\n\t\t\t\tes: \"QR Code\",\r\n\t\t\t\tfr: \"QR Code\",\r\n\t\t\t},\r\n\t\t\tlink: {\r\n\t\t\t\ten: \"Link\",\r\n\t\t\t\tit: \"Link\",\r\n\t\t\t\tes: \"Link\",\r\n\t\t\t\tfr: \"Link\",\r\n\t\t\t},\r\n\t\t\t\"invitation-qr-codes\": {\r\n\t\t\t\ten: \"Invitation QR Codes\",\r\n\t\t\t\tit: \"Codici QR Di Invito\",\r\n\t\t\t\tes: \"Cรณdigos QR De Invitaciรณn\",\r\n\t\t\t\tfr: \"Codes QR D'Invitation\",\r\n\t\t\t},\r\n\t\t\t\"the-qr-code-will-be-deactivated\": {\r\n\t\t\t\ten: \"The QR Code will be deactivated\",\r\n\t\t\t\tit: \"Il QR Code verrร  disattivato\",\r\n\t\t\t\tes: \"El cรณdigo QR se desactivarรก\",\r\n\t\t\t\tfr: \"Le QR Code sera dรฉsactivรฉ\",\r\n\t\t\t},\r\n\t\t\t\"the-qr-code-will-be-reactivated\": {\r\n\t\t\t\ten: \"The QR Code will be reactivated\",\r\n\t\t\t\tit: \"Il QR Code verrร  riattivato\",\r\n\t\t\t\tes: \"El cรณdigo QR se reactivarรก\",\r\n\t\t\t\tfr: \"Le QR Code sera rรฉactivรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tDemoUsersView: {\r\n\t\t\t\"demo-users\": {\r\n\t\t\t\ten: \"Demo Users\",\r\n\t\t\t\tit: \"Utenti Demo\",\r\n\t\t\t\tes: \"Usuarios demo\",\r\n\t\t\t\tfr: \"Utilisateurs Dรฉmo\",\r\n\t\t\t},\r\n\t\t\t\"demo-user\": {\r\n\t\t\t\ten: \"Demo User\",\r\n\t\t\t\tit: \"Utente Demo\",\r\n\t\t\t\tes: \"Usuario demo\",\r\n\t\t\t\tfr: \"Utilisateur Dรฉmo\",\r\n\t\t\t},\r\n\t\t\t\"manage-demo-users\": {\r\n\t\t\t\ten: \"Manage Demo Users\",\r\n\t\t\t\tit: \"Gestione Utenti Demo\",\r\n\t\t\t\tes: \"Administrar usuarios demo\",\r\n\t\t\t\tfr: \"Gรฉrer les Utilisateurs Dรฉmo\",\r\n\t\t\t},\r\n\t\t\t\"add-demo-sensor\": {\r\n\t\t\t\ten: \"Add Demo User\",\r\n\t\t\t\tit: \"Aggiungi Utente Demo\",\r\n\t\t\t\tes: \"Agregar usuario demo\",\r\n\t\t\t\tfr: \"Ajouter un Utilisateur Dรฉmo\",\r\n\t\t\t},\r\n\t\t\t\"display-group-id\": {\r\n\t\t\t\ten: \"Room Id\",\r\n\t\t\t\tit: \"Id Sala\",\r\n\t\t\t\tes: \"Id Sala\",\r\n\t\t\t\tfr: \"Id Salle\",\r\n\t\t\t},\r\n\t\t\t\"demo-user-created\": {\r\n\t\t\t\ten: \"Successfully created demo user\",\r\n\t\t\t\tit: \"Utente demo creato con successo\",\r\n\t\t\t\tes: \"Usuario demo creado correctamente\",\r\n\t\t\t\tfr: \"Utilisateur Dรฉmo crรฉรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"demo-user-updated\": {\r\n\t\t\t\ten: \"Successfully updated demo user\",\r\n\t\t\t\tit: \"Utente modificato con successo\",\r\n\t\t\t\tes: \"Usuario de demostraciรณn actualizado correctamente\",\r\n\t\t\t\tfr: \"Utilisateur Dรฉmo mis ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"default-display\": {\r\n\t\t\t\ten: \"Default Room\",\r\n\t\t\t\tit: \"Sala di Default\",\r\n\t\t\t\tes: \"Sala predeterminada\",\r\n\t\t\t\tfr: \"Salle par dรฉfaut\",\r\n\t\t\t},\r\n\t\t\t\"sensor-id\": {\r\n\t\t\t\ten: \"Sensor ID\",\r\n\t\t\t\tit: \"ID Sensore\",\r\n\t\t\t\tes: \"ID del sensor\",\r\n\t\t\t\tfr: \"Identifiant du capteur\",\r\n\t\t\t},\r\n\t\t\tmodel: {\r\n\t\t\t\ten: \"Model\",\r\n\t\t\t\tit: \"Modello\",\r\n\t\t\t\tes: \"Modelo\",\r\n\t\t\t\tfr: \"Modรจle\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAddOrUpdateUptivoBelt: {\r\n\t\t\t\"invalid-uptivo-belt-number\": {\r\n\t\t\t\ten: \"The Uptivo Sensor ID is incorrect\",\r\n\t\t\t\tit: \"L'ID del Sensore Uptivo non รจ corretto\",\r\n\t\t\t\tes: \"El ID del Sensor Uptivo es incorrecto\",\r\n\t\t\t\tfr: \"L'identifiant du Capteur Uptivo est incorrect\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAddOrUpdateMZBelt: {\r\n\t\t\t\"invalid-mz-belt-number\": {\r\n\t\t\t\ten: \"The MZ Sensor SN is incorrect\",\r\n\t\t\t\tit: \"Il SN del Sensore MZ non รจ corretto\",\r\n\t\t\t\tes: \"El SN del Sensor MZ es incorrecto\",\r\n\t\t\t\tfr: \"Le SN du Capteur MZ est incorrect\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAddOrUpdateGarminBelt: {\r\n\t\t\t\"invalid-garmin-belt-number\": {\r\n\t\t\t\ten: \"The Garmin Sensor SN is incorrect\",\r\n\t\t\t\tit: \"Il SN del Sensore Garmin non รจ corretto\",\r\n\t\t\t\tes: \"El SN del Sensor Garmin es incorrecto\",\r\n\t\t\t\tfr: \"Le SN du Capteur Garmin est incorrect\",\r\n\t\t\t},\r\n\t\t},\r\n\r\n\t\tAppManagementView: {\r\n\t\t\t\"app-management\": {\r\n\t\t\t\ten: \"Trainer Apps\",\r\n\t\t\t\tit: \"Trainer App\",\r\n\t\t\t\tes: \"Trainer App\",\r\n\t\t\t\tfr: \"Trainer App\",\r\n\t\t\t},\r\n\t\t\t\"registered-apps\": {\r\n\t\t\t\ten: \"Registered Apps\",\r\n\t\t\t\tit: \"App registrate\",\r\n\t\t\t\tes: \"Aplicaciones registradas\",\r\n\t\t\t\tfr: \"Applications enregistrรฉes\",\r\n\t\t\t},\r\n\t\t\t\"generate-code\": {\r\n\t\t\t\ten: \"Generate Code\",\r\n\t\t\t\tit: \"Genera Codice\",\r\n\t\t\t\tes: \"Generar cรณdigo\",\r\n\t\t\t\tfr: \"Gรฉnรฉrer le code\",\r\n\t\t\t},\r\n\t\t\t\"pending-registrations\": {\r\n\t\t\t\ten: \"Pending Registrations\",\r\n\t\t\t\tit: \"Registrazioni in Sospeso\",\r\n\t\t\t\tes: \"Registros pendientes\",\r\n\t\t\t\tfr: \"Inscriptions en attente\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tIntegrationsView: {\r\n\t\t\tintegrations: {\r\n\t\t\t\ten: \"Integrations\",\r\n\t\t\t\tit: \"Integrazioni\",\r\n\t\t\t\tes: \"Integraciones\",\r\n\t\t\t\tfr: \"Intรฉgrations\",\r\n\t\t\t},\r\n\t\t\t\"edit-device\": {\r\n\t\t\t\ten: \"Edit Device\",\r\n\t\t\t\tit: \"Modifica il dispositivo\",\r\n\t\t\t\tes: \"Editar dispositivo\",\r\n\t\t\t\tfr: \"Modifier un appareil\",\r\n\t\t\t},\r\n\t\t\t\"create-device\": {\r\n\t\t\t\ten: \"Add New Device\",\r\n\t\t\t\tit: \"Aggiungi Nuovo Dispositivo\",\r\n\t\t\t\tes: \"Aรฑadir nuevo dispositivo\",\r\n\t\t\t\tfr: \"Ajouter un nouvel appareil\",\r\n\t\t\t},\r\n\t\t\t\"device-type\": {\r\n\t\t\t\ten: \"Device Type\",\r\n\t\t\t\tit: \"Tipo dispositivo\",\r\n\t\t\t\tes: \"Tipo de dispositivo\",\r\n\t\t\t\tfr: \"Type d'appareil\",\r\n\t\t\t},\r\n\t\t\t\"device-model\": {\r\n\t\t\t\ten: \"Device Model\",\r\n\t\t\t\tit: \"Modello dispositivo\",\r\n\t\t\t\tes: \"Modelo de dispositivo\",\r\n\t\t\t\tfr: \"Modรจle d'appareil\",\r\n\t\t\t},\r\n\t\t\t\"club-devices\": {\r\n\t\t\t\ten: \"Club Devices\",\r\n\t\t\t\tit: \"Dispositivi del Club\",\r\n\t\t\t\tes: \"Dispositivos del club\",\r\n\t\t\t\tfr: \"Appareils du club\",\r\n\t\t\t},\r\n\t\t\t\"ip-address\": {\r\n\t\t\t\ten: \"IP Address\",\r\n\t\t\t\tit: \"Indirizzo IP\",\r\n\t\t\t\tes: \"Direcciรณn de IP\",\r\n\t\t\t\tfr: \"Adresse IP\",\r\n\t\t\t},\r\n\t\t\tBodyCompositionAnalyzer: {\r\n\t\t\t\ten: \"Body Composition Analyzer\",\r\n\t\t\t\tit: \"Analizzatore di composizione corporea\",\r\n\t\t\t\tes: \"Analizador de composiciรณn corporal\",\r\n\t\t\t\tfr: \"Analyseur de composition corporelle\",\r\n\t\t\t},\r\n\t\t\t\"no-devices\": {\r\n\t\t\t\ten: \"No Devices Configured\",\r\n\t\t\t\tit: \"Nessun dispositivo configurato\",\r\n\t\t\t\tes: \"Sin dispositivos configurados\",\r\n\t\t\t\tfr: \"Aucun appareil configurรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tDeviceManagementView: {\r\n\t\t\t\"ant-disconnected\": {\r\n\t\t\t\ten: \"Some of the Uptivo Bridges are missing the ANT+ USB Antenna\",\r\n\t\t\t\tit: \"Alcuni degli Uptivo Bridge non hanno l'Antenna USB ANT+\",\r\n\t\t\t\tes: \"Algunos de los Uptivo Bridge les falta la antena USB ANT+\",\r\n\t\t\t\tfr: \"Certains des Uptivo Bridge n'ont pas l'antenne USB ANT+\",\r\n\t\t\t},\r\n\t\t\t\"disconnected-nodes\": {\r\n\t\t\t\ten: \"The current license is being used in multiple locations, which is a violation of the license agreement. Please ensure compliance to avoid any interruptions in service.\",\r\n\t\t\t\tit: \"La licenza attuale รจ utilizzata in piรน sedi, il che rappresenta una violazione dell'accordo di licenza. Si prega di garantire la conformitร  per evitare interruzioni del servizio.\",\r\n\t\t\t\tes: \"La licencia actual se estรก utilizando en varias ubicaciones, lo que constituye una violaciรณn del acuerdo de licencia. Por favor, asegรบrese de cumplir con los tรฉrminos para evitar interrupciones en el servicio.\",\r\n\t\t\t\tfr: \"La licence actuelle est utilisรฉe dans plusieurs emplacements, ce qui constitue une violation de l'accord de licence. Veuillez assurer la conformitรฉ pour รฉviter toute interruption du service.\",\r\n\t\t\t},\r\n\t\t\t\"not-online\": {\r\n\t\t\t\ten: \"Some of the Uptivo Bridges are off-line\",\r\n\t\t\t\tit: \"Alcuni Uptivo Bridge sono disconnessi o spenti\",\r\n\t\t\t\tes: \"Algunos Uptivo Bridge estรกn desconectados o apagados\",\r\n\t\t\t\tfr: \"Certains Uptivo Brige sont dรฉconnectรฉs ou dรฉsactivรฉs\",\r\n\t\t\t},\r\n\t\t\t\"error-last-hour\": {\r\n\t\t\t\ten: \"Some of the Uptivo Bridges experienced network errors in the last hour\",\r\n\t\t\t\tit: \"Alcuni Uptivo Bridge hanno segnalato errori di rete nell'ultima ora\",\r\n\t\t\t\tes: \"Algunos Uptivo Bridge han reportado errores de red en la รบltima hora\",\r\n\t\t\t\tfr: \"Certains Uptivo Bridge ont signalรฉ des erreurs de rรฉseau au cours de la derniรจre heure\",\r\n\t\t\t},\r\n\t\t\t\"connection-problems\": {\r\n\t\t\t\ten: \"Connection problems\",\r\n\t\t\t\tit: \"Problemi di connessione\",\r\n\t\t\t\tes: \"Problemas de conexiรณn\",\r\n\t\t\t\tfr: \"Problรจmes de connexion\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-bridges\": {\r\n\t\t\t\ten: \"Uptivo Bridges\",\r\n\t\t\t\tit: \"Uptivo Bridge\",\r\n\t\t\t\tes: \"Uptivo Bridge\",\r\n\t\t\t\tfr: \"Uptivo Bridge\",\r\n\t\t\t},\r\n\t\t\t\"display-groups\": {\r\n\t\t\t\ten: \"Rooms\",\r\n\t\t\t\tit: \"Sale\",\r\n\t\t\t\tes: \"Salas\",\r\n\t\t\t\tfr: \"Salles\",\r\n\t\t\t},\r\n\t\t\t\"register-new-bridge\": {\r\n\t\t\t\ten: \"Register New Uptivo Bridge\",\r\n\t\t\t\tit: \"Registra nuovo Uptivo Bridge\",\r\n\t\t\t\tes: \"Registrar Nuevo Uptivo Bridge\",\r\n\t\t\t\tfr: \"Enregistrement d'un nouvel Uptivo Bridge\",\r\n\t\t\t},\r\n\t\t\t\"generate-code\": {\r\n\t\t\t\ten: \"Generate Code\",\r\n\t\t\t\tit: \"Genera Codice\",\r\n\t\t\t\tes: \"Generar cรณdigo\",\r\n\t\t\t\tfr: \"Gรฉnรฉrer le code\",\r\n\t\t\t},\r\n\t\t\t\"pending-registrations\": {\r\n\t\t\t\ten: \"Pending Registrations\",\r\n\t\t\t\tit: \"Registrazioni in Sospeso\",\r\n\t\t\t\tes: \"Registros pendientes\",\r\n\t\t\t\tfr: \"Inscriptions en attente\",\r\n\t\t\t},\r\n\t\t\t\"add-new-display-group\": {\r\n\t\t\t\ten: \"Add new Room\",\r\n\t\t\t\tit: \"Aggiungi nuova Sala\",\r\n\t\t\t\tes: \"Agregar nueva Sala\",\r\n\t\t\t\tfr: \"Ajouter une nouvelle Salle\",\r\n\t\t\t},\r\n\t\t\t\"rename-display-group\": {\r\n\t\t\t\ten: \"Rename Room\",\r\n\t\t\t\tit: \"Rinomina Sala\",\r\n\t\t\t\tes: \"Cambiar nombre de Sala\",\r\n\t\t\t\tfr: \"Renommer la Salle\",\r\n\t\t\t},\r\n\t\t\t\"name-required\": {\r\n\t\t\t\ten: \"Name is required\",\r\n\t\t\t\tit: \"Nome รจ un campo obbligatorio\",\r\n\t\t\t\tes: \"Se require el nombre\",\r\n\t\t\t\tfr: \"Nom requis\",\r\n\t\t\t},\r\n\t\t\t\"select-valid-color\": {\r\n\t\t\t\ten: \"Please select a valid color\",\r\n\t\t\t\tit: \"Selezionare un colore valido\",\r\n\t\t\t\tes: \"Seleccione un color vรกlido\",\r\n\t\t\t\tfr: \"Sรฉlectionnez une couleur valide\",\r\n\t\t\t},\r\n\t\t\t\"added-device-group\": {\r\n\t\t\t\ten: \"Successfully added Device Group\",\r\n\t\t\t\tit: \"Gruppo Monitor aggiunto con successo\",\r\n\t\t\t\tes: \"Grupo de dispositivos agregado correctamente\",\r\n\t\t\t\tfr: \"Groupe de pรฉriphรฉriques ajoutรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"bridge-name\": {\r\n\t\t\t\ten: \"Uptivo Bridge Name\",\r\n\t\t\t\tit: \"Nome Uptivo Bridge\",\r\n\t\t\t\tes: \"Nombre de Uptivo Bridge\",\r\n\t\t\t\tfr: \"Nom de l'Uptivo Bridge\",\r\n\t\t\t},\r\n\t\t\t\"ip-address\": {\r\n\t\t\t\ten: \"IP Address\",\r\n\t\t\t\tit: \"Indirizzo IP\",\r\n\t\t\t\tes: \"Direcciรณn de IP\",\r\n\t\t\t\tfr: \"Adresse IP\",\r\n\t\t\t},\r\n\t\t\t\"added-on\": {\r\n\t\t\t\ten: \"Added on\",\r\n\t\t\t\tit: \"Aggiunto Il\",\r\n\t\t\t\tes: \"Aรฑadido en\",\r\n\t\t\t\tfr: \"Ajoutรฉ le\",\r\n\t\t\t},\r\n\t\t\t\"move-to\": {\r\n\t\t\t\ten: \"Move To\",\r\n\t\t\t\tit: \"Sposta\",\r\n\t\t\t\tes: \"Mover a\",\r\n\t\t\t\tfr: \"Dรฉplacer vers\",\r\n\t\t\t},\r\n\t\t\t\"successfully-deleted-device\": {\r\n\t\t\t\ten: \"Successfully deleted Uptivo Bridge\",\r\n\t\t\t\tit: \"Uptivo Bridge rimosso con successo\",\r\n\t\t\t\tes: \"Dispositivo eliminado correctamente\",\r\n\t\t\t\tfr: \"Uptivo Bridge supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-renamed-group\": {\r\n\t\t\t\ten: \"Successfully renamed room\",\r\n\t\t\t\tit: \"Sala rinominata con successo\",\r\n\t\t\t\tes: \"Sala renombrada con รฉxito\",\r\n\t\t\t\tfr: \"Salle renommรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"successfully-deleted-group\": {\r\n\t\t\t\ten: \"Successfully deleted room\",\r\n\t\t\t\tit: \"Sala cancellata con successo\",\r\n\t\t\t\tes: \"Sala eliminada correctamente\",\r\n\t\t\t\tfr: \"Salle supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\tcode: {\r\n\t\t\t\ten: \"Code\",\r\n\t\t\t\tit: \"Codice\",\r\n\t\t\t\tes: \"Cรณdigo\",\r\n\t\t\t\tfr: \"Code\",\r\n\t\t\t},\r\n\t\t\t\"required-on\": {\r\n\t\t\t\ten: \"Required On\",\r\n\t\t\t\tit: \"Richiesto Il\",\r\n\t\t\t\tes: \"Requerido en\",\r\n\t\t\t\tfr: \"Requis le\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tEditUserView: {\r\n\t\t\t\"edit-user\": {\r\n\t\t\t\ten: \"Edit User\",\r\n\t\t\t\tit: \"Modifica Utente\",\r\n\t\t\t\tes: \"Editar Usuario\",\r\n\t\t\t\tfr: \"Modifier l'utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"leave-club\": {\r\n\t\t\t\ten: \"Leave Club\",\r\n\t\t\t\tit: \"Lascia il Club\",\r\n\t\t\t\tes: \"Dejar club\",\r\n\t\t\t\tfr: \"Quitter le club\",\r\n\t\t\t},\r\n\t\t\t\"yes-delete\": {\r\n\t\t\t\ten: \"Yes, delete!\",\r\n\t\t\t\tit: \"Sรฌ, elimina!\",\r\n\t\t\t\tes: \"ยกSรญ, borrar!\",\r\n\t\t\t\tfr: \"Oui, supprimer!\",\r\n\t\t\t},\r\n\t\t\t\"yes-confirm\": {\r\n\t\t\t\ten: \"Yes, confirm!\",\r\n\t\t\t\tit: \"Sรฌ, conferma!\",\r\n\t\t\t\tes: \"ยกSรญ, confirma!\",\r\n\t\t\t\tfr: \"Oui, confirmez !\"\r\n\t\t\t},\r\n\t\t\t\"will-remove-from-club\": {\r\n\t\t\t\ten: \"You will be removed from this club.\",\r\n\t\t\t\tit: \"Verrai rimosso da questo club.\",\r\n\t\t\t\tes: \"Serรกs eliminado de este club.\",\r\n\t\t\t\tfr: \"Vous serez retirรฉ de ce club.\",\r\n\t\t\t},\r\n\t\t\t\"you-have-been-deleted\": {\r\n\t\t\t\ten: \"You have been deleted from the club.\",\r\n\t\t\t\tit: \"Sei stato rimosso dal club.\",\r\n\t\t\t\tes: \"Has sido eliminado del club.\",\r\n\t\t\t\tfr: \"Vous avez รฉtรฉ supprimรฉ du club.\",\r\n\t\t\t},\r\n\t\t\t\"form-invalid\": {\r\n\t\t\t\ten: \"Form invalid\",\r\n\t\t\t\tit: \"Modulo invalido\",\r\n\t\t\t\tes: \"Formulario no vรกlido\",\r\n\t\t\t\tfr: \"Formulaire invalide\",\r\n\t\t\t},\r\n\t\t\t\"fix-values\": {\r\n\t\t\t\ten: \"Please correct the requested data before saving\",\r\n\t\t\t\tit: \"Correggere i dati richiesti per poter salvare\",\r\n\t\t\t\tes: \"Por favor, corrija los datos solicitados antes de guardar\",\r\n\t\t\t\tfr: \"Veuillez corriger les donnรฉes requises avant de sauvegarder\",\r\n\t\t\t},\r\n\t\t\t\"fix-limits\": {\r\n\t\t\t\ten: \"Please fix the zone limits data before saving\",\r\n\t\t\t\tit: \"Correggere i limiti delle zone prima di salvare\",\r\n\t\t\t\tes: \"Corrija los datos de lรญmites de zona antes de guardar\",\r\n\t\t\t\tfr: \"Veuillez corriger les donnรฉes de limites de zone avant d'enregistrer\",\r\n\t\t\t},\r\n\t\t\t\"successfully-updated-physical\": {\r\n\t\t\t\ten: \"Successfully updated physical settings\",\r\n\t\t\t\tit: \"Impostazioni biometriche modificate con successo\",\r\n\t\t\t\tes: \"Configuraciones fรญsicas actualizadas correctamente\",\r\n\t\t\t\tfr: \"Les paramรจtres physiques ont รฉtรฉ mis ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"sensor-created\": {\r\n\t\t\t\ten: \"Successfully created sensor\",\r\n\t\t\t\tit: \"Sensore creato con successo\",\r\n\t\t\t\tes: \"Sensor creado correctamente\",\r\n\t\t\t\tfr: \"Capteur crรฉรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"remove-sensor-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to remove this sensor\",\r\n\t\t\t\tit: \"Sei sicuro di voler rimuovere questo sensore?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres quitar este sensor?\",\r\n\t\t\t\tfr: \"รŠtes-vous sรปr de vouloir supprimer ce capteur?\",\r\n\t\t\t},\r\n\t\t\t\"sensor-removed-succesfully\": {\r\n\t\t\t\ten: \"Sensor removed successfully\",\r\n\t\t\t\tit: \"Sensore rimosso con successo\",\r\n\t\t\t\tes: \"Sensor eliminado correctamente\",\r\n\t\t\t\tfr: \"Capteur supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-sensor-id\": {\r\n\t\t\t\ten: \"Uptivo Sensor ID\",\r\n\t\t\t\tit: \"ID del Sensore Uptivo\",\r\n\t\t\t\tes: \"ID del Sensor Uptivo\",\r\n\t\t\t\tfr: \"Identifiant du Capteur Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"show-in-rankings\": {\r\n\t\t\t\ten: \"Show In Rankings\",\r\n\t\t\t\tit: \"Mostra Nelle Classifiche\",\r\n\t\t\t\tes: \"Mostrar En Clasificaciones\",\r\n\t\t\t\tfr: \"Afficher Dans Les Classements\",\r\n\t\t\t},\r\n\t\t\t\"send-fitness-test-notification\": {\r\n\t\t\t\ten: \"Send Fitness Test Notification\",\r\n\t\t\t\tit: \"Invia Notifica Fitness Test\",\r\n\t\t\t\tes: \"Enviar Notificaciรณn de Fitness Test\",\r\n\t\t\t\tfr: \"Envoyer une notification de Fitness Test\",\r\n\t\t\t},\r\n\t\t\t\"sensor-removed\": {\r\n\t\t\t\ten: \"Sensor Removed\",\r\n\t\t\t\tit: \"Sensore Rimosso\",\r\n\t\t\t\tes: \"Sensor Eliminado\",\r\n\t\t\t\tfr: \"Capteur Retirรฉ\",\r\n\t\t\t},\r\n\t\t\t\"minimum-percentage-target-zone\": {\r\n\t\t\t\ten: \"Minimum Target Zone %\",\r\n\t\t\t\tit: \"Minima Target Zone %\",\r\n\t\t\t\tes: \"Mรญnimo Target Zone %\",\r\n\t\t\t\tfr: \"Minimale Target Zone %\",\r\n\t\t\t},\r\n\t\t\t\"minimum-percentage-target-zone-error\": {\r\n\t\t\t\ten: \"Minimum Target Zone % must be between 0 and 100\",\r\n\t\t\t\tit: \"Minima Target Zone % deve essere compreso tra 0 e 100\",\r\n\t\t\t\tes: \"Mรญnimo Target Zone % debe estar entre 0 y 100\",\r\n\t\t\t\tfr: \"Minimale Target Zone % doit รชtre compris entre 0 et 100\",\r\n\t\t\t},\r\n\t\t\t\"maximum-percentage-target-zone\": {\r\n\t\t\t\ten: \"Maximum Target Zone %\",\r\n\t\t\t\tit: \"Massima Target Zone %\",\r\n\t\t\t\tes: \"Mรกximo Target Zone %\",\r\n\t\t\t\tfr: \"Maximum Target Zone %\",\r\n\t\t\t},\r\n\t\t\t\"maximum-percentage-target-zone-error\": {\r\n\t\t\t\ten: \"Maximum Target Zone % must be between 0 and 100\",\r\n\t\t\t\tit: \"Massima Target Zone % deve essere compreso tra 0 e 100\",\r\n\t\t\t\tes: \"Mรกximo Target Zone % debe estar entre 0 y 100\",\r\n\t\t\t\tfr: \"Maximum Target Zone % doit รชtre compris entre 0 et 100\",\r\n\t\t\t},\r\n\t\t\tsubscriptions: {\r\n\t\t\t\ten: \"Subscriptions\",\r\n\t\t\t\tit: \"Abbonamenti\",\r\n\t\t\t\tes: \"Suscripciones\",\r\n\t\t\t\tfr: \"Abonnements\",\r\n\t\t\t},\r\n\t\t\tlast: {\r\n\t\t\t\ten: \"Last\",\r\n\t\t\t\tit: \"Ultimo\",\r\n\t\t\t\tes: \"รšltimo\",\r\n\t\t\t\tfr: \"Dernier\",\r\n\t\t\t},\r\n\t\t\tnumber: {\r\n\t\t\t\ten: \"Number\",\r\n\t\t\t\tit: \"Numero\",\r\n\t\t\t\tes: \"Nรบmero\",\r\n\t\t\t\tfr: \"Numรฉro\",\r\n\t\t\t},\r\n\t\t\tawards: {\r\n\t\t\t\ten: \"Awards\",\r\n\t\t\t\tit: \"Premi\",\r\n\t\t\t\tes: \"Premios\",\r\n\t\t\t\tfr: \"Prix\",\r\n\t\t\t},\r\n\t\t\t\"badge-earned-x-times\": {\r\n\t\t\t\ten: \"Earned {0} times\",\r\n\t\t\t\tit: \"Vinto {0} volte\",\r\n\t\t\t\tes: \"Ganado {0} veces\",\r\n\t\t\t\tfr: \"Gagnรฉ {0} fois\",\r\n\t\t\t},\r\n\t\t\t\"badge-last-earned\": {\r\n\t\t\t\ten: \"Last earned {0}\",\r\n\t\t\t\tit: \"Ultimo vinto {0}\",\r\n\t\t\t\tes: \"รšltimo ganado {0}\",\r\n\t\t\t\tfr: \"Dernier gagnรฉ {0}\",\r\n\t\t\t},\r\n\t\t\t\"training-days\": {\r\n\t\t\t\ten: \"Training days\",\r\n\t\t\t\tit: \"Giorni Di Allenamento\",\r\n\t\t\t\tes: \"Dรญas De Entrenamiento\",\r\n\t\t\t\tfr: \"Jours D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"training-schedule-notes\": {\r\n\t\t\t\ten: \"Training Days Notes\",\r\n\t\t\t\tit: \"Note Sui Giorni Di Allenamento\",\r\n\t\t\t\tes: \"Notas Sobre Dรญas De Entrenamiento\",\r\n\t\t\t\tfr: \"Notes Sur Les Jours D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tnote: {\r\n\t\t\t\ten: \"Note\",\r\n\t\t\t\tit: \"Nota\",\r\n\t\t\t\tes: \"Nota\",\r\n\t\t\t\tfr: \"Note\",\r\n\t\t\t},\r\n\t\t\t\"training-info\": {\r\n\t\t\t\ten: \"Training Info\",\r\n\t\t\t\tit: \"Info Allenamento\",\r\n\t\t\t\tes: \"Info Entrenamiento\",\r\n\t\t\t\tfr: \"Info Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"fitness-goals\": {\r\n\t\t\t\ten: \"Fitness Goals\",\r\n\t\t\t\tit: \"Obiettivi Fitness\",\r\n\t\t\t\tes: \"Objetivos Fitness\",\r\n\t\t\t\tfr: \"Objectifs Fitness\",\r\n\t\t\t},\r\n\t\t\t\"injuries-history\": {\r\n\t\t\t\ten: \"Injuries History\",\r\n\t\t\t\tit: \"Cronologia Infortuni\",\r\n\t\t\t\tes: \"Historial De Lesiones\",\r\n\t\t\t\tfr: \"Historique Des Injuries\",\r\n\t\t\t},\r\n\t\t\tcertificates: {\r\n\t\t\t\ten: \"Certificates\",\r\n\t\t\t\tit: \"Certificati\",\r\n\t\t\t\tes: \"Certificados\",\r\n\t\t\t\tfr: \"Certificats\",\r\n\t\t\t},\r\n\t\t\t\"training-comments\": {\r\n\t\t\t\ten: \"Training Comments\",\r\n\t\t\t\tit: \"Commenti Allenamento\",\r\n\t\t\t\tes: \"Comentarios De Entrenamiento\",\r\n\t\t\t\tfr: \"Commentaires D'Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tby: {\r\n\t\t\t\ten: \"By\",\r\n\t\t\t\tit: \"Da\",\r\n\t\t\t\tes: \"Por\",\r\n\t\t\t\tfr: \"Par\",\r\n\t\t\t},\r\n\t\t\tnotes: {\r\n\t\t\t\ten: \"Notes\",\r\n\t\t\t\tit: \"Note\",\r\n\t\t\t\tes: \"Notas\",\r\n\t\t\t\tfr: \"Notes\",\r\n\t\t\t},\r\n\t\t\toccupation: {\r\n\t\t\t\ten: \"Occupation\",\r\n\t\t\t\tit: \"Occupazione\",\r\n\t\t\t\tes: \"Ocupaciรณn\",\r\n\t\t\t\tfr: \"Occupation\",\r\n\t\t\t},\r\n\t\t\t\"not-set\": {\r\n\t\t\t\ten: \"Not set\",\r\n\t\t\t\tit: \"Non registrato\",\r\n\t\t\t\tes: \"No establecido\",\r\n\t\t\t\tfr: \"Non dรฉfini\",\r\n\t\t\t},\r\n\t\t\tFTP: {\r\n\t\t\t\ten: \"FTP\",\r\n\t\t\t\tit: \"FTP\",\r\n\t\t\t\tes: \"FTP\",\r\n\t\t\t\tfr: \"FTP\",\r\n\t\t\t},\r\n\t\t\t\"no-awards-in-this-club\": {\r\n\t\t\t\ten: \"No awards in this club\",\r\n\t\t\t\tit: \"Nessun premio in questo club\",\r\n\t\t\t\tes: \"No hay premios en este club\",\r\n\t\t\t\tfr: \"Aucun prix dans ce club\",\r\n\t\t\t},\r\n\t\t\tcity: {\r\n\t\t\t\ten: \"City\",\r\n\t\t\t\tit: \"Cittร \",\r\n\t\t\t\tes: \"Ciudad\",\r\n\t\t\t\tfr: \"Ville\",\r\n\t\t\t},\r\n\t\t\t\"total-booking\": {\r\n\t\t\t\ten: \"Total Booking\",\r\n\t\t\t\tit: \"Totale Prenotazioni\",\r\n\t\t\t\tes: \"Reserva Total\",\r\n\t\t\t\tfr: \"Rรฉservation Totale\",\r\n\t\t\t},\r\n\t\t\t\"total-bookings\": {\r\n\t\t\t\ten: \"Total Bookings\",\r\n\t\t\t\tit: \"Totale Prenotazioni\",\r\n\t\t\t\tes: \"Reserva Total\",\r\n\t\t\t\tfr: \"Rรฉservation Totale\",\r\n\t\t\t},\r\n\t\t\t\"total-trainings\": {\r\n\t\t\t\ten: \"Total Trainings\",\r\n\t\t\t\tit: \"Allenamenti Totali\",\r\n\t\t\t\tes: \"Entrenamientos Totales\",\r\n\t\t\t\tfr: \"Entraรฎnements Totaux\",\r\n\t\t\t},\r\n\t\t\t\"postal-code\": {\r\n\t\t\t\ten: \"Postal Code\",\r\n\t\t\t\tit: \"Codice Postale\",\r\n\t\t\t\tes: \"Cรณdigo Postal\",\r\n\t\t\t\tfr: \"Code Postal\",\r\n\t\t\t},\r\n\t\t\taddress1: {\r\n\t\t\t\ten: \"Address 1\",\r\n\t\t\t\tit: \"Indirizzo 1\",\r\n\t\t\t\tes: \"Direcciรณn 1\",\r\n\t\t\t\tfr: \"Adresse 1\",\r\n\t\t\t},\r\n\t\t\taddress2: {\r\n\t\t\t\ten: \"Address 2\",\r\n\t\t\t\tit: \"Indirizzo 2\",\r\n\t\t\t\tes: \"Direcciรณn 2\",\r\n\t\t\t\tfr: \"Adresse 2\",\r\n\t\t\t},\r\n\t\t\t\"last-edit\": {\r\n\t\t\t\ten: \"Last Edit\",\r\n\t\t\t\tit: \"Ultima Modifica\",\r\n\t\t\t\tes: \"รšltima Ediciรณn\",\r\n\t\t\t\tfr: \"Derniรจre Modification\",\r\n\t\t\t},\r\n\t\t\t\"add-note\": {\r\n\t\t\t\ten: \"Add Note\",\r\n\t\t\t\tit: \"Aggiungi Nota\",\r\n\t\t\t\tes: \"Agregar Nota\",\r\n\t\t\t\tfr: \"Ajouter Note\",\r\n\t\t\t},\r\n\t\t\t\"edit-note\": {\r\n\t\t\t\ten: \"Edit Note\",\r\n\t\t\t\tit: \"Modifica Nota\",\r\n\t\t\t\tes: \"Editar Nota\",\r\n\t\t\t\tfr: \"Modifier Note\",\r\n\t\t\t},\r\n\t\t\t\"add-expiration\": {\r\n\t\t\t\ten: \"Add Expiration\",\r\n\t\t\t\tit: \"Aggiungi Scadenza\",\r\n\t\t\t\tes: \"Agregar Expiraciรณn\",\r\n\t\t\t\tfr: \"Ajouter Expiration\",\r\n\t\t\t},\r\n\t\t\t\"edit-expiration\": {\r\n\t\t\t\ten: \"Edit Expiration\",\r\n\t\t\t\tit: \"Modifica Scadenza\",\r\n\t\t\t\tes: \"Editar Expiraciรณn\",\r\n\t\t\t\tfr: \"Modifier Expiration\",\r\n\t\t\t},\r\n\t\t\t\"expiration-must-be-in-future\": {\r\n\t\t\t\ten: \"Expiration must be in future\",\r\n\t\t\t\tit: \"La Scadenza deve essere nel futuro\",\r\n\t\t\t\tes: \"La Expiraciรณn Debe Ser En El Futuro\",\r\n\t\t\t\tfr: \"L'Expiration Doit รชtre dans le futur\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tFooterView: {\r\n\t\t\tcopyright: {\r\n\t\t\t\ten: \"Copyright\",\r\n\t\t\t\tit: \"Copyright\",\r\n\t\t\t\tes: \"Derechos de autor\",\r\n\t\t\t\tfr: \"Copyright\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tGeneralSettingsView: {\r\n\t\t\t\"send-email-after\": {\r\n\t\t\t\ten: \" Send Email after training\",\r\n\t\t\t\tit: \" Invia email dopo il training\",\r\n\t\t\t\tes: \" Enviar correo electrรณnico despuรฉs del entrenamiento\",\r\n\t\t\t\tfr: \" Envoyer un e-mail aprรจs l'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"send-monthly-recap-email\": {\r\n\t\t\t\ten: \" Send monthly recap email\",\r\n\t\t\t\tit: \" Invia email riepilogo mensile\",\r\n\t\t\t\tes: \" Enviar correo electrรณnico con el resumen mensual\",\r\n\t\t\t\tfr: \" Envoyer un e-mail rรฉcapitulatif mensuel\",\r\n\t\t\t},\r\n\t\t\t\"show-in-rankings\": {\r\n\t\t\t\ten: \"Show up in public rankings\",\r\n\t\t\t\tit: \"Appari nelle classifiche pubbliche\",\r\n\t\t\t\tes: \"Mostrar en los rankings pรบblicos\",\r\n\t\t\t\tfr: \"Afficher dans les classements publics\",\r\n\t\t\t},\r\n\t\t\t\"send-fitness-test-notifications\": {\r\n\t\t\t\ten: \"Remind me to take my Uptivo Fitness Test\",\r\n\t\t\t\tit: \"Ricordami di fare il Uptivo Fitness Test\",\r\n\t\t\t\tes: \"Recuรฉrdame tomar mi Uptivo Fitness Test\",\r\n\t\t\t\tfr: \"Rappelez-moi de Uptivo Fitness Test\",\r\n\t\t\t},\r\n\t\t\tmon: {\r\n\t\t\t\ten: \"Mon\",\r\n\t\t\t\tit: \"Lun\",\r\n\t\t\t\tes: \"Lun\",\r\n\t\t\t\tfr: \"Lun\",\r\n\t\t\t},\r\n\t\t\tsat: {\r\n\t\t\t\ten: \"Sat\",\r\n\t\t\t\tit: \"Sab\",\r\n\t\t\t\tes: \"Sรกb\",\r\n\t\t\t\tfr: \"Sam\",\r\n\t\t\t},\r\n\t\t\tsun: {\r\n\t\t\t\ten: \"Sun\",\r\n\t\t\t\tit: \"Dom\",\r\n\t\t\t\tes: \"Dom\",\r\n\t\t\t\tfr: \"Dim\",\r\n\t\t\t},\r\n\t\t\tmetric: {\r\n\t\t\t\ten: \"Metric\",\r\n\t\t\t\tit: \"Metrico\",\r\n\t\t\t\tes: \"Mรฉtrico\",\r\n\t\t\t\tfr: \"Mรฉtrique\",\r\n\t\t\t},\r\n\t\t\timperial: {\r\n\t\t\t\ten: \"Imperial\",\r\n\t\t\t\tit: \"Imperiale\",\r\n\t\t\t\tes: \"Imperial\",\r\n\t\t\t\tfr: \"Impรฉrial\",\r\n\t\t\t},\r\n\t\t\t\"updated-general-settings-msg\": {\r\n\t\t\t\ten: \"Successfully updated general settings\",\r\n\t\t\t\tit: \"Impostazioni modificate con successo\",\r\n\t\t\t\tes: \"Configuraciones generales actualizadas correctamente\",\r\n\t\t\t\tfr: \"Paramรจtres gรฉnรฉraux mis ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tGroupTrainingView: {\r\n\t\t\t\"group-trainings\": {\r\n\t\t\t\ten: \"Group Trainings\",\r\n\t\t\t\tit: \"Training nel Gruppo\",\r\n\t\t\t\tes: \"Entrenamientos grupales\",\r\n\t\t\t\tfr: \"Entraรฎnements de groupe\",\r\n\t\t\t},\r\n\t\t\t\"training-summary\": {\r\n\t\t\t\ten: \"Training Summary\",\r\n\t\t\t\tit: \"Riepilogo del Training\",\r\n\t\t\t\tes: \"Resumen del entrenamiento\",\r\n\t\t\t\tfr: \"Rรฉsumรฉ de l'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"avg-tz\": {\r\n\t\t\t\ten: \"Avg TZ\",\r\n\t\t\t\tit: \"TZ Med\",\r\n\t\t\t\tes: \"ZO Media (zona objetivo)\",\r\n\t\t\t\tfr: \"TZ moy.\",\r\n\t\t\t},\r\n\t\t\t\"calories-per-person\": {\r\n\t\t\t\ten: \"Calories/Person\",\r\n\t\t\t\tit: \"Calorie/Persona\",\r\n\t\t\t\tes: \"Calorรญas/Persona\",\r\n\t\t\t\tfr: \"Calories/Personne\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tInvitationCodeView: {\r\n\t\t\taccepted: {\r\n\t\t\t\ten: \"Successfully accepted invitation.\",\r\n\t\t\t\tit: \"Invito accettato con successo.\",\r\n\t\t\t\tes: \"Invitaciรณn aceptada correctamente.\",\r\n\t\t\t\tfr: \"Invitation acceptรฉe avec succรจs.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tJournalView: {\r\n\t\t\tjournal: {\r\n\t\t\t\ten: \"Journal\",\r\n\t\t\t\tit: \"Diario\",\r\n\t\t\t\tes: \"Seguimiento\",\r\n\t\t\t\tfr: \"Journal\",\r\n\t\t\t},\r\n\t\t\tmonth: {\r\n\t\t\t\ten: \"Month\",\r\n\t\t\t\tit: \"Mese\",\r\n\t\t\t\tes: \"Mes\",\r\n\t\t\t\tfr: \"Mois\",\r\n\t\t\t},\r\n\t\t\tlist: {\r\n\t\t\t\ten: \"List\",\r\n\t\t\t\tit: \"Lista\",\r\n\t\t\t\tes: \"Lista\",\r\n\t\t\t\tfr: \"Liste\",\r\n\t\t\t},\r\n\t\t\t\"month-totals\": {\r\n\t\t\t\ten: \"Month Totals\",\r\n\t\t\t\tit: \"Totali Mese\",\r\n\t\t\t\tes: \"Totales del mes\",\r\n\t\t\t\tfr: \"Totaux du mois\",\r\n\t\t\t},\r\n\t\t\t\"week-totals\": {\r\n\t\t\t\ten: \"Week Totals\",\r\n\t\t\t\tit: \"Totali Settimana\",\r\n\t\t\t\tes: \"Totales de la semana\",\r\n\t\t\t\tfr: \"Totaux de la semaine\",\r\n\t\t\t},\r\n\t\t\tsessions: {\r\n\t\t\t\ten: \"Sessions\",\r\n\t\t\t\tit: \"Sessioni\",\r\n\t\t\t\tes: \"Sesiones\",\r\n\t\t\t\tfr: \"Sessions\",\r\n\t\t\t},\r\n\t\t\t\"total-sessions\": {\r\n\t\t\t\ten: \"Total Sessions\",\r\n\t\t\t\tit: \"Sessioni totali\",\r\n\t\t\t\tes: \"Total de sesiones\",\r\n\t\t\t\tfr: \"Total des sessions\",\r\n\t\t\t},\r\n\t\t\tcadence: {\r\n\t\t\t\ten: \"Cadence\",\r\n\t\t\t\tit: \"Cadenza\",\r\n\t\t\t\tes: \"Cadencia\",\r\n\t\t\t\tfr: \"Cadence\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tManageUsersView: {\r\n\t\t\tbalance: {\r\n\t\t\t\ten: \"Balance\",\r\n\t\t\t\tit: \"Saldo\",\r\n\t\t\t\tes: \"Saldo\",\r\n\t\t\t\tfr: \"Solde\",\r\n\t\t\t},\r\n\t\t\t\"current-shares-count\": {\r\n\t\t\t\ten: \"Number of Shares\",\r\n\t\t\t\tit: \"Numero di condivisioni\",\r\n\t\t\t\tes: \"Numero de repartos\",\r\n\t\t\t\tfr: \"Nombre de partager\",\r\n\t\t\t},\r\n\t\t\t\"load-program\": {\r\n\t\t\t\ten: \"Uptload a\",\r\n\t\t\t\tit: \"Carica un\",\r\n\t\t\t\tes: \"Sube un\",\r\n\t\t\t\tfr: \"Tรฉlรฉcharger un\",\r\n\t\t\t},\r\n\t\t\t\"training-program\": {\r\n\t\t\t\ten: \"workout program\",\r\n\t\t\t\tit: \"programma di allenamento\",\r\n\t\t\t\tes: \"programa de entrenamiento\",\r\n\t\t\t\tfr: \"programme d'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"no-programs-share\": {\r\n\t\t\t\ten: \"There are no Workout Programs to share.\",\r\n\t\t\t\tit: \"Non ci sono programmi di allenamento da condividere.\",\r\n\t\t\t\tes: \"No hay programas de entrenamiento para compartir.\",\r\n\t\t\t\tfr: \"Il n'y a pas de programmes d'entraรฎnement ร  partager.\",\r\n\t\t\t},\r\n\t\t\t\"select-training-program\": {\r\n\t\t\t\ten: \"Select a program\",\r\n\t\t\t\tit: \"Seleziona un programma\",\r\n\t\t\t\tes: \"Selecciona un programa\",\r\n\t\t\t\tfr: \"Sรฉlectionnez un programme\",\r\n\t\t\t},\r\n\t\t\t\"change-target-zone\": {\r\n\t\t\t\ten: \"Change Target Zone\",\r\n\t\t\t\tit: \"Cambia Target Zone\",\r\n\t\t\t\tes: \"Cambiar Target Zone\",\r\n\t\t\t\tfr: \"Modifier le Target Zone\",\r\n\t\t\t},\r\n\t\t\t\"group-operation-warning\": {\r\n\t\t\t\ten: \"Warning: the operation will affect {0} athletes.\",\r\n\t\t\t\tit: \"Attenzione: l'operazione agirร  su {0} atleti.\",\r\n\t\t\t\tes: \"Atenciรณn: la operaciรณn actuarรก en {0} atletas .\",\r\n\t\t\t\tfr: \"Attention: l'opรฉration affectera {0} athlรจtes athlรจtes.\",\r\n\t\t\t},\r\n\t\t\tmanagement: {\r\n\t\t\t\ten: \"Management\",\r\n\t\t\t\tit: \"Gestione\",\r\n\t\t\t\tes: \"Administraciรณn\",\r\n\t\t\t\tfr: \"Gestion\",\r\n\t\t\t},\r\n\t\t\tinfo: {\r\n\t\t\t\ten: \"Info\",\r\n\t\t\t\tit: \"Info\",\r\n\t\t\t\tes: \"Info\",\r\n\t\t\t\tfr: \"Info\",\r\n\t\t\t},\r\n\t\t\tsurname: {\r\n\t\t\t\ten: \"Surname\",\r\n\t\t\t\tit: \"Cognome\",\r\n\t\t\t\tes: \"Apellido\",\r\n\t\t\t\tfr: \"Nom de famille\",\r\n\t\t\t},\r\n\t\t\twarning: {\r\n\t\t\t\ten: \"Warning\",\r\n\t\t\t\tit: \"Attenzione\",\r\n\t\t\t\tes: \"Advertencia\",\r\n\t\t\t\tfr: \"Avertissement\",\r\n\t\t\t},\r\n\t\t\t\"error-removing-user-from-club\": {\r\n\t\t\t\ten: \"Error removing user rights from club\",\r\n\t\t\t\tit: \"Errore nella rimozione dei permessi dell'utente dal club\",\r\n\t\t\t\tes: \"Error al eliminar los derechos de usuario del club\",\r\n\t\t\t\tfr: \"Erreur lors de la suppression des droits d'utilisateur du club\",\r\n\t\t\t},\r\n\t\t\troles: {\r\n\t\t\t\ten: \"Roles\",\r\n\t\t\t\tit: \"Ruoli\",\r\n\t\t\t\tes: \"Roles\",\r\n\t\t\t\tfr: \"Rรดles\",\r\n\t\t\t},\r\n\t\t\t\"no-roles-removed\": {\r\n\t\t\t\ten: \"If confirmed, the user will be removed from the club.\",\r\n\t\t\t\tit: \"Se confermato, l'utente verrร  rimosso dal club.\",\r\n\t\t\t\tes: \"Si se confirma, el usuario serรก eliminado del club.\",\r\n\t\t\t\tfr: \"En cas de confirmation, l'utilisateur sera supprimรฉ du club.\",\r\n\t\t\t},\r\n\t\t\t\"athlete-no-roles-removed\": {\r\n\t\t\t\ten: \"All subscriptions, bookings, workout plans, and other club-specific attributes will be removed from the user.\",\r\n\t\t\t\tit: \"Tutti gli abbonamenti, le prenotazioni, i programmi di allenamento e altri attributi specifici del club verranno rimossi dall'utente.\",\r\n\t\t\t\tes: \"Todas las suscripciones, reservas, programas de entrenamiento y otros atributos especรญficos del club se eliminarรกn del usuario.\",\r\n\t\t\t\tfr: \"Tous les abonnements, rรฉservations, programmes d'entraรฎnement et autres attributs spรฉcifiques au club seront supprimรฉs de l'utilisateur.\"\r\n\t\t\t},\r\n\t\t\t\"athlete-confirmation-removal\": {\r\n\t\t\t\ten: \"If confirmed, all subscriptions, bookings, workout plans, and other club-specific attributes will be removed from the user.\",\r\n\t\t\t\tit: \"Se confermato, tutti gli abbonamenti, le prenotazioni, i programmi di allenamento e altri attributi specifici del club verranno rimossi dall'utente.\",\r\n\t\t\t\tes: \"Si se confirma, todas las suscripciones, reservas, programas de entrenamiento y otros atributos especรญficos del club se eliminarรกn del usuario.\",\r\n\t\t\t\tfr: \"S'il est confirmรฉ, tous les abonnements, rรฉservations, programmes d'entraรฎnement et autres attributs spรฉcifiques au club seront supprimรฉs de l'utilisateur.\"\r\n\t\t\t},\r\n\t\t\t\"user-permissions-removed\": {\r\n\t\t\t\ten: \"If confirmed, the user will no longer have permissions for {0}\",\r\n\t\t\t\tit: \"Se confermato, l'utente non avrร  piรน i permessi di {0}\",\r\n\t\t\t\tes: \"Si se confirma, el usuario ya no tendrรก permisos para {0}\",\r\n\t\t\t\tfr: \"Si confirmรฉ, l'utilisateur n'aura plus les permissions pour {0}\"\r\n\t\t\t},\r\n\t\t\t\"user-info\": {\r\n\t\t\t\ten: \"Users Info\",\r\n\t\t\t\tit: \"Info Utenti\",\r\n\t\t\t\tes: \"Informaciรณn de los usuarios\",\r\n\t\t\t\tfr: \"Informations sur les utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"manage-users\": {\r\n\t\t\t\ten: \"Manage Users\",\r\n\t\t\t\tit: \"Gestione Utenti\",\r\n\t\t\t\tes: \"Administrar usuarios\",\r\n\t\t\t\tfr: \"Gรฉrer les utilisateurs\",\r\n\t\t\t},\r\n\t\t\t\"add-athlete-failed\": {\r\n\t\t\t\ten: \"Can't add the user as athlete of the club\",\r\n\t\t\t\tit: \"Impossibile aggiungere l'utente come atleta del club\",\r\n\t\t\t\tes: \"No se puede agregar al usuario como deportista del club\",\r\n\t\t\t\tfr: \"Impossible d'ajouter l'utilisateur en tant qu'athlรจte du club\",\r\n\t\t\t},\r\n\t\t\t\"add-trainer-failed\": {\r\n\t\t\t\ten: \"Can't add the user as trainer of the club\",\r\n\t\t\t\tit: \"Impossibile aggiungere l'utente come trainer del club\",\r\n\t\t\t\tes: \"No se puede agregar al usuario como entrenador del club\",\r\n\t\t\t\tfr: \"Impossible d'ajouter l'utilisateur en tant qu'entraรฎneur du club\",\r\n\t\t\t},\r\n\t\t\t\"add-manager-failed\": {\r\n\t\t\t\ten: \"Can't add the user as manager of the club\",\r\n\t\t\t\tit: \"Impossibile aggiungere l'utente come manager del club\",\r\n\t\t\t\tes: \"No se puede agregar al usuario como administrador del club\",\r\n\t\t\t\tfr: \"Impossible d'ajouter l'utilisateur en tant que responsable du club\",\r\n\t\t\t},\r\n\t\t\t\"addcredits-op\": {\r\n\t\t\t\ten: \"{0} added {1} credits to the account\",\r\n\t\t\t\tit: \"{0} ha aggiunto {1} crediti all'account\",\r\n\t\t\t\tes: \"{0} agregรณ {1} crรฉditos a la cuenta\",\r\n\t\t\t\tfr: \"{0} a ajoutรฉ {1} crรฉdits au compte\",\r\n\t\t\t},\r\n\t\t\t\"remcredits-op\": {\r\n\t\t\t\ten: \"{0} removed {1} credits from the account\",\r\n\t\t\t\tit: \"{0} ha rimosso {1} crediti dall'account\",\r\n\t\t\t\tes: \"{0} eliminรณ {1} crรฉditos de la cuenta\",\r\n\t\t\t\tfr: \"{0} a supprimรฉ {1} crรฉdits du compte\",\r\n\t\t\t},\r\n\t\t\t\"booking-op\": {\r\n\t\t\t\ten: \"{0} subscribed {2} to {3}\",\r\n\t\t\t\tit: \"{0} ha iscritto {2} a {3}\",\r\n\t\t\t\tes: \"{0} suscribiรณ {2} a {3}\",\r\n\t\t\t\tfr: \"{0} a abonnรฉ {2} ร  {3}\",\r\n\t\t\t},\r\n\t\t\t\"unbooking-op\": {\r\n\t\t\t\ten: \"{0} removed {2} from {3}\",\r\n\t\t\t\tit: \"{0} ha rimosso {2} da {3}\",\r\n\t\t\t\tes: \"{0} sacรณ {2} de {3}\",\r\n\t\t\t\tfr: \"{0} a retirรฉ {2} de {3}\",\r\n\t\t\t},\r\n\t\t\t\"show-in-rankings-table\": {\r\n\t\t\t\ten: \"Rankings\",\r\n\t\t\t\tit: \"Classifiche\",\r\n\t\t\t\tes: \"Rankings\",\r\n\t\t\t\tfr: \"Classements\",\r\n\t\t\t},\r\n\t\t\t\"send-fitness-test-notifications-table\": {\r\n\t\t\t\ten: \"Fitness Test\",\r\n\t\t\t\tit: \"Fitness Test\",\r\n\t\t\t\tes: \"Fitness Test\",\r\n\t\t\t\tfr: \"Fitness Test\",\r\n\t\t\t},\r\n\t\t\t\"default-display-table\": {\r\n\t\t\t\ten: \"Room\",\r\n\t\t\t\tit: \"Sala\",\r\n\t\t\t\tes: \"Sala\",\r\n\t\t\t\tfr: \"Salle\",\r\n\t\t\t},\r\n\t\t\tprogram: {\r\n\t\t\t\ten: \"Workout\",\r\n\t\t\t\tit: \"Allenamento\",\r\n\t\t\t\tes: \"Entrenamiento\",\r\n\t\t\t\tfr: \"Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\ttz: {\r\n\t\t\t\ten: \"TZ\",\r\n\t\t\t\tit: \"TZ\",\r\n\t\t\t\tes: \"ZO\",\r\n\t\t\t\tfr: \"ZC\",\r\n\t\t\t},\r\n\t\t\t\"message-tag\": {\r\n\t\t\t\ten: \"Message\",\r\n\t\t\t\tit: \"Messaggio\",\r\n\t\t\t\tes: \"Mensaje\",\r\n\t\t\t\tfr: \"Message\",\r\n\t\t\t},\r\n\t\t\t\"impossible-follow-yourself\": {\r\n\t\t\t\ten: \"Impossible to follow yourself\",\r\n\t\t\t\tit: \"Impossibile seguire te stesso\",\r\n\t\t\t\tes: \"Imposible de seguirte a ti mismo\",\r\n\t\t\t\tfr: \"Impossible de se suivre\",\r\n\t\t\t},\r\n\t\t\t\"confirm-remove-self-join-tag\": {\r\n\t\t\t\ten: \"You are about to remove the 'SELF JOIN' tag\",\r\n\t\t\t\tit: \"Stai per rimuovere il tag 'SELF JOIN'\",\r\n\t\t\t\tes: \"Estรก a punto de eliminar la etiqueta 'SELF JOIN'\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer la balise 'SELF JOIN'\",\r\n\t\t\t},\r\n\t\t\t\"confirm-remove-guest-tag\": {\r\n\t\t\t\ten: \"You are about to remove the 'GUEST' tag\",\r\n\t\t\t\tit: \"Stai per rimuovere il tag 'GUEST'\",\r\n\t\t\t\tes: \"Estรก a punto de eliminar la etiqueta 'GUEST'\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer la balise 'GUEST'\",\r\n\t\t\t},\r\n\t\t\t\"remove-self-join-tags\": {\r\n\t\t\t\ten: \"Remove 'SELF JOIN' tag\",\r\n\t\t\t\tit: \"Rimuovi 'SELF JOIN' tag\",\r\n\t\t\t\tes: \"Eliminar la etiqueta 'SELF JOIN'\",\r\n\t\t\t\tfr: \"Supprimer la balise 'SELF JOIN'\",\r\n\t\t\t},\r\n\t\t\t\"this-sensor-is-assigned-to-multiple-club-users\": {\r\n\t\t\t\ten: \"This sensor is assigned to multiple users of the club\",\r\n\t\t\t\tit: \"Questo sensore risulta assegnato a piรน utenti del club\",\r\n\t\t\t\tes: \"Este sensor estรก asignado a mรบltiples usuarios del club\",\r\n\t\t\t\tfr: \"Ce capteur est attribuรฉ ร  plusieurs utilisateurs du club\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tNoAccessView: {\r\n\t\t\t\"insufficient-rights\": {\r\n\t\t\t\ten: \"Insufficient rights for this operation\",\r\n\t\t\t\tit: \"Diritti insufficienti per questa operazione\",\r\n\t\t\t\tes: \"No tiene permiso para realizar esta operaciรณn\",\r\n\t\t\t\tfr: \"Droits insuffisants pour cette opรฉration\",\r\n\t\t\t},\r\n\t\t\t\"no-rights\": {\r\n\t\t\t\ten: \"You don't have the appropriate rights for the selected club\",\r\n\t\t\t\tit: \"Non hai i diritti necessari per il club selezionato\",\r\n\t\t\t\tes: \"No tiene permiso para el club seleccionado\",\r\n\t\t\t\tfr: \"Vous ne disposez pas des droits requis pour le club sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tNotificationView: {\r\n\t\t\tUptivoLevel0: {\r\n\t\t\t\ten: \"No Level\",\r\n\t\t\t\tit: \"Nessun Livello\",\r\n\t\t\t\tes: \"Sin Nivel\",\r\n\t\t\t\tfr: \"Pas De Niveau\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel1: {\r\n\t\t\t\ten: \"Rookie\",\r\n\t\t\t\tit: \"Novellino\",\r\n\t\t\t\tes: \"Novicio\",\r\n\t\t\t\tfr: \"Novice\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel2: {\r\n\t\t\t\ten: \"Beginner\",\r\n\t\t\t\tit: \"Principiante\",\r\n\t\t\t\tes: \"Principiante\",\r\n\t\t\t\tfr: \"Dรฉbutant\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel3: {\r\n\t\t\t\ten: \"Amateur\",\r\n\t\t\t\tit: \"Amatore\",\r\n\t\t\t\tes: \"Aficionado\",\r\n\t\t\t\tfr: \"Amateur\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel4: {\r\n\t\t\t\ten: \"Passionate\",\r\n\t\t\t\tit: \"Appassionato\",\r\n\t\t\t\tes: \"Apasionado\",\r\n\t\t\t\tfr: \"Passionnรฉ\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel5: {\r\n\t\t\t\ten: \"Skillful\",\r\n\t\t\t\tit: \"Preparato\",\r\n\t\t\t\tes: \"Hรกbil\",\r\n\t\t\t\tfr: \"Habile\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel6: {\r\n\t\t\t\ten: \"Outstanding\",\r\n\t\t\t\tit: \"Eccezionale\",\r\n\t\t\t\tes: \"Excepcional\",\r\n\t\t\t\tfr: \"Exceptionnel\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel7: {\r\n\t\t\t\ten: \"Tireless\",\r\n\t\t\t\tit: \"Infaticabile\",\r\n\t\t\t\tes: \"Incansable\",\r\n\t\t\t\tfr: \"Infatigable\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel8: {\r\n\t\t\t\ten: \"Formidable\",\r\n\t\t\t\tit: \"Formidabile\",\r\n\t\t\t\tes: \"Formidable\",\r\n\t\t\t\tfr: \"Redoutable\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel9: {\r\n\t\t\t\ten: \"Phenomenal\",\r\n\t\t\t\tit: \"Fenomenale\",\r\n\t\t\t\tes: \"Fenomenal\",\r\n\t\t\t\tfr: \"Phรฉnomรฉnal\",\r\n\t\t\t},\r\n\t\t\tUptivoLevel10: {\r\n\t\t\t\ten: \"Titanic\",\r\n\t\t\t\tit: \"Titanico\",\r\n\t\t\t\tes: \"Titรกnico\",\r\n\t\t\t\tfr: \"Titanesque\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-add-tpl\": {\r\n\t\t\t\ten: \"The <%= notification.Target.SubscriptionName %> subscription has been added to your account\",\r\n\t\t\t\tit: \"L'abbonamento <%= notification.Target.SubscriptionName %> รจ stato aggiunto al tuo account\",\r\n\t\t\t\tes: \"La suscripciรณn <%= notification.Target.SubscriptionName %> se ha agregado a su cuenta\",\r\n\t\t\t\tfr: \"L'abonnement <%= notification.Target.SubscriptionName %> a รฉtรฉ ajoutรฉ ร  votre compte\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-add-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> added subscription <%= notification.Target.SubscriptionName %> to <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha aggiunto l'abbonamento <%= notification.Target.SubscriptionName %> a <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> agregรณ la suscripciรณn <%= notification.Target.SubscriptionName %> a <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a ajoutรฉ l'abonnement <%= notification.Target.SubscriptionName %> ร  <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionAdd: {\r\n\t\t\t\ten: \"Subscription Added\",\r\n\t\t\t\tit: \"Abbonamento Aggiunto\",\r\n\t\t\t\tes: \"Suscripciรณn Agregada\",\r\n\t\t\t\tfr: \"Abonnement Ajoutรฉ\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-update-tpl\": {\r\n\t\t\t\ten: \"The <%= notification.Target.SubscriptionName %> subscription has been updated\",\r\n\t\t\t\tit: \"L'abbonamento <%= notification.Target.SubscriptionName %> รจ stato modificato\",\r\n\t\t\t\tes: \"Se ha cambiado la suscripciรณn <%= notification.Target.SubscriptionName %>\",\r\n\t\t\t\tfr: \"L'abonnement <%= notification.Target.SubscriptionName %> a รฉtรฉ modifiรฉ\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-update-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> modified the subscription <%= notification.Target.SubscriptionName %> for <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha modificato l'abbonamento <%= notification.Target.SubscriptionName %> di <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> modificรณ la suscripciรณn <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a modifiรฉ l'abonnement <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionUpdate: {\r\n\t\t\t\ten: \"Subscription Updated\",\r\n\t\t\t\tit: \"Abbonamento Modificato\",\r\n\t\t\t\tes: \"Suscripciรณn Cambiada\",\r\n\t\t\t\tfr: \"Abonnement Modifiรฉ\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-delete-tpl\": {\r\n\t\t\t\ten: \"The <%= notification.Target.SubscriptionName %> subscription has been removed from your account\",\r\n\t\t\t\tit: \"L'abbonamento <%= notification.Target.SubscriptionName %> รจ stato rimosso dal tuo account\",\r\n\t\t\t\tes: \"La suscripciรณn <%= notification.Target.SubscriptionName %> se ha eliminado de su cuenta\",\r\n\t\t\t\tfr: \"L'abonnement <%= notification.Target.SubscriptionName %> a รฉtรฉ supprimรฉ de votre compte\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-delete-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> removed subscription <%= notification.Target.SubscriptionName %> from <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha rimosso l'abbonamento <%= notification.Target.SubscriptionName %> da <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> eliminรณ la suscripciรณn <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a supprimรฉ l'abonnement <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionDelete: {\r\n\t\t\t\ten: \"Subscription Removed\",\r\n\t\t\t\tit: \"Abbonamento Rimosso\",\r\n\t\t\t\tes: \"Suscripciรณn Eliminada\",\r\n\t\t\t\tfr: \"Abonnement Supprimรฉ\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-suspend-tpl\": {\r\n\t\t\t\ten: \"The <%= notification.Target.SubscriptionName %> subscription has been suspended\",\r\n\t\t\t\tit: \"L'abbonamento <%= notification.Target.SubscriptionName %> รจ stato sospeso\",\r\n\t\t\t\tes: \"La suscripciรณn <%= notification.Target.SubscriptionName %> ha sido suspendida\",\r\n\t\t\t\tfr: \"L'abonnement <%= notification.Target.SubscriptionName %> a รฉtรฉ suspendu\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-suspend-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has suspended the subscription <%= notification.Target.SubscriptionName %> for <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha sospeso l'abbonamento <%= notification.Target.SubscriptionName %> di <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> ha suspendido la suscripciรณn <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a suspendu l'abonnement <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionSuspend: {\r\n\t\t\t\ten: \"Subscription Suspended\",\r\n\t\t\t\tit: \"Abbonamento Sospeso\",\r\n\t\t\t\tes: \"Suscripciรณn Suspendida\",\r\n\t\t\t\tfr: \"Abonnement Suspendu\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-reactivate-tpl\": {\r\n\t\t\t\ten: \"The <%= notification.Target.SubscriptionName %> subscription has been reactivated\",\r\n\t\t\t\tit: \"L'abbonamento <%= notification.Target.SubscriptionName %> รจ stato riattivato\",\r\n\t\t\t\tes: \"La suscripciรณn <%= notification.Target.SubscriptionName %> se ha reactivado\",\r\n\t\t\t\tfr: \"L'abonnement <%= notification.Target.SubscriptionName %> a รฉtรฉ rรฉactivรฉ\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-reactivate-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has reactivated the subscription <%= notification.Target.SubscriptionName %> for <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha riattivato l'abbonamento <%= notification.Target.SubscriptionName %> di <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> ha reactivado la suscripciรณn <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a rรฉactivรฉ l'abonnement <%= notification.Target.SubscriptionName %> de <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionReactivate: {\r\n\t\t\t\ten: \"Subscription Reactivated\",\r\n\t\t\t\tit: \"Abbonamento Riattivato\",\r\n\t\t\t\tes: \"Suscripciรณn Reactivada\",\r\n\t\t\t\tfr: \"Abonnement Rรฉactivรฉ\",\r\n\t\t\t},\r\n\t\t\t\"challenge-started-tpl\": {\r\n\t\t\t\ten: \"Time to test yourself! Your club has organized the <%= notification.Target.ChallengeName %> challenge. Train consistently and intensely to win participation trophies\",\r\n\t\t\t\tit: \"รˆ ora di metterti alla prova! Il tuo club ha organizzato la sfida <%= notification.Target.ChallengeName %>, allenati con costanza e intensitร  per vincere i trofei di partecipazione\",\r\n\t\t\t\tes: \"ยกes hora de ponerte a prueba! Tu club ha organizado el desafรญo <%= notification.Target.ChallengeName %>. Entrena de forma constante e intensa para ganar trofeos de participaciรณn\",\r\n\t\t\t\tfr: \"Il est temps de vous tester! Votre club a organisรฉ le dรฉfi <%= notification.Target.ChallengeName %>. Entraรฎnez-vous rรฉguliรจrement et intensรฉment pour gagner des trophรฉes de participation\",\r\n\t\t\t},\r\n\t\t\tChallengeStarted: {\r\n\t\t\t\ten: \"Challenge Started\",\r\n\t\t\t\tit: \"Sfida Cominciata\",\r\n\t\t\t\tes: \"Desafรญo Iniciado\",\r\n\t\t\t\tfr: \"Dรฉfi Commencรฉ\",\r\n\t\t\t},\r\n\t\t\t\"challenge-canceled-tpl\": {\r\n\t\t\t\ten: \"Your club has canceled the <%= notification.Target.ChallengeName %> challenge. Keep an eye on challenges and train consistently and intensely to win participation trophies\",\r\n\t\t\t\tit: \"Il tuo club ha cancellato la sfida <%= notification.Target.ChallengeName %>. Tieni d'occhio le sfide e allenati con costanza e intensitร  per vincere i trofei di partecipazione\",\r\n\t\t\t\tes: \"Tu club ha cancelado el desafรญo <%= notification.Target.ChallengeName %>. Estรฉ atento a los desafรญos y entrene de manera constante e intensa para ganar trofeos de participaciรณn\",\r\n\t\t\t\tfr: \"Votre club a annulรฉ le dรฉfi <%= notification.Target.ChallengeName %>. Gardez un ล“il sur les dรฉfis et entraรฎnez-vous rรฉguliรจrement et intensรฉment pour remporter des trophรฉes de participation\",\r\n\t\t\t},\r\n\t\t\tChallengeCanceled: {\r\n\t\t\t\ten: \"Challenge Canceled\",\r\n\t\t\t\tit: \"Sfida Cancellata\",\r\n\t\t\t\tes: \"Desafรญo Cancelado\",\r\n\t\t\t\tfr: \"Dรฉfi Annulรฉ\",\r\n\t\t\t},\r\n\t\t\t\"challenge-terminated-tpl\": {\r\n\t\t\t\ten: \"The challenge <%= notification.Target.ChallengeName %> has ended. You ranked <%= notification.Target.Rank %>. Keep an eye on your club's challenges and train consistently and intensely to win participation trophies\",\r\n\t\t\t\tit: \"La sfida <%= notification.Target.ChallengeName %> รจ terminata. La tua posizione รจ <%= notification.Target.Rank %>. Tieni d'occhio le sfide del tuo club e allenati con costanza e intensitร  per vincere i trofei di partecipazione\",\r\n\t\t\t\tes: \"El desafรญo <%= notification.Target.ChallengeName %> ha terminado. Has clasificado <%= notification.Target.Rank %>. Estรฉ atento a los desafรญos de su club y entrene de manera constante e intensa para ganar trofeos de participaciรณn\",\r\n\t\t\t\tfr: \"Le dรฉfi <%= notification.Target.ChallengeName %> est terminรฉ. Vous avez classรฉ <%= notification.Target.Rank %>. Gardez un ล“il sur les dรฉfis de votre club et entraรฎnez-vous rรฉguliรจrement et intensรฉment pour remporter des trophรฉes de participation\",\r\n\t\t\t},\r\n\t\t\tChallengeTerminated: {\r\n\t\t\t\ten: \"Challenge Ended\",\r\n\t\t\t\tit: \"Sfida Terminata\",\r\n\t\t\t\tes: \"Desafรญo Terminado\",\r\n\t\t\t\tfr: \"Dรฉfi Terminรฉ\",\r\n\t\t\t},\r\n\t\t\t\"challenge-awarded-tpl\": {\r\n\t\t\t\ten: 'Congratulations, you have won a trophy for the <%= notification.Target.ChallengeName %> challenge! Your position is <%= notification.Target.RankPrc ? \"\\\\\"top \"+notification.Target.RankPrc+\"%\\\\\"\" : notification.Target.Rank %>',\r\n\t\t\t\tit: 'Complimenti, ti sei aggiudicato un trofeo per la sfida <%= notification.Target.ChallengeName %>! La tua posizione รจ <%= notification.Target.RankPrc ? \"\\\\\"top \"+notification.Target.RankPrc+\"%\\\\\"\" : notification.Target.Rank %>',\r\n\t\t\t\tes: 'ยกFelicitaciones, has ganado un trofeo para el desafรญo <%= notification.Target.ChallengeName %>! Su posiciรณn es <%= notification.Target.RankPrc ? \"\\\\\"top \"+notification.Target.RankPrc+\"%\\\\\"\" : notification.Target.Rank %>',\r\n\t\t\t\tfr: 'Fรฉlicitations, vous avez remportรฉ un trophรฉe pour le dรฉfi <%= notification.Target.ChallengeName %>! Votre position est <%= notification.Target.RankPrc ? \"\\\\\"top \"+notification.Target.RankPrc+\"%\\\\\"\" : notification.Target.Rank %>',\r\n\t\t\t},\r\n\t\t\tChallengeAwarded: {\r\n\t\t\t\ten: \"Trophy Won\",\r\n\t\t\t\tit: \"Trofeo Vinto\",\r\n\t\t\t\tes: \"Trofeo Ganado\",\r\n\t\t\t\tfr: \"Trophรฉe Gagnรฉ\",\r\n\t\t\t},\r\n\t\t\tOrderFulfilled: {\r\n\t\t\t\ten: \"Purchase\",\r\n\t\t\t\tit: \"Acquisto\",\r\n\t\t\t\tes: \"Compra\",\r\n\t\t\t\tfr: \"Achat\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpired: {\r\n\t\t\t\ten: \"Subscription Expired\",\r\n\t\t\t\tit: \"Abbonamento Scaduto\",\r\n\t\t\t\tes: \"Suscripciรณn Caducado\",\r\n\t\t\t\tfr: \"Abonnement Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiredDateUser: {\r\n\t\t\t\ten: \"Subscription Expired\",\r\n\t\t\t\tit: \"Abbonamento Scaduto\",\r\n\t\t\t\tes: \"Suscripciรณn Caducado\",\r\n\t\t\t\tfr: \"Abonnement Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiredTicketUser: {\r\n\t\t\t\ten: \"Finished Tickets\",\r\n\t\t\t\tit: \"Ticket Terminati\",\r\n\t\t\t\tes: \"Boletos Terminados\",\r\n\t\t\t\tfr: \"Billets Finis\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiredDateManager: {\r\n\t\t\t\ten: \"Subscription Expired\",\r\n\t\t\t\tit: \"Abbonamento Scaduto\",\r\n\t\t\t\tes: \"Suscripciรณn Caducado\",\r\n\t\t\t\tfr: \"Abonnement Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiredTicketManager: {\r\n\t\t\t\ten: \"Finished Tickets\",\r\n\t\t\t\tit: \"Ticket Terminati\",\r\n\t\t\t\tes: \"Boletos Terminados\",\r\n\t\t\t\tfr: \"Billets Finis\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiring: {\r\n\t\t\t\ten: \"Expiring Subscription\",\r\n\t\t\t\tit: \"Abbonamento In Scadenza\",\r\n\t\t\t\tes: \"Suscripciรณn Que Expira\",\r\n\t\t\t\tfr: \"Abonnement Expirant\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiringDateUser: {\r\n\t\t\t\ten: \"Expiring Subscription\",\r\n\t\t\t\tit: \"Abbonamento In Scadenza\",\r\n\t\t\t\tes: \"Suscripciรณn Que Expira\",\r\n\t\t\t\tfr: \"Abonnement Expirant\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiringTicketUser: {\r\n\t\t\t\ten: \"Tickets Are About To End\",\r\n\t\t\t\tit: \"Ingressi Quasi Terminati\",\r\n\t\t\t\tes: \"Entradas Casi Terminadas\",\r\n\t\t\t\tfr: \"Entrรฉes Presque Terminรฉes\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiringDateManager: {\r\n\t\t\t\ten: \"Expiring Subscription\",\r\n\t\t\t\tit: \"Abbonamento In Scadenza\",\r\n\t\t\t\tes: \"Suscripciรณn Que Expira\",\r\n\t\t\t\tfr: \"Abonnement Expirant\",\r\n\t\t\t},\r\n\t\t\tUserSubscriptionExpiringTicketManager: {\r\n\t\t\t\ten: \"Tickets Are About To End\",\r\n\t\t\t\tit: \"Ingressi Quasi Terminati\",\r\n\t\t\t\tes: \"Entradas Casi Terminadas\",\r\n\t\t\t\tfr: \"Entrรฉes Presque Terminรฉes\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredMedicalCertificateUser: {\r\n\t\t\t\ten: \"Expired Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico Scaduto\",\r\n\t\t\t\tes: \"Certificado Mรฉdico Caducado\",\r\n\t\t\t\tfr: \"Certificat mรฉdical expirรฉ\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredMembershipUser: {\r\n\t\t\t\ten: \"Expired Membership\",\r\n\t\t\t\tit: \"Iscrizione Scaduta\",\r\n\t\t\t\tes: \"Matrรญcula Vencida\",\r\n\t\t\t\tfr: \"Inscription Expirรฉe\",\r\n\t\t\t},\r\n\t\t\tPoliciesNotAccepted: {\r\n\t\t\t\ten: \"The athlete does not have accepted a required policy\",\r\n\t\t\t\tit: \"L'atleta non ha accettato una policy richiesta\",\r\n\t\t\t\tes: \"El atleta no ha aceptado una polรญtica requerida\",\r\n\t\t\t\tfr: \"L'athlรจte n'a pas acceptรฉ une politique requise\"\r\n\t\t\t},\r\n\t\t\tAthleteExpExpired: {\r\n\t\t\t\ten: \"Expired Documents\",\r\n\t\t\t\tit: \"Documento Scaduto\",\r\n\t\t\t\tes: \"Documento Expirado\",\r\n\t\t\t\tfr: \"Document Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredGenericUser: {\r\n\t\t\t\ten: \"Expired Documents\",\r\n\t\t\t\tit: \"Documento Scaduto\",\r\n\t\t\t\tes: \"Documento Expirado\",\r\n\t\t\t\tfr: \"Document Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredMedicalCertificateManager: {\r\n\t\t\t\ten: \"Expired Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico Scaduto\",\r\n\t\t\t\tes: \"Certificado Mรฉdico Caducado\",\r\n\t\t\t\tfr: \"Certificat mรฉdical expirรฉ\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredMembershipManager: {\r\n\t\t\t\ten: \"Expired Membership\",\r\n\t\t\t\tit: \"Iscrizione Scaduta\",\r\n\t\t\t\tes: \"Matrรญcula Vencida\",\r\n\t\t\t\tfr: \"Inscription Expirรฉe\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiredGenericManager: {\r\n\t\t\t\ten: \"Expired Documents\",\r\n\t\t\t\tit: \"Documento Scaduto\",\r\n\t\t\t\tes: \"Documento Expirado\",\r\n\t\t\t\tfr: \"Document Expirรฉ\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringMedicalCertificateUser: {\r\n\t\t\t\ten: \"Expiring Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico In Scadenza\",\r\n\t\t\t\tes: \"Certificado Mรฉdico Que Expira\",\r\n\t\t\t\tfr: \"Certificat mรฉdical Expirant\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringMembershipUser: {\r\n\t\t\t\ten: \"Expiring Membership\",\r\n\t\t\t\tit: \"Iscrizione In Scadenza\",\r\n\t\t\t\tes: \"Matrรญcula Que Expira\",\r\n\t\t\t\tfr: \"Inscription Expirant\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringGenericUser: {\r\n\t\t\t\ten: \"Expiring Documents\",\r\n\t\t\t\tit: \"Documento In Scadenza\",\r\n\t\t\t\tes: \"DocumentoQue Expira\",\r\n\t\t\t\tfr: \"Document Expirant\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringMedicalCertificateManager: {\r\n\t\t\t\ten: \"Expiring Medical Certificate\",\r\n\t\t\t\tit: \"Certificato Medico In Scadenza\",\r\n\t\t\t\tes: \"Certificado Mรฉdico Que Expira\",\r\n\t\t\t\tfr: \"Certificat mรฉdical Expirant\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringMembershipManager: {\r\n\t\t\t\ten: \"Expiring Membership\",\r\n\t\t\t\tit: \"Iscrizione In Scadenza\",\r\n\t\t\t\tes: \"Matrรญcula Que Expira\",\r\n\t\t\t\tfr: \"Inscription Expirant\",\r\n\t\t\t},\r\n\t\t\tAthleteExpExpiringGenericManager: {\r\n\t\t\t\ten: \"Expiring Documents\",\r\n\t\t\t\tit: \"Documento In Scadenza\",\r\n\t\t\t\tes: \"DocumentoQue Expira\",\r\n\t\t\t\tfr: \"Document Expirant\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expiring-medical-certificate-user-tpl\": {\r\n\t\t\t\ten: \"Your medical certificate will expire on <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Don't forget to renew it!\",\r\n\t\t\t\tit: \"Il tuo certificato medico scadrร  il giorno <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Non dimenticare di rinnovarlo!\",\r\n\t\t\t\tes: \"Su certificado mรฉdico caducarรก el <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre certificat mรฉdical expirera le <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expiring-membership-user-tpl\": {\r\n\t\t\t\ten: \"Your membership will expire on <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Don't forget to renew it!\",\r\n\t\t\t\tit: \"La tua iscrizione scadrร  il giorno <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Non dimenticare di rinnovarla!\",\r\n\t\t\t\tes: \"Su matrรญcula caducarรก el <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre inscription expirera le <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-medical-certificate-user-tpl\": {\r\n\t\t\t\ten: \"Your medical certificate has expired. Don't forget to renew it!\",\r\n\t\t\t\tit: \"Il tuo certificato medico รจ scaduto. Non dimenticare di rinnovarlo!\",\r\n\t\t\t\tes: \"Su certificado mรฉdico ha caducado. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre certificat mรฉdical est expirรฉ. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-medical-certificate-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Medical Certificate expired.\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Certificato Medico scaduto.\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Certificado Medico caducado.\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Certificat Mรฉdical expirรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-membership-user-tpl\": {\r\n\t\t\t\ten: \"Your membership has expired. Don't forget to renew it!\",\r\n\t\t\t\tit: \"La tua iscrizione รจ scaduta. Non dimenticare di rinnovarla!\",\r\n\t\t\t\tes: \"Su matrรญcula ha expirado. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre inscription a expirรฉ. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-membership-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Membership expired.\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Iscrizione scaduta.\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Matrรญcula caducado.\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - Inscription expirรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-generic-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - <%= notification.Target.Description %> expired.\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - <%= notification.Target.Description %> scaduto.\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - <%= notification.Target.Description %> caducado.\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - <%= notification.Target.Description %> expirรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"athlete-exp-expired-generic-user-tpl\": {\r\n\t\t\t\ten: \"Your document <%= notification.Target.Description %> expired.\",\r\n\t\t\t\tit: \"Il tuo documento <%= notification.Target.Description %> รจ scaduto.\",\r\n\t\t\t\tes: \"Su documento <%= notification.Target.Description %> ha caducado.\",\r\n\t\t\t\tfr: \"Votre document <%= notification.Target.Description %> a expirรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expiring-date-user-tpl\": {\r\n\t\t\t\ten: \"Your subscription <%= notification.Target.SubscriptionName %> will expire on <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Don't forget to renew it!\",\r\n\t\t\t\tit: \"Il tuo abbonamento <%= notification.Target.SubscriptionName %> scadrร  il giorno <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. Non dimenticare di rinnovarlo!\",\r\n\t\t\t\tes: \"Su suscripciรณn <%= notification.Target.SubscriptionName %> caducarรก el <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre abonnement <%= notification.Target.SubscriptionName %> expirera le <%= moment(notification.Target.ExpirationDate).format(utilities.getMomentDateFormat(notification.DateFormat)) %>. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expiring-ticket-user-tpl\": {\r\n\t\t\t\ten: \"You have only one ticket remaining on your <%= notification.Target.SubscriptionName %> subscription. Don't forget to renew your subscription!\",\r\n\t\t\t\tit: \"Hai un solo ingresso rimanente sul tuo abbonamento <%= notification.Target.SubscriptionName %>. Non dimenticare di rinnovare lโ€™abbonamento!\",\r\n\t\t\t\tes: \"Solo le queda una entrada en su suscripciรณn de <%= notification.Target.SubscriptionName %>. ยกNo olvides renovar tu suscripciรณn!\",\r\n\t\t\t\tfr: \"Il ne vous reste qu'un seul ticket sur votre abonnement <%= notification.Target.SubscriptionName %>. N'oubliez pas de renouveler votre abonnement !\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expired-date-user-tpl\": {\r\n\t\t\t\ten: \"Your <%= notification.Target.SubscriptionName %> subscription has expired. Don't forget to renew it!\",\r\n\t\t\t\tit: \"Il tuo abbonamento <%= notification.Target.SubscriptionName %> รจ scaduto. Non dimenticare di rinnovarlo!\",\r\n\t\t\t\tes: \"Su suscripciรณn a <%= notification.Target.SubscriptionName %> ha vencido. ยกNo olvides renovarlo!\",\r\n\t\t\t\tfr: \"Votre abonnement <%= notification.Target.SubscriptionName %> a expirรฉ. N'oubliez pas de le renouveler !\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expired-ticket-user-tpl\": {\r\n\t\t\t\ten: \"You have no more tickets available on your <%= notification.Target.SubscriptionName %> subscription. Don't forget to renew your subscription!\",\r\n\t\t\t\tit: \"Non hai piรน ingressi disponibili sul tuo abbonamento <%= notification.Target.SubscriptionName %>. Non dimenticare di rinnovare lโ€™abbonamento!\",\r\n\t\t\t\tes: \"No tiene mรกs entradas disponibles en su suscripciรณn de <%= notification.Target.SubscriptionName %>. ยกNo olvides renovar tu suscripciรณn!\",\r\n\t\t\t\tfr: \"Vous n'avez plus de tickets disponibles sur votre abonnement <%= notification.Target.SubscriptionName %>. N'oubliez pas de renouveler votre abonnement !\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expired-date-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - The <%= notification.Target.SubscriptionName %> subscription has expired.\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - L'abbonamento <%= notification.Target.SubscriptionName %> รจ scaduto.\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - La suscripciรณn <%= notification.Target.SubscriptionName %> ha caducado.\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - L'abonnement <%= notification.Target.SubscriptionName %> a expirรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"user-subscription-expired-ticket-manager-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - The <%= notification.Target.SubscriptionName %> subscription has no more tickets.\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - L'abbonamento <%= notification.Target.SubscriptionName %> non ha piรน ingressi.\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - La suscripciรณn <%= notification.Target.SubscriptionName %> no tiene mรกs entradas.\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) - L'abonnement <%= notification.Target.SubscriptionName %> n'a plus de tickets.\",\r\n\t\t\t},\r\n\t\t\t\"credits-sub-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> removed <%= notification.Target.Credits %> credits, your new balance is <%= notification.Target.TotalCredits %> credits\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ti ha tolto <%= notification.Target.Credits %> crediti, il tuo saldo รจ <%= notification.Target.TotalCredits %> crediti\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> eliminรณ <%= notification.Target.Credits %> crรฉditos, su nuevo saldo es de <%= notification.Target.TotalCredits %> crรฉditos\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a supprimรฉ <%= notification.Target.Credits %> crรฉdits, votre nouveau solde est de <%= notification.Target.TotalCredits %> crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"credits-add-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> added <%= notification.Target.Credits %> credits, your new balance is <%= notification.Target.TotalCredits %> credits\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ti ha aggiunto <%= notification.Target.Credits %> crediti, il tuo saldo รจ <%= notification.Target.TotalCredits %> crediti\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> agregรณ <%= notification.Target.Credits %> crรฉditos, su nuevo saldo es de <%= notification.Target.TotalCredits %> crรฉditos\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a ajoutรฉ <%= notification.Target.Credits %> crรฉdits, votre nouveau solde est de <%= notification.Target.TotalCredits %> crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"class-unsubscription-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> removed you from <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (+ <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ti ha rimosso da <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (+ <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> te quitรณ de <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (+ <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> t'a retirรฉ de <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (+ <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t},\r\n\t\t\t\"log-class-unsubscription-self-tpl\": {\r\n\t\t\t\ten: \"The user <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) has canceled the reservation for <%= notification.Target.ClassName %> at <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> on <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tit: \"Lโ€™utente <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) ha cancellato la prenotazione a <%= notification.Target.ClassName %> delle ore <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> del <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tes: \"El usuario <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) ha cancelado la reserva de <%= notification.Target.ClassName %> a las <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> horas del dรญa <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tfr: \"L'utilisateur <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) a annulรฉ la rรฉservation pour <%= notification.Target.ClassName %> ร  <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> le <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t},\r\n\t\t\t\"log-class-unsubscription-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has removed <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) from <%= notification.Target.ClassName %> at <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> on <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha rimosso <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) da <%= notification.Target.ClassName %> delle ore <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> del <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> ha eliminado <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) de <%= notification.Target.ClassName %> a las <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> horas del dรญa <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a supprimรฉ <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) de <%= notification.Target.ClassName %> ร  <%= utilities.formatTime(notification.Target.ClassDate, userInfo, false) %> le <%= utilities.formatDate(notification.Target.ClassDate, userInfo) %>\",\r\n\t\t\t},\r\n\t\t\t\"class-subscription-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> added you to <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (- <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ti ha aggiunto a <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (- <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> te agregรณ a <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (- <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> vous a ajoutรฉ ร  <%= notification.Target.ClassName %><% if (notification.Target.Credits) {%> (- <%= notification.Target.Credits %> credits)<%}%>\",\r\n\t\t\t},\r\n\t\t\t\"user-measure-expired-first-tpl\": {\r\n\t\t\t\ten: \"Verify your fitness level. Take your first Fitness Test!\",\r\n\t\t\t\tit: \"Verifica il tuo livello di forma. Fai il tuo primo Fitness Test!\",\r\n\t\t\t\tes: \"Verifica tu nivel de entrenamiento. Empieza tu primer Fitness Test!\",\r\n\t\t\t\tfr: \"Vรฉrifiez votre niveau de forme physique. Faites votre premier Test de Condition Physique!\",\r\n\t\t\t},\r\n\t\t\t\"user-measure-expired-tpl\": {\r\n\t\t\t\ten: \"Verify your fitness level. Take your Fitness Test!\",\r\n\t\t\t\tit: \"Verifica il tuo livello di forma. Fai il tuo Fitness Test!\",\r\n\t\t\t\tes: \"Verifica tu nivel de entrenamiento. Empieza tu Fitness Test!\",\r\n\t\t\t\tfr: \"Vรฉrifiez votre niveau de forme physique. Faites votre Test de Condition Physique!\",\r\n\t\t\t},\r\n\t\t\t\"trainer-awards-tpl\": {\r\n\t\t\t\ten: \"New Trainer Points available. Go and award Points to your favorite trainers!\",\r\n\t\t\t\tit: \"Nuovi Trainer Points disponibili. Assegna subito i punti ai tuoi trainer preferiti!\",\r\n\t\t\t\tes: \"Nuevos Trainer Points disponibles. ยกVe y otorga puntos a tus entrenadores favoritos!\",\r\n\t\t\t\tfr: \"Nouveaux Trainer Points disponibles. Allez attribuer des points ร  vos entraรฎneurs prรฉfรฉrรฉs!\",\r\n\t\t\t},\r\n\t\t\t\"level-update-tpl\": {\r\n\t\t\t\ten: \"Congrats! You leveled up. Your new Uptivo level is <%= r('UptivoLevel'+notification.Target.Level) %>. The effort you put in has paid off.\",\r\n\t\t\t\tit: \"Congratulazioni! Il tuo nuovo livello Uptivo รจ <%= r('UptivoLevel'+notification.Target.Level) %>. Il duro lavoro ha dato i suoi frutti.\",\r\n\t\t\t\tes: \"ยกFelicitaciones! Tu nivel ha subido. Tu nuevo nivel es <%= r('UptivoLevel'+notification.Target.Level) %>. Tu trabajo duro ha dado sus frutos.\",\r\n\t\t\t\tfr: \"Fรฉlicitations! Votre niveau d'uptivo a augmentรฉ. Votre nouveau niveau est <%= r('UptivoLevel'+notification.Target.Level) %>. L'effort que vous avez mis a portรฉ ses fruits.\",\r\n\t\t\t},\r\n\t\t\t\"created-user-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> created user <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha creato l'utente <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> creรณ a usuario <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a crรฉรฉ l'utilisateur <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\t\"created-invitation-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> invited <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha invitato <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> invitรณ a <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a invitรฉ <%= notification.Target.Nickname %> (<%= notification.Target.Email %>)\",\r\n\t\t\t},\r\n\t\t\t\"user-accepted-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) accepted the invite\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) ha confermato l'invito\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) aceptรณ la invitaciรณn\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) a acceptรฉ l'invitation\",\r\n\t\t\t},\r\n\t\t\t\"user-expired-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) did not accept the invite\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) non ha confermato l'invito\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) no aceptรณ la invitaciรณn\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) n'a pas acceptรฉ l'invitation\",\r\n\t\t\t},\r\n\t\t\t\"invitation-link-expired-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Email %> did not accept the invite\",\r\n\t\t\t\tit: \"<%= notification.Target.Email %> non ha confermato l'invito\",\r\n\t\t\t\tes: \"<%= notification.Target.Email %> no aceptรณ la invitaciรณn\",\r\n\t\t\t\tfr: \"<%= notification.Target.Email %> n'a pas acceptรฉ l'invitation\",\r\n\t\t\t},\r\n\t\t\t\"user-left-club-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) has left the club\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) ha lasciato il club\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) ha dejado el club\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) a quittรฉ le club\",\r\n\t\t\t},\r\n\t\t\t\"removed-from-club-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> removed <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) from the club\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha rimosso <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) dal club\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> eliminรณ a <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) desde el club\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a retirรฉ <%= notification.Target.Nickname %> (<%= notification.Target.Email %>) du club\",\r\n\t\t\t},\r\n\t\t\t\"user-is-back-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) is back after <%= notification.Target.Days %> days\",\r\n\t\t\t\tit: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) รจ di ritorno dopo <%= notification.Target.Days %> giorni\",\r\n\t\t\t\tes: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) estรก de vuelta despuรฉs de <%= notification.Target.Days %> dรญas\",\r\n\t\t\t\tfr: \"<%= notification.Target.Nickname %> (<%= notification.Target.Email %>) est de retour aprรจs <%= notification.Target.Days %> jours\",\r\n\t\t\t},\r\n\t\t\t\"workout-program-share-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> shared a Workout Program with you\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ti ha condiviso un programma di allenamento\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> te compartiรณ un programa de entrenamiento\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> vous a partagรฉ un programme d'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"club-message-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Target.Title || 'You have a new message from the club!' %>\",\r\n\t\t\t\tit: \"<%= notification.Target.Title || 'Hai un nuovo messaggio dal club!' %>\",\r\n\t\t\t\tes: \"<%= notification.Target.Title || 'ยกTienes un nuevo mensaje del club!' %>\",\r\n\t\t\t\tfr: \"<%= notification.Target.Title || 'Vous avez un nouveau message du club!' %>\",\r\n\t\t\t},\r\n\t\t\t\"started-live-self-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has started an Uptivo LIVE session\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha avviato una sessione Uptivo LIVE\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> comenzรณ una sesiรณn Uptivo LIVE\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a commencรฉ une session Uptivo LIVE\",\r\n\t\t\t},\r\n\t\t\t\"started-live-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has started an Uptivo LIVE session by <%= notification.Target.Nickname %>\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha avviato la sessione Uptivo LIVE di <%= notification.Target.Nickname %>\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> comenzรณ la sesiรณn Uptivo LIVE de <%= notification.Target.Nickname %>\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a commencรฉ la session Uptivo LIVE de <%= notification.Target.Nickname %>\",\r\n\t\t\t},\r\n\t\t\t\"credits-purchase-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has purchased <%= notification.Target.Credits %> credits\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha acquistato <%= notification.Target.Credits %> crediti\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> ha comprado <%= notification.Target.Credits %> crรฉditos\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a achetรฉ <%= notification.Target.Credits %> crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"sub-purchase-tpl\": {\r\n\t\t\t\ten: \"<%= notification.Actor.Nickname %> has purchased the subscription <%= notification.Target.SubscriptionName %>\",\r\n\t\t\t\tit: \"<%= notification.Actor.Nickname %> ha acquistato lโ€™abbonamento <%= notification.Target.SubscriptionName %>\",\r\n\t\t\t\tes: \"<%= notification.Actor.Nickname %> ha comprado la suscripciรณn <%= notification.Target.SubscriptionName %>\",\r\n\t\t\t\tfr: \"<%= notification.Actor.Nickname %> a achetรฉ l'abonnement <%= notification.Target.SubscriptionName %>\",\r\n\t\t\t},\r\n\t\t\tdetails: {\r\n\t\t\t\ten: \"Details\",\r\n\t\t\t\tit: \"Dettagli\",\r\n\t\t\t\tes: \"Detalles\",\r\n\t\t\t\tfr: \"Dรฉtails\",\r\n\t\t\t},\r\n\t\t\tresend: {\r\n\t\t\t\ten: \"Resend\",\r\n\t\t\t\tit: \"Riprova\",\r\n\t\t\t\tes: \"Reenviar\",\r\n\t\t\t\tfr: \"Envoyer ร  nouveau\",\r\n\t\t\t},\r\n\t\t\tUserMeasureExpired: {\r\n\t\t\t\ten: \"Fitness Test\",\r\n\t\t\t\tit: \"Fitness Test\",\r\n\t\t\t\tes: \"Test de entrenamiento\",\r\n\t\t\t\tfr: \"Test de condition physique\",\r\n\t\t\t},\r\n\t\t\tCreatedUser: {\r\n\t\t\t\ten: \"User creation\",\r\n\t\t\t\tit: \"Creazione utente\",\r\n\t\t\t\tes: \"Creaciรณn de usuario\",\r\n\t\t\t\tfr: \"Crรฉation d'utilisateur\",\r\n\t\t\t},\r\n\t\t\tPendingUserExpired: {\r\n\t\t\t\ten: \"Creation expired\",\r\n\t\t\t\tit: \"Creazione scaduta\",\r\n\t\t\t\tes: \"La creaciรณn expirรณ\",\r\n\t\t\t\tfr: \"Crรฉation expirรฉe\",\r\n\t\t\t},\r\n\t\t\tPendingUserAccepted: {\r\n\t\t\t\ten: \"Creation accepted\",\r\n\t\t\t\tit: \"Creazione accettata\",\r\n\t\t\t\tes: \"Creaciรณn aceptada\",\r\n\t\t\t\tfr: \"Crรฉation acceptรฉe\",\r\n\t\t\t},\r\n\t\t\tCreatedInvitation: {\r\n\t\t\t\ten: \"User invitation\",\r\n\t\t\t\tit: \"Invito utente\",\r\n\t\t\t\tes: \"Invitaciรณn de usuario\",\r\n\t\t\t\tfr: \"Invitation d'utilisateur\",\r\n\t\t\t},\r\n\t\t\tInvitationExpired: {\r\n\t\t\t\ten: \"Invitation expired\",\r\n\t\t\t\tit: \"Invito scaduto\",\r\n\t\t\t\tes: \"Invitaciรณn expirada\",\r\n\t\t\t\tfr: \"Invitation expirรฉe\",\r\n\t\t\t},\r\n\t\t\tInvitationAccepted: {\r\n\t\t\t\ten: \"Invitation accepted\",\r\n\t\t\t\tit: \"Invito accettato\",\r\n\t\t\t\tes: \"Invitaciรณn aceptada\",\r\n\t\t\t\tfr: \"Invitation acceptรฉe\",\r\n\t\t\t},\r\n\t\t\tUserLeftClub: {\r\n\t\t\t\ten: \"User removal\",\r\n\t\t\t\tit: \"Uscita dal club\",\r\n\t\t\t\tes: \"Eliminaciรณn de usuario\",\r\n\t\t\t\tfr: \"Suppression d'utilisateur\",\r\n\t\t\t},\r\n\t\t\tUserIsBack: {\r\n\t\t\t\ten: \"Athlete Returned\",\r\n\t\t\t\tit: \"Atleta Ritornato\",\r\n\t\t\t\tes: \"Atleta Regresรณ\",\r\n\t\t\t\tfr: \"Athlรจte Retirรฉ\",\r\n\t\t\t},\r\n\t\t\tTrainerAwards: {\r\n\t\t\t\ten: \"Trainer Points\",\r\n\t\t\t\tit: \"Trainer Points\",\r\n\t\t\t\tes: \"Trainer Points\",\r\n\t\t\t\tfr: \"Trainer Points\",\r\n\t\t\t},\r\n\t\t\tLevelUpdate: {\r\n\t\t\t\ten: \"Uptivo Level\",\r\n\t\t\t\tit: \"Livello Uptivo\",\r\n\t\t\t\tes: \"Nivel Uptivo\",\r\n\t\t\t\tfr: \"Niveau Uptivo\",\r\n\t\t\t},\r\n\t\t\tWorkoutProgramShare: {\r\n\t\t\t\ten: \"Shared Document\",\r\n\t\t\t\tit: \"Condivisione documento\",\r\n\t\t\t\tes: \"Documento compartido\",\r\n\t\t\t\tfr: \"Document partagรฉ\",\r\n\t\t\t},\r\n\t\t\tClubMessage: {\r\n\t\t\t\ten: \"Club Message\",\r\n\t\t\t\tit: \"Messaggio dal club\",\r\n\t\t\t\tes: \"Mensaje del club\",\r\n\t\t\t\tfr: \"Message du club\",\r\n\t\t\t},\r\n\t\t\tStartedLive: {\r\n\t\t\t\ten: \"LIVE start\",\r\n\t\t\t\tit: \"Avvio LIVE\",\r\n\t\t\t\tes: \"Inicio de LIVE\",\r\n\t\t\t\tfr: \"Dรฉmarrage de LIVE\",\r\n\t\t\t},\r\n\t\t\tClassSubscription: {\r\n\t\t\t\ten: \"Subscription to Activity\",\r\n\t\t\t\tit: \"Iscrizione ad Attivitร \",\r\n\t\t\t\tes: \"Suscripciรณn a la Actividad\",\r\n\t\t\t\tfr: \"Inscription ร  l'activitรฉ\",\r\n\t\t\t},\r\n\t\t\tClassUnsubscription: {\r\n\t\t\t\ten: \"Unsubscription from Activity\",\r\n\t\t\t\tit: \"Disiscrizione da Attivitร \",\r\n\t\t\t\tes: \"Cancelaciรณn de la Actividad\",\r\n\t\t\t\tfr: \"Dรฉsinscription de l'activitรฉ\",\r\n\t\t\t},\r\n\t\t\tCreditsAdd: {\r\n\t\t\t\ten: \"Credits Added\",\r\n\t\t\t\tit: \"Aggiunta Crediti\",\r\n\t\t\t\tes: \"Crรฉditos Agregados\",\r\n\t\t\t\tfr: \"Crรฉdits Ajoutรฉs\",\r\n\t\t\t},\r\n\t\t\tCreditsSub: {\r\n\t\t\t\ten: \"Credits Removed\",\r\n\t\t\t\tit: \"Rimozione Crediti\",\r\n\t\t\t\tes: \"Crรฉditos Eliminados\",\r\n\t\t\t\tfr: \"Crรฉdits Supprimรฉs\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tPhysicalSettingsView: {\r\n\t\t\t\"bpm-cannot-exceed\": {\r\n\t\t\t\ten: \"Heart rate cannot exceed {0} bpm.\",\r\n\t\t\t\tit: \"I battiti non possono superare {0} bpm.\",\r\n\t\t\t\tes: \"La frecuencia cardรญaca no puede exceder de {0} lpm.\",\r\n\t\t\t\tfr: \"La frรฉquence cardiaque ne peut pas dรฉpasser {0} bpm.\",\r\n\t\t\t},\r\n\t\t\t\"height-min-error\": {\r\n\t\t\t\ten: \"The minimum height is {0}.\",\r\n\t\t\t\tit: \"L'altezza minima รจ {0}.\",\r\n\t\t\t\tes: \"La altura mรญnima es de {0}.\",\r\n\t\t\t\tfr: \"La hauteur minimale est de {0}.\",\r\n\t\t\t},\r\n\t\t\t\"height-max-error\": {\r\n\t\t\t\ten: \"The maximum height is {0}.\",\r\n\t\t\t\tit: \"L'altezza massima รจ {0}.\",\r\n\t\t\t\tes: \"La altura mรกxima es de {0}.\",\r\n\t\t\t\tfr: \"La hauteur maximale est de {0}.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tTrainerDetailsView: {\r\n\t\t\t\"trainer-points\": {\r\n\t\t\t\ten: \"Trainer Points\",\r\n\t\t\t\tit: \"Punti del Trainer\",\r\n\t\t\t\tes: \"Puntos del Entrenador\",\r\n\t\t\t\tfr: \"Points d'Entraรฎneur\",\r\n\t\t\t},\r\n\t\t\tcomments: {\r\n\t\t\t\ten: \"Comments\",\r\n\t\t\t\tit: \"Commenti\",\r\n\t\t\t\tes: \"Comentarios\",\r\n\t\t\t\tfr: \"Commentaires\",\r\n\t\t\t},\r\n\t\t\t\"no-points-awarded\": {\r\n\t\t\t\ten: \"No points awarded!\",\r\n\t\t\t\tit: \"Nessun punteggio assegnato!\",\r\n\t\t\t\tes: \"ยกSin puntos otorgados!\",\r\n\t\t\t\tfr: \"Aucun point attribuรฉ!\",\r\n\t\t\t},\r\n\t\t\t\"watched-athletes\": {\r\n\t\t\t\ten: \"Watched Athletes\",\r\n\t\t\t\tit: \"Utenti seguiti\",\r\n\t\t\t\tes: \"Atletas seguidos\",\r\n\t\t\t\tfr: \"Athlรจtes suivis\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tRankingsView: {\r\n\t\t\t\"select-dates\": {\r\n\t\t\t\ten: \"Select Dates\",\r\n\t\t\t\tit: \"Seleziona Date\",\r\n\t\t\t\tes: \"Seleccionar Fechas\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Des Dates\",\r\n\t\t\t},\r\n\t\t\t\"last-week\": {\r\n\t\t\t\ten: \"Last Week\",\r\n\t\t\t\tit: \"Settimana Scorsa\",\r\n\t\t\t\tes: \"La semana pasada\",\r\n\t\t\t\tfr: \"La semaine derniรจre\",\r\n\t\t\t},\r\n\t\t\t\"this-month\": {\r\n\t\t\t\ten: \"This month\",\r\n\t\t\t\tit: \"Questo Mese\",\r\n\t\t\t\tes: \"Este mes\",\r\n\t\t\t\tfr: \"Ce mois\",\r\n\t\t\t},\r\n\t\t\t\"last-month\": {\r\n\t\t\t\ten: \"Last Month\",\r\n\t\t\t\tit: \"Mese Scorso\",\r\n\t\t\t\tes: \"El mes pasado\",\r\n\t\t\t\tfr: \"Le mois dernier\",\r\n\t\t\t},\r\n\t\t\t\"this-year\": {\r\n\t\t\t\ten: \"This Year\",\r\n\t\t\t\tit: \"Quest'anno\",\r\n\t\t\t\tes: \"Este aรฑo\",\r\n\t\t\t\tfr: \"Cette annรฉe\",\r\n\t\t\t},\r\n\t\t\t\"last-year\": {\r\n\t\t\t\ten: \"Last Year\",\r\n\t\t\t\tit: \"L'anno scorso\",\r\n\t\t\t\tes: \"El aรฑo pasado\",\r\n\t\t\t\tfr: \"L'annรฉe derniรจre\",\r\n\t\t\t},\r\n\t\t\t\"last-12-months\": {\r\n\t\t\t\ten: \"Last 12 months\",\r\n\t\t\t\tit: \"Ultimi 12 mesi\",\r\n\t\t\t\tes: \"รšltimos 12 meses\",\r\n\t\t\t\tfr: \"12 derniers mois\",\r\n\t\t\t},\r\n\t\t\tyesterday: {\r\n\t\t\t\ten: \"Yesterday\",\r\n\t\t\t\tit: \"Ieri\",\r\n\t\t\t\tes: \"Ayer\",\r\n\t\t\t\tfr: \"Hier\",\r\n\t\t\t},\r\n\t\t\t\"end-date-cannot-be-in-future\": {\r\n\t\t\t\ten: \"The end date cannot be in the future\",\r\n\t\t\t\tit: \"La data di fine non puรฒ essere nel futuro\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn no puede ser futura\",\r\n\t\t\t\tfr: \"La date de fin ne peut pas รชtre dans le futur\",\r\n\t\t\t},\r\n\t\t\t\"end-date-must-be-after-or-equal-start-date\": {\r\n\t\t\t\ten: \"The end date must be after or equal to the start date\",\r\n\t\t\t\tit: \"La data di fine deve essere successiva o uguale alla data di inizio\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn debe ser posterior o igual a la fecha de inicio\",\r\n\t\t\t\tfr: \"La date de fin doit รชtre postรฉrieure ou รฉgale ร  la date de dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"selected-interval-cannot-exceed-one-year\": {\r\n\t\t\t\ten: \"The interval cannot be more than 365 days\",\r\n\t\t\t\tit: \"L'intervallo non puรฒ essere superiore a 365 giorni\",\r\n\t\t\t\tes: \"El intervalo no puede ser mayor a 365 dรญas\",\r\n\t\t\t\tfr: \"L'intervalle ne peut pas รชtre supรฉrieur ร  365ย jours\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tTrainersJournalView: {\r\n\t\t\t\"trainers-journal\": {\r\n\t\t\t\ten: \"Trainer's Journal\",\r\n\t\t\t\tit: \"Diario del Trainer\",\r\n\t\t\t\tes: \"Seguimiento del entrenador\",\r\n\t\t\t\tfr: \"Journal de l'entraรฎneur\",\r\n\t\t\t},\r\n\t\t\t\"view-by-club\": {\r\n\t\t\t\ten: \"View by Club\",\r\n\t\t\t\tit: \"Vista per Club\",\r\n\t\t\t\tes: \"Ver por club\",\r\n\t\t\t\tfr: \"Afficher par Club\",\r\n\t\t\t},\r\n\t\t\t\"view-by-week\": {\r\n\t\t\t\ten: \"View by week\",\r\n\t\t\t\tit: \"Vista settimanale\",\r\n\t\t\t\tes: \"Ver por semana\",\r\n\t\t\t\tfr: \"Afficher par semaine\",\r\n\t\t\t},\r\n\t\t\t\"view-by-user\": {\r\n\t\t\t\ten: \"View by User\",\r\n\t\t\t\tit: \"Vista per Utente\",\r\n\t\t\t\tes: \"Ver por usuario\",\r\n\t\t\t\tfr: \"Afficher par Utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"select-week\": {\r\n\t\t\t\ten: \"Select week\",\r\n\t\t\t\tit: \"Seleziona settimana\",\r\n\t\t\t\tes: \"Seleccionar semana\",\r\n\t\t\t\tfr: \"Sรฉlectionnez la semaine\",\r\n\t\t\t},\r\n\t\t\t\"select-day\": {\r\n\t\t\t\ten: \"Select day\",\r\n\t\t\t\tit: \"Seleziona giorno\",\r\n\t\t\t\tes: \"Seleccionar dรญa\",\r\n\t\t\t\tfr: \"Sรฉlectionnez le jour\",\r\n\t\t\t},\r\n\t\t\t\"no-trainings\": {\r\n\t\t\t\ten: \"No trainings\",\r\n\t\t\t\tit: \"Nessun allenamento\",\r\n\t\t\t\tes: \"No entrenamientos\",\r\n\t\t\t\tfr: \"Aucun entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"last-training\": {\r\n\t\t\t\ten: \"Last training\",\r\n\t\t\t\tit: \"Ultimo Allenamento\",\r\n\t\t\t\tes: \"รšltimo entrenamiento\",\r\n\t\t\t\tfr: \"Dernier entraรฎnement\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tTrainingView: {\r\n\t\t\t\"punches-summary\": {\r\n\t\t\t\ten: \"Punches Summary\",\r\n\t\t\t\tit: \"Riepilogo Colpi\",\r\n\t\t\t\tes: \"Resumen de Golpes\",\r\n\t\t\t\tfr: \"Rรฉsumรฉ des Coups\",\r\n\t\t\t},\r\n\t\t\t\"minute-breakdown\": {\r\n\t\t\t\ten: \"Breakdown in minutes\",\r\n\t\t\t\tit: \"Ripartizione in minuti\",\r\n\t\t\t\tes: \"Subdivisiรณn en minutos\",\r\n\t\t\t\tfr: \"Rรฉpartition en minutes\",\r\n\t\t\t},\r\n\t\t\t\"punches-min\": {\r\n\t\t\t\ten: \"Punches/min\",\r\n\t\t\t\tit: \"Colpi/min\",\r\n\t\t\t\tes: \"Golpes/min\",\r\n\t\t\t\tfr: \"Coups/min\",\r\n\t\t\t},\r\n\t\t\tpunches: {\r\n\t\t\t\ten: \"Punches\",\r\n\t\t\t\tit: \"Colpi\",\r\n\t\t\t\tes: \"Golpes\",\r\n\t\t\t\tfr: \"Coups\",\r\n\t\t\t},\r\n\t\t\tselection: {\r\n\t\t\t\ten: \"Selection\",\r\n\t\t\t\tit: \"Selezione\",\r\n\t\t\t\tes: \"Selecciรณn\",\r\n\t\t\t\tfr: \"Sรฉlection\",\r\n\t\t\t},\r\n\t\t\t\"training-range\": {\r\n\t\t\t\ten: \"Interval Type\",\r\n\t\t\t\tit: \"Tipo di intervallo\",\r\n\t\t\t\tes: \"Tipo de intervalo\",\r\n\t\t\t\tfr: \"Type d'intervalle\",\r\n\t\t\t},\r\n\t\t\t\"training-no-comments\": {\r\n\t\t\t\ten: \"The training has not been commented yet.\",\r\n\t\t\t\tit: \"Il training non รจ ancora stato commentato.\",\r\n\t\t\t\tes: \"El entrenamiento no tiene ningรบn comentario todavรญa.\",\r\n\t\t\t\tfr: \"L'entraรฎnement n'a fait l'objet d'aucun commentaire pour l'instant.\",\r\n\t\t\t},\r\n\t\t\ttraining: {\r\n\t\t\t\ten: \"Training\",\r\n\t\t\t\tit: \"Training\",\r\n\t\t\t\tes: \"Entrenamiento\",\r\n\t\t\t\tfr: \"Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\t\"delete-training\": {\r\n\t\t\t\ten: \"Delete training\",\r\n\t\t\t\tit: \"Elimina allenamento\",\r\n\t\t\t\tes: \"Eliminar entrenamiento\",\r\n\t\t\t\tfr: \"Supprimer l'entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tUnspecifiedType: {\r\n\t\t\t\ten: \"Training\",\r\n\t\t\t\tit: \"Allenamento\",\r\n\t\t\t\tes: \"Entrenamiento\",\r\n\t\t\t\tfr: \"Entraรฎnement\",\r\n\t\t\t},\r\n\t\t\tUnspecifiedServiceType: {\r\n\t\t\t\ten: \"Other Services\",\r\n\t\t\t\tit: \"Altri Servizi\",\r\n\t\t\t\tes: \"Otros Servicios\",\r\n\t\t\t\tfr: \"Autres Services\",\r\n\t\t\t},\r\n\t\t\tRunningType: {\r\n\t\t\t\ten: \"Running\",\r\n\t\t\t\tit: \"Corsa\",\r\n\t\t\t\tes: \"Correr\",\r\n\t\t\t\tfr: \"Course\",\r\n\t\t\t},\r\n\t\t\tCyclingType: {\r\n\t\t\t\ten: \"Cycling\",\r\n\t\t\t\tit: \"Ciclismo\",\r\n\t\t\t\tes: \"Ciclismo\",\r\n\t\t\t\tfr: \"Vรฉlo\",\r\n\t\t\t},\r\n\t\t\tWalkingType: {\r\n\t\t\t\ten: \"Walking\",\r\n\t\t\t\tit: \"Camminata\",\r\n\t\t\t\tes: \"Caminar\",\r\n\t\t\t\tfr: \"Marche\",\r\n\t\t\t},\r\n\t\t\tMountainBikingType: {\r\n\t\t\t\ten: \"Mountain Biking\",\r\n\t\t\t\tit: \"Mountain Bike\",\r\n\t\t\t\tes: \"Ciclismo De Montaรฑa\",\r\n\t\t\t\tfr: \"Vรฉlo Tout Terrain\",\r\n\t\t\t},\r\n\t\t\tCrossCountrySkiingType: {\r\n\t\t\t\ten: \"Cross Country Skiing\",\r\n\t\t\t\tit: \"Sci Di Fondo\",\r\n\t\t\t\tes: \"Esquรญ Nรณrdico\",\r\n\t\t\t\tfr: \"Ski De Fond\",\r\n\t\t\t},\r\n\t\t\tDownhillSkiingType: {\r\n\t\t\t\ten: \"Downhill Skiing\",\r\n\t\t\t\tit: \"Sci Alpino\",\r\n\t\t\t\tes: \"Esquรญ Alpino\",\r\n\t\t\t\tfr: \"Ski Alpin\",\r\n\t\t\t},\r\n\t\t\tFunctionalTrainingType: {\r\n\t\t\t\ten: \"Functional Training\",\r\n\t\t\t\tit: \"Allenamento Funzionale\",\r\n\t\t\t\tes: \"Entrenamiento Funcional\",\r\n\t\t\t\tfr: \"Entraรฎnement Fonctionnel\",\r\n\t\t\t},\r\n\t\t\tRowingType: {\r\n\t\t\t\ten: \"Rowing\",\r\n\t\t\t\tit: \"Canottaggio\",\r\n\t\t\t\tes: \"Remo\",\r\n\t\t\t\tfr: \"Aviron\",\r\n\t\t\t},\r\n\t\t\tNordicWalkingType: {\r\n\t\t\t\ten: \"Nordic Walking\",\r\n\t\t\t\tit: \"Nordic Walking\",\r\n\t\t\t\tes: \"Caminata Nรณrdica\",\r\n\t\t\t\tfr: \"Marche Nordique\",\r\n\t\t\t},\r\n\t\t\tSkatingType: {\r\n\t\t\t\ten: \"Skating\",\r\n\t\t\t\tit: \"Pattinaggio\",\r\n\t\t\t\tes: \"Patinaje\",\r\n\t\t\t\tfr: \"Patinage\",\r\n\t\t\t},\r\n\t\t\tHikingType: {\r\n\t\t\t\ten: \"Hiking\",\r\n\t\t\t\tit: \"Trekking\",\r\n\t\t\t\tes: \"Senderismo\",\r\n\t\t\t\tfr: \"Randonnรฉe\",\r\n\t\t\t},\r\n\t\t\tTennisType: {\r\n\t\t\t\ten: \"Tennis\",\r\n\t\t\t\tit: \"Tennis\",\r\n\t\t\t\tes: \"Tenis\",\r\n\t\t\t\tfr: \"Tennis\",\r\n\t\t\t},\r\n\t\t\tSquashType: {\r\n\t\t\t\ten: \"Squash\",\r\n\t\t\t\tit: \"Squash\",\r\n\t\t\t\tes: \"Squash\",\r\n\t\t\t\tfr: \"Squash\",\r\n\t\t\t},\r\n\t\t\tWeightTrainingType: {\r\n\t\t\t\ten: \"Weight Training\",\r\n\t\t\t\tit: \"Pesi\",\r\n\t\t\t\tes: \"Entrenamiento Con Pesas\",\r\n\t\t\t\tfr: \"Musculation\",\r\n\t\t\t},\r\n\t\t\tOtherWithGPSType: {\r\n\t\t\t\ten: \"Training With GPS\",\r\n\t\t\t\tit: \"Allenamento Con GPS\",\r\n\t\t\t\tes: \"Entrenamiento Con GPS\",\r\n\t\t\t\tfr: \"Entraรฎnement Avec GPS\",\r\n\t\t\t},\r\n\t\t\tOtherWithoutGPSType: {\r\n\t\t\t\ten: \"Other Without GPS\",\r\n\t\t\t\tit: \"Altro Senza GPS\",\r\n\t\t\t\tes: \"Otro Sin GPS\",\r\n\t\t\t\tfr: \"Autre Sans GPS\",\r\n\t\t\t},\r\n\t\t\tTreadmillRunningType: {\r\n\t\t\t\ten: \"Treadmill Running\",\r\n\t\t\t\tit: \"Tapis Roulant\",\r\n\t\t\t\tes: \"Correr En La Cinta\",\r\n\t\t\t\tfr: \"Tapis Roulant\",\r\n\t\t\t},\r\n\t\t\tIndoorCyclingType: {\r\n\t\t\t\ten: \"Indoor Cycling\",\r\n\t\t\t\tit: \"Indoor Cycling\",\r\n\t\t\t\tes: \"Indoor Cycling\",\r\n\t\t\t\tfr: \"Cardiovรฉlo\",\r\n\t\t\t},\r\n\t\t\tIndoorWalkingType: {\r\n\t\t\t\ten: \"Indoor Walking\",\r\n\t\t\t\tit: \"Indoor Walking\",\r\n\t\t\t\tes: \"Indoor Walking\",\r\n\t\t\t\tfr: \"Indoor Walking\",\r\n\t\t\t},\r\n\t\t\tHIITType: {\r\n\t\t\t\ten: \"HIIT\",\r\n\t\t\t\tit: \"HIIT\",\r\n\t\t\t\tes: \"HIIT\",\r\n\t\t\t\tfr: \"HIIT\",\r\n\t\t\t},\r\n\t\t\tIndoorRowingType: {\r\n\t\t\t\ten: \"Indoor Rowing\",\r\n\t\t\t\tit: \"Indoor Rowing\",\r\n\t\t\t\tes: \"Remo Indoor\",\r\n\t\t\t\tfr: \"Aviron En Salle\",\r\n\t\t\t},\r\n\t\t\tAquaCyclingType: {\r\n\t\t\t\ten: \"Aqua Cycling\",\r\n\t\t\t\tit: \"Acqua Biking\",\r\n\t\t\t\tes: \"Aqua Cycling\",\r\n\t\t\t\tfr: \"Aqua Biking\",\r\n\t\t\t},\r\n\t\t\tWaterAerobicsType: {\r\n\t\t\t\ten: \"Water Aerobics\",\r\n\t\t\t\tit: \"Acquagym\",\r\n\t\t\t\tes: \"Aqua Fitness\",\r\n\t\t\t\tfr: \"Aquagym\",\r\n\t\t\t},\r\n\t\t\tYogaType: {\r\n\t\t\t\ten: \"Yoga\",\r\n\t\t\t\tit: \"Yoga\",\r\n\t\t\t\tes: \"Yoga\",\r\n\t\t\t\tfr: \"Yoga\",\r\n\t\t\t},\r\n\t\t\tZumbaType: {\r\n\t\t\t\ten: \"Zumba\",\r\n\t\t\t\tit: \"Zumba\",\r\n\t\t\t\tes: \"Zumba\",\r\n\t\t\t\tfr: \"Zumba\",\r\n\t\t\t},\r\n\t\t\tBasketballType: {\r\n\t\t\t\ten: \"Basketball\",\r\n\t\t\t\tit: \"Pallacanestro\",\r\n\t\t\t\tes: \"Baloncesto\",\r\n\t\t\t\tfr: \"Basketball\",\r\n\t\t\t},\r\n\t\t\tVolleyballType: {\r\n\t\t\t\ten: \"Volleyball\",\r\n\t\t\t\tit: \"Pallavolo\",\r\n\t\t\t\tes: \"Vรณleibol\",\r\n\t\t\t\tfr: \"Volley-ball\",\r\n\t\t\t},\r\n\t\t\tKayakType: {\r\n\t\t\t\ten: \"Kayak\",\r\n\t\t\t\tit: \"Kayak\",\r\n\t\t\t\tes: \"Kayak\",\r\n\t\t\t\tfr: \"Canoรซ\",\r\n\t\t\t},\r\n\t\t\tBootcampType: {\r\n\t\t\t\ten: \"Bootcamp\",\r\n\t\t\t\tit: \"Bootcamp\",\r\n\t\t\t\tes: \"Bootcamp\",\r\n\t\t\t\tfr: \"Bootcamp\",\r\n\t\t\t},\r\n\t\t\tCalisthenicsType: {\r\n\t\t\t\ten: \"Calisthenics\",\r\n\t\t\t\tit: \"Calisthenics\",\r\n\t\t\t\tes: \"Calisthenics\",\r\n\t\t\t\tfr: \"Calisthenics\",\r\n\t\t\t},\r\n\t\t\tClimbingOutdoorType: {\r\n\t\t\t\ten: \"Outdoor Climbing\",\r\n\t\t\t\tit: \"Arrampicata All'Aperto\",\r\n\t\t\t\tes: \"Escalada Al Aire Libre\",\r\n\t\t\t\tfr: \"Escalade Extรฉrieur\",\r\n\t\t\t},\r\n\t\t\tClimbingIndoorType: {\r\n\t\t\t\ten: \"Indoor Climbing\",\r\n\t\t\t\tit: \"Arrampicata Indoor\",\r\n\t\t\t\tes: \"Escalada En Interior\",\r\n\t\t\t\tfr: \"Escalade Intรฉrieure\",\r\n\t\t\t},\r\n\t\t\tCrossfitType: {\r\n\t\t\t\ten: \"Crossfit\",\r\n\t\t\t\tit: \"Crossfit\",\r\n\t\t\t\tes: \"Crossfit\",\r\n\t\t\t\tfr: \"Crossfit\",\r\n\t\t\t},\r\n\t\t\tDancingType: {\r\n\t\t\t\ten: \"Dancing\",\r\n\t\t\t\tit: \"Ballo\",\r\n\t\t\t\tes: \"Danza\",\r\n\t\t\t\tfr: \"Danse\",\r\n\t\t\t},\r\n\t\t\tEMSType: {\r\n\t\t\t\ten: \"EMS\",\r\n\t\t\t\tit: \"EMS\",\r\n\t\t\t\tes: \"EMS\",\r\n\t\t\t\tfr: \"EMS\",\r\n\t\t\t},\r\n\t\t\tFitboxingType: {\r\n\t\t\t\ten: \"Fitboxing\",\r\n\t\t\t\tit: \"Fitboxing\",\r\n\t\t\t\tes: \"Fitboxing\",\r\n\t\t\t\tfr: \"Fitboxing\",\r\n\t\t\t},\r\n\t\t\tCombatFitnessType: {\r\n\t\t\t\ten: \"Combat Fitness\",\r\n\t\t\t\tit: \"Combat Fitness\",\r\n\t\t\t\tes: \"Combat Fitness\",\r\n\t\t\t\tfr: \"Combat Fitness\",\r\n\t\t\t},\r\n\t\t\tPadelType: {\r\n\t\t\t\ten: \"Padel\",\r\n\t\t\t\tit: \"Padel\",\r\n\t\t\t\tes: \"Padel\",\r\n\t\t\t\tfr: \"Padel\",\r\n\t\t\t},\r\n\t\t\tPersonalTrainingType: {\r\n\t\t\t\ten: \"Personal Training\",\r\n\t\t\t\tit: \"Personal Training\",\r\n\t\t\t\tes: \"Entrenamiento Personal\",\r\n\t\t\t\tfr: \"Entrainement Personnele\",\r\n\t\t\t},\r\n\t\t\tPilatesType: {\r\n\t\t\t\ten: \"Pilates\",\r\n\t\t\t\tit: \"Pilates\",\r\n\t\t\t\tes: \"Pilates\",\r\n\t\t\t\tfr: \"Pilates\",\r\n\t\t\t},\r\n\t\t\tSwimmingType: {\r\n\t\t\t\ten: \"Swimming\",\r\n\t\t\t\tit: \"Nuoto\",\r\n\t\t\t\tes: \"Nataciรณn\",\r\n\t\t\t\tfr: \"Natation\",\r\n\t\t\t},\r\n\t\t\tTrampolineType: {\r\n\t\t\t\ten: \"Trampoline\",\r\n\t\t\t\tit: \"Trampolino\",\r\n\t\t\t\tes: \"Trampolรญn\",\r\n\t\t\t\tfr: \"Trampoline\",\r\n\t\t\t},\r\n\t\t\tPoleDanceType: {\r\n\t\t\t\ten: \"Pole Dance\",\r\n\t\t\t\tit: \"Pole Dance\",\r\n\t\t\t\tes: \"Pole Dance\",\r\n\t\t\t\tfr: \"Pole Dance\",\r\n\t\t\t},\r\n\t\t\tGAGType: {\r\n\t\t\t\ten: \"ABT\",\r\n\t\t\t\tit: \"GAG\",\r\n\t\t\t\tes: \"Abdominales\",\r\n\t\t\t\tfr: \"Jambes, Abdominaux et Fesses\",\r\n\t\t\t},\r\n\t\t\tEllipticalType: {\r\n\t\t\t\ten: \"Elliptical\",\r\n\t\t\t\tit: \"Ellittica\",\r\n\t\t\t\tes: \"Elรญptica\",\r\n\t\t\t\tfr: \"Elliptique\",\r\n\t\t\t},\r\n\t\t\tSoccerType: {\r\n\t\t\t\ten: \"Football (Soccer)\",\r\n\t\t\t\tit: \"Calcio\",\r\n\t\t\t\tes: \"Fรบtbol\",\r\n\t\t\t\tfr: \"Football\",\r\n\t\t\t},\r\n\t\t\tHorseRidingType: {\r\n\t\t\t\ten: \"Horse Riding\",\r\n\t\t\t\tit: \"Equitazione\",\r\n\t\t\t\tes: \"Equitaciรณn\",\r\n\t\t\t\tfr: \"ร‰quitation\",\r\n\t\t\t},\r\n\t\t\tDressageType: {\r\n\t\t\t\ten: \"Dressage\",\r\n\t\t\t\tit: \"Dressage\",\r\n\t\t\t\tes: \"Dressage\",\r\n\t\t\t\tfr: \"Dressage\",\r\n\t\t\t},\r\n\t\t\tShowJumpingType: {\r\n\t\t\t\ten: \"Show Jumping\",\r\n\t\t\t\tit: \"Salto A Ostacoli\",\r\n\t\t\t\tes: \"Salto Ecuestre\",\r\n\t\t\t\tfr: \"Saut d'Obstacles\",\r\n\t\t\t},\r\n\t\t\tPosturalType: {\r\n\t\t\t\ten: \"Postural\",\r\n\t\t\t\tit: \"Posturale\",\r\n\t\t\t\tes: \"Postural\",\r\n\t\t\t\tfr: \"Postural\",\r\n\t\t\t},\r\n\t\t\tFencingType: {\r\n\t\t\t\ten: \"Fencing\",\r\n\t\t\t\tit: \"Scherma\",\r\n\t\t\t\tes: \"Esgrima\",\r\n\t\t\t\tfr: \"Escrime\",\r\n\t\t\t},\r\n\t\t\tStrafitType: {\r\n\t\t\t\ten: \"Strafit\",\r\n\t\t\t\tit: \"Strafit\",\r\n\t\t\t\tes: \"Strafit\",\r\n\t\t\t\tfr: \"Strafit\",\r\n\t\t\t},\r\n\t\t\tZRFitType: {\r\n\t\t\t\ten: \"ZR FitBoxing\",\r\n\t\t\t\tit: \"ZR FitBoxing\",\r\n\t\t\t\tes: \"ZR FitBoxing\",\r\n\t\t\t\tfr: \"ZR FitBoxing\",\r\n\t\t\t},\r\n\t\t\tZRStrongType: {\r\n\t\t\t\ten: \"ZR BootCamp\",\r\n\t\t\t\tit: \"ZR BootCamp\",\r\n\t\t\t\tes: \"ZR BootCamp\",\r\n\t\t\t\tfr: \"ZR BootCamp\",\r\n\t\t\t},\r\n\t\t\tZRBoosterType: {\r\n\t\t\t\ten: \"ZR Booster\",\r\n\t\t\t\tit: \"ZR Booster\",\r\n\t\t\t\tes: \"ZR Booster\",\r\n\t\t\t\tfr: \"ZR Booster\",\r\n\t\t\t},\r\n\t\t\tZRBilanInBodyType: {\r\n\t\t\t\ten: \"ZR Bilan InBody\",\r\n\t\t\t\tit: \"ZR Bilan InBody\",\r\n\t\t\t\tes: \"ZR Bilan InBody\",\r\n\t\t\t\tfr: \"ZR Bilan InBody\",\r\n\t\t\t},\r\n\t\t\tZRHypericeExperienceType: {\r\n\t\t\t\ten: \"ZR Hyperice Experience\",\r\n\t\t\t\tit: \"ZR Hyperice Experience\",\r\n\t\t\t\tes: \"ZR Hyperice Experience\",\r\n\t\t\t\tfr: \"ZR Hyperice Experience\",\r\n\t\t\t},\r\n\t\t\tSwitchingType: {\r\n\t\t\t\ten: \"Switching\",\r\n\t\t\t\tit: \"Switching\",\r\n\t\t\t\tes: \"Switching\",\r\n\t\t\t\tfr: \"Switching\",\r\n\t\t\t},\r\n\t\t\tGolfType: {\r\n\t\t\t\ten: \"Golf\",\r\n\t\t\t\tit: \"Golf\",\r\n\t\t\t\tes: \"Golf\",\r\n\t\t\t\tfr: \"Golf\",\r\n\t\t\t},\r\n\t\t\tBlastJumpType: {\r\n\t\t\t\ten: \"Blast Jump\",\r\n\t\t\t\tit: \"Blast Jump\",\r\n\t\t\t\tes: \"Blast Jump\",\r\n\t\t\t\tfr: \"Blast Jump\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone0-name\": {\r\n\t\t\t\ten: \"Resting\",\r\n\t\t\t\tit: \"Riposo\",\r\n\t\t\t\tes: \"Descanso\",\r\n\t\t\t\tfr: \"Repos\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone1-name\": {\r\n\t\t\t\ten: \"Moderate Effort\",\r\n\t\t\t\tit: \"Intensitร  Moderata\",\r\n\t\t\t\tes: \"Esfuerzo Moderado\",\r\n\t\t\t\tfr: \"Effort Modรฉrรฉ\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone2-name\": {\r\n\t\t\t\ten: \"Weight Control\",\r\n\t\t\t\tit: \"Controllo Peso\",\r\n\t\t\t\tes: \"Control de peso\",\r\n\t\t\t\tfr: \"Contrรดle du poids\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone3-name\": {\r\n\t\t\t\ten: \"Aerobic\",\r\n\t\t\t\tit: \"Aerobico\",\r\n\t\t\t\tes: \"Aerรณbico\",\r\n\t\t\t\tfr: \"Aรฉrobie\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone4-name\": {\r\n\t\t\t\ten: \"Anaerobic\",\r\n\t\t\t\tit: \"Anaerobico\",\r\n\t\t\t\tes: \"Anaerรณbico\",\r\n\t\t\t\tfr: \"Anaรฉrobie\",\r\n\t\t\t},\r\n\t\t\t\"hr-zone5-name\": {\r\n\t\t\t\ten: \"Maximum Effort\",\r\n\t\t\t\tit: \"Massima Intensitร \",\r\n\t\t\t\tes: \"Esfuerzo Mรกximo\",\r\n\t\t\t\tfr: \"Effort Maximal\",\r\n\t\t\t},\r\n\t\t\televation: {\r\n\t\t\t\ten: \"Elevation\",\r\n\t\t\t\tit: \"Altitudine\",\r\n\t\t\t\tes: \"Altitud\",\r\n\t\t\t\tfr: \"Altitude\",\r\n\t\t\t},\r\n\t\t\tgrade: {\r\n\t\t\t\ten: \"Grade\",\r\n\t\t\t\tit: \"Pendenza\",\r\n\t\t\t\tes: \"Pendiente\",\r\n\t\t\t\tfr: \"Pente\",\r\n\t\t\t},\r\n\t\t\t\"heart-rate\": {\r\n\t\t\t\ten: \"Heart Rate\",\r\n\t\t\t\tit: \"Frequenza cardiaca\",\r\n\t\t\t\tes: \"Frecuencia cardรญaca\",\r\n\t\t\t\tfr: \"Frรฉquence cardiaque\",\r\n\t\t\t},\r\n\t\t\t\"route-info\": {\r\n\t\t\t\ten: \"Route Information\",\r\n\t\t\t\tit: \"Informazioni percorso\",\r\n\t\t\t\tes: \"Informaciรณn de ruta\",\r\n\t\t\t\tfr: \"Informations itinรฉraire\",\r\n\t\t\t},\r\n\t\t\t\"mail-sent-successfully\": {\r\n\t\t\t\ten: \"Mail sent successfully\",\r\n\t\t\t\tit: \"Mail inviata con successo\",\r\n\t\t\t\tes: \"El correo enviado con รฉxito\",\r\n\t\t\t\tfr: \"Courrier envoyรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"link-copied\": {\r\n\t\t\t\ten: \"Link copied!\",\r\n\t\t\t\tit: \"Link copiato!\",\r\n\t\t\t\tes: \"Enlace copiado!\",\r\n\t\t\t\tfr: \"Lien copiรฉ!\",\r\n\t\t\t},\r\n\t\t\t\"copy-link\": {\r\n\t\t\t\ten: \"Copy Link\",\r\n\t\t\t\tit: \"Copia Link\",\r\n\t\t\t\tes: \"Copiar Link\",\r\n\t\t\t\tfr: \"Copier Lien\",\r\n\t\t\t},\r\n\t\t\t\"insert-email\": {\r\n\t\t\t\ten: \"Insert Email\",\r\n\t\t\t\tit: \"Inserisci Email\",\r\n\t\t\t\tes: \"Insertar Email\",\r\n\t\t\t\tfr: \"Insรฉrer Email\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tUserBasicDataModalView: {\r\n\t\t\twelcome: {\r\n\t\t\t\ten: \"Welcome to Uptivo\",\r\n\t\t\t\tit: \"Benvenuto in Uptivo\",\r\n\t\t\t\tes: \"Bienvenido a Uptivo\",\r\n\t\t\t\tfr: \"Bienvenue dans Uptivo\",\r\n\t\t\t},\r\n\t\t\t\"date-of-birth\": {\r\n\t\t\t\ten: \"Date of Birth\",\r\n\t\t\t\tit: \"Data di Nascita\",\r\n\t\t\t\tes: \"Fecha de nacimiento\",\r\n\t\t\t\tfr: \"Date de naissance\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tUserGroupsView: {\r\n\t\t\t\"user-groups\": {\r\n\t\t\t\ten: \"User Groups\",\r\n\t\t\t\tit: \"Gruppi Utenti\",\r\n\t\t\t\tes: \"Grupos de usuario\",\r\n\t\t\t\tfr: \"Groupes d'utilisateurs\",\r\n\t\t\t},\r\n\t\t\tmembers: {\r\n\t\t\t\ten: \"Members\",\r\n\t\t\t\tit: \"Membri\",\r\n\t\t\t\tes: \"Miembros\",\r\n\t\t\t\tfr: \"Membres\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubDeleteModalView: {\r\n\t\t\t\"info-text\": {\r\n\t\t\t\ten: \"To proceed please type {0} below\",\r\n\t\t\t\tit: \"Per procedere scrivi {0} nel campo sottostante\",\r\n\t\t\t\tes: \"Para proceder, por favor escriba {0} abajo\",\r\n\t\t\t\tfr: \"Pour continuer, saisir {0} ci-dessous\",\r\n\t\t\t},\r\n\t\t\t\"warning-text\": {\r\n\t\t\t\ten: \"You are about to delete the club and its association to devices and users PERMANENTLY.\",\r\n\t\t\t\tit: \"Stai per eliminare il club e tutte le associazioni del club a utenti e device in modo PERMANENTE.\",\r\n\t\t\t\tes: \"Estรก a punto de eliminar el club y su asociaciรณn a dispositivos y usuarios PERMANENTEMENTE.\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer le club et son association avec les appareils et utilisateurs DE FAร‡ON PERMANENTE.\",\r\n\t\t\t},\r\n\t\t\t\"club-name\": {\r\n\t\t\t\ten: \"Club Name\",\r\n\t\t\t\tit: \"Nome Club\",\r\n\t\t\t\tes: \"Nombre del club\",\r\n\t\t\t\tfr: \"Nom du club\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tCustomBindings: {\r\n\t\t\tsearch: {\r\n\t\t\t\ten: \"Search\",\r\n\t\t\t\tit: \"Cerca\",\r\n\t\t\t\tes: \"Buscar\",\r\n\t\t\t\tfr: \"Recherche\",\r\n\t\t\t},\r\n\t\t\t\"max-heart-rate\": {\r\n\t\t\t\ten: \"Max Heart Rate\",\r\n\t\t\t\tit: \"Max Battiti\",\r\n\t\t\t\tes: \"Frecuencia cardรญaca mรกxima\",\r\n\t\t\t\tfr: \"Frรฉquence cardiaque max.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tVideosView: {\r\n\t\t\t\"will-delete-video\": {\r\n\t\t\t\ten: \"This video will be deleted.\",\r\n\t\t\t\tit: \"Questo video sarร  cancellato.\",\r\n\t\t\t\tes: \"Este vรdeo serรก eliminado.\",\r\n\t\t\t\tfr: \"Cette vidรฉo sera supprimรฉe.\",\r\n\t\t\t},\r\n\t\t\t\"no-videos-in-list\": {\r\n\t\t\t\ten: \"Your list of videos is empty!\",\r\n\t\t\t\tit: \"La tua lista di video รจ vuota!\",\r\n\t\t\t\tes: \"ยกSu lista de vรdeos estรก vacรญa!\",\r\n\t\t\t\tfr: \"Votre liste de vidรฉos est vide!\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAppVersionManager: {\r\n\t\t\t\"new-version-title\": {\r\n\t\t\t\ten: \"New version\",\r\n\t\t\t\tit: \"Nuova versione\",\r\n\t\t\t\tes: \"Nueva versiรณn\",\r\n\t\t\t\tfr: \"Nouvelle version\",\r\n\t\t\t},\r\n\t\t\t\"new-version-description\": {\r\n\t\t\t\ten: \"A new version of Uptivo Cloud is available. It is recommended that you reload the page.\",\r\n\t\t\t\tit: \"รˆ disponibile una nuova versione di Uptivo Cloud. Si raccomanda di ricaricare la pagina.\",\r\n\t\t\t\tes: \"Una nueva versiรณn de Uptivo Cloud estรก disponible. Se recomienda que recargue la pรกgina.\",\r\n\t\t\t\tfr: \"Une nouvelle version d'Uptivo Cloud est disponible. Il est recommandรฉ de rafraรฎchir la page.\",\r\n\t\t\t},\r\n\t\t\treload: {\r\n\t\t\t\ten: \"Reload\",\r\n\t\t\t\tit: \"Ricarica\",\r\n\t\t\t\tes: \"Recargar\",\r\n\t\t\t\tfr: \"Rafraรฎchir\",\r\n\t\t\t},\r\n\t\t\tlater: {\r\n\t\t\t\ten: \"Later\",\r\n\t\t\t\tit: \"Piรน tardi\",\r\n\t\t\t\tes: \"Mรกs tarde\",\r\n\t\t\t\tfr: \"Plus tard\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tLiveTrainingsView: {\r\n\t\t\t\"join-live-training\": {\r\n\t\t\t\ten: \"Join Training as host\",\r\n\t\t\t\tit: \"Partecipa come host\",\r\n\t\t\t\tes: \"Comienzo Live Training\",\r\n\t\t\t\tfr: \"Dรฉbut Live Training\",\r\n\t\t\t},\r\n\t\t\t\"training-list\": {\r\n\t\t\t\ten: \"Training List\",\r\n\t\t\t\tit: \"Lista Allenamenti\",\r\n\t\t\t\tes: \"Lista De Entrenamiento\",\r\n\t\t\t\tfr: \"Liste Des Entrainement\",\r\n\t\t\t},\r\n\t\t\t\"recurrent-live-trainings\": {\r\n\t\t\t\ten: \"Template Allenamenti Live\",\r\n\t\t\t\tit: \"Live Trainings Template\",\r\n\t\t\t\tes: \"Live Trainings Template\",\r\n\t\t\t\tfr: \"Live Trainings Template\",\r\n\t\t\t},\r\n\t\t\t\"participant-limit-exceeded\": {\r\n\t\t\t\ten: \"Participant limit exceeded\",\r\n\t\t\t\tit: \"Limite partecipanti superato\",\r\n\t\t\t\tes: \"Lรญmite de participantes excedido\",\r\n\t\t\t\tfr: \"Limite de participants dรฉpassรฉe\",\r\n\t\t\t},\r\n\t\t\t\"total-selected-athletes\": {\r\n\t\t\t\ten: \"Total selected athletes: \",\r\n\t\t\t\tit: \"Atleti totali selezionati: \",\r\n\t\t\t\tes: \"Total de atletas seleccionados: \",\r\n\t\t\t\tfr: \"Total des athlรจtes sรฉlectionnรฉs: \",\r\n\t\t\t},\r\n\t\t\t\"participants-max\": {\r\n\t\t\t\ten: \"Athletes/Max\",\r\n\t\t\t\tit: \"Atleti/max\",\r\n\t\t\t\tes: \"Deportistas/max\",\r\n\t\t\t\tfr: \"Athlรจtes/max\",\r\n\t\t\t},\r\n\t\t\t\"elapsed-time\": {\r\n\t\t\t\ten: \"Elapsed Time\",\r\n\t\t\t\tit: \"Tempo Trascorso\",\r\n\t\t\t\tes: \"Tiempo Transcurrido\",\r\n\t\t\t\tfr: \"Temps Ecoulรฉ\",\r\n\t\t\t},\r\n\t\t\t\"delete-live-training\": {\r\n\t\t\t\ten: \"Delete Live Training\",\r\n\t\t\t\tit: \"Cancella Live Training\",\r\n\t\t\t\tes: \"Crear Live Training\",\r\n\t\t\t\tfr: \"Eliminar entrenamiento en vivo\",\r\n\t\t\t},\r\n\t\t\t\"remove-invitation-confirm\": {\r\n\t\t\t\ten: \"You are about to remove \",\r\n\t\t\t\tit: \"Stai per rimuovere \",\r\n\t\t\t\tes: \"Estรกs a punto de eliminar \",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer \",\r\n\t\t\t},\r\n\t\t\t\"max-live-training-number-reached\": {\r\n\t\t\t\ten: \"Maximum number of live training reached for the club\",\r\n\t\t\t\tit: \"Numero massimo di live training raggiunto per il club\",\r\n\t\t\t\tes: \"Nรบmero mรกximo de entrenamiento en vivo alcanzado para el club\",\r\n\t\t\t\tfr: \"Nombre maximum de entrainement en direct atteint pour le club\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tUptivoLIVEView: {\r\n\t\t\t\"training-list\": {\r\n\t\t\t\ten: \"Training List\",\r\n\t\t\t\tit: \"Lista Allenamenti\",\r\n\t\t\t\tes: \"Lista De Entrenamiento\",\r\n\t\t\t\tfr: \"Liste Des Entrainement\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-live-not-available\": {\r\n\t\t\t\ten: \"Uptivo LIVE is not available\",\r\n\t\t\t\tit: \"Uptivo LIVE non disponibile\",\r\n\t\t\t\tes: \"Uptivo LIVE no estรก disponible\",\r\n\t\t\t\tfr: \"Uptivo LIVE n'est pas disponible\",\r\n\t\t\t},\r\n\t\t\t\"uptivo-live-not-enabled-club\": {\r\n\t\t\t\ten: \"Uptivo LIVE is not enabled for the selected club.\",\r\n\t\t\t\tit: \"Uptivo LIVE non รจ attivo nel il club selezionato.\",\r\n\t\t\t\tes: \"Uptivo LIVE no estรก habilitado para el club seleccionado.\",\r\n\t\t\t\tfr: \"Uptivo LIVE n'est pas activรฉ pour le club sรฉlectionnรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"cannot-delete-running-trainer\": {\r\n\t\t\t\ten: \"Unable to cancel training while running\",\r\n\t\t\t\tit: \"Impossibile cancellare il training mentre รจ in corso\",\r\n\t\t\t\tes: \"No se puede cancelar el entrenamiento mientras se ejecuta\",\r\n\t\t\t\tfr: \"Impossible d'annuler l'entraรฎnement pendant la course\",\r\n\t\t\t},\r\n\t\t\t\"cannot-delete-running-trainer-participants\": {\r\n\t\t\t\ten: \"Unable to cancel training participants while running\",\r\n\t\t\t\tit: \"Impossibile cancellare i partecipanti di un training mentre รจ in corso\",\r\n\t\t\t\tes: \"No se puede cancelar la capacitaciรณn de los participantes mientras se ejecuta\",\r\n\t\t\t\tfr: \"Impossible d'annuler les participants ร  l' entraรฎnement pendant la course\",\r\n\t\t\t},\r\n\t\t\t\"running-status\": {\r\n\t\t\t\ten: \"Running\",\r\n\t\t\t\tit: \"In corso\",\r\n\t\t\t\tes: \"Corriendo\",\r\n\t\t\t\tfr: \"Fonctionnement\",\r\n\t\t\t},\r\n\t\t\t\"stopped-status\": {\r\n\t\t\t\ten: \"Stopped\",\r\n\t\t\t\tit: \"Fermo\",\r\n\t\t\t\tes: \"Detenido\",\r\n\t\t\t\tfr: \"Arrรชtรฉ\",\r\n\t\t\t},\r\n\t\t\t\"remove-participants\": {\r\n\t\t\t\ten: \"Do you want to remove all participants from the LIVE session?\",\r\n\t\t\t\tit: \"Vuoi rimuovere tutti i partecipanti dalla sessione LIVE?\",\r\n\t\t\t\tes: \"ยฟDesea eliminar a todos los participantes de la sesiรณn LIVE?\",\r\n\t\t\t\tfr: \"Voulez-vous supprimer tous les participants de la session LIVE?\",\r\n\t\t\t},\r\n\t\t\t\"delete-uptivo-live\": {\r\n\t\t\t\ten: \"You are about to delete\",\r\n\t\t\t\tit: \"Stai per cancellare\",\r\n\t\t\t\tes: \"Estรกs a punto de cancelar\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point d'annuler\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tUptivoLIVEtrainingView: {\r\n\t\t\t\"training-list\": {\r\n\t\t\t\ten: \"Training List\",\r\n\t\t\t\tit: \"Lista Allenamenti\",\r\n\t\t\t\tes: \"Lista De Entrenamiento\",\r\n\t\t\t\tfr: \"Liste Des Entrainement\",\r\n\t\t\t},\r\n\t\t\t\"no-trainer-selected\": {\r\n\t\t\t\ten: \"No Trainer Selected\",\r\n\t\t\t\tit: \"Trainer Non Selezionato\",\r\n\t\t\t\tes: \"No Hay Entrenador Seleccionado\",\r\n\t\t\t\tfr: \"Aucun Entraรฎneur Sรฉlectionnรฉ\",\r\n\t\t\t},\r\n\t\t\t\"participants-max\": {\r\n\t\t\t\ten: \"Participants/max\",\r\n\t\t\t\tit: \"Partecipanti/max\",\r\n\t\t\t\tes: \"Participantes/max\",\r\n\t\t\t\tfr: \"Participants/max\",\r\n\t\t\t},\r\n\t\t\t\"add-live-training\": {\r\n\t\t\t\ten: \"Add Live Training\",\r\n\t\t\t\tit: \"Aggiungi Allenamento Live\",\r\n\t\t\t\tes: \"Editar Entrenamiento En Vivo\",\r\n\t\t\t\tfr: \"Ajouter Entraรฎnement en direct\",\r\n\t\t\t},\r\n\t\t\t\"edit-live-training\": {\r\n\t\t\t\ten: \"Edit Live Training\",\r\n\t\t\t\tit: \"Modifica Allenamento Live\",\r\n\t\t\t\tes: \"Agregar Entrenamiento En Vivo\",\r\n\t\t\t\tfr: \"Modifier Entraรฎnement En Direct\",\r\n\t\t\t},\r\n\t\t\t\"subscription-type\": {\r\n\t\t\t\ten: \"Subscription Type*\",\r\n\t\t\t\tit: \"Tipo Di Iscrizione*\",\r\n\t\t\t\tes: \"Tipo De Registro*\",\r\n\t\t\t\tfr: \"Type D'Inscription*\",\r\n\t\t\t},\r\n\t\t\t\"save-to-generate-id\": {\r\n\t\t\t\ten: \"Create LIVE to generate\",\r\n\t\t\t\tit: \"Crea il LIVE per generarlo\",\r\n\t\t\t\tes: \"Crea el LIVE para generarlo\",\r\n\t\t\t\tfr: \"Crรฉez le LIVE pour le gรฉnรฉrer\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubClassView: {\r\n\t\t\tSun: {\r\n\t\t\t\ten: \"Sun\",\r\n\t\t\t\tit: \"Dom\",\r\n\t\t\t\tes: \"Dom\",\r\n\t\t\t\tfr: \"Dim\",\r\n\t\t\t},\r\n\t\t\tMon: {\r\n\t\t\t\ten: \"Mon\",\r\n\t\t\t\tit: \"Lun\",\r\n\t\t\t\tes: \"Lun\",\r\n\t\t\t\tfr: \"Lun\",\r\n\t\t\t},\r\n\t\t\tTue: {\r\n\t\t\t\ten: \"Tue\",\r\n\t\t\t\tit: \"Mar\",\r\n\t\t\t\tes: \"Mar\",\r\n\t\t\t\tfr: \"Mar\",\r\n\t\t\t},\r\n\t\t\tWed: {\r\n\t\t\t\ten: \"Wed\",\r\n\t\t\t\tit: \"Mer\",\r\n\t\t\t\tes: \"Miรฉ\",\r\n\t\t\t\tfr: \"Mer\",\r\n\t\t\t},\r\n\t\t\tThu: {\r\n\t\t\t\ten: \"Thu\",\r\n\t\t\t\tit: \"Gio\",\r\n\t\t\t\tes: \"Jue\",\r\n\t\t\t\tfr: \"Jeu\",\r\n\t\t\t},\r\n\t\t\tFri: {\r\n\t\t\t\ten: \"Fri\",\r\n\t\t\t\tit: \"Ven\",\r\n\t\t\t\tes: \"Vie\",\r\n\t\t\t\tfr: \"Ven\",\r\n\t\t\t},\r\n\t\t\tSat: {\r\n\t\t\t\ten: \"Sat\",\r\n\t\t\t\tit: \"Sab\",\r\n\t\t\t\tes: \"Sรกb\",\r\n\t\t\t\tfr: \"Sam\",\r\n\t\t\t},\r\n\t\t\t\"class-description\": {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\tpicture: {\r\n\t\t\t\ten: \"Picture\",\r\n\t\t\t\tit: \"Immagine\",\r\n\t\t\t\tes: \"Imagen\",\r\n\t\t\t\tfr: \"Image\",\r\n\t\t\t},\r\n\t\t\t\"invite-booking-mode\": {\r\n\t\t\t\ten: \"Invite\",\r\n\t\t\t\tit: \"A Invito\",\r\n\t\t\t\tes: \"Invitaciรณn\",\r\n\t\t\t\tfr: \"Invitation\",\r\n\t\t\t},\r\n\t\t\t\"open-booking-mode\": {\r\n\t\t\t\ten: \"Bookable\",\r\n\t\t\t\tit: \"Prenotabile\",\r\n\t\t\t\tes: \"Reservable\",\r\n\t\t\t\tfr: \"Rรฉservable\",\r\n\t\t\t},\r\n\t\t\t\"not-bookable-booking-mode\": {\r\n\t\t\t\ten: \"Free\",\r\n\t\t\t\tit: \"Libero\",\r\n\t\t\t\tes: \"Libre\",\r\n\t\t\t\tfr: \"Libre\",\r\n\t\t\t},\r\n\t\t\t\"external-booking-mode\": {\r\n\t\t\t\ten: \"External APP Link\",\r\n\t\t\t\tit: \"Link APP Esterna\",\r\n\t\t\t\tes: \"Link APP Externa\",\r\n\t\t\t\tfr: \"Lien APP Externe\",\r\n\t\t\t},\r\n\t\t\t\"cannot-change-bookingmode-not-bookable\": {\r\n\t\t\t\ten: \"Impossible to change the booking method to 'Open' because there are already participants.\",\r\n\t\t\t\tit: \"Impossibile cambiare la modalitร  di prenotazione su 'Aperto' perchรจ sono giร  presenti dei partecipanti.\",\r\n\t\t\t\tes: \"Imposible cambiar el mรฉtodo de reserva a 'Abierto' porque ya hay participantes.\",\r\n\t\t\t\tfr: \"Impossible de changer la mรฉthode de rรฉservation en Ouvert car il y a dรฉjร  des participants.\",\r\n\t\t\t},\r\n\t\t\t\"max-slots\": {\r\n\t\t\t\ten: \"Available Places\",\r\n\t\t\t\tit: \"Posti Max\",\r\n\t\t\t\tes: \"Plazas Disponibles\",\r\n\t\t\t\tfr: \"Places Disponibles\",\r\n\t\t\t},\r\n\t\t\tschedule: {\r\n\t\t\t\ten: \"Schedule\",\r\n\t\t\t\tit: \"Programmazione\",\r\n\t\t\t\tes: \"Programaciรณn\",\r\n\t\t\t\tfr: \"Programmation\",\r\n\t\t\t},\r\n\t\t\t\"add-new-dates\": {\r\n\t\t\t\ten: \"Add New Dates\",\r\n\t\t\t\tit: \"Aggiungi\",\r\n\t\t\t\tes: \"Aรฑadir\",\r\n\t\t\t\tfr: \"Ajouter\",\r\n\t\t\t},\r\n\t\t\t\"generated-activities\": {\r\n\t\t\t\ten: \"Generated Activities\",\r\n\t\t\t\tit: \"Lista Attivitร \",\r\n\t\t\t\tes: \"Actividades\",\r\n\t\t\t\tfr: \"Planning\",\r\n\t\t\t},\r\n\t\t\t\"lesson-schedule\": {\r\n\t\t\t\ten: \"Lesson Schedule\",\r\n\t\t\t\tit: \"Programmazione \",\r\n\t\t\t\tes: \"Programaciรณn\",\r\n\t\t\t\tfr: \"Programmation\",\r\n\t\t\t},\r\n\t\t\t\"create-class\": {\r\n\t\t\t\tit: \"Crea Attivitร \",\r\n\t\t\t\ten: \"Create Activity\",\r\n\t\t\t\tes: \"Crear actividad\",\r\n\t\t\t\tfr: \"Crรฉer activitรฉ\",\r\n\t\t\t},\r\n\t\t\tdelete: {\r\n\t\t\t\ten: \"Delete\",\r\n\t\t\t\tit: \"Elimina\",\r\n\t\t\t\tes: \"Eliminar\",\r\n\t\t\t\tfr: \"Supprimer\",\r\n\t\t\t},\r\n\t\t\ttype: {\r\n\t\t\t\ten: \"Type\",\r\n\t\t\t\tit: \"Tipo\",\r\n\t\t\t\tes: \"Tipo\",\r\n\t\t\t\tfr: \"Type\",\r\n\t\t\t},\r\n\t\t\tstart: {\r\n\t\t\t\ten: \"From\",\r\n\t\t\t\tit: \"Da\",\r\n\t\t\t\tes: \"Desde\",\r\n\t\t\t\tfr: \"De\",\r\n\t\t\t},\r\n\t\t\tend: {\r\n\t\t\t\ten: \"To\",\r\n\t\t\t\tit: \"Fino a\",\r\n\t\t\t\tes: \"Hasta\",\r\n\t\t\t\tfr: \"Jusqu'ร \",\r\n\t\t\t},\r\n\t\t\t\"schedule-limit-reached\": {\r\n\t\t\t\ten: \"Impossible to schedule other dates. Limit reached.\",\r\n\t\t\t\tit: \"Impossibile programmare altre date. Limite raggiunto.\",\r\n\t\t\t\tes: \"Imposible programar otras fechas. Lรญmite alcanzado.\",\r\n\t\t\t\tfr: \"Impossible de programmer d'autres dates. Limite atteinte.\",\r\n\t\t\t},\r\n\t\t\t\"need-at-least-one-place\": {\r\n\t\t\t\ten: \"You must enter at least one seat available locally or remotely\",\r\n\t\t\t\tit: \"Devi inserire almeno un posto disponibile sul posto o in remoto\",\r\n\t\t\t\tes: \"Debe ingresar al menos un asiento disponible localmente o en lรญnea\",\r\n\t\t\t\tfr: \"Vous devez saisir au moins un siรจge disponible localement ou ร  distance\",\r\n\t\t\t},\r\n\t\t\t\"trainer-must-be-registered\": {\r\n\t\t\t\ten: \"To enable LIVE you need to select a trainer registered in your club\",\r\n\t\t\t\tit: \"Per abilitare i LIVE devi selezionare un trainer registrato nel tuo club\",\r\n\t\t\t\tes: \"Para habilitar LIVE necesitas seleccionar un entrenador registrado en tu club\",\r\n\t\t\t\tfr: \"Pour activer LIVE, vous devez sรฉlectionner un entraรฎneur inscrit dans votre club\",\r\n\t\t\t},\r\n\t\t\t\"activity-succesfully-updated\": {\r\n\t\t\t\ten: \"Activity succesfully updated\",\r\n\t\t\t\tit: \"Attivitร  aggiornata correttamente\",\r\n\t\t\t\tes: \"Actividad actualizada con รฉxito\",\r\n\t\t\t\tfr: \"Activitรฉ mise ร  jour avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"schedule-not-generate-event\": {\r\n\t\t\t\ten: \"Schedule does not generate valid events\",\r\n\t\t\t\tit: \"La programmazione impostata non genera nessun evento valido\",\r\n\t\t\t\tes: \"La programaciรณn no genera eventos vรกlidos\",\r\n\t\t\t\tfr: \"La planification ne gรฉnรจre pas d'รฉvรฉnements valides\",\r\n\t\t\t},\r\n\t\t\t\"cannot-unpublish-if-participants\": {\r\n\t\t\t\ten: \"It is not possible to change the activation status if participants are present\",\r\n\t\t\t\tit: \"Non รจ possibile cambiare lo stato di attivazione se sono presenti dei partecipanti\",\r\n\t\t\t\tes: \"No es posible cambiar el estado de activaciรณn si hay participantes\",\r\n\t\t\t\tfr: \"Il n'est pas possible de changer le statut d'activation s'il y a des participants\",\r\n\t\t\t},\r\n\t\t\tupdated: {\r\n\t\t\t\ten: \"Updated\",\r\n\t\t\t\tit: \"Aggiornato/a\",\r\n\t\t\t\tes: \"Actualizado/a\",\r\n\t\t\t\tfr: \"Actualisรฉ\",\r\n\t\t\t},\r\n\t\t\t\"confirm-remove-date\": {\r\n\t\t\t\ten: \"You are about to remove the following date from programming \",\r\n\t\t\t\tit: \"Stai per rimuovere la seguente data dalla programmazione \",\r\n\t\t\t\tes: \"Estรก a punto de eliminar la siguiente fecha de la programaciรณn \",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de supprimer la date suivante de la programmation\",\r\n\t\t\t},\r\n\t\t\t\"must-have-one-schedule\": {\r\n\t\t\t\ten: \"You must enter at least one event in the schedule\",\r\n\t\t\t\tit: \"Devi inserire almeno un evento nella programmazione\",\r\n\t\t\t\tes: \"Debes ingresar al menos un evento en el horario\",\r\n\t\t\t\tfr: \"Vous devez saisir au moins un รฉvรฉnement dans le calendrier\",\r\n\t\t\t},\r\n\t\t\t\"schedule-contains-invalid-dates\": {\r\n\t\t\t\ten: \"The schedule contains invalid dates\",\r\n\t\t\t\tit: \"La programmazione contiene date non valide\",\r\n\t\t\t\tes: \"La programaciรณn contiene fechas invรกlidas\",\r\n\t\t\t\tfr: \"La programmation contient des dates non valides\",\r\n\t\t\t},\r\n\t\t\t\"schedule-contains-invalid-dates-end-earlier\": {\r\n\t\t\t\ten: \"The schedule contains an end date that is earlier than a start date\",\r\n\t\t\t\tit: \"La programmazione contiene una data di fine antecedente a una data di inizio\",\r\n\t\t\t\tes: \"La programaciรณn contiene una fecha de finalizaciรณn anterior a la fecha de inicio\",\r\n\t\t\t\tfr: \"La programmation contient une date de fin antรฉrieure ร  une date de dรฉbut\",\r\n\t\t\t},\r\n\t\t\t\"schedule-contains-invalid-start-time\": {\r\n\t\t\t\ten: \"The schedule contains an invalid start time\",\r\n\t\t\t\tit: \"La programmazione contiene un' ora di inizio non valida\",\r\n\t\t\t\tes: \"La programaciรณn contiene una hora de inicio no vรกlida.\",\r\n\t\t\t\tfr: \"La programmation contient une heure de dรฉbut invalide\",\r\n\t\t\t},\r\n\t\t\t\"schedule-contains-invalid-duration\": {\r\n\t\t\t\ten: \"The schedules must contain a duration between 10 and 240\",\r\n\t\t\t\tit: \"Le programmazioni devono contenere una durata compresa fra 10 e 240\",\r\n\t\t\t\tes: \"La programaciรณn debe contener una duraciรณn entre 10 y 240\",\r\n\t\t\t\tfr: \"La programmation doit contenir une durรฉe comprise entre 10 et 240\",\r\n\t\t\t},\r\n\t\t\t\"schedule-exceeded-maximum-months\": {\r\n\t\t\t\ten: \"Schedule has exceeded the maximum number of months: \",\r\n\t\t\t\tit: \"La programmazione ha superato il numero massimo di mesi: \",\r\n\t\t\t\tes: \"La programaciรณn ha excedido el nรบmero mรกximo de meses: \",\r\n\t\t\t\tfr: \"La programmation a dรฉpassรฉ le nombre maximum de mois: \",\r\n\t\t\t},\r\n\t\t\t\"all-schedule-date-in-past\": {\r\n\t\t\t\ten: \"The schedule contains all dates in the past\",\r\n\t\t\t\tit: \"La programmazione contiene tutte date nel passato\",\r\n\t\t\t\tes: \"El horario contiene todas las fechas en el pasado\",\r\n\t\t\t\tfr: \"Le calendrier contient toutes les dates du passรฉ\",\r\n\t\t\t},\r\n\t\t\t\"lesson-schedule-end-date-in-past\": {\r\n\t\t\t\ten: \"The end date of the lesson cannot be in the past\",\r\n\t\t\t\tit: \"La data di fine della lezione non puรฒ essere nel passato\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn de la lecciรณn no puede ser anterior a la anterior\",\r\n\t\t\t\tfr: \"La date de fin de la leรงon ne peut pas รชtre dans le passรฉ\",\r\n\t\t\t},\r\n\t\t\t\"calendar-visibility-must-be-greater-booking-before\": {\r\n\t\t\t\ten: \"'Calendar Visibility' must be greater or equal than 'Booking Before'\",\r\n\t\t\t\tit: \"'Visibilitร  Calendario' deve essere maggiore o uguale di 'Prenota Entro'\",\r\n\t\t\t\tes: \"'Calendrier Visibilidad' debe ser mayor o igual que la 'Reserva Antes'\",\r\n\t\t\t\tfr: \"'Visibilitรฉ Calendario' doit รชtre supรฉrieure ou รฉgale ร  'Rรฉservation Avant'\",\r\n\t\t\t},\r\n\t\t\t\"booking-before-must-be-greater-cancel-before\": {\r\n\t\t\t\ten: \"'Booking Before' must be greater or equal than 'Cancel Before'\",\r\n\t\t\t\tit: \"'Prenota Entro' deve essere maggiore o uguale di 'Disdici Entro'\",\r\n\t\t\t\tes: \"'Reserva Antes' debe ser mayor o igual que la 'Cancelas Antes'\",\r\n\t\t\t\tfr: \"'Rรฉservation Avant' doit รชtre supรฉrieure ou รฉgale ร  'Annuler Avant'\",\r\n\t\t\t},\r\n\t\t\t\"booking-before-must-be-greater-than-max-cancel-before\": {\r\n\t\t\t\ten: \"The 'Booking Before' value entered conflicts with the 'Cancel Before' value of some lessons. Insert a value greater than or equal to {0}\",\r\n\t\t\t\tit: \"Il valore di 'Prenota Entro' inserito va in conflitto con il valore di 'Disdici Entro' di alcune lezioni. Inserire un volore maggiore o uguale a {0}\",\r\n\t\t\t\tes: \"El valor 'Reserva antes' ingresado entra en conflicto con el valor 'Cancelar antes' de algunas lecciones. Inserte un valor mayor o igual que {0}\",\r\n\t\t\t\tfr: \"La valeur 'Rรฉservation avant' entrรฉe est en conflit avec la valeur 'Annuler avant' de certaines training. Insรฉrez une valeur supรฉrieure ou รฉgale ร  {0}\",\r\n\t\t\t},\r\n\t\t\t\"cancel-before-must-be-minor-than-min-booking-before\": {\r\n\t\t\t\ten: \"The 'Cancel Before' value entered conflicts with the 'Booking Before' value of some lessons. Insert a value less than or equal to {0}\",\r\n\t\t\t\tit: \"Il valore di 'Disdici Entro' inserito va in conflitto con il valore di 'Prenota Entro' di alcune lezioni. Inserire un volore minore o uguale a {0}\",\r\n\t\t\t\tes: \"El valor 'Cancelar antes' ingresado entra en conflicto con el valor 'Reservar antes' de algunas lecciones. Inserte un valor menor o igual que {0}\",\r\n\t\t\t\tfr: \"La valeur 'Annuler avant' entrรฉe entre en conflit avec la valeur 'Rรฉservation avant' de certaines training. Insรฉrer une valeur infรฉrieure ou รฉgale ร  {0}\",\r\n\t\t\t},\r\n\t\t\t\"max-schedule-begin-in-future-days-error\": {\r\n\t\t\t\ten: \"You cannot schedule activities beyond six months into the future\",\r\n\t\t\t\tit: \"Non puoi programmare attivitร  oltre sei mesi nel futuro\",\r\n\t\t\t\tes: \"No puede programar actividades mรกs allรก de seis meses en el futuro\",\r\n\t\t\t\tfr: \"Vous ne pouvez pas planifier d'activitรฉs au-delร  de six mois dans le futur\",\r\n\t\t\t},\r\n\t\t\t\"max-global-duration-days-error\": {\r\n\t\t\t\ten: \"You cannot schedule activities with a total duration of more than 370 days\",\r\n\t\t\t\tit: \"Non puoi programmare attivitร  con una durata totale superiore a 370 giorni\",\r\n\t\t\t\tes: \"No puede programar actividades con una duraciรณn total de mรกs de 370 dรญas\",\r\n\t\t\t\tfr: \"Vous ne pouvez pas planifier d'activitรฉs d'une durรฉe totale supรฉrieure ร  370 jours\",\r\n\t\t\t},\r\n\t\t\t\"confirm-publish-lesson-template\": {\r\n\t\t\t\ten: \"You are generating a single lesson for each scheduled event.\",\r\n\t\t\t\tit: \"Stai generando una singola lezione per ogni evento programmato.\",\r\n\t\t\t\tes: \"Estรกs generando una sola lecciรณn para cada evento programado.\",\r\n\t\t\t\tfr: \"Vous gรฉnรฉrez une seule leรงon pour chaque รฉvรฉnement programmรฉ.\",\r\n\t\t\t},\r\n\t\t\t\"cannot-delete-activity-in-the-past\": {\r\n\t\t\t\ten: \"Unable to delete an activity in the past\",\r\n\t\t\t\tit: \"Impossibile cancellare un'attivitร  nel passato\",\r\n\t\t\t\tes: \"No se pudo borrar una actividad en el pasado\",\r\n\t\t\t\tfr: \"Impossible de supprimer une activitรฉ dans le passรฉ\",\r\n\t\t\t},\r\n\t\t\t\"class-is-unpublished-cannot-edit-participants\": {\r\n\t\t\t\ten: \"Activate the activity in order to add/remove participants\",\r\n\t\t\t\tit: \"Attiva l'attivitร  per aggiungere/rimuovere partecipanti\",\r\n\t\t\t\tes: \"Activar la actividad para agregar/quitar participantes.\",\r\n\t\t\t\tfr: \"Activer l'activitรฉ pour ajouter/supprimer des participants\",\r\n\t\t\t},\r\n\t\t\t\"class-has-no-participants\": {\r\n\t\t\t\ten: \"The activity has no participants\",\r\n\t\t\t\tit: \"L'attivitร  non ha nessun partecipante\",\r\n\t\t\t\tes: \"La actividad no tiene participantes\",\r\n\t\t\t\tfr: \"L'activitรฉ n'a pas de participants\",\r\n\t\t\t},\r\n\t\t\t\"live-unavailable\": {\r\n\t\t\t\ten: \"Unavailable\",\r\n\t\t\t\tit: \"Non disponibile\",\r\n\t\t\t\tes: \"Indisponible\",\r\n\t\t\t\tfr: \"Indisponible\",\r\n\t\t\t},\r\n\t\t\t\"full-day\": {\r\n\t\t\t\ten: \"Full Day\",\r\n\t\t\t\tit: \"Giornata Intera\",\r\n\t\t\t\tes: \"Dรญa Completo\",\r\n\t\t\t\tfr: \"Journรฉe Complรจte\",\r\n\t\t\t},\r\n\t\t\t\"free-access\": {\r\n\t\t\t\ten: \"Free Access\",\r\n\t\t\t\tit: \"Accesso Libero\",\r\n\t\t\t\tes: \"Acceso Libre\",\r\n\t\t\t\tfr: \"Accรจs Libre\",\r\n\t\t\t},\r\n\t\t\t\"personal-trainer\": {\r\n\t\t\t\ten: \"Personal Trainer\",\r\n\t\t\t\tit: \"Personal Trainer\",\r\n\t\t\t\tes: \"Personal Trainer\",\r\n\t\t\t\tfr: \"Personal Trainer\",\r\n\t\t\t},\r\n\t\t\t\"personal-trainer\": {\r\n\t\t\t\ten: \"Personal Trainer\",\r\n\t\t\t\tit: \"Personal Trainer\",\r\n\t\t\t\tes: \"Personal Trainer\",\r\n\t\t\t\tfr: \"Personal Trainer\",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti obbligatori\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"edit-subscriptions\": {\r\n\t\t\t\ten: \"Edit Subscriptions\",\r\n\t\t\t\tit: \"Modifica Abbonamenti\",\r\n\t\t\t\tes: \"Editar Suscripciones\",\r\n\t\t\t\tfr: \"Modification Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"select-subscriptions\": {\r\n\t\t\t\ten: \"Select Subscriptions\",\r\n\t\t\t\tit: \"Seleziona Abbonamenti\",\r\n\t\t\t\tes: \"Seleccione Suscripciones\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"error-increase-onsite-participants-because-class-has-queue\": {\r\n\t\t\t\ten: \"Impossible to increase the number of seats available in presence because there are participants in the queue\",\r\n\t\t\t\tit: \"Impossibile aumentare i posti disponibili in presenza perchรจ ci sono partecipanti in coda\",\r\n\t\t\t\tes: \"Es imposible aumentar el nรบmero de asientos disponibles en presencia porque hay participantes en la cola\",\r\n\t\t\t\tfr: \"Il est impossible d'augmenter le nombre de places disponibles en prรฉsence car il y a des participants dans la file d'attente\",\r\n\t\t\t},\r\n\t\t\t\"error-increase-remote-participants-because-class-has-queue\": {\r\n\t\t\t\ten: \"Impossible to increase the number of seats available in remote because there are participants in the queue\",\r\n\t\t\t\tit: \"Impossibile aumentare i posti disponibili da remoto perchรจ ci sono partecipanti in coda\",\r\n\t\t\t\tes: \"Es imposible aumentar el nรบmero de asientos disponibles de forma remota porque hay participantes en la cola.\",\r\n\t\t\t\tfr: \"Il est impossible d'augmenter le nombre de places disponibles ร  distance car il y a des participants dans la file d'attente\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubClassesView: {\r\n\t\t\t\"club-activities\": {\r\n\t\t\t\ten: \"Club Activities\",\r\n\t\t\t\tit: \"Attivitร  del Club\",\r\n\t\t\t\tes: \"Actividades del Club\",\r\n\t\t\t\tfr: \"Planning Du Club\",\r\n\t\t\t},\r\n\t\t\t\"add-new-course\": {\r\n\t\t\t\ten: \"Add Course\",\r\n\t\t\t\tit: \"Aggiungi Corso\",\r\n\t\t\t\tes: \"Agregar Curso\",\r\n\t\t\t\tfr: \"Ajouter ร‰vรจnements\",\r\n\t\t\t},\r\n\t\t\t\"add-new-class\": {\r\n\t\t\t\ten: \"Add Lessons\",\r\n\t\t\t\tit: \"Aggiungi Lezioni\",\r\n\t\t\t\tes: \"Agregar Lecciones\",\r\n\t\t\t\tfr: \"Ajouter Des Training\",\r\n\t\t\t},\r\n\t\t\twhen: {\r\n\t\t\t\ten: \"When\",\r\n\t\t\t\tit: \"Quando\",\r\n\t\t\t\tes: \"Cuando\",\r\n\t\t\t\tfr: \"Quand\",\r\n\t\t\t},\r\n\t\t\t\"onsite-credits\": {\r\n\t\t\t\ten: \"Credits for on-site registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione in presenza: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en el sitio: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription sur place: \",\r\n\t\t\t},\r\n\t\t\t\"home-credits\": {\r\n\t\t\t\ten: \"Credits for home registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione online: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en linea: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription en ligne: \",\r\n\t\t\t},\r\n\t\t\t\"onsite-tickets\": {\r\n\t\t\t\ten: \"Tickets for on-site registration: \",\r\n\t\t\t\tit: \"Ingressi per iscrizione in presenza: \",\r\n\t\t\t\tes: \"Tickets por registro en el sitio: \",\r\n\t\t\t\tfr: \"Tickets pour inscription sur place: \",\r\n\t\t\t},\r\n\t\t\t\"home-tickets\": {\r\n\t\t\t\ten: \"Tickets for home registration: \",\r\n\t\t\t\tit: \"Ingressi per iscrizione online: \",\r\n\t\t\t\tes: \"Tickets por registro en linea: \",\r\n\t\t\t\tfr: \"Tickets pour inscription en ligne: \",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti obbligatori\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"class-description\": {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\t\"max-slots\": {\r\n\t\t\t\ten: \"Available Places\",\r\n\t\t\t\tit: \"Posti Max\",\r\n\t\t\t\tes: \"Plazas Disponibles\",\r\n\t\t\t\tfr: \"Places Disponibles\",\r\n\t\t\t},\r\n\t\t\t\"selected-activities\": {\r\n\t\t\t\ten: \"selected activities\",\r\n\t\t\t\tit: \"attivitร  selezionate\",\r\n\t\t\t\tes: \"actividades seleccionadas\",\r\n\t\t\t\tfr: \"activitรฉs sรฉlectionnรฉes\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tPersonalTrainersView: {\r\n\t\t\t\"personal-trainers\": {\r\n\t\t\t\ten: \"Personal Trainers\",\r\n\t\t\t\tit: \"Personal Trainers\",\r\n\t\t\t\tes: \"Personal Trainers\",\r\n\t\t\t\tfr: \"Personal Trainers\",\r\n\t\t\t},\r\n\t\t\t\"add-single-lesson\": {\r\n\t\t\t\ten: \"Add Single Lesson\",\r\n\t\t\t\tit: \"Aggiungi Lezione Singola\",\r\n\t\t\t\tes: \"Agregar Lecciรณn De Sigle\",\r\n\t\t\t\tfr: \"Ajouter Une Seule Leรงon\",\r\n\t\t\t},\r\n\t\t\t\"add-lessons\": {\r\n\t\t\t\ten: \"Add Lessons\",\r\n\t\t\t\tit: \"Aggiungi Lezioni\",\r\n\t\t\t\tes: \"Agregar Lecciones\",\r\n\t\t\t\tfr: \"Ajouter Des Training\",\r\n\t\t\t},\r\n\t\t\t\"repeat-for\": {\r\n\t\t\t\ten: \"Repeat For\",\r\n\t\t\t\tit: \"Ripeti Per\",\r\n\t\t\t\tes: \"Repetir Para\",\r\n\t\t\t\tfr: \"Rรฉpรฉter Pour\",\r\n\t\t\t},\r\n\t\t\t\"repeat-every\": {\r\n\t\t\t\ten: \"Repeat Every\",\r\n\t\t\t\tit: \"Ripeti Ogni\",\r\n\t\t\t\tes: \"Repetir Cada\",\r\n\t\t\t\tfr: \"Rรฉpรฉter Chaque\",\r\n\t\t\t},\r\n\t\t\twhen: {\r\n\t\t\t\ten: \"When\",\r\n\t\t\t\tit: \"Quando\",\r\n\t\t\t\tes: \"Cuando\",\r\n\t\t\t\tfr: \"Quand\",\r\n\t\t\t},\r\n\t\t\t\"onsite-credits\": {\r\n\t\t\t\ten: \"Credits for on-site registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione sul posto: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en el sitio: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription sur place: \",\r\n\t\t\t},\r\n\t\t\t\"home-credits\": {\r\n\t\t\t\ten: \"Credits for home registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione online: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en linea: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription en ligne: \",\r\n\t\t\t},\r\n\t\t\tlocation: {\r\n\t\t\t\ten: \"Location\",\r\n\t\t\t\tit: \"Luogo\",\r\n\t\t\t\tes: \"Sitio\",\r\n\t\t\t\tfr: \"Lieu\",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti obbligatori\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"class-description\": {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\t\"max-slots\": {\r\n\t\t\t\ten: \"Available Places\",\r\n\t\t\t\tit: \"Posti Max\",\r\n\t\t\t\tes: \"Plazas Disponibles\",\r\n\t\t\t\tfr: \"Places Disponibles\",\r\n\t\t\t},\r\n\t\t\t\"pt-lesson\": {\r\n\t\t\t\ten: \"PT lesson\",\r\n\t\t\t\tit: \"Lezione PT\",\r\n\t\t\t\tes: \"Lecciรณn PT\",\r\n\t\t\t\tfr: \"Leรงon TP\",\r\n\t\t\t},\r\n\t\t\t\"add-new-pt-lesson\": {\r\n\t\t\t\ten: \"Add New PT Lesson\",\r\n\t\t\t\tit: \"Aggiungi Nuova Lezione PT\",\r\n\t\t\t\tes: \"Agregar Nueva Lecciรณn De PT\",\r\n\t\t\t\tfr: \"Ajouter Une Nouvelle Leรงon PT\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tServicesView: {\r\n\t\t\t\"add-service\": {\r\n\t\t\t\ten: \"Add Single Service\",\r\n\t\t\t\tit: \"Aggiungi Singolo Servizio\",\r\n\t\t\t\tes: \"Agregar Servicio Unico\",\r\n\t\t\t\tfr: \"Ajouter Service Unique\",\r\n\t\t\t},\r\n\t\t\t\"add-services\": {\r\n\t\t\t\ten: \"Add Services\",\r\n\t\t\t\tit: \"Aggiungi Servizi\",\r\n\t\t\t\tes: \"Agregar Servicios\",\r\n\t\t\t\tfr: \"Ajouter Services\",\r\n\t\t\t},\r\n\t\t\tservice: {\r\n\t\t\t\ten: \"Service\",\r\n\t\t\t\tit: \"Servizio\",\r\n\t\t\t\tes: \"Servicio\",\r\n\t\t\t\tfr: \"Service\",\r\n\t\t\t},\r\n\t\t\t\"repeat-for\": {\r\n\t\t\t\ten: \"Repeat For\",\r\n\t\t\t\tit: \"Ripeti Per\",\r\n\t\t\t\tes: \"Repetir Para\",\r\n\t\t\t\tfr: \"Rรฉpรฉter Pour\",\r\n\t\t\t},\r\n\t\t\t\"repeat-every\": {\r\n\t\t\t\ten: \"Repeat Every\",\r\n\t\t\t\tit: \"Ripeti Ogni\",\r\n\t\t\t\tes: \"Repetir Cada\",\r\n\t\t\t\tfr: \"Rรฉpรฉter Chaque\",\r\n\t\t\t},\r\n\t\t\twhen: {\r\n\t\t\t\ten: \"When\",\r\n\t\t\t\tit: \"Quando\",\r\n\t\t\t\tes: \"Cuando\",\r\n\t\t\t\tfr: \"Quand\",\r\n\t\t\t},\r\n\t\t\t\"onsite-credits\": {\r\n\t\t\t\ten: \"Credits for on-site registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione sul posto: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en el sitio: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription sur place: \",\r\n\t\t\t},\r\n\t\t\t\"home-credits\": {\r\n\t\t\t\ten: \"Credits for home registration: \",\r\n\t\t\t\tit: \"Crediti per iscrizione online: \",\r\n\t\t\t\tes: \"Crรฉditos por registro en linea: \",\r\n\t\t\t\tfr: \"Crรฉdits pour inscription en ligne: \",\r\n\t\t\t},\r\n\t\t\tlocation: {\r\n\t\t\t\ten: \"Location\",\r\n\t\t\t\tit: \"Luogo\",\r\n\t\t\t\tes: \"Sitio\",\r\n\t\t\t\tfr: \"Lieu\",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti obbligatori\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"class-description\": {\r\n\t\t\t\ten: \"Description\",\r\n\t\t\t\tit: \"Descrizione\",\r\n\t\t\t\tes: \"Descripciรณn\",\r\n\t\t\t\tfr: \"Description\",\r\n\t\t\t},\r\n\t\t\t\"max-slots\": {\r\n\t\t\t\ten: \"Available Places\",\r\n\t\t\t\tit: \"Posti Max\",\r\n\t\t\t\tes: \"Plazas Disponibles\",\r\n\t\t\t\tfr: \"Places Disponibles\",\r\n\t\t\t},\r\n\t\t\t\"service-lesson\": {\r\n\t\t\t\ten: \"Service Lesson\",\r\n\t\t\t\tit: \"Lezione Servizio\",\r\n\t\t\t\tes: \"Lecciรณn De Servicio\",\r\n\t\t\t\tfr: \"Leรงon De Service\",\r\n\t\t\t},\r\n\t\t\t\"add-new-service-lesson\": {\r\n\t\t\t\ten: \"Add New Service Lesson\",\r\n\t\t\t\tit: \"Aggiungi Nuova Lezione Servizio\",\r\n\t\t\t\tes: \"Agregar Nueva Lecciรณn De Servicio\",\r\n\t\t\t\tfr: \"Ajouter Une Nouvelle Leรงon Service\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubClassParticipantsView: {\r\n\t\t\tbooked: {\r\n\t\t\t\ten: \"Booked\",\r\n\t\t\t\tit: \"Prenotati\",\r\n\t\t\t\tes: \"Reservado\",\r\n\t\t\t\tfr: \"Rรฉservรฉ\",\r\n\t\t\t},\r\n\t\t\twaiting: {\r\n\t\t\t\ten: \"Waiting\",\r\n\t\t\t\tit: \"In coda\",\r\n\t\t\t\tes: \"Esperando\",\r\n\t\t\t\tfr: \"Attendre\",\r\n\t\t\t},\r\n\t\t\t\"athlete-successfully-add\": {\r\n\t\t\t\ten: \"Athlete added successfully\",\r\n\t\t\t\tit: \"Atleta aggiunto correttamente\",\r\n\t\t\t\tes: \"Atleta agregado exitosamente\",\r\n\t\t\t\tfr: \"Athlรจte ajoutรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"athlete-successfully-moved\": {\r\n\t\t\t\ten: \"Athlete successfully moved\",\r\n\t\t\t\tit: \"Atleta spostato correttamente\",\r\n\t\t\t\tes: \"Atleta se moviรณ con รฉxito\",\r\n\t\t\t\tfr: \"Athlรจte gรขtรฉ correctementathlรจte\",\r\n\t\t\t},\r\n\t\t\t\"could-not-remove-participant-after-end-date\": {\r\n\t\t\t\ten: \"A participant cannot be removed after the end date\",\r\n\t\t\t\tit: \"Impossibile rimuovere il partecipante dopo la data di fine\",\r\n\t\t\t\tes: \"No se pudo eliminar al participante despuรฉs de la fecha de finalizaciรณn\",\r\n\t\t\t\tfr: \"Les participants ne peuvent pas รชtre supprimรฉs aprรจs la date de fin\",\r\n\t\t\t},\r\n\t\t\t\"could-not-remove-participants-after-end-date\": {\r\n\t\t\t\ten: \"Participants cannot be removed after the end date\",\r\n\t\t\t\tit: \"Impossibile rimuovere i partecipanti dopo la data di fine\",\r\n\t\t\t\tes: \"Los participantes no se pueden eliminar despuรฉs de la fecha de finalizaciรณn\",\r\n\t\t\t\tfr: \"Impossible de supprimer le participant aprรจs la date de fin\",\r\n\t\t\t},\r\n\t\t\t\"could-not-add-participant-after-end-date\": {\r\n\t\t\t\ten: \"A participant cannot be added after the end date\",\r\n\t\t\t\tit: \"Impossibile aggiungere il partecipante dopo la data di fine\",\r\n\t\t\t\tes: \"No se pudo agregar participante despuรฉs de la fecha de finalizaciรณn\",\r\n\t\t\t\tfr: \"Impossible d'ajouter le participant aprรจs la date de fin\",\r\n\t\t\t},\r\n\t\t\t\"the-time-for-unsubscribing-has-passed\": {\r\n\t\t\t\ten: \"The time for unsubscribing has passed\",\r\n\t\t\t\tit: \"Il tempo utile per la disiscrizione รจ passato\",\r\n\t\t\t\tes: \"El tiempo para darse de baja ha pasado.\",\r\n\t\t\t\tfr: \"L'heure de la dรฉsinscription est passรฉe.\",\r\n\t\t\t},\r\n\t\t\t\"unable-to-add-participants-if-the-status-is-unpublished\": {\r\n\t\t\t\ten: \"Unable to add participants if the status is inactive\",\r\n\t\t\t\tit: \"Impossibile aggiungere partecipanti se lo stato รจ inattivo\",\r\n\t\t\t\tes: \"No se pueden agregar participantes si el estado es inactivo\",\r\n\t\t\t\tfr: \"Impossible d'ajouter des participants si le statut est inactif\",\r\n\t\t\t},\r\n\t\t\t\"already-participant\": {\r\n\t\t\t\ten: \"The athlete is already a participant\",\r\n\t\t\t\tit: \"L'atleta รจ giร  partecipante\",\r\n\t\t\t\tes: \"El atleta ya es participante\",\r\n\t\t\t\tfr: \"L'athlรจte est dรฉjร  un participant\",\r\n\t\t\t},\r\n\t\t\t\"no-registration-required\": {\r\n\t\t\t\ten: \"No registration is required\",\r\n\t\t\t\tit: \"Non รจ richiesta un'iscrizione\",\r\n\t\t\t\tes: \"No se requiere registro\",\r\n\t\t\t\tfr: \"Aucune inscription n'est requise\",\r\n\t\t\t},\r\n\t\t\t\"registrations-are-not-yet-open\": {\r\n\t\t\t\ten: \"Registrations are not yet open\",\r\n\t\t\t\tit: \"Le iscrizioni non sono ancora aperte\",\r\n\t\t\t\tes: \"Las inscripciones aรบn no estรกn abiertas\",\r\n\t\t\t\tfr: \"Les inscriptions ne sont pas encore ouvertes\",\r\n\t\t\t},\r\n\t\t\t\"registration-is-closed\": {\r\n\t\t\t\ten: \"Registration is closed\",\r\n\t\t\t\tit: \"Le iscrizioni sono chiuse\",\r\n\t\t\t\tes: \"El registro estรก cerrado\",\r\n\t\t\t\tfr: \"L'inscription est fermรฉe\",\r\n\t\t\t},\r\n\t\t\t\"event-already-started\": {\r\n\t\t\t\ten: \"The event has already started\",\r\n\t\t\t\tit: \"L'evento รจ giร  iniziato\",\r\n\t\t\t\tes: \"El evento ya ha comenzado\",\r\n\t\t\t\tfr: \"L'รฉvรฉnement a dรฉjร  commencรฉ\",\r\n\t\t\t},\r\n\t\t\t\"places-available-exceeded\": {\r\n\t\t\t\ten: \"The number of available places has been exceeded\",\r\n\t\t\t\tit: \"E' stato superato il numero di posti disponibili\",\r\n\t\t\t\tes: \"Se ha excedido el nรบmero de plazas disponibles\",\r\n\t\t\t\tfr: \"Le nombre de places disponibles a รฉtรฉ dรฉpassรฉ\",\r\n\t\t\t},\r\n\t\t\t\"not-enought-credits\": {\r\n\t\t\t\ten: \"The athlete does not have enough credits to register\",\r\n\t\t\t\tit: \"L'atleta non ha abbastanza crediti per iscriversi\",\r\n\t\t\t\tes: \"El atleta no tiene suficientes crรฉditos para registrarse\",\r\n\t\t\t\tfr: \"L'athlรจte n'a pas assez de crรฉdits pour s'inscrire\",\r\n\t\t\t},\r\n\t\t\t\"club-limits-exceeded\": {\r\n\t\t\t\ten: \"The athlete has reached the booking limit\",\r\n\t\t\t\tit: \"L'atleta ha raggiunto il limite di prenotazione\",\r\n\t\t\t\tes: \"El atleta ha alcanzado el lรญmite de reservas\",\r\n\t\t\t\tfr: \"L'athlรจte a atteint la limite de rรฉservation\",\r\n\t\t\t},\r\n\t\t\t\"bookings-blocked-athlete\": {\r\n\t\t\t\ten: \"Bookings are blocked for this athlete\",\r\n\t\t\t\tit: \"Le prenotazioni sono bloccate per questo atleta\",\r\n\t\t\t\tes: \"Las reservas estรกn bloqueadas para este atleta\",\r\n\t\t\t\tfr: \"Les rรฉservations sont bloquรฉes pour cet athlรจte\"\r\n\t\t\t},\r\n\t\t\t\"invalid-payment-option\": {\r\n\t\t\t\ten: \"The athlete does not have a subscription or enough credits to register\",\r\n\t\t\t\tit: \"L'atleta non ha un abbonamento o crediti validi per iscriversi\",\r\n\t\t\t\tes: \"El atleta no tiene suscripciรณn ni crรฉditos vรกlidos para registrarse\",\r\n\t\t\t\tfr: \"L'athlรจte n'a pas d'abonnement ni de crรฉdits valides pour s'inscrire\",\r\n\t\t\t},\r\n\t\t\t\"no-valid-subscriptions\": {\r\n\t\t\t\ten: \"The athlete does not have a subscription to register\",\r\n\t\t\t\tit: \"L'atleta non ha un abbonamento valido per iscriversi\",\r\n\t\t\t\tes: \"El atleta no tiene suscripciรณn vรกlidos para registrarse\",\r\n\t\t\t\tfr: \"L'athlรจte n'a pas d'abonnement valides pour s'inscrire\",\r\n\t\t\t},\r\n\t\t\t\"remove-athletes-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to remove?\",\r\n\t\t\t\tit: \"Sei sicuro di voler rimuovere?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres eliminar?\",\r\n\t\t\t\tfr: \"รŠtes-vous sรปr de vouloir supprimer?\",\r\n\t\t\t},\r\n\t\t\t\"move-to-waiting-list\": {\r\n\t\t\t\ten: \"You are moving the athlete to the waiting list\",\r\n\t\t\t\tit: \"Stai spostando l'atleta in lista di attesa\",\r\n\t\t\t\tes: \"Estรกs moviendo al atleta en la lista de espera\",\r\n\t\t\t\tfr: \"Vous dรฉplacez l'athlรจte sur la liste d'attente\",\r\n\t\t\t},\r\n\t\t\t\"move-to-participants-list\": {\r\n\t\t\t\ten: \"You are moving the athlete to the list of participants \",\r\n\t\t\t\tit: \"Stai spostando l'atleta nella lista dei partecipanti \",\r\n\t\t\t\tes: \"Estรก moviendo al atleta a la lista de participantes \",\r\n\t\t\t\tfr: \"Vous dรฉplacez l'athlรจte vers la liste des participants \",\r\n\t\t\t},\r\n\t\t},\r\n\t\tMyActivitiesView: {\r\n\t\t\t\"activity-without-live\": {\r\n\t\t\t\ten: \"This activity does not involve the use of UptivoLIVE\",\r\n\t\t\t\tit: \"Questa attivitร  non prevede l'utilizzo di UptivoLIVE\",\r\n\t\t\t\tes: \"Esta actividad no implica el uso de UptivoLIVE\",\r\n\t\t\t\tfr: \"Cette activitรฉ n'implique pas l'utilisation d'UptivoLIVE\",\r\n\t\t\t},\r\n\t\t\t\"my-next-activities\": {\r\n\t\t\t\ten: \"My Activities In The Next 24 Hours\",\r\n\t\t\t\tit: \"Le Mie Attivitร  Nelle Prossime 24 Ore\",\r\n\t\t\t\tes: \"Mis Actividades En Las Prรณximas 24 Horas\",\r\n\t\t\t\tfr: \"Mes Planning Dans Les Prochaines 24 Heures\",\r\n\t\t\t},\r\n\t\t\tparticipant: {\r\n\t\t\t\ten: \"Participant\",\r\n\t\t\t\tit: \"Partecipante\",\r\n\t\t\t\tes: \"Partรญcipe\",\r\n\t\t\t\tfr: \"Participant\",\r\n\t\t\t},\r\n\t\t\tqueue: {\r\n\t\t\t\ten: \"Queue\",\r\n\t\t\t\tit: \"Coda\",\r\n\t\t\t\tes: \"Cola\",\r\n\t\t\t\tfr: \"Queue\",\r\n\t\t\t},\r\n\t\t\tparticipants: {\r\n\t\t\t\ten: \"Participants\",\r\n\t\t\t\tit: \"Partecipanti\",\r\n\t\t\t\tes: \"Participantes\",\r\n\t\t\t\tfr: \"Participants\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tAthleteFilesView: {\r\n\t\t\t\"athlete-files\": {\r\n\t\t\t\ten: \"Athlete Files\",\r\n\t\t\t\tit: \"File Dell' Atleta\",\r\n\t\t\t\tes: \"Archivos Del Deportista\",\r\n\t\t\t\tfr: \"Fichiers De L'Athlรจte\",\r\n\t\t\t},\r\n\t\t\t\"upload-successful\": {\r\n\t\t\t\ten: \"Upload Successful\",\r\n\t\t\t\tit: \"Caricamento Riuscito\",\r\n\t\t\t\tes: \"Subida Exitosa\",\r\n\t\t\t\tfr: \"Tรฉlรฉversement Rรฉussi\",\r\n\t\t\t},\r\n\t\t\t\"upload-failed\": {\r\n\t\t\t\ten: \"Some files may not have been uploaded\",\r\n\t\t\t\tit: \"Alcuni file potrebbero non essere stati caricati\",\r\n\t\t\t\tes: \"Es posible que algunos archivos no se hayan cargado\",\r\n\t\t\t\tfr: \"Certains fichiers n'ont peut-รชtre pas รฉtรฉ tรฉlรฉchargรฉs\",\r\n\t\t\t},\r\n\t\t\t\"move-successful\": {\r\n\t\t\t\ten: \"File moved successfully\",\r\n\t\t\t\tit: \"File spostato correttamente\",\r\n\t\t\t\tes: \"Archivo movido exitosamente\",\r\n\t\t\t\tfr: \"Fichier dรฉplacรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"remove-file-sharing\": {\r\n\t\t\t\ten: \"This is a shared file. Are you sure you want to remove sharing with the user?\",\r\n\t\t\t\tit: \"Questo รจ un file condiviso. Sei sicuro di voler rimuovere la condivisione con l'utente?\",\r\n\t\t\t\tes: \"Este es un archivo compartido. ยฟEstรก seguro de que desea eliminar el uso compartido con el usuario?\",\r\n\t\t\t\tfr: \"Ceci est un fichier partagรฉ. Voulez-vous vraiment supprimer le partage avec l'utilisateur?\",\r\n\t\t\t},\r\n\t\t\t\"remove-file\": {\r\n\t\t\t\ten: \"The file will be deleted from the user's archive.\",\r\n\t\t\t\tit: \"Il file verrร  cancellato dall'archivio dell'utente.\",\r\n\t\t\t\tes: \"El archivo se eliminarรก del archivo del usuario.\",\r\n\t\t\t\tfr: \"Le fichier sera supprimรฉ de l'archive de l'utilisateur.\",\r\n\t\t\t},\r\n\t\t\t\"remove-folder\": {\r\n\t\t\t\ten: \"The folder will be deleted from the user's archive.\",\r\n\t\t\t\tit: \"La cartella verrร  cancellata dall'archivio dell'utente.\",\r\n\t\t\t\tes: \"La carpeta se eliminarรก del archivo del usuario.\",\r\n\t\t\t\tfr: \"Le dossier sera supprimรฉ de l'archive de l'utilisateur.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tMyFilesView: {\r\n\t\t\t\"remove-my-file\": {\r\n\t\t\t\ten: \"The file will be deleted from your archive.\",\r\n\t\t\t\tit: \"Il file verrร  cancellato dal tuo archivio.\",\r\n\t\t\t\tes: \"El archivo se eliminarรก de su archivo.\",\r\n\t\t\t\tfr: \"Le fichier sera supprimรฉ de votre archive.\",\r\n\t\t\t},\r\n\t\t\t\"remove-my-folder\": {\r\n\t\t\t\ten: \"The folder will be deleted from your archive.\",\r\n\t\t\t\tit: \"La cartella verrร  cancellata dal tuo archivio.\",\r\n\t\t\t\tes: \"La carpeta se eliminarรก de su archivo.\",\r\n\t\t\t\tfr: \"Le dossier sera supprimรฉ de votre archive.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tRefreshPaymentAccountView: {\r\n\t\t\t\"please-wait\": {\r\n\t\t\t\ten: \"Please waitโ€ฆ\",\r\n\t\t\t\tit: \"Attendere pregoโ€ฆ\",\r\n\t\t\t\tes: \"Por favor esperaโ€ฆ\",\r\n\t\t\t\tfr: \"S'il vous plaรฎt, attendezโ€ฆ\",\r\n\t\t\t},\r\n\t\t\t\"redirect-to-payment-accont-site\": {\r\n\t\t\t\ten: \"We are redirecting you to the service web page\",\r\n\t\t\t\tit: \"Ti stiamo reindirizzando alla pagina web del servizio\",\r\n\t\t\t\tes: \"Estamos redirigiendo a la pรกgina web del servicio.\",\r\n\t\t\t\tfr: \"Nous vous redirigeons vers la page web du service\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubChallengeRankingView: {\r\n\t\t\t\"in-progress\": {\r\n\t\t\t\ten: \"In progress\",\r\n\t\t\t\tit: \"In Corso\",\r\n\t\t\t\tes: \"En Progreso\",\r\n\t\t\t\tfr: \"En Cours\",\r\n\t\t\t},\r\n\t\t\t\"target-zone-prc\": {\r\n\t\t\t\ten: \"% Target Zone\",\r\n\t\t\t\tit: \"% Target Zone\",\r\n\t\t\t\tes: \"% Zona objetivo\",\r\n\t\t\t\tfr: \"% Zone cible\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubChallengesView: {\r\n\t\t\t\"also-shows-finished-challenges\": {\r\n\t\t\t\ten: \"Also Shows Finished Challenges\",\r\n\t\t\t\tit: \"Mostra Anche Le Sfide Completate\",\r\n\t\t\t\tes: \"Tambiรฉn Muestra Desafรญos Completados\",\r\n\t\t\t\tfr: \"Affiche ร‰galement Les Dรฉfis Finรฉs\",\r\n\t\t\t},\r\n\t\t\t\"add-challenge\": {\r\n\t\t\t\ten: \"Ranking\",\r\n\t\t\t\tit: \"Classifica\",\r\n\t\t\t\tes: \"Clasificaciรณn\",\r\n\t\t\t\tfr: \"Classement\",\r\n\t\t\t},\r\n\t\t\t\"add-goals\": {\r\n\t\t\t\ten: \"Goal\",\r\n\t\t\t\tit: \"Obiettivo\",\r\n\t\t\t\tes: \"Objetivo\",\r\n\t\t\t\tfr: \"Objectif\",\r\n\t\t\t},\r\n\t\t\tgoal: {\r\n\t\t\t\ten: \"Goal\",\r\n\t\t\t\tit: \"Obiettivo\",\r\n\t\t\t\tes: \"Objetivo\",\r\n\t\t\t\tfr: \"Objectif\",\r\n\t\t\t},\r\n\t\t\tgoals: {\r\n\t\t\t\ten: \"Goals\",\r\n\t\t\t\tit: \"Obiettivi\",\r\n\t\t\t\tes: \"Objetivos\",\r\n\t\t\t\tfr: \"Objectifs\",\r\n\t\t\t},\r\n\t\t\t\"monthly-challenges\": {\r\n\t\t\t\ten: \"Monthly Challenges\",\r\n\t\t\t\tit: \"Sfide Mensili\",\r\n\t\t\t\tes: \"Desafรญos Mensuales\",\r\n\t\t\t\tfr: \"Dรฉfis Mensuels\",\r\n\t\t\t},\r\n\t\t\trunning: {\r\n\t\t\t\ten: \"Running\",\r\n\t\t\t\tit: \"In Corso\",\r\n\t\t\t\tes: \"En Curso\",\r\n\t\t\t\tfr: \"En Cours\",\r\n\t\t\t},\r\n\t\t\thistory: {\r\n\t\t\t\ten: \"History\",\r\n\t\t\t\tit: \"Storico\",\r\n\t\t\t\tes: \"Historia\",\r\n\t\t\t\tfr: \"Archiver\",\r\n\t\t\t},\r\n\t\t\t\"schedule-challenge\": {\r\n\t\t\t\ten: \"Ranking\",\r\n\t\t\t\tit: \"Classifica\",\r\n\t\t\t\tes: \"Clasificaciรณn\",\r\n\t\t\t\tfr: \"Classement\",\r\n\t\t\t},\r\n\t\t\t\"schedule-goals\": {\r\n\t\t\t\ten: \"Goal\",\r\n\t\t\t\tit: \"Obiettivo\",\r\n\t\t\t\tes: \"Objetivo\",\r\n\t\t\t\tfr: \"Objectif\",\r\n\t\t\t},\r\n\t\t\t\"quick-schedule-challenge\": {\r\n\t\t\t\ten: \"Quick Schedule\",\r\n\t\t\t\tit: \"Programmazione Rapida\",\r\n\t\t\t\tes: \"Programacion Rapida\",\r\n\t\t\t\tfr: \"Programmation Rapide\",\r\n\t\t\t},\r\n\t\t\tscheduled: {\r\n\t\t\t\ten: \"Scheduled\",\r\n\t\t\t\tit: \"Programmate\",\r\n\t\t\t\tes: \"Plan\",\r\n\t\t\t\tfr: \"Plan\",\r\n\t\t\t},\r\n\t\t\t\"challenge-start\": {\r\n\t\t\t\ten: \"Challenge Start\",\r\n\t\t\t\tit: \"Inizio Sfida\",\r\n\t\t\t\tes: \"Inicio Del Desafรญo\",\r\n\t\t\t\tfr: \"Dรฉbut Du Dรฉfi\",\r\n\t\t\t},\r\n\t\t\t\"zr-monthly-upps-goal-challenge\": {\r\n\t\t\t\ten: \"Zone Revolution monthly UPPs challenge\",\r\n\t\t\t\tit: \"Zone Revolution sfida mensile basata sugli UPPs\",\r\n\t\t\t\tes: \"Zone Revolution desafรญo mensual basado en UPP\",\r\n\t\t\t\tfr: \"Zone Revolution dรฉfi mensuel basรฉ sur les UPP\",\r\n\t\t\t},\r\n\t\t\t\"zr-trainings-goal-challenge\": {\r\n\t\t\t\ten: \"Zone Revolution trainings challenge\",\r\n\t\t\t\tit: \"Zone Revolution sfida basata sul numero di allenamenti\",\r\n\t\t\t\tes: \"Zone Revolution desafรญo basado en la cantidad de entrenamientos\",\r\n\t\t\t\tfr: \"Zone Revolution dรฉfi basรฉ sur le nombre d'entraรฎnements\",\r\n\t\t\t},\r\n\t\t\t\"the-challenge-will-start-on-the-first-day-of-next-month\": {\r\n\t\t\t\ten: \"The challenge will start on the first day of next month.\",\r\n\t\t\t\tit: \"La sfida partirร  il primo giorno del prossimo mese.\",\r\n\t\t\t\tes: \"El desafรญo comenzarรก el primer dรญa del prรณximo mes.\",\r\n\t\t\t\tfr: \"Le dรฉfi commencera le premier jour du mois prochain.\",\r\n\t\t\t},\r\n\t\t\t\"challenge-type\": {\r\n\t\t\t\ten: \"Challenge Type\",\r\n\t\t\t\tit: \"Tipo Di Sfida\",\r\n\t\t\t\tes: \"Tipo De Desafรญo\",\r\n\t\t\t\tfr: \"Type De Dรฉfi\",\r\n\t\t\t},\r\n\t\t\t\"generate-default-ZR-Challenges\": {\r\n\t\t\t\ten: \"Generate default ZR Challenges\",\r\n\t\t\t\tit: \"Generate default ZR Challenges\",\r\n\t\t\t\tes: \"Generate default ZR Challenges\",\r\n\t\t\t\tfr: \"Generate default ZR Challenges\",\r\n\t\t\t},\r\n\t\t\t\"delete-running-challenge\": {\r\n\t\t\t\ten: \"The challenge is underway. You will not be able to recover this data!\",\r\n\t\t\t\tit: \"La sfida รจ in corso. Non sarร  possibile recuperare questi dati!\",\r\n\t\t\t\tes: \"El desafรญo estรก en marcha. ยกNo podrรก recuperar este registro!\",\r\n\t\t\t\tfr: \"Le dรฉfi est lancรฉ. Vous ne pourrez pas rรฉcupรฉrer ces donnรฉes!\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubChallengeView: {\r\n\t\t\t\"scheduled-challenge\": {\r\n\t\t\t\ten: \"Scheduled Challenge\",\r\n\t\t\t\tit: \"Sfida Programmata\",\r\n\t\t\t\tes: \"Desafรญo Programado\",\r\n\t\t\t\tfr: \"Dรฉfi Programmรฉ\",\r\n\t\t\t},\r\n\t\t\t\"top-tier\": {\r\n\t\t\t\ten: \"TOP TIER\",\r\n\t\t\t\tit: \"ALTO\",\r\n\t\t\t\tes: \"ALTO\",\r\n\t\t\t\tfr: \"HAUT\",\r\n\t\t\t},\r\n\t\t\t\"middle-tier\": {\r\n\t\t\t\ten: \"MIDDLE TIER\",\r\n\t\t\t\tit: \"MEDIO\",\r\n\t\t\t\tes: \"MEDIO\",\r\n\t\t\t\tfr: \"MOYEN\",\r\n\t\t\t},\r\n\t\t\t\"lower-tier\": {\r\n\t\t\t\ten: \"LOWER TIER\",\r\n\t\t\t\tit: \"BASSO\",\r\n\t\t\t\tes: \"BAJO\",\r\n\t\t\t\tfr: \"BAS\",\r\n\t\t\t},\r\n\t\t\t\"participant-tier\": {\r\n\t\t\t\ten: \"PARTICIPANT TIER\",\r\n\t\t\t\tit: \"PARTECIPAZIONE\",\r\n\t\t\t\tes: \"PARTICIPACIร“N\",\r\n\t\t\t\tfr: \"PARTICIPATION\",\r\n\t\t\t},\r\n\t\t\t\"enable-rank-trainings\": {\r\n\t\t\t\ten: \"Consider only the best workouts\",\r\n\t\t\t\tit: \"Considera solo i migliori allenamenti\",\r\n\t\t\t\tes: \"Considera solo los mejores entrenamientos\",\r\n\t\t\t\tfr: \"Ne considรฉrez que les meilleurs entraรฎnements\",\r\n\t\t\t},\r\n\t\t\t\"rank-trainings\": {\r\n\t\t\t\ten: \"Consider only the best:\",\r\n\t\t\t\tit: \"Considera solo i migliori:\",\r\n\t\t\t\tes: \"Considera solo lo mejor:\",\r\n\t\t\t\tfr: \"Ne considรฉrer que le meilleur:\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClubObjectiveView: {\r\n\t\t\t\"select-badge\": {\r\n\t\t\t\ten: \"Select Badge\",\r\n\t\t\t\tit: \"Seleziona Badge\",\r\n\t\t\t\tes: \"Seleccionar Badge\",\r\n\t\t\t\tfr: \"Sรฉlectionner des badges\",\r\n\t\t\t},\r\n\t\t\tthreshold: {\r\n\t\t\t\ten: \"Threshold\",\r\n\t\t\t\tit: \"Soglia\",\r\n\t\t\t\tes: \"Lรญmite\",\r\n\t\t\t\tfr: \"Seuil\",\r\n\t\t\t},\r\n\t\t\treward: {\r\n\t\t\t\ten: \"Reward\",\r\n\t\t\t\tit: \"Premio\",\r\n\t\t\t\tes: \"Recompensa\",\r\n\t\t\t\tfr: \"Rรฉcompense\",\r\n\t\t\t},\r\n\t\t\t\"goal-challenge\": {\r\n\t\t\t\ten: \"Goal Challenge\",\r\n\t\t\t\tit: \"Sfida A Obiettivi\",\r\n\t\t\t\tes: \"Desafรญo De Objetivo\",\r\n\t\t\t\tfr: \"Dรฉfi D'Objectif\",\r\n\t\t\t},\r\n\t\t\t\"create-goal-challenge\": {\r\n\t\t\t\ten: \"Create Goal Challenge\",\r\n\t\t\t\tit: \"Crea Sfida A Obiettivi\",\r\n\t\t\t\tes: \"Crear Desafรญo De Objetivo\",\r\n\t\t\t\tfr: \"Crรฉer Un Dรฉfi D'Objectif\",\r\n\t\t\t},\r\n\t\t\t\"goals-must-be-incremental\": {\r\n\t\t\t\ten: \"Goals must be incremental\",\r\n\t\t\t\tit: \"I goal devono essere incrementali\",\r\n\t\t\t\tes: \"Los objetivos deben ser incrementales\",\r\n\t\t\t\tfr: \"Les objectifs doivent รชtre progressifs\",\r\n\t\t\t},\r\n\t\t\t\"all-goals-must-have-badge\": {\r\n\t\t\t\ten: \"All goals must have a reward\",\r\n\t\t\t\tit: \"Tutti i goal devono avere un premio\",\r\n\t\t\t\tes: \"Todos los objetivos deben tener una recompensa\",\r\n\t\t\t\tfr: \"Tous les objectifs doivent avoir une rรฉcompense\",\r\n\t\t\t},\r\n\t\t\t\"scheduled-goal-challenge\": {\r\n\t\t\t\ten: \"Scheduled Goal Challenge\",\r\n\t\t\t\tit: \"Sfida A Obiettivi Programmata\",\r\n\t\t\t\tes: \"Desafรญo De Objetivo Planificado\",\r\n\t\t\t\tfr: \"Dรฉfi Objectif Planifiรฉ\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tCreditsAndSubscriptionsView: {\r\n\t\t\tAutoAssign: {\r\n\t\t\t\ten: \"Auto Assigned\",\r\n\t\t\t\tit: \"Assegnato Automaticamente\",\r\n\t\t\t\tes: \"Asignaciรณn Automรกtica\",\r\n\t\t\t\tfr: \"Assignation Automatique\",\r\n\t\t\t},\r\n\t\t\t\"AutoAssign-text\": {\r\n\t\t\t\ten: \"This trial subscription will be automatically assigned to each new member\",\r\n\t\t\t\tit: \"Questo abbonamento di prova sarร  automaticamente assegnato ad ogni nuovo iscritto\",\r\n\t\t\t\tes: \"Esta suscripciรณn de prueba se asignarรก automรกticamente a cada nuevo miembro\",\r\n\t\t\t\tfr: \"Cet abonnement d'essai sera automatiquement attribuรฉ ร  chaque nouveau membre\",\r\n\t\t\t},\r\n\t\t\t\"remember-complete-payment-account-setup\": {\r\n\t\t\t\ten: \"To enable online payments, remember to complete the setup of at least one payment method.\",\r\n\t\t\t\tit: \"Per abilitare i pagamenti online, ricordati di completare la configurazione di almeno un metodo di pagamento.\",\r\n\t\t\t\tes: \"Para habilitar los pagos en lรญnea, recuerde completar la configuraciรณn de al menos un mรฉtodo de pago.\",\r\n\t\t\t\tfr: \"Pour activer les paiements en ligne, n'oubliez pas de terminer la configuration d'au moins un mode de paiement.\",\r\n\t\t\t},\r\n\t\t\t\"credits-description\": {\r\n\t\t\t\ten: \"You can assign credits and subscriptions to your customers in the Manage Users section. If you enable payments, your customers will also be able to purchase credits and subscriptions from their Uptivo app.\",\r\n\t\t\t\tit: \"Puoi assegnare crediti e abbonamenti ai tuoi clienti nella sezione Gestione Utenti. Se abiliti i pagamenti, i tuoi clienti potranno inoltre acquistare crediti e abbonamenti dallโ€™app Uptivo.\",\r\n\t\t\t\tes: \"Puede asignar crรฉditos y suscripciones a sus clientes en la secciรณn Administrar Usuarios. Si habilita los pagos, sus clientes tambiรฉn podrรกn comprar crรฉditos y suscripciones desde la aplicaciรณn Uptivo.\",\r\n\t\t\t\tfr: \"Vous pouvez attribuer des crรฉdits et des abonnements ร  vos clients dans la section Gรฉrer les Utilisateurs. Si vous activez les paiements, vos clients pourront รฉgalement acheter des crรฉdits et des abonnements ร  partir de l'application Uptivo.\",\r\n\t\t\t},\r\n\t\t\t\"enable-club-packages-warning\": {\r\n\t\t\t\ten: \"Enable online payments in your club settings to be able to add credit packages.\",\r\n\t\t\t\tit: \"Abilita i pagamenti online nelle impostazioni del club per poter aggiungere i pacchetti di crediti.\",\r\n\t\t\t\tes: \"Habilite los pagos en lรญnea en la configuraciรณn de su club para poder agregar paquetes de crรฉdito.\",\r\n\t\t\t\tfr: \"Veuillez activer les paiements en ligne dans les paramรจtres de votre club pour pouvoir ajouter des packs de crรฉdits.\",\r\n\t\t\t},\r\n\t\t\t\"max-weekly-bookings\": {\r\n\t\t\t\ten: \"Weekly Bookings\",\r\n\t\t\t\tit: \"Prenotazioni Settimanali\",\r\n\t\t\t\tes: \"Reservas Semanales\",\r\n\t\t\t\tfr: \"Rรฉservations Hebdomadaires\",\r\n\t\t\t},\r\n\t\t\t\"max-monthly-bookings\": {\r\n\t\t\t\ten: \"Monthly Bookings\",\r\n\t\t\t\tit: \"Prenotazioni Mensili\",\r\n\t\t\t\tes: \"Reservas Mensuales\",\r\n\t\t\t\tfr: \"Rรฉservations Mensuelles\",\r\n\t\t\t},\r\n\t\t\t\"subscription-succesfully-removed\": {\r\n\t\t\t\ten: \"Subscription successfully removed\",\r\n\t\t\t\tit: \"Abbonamento rimosso con successo\",\r\n\t\t\t\tes: \"Suscripciรณn eliminada correctamente\",\r\n\t\t\t\tfr: \"Abonnement supprimรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"subscription-succesfully-suspended\": {\r\n\t\t\t\ten: \"Subscription successfully suspended\",\r\n\t\t\t\tit: \"Abbonamento sospeso con successo\",\r\n\t\t\t\tes: \"Suscripciรณn suspendida con รฉxito\",\r\n\t\t\t\tfr: \"Abonnement suspendu avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"subscription-succesfully-reactivate\": {\r\n\t\t\t\ten: \"Subscription successfully reactivated\",\r\n\t\t\t\tit: \"Abbonamento riattivato con successo\",\r\n\t\t\t\tes: \"Suscripciรณn reactivada con รฉxito\",\r\n\t\t\t\tfr: \"Abonnement rรฉactivรฉ avec succรจs\",\r\n\t\t\t},\r\n\t\t\t\"subscription-succesfully-add\": {\r\n\t\t\t\ten: \"Subscription assigned correctly\",\r\n\t\t\t\tit: \"Abbonamento assegnato correttamente\",\r\n\t\t\t\tes: \"Suscripciรณn asignada correctamente\",\r\n\t\t\t\tfr: \"Abonnement attribuรฉ correctement\",\r\n\t\t\t},\r\n\t\t\t\"confirm-hide-subscription\": {\r\n\t\t\t\ten: \"You are about to hide this subscription. It will no longer appear among the purchasable ones.\",\r\n\t\t\t\tit: \"Stai per nascondere questo abbonamento. Non comparirร  piรน tra quelli acquistabili.\",\r\n\t\t\t\tes: \"Estรกs a punto de ocultar esta suscripciรณn. Ya no aparecerรก entre los que se pueden comprar.\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de masquer cet abonnement. Il n'apparaรฎtra plus parmi les achetables.\",\r\n\t\t\t},\r\n\t\t\t\"confirm-show-subscription\": {\r\n\t\t\t\ten: \"You are about to make this subscription visible. It will then be available for purchase.\",\r\n\t\t\t\tit: \"Stai per rendere visibile questo abbonamento. Sarร  quindi disponibile all'acquisto.\",\r\n\t\t\t\tes: \"Estรก a punto de hacer visible esta suscripciรณn. Entonces estarรก disponible para su compra.\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de rendre cet abonnement visible. Il sera alors disponible ร  l'achat.\",\r\n\t\t\t},\r\n\t\t\t\"confirm-enable-auto-assign\": {\r\n\t\t\t\ten: \"You are about to enable this subscription. It will be assigned to all new members.\",\r\n\t\t\t\tit: \"Stai per abilitare questo abbonamento. Sarร  assegnato automaticamente ai nuovi membri.\",\r\n\t\t\t\tes: \" Estรกs a punto de habilitar esta suscripciรณn. Serรก asignada a todos los nuevos miembros.\",\r\n\t\t\t\tfr: \" Vous รชtes sur le point d'activer cet abonnement. Il sera attribuรฉ ร  tous les nouveaux membres.\",\r\n\t\t\t},\r\n\t\t\t\"confirm-disable-auto-assign\": {\r\n\t\t\t\ten: \"You are about to disable this subscription.\",\r\n\t\t\t\tit: \"Stai per disabilitare questo abbonamento.\",\r\n\t\t\t\tes: \"Estรกs a punto de desactivar esta suscripciรณn.\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de dรฉsactiver cet abonnement.\",\r\n\t\t\t},\r\n\t\t\t\"credits-packages\": {\r\n\t\t\t\ten: \"Credits Packages\",\r\n\t\t\t\tit: \"Pacchetti Di Crediti\",\r\n\t\t\t\tes: \"Paquetes De Crรฉditos\",\r\n\t\t\t\tfr: \"Forfaits De Crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"add-credit-package\": {\r\n\t\t\t\ten: \"Add Credit Package\",\r\n\t\t\t\tit: \"Aggiungi Pacchetto Crediti\",\r\n\t\t\t\tes: \"Agregar Paquete De Crรฉdito\",\r\n\t\t\t\tfr: \"Ajouter Un Forfait De Crรฉdit\",\r\n\t\t\t},\r\n\t\t\t\"add-credits-packages\": {\r\n\t\t\t\ten: \"Add Credits Packages\",\r\n\t\t\t\tit: \"Aggiungi Pacchetti Di Crediti\",\r\n\t\t\t\tes: \"Agregar paquetes de crรฉditos\",\r\n\t\t\t\tfr: \"Ajouter Des Forfaits De Crรฉdits\",\r\n\t\t\t},\r\n\t\t\t\"cancellation-requested\": {\r\n\t\t\t\ten: \"Cancellation requested\",\r\n\t\t\t\tit: \"Cancellazione richiesta\",\r\n\t\t\t\tes: \"Cancelaciรณn solicitada\",\r\n\t\t\t\tfr: \"Annulation demandรฉe\",\r\n\t\t\t},\r\n\t\t\tcustomer: {\r\n\t\t\t\ten: \"Customer\",\r\n\t\t\t\tit: \"Cliente\",\r\n\t\t\t\tes: \"Cliente\",\r\n\t\t\t\tfr: \"Client\",\r\n\t\t\t},\r\n\t\t\tWaitingInitialPayment: {\r\n\t\t\t\ten: \"Waiting for first payment\",\r\n\t\t\t\tit: \"In attesa del primo pagamento\",\r\n\t\t\t\tes: \"Esperando el primer pago\",\r\n\t\t\t\tfr: \"En attente du premier paiement\",\r\n\t\t\t},\r\n\t\t\tInitialPaymentFailed: {\r\n\t\t\t\ten: \"First payment failed\",\r\n\t\t\t\tit: \"Primo pagamento fallito\",\r\n\t\t\t\tes: \"Primer pago fallido\",\r\n\t\t\t\tfr: \"ร‰chec du premier paiement\",\r\n\t\t\t},\r\n\t\t\tRetryingPayment: {\r\n\t\t\t\ten: \"New payment attempt\",\r\n\t\t\t\tit: \"Nuovo tentativo di pagamento\",\r\n\t\t\t\tes: \"Nuevo intento de pago\",\r\n\t\t\t\tfr: \"Nouvelle tentative de paiement\",\r\n\t\t\t},\r\n\t\t\tPaymentFailed: {\r\n\t\t\t\ten: \"Payment failed\",\r\n\t\t\t\tit: \"Pagamento fallito\",\r\n\t\t\t\tes: \"Pago fallido\",\r\n\t\t\t\tfr: \"Paiement รฉchouรฉ\",\r\n\t\t\t},\r\n\t\t\tCanceledImmediately: {\r\n\t\t\t\ten: \"Instant cancellation\",\r\n\t\t\t\tit: \"Cancellazione istantanea\",\r\n\t\t\t\tes: \"Cancelaciรณn instantรกnea\",\r\n\t\t\t\tfr: \"Annulation instantanรฉe\",\r\n\t\t\t},\r\n\t\t\tCanceledAtPeriodEnd: {\r\n\t\t\t\ten: \"Cancellation at end of installment\",\r\n\t\t\t\tit: \"Cancellazione a fine rata\",\r\n\t\t\t\tes: \"Cancelaciรณn al final de la cuota\",\r\n\t\t\t\tfr: \"Annulation ร  la fin du versement\",\r\n\t\t\t},\r\n\t\t\tPaymentPeriodTerminated: {\r\n\t\t\t\ten: \"Payment period ended\",\r\n\t\t\t\tit: \"Periodo di pagamento terminato\",\r\n\t\t\t\tes: \"Perรญodo de pago terminado\",\r\n\t\t\t\tfr: \"Pรฉriode de paiement terminรฉe\",\r\n\t\t\t},\r\n\t\t\tdraft: {\r\n\t\t\t\ten: \"Draft\",\r\n\t\t\t\tit: \"Bozza\",\r\n\t\t\t\tes: \"Borrador\",\r\n\t\t\t\tfr: \"Brouillon\",\r\n\t\t\t},\r\n\t\t\topen: {\r\n\t\t\t\ten: \"Open\",\r\n\t\t\t\tit: \"Aperta\",\r\n\t\t\t\tes: \"Abierta\",\r\n\t\t\t\tfr: \"Ouvertes\",\r\n\t\t\t},\r\n\t\t\tvoid: {\r\n\t\t\t\ten: \"Void\",\r\n\t\t\t\tit: \"Non valida\",\r\n\t\t\t\tes: \"Nula\",\r\n\t\t\t\tfr: \"Nulle\",\r\n\t\t\t},\r\n\t\t\tpaid: {\r\n\t\t\t\ten: \"Paid\",\r\n\t\t\t\tit: \"Pagato\",\r\n\t\t\t\tes: \"Pagada\",\r\n\t\t\t\tfr: \"Payรฉe\",\r\n\t\t\t},\r\n\t\t\tuncollectible: {\r\n\t\t\t\ten: \"Uncollectible\",\r\n\t\t\t\tit: \"Inesigibile\",\r\n\t\t\t\tes: \"Incobrable\",\r\n\t\t\t\tfr: \"Non recouvrable\",\r\n\t\t\t},\r\n\t\t\tunpaid: {\r\n\t\t\t\ten: \"Unpaid\",\r\n\t\t\t\tit: \"Non Pagato\",\r\n\t\t\t\tes: \"No Pagado\",\r\n\t\t\t\tfr: \"Non payรฉ\",\r\n\t\t\t},\r\n\t\t\tprice: {\r\n\t\t\t\ten: \"Price\",\r\n\t\t\t\tit: \"Prezzo\",\r\n\t\t\t\tes: \"Precio\",\r\n\t\t\t\tfr: \"Prix\",\r\n\t\t\t},\r\n\t\t\tcurrency: {\r\n\t\t\t\ten: \"Currency\",\r\n\t\t\t\tit: \"Valuta\",\r\n\t\t\t\tes: \"Moneda\",\r\n\t\t\t\tfr: \"Devise\",\r\n\t\t\t},\r\n\t\t\tplans: {\r\n\t\t\t\ten: \"Plans\",\r\n\t\t\t\tit: \"Piani\",\r\n\t\t\t\tes: \"Planes\",\r\n\t\t\t\tfr: \"Plans\",\r\n\t\t\t},\r\n\t\t\t\"confirm-delete-credits-package\": {\r\n\t\t\t\ten: \"Are you sure you want to delete this credits package?\",\r\n\t\t\t\tit: \"Sei sicuro di voler eliminare questo pacchetto di crediti?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea eliminar el paquete de crรฉditos?\",\r\n\t\t\t\tfr: \"รŠtes-vous sรปr de vouloir supprimer le package de crรฉdits?\",\r\n\t\t\t},\r\n\t\t\t\"confirm-remove-payment-account\": {\r\n\t\t\t\ten: \"Are you sure you want to remove this payment account?\",\r\n\t\t\t\tit: \"Sei sicuro di voler rimuovere questo account di pagamento?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea eliminar esta cuenta de pago?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment supprimer ce compte de paiement?\",\r\n\t\t\t},\r\n\t\t\t\"confirm-disable-ranking\": {\r\n\t\t\t\ten: \"Confirm disable Ranking\",\r\n\t\t\t\tit: \"Conferma disabilitazione classifica\",\r\n\t\t\t\tes: \"Confirmar desactivaciรณn del ranking\",\r\n\t\t\t\tfr: \"Confirmer la dรฉsactivation du classement\"\r\n\t\t\t},\r\n\t\t\t\"confirm-disable-kiosk\": {\r\n\t\t\t\ten: \"Are you sure you want to disable this Kiosk?\",\r\n\t\t\t\tit: \"Sei sicuro di voler disabilitare questo chiosco?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres desactivar este quiosco?\",\r\n\t\t\t\tfr: \"รŠtes-vous sรปr de vouloir dรฉsactiver ce kiosque?\"\r\n\t\t\t},\r\n\t\t\t\"confirm-disable-kiosk-alert\": {\r\n\t\t\t\ten: \"Disabling the kiosk will render the associated link unusable, and the kiosks will stop functioning.\",\r\n\t\t\t\tit: \"Disattivare il chiosco renderร  inutilizzabile il link associato e i chioschi smetteranno di funzionare.\",\r\n\t\t\t\tes: \"Desactivar el quiosco harรก que el enlace asociado sea inutilizable y los quioscos dejarรกn de funcionar.\",\r\n\t\t\t\tfr: \"Dรฉsactiver le kiosque rendra le lien associรฉ inutilisable, et les kiosques cesseront de fonctionner.\"\r\n\t\t\t},\r\n\t\t\t\"confirm-remove-paypal\": {\r\n\t\t\t\ten: \"Disconnecting your PayPal account will prevent you from offering PayPal services and products on your website. Do you wish to continue?\",\r\n\t\t\t\tit: \"La disconnessione del tuo conto PayPal ti impedirร  di offrire servizi e prodotti PayPal sul tuo sito web. Vuoi continuare?\",\r\n\t\t\t\tes: \"Desconectar su cuenta de PayPal le impedirรก ofrecer servicios y productos de PayPal en su sitio web. ยฟDesea continuar?\",\r\n\t\t\t\tfr: \"La dรฉconnexion de votre compte PayPal vous empรชchera de proposer des services et des produits PayPal sur votre site Web. Souhaitez-vous continuer?\",\r\n\t\t\t},\r\n\t\t\t\"credits-required\": {\r\n\t\t\t\ten: \"Credits required\",\r\n\t\t\t\tit: \"Crediti obbligatori\",\r\n\t\t\t\tes: \"Crรฉditos requeridos\",\r\n\t\t\t\tfr: \"Crรฉdits requis\",\r\n\t\t\t},\r\n\t\t\t\"price-required\": {\r\n\t\t\t\ten: \"Price is required\",\r\n\t\t\t\tit: \"Il prezzo รจ obbligatorio\",\r\n\t\t\t\tes: \"El precio es requerido\",\r\n\t\t\t\tfr: \"Le prix est obligatoire\",\r\n\t\t\t},\r\n\t\t\t\"add-new-subscription\": {\r\n\t\t\t\ten: \"Add New Subscription\",\r\n\t\t\t\tit: \"Aggiungi Nuovo Abbonamento\",\r\n\t\t\t\tes: \"Agregar Nueva Suscripciรณn\",\r\n\t\t\t\tfr: \"Ajouter Un Nouvel Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"unable-delete-subscription-because-assigned\": {\r\n\t\t\t\ten: \"Unable to delete subscription because assigned. {0} Suspended, {1} Assigned\",\r\n\t\t\t\tit: \"Impossibile eliminare l'abbonamento perchรฉ assegnato. {0} Sospesi, {1} Assegnati\",\r\n\t\t\t\tes: \"No se puede eliminar la suscripciรณn porque estรก asignada. {0} Suspendido, {1} Asignado\",\r\n\t\t\t\tfr: \"Impossible de supprimer l'abonnement car attribuรฉ. {0} Suspendu, {1} Attribuรฉ\",\r\n\t\t\t},\r\n\t\t\t\"confirm-delete-club-subscription\": {\r\n\t\t\t\ten: \"This subscription is not assigned to any user. Do you confirm that you want to delete it?\",\r\n\t\t\t\tit: \"Questo abbonamento non รจ assegnato a nessun utente. Confermi di volerlo cancellare?\",\r\n\t\t\t\tes: \"Esta suscripciรณn no estรก asignada a ningรบn usuario. ยฟConfirmas que quieres eliminarlo?\",\r\n\t\t\t\tfr: \"Cet abonnement n'est attribuรฉ ร  aucun utilisateur. Confirmez-vous que vous souhaitez le supprimer?\",\r\n\t\t\t},\r\n\t\t\t\"define-subscription-plans\": {\r\n\t\t\t\ten: \"Define subscription plans\",\r\n\t\t\t\tit: \"Definisci piani abbonamento\",\r\n\t\t\t\tes: \"Definir planes de suscripciรณn\",\r\n\t\t\t\tfr: \"Dรฉfinir des plans d'abonnement\",\r\n\t\t\t},\r\n\t\t\t\"duration-days\": {\r\n\t\t\t\ten: \"Duration (days)\",\r\n\t\t\t\tit: \"Durata (giorni)\",\r\n\t\t\t\tes: \"Duraciรณn (dรญas)\",\r\n\t\t\t\tfr: \"Durรฉe (jours)\",\r\n\t\t\t},\r\n\t\t\t\"max-activities\": {\r\n\t\t\t\ten: \"Max Activities\",\r\n\t\t\t\tit: \"Max Attivitร \",\r\n\t\t\t\tes: \"Mรกx Actividades\",\r\n\t\t\t\tfr: \"Max Activitรฉs\",\r\n\t\t\t},\r\n\t\t\tnotes: {\r\n\t\t\t\ten: \"Notes\",\r\n\t\t\t\tit: \"Note\",\r\n\t\t\t\tes: \"Notas\",\r\n\t\t\t\tfr: \"Remarques\",\r\n\t\t\t},\r\n\t\t\t\"subscription-management\": {\r\n\t\t\t\ten: \"Subscription Management\",\r\n\t\t\t\tit: \"Gestione Abbonamenti\",\r\n\t\t\t\tes: \"Gestiรณn De Suscripciones\",\r\n\t\t\t\tfr: \"Gestion Des Abonnements\",\r\n\t\t\t},\r\n\t\t\t\"credits-management\": {\r\n\t\t\t\ten: \"Credits Management\",\r\n\t\t\t\tit: \"Gestione Crediti\",\r\n\t\t\t\tes: \"Gestiรณn De Crรฉditos\",\r\n\t\t\t\tfr: \"Gestion Des Crรฉdits\",\r\n\t\t\t},\r\n\t\t\tsubscription: {\r\n\t\t\t\ten: \"Subscription\",\r\n\t\t\t\tit: \"Abbonamento\",\r\n\t\t\t\tes: \"Suscripciรณn\",\r\n\t\t\t\tfr: \"Abonnement\",\r\n\t\t\t},\r\n\t\t\t\"subscription-name\": {\r\n\t\t\t\ten: \"Subscription Name\",\r\n\t\t\t\tit: \"Nome Abbonamento\",\r\n\t\t\t\tes: \"Nombre De Suscripciรณn\",\r\n\t\t\t\tfr: \"Nom De L'Abonnement\",\r\n\t\t\t},\r\n\t\t\tlimits: {\r\n\t\t\t\ten: \"Limits\",\r\n\t\t\t\tit: \"Limitazioni\",\r\n\t\t\t\tes: \"Limitaciones\",\r\n\t\t\t\tfr: \"Limites\",\r\n\t\t\t},\r\n\t\t\t\"past-operations\": {\r\n\t\t\t\ten: \"Past Operations\",\r\n\t\t\t\tit: \"Storico Operazioni\",\r\n\t\t\t\tes: \"Operaciones Pasadas\",\r\n\t\t\t\tfr: \"Opรฉrations Passรฉes\",\r\n\t\t\t},\r\n\t\t\t\"remove-athlete-subscription\": {\r\n\t\t\t\ten: \"You are about to remove the subscription\",\r\n\t\t\t\tit: \"Stai per rimuovere l'abbonamento\",\r\n\t\t\t\tes: \"Estรกs a punto de darte de baja\",\r\n\t\t\t\tfr: \"Vous รชtes sur le point de vous dรฉsinscrire\",\r\n\t\t\t},\r\n\t\t\t\"subscription-update\": {\r\n\t\t\t\ten: \"Subscription Update\",\r\n\t\t\t\tit: \"Abbonamento aggiornato\",\r\n\t\t\t\tes: \"Suscripciรณn actualizada\",\r\n\t\t\t\tfr: \"Abonnement mis ร  jour\",\r\n\t\t\t},\r\n\t\t\t\"set-reactivation-date\": {\r\n\t\t\t\ten: \"Set Reactivation Date\",\r\n\t\t\t\tit: \"Imposta la data di riattivazione\",\r\n\t\t\t\tes: \"Establecer fecha de reactivaciรณn\",\r\n\t\t\t\tfr: \"Dรฉfinir la date de rรฉactivation\",\r\n\t\t\t},\r\n\t\t\t\"reactivation-date\": {\r\n\t\t\t\ten: \"Reactivation Date\",\r\n\t\t\t\tit: \"Data Di Riattivazione\",\r\n\t\t\t\tes: \"Fecha De Reactivaciรณn\",\r\n\t\t\t\tfr: \"Date De Rรฉactivation\",\r\n\t\t\t},\r\n\t\t\t\"suspended-date\": {\r\n\t\t\t\ten: \"Suspended Date\",\r\n\t\t\t\tit: \"Data Sospensione\",\r\n\t\t\t\tes: \"Fecha De Suspensiรณn\",\r\n\t\t\t\tfr: \"Date De Suspension\",\r\n\t\t\t},\r\n\t\t\t\"suspend-subscription-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to suspend this subscription?\",\r\n\t\t\t\tit: \"Sei sicuro di voler sospendere questo abbonamento?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea suspender esta suscripciรณn?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment suspendre cet abonnement?\",\r\n\t\t\t},\r\n\t\t\t\"reactivate-subscription-confirm\": {\r\n\t\t\t\ten: \"Are you sure you want to reactivate this subscription?\",\r\n\t\t\t\tit: \"Sei sicuro di voler riattivare questo abbonamento?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea reactivar esta suscripciรณn?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment rรฉactiver cet abonnement?\",\r\n\t\t\t},\r\n\t\t\tdays: {\r\n\t\t\t\ten: \"Days\",\r\n\t\t\t\tit: \"Giorni\",\r\n\t\t\t\tes: \"Dรญas\",\r\n\t\t\t\tfr: \"Jours\",\r\n\t\t\t},\r\n\t\t\tactive: {\r\n\t\t\t\ten: \"Active\",\r\n\t\t\t\tit: \"Attivo\",\r\n\t\t\t\tes: \"Activo\",\r\n\t\t\t\tfr: \"Actif\",\r\n\t\t\t},\r\n\t\t\t\"non-renewed\": {\r\n\t\t\t\ten: \"Non-renewed\",\r\n\t\t\t\tit: \"Non rinnovato\",\r\n\t\t\t\tes: \"No renovado\",\r\n\t\t\t\tfr: \"Non renouvelรฉ\",\r\n\t\t\t},\r\n\t\t\t\"expired-date\": {\r\n\t\t\t\ten: \"Expired Date\",\r\n\t\t\t\tit: \"Scaduto Il\",\r\n\t\t\t\tes: \"Fecha De Vencimiento\",\r\n\t\t\t\tfr: \"Date d'Expiration\",\r\n\t\t\t},\r\n\t\t\t\"select-plan\": {\r\n\t\t\t\ten: \"Select Plan\",\r\n\t\t\t\tit: \"Seleziona Piano\",\r\n\t\t\t\tes: \"Seleccionar plan\",\r\n\t\t\t\tfr: \"Sรฉlectionnez Plan\",\r\n\t\t\t},\r\n\t\t\tpurchasable: {\r\n\t\t\t\ten: \"Purchasable\",\r\n\t\t\t\tit: \"Acquistabile\",\r\n\t\t\t\tes: \"Adquirir\",\r\n\t\t\t\tfr: \"Achetable\",\r\n\t\t\t},\r\n\t\t\t\"not-purchasable\": {\r\n\t\t\t\ten: \"Not Purchasable\",\r\n\t\t\t\tit: \"Non Acquistabile\",\r\n\t\t\t\tes: \"No Adquirir\",\r\n\t\t\t\tfr: \"Non Achetable\",\r\n\t\t\t},\r\n\t\t\t\"cannot-suspend-expired-subscription\": {\r\n\t\t\t\ten: \"Cannot suspend expired subscription\",\r\n\t\t\t\tit: \"Impossibile sospendere, abbonamento scaduto\",\r\n\t\t\t\tes: \"No se puede suspender la suscripciรณn caducada\",\r\n\t\t\t\tfr: \"Impossible de suspendre l'abonnement expirรฉ\",\r\n\t\t\t},\r\n\t\t\t\"cannot-suspend-subscription-for-less-7-days\": {\r\n\t\t\t\ten: \"Subscriptions can't be suspended for less than 7 days\",\r\n\t\t\t\tit: \"Gli abbonamenti non possono essere sospesi per meno di 7 giorni\",\r\n\t\t\t\tes: \"Las suscripciones no se pueden suspender por menos de 7 dรญas\",\r\n\t\t\t\tfr: \"Les abonnements ne peuvent pas รชtre suspendus pendant moins de 7 jours\",\r\n\t\t\t},\r\n\t\t\t\"cannot-suspend-subscription-has-bookings\": {\r\n\t\t\t\ten: \"Unable to suspend this subscription because there are associated bookings\",\r\n\t\t\t\tit: \"Impossibile sospendere l'abbonamento perchรฉ sono presenti prenotazioni associate\",\r\n\t\t\t\tes: \"No se puede suspender esta suscripciรณn porque hay reservas asociadas\",\r\n\t\t\t\tfr: \"Impossible de suspendre cet abonnement car des rรฉservations sont associรฉes\",\r\n\t\t\t},\r\n\t\t\t\"cannot-remove-subscription-has-bookings\": {\r\n\t\t\t\ten: \"Unable to remove this subscription because there are associated bookings\",\r\n\t\t\t\tit: \"Impossibile rimuovere l'abbonamento perchรฉ sono presenti prenotazioni associate\",\r\n\t\t\t\tes: \"La suscripciรณn no se puede eliminar porque hay reservas asociadas\",\r\n\t\t\t\tfr: \"L'abonnement ne peut pas รชtre supprimรฉ car il y a des rรฉservations associรฉes\",\r\n\t\t\t},\r\n\t\t\t\"subscription-end-must-be-greater-start\": {\r\n\t\t\t\ten: \"The subscription end date must be greater than the start date.\",\r\n\t\t\t\tit: \"La data di fine dell'abbonamento deve essere superiore alla data di inizio.\",\r\n\t\t\t\tes: \"La fecha de finalizaciรณn de la suscripciรณn debe ser mayor que la fecha de inicio.\",\r\n\t\t\t\tfr: \"La date de fin de l'abonnement doit รชtre postรฉrieure ร  la date de dรฉbut.\",\r\n\t\t\t},\r\n\t\t\t\"reactivation-date-must-be-in-future\": {\r\n\t\t\t\ten: \"Reactivation date must be in the future\",\r\n\t\t\t\tit: \"La data di riattivazione deve essere una data futura\",\r\n\t\t\t\tes: \"La fecha de reactivaciรณn debe ser futura\",\r\n\t\t\t\tfr: \"La date de rรฉactivation doit รชtre dans le futur\",\r\n\t\t\t},\r\n\t\t\t\"not-purchasable\": {\r\n\t\t\t\ten: \"Not purchasable\",\r\n\t\t\t\tit: \"Non acquistabile\",\r\n\t\t\t\tes: \"No adquirible\",\r\n\t\t\t\tfr: \"Non achetable\",\r\n\t\t\t},\r\n\t\t\t\"without-subscriptions\": {\r\n\t\t\t\ten: \"Without Subscriptions\",\r\n\t\t\t\tit: \"Senza Abbonamenti\",\r\n\t\t\t\tes: \"Sin Suscripciones\",\r\n\t\t\t\tfr: \"Sans Abonnement\",\r\n\t\t\t},\r\n\t\t\ttrial: {\r\n\t\t\t\ten: \"Trial Sessions\",\r\n\t\t\t\tit: \"Sessioni Di Prova\",\r\n\t\t\t\tes: \"Sesiones De Prueba\",\r\n\t\t\t\tfr: \"Sรฉances D'Essai\",\r\n\t\t\t},\r\n\t\t\t\"subscription-type\": {\r\n\t\t\t\ten: \"Subscription Type\",\r\n\t\t\t\tit: \"Tipo Abbonamento\",\r\n\t\t\t\tes: \"Tipo De Suscripciรณn\",\r\n\t\t\t\tfr: \"Type D'Abonnement\",\r\n\t\t\t},\r\n\t\t\tmodel: {\r\n\t\t\t\ten: \"Model\",\r\n\t\t\t\tit: \"Modello\",\r\n\t\t\t\tes: \"Modelo\",\r\n\t\t\t\tfr: \"Maquette\",\r\n\t\t\t},\r\n\t\t\tmode: {\r\n\t\t\t\ten: \"Mode\",\r\n\t\t\t\tit: \"Modalitร \",\r\n\t\t\t\tes: \"Modo\",\r\n\t\t\t\tfr: \"Mode\",\r\n\t\t\t},\r\n\t\t\t\"from-table\": {\r\n\t\t\t\ten: \"From\",\r\n\t\t\t\tit: \"Da\",\r\n\t\t\t\tes: \"Desde\",\r\n\t\t\t\tfr: \"De\",\r\n\t\t\t},\r\n\t\t\t\"to-table\": {\r\n\t\t\t\ten: \"To\",\r\n\t\t\t\tit: \"A\",\r\n\t\t\t\tes: \"A\",\r\n\t\t\t\tfr: \"ร€\",\r\n\t\t\t},\r\n\t\t\tunsubscribe: {\r\n\t\t\t\ten: \"Unsubscribe\",\r\n\t\t\t\tit: \"Disiscriviti\",\r\n\t\t\t\tes: \"Cancelar suscripciรณn\",\r\n\t\t\t\tfr: \"Se dรฉsabonner\",\r\n\t\t\t},\r\n\t\t\t\"cancel-unsubscribe\": {\r\n\t\t\t\ten: \"Cancel unsubscribe\",\r\n\t\t\t\tit: \"Annulla disiscrizione\",\r\n\t\t\t\tes: \"Cancelar cancelar suscripciรณn\",\r\n\t\t\t\tfr: \"Annuler se dรฉsabonner\",\r\n\t\t\t},\r\n\t\t\t\"unsubscribe-immediately\": {\r\n\t\t\t\ten: \"Unsubscribe immediately\",\r\n\t\t\t\tit: \"Disiscriversi immediatamente\",\r\n\t\t\t\tes: \"Cancelar suscripciรณn inmediatamente\",\r\n\t\t\t\tfr: \"Se dรฉsabonner immรฉdiatement\",\r\n\t\t\t},\r\n\t\t\t\"unsubscribe-at-end\": {\r\n\t\t\t\ten: \"Unsubscribe at end\",\r\n\t\t\t\tit: \"Disiscriversi alla fine\",\r\n\t\t\t\tes: \"Cancelar suscripciรณn al final\",\r\n\t\t\t\tfr: \"Se dรฉsabonner ร  la fin\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tClassParticipantSubscriptionsView: {\r\n\t\t\tmode: {\r\n\t\t\t\ten: \"Mode\",\r\n\t\t\t\tit: \"Modalitร \",\r\n\t\t\t\tes: \"Modo\",\r\n\t\t\t\tfr: \"Mode\",\r\n\t\t\t},\r\n\t\t\tparticipant: {\r\n\t\t\t\ten: \"Participant\",\r\n\t\t\t\tit: \"Partecipante\",\r\n\t\t\t\tes: \"Partรญcipe\",\r\n\t\t\t\tfr: \"Participant\",\r\n\t\t\t},\r\n\t\t\t\"in-queue\": {\r\n\t\t\t\ten: \"In Queue\",\r\n\t\t\t\tit: \"In Coda\",\r\n\t\t\t\tes: \"En Fila\",\r\n\t\t\t\tfr: \"Dans La Queue\",\r\n\t\t\t},\r\n\t\t\t\"participation-status\": {\r\n\t\t\t\ten: \"Participation Status\",\r\n\t\t\t\tit: \"Stato Partecipazione\",\r\n\t\t\t\tes: \"Estado De Participaciรณn\",\r\n\t\t\t\tfr: \"Statut De Participation\",\r\n\t\t\t},\r\n\t\t\tpt: {\r\n\t\t\t\ten: \"PT\",\r\n\t\t\t\tit: \"PT\",\r\n\t\t\t\tes: \"PT\",\r\n\t\t\t\tfr: \"PT\",\r\n\t\t\t},\r\n\t\t\t\"view-lesson\": {\r\n\t\t\t\ten: \"View lesson\",\r\n\t\t\t\tit: \"Vedi lezione\",\r\n\t\t\t\tes: \"Ver lecciรณn\",\r\n\t\t\t\tfr: \"Voir leรงon\",\r\n\t\t\t},\r\n\t\t\t\"view-all-participants\": {\r\n\t\t\t\ten: \"View all participants\",\r\n\t\t\t\tit: \"Visualizza tutti i partecipanti\",\r\n\t\t\t\tes: \"Ver todos los participantes\",\r\n\t\t\t\tfr: \"Voir tous les participants\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tVideoCollectionsView: {\r\n\t\t\t\"insert-valid-youtube-link\": {\r\n\t\t\t\ten: \"insert valid YouTube link\",\r\n\t\t\t\tit: \"inserisci un link YouTube valido\",\r\n\t\t\t\tes: \"inserte un enlace de YouTube vรกlido\",\r\n\t\t\t\tfr: \"insรฉrer un lien YouTube valide\",\r\n\t\t\t},\r\n\t\t\t\"insert-valid-vimeo-link\": {\r\n\t\t\t\ten: \"insert valid Vimeo link\",\r\n\t\t\t\tit: \"inserisci un link Vimeo valido\",\r\n\t\t\t\tes: \"inserte un enlace de Vimeo vรกlido\",\r\n\t\t\t\tfr: \"insรฉrer un lien Vimeo valide\",\r\n\t\t\t},\r\n\t\t\t\"video-not-found\": {\r\n\t\t\t\ten: \"Video not found\",\r\n\t\t\t\tit: \"Video non trovato\",\r\n\t\t\t\tes: \"Video no encontrado\",\r\n\t\t\t\tfr: \"Vidรฉo non trouvรฉe\",\r\n\t\t\t},\r\n\t\t\t\"youtube-link\": {\r\n\t\t\t\ten: \"YouTube Link\",\r\n\t\t\t\tit: \"YouTube Link\",\r\n\t\t\t\tes: \"YouTube Link\",\r\n\t\t\t\tfr: \"YouTube Link\",\r\n\t\t\t},\r\n\t\t\t\"vimeo-link\": {\r\n\t\t\t\ten: \"Vimeo Link\",\r\n\t\t\t\tit: \"Vimeo Link\",\r\n\t\t\t\tes: \"Vimeo Link\",\r\n\t\t\t\tfr: \"Vimeo Link\",\r\n\t\t\t},\r\n\t\t\tvideo: {\r\n\t\t\t\ten: \"Video\",\r\n\t\t\t\tit: \"Video\",\r\n\t\t\t\tes: \"Video\",\r\n\t\t\t\tfr: \"Video\",\r\n\t\t\t},\r\n\t\t\t\"video-collections\": {\r\n\t\t\t\ten: \"PlayLists\",\r\n\t\t\t\tit: \"PlayLists\",\r\n\t\t\t\tes: \"PlayLists\",\r\n\t\t\t\tfr: \"PlayLists\",\r\n\t\t\t},\r\n\t\t\t\"add-new-collection\": {\r\n\t\t\t\ten: \"Add New PlayList\",\r\n\t\t\t\tit: \"Aggiungi Nuova PlayList\",\r\n\t\t\t\tes: \"Agregar nueva PlayList\",\r\n\t\t\t\tfr: \"Ajouter une nouvelle PlayList\",\r\n\t\t\t},\r\n\t\t\t\"edit-collection\": {\r\n\t\t\t\ten: \"Edit PlayList\",\r\n\t\t\t\tit: \"Modifica PlayList\",\r\n\t\t\t\tes: \"Editar PlayList\",\r\n\t\t\t\tfr: \"Modifier PlayList\",\r\n\t\t\t},\r\n\t\t\t\"add-new-video\": {\r\n\t\t\t\ten: \"Add New Video\",\r\n\t\t\t\tit: \"Aggiungi Nuovo Video\",\r\n\t\t\t\tes: \"Agregar Nuevo Vรญdeo\",\r\n\t\t\t\tfr: \"Ajouter Nouvelle Vidรฉo\",\r\n\t\t\t},\r\n\t\t\t\"import-video\": {\r\n\t\t\t\ten: \"Import Video\",\r\n\t\t\t\tit: \"Importa Video\",\r\n\t\t\t\tes: \"Importar Vรญdeo\",\r\n\t\t\t\tfr: \"Importer Vidรฉo\",\r\n\t\t\t},\r\n\t\t\t\"import-video\": {\r\n\t\t\t\ten: \"Import Video\",\r\n\t\t\t\tit: \"Importa Video\",\r\n\t\t\t\tes: \"Importar Vรญdeo\",\r\n\t\t\t\tfr: \"Importer Vidรฉo\",\r\n\t\t\t},\r\n\t\t\t\"create-video\": {\r\n\t\t\t\ten: \"Create Video\",\r\n\t\t\t\tit: \"Crea Video\",\r\n\t\t\t\tes: \"Crear Vรญdeo\",\r\n\t\t\t\tfr: \"Crรฉer Vidรฉo\",\r\n\t\t\t},\r\n\t\t\t\"edit-video\": {\r\n\t\t\t\ten: \"Edit Video\",\r\n\t\t\t\tit: \"Modifica Video\",\r\n\t\t\t\tes: \"Editar Vรญdeo\",\r\n\t\t\t\tfr: \"ร‰diter Vidรฉo\",\r\n\t\t\t},\r\n\t\t\t\"confirm-disable\": {\r\n\t\t\t\ten: \"Are you sure you want to disable it?\",\r\n\t\t\t\tit: \"Sei sicuro di volerlo disabilitare?\",\r\n\t\t\t\tes: \"ยฟEstรกs seguro de que quieres desactivarlo?\",\r\n\t\t\t\tfr: \"รŠtes-vous sรปr de vouloir le dรฉsactiver?\",\r\n\t\t\t},\r\n\t\t\t\"confirm-enable\": {\r\n\t\t\t\ten: \"Are you sure you want to enable it?\",\r\n\t\t\t\tit: \"Sei sicuro di volerlo abilitare?\",\r\n\t\t\t\tes: \"ยฟEstรก seguro de que desea habilitarlo?\",\r\n\t\t\t\tfr: \"Voulez-vous vraiment l'activer?\",\r\n\t\t\t},\r\n\t\t\t\"a-video-must-be-in-at-least-one-collection\": {\r\n\t\t\t\ten: \"A video must be in at least one PlayList\",\r\n\t\t\t\tit: \"Un video deve essere in almeno una PlayList\",\r\n\t\t\t\tes: \"Un video debe estar en al menos una PlayList\",\r\n\t\t\t\tfr: \"Une vidรฉo doit รชtre dans au moins une PlayList\",\r\n\t\t\t},\r\n\t\t\t\"this-video-is-present-in-several-collections\": {\r\n\t\t\t\ten: \"This video is present in several PlayLists.\",\r\n\t\t\t\tit: \"Questo video รจ presente in piรน PlayLists.\",\r\n\t\t\t\tes: \"Este video esta presente en varias PlayLists.\",\r\n\t\t\t\tfr: \"Cette vidรฉo est prรฉsente dans plusieurs PlayLists.\",\r\n\t\t\t},\r\n\t\t\t\"on-demand-not-enabled-club\": {\r\n\t\t\t\ten: \"On Demand is not enabled for the selected club.\",\r\n\t\t\t\tit: \"On Demand non รจ attivo nel il club selezionato.\",\r\n\t\t\t\tes: \"On Demand no estรก habilitado para el club seleccionado.\",\r\n\t\t\t\tfr: \"On Demand n'est pas activรฉ pour le club sรฉlectionnรฉ.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tDashBoardView: {\r\n\t\t\t\"show-client-status-boxes\": {\r\n\t\t\t\ten: \"Show Clients Status Boxes\",\r\n\t\t\t\tit: \"Mostra i Box Di Stato Dei Clienti\",\r\n\t\t\t\tes: \"Mostrar Cajas De Estado De Los Clientes\",\r\n\t\t\t\tfr: \"Afficher Les Boรฎtes De Statut Des Clients\",\r\n\t\t\t},\r\n\t\t\t\"show-lists-under-boxes\": {\r\n\t\t\t\ten: \"Show Lists Under Boxes\",\r\n\t\t\t\tit: \"Mostra Elenchi Sotto I Box\",\r\n\t\t\t\tes: \"Mostrar Listas Debajo De Las Cajas\",\r\n\t\t\t\tfr: \"Afficher Les Listes Sous Les Boรฎtes\",\r\n\t\t\t},\r\n\t\t\t\"show-extended-view\": {\r\n\t\t\t\ten: \"Show Extended View\",\r\n\t\t\t\tit: \"Mostra Vista Estesa\",\r\n\t\t\t\tes: \"Mostrar Vista Extendida\",\r\n\t\t\t\tfr: \"Afficher La Vue ร‰tendue\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tDataTables: {\r\n\t\t\t\"dt.decimal\": {\r\n\t\t\t\tit: \",\",\r\n\t\t\t\tes: \",\",\r\n\t\t\t\tfr: \",\",\r\n\t\t\t},\r\n\t\t\t\"dt.emptyTable\": {\r\n\t\t\t\tit: \"Nessun dato presente nella tabella\",\r\n\t\t\t\tes: \"Ningรบn dato disponible en esta tabla\",\r\n\t\t\t\tfr: \"Aucune donnée disponible dans le tableau\",\r\n\t\t\t},\r\n\t\t\t\"dt.info\": {\r\n\t\t\t\tit: \"Vista da _START_ a _END_ di _TOTAL_ elementi\",\r\n\t\t\t\tes: \"Mostrando del _START_ al _END_ de un total de _TOTAL_ registros\",\r\n\t\t\t\tfr: \"Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments\",\r\n\t\t\t},\r\n\t\t\t\"dt.infoEmpty\": {\r\n\t\t\t\tit: \"Vista da 0 a 0 di 0 elementi\",\r\n\t\t\t\tes: \"Mostrando del 0 al 0 de un total de 0 registros\",\r\n\t\t\t\tfr: \"Affichage de l'élément 0 à 0 sur 0 élément\",\r\n\t\t\t},\r\n\t\t\t\"dt.infoFiltered\": {\r\n\t\t\t\ten: \"(filtered from _MAX_ total entries)\",\r\n\t\t\t\tit: \"(filtrati da _MAX_ elementi totali)\",\r\n\t\t\t\tes: \"(filtrado de un total de _MAX_)\",\r\n\t\t\t\tfr: \"(filtré de _MAX_ éléments au total)\",\r\n\t\t\t},\r\n\t\t\t\"dt.thousands\": {\r\n\t\t\t\tit: \".\",\r\n\t\t\t\tes: \".\",\r\n\t\t\t\tfr: \" \",\r\n\t\t\t},\r\n\t\t\t\"dt.lengthMenu\": {\r\n\t\t\t\tit: \"Visualizza _MENU_ elementi\",\r\n\t\t\t\tes: \"Mostrar _MENU_ registros\",\r\n\t\t\t\tfr: \"Afficher _MENU_ éléments\",\r\n\t\t\t},\r\n\t\t\t\"dt.loadingRecords\": {\r\n\t\t\t\tit: \"Caricamentoโ€ฆ\",\r\n\t\t\t\tes: \"Cargandoโ€ฆ\",\r\n\t\t\t\tfr: \"Chargement en coursโ€ฆ\",\r\n\t\t\t},\r\n\t\t\t\"dt.processing\": {\r\n\t\t\t\tit: \"Elaborazioneโ€ฆ\",\r\n\t\t\t\tes: \"Procesandoโ€ฆ\",\r\n\t\t\t\tfr: \"Traitement en coursโ€ฆ\",\r\n\t\t\t},\r\n\t\t\t\"dt.search\": {\r\n\t\t\t\tit: \"Cerca:\",\r\n\t\t\t\tes: \"Buscar:\",\r\n\t\t\t\tfr: \"Rechercher:\",\r\n\t\t\t},\r\n\t\t\t\"dt.zeroRecords\": {\r\n\t\t\t\tit: \"La ricerca non ha portato alcun risultato\",\r\n\t\t\t\tes: \"No se encontraron resultados\",\r\n\t\t\t\tfr: \"Aucun élément à afficher\",\r\n\t\t\t},\r\n\t\t\t\"dt.select.1\": {\r\n\t\t\t\ten: \"1 row selected\",\r\n\t\t\t\tit: \"1 riga selezionata\",\r\n\t\t\t\tes: \"1 fila seleccionada\",\r\n\t\t\t\tfr: \"1 rangรฉe sรฉlectionnรฉe\",\r\n\t\t\t},\r\n\t\t\t\"dt.select.many\": {\r\n\t\t\t\ten: \"%d rows selected\",\r\n\t\t\t\tit: \"%d righe selezionate\",\r\n\t\t\t\tes: \"%d filas seleccionadas\",\r\n\t\t\t\tfr: \"%d lignes sรฉlectionnรฉes\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tSupport: {\r\n\t\t\tvideos: {\r\n\t\t\t\ten: \"Videos\",\r\n\t\t\t\tit: \"Video\",\r\n\t\t\t\tes: \"Vรญdeos\",\r\n\t\t\t\tfr: \"Vidรฉos\",\r\n\t\t\t},\r\n\t\t\tguide: {\r\n\t\t\t\ten: \"Guide\",\r\n\t\t\t\tit: \"Guida\",\r\n\t\t\t\tes: \"Guรญa\",\r\n\t\t\t\tfr: \"Guide\",\r\n\t\t\t},\r\n\t\t\t\"localized-guide-url\": {\r\n\t\t\t\ten: \"https://downloads.uptivo.fit/docs/guides/Uptivo_Guide_EN_1.0.pdf\",\r\n\t\t\t\tit: \"https://downloads.uptivo.fit/docs/guides/Uptivo_Guide_IT_1.0.pdf\",\r\n\t\t\t\tes: \"https://downloads.uptivo.fit/docs/guides/Uptivo_Guide_ES_1.0.pdf\",\r\n\t\t\t\tfr: \"https://downloads.uptivo.fit/docs/guides/Uptivo_Guide_FR_1.0.pdf\",\r\n\t\t\t},\r\n\t\t\t\"activity-calendars-title\": {\r\n\t\t\t\ten: \"Activity Calendars\",\r\n\t\t\t\tit: \"Calendari delle attivitร \",\r\n\t\t\t\tes: \"Calendarios de actividades\",\r\n\t\t\t\tfr: \"Calendriers d'activitรฉs\",\r\n\t\t\t},\r\n\t\t\t\"activity-calendars-txt\": {\r\n\t\t\t\ten: \"How to create and manage your group lessons and personal training appointments\",\r\n\t\t\t\tit: \"Come creare e gestire le tue lezioni di gruppo e i tuoi appuntamenti di personal training\",\r\n\t\t\t\tes: \"Cรณmo crear y gestionar tus lecciones grupales y citas de entrenamiento personal\",\r\n\t\t\t\tfr: \"Comment crรฉer et gรฉrer vos cours collectifs et vos rendez-vous de formation personnelle\",\r\n\t\t\t},\r\n\t\t\t\"adding-participants-title\": {\r\n\t\t\t\ten: \"Adding Class Participants\",\r\n\t\t\t\tit: \"Aggiunta di partecipanti alla lezione\",\r\n\t\t\t\tes: \"Agregar participantes a la clase\",\r\n\t\t\t\tfr: \"Ajouter des participants ร  la classe\",\r\n\t\t\t},\r\n\t\t\t\"adding-participants-txt\": {\r\n\t\t\t\ten: \"How to add one or more members to one or multiple classes or activities in a few clicks\",\r\n\t\t\t\tit: \"Come aggiungere uno o piรน membri a una o piรน classi o attivitร  in pochi clic\",\r\n\t\t\t\tes: \"Cรณmo agregar uno o mรกs miembros a una o varias clases o actividades con unos pocos clics\",\r\n\t\t\t\tfr: \"Comment ajouter un ou plusieurs membres ร  un ou plusieurs cours ou activitรฉs en quelques clics\",\r\n\t\t\t},\r\n\t\t\t\"custom-challenges-title\": {\r\n\t\t\t\ten: \"Challenges โ€“ Custom\",\r\n\t\t\t\tit: \"Sfide โ€“ Personalizzate\",\r\n\t\t\t\tes: \"Desafรญos โ€“ Personalizados\",\r\n\t\t\t\tfr: \"Dรฉfis โ€“ Personnalisรฉ\",\r\n\t\t\t},\r\n\t\t\t\"custom-challenges-txt\": {\r\n\t\t\t\ten: \"How to create challenges over time with custom dates and settings\",\r\n\t\t\t\tit: \"Come creare sfide nel tempo con date e impostazioni personalizzate\",\r\n\t\t\t\tes: \"Cรณmo crear desafรญos a lo largo del tiempo con fechas y configuraciones personalizadas\",\r\n\t\t\t\tfr: \"Comment crรฉer des dรฉfis au fil du temps avec des dates et des paramรจtres personnalisรฉs\",\r\n\t\t\t},\r\n\t\t\t\"monthly-challenges-title\": {\r\n\t\t\t\ten: \"Challenges โ€“ Monthly\",\r\n\t\t\t\tit: \"Sfide โ€“ Mensile\",\r\n\t\t\t\tes: \"Desafรญos โ€“ Mensual\",\r\n\t\t\t\tfr: \"Dรฉfis โ€“ Mensuel\",\r\n\t\t\t},\r\n\t\t\t\"monthly-challenges-txt\": {\r\n\t\t\t\ten: \"How to create monthly challenges that restart every month automatically\",\r\n\t\t\t\tit: \"Come creare sfide mensili che si riavviano automaticamente ogni mese\",\r\n\t\t\t\tes: \"Cรณmo crear desafรญos mensuales que se reinician cada mes automรกticamente\",\r\n\t\t\t\tfr: \"Comment crรฉer des dรฉfis mensuels qui redรฉmarrent automatiquement chaque mois\",\r\n\t\t\t},\r\n\t\t\t\"garmin-gym-title\": {\r\n\t\t\t\ten: \"Garmin at the Gym\",\r\n\t\t\t\tit: \"Garmin in palestra\",\r\n\t\t\t\tes: \"Garmin en el gimnasio\",\r\n\t\t\t\tfr: \"Garmin ร  la salle de sport\",\r\n\t\t\t},\r\n\t\t\t\"garmin-gym-txt\": {\r\n\t\t\t\ten: \"How to use a Garmin smartwatch as an HR sensor with your Bridge at the gym/studio\",\r\n\t\t\t\tit: \"Come utilizzare uno smartwatch Garmin come sensore FC con il Bridge in palestra/studio\",\r\n\t\t\t\tes: \"Cรณmo utilizar un reloj inteligente Garmin como sensor de FC con tu Bridge en el gimnasio/estudio\",\r\n\t\t\t\tfr: \"Comment utiliser une montre intelligente Garmin comme capteur FC avec votre Bridge ร  la salle de sport/studio\",\r\n\t\t\t},\r\n\t\t\t\"garmin-connect-integration-title\": {\r\n\t\t\t\ten: \"Garmin Connect Integration\",\r\n\t\t\t\tit: \"Integrazione Garmin Connect\",\r\n\t\t\t\tes: \"Integraciรณn de Garmin Connect\",\r\n\t\t\t\tfr: \"Intรฉgration Garmin Connect\",\r\n\t\t\t},\r\n\t\t\t\"garmin-connect-integration-txt\": {\r\n\t\t\t\ten: \"How to enable Garmin -> Uptivo integration to automatically import Garmin workouts\",\r\n\t\t\t\tit: \"Come abilitare l'integrazione Garmin -> Uptivo per importare automaticamente gli allenamenti Garmin\",\r\n\t\t\t\tes: \"Cรณmo habilitar la integraciรณn Garmin -> Uptivo para importar automรกticamente entrenamientos de Garmin\",\r\n\t\t\t\tfr: \"Comment activer l'intรฉgration Garmin -> Uptivo pour importer automatiquement les entraรฎnements Garmin\",\r\n\t\t\t},\r\n\t\t\t\"invite-user-title\": {\r\n\t\t\t\ten: \"Invite New Member\",\r\n\t\t\t\tit: \"Invitare nuovo membro\",\r\n\t\t\t\tes: \"Invitar nuevo miembro\",\r\n\t\t\t\tfr: \"Inviter un nouveau membre\",\r\n\t\t\t},\r\n\t\t\t\"invite-user-txt\": {\r\n\t\t\t\ten: \"How to add new members to your Uptivo club account, or have them create their profile and join your account\",\r\n\t\t\t\tit: \"Come aggiungere nuovi membri al tuo account Uptivo Club o come fargli creare il proprio profilo e unirsi al tuo account\",\r\n\t\t\t\tes: \"Cรณmo agregar nuevos miembros a su cuenta del club Uptivo, o hacer que creen su perfil y se unan a su cuenta\",\r\n\t\t\t\tfr: \"Comment ajouter de nouveaux membres ร  votre compte club Uptivo, ou leur demander de crรฉer leur profil et de rejoindre votre compte\",\r\n\t\t\t},\r\n\t\t\t\"sensor-pairing-title\": {\r\n\t\t\t\ten: \"Add an HR Sensor to a Member\",\r\n\t\t\t\tit: \"Aggiungi un sensore FC a un membro\",\r\n\t\t\t\tes: \"Agregar un sensor de frecuencia cardรญaca a un miembro\",\r\n\t\t\t\tfr: \"Ajouter un capteur FC ร  un membre\",\r\n\t\t\t},\r\n\t\t\t\"sensor-pairing-txt\": {\r\n\t\t\t\ten: \"How to pair a heart rate sensor (Uptivo or other brand) to your membersโ€™ profile\",\r\n\t\t\t\tit: \"Come associare un sensore di frequenza cardiaca (Uptivo o altra marca) al profilo dei tuoi membri\",\r\n\t\t\t\tes: \"Cรณmo vincular un sensor de frecuencia cardรญaca (Uptivo u otra marca) a perfiles de tu miembro\",\r\n\t\t\t\tfr: \"Comment coupler un capteur de frรฉquence cardiaque (Uptivo ou autre marque) ร  vos profils membres\",\r\n\t\t\t},\r\n\t\t\t\"subscription-management-title\": {\r\n\t\t\t\ten: \"Subscription Management\",\r\n\t\t\t\tit: \"Gestione degli abbonamenti\",\r\n\t\t\t\tes: \"Gestiรณn de suscripciones\",\r\n\t\t\t\tfr: \"Gestion des abonnements\",\r\n\t\t\t},\r\n\t\t\t\"subscription-management-txt\": {\r\n\t\t\t\ten: \"How to create your club subscriptions and assign them to your members\",\r\n\t\t\t\tit: \"Come creare gli abbonamenti del tuo club e assegnarli ai tuoi membri\",\r\n\t\t\t\tes: \"Cรณmo crear las suscripciones de tu club y asignarlas a tus socios\",\r\n\t\t\t\tfr: \"Comment crรฉer vos abonnements club et les attribuer ร  vos membres\",\r\n\t\t\t},\r\n\t\t\t\"user-profile-title\": {\r\n\t\t\t\ten: \"User Profile\",\r\n\t\t\t\tit: \"Profilo utente\",\r\n\t\t\t\tes: \"Perfil del usuario\",\r\n\t\t\t\tfr: \"Profil de l'utilisateur\",\r\n\t\t\t},\r\n\t\t\t\"user-profile-txt\": {\r\n\t\t\t\ten: \"How to review member information and manage member profiles\",\r\n\t\t\t\tit: \"Come rivedere le informazioni sui membri e gestire i loro profili utente\",\r\n\t\t\t\tes: \"Cรณmo revisar la informaciรณn de los miembros y administrar los perfiles de los miembros\",\r\n\t\t\t\tfr: \"Comment consulter les informations sur les membres et gรฉrer les profils\",\r\n\t\t\t},\r\n\t\t\t\"workouts-app-title\": {\r\n\t\t\t\ten: \"Workouts โ€“ In App\",\r\n\t\t\t\tit: \"Workouts โ€“ Nell'app\",\r\n\t\t\t\tes: \"Workouts โ€“ En la aplicaciรณn\",\r\n\t\t\t\tfr: \"Workouts - Dans l'application\",\r\n\t\t\t},\r\n\t\t\t\"workouts-app-txt\": {\r\n\t\t\t\ten: \"How to create workouts that can be assigned to members, so that they can follow along when not at the gym/studio\",\r\n\t\t\t\tit: \"Come creare allenamenti che possono essere assegnati ai membri, in modo che possano seguirli da telefono quando non sono in palestra/studio\",\r\n\t\t\t\tes: \"Cรณmo crear entrenamientos que se puedan asignar a los miembros, para que puedan seguirlos cuando no estรฉn en el gimnasio/estudio\",\r\n\t\t\t\tfr: \"Comment crรฉer des entraรฎnements qui peuvent รชtre attribuรฉs aux membres, afin qu'ils puissent les suivre lorsqu'ils ne sont pas au gymnase/studio\",\r\n\t\t\t},\r\n\t\t\t\"workouts-onscreen-title\": {\r\n\t\t\t\ten: \"Workouts โ€“ On Screen\",\r\n\t\t\t\tit: \"Workouts โ€“ A schermo\",\r\n\t\t\t\tes: \"Workouts โ€“ En pantalla\",\r\n\t\t\t\tfr: \"Workouts โ€“ ร€ lโ€™รฉcran\",\r\n\t\t\t},\r\n\t\t\t\"workouts-onscreen-txt\": {\r\n\t\t\t\ten: \"How to create workouts that can be displayed on TVs, so that members can follow along when at the gym/studio\",\r\n\t\t\t\tit: \"Come creare allenamenti che possono essere visualizzati sui televisori, in modo che i membri possano seguirli quando sono in palestra/studio\",\r\n\t\t\t\tes: \"Cรณmo crear entrenamientos que se puedan mostrar en televisores, para que los miembros puedan seguirlos cuando estรฉn en el gimnasio/estudio\",\r\n\t\t\t\tfr: \"Comment crรฉer des entraรฎnements qui peuvent รชtre affichรฉs sur les tรฉlรฉviseurs, afin que les membres puissent les suivre lorsqu'ils sont au gymnase/studio\",\r\n\t\t\t},\r\n\t\t\t\"bridge-registration-title\": {\r\n\t\t\t\ten: \"Bridge Registration\",\r\n\t\t\t\tit: \"Registrazione del Bridge\",\r\n\t\t\t\tes: \"Registro del Bridge\",\r\n\t\t\t\tfr: \"Enregistrer le Bridge\"\r\n\t\t\t},\r\n\t\t\t\"bridge-registration-txt\": {\r\n\t\t\t\ten: \"How to register the Bridge to your Club's Uptivo account\",\r\n\t\t\t\tit: \"Come registrare il Bridge allโ€™account Uptivo del proprio Club\",\r\n\t\t\t\tes: \"Cรณmo registrar el Bridge en la cuenta Uptivo de tu Club\",\r\n\t\t\t\tfr: \"Comment enregistrer le Bridge aux services cloud Uptivo de votre Club\"\r\n\t\t\t},\r\n\t\t\t\"bridge-setup-title\": {\r\n\t\t\t\ten: \"Bridge Setup\",\r\n\t\t\t\tit: \"Setup del Bridge\",\r\n\t\t\t\tes: \"Configuraciรณn del Bridge\",\r\n\t\t\t\tfr: \"Configuration du Bridge\"\r\n\t\t\t},\r\n\t\t\t\"bridge-setup-txt\": {\r\n\t\t\t\ten: \"How to make the physical connections of the Bridge (Uptivo receiver) and how to connect it to your network\",\r\n\t\t\t\tit: \"Come effettuare i collegamenti fisici del Bridge (ricevitore Uptivo) e come connetterlo alla propria rete\",\r\n\t\t\t\tes: \"Cรณmo hacer las conexiones fรญsicas del Bridge (receptor Uptivo) y cรณmo conectarlo a tu red\",\r\n\t\t\t\tfr: \"Comment rรฉaliser les connexions physiques du Bridge (rรฉcepteur Uptivo) et comment le connecter ร  votre rรฉseau\"\r\n\t\t\t},\r\n\t\t\t\"inapp-messages-title\": {\r\n\t\t\t\ten: \"In-App Messages\",\r\n\t\t\t\tit: \"Messaggi In-App\",\r\n\t\t\t\tes: \"Mensajes en la aplicaciรณn\",\r\n\t\t\t\tfr: \"Messages dans l'application\"\r\n\t\t\t},\r\n\t\t\t\"inapp-messages-txt\": {\r\n\t\t\t\ten: \"How to create template messages or instant messages and send them to one or more Club customers\",\r\n\t\t\t\tit: \"Come creare messaggi modello o messaggi istantanei e inviarli a uno o piรน clienti del Club\",\r\n\t\t\t\tes: \"Cรณmo crear mensajes de plantilla o mensajes instantรกneos y enviarlos a uno o mรกs clientes del Club\",\r\n\t\t\t\tfr: \"Comment crรฉer des modรจles de messages ou des messages instantanรฉs et les envoyer ร  un ou plusieurs clients du Club\"\r\n\t\t\t},\r\n\t\t\t\"move-users-tv-title\": {\r\n\t\t\t\ten: \"Move Users to TVs\",\r\n\t\t\t\tit: \"Spostare Utenti sui Televisori\",\r\n\t\t\t\tes: \"Mover usuarios a televisores\",\r\n\t\t\t\tfr: \"Dรฉplacer les utilisateurs vers les tรฉlรฉviseurs\"\r\n\t\t\t},\r\n\t\t\t\"move-users-tv-txt\": {\r\n\t\t\t\ten: \"How to move users from one television to another, or allow them to move independently\",\r\n\t\t\t\tit: \"Come spostare gli utenti da un televisore a un altro, o permettere che si spostino in autonomia\",\r\n\t\t\t\tes: \"Cรณmo pasar usuarios de un televisor a otro, o permitirles moverse de forma independiente\",\r\n\t\t\t\tfr: \"Comment dรฉplacer les utilisateurs d'un tรฉlรฉviseur ร  un autre, ou leur permettre de se dรฉplacer de maniรจre indรฉpendante\"\r\n\t\t\t},\r\n\t\t\t\"real-time-challenges-title\": {\r\n\t\t\t\ten: \"Real-time group challenges\",\r\n\t\t\t\tit: \"Sfide di gruppo in tempo reale\",\r\n\t\t\t\tes: \"Desafรญos grupales en tiempo real\",\r\n\t\t\t\tfr: \"Dรฉfis de groupe en temps rรฉel\"\r\n\t\t\t},\r\n\t\t\t\"real-time-challenges-txt\": {\r\n\t\t\t\ten: \"How to create free-for-all challenges or team challenges in real time\",\r\n\t\t\t\tit: \"Come creare sfide tutti contro tutti oppure sfide a squadre in tempo reale\",\r\n\t\t\t\tes: \"Cรณmo crear desafรญos todos contra todos o desafรญos en equipo en tiempo real\",\r\n\t\t\t\tfr: \"Comment crรฉer des dรฉfis gratuits ou des dรฉfis d'รฉquipe en temps rรฉel\"\r\n\t\t\t},\r\n\t\t\t\"timers-intensity-flows-title\": {\r\n\t\t\t\ten: \"Timers and Intensity Flows\",\r\n\t\t\t\tit: \"Timer e Intensity Flow\",\r\n\t\t\t\tes: \"Temporizadores y flujos de intensidad\",\r\n\t\t\t\tfr: \"Chronometres et flux d'intensitรฉ\"\r\n\t\t\t},\r\n\t\t\t\"timers-intensity-flows-txt\": {\r\n\t\t\t\ten: \"How to create and launch timers and intensity timelines to lead a class\",\r\n\t\t\t\tit: \"Come creare e lanciare timer e timeline di intensitร  per guidare una classe\",\r\n\t\t\t\tes: \"Cรณmo crear y lanzar cronรณmetros y cronogramas de intensidad para dirigir una clase\",\r\n\t\t\t\tfr: \"Comment crรฉer et lancer des chronometres et des chronologies d'intensitรฉ pour diriger une classe\"\r\n\t\t\t},\r\n\t\t}\r\n\t};\r\n}\r\n\r\nif (typeof module !== \"undefined\" && module.hasOwnProperty(\"exports\")) {\r\n\tmodule.exports = Resources;\r\n}\r\n\n//! moment.js locale configuration\r\n\r\n;(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined'\r\n && typeof require === 'function' ? factory(require('../moment')) :\r\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\r\n factory(global.moment)\r\n}(this, (function (moment) { 'use strict';\r\n\r\n\r\n var it = moment.defineLocale('it', {\r\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\r\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\r\n weekdays : 'domenica_lunedรฌ_martedรฌ_mercoledรฌ_giovedรฌ_venerdรฌ_sabato'.split('_'),\r\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\r\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Oggi alle] LT',\r\n nextDay: '[Domani alle] LT',\r\n nextWeek: 'dddd [alle] LT',\r\n lastDay: '[Ieri alle] LT',\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[la scorsa] dddd [alle] LT';\r\n default:\r\n return '[lo scorso] dddd [alle] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : function (s) {\r\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\r\n },\r\n past : '%s fa',\r\n s : 'alcuni secondi',\r\n ss : '%d secondi',\r\n m : 'un minuto',\r\n mm : '%d minuti',\r\n h : 'un\\'ora',\r\n hh : '%d ore',\r\n d : 'un giorno',\r\n dd : '%d giorni',\r\n M : 'un mese',\r\n MM : '%d mesi',\r\n y : 'un anno',\r\n yy : '%d anni'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}ยบ/,\r\n ordinal: '%dยบ',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n });\r\n\r\n return it;\r\n\r\n})));\r\n\n//! moment.js locale configuration\r\n\r\n;(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined'\r\n && typeof require === 'function' ? factory(require('../moment')) :\r\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\r\n factory(global.moment)\r\n}(this, (function (moment) { 'use strict';\r\n\r\n\r\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\r\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\r\n\r\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\r\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\r\n\r\n var es = moment.defineLocale('es', {\r\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortDot;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShort[m.month()];\r\n } else {\r\n return monthsShortDot[m.month()];\r\n }\r\n },\r\n monthsRegex : monthsRegex,\r\n monthsShortRegex : monthsRegex,\r\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\r\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\r\n monthsParse : monthsParse,\r\n longMonthsParse : monthsParse,\r\n shortMonthsParse : monthsParse,\r\n weekdays : 'domingo_lunes_martes_miรฉrcoles_jueves_viernes_sรกbado'.split('_'),\r\n weekdaysShort : 'dom._lun._mar._miรฉ._jue._vie._sรกb.'.split('_'),\r\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sรก'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY H:mm',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[maรฑana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'en %s',\r\n past : 'hace %s',\r\n s : 'unos segundos',\r\n ss : '%d segundos',\r\n m : 'un minuto',\r\n mm : '%d minutos',\r\n h : 'una hora',\r\n hh : '%d horas',\r\n d : 'un dรญa',\r\n dd : '%d dรญas',\r\n M : 'un mes',\r\n MM : '%d meses',\r\n y : 'un aรฑo',\r\n yy : '%d aรฑos'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}ยบ/,\r\n ordinal : '%dยบ',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n });\r\n\r\n return es;\r\n\r\n})));\r\n\n//! moment.js locale configuration\r\n\r\n;(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined'\r\n && typeof require === 'function' ? factory(require('../moment')) :\r\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\r\n factory(global.moment)\r\n}(this, (function (moment) { 'use strict';\r\n\r\n\r\n var fr = moment.defineLocale('fr', {\r\n months : 'janvier_fรฉvrier_mars_avril_mai_juin_juillet_aoรปt_septembre_octobre_novembre_dรฉcembre'.split('_'),\r\n monthsShort : 'janv._fรฉvr._mars_avr._mai_juin_juil._aoรปt_sept._oct._nov._dรฉc.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\r\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\r\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Aujourdโ€™hui ร ] LT',\r\n nextDay : '[Demain ร ] LT',\r\n nextWeek : 'dddd [ร ] LT',\r\n lastDay : '[Hier ร ] LT',\r\n lastWeek : 'dddd [dernier ร ] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dans %s',\r\n past : 'il y a %s',\r\n s : 'quelques secondes',\r\n ss : '%d secondes',\r\n m : 'une minute',\r\n mm : '%d minutes',\r\n h : 'une heure',\r\n hh : '%d heures',\r\n d : 'un jour',\r\n dd : '%d jours',\r\n M : 'un mois',\r\n MM : '%d mois',\r\n y : 'un an',\r\n yy : '%d ans'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n // TODO: Return 'e' when day of month > 1. Move this case inside\r\n // block for masculine words below.\r\n // See https://github.com/moment/moment/issues/3375\r\n case 'D':\r\n return number + (number === 1 ? 'er' : '');\r\n\r\n // Words with masculine grammatical gender: mois, trimestre, jour\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'DDD':\r\n case 'd':\r\n return number + (number === 1 ? 'er' : 'e');\r\n\r\n // Words with feminine grammatical gender: semaine\r\n case 'w':\r\n case 'W':\r\n return number + (number === 1 ? 're' : 'e');\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n });\r\n\r\n return fr;\r\n\r\n})));\r\n\n/*! Moment Duration Format v2.2.2\r\n * https://github.com/jsmreese/moment-duration-format\r\n * Date: 2018-02-16\r\n *\r\n * Duration format plugin function for the Moment.js library\r\n * http://momentjs.com/\r\n *\r\n * Copyright 2018 John Madhavan-Reese\r\n * Released under the MIT license\r\n */\r\n\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['moment'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node. Does not work with strict CommonJS, but only CommonJS-like\r\n // enviroments that support module.exports, like Node.\r\n try {\r\n module.exports = factory(require('moment'));\r\n } catch (e) {\r\n // If moment is not available, leave the setup up to the user.\r\n // Like when using moment-timezone or similar moment-based package.\r\n module.exports = factory;\r\n }\r\n }\r\n\r\n if (root) {\r\n // Globals.\r\n root.momentDurationFormatSetup = root.moment ? factory(root.moment) : factory;\r\n }\r\n})(this, function (moment) {\r\n // `Number#tolocaleString` is tested on plugin initialization.\r\n // If the feature test passes, `toLocaleStringWorks` will be set to `true` and the\r\n // native function will be used to generate formatted output. If the feature\r\n // test fails, the fallback format function internal to this plugin will be\r\n // used.\r\n var toLocaleStringWorks = false;\r\n\r\n // `Number#toLocaleString` rounds incorrectly for select numbers in Microsoft\r\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\r\n // If the rounding test fails and `toLocaleString` will be used for formatting,\r\n // the plugin will \"pre-round\" number values using the fallback number format\r\n // function before passing them to `toLocaleString` for final formatting.\r\n var toLocaleStringRoundingWorks = false;\r\n\r\n // `Intl.NumberFormat#format` is tested on plugin initialization.\r\n // If the feature test passes, `intlNumberFormatRoundingWorks` will be set to\r\n // `true` and the native function will be used to generate formatted output.\r\n // If the feature test fails, either `Number#tolocaleString` (if\r\n // `toLocaleStringWorks` is `true`), or the fallback format function internal\r\n // to this plugin will be used.\r\n var intlNumberFormatWorks = false;\r\n\r\n // `Intl.NumberFormat#format` rounds incorrectly for select numbers in Microsoft\r\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\r\n // If the rounding test fails and `Intl.NumberFormat#format` will be used for\r\n // formatting, the plugin will \"pre-round\" number values using the fallback number\r\n // format function before passing them to `Intl.NumberFormat#format` for final\r\n // formatting.\r\n var intlNumberFormatRoundingWorks = false;\r\n\r\n // Token type names in order of descending magnitude.\r\n var types = \"escape years months weeks days hours minutes seconds milliseconds general\".split(\" \");\r\n\r\n var bubbles = [\r\n {\r\n type: \"seconds\",\r\n targets: [\r\n { type: \"minutes\", value: 60 },\r\n { type: \"hours\", value: 3600 },\r\n { type: \"days\", value: 86400 },\r\n { type: \"weeks\", value: 604800 },\r\n { type: \"months\", value: 2678400 },\r\n { type: \"years\", value: 31536000 }\r\n ]\r\n },\r\n {\r\n type: \"minutes\",\r\n targets: [\r\n { type: \"hours\", value: 60 },\r\n { type: \"days\", value: 1440 },\r\n { type: \"weeks\", value: 10080 },\r\n { type: \"months\", value: 44640 },\r\n { type: \"years\", value: 525600 }\r\n ]\r\n },\r\n {\r\n type: \"hours\",\r\n targets: [\r\n { type: \"days\", value: 24 },\r\n { type: \"weeks\", value: 168 },\r\n { type: \"months\", value: 744 },\r\n { type: \"years\", value: 8760 }\r\n ]\r\n },\r\n {\r\n type: \"days\",\r\n targets: [\r\n { type: \"weeks\", value: 7 },\r\n { type: \"months\", value: 31 },\r\n { type: \"years\", value: 365 }\r\n ]\r\n },\r\n {\r\n type: \"months\",\r\n targets: [\r\n { type: \"years\", value: 12 }\r\n ]\r\n }\r\n ];\r\n\r\n // stringIncludes\r\n function stringIncludes(str, search) {\r\n if (search.length > str.length) {\r\n return false;\r\n }\r\n\r\n return str.indexOf(search) !== -1;\r\n }\r\n\r\n // repeatZero(qty)\r\n // Returns \"0\" repeated `qty` times.\r\n // `qty` must be a integer >= 0.\r\n function repeatZero(qty) {\r\n var result = \"\";\r\n\r\n while (qty) {\r\n result += \"0\";\r\n qty -= 1;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function stringRound(digits) {\r\n var digitsArray = digits.split(\"\").reverse();\r\n var i = 0;\r\n var carry = true;\r\n\r\n while (carry && i < digitsArray.length) {\r\n if (i) {\r\n if (digitsArray[i] === \"9\") {\r\n digitsArray[i] = \"0\";\r\n } else {\r\n digitsArray[i] = (parseInt(digitsArray[i], 10) + 1).toString();\r\n carry = false;\r\n }\r\n } else {\r\n if (parseInt(digitsArray[i], 10) < 5) {\r\n carry = false;\r\n }\r\n\r\n digitsArray[i] = \"0\";\r\n }\r\n\r\n i += 1;\r\n }\r\n\r\n if (carry) {\r\n digitsArray.push(\"1\");\r\n }\r\n\r\n return digitsArray.reverse().join(\"\");\r\n }\r\n\r\n // cachedNumberFormat\r\n // Returns an `Intl.NumberFormat` instance for the given locale and configuration.\r\n // On first use of a particular configuration, the instance is cached for fast\r\n // repeat access.\r\n function cachedNumberFormat(locale, options) {\r\n // Create a sorted, stringified version of `options`\r\n // for use as part of the cache key\r\n var optionsString = map(\r\n keys(options).sort(),\r\n function(key) {\r\n return key + ':' + options[key];\r\n }\r\n ).join(',');\r\n\r\n // Set our cache key\r\n var cacheKey = locale + '+' + optionsString;\r\n\r\n // If we don't have this configuration cached, configure and cache it\r\n if (!cachedNumberFormat.cache[cacheKey]) {\r\n cachedNumberFormat.cache[cacheKey] = Intl.NumberFormat(locale, options);\r\n }\r\n\r\n // Return the cached version of this configuration\r\n return cachedNumberFormat.cache[cacheKey];\r\n }\r\n cachedNumberFormat.cache = {};\r\n\r\n // formatNumber\r\n // Formats any number greater than or equal to zero using these options:\r\n // - userLocale\r\n // - useToLocaleString\r\n // - useGrouping\r\n // - grouping\r\n // - maximumSignificantDigits\r\n // - minimumIntegerDigits\r\n // - fractionDigits\r\n // - groupingSeparator\r\n // - decimalSeparator\r\n //\r\n // `useToLocaleString` will use `Intl.NumberFormat` or `toLocaleString` for formatting.\r\n // `userLocale` option is passed through to the formatting function.\r\n // `fractionDigits` is passed through to `maximumFractionDigits` and `minimumFractionDigits`\r\n // Using `maximumSignificantDigits` will override `minimumIntegerDigits` and `fractionDigits`.\r\n function formatNumber(number, options, userLocale) {\r\n var useToLocaleString = options.useToLocaleString;\r\n var useGrouping = options.useGrouping;\r\n var grouping = useGrouping && options.grouping.slice();\r\n var maximumSignificantDigits = options.maximumSignificantDigits;\r\n var minimumIntegerDigits = options.minimumIntegerDigits || 1;\r\n var fractionDigits = options.fractionDigits || 0;\r\n var groupingSeparator = options.groupingSeparator;\r\n var decimalSeparator = options.decimalSeparator;\r\n\r\n if (useToLocaleString && userLocale) {\r\n var localeStringOptions = {\r\n minimumIntegerDigits: minimumIntegerDigits,\r\n useGrouping: useGrouping\r\n };\r\n\r\n if (fractionDigits) {\r\n localeStringOptions.maximumFractionDigits = fractionDigits;\r\n localeStringOptions.minimumFractionDigits = fractionDigits;\r\n }\r\n\r\n // toLocaleString output is \"0.0\" instead of \"0\" for HTC browsers\r\n // when maximumSignificantDigits is set. See #96.\r\n if (maximumSignificantDigits && number > 0) {\r\n localeStringOptions.maximumSignificantDigits = maximumSignificantDigits;\r\n }\r\n\r\n if (intlNumberFormatWorks) {\r\n if (!intlNumberFormatRoundingWorks) {\r\n var roundingOptions = extend({}, options);\r\n roundingOptions.useGrouping = false;\r\n roundingOptions.decimalSeparator = \".\";\r\n number = parseFloat(formatNumber(number, roundingOptions), 10);\r\n }\r\n\r\n return cachedNumberFormat(userLocale, localeStringOptions).format(number);\r\n } else {\r\n if (!toLocaleStringRoundingWorks) {\r\n var roundingOptions = extend({}, options);\r\n roundingOptions.useGrouping = false;\r\n roundingOptions.decimalSeparator = \".\";\r\n number = parseFloat(formatNumber(number, roundingOptions), 10);\r\n }\r\n\r\n return number.toLocaleString(userLocale, localeStringOptions);\r\n }\r\n }\r\n\r\n var numberString;\r\n\r\n // Add 1 to digit output length for floating point errors workaround. See below.\r\n if (maximumSignificantDigits) {\r\n numberString = number.toPrecision(maximumSignificantDigits + 1);\r\n } else {\r\n numberString = number.toFixed(fractionDigits + 1);\r\n }\r\n\r\n var integerString;\r\n var fractionString;\r\n var exponentString;\r\n\r\n var temp = numberString.split(\"e\");\r\n\r\n exponentString = temp[1] || \"\";\r\n\r\n temp = temp[0].split(\".\");\r\n\r\n fractionString = temp[1] || \"\";\r\n integerString = temp[0] || \"\";\r\n\r\n // Workaround for floating point errors in `toFixed` and `toPrecision`.\r\n // (3.55).toFixed(1); --> \"3.5\"\r\n // (123.55 - 120).toPrecision(2); --> \"3.5\"\r\n // (123.55 - 120); --> 3.549999999999997\r\n // (123.55 - 120).toFixed(2); --> \"3.55\"\r\n // Round by examing the string output of the next digit.\r\n\r\n // *************** Implement String Rounding here ***********************\r\n // Check integerString + fractionString length of toPrecision before rounding.\r\n // Check length of fractionString from toFixed output before rounding.\r\n var integerLength = integerString.length;\r\n var fractionLength = fractionString.length;\r\n var digitCount = integerLength + fractionLength;\r\n var digits = integerString + fractionString;\r\n\r\n if (maximumSignificantDigits && digitCount === (maximumSignificantDigits + 1) || !maximumSignificantDigits && fractionLength === (fractionDigits + 1)) {\r\n // Round digits.\r\n digits = stringRound(digits);\r\n\r\n if (digits.length === digitCount + 1) {\r\n integerLength = integerLength + 1;\r\n }\r\n\r\n // Discard final fractionDigit.\r\n if (fractionLength) {\r\n digits = digits.slice(0, -1);\r\n }\r\n\r\n // Separate integer and fraction.\r\n integerString = digits.slice(0, integerLength);\r\n fractionString = digits.slice(integerLength);\r\n }\r\n\r\n // Trim trailing zeroes from fractionString because toPrecision outputs\r\n // precision, not significant digits.\r\n if (maximumSignificantDigits) {\r\n fractionString = fractionString.replace(/0*$/, \"\");\r\n }\r\n\r\n // Handle exponent.\r\n var exponent = parseInt(exponentString, 10);\r\n\r\n if (exponent > 0) {\r\n if (fractionString.length <= exponent) {\r\n fractionString = fractionString + repeatZero(exponent - fractionString.length);\r\n\r\n integerString = integerString + fractionString;\r\n fractionString = \"\";\r\n } else {\r\n integerString = integerString + fractionString.slice(0, exponent);\r\n fractionString = fractionString.slice(exponent);\r\n }\r\n } else if (exponent < 0) {\r\n fractionString = (repeatZero(Math.abs(exponent) - integerString.length) + integerString + fractionString);\r\n\r\n integerString = \"0\";\r\n }\r\n\r\n if (!maximumSignificantDigits) {\r\n // Trim or pad fraction when not using maximumSignificantDigits.\r\n fractionString = fractionString.slice(0, fractionDigits);\r\n\r\n if (fractionString.length < fractionDigits) {\r\n fractionString = fractionString + repeatZero(fractionDigits - fractionString.length);\r\n }\r\n\r\n // Pad integer when using minimumIntegerDigits\r\n // and not using maximumSignificantDigits.\r\n if (integerString.length < minimumIntegerDigits) {\r\n integerString = repeatZero(minimumIntegerDigits - integerString.length) + integerString;\r\n }\r\n }\r\n\r\n var formattedString = \"\";\r\n\r\n // Handle grouping.\r\n if (useGrouping) {\r\n temp = integerString;\r\n var group;\r\n\r\n while (temp.length) {\r\n if (grouping.length) {\r\n group = grouping.shift();\r\n }\r\n\r\n if (formattedString) {\r\n formattedString = groupingSeparator + formattedString;\r\n }\r\n\r\n formattedString = temp.slice(-group) + formattedString;\r\n\r\n temp = temp.slice(0, -group);\r\n }\r\n } else {\r\n formattedString = integerString;\r\n }\r\n\r\n // Add decimalSeparator and fraction.\r\n if (fractionString) {\r\n formattedString = formattedString + decimalSeparator + fractionString;\r\n }\r\n\r\n return formattedString;\r\n }\r\n\r\n // durationLabelCompare\r\n function durationLabelCompare(a, b) {\r\n if (a.label.length > b.label.length) {\r\n return -1;\r\n }\r\n\r\n if (a.label.length < b.label.length) {\r\n return 1;\r\n }\r\n\r\n // a must be equal to b\r\n return 0;\r\n }\r\n\r\n // durationGetLabels\r\n function durationGetLabels(token, localeData) {\r\n var labels = [];\r\n\r\n each(keys(localeData), function (localeDataKey) {\r\n if (localeDataKey.slice(0, 15) !== \"_durationLabels\") {\r\n return;\r\n }\r\n\r\n var labelType = localeDataKey.slice(15).toLowerCase();\r\n\r\n each(keys(localeData[localeDataKey]), function (labelKey) {\r\n if (labelKey.slice(0, 1) === token) {\r\n labels.push({\r\n type: labelType,\r\n key: labelKey,\r\n label: localeData[localeDataKey][labelKey]\r\n });\r\n }\r\n });\r\n });\r\n\r\n return labels;\r\n }\r\n\r\n // durationPluralKey\r\n function durationPluralKey(token, integerValue, decimalValue) {\r\n // Singular for a value of `1`, but not for `1.0`.\r\n if (integerValue === 1 && decimalValue === null) {\r\n return token;\r\n }\r\n\r\n return token + token;\r\n }\r\n\r\n var engLocale = {\r\n durationLabelsStandard: {\r\n S: 'millisecond',\r\n SS: 'milliseconds',\r\n s: 'second',\r\n ss: 'seconds',\r\n m: 'minute',\r\n mm: 'minutes',\r\n h: 'hour',\r\n hh: 'hours',\r\n d: 'day',\r\n dd: 'days',\r\n w: 'week',\r\n ww: 'weeks',\r\n M: 'month',\r\n MM: 'months',\r\n y: 'year',\r\n yy: 'years'\r\n },\r\n durationLabelsShort: {\r\n S: 'msec',\r\n SS: 'msecs',\r\n s: 'sec',\r\n ss: 'secs',\r\n m: 'min',\r\n mm: 'mins',\r\n h: 'hr',\r\n hh: 'hrs',\r\n d: 'dy',\r\n dd: 'dys',\r\n w: 'wk',\r\n ww: 'wks',\r\n M: 'mo',\r\n MM: 'mos',\r\n y: 'yr',\r\n yy: 'yrs'\r\n },\r\n durationTimeTemplates: {\r\n HMS: 'h:mm:ss',\r\n HM: 'h:mm',\r\n MS: 'm:ss'\r\n },\r\n durationLabelTypes: [\r\n { type: \"standard\", string: \"__\" },\r\n { type: \"short\", string: \"_\" }\r\n ],\r\n durationPluralKey: durationPluralKey\r\n };\r\n\r\n // isArray\r\n function isArray(array) {\r\n return Object.prototype.toString.call(array) === \"[object Array]\";\r\n }\r\n\r\n // isObject\r\n function isObject(obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Object]\";\r\n }\r\n\r\n // findLast\r\n function findLast(array, callback) {\r\n var index = array.length;\r\n\r\n while (index -= 1) {\r\n if (callback(array[index])) { return array[index]; }\r\n }\r\n }\r\n\r\n // find\r\n function find(array, callback) {\r\n var index = 0;\r\n\r\n var max = array && array.length || 0;\r\n\r\n var match;\r\n\r\n if (typeof callback !== \"function\") {\r\n match = callback;\r\n callback = function (item) {\r\n return item === match;\r\n };\r\n }\r\n\r\n while (index < max) {\r\n if (callback(array[index])) { return array[index]; }\r\n index += 1;\r\n }\r\n }\r\n\r\n // each\r\n function each(array, callback) {\r\n var index = 0,\r\n max = array.length;\r\n\r\n if (!array || !max) { return; }\r\n\r\n while (index < max) {\r\n if (callback(array[index], index) === false) { return; }\r\n index += 1;\r\n }\r\n }\r\n\r\n // map\r\n function map(array, callback) {\r\n var index = 0,\r\n max = array.length,\r\n ret = [];\r\n\r\n if (!array || !max) { return ret; }\r\n\r\n while (index < max) {\r\n ret[index] = callback(array[index], index);\r\n index += 1;\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n // pluck\r\n function pluck(array, prop) {\r\n return map(array, function (item) {\r\n return item[prop];\r\n });\r\n }\r\n\r\n // compact\r\n function compact(array) {\r\n var ret = [];\r\n\r\n each(array, function (item) {\r\n if (item) { ret.push(item); }\r\n });\r\n\r\n return ret;\r\n }\r\n\r\n // unique\r\n function unique(array) {\r\n var ret = [];\r\n\r\n each(array, function (_a) {\r\n if (!find(ret, _a)) { ret.push(_a); }\r\n });\r\n\r\n return ret;\r\n }\r\n\r\n // intersection\r\n function intersection(a, b) {\r\n var ret = [];\r\n\r\n each(a, function (_a) {\r\n each(b, function (_b) {\r\n if (_a === _b) { ret.push(_a); }\r\n });\r\n });\r\n\r\n return unique(ret);\r\n }\r\n\r\n // rest\r\n function rest(array, callback) {\r\n var ret = [];\r\n\r\n each(array, function (item, index) {\r\n if (!callback(item)) {\r\n ret = array.slice(index);\r\n return false;\r\n }\r\n });\r\n\r\n return ret;\r\n }\r\n\r\n // initial\r\n function initial(array, callback) {\r\n var reversed = array.slice().reverse();\r\n\r\n return rest(reversed, callback).reverse();\r\n }\r\n\r\n // extend\r\n function extend(a, b) {\r\n for (var key in b) {\r\n if (b.hasOwnProperty(key)) { a[key] = b[key]; }\r\n }\r\n\r\n return a;\r\n }\r\n\r\n // keys\r\n function keys(a) {\r\n var ret = [];\r\n\r\n for (var key in a) {\r\n if (a.hasOwnProperty(key)) { ret.push(key); }\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n // any\r\n function any(array, callback) {\r\n var index = 0,\r\n max = array.length;\r\n\r\n if (!array || !max) { return false; }\r\n\r\n while (index < max) {\r\n if (callback(array[index], index) === true) { return true; }\r\n index += 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // flatten\r\n function flatten(array) {\r\n var ret = [];\r\n\r\n each(array, function(child) {\r\n ret = ret.concat(child);\r\n });\r\n\r\n return ret;\r\n }\r\n\r\n function toLocaleStringSupportsLocales() {\r\n var number = 0;\r\n try {\r\n number.toLocaleString('i');\r\n } catch (e) {\r\n return e.name === 'RangeError';\r\n }\r\n return false;\r\n }\r\n\r\n function featureTestFormatterRounding(formatter) {\r\n return formatter(3.55, \"en\", {\r\n useGrouping: false,\r\n minimumIntegerDigits: 1,\r\n minimumFractionDigits: 1,\r\n maximumFractionDigits: 1\r\n }) === \"3.6\";\r\n }\r\n\r\n function featureTestFormatter(formatter) {\r\n var passed = true;\r\n\r\n // Test minimumIntegerDigits.\r\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 1 }) === \"1\";\r\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 2 }) === \"01\";\r\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 3 }) === \"001\";\r\n if (!passed) { return false; }\r\n\r\n // Test maximumFractionDigits and minimumFractionDigits.\r\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 0, minimumFractionDigits: 0 }) === \"100\";\r\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }) === \"100.0\";\r\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 2, minimumFractionDigits: 2 }) === \"99.99\";\r\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 3, minimumFractionDigits: 3 }) === \"99.990\";\r\n if (!passed) { return false; }\r\n\r\n // Test maximumSignificantDigits.\r\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 1 }) === \"100\";\r\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 2 }) === \"100\";\r\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 3 }) === \"100\";\r\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 4 }) === \"99.99\";\r\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 5 }) === \"99.99\";\r\n if (!passed) { return false; }\r\n\r\n // Test grouping.\r\n passed = passed && formatter(1000, \"en\", { useGrouping: true }) === \"1,000\";\r\n passed = passed && formatter(1000, \"en\", { useGrouping: false }) === \"1000\";\r\n if (!passed) { return false; }\r\n\r\n return true;\r\n }\r\n\r\n // durationsFormat(durations [, template] [, precision] [, settings])\r\n function durationsFormat() {\r\n var args = [].slice.call(arguments);\r\n var settings = {};\r\n var durations;\r\n\r\n // Parse arguments.\r\n each(args, function (arg, index) {\r\n if (!index) {\r\n if (!isArray(arg)) {\r\n throw \"Expected array as the first argument to durationsFormat.\";\r\n }\r\n\r\n durations = arg;\r\n }\r\n\r\n if (typeof arg === \"string\" || typeof arg === \"function\") {\r\n settings.template = arg;\r\n return;\r\n }\r\n\r\n if (typeof arg === \"number\") {\r\n settings.precision = arg;\r\n return;\r\n }\r\n\r\n if (isObject(arg)) {\r\n extend(settings, arg);\r\n }\r\n });\r\n\r\n if (!durations || !durations.length) {\r\n return [];\r\n }\r\n\r\n settings.returnMomentTypes = true;\r\n\r\n var formattedDurations = map(durations, function (dur) {\r\n return dur.format(settings);\r\n });\r\n\r\n // Merge token types from all durations.\r\n var outputTypes = intersection(types, unique(pluck(flatten(formattedDurations), \"type\")));\r\n\r\n var largest = settings.largest;\r\n\r\n if (largest) {\r\n outputTypes = outputTypes.slice(0, largest);\r\n }\r\n\r\n settings.returnMomentTypes = false;\r\n settings.outputTypes = outputTypes;\r\n\r\n return map(durations, function (dur) {\r\n return dur.format(settings);\r\n });\r\n }\r\n\r\n // durationFormat([template] [, precision] [, settings])\r\n function durationFormat() {\r\n\r\n var args = [].slice.call(arguments);\r\n var settings = extend({}, this.format.defaults);\r\n\r\n // Keep a shadow copy of this moment for calculating remainders.\r\n // Perform all calculations on positive duration value, handle negative\r\n // sign at the very end.\r\n var asMilliseconds = this.asMilliseconds();\r\n var asMonths = this.asMonths();\r\n\r\n // Treat invalid durations as having a value of 0 milliseconds.\r\n if (typeof this.isValid === \"function\" && this.isValid() === false) {\r\n asMilliseconds = 0;\r\n asMonths = 0;\r\n }\r\n\r\n var isNegative = asMilliseconds < 0;\r\n\r\n // Two shadow copies are needed because of the way moment.js handles\r\n // duration arithmetic for years/months and for weeks/days/hours/minutes/seconds.\r\n var remainder = moment.duration(Math.abs(asMilliseconds), \"milliseconds\");\r\n var remainderMonths = moment.duration(Math.abs(asMonths), \"months\");\r\n\r\n // Parse arguments.\r\n each(args, function (arg) {\r\n if (typeof arg === \"string\" || typeof arg === \"function\") {\r\n settings.template = arg;\r\n return;\r\n }\r\n\r\n if (typeof arg === \"number\") {\r\n settings.precision = arg;\r\n return;\r\n }\r\n\r\n if (isObject(arg)) {\r\n extend(settings, arg);\r\n }\r\n });\r\n\r\n var momentTokens = {\r\n years: \"y\",\r\n months: \"M\",\r\n weeks: \"w\",\r\n days: \"d\",\r\n hours: \"h\",\r\n minutes: \"m\",\r\n seconds: \"s\",\r\n milliseconds: \"S\"\r\n };\r\n\r\n var tokenDefs = {\r\n escape: /\\[(.+?)\\]/,\r\n years: /\\*?[Yy]+/,\r\n months: /\\*?M+/,\r\n weeks: /\\*?[Ww]+/,\r\n days: /\\*?[Dd]+/,\r\n hours: /\\*?[Hh]+/,\r\n minutes: /\\*?m+/,\r\n seconds: /\\*?s+/,\r\n milliseconds: /\\*?S+/,\r\n general: /.+?/\r\n };\r\n\r\n // Types array is available in the template function.\r\n settings.types = types;\r\n\r\n var typeMap = function (token) {\r\n return find(types, function (type) {\r\n return tokenDefs[type].test(token);\r\n });\r\n };\r\n\r\n var tokenizer = new RegExp(map(types, function (type) {\r\n return tokenDefs[type].source;\r\n }).join(\"|\"), \"g\");\r\n\r\n // Current duration object is available in the template function.\r\n settings.duration = this;\r\n\r\n // Eval template function and cache template string.\r\n var template = typeof settings.template === \"function\" ? settings.template.apply(settings) : settings.template;\r\n\r\n // outputTypes and returnMomentTypes are settings to support durationsFormat().\r\n\r\n // outputTypes is an array of moment token types that determines\r\n // the tokens returned in formatted output. This option overrides\r\n // trim, largest, stopTrim, etc.\r\n var outputTypes = settings.outputTypes;\r\n\r\n // returnMomentTypes is a boolean that sets durationFormat to return\r\n // the processed momentTypes instead of formatted output.\r\n var returnMomentTypes = settings.returnMomentTypes;\r\n\r\n var largest = settings.largest;\r\n\r\n // Setup stopTrim array of token types.\r\n var stopTrim = [];\r\n\r\n if (!outputTypes) {\r\n if (isArray(settings.stopTrim)) {\r\n settings.stopTrim = settings.stopTrim.join(\"\");\r\n }\r\n\r\n // Parse stopTrim string to create token types array.\r\n if (settings.stopTrim) {\r\n each(settings.stopTrim.match(tokenizer), function (token) {\r\n var type = typeMap(token);\r\n\r\n if (type === \"escape\" || type === \"general\") {\r\n return;\r\n }\r\n\r\n stopTrim.push(type);\r\n });\r\n }\r\n }\r\n\r\n // Cache moment's locale data.\r\n var localeData = moment.localeData();\r\n\r\n if (!localeData) {\r\n localeData = {};\r\n }\r\n\r\n // Fall back to this plugin's `eng` extension.\r\n each(keys(engLocale), function (key) {\r\n if (typeof engLocale[key] === \"function\") {\r\n if (!localeData[key]) {\r\n localeData[key] = engLocale[key];\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (!localeData[\"_\" + key]) {\r\n localeData[\"_\" + key] = engLocale[key];\r\n }\r\n });\r\n\r\n // Replace Duration Time Template strings.\r\n // For locale `eng`: `_HMS_`, `_HM_`, and `_MS_`.\r\n each(keys(localeData._durationTimeTemplates), function (item) {\r\n template = template.replace(\"_\" + item + \"_\", localeData._durationTimeTemplates[item]);\r\n });\r\n\r\n // Determine user's locale.\r\n var userLocale = settings.userLocale || moment.locale();\r\n\r\n var useLeftUnits = settings.useLeftUnits;\r\n var usePlural = settings.usePlural;\r\n var precision = settings.precision;\r\n var forceLength = settings.forceLength;\r\n var useGrouping = settings.useGrouping;\r\n var trunc = settings.trunc;\r\n\r\n // Use significant digits only when precision is greater than 0.\r\n var useSignificantDigits = settings.useSignificantDigits && precision > 0;\r\n var significantDigits = useSignificantDigits ? settings.precision : 0;\r\n var significantDigitsCache = significantDigits;\r\n\r\n var minValue = settings.minValue;\r\n var isMinValue = false;\r\n\r\n var maxValue = settings.maxValue;\r\n var isMaxValue = false;\r\n\r\n // formatNumber fallback options.\r\n var useToLocaleString = settings.useToLocaleString;\r\n var groupingSeparator = settings.groupingSeparator;\r\n var decimalSeparator = settings.decimalSeparator;\r\n var grouping = settings.grouping;\r\n\r\n useToLocaleString = useToLocaleString && (toLocaleStringWorks || intlNumberFormatWorks);\r\n\r\n // Trim options.\r\n var trim = settings.trim;\r\n\r\n if (isArray(trim)) {\r\n trim = trim.join(\" \");\r\n }\r\n\r\n if (trim === null && (largest || maxValue || useSignificantDigits)) {\r\n trim = \"all\";\r\n }\r\n\r\n if (trim === null || trim === true || trim === \"left\" || trim === \"right\") {\r\n trim = \"large\";\r\n }\r\n\r\n if (trim === false) {\r\n trim = \"\";\r\n }\r\n\r\n var trimIncludes = function (item) {\r\n return item.test(trim);\r\n };\r\n\r\n var rLarge = /large/;\r\n var rSmall = /small/;\r\n var rBoth = /both/;\r\n var rMid = /mid/;\r\n var rAll = /^all|[^sm]all/;\r\n var rFinal = /final/;\r\n\r\n var trimLarge = largest > 0 || any([rLarge, rBoth, rAll], trimIncludes);\r\n var trimSmall = any([rSmall, rBoth, rAll], trimIncludes);\r\n var trimMid = any([rMid, rAll], trimIncludes);\r\n var trimFinal = any([rFinal, rAll], trimIncludes);\r\n\r\n // Parse format string to create raw tokens array.\r\n var rawTokens = map(template.match(tokenizer), function (token, index) {\r\n var type = typeMap(token);\r\n\r\n if (token.slice(0, 1) === \"*\") {\r\n token = token.slice(1);\r\n\r\n if (type !== \"escape\" && type !== \"general\") {\r\n stopTrim.push(type);\r\n }\r\n }\r\n\r\n return {\r\n index: index,\r\n length: token.length,\r\n text: \"\",\r\n\r\n // Replace escaped tokens with the non-escaped token text.\r\n token: (type === \"escape\" ? token.replace(tokenDefs.escape, \"$1\") : token),\r\n\r\n // Ignore type on non-moment tokens.\r\n type: ((type === \"escape\" || type === \"general\") ? null : type)\r\n };\r\n });\r\n\r\n // Associate text tokens with moment tokens.\r\n var currentToken = {\r\n index: 0,\r\n length: 0,\r\n token: \"\",\r\n text: \"\",\r\n type: null\r\n };\r\n\r\n var tokens = [];\r\n\r\n if (useLeftUnits) {\r\n rawTokens.reverse();\r\n }\r\n\r\n each(rawTokens, function (token) {\r\n if (token.type) {\r\n if (currentToken.type || currentToken.text) {\r\n tokens.push(currentToken);\r\n }\r\n\r\n currentToken = token;\r\n\r\n return;\r\n }\r\n\r\n if (useLeftUnits) {\r\n currentToken.text = token.token + currentToken.text;\r\n } else {\r\n currentToken.text += token.token;\r\n }\r\n });\r\n\r\n if (currentToken.type || currentToken.text) {\r\n tokens.push(currentToken);\r\n }\r\n\r\n if (useLeftUnits) {\r\n tokens.reverse();\r\n }\r\n\r\n // Find unique moment token types in the template in order of\r\n // descending magnitude.\r\n var momentTypes = intersection(types, unique(compact(pluck(tokens, \"type\"))));\r\n\r\n // Exit early if there are no moment token types.\r\n if (!momentTypes.length) {\r\n return pluck(tokens, \"text\").join(\"\");\r\n }\r\n\r\n // Calculate values for each moment type in the template.\r\n // For processing the settings, values are associated with moment types.\r\n // Values will be assigned to tokens at the last step in order to\r\n // assume nothing about frequency or order of tokens in the template.\r\n momentTypes = map(momentTypes, function (momentType, index) {\r\n // Is this the least-magnitude moment token found?\r\n var isSmallest = ((index + 1) === momentTypes.length);\r\n\r\n // Is this the greatest-magnitude moment token found?\r\n var isLargest = (!index);\r\n\r\n // Get the raw value in the current units.\r\n var rawValue;\r\n\r\n if (momentType === \"years\" || momentType === \"months\") {\r\n rawValue = remainderMonths.as(momentType);\r\n } else {\r\n rawValue = remainder.as(momentType);\r\n }\r\n\r\n var wholeValue = Math.floor(rawValue);\r\n var decimalValue = rawValue - wholeValue;\r\n\r\n var token = find(tokens, function (token) {\r\n return momentType === token.type;\r\n });\r\n\r\n if (isLargest && maxValue && rawValue > maxValue) {\r\n isMaxValue = true;\r\n }\r\n\r\n if (isSmallest && minValue && Math.abs(settings.duration.as(momentType)) < minValue) {\r\n isMinValue = true;\r\n }\r\n\r\n // Note the length of the largest-magnitude moment token:\r\n // if it is greater than one and forceLength is not set,\r\n // then default forceLength to `true`.\r\n //\r\n // Rationale is this: If the template is \"h:mm:ss\" and the\r\n // moment value is 5 minutes, the user-friendly output is\r\n // \"5:00\", not \"05:00\". We shouldn't pad the `minutes` token\r\n // even though it has length of two if the template is \"h:mm:ss\";\r\n //\r\n // If the minutes output should always include the leading zero\r\n // even when the hour is trimmed then set `{ forceLength: true }`\r\n // to output \"05:00\". If the template is \"hh:mm:ss\", the user\r\n // clearly wanted everything padded so we should output \"05:00\";\r\n //\r\n // If the user wants the full padded output, they can use\r\n // template \"hh:mm:ss\" and set `{ trim: false }` to output\r\n // \"00:05:00\".\r\n if (isLargest && forceLength === null && token.length > 1) {\r\n forceLength = true;\r\n }\r\n\r\n // Update remainder.\r\n remainder.subtract(wholeValue, momentType);\r\n remainderMonths.subtract(wholeValue, momentType);\r\n\r\n return {\r\n rawValue: rawValue,\r\n wholeValue: wholeValue,\r\n // Decimal value is only retained for the least-magnitude\r\n // moment type in the format template.\r\n decimalValue: isSmallest ? decimalValue : 0,\r\n isSmallest: isSmallest,\r\n isLargest: isLargest,\r\n type: momentType,\r\n // Tokens can appear multiple times in a template string,\r\n // but all instances must share the same length.\r\n tokenLength: token.length\r\n };\r\n });\r\n\r\n var truncMethod = trunc ? Math.floor : Math.round;\r\n var truncate = function (value, places) {\r\n var factor = Math.pow(10, places);\r\n return truncMethod(value * factor) / factor;\r\n };\r\n\r\n var foundFirst = false;\r\n var bubbled = false;\r\n\r\n var formatValue = function (momentType, index) {\r\n var formatOptions = {\r\n useGrouping: useGrouping,\r\n groupingSeparator: groupingSeparator,\r\n decimalSeparator: decimalSeparator,\r\n grouping: grouping,\r\n useToLocaleString: useToLocaleString\r\n };\r\n\r\n if (useSignificantDigits) {\r\n if (significantDigits <= 0) {\r\n momentType.rawValue = 0;\r\n momentType.wholeValue = 0;\r\n momentType.decimalValue = 0;\r\n } else {\r\n formatOptions.maximumSignificantDigits = significantDigits;\r\n momentType.significantDigits = significantDigits;\r\n }\r\n }\r\n\r\n if (isMaxValue && !bubbled) {\r\n if (momentType.isLargest) {\r\n momentType.wholeValue = maxValue;\r\n momentType.decimalValue = 0;\r\n } else {\r\n momentType.wholeValue = 0;\r\n momentType.decimalValue = 0;\r\n }\r\n }\r\n\r\n if (isMinValue && !bubbled) {\r\n if (momentType.isSmallest) {\r\n momentType.wholeValue = minValue;\r\n momentType.decimalValue = 0;\r\n } else {\r\n momentType.wholeValue = 0;\r\n momentType.decimalValue = 0;\r\n }\r\n }\r\n\r\n if (momentType.isSmallest || momentType.significantDigits && momentType.significantDigits - momentType.wholeValue.toString().length <= 0) {\r\n // Apply precision to least significant token value.\r\n if (precision < 0) {\r\n momentType.value = truncate(momentType.wholeValue, precision);\r\n } else if (precision === 0) {\r\n momentType.value = truncMethod(momentType.wholeValue + momentType.decimalValue);\r\n } else { // precision > 0\r\n if (useSignificantDigits) {\r\n if (trunc) {\r\n momentType.value = truncate(momentType.rawValue, significantDigits - momentType.wholeValue.toString().length);\r\n } else {\r\n momentType.value = momentType.rawValue;\r\n }\r\n\r\n if (momentType.wholeValue) {\r\n significantDigits -= momentType.wholeValue.toString().length;\r\n }\r\n } else {\r\n formatOptions.fractionDigits = precision;\r\n\r\n if (trunc) {\r\n momentType.value = momentType.wholeValue + truncate(momentType.decimalValue, precision);\r\n } else {\r\n momentType.value = momentType.wholeValue + momentType.decimalValue;\r\n }\r\n }\r\n }\r\n } else {\r\n if (useSignificantDigits && momentType.wholeValue) {\r\n // Outer Math.round required here to handle floating point errors.\r\n momentType.value = Math.round(truncate(momentType.wholeValue, momentType.significantDigits - momentType.wholeValue.toString().length));\r\n\r\n significantDigits -= momentType.wholeValue.toString().length;\r\n } else {\r\n momentType.value = momentType.wholeValue;\r\n }\r\n }\r\n\r\n if (momentType.tokenLength > 1 && (forceLength || foundFirst)) {\r\n formatOptions.minimumIntegerDigits = momentType.tokenLength;\r\n\r\n if (bubbled && formatOptions.maximumSignificantDigits < momentType.tokenLength) {\r\n delete formatOptions.maximumSignificantDigits;\r\n }\r\n }\r\n\r\n if (!foundFirst && (momentType.value > 0 || trim === \"\" /* trim: false */ || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\r\n foundFirst = true;\r\n }\r\n\r\n momentType.formattedValue = formatNumber(momentType.value, formatOptions, userLocale);\r\n\r\n formatOptions.useGrouping = false;\r\n formatOptions.decimalSeparator = \".\";\r\n momentType.formattedValueEn = formatNumber(momentType.value, formatOptions, \"en\");\r\n\r\n if (momentType.tokenLength === 2 && momentType.type === \"milliseconds\") {\r\n momentType.formattedValueMS = formatNumber(momentType.value, {\r\n minimumIntegerDigits: 3,\r\n useGrouping: false\r\n }, \"en\").slice(0, 2);\r\n }\r\n\r\n return momentType;\r\n };\r\n\r\n // Calculate formatted values.\r\n momentTypes = map(momentTypes, formatValue);\r\n momentTypes = compact(momentTypes);\r\n\r\n // Bubble rounded values.\r\n if (momentTypes.length > 1) {\r\n var findType = function (type) {\r\n return find(momentTypes, function (momentType) {\r\n return momentType.type === type;\r\n });\r\n };\r\n\r\n var bubbleTypes = function (bubble) {\r\n var bubbleMomentType = findType(bubble.type);\r\n\r\n if (!bubbleMomentType) {\r\n return;\r\n }\r\n\r\n each(bubble.targets, function (target) {\r\n var targetMomentType = findType(target.type);\r\n\r\n if (!targetMomentType) {\r\n return;\r\n }\r\n\r\n if (parseInt(bubbleMomentType.formattedValueEn, 10) === target.value) {\r\n bubbleMomentType.rawValue = 0;\r\n bubbleMomentType.wholeValue = 0;\r\n bubbleMomentType.decimalValue = 0;\r\n targetMomentType.rawValue += 1;\r\n targetMomentType.wholeValue += 1;\r\n targetMomentType.decimalValue = 0;\r\n targetMomentType.formattedValueEn = targetMomentType.wholeValue.toString();\r\n bubbled = true;\r\n }\r\n });\r\n };\r\n\r\n each(bubbles, bubbleTypes);\r\n }\r\n\r\n // Recalculate formatted values.\r\n if (bubbled) {\r\n foundFirst = false;\r\n significantDigits = significantDigitsCache;\r\n momentTypes = map(momentTypes, formatValue);\r\n momentTypes = compact(momentTypes);\r\n }\r\n\r\n if (outputTypes && !(isMaxValue && !settings.trim)) {\r\n momentTypes = map(momentTypes, function (momentType) {\r\n if (find(outputTypes, function (outputType) {\r\n return momentType.type === outputType;\r\n })) {\r\n return momentType;\r\n }\r\n\r\n return null;\r\n });\r\n\r\n momentTypes = compact(momentTypes);\r\n } else {\r\n // Trim Large.\r\n if (trimLarge) {\r\n momentTypes = rest(momentTypes, function (momentType) {\r\n // Stop trimming on:\r\n // - the smallest moment type\r\n // - a type marked for stopTrim\r\n // - a type that has a whole value\r\n return !momentType.isSmallest && !momentType.wholeValue && !find(stopTrim, momentType.type);\r\n });\r\n }\r\n\r\n // Largest.\r\n if (largest && momentTypes.length) {\r\n momentTypes = momentTypes.slice(0, largest);\r\n }\r\n\r\n // Trim Small.\r\n if (trimSmall && momentTypes.length > 1) {\r\n momentTypes = initial(momentTypes, function (momentType) {\r\n // Stop trimming on:\r\n // - a type marked for stopTrim\r\n // - a type that has a whole value\r\n // - the largest momentType\r\n return !momentType.wholeValue && !find(stopTrim, momentType.type) && !momentType.isLargest;\r\n });\r\n }\r\n\r\n // Trim Mid.\r\n if (trimMid) {\r\n momentTypes = map(momentTypes, function (momentType, index) {\r\n if (index > 0 && index < momentTypes.length - 1 && !momentType.wholeValue) {\r\n return null;\r\n }\r\n\r\n return momentType;\r\n });\r\n\r\n momentTypes = compact(momentTypes);\r\n }\r\n\r\n // Trim Final.\r\n if (trimFinal && momentTypes.length === 1 && !momentTypes[0].wholeValue && !(!trunc && momentTypes[0].isSmallest && momentTypes[0].rawValue < minValue)) {\r\n momentTypes = [];\r\n }\r\n }\r\n\r\n if (returnMomentTypes) {\r\n return momentTypes;\r\n }\r\n\r\n // Localize and pluralize unit labels.\r\n each(tokens, function (token) {\r\n var key = momentTokens[token.type];\r\n\r\n var momentType = find(momentTypes, function (momentType) {\r\n return momentType.type === token.type;\r\n });\r\n\r\n if (!key || !momentType) {\r\n return;\r\n }\r\n\r\n var values = momentType.formattedValueEn.split(\".\");\r\n\r\n values[0] = parseInt(values[0], 10);\r\n\r\n if (values[1]) {\r\n values[1] = parseFloat(\"0.\" + values[1], 10);\r\n } else {\r\n values[1] = null;\r\n }\r\n\r\n var pluralKey = localeData.durationPluralKey(key, values[0], values[1]);\r\n\r\n var labels = durationGetLabels(key, localeData);\r\n\r\n var autoLocalized = false;\r\n\r\n var pluralizedLabels = {};\r\n\r\n // Auto-Localized unit labels.\r\n each(localeData._durationLabelTypes, function (labelType) {\r\n var label = find(labels, function (label) {\r\n return label.type === labelType.type && label.key === pluralKey;\r\n });\r\n\r\n if (label) {\r\n pluralizedLabels[label.type] = label.label;\r\n\r\n if (stringIncludes(token.text, labelType.string)) {\r\n token.text = token.text.replace(labelType.string, label.label);\r\n autoLocalized = true;\r\n }\r\n }\r\n });\r\n\r\n // Auto-pluralized unit labels.\r\n if (usePlural && !autoLocalized) {\r\n labels.sort(durationLabelCompare);\r\n\r\n each(labels, function (label) {\r\n if (pluralizedLabels[label.type] === label.label) {\r\n if (stringIncludes(token.text, label.label)) {\r\n // Stop checking this token if its label is already\r\n // correctly pluralized.\r\n return false;\r\n }\r\n\r\n // Skip this label if it is correct, but not present in\r\n // the token's text.\r\n return;\r\n }\r\n\r\n if (stringIncludes(token.text, label.label)) {\r\n // Replece this token's label and stop checking.\r\n token.text = token.text.replace(label.label, pluralizedLabels[label.type]);\r\n return false;\r\n }\r\n });\r\n }\r\n });\r\n\r\n // Build ouptut.\r\n tokens = map(tokens, function (token) {\r\n if (!token.type) {\r\n return token.text;\r\n }\r\n\r\n var momentType = find(momentTypes, function (momentType) {\r\n return momentType.type === token.type;\r\n });\r\n\r\n if (!momentType) {\r\n return \"\";\r\n }\r\n\r\n var out = \"\";\r\n\r\n if (useLeftUnits) {\r\n out += token.text;\r\n }\r\n\r\n if (isNegative && isMaxValue || !isNegative && isMinValue) {\r\n out += \"< \";\r\n isMaxValue = false;\r\n isMinValue = false;\r\n }\r\n\r\n if (isNegative && isMinValue || !isNegative && isMaxValue) {\r\n out += \"> \";\r\n isMaxValue = false;\r\n isMinValue = false;\r\n }\r\n\r\n if (isNegative && (momentType.value > 0 || trim === \"\" || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\r\n out += \"-\";\r\n isNegative = false;\r\n }\r\n\r\n if (token.type === \"milliseconds\" && momentType.formattedValueMS) {\r\n out += momentType.formattedValueMS;\r\n } else {\r\n out += momentType.formattedValue;\r\n }\r\n\r\n if (!useLeftUnits) {\r\n out += token.text;\r\n }\r\n\r\n return out;\r\n });\r\n\r\n // Trim leading and trailing comma, space, colon, and dot.\r\n return tokens.join(\"\").replace(/(,| |:|\\.)*$/, \"\").replace(/^(,| |:|\\.)*/, \"\");\r\n }\r\n\r\n // defaultFormatTemplate\r\n function defaultFormatTemplate() {\r\n var dur = this.duration;\r\n\r\n var findType = function findType(type) {\r\n return dur._data[type];\r\n };\r\n\r\n var firstType = find(this.types, findType);\r\n\r\n var lastType = findLast(this.types, findType);\r\n\r\n // Default template strings for each duration dimension type.\r\n switch (firstType) {\r\n case \"milliseconds\":\r\n return \"S __\";\r\n case \"seconds\": // Fallthrough.\r\n case \"minutes\":\r\n return \"*_MS_\";\r\n case \"hours\":\r\n return \"_HMS_\";\r\n case \"days\": // Possible Fallthrough.\r\n if (firstType === lastType) {\r\n return \"d __\";\r\n }\r\n case \"weeks\":\r\n if (firstType === lastType) {\r\n return \"w __\";\r\n }\r\n\r\n if (this.trim === null) {\r\n this.trim = \"both\";\r\n }\r\n\r\n return \"w __, d __, h __\";\r\n case \"months\": // Possible Fallthrough.\r\n if (firstType === lastType) {\r\n return \"M __\";\r\n }\r\n case \"years\":\r\n if (firstType === lastType) {\r\n return \"y __\";\r\n }\r\n\r\n if (this.trim === null) {\r\n this.trim = \"both\";\r\n }\r\n\r\n return \"y __, M __, d __\";\r\n default:\r\n if (this.trim === null) {\r\n this.trim = \"both\";\r\n }\r\n\r\n return \"y __, d __, h __, m __, s __\";\r\n }\r\n }\r\n\r\n // init\r\n function init(context) {\r\n if (!context) {\r\n throw \"Moment Duration Format init cannot find moment instance.\";\r\n }\r\n\r\n context.duration.format = durationsFormat;\r\n context.duration.fn.format = durationFormat;\r\n\r\n context.duration.fn.format.defaults = {\r\n // Many options are defaulted to `null` to distinguish between\r\n // 'not set' and 'set to `false`'\r\n\r\n // trim\r\n // Can be a string, a delimited list of strings, an array of strings,\r\n // or a boolean.\r\n // \"large\" - will trim largest-magnitude zero-value tokens until\r\n // finding a token with a value, a token identified as 'stopTrim', or\r\n // the final token of the format string.\r\n // \"small\" - will trim smallest-magnitude zero-value tokens until\r\n // finding a token with a value, a token identified as 'stopTrim', or\r\n // the final token of the format string.\r\n // \"both\" - will execute \"large\" trim then \"small\" trim.\r\n // \"mid\" - will trim any zero-value tokens that are not the first or\r\n // last tokens. Usually used in conjunction with \"large\" or \"both\".\r\n // e.g. \"large mid\" or \"both mid\".\r\n // \"final\" - will trim the final token if it is zero-value. Use this\r\n // option with \"large\" or \"both\" to output an empty string when\r\n // formatting a zero-value duration. e.g. \"large final\" or \"both final\".\r\n // \"all\" - Will trim all zero-value tokens. Shorthand for \"both mid final\".\r\n // \"left\" - maps to \"large\" to support plugin's version 1 API.\r\n // \"right\" - maps to \"large\" to support plugin's version 1 API.\r\n // `false` - template tokens are not trimmed.\r\n // `true` - treated as \"large\".\r\n // `null` - treated as \"large\".\r\n trim: null,\r\n\r\n // stopTrim\r\n // A moment token string, a delimited set of moment token strings,\r\n // or an array of moment token strings. Trimming will stop when a token\r\n // listed in this option is reached. A \"*\" character in the format\r\n // template string will also mark a moment token as stopTrim.\r\n // e.g. \"d [days] *h:mm:ss\" will always stop trimming at the 'hours' token.\r\n stopTrim: null,\r\n\r\n // largest\r\n // Set to a positive integer to output only the \"n\" largest-magnitude\r\n // moment tokens that have a value. All lesser-magnitude moment tokens\r\n // will be ignored. This option takes effect even if `trim` is set\r\n // to `false`.\r\n largest: null,\r\n\r\n // maxValue\r\n // Use `maxValue` to render generalized output for large duration values,\r\n // e.g. `\"> 60 days\"`. `maxValue` must be a positive integer and is\r\n /// applied to the greatest-magnitude moment token in the format template.\r\n maxValue: null,\r\n\r\n // minValue\r\n // Use `minValue` to render generalized output for small duration values,\r\n // e.g. `\"< 5 minutes\"`. `minValue` must be a positive integer and is\r\n // applied to the least-magnitude moment token in the format template.\r\n minValue: null,\r\n\r\n // precision\r\n // If a positive integer, number of decimal fraction digits to render.\r\n // If a negative integer, number of integer place digits to truncate to 0.\r\n // If `useSignificantDigits` is set to `true` and `precision` is a positive\r\n // integer, sets the maximum number of significant digits used in the\r\n // formatted output.\r\n precision: 0,\r\n\r\n // trunc\r\n // Default behavior rounds final token value. Set to `true` to\r\n // truncate final token value, which was the default behavior in\r\n // version 1 of this plugin.\r\n trunc: false,\r\n\r\n // forceLength\r\n // Force first moment token with a value to render at full length\r\n // even when template is trimmed and first moment token has length of 1.\r\n forceLength: null,\r\n\r\n // userLocale\r\n // Formatted numerical output is rendered using `toLocaleString`\r\n // and the locale of the user's environment. Set this option to render\r\n // numerical output using a different locale. Unit names are rendered\r\n // and detected using the locale set in moment.js, which can be different\r\n // from the locale of user's environment.\r\n userLocale: null,\r\n\r\n // usePlural\r\n // Will automatically singularize or pluralize unit names when they\r\n // appear in the text associated with each moment token. Standard and\r\n // short unit labels are singularized and pluralized, based on locale.\r\n // e.g. in english, \"1 second\" or \"1 sec\" would be rendered instead\r\n // of \"1 seconds\" or \"1 secs\". The default pluralization function\r\n // renders a plural label for a value with decimal precision.\r\n // e.g. \"1.0 seconds\" is never rendered as \"1.0 second\".\r\n // Label types and pluralization function are configurable in the\r\n // localeData extensions.\r\n usePlural: true,\r\n\r\n // useLeftUnits\r\n // The text to the right of each moment token in a format string\r\n // is treated as that token's units for the purposes of trimming,\r\n // singularizing, and auto-localizing.\r\n // e.g. \"h [hours], m [minutes], s [seconds]\".\r\n // To properly singularize or localize a format string such as\r\n // \"[hours] h, [minutes] m, [seconds] s\", where the units appear\r\n // to the left of each moment token, set useLeftUnits to `true`.\r\n // This plugin is not tested in the context of rtl text.\r\n useLeftUnits: false,\r\n\r\n // useGrouping\r\n // Enables locale-based digit grouping in the formatted output. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\r\n useGrouping: true,\r\n\r\n // useSignificantDigits\r\n // Treat the `precision` option as the maximum significant digits\r\n // to be rendered. Precision must be a positive integer. Significant\r\n // digits extend across unit types,\r\n // e.g. \"6 hours 37.5 minutes\" represents 4 significant digits.\r\n // Enabling this option causes token length to be ignored. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\r\n useSignificantDigits: false,\r\n\r\n // template\r\n // The template string used to format the duration. May be a function\r\n // or a string. Template functions are executed with the `this` binding\r\n // of the settings object so that template strings may be dynamically\r\n // generated based on the duration object (accessible via `this.duration`)\r\n // or any of the other settings. Leading and trailing space, comma,\r\n // period, and colon characters are trimmed from the resulting string.\r\n template: defaultFormatTemplate,\r\n\r\n // useToLocaleString\r\n // Set this option to `false` to ignore the `toLocaleString` feature\r\n // test and force the use of the `formatNumber` fallback function\r\n // included in this plugin.\r\n useToLocaleString: true,\r\n\r\n // formatNumber fallback options.\r\n // When `toLocaleString` is detected and passes the feature test, the\r\n // following options will have no effect: `toLocaleString` will be used\r\n // for formatting and the grouping separator, decimal separator, and\r\n // integer digit grouping will be determined by the user locale.\r\n\r\n // groupingSeparator\r\n // The integer digit grouping separator used when using the fallback\r\n // formatNumber function.\r\n groupingSeparator: \",\",\r\n\r\n // decimalSeparator\r\n // The decimal separator used when using the fallback formatNumber\r\n // function.\r\n decimalSeparator: \".\",\r\n\r\n // grouping\r\n // The integer digit grouping used when using the fallback formatNumber\r\n // function. Must be an array. The default value of `[3]` gives the\r\n // standard 3-digit thousand/million/billion digit groupings for the\r\n // \"en\" locale. Setting this option to `[3, 2]` would generate the\r\n // thousand/lakh/crore digit groupings used in the \"en-IN\" locale.\r\n grouping: [3]\r\n };\r\n\r\n context.updateLocale('en', engLocale);\r\n }\r\n\r\n // Run feature tests for `Number#toLocaleString`.\r\n var toLocaleStringFormatter = function(number, locale, options) {\r\n return number.toLocaleString(locale, options);\r\n };\r\n\r\n toLocaleStringWorks = toLocaleStringSupportsLocales() && featureTestFormatter(toLocaleStringFormatter);\r\n toLocaleStringRoundingWorks = toLocaleStringWorks && featureTestFormatterRounding(toLocaleStringFormatter);\r\n\r\n // Run feature tests for `Intl.NumberFormat#format`.\r\n var intlNumberFormatFormatter = function(number, locale, options) {\r\n if (typeof window !== 'undefined' && window && window.Intl && window.Intl.NumberFormat) {\r\n return window.Intl.NumberFormat(locale, options).format(number);\r\n }\r\n };\r\n\r\n intlNumberFormatWorks = featureTestFormatter(intlNumberFormatFormatter);\r\n intlNumberFormatRoundingWorks = intlNumberFormatWorks && featureTestFormatterRounding(intlNumberFormatFormatter);\r\n\r\n // Initialize duration format on the global moment instance.\r\n init(moment);\r\n\r\n // Return the init function so that duration format can be\r\n // initialized on other moment instances.\r\n return init;\r\n});\r\n\n/*\r\n * Slim v4.6.4 - Image Cropping Made Easy\r\n * Copyright (c) 2017 Rik Schennink - http://slimimagecropper.com\r\n */\r\nwindow.Slim = (function () {\r\n\r\n\t// custom event polyfill for IE10\r\n\t(function () {\r\n\t\tif (typeof window.CustomEvent === 'function') return false;\r\n\r\n\t\tfunction CustomEvent(event, params) {\r\n\t\t\tparams = params || { bubbles: false, cancelable: false, detail: undefined };\r\n\t\t\tvar evt = document.createEvent('CustomEvent');\r\n\t\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n\t\t\treturn evt;\r\n\t\t}\r\n\r\n\t\tCustomEvent.prototype = window.Event.prototype;\r\n\r\n\t\twindow.CustomEvent = CustomEvent;\r\n\t})();\r\n\t/*\r\n\t* JavaScript Load Image\r\n\t* https://github.com/blueimp/JavaScript-Load-Image\r\n\t*\r\n\t* Copyright 2011, Sebastian Tschan\r\n\t* https://blueimp.net\r\n\t*\r\n\t* Licensed under the MIT license:\r\n\t* http://www.opensource.org/licenses/MIT\r\n\t*/\r\n\r\n\t/*global define, module, window, document, URL, webkitURL, FileReader */\r\n\r\n\t// Loads an image for a given File object.\r\n\t// Invokes the callback with an img or optional canvas\r\n\t// element (if supported by the browser) as parameter:\r\n\tvar loadImage = function (file, callback, options) {\r\n\t\tvar img = document.createElement('img')\r\n\t\tvar url\r\n\t\tvar oUrl\r\n\t\timg.onerror = callback\r\n\t\timg.onload = function () {\r\n\t\t\tif (oUrl && !(options && options.noRevoke)) {\r\n\t\t\t\tloadImage.revokeObjectURL(oUrl)\r\n\t\t\t}\r\n\t\t\tif (callback) {\r\n\t\t\t\tcallback(loadImage.scale(img, options))\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (loadImage.isInstanceOf('Blob', file) ||\r\n\t\t\t// Files are also Blob instances, but some browsers\r\n\t\t\t// (Firefox 3.6) support the File API but not Blobs:\r\n\t\t\tloadImage.isInstanceOf('File', file)) {\r\n\t\t\turl = oUrl = loadImage.createObjectURL(file)\r\n\t\t\t// Store the file type for resize processing:\r\n\t\t\timg._type = file.type\r\n\t\t} else if (typeof file === 'string') {\r\n\t\t\turl = file\r\n\t\t\tif (options && options.crossOrigin) {\r\n\t\t\t\timg.crossOrigin = options.crossOrigin\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (url) {\r\n\t\t\timg.src = url\r\n\t\t\treturn img\r\n\t\t}\r\n\t\treturn loadImage.readFile(file, function (e) {\r\n\t\t\tvar target = e.target\r\n\t\t\tif (target && target.result) {\r\n\t\t\t\timg.src = target.result\r\n\t\t\t} else {\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(e)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\t// The check for URL.revokeObjectURL fixes an issue with Opera 12,\r\n\t// which provides URL.createObjectURL but doesn't properly implement it:\r\n\tvar urlAPI = (window.createObjectURL && window) ||\r\n\t\t(window.URL && URL.revokeObjectURL && URL) ||\r\n\t\t(window.webkitURL && webkitURL)\r\n\r\n\tloadImage.isInstanceOf = function (type, obj) {\r\n\t\t// Cross-frame instanceof check\r\n\t\treturn Object.prototype.toString.call(obj) === '[object ' + type + ']'\r\n\t}\r\n\r\n\t// Transform image coordinates, allows to override e.g.\r\n\t// the canvas orientation based on the orientation option,\r\n\t// gets canvas, options passed as arguments:\r\n\tloadImage.transformCoordinates = function () {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Returns transformed options, allows to override e.g.\r\n\t// maxWidth, maxHeight and crop options based on the aspectRatio.\r\n\t// gets img, options passed as arguments:\r\n\tloadImage.getTransformedOptions = function (img, options) {\r\n\t\tvar aspectRatio = options.aspectRatio\r\n\t\tvar newOptions\r\n\t\tvar i\r\n\t\tvar width\r\n\t\tvar height\r\n\t\tif (!aspectRatio) {\r\n\t\t\treturn options\r\n\t\t}\r\n\t\tnewOptions = {}\r\n\t\tfor (i in options) {\r\n\t\t\tif (options.hasOwnProperty(i)) {\r\n\t\t\t\tnewOptions[i] = options[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\tnewOptions.crop = true\r\n\t\twidth = img.naturalWidth || img.width\r\n\t\theight = img.naturalHeight || img.height\r\n\t\tif (width / height > aspectRatio) {\r\n\t\t\tnewOptions.maxWidth = height * aspectRatio\r\n\t\t\tnewOptions.maxHeight = height\r\n\t\t} else {\r\n\t\t\tnewOptions.maxWidth = width\r\n\t\t\tnewOptions.maxHeight = width / aspectRatio\r\n\t\t}\r\n\t\treturn newOptions\r\n\t}\r\n\r\n\t// Canvas render method, allows to implement a different rendering algorithm:\r\n\tloadImage.renderImageToCanvas = function (\r\n\t\tcanvas,\r\n\t\timg,\r\n\t\tsourceX,\r\n\t\tsourceY,\r\n\t\tsourceWidth,\r\n\t\tsourceHeight,\r\n\t\tdestX,\r\n\t\tdestY,\r\n\t\tdestWidth,\r\n\t\tdestHeight\r\n\t) {\r\n\t\tcanvas.getContext('2d').drawImage(\r\n\t\t\timg,\r\n\t\t\tsourceX,\r\n\t\t\tsourceY,\r\n\t\t\tsourceWidth,\r\n\t\t\tsourceHeight,\r\n\t\t\tdestX,\r\n\t\t\tdestY,\r\n\t\t\tdestWidth,\r\n\t\t\tdestHeight\r\n\t\t)\r\n\t\treturn canvas\r\n\t}\r\n\r\n\t// This method is used to determine if the target image\r\n\t// should be a canvas element:\r\n\tloadImage.hasCanvasOption = function (options) {\r\n\t\treturn options.canvas || options.crop || !!options.aspectRatio\r\n\t}\r\n\r\n\t// Scales and/or crops the given image (img or canvas HTML element)\r\n\t// using the given options.\r\n\t// Returns a canvas object if the browser supports canvas\r\n\t// and the hasCanvasOption method returns true or a canvas\r\n\t// object is passed as image, else the scaled image:\r\n\tloadImage.scale = function (img, options) {\r\n\t\toptions = options || {}\r\n\t\tvar canvas = document.createElement('canvas')\r\n\t\tvar useCanvas = img.getContext ||\r\n\t\t\t(loadImage.hasCanvasOption(options) && canvas.getContext)\r\n\t\tvar width = img.naturalWidth || img.width\r\n\t\tvar height = img.naturalHeight || img.height\r\n\t\tvar destWidth = width\r\n\t\tvar destHeight = height\r\n\t\tvar maxWidth\r\n\t\tvar maxHeight\r\n\t\tvar minWidth\r\n\t\tvar minHeight\r\n\t\tvar sourceWidth\r\n\t\tvar sourceHeight\r\n\t\tvar sourceX\r\n\t\tvar sourceY\r\n\t\tvar pixelRatio\r\n\t\tvar downsamplingRatio\r\n\t\tvar tmp\r\n\t\tfunction scaleUp() {\r\n\t\t\tvar scale = Math.max(\r\n\t\t\t\t(minWidth || destWidth) / destWidth,\r\n\t\t\t\t(minHeight || destHeight) / destHeight\r\n\t\t\t)\r\n\t\t\tif (scale > 1) {\r\n\t\t\t\tdestWidth *= scale\r\n\t\t\t\tdestHeight *= scale\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction scaleDown() {\r\n\t\t\tvar scale = Math.min(\r\n\t\t\t\t(maxWidth || destWidth) / destWidth,\r\n\t\t\t\t(maxHeight || destHeight) / destHeight\r\n\t\t\t)\r\n\t\t\tif (scale < 1) {\r\n\t\t\t\tdestWidth *= scale\r\n\t\t\t\tdestHeight *= scale\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (useCanvas) {\r\n\t\t\toptions = loadImage.getTransformedOptions(img, options)\r\n\t\t\tsourceX = options.left || 0\r\n\t\t\tsourceY = options.top || 0\r\n\t\t\tif (options.sourceWidth) {\r\n\t\t\t\tsourceWidth = options.sourceWidth\r\n\t\t\t\tif (options.right !== undefined && options.left === undefined) {\r\n\t\t\t\t\tsourceX = width - sourceWidth - options.right\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsourceWidth = width - sourceX - (options.right || 0)\r\n\t\t\t}\r\n\t\t\tif (options.sourceHeight) {\r\n\t\t\t\tsourceHeight = options.sourceHeight\r\n\t\t\t\tif (options.bottom !== undefined && options.top === undefined) {\r\n\t\t\t\t\tsourceY = height - sourceHeight - options.bottom\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsourceHeight = height - sourceY - (options.bottom || 0)\r\n\t\t\t}\r\n\t\t\tdestWidth = sourceWidth\r\n\t\t\tdestHeight = sourceHeight\r\n\t\t}\r\n\t\tmaxWidth = options.maxWidth\r\n\t\tmaxHeight = options.maxHeight\r\n\t\tminWidth = options.minWidth\r\n\t\tminHeight = options.minHeight\r\n\t\tif (useCanvas && maxWidth && maxHeight && options.crop) {\r\n\t\t\tdestWidth = maxWidth\r\n\t\t\tdestHeight = maxHeight\r\n\t\t\ttmp = sourceWidth / sourceHeight - maxWidth / maxHeight\r\n\t\t\tif (tmp < 0) {\r\n\t\t\t\tsourceHeight = maxHeight * sourceWidth / maxWidth\r\n\t\t\t\tif (options.top === undefined && options.bottom === undefined) {\r\n\t\t\t\t\tsourceY = (height - sourceHeight) / 2\r\n\t\t\t\t}\r\n\t\t\t} else if (tmp > 0) {\r\n\t\t\t\tsourceWidth = maxWidth * sourceHeight / maxHeight\r\n\t\t\t\tif (options.left === undefined && options.right === undefined) {\r\n\t\t\t\t\tsourceX = (width - sourceWidth) / 2\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (options.contain || options.cover) {\r\n\t\t\t\tminWidth = maxWidth = maxWidth || minWidth\r\n\t\t\t\tminHeight = maxHeight = maxHeight || minHeight\r\n\t\t\t}\r\n\t\t\tif (options.cover) {\r\n\t\t\t\tscaleDown()\r\n\t\t\t\tscaleUp()\r\n\t\t\t} else {\r\n\t\t\t\tscaleUp()\r\n\t\t\t\tscaleDown()\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (useCanvas) {\r\n\t\t\tpixelRatio = options.pixelRatio\r\n\t\t\tif (pixelRatio > 1) {\r\n\t\t\t\tcanvas.style.width = destWidth + 'px'\r\n\t\t\t\tcanvas.style.height = destHeight + 'px'\r\n\t\t\t\tdestWidth *= pixelRatio\r\n\t\t\t\tdestHeight *= pixelRatio\r\n\t\t\t\tcanvas.getContext('2d').scale(pixelRatio, pixelRatio)\r\n\t\t\t}\r\n\t\t\tdownsamplingRatio = options.downsamplingRatio\r\n\t\t\tif (downsamplingRatio > 0 && downsamplingRatio < 1 &&\r\n\t\t\t\tdestWidth < sourceWidth && destHeight < sourceHeight) {\r\n\t\t\t\twhile (sourceWidth * downsamplingRatio > destWidth) {\r\n\t\t\t\t\tcanvas.width = sourceWidth * downsamplingRatio\r\n\t\t\t\t\tcanvas.height = sourceHeight * downsamplingRatio\r\n\t\t\t\t\tloadImage.renderImageToCanvas(\r\n\t\t\t\t\t\tcanvas,\r\n\t\t\t\t\t\timg,\r\n\t\t\t\t\t\tsourceX,\r\n\t\t\t\t\t\tsourceY,\r\n\t\t\t\t\t\tsourceWidth,\r\n\t\t\t\t\t\tsourceHeight,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tcanvas.width,\r\n\t\t\t\t\t\tcanvas.height\r\n\t\t\t\t\t)\r\n\t\t\t\t\tsourceWidth = canvas.width\r\n\t\t\t\t\tsourceHeight = canvas.height\r\n\t\t\t\t\timg = document.createElement('canvas')\r\n\t\t\t\t\timg.width = sourceWidth\r\n\t\t\t\t\timg.height = sourceHeight\r\n\t\t\t\t\tloadImage.renderImageToCanvas(\r\n\t\t\t\t\t\timg,\r\n\t\t\t\t\t\tcanvas,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tsourceWidth,\r\n\t\t\t\t\t\tsourceHeight,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tsourceWidth,\r\n\t\t\t\t\t\tsourceHeight\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcanvas.width = destWidth\r\n\t\t\tcanvas.height = destHeight\r\n\t\t\tloadImage.transformCoordinates(\r\n\t\t\t\tcanvas,\r\n\t\t\t\toptions\r\n\t\t\t)\r\n\t\t\treturn loadImage.renderImageToCanvas(\r\n\t\t\t\tcanvas,\r\n\t\t\t\timg,\r\n\t\t\t\tsourceX,\r\n\t\t\t\tsourceY,\r\n\t\t\t\tsourceWidth,\r\n\t\t\t\tsourceHeight,\r\n\t\t\t\t0,\r\n\t\t\t\t0,\r\n\t\t\t\tdestWidth,\r\n\t\t\t\tdestHeight\r\n\t\t\t)\r\n\t\t}\r\n\t\timg.width = destWidth\r\n\t\timg.height = destHeight\r\n\t\treturn img\r\n\t}\r\n\r\n\tloadImage.createObjectURL = function (file) {\r\n\t\treturn urlAPI ? urlAPI.createObjectURL(file) : false\r\n\t}\r\n\r\n\tloadImage.revokeObjectURL = function (url) {\r\n\t\treturn urlAPI ? urlAPI.revokeObjectURL(url) : false\r\n\t}\r\n\r\n\t// Loads a given File object via FileReader interface,\r\n\t// invokes the callback with the event object (load or error).\r\n\t// The result can be read via event.target.result:\r\n\tloadImage.readFile = function (file, callback, method) {\r\n\t\tif (window.FileReader) {\r\n\t\t\tvar fileReader = new FileReader()\r\n\t\t\tfileReader.onload = fileReader.onerror = callback\r\n\t\t\tmethod = method || 'readAsDataURL'\r\n\t\t\tif (fileReader[method]) {\r\n\t\t\t\tfileReader[method](file)\r\n\t\t\t\treturn fileReader\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\r\n\tvar originalHasCanvasOption = loadImage.hasCanvasOption\r\n\tvar originalTransformCoordinates = loadImage.transformCoordinates\r\n\tvar originalGetTransformedOptions = loadImage.getTransformedOptions\r\n\r\n\t// This method is used to determine if the target image\r\n\t// should be a canvas element:\r\n\tloadImage.hasCanvasOption = function (options) {\r\n\t\treturn !!options.orientation ||\r\n\t\t\toriginalHasCanvasOption.call(loadImage, options)\r\n\t}\r\n\r\n\t// Transform image orientation based on\r\n\t// the given EXIF orientation option:\r\n\tloadImage.transformCoordinates = function (canvas, options) {\r\n\t\toriginalTransformCoordinates.call(loadImage, canvas, options)\r\n\t\tvar ctx = canvas.getContext('2d')\r\n\t\tvar width = canvas.width\r\n\t\tvar height = canvas.height\r\n\t\tvar styleWidth = canvas.style.width\r\n\t\tvar styleHeight = canvas.style.height\r\n\t\tvar orientation = options.orientation\r\n\t\tif (!orientation || orientation > 8) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif (orientation > 4) {\r\n\t\t\tcanvas.width = height\r\n\t\t\tcanvas.height = width\r\n\t\t\tcanvas.style.width = styleHeight\r\n\t\t\tcanvas.style.height = styleWidth\r\n\t\t}\r\n\t\tswitch (orientation) {\r\n\t\t\tcase 2:\r\n\t\t\t\t// horizontal flip\r\n\t\t\t\tctx.translate(width, 0)\r\n\t\t\t\tctx.scale(-1, 1)\r\n\t\t\t\tbreak\r\n\t\t\tcase 3:\r\n\t\t\t\t// 180ยฐ rotate left\r\n\t\t\t\tctx.translate(width, height)\r\n\t\t\t\tctx.rotate(Math.PI)\r\n\t\t\t\tbreak\r\n\t\t\tcase 4:\r\n\t\t\t\t// vertical flip\r\n\t\t\t\tctx.translate(0, height)\r\n\t\t\t\tctx.scale(1, -1)\r\n\t\t\t\tbreak\r\n\t\t\tcase 5:\r\n\t\t\t\t// vertical flip + 90 rotate right\r\n\t\t\t\tctx.rotate(0.5 * Math.PI)\r\n\t\t\t\tctx.scale(1, -1)\r\n\t\t\t\tbreak\r\n\t\t\tcase 6:\r\n\t\t\t\t// 90ยฐ rotate right\r\n\t\t\t\tctx.rotate(0.5 * Math.PI)\r\n\t\t\t\tctx.translate(0, -height)\r\n\t\t\t\tbreak\r\n\t\t\tcase 7:\r\n\t\t\t\t// horizontal flip + 90 rotate right\r\n\t\t\t\tctx.rotate(0.5 * Math.PI)\r\n\t\t\t\tctx.translate(width, -height)\r\n\t\t\t\tctx.scale(-1, 1)\r\n\t\t\t\tbreak\r\n\t\t\tcase 8:\r\n\t\t\t\t// 90ยฐ rotate left\r\n\t\t\t\tctx.rotate(-0.5 * Math.PI)\r\n\t\t\t\tctx.translate(-width, 0)\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// Transforms coordinate and dimension options\r\n\t// based on the given orientation option:\r\n\tloadImage.getTransformedOptions = function (img, opts) {\r\n\t\tvar options = originalGetTransformedOptions.call(loadImage, img, opts)\r\n\t\tvar orientation = options.orientation\r\n\t\tvar newOptions\r\n\t\tvar i\r\n\t\tif (!orientation || orientation > 8 || orientation === 1) {\r\n\t\t\treturn options\r\n\t\t}\r\n\t\tnewOptions = {}\r\n\t\tfor (i in options) {\r\n\t\t\tif (options.hasOwnProperty(i)) {\r\n\t\t\t\tnewOptions[i] = options[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\tswitch (options.orientation) {\r\n\t\t\tcase 2:\r\n\t\t\t\t// horizontal flip\r\n\t\t\t\tnewOptions.left = options.right\r\n\t\t\t\tnewOptions.right = options.left\r\n\t\t\t\tbreak\r\n\t\t\tcase 3:\r\n\t\t\t\t// 180ยฐ rotate left\r\n\t\t\t\tnewOptions.left = options.right\r\n\t\t\t\tnewOptions.top = options.bottom\r\n\t\t\t\tnewOptions.right = options.left\r\n\t\t\t\tnewOptions.bottom = options.top\r\n\t\t\t\tbreak\r\n\t\t\tcase 4:\r\n\t\t\t\t// vertical flip\r\n\t\t\t\tnewOptions.top = options.bottom\r\n\t\t\t\tnewOptions.bottom = options.top\r\n\t\t\t\tbreak\r\n\t\t\tcase 5:\r\n\t\t\t\t// vertical flip + 90 rotate right\r\n\t\t\t\tnewOptions.left = options.top\r\n\t\t\t\tnewOptions.top = options.left\r\n\t\t\t\tnewOptions.right = options.bottom\r\n\t\t\t\tnewOptions.bottom = options.right\r\n\t\t\t\tbreak\r\n\t\t\tcase 6:\r\n\t\t\t\t// 90ยฐ rotate right\r\n\t\t\t\tnewOptions.left = options.top\r\n\t\t\t\tnewOptions.top = options.right\r\n\t\t\t\tnewOptions.right = options.bottom\r\n\t\t\t\tnewOptions.bottom = options.left\r\n\t\t\t\tbreak\r\n\t\t\tcase 7:\r\n\t\t\t\t// horizontal flip + 90 rotate right\r\n\t\t\t\tnewOptions.left = options.bottom\r\n\t\t\t\tnewOptions.top = options.right\r\n\t\t\t\tnewOptions.right = options.top\r\n\t\t\t\tnewOptions.bottom = options.left\r\n\t\t\t\tbreak\r\n\t\t\tcase 8:\r\n\t\t\t\t// 90ยฐ rotate left\r\n\t\t\t\tnewOptions.left = options.bottom\r\n\t\t\t\tnewOptions.top = options.left\r\n\t\t\t\tnewOptions.right = options.top\r\n\t\t\t\tnewOptions.bottom = options.right\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t\tif (options.orientation > 4) {\r\n\t\t\tnewOptions.maxWidth = options.maxHeight\r\n\t\t\tnewOptions.maxHeight = options.maxWidth\r\n\t\t\tnewOptions.minWidth = options.minHeight\r\n\t\t\tnewOptions.minHeight = options.minWidth\r\n\t\t\tnewOptions.sourceWidth = options.sourceHeight\r\n\t\t\tnewOptions.sourceHeight = options.sourceWidth\r\n\t\t}\r\n\t\treturn newOptions\r\n\t}\r\n\r\n\tvar hasblobSlice = window.Blob && (Blob.prototype.slice ||\r\n\t\tBlob.prototype.webkitSlice || Blob.prototype.mozSlice)\r\n\r\n\tloadImage.blobSlice = hasblobSlice && function () {\r\n\t\tvar slice = this.slice || this.webkitSlice || this.mozSlice\r\n\t\treturn slice.apply(this, arguments)\r\n\t}\r\n\r\n\tloadImage.metaDataParsers = {\r\n\t\tjpeg: {\r\n\t\t\t0xffe1: [] // APP1 marker\r\n\t\t}\r\n\t}\r\n\r\n\t// Parses image meta data and calls the callback with an object argument\r\n\t// with the following properties:\r\n\t// * imageHead: The complete image head as ArrayBuffer (Uint8Array for IE10)\r\n\t// The options arguments accepts an object and supports the following properties:\r\n\t// * maxMetaDataSize: Defines the maximum number of bytes to parse.\r\n\t// * disableImageHead: Disables creating the imageHead property.\r\n\tloadImage.parseMetaData = function (file, callback, options) {\r\n\t\toptions = options || {}\r\n\t\tvar that = this\r\n\t\t// 256 KiB should contain all EXIF/ICC/IPTC segments:\r\n\t\tvar maxMetaDataSize = options.maxMetaDataSize || 262144\r\n\t\tvar data = {}\r\n\t\tvar noMetaData = !(window.DataView && file && file.size >= 12 &&\r\n\t\t\tfile.type === 'image/jpeg' && loadImage.blobSlice)\r\n\t\tif (noMetaData || !loadImage.readFile(\r\n\t\t\tloadImage.blobSlice.call(file, 0, maxMetaDataSize),\r\n\t\t\tfunction (e) {\r\n\t\t\t\tif (e.target.error) {\r\n\t\t\t\t\t// FileReader error\r\n\t\t\t\t\t//console.log(e.target.error)\r\n\t\t\t\t\tcallback(data)\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\t// Note on endianness:\r\n\t\t\t\t// Since the marker and length bytes in JPEG files are always\r\n\t\t\t\t// stored in big endian order, we can leave the endian parameter\r\n\t\t\t\t// of the DataView methods undefined, defaulting to big endian.\r\n\t\t\t\tvar buffer = e.target.result\r\n\t\t\t\tvar dataView = new DataView(buffer)\r\n\t\t\t\tvar offset = 2\r\n\t\t\t\tvar maxOffset = dataView.byteLength - 4\r\n\t\t\t\tvar headLength = offset\r\n\t\t\t\tvar markerBytes\r\n\t\t\t\tvar markerLength\r\n\t\t\t\tvar parsers\r\n\t\t\t\tvar i\r\n\t\t\t\t// Check for the JPEG marker (0xffd8):\r\n\t\t\t\tif (dataView.getUint16(0) === 0xffd8) {\r\n\t\t\t\t\twhile (offset < maxOffset) {\r\n\t\t\t\t\t\tmarkerBytes = dataView.getUint16(offset)\r\n\t\t\t\t\t\t// Search for APPn (0xffeN) and COM (0xfffe) markers,\r\n\t\t\t\t\t\t// which contain application-specific meta-data like\r\n\t\t\t\t\t\t// Exif, ICC and IPTC data and text comments:\r\n\t\t\t\t\t\tif ((markerBytes >= 0xffe0 && markerBytes <= 0xffef) ||\r\n\t\t\t\t\t\t\tmarkerBytes === 0xfffe) {\r\n\t\t\t\t\t\t\t// The marker bytes (2) are always followed by\r\n\t\t\t\t\t\t\t// the length bytes (2), indicating the length of the\r\n\t\t\t\t\t\t\t// marker segment, which includes the length bytes,\r\n\t\t\t\t\t\t\t// but not the marker bytes, so we add 2:\r\n\t\t\t\t\t\t\tmarkerLength = dataView.getUint16(offset + 2) + 2\r\n\t\t\t\t\t\t\tif (offset + markerLength > dataView.byteLength) {\r\n\t\t\t\t\t\t\t\t//console.log('Invalid meta data: Invalid segment size.')\r\n\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tparsers = loadImage.metaDataParsers.jpeg[markerBytes]\r\n\t\t\t\t\t\t\tif (parsers) {\r\n\t\t\t\t\t\t\t\tfor (i = 0; i < parsers.length; i += 1) {\r\n\t\t\t\t\t\t\t\t\tparsers[i].call(\r\n\t\t\t\t\t\t\t\t\t\tthat,\r\n\t\t\t\t\t\t\t\t\t\tdataView,\r\n\t\t\t\t\t\t\t\t\t\toffset,\r\n\t\t\t\t\t\t\t\t\t\tmarkerLength,\r\n\t\t\t\t\t\t\t\t\t\tdata,\r\n\t\t\t\t\t\t\t\t\t\toptions\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\toffset += markerLength\r\n\t\t\t\t\t\t\theadLength = offset\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// Not an APPn or COM marker, probably safe to\r\n\t\t\t\t\t\t\t// assume that this is the end of the meta data\r\n\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Meta length must be longer than JPEG marker (2)\r\n\t\t\t\t\t// plus APPn marker (2), followed by length bytes (2):\r\n\t\t\t\t\tif (!options.disableImageHead && headLength > 6) {\r\n\t\t\t\t\t\tif (buffer.slice) {\r\n\t\t\t\t\t\t\tdata.imageHead = buffer.slice(0, headLength)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// Workaround for IE10, which does not yet\r\n\t\t\t\t\t\t\t// support ArrayBuffer.slice:\r\n\t\t\t\t\t\t\tdata.imageHead = new Uint8Array(buffer)\r\n\t\t\t\t\t\t\t\t.subarray(0, headLength)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//console.log('Invalid JPEG file: Missing JPEG marker.')\r\n\t\t\t\t}\r\n\t\t\t\tcallback(data)\r\n\t\t\t},\r\n\t\t\t'readAsArrayBuffer'\r\n\t\t)) {\r\n\t\t\tcallback(data)\r\n\t\t}\r\n\t}\r\n\r\n\tloadImage.ExifMap = function () {\r\n\t\treturn this\r\n\t}\r\n\r\n\tloadImage.ExifMap.prototype.map = {\r\n\t\t'Orientation': 0x0112\r\n\t}\r\n\r\n\tloadImage.ExifMap.prototype.get = function (id) {\r\n\t\treturn this[id] || this[this.map[id]]\r\n\t}\r\n\r\n\tloadImage.getExifThumbnail = function (dataView, offset, length) {\r\n\t\tvar hexData,\r\n\t\t\ti,\r\n\t\t\tb\r\n\t\tif (!length || offset + length > dataView.byteLength) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid thumbnail data.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\thexData = []\r\n\t\tfor (i = 0; i < length; i += 1) {\r\n\t\t\tb = dataView.getUint8(offset + i)\r\n\t\t\thexData.push((b < 16 ? '0' : '') + b.toString(16))\r\n\t\t}\r\n\t\treturn 'data:image/jpeg,%' + hexData.join('%')\r\n\t}\r\n\r\n\tloadImage.exifTagTypes = {\r\n\t\t// byte, 8-bit unsigned int:\r\n\t\t1: {\r\n\t\t\tgetValue: function (dataView, dataOffset) {\r\n\t\t\t\treturn dataView.getUint8(dataOffset)\r\n\t\t\t},\r\n\t\t\tsize: 1\r\n\t\t},\r\n\t\t// ascii, 8-bit byte:\r\n\t\t2: {\r\n\t\t\tgetValue: function (dataView, dataOffset) {\r\n\t\t\t\treturn String.fromCharCode(dataView.getUint8(dataOffset))\r\n\t\t\t},\r\n\t\t\tsize: 1,\r\n\t\t\tascii: true\r\n\t\t},\r\n\t\t// short, 16 bit int:\r\n\t\t3: {\r\n\t\t\tgetValue: function (dataView, dataOffset, littleEndian) {\r\n\t\t\t\treturn dataView.getUint16(dataOffset, littleEndian)\r\n\t\t\t},\r\n\t\t\tsize: 2\r\n\t\t},\r\n\t\t// long, 32 bit int:\r\n\t\t4: {\r\n\t\t\tgetValue: function (dataView, dataOffset, littleEndian) {\r\n\t\t\t\treturn dataView.getUint32(dataOffset, littleEndian)\r\n\t\t\t},\r\n\t\t\tsize: 4\r\n\t\t},\r\n\t\t// rational = two long values, first is numerator, second is denominator:\r\n\t\t5: {\r\n\t\t\tgetValue: function (dataView, dataOffset, littleEndian) {\r\n\t\t\t\treturn dataView.getUint32(dataOffset, littleEndian) /\r\n\t\t\t\t\tdataView.getUint32(dataOffset + 4, littleEndian)\r\n\t\t\t},\r\n\t\t\tsize: 8\r\n\t\t},\r\n\t\t// slong, 32 bit signed int:\r\n\t\t9: {\r\n\t\t\tgetValue: function (dataView, dataOffset, littleEndian) {\r\n\t\t\t\treturn dataView.getInt32(dataOffset, littleEndian)\r\n\t\t\t},\r\n\t\t\tsize: 4\r\n\t\t},\r\n\t\t// srational, two slongs, first is numerator, second is denominator:\r\n\t\t10: {\r\n\t\t\tgetValue: function (dataView, dataOffset, littleEndian) {\r\n\t\t\t\treturn dataView.getInt32(dataOffset, littleEndian) /\r\n\t\t\t\t\tdataView.getInt32(dataOffset + 4, littleEndian)\r\n\t\t\t},\r\n\t\t\tsize: 8\r\n\t\t}\r\n\t}\r\n\t// undefined, 8-bit byte, value depending on field:\r\n\tloadImage.exifTagTypes[7] = loadImage.exifTagTypes[1]\r\n\r\n\tloadImage.getExifValue = function (dataView, tiffOffset, offset, type, length, littleEndian) {\r\n\t\tvar tagType = loadImage.exifTagTypes[type]\r\n\t\tvar tagSize\r\n\t\tvar dataOffset\r\n\t\tvar values\r\n\t\tvar i\r\n\t\tvar str\r\n\t\tvar c\r\n\t\tif (!tagType) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid tag type.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\ttagSize = tagType.size * length\r\n\t\t// Determine if the value is contained in the dataOffset bytes,\r\n\t\t// or if the value at the dataOffset is a pointer to the actual data:\r\n\t\tdataOffset = tagSize > 4\r\n\t\t\t? tiffOffset + dataView.getUint32(offset + 8, littleEndian)\r\n\t\t\t: (offset + 8)\r\n\t\tif (dataOffset + tagSize > dataView.byteLength) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid data offset.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif (length === 1) {\r\n\t\t\treturn tagType.getValue(dataView, dataOffset, littleEndian)\r\n\t\t}\r\n\t\tvalues = []\r\n\t\tfor (i = 0; i < length; i += 1) {\r\n\t\t\tvalues[i] = tagType.getValue(dataView, dataOffset + i * tagType.size, littleEndian)\r\n\t\t}\r\n\t\tif (tagType.ascii) {\r\n\t\t\tstr = ''\r\n\t\t\t// Concatenate the chars:\r\n\t\t\tfor (i = 0; i < values.length; i += 1) {\r\n\t\t\t\tc = values[i]\r\n\t\t\t\t// Ignore the terminating NULL byte(s):\r\n\t\t\t\tif (c === '\\u0000') {\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t\tstr += c\r\n\t\t\t}\r\n\t\t\treturn str\r\n\t\t}\r\n\t\treturn values\r\n\t}\r\n\r\n\tloadImage.parseExifTag = function (dataView, tiffOffset, offset, littleEndian, data) {\r\n\t\tvar tag = dataView.getUint16(offset, littleEndian)\r\n\t\tdata.exif[tag] = loadImage.getExifValue(\r\n\t\t\tdataView,\r\n\t\t\ttiffOffset,\r\n\t\t\toffset,\r\n\t\t\tdataView.getUint16(offset + 2, littleEndian), // tag type\r\n\t\t\tdataView.getUint32(offset + 4, littleEndian), // tag length\r\n\t\t\tlittleEndian\r\n\t\t)\r\n\t}\r\n\r\n\tloadImage.parseExifTags = function (dataView, tiffOffset, dirOffset, littleEndian, data) {\r\n\t\tvar tagsNumber,\r\n\t\t\tdirEndOffset,\r\n\t\t\ti\r\n\t\tif (dirOffset + 6 > dataView.byteLength) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid directory offset.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\ttagsNumber = dataView.getUint16(dirOffset, littleEndian)\r\n\t\tdirEndOffset = dirOffset + 2 + 12 * tagsNumber\r\n\t\tif (dirEndOffset + 4 > dataView.byteLength) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid directory size.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\tfor (i = 0; i < tagsNumber; i += 1) {\r\n\t\t\tthis.parseExifTag(\r\n\t\t\t\tdataView,\r\n\t\t\t\ttiffOffset,\r\n\t\t\t\tdirOffset + 2 + 12 * i, // tag offset\r\n\t\t\t\tlittleEndian,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t}\r\n\t\t// Return the offset to the next directory:\r\n\t\treturn dataView.getUint32(dirEndOffset, littleEndian)\r\n\t}\r\n\r\n\tloadImage.parseExifData = function (dataView, offset, length, data, options) {\r\n\t\tif (options.disableExif) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tvar tiffOffset = offset + 10\r\n\t\tvar littleEndian\r\n\t\tvar dirOffset\r\n\t\tvar thumbnailData\r\n\t\t// Check for the ASCII code for \"Exif\" (0x45786966):\r\n\t\tif (dataView.getUint32(offset + 4) !== 0x45786966) {\r\n\t\t\t// No Exif data, might be XMP data instead\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif (tiffOffset + 8 > dataView.byteLength) {\r\n\t\t\t//console.log('Invalid Exif data: Invalid segment size.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Check for the two null bytes:\r\n\t\tif (dataView.getUint16(offset + 8) !== 0x0000) {\r\n\t\t\t//console.log('Invalid Exif data: Missing byte alignment offset.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Check the byte alignment:\r\n\t\tswitch (dataView.getUint16(tiffOffset)) {\r\n\t\t\tcase 0x4949:\r\n\t\t\t\tlittleEndian = true\r\n\t\t\t\tbreak\r\n\t\t\tcase 0x4D4D:\r\n\t\t\t\tlittleEndian = false\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\t//console.log('Invalid Exif data: Invalid byte alignment marker.')\r\n\t\t\t\treturn\r\n\t\t}\r\n\t\t// Check for the TIFF tag marker (0x002A):\r\n\t\tif (dataView.getUint16(tiffOffset + 2, littleEndian) !== 0x002A) {\r\n\t\t\t//console.log('Invalid Exif data: Missing TIFF marker.')\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Retrieve the directory offset bytes, usually 0x00000008 or 8 decimal:\r\n\t\tdirOffset = dataView.getUint32(tiffOffset + 4, littleEndian)\r\n\t\t// Create the exif object to store the tags:\r\n\t\tdata.exif = new loadImage.ExifMap()\r\n\t\t// Parse the tags of the main image directory and retrieve the\r\n\t\t// offset to the next directory, usually the thumbnail directory:\r\n\t\tdirOffset = loadImage.parseExifTags(\r\n\t\t\tdataView,\r\n\t\t\ttiffOffset,\r\n\t\t\ttiffOffset + dirOffset,\r\n\t\t\tlittleEndian,\r\n\t\t\tdata\r\n\t\t)\r\n\t\tif (dirOffset && !options.disableExifThumbnail) {\r\n\t\t\tthumbnailData = { exif: {} }\r\n\t\t\tdirOffset = loadImage.parseExifTags(\r\n\t\t\t\tdataView,\r\n\t\t\t\ttiffOffset,\r\n\t\t\t\ttiffOffset + dirOffset,\r\n\t\t\t\tlittleEndian,\r\n\t\t\t\tthumbnailData\r\n\t\t\t)\r\n\t\t\t// Check for JPEG Thumbnail offset:\r\n\t\t\tif (thumbnailData.exif[0x0201]) {\r\n\t\t\t\tdata.exif.Thumbnail = loadImage.getExifThumbnail(\r\n\t\t\t\t\tdataView,\r\n\t\t\t\t\ttiffOffset + thumbnailData.exif[0x0201],\r\n\t\t\t\t\tthumbnailData.exif[0x0202] // Thumbnail data length\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check for Exif Sub IFD Pointer:\r\n\t\tif (data.exif[0x8769] && !options.disableExifSub) {\r\n\t\t\tloadImage.parseExifTags(\r\n\t\t\t\tdataView,\r\n\t\t\t\ttiffOffset,\r\n\t\t\t\ttiffOffset + data.exif[0x8769], // directory offset\r\n\t\t\t\tlittleEndian,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t}\r\n\t\t// Check for GPS Info IFD Pointer:\r\n\t\tif (data.exif[0x8825] && !options.disableExifGps) {\r\n\t\t\tloadImage.parseExifTags(\r\n\t\t\t\tdataView,\r\n\t\t\t\ttiffOffset,\r\n\t\t\t\ttiffOffset + data.exif[0x8825], // directory offset\r\n\t\t\t\tlittleEndian,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\t// Registers the Exif parser for the APP1 JPEG meta data segment:\r\n\tloadImage.metaDataParsers.jpeg[0xffe1].push(loadImage.parseExifData)\r\n\tvar snabbt = (function () {\r\n\r\n\t\tvar tickRequests = [];\r\n\t\tvar runningAnimations = [];\r\n\t\tvar completedAnimations = [];\r\n\t\tvar transformProperty = 'transform';\r\n\r\n\t\t// Find which vendor prefix to use\r\n\t\tvar styles = window.getComputedStyle(document.documentElement, '');\r\n\t\tvar vendorPrefix = (Array.prototype.slice\r\n\t\t\t.call(styles)\r\n\t\t\t.join('')\r\n\t\t\t.match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o'])\r\n\t\t)[1];\r\n\t\tif (vendorPrefix === 'webkit')\r\n\t\t\ttransformProperty = 'webkitTransform';\r\n\r\n\t\t/* Entry point, only function to be called by user */\r\n\t\tvar snabbt = function (arg1, arg2, arg3) {\r\n\r\n\t\t\tvar elements = arg1;\r\n\r\n\t\t\t// If argument is an Array or a NodeList or other list type that can be iterable.\r\n\t\t\t// Loop through and start one animation for each element.\r\n\t\t\tif (elements.length !== undefined) {\r\n\t\t\t\tvar aggregateChainer = {\r\n\t\t\t\t\tchainers: [],\r\n\t\t\t\t\tthen: function (opts) {\r\n\t\t\t\t\t\treturn this.snabbt(opts);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsnabbt: function (opts) {\r\n\t\t\t\t\t\tvar len = this.chainers.length;\r\n\t\t\t\t\t\tthis.chainers.forEach(function (chainer, index) {\r\n\t\t\t\t\t\t\tchainer.snabbt(preprocessOptions(opts, index, len));\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn aggregateChainer;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsetValue: function (value) {\r\n\t\t\t\t\t\tthis.chainers.forEach(function (chainer) {\r\n\t\t\t\t\t\t\tchainer.setValue(value);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn aggregateChainer;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfinish: function () {\r\n\t\t\t\t\t\tthis.chainers.forEach(function (chainer) {\r\n\t\t\t\t\t\t\tchainer.finish();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn aggregateChainer;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trollback: function () {\r\n\t\t\t\t\t\tthis.chainers.forEach(function (chainer) {\r\n\t\t\t\t\t\t\tchainer.rollback();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn aggregateChainer;\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tfor (var i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\t\t\tif (typeof arg2 == 'string')\r\n\t\t\t\t\t\taggregateChainer.chainers.push(snabbtSingleElement(elements[i], arg2, preprocessOptions(arg3, i, len)));\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\taggregateChainer.chainers.push(snabbtSingleElement(elements[i], preprocessOptions(arg2, i, len), arg3));\r\n\t\t\t\t}\r\n\t\t\t\treturn aggregateChainer;\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof arg2 == 'string')\r\n\t\t\t\t\treturn snabbtSingleElement(elements, arg2, preprocessOptions(arg3, 0, 1));\r\n\t\t\t\telse\r\n\t\t\t\t\treturn snabbtSingleElement(elements, preprocessOptions(arg2, 0, 1), arg3);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar preprocessOptions = function (options, index, len) {\r\n\t\t\tif (!options)\r\n\t\t\t\treturn options;\r\n\t\t\tvar clone = cloneObject(options);\r\n\r\n\t\t\tif (isFunction(options.delay)) {\r\n\t\t\t\tclone.delay = options.delay(index, len);\r\n\t\t\t}\r\n\r\n\t\t\tif (isFunction(options.callback)) {\r\n\t\t\t\tclone.complete = function () {\r\n\t\t\t\t\toptions.callback.call(this, index, len);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvar hasAllDoneCallback = isFunction(options.allDone);\r\n\t\t\tvar hasCompleteCallback = isFunction(options.complete);\r\n\r\n\t\t\tif (hasCompleteCallback || hasAllDoneCallback) {\r\n\t\t\t\tclone.complete = function () {\r\n\t\t\t\t\tif (hasCompleteCallback) {\r\n\t\t\t\t\t\toptions.complete.call(this, index, len);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (hasAllDoneCallback && (index == len - 1)) {\r\n\t\t\t\t\t\toptions.allDone();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tif (isFunction(options.valueFeeder)) {\r\n\t\t\t\tclone.valueFeeder = function (i, matrix) {\r\n\t\t\t\t\treturn options.valueFeeder(i, matrix, index, len);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (isFunction(options.easing)) {\r\n\t\t\t\tclone.easing = function (i) {\r\n\t\t\t\t\treturn options.easing(i, index, len);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvar properties = [\r\n\t\t\t\t'position',\r\n\t\t\t\t'rotation',\r\n\t\t\t\t'skew',\r\n\t\t\t\t'rotationPost',\r\n\t\t\t\t'scale',\r\n\t\t\t\t'width',\r\n\t\t\t\t'height',\r\n\t\t\t\t'opacity',\r\n\t\t\t\t'fromPosition',\r\n\t\t\t\t'fromRotation',\r\n\t\t\t\t'fromSkew',\r\n\t\t\t\t'fromRotationPost',\r\n\t\t\t\t'fromScale',\r\n\t\t\t\t'fromWidth',\r\n\t\t\t\t'fromHeight',\r\n\t\t\t\t'fromOpacity',\r\n\t\t\t\t'transformOrigin',\r\n\t\t\t\t'duration',\r\n\t\t\t\t'delay'\r\n\t\t\t];\r\n\r\n\t\t\tproperties.forEach(function (property) {\r\n\t\t\t\tif (isFunction(options[property])) {\r\n\t\t\t\t\tclone[property] = options[property](index, len);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn clone;\r\n\t\t};\r\n\r\n\t\tvar snabbtSingleElement = function (element, arg2, arg3) {\r\n\r\n\t\t\tif (arg2 === 'attention') {\r\n\t\t\t\treturn setupAttentionAnimation(element, arg3);\r\n\t\t\t}\r\n\r\n\t\t\tif (arg2 === 'stop') {\r\n\t\t\t\treturn stopAnimation(element);\r\n\t\t\t}\r\n\r\n\t\t\tif (arg2 === 'detach') {\r\n\t\t\t\treturn detachChildren(element);\r\n\t\t\t}\r\n\r\n\t\t\tvar options = arg2;\r\n\r\n\t\t\t// Remove orphaned end states\r\n\t\t\tclearOphanedEndStates();\r\n\r\n\t\t\t// If there is a running or past completed animation with element, use that end state as start state\r\n\t\t\tvar currentState = currentAnimationState(element);\r\n\t\t\tvar start = currentState;\r\n\t\t\t// from has precendance over current animation state\r\n\t\t\tstart = stateFromOptions(options, start, true);\r\n\t\t\tvar end = cloneObject(currentState);\r\n\t\t\tend = stateFromOptions(options, end);\r\n\r\n\t\t\tvar animOptions = setupAnimationOptions(start, end, options);\r\n\t\t\tvar animation = createAnimation(animOptions);\r\n\r\n\t\t\trunningAnimations.push([element, animation]);\r\n\r\n\t\t\tanimation.updateElement(element, true);\r\n\t\t\tvar queue = [];\r\n\t\t\tvar chainer = {\r\n\t\t\t\tsnabbt: function (opts) {\r\n\t\t\t\t\tqueue.unshift(preprocessOptions(opts, 0, 1));\r\n\t\t\t\t\treturn chainer;\r\n\t\t\t\t},\r\n\t\t\t\tthen: function (opts) {\r\n\t\t\t\t\treturn this.snabbt(opts);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tfunction tick(time) {\r\n\t\t\t\tanimation.tick(time);\r\n\t\t\t\tanimation.updateElement(element);\r\n\t\t\t\tif (animation.isStopped())\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\tif (!animation.completed())\r\n\t\t\t\t\treturn queueTick(tick);\r\n\r\n\t\t\t\tif (options.loop > 1 && !animation.isStopped()) {\r\n\t\t\t\t\t// Loop current animation\r\n\t\t\t\t\toptions.loop -= 1;\r\n\t\t\t\t\tanimation.restart();\r\n\t\t\t\t\tqueueTick(tick);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (options.complete) {\r\n\t\t\t\t\t\toptions.complete.call(element);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Start next animation in queue\r\n\t\t\t\t\tif (queue.length) {\r\n\t\t\t\t\t\toptions = queue.pop();\r\n\r\n\t\t\t\t\t\tstart = stateFromOptions(options, end, true);\r\n\t\t\t\t\t\tend = stateFromOptions(options, cloneObject(end));\r\n\t\t\t\t\t\toptions = setupAnimationOptions(start, end, options);\r\n\r\n\t\t\t\t\t\tanimation = createAnimation(options);\r\n\t\t\t\t\t\trunningAnimations.push([element, animation]);\r\n\r\n\t\t\t\t\t\tanimation.tick(time);\r\n\t\t\t\t\t\tqueueTick(tick);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tqueueTick(tick);\r\n\t\t\t// Manual animations are not chainable, instead an animation controller object is returned\r\n\t\t\t// with setValue, finish and rollback methods\r\n\t\t\tif (options.manual)\r\n\t\t\t\treturn animation;\r\n\t\t\treturn chainer;\r\n\t\t};\r\n\r\n\t\tvar setupAttentionAnimation = function (element, options) {\r\n\t\t\tvar movement = stateFromOptions(options, createState({}));\r\n\t\t\toptions.movement = movement;\r\n\t\t\tvar animation = createAttentionAnimation(options);\r\n\r\n\t\t\trunningAnimations.push([element, animation]);\r\n\t\t\tfunction tick(time) {\r\n\t\t\t\tanimation.tick(time);\r\n\t\t\t\tanimation.updateElement(element);\r\n\t\t\t\tif (!animation.completed()) {\r\n\t\t\t\t\tqueueTick(tick);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (options.callback) {\r\n\t\t\t\t\t\toptions.callback(element);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (options.loop && options.loop > 1) {\r\n\t\t\t\t\t\toptions.loop--;\r\n\t\t\t\t\t\tanimation.restart();\r\n\t\t\t\t\t\tqueueTick(tick);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tqueueTick(tick);\r\n\t\t};\r\n\r\n\t\tvar stopAnimation = function (element) {\r\n\t\t\tfor (var i = 0, len = runningAnimations.length; i < len; ++i) {\r\n\t\t\t\tvar currentAnimation = runningAnimations[i];\r\n\t\t\t\tvar animatedElement = currentAnimation[0];\r\n\t\t\t\tvar animation = currentAnimation[1];\r\n\r\n\t\t\t\tif (animatedElement === element) {\r\n\t\t\t\t\tanimation.stop();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar indexOfElement = function (arr, element) {\r\n\t\t\tfor (var i = 0, len = arr.length; i < len; ++i) {\r\n\t\t\t\tif (arr[i][0] === element) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\r\n\t\tvar detachChildren = function (element) {\r\n\r\n\t\t\tvar elements = [];\r\n\t\t\tvar animations = runningAnimations.concat(completedAnimations);\r\n\t\t\tvar el;\r\n\t\t\tvar i;\r\n\t\t\tvar len = animations.length;\r\n\r\n\t\t\tfor (i = 0; i < len; ++i) {\r\n\t\t\t\tel = animations[i][0];\r\n\t\t\t\tif (element.contains(el) || element === el) {\r\n\t\t\t\t\telements.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tlen = elements.length;\r\n\t\t\tfor (i = 0; i < len; ++i) {\r\n\t\t\t\tdetachElement(elements[i]);\r\n\t\t\t}\r\n\r\n\t\t};\r\n\r\n\t\tvar detachElement = function (element) {\r\n\r\n\t\t\t// stop animations\r\n\t\t\tstopAnimation(element);\r\n\r\n\t\t\t// remove\r\n\t\t\tvar index = indexOfElement(runningAnimations, element);\r\n\t\t\tif (index >= 0) {\r\n\t\t\t\trunningAnimations.splice(index, 1);\r\n\t\t\t}\r\n\r\n\t\t\tindex = indexOfElement(completedAnimations, element);\r\n\t\t\tif (index >= 0) {\r\n\t\t\t\tcompletedAnimations.splice(index, 1);\r\n\t\t\t}\r\n\r\n\t\t};\r\n\r\n\t\tvar findAnimationState = function (animationList, element) {\r\n\t\t\tfor (var i = 0, len = animationList.length; i < len; ++i) {\r\n\t\t\t\tvar currentAnimation = animationList[i];\r\n\t\t\t\tvar animatedElement = currentAnimation[0];\r\n\t\t\t\tvar animation = currentAnimation[1];\r\n\r\n\t\t\t\tif (animatedElement === element) {\r\n\t\t\t\t\tvar state = animation.getCurrentState();\r\n\t\t\t\t\tanimation.stop();\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar clearOphanedEndStates = function () {\r\n\t\t\tcompletedAnimations = completedAnimations.filter(function (animation) {\r\n\t\t\t\treturn (findUltimateAncestor(animation[0]).body);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tvar findUltimateAncestor = function (node) {\r\n\t\t\tvar ancestor = node;\r\n\t\t\twhile (ancestor.parentNode) {\r\n\t\t\t\tancestor = ancestor.parentNode;\r\n\t\t\t}\r\n\t\t\treturn ancestor;\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t* Returns the current state of element if there is an ongoing or previously finished\r\n\t\t* animation releated to it. Will also call stop on the animation.\r\n\t\t* TODO: The stopping of the animation is better put somewhere else\r\n\t\t*/\r\n\t\tvar currentAnimationState = function (element) {\r\n\t\t\t// Check if a completed animation is stored for this element\r\n\t\t\tvar state = findAnimationState(runningAnimations, element);\r\n\t\t\tif (state)\r\n\t\t\t\treturn state;\r\n\r\n\t\t\treturn findAnimationState(completedAnimations, element);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t* Parses an animation configuration object and returns a State instance\r\n\t\t*/\r\n\t\tvar stateFromOptions = function (options, state, useFromPrefix) {\r\n\t\t\tif (!state) {\r\n\t\t\t\tstate = createState({\r\n\t\t\t\t\tposition: [0, 0, 0],\r\n\t\t\t\t\trotation: [0, 0, 0],\r\n\t\t\t\t\trotationPost: [0, 0, 0],\r\n\t\t\t\t\tscale: [1, 1],\r\n\t\t\t\t\tskew: [0, 0]\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar position = 'position';\r\n\t\t\tvar rotation = 'rotation';\r\n\t\t\tvar skew = 'skew';\r\n\t\t\tvar rotationPost = 'rotationPost';\r\n\t\t\tvar scale = 'scale';\r\n\t\t\tvar scalePost = 'scalePost';\r\n\t\t\tvar width = 'width';\r\n\t\t\tvar height = 'height';\r\n\t\t\tvar opacity = 'opacity';\r\n\r\n\t\t\tif (useFromPrefix) {\r\n\t\t\t\tposition = 'fromPosition';\r\n\t\t\t\trotation = 'fromRotation';\r\n\t\t\t\tskew = 'fromSkew';\r\n\t\t\t\trotationPost = 'fromRotationPost';\r\n\t\t\t\tscale = 'fromScale';\r\n\t\t\t\tscalePost = 'fromScalePost';\r\n\t\t\t\twidth = 'fromWidth';\r\n\t\t\t\theight = 'fromHeight';\r\n\t\t\t\topacity = 'fromOpacity';\r\n\t\t\t}\r\n\r\n\t\t\tstate.position = optionOrDefault(options[position], state.position);\r\n\t\t\tstate.rotation = optionOrDefault(options[rotation], state.rotation);\r\n\t\t\tstate.rotationPost = optionOrDefault(options[rotationPost], state.rotationPost);\r\n\t\t\tstate.skew = optionOrDefault(options[skew], state.skew);\r\n\t\t\tstate.scale = optionOrDefault(options[scale], state.scale);\r\n\t\t\tstate.scalePost = optionOrDefault(options[scalePost], state.scalePost);\r\n\t\t\tstate.opacity = options[opacity];\r\n\t\t\tstate.width = options[width];\r\n\t\t\tstate.height = options[height];\r\n\r\n\t\t\treturn state;\r\n\t\t};\r\n\r\n\t\tvar setupAnimationOptions = function (start, end, options) {\r\n\t\t\toptions.startState = start;\r\n\t\t\toptions.endState = end;\r\n\t\t\treturn options;\r\n\t\t};\r\n\r\n\t\tvar polyFillrAF = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) { return setTimeout(callback, 1000 / 60); };\r\n\r\n\t\tvar queueTick = function (func) {\r\n\t\t\tif (tickRequests.length === 0)\r\n\t\t\t\tpolyFillrAF(tickAnimations);\r\n\t\t\ttickRequests.push(func);\r\n\t\t};\r\n\r\n\t\tvar tickAnimations = function (time) {\r\n\t\t\tvar len = tickRequests.length;\r\n\t\t\tfor (var i = 0; i < len; ++i) {\r\n\t\t\t\ttickRequests[i](time);\r\n\t\t\t}\r\n\t\t\ttickRequests.splice(0, len);\r\n\r\n\t\t\tvar finishedAnimations = runningAnimations.filter(function (animation) {\r\n\t\t\t\treturn animation[1].completed();\r\n\t\t\t});\r\n\r\n\t\t\t// See if there are any previously completed animations on the same element, if so, remove it before merging\r\n\t\t\tcompletedAnimations = completedAnimations.filter(function (animation) {\r\n\t\t\t\tfor (var i = 0, len = finishedAnimations.length; i < len; ++i) {\r\n\t\t\t\t\tif (animation[0] === finishedAnimations[i][0]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\r\n\t\t\tcompletedAnimations = completedAnimations.concat(finishedAnimations);\r\n\r\n\t\t\trunningAnimations = runningAnimations.filter(function (animation) {\r\n\t\t\t\treturn !animation[1].completed();\r\n\t\t\t});\r\n\r\n\t\t\tif (tickRequests.length !== 0)\r\n\t\t\t\tpolyFillrAF(tickAnimations);\r\n\t\t};\r\n\r\n\r\n\t\t// Class for handling animation between two states\r\n\t\tvar createAnimation = function (options) {\r\n\t\t\tvar startState = options.startState;\r\n\t\t\tvar endState = options.endState;\r\n\t\t\tvar duration = optionOrDefault(options.duration, 500);\r\n\t\t\tvar delay = optionOrDefault(options.delay, 0);\r\n\t\t\tvar perspective = options.perspective;\r\n\t\t\tvar easing = createEaser(optionOrDefault(options.easing, 'linear'), options);\r\n\t\t\tvar currentState = duration === 0 ? endState.clone() : startState.clone();\r\n\t\t\tvar transformOrigin = options.transformOrigin;\r\n\t\t\tcurrentState.transformOrigin = options.transformOrigin;\r\n\r\n\t\t\tvar startTime = 0;\r\n\t\t\tvar currentTime = 0;\r\n\t\t\tvar stopped = false;\r\n\t\t\tvar started = false;\r\n\r\n\t\t\t// Manual related\r\n\t\t\tvar manual = options.manual;\r\n\t\t\tvar manualValue = 0;\r\n\t\t\tvar manualDelayFactor = delay / duration;\r\n\t\t\tvar manualCallback;\r\n\r\n\t\t\tvar tweener;\r\n\t\t\t// Setup tweener\r\n\t\t\tif (options.valueFeeder) {\r\n\t\t\t\ttweener = createValueFeederTweener(options.valueFeeder,\r\n\t\t\t\t\tstartState,\r\n\t\t\t\t\tendState,\r\n\t\t\t\t\tcurrentState);\r\n\t\t\t} else {\r\n\t\t\t\ttweener = createStateTweener(startState, endState, currentState);\r\n\t\t\t}\r\n\r\n\t\t\t// Public api\r\n\t\t\treturn {\r\n\t\t\t\tstop: function () {\r\n\t\t\t\t\tstopped = true;\r\n\t\t\t\t},\r\n\t\t\t\tisStopped: function () {\r\n\t\t\t\t\treturn stopped;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tfinish: function (callback) {\r\n\t\t\t\t\tmanual = false;\r\n\t\t\t\t\tvar manualDuration = duration * manualValue;\r\n\t\t\t\t\tstartTime = currentTime - manualDuration;\r\n\t\t\t\t\tmanualCallback = callback;\r\n\t\t\t\t\teasing.resetFrom = manualValue;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trollback: function (callback) {\r\n\t\t\t\t\tmanual = false;\r\n\t\t\t\t\ttweener.setReverse();\r\n\t\t\t\t\tvar manualDuration = duration * (1 - manualValue);\r\n\t\t\t\t\tstartTime = currentTime - manualDuration;\r\n\t\t\t\t\tmanualCallback = callback;\r\n\t\t\t\t\teasing.resetFrom = manualValue;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trestart: function () {\r\n\t\t\t\t\t// Restart timer\r\n\t\t\t\t\tstartTime = undefined;\r\n\t\t\t\t\teasing.resetFrom(0);\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttick: function (time) {\r\n\t\t\t\t\tif (stopped)\r\n\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\tif (manual) {\r\n\t\t\t\t\t\tcurrentTime = time;\r\n\t\t\t\t\t\tthis.updateCurrentTransform();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// If first tick, set startTime\r\n\t\t\t\t\tif (!startTime) {\r\n\t\t\t\t\t\tstartTime = time;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (time - startTime > delay) {\r\n\t\t\t\t\t\tstarted = true;\r\n\t\t\t\t\t\tcurrentTime = time - delay;\r\n\r\n\t\t\t\t\t\tvar curr = Math.min(Math.max(0.0, currentTime - startTime), duration);\r\n\t\t\t\t\t\teasing.tick(curr / duration);\r\n\t\t\t\t\t\tthis.updateCurrentTransform();\r\n\t\t\t\t\t\tif (this.completed() && manualCallback) {\r\n\t\t\t\t\t\t\tmanualCallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetCurrentState: function () {\r\n\t\t\t\t\treturn currentState;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tsetValue: function (_manualValue) {\r\n\t\t\t\t\tstarted = true;\r\n\t\t\t\t\tmanualValue = Math.min(Math.max(_manualValue, 0.0001), 1 + manualDelayFactor);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tupdateCurrentTransform: function () {\r\n\t\t\t\t\tvar tweenValue = easing.getValue();\r\n\t\t\t\t\tif (manual) {\r\n\t\t\t\t\t\tvar val = Math.max(0.00001, manualValue - manualDelayFactor);\r\n\t\t\t\t\t\teasing.tick(val);\r\n\t\t\t\t\t\ttweenValue = easing.getValue();\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttweener.tween(tweenValue);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tcompleted: function () {\r\n\t\t\t\t\tif (stopped)\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\tif (startTime === 0) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn easing.completed();\r\n\t\t\t\t},\r\n\r\n\t\t\t\tupdateElement: function (element, forceUpdate) {\r\n\t\t\t\t\tif (!started && !forceUpdate)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\tvar matrix = tweener.asMatrix();\r\n\t\t\t\t\tvar properties = tweener.getProperties();\r\n\t\t\t\t\tupdateElementTransform(element, matrix, perspective);\r\n\t\t\t\t\tupdateElementProperties(element, properties);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\t// ------------------------------\r\n\t\t// End Time animation\r\n\t\t// ------------------------------\r\n\r\n\t\t// ------------------------\r\n\t\t// -- AttentionAnimation --\r\n\t\t// ------------------------\r\n\r\n\t\tvar createAttentionAnimation = function (options) {\r\n\t\t\tvar movement = options.movement;\r\n\t\t\toptions.initialVelocity = 0.1;\r\n\t\t\toptions.equilibriumPosition = 0;\r\n\t\t\tvar spring = createSpringEasing(options);\r\n\t\t\tvar stopped = false;\r\n\t\t\tvar tweenPosition = movement.position;\r\n\t\t\tvar tweenRotation = movement.rotation;\r\n\t\t\tvar tweenRotationPost = movement.rotationPost;\r\n\t\t\tvar tweenScale = movement.scale;\r\n\t\t\tvar tweenSkew = movement.skew;\r\n\r\n\t\t\tvar currentMovement = createState({\r\n\t\t\t\tposition: tweenPosition ? [0, 0, 0] : undefined,\r\n\t\t\t\trotation: tweenRotation ? [0, 0, 0] : undefined,\r\n\t\t\t\trotationPost: tweenRotationPost ? [0, 0, 0] : undefined,\r\n\t\t\t\tscale: tweenScale ? [0, 0] : undefined,\r\n\t\t\t\tskew: tweenSkew ? [0, 0] : undefined,\r\n\t\t\t});\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\t\t\t\tstop: function () {\r\n\t\t\t\t\tstopped = true;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tisStopped: function (time) {\r\n\t\t\t\t\treturn stopped;\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttick: function (time) {\r\n\t\t\t\t\tif (stopped)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\tif (spring.equilibrium)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\tspring.tick();\r\n\r\n\t\t\t\t\tthis.updateMovement();\r\n\t\t\t\t},\r\n\r\n\t\t\t\tupdateMovement: function () {\r\n\t\t\t\t\tvar value = spring.getValue();\r\n\t\t\t\t\tif (tweenPosition) {\r\n\t\t\t\t\t\tcurrentMovement.position[0] = movement.position[0] * value;\r\n\t\t\t\t\t\tcurrentMovement.position[1] = movement.position[1] * value;\r\n\t\t\t\t\t\tcurrentMovement.position[2] = movement.position[2] * value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (tweenRotation) {\r\n\t\t\t\t\t\tcurrentMovement.rotation[0] = movement.rotation[0] * value;\r\n\t\t\t\t\t\tcurrentMovement.rotation[1] = movement.rotation[1] * value;\r\n\t\t\t\t\t\tcurrentMovement.rotation[2] = movement.rotation[2] * value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (tweenRotationPost) {\r\n\t\t\t\t\t\tcurrentMovement.rotationPost[0] = movement.rotationPost[0] * value;\r\n\t\t\t\t\t\tcurrentMovement.rotationPost[1] = movement.rotationPost[1] * value;\r\n\t\t\t\t\t\tcurrentMovement.rotationPost[2] = movement.rotationPost[2] * value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (tweenScale) {\r\n\t\t\t\t\t\tcurrentMovement.scale[0] = 1 + movement.scale[0] * value;\r\n\t\t\t\t\t\tcurrentMovement.scale[1] = 1 + movement.scale[1] * value;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenSkew) {\r\n\t\t\t\t\t\tcurrentMovement.skew[0] = movement.skew[0] * value;\r\n\t\t\t\t\t\tcurrentMovement.skew[1] = movement.skew[1] * value;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tupdateElement: function (element) {\r\n\t\t\t\t\tupdateElementTransform(element, currentMovement.asMatrix());\r\n\t\t\t\t\tupdateElementProperties(element, currentMovement.getProperties());\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetCurrentState: function () {\r\n\t\t\t\t\treturn currentMovement;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tcompleted: function () {\r\n\t\t\t\t\treturn spring.equilibrium || stopped;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trestart: function () {\r\n\t\t\t\t\t// Restart spring\r\n\t\t\t\t\tspring = createSpringEasing(options);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\r\n\t\t/**********\r\n\t\t* Easings *\r\n\t\t***********/\r\n\r\n\t\tvar linearEasing = function (value) {\r\n\t\t\treturn value;\r\n\t\t};\r\n\r\n\t\tvar ease = function (value) {\r\n\t\t\treturn (Math.cos(value * Math.PI + Math.PI) + 1) / 2;\r\n\t\t};\r\n\r\n\t\tvar easeIn = function (value) {\r\n\t\t\treturn value * value;\r\n\t\t};\r\n\r\n\t\tvar easeOut = function (value) {\r\n\t\t\treturn -Math.pow(value - 1, 2) + 1;\r\n\t\t};\r\n\r\n\t\tvar createSpringEasing = function (options) {\r\n\t\t\tvar position = optionOrDefault(options.startPosition, 0);\r\n\t\t\tvar equilibriumPosition = optionOrDefault(options.equilibriumPosition, 1);\r\n\t\t\tvar velocity = optionOrDefault(options.initialVelocity, 0);\r\n\t\t\tvar springConstant = optionOrDefault(options.springConstant, 0.8);\r\n\t\t\tvar deceleration = optionOrDefault(options.springDeceleration, 0.9);\r\n\t\t\tvar mass = optionOrDefault(options.springMass, 10);\r\n\r\n\t\t\tvar equilibrium = false;\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\r\n\t\t\t\ttick: function (value) {\r\n\t\t\t\t\tif (value === 0.0)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\tif (equilibrium)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\tvar springForce = -(position - equilibriumPosition) * springConstant;\r\n\t\t\t\t\t// f = m * a\r\n\t\t\t\t\t// a = f / m\r\n\t\t\t\t\tvar a = springForce / mass;\r\n\t\t\t\t\t// s = v * t\r\n\t\t\t\t\t// t = 1 ( for now )\r\n\t\t\t\t\tvelocity += a;\r\n\t\t\t\t\tposition += velocity;\r\n\r\n\t\t\t\t\t// Deceleration\r\n\t\t\t\t\tvelocity *= deceleration;\r\n\r\n\t\t\t\t\tif (Math.abs(position - equilibriumPosition) < 0.001 && Math.abs(velocity) < 0.001) {\r\n\t\t\t\t\t\tequilibrium = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tresetFrom: function (value) {\r\n\t\t\t\t\tposition = value;\r\n\t\t\t\t\tvelocity = 0;\r\n\t\t\t\t},\r\n\r\n\r\n\t\t\t\tgetValue: function () {\r\n\t\t\t\t\tif (equilibrium)\r\n\t\t\t\t\t\treturn equilibriumPosition;\r\n\t\t\t\t\treturn position;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tcompleted: function () {\r\n\t\t\t\t\treturn equilibrium;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvar EASING_FUNCS = {\r\n\t\t\t'linear': linearEasing,\r\n\t\t\t'ease': ease,\r\n\t\t\t'easeIn': easeIn,\r\n\t\t\t'easeOut': easeOut,\r\n\t\t};\r\n\r\n\r\n\t\tvar createEaser = function (easerName, options) {\r\n\t\t\tif (easerName == 'spring') {\r\n\t\t\t\treturn createSpringEasing(options);\r\n\t\t\t}\r\n\t\t\tvar easeFunction = easerName;\r\n\t\t\tif (!isFunction(easerName)) {\r\n\t\t\t\teaseFunction = EASING_FUNCS[easerName];\r\n\t\t\t}\r\n\r\n\t\t\tvar easer = easeFunction;\r\n\t\t\tvar value = 0;\r\n\t\t\tvar lastValue;\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\t\t\t\ttick: function (v) {\r\n\t\t\t\t\tvalue = easer(v);\r\n\t\t\t\t\tlastValue = v;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tresetFrom: function (value) {\r\n\t\t\t\t\tlastValue = 0;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetValue: function () {\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tcompleted: function () {\r\n\t\t\t\t\tif (lastValue >= 1) {\r\n\t\t\t\t\t\treturn lastValue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\t/***\r\n\t\t* Matrix related\r\n\t\t*/\r\n\r\n\t\tvar assignTranslate = function (matrix, x, y, z) {\r\n\t\t\tmatrix[0] = 1;\r\n\t\t\tmatrix[1] = 0;\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = 0;\r\n\t\t\tmatrix[5] = 1;\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = 1;\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = x;\r\n\t\t\tmatrix[13] = y;\r\n\t\t\tmatrix[14] = z;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\t\tvar assignRotateX = function (matrix, rad) {\r\n\t\t\tmatrix[0] = 1;\r\n\t\t\tmatrix[1] = 0;\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = 0;\r\n\t\t\tmatrix[5] = Math.cos(rad);\r\n\t\t\tmatrix[6] = -Math.sin(rad);\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = Math.sin(rad);\r\n\t\t\tmatrix[10] = Math.cos(rad);\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\r\n\t\tvar assignRotateY = function (matrix, rad) {\r\n\t\t\tmatrix[0] = Math.cos(rad);\r\n\t\t\tmatrix[1] = 0;\r\n\t\t\tmatrix[2] = Math.sin(rad);\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = 0;\r\n\t\t\tmatrix[5] = 1;\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = -Math.sin(rad);\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = Math.cos(rad);\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\t\tvar assignRotateZ = function (matrix, rad) {\r\n\t\t\tmatrix[0] = Math.cos(rad);\r\n\t\t\tmatrix[1] = -Math.sin(rad);\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = Math.sin(rad);\r\n\t\t\tmatrix[5] = Math.cos(rad);\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = 1;\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\t\tvar assignSkew = function (matrix, ax, ay) {\r\n\t\t\tmatrix[0] = 1;\r\n\t\t\tmatrix[1] = Math.tan(ax);\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = Math.tan(ay);\r\n\t\t\tmatrix[5] = 1;\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = 1;\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\r\n\t\tvar assignScale = function (matrix, x, y) {\r\n\t\t\tmatrix[0] = x;\r\n\t\t\tmatrix[1] = 0;\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = 0;\r\n\t\t\tmatrix[5] = y;\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = 1;\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\t\tvar assignIdentity = function (matrix) {\r\n\t\t\tmatrix[0] = 1;\r\n\t\t\tmatrix[1] = 0;\r\n\t\t\tmatrix[2] = 0;\r\n\t\t\tmatrix[3] = 0;\r\n\t\t\tmatrix[4] = 0;\r\n\t\t\tmatrix[5] = 1;\r\n\t\t\tmatrix[6] = 0;\r\n\t\t\tmatrix[7] = 0;\r\n\t\t\tmatrix[8] = 0;\r\n\t\t\tmatrix[9] = 0;\r\n\t\t\tmatrix[10] = 1;\r\n\t\t\tmatrix[11] = 0;\r\n\t\t\tmatrix[12] = 0;\r\n\t\t\tmatrix[13] = 0;\r\n\t\t\tmatrix[14] = 0;\r\n\t\t\tmatrix[15] = 1;\r\n\t\t};\r\n\r\n\t\tvar copyArray = function (a, b) {\r\n\t\t\tb[0] = a[0];\r\n\t\t\tb[1] = a[1];\r\n\t\t\tb[2] = a[2];\r\n\t\t\tb[3] = a[3];\r\n\t\t\tb[4] = a[4];\r\n\t\t\tb[5] = a[5];\r\n\t\t\tb[6] = a[6];\r\n\t\t\tb[7] = a[7];\r\n\t\t\tb[8] = a[8];\r\n\t\t\tb[9] = a[9];\r\n\t\t\tb[10] = a[10];\r\n\t\t\tb[11] = a[11];\r\n\t\t\tb[12] = a[12];\r\n\t\t\tb[13] = a[13];\r\n\t\t\tb[14] = a[14];\r\n\t\t\tb[15] = a[15];\r\n\t\t};\r\n\r\n\t\tvar createMatrix = function () {\r\n\t\t\tvar data = new Float32Array(16);\r\n\t\t\tvar a = new Float32Array(16);\r\n\t\t\tvar b = new Float32Array(16);\r\n\t\t\tassignIdentity(data);\r\n\r\n\t\t\treturn {\r\n\t\t\t\tdata: data,\r\n\r\n\t\t\t\tasCSS: function () {\r\n\t\t\t\t\tvar css = 'matrix3d(';\r\n\t\t\t\t\tfor (var i = 0; i < 15; ++i) {\r\n\t\t\t\t\t\tif (Math.abs(data[i]) < 0.0001)\r\n\t\t\t\t\t\t\tcss += '0,';\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tcss += data[i].toFixed(10) + ',';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (Math.abs(data[15]) < 0.0001)\r\n\t\t\t\t\t\tcss += '0)';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tcss += data[15].toFixed(10) + ')';\r\n\t\t\t\t\treturn css;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tclear: function () {\r\n\t\t\t\t\tassignIdentity(data);\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttranslate: function (x, y, z) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignTranslate(b, x, y, z);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trotateX: function (radians) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignRotateX(b, radians);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trotateY: function (radians) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignRotateY(b, radians);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\trotateZ: function (radians) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignRotateZ(b, radians);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tscale: function (x, y) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignScale(b, x, y);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tskew: function (ax, ay) {\r\n\t\t\t\t\tcopyArray(data, a);\r\n\t\t\t\t\tassignSkew(b, ax, ay);\r\n\t\t\t\t\tassignedMatrixMultiplication(a, b, data);\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvar assignedMatrixMultiplication = function (a, b, res) {\r\n\t\t\t// Unrolled loop\r\n\t\t\tres[0] = a[0] * b[0] + a[1] * b[4] + a[2] * b[8] + a[3] * b[12];\r\n\t\t\tres[1] = a[0] * b[1] + a[1] * b[5] + a[2] * b[9] + a[3] * b[13];\r\n\t\t\tres[2] = a[0] * b[2] + a[1] * b[6] + a[2] * b[10] + a[3] * b[14];\r\n\t\t\tres[3] = a[0] * b[3] + a[1] * b[7] + a[2] * b[11] + a[3] * b[15];\r\n\r\n\t\t\tres[4] = a[4] * b[0] + a[5] * b[4] + a[6] * b[8] + a[7] * b[12];\r\n\t\t\tres[5] = a[4] * b[1] + a[5] * b[5] + a[6] * b[9] + a[7] * b[13];\r\n\t\t\tres[6] = a[4] * b[2] + a[5] * b[6] + a[6] * b[10] + a[7] * b[14];\r\n\t\t\tres[7] = a[4] * b[3] + a[5] * b[7] + a[6] * b[11] + a[7] * b[15];\r\n\r\n\t\t\tres[8] = a[8] * b[0] + a[9] * b[4] + a[10] * b[8] + a[11] * b[12];\r\n\t\t\tres[9] = a[8] * b[1] + a[9] * b[5] + a[10] * b[9] + a[11] * b[13];\r\n\t\t\tres[10] = a[8] * b[2] + a[9] * b[6] + a[10] * b[10] + a[11] * b[14];\r\n\t\t\tres[11] = a[8] * b[3] + a[9] * b[7] + a[10] * b[11] + a[11] * b[15];\r\n\r\n\t\t\tres[12] = a[12] * b[0] + a[13] * b[4] + a[14] * b[8] + a[15] * b[12];\r\n\t\t\tres[13] = a[12] * b[1] + a[13] * b[5] + a[14] * b[9] + a[15] * b[13];\r\n\t\t\tres[14] = a[12] * b[2] + a[13] * b[6] + a[14] * b[10] + a[15] * b[14];\r\n\t\t\tres[15] = a[12] * b[3] + a[13] * b[7] + a[14] * b[11] + a[15] * b[15];\r\n\r\n\t\t\treturn res;\r\n\t\t};\r\n\r\n\t\tvar createState = function (config) {\r\n\t\t\t// Caching of matrix and properties so we don't have to create new ones everytime they are needed\r\n\t\t\tvar matrix = createMatrix();\r\n\t\t\tvar properties = {\r\n\t\t\t\topacity: undefined,\r\n\t\t\t\twidth: undefined,\r\n\t\t\t\theight: undefined\r\n\t\t\t};\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\t\t\t\tposition: config.position,\r\n\t\t\t\trotation: config.rotation,\r\n\t\t\t\trotationPost: config.rotationPost,\r\n\t\t\t\tskew: config.skew,\r\n\t\t\t\tscale: config.scale,\r\n\t\t\t\tscalePost: config.scalePost,\r\n\t\t\t\topacity: config.opacity,\r\n\t\t\t\twidth: config.width,\r\n\t\t\t\theight: config.height,\r\n\r\n\r\n\t\t\t\tclone: function () {\r\n\t\t\t\t\treturn createState({\r\n\t\t\t\t\t\tposition: this.position ? this.position.slice(0) : undefined,\r\n\t\t\t\t\t\trotation: this.rotation ? this.rotation.slice(0) : undefined,\r\n\t\t\t\t\t\trotationPost: this.rotationPost ? this.rotationPost.slice(0) : undefined,\r\n\t\t\t\t\t\tskew: this.skew ? this.skew.slice(0) : undefined,\r\n\t\t\t\t\t\tscale: this.scale ? this.scale.slice(0) : undefined,\r\n\t\t\t\t\t\tscalePost: this.scalePost ? this.scalePost.slice(0) : undefined,\r\n\t\t\t\t\t\theight: this.height,\r\n\t\t\t\t\t\twidth: this.width,\r\n\t\t\t\t\t\topacity: this.opacity\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\r\n\t\t\t\tasMatrix: function () {\r\n\t\t\t\t\tvar m = matrix;\r\n\t\t\t\t\tm.clear();\r\n\r\n\t\t\t\t\tif (this.transformOrigin)\r\n\t\t\t\t\t\tm.translate(-this.transformOrigin[0], -this.transformOrigin[1], -this.transformOrigin[2]);\r\n\r\n\t\t\t\t\tif (this.scale) {\r\n\t\t\t\t\t\tm.scale(this.scale[0], this.scale[1]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.skew) {\r\n\t\t\t\t\t\tm.skew(this.skew[0], this.skew[1]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.rotation) {\r\n\t\t\t\t\t\tm.rotateX(this.rotation[0]);\r\n\t\t\t\t\t\tm.rotateY(this.rotation[1]);\r\n\t\t\t\t\t\tm.rotateZ(this.rotation[2]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.position) {\r\n\t\t\t\t\t\tm.translate(this.position[0], this.position[1], this.position[2]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.rotationPost) {\r\n\t\t\t\t\t\tm.rotateX(this.rotationPost[0]);\r\n\t\t\t\t\t\tm.rotateY(this.rotationPost[1]);\r\n\t\t\t\t\t\tm.rotateZ(this.rotationPost[2]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.scalePost) {\r\n\t\t\t\t\t\tm.scale(this.scalePost[0], this.scalePost[1]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (this.transformOrigin)\r\n\t\t\t\t\t\tm.translate(this.transformOrigin[0], this.transformOrigin[1], this.transformOrigin[2]);\r\n\t\t\t\t\treturn m;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetProperties: function () {\r\n\t\t\t\t\tproperties.opacity = this.opacity;\r\n\t\t\t\t\tproperties.width = this.width + 'px';\r\n\t\t\t\t\tproperties.height = this.height + 'px';\r\n\t\t\t\t\treturn properties;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\t\t// ------------------\r\n\t\t// -- StateTweener -- \r\n\t\t// -------------------\r\n\r\n\t\tvar createStateTweener = function (startState, endState, resultState) {\r\n\t\t\tvar start = startState;\r\n\t\t\tvar end = endState;\r\n\t\t\tvar result = resultState;\r\n\r\n\t\t\tvar tweenPosition = end.position !== undefined;\r\n\t\t\tvar tweenRotation = end.rotation !== undefined;\r\n\t\t\tvar tweenRotationPost = end.rotationPost !== undefined;\r\n\t\t\tvar tweenScale = end.scale !== undefined;\r\n\t\t\tvar tweenSkew = end.skew !== undefined;\r\n\t\t\tvar tweenWidth = end.width !== undefined;\r\n\t\t\tvar tweenHeight = end.height !== undefined;\r\n\t\t\tvar tweenOpacity = end.opacity !== undefined;\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\r\n\t\t\t\ttween: function (tweenValue) {\r\n\r\n\t\t\t\t\tif (tweenPosition) {\r\n\t\t\t\t\t\tvar dX = (end.position[0] - start.position[0]);\r\n\t\t\t\t\t\tvar dY = (end.position[1] - start.position[1]);\r\n\t\t\t\t\t\tvar dZ = (end.position[2] - start.position[2]);\r\n\t\t\t\t\t\tresult.position[0] = start.position[0] + tweenValue * dX;\r\n\t\t\t\t\t\tresult.position[1] = start.position[1] + tweenValue * dY;\r\n\t\t\t\t\t\tresult.position[2] = start.position[2] + tweenValue * dZ;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenRotation) {\r\n\t\t\t\t\t\tvar dAX = (end.rotation[0] - start.rotation[0]);\r\n\t\t\t\t\t\tvar dAY = (end.rotation[1] - start.rotation[1]);\r\n\t\t\t\t\t\tvar dAZ = (end.rotation[2] - start.rotation[2]);\r\n\t\t\t\t\t\tresult.rotation[0] = start.rotation[0] + tweenValue * dAX;\r\n\t\t\t\t\t\tresult.rotation[1] = start.rotation[1] + tweenValue * dAY;\r\n\t\t\t\t\t\tresult.rotation[2] = start.rotation[2] + tweenValue * dAZ;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenRotationPost) {\r\n\t\t\t\t\t\tvar dBX = (end.rotationPost[0] - start.rotationPost[0]);\r\n\t\t\t\t\t\tvar dBY = (end.rotationPost[1] - start.rotationPost[1]);\r\n\t\t\t\t\t\tvar dBZ = (end.rotationPost[2] - start.rotationPost[2]);\r\n\t\t\t\t\t\tresult.rotationPost[0] = start.rotationPost[0] + tweenValue * dBX;\r\n\t\t\t\t\t\tresult.rotationPost[1] = start.rotationPost[1] + tweenValue * dBY;\r\n\t\t\t\t\t\tresult.rotationPost[2] = start.rotationPost[2] + tweenValue * dBZ;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenSkew) {\r\n\t\t\t\t\t\tvar dSX = (end.scale[0] - start.scale[0]);\r\n\t\t\t\t\t\tvar dSY = (end.scale[1] - start.scale[1]);\r\n\r\n\t\t\t\t\t\tresult.scale[0] = start.scale[0] + tweenValue * dSX;\r\n\t\t\t\t\t\tresult.scale[1] = start.scale[1] + tweenValue * dSY;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenScale) {\r\n\t\t\t\t\t\tvar dSkewX = (end.skew[0] - start.skew[0]);\r\n\t\t\t\t\t\tvar dSkewY = (end.skew[1] - start.skew[1]);\r\n\r\n\t\t\t\t\t\tresult.skew[0] = start.skew[0] + tweenValue * dSkewX;\r\n\t\t\t\t\t\tresult.skew[1] = start.skew[1] + tweenValue * dSkewY;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenWidth) {\r\n\t\t\t\t\t\tvar dWidth = (end.width - start.width);\r\n\t\t\t\t\t\tresult.width = start.width + tweenValue * dWidth;\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\tif (tweenHeight) {\r\n\t\t\t\t\t\tvar dHeight = (end.height - start.height);\r\n\t\t\t\t\t\tresult.height = start.height + tweenValue * dHeight;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (tweenOpacity) {\r\n\t\t\t\t\t\tvar dOpacity = (end.opacity - start.opacity);\r\n\t\t\t\t\t\tresult.opacity = start.opacity + tweenValue * dOpacity;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t},\r\n\r\n\t\t\t\tasMatrix: function () {\r\n\t\t\t\t\treturn result.asMatrix();\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetProperties: function () {\r\n\t\t\t\t\treturn result.getProperties();\r\n\t\t\t\t},\r\n\r\n\t\t\t\tsetReverse: function () {\r\n\t\t\t\t\tvar oldStart = start;\r\n\t\t\t\t\tstart = end;\r\n\t\t\t\t\tend = oldStart;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\t// ------------------------\r\n\t\t// -- ValueFeederTweener -- \r\n\t\t// ------------------------\r\n\r\n\t\tvar createValueFeederTweener = function (valueFeeder, startState, endState, resultState) {\r\n\t\t\tvar currentMatrix = valueFeeder(0, createMatrix());\r\n\t\t\tvar start = startState;\r\n\t\t\tvar end = endState;\r\n\t\t\tvar result = resultState;\r\n\t\t\tvar reverse = false;\r\n\r\n\r\n\t\t\t// Public API\r\n\t\t\treturn {\r\n\r\n\t\t\t\ttween: function (tweenValue) {\r\n\t\t\t\t\tif (reverse)\r\n\t\t\t\t\t\ttweenValue = 1 - tweenValue;\r\n\t\t\t\t\tcurrentMatrix.clear();\r\n\t\t\t\t\tcurrentMatrix = valueFeeder(tweenValue, currentMatrix);\r\n\r\n\t\t\t\t\tvar dWidth = (end.width - start.width);\r\n\t\t\t\t\tvar dHeight = (end.height - start.height);\r\n\t\t\t\t\tvar dOpacity = (end.opacity - start.opacity);\r\n\r\n\t\t\t\t\tif (end.width !== undefined)\r\n\t\t\t\t\t\tresult.width = start.width + tweenValue * dWidth;\r\n\t\t\t\t\tif (end.height !== undefined)\r\n\t\t\t\t\t\tresult.height = start.height + tweenValue * dHeight;\r\n\t\t\t\t\tif (end.opacity !== undefined)\r\n\t\t\t\t\t\tresult.opacity = start.opacity + tweenValue * dOpacity;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tasMatrix: function () {\r\n\t\t\t\t\treturn currentMatrix;\r\n\t\t\t\t},\r\n\r\n\t\t\t\tgetProperties: function () {\r\n\t\t\t\t\treturn result.getProperties();\r\n\t\t\t\t},\r\n\r\n\t\t\t\tsetReverse: function () {\r\n\t\t\t\t\treverse = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvar optionOrDefault = function (option, def) {\r\n\t\t\tif (typeof option == 'undefined') {\r\n\t\t\t\treturn def;\r\n\t\t\t}\r\n\t\t\treturn option;\r\n\t\t};\r\n\r\n\t\tvar updateElementTransform = function (element, matrix, perspective) {\r\n\t\t\tvar cssPerspective = '';\r\n\t\t\tif (perspective) {\r\n\t\t\t\tcssPerspective = 'perspective(' + perspective + 'px) ';\r\n\t\t\t}\r\n\t\t\tvar cssMatrix = matrix.asCSS();\r\n\t\t\telement.style[transformProperty] = cssPerspective + cssMatrix;\r\n\t\t};\r\n\r\n\t\tvar updateElementProperties = function (element, properties) {\r\n\t\t\tfor (var key in properties) {\r\n\t\t\t\telement.style[key] = properties[key];\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar isFunction = function (object) {\r\n\t\t\treturn (typeof object === \"function\");\r\n\t\t};\r\n\r\n\t\tvar cloneObject = function (object) {\r\n\t\t\tif (!object)\r\n\t\t\t\treturn object;\r\n\t\t\tvar clone = {};\r\n\t\t\tfor (var key in object) {\r\n\t\t\t\tclone[key] = object[key];\r\n\t\t\t}\r\n\t\t\treturn clone;\r\n\t\t};\r\n\r\n\t\tsnabbt.createMatrix = createMatrix;\r\n\t\tsnabbt.setElementTransform = updateElementTransform;\r\n\t\treturn snabbt;\r\n\t}());\r\n\tvar stackBlur = (function () {\r\n\r\n\t\tvar mul_table = [\r\n\t\t\t512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512,\r\n\t\t\t454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512,\r\n\t\t\t482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456,\r\n\t\t\t437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512,\r\n\t\t\t497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328,\r\n\t\t\t320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456,\r\n\t\t\t446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335,\r\n\t\t\t329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512,\r\n\t\t\t505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405,\r\n\t\t\t399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328,\r\n\t\t\t324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271,\r\n\t\t\t268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456,\r\n\t\t\t451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388,\r\n\t\t\t385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335,\r\n\t\t\t332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\r\n\t\t\t289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];\r\n\r\n\r\n\t\tvar shg_table = [\r\n\t\t\t9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17,\r\n\t\t\t17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,\r\n\t\t\t19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,\r\n\t\t\t20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,\r\n\t\t\t21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r\n\t\t\t21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\r\n\t\t\t22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\r\n\t\t\t22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,\r\n\t\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\r\n\t\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\r\n\t\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\r\n\t\t\t23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r\n\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r\n\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r\n\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r\n\t\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];\r\n\r\n\t\tfunction getImageDataFromCanvas(canvas, top_x, top_y, width, height) {\r\n\t\t\tif (typeof (canvas) == 'string')\r\n\t\t\t\tcanvas = document.getElementById(canvas);\r\n\t\t\telse if (!canvas instanceof HTMLCanvasElement)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar context = canvas.getContext('2d');\r\n\t\t\tvar imageData;\r\n\r\n\t\t\ttry {\r\n\t\t\t\ttry {\r\n\t\t\t\t\timageData = context.getImageData(top_x, top_y, width, height);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tthrow new Error(\"unable to access local image data: \" + e);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tthrow new Error(\"unable to access image data: \" + e);\r\n\t\t\t}\r\n\r\n\t\t\treturn imageData;\r\n\t\t}\r\n\r\n\t\tfunction processCanvasRGBA(canvas, top_x, top_y, width, height, radius) {\r\n\t\t\tif (isNaN(radius) || radius < 1) return;\r\n\t\t\tradius |= 0;\r\n\r\n\t\t\tvar imageData = getImageDataFromCanvas(canvas, top_x, top_y, width, height);\r\n\r\n\t\t\timageData = processImageDataRGBA(imageData, top_x, top_y, width, height, radius);\r\n\r\n\t\t\tcanvas.getContext('2d').putImageData(imageData, top_x, top_y);\r\n\t\t}\r\n\r\n\t\tfunction processImageDataRGBA(imageData, top_x, top_y, width, height, radius) {\r\n\t\t\tvar pixels = imageData.data;\r\n\r\n\t\t\tvar x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum,\r\n\t\t\t\tr_out_sum, g_out_sum, b_out_sum, a_out_sum,\r\n\t\t\t\tr_in_sum, g_in_sum, b_in_sum, a_in_sum,\r\n\t\t\t\tpr, pg, pb, pa, rbs;\r\n\r\n\t\t\tvar div = radius + radius + 1;\r\n\t\t\tvar w4 = width << 2;\r\n\t\t\tvar widthMinus1 = width - 1;\r\n\t\t\tvar heightMinus1 = height - 1;\r\n\t\t\tvar radiusPlus1 = radius + 1;\r\n\t\t\tvar sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\r\n\r\n\t\t\tvar stackStart = new BlurStack();\r\n\t\t\tvar stack = stackStart;\r\n\t\t\tfor (i = 1; i < div; i++) {\r\n\t\t\t\tstack = stack.next = new BlurStack();\r\n\t\t\t\tif (i == radiusPlus1) var stackEnd = stack;\r\n\t\t\t}\r\n\t\t\tstack.next = stackStart;\r\n\t\t\tvar stackIn = null;\r\n\t\t\tvar stackOut = null;\r\n\r\n\t\t\tyw = yi = 0;\r\n\r\n\t\t\tvar mul_sum = mul_table[radius];\r\n\t\t\tvar shg_sum = shg_table[radius];\r\n\r\n\t\t\tfor (y = 0; y < height; y++) {\r\n\t\t\t\tr_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;\r\n\r\n\t\t\t\tr_out_sum = radiusPlus1 * (pr = pixels[yi]);\r\n\t\t\t\tg_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\r\n\t\t\t\tb_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\r\n\t\t\t\ta_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\r\n\r\n\t\t\t\tr_sum += sumFactor * pr;\r\n\t\t\t\tg_sum += sumFactor * pg;\r\n\t\t\t\tb_sum += sumFactor * pb;\r\n\t\t\t\ta_sum += sumFactor * pa;\r\n\r\n\t\t\t\tstack = stackStart;\r\n\r\n\t\t\t\tfor (i = 0; i < radiusPlus1; i++) {\r\n\t\t\t\t\tstack.r = pr;\r\n\t\t\t\t\tstack.g = pg;\r\n\t\t\t\t\tstack.b = pb;\r\n\t\t\t\t\tstack.a = pa;\r\n\t\t\t\t\tstack = stack.next;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (i = 1; i < radiusPlus1; i++) {\r\n\t\t\t\t\tp = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\r\n\t\t\t\t\tr_sum += (stack.r = (pr = pixels[p])) * (rbs = radiusPlus1 - i);\r\n\t\t\t\t\tg_sum += (stack.g = (pg = pixels[p + 1])) * rbs;\r\n\t\t\t\t\tb_sum += (stack.b = (pb = pixels[p + 2])) * rbs;\r\n\t\t\t\t\ta_sum += (stack.a = (pa = pixels[p + 3])) * rbs;\r\n\r\n\t\t\t\t\tr_in_sum += pr;\r\n\t\t\t\t\tg_in_sum += pg;\r\n\t\t\t\t\tb_in_sum += pb;\r\n\t\t\t\t\ta_in_sum += pa;\r\n\r\n\t\t\t\t\tstack = stack.next;\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tstackIn = stackStart;\r\n\t\t\t\tstackOut = stackEnd;\r\n\t\t\t\tfor (x = 0; x < width; x++) {\r\n\t\t\t\t\tpixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\r\n\t\t\t\t\tif (pa != 0) {\r\n\t\t\t\t\t\tpa = 255 / pa;\r\n\t\t\t\t\t\tpixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t\tpixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t\tpixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tr_sum -= r_out_sum;\r\n\t\t\t\t\tg_sum -= g_out_sum;\r\n\t\t\t\t\tb_sum -= b_out_sum;\r\n\t\t\t\t\ta_sum -= a_out_sum;\r\n\r\n\t\t\t\t\tr_out_sum -= stackIn.r;\r\n\t\t\t\t\tg_out_sum -= stackIn.g;\r\n\t\t\t\t\tb_out_sum -= stackIn.b;\r\n\t\t\t\t\ta_out_sum -= stackIn.a;\r\n\r\n\t\t\t\t\tp = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\r\n\r\n\t\t\t\t\tr_in_sum += (stackIn.r = pixels[p]);\r\n\t\t\t\t\tg_in_sum += (stackIn.g = pixels[p + 1]);\r\n\t\t\t\t\tb_in_sum += (stackIn.b = pixels[p + 2]);\r\n\t\t\t\t\ta_in_sum += (stackIn.a = pixels[p + 3]);\r\n\r\n\t\t\t\t\tr_sum += r_in_sum;\r\n\t\t\t\t\tg_sum += g_in_sum;\r\n\t\t\t\t\tb_sum += b_in_sum;\r\n\t\t\t\t\ta_sum += a_in_sum;\r\n\r\n\t\t\t\t\tstackIn = stackIn.next;\r\n\r\n\t\t\t\t\tr_out_sum += (pr = stackOut.r);\r\n\t\t\t\t\tg_out_sum += (pg = stackOut.g);\r\n\t\t\t\t\tb_out_sum += (pb = stackOut.b);\r\n\t\t\t\t\ta_out_sum += (pa = stackOut.a);\r\n\r\n\t\t\t\t\tr_in_sum -= pr;\r\n\t\t\t\t\tg_in_sum -= pg;\r\n\t\t\t\t\tb_in_sum -= pb;\r\n\t\t\t\t\ta_in_sum -= pa;\r\n\r\n\t\t\t\t\tstackOut = stackOut.next;\r\n\r\n\t\t\t\t\tyi += 4;\r\n\t\t\t\t}\r\n\t\t\t\tyw += width;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tfor (x = 0; x < width; x++) {\r\n\t\t\t\tg_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;\r\n\r\n\t\t\t\tyi = x << 2;\r\n\t\t\t\tr_out_sum = radiusPlus1 * (pr = pixels[yi]);\r\n\t\t\t\tg_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\r\n\t\t\t\tb_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\r\n\t\t\t\ta_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\r\n\r\n\t\t\t\tr_sum += sumFactor * pr;\r\n\t\t\t\tg_sum += sumFactor * pg;\r\n\t\t\t\tb_sum += sumFactor * pb;\r\n\t\t\t\ta_sum += sumFactor * pa;\r\n\r\n\t\t\t\tstack = stackStart;\r\n\r\n\t\t\t\tfor (i = 0; i < radiusPlus1; i++) {\r\n\t\t\t\t\tstack.r = pr;\r\n\t\t\t\t\tstack.g = pg;\r\n\t\t\t\t\tstack.b = pb;\r\n\t\t\t\t\tstack.a = pa;\r\n\t\t\t\t\tstack = stack.next;\r\n\t\t\t\t}\r\n\r\n\t\t\t\typ = width;\r\n\r\n\t\t\t\tfor (i = 1; i <= radius; i++) {\r\n\t\t\t\t\tyi = (yp + x) << 2;\r\n\r\n\t\t\t\t\tr_sum += (stack.r = (pr = pixels[yi])) * (rbs = radiusPlus1 - i);\r\n\t\t\t\t\tg_sum += (stack.g = (pg = pixels[yi + 1])) * rbs;\r\n\t\t\t\t\tb_sum += (stack.b = (pb = pixels[yi + 2])) * rbs;\r\n\t\t\t\t\ta_sum += (stack.a = (pa = pixels[yi + 3])) * rbs;\r\n\r\n\t\t\t\t\tr_in_sum += pr;\r\n\t\t\t\t\tg_in_sum += pg;\r\n\t\t\t\t\tb_in_sum += pb;\r\n\t\t\t\t\ta_in_sum += pa;\r\n\r\n\t\t\t\t\tstack = stack.next;\r\n\r\n\t\t\t\t\tif (i < heightMinus1) {\r\n\t\t\t\t\t\typ += width;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tyi = x;\r\n\t\t\t\tstackIn = stackStart;\r\n\t\t\t\tstackOut = stackEnd;\r\n\t\t\t\tfor (y = 0; y < height; y++) {\r\n\t\t\t\t\tp = yi << 2;\r\n\t\t\t\t\tpixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\r\n\t\t\t\t\tif (pa > 0) {\r\n\t\t\t\t\t\tpa = 255 / pa;\r\n\t\t\t\t\t\tpixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t\tpixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t\tpixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tr_sum -= r_out_sum;\r\n\t\t\t\t\tg_sum -= g_out_sum;\r\n\t\t\t\t\tb_sum -= b_out_sum;\r\n\t\t\t\t\ta_sum -= a_out_sum;\r\n\r\n\t\t\t\t\tr_out_sum -= stackIn.r;\r\n\t\t\t\t\tg_out_sum -= stackIn.g;\r\n\t\t\t\t\tb_out_sum -= stackIn.b;\r\n\t\t\t\t\ta_out_sum -= stackIn.a;\r\n\r\n\t\t\t\t\tp = (x + (((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width)) << 2;\r\n\r\n\t\t\t\t\tr_sum += (r_in_sum += (stackIn.r = pixels[p]));\r\n\t\t\t\t\tg_sum += (g_in_sum += (stackIn.g = pixels[p + 1]));\r\n\t\t\t\t\tb_sum += (b_in_sum += (stackIn.b = pixels[p + 2]));\r\n\t\t\t\t\ta_sum += (a_in_sum += (stackIn.a = pixels[p + 3]));\r\n\r\n\t\t\t\t\tstackIn = stackIn.next;\r\n\r\n\t\t\t\t\tr_out_sum += (pr = stackOut.r);\r\n\t\t\t\t\tg_out_sum += (pg = stackOut.g);\r\n\t\t\t\t\tb_out_sum += (pb = stackOut.b);\r\n\t\t\t\t\ta_out_sum += (pa = stackOut.a);\r\n\r\n\t\t\t\t\tr_in_sum -= pr;\r\n\t\t\t\t\tg_in_sum -= pg;\r\n\t\t\t\t\tb_in_sum -= pb;\r\n\t\t\t\t\ta_in_sum -= pa;\r\n\r\n\t\t\t\t\tstackOut = stackOut.next;\r\n\r\n\t\t\t\t\tyi += width;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn imageData;\r\n\t\t}\r\n\r\n\t\tfunction BlurStack() {\r\n\t\t\tthis.r = 0;\r\n\t\t\tthis.g = 0;\r\n\t\t\tthis.b = 0;\r\n\t\t\tthis.a = 0;\r\n\t\t\tthis.next = null;\r\n\t\t}\r\n\r\n\t\treturn processCanvasRGBA;\r\n\r\n\t}());\r\n\t// canvas to blob polyfill\r\n\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob#Polyfill\r\n\tif (!HTMLCanvasElement.prototype.toBlob) {\r\n\t\tObject.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {\r\n\t\t\tvalue: function (callback, type, quality) {\r\n\r\n\t\t\t\tvar binStr = atob(this.toDataURL(type, quality).split(',')[1]),\r\n\t\t\t\t\tlen = binStr.length,\r\n\t\t\t\t\tarr = new Uint8Array(len);\r\n\r\n\t\t\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\t\t\tarr[i] = binStr.charCodeAt(i);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcallback(new Blob([arr], { type: type || 'image/png' }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t'use strict';\r\n\r\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n\tvar copyString = function copyString(str) {\r\n\t\treturn str + '';\r\n\t};\r\n\r\n\tvar getDataset = function getDataset(el) {\r\n\r\n\t\tif (typeof el.dataset === 'undefined') {\r\n\t\t\tvar res = {};\r\n\t\t\tvar attr;\r\n\t\t\tvar attrName;\r\n\t\t\tvar attrs = el.attributes;\r\n\t\t\tfor (attr in attrs) {\r\n\t\t\t\tif (attrs.hasOwnProperty(attr) && attrs[attr].name && /^data-[a-z_\\-\\d]*$/i.test(attrs[attr].name)) {\r\n\t\t\t\t\tattrName = toCamelCase(attrs[attr].name.substr(5));\r\n\t\t\t\t\tres[attrName] = attrs[attr].value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn res;\r\n\t\t}\r\n\t\treturn el.dataset;\r\n\t};\r\n\r\n\tvar toCamelCase = function toCamelCase(str) {\r\n\t\treturn str.replace(/\\-./g, function (substr) {\r\n\t\t\treturn substr.charAt(1).toUpperCase();\r\n\t\t});\r\n\t};\r\n\r\n\tvar getElementAttributes = function getElementAttributes(el) {\r\n\t\t// is a for loop on purpose as this should still function when Slim not supported\r\n\t\tvar result = [];\r\n\t\tvar attributes = Array.prototype.slice.call(el.attributes);\r\n\t\tvar l = attributes.length;\r\n\t\tfor (var i = 0; i < l; i++) {\r\n\t\t\tresult.push({\r\n\t\t\t\tname: attributes[i].name,\r\n\t\t\t\tvalue: attributes[i].value\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\r\n\t// helper method\r\n\tvar getOffsetByEvent = function getOffsetByEvent(e) {\r\n\t\treturn {\r\n\t\t\tx: typeof e.offsetX === 'undefined' ? e.layerX : e.offsetX,\r\n\t\t\ty: typeof e.offsetY === 'undefined' ? e.layerY : e.offsetY\r\n\t\t};\r\n\t};\r\n\r\n\t// merge two objects together\r\n\tvar mergeOptions = function mergeOptions(base, additives) {\r\n\r\n\t\tvar key;\r\n\t\tvar options = {};\r\n\t\tvar optionsToMerge = additives || {};\r\n\r\n\t\tfor (key in base) {\r\n\t\t\tif (!base.hasOwnProperty(key)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\toptions[key] = typeof optionsToMerge[key] === 'undefined' ? base[key] : optionsToMerge[key];\r\n\t\t}\r\n\r\n\t\treturn options;\r\n\t};\r\n\r\n\t// keys\r\n\tvar Key = {\r\n\t\tESC: 27,\r\n\t\tRETURN: 13\r\n\t};\r\n\r\n\t// pointer events\r\n\tvar Events = {\r\n\t\tDOWN: ['touchstart', 'pointerdown', 'mousedown'],\r\n\t\tMOVE: ['touchmove', 'pointermove', 'mousemove'],\r\n\t\tUP: ['touchend', 'touchcancel', 'pointerup', 'mouseup']\r\n\t};\r\n\r\n\tvar MimeTypes = {\r\n\t\t'jpeg': 'image/jpeg',\r\n\t\t'jpg': 'image/jpeg',\r\n\t\t'jpe': 'image/jpeg',\r\n\t\t'png': 'image/png',\r\n\t\t'gif': 'image/gif',\r\n\t\t'bmp': 'image/bmp'\r\n\t};\r\n\r\n\tvar ImageExtensionsRegex = /(\\.png|\\.bmp|\\.gif|\\.jpg|\\.jpe|\\.jpg|\\.jpeg)$/;\r\n\r\n\tvar CanvasExportExtensions = /(jpe|jpg|jpeg|png)/;\r\n\r\n\t// shortcuts\r\n\tvar create = function create(name, className) {\r\n\t\tvar node = document.createElement(name);\r\n\t\tif (className) {\r\n\t\t\tnode.className = className;\r\n\t\t}\r\n\t\treturn node;\r\n\t};\r\n\r\n\t// events\r\n\tvar addEvents = function addEvents(obj, events, scope) {\r\n\t\tevents.forEach(function (event) {\r\n\t\t\tobj.addEventListener(event, scope, false);\r\n\t\t});\r\n\t};\r\n\r\n\tvar removeEvents = function removeEvents(obj, events, scope) {\r\n\t\tevents.forEach(function (event) {\r\n\t\t\tobj.removeEventListener(event, scope, false);\r\n\t\t});\r\n\t};\r\n\r\n\tvar getEventOffset = function getEventOffset(e) {\r\n\r\n\t\tvar event = e.changedTouches ? e.changedTouches[0] : e;\r\n\r\n\t\t// no event found, quit!\r\n\t\tif (!event) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// get offset from events\r\n\t\treturn {\r\n\t\t\tx: event.pageX,\r\n\t\t\ty: event.pageY\r\n\t\t};\r\n\t};\r\n\r\n\tvar rotate = function rotate(rect, angle) {\r\n\r\n\t\tvar cx = .5;\r\n\t\tvar cy = .5;\r\n\r\n\t\tvar radians = Math.PI / 180 * angle;\r\n\t\tvar cos = Math.cos(radians);\r\n\t\tvar sin = Math.sin(radians);\r\n\r\n\t\tvar x1 = rect.x;\r\n\t\tvar y1 = rect.y;\r\n\t\tvar x2 = rect.x + rect.width;\r\n\t\tvar y2 = rect.y + rect.height;\r\n\r\n\t\tvar rx1 = cos * (x1 - cx) + sin * (y1 - cy) + cx;\r\n\t\tvar ry1 = cos * (y1 - cy) - sin * (x1 - cx) + cy;\r\n\r\n\t\tvar rx2 = cos * (x2 - cx) + sin * (y2 - cy) + cx;\r\n\t\tvar ry2 = cos * (y2 - cy) - sin * (x2 - cx) + cy;\r\n\r\n\t\tif (rx1 <= rx2) {\r\n\t\t\trect.x = rx1;\r\n\t\t\trect.width = rx2 - rx1;\r\n\t\t} else {\r\n\t\t\trect.x = rx2;\r\n\t\t\trect.width = rx1 - rx2;\r\n\t\t}\r\n\r\n\t\tif (ry1 <= ry2) {\r\n\t\t\trect.y = ry1;\r\n\t\t\trect.height = ry2 - ry1;\r\n\t\t} else {\r\n\t\t\trect.y = ry2;\r\n\t\t\trect.height = ry1 - ry2;\r\n\t\t}\r\n\t};\r\n\r\n\tvar getEventOffsetScroll = function getEventOffsetScroll(e) {\r\n\t\tvar offset = getEventOffset(e);\r\n\t\toffset.x -= window.pageXOffset || document.documentElement.scrollLeft;\r\n\t\toffset.y -= window.pageYOffset || document.documentElement.scrollTop;\r\n\t\treturn offset;\r\n\t};\r\n\r\n\tvar lowercaseFirstLetter = function lowercaseFirstLetter(string) {\r\n\t\treturn string.charAt(0).toLowerCase() + string.slice(1);\r\n\t};\r\n\r\n\tvar capitalizeFirstLetter = function capitalizeFirstLetter(string) {\r\n\t\treturn string.charAt(0).toUpperCase() + string.slice(1);\r\n\t};\r\n\r\n\tvar last = function last(array) {\r\n\t\treturn array[array.length - 1];\r\n\t};\r\n\r\n\tvar limit = function limit(value, min, max) {\r\n\t\treturn Math.max(min, Math.min(max, value));\r\n\t};\r\n\r\n\tvar inArray = function inArray(needle, arr) {\r\n\t\t// is for loop so we can use this method on older browsers to render fallback message\r\n\t\tif (!arr) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tif (arr[i] === needle) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tvar send = function send(url, data, requestDecorator, progress, success, err) {\r\n\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\r\n\t\t// if progress callback defined handle progress events\r\n\t\tif (progress) {\r\n\t\t\txhr.upload.addEventListener('progress', function (e) {\r\n\t\t\t\tprogress(e.loaded, e.total);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// open the request\r\n\t\txhr.open('POST', url, true);\r\n\r\n\t\t// if request decorator defined pass XMLHttpRequest instance to decorator\r\n\t\tif (requestDecorator) {\r\n\t\t\trequestDecorator(xhr);\r\n\t\t}\r\n\r\n\t\t// handle state changes\r\n\t\txhr.onreadystatechange = function () {\r\n\r\n\t\t\tif (xhr.readyState === 4 && xhr.status >= 200 && xhr.status < 300) {\r\n\r\n\t\t\t\tvar text = xhr.responseText;\r\n\r\n\t\t\t\t// if no data returned from server assume success\r\n\t\t\t\tif (!text.length) {\r\n\t\t\t\t\tsuccess();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// catch possible PHP content length problem\r\n\t\t\t\tif (text.indexOf('Content-Length') !== -1) {\r\n\t\t\t\t\terr('file-too-big');\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if data returned it should be in suggested JSON format\r\n\t\t\t\tvar obj = void 0;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tobj = JSON.parse(xhr.responseText);\r\n\t\t\t\t} catch (e) { }\r\n\r\n\t\t\t\t// if is failure response\r\n\t\t\t\tif ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj && obj.status === 'failure') {\r\n\t\t\t\t\terr(obj.message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsuccess(obj || text);\r\n\t\t\t} else if (xhr.readyState === 4) {\r\n\r\n\t\t\t\tvar _obj = void 0;\r\n\t\t\t\ttry {\r\n\t\t\t\t\t_obj = JSON.parse(xhr.responseText);\r\n\t\t\t\t} catch (e) { }\r\n\r\n\t\t\t\t// if is clean failure response\r\n\t\t\t\tif ((typeof _obj === 'undefined' ? 'undefined' : _typeof(_obj)) === 'object' && _obj && _obj.status === 'failure') {\r\n\t\t\t\t\terr(_obj.message);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\terr('fail');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// do request\r\n\t\txhr.send(data);\r\n\t};\r\n\r\n\tvar resetTransforms = function resetTransforms(element) {\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.style.webkitTransform = '';\r\n\t\telement.style.transform = '';\r\n\t};\r\n\r\n\tvar bytesToMegaBytes = function bytesToMegaBytes(b) {\r\n\t\treturn b / 1000000;\r\n\t};\r\n\r\n\tvar megaBytesToBytes = function megaBytesToBytes(mb) {\r\n\t\treturn mb * 1000000;\r\n\t};\r\n\r\n\tvar getCommonMimeTypes = function getCommonMimeTypes() {\r\n\t\tvar types = [];\r\n\t\tvar type = void 0;\r\n\t\tvar mimeType = void 0;\r\n\t\tfor (type in MimeTypes) {\r\n\t\t\tif (!MimeTypes.hasOwnProperty(type)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tmimeType = MimeTypes[type];\r\n\t\t\tif (types.indexOf(mimeType) == -1) {\r\n\t\t\t\ttypes.push(mimeType);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn types;\r\n\t};\r\n\r\n\tvar isJPEGMimeType = function isJPEGMimeType(type) {\r\n\t\treturn type === 'image/jpeg';\r\n\t};\r\n\r\n\tvar getExtensionByMimeType = function getExtensionByMimeType(mimetype) {\r\n\t\tvar type = void 0;\r\n\t\tfor (type in MimeTypes) {\r\n\t\t\tif (!MimeTypes.hasOwnProperty(type)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (MimeTypes[type] === mimetype) {\r\n\t\t\t\treturn type;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn mimetype;\r\n\t};\r\n\r\n\tvar getMimeTypeFromResponseType = function getMimeTypeFromResponseType(responseType) {\r\n\t\tvar type = void 0;\r\n\t\tfor (type in MimeTypes) {\r\n\t\t\tif (!MimeTypes.hasOwnProperty(type)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (responseType.indexOf(MimeTypes[type]) !== -1) {\r\n\t\t\t\treturn MimeTypes[type];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tvar getFileName = function getFileName(path) {\r\n\t\treturn path.split('/').pop().split('?').shift();\r\n\t};\r\n\r\n\tvar leftPad = function leftPad(value) {\r\n\t\tvar padding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\r\n\t\treturn (padding + value).slice(-padding.length);\r\n\t};\r\n\r\n\tvar getDateString = function getDateString(date) {\r\n\t\treturn date.getFullYear() + '-' + leftPad(date.getMonth() + 1, '00') + '-' + leftPad(date.getDate(), '00') + '_' + leftPad(date.getHours(), '00') + '-' + leftPad(date.getMinutes(), '00') + '-' + leftPad(date.getSeconds(), '00');\r\n\t};\r\n\r\n\tvar getFileNameByFile = function getFileNameByFile(file) {\r\n\t\tif (typeof file.name === 'undefined') {\r\n\t\t\treturn getDateString(new Date()) + '.' + getExtensionByMimeType(getFileTypeByFile(file));\r\n\t\t}\r\n\t\treturn file.name;\r\n\t};\r\n\r\n\tvar getFileTypeByFile = function getFileTypeByFile(file) {\r\n\t\treturn file.type || 'image/jpeg';\r\n\t};\r\n\r\n\tvar getFileNameWithoutExtension = function getFileNameWithoutExtension(path) {\r\n\t\tif (typeof path !== 'string') {\r\n\t\t\treturn getDateString(new Date());\r\n\t\t}\r\n\t\tvar name = getFileName(path);\r\n\t\treturn name.split('.').shift();\r\n\t};\r\n\r\n\tvar blobToFile = function blobToFile(blob, name) {\r\n\t\tblob.lastModifiedDate = new Date();\r\n\t\tblob.name = name;\r\n\t\treturn blob;\r\n\t};\r\n\r\n\tvar resourceIsFetchURL = function resourceIsFetchURL(resource) {\r\n\t\treturn (/^fetch\\//.test(resource)\r\n\t\t);\r\n\t};\r\n\r\n\tvar resourceIsBase64Data = function resourceIsBase64Data(resource) {\r\n\t\treturn (/^data:image/.test(resource)\r\n\t\t);\r\n\t};\r\n\r\n\tvar loadRemoteURL = function loadRemoteURL(fetcher, url, err, cb) {\r\n\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.open('GET', fetcher + '?url=' + url, true);\r\n\t\txhr.responseType = 'json';\r\n\t\txhr.onload = function (e) {\r\n\r\n\t\t\tif (this.response.status === 'failure') {\r\n\t\t\t\terr(this.response.message);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tloadURL(this.response.body, cb);\r\n\t\t};\r\n\r\n\t\txhr.send();\r\n\t};\r\n\r\n\tvar loadURL = function loadURL(url, cb) {\r\n\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.open('GET', url, true);\r\n\t\txhr.responseType = 'blob';\r\n\t\txhr.onload = function (e) {\r\n\r\n\t\t\tvar name = getFileName(url);\r\n\t\t\tvar type = getMimeTypeFromResponseType(this.response.type);\r\n\r\n\t\t\tif (!ImageExtensionsRegex.test(name)) {\r\n\t\t\t\tname += '.' + getExtensionByMimeType(type);\r\n\t\t\t}\r\n\r\n\t\t\t// get as file\r\n\t\t\tvar file = blobToFile(this.response, name);\r\n\r\n\t\t\t// need to set correct type\r\n\t\t\tcb(cloneFile(file, type));\r\n\t\t};\r\n\r\n\t\txhr.send();\r\n\t};\r\n\r\n\tvar base64ToByteString = function base64ToByteString(dataURI) {\r\n\r\n\t\t// get data part of string (remove data:image/jpeg...,)\r\n\t\tvar dataPart = dataURI.split(',')[1];\r\n\r\n\t\t// remove any whitespace as that causes InvalidCharacterError in IE\r\n\t\tvar dataPartCleaned = dataPart.replace(/\\s/g, '');\r\n\r\n\t\t// to bytestring\r\n\t\treturn atob(dataPartCleaned);\r\n\t};\r\n\r\n\tvar base64ToBlob = function base64ToBlob(dataURI, filename) {\r\n\r\n\t\tvar byteString = base64ToByteString(dataURI);\r\n\t\tvar ab = new ArrayBuffer(byteString.length);\r\n\t\tvar ia = new Uint8Array(ab);\r\n\r\n\t\tfor (var i = 0; i < byteString.length; i++) {\r\n\t\t\tia[i] = byteString.charCodeAt(i);\r\n\t\t}\r\n\r\n\t\tvar mimeType = getMimeTypeFromDataURI(dataURI);\r\n\r\n\t\tif (typeof filename === 'undefined') {\r\n\t\t\tfilename = getDateString(new Date()) + '.' + getExtensionByMimeType(mimeType);\r\n\t\t}\r\n\r\n\t\treturn blobToFile(createBlob(ab, mimeType), filename);\r\n\t};\r\n\r\n\tvar createBlob = function createBlob(data, mimeType) {\r\n\r\n\t\tvar BB = window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\r\n\r\n\t\tif (BB) {\r\n\t\t\tvar bb = new BB();\r\n\t\t\tbb.append(data);\r\n\t\t\treturn bb.getBlob(mimeType);\r\n\t\t}\r\n\r\n\t\treturn new Blob([data], {\r\n\t\t\ttype: mimeType\r\n\t\t});\r\n\t};\r\n\r\n\tvar getImageAsCanvas = function getImageAsCanvas(src, size, callback) {\r\n\r\n\t\t// only cross origin when it's not base64 data, to prevent errors in Safari\r\n\t\t// http://stackoverflow.com/questions/31643096/why-does-safari-throw-cors-error-when-setting-base64-data-on-a-crossorigin-an\r\n\t\tvar crossOrigin = typeof src === 'string' ? src.indexOf('data:image') !== 0 : true;\r\n\r\n\t\tloadImage.parseMetaData(src, function (meta) {\r\n\r\n\t\t\tvar options = {\r\n\t\t\t\tcanvas: true,\r\n\t\t\t\tcrossOrigin: crossOrigin\r\n\t\t\t};\r\n\r\n\t\t\tif (size) {\r\n\t\t\t\toptions.maxWidth = size.width;\r\n\t\t\t\toptions.maxHeight = size.height;\r\n\t\t\t}\r\n\r\n\t\t\tif (meta.exif) {\r\n\t\t\t\toptions.orientation = meta.exif.get('Orientation');\r\n\t\t\t}\r\n\r\n\t\t\tloadImage(src, function (res) {\r\n\r\n\t\t\t\tif (res.type === 'error') {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcallback(res, meta);\r\n\t\t\t}, options);\r\n\t\t});\r\n\t};\r\n\r\n\tvar getAutoCropRect = function getAutoCropRect(width, height, ratioOut) {\r\n\r\n\t\tvar x,\r\n\t\t\ty,\r\n\t\t\tw,\r\n\t\t\th,\r\n\t\t\tratioIn = height / width;\r\n\r\n\t\t// if input is portrait and required is landscape\r\n\t\t// width is portrait width, height is width times outputRatio\r\n\t\tif (ratioIn < ratioOut) {\r\n\t\t\th = height;\r\n\t\t\tw = h / ratioOut;\r\n\t\t\tx = (width - w) * .5;\r\n\t\t\ty = 0;\r\n\t\t}\r\n\r\n\t\t// if input is landscape and required is portrait\r\n\t\t// height is landscape height, width is height divided by outputRatio\r\n\t\telse {\r\n\t\t\tw = width;\r\n\t\t\th = w * ratioOut;\r\n\t\t\tx = 0;\r\n\t\t\ty = (height - h) * .5;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\theight: h,\r\n\t\t\twidth: w\r\n\t\t};\r\n\t};\r\n\r\n\tvar transformCanvas = function transformCanvas(canvas) {\r\n\t\tvar transforms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n\t\tvar cb = arguments[2];\r\n\r\n\r\n\t\tvar result = create('canvas');\r\n\r\n\t\tvar rotation = transforms.rotation,\r\n\t\t\tcrop = transforms.crop,\r\n\t\t\tsize = transforms.size,\r\n\t\t\tfilters = transforms.filters;\r\n\r\n\t\t// do crop transforms\r\n\r\n\t\tif (crop) {\r\n\r\n\t\t\t// do crop\r\n\t\t\tvar isTilted = rotation % 180 !== 0;\r\n\t\t\tvar space = {\r\n\t\t\t\twidth: isTilted ? canvas.height : canvas.width,\r\n\t\t\t\theight: isTilted ? canvas.width : canvas.height\r\n\t\t\t};\r\n\r\n\t\t\t// limit crop to size of canvas else safari might return transparent image\r\n\t\t\tif (crop.x < 0) {\r\n\t\t\t\tcrop.x = 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (crop.y < 0) {\r\n\t\t\t\tcrop.y = 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (crop.width > space.width) {\r\n\t\t\t\tcrop.width = space.width;\r\n\t\t\t}\r\n\r\n\t\t\tif (crop.height > space.height) {\r\n\t\t\t\tcrop.height = space.height;\r\n\t\t\t}\r\n\r\n\t\t\tif (crop.y + crop.height > space.height) {\r\n\t\t\t\tcrop.y = Math.max(0, space.height - crop.height);\r\n\t\t\t}\r\n\r\n\t\t\tif (crop.x + crop.width > space.width) {\r\n\t\t\t\tcrop.x = Math.max(0, space.width - crop.width);\r\n\t\t\t}\r\n\r\n\t\t\t// crop offsets in percentages\r\n\t\t\tvar px = crop.x / space.width;\r\n\t\t\tvar py = crop.y / space.height;\r\n\t\t\tvar pw = crop.width / space.width;\r\n\t\t\tvar ph = crop.height / space.height;\r\n\r\n\t\t\t// resize canvas to the final crop result size\r\n\t\t\tresult.width = crop.width;\r\n\t\t\tresult.height = crop.height;\r\n\r\n\t\t\t// draw the crop\r\n\t\t\tvar ctx = result.getContext('2d');\r\n\r\n\t\t\tif (rotation === 90) {\r\n\r\n\t\t\t\tctx.translate(result.width * .5, result.height * .5);\r\n\t\t\t\tctx.rotate(-90 * Math.PI / 180);\r\n\t\t\t\tctx.drawImage(canvas,\r\n\r\n\t\t\t\t\t// source rectangle (crop area)\r\n\t\t\t\t\t(1 - py) * canvas.width - canvas.width * ph, crop.x, crop.height, crop.width,\r\n\r\n\t\t\t\t\t// target area (cover)\r\n\t\t\t\t\t-result.height * .5, -result.width * .5, result.height, result.width);\r\n\t\t\t} else if (rotation === 180) {\r\n\r\n\t\t\t\tctx.translate(result.width * .5, result.height * .5);\r\n\t\t\t\tctx.rotate(-180 * Math.PI / 180);\r\n\t\t\t\tctx.drawImage(canvas,\r\n\r\n\t\t\t\t\t// source rectangle (crop area)\r\n\t\t\t\t\t(1 - (px + pw)) * space.width, (1 - (py + ph)) * space.height, pw * space.width, ph * space.height,\r\n\r\n\t\t\t\t\t// target area (cover)\r\n\t\t\t\t\t-result.width * .5, -result.height * .5, result.width, result.height);\r\n\t\t\t} else if (rotation === 270) {\r\n\r\n\t\t\t\tctx.translate(result.width * .5, result.height * .5);\r\n\t\t\t\tctx.rotate(-270 * Math.PI / 180);\r\n\t\t\t\tctx.drawImage(canvas,\r\n\r\n\t\t\t\t\t// source rectangle (crop area)\r\n\t\t\t\t\tcrop.y, (1 - px) * canvas.height - canvas.height * pw, crop.height, crop.width,\r\n\r\n\t\t\t\t\t// target area (cover)\r\n\t\t\t\t\t-result.height * .5, -result.width * .5, result.height, result.width);\r\n\t\t\t} else {\r\n\r\n\t\t\t\tctx.drawImage(canvas,\r\n\r\n\t\t\t\t\t// source rectangle (crop area)\r\n\t\t\t\t\tcrop.x, crop.y, crop.width, crop.height,\r\n\r\n\t\t\t\t\t// target area (cover)\r\n\t\t\t\t\t0, 0, result.width, result.height);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// do size transforms\r\n\t\tif (size) {\r\n\r\n\t\t\tvar scalarX = size.width / result.width;\r\n\t\t\tvar scalarY = size.height / result.height;\r\n\t\t\tvar scalar = Math.min(scalarX, scalarY);\r\n\r\n\t\t\tscaleCanvas(result, scalar, size);\r\n\r\n\t\t\t// sharpen result\r\n\t\t\tif (filters.sharpen > 0) {\r\n\t\t\t\tfilter(result, sharpen(filters.sharpen));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tcb(result);\r\n\t};\r\n\r\n\tfunction scaleCanvas(canvas, scalar, bounds) {\r\n\r\n\t\t// if not scaling down, bail out\r\n\t\tif (scalar >= 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar targetWidth = Math.min(bounds.width, Math.round(canvas.width * scalar));\r\n\t\tvar targetHeight = Math.min(bounds.height, Math.round(canvas.height * scalar));\r\n\t\tvar w = canvas.width;\r\n\t\tvar h = canvas.height;\r\n\t\tvar tmp = canvas;\r\n\t\tvar c = void 0;\r\n\t\tvar ctx = void 0;\r\n\r\n\t\twhile (w > targetWidth && h > targetHeight) {\r\n\r\n\t\t\tc = document.createElement('canvas');\r\n\t\t\tw = Math.round(tmp.width * .5);\r\n\t\t\th = Math.round(tmp.height * .5);\r\n\r\n\t\t\tif (w < targetWidth) {\r\n\t\t\t\tw = targetWidth;\r\n\t\t\t}\r\n\r\n\t\t\tif (h < targetHeight) {\r\n\t\t\t\th = targetHeight;\r\n\t\t\t}\r\n\r\n\t\t\tc.width = w;\r\n\t\t\tc.height = h;\r\n\t\t\tctx = c.getContext('2d');\r\n\t\t\tctx.drawImage(tmp, 0, 0, w, h);\r\n\r\n\t\t\ttmp = cloneCanvas(c);\r\n\t\t}\r\n\r\n\t\tcanvas.width = targetWidth;\r\n\t\tcanvas.height = targetHeight;\r\n\t\tctx = canvas.getContext('2d');\r\n\t\tctx.drawImage(tmp, 0, 0, targetWidth, targetHeight);\r\n\t}\r\n\r\n\tvar getPixels = function getPixels(canvas) {\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\t\treturn ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n\t};\r\n\r\n\tvar filter = function filter(canvas, _filter) {\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\t\tctx.putImageData(_filter(getPixels(canvas), canvas.width, canvas.height), 0, 0);\r\n\t};\r\n\r\n\tvar createImageData = function createImageData(w, h, pixels) {\r\n\t\tvar c = document.createElement('canvas');\r\n\t\tc.width = w;\r\n\t\tc.height = h;\r\n\t\tvar ctx = c.getContext('2d');\r\n\t\tvar data = ctx.createImageData(c.width, c.height);\r\n\t\tif (pixels) {\r\n\t\t\tdata.set(pixels.data);\r\n\t\t}\r\n\t\treturn data;\r\n\t};\r\n\r\n\tvar sharpen = function sharpen(mix) {\r\n\r\n\t\treturn function (pixels, w, h) {\r\n\r\n\t\t\tvar weights = [0, -1, 0, -1, 5, -1, 0, -1, 0],\r\n\t\t\t\tkatet = Math.round(Math.sqrt(weights.length)),\r\n\t\t\t\thalf = katet * 0.5 | 0,\r\n\t\t\t\tdstData = createImageData(w, h),\r\n\t\t\t\tdstBuff = dstData.data,\r\n\t\t\t\tsrcBuff = pixels.data,\r\n\t\t\t\ty = h,\r\n\t\t\t\tx = void 0;\r\n\r\n\t\t\twhile (y--) {\r\n\r\n\t\t\t\tx = w;\r\n\r\n\t\t\t\twhile (x--) {\r\n\r\n\t\t\t\t\tvar sy = y,\r\n\t\t\t\t\t\tsx = x,\r\n\t\t\t\t\t\tdstOff = (y * w + x) * 4,\r\n\t\t\t\t\t\tr = 0,\r\n\t\t\t\t\t\tg = 0,\r\n\t\t\t\t\t\tb = 0,\r\n\t\t\t\t\t\ta = 0;\r\n\r\n\t\t\t\t\tfor (var cy = 0; cy < katet; cy++) {\r\n\t\t\t\t\t\tfor (var cx = 0; cx < katet; cx++) {\r\n\r\n\t\t\t\t\t\t\tvar scy = sy + cy - half;\r\n\t\t\t\t\t\t\tvar scx = sx + cx - half;\r\n\r\n\t\t\t\t\t\t\tif (scy >= 0 && scy < h && scx >= 0 && scx < w) {\r\n\r\n\t\t\t\t\t\t\t\tvar srcOff = (scy * w + scx) * 4;\r\n\t\t\t\t\t\t\t\tvar wt = weights[cy * katet + cx];\r\n\r\n\t\t\t\t\t\t\t\tr += srcBuff[srcOff] * wt;\r\n\t\t\t\t\t\t\t\tg += srcBuff[srcOff + 1] * wt;\r\n\t\t\t\t\t\t\t\tb += srcBuff[srcOff + 2] * wt;\r\n\t\t\t\t\t\t\t\ta += srcBuff[srcOff + 3] * wt;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdstBuff[dstOff] = r * mix + srcBuff[dstOff] * (1 - mix);\r\n\t\t\t\t\tdstBuff[dstOff + 1] = g * mix + srcBuff[dstOff + 1] * (1 - mix);\r\n\t\t\t\t\tdstBuff[dstOff + 2] = b * mix + srcBuff[dstOff + 2] * (1 - mix);\r\n\t\t\t\t\tdstBuff[dstOff + 3] = srcBuff[dstOff + 3];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn dstData;\r\n\t\t};\r\n\t};\r\n\r\n\tvar sizeDist = function sizeDist(rect, canvas) {\r\n\r\n\t\tvar dx = Math.abs(rect.width - canvas.width);\r\n\t\tvar dy = Math.abs(rect.height - canvas.height);\r\n\r\n\t\treturn Math.max(dx, dy);\r\n\t};\r\n\r\n\tvar cloneCanvas = function cloneCanvas(original) {\r\n\t\treturn cloneCanvasScaled(original, 1);\r\n\t};\r\n\r\n\tvar cloneCanvasScaled = function cloneCanvasScaled(original, scalar) {\r\n\r\n\t\tif (!original) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar duplicate = document.createElement('canvas');\r\n\t\tvar ctx = duplicate.getContext('2d');\r\n\t\tduplicate.width = original.width;\r\n\t\tduplicate.height = original.height;\r\n\t\tctx.drawImage(original, 0, 0);\r\n\t\tif (scalar > 0 && scalar != 1) {\r\n\t\t\tscaleCanvas(duplicate, scalar, {\r\n\t\t\t\twidth: Math.round(original.width * scalar),\r\n\t\t\t\theight: Math.round(original.height * scalar)\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn duplicate;\r\n\t};\r\n\r\n\tvar canvasHasDimensions = function canvasHasDimensions(canvas) {\r\n\t\treturn canvas.width && canvas.height;\r\n\t};\r\n\r\n\tvar copyCanvas = function copyCanvas(original, destination) {\r\n\r\n\t\tvar ctx = destination.getContext('2d');\r\n\t\tif (canvasHasDimensions(destination)) {\r\n\t\t\tctx.drawImage(original, 0, 0, destination.width, destination.height);\r\n\t\t} else {\r\n\t\t\tdestination.width = original.width;\r\n\t\t\tdestination.height = original.height;\r\n\t\t\tctx.drawImage(original, 0, 0);\r\n\t\t}\r\n\t};\r\n\r\n\tvar clearCanvas = function clearCanvas(canvas) {\r\n\t\tvar ctx = canvas.getContext('2d');\r\n\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\t};\r\n\r\n\tvar blurCanvas = function blurCanvas(canvas) {\r\n\t\tstackBlur(canvas, 0, 0, canvas.width, canvas.height, 3);\r\n\t};\r\n\r\n\tvar covers = function covers(image, rect) {\r\n\t\treturn parseInt(image.width, 10) >= rect.width && parseInt(image.height, 10) >= rect.height;\r\n\t};\r\n\r\n\tvar scaleRect = function scaleRect(rect, w, h) {\r\n\t\treturn {\r\n\t\t\tx: rect.x * w,\r\n\t\t\ty: rect.y * h,\r\n\t\t\twidth: rect.width * w,\r\n\t\t\theight: rect.height * h\r\n\t\t};\r\n\t};\r\n\r\n\tvar divideRect = function divideRect(rect, w, h) {\r\n\t\treturn {\r\n\t\t\tx: rect.x / w,\r\n\t\t\ty: rect.y / h,\r\n\t\t\twidth: rect.width / w,\r\n\t\t\theight: rect.height / h\r\n\t\t};\r\n\t};\r\n\r\n\tvar resetFileInput = function resetFileInput(input) {\r\n\r\n\t\t// no value, no need to reset\r\n\t\tif (!input || input.value === '') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// for modern browsers\r\n\t\t\tinput.value = '';\r\n\t\t} catch (err) { }\r\n\r\n\t\t// for IE10\r\n\t\tif (input.value) {\r\n\r\n\t\t\t// quickly append input to temp form and reset form\r\n\t\t\tvar form = document.createElement('form');\r\n\t\t\tvar parentNode = input.parentNode;\r\n\t\t\tvar ref = input.nextSibling;\r\n\t\t\tform.appendChild(input);\r\n\t\t\tform.reset();\r\n\r\n\t\t\t// re-inject input where it originally was\r\n\t\t\tif (ref) {\r\n\t\t\t\tparentNode.insertBefore(input, ref);\r\n\t\t\t} else {\r\n\t\t\t\tparentNode.appendChild(input);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar clone = function clone(obj) {\r\n\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value !== null) {\r\n\t\t\treturn JSON.parse(JSON.stringify(obj));\r\n\t\t}\r\n\t\treturn obj;\r\n\t};\r\n\r\n\tvar cloneFile = function cloneFile(file) {\r\n\t\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\r\n\r\n\t\tif (!file) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar dupe = file.slice(0, file.size, type || file.type);\r\n\t\tdupe.name = file.name;\r\n\t\tif (file.lastModifiedDate) {\r\n\t\t\tdupe.lastModifiedDate = new Date(file.lastModifiedDate);\r\n\t\t}\r\n\t\treturn dupe;\r\n\t};\r\n\r\n\tvar cloneData = function cloneData(obj) {\r\n\t\tvar dupe = clone(obj);\r\n\t\tdupe.input.file = cloneFile(obj.input.file);\r\n\t\tdupe.output.image = cloneCanvas(obj.output.image);\r\n\t\treturn dupe;\r\n\t};\r\n\r\n\t/**\r\n\t * @param image\r\n\t * @param type\r\n\t * @param jpegCompression - value between 0 and 100 or undefined/null to use default compression\r\n\t * @returns {*}\r\n\t */\r\n\tvar toDataURL = function toDataURL(image, type, jpegCompression) {\r\n\t\tif (!image || !type) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn image.toDataURL(type, isJPEGMimeType(type) && typeof jpegCompression === 'number' ? jpegCompression / 100 : undefined);\r\n\t};\r\n\r\n\tvar getMimeTypeFromDataURI = function getMimeTypeFromDataURI(dataUri) {\r\n\t\tif (!dataUri) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar matches = dataUri.substr(0, 16).match(/^.+;/);\r\n\t\tif (matches.length) {\r\n\t\t\treturn matches[0].substring(5, matches[0].length - 1);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tvar flattenData = function flattenData(obj) {\r\n\t\tvar props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\r\n\t\tvar jpegCompression = arguments[2];\r\n\t\tvar forcedType = arguments[3];\r\n\t\tvar async = arguments[4];\r\n\r\n\r\n\t\tvar data = {\r\n\t\t\tserver: clone(obj.server),\r\n\t\t\tmeta: clone(obj.meta),\r\n\t\t\tinput: {\r\n\t\t\t\tname: obj.input.name,\r\n\t\t\t\ttype: obj.input.type,\r\n\t\t\t\tsize: obj.input.size,\r\n\t\t\t\twidth: obj.input.width,\r\n\t\t\t\theight: obj.input.height,\r\n\t\t\t\tfield: obj.input.field\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (inArray('input', props) && !async) {\r\n\t\t\tdata.input.image = toDataURL(obj.input.image, obj.input.type);\r\n\t\t}\r\n\r\n\t\tif (inArray('output', props)) {\r\n\r\n\t\t\tdata.output = {\r\n\t\t\t\tname: forcedType ? getFileNameWithoutExtension(obj.input.name) + '.' + forcedType : obj.input.name,\r\n\t\t\t\ttype: MimeTypes[forcedType] || obj.input.type,\r\n\t\t\t\twidth: obj.output.width,\r\n\t\t\t\theight: obj.output.height\r\n\t\t\t};\r\n\r\n\t\t\tdata.output.image = toDataURL(obj.output.image, data.output.type, jpegCompression);\r\n\t\t\tdata.output.type = getMimeTypeFromDataURI(data.output.image);\r\n\r\n\t\t\t// browser problem:\r\n\t\t\t// if output is of type png and input was of type jpeg we need to fix extension of filename\r\n\t\t\t// so instead of testing the above situation we just always fix extension when handling PNGs\r\n\t\t\tif (data.output.type === 'image/png') {\r\n\t\t\t\tdata.output.name = getFileNameWithoutExtension(data.input.name) + '.png';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (inArray('actions', props)) {\r\n\t\t\tdata.actions = clone(obj.actions);\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t};\r\n\r\n\tvar downloadCanvas = function downloadCanvas(data, jpegCompression, forcedType) {\r\n\r\n\t\tvar canvas = data.output.image;\r\n\t\tvar filename = forcedType ? getFileNameWithoutExtension(data.input.name) + '.' + forcedType : data.input.name;\r\n\t\tvar type = MimeTypes[forcedType] || data.input.type;\r\n\r\n\t\t// browser problem:\r\n\t\t// if output is of type png and input was of type jpeg we need to fix extension of filename\r\n\t\t// so instead of testing the above situation we just always fix extension when handling PNGs\r\n\t\tif (type === 'image/png') {\r\n\t\t\tfilename = getFileNameWithoutExtension(data.input.name) + '.png';\r\n\t\t}\r\n\r\n\t\tcanvas.toBlob(function (blob) {\r\n\r\n\t\t\tif ('msSaveBlob' in window.navigator) {\r\n\t\t\t\twindow.navigator.msSaveBlob(blob, filename);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar url = (window.URL || window.webkitURL).createObjectURL(blob);\r\n\r\n\t\t\t// setup hidden link\r\n\t\t\tvar link = create('a');\r\n\t\t\tlink.style.display = 'none';\r\n\t\t\tlink.download = filename;\r\n\t\t\tlink.href = url;\r\n\r\n\t\t\t// attach to DOM otherwise this does not work in Firefox\r\n\t\t\tdocument.body.appendChild(link);\r\n\r\n\t\t\t// fire click\r\n\t\t\tlink.click();\r\n\r\n\t\t\t// delay on remove otherwise does not work in Firefox\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tdocument.body.removeChild(link);\r\n\t\t\t\t(window.URL || window.webkitURL).revokeObjectURL(url);\r\n\t\t\t}, 0);\r\n\t\t}, type, typeof jpegCompression === 'number' ? jpegCompression / 100 : undefined);\r\n\t};\r\n\r\n\tvar toggleDisplayBySelector = function toggleDisplayBySelector(selector, enabled, root) {\r\n\t\tvar node = root.querySelector(selector);\r\n\t\tif (!node) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnode.style.display = enabled ? '' : 'none';\r\n\t};\r\n\r\n\tvar nodeListToArray = function nodeListToArray(nl) {\r\n\t\treturn Array.prototype.slice.call(nl);\r\n\t};\r\n\r\n\tvar removeElement = function removeElement(el) {\r\n\t\tel.parentNode.removeChild(el);\r\n\t};\r\n\r\n\tvar wrap = function wrap(element) {\r\n\t\tvar wrapper = create('div');\r\n\t\tif (element.parentNode) {\r\n\t\t\tif (element.nextSibling) {\r\n\t\t\t\telement.parentNode.insertBefore(wrapper, element.nextSibling);\r\n\t\t\t} else {\r\n\t\t\t\telement.parentNode.appendChild(wrapper);\r\n\t\t\t}\r\n\t\t}\r\n\t\twrapper.appendChild(element);\r\n\t\treturn wrapper;\r\n\t};\r\n\r\n\tvar polarToCartesian = function polarToCartesian(centerX, centerY, radius, angleInDegrees) {\r\n\t\tvar angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0;\r\n\r\n\t\treturn {\r\n\t\t\tx: centerX + radius * Math.cos(angleInRadians),\r\n\t\t\ty: centerY + radius * Math.sin(angleInRadians)\r\n\t\t};\r\n\t};\r\n\r\n\tvar describeArc = function describeArc(x, y, radius, startAngle, endAngle) {\r\n\r\n\t\tvar start = polarToCartesian(x, y, radius, endAngle);\r\n\t\tvar end = polarToCartesian(x, y, radius, startAngle);\r\n\r\n\t\tvar arcSweep = endAngle - startAngle <= 180 ? '0' : '1';\r\n\r\n\t\tvar d = ['M', start.x, start.y, 'A', radius, radius, 0, arcSweep, 0, end.x, end.y].join(' ');\r\n\r\n\t\treturn d;\r\n\t};\r\n\r\n\tvar percentageArc = function percentageArc(x, y, radius, p) {\r\n\t\treturn describeArc(x, y, radius, 0, p * 360);\r\n\t};\r\n\tvar CropArea = function () {\r\n\r\n\t\tvar resizers = {\r\n\t\t\t'n': function n(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, p, d;\r\n\r\n\t\t\t\t// bottom is fixed\r\n\t\t\t\tb = rect.y + rect.height;\r\n\r\n\t\t\t\t// intended top\r\n\t\t\t\tt = limit(offset.y, 0, b);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (b - t < space.min.height) {\r\n\t\t\t\t\tt = b - space.min.height;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick width by ratio of new height\r\n\t\t\t\tw = ratio ? (b - t) / ratio : rect.width;\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (w < space.min.width) {\r\n\t\t\t\t\tw = space.min.width;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tt = b - w * ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add half to left and half to right edge\r\n\t\t\t\tp = (w - rect.width) * .5;\r\n\t\t\t\tl = rect.x - p;\r\n\t\t\t\tr = rect.x + rect.width + p;\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (l < 0 || r > space.width) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.x, space.width - (rect.x + rect.width));\r\n\r\n\t\t\t\t\t// new left and right offsets\r\n\t\t\t\t\tl = rect.x - d;\r\n\t\t\t\t\tr = rect.x + rect.width + d;\r\n\r\n\t\t\t\t\t// resulting width\r\n\t\t\t\t\tw = r - l;\r\n\r\n\t\t\t\t\t// resulting height based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\th = w * ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new top position\r\n\t\t\t\t\tt = b - h;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t's': function s(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, p, d;\r\n\r\n\t\t\t\t// top is fixed\r\n\t\t\t\tt = rect.y;\r\n\r\n\t\t\t\t// intended bottom\r\n\t\t\t\tb = limit(offset.y, t, space.height);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (b - t < space.min.height) {\r\n\t\t\t\t\tb = t + space.min.height;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick width by ratio of new height\r\n\t\t\t\tw = ratio ? (b - t) / ratio : rect.width;\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (w < space.min.width) {\r\n\t\t\t\t\tw = space.min.width;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tb = t + w * ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add half to left and half to right edge\r\n\t\t\t\tp = (w - rect.width) * .5;\r\n\t\t\t\tl = rect.x - p;\r\n\t\t\t\tr = rect.x + rect.width + p;\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (l < 0 || r > space.width) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.x, space.width - (rect.x + rect.width));\r\n\r\n\t\t\t\t\t// new left and right offsets\r\n\t\t\t\t\tl = rect.x - d;\r\n\t\t\t\t\tr = rect.x + rect.width + d;\r\n\r\n\t\t\t\t\t// resulting width\r\n\t\t\t\t\tw = r - l;\r\n\r\n\t\t\t\t\t// resulting height based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\th = w * ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new bottom position\r\n\t\t\t\t\tb = t + h;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'e': function e(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, p, d;\r\n\r\n\t\t\t\t// left is fixed\r\n\t\t\t\tl = rect.x;\r\n\r\n\t\t\t\t// intended right edge\r\n\t\t\t\tr = limit(offset.x, l, space.width);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tr = l + space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : rect.height;\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tr = l + h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add half to top and bottom\r\n\t\t\t\tp = (h - rect.height) * .5;\r\n\t\t\t\tt = rect.y - p;\r\n\t\t\t\tb = rect.y + rect.height + p;\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new top and bottom offsets\r\n\t\t\t\t\tt = rect.y - d;\r\n\t\t\t\t\tb = rect.y + rect.height + d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new right position\r\n\t\t\t\t\tr = l + w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'w': function w(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, p, d;\r\n\r\n\t\t\t\t// right is fixed\r\n\t\t\t\tr = rect.x + rect.width;\r\n\r\n\t\t\t\t// intended left edge\r\n\t\t\t\tl = limit(offset.x, 0, r);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tl = r - space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : rect.height;\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tl = r - h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add half to top and bottom\r\n\t\t\t\tp = (h - rect.height) * .5;\r\n\t\t\t\tt = rect.y - p;\r\n\t\t\t\tb = rect.y + rect.height + p;\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new top and bottom offsets\r\n\t\t\t\t\tt = rect.y - d;\r\n\t\t\t\t\tb = rect.y + rect.height + d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new right position\r\n\t\t\t\t\tl = r - w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'ne': function ne(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, d;\r\n\r\n\t\t\t\t// left and bottom are fixed\r\n\t\t\t\tl = rect.x;\r\n\t\t\t\tb = rect.y + rect.height;\r\n\r\n\t\t\t\t// intended right edge\r\n\t\t\t\tr = limit(offset.x, l, space.width);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tr = l + space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : limit(b - offset.y, space.min.height, b);\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tr = l + h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add height difference with original height to top\r\n\t\t\t\tt = rect.y - (h - rect.height);\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new top and bottom offsets\r\n\t\t\t\t\tt = rect.y - d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new right position\r\n\t\t\t\t\tr = l + w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'se': function se(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, d;\r\n\r\n\t\t\t\t// left and top are fixed\r\n\t\t\t\tl = rect.x;\r\n\t\t\t\tt = rect.y;\r\n\r\n\t\t\t\t// intended right edge\r\n\t\t\t\tr = limit(offset.x, l, space.width);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tr = l + space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : limit(offset.y - rect.y, space.min.height, space.height - t);\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tr = l + h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add height difference with original height to bottom\r\n\t\t\t\tb = rect.y + rect.height + (h - rect.height);\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new bottom offset\r\n\t\t\t\t\tb = rect.y + rect.height + d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new right position\r\n\t\t\t\t\tr = l + w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'sw': function sw(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, d;\r\n\r\n\t\t\t\t// right and top are fixed\r\n\t\t\t\tr = rect.x + rect.width;\r\n\t\t\t\tt = rect.y;\r\n\r\n\t\t\t\t// intended left edge\r\n\t\t\t\tl = limit(offset.x, 0, r);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tl = r - space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : limit(offset.y - rect.y, space.min.height, space.height - t);\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tl = r - h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add height difference with original height to bottom\r\n\t\t\t\tb = rect.y + rect.height + (h - rect.height);\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new bottom offset\r\n\t\t\t\t\tb = rect.y + rect.height + d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new left position\r\n\t\t\t\t\tl = r - w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t'nw': function nw(rect, offset, space, ratio) {\r\n\r\n\t\t\t\tvar t, r, b, l, w, h, d;\r\n\r\n\t\t\t\t// right and bottom are fixed\r\n\t\t\t\tr = rect.x + rect.width;\r\n\t\t\t\tb = rect.y + rect.height;\r\n\r\n\t\t\t\t// intended left edge\r\n\t\t\t\tl = limit(offset.x, 0, r);\r\n\r\n\t\t\t\t// if is too small vertically\r\n\t\t\t\tif (r - l < space.min.width) {\r\n\t\t\t\t\tl = r - space.min.width;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if should scale by ratio, pick height by ratio of new width\r\n\t\t\t\th = ratio ? (r - l) * ratio : limit(b - offset.y, space.min.height, b);\r\n\r\n\t\t\t\t// check if has fallen below min width or height\r\n\t\t\t\tif (h < space.min.height) {\r\n\t\t\t\t\th = space.min.height;\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tl = r - h / ratio;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add height difference with original height to bottom\r\n\t\t\t\tt = rect.y - (h - rect.height);\r\n\r\n\t\t\t\t// check if any of the edges has moved out of the available space, if so,\r\n\t\t\t\t// set max size of rectangle from original position\r\n\t\t\t\tif (t < 0 || b > space.height) {\r\n\r\n\t\t\t\t\t// smallest distance to edge of space\r\n\t\t\t\t\td = Math.min(rect.y, space.height - (rect.y + rect.height));\r\n\r\n\t\t\t\t\t// new bottom offset\r\n\t\t\t\t\tt = rect.y - d;\r\n\r\n\t\t\t\t\t// resulting height\r\n\t\t\t\t\th = b - t;\r\n\r\n\t\t\t\t\t// resulting width based on ratio\r\n\t\t\t\t\tif (ratio) {\r\n\t\t\t\t\t\tw = h / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// new left position\r\n\t\t\t\t\tl = r - w;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tx: l,\r\n\t\t\t\t\ty: t,\r\n\t\t\t\t\twidth: r - l,\r\n\t\t\t\t\theight: b - t\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t};\r\n\r\n\t\t/**\r\n\t * CropArea\r\n\t */\r\n\t\treturn function () {\r\n\t\t\tfunction CropArea() {\r\n\t\t\t\tvar element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('div');\r\n\r\n\t\t\t\t_classCallCheck(this, CropArea);\r\n\r\n\t\t\t\tthis._element = element;\r\n\r\n\t\t\t\tthis._interaction = null;\r\n\r\n\t\t\t\tthis._minWidth = 0;\r\n\t\t\t\tthis._minHeight = 0;\r\n\r\n\t\t\t\tthis._ratio = null;\r\n\r\n\t\t\t\tthis._rect = {\r\n\t\t\t\t\tx: 0,\r\n\t\t\t\t\ty: 0,\r\n\t\t\t\t\twidth: 0,\r\n\t\t\t\t\theight: 0\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis._space = {\r\n\t\t\t\t\twidth: 0,\r\n\t\t\t\t\theight: 0\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis._rectChanged = false;\r\n\r\n\t\t\t\tthis._init();\r\n\t\t\t}\r\n\r\n\t\t\t_createClass(CropArea, [{\r\n\t\t\t\tkey: '_init',\r\n\t\t\t\tvalue: function _init() {\r\n\r\n\t\t\t\t\tthis._element.className = 'slim-crop-area';\r\n\r\n\t\t\t\t\t// lines\r\n\t\t\t\t\tvar lines = create('div', 'grid');\r\n\t\t\t\t\tthis._element.appendChild(lines);\r\n\r\n\t\t\t\t\t// corner & edge resize buttons\r\n\t\t\t\t\tfor (var handler in resizers) {\r\n\t\t\t\t\t\tif (!resizers.hasOwnProperty(handler)) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar _btn = create('button', handler);\r\n\t\t\t\t\t\tthis._element.appendChild(_btn);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar btn = create('button', 'c');\r\n\t\t\t\t\tthis._element.appendChild(btn);\r\n\r\n\t\t\t\t\taddEvents(document, Events.DOWN, this);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'reset',\r\n\t\t\t\tvalue: function reset() {\r\n\r\n\t\t\t\t\tthis._interaction = null;\r\n\r\n\t\t\t\t\tthis._rect = {\r\n\t\t\t\t\t\tx: 0,\r\n\t\t\t\t\t\ty: 0,\r\n\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\theight: 0\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tthis._rectChanged = true;\r\n\r\n\t\t\t\t\tthis._redraw();\r\n\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('change'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'rescale',\r\n\t\t\t\tvalue: function rescale(scale) {\r\n\r\n\t\t\t\t\t// no rescale\r\n\t\t\t\t\tif (scale === 1) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._interaction = null;\r\n\r\n\t\t\t\t\tthis._rectChanged = true;\r\n\r\n\t\t\t\t\tthis._rect.x *= scale;\r\n\t\t\t\t\tthis._rect.y *= scale;\r\n\t\t\t\t\tthis._rect.width *= scale;\r\n\t\t\t\t\tthis._rect.height *= scale;\r\n\r\n\t\t\t\t\tthis._redraw();\r\n\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('change'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'limit',\r\n\t\t\t\tvalue: function limit(width, height) {\r\n\t\t\t\t\tthis._space.width = width;\r\n\t\t\t\t\tthis._space.height = height;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'offset',\r\n\t\t\t\tvalue: function offset(x, y) {\r\n\t\t\t\t\tthis._space.x = x;\r\n\t\t\t\t\tthis._space.y = y;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'resize',\r\n\t\t\t\tvalue: function resize(x, y, width, height) {\r\n\r\n\t\t\t\t\tthis._interaction = null;\r\n\r\n\t\t\t\t\tthis._rect = {\r\n\t\t\t\t\t\tx: limit(x, 0, this._space.width - this._minWidth),\r\n\t\t\t\t\t\ty: limit(y, 0, this._space.height - this._minHeight),\r\n\t\t\t\t\t\twidth: limit(width, this._minWidth, this._space.width),\r\n\t\t\t\t\t\theight: limit(height, this._minHeight, this._space.height)\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tthis._rectChanged = true;\r\n\r\n\t\t\t\t\tthis._redraw();\r\n\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('change'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'handleEvent',\r\n\t\t\t\tvalue: function handleEvent(e) {\r\n\r\n\t\t\t\t\tswitch (e.type) {\r\n\r\n\t\t\t\t\t\tcase 'touchstart':\r\n\t\t\t\t\t\tcase 'pointerdown':\r\n\t\t\t\t\t\tcase 'mousedown':\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis._onStartDrag(e);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'touchmove':\r\n\t\t\t\t\t\tcase 'pointermove':\r\n\t\t\t\t\t\tcase 'mousemove':\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis._onDrag(e);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'touchend':\r\n\t\t\t\t\t\tcase 'touchcancel':\r\n\t\t\t\t\t\tcase 'pointerup':\r\n\t\t\t\t\t\tcase 'mouseup':\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis._onStopDrag(e);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onStartDrag',\r\n\t\t\t\tvalue: function _onStartDrag(e) {\r\n\r\n\t\t\t\t\t// is not my event?\r\n\t\t\t\t\tif (!this._element.contains(e.target)) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t// listen to drag related events\r\n\t\t\t\t\taddEvents(document, Events.MOVE, this);\r\n\t\t\t\t\taddEvents(document, Events.UP, this);\r\n\r\n\t\t\t\t\tthis._interaction = {\r\n\t\t\t\t\t\ttype: e.target.className,\r\n\t\t\t\t\t\toffset: getEventOffsetScroll(e)\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tthis._interaction.offset.x -= this._rect.x;\r\n\t\t\t\t\tthis._interaction.offset.y -= this._rect.y;\r\n\r\n\t\t\t\t\t// now dragging\r\n\t\t\t\t\tthis._element.setAttribute('data-dragging', 'true');\r\n\r\n\t\t\t\t\t// start the redraw update loop\r\n\t\t\t\t\tthis._redraw();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onDrag',\r\n\t\t\t\tvalue: function _onDrag(e) {\r\n\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t// get local offset for this event\r\n\t\t\t\t\tvar offset = getEventOffsetScroll(e);\r\n\t\t\t\t\tvar type = this._interaction.type;\r\n\r\n\t\t\t\t\t// drag\r\n\t\t\t\t\tif (type === 'c') {\r\n\r\n\t\t\t\t\t\tthis._rect.x = limit(offset.x - this._interaction.offset.x, 0, this._space.width - this._rect.width);\r\n\t\t\t\t\t\tthis._rect.y = limit(offset.y - this._interaction.offset.y, 0, this._space.height - this._rect.height);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// resize\r\n\t\t\t\t\telse if (resizers[type]) {\r\n\t\t\t\t\t\tthis._rect = resizers[type](this._rect, {\r\n\t\t\t\t\t\t\tx: offset.x - this._space.x,\r\n\t\t\t\t\t\t\ty: offset.y - this._space.y\r\n\t\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\t\tx: 0,\r\n\t\t\t\t\t\t\t\ty: 0,\r\n\t\t\t\t\t\t\t\twidth: this._space.width,\r\n\t\t\t\t\t\t\t\theight: this._space.height,\r\n\t\t\t\t\t\t\t\tmin: {\r\n\t\t\t\t\t\t\t\t\twidth: this._minWidth,\r\n\t\t\t\t\t\t\t\t\theight: this._minHeight\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}, this._ratio);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._rectChanged = true;\r\n\r\n\t\t\t\t\t// dispatch\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('input'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onStopDrag',\r\n\t\t\t\tvalue: function _onStopDrag(e) {\r\n\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t// stop listening to drag related events\r\n\t\t\t\t\tremoveEvents(document, Events.MOVE, this);\r\n\t\t\t\t\tremoveEvents(document, Events.UP, this);\r\n\r\n\t\t\t\t\t// no longer interacting, so no need to redraw\r\n\t\t\t\t\tthis._interaction = null;\r\n\r\n\t\t\t\t\t// now dragging\r\n\t\t\t\t\tthis._element.setAttribute('data-dragging', 'false');\r\n\r\n\t\t\t\t\t// fire change event\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('change'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_redraw',\r\n\t\t\t\tvalue: function _redraw() {\r\n\t\t\t\t\tvar _this = this;\r\n\r\n\t\t\t\t\tif (this._rectChanged) {\r\n\r\n\t\t\t\t\t\tvar transform = 'translate(' + this._rect.x + 'px,' + this._rect.y + 'px);';\r\n\t\t\t\t\t\tthis._element.style.cssText = '\\n\\t\\t\\t\\t\\t-webkit-transform: ' + transform + ';\\n\\t\\t\\t\\t\\ttransform: ' + transform + ';\\n\\t\\t\\t\\t\\twidth:' + this._rect.width + 'px;\\n\\t\\t\\t\\t\\theight:' + this._rect.height + 'px;\\n\\t\\t\\t\\t';\r\n\r\n\t\t\t\t\t\tthis._rectChanged = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// if no longer interacting with crop area stop here\r\n\t\t\t\t\tif (!this._interaction) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// redraw\r\n\t\t\t\t\trequestAnimationFrame(function () {\r\n\t\t\t\t\t\treturn _this._redraw();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'destroy',\r\n\t\t\t\tvalue: function destroy() {\r\n\r\n\t\t\t\t\tthis._interaction = false;\r\n\t\t\t\t\tthis._rectChanged = false;\r\n\r\n\t\t\t\t\tremoveEvents(document, Events.DOWN, this);\r\n\t\t\t\t\tremoveEvents(document, Events.MOVE, this);\r\n\t\t\t\t\tremoveEvents(document, Events.UP, this);\r\n\r\n\t\t\t\t\tremoveElement(this._element);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'element',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._element;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'space',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._space;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'area',\r\n\t\t\t\tget: function get() {\r\n\r\n\t\t\t\t\tvar x = this._rect.x / this._space.width;\r\n\t\t\t\t\tvar y = this._rect.y / this._space.height;\r\n\t\t\t\t\tvar width = this._rect.width / this._space.width;\r\n\t\t\t\t\tvar height = this._rect.height / this._space.height;\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tx: x,\r\n\t\t\t\t\t\ty: y,\r\n\t\t\t\t\t\twidth: width,\r\n\t\t\t\t\t\theight: height\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'dirty',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._rect.x !== 0 || this._rect.y !== 0 || this._rect.width !== 0 || this._rect.height !== 0;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'minWidth',\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tthis._minWidth = value;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'minHeight',\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tthis._minHeight = value;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'ratio',\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tthis._ratio = value;\r\n\t\t\t\t}\r\n\t\t\t}]);\r\n\r\n\t\t\treturn CropArea;\r\n\t\t}();\r\n\t}();\r\n\tvar ImageEditor = function () {\r\n\r\n\t\t/**\r\n\t * ImageEditor\r\n\t * @param element\r\n\t * @param options\r\n\t * @constructor\r\n\t */\r\n\r\n\t\tvar CropAreaEvents = ['input', 'change'];\r\n\r\n\t\tvar ImageEditor = function () {\r\n\t\t\tfunction ImageEditor() {\r\n\t\t\t\tvar element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('div');\r\n\t\t\t\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n\r\n\t\t\t\t_classCallCheck(this, ImageEditor);\r\n\r\n\t\t\t\tthis._element = element;\r\n\t\t\t\tthis._options = mergeOptions(ImageEditor.options(), options);\r\n\r\n\t\t\t\tthis._ratio = null;\r\n\t\t\t\tthis._output = null;\r\n\r\n\t\t\t\tthis._input = null;\r\n\r\n\t\t\t\tthis._preview = null;\r\n\t\t\t\tthis._previewBlurred = null;\r\n\r\n\t\t\t\tthis._blurredPreview = false;\r\n\r\n\t\t\t\tthis._cropper = null;\r\n\t\t\t\tthis._straightCrop = null;\r\n\t\t\t\tthis._previewWrapper = null;\r\n\t\t\t\tthis._currentWindowSize = {};\r\n\r\n\t\t\t\tthis._btnGroup = null;\r\n\t\t\t\tthis._maskFrame = null;\r\n\r\n\t\t\t\tthis._dirty = false;\r\n\r\n\t\t\t\tthis._wrapperRotation = 0;\r\n\t\t\t\tthis._wrapperScale = 1.0;\r\n\r\n\t\t\t\tthis._init();\r\n\t\t\t}\r\n\r\n\t\t\t_createClass(ImageEditor, [{\r\n\t\t\t\tkey: '_init',\r\n\t\t\t\tvalue: function _init() {\r\n\t\t\t\t\tvar _this2 = this;\r\n\r\n\t\t\t\t\tthis._element.className = 'slim-image-editor';\r\n\r\n\t\t\t\t\t// container\r\n\t\t\t\t\tthis._container = create('div', 'slim-container');\r\n\r\n\t\t\t\t\t// wrapper\r\n\t\t\t\t\tthis._wrapper = create('div', 'slim-wrapper');\r\n\r\n\t\t\t\t\t// photo crop mark container\r\n\t\t\t\t\tthis._stage = create('div', 'slim-stage');\r\n\t\t\t\t\tthis._container.appendChild(this._stage);\r\n\r\n\t\t\t\t\t// create crop marks\r\n\t\t\t\t\tthis._cropper = new CropArea();\r\n\t\t\t\t\tCropAreaEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this2._cropper.element.addEventListener(e, _this2);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._stage.appendChild(this._cropper.element);\r\n\r\n\t\t\t\t\t// canvas ghost\r\n\t\t\t\t\tthis._previewWrapper = create('div', 'slim-image-editor-preview slim-crop-preview');\r\n\t\t\t\t\tthis._previewBlurred = create('canvas', 'slim-crop-blur');\r\n\t\t\t\t\tthis._previewWrapper.appendChild(this._previewBlurred);\r\n\t\t\t\t\tthis._wrapper.appendChild(this._previewWrapper);\r\n\r\n\t\t\t\t\tthis._previewMask = create('div', 'slim-crop-mask');\r\n\t\t\t\t\tthis._preview = create('img');\r\n\t\t\t\t\tthis._previewMask.appendChild(this._preview);\r\n\t\t\t\t\t//this._previewWrapper.appendChild(this._preview);\r\n\t\t\t\t\tthis._cropper.element.appendChild(this._previewMask);\r\n\r\n\t\t\t\t\t// buttons\r\n\t\t\t\t\tthis._btnGroup = create('div', 'slim-editor-btn-group');\r\n\t\t\t\t\tImageEditor.Buttons.forEach(function (c) {\r\n\t\t\t\t\t\tvar prop = capitalizeFirstLetter(c);\r\n\t\t\t\t\t\tvar label = _this2._options['button' + prop + 'Label'];\r\n\t\t\t\t\t\tvar title = _this2._options['button' + prop + 'Title'];\r\n\t\t\t\t\t\tvar className = _this2._options['button' + prop + 'ClassName'];\r\n\t\t\t\t\t\tvar btn = create('button', 'slim-editor-btn slim-btn-' + c + (className ? ' ' + className : ''));\r\n\t\t\t\t\t\tbtn.innerHTML = label;\r\n\t\t\t\t\t\tbtn.title = title || label;\r\n\t\t\t\t\t\tbtn.type = 'button';\r\n\t\t\t\t\t\tbtn.setAttribute('data-action', c);\r\n\t\t\t\t\t\tbtn.addEventListener('click', _this2);\r\n\t\t\t\t\t\t_this2._btnGroup.appendChild(btn);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// utils\r\n\t\t\t\t\tthis._utilsGroup = create('div', 'slim-editor-utils-group');\r\n\r\n\t\t\t\t\t// create rotation button\r\n\t\t\t\t\tvar btn = create('button', 'slim-editor-utils-btn slim-btn-rotate' + (this._options.buttonRotateClassName ? ' ' + this._options.buttonRotateClassName : ''));\r\n\t\t\t\t\tbtn.setAttribute('data-action', 'rotate');\r\n\t\t\t\t\tbtn.addEventListener('click', this);\r\n\t\t\t\t\tbtn.title = this._options.buttonRotateTitle;\r\n\t\t\t\t\tthis._utilsGroup.appendChild(btn);\r\n\r\n\t\t\t\t\tthis._container.appendChild(this._wrapper);\r\n\r\n\t\t\t\t\tthis._element.appendChild(this._container);\r\n\t\t\t\t\tthis._element.appendChild(this._utilsGroup);\r\n\t\t\t\t\tthis._element.appendChild(this._btnGroup);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'dirty',\r\n\t\t\t\tvalue: function dirty() {\r\n\t\t\t\t\tthis._dirty = true;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'handleEvent',\r\n\t\t\t\tvalue: function handleEvent(e) {\r\n\r\n\t\t\t\t\tswitch (e.type) {\r\n\t\t\t\t\t\tcase 'click':\r\n\t\t\t\t\t\t\tthis._onClick(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'change':\r\n\t\t\t\t\t\t\tthis._onGridChange(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'input':\r\n\t\t\t\t\t\t\tthis._onGridInput(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'keydown':\r\n\t\t\t\t\t\t\tthis._onKeyDown(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'resize':\r\n\t\t\t\t\t\t\tthis._onResize(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onKeyDown',\r\n\t\t\t\tvalue: function _onKeyDown(e) {\r\n\r\n\t\t\t\t\tswitch (e.keyCode) {\r\n\t\t\t\t\t\tcase Key.RETURN:\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis._confirm();\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase Key.ESC:\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis._cancel();\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onClick',\r\n\t\t\t\tvalue: function _onClick(e) {\r\n\r\n\t\t\t\t\tif (e.target.classList.contains('slim-btn-cancel')) {\r\n\t\t\t\t\t\tthis._cancel();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (e.target.classList.contains('slim-btn-confirm')) {\r\n\t\t\t\t\t\tthis._confirm();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (e.target.classList.contains('slim-btn-rotate')) {\r\n\t\t\t\t\t\tthis._rotate();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onResize',\r\n\t\t\t\tvalue: function _onResize() {\r\n\r\n\t\t\t\t\t// remember window size\r\n\t\t\t\t\tthis._currentWindowSize = {\r\n\t\t\t\t\t\twidth: window.innerWidth,\r\n\t\t\t\t\t\theight: window.innerHeight\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// redraw the image editor based on new dimensions\r\n\t\t\t\t\tthis._redraw();\r\n\r\n\t\t\t\t\tthis._redrawCropper(this._cropper.area);\r\n\r\n\t\t\t\t\tthis._updateWrapperScale();\r\n\r\n\t\t\t\t\t// apply rotation and scale\r\n\t\t\t\t\tthis._redrawWrapper();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_redrawWrapper',\r\n\t\t\t\tvalue: function _redrawWrapper() {\r\n\t\t\t\t\tvar matrix = snabbt.createMatrix();\r\n\t\t\t\t\tmatrix.scale(this._wrapperScale, this._wrapperScale);\r\n\t\t\t\t\tmatrix.rotateZ(this._wrapperRotation * (Math.PI / 180));\r\n\t\t\t\t\tsnabbt.setElementTransform(this._previewWrapper, matrix);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onGridInput',\r\n\t\t\t\tvalue: function _onGridInput() {\r\n\r\n\t\t\t\t\tthis._redrawCropMask();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onGridChange',\r\n\t\t\t\tvalue: function _onGridChange() {\r\n\r\n\t\t\t\t\tthis._redrawCropMask();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_updateWrapperRotation',\r\n\t\t\t\tvalue: function _updateWrapperRotation() {\r\n\r\n\t\t\t\t\tif (this._options.minSize.width > this._input.height || this._options.minSize.height > this._input.width) {\r\n\t\t\t\t\t\tthis._wrapperRotation += 180;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._wrapperRotation += 90;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_updateWrapperScale',\r\n\t\t\t\tvalue: function _updateWrapperScale() {\r\n\r\n\t\t\t\t\t// test if is tilted\r\n\t\t\t\t\tvar isTilted = this._wrapperRotation % 180 !== 0;\r\n\r\n\t\t\t\t\t// if tilted determine correct scale factor\r\n\t\t\t\t\tif (isTilted) {\r\n\r\n\t\t\t\t\t\t// maximum size\r\n\t\t\t\t\t\tvar maxWidth = this._container.offsetWidth;\r\n\t\t\t\t\t\tvar maxHeight = this._container.offsetHeight;\r\n\r\n\t\t\t\t\t\t// get wrapper size\r\n\t\t\t\t\t\tvar wrapperWidth = this._wrapper.offsetHeight;\r\n\t\t\t\t\t\tvar wrapperHeight = this._wrapper.offsetWidth;\r\n\r\n\t\t\t\t\t\tvar scalar = maxWidth / wrapperWidth;\r\n\t\t\t\t\t\tif (scalar * wrapperHeight > maxHeight) {\r\n\t\t\t\t\t\t\tscalar = maxHeight / wrapperHeight;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._wrapperScale = scalar;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._wrapperScale = 1.0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t/**\r\n\t\t* Action handlers\r\n\t\t*/\r\n\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_cancel',\r\n\t\t\t\tvalue: function _cancel() {\r\n\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('cancel'));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_confirm',\r\n\t\t\t\tvalue: function _confirm() {\r\n\r\n\t\t\t\t\tvar isTilted = this._wrapperRotation % 180 !== 0;\r\n\t\t\t\t\tvar area = this._cropper.area;\r\n\r\n\t\t\t\t\tvar result = scaleRect(area, isTilted ? this._input.height : this._input.width, isTilted ? this._input.width : this._input.height);\r\n\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('confirm', {\r\n\t\t\t\t\t\tdetail: {\r\n\t\t\t\t\t\t\trotation: this._wrapperRotation % 360,\r\n\t\t\t\t\t\t\tcrop: result\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_rotate',\r\n\t\t\t\tvalue: function _rotate() {\r\n\t\t\t\t\tvar _this3 = this;\r\n\r\n\t\t\t\t\t// rotate!\r\n\t\t\t\t\tthis._updateWrapperRotation();\r\n\r\n\t\t\t\t\t// only pass current rect if is 1:1 or free\r\n\t\t\t\t\tvar rect = this.ratio === 1 || this._ratio === null ? this._cropper.area : null;\r\n\t\t\t\t\tif (rect) {\r\n\t\t\t\t\t\trotate(rect, 90);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// wrapper might also need to be scaled\r\n\t\t\t\t\tthis._updateWrapperScale();\r\n\r\n\t\t\t\t\t// hide the cropper\r\n\t\t\t\t\tthis._hideCropper();\r\n\r\n\t\t\t\t\t// rotation effect\r\n\t\t\t\t\tsnabbt(this._previewWrapper, {\r\n\t\t\t\t\t\trotation: [0, 0, this._wrapperRotation * (Math.PI / 180)],\r\n\t\t\t\t\t\tscale: [this._wrapperScale, this._wrapperScale],\r\n\t\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\t\tspringConstant: .8,\r\n\t\t\t\t\t\tspringDeceleration: .65,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t\t// redraws auto cropper\r\n\t\t\t\t\t\t\t_this3._redrawCropper(rect);\r\n\r\n\t\t\t\t\t\t\t// shows the cropper\r\n\t\t\t\t\t\t\t_this3._showCropper();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_showCropper',\r\n\t\t\t\tvalue: function _showCropper() {\r\n\r\n\t\t\t\t\tsnabbt(this._stage, {\r\n\t\t\t\t\t\teasing: 'ease',\r\n\t\t\t\t\t\tduration: 250,\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1.0\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_hideCropper',\r\n\t\t\t\tvalue: function _hideCropper() {\r\n\r\n\t\t\t\t\tsnabbt(this._stage, {\r\n\t\t\t\t\t\tduration: 0,\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 0\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_redrawCropMask',\r\n\t\t\t\tvalue: function _redrawCropMask() {\r\n\t\t\t\t\tvar _this4 = this;\r\n\r\n\t\t\t\t\t// get rotation\r\n\t\t\t\t\tvar rotation = this._wrapperRotation % 360;\r\n\r\n\t\t\t\t\t// get scale\r\n\t\t\t\t\tvar scale = this._wrapperScale;\r\n\r\n\t\t\t\t\t// get image size\r\n\t\t\t\t\tvar canvas = {\r\n\t\t\t\t\t\twidth: this._wrapper.offsetWidth,\r\n\t\t\t\t\t\theight: this._wrapper.offsetHeight\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// get default mask cropper area\r\n\t\t\t\t\tvar mask = this._cropper.area;\r\n\t\t\t\t\tvar preview = {\r\n\t\t\t\t\t\tx: 0,\r\n\t\t\t\t\t\ty: 0\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (rotation === 0) {\r\n\t\t\t\t\t\tpreview.x = -mask.x;\r\n\t\t\t\t\t\tpreview.y = -mask.y;\r\n\t\t\t\t\t} else if (rotation === 90) {\r\n\t\t\t\t\t\tpreview.x = -(1 - mask.y);\r\n\t\t\t\t\t\tpreview.y = -mask.x;\r\n\t\t\t\t\t} else if (rotation === 180) {\r\n\t\t\t\t\t\tpreview.x = -(1 - mask.x);\r\n\t\t\t\t\t\tpreview.y = -(1 - mask.y);\r\n\t\t\t\t\t} else if (rotation === 270) {\r\n\t\t\t\t\t\tpreview.x = -mask.y;\r\n\t\t\t\t\t\tpreview.y = -(1 - mask.x);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// scale rect to fit canvas\r\n\t\t\t\t\tpreview.x *= canvas.width;\r\n\t\t\t\t\tpreview.y *= canvas.height;\r\n\r\n\t\t\t\t\t// update on next frame (so it's in sync with crop area redraw)\r\n\t\t\t\t\tcancelAnimationFrame(this._maskFrame);\r\n\t\t\t\t\tthis._maskFrame = requestAnimationFrame(function () {\r\n\r\n\t\t\t\t\t\tvar transform = 'scale(' + scale + ') rotate(' + -rotation + 'deg) translate(' + preview.x + 'px, ' + preview.y + 'px);';\r\n\t\t\t\t\t\t_this4._preview.style.cssText = '\\n\\t\\t\\t\\t\\twidth: ' + _this4._previewSize.width + 'px;\\n\\t\\t\\t\\t\\theight: ' + _this4._previewSize.height + 'px;\\n\\t\\t\\t\\t\\t-webkit-transform: ' + transform + ';\\n\\t\\t\\t\\t\\ttransform: ' + transform + ';\\n\\t\\t\\t\\t';\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'open',\r\n\t\t\t\tvalue: function open(image, ratio, crop, rotation, complete) {\r\n\t\t\t\t\tvar _this5 = this;\r\n\r\n\t\t\t\t\t// test if is same image\r\n\t\t\t\t\tif (this._input && !this._dirty && this._ratio === ratio) {\r\n\t\t\t\t\t\tcomplete();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// remember current window size\r\n\t\t\t\t\tthis._currentWindowSize = {\r\n\t\t\t\t\t\twidth: window.innerWidth,\r\n\t\t\t\t\t\theight: window.innerHeight\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// reset dirty value\r\n\t\t\t\t\tthis._dirty = false;\r\n\r\n\t\t\t\t\t// reset rotation\r\n\t\t\t\t\tthis._wrapperRotation = rotation || 0;\r\n\r\n\t\t\t\t\t// we'll always have to blur the preview of a newly opened image\r\n\t\t\t\t\tthis._blurredPreview = false;\r\n\r\n\t\t\t\t\t// set ratio\r\n\t\t\t\t\tthis._ratio = ratio;\r\n\r\n\t\t\t\t\t// reset preview size\r\n\t\t\t\t\tthis._previewSize = null;\r\n\r\n\t\t\t\t\t// hide editor\r\n\t\t\t\t\tthis._element.style.opacity = '0';\r\n\r\n\t\t\t\t\t// set as new input image\r\n\t\t\t\t\tthis._input = image;\r\n\r\n\t\t\t\t\t// calculate crop\r\n\t\t\t\t\tvar tilted = rotation % 180 !== 0;\r\n\t\t\t\t\tvar relativeCrop = divideRect(crop, tilted ? image.height : image.width, tilted ? image.width : image.height);\r\n\r\n\t\t\t\t\t// preview has now loaded\r\n\t\t\t\t\tthis._preview.onload = function () {\r\n\r\n\t\t\t\t\t\t// reset onload listener\r\n\t\t\t\t\t\t_this5._preview.onload = null;\r\n\r\n\t\t\t\t\t\t// setup cropper\r\n\t\t\t\t\t\t_this5._cropper.ratio = _this5.ratio;\r\n\r\n\t\t\t\t\t\t// redraw view (for first time)\r\n\t\t\t\t\t\t_this5._redraw();\r\n\r\n\t\t\t\t\t\t// redraw cropper\r\n\t\t\t\t\t\t_this5._redrawCropper(relativeCrop);\r\n\r\n\t\t\t\t\t\t// done\r\n\t\t\t\t\t\tcomplete();\r\n\r\n\t\t\t\t\t\t// fade in\r\n\t\t\t\t\t\t_this5._element.style.opacity = '';\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// load lower resolution preview image\r\n\t\t\t\t\tthis._preview.src = cloneCanvasScaled(this._input, Math.min(this._container.offsetWidth / this._input.width, this._container.offsetHeight / this._input.height)).toDataURL();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_redrawCropper',\r\n\t\t\t\tvalue: function _redrawCropper(rect) {\r\n\r\n\t\t\t\t\tvar isTilted = this._wrapperRotation % 180 !== 0;\r\n\r\n\t\t\t\t\t// image ratio\r\n\t\t\t\t\tvar imageRatio = isTilted ? this._input.height / this._input.width : this._input.width / this._input.height;\r\n\r\n\t\t\t\t\t// get dimensions of image wrapper\r\n\t\t\t\t\tvar width = this._wrapper.offsetWidth;\r\n\t\t\t\t\tvar height = this._wrapper.offsetHeight;\r\n\r\n\t\t\t\t\t// get space\r\n\t\t\t\t\tvar maxWidth = this._container.offsetWidth;\r\n\t\t\t\t\tvar maxHeight = this._container.offsetHeight;\r\n\r\n\t\t\t\t\t// rescale wrapper\r\n\t\t\t\t\tthis._updateWrapperScale();\r\n\r\n\t\t\t\t\t// position cropper container to fit wrapper\r\n\t\t\t\t\tvar sw = this._wrapperScale * (isTilted ? height : width);\r\n\t\t\t\t\tvar sh = this._wrapperScale * (isTilted ? width : height);\r\n\t\t\t\t\tvar sx = isTilted ? (maxWidth - sw) * .5 : this._wrapper.offsetLeft;\r\n\t\t\t\t\tvar sy = isTilted ? (maxHeight - sh) * .5 : this._wrapper.offsetTop;\r\n\r\n\t\t\t\t\tthis._stage.style.cssText = '\\n\\t\\t\\t\\tleft:' + sx + 'px;\\n\\t\\t\\t\\ttop:' + sy + 'px;\\n\\t\\t\\t\\twidth:' + sw + 'px;\\n\\t\\t\\t\\theight:' + sh + 'px;\\n\\t\\t\\t';\r\n\r\n\t\t\t\t\t// set new size limit for crops\r\n\t\t\t\t\t// use image ratio so we have exact amount of pixels\r\n\t\t\t\t\tthis._cropper.limit(sw, sw / imageRatio);\r\n\t\t\t\t\tthis._cropper.offset(sx + this._element.offsetLeft, sy + this._element.offsetTop);\r\n\r\n\t\t\t\t\t// set min and max height of cropper\r\n\t\t\t\t\tthis._cropper.minWidth = this._wrapperScale * this._options.minSize.width * this.scalar;\r\n\t\t\t\t\tthis._cropper.minHeight = this._wrapperScale * this._options.minSize.height * this.scalar;\r\n\r\n\t\t\t\t\t// set crop rect\r\n\t\t\t\t\tvar crop = null;\r\n\t\t\t\t\tif (rect) {\r\n\t\t\t\t\t\tcrop = {\r\n\t\t\t\t\t\t\tx: rect.x * sw,\r\n\t\t\t\t\t\t\ty: rect.y * sh,\r\n\t\t\t\t\t\t\twidth: rect.width * sw,\r\n\t\t\t\t\t\t\theight: rect.height * sh\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcrop = getAutoCropRect(sw, sh, this._ratio || sh / sw);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._cropper.resize(crop.x, crop.y, crop.width, crop.height);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_redraw',\r\n\t\t\t\tvalue: function _redraw() {\r\n\r\n\t\t\t\t\t// image ratio\r\n\t\t\t\t\tvar ratio = this._input.height / this._input.width;\r\n\r\n\t\t\t\t\t// determine rounded size\r\n\t\t\t\t\tvar maxWidth = this._container.clientWidth;\r\n\t\t\t\t\tvar maxHeight = this._container.clientHeight;\r\n\r\n\t\t\t\t\tvar width = maxWidth;\r\n\t\t\t\t\tvar height = width * ratio;\r\n\r\n\t\t\t\t\tif (height > maxHeight) {\r\n\t\t\t\t\t\theight = maxHeight;\r\n\t\t\t\t\t\twidth = height / ratio;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twidth = Math.round(width);\r\n\t\t\t\t\theight = Math.round(height);\r\n\r\n\t\t\t\t\t// rescale and recenter wrapper\r\n\t\t\t\t\tvar x = (maxWidth - width) / 2;\r\n\t\t\t\t\tvar y = (maxHeight - height) / 2;\r\n\r\n\t\t\t\t\tthis._wrapper.style.cssText = '\\n\\t\\t\\t\\tleft:' + x + 'px;\\n\\t\\t\\t\\ttop:' + y + 'px;\\n\\t\\t\\t\\twidth:' + width + 'px;\\n\\t\\t\\t\\theight:' + height + 'px;\\n\\t\\t\\t';\r\n\r\n\t\t\t\t\t// set image size based on container dimensions\r\n\t\t\t\t\tthis._previewBlurred.style.cssText = '\\n\\t\\t\\t\\twidth:' + width + 'px;\\n\\t\\t\\t\\theight:' + height + 'px;\\n\\t\\t\\t';\r\n\r\n\t\t\t\t\tthis._preview.style.cssText = '\\n\\t\\t\\t\\twidth:' + width + 'px;\\n\\t\\t\\t\\theight:' + height + 'px;\\n\\t\\t\\t';\r\n\r\n\t\t\t\t\tthis._previewSize = {\r\n\t\t\t\t\t\twidth: width,\r\n\t\t\t\t\t\theight: height\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// scale and blur the blurry preview\r\n\t\t\t\t\tif (!this._blurredPreview) {\r\n\r\n\t\t\t\t\t\tthis._previewBlurred.width = 300;\r\n\t\t\t\t\t\tthis._previewBlurred.height = this._previewBlurred.width * ratio;\r\n\r\n\t\t\t\t\t\tcopyCanvas(this._input, this._previewBlurred);\r\n\r\n\t\t\t\t\t\tblurCanvas(this._previewBlurred, 3);\r\n\r\n\t\t\t\t\t\tthis._blurredPreview = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'show',\r\n\t\t\t\tvalue: function show() {\r\n\t\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () { };\r\n\r\n\r\n\t\t\t\t\t// test if window size has changed since previous showing\r\n\t\t\t\t\tif (this._currentWindowSize.width !== window.innerWidth || this._currentWindowSize.height !== window.innerHeight) {\r\n\r\n\t\t\t\t\t\t// if so, reposition elements\r\n\t\t\t\t\t\tthis._redraw();\r\n\r\n\t\t\t\t\t\t// redraw cropper position\r\n\t\t\t\t\t\tthis._redrawCropper(this._cropper.area);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// listen to keydown so we can close or confirm with RETURN / ESC\r\n\t\t\t\t\tdocument.addEventListener('keydown', this);\r\n\r\n\t\t\t\t\t// when window is scaled we want to resize the editor\r\n\t\t\t\t\twindow.addEventListener('resize', this);\r\n\r\n\t\t\t\t\t// fade in preview\r\n\t\t\t\t\tvar rotation = this._wrapperRotation * (Math.PI / 180);\r\n\t\t\t\t\tsnabbt(this._previewWrapper, {\r\n\t\t\t\t\t\tfromRotation: [0, 0, rotation],\r\n\t\t\t\t\t\trotation: [0, 0, rotation],\r\n\t\t\t\t\t\tfromPosition: [0, 0, 0],\r\n\t\t\t\t\t\tposition: [0, 0, 0],\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\tfromScale: [this._wrapperScale - .02, this._wrapperScale - .02],\r\n\t\t\t\t\t\tscale: [this._wrapperScale, this._wrapperScale],\r\n\t\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\t\tspringDeceleration: .85,\r\n\t\t\t\t\t\tdelay: 450,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\t// don't reset transforms because we need rotation to stick\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (this._cropper.dirty) {\r\n\r\n\t\t\t\t\t\t// now show cropper\r\n\t\t\t\t\t\tsnabbt(this._stage, {\r\n\t\t\t\t\t\t\tfromPosition: [0, 0, 0],\r\n\t\t\t\t\t\t\tposition: [0, 0, 0],\r\n\t\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\t\tduration: 250,\r\n\t\t\t\t\t\t\tdelay: 850,\r\n\t\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\t\tresetTransforms(this);\r\n\t\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t// now show cropper\r\n\t\t\t\t\t\tsnabbt(this._stage, {\r\n\t\t\t\t\t\t\tfromPosition: [0, 0, 0],\r\n\t\t\t\t\t\t\tposition: [0, 0, 0],\r\n\t\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\t\tduration: 250,\r\n\t\t\t\t\t\t\tdelay: 1000,\r\n\t\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\t\tresetTransforms(this);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// now show buttons\r\n\t\t\t\t\tsnabbt(this._btnGroup.childNodes, {\r\n\t\t\t\t\t\tfromScale: [.9, .9],\r\n\t\t\t\t\t\tscale: [1, 1],\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\tdelay: function delay(i) {\r\n\t\t\t\t\t\t\treturn 1000 + i * 100;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\t\tspringDeceleration: .85,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\tresetTransforms(this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tsnabbt(this._utilsGroup.childNodes, {\r\n\t\t\t\t\t\tfromScale: [.9, .9],\r\n\t\t\t\t\t\tscale: [1, 1],\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\t\tspringDeceleration: .85,\r\n\t\t\t\t\t\tdelay: 1250,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\tresetTransforms(this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'hide',\r\n\t\t\t\tvalue: function hide() {\r\n\t\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () { };\r\n\r\n\r\n\t\t\t\t\t// no more need to listen to keydown\r\n\t\t\t\t\tdocument.removeEventListener('keydown', this);\r\n\r\n\t\t\t\t\t// no more need to resize editor when window is scaled\r\n\t\t\t\t\twindow.removeEventListener('resize', this);\r\n\r\n\t\t\t\t\t// fade out buttons\r\n\t\t\t\t\tsnabbt(this._utilsGroup.childNodes, {\r\n\t\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\tduration: 250\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tsnabbt(this._btnGroup.childNodes, {\r\n\t\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\tdelay: 200,\r\n\t\t\t\t\t\tduration: 350\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tsnabbt([this._stage, this._previewWrapper], {\r\n\t\t\t\t\t\tfromPosition: [0, 0, 0],\r\n\t\t\t\t\t\tposition: [0, -250, 0],\r\n\t\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\t\tspringDeceleration: .75,\r\n\t\t\t\t\t\tdelay: 250,\r\n\t\t\t\t\t\tallDone: function allDone() {\r\n\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'destroy',\r\n\t\t\t\tvalue: function destroy() {\r\n\t\t\t\t\tvar _this6 = this;\r\n\r\n\t\t\t\t\tnodeListToArray(this._btnGroup.children).forEach(function (btn) {\r\n\t\t\t\t\t\tbtn.removeEventListener('click', _this6);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tCropAreaEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this6._cropper.element.removeEventListener(e, _this6);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis._cropper.destroy();\r\n\r\n\t\t\t\t\t// if still attached to DOM, detach\r\n\t\t\t\t\tif (this._element.parentNode) {\r\n\t\t\t\t\t\tremoveElement(this._element);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'showRotateButton',\r\n\t\t\t\tset: function set(enabled) {\r\n\t\t\t\t\tif (enabled) {\r\n\t\t\t\t\t\tthis._element.classList.remove('slim-rotation-disabled');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._element.classList.add('slim-rotation-disabled');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'element',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._element;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'ratio',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\tif (this._ratio === 'input') {\r\n\t\t\t\t\t\treturn this._input.height / this._input.width;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this._ratio;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'offset',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._element.getBoundingClientRect();\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'original',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._input;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'scalar',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._previewSize.width / this._input.width;\r\n\t\t\t\t}\r\n\t\t\t}], [{\r\n\t\t\t\tkey: 'options',\r\n\t\t\t\tvalue: function options() {\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tbuttonCancelClassName: null,\r\n\t\t\t\t\t\tbuttonConfirmClassName: null,\r\n\t\t\t\t\t\tbuttonCancelLabel: 'Cancel',\r\n\t\t\t\t\t\tbuttonConfirmLabel: 'Confirm',\r\n\t\t\t\t\t\tbuttonCancelTitle: null,\r\n\t\t\t\t\t\tbuttonConfirmTitle: null,\r\n\r\n\t\t\t\t\t\tbuttonRotateTitle: 'Rotate',\r\n\t\t\t\t\t\tbuttonRotateClassName: null,\r\n\r\n\t\t\t\t\t\tminSize: {\r\n\t\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\t\theight: 0\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}]);\r\n\r\n\t\t\treturn ImageEditor;\r\n\t\t}();\r\n\r\n\t\tImageEditor.Buttons = ['cancel', 'confirm'];\r\n\r\n\t\treturn ImageEditor;\r\n\t}(CropArea);\r\n\tvar FileHopper = function () {\r\n\r\n\t\t/**\r\n\t * FileHopper\r\n\t * @param element\r\n\t * @param options\r\n\t * @constructor\r\n\t */\r\n\t\tvar DragDropEvents = ['dragover', 'dragleave', 'drop'];\r\n\r\n\t\treturn function () {\r\n\t\t\tfunction FileHopper() {\r\n\t\t\t\tvar element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('div');\r\n\r\n\t\t\t\t_classCallCheck(this, FileHopper);\r\n\r\n\t\t\t\tthis._element = element;\r\n\t\t\t\tthis._accept = [];\r\n\t\t\t\tthis._allowURLs = false;\r\n\r\n\t\t\t\tthis._dragPath = null;\r\n\r\n\t\t\t\tthis._init();\r\n\t\t\t}\r\n\r\n\t\t\t// public properties\r\n\r\n\r\n\t\t\t_createClass(FileHopper, [{\r\n\t\t\t\tkey: 'isValidDataTransfer',\r\n\t\t\t\tvalue: function isValidDataTransfer(dataTransfer) {\r\n\r\n\t\t\t\t\tif (dataTransfer.files && dataTransfer.files.length) {\r\n\t\t\t\t\t\treturn this.areValidDataTransferFiles(dataTransfer.files);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (dataTransfer.items && dataTransfer.items.length) {\r\n\t\t\t\t\t\treturn this.areValidDataTransferItems(dataTransfer.items);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'areValidDataTransferFiles',\r\n\t\t\t\tvalue: function areValidDataTransferFiles(files) {\r\n\t\t\t\t\tif (this._accept.length && files) {\r\n\t\t\t\t\t\treturn this._accept.indexOf(files[0].type) !== -1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'areValidDataTransferItems',\r\n\t\t\t\tvalue: function areValidDataTransferItems(items) {\r\n\r\n\t\t\t\t\tif (this._accept.length && items) {\r\n\r\n\t\t\t\t\t\t// is possibly dropping url\r\n\t\t\t\t\t\tif (this._allowURLs && items[0].kind === 'string') {\r\n\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// is http website so firefox will not return file type\r\n\t\t\t\t\t\tif (items[0].type && items[0].type.indexOf('application') === 0) {\r\n\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn this._accept.indexOf(items[0].type) !== -1;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// public methods\r\n\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'reset',\r\n\t\t\t\tvalue: function reset() {\r\n\t\t\t\t\tthis._element.files = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// private\r\n\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_init',\r\n\t\t\t\tvalue: function _init() {\r\n\t\t\t\t\tvar _this7 = this;\r\n\r\n\t\t\t\t\tthis._element.className = 'slim-file-hopper';\r\n\r\n\t\t\t\t\tDragDropEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this7._element.addEventListener(e, _this7);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// the input has changed\r\n\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'handleEvent',\r\n\t\t\t\tvalue: function handleEvent(e) {\r\n\r\n\t\t\t\t\tswitch (e.type) {\r\n\t\t\t\t\t\tcase 'dragover':\r\n\t\t\t\t\t\t\tthis._onDragOver(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'dragleave':\r\n\t\t\t\t\t\t\tthis._onDragLeave(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'drop':\r\n\t\t\t\t\t\t\tthis._onDrop(e);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onDrop',\r\n\t\t\t\tvalue: function _onDrop(e) {\r\n\r\n\t\t\t\t\t// prevents browser from opening image\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t// test if a url was dropped\r\n\t\t\t\t\tvar remote = null;\r\n\r\n\t\t\t\t\tif (this._allowURLs) {\r\n\r\n\t\t\t\t\t\tvar url = void 0;\r\n\t\t\t\t\t\tvar meta = void 0;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\turl = e.dataTransfer.getData('url');\r\n\t\t\t\t\t\t\tmeta = e.dataTransfer.getData('text/html');\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t// nope nope nope (ie11 trouble)\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (meta && meta.length) {\r\n\t\t\t\t\t\t\tvar parsed = meta.match(/src\\s*=\\s*\"(.+?)\"/);\r\n\t\t\t\t\t\t\tif (parsed) {\r\n\t\t\t\t\t\t\t\tremote = parsed[1];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (url && url.length) {\r\n\t\t\t\t\t\t\tremote = url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (remote) {\r\n\t\t\t\t\t\tthis._element.files = [{ remote: remote }];\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// nope, must have been a file\r\n\t\t\t\t\telse {\r\n\r\n\t\t\t\t\t\t// test type in older browsers\r\n\t\t\t\t\t\tvar filesValidity = this.isValidDataTransfer(e.dataTransfer);\r\n\t\t\t\t\t\tif (!filesValidity) {\r\n\r\n\t\t\t\t\t\t\t// invalid files, stop here\r\n\t\t\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('file-invalid-drop'));\r\n\r\n\t\t\t\t\t\t\t// no longer hovering\r\n\t\t\t\t\t\t\tthis._dragPath = null;\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// store dropped files on element files property, so can be accessed by same function as file input handler\r\n\t\t\t\t\t\tthis._element.files = e.dataTransfer.files;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// file has been dropped\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('file-drop', {\r\n\t\t\t\t\t\tdetail: getOffsetByEvent(e)\r\n\t\t\t\t\t}));\r\n\r\n\t\t\t\t\t// file list has changed, let's notify others\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('change'));\r\n\r\n\t\t\t\t\t// no longer hovering\r\n\t\t\t\t\tthis._dragPath = null;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onDragOver',\r\n\t\t\t\tvalue: function _onDragOver(e) {\r\n\r\n\t\t\t\t\t// prevents browser from opening image\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t// set drop effect\r\n\t\t\t\t\te.dataTransfer.dropEffect = 'copy';\r\n\r\n\t\t\t\t\t// determin if is valid data\r\n\t\t\t\t\tvar dataValidity = this.isValidDataTransfer(e.dataTransfer);\r\n\t\t\t\t\t// if validity is null is undetermined\r\n\t\t\t\t\tif (dataValidity !== null && !dataValidity) {\r\n\r\n\t\t\t\t\t\t// indicate drop mode to user\r\n\t\t\t\t\t\te.dataTransfer.dropEffect = 'none';\r\n\r\n\t\t\t\t\t\t// invalid files, stop here\r\n\t\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('file-invalid'));\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// now hovering file over the area\r\n\t\t\t\t\tif (!this._dragPath) {\r\n\t\t\t\t\t\tthis._dragPath = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// push location\r\n\t\t\t\t\tthis._dragPath.push(getOffsetByEvent(e));\r\n\r\n\t\t\t\t\t// file is hovering over element\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('file-over', {\r\n\t\t\t\t\t\tdetail: {\r\n\t\t\t\t\t\t\tx: last(this._dragPath).x,\r\n\t\t\t\t\t\t\ty: last(this._dragPath).y\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: '_onDragLeave',\r\n\t\t\t\tvalue: function _onDragLeave(e) {\r\n\r\n\t\t\t\t\t// user has dragged file out of element area\r\n\t\t\t\t\tthis._element.dispatchEvent(new CustomEvent('file-out', {\r\n\t\t\t\t\t\tdetail: getOffsetByEvent(e)\r\n\t\t\t\t\t}));\r\n\r\n\t\t\t\t\t// now longer hovering file\r\n\t\t\t\t\tthis._dragPath = null;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'destroy',\r\n\t\t\t\tvalue: function destroy() {\r\n\t\t\t\t\tvar _this8 = this;\r\n\r\n\t\t\t\t\tDragDropEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this8._element.removeEventListener(e, _this8);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tremoveElement(this._element);\r\n\r\n\t\t\t\t\tthis._element = null;\r\n\t\t\t\t\tthis._dragPath = null;\r\n\t\t\t\t\tthis._accept = null;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'element',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._element;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'dragPath',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._dragPath;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'enabled',\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._element.style.display === '';\r\n\t\t\t\t},\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tthis._element.style.display = value ? '' : 'none';\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'allowURLs',\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tthis._allowURLs = value;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'accept',\r\n\t\t\t\tset: function set(mimetypes) {\r\n\t\t\t\t\tthis._accept = mimetypes;\r\n\t\t\t\t},\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn this._accept;\r\n\t\t\t\t}\r\n\t\t\t}]);\r\n\r\n\t\t\treturn FileHopper;\r\n\t\t}();\r\n\t}();\r\n\tvar Popover = function () {\r\n\r\n\t\t/**\r\n\t * Popover\r\n\t */\r\n\t\treturn function () {\r\n\t\t\tfunction Popover() {\r\n\t\t\t\t_classCallCheck(this, Popover);\r\n\r\n\t\t\t\tthis._element = null;\r\n\t\t\t\tthis._inner = null;\r\n\r\n\t\t\t\tthis._init();\r\n\t\t\t}\r\n\r\n\t\t\t_createClass(Popover, [{\r\n\t\t\t\tkey: '_init',\r\n\t\t\t\tvalue: function _init() {\r\n\r\n\t\t\t\t\tthis._element = create('div', 'slim-popover');\r\n\t\t\t\t\tthis._element.setAttribute('data-state', 'off');\r\n\t\t\t\t\tdocument.body.appendChild(this._element);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'show',\r\n\t\t\t\tvalue: function show() {\r\n\t\t\t\t\tvar _this9 = this;\r\n\r\n\t\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () { };\r\n\r\n\r\n\t\t\t\t\t// turn on\r\n\t\t\t\t\tthis._element.setAttribute('data-state', 'on');\r\n\r\n\t\t\t\t\t// show and animate in\r\n\t\t\t\t\tsnabbt(this._element, {\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\tduration: 350,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t\t// clean up transforms\r\n\t\t\t\t\t\t\tresetTransforms(_this9._element);\r\n\r\n\t\t\t\t\t\t\t// ready!\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'hide',\r\n\t\t\t\tvalue: function hide() {\r\n\t\t\t\t\tvar _this10 = this;\r\n\r\n\t\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () { };\r\n\r\n\r\n\t\t\t\t\t// animate out and hide\r\n\t\t\t\t\tsnabbt(this._element, {\r\n\t\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\tduration: 500,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t\t// clean up transforms\r\n\t\t\t\t\t\t\tresetTransforms(_this10._element);\r\n\r\n\t\t\t\t\t\t\t// hide the editor\r\n\t\t\t\t\t\t\t_this10._element.setAttribute('data-state', 'off');\r\n\r\n\t\t\t\t\t\t\t// ready!\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'destroy',\r\n\t\t\t\tvalue: function destroy() {\r\n\t\t\t\t\tif (!this._element.parentNode) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis._element.parentNode.removeChild(this._element);\r\n\t\t\t\t\tthis._element = null;\r\n\t\t\t\t\tthis._inner = null;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tkey: 'inner',\r\n\t\t\t\tset: function set(element) {\r\n\r\n\t\t\t\t\tthis._inner = element;\r\n\t\t\t\t\tif (this._element.firstChild) {\r\n\t\t\t\t\t\tthis._element.removeChild(this._element.firstChild);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis._element.appendChild(this._inner);\r\n\t\t\t\t}\r\n\t\t\t}]);\r\n\r\n\t\t\treturn Popover;\r\n\t\t}();\r\n\t}();\r\n\tvar intSplit = function intSplit(v, c) {\r\n\t\treturn v.split(c).map(function (v) {\r\n\t\t\treturn parseInt(v, 10);\r\n\t\t});\r\n\t};\r\n\r\n\tvar isWrapper = function isWrapper(element) {\r\n\t\treturn element.nodeName === 'DIV' || element.nodeName === 'SPAN';\r\n\t};\r\n\r\n\tvar CropType = {\r\n\t\tAUTO: 'auto',\r\n\t\tINITIAL: 'initial',\r\n\t\tMANUAL: 'manual'\r\n\t};\r\n\r\n\tvar Rect = ['x', 'y', 'width', 'height'];\r\n\r\n\tvar HopperEvents = ['file-invalid-drop', 'file-invalid', 'file-drop', 'file-over', 'file-out', 'click'];\r\n\r\n\tvar ImageEditorEvents = ['cancel', 'confirm'];\r\n\r\n\tvar SlimButtons = ['remove', 'edit', 'download', 'upload'];\r\n\r\n\tvar SlimPopover = null;\r\n\tvar SlimCount = 0;\r\n\r\n\tvar SlimLoaderHTML = '\\n
\\n\\t\\n\\t\\t\\n\\t\\t\\n\\t\\n
\\n';\r\n\r\n\tvar SlimUploadStatusHTML = '\\n
\\n';\r\n\r\n\tvar stringToSize = function stringToSize(str) {\r\n\t\tvar size = str.split(',');\r\n\t\treturn {\r\n\t\t\twidth: parseInt(size[0], 10),\r\n\t\t\theight: parseInt(size[1], 10)\r\n\t\t};\r\n\t};\r\n\r\n\tvar Slim = function () {\r\n\t\tfunction Slim(element) {\r\n\t\t\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n\r\n\t\t\t_classCallCheck(this, Slim);\r\n\r\n\t\t\t// create popover element if not already created\r\n\t\t\tif (!SlimPopover) {\r\n\t\t\t\tSlimPopover = new Popover();\r\n\t\t\t}\r\n\r\n\t\t\t// we create a new counter, we use this counter to determine if we need to clean up the popover\r\n\t\t\tthis._uid = SlimCount++;\r\n\r\n\t\t\t// the options to use\r\n\t\t\tthis._options = mergeOptions(Slim.options(), options);\r\n\r\n\t\t\t// test options correctness\r\n\t\t\tif (this._options.forceSize) {\r\n\t\t\t\tif (typeof this._options.forceSize === 'string') {\r\n\t\t\t\t\tthis._options.forceSize = stringToSize(this._options.forceSize);\r\n\t\t\t\t}\r\n\t\t\t\tthis._options.ratio = this._options.forceSize.width + ':' + this._options.forceSize.height;\r\n\t\t\t\tthis._options.size = clone(this._options.forceSize);\r\n\t\t\t}\r\n\r\n\t\t\t// test for size set as string\r\n\t\t\tif (typeof this._options.size === 'string') {\r\n\t\t\t\tthis._options.size = stringToSize(this._options.size);\r\n\t\t\t}\r\n\r\n\t\t\t// test for size set as string\r\n\t\t\tif (typeof this._options.minSize === 'string') {\r\n\t\t\t\tthis._options.minSize = stringToSize(this._options.minSize);\r\n\t\t\t}\r\n\r\n\t\t\t// reference to original element so we can restore original situation\r\n\t\t\tthis._originalElement = element;\r\n\t\t\tthis._originalElementInner = element.innerHTML;\r\n\t\t\tthis._originalElementAttributes = getElementAttributes(element);\r\n\r\n\t\t\t// should be file input, image or slim wrapper, if not wrapper, wrap\r\n\t\t\tif (!isWrapper(element)) {\r\n\r\n\t\t\t\tthis._element = wrap(element);\r\n\t\t\t\tthis._element.className = element.className;\r\n\t\t\t\telement.className = '';\r\n\r\n\t\t\t\t// ratio is used for CSS so let's set default attribute\r\n\t\t\t\tthis._element.setAttribute('data-ratio', this._options.ratio);\r\n\t\t\t} else {\r\n\t\t\t\tthis._element = element;\r\n\t\t\t}\r\n\t\t\tthis._element.classList.add('slim');\r\n\t\t\tthis._element.setAttribute('data-state', 'init');\r\n\r\n\t\t\t// editor state\r\n\t\t\tthis._state = [];\r\n\r\n\t\t\t// internal timer array for async processes\r\n\t\t\tthis._timers = [];\r\n\r\n\t\t\t// the source element (can either be an input or an img)\r\n\t\t\tthis._input = null;\r\n\r\n\t\t\t// the source element unique name if is input type file\r\n\t\t\tthis._inputReference = null;\r\n\r\n\t\t\t// the output element (hidden input that contains the resulting json object)\r\n\t\t\tthis._output = null;\r\n\r\n\t\t\t// current image ratio\r\n\t\t\tthis._ratio = null;\r\n\r\n\t\t\t// was required field\r\n\t\t\tthis._isRequired = false;\r\n\r\n\t\t\t// components\r\n\t\t\tthis._imageHopper = null;\r\n\t\t\tthis._imageEditor = null;\r\n\r\n\t\t\t// progress path\r\n\t\t\tthis._progressEnabled = true;\r\n\r\n\t\t\t// resulting data\r\n\t\t\tthis._data = {};\r\n\t\t\tthis._resetData();\r\n\r\n\t\t\t// the circle below the mouse hover point\r\n\t\t\tthis._drip = null;\r\n\r\n\t\t\t// had initial image\r\n\t\t\tthis._hasInitialImage = false;\r\n\r\n\t\t\t// initial crop\r\n\t\t\tthis._initialCrop = this._options.crop;\r\n\r\n\t\t\t// initial rotation\r\n\t\t\tthis._initialRotation = this._options.rotation && this._options.rotation % 90 === 0 ? this._options.rotation : null;\r\n\r\n\t\t\t// set to true when destroy method is called, used to halt any timeouts or async processes\r\n\t\t\tthis._isBeingDestroyed = false;\r\n\r\n\t\t\t// stop here if not supported\r\n\t\t\tif (!Slim.supported) {\r\n\t\t\t\tthis._fallback();\r\n\t\t\t} else {\r\n\t\t\t\t// let's go!\r\n\t\t\t\tthis._init();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t_createClass(Slim, [{\r\n\t\t\tkey: 'setRotation',\r\n\t\t\tvalue: function setRotation(rotation, callback) {\r\n\r\n\t\t\t\tif (typeof rotation !== 'number' && rotation % 90 !== 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._data.actions.rotation = rotation;\r\n\t\t\t\tvar isTilted = this._data.actions.rotation % 180 !== 0;\r\n\r\n\t\t\t\tif (this._data.input.image) {\r\n\t\t\t\t\tvar w = isTilted ? this._data.input.image.height : this._data.input.image.width;\r\n\t\t\t\t\tvar h = isTilted ? this._data.input.image.width : this._data.input.image.height;\r\n\t\t\t\t\tthis._data.actions.crop = getAutoCropRect(w, h, this._ratio);\r\n\t\t\t\t\tthis._data.actions.crop.type = CropType.AUTO;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._data.input.image && callback) {\r\n\t\t\t\t\tthis._manualTransform(callback);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'setSize',\r\n\t\t\tvalue: function setSize(dimensions, callback) {\r\n\r\n\t\t\t\tif (typeof dimensions === 'string') {\r\n\t\t\t\t\tdimensions = stringToSize(dimensions);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!dimensions || !dimensions.width || !dimensions.height) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._options.size = clone(dimensions);\r\n\t\t\t\tthis._data.actions.size = clone(dimensions);\r\n\r\n\t\t\t\t// if a crop area is set do re-crop to conform to size\r\n\t\t\t\tif (this._data.input.image && callback) {\r\n\t\t\t\t\tthis._manualTransform(callback);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'setRatio',\r\n\t\t\tvalue: function setRatio(ratio, callback) {\r\n\t\t\t\tvar _this11 = this;\r\n\r\n\t\t\t\tif (!ratio || typeof ratio !== 'string') {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._options.ratio = ratio;\r\n\r\n\t\t\t\tif (this._isFixedRatio()) {\r\n\r\n\t\t\t\t\tvar parts = intSplit(this._options.ratio, ':');\r\n\t\t\t\t\tthis._ratio = parts[1] / parts[0];\r\n\r\n\t\t\t\t\tif (this._data.input.image && callback) {\r\n\t\t\t\t\t\tthis._cropAuto(function (data) {\r\n\t\t\t\t\t\t\t_this11._scaleDropArea(_this11._ratio);\r\n\t\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\t\tcallback(data);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\tif (this._data.input.image) {\r\n\t\t\t\t\t\t\tthis._data.actions.crop = getAutoCropRect(this._data.input.image.width, this._data.input.image.height, this._ratio);\r\n\t\t\t\t\t\t\tthis._data.actions.crop.type = CropType.AUTO;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._scaleDropArea(this._ratio);\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback(null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._scaleDropArea();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// methods\r\n\t\t\t// Test if this Slim object has been bound to the given element\r\n\r\n\t\t}, {\r\n\t\t\tkey: 'isAttachedTo',\r\n\t\t\tvalue: function isAttachedTo(element) {\r\n\t\t\t\treturn this._element === element || this._originalElement === element;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'isDetached',\r\n\t\t\tvalue: function isDetached() {\r\n\t\t\t\treturn this._element.parentNode === null;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'load',\r\n\t\t\tvalue: function load(src) {\r\n\t\t\t\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n\t\t\t\tvar callback = arguments[2];\r\n\r\n\r\n\t\t\t\tif (typeof options === 'function') {\r\n\t\t\t\t\tcallback = options;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// store in options\r\n\t\t\t\t\tthis._options.crop = options.crop;\r\n\r\n\t\t\t\t\t// set rotation\r\n\t\t\t\t\tthis._options.rotation = options.rotation;\r\n\r\n\t\t\t\t\t// initial rotation\r\n\t\t\t\t\tthis._initialRotation = options.rotation && options.rotation % 90 === 0 ? options.rotation : null;\r\n\r\n\t\t\t\t\t// set initial crop\r\n\t\t\t\t\tthis._initialCrop = this._options.crop;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._load(src, callback);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'upload',\r\n\t\t\tvalue: function upload(callback) {\r\n\t\t\t\tthis._doUpload(callback);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'download',\r\n\t\t\tvalue: function download() {\r\n\t\t\t\tthis._doDownload();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'remove',\r\n\t\t\tvalue: function remove() {\r\n\t\t\t\treturn this._doRemove(true);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'destroy',\r\n\t\t\tvalue: function destroy() {\r\n\t\t\t\tthis._doDestroy();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'edit',\r\n\t\t\tvalue: function edit() {\r\n\t\t\t\tthis._doEdit();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'crop',\r\n\t\t\tvalue: function crop(rect, callback) {\r\n\t\t\t\tthis._crop(rect.x, rect.y, rect.width, rect.height, callback);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'containsImage',\r\n\t\t\tvalue: function containsImage() {\r\n\t\t\t\treturn this._data.input.name !== null;\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * State Related\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_canInstantEdit',\r\n\t\t\tvalue: function _canInstantEdit() {\r\n\t\t\t\treturn this._options.instantEdit && !this._isInitialising;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getFileInput',\r\n\t\t\tvalue: function _getFileInput() {\r\n\t\t\t\treturn this._element.querySelector('input[type=file]');\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getInitialImage',\r\n\t\t\tvalue: function _getInitialImage() {\r\n\t\t\t\treturn this._element.querySelector('img');\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getInputElement',\r\n\t\t\tvalue: function _getInputElement() {\r\n\t\t\t\treturn this._getFileInput() || this._getInitialImage();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getRatioSpacerElement',\r\n\t\t\tvalue: function _getRatioSpacerElement() {\r\n\t\t\t\treturn this._element.children[0];\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_isImageOnly',\r\n\t\t\tvalue: function _isImageOnly() {\r\n\t\t\t\treturn this._input.nodeName !== 'INPUT';\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_isFixedRatio',\r\n\t\t\tvalue: function _isFixedRatio() {\r\n\t\t\t\treturn this._options.ratio.indexOf(':') !== -1;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_isAutoCrop',\r\n\t\t\tvalue: function _isAutoCrop() {\r\n\t\t\t\treturn this._data.actions.crop.type === CropType.AUTO;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_toggleButton',\r\n\t\t\tvalue: function _toggleButton(action, state) {\r\n\t\t\t\ttoggleDisplayBySelector('.slim-btn[data-action=\"' + action + '\"]', state, this._element);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_clearState',\r\n\t\t\tvalue: function _clearState() {\r\n\t\t\t\tthis._state = [];\r\n\t\t\t\tthis._updateState();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_removeState',\r\n\t\t\tvalue: function _removeState(state) {\r\n\t\t\t\tthis._state = this._state.filter(function (item) {\r\n\t\t\t\t\treturn item !== state;\r\n\t\t\t\t});\r\n\t\t\t\tthis._updateState();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_addState',\r\n\t\t\tvalue: function _addState(state) {\r\n\t\t\t\tif (inArray(state, this._state)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis._state.push(state);\r\n\t\t\t\tthis._updateState();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_updateState',\r\n\t\t\tvalue: function _updateState() {\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis._element.setAttribute('data-state', this._state.join(','));\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_resetData',\r\n\t\t\tvalue: function _resetData() {\r\n\r\n\t\t\t\t// resets data object\r\n\t\t\t\tthis._data = {\r\n\t\t\t\t\tserver: null,\r\n\t\t\t\t\tmeta: clone(this._options.meta),\r\n\t\t\t\t\tinput: {\r\n\t\t\t\t\t\tfield: this._inputReference,\r\n\t\t\t\t\t\tname: null,\r\n\t\t\t\t\t\ttype: null,\r\n\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\theight: 0,\r\n\t\t\t\t\t\tfile: null\r\n\t\t\t\t\t},\r\n\t\t\t\t\toutput: {\r\n\t\t\t\t\t\timage: null,\r\n\t\t\t\t\t\twidth: 0,\r\n\t\t\t\t\t\theight: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\tactions: {\r\n\t\t\t\t\t\trotation: null,\r\n\t\t\t\t\t\tcrop: null,\r\n\t\t\t\t\t\tsize: null\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// resets hidden input clone (has not yet been created when reset call in constructor, hence the check)\r\n\t\t\t\tif (this._output) {\r\n\t\t\t\t\tthis._output.value = '';\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// should reset file input\r\n\t\t\t\tresetFileInput(this._getFileInput());\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Initialisation\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_init',\r\n\t\t\tvalue: function _init() {\r\n\t\t\t\tvar _this12 = this;\r\n\r\n\t\t\t\t// busy initialising\r\n\t\t\t\tthis._isInitialising = true;\r\n\r\n\t\t\t\t// cropper root is not file input\r\n\t\t\t\tthis._addState('empty');\r\n\r\n\t\t\t\t// define input reference field name\r\n\t\t\t\tif (inArray('input', this._options.post)) {\r\n\t\t\t\t\tthis._inputReference = 'slim_input_' + this._uid;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// get input element\r\n\t\t\t\tthis._input = this._getInputElement();\r\n\r\n\t\t\t\t// if no input supplied we'll automatically create one\r\n\t\t\t\tif (!this._input) {\r\n\t\t\t\t\tthis._input = create('input');\r\n\t\t\t\t\tthis._input.type = 'file';\r\n\t\t\t\t\tthis._element.appendChild(this._input);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// get required state of input element\r\n\t\t\t\tthis._isRequired = this._input.required === true;\r\n\r\n\t\t\t\t// set or create output field\r\n\t\t\t\tthis._output = this._element.querySelector('input[type=hidden]');\r\n\r\n\t\t\t\t// if no output element defined we'll create one automagically\r\n\t\t\t\tif (!this._output) {\r\n\t\t\t\t\tthis._output = create('input');\r\n\t\t\t\t\tthis._output.type = 'hidden';\r\n\t\t\t\t\tthis._output.name = this._input.name || this._options.defaultInputName;\r\n\t\t\t\t\tthis._element.appendChild(this._output);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// prevent the original file input field from posting (value will be duplicated to output field)\r\n\t\t\t\tthis._input.removeAttribute('name');\r\n\r\n\t\t\t\t// create drop area\r\n\t\t\t\tvar area = create('div', 'slim-area');\r\n\r\n\t\t\t\t// test if contains initial image\r\n\t\t\t\tvar initialImage = this._getInitialImage();\r\n\t\t\t\tvar initialImageSrc = (initialImage || {}).src;\r\n\t\t\t\tif (initialImageSrc) {\r\n\t\t\t\t\tthis._hasInitialImage = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._initialCrop = null;\r\n\t\t\t\t\tthis._initialRotation = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar resultHTML = '\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
';\r\n\r\n\t\t\t\t// add drop overlay\r\n\t\t\t\tif (this._isImageOnly()) {\r\n\t\t\t\t\tarea.innerHTML = '\\n\\t\\t\\t\\t' + SlimLoaderHTML + '\\n\\t\\t\\t\\t' + SlimUploadStatusHTML + '\\n\\t\\t\\t\\t' + resultHTML + '\\n\\t\\t\\t\\t
' + (this._options.labelLoading || '') + '
\\n\\t\\t\\t';\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// if should post input data\r\n\t\t\t\t\tif (inArray('input', this._options.post)) {\r\n\r\n\t\t\t\t\t\tthis._data.input.field = this._inputReference;\r\n\r\n\t\t\t\t\t\t// if is sync post\r\n\t\t\t\t\t\t// and should post input data\r\n\t\t\t\t\t\tif (!this._options.service) {\r\n\t\t\t\t\t\t\tthis._input.name = this._inputReference;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// set common image mime type to the accept attribute\r\n\t\t\t\t\tvar mimetypes = void 0;\r\n\t\t\t\t\tif (!this._input.hasAttribute('accept') || this._input.getAttribute('accept') === 'image/*') {\r\n\t\t\t\t\t\tmimetypes = getCommonMimeTypes();\r\n\t\t\t\t\t\tthis._input.setAttribute('accept', mimetypes.join(','));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tmimetypes = this._input.accept.split(',').map(function (mimetype) {\r\n\t\t\t\t\t\t\treturn mimetype.trim();\r\n\t\t\t\t\t\t}).filter(function (mimetype) {\r\n\t\t\t\t\t\t\treturn mimetype.length > 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// setup hopper\r\n\t\t\t\t\tthis._imageHopper = new FileHopper();\r\n\t\t\t\t\tthis._imageHopper.accept = mimetypes;\r\n\t\t\t\t\tthis._imageHopper.allowURLs = typeof this._options.fetcher === 'string';\r\n\t\t\t\t\tthis._element.appendChild(this._imageHopper.element);\r\n\t\t\t\t\tHopperEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this12._imageHopper.element.addEventListener(e, _this12);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// render area\r\n\t\t\t\t\tarea.innerHTML = '\\n\\t\\t\\t\\t' + SlimLoaderHTML + '\\n\\t\\t\\t\\t' + SlimUploadStatusHTML + '\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t
' + (this._options.label || '') + '
' + (this._options.labelLoading || '') + '
\\n\\t\\t\\t\\t' + resultHTML + '\\n\\t\\t\\t';\r\n\r\n\t\t\t\t\t// start listening for events so we can load image on file input change\r\n\t\t\t\t\tthis._input.addEventListener('change', this);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add area node\r\n\t\t\t\tthis._element.appendChild(area);\r\n\r\n\t\t\t\t// add button group\r\n\t\t\t\tthis._btnGroup = create('div', 'slim-btn-group');\r\n\t\t\t\tthis._btnGroup.style.display = 'none';\r\n\t\t\t\tthis._element.appendChild(this._btnGroup);\r\n\t\t\t\tSlimButtons.filter(function (c) {\r\n\t\t\t\t\treturn _this12._isButtonAllowed(c);\r\n\t\t\t\t}).forEach(function (c) {\r\n\t\t\t\t\tvar prop = capitalizeFirstLetter(c);\r\n\t\t\t\t\tvar label = _this12._options['button' + prop + 'Label'];\r\n\t\t\t\t\tvar title = _this12._options['button' + prop + 'Title'] || label;\r\n\t\t\t\t\tvar className = _this12._options['button' + prop + 'ClassName'];\r\n\t\t\t\t\tvar btn = create('button', 'slim-btn slim-btn-' + c + (className ? ' ' + className : ''));\r\n\t\t\t\t\tbtn.innerHTML = label;\r\n\t\t\t\t\tbtn.title = title;\r\n\t\t\t\t\tbtn.type = 'button';\r\n\t\t\t\t\tbtn.addEventListener('click', _this12);\r\n\t\t\t\t\tbtn.setAttribute('data-action', c);\r\n\t\t\t\t\t_this12._btnGroup.appendChild(btn);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// add ratio padding\r\n\t\t\t\tif (this._isFixedRatio()) {\r\n\t\t\t\t\tvar parts = intSplit(this._options.ratio, ':');\r\n\t\t\t\t\tthis._ratio = parts[1] / parts[0];\r\n\t\t\t\t\tthis._scaleDropArea(this._ratio);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// setup loader\r\n\t\t\t\tthis._updateProgress(.5);\r\n\r\n\t\t\t\t// preload source\r\n\t\t\t\tif (initialImageSrc) {\r\n\r\n\t\t\t\t\tthis._load(initialImageSrc, function () {\r\n\t\t\t\t\t\t_this12._onInit();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._onInit();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onInit',\r\n\t\t\tvalue: function _onInit() {\r\n\t\t\t\tvar _this13 = this;\r\n\r\n\t\t\t\t// we're done initialising\r\n\t\t\t\tthis._isInitialising = false;\r\n\r\n\t\t\t\t// done initialising now, else is only called after image load\r\n\t\t\t\tvar done = function done() {\r\n\t\t\t\t\t// we call this async so the constructor of Slim has returned before the onInit is called, allowing clean immidiate destroy\r\n\t\t\t\t\tvar timer = setTimeout(function () {\r\n\t\t\t\t\t\t_this13._options.didInit.apply(_this13, [_this13.data]);\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t\t_this13._timers.push(timer);\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// save initial image\r\n\t\t\t\tif (this._options.saveInitialImage && this.containsImage()) {\r\n\r\n\t\t\t\t\tif (!this._options.service) {\r\n\t\t\t\t\t\tthis._save(function () {\r\n\t\t\t\t\t\t\tdone();\r\n\t\t\t\t\t\t}, false);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// by default upload button is disabled for existing images\r\n\t\t\t\t\tif (this._options.service && this.containsImage()) {\r\n\t\t\t\t\t\tthis._toggleButton('upload', false);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdone();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_updateProgress',\r\n\t\t\tvalue: function _updateProgress(progress) {\r\n\r\n\t\t\t\tif (isNaN(progress)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprogress = Math.min(.99999, progress);\r\n\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this._progressEnabled) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar loader = this._element.querySelector('.slim-loader');\r\n\t\t\t\tif (!loader) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar size = loader.offsetWidth;\r\n\t\t\t\tvar paths = loader.querySelectorAll('path');\r\n\t\t\t\tvar ringWidth = parseInt(paths[0].getAttribute('stroke-width'), 10);\r\n\r\n\t\t\t\tpaths[0].setAttribute('d', percentageArc(size * .5, size * .5, size * .5 - ringWidth, .9999));\r\n\r\n\t\t\t\tpaths[1].setAttribute('d', percentageArc(size * .5, size * .5, size * .5 - ringWidth, progress));\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_startProgress',\r\n\t\t\tvalue: function _startProgress(cb) {\r\n\t\t\t\tvar _this14 = this;\r\n\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._progressEnabled = false;\r\n\r\n\t\t\t\tvar loader = this._element.querySelector('.slim-loader');\r\n\t\t\t\tif (!loader) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar ring = loader.children[0];\r\n\r\n\t\t\t\tthis._stopProgressLoop(function () {\r\n\r\n\t\t\t\t\tloader.removeAttribute('style');\r\n\t\t\t\t\tring.removeAttribute('style');\r\n\r\n\t\t\t\t\t_this14._progressEnabled = true;\r\n\r\n\t\t\t\t\t_this14._updateProgress(0);\r\n\r\n\t\t\t\t\t_this14._progressEnabled = false;\r\n\r\n\t\t\t\t\tsnabbt(ring, {\r\n\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\tduration: 250,\r\n\t\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\t\t_this14._progressEnabled = true;\r\n\t\t\t\t\t\t\tif (cb) {\r\n\t\t\t\t\t\t\t\tcb();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_stopProgress',\r\n\t\t\tvalue: function _stopProgress() {\r\n\t\t\t\tvar _this15 = this;\r\n\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar loader = this._element.querySelector('.slim-loader');\r\n\t\t\t\tif (!loader) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar ring = loader.children[0];\r\n\r\n\t\t\t\tthis._updateProgress(1);\r\n\r\n\t\t\t\tsnabbt(ring, {\r\n\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tduration: 250,\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\tloader.removeAttribute('style');\r\n\t\t\t\t\t\tring.removeAttribute('style');\r\n\r\n\t\t\t\t\t\t_this15._updateProgress(.5);\r\n\r\n\t\t\t\t\t\t_this15._progressEnabled = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_startProgressLoop',\r\n\t\t\tvalue: function _startProgressLoop() {\r\n\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// start loading animation\r\n\t\t\t\tvar loader = this._element.querySelector('.slim-loader');\r\n\t\t\t\tif (!loader) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar ring = loader.children[0];\r\n\t\t\t\tloader.removeAttribute('style');\r\n\t\t\t\tring.removeAttribute('style');\r\n\r\n\t\t\t\t// set infinite load state\r\n\t\t\t\tthis._updateProgress(.5);\r\n\r\n\t\t\t\t// repeat!\r\n\t\t\t\tvar repeat = 1000;\r\n\r\n\t\t\t\tsnabbt(loader, 'stop');\r\n\r\n\t\t\t\tsnabbt(loader, {\r\n\t\t\t\t\trotation: [0, 0, -(Math.PI * 2) * repeat],\r\n\t\t\t\t\teasing: 'linear',\r\n\t\t\t\t\tduration: repeat * 1000\r\n\t\t\t\t});\r\n\r\n\t\t\t\tsnabbt(ring, {\r\n\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\topacity: 1,\r\n\t\t\t\t\tduration: 250\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_stopProgressLoop',\r\n\t\t\tvalue: function _stopProgressLoop(callback) {\r\n\r\n\t\t\t\tif (!this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar loader = this._element.querySelector('.slim-loader');\r\n\t\t\t\tif (!loader) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar ring = loader.children[0];\r\n\r\n\t\t\t\tsnabbt(ring, {\r\n\t\t\t\t\tfromOpacity: parseFloat(ring.style.opacity),\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tduration: 250,\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\tsnabbt(loader, 'stop');\r\n\r\n\t\t\t\t\t\tloader.removeAttribute('style');\r\n\t\t\t\t\t\tring.removeAttribute('style');\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_isButtonAllowed',\r\n\t\t\tvalue: function _isButtonAllowed(button) {\r\n\r\n\t\t\t\tif (button === 'edit') {\r\n\t\t\t\t\treturn this._options.edit;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (button === 'download') {\r\n\t\t\t\t\treturn this._options.download;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (button === 'upload') {\r\n\r\n\t\t\t\t\t// if no service defined upload button makes no sense\r\n\t\t\t\t\tif (!this._options.service) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// if push mode is set, no need for upload button\r\n\t\t\t\t\tif (this._options.push) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// set upload button\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (button === 'remove') {\r\n\t\t\t\t\treturn !this._isImageOnly();\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_fallback',\r\n\t\t\tvalue: function _fallback() {\r\n\r\n\t\t\t\t// create status area\r\n\t\t\t\tvar area = create('div', 'slim-area');\r\n\t\t\t\tarea.innerHTML = '\\n\\t\\t\\t
' + (this._options.label || '') + '
\\n\\t\\t';\r\n\t\t\t\tthis._element.appendChild(area);\r\n\r\n\t\t\t\tthis._throwError(this._options.statusNoSupport);\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Event routing\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: 'handleEvent',\r\n\t\t\tvalue: function handleEvent(e) {\r\n\r\n\t\t\t\tswitch (e.type) {\r\n\t\t\t\t\tcase 'click':\r\n\t\t\t\t\t\tthis._onClick(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'change':\r\n\t\t\t\t\t\tthis._onChange(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'cancel':\r\n\t\t\t\t\t\tthis._onCancel(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'confirm':\r\n\t\t\t\t\t\tthis._onConfirm(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'file-over':\r\n\t\t\t\t\t\tthis._onFileOver(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'file-out':\r\n\t\t\t\t\t\tthis._onFileOut(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'file-drop':\r\n\t\t\t\t\t\tthis._onDropFile(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'file-invalid':\r\n\t\t\t\t\t\tthis._onInvalidFile(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'file-invalid-drop':\r\n\t\t\t\t\t\tthis._onInvalidFileDrop(e);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getIntro',\r\n\t\t\tvalue: function _getIntro() {\r\n\t\t\t\treturn this._element.querySelector('.slim-result .in');\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getOutro',\r\n\t\t\tvalue: function _getOutro() {\r\n\t\t\t\treturn this._element.querySelector('.slim-result .out');\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getInOut',\r\n\t\t\tvalue: function _getInOut() {\r\n\t\t\t\treturn this._element.querySelectorAll('.slim-result img');\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_getDrip',\r\n\t\t\tvalue: function _getDrip() {\r\n\t\t\t\tif (!this._drip) {\r\n\t\t\t\t\tthis._drip = this._element.querySelector('.slim-drip > span');\r\n\t\t\t\t}\r\n\t\t\t\treturn this._drip;\r\n\t\t\t}\r\n\r\n\t\t\t// errors\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_throwError',\r\n\t\t\tvalue: function _throwError(error) {\r\n\r\n\t\t\t\tthis._addState('error');\r\n\r\n\t\t\t\tthis._element.querySelector('.slim-label').style.display = 'none';\r\n\r\n\t\t\t\tvar node = this._element.querySelector('.slim-error');\r\n\t\t\t\tif (!node) {\r\n\t\t\t\t\tnode = create('div', 'slim-error');\r\n\t\t\t\t\tthis._element.querySelector('.slim-status').appendChild(node);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tnode.innerHTML = error;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_removeError',\r\n\t\t\tvalue: function _removeError() {\r\n\r\n\t\t\t\tthis._removeState('error');\r\n\t\t\t\tthis._element.querySelector('.slim-label').style.display = '';\r\n\r\n\t\t\t\tvar error = this._element.querySelector('.slim-error');\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\terror.parentNode.removeChild(error);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_openFileDialog',\r\n\t\t\tvalue: function _openFileDialog() {\r\n\t\t\t\tthis._removeError();\r\n\t\t\t\tthis._input.click();\r\n\t\t\t}\r\n\r\n\t\t\t// drop area clicked\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_onClick',\r\n\t\t\tvalue: function _onClick(e) {\r\n\t\t\t\tvar _this16 = this;\r\n\r\n\t\t\t\tvar list = e.target.classList;\r\n\t\t\t\tvar target = e.target;\r\n\r\n\t\t\t\t// no preview, so possible to drop file\r\n\t\t\t\tif (list.contains('slim-file-hopper')) {\r\n\t\t\t\t\tthis._openFileDialog();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// decide what button was clicked\r\n\t\t\t\tswitch (target.getAttribute('data-action')) {\r\n\t\t\t\t\tcase 'remove':\r\n\t\t\t\t\t\tthis._options.willRemove.apply(this, [this.data, function () {\r\n\t\t\t\t\t\t\t_this16._doRemove(true);\r\n\t\t\t\t\t\t}]);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'edit':\r\n\t\t\t\t\t\tthis._doEdit();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'download':\r\n\t\t\t\t\t\tthis._doDownload();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'upload':\r\n\t\t\t\t\t\tthis._doUpload();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onInvalidFileDrop',\r\n\t\t\tvalue: function _onInvalidFileDrop() {\r\n\r\n\t\t\t\tthis._onInvalidFile();\r\n\r\n\t\t\t\tthis._removeState('file-over');\r\n\r\n\t\t\t\t// animate out drip\r\n\t\t\t\tvar drip = this._getDrip();\r\n\t\t\t\tsnabbt(drip.firstChild, {\r\n\t\t\t\t\tfromScale: [.5, .5],\r\n\t\t\t\t\tscale: [0, 0],\r\n\t\t\t\t\tfromOpacity: .5,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tduration: 150,\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t// clean up transforms\r\n\t\t\t\t\t\tresetTransforms(drip.firstChild);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onInvalidFile',\r\n\t\t\tvalue: function _onInvalidFile() {\r\n\r\n\t\t\t\tvar types = this._imageHopper.accept.map(getExtensionByMimeType);\r\n\t\t\t\tvar error = this._options.statusFileType.replace('$0', types.join(', '));\r\n\t\t\t\tthis._throwError(error);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onImageTooSmall',\r\n\t\t\tvalue: function _onImageTooSmall() {\r\n\r\n\t\t\t\tvar error = this._options.statusImageTooSmall.replace('$0', this._options.minSize.width + ' \\xD7 ' + this._options.minSize.height);\r\n\t\t\t\tthis._throwError(error);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onOverWeightFile',\r\n\t\t\tvalue: function _onOverWeightFile() {\r\n\r\n\t\t\t\tvar error = this._options.statusFileSize.replace('$0', this._options.maxFileSize);\r\n\t\t\t\tthis._throwError(error);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onRemoteURLProblem',\r\n\t\t\tvalue: function _onRemoteURLProblem(error) {\r\n\t\t\t\tthis._throwError(error);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onFileOver',\r\n\t\t\tvalue: function _onFileOver(e) {\r\n\r\n\t\t\t\tthis._addState('file-over');\r\n\t\t\t\tthis._removeError();\r\n\r\n\t\t\t\t// animations\r\n\t\t\t\tvar drip = this._getDrip();\r\n\r\n\t\t\t\t// move around drip\r\n\t\t\t\tvar matrix = snabbt.createMatrix();\r\n\t\t\t\tmatrix.translate(e.detail.x, e.detail.y, 0);\r\n\t\t\t\tsnabbt.setElementTransform(drip, matrix);\r\n\r\n\t\t\t\t// on first entry fade in blob\r\n\t\t\t\tif (this._imageHopper.dragPath.length == 1) {\r\n\r\n\t\t\t\t\t// show\r\n\t\t\t\t\tdrip.style.opacity = 1;\r\n\r\n\t\t\t\t\t// animate in\r\n\t\t\t\t\tsnabbt(drip.firstChild, {\r\n\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\topacity: .5,\r\n\t\t\t\t\t\tfromScale: [0, 0],\r\n\t\t\t\t\t\tscale: [.5, .5],\r\n\t\t\t\t\t\tduration: 150\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onFileOut',\r\n\t\t\tvalue: function _onFileOut(e) {\r\n\r\n\t\t\t\tthis._removeState('file-over');\r\n\t\t\t\tthis._removeState('file-invalid');\r\n\t\t\t\tthis._removeError();\r\n\r\n\t\t\t\t// move to last position\r\n\t\t\t\tvar drip = this._getDrip();\r\n\t\t\t\tvar matrix = snabbt.createMatrix();\r\n\t\t\t\tmatrix.translate(e.detail.x, e.detail.y, 0);\r\n\t\t\t\tsnabbt.setElementTransform(drip, matrix);\r\n\r\n\t\t\t\t// animate out\r\n\t\t\t\tsnabbt(drip.firstChild, {\r\n\t\t\t\t\tfromScale: [.5, .5],\r\n\t\t\t\t\tscale: [0, 0],\r\n\t\t\t\t\tfromOpacity: .5,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tduration: 150,\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t// clean up transforms\r\n\t\t\t\t\t\tresetTransforms(drip.firstChild);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * When a file was literally dropped on the drop area\r\n\t * @param e\r\n\t * @private\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_onDropFile',\r\n\t\t\tvalue: function _onDropFile(e) {\r\n\t\t\t\tvar _this17 = this;\r\n\r\n\t\t\t\tthis._removeState('file-over');\r\n\r\n\t\t\t\t// get drip node reference and set to last position\r\n\t\t\t\tvar drip = this._getDrip();\r\n\t\t\t\tvar matrix = snabbt.createMatrix();\r\n\t\t\t\tmatrix.translate(e.detail.x, e.detail.y, 0);\r\n\t\t\t\tsnabbt.setElementTransform(drip, matrix);\r\n\r\n\t\t\t\t// get element minimum 10 entries distant from the last entry so we can calculate velocity of movement\r\n\t\t\t\tvar l = this._imageHopper.dragPath.length;\r\n\t\t\t\tvar jump = this._imageHopper.dragPath[l - Math.min(10, l)];\r\n\r\n\t\t\t\t// velocity\r\n\t\t\t\tvar dx = e.detail.x - jump.x;\r\n\t\t\t\tvar dy = e.detail.y - jump.y;\r\n\r\n\t\t\t\tsnabbt(drip, {\r\n\t\t\t\t\tfromPosition: [e.detail.x, e.detail.y, 0],\r\n\t\t\t\t\tposition: [e.detail.x + dx, e.detail.y + dy, 0],\r\n\t\t\t\t\tduration: 200\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// animate out drip\r\n\t\t\t\tsnabbt(drip.firstChild, {\r\n\r\n\t\t\t\t\tfromScale: [.5, .5],\r\n\t\t\t\t\tscale: [2, 2],\r\n\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tduration: 200,\r\n\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t// clean up transforms\r\n\t\t\t\t\t\tresetTransforms(drip.firstChild);\r\n\r\n\t\t\t\t\t\t// load dropped resource\r\n\t\t\t\t\t\t_this17._load(e.target.files[0]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * When a file has been selected after a click on the drop area\r\n\t * @param e\r\n\t * @private\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_onChange',\r\n\t\t\tvalue: function _onChange(e) {\r\n\r\n\t\t\t\tif (e.target.files.length) {\r\n\t\t\t\t\tthis._load(e.target.files[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Loads a resource (blocking operation)\r\n\t * @param resource\r\n\t * @param callback(err)\r\n\t * @private\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_load',\r\n\t\t\tvalue: function _load(resource, callback) {\r\n\t\t\t\tvar _this18 = this;\r\n\r\n\t\t\t\t// stop here\r\n\t\t\t\tif (this._isBeingDestroyed) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if currently contains image, remove it\r\n\t\t\t\tif (this.containsImage()) {\r\n\r\n\t\t\t\t\tclearTimeout(this._replaceTimeout);\r\n\r\n\t\t\t\t\tthis._doRemove(false, function () {\r\n\r\n\t\t\t\t\t\t_this18._replaceTimeout = setTimeout(function () {\r\n\t\t\t\t\t\t\t_this18._load(resource, callback);\r\n\t\t\t\t\t\t}, 100);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// no longer empty\r\n\t\t\t\tthis._removeState('empty');\r\n\t\t\t\tthis._addState('busy');\r\n\r\n\t\t\t\t// start loading indicator\r\n\t\t\t\tthis._startProgressLoop();\r\n\r\n\t\t\t\t// can't drop any other image while loading\r\n\t\t\t\tif (this._imageHopper) {\r\n\t\t\t\t\tthis._imageHopper.enabled = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tclearTimeout(this._loadTimeout);\r\n\t\t\t\tvar load = function load() {\r\n\t\t\t\t\tclearTimeout(_this18._loadTimeout);\r\n\t\t\t\t\t_this18._loadTimeout = setTimeout(function () {\r\n\r\n\t\t\t\t\t\tif (_this18._isBeingDestroyed) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t_this18._addState('loading');\r\n\r\n\t\t\t\t\t\tsnabbt(_this18._element.querySelector('.slim-label-loading'), {\r\n\t\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\t\tduration: 250\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}, 500);\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// early exit\r\n\t\t\t\tvar exit = function exit() {\r\n\t\t\t\t\tif (_this18._imageHopper) {\r\n\t\t\t\t\t\t_this18._imageHopper.enabled = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_this18._removeState('loading');\r\n\t\t\t\t\t_this18._removeState('busy');\r\n\t\t\t\t\t_this18._addState('empty');\r\n\t\t\t\t\t_this18._stopProgressLoop();\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// turn string based resources (url / base64) into file objects\r\n\t\t\t\tif (typeof resource === 'string') {\r\n\r\n\t\t\t\t\tif (resourceIsBase64Data(resource)) {\r\n\t\t\t\t\t\t// resource is base64 data, turn into file\r\n\t\t\t\t\t\tthis._load(base64ToBlob(resource), callback);\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t// will take a while, show loading indicator\r\n\t\t\t\t\t\tload();\r\n\r\n\t\t\t\t\t\t// resource is url, load with XHR\r\n\t\t\t\t\t\tloadURL(resource, function (file) {\r\n\t\t\t\t\t\t\t// continue with file object\r\n\t\t\t\t\t\t\t_this18._load(file, callback);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// don't continue, wait for load\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (typeof resource.remote !== 'undefined' && this._options.fetcher) {\r\n\r\n\t\t\t\t\tloadRemoteURL(this._options.fetcher, resource.remote, function (error) {\r\n\r\n\t\t\t\t\t\texit();\r\n\r\n\t\t\t\t\t\t_this18._onRemoteURLProblem('

' + error + '

');\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback.apply(_this18, ['remote-url-problem']);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, function (file) {\r\n\t\t\t\t\t\t// continue with file object\r\n\t\t\t\t\t\t_this18._load(file, callback);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// don't continue wait for server fetch\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// let's continue with file resource\r\n\t\t\t\tvar file = resource;\r\n\r\n\t\t\t\t// re-test if is valid file type\r\n\t\t\t\t// in case of loading base64 data or url\r\n\t\t\t\tif (this._imageHopper && this._imageHopper.accept.indexOf(file.type) === -1) {\r\n\r\n\t\t\t\t\texit();\r\n\r\n\t\t\t\t\tthis._onInvalidFile();\r\n\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\tcallback.apply(this, ['file-invalid']);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// test if too big\r\n\t\t\t\tif (file.size && this._options.maxFileSize && bytesToMegaBytes(file.size) > this._options.maxFileSize) {\r\n\r\n\t\t\t\t\texit();\r\n\r\n\t\t\t\t\tthis._onOverWeightFile();\r\n\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\tcallback.apply(this, ['file-too-big']);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if has loaded image editor set to dirty\r\n\t\t\t\tif (this._imageEditor) {\r\n\t\t\t\t\tthis._imageEditor.dirty();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// continue\r\n\t\t\t\tthis._data.input.name = getFileNameByFile(file);\r\n\t\t\t\tthis._data.input.type = getFileTypeByFile(file);\r\n\t\t\t\tthis._data.input.size = file.size;\r\n\t\t\t\tthis._data.input.file = file;\r\n\r\n\t\t\t\t// fetch resource\r\n\t\t\t\tgetImageAsCanvas(file, this._options.internalCanvasSize, function (image, meta) {\r\n\r\n\t\t\t\t\tvar rewind = function rewind() {\r\n\r\n\t\t\t\t\t\t// rewind state\r\n\t\t\t\t\t\tif (_this18._imageHopper) {\r\n\t\t\t\t\t\t\t_this18._imageHopper.enabled = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t_this18._removeState('loading');\r\n\t\t\t\t\t\t_this18._removeState('busy');\r\n\t\t\t\t\t\t_this18._addState('empty');\r\n\t\t\t\t\t\t_this18._stopProgressLoop();\r\n\t\t\t\t\t\t_this18._resetData();\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// if no image, something went wrong\r\n\t\t\t\t\tif (!image) {\r\n\r\n\t\t\t\t\t\trewind();\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback.apply(_this18, ['file-not-found']);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// test if image is too small\r\n\t\t\t\t\tif (!covers(image, _this18._options.minSize)) {\r\n\r\n\t\t\t\t\t\trewind();\r\n\r\n\t\t\t\t\t\t_this18._onImageTooSmall();\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback.apply(_this18, ['image-too-small']);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar status = _this18._options.didLoad.apply(_this18, [file, image, meta]);\r\n\t\t\t\t\tif (status !== true) {\r\n\r\n\t\t\t\t\t\trewind();\r\n\r\n\t\t\t\t\t\tif (status !== false) {\r\n\t\t\t\t\t\t\t_this18._throwError(status);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback.apply(_this18, [status]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// done loading file\r\n\t\t\t\t\t_this18._removeState('loading');\r\n\r\n\t\t\t\t\tvar revealCanvas = function revealCanvas(done) {\r\n\r\n\t\t\t\t\t\t// done, enable hopper\r\n\t\t\t\t\t\tif (_this18._imageHopper && _this18._options.dropReplace) {\r\n\t\t\t\t\t\t\t_this18._imageHopper.enabled = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// do intro stuff\r\n\t\t\t\t\t\tvar intro = _this18._getIntro();\r\n\r\n\t\t\t\t\t\t// setup base animation\r\n\t\t\t\t\t\tvar animation = {\r\n\t\t\t\t\t\t\tfromScale: [1.25, 1.25],\r\n\t\t\t\t\t\t\tscale: [1, 1],\r\n\t\t\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\t\t\tresetTransforms(intro);\r\n\r\n\t\t\t\t\t\t\t\tintro.style.opacity = 1;\r\n\r\n\t\t\t\t\t\t\t\tdone();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t// if not attached to DOM, don't animate\r\n\t\t\t\t\t\tif (_this18.isDetached()) {\r\n\t\t\t\t\t\t\tanimation.duration = 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tanimation.easing = 'spring';\r\n\t\t\t\t\t\t\tanimation.springConstant = .3;\r\n\t\t\t\t\t\t\tanimation.springDeceleration = .7;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// if is instant edit mode don't zoom out but zoom in\r\n\t\t\t\t\t\tif (_this18._canInstantEdit()) {\r\n\t\t\t\t\t\t\tanimation.delay = 500;\r\n\t\t\t\t\t\t\tanimation.duration = 1;\r\n\r\n\t\t\t\t\t\t\t// instant edit mode just fire up the editor immidiately\r\n\t\t\t\t\t\t\t_this18._doEdit();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// reveal loaded image\r\n\t\t\t\t\t\tsnabbt(intro, animation);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// load the image\r\n\t\t\t\t\t_this18._loadCanvas(image,\r\n\r\n\t\t\t\t\t\t// done loading the canvas\r\n\t\t\t\t\t\tfunction (isUploading) {\r\n\r\n\t\t\t\t\t\t\t_this18._addState('preview');\r\n\r\n\t\t\t\t\t\t\trevealCanvas(function () {\r\n\r\n\t\t\t\t\t\t\t\t// don't show buttons when instant editing\r\n\t\t\t\t\t\t\t\t// the buttons will be triggered by the closing of the popup\r\n\t\t\t\t\t\t\t\tif (!_this18._canInstantEdit() && !isUploading) {\r\n\t\t\t\t\t\t\t\t\t_this18._showButtons();\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif (!isUploading) {\r\n\t\t\t\t\t\t\t\t\t_this18._stopProgressLoop();\r\n\t\t\t\t\t\t\t\t\t_this18._removeState('busy');\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\t\t\tcallback.apply(_this18, [null, _this18.data]);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\t// done uploading\r\n\t\t\t\t\t\tfunction () {\r\n\r\n\t\t\t\t\t\t\t// don't show buttons when instant editing\r\n\t\t\t\t\t\t\tif (!_this18._canInstantEdit()) {\r\n\t\t\t\t\t\t\t\t_this18._showButtons();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t_this18._removeState('busy');\r\n\t\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_loadCanvas',\r\n\t\t\tvalue: function _loadCanvas(image, ready, complete) {\r\n\t\t\t\tvar _this19 = this;\r\n\r\n\t\t\t\t// halt here if cropper is currently being destroyed\r\n\t\t\t\tif (this._isBeingDestroyed) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// store raw data\r\n\t\t\t\tthis._data.input.image = image;\r\n\t\t\t\tthis._data.input.width = image.width;\r\n\t\t\t\tthis._data.input.height = image.height;\r\n\r\n\t\t\t\tif (this._initialRotation) {\r\n\t\t\t\t\tthis._data.actions.rotation = this._initialRotation;\r\n\t\t\t\t\tthis._initialRotation = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar isTilted = this._data.actions.rotation % 180 !== 0;\r\n\r\n\t\t\t\t// scales the drop area\r\n\t\t\t\t// if is 'input' or 'free' parameter\r\n\t\t\t\tif (!this._isFixedRatio()) {\r\n\t\t\t\t\tif (this._initialCrop) {\r\n\t\t\t\t\t\tthis._ratio = this._initialCrop.height / this._initialCrop.width;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._ratio = isTilted ? image.width / image.height : image.height / image.width;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis._scaleDropArea(this._ratio);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._initialCrop) {\r\n\r\n\t\t\t\t\t// use initial supplied crop rectangle\r\n\t\t\t\t\tthis._data.actions.crop = clone(this._initialCrop);\r\n\t\t\t\t\tthis._data.actions.crop.type = CropType.INITIAL;\r\n\r\n\t\t\t\t\t// clear initial crop, it's no longer useful\r\n\t\t\t\t\tthis._initialCrop = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// get automagical crop rectangle\r\n\t\t\t\t\tthis._data.actions.crop = getAutoCropRect(isTilted ? image.height : image.width, isTilted ? image.width : image.height, this._ratio);\r\n\t\t\t\t\tthis._data.actions.crop.type = CropType.AUTO;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if max size set\r\n\t\t\t\tif (this._options.size) {\r\n\t\t\t\t\tthis._data.actions.size = {\r\n\t\t\t\t\t\twidth: this._options.size.width,\r\n\t\t\t\t\t\theight: this._options.size.height\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// do initial auto transform\r\n\t\t\t\tthis._applyTransforms(image, function (transformedImage) {\r\n\r\n\t\t\t\t\tvar intro = _this19._getIntro();\r\n\t\t\t\t\tvar scalar = intro.offsetWidth / transformedImage.width;\r\n\r\n\t\t\t\t\t// store data, if has preview image this prevents initial load from pushing\r\n\t\t\t\t\tvar willUpload = false;\r\n\r\n\t\t\t\t\t// can only do auto upload when service is defined and push is enabled...\r\n\t\t\t\t\tif (_this19._options.service && _this19._options.push) {\r\n\r\n\t\t\t\t\t\t// ...and is not transformation of initial image\r\n\t\t\t\t\t\t// + is not instant edit mode\r\n\t\t\t\t\t\tif (!_this19._hasInitialImage && !_this19._canInstantEdit()) {\r\n\t\t\t\t\t\t\twillUpload = true;\r\n\t\t\t\t\t\t\t_this19._stopProgressLoop(function () {\r\n\t\t\t\t\t\t\t\t_this19._startProgress(function () {\r\n\t\t\t\t\t\t\t\t\t_this19._updateProgress(.1);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// no service set, and instant edit\r\n\t\t\t\t\tif (!_this19._canInstantEdit()) {\r\n\r\n\t\t\t\t\t\t// store data (possibly)\r\n\t\t\t\t\t\t_this19._save(function () {\r\n\t\t\t\t\t\t\tif (_this19._isBeingDestroyed) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (willUpload) {\r\n\t\t\t\t\t\t\t\t_this19._stopProgress();\r\n\t\t\t\t\t\t\t\tcomplete();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, willUpload);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// show intro animation\r\n\t\t\t\t\tintro.src = '';\r\n\t\t\t\t\tintro.src = cloneCanvasScaled(transformedImage, scalar).toDataURL();\r\n\t\t\t\t\tintro.onload = function () {\r\n\r\n\t\t\t\t\t\tintro.onload = null;\r\n\r\n\t\t\t\t\t\t// bail out if we've been cleaned up\r\n\t\t\t\t\t\tif (_this19._isBeingDestroyed) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (ready) {\r\n\t\t\t\t\t\t\tready(willUpload);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_applyTransforms',\r\n\t\t\tvalue: function _applyTransforms(image, ready) {\r\n\t\t\t\tvar _this20 = this;\r\n\r\n\t\t\t\tvar actions = clone(this._data.actions);\r\n\t\t\t\tactions.filters = {\r\n\t\t\t\t\tsharpen: this._options.filterSharpen / 100\r\n\t\t\t\t};\r\n\r\n\t\t\t\ttransformCanvas(image, actions, function (transformedImage) {\r\n\r\n\t\t\t\t\tvar outputImage = transformedImage;\r\n\r\n\t\t\t\t\t// if should force/correct output size?\r\n\t\t\t\t\t// - is forced size set?\r\n\t\t\t\t\t// - is a discrepancy found between requested output size and transformed size\r\n\t\t\t\t\tif (_this20._options.forceSize || _this20._options.size && sizeDist(_this20._options.size, transformedImage) == 1) {\r\n\t\t\t\t\t\toutputImage = create('canvas');\r\n\t\t\t\t\t\toutputImage.width = _this20._options.size.width;\r\n\t\t\t\t\t\toutputImage.height = _this20._options.size.height;\r\n\t\t\t\t\t\tvar ctx = outputImage.getContext('2d');\r\n\t\t\t\t\t\tctx.drawImage(transformedImage, 0, 0, _this20._options.size.width, _this20._options.size.height);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// store output\r\n\t\t\t\t\t_this20._data.output.width = outputImage.width;\r\n\t\t\t\t\t_this20._data.output.height = outputImage.height;\r\n\t\t\t\t\t_this20._data.output.image = outputImage;\r\n\r\n\t\t\t\t\t_this20._onTransformCanvas(function (transformedData) {\r\n\r\n\t\t\t\t\t\t_this20._data = transformedData;\r\n\r\n\t\t\t\t\t\t_this20._options.didTransform.apply(_this20, [_this20.data]);\r\n\r\n\t\t\t\t\t\tready(_this20._data.output.image);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_onTransformCanvas',\r\n\t\t\tvalue: function _onTransformCanvas(ready) {\r\n\r\n\t\t\t\tthis._options.willTransform.apply(this, [this.data, ready]);\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Creates the editor nodes\r\n\t * @private\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_appendEditor',\r\n\t\t\tvalue: function _appendEditor() {\r\n\t\t\t\tvar _this21 = this;\r\n\r\n\t\t\t\t// we already have an editor\r\n\t\t\t\tif (this._imageEditor) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add editor\r\n\t\t\t\tthis._imageEditor = new ImageEditor(create('div'), {\r\n\t\t\t\t\tminSize: this._options.minSize,\r\n\r\n\t\t\t\t\tbuttonConfirmClassName: this._options.buttonConfirmClassName,\r\n\t\t\t\t\tbuttonCancelClassName: this._options.buttonCancelClassName,\r\n\t\t\t\t\tbuttonRotateClassName: this._options.buttonRotateClassName,\r\n\r\n\t\t\t\t\tbuttonConfirmLabel: this._options.buttonConfirmLabel,\r\n\t\t\t\t\tbuttonCancelLabel: this._options.buttonCancelLabel,\r\n\t\t\t\t\tbuttonRotateLabel: this._options.buttonRotateLabel,\r\n\r\n\t\t\t\t\tbuttonConfirmTitle: this._options.buttonConfirmTitle,\r\n\t\t\t\t\tbuttonCancelTitle: this._options.buttonCancelTitle,\r\n\t\t\t\t\tbuttonRotateTitle: this._options.buttonRotateTitle\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// listen to events\r\n\t\t\t\tImageEditorEvents.forEach(function (e) {\r\n\t\t\t\t\t_this21._imageEditor.element.addEventListener(e, _this21);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_scaleDropArea',\r\n\t\t\tvalue: function _scaleDropArea(ratio) {\r\n\t\t\t\tvar node = this._getRatioSpacerElement();\r\n\t\t\t\tif (!node || !this._element) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (ratio) {\r\n\t\t\t\t\tnode.style.marginBottom = ratio * 100 + '%';\r\n\t\t\t\t\tthis._element.setAttribute('data-ratio', '1:' + ratio);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnode.style.marginBottom = null;\r\n\t\t\t\t\tthis._element.removeAttribute('data-ratio');\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Data Layer\r\n\t * @private\r\n\t */\r\n\t\t\t// image editor closed\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_onCancel',\r\n\t\t\tvalue: function _onCancel(e) {\r\n\r\n\t\t\t\tthis._removeState('editor');\r\n\r\n\t\t\t\tthis._options.didCancel.apply(this);\r\n\r\n\t\t\t\tthis._showButtons();\r\n\r\n\t\t\t\tthis._hideEditor();\r\n\r\n\t\t\t\tif (this._options.instantEdit && !this._hasInitialImage && this._isAutoCrop()) {\r\n\t\t\t\t\tthis._doRemove(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// user confirmed changes\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_onConfirm',\r\n\t\t\tvalue: function _onConfirm(e) {\r\n\t\t\t\tvar _this22 = this;\r\n\r\n\t\t\t\t// if\r\n\t\t\t\t// - service set\r\n\t\t\t\t// - and we are pushing\r\n\t\t\t\t// - and we don't instant edit\r\n\t\t\t\t// we will upload\r\n\t\t\t\tvar willUpload = this._options.service && this._options.push;\r\n\t\t\t\tif (willUpload) {\r\n\t\t\t\t\tthis._startProgress(function () {\r\n\t\t\t\t\t\t_this22._updateProgress(.1);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._startProgressLoop();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._removeState('editor');\r\n\r\n\t\t\t\tthis._addState('busy');\r\n\r\n\t\t\t\t// clear data\r\n\t\t\t\tthis._output.value = '';\r\n\r\n\t\t\t\t// apply new action object to this._data\r\n\t\t\t\tthis._data.actions.rotation = e.detail.rotation;\r\n\t\t\t\tthis._data.actions.crop = e.detail.crop;\r\n\t\t\t\tthis._data.actions.crop.type = CropType.MANUAL;\r\n\r\n\t\t\t\t// do transforms\r\n\t\t\t\tthis._applyTransforms(this._data.input.image, function (transformedImage) {\r\n\r\n\t\t\t\t\t// user confirmed the crop (and changes have been applied to data)\r\n\t\t\t\t\t_this22._options.didConfirm.apply(_this22, [_this22.data]);\r\n\r\n\t\t\t\t\t// set new image result\r\n\t\t\t\t\tvar images = _this22._getInOut();\r\n\t\t\t\t\tvar intro = images[0].className === 'out' ? images[0] : images[1];\r\n\t\t\t\t\tvar outro = intro === images[0] ? images[1] : images[0];\r\n\r\n\t\t\t\t\tintro.className = 'in';\r\n\t\t\t\t\tintro.style.opacity = '0';\r\n\t\t\t\t\tintro.style.zIndex = '2';\r\n\t\t\t\t\toutro.className = 'out';\r\n\t\t\t\t\toutro.style.zIndex = '1';\r\n\r\n\t\t\t\t\t// new image get's\r\n\t\t\t\t\tintro.src = '';\r\n\t\t\t\t\tintro.src = cloneCanvasScaled(transformedImage, intro.offsetWidth / transformedImage.width).toDataURL();\r\n\t\t\t\t\tintro.onload = function () {\r\n\r\n\t\t\t\t\t\tintro.onload = null;\r\n\r\n\t\t\t\t\t\t// scale the dropzone\r\n\t\t\t\t\t\tif (_this22._options.ratio === 'free') {\r\n\t\t\t\t\t\t\t_this22._ratio = intro.naturalHeight / intro.naturalWidth;\r\n\t\t\t\t\t\t\t_this22._scaleDropArea(_this22._ratio);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// close the editor\r\n\t\t\t\t\t\t_this22._hideEditor();\r\n\r\n\t\t\t\t\t\t// wait a tiny bit so animations sync up nicely\r\n\t\t\t\t\t\tvar timer = setTimeout(function () {\r\n\r\n\t\t\t\t\t\t\t// show the preview\r\n\t\t\t\t\t\t\t_this22._showPreview(intro, function () {\r\n\r\n\t\t\t\t\t\t\t\t// save the data\r\n\t\t\t\t\t\t\t\t_this22._save(function (err, data, res) {\r\n\r\n\t\t\t\t\t\t\t\t\t// done!\r\n\t\t\t\t\t\t\t\t\t_this22._toggleButton('upload', true);\r\n\r\n\t\t\t\t\t\t\t\t\tif (willUpload) {\r\n\t\t\t\t\t\t\t\t\t\t_this22._stopProgress();\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t_this22._stopProgressLoop();\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t_this22._removeState('busy');\r\n\r\n\t\t\t\t\t\t\t\t\t_this22._showButtons();\r\n\t\t\t\t\t\t\t\t}, willUpload);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}, 250);\r\n\r\n\t\t\t\t\t\t_this22._timers.push(timer);\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_cropAuto',\r\n\t\t\tvalue: function _cropAuto() {\r\n\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (data) { };\r\n\r\n\r\n\t\t\t\tvar isTilted = this._data.actions.rotation % 180 !== 0;\r\n\r\n\t\t\t\tvar rect = getAutoCropRect(isTilted ? this._data.input.image.width : this._data.input.image.height, isTilted ? this._data.input.image.height : this._data.input.image.width, this._ratio);\r\n\r\n\t\t\t\tthis._crop(rect.x, rect.y, rect.width, rect.height, callback, CropType.AUTO);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_crop',\r\n\t\t\tvalue: function _crop(x, y, width, height) {\r\n\t\t\t\tvar callback = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (data) { };\r\n\t\t\t\tvar cropType = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : CropType.MANUAL;\r\n\r\n\r\n\t\t\t\t// clear data\r\n\t\t\t\tthis._output.value = '';\r\n\r\n\t\t\t\t// apply new action object to this._data\r\n\t\t\t\tthis._data.actions.crop = {\r\n\t\t\t\t\tx: x,\r\n\t\t\t\t\ty: y,\r\n\t\t\t\t\twidth: width,\r\n\t\t\t\t\theight: height\r\n\t\t\t\t};\r\n\t\t\t\tthis._data.actions.crop.type = cropType;\r\n\r\n\t\t\t\tthis._manualTransform(callback);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_manualTransform',\r\n\t\t\tvalue: function _manualTransform(callback) {\r\n\t\t\t\tvar _this23 = this;\r\n\r\n\t\t\t\tthis._startProgressLoop();\r\n\t\t\t\tthis._addState('busy');\r\n\r\n\t\t\t\t// do transforms\r\n\t\t\t\tthis._applyTransforms(this._data.input.image, function (transformedImage) {\r\n\r\n\t\t\t\t\t// set new image result\r\n\t\t\t\t\tvar images = _this23._getInOut();\r\n\t\t\t\t\tvar intro = images[0].className === 'out' ? images[0] : images[1];\r\n\t\t\t\t\tvar outro = intro === images[0] ? images[1] : images[0];\r\n\r\n\t\t\t\t\tintro.className = 'in';\r\n\t\t\t\t\tintro.style.opacity = '1';\r\n\t\t\t\t\tintro.style.zIndex = '2';\r\n\t\t\t\t\toutro.className = 'out';\r\n\t\t\t\t\toutro.style.zIndex = '0';\r\n\r\n\t\t\t\t\t// new image\r\n\t\t\t\t\tintro.src = '';\r\n\t\t\t\t\tintro.src = cloneCanvasScaled(transformedImage, intro.offsetWidth / transformedImage.width).toDataURL();\r\n\t\t\t\t\tintro.onload = function () {\r\n\t\t\t\t\t\tintro.onload = null;\r\n\r\n\t\t\t\t\t\t// scale the dropzone\r\n\t\t\t\t\t\tif (_this23._options.ratio === 'free') {\r\n\t\t\t\t\t\t\t_this23._ratio = intro.naturalHeight / intro.naturalWidth;\r\n\t\t\t\t\t\t\t_this23._scaleDropArea(_this23._ratio);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// determine if will also upload\r\n\t\t\t\t\t\tvar willUpload = _this23._options.service && _this23._options.push;\r\n\r\n\t\t\t\t\t\tvar save = function save() {\r\n\r\n\t\t\t\t\t\t\t// save the data\r\n\t\t\t\t\t\t\t_this23._save(function (err, data, res) {\r\n\r\n\t\t\t\t\t\t\t\t// stop loader\r\n\t\t\t\t\t\t\t\tif (!willUpload) {\r\n\t\t\t\t\t\t\t\t\t_this23._stopProgressLoop();\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t_this23._removeState('busy');\r\n\r\n\t\t\t\t\t\t\t\tcallback.apply(_this23, [_this23.data]);\r\n\t\t\t\t\t\t\t}, willUpload);\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\tif (willUpload) {\r\n\t\t\t\t\t\t\t_this23._startProgress(save);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsave();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_save',\r\n\t\t\tvalue: function _save() {\r\n\t\t\t\tvar _this24 = this;\r\n\r\n\t\t\t\tvar callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () { };\r\n\t\t\t\tvar allowUpload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\r\n\r\n\r\n\t\t\t\tif (this._isBeingDestroyed) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// flatten data also turns output canvas into data uri\r\n\t\t\t\t// removes input file object and image object\r\n\t\t\t\tvar data = this.dataBase64;\r\n\r\n\t\t\t\t// decide if we need to\r\n\t\t\t\t// - A. Store the data in an output field\r\n\t\t\t\t// - B. Upload the data and store the response in output field\r\n\r\n\t\t\t\t// - we are not doing async uploading (in which case output is used for response)\r\n\t\t\t\t// - we are not initialising a replaceable image\r\n\t\t\t\tif (!this._options.service && !(this._isInitialising && !this._isImageOnly())) {\r\n\r\n\t\t\t\t\tthis._options.willSave.apply(this, [data, function (data) {\r\n\r\n\t\t\t\t\t\t_this24._store(data);\r\n\r\n\t\t\t\t\t\t_this24._options.didSave.apply(_this24, [data]);\r\n\t\t\t\t\t}]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._isBeingDestroyed) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// is remote service defined upload async\r\n\t\t\t\tif (this._options.service && allowUpload) {\r\n\r\n\t\t\t\t\t// allow user to modify the data\r\n\t\t\t\t\tthis._options.willSave.apply(this, [data, function (data) {\r\n\r\n\t\t\t\t\t\t_this24._addState('upload');\r\n\r\n\t\t\t\t\t\tif (_this24._imageHopper && _this24._options.dropReplace) {\r\n\t\t\t\t\t\t\t_this24._imageHopper.enabled = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// do the actual uploading\r\n\t\t\t\t\t\t_this24._upload(data, function (err, res) {\r\n\r\n\t\t\t\t\t\t\tif (_this24._imageHopper && _this24._options.dropReplace) {\r\n\t\t\t\t\t\t\t\t_this24._imageHopper.enabled = true;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// store response\r\n\t\t\t\t\t\t\tif (!err) {\r\n\t\t\t\t\t\t\t\t_this24._storeServerResponse(res);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// we did upload data\r\n\t\t\t\t\t\t\t_this24._options.didUpload.apply(_this24, [err, data, res]);\r\n\r\n\t\t\t\t\t\t\t_this24._removeState('upload');\r\n\r\n\t\t\t\t\t\t\t// done!\r\n\t\t\t\t\t\t\tcallback(err, data, res);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if no service, we're done here\r\n\t\t\t\tif (!this._options.service || !allowUpload) {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// stores active file information in hidden output field\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_storeServerResponse',\r\n\t\t\tvalue: function _storeServerResponse(data) {\r\n\r\n\t\t\t\t// remove required flag\r\n\t\t\t\tif (this._isRequired) {\r\n\t\t\t\t\tthis._input.required = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// store data returned from server\r\n\t\t\t\tthis._data.server = data;\r\n\r\n\t\t\t\t// sync with output value\r\n\t\t\t\tthis._output.value = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' ? JSON.stringify(this._data.server) : data;\r\n\t\t\t}\r\n\r\n\t\t\t// stores data in output field\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_store',\r\n\t\t\tvalue: function _store(data) {\r\n\r\n\t\t\t\tif (this._isRequired) {\r\n\t\t\t\t\tthis._input.required = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._output.value = JSON.stringify(data);\r\n\t\t\t}\r\n\r\n\t\t\t// uploads given data to server\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_upload',\r\n\t\t\tvalue: function _upload(data, callback) {\r\n\t\t\t\tvar _this25 = this;\r\n\r\n\t\t\t\tvar formData = new FormData();\r\n\r\n\t\t\t\t// if image data is defined, turn it into a file object (we can send files if we're uploading)\r\n\t\t\t\tif (this._data.output.image !== null && this._options.uploadBase64 === false) {\r\n\t\t\t\t\tvar output = base64ToBlob(data.output.image, data.output.name);\r\n\t\t\t\t\tvar field = /* 'slim_output_' + this._uid */ this._output.name;\r\n\t\t\t\t\tdata.output.image = null;\r\n\t\t\t\t\tdata.output.field = field;\r\n\t\t\t\t\tformData.append(field, output, data.output.name);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// output dataset\r\n\t\t\t\tif (inArray('data', this._options.post)) {\r\n\t\t\t\t\tformData.append(this._output.name, JSON.stringify(data));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if input should be posted along, append data\r\n\t\t\t\t// to FormData object as file\r\n\t\t\t\tif (inArray('input', this._options.post)) {\r\n\t\t\t\t\tformData.append(this._inputReference, this._data.input.file, this._data.input.file.name);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar statusNode = this._element.querySelector('.slim-upload-status');\r\n\r\n\t\t\t\tvar requestDecorator = this._options.willRequest;\r\n\r\n\t\t\t\tsend(\r\n\t\t\t\t\t// url to service\r\n\t\t\t\t\tthis._options.service,\r\n\r\n\t\t\t\t\t// data\r\n\t\t\t\t\tformData,\r\n\r\n\t\t\t\t\t// decorator (useful to add headers to request\r\n\t\t\t\t\trequestDecorator,\r\n\r\n\t\t\t\t\t// progress\r\n\t\t\t\t\tfunction (loaded, total) {\r\n\r\n\t\t\t\t\t\t_this25._updateProgress(Math.max(.1, loaded / total));\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// success\r\n\t\t\t\t\tfunction (obj) {\r\n\r\n\t\t\t\t\t\tvar timer = setTimeout(function () {\r\n\r\n\t\t\t\t\t\t\t// it's possible that Slim has been destroyed in the mean time.\r\n\t\t\t\t\t\t\tif (_this25._isBeingDestroyed) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tstatusNode.innerHTML = _this25._options.statusUploadSuccess;\r\n\t\t\t\t\t\t\tstatusNode.setAttribute('data-state', 'success');\r\n\t\t\t\t\t\t\tstatusNode.style.opacity = 1;\r\n\r\n\t\t\t\t\t\t\t// hide status update after 2 seconds\r\n\t\t\t\t\t\t\tvar timer = setTimeout(function () {\r\n\t\t\t\t\t\t\t\tstatusNode.style.opacity = 0;\r\n\t\t\t\t\t\t\t}, 2000);\r\n\r\n\t\t\t\t\t\t\t_this25._timers.push(timer);\r\n\t\t\t\t\t\t}, 250);\r\n\r\n\t\t\t\t\t\t_this25._timers.push(timer);\r\n\r\n\t\t\t\t\t\tcallback(null, obj);\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// error\r\n\t\t\t\t\tfunction (status) {\r\n\r\n\t\t\t\t\t\tvar html = '';\r\n\t\t\t\t\t\tif (status === 'file-too-big') {\r\n\t\t\t\t\t\t\thtml = _this25._options.statusContentLength;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thtml = _this25._options.didReceiveServerError.apply(_this25, [status, _this25._options.statusUnknownResponse]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// when an error occurs the status update is not automatically hidden\r\n\t\t\t\t\t\tvar timer = setTimeout(function () {\r\n\r\n\t\t\t\t\t\t\tstatusNode.innerHTML = html;\r\n\t\t\t\t\t\t\tstatusNode.setAttribute('data-state', 'error');\r\n\t\t\t\t\t\t\tstatusNode.style.opacity = 1;\r\n\t\t\t\t\t\t}, 250);\r\n\r\n\t\t\t\t\t\t_this25._timers.push(timer);\r\n\r\n\t\t\t\t\t\tcallback(status);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_showEditor',\r\n\t\t\tvalue: function _showEditor() {\r\n\r\n\t\t\t\tSlimPopover.show();\r\n\r\n\t\t\t\tthis._imageEditor.show();\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_hideEditor',\r\n\t\t\tvalue: function _hideEditor() {\r\n\r\n\t\t\t\tthis._imageEditor.hide();\r\n\r\n\t\t\t\tvar timer = setTimeout(function () {\r\n\r\n\t\t\t\t\tSlimPopover.hide();\r\n\t\t\t\t}, 250);\r\n\r\n\t\t\t\tthis._timers.push(timer);\r\n\t\t\t}\r\n\r\n\t\t\t/**\r\n\t * Animations\r\n\t */\r\n\r\n\t\t}, {\r\n\t\t\tkey: '_showPreview',\r\n\t\t\tvalue: function _showPreview(intro, callback) {\r\n\r\n\t\t\t\tsnabbt(intro, {\r\n\r\n\t\t\t\t\tfromPosition: [0, 50, 0],\r\n\t\t\t\t\tposition: [0, 0, 0],\r\n\r\n\t\t\t\t\tfromScale: [1.5, 1.5],\r\n\t\t\t\t\tscale: [1, 1],\r\n\r\n\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\topacity: 1,\r\n\r\n\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\tspringDeceleration: .7,\r\n\r\n\t\t\t\t\tcomplete: function complete() {\r\n\r\n\t\t\t\t\t\tresetTransforms(intro);\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_hideResult',\r\n\t\t\tvalue: function _hideResult(callback) {\r\n\r\n\t\t\t\tvar intro = this._getIntro();\r\n\t\t\t\tif (!intro) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsnabbt(intro, {\r\n\r\n\t\t\t\t\tfromScale: [1, 1],\r\n\t\t\t\t\tscale: [.5, .5],\r\n\r\n\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\topacity: 0,\r\n\r\n\t\t\t\t\teasing: 'spring',\r\n\t\t\t\t\tspringConstant: .3,\r\n\t\t\t\t\tspringDeceleration: .75,\r\n\r\n\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\tresetTransforms(intro);\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_showButtons',\r\n\t\t\tvalue: function _showButtons(callback) {\r\n\r\n\t\t\t\tif (!this._btnGroup) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._btnGroup.style.display = '';\r\n\r\n\t\t\t\t// setup animation\r\n\t\t\t\tvar animation = {\r\n\t\t\t\t\tfromScale: [.5, .5],\r\n\t\t\t\t\tscale: [1, 1],\r\n\t\t\t\t\tfromPosition: [0, 10, 0],\r\n\t\t\t\t\tposition: [0, 0, 0],\r\n\t\t\t\t\tfromOpacity: 0,\r\n\t\t\t\t\topacity: 1,\r\n\t\t\t\t\tcomplete: function complete() {\r\n\t\t\t\t\t\tresetTransforms(this);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tallDone: function allDone() {\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// don't animate when detached\r\n\t\t\t\tif (this.isDetached()) {\r\n\t\t\t\t\tanimation.duration = 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tanimation.delay = function (i) {\r\n\t\t\t\t\t\treturn 250 + i * 50;\r\n\t\t\t\t\t};\r\n\t\t\t\t\tanimation.easing = 'spring';\r\n\t\t\t\t\tanimation.springConstant = .3;\r\n\t\t\t\t\tanimation.springDeceleration = .85;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsnabbt(this._btnGroup.childNodes, animation);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_hideButtons',\r\n\t\t\tvalue: function _hideButtons(callback) {\r\n\t\t\t\tvar _this26 = this;\r\n\r\n\t\t\t\tif (!this._btnGroup) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar animation = {\r\n\t\t\t\t\tfromScale: [1, 1],\r\n\t\t\t\t\tscale: [.85, .85],\r\n\t\t\t\t\tfromOpacity: 1,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t\tallDone: function allDone() {\r\n\t\t\t\t\t\t_this26._btnGroup.style.display = 'none';\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// don't animate when detached\r\n\t\t\t\tif (this.isDetached()) {\r\n\t\t\t\t\tanimation.duration = 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tanimation.easing = 'spring';\r\n\t\t\t\t\tanimation.springConstant = .3;\r\n\t\t\t\t\tanimation.springDeceleration = .75;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// go hide the buttons\r\n\t\t\t\tsnabbt(this._btnGroup.childNodes, animation);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_hideStatus',\r\n\t\t\tvalue: function _hideStatus() {\r\n\r\n\t\t\t\tvar statusNode = this._element.querySelector('.slim-upload-status');\r\n\t\t\t\tstatusNode.style.opacity = 0;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_doEdit',\r\n\t\t\tvalue: function _doEdit() {\r\n\t\t\t\tvar _this27 = this;\r\n\r\n\t\t\t\t// if no input data available, can't edit anything\r\n\t\t\t\tif (!this._data.input.image) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// now in editor mode\r\n\t\t\t\tthis._addState('editor');\r\n\r\n\t\t\t\t// create editor (if not already created)\r\n\t\t\t\tif (!this._imageEditor) {\r\n\t\t\t\t\tthis._appendEditor();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// hide or show rotate button\r\n\t\t\t\tthis._imageEditor.showRotateButton = this._options.rotateButton;\r\n\r\n\t\t\t\t// append to popover\r\n\t\t\t\tSlimPopover.inner = this._imageEditor.element;\r\n\r\n\t\t\t\t// read the data\r\n\t\t\t\tthis._imageEditor.open(\r\n\r\n\t\t\t\t\t// send copy of canvas to the editor\r\n\t\t\t\t\tcloneCanvas(this._data.input.image),\r\n\r\n\t\t\t\t\t// determine ratio\r\n\t\t\t\t\tthis._options.ratio === 'free' ? null : this._ratio,\r\n\r\n\t\t\t\t\t// the initial crop to show\r\n\t\t\t\t\tthis._data.actions.crop,\r\n\r\n\t\t\t\t\t// the initial rotation of the image\r\n\t\t\t\t\tthis._data.actions.rotation,\r\n\r\n\t\t\t\t\t// handle editor load\r\n\t\t\t\t\tfunction () {\r\n\r\n\t\t\t\t\t\t_this27._showEditor();\r\n\r\n\t\t\t\t\t\t_this27._hideButtons();\r\n\r\n\t\t\t\t\t\t_this27._hideStatus();\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_doRemove',\r\n\t\t\tvalue: function _doRemove(removeAction, done) {\r\n\t\t\t\tvar _this28 = this;\r\n\r\n\t\t\t\t// cannot remove when is only one image\r\n\t\t\t\tif (this._isImageOnly()) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._clearState();\r\n\t\t\t\tthis._addState('empty');\r\n\r\n\t\t\t\tthis._hasInitialImage = false;\r\n\t\t\t\tif (this._imageHopper) {\r\n\t\t\t\t\tthis._imageHopper.enabled = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._isRequired) {\r\n\t\t\t\t\tthis._input.required = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar out = this._getOutro();\r\n\t\t\t\tif (out) {\r\n\t\t\t\t\tout.style.opacity = '0';\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// get public available clone of data\r\n\t\t\t\tvar data = this.data;\r\n\r\n\t\t\t\t// now reset all data\r\n\t\t\t\tthis._resetData();\r\n\r\n\t\t\t\tvar timer = setTimeout(function () {\r\n\r\n\t\t\t\t\tif (_this28._isBeingDestroyed) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_this28._hideButtons(function () {\r\n\r\n\t\t\t\t\t\t_this28._toggleButton('upload', true);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t_this28._hideStatus();\r\n\r\n\t\t\t\t\t_this28._hideResult(function() {\r\n\t\t\t\t\t\t_this28._options.didRemove.apply(_this28, [removeAction, data]);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (done) {\r\n\t\t\t\t\t\tdone();\r\n\t\t\t\t\t}\r\n\t\t\t\t}, this.isDetached() ? 0 : 250);\r\n\r\n\t\t\t\tthis._timers.push(timer);\r\n\r\n\t\t\t\treturn data;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_doUpload',\r\n\t\t\tvalue: function _doUpload(callback) {\r\n\t\t\t\tvar _this29 = this;\r\n\r\n\t\t\t\t// if no input data available, can't upload anything\r\n\t\t\t\tif (!this._data.input.image) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._addState('upload');\r\n\t\t\t\tthis._startProgress();\r\n\r\n\t\t\t\tthis._hideButtons(function () {\r\n\r\n\t\t\t\t\t// block upload button\r\n\t\t\t\t\t_this29._toggleButton('upload', false);\r\n\r\n\t\t\t\t\t_this29._save(function (err, data, res) {\r\n\r\n\t\t\t\t\t\t_this29._removeState('upload');\r\n\t\t\t\t\t\t_this29._stopProgress();\r\n\r\n\t\t\t\t\t\tif (callback) {\r\n\t\t\t\t\t\t\tcallback.apply(_this29, [err, data, res]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (err) {\r\n\t\t\t\t\t\t\t_this29._toggleButton('upload', true);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t_this29._showButtons();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_doDownload',\r\n\t\t\tvalue: function _doDownload() {\r\n\r\n\t\t\t\tvar image = this._data.output.image;\r\n\t\t\t\tif (!image) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdownloadCanvas(this._data, this._options.jpegCompression, this._options.forceType);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: '_doDestroy',\r\n\t\t\tvalue: function _doDestroy() {\r\n\t\t\t\tvar _this30 = this;\r\n\r\n\t\t\t\t// set destroy flag to halt any running functionality\r\n\t\t\t\tthis._isBeingDestroyed = true;\r\n\r\n\t\t\t\t// clear timers\r\n\t\t\t\tthis._timers.forEach(function (timer) {\r\n\t\t\t\t\tclearTimeout(timer);\r\n\t\t\t\t});\r\n\t\t\t\tthis._timers = [];\r\n\r\n\t\t\t\t// clean up snabbt animations\r\n\t\t\t\tsnabbt(this._element, 'detach');\r\n\r\n\t\t\t\t// this removes the image hopper if it's attached\r\n\t\t\t\tif (this._imageHopper) {\r\n\t\t\t\t\tHopperEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this30._imageHopper.element.removeEventListener(e, _this30);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._imageHopper.destroy();\r\n\t\t\t\t\tthis._imageHopper = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// this block removes the image editor\r\n\t\t\t\tif (this._imageEditor) {\r\n\t\t\t\t\tImageEditorEvents.forEach(function (e) {\r\n\t\t\t\t\t\t_this30._imageEditor.element.removeEventListener(e, _this30);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._imageEditor.destroy();\r\n\t\t\t\t\tthis._imageEditor = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// remove button event listeners\r\n\t\t\t\tnodeListToArray(this._btnGroup.children).forEach(function (btn) {\r\n\t\t\t\t\tbtn.removeEventListener('click', _this30);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// stop listening to input\r\n\t\t\t\tthis._input.removeEventListener('change', this);\r\n\r\n\t\t\t\t// detect if was wrapped, if so, remove wrapping (needs to have parent node)\r\n\t\t\t\tif (this._element !== this._originalElement && this._element.parentNode) {\r\n\t\t\t\t\tthis._element.parentNode.replaceChild(this._originalElement, this._element);\r\n\t\t\t\t}\r\n/*\r\n\t\t\t\t// restore HTML of original element\r\n\t\t\t\tthis._originalElement.innerHTML = this._originalElementInner;\r\n*/\r\n\t\t\t\t// get current attributes and remove all, then add original attributes\r\n\t\t\t\tfunction matchesAttributeInList(a, attributes) {\r\n\t\t\t\t\treturn attributes.filter(function (attr) {\r\n\t\t\t\t\t\treturn a.name === attr.name && a.value === attr.value;\r\n\t\t\t\t\t}).length !== 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar attributes = getElementAttributes(this._originalElement);\r\n\t\t\t\tattributes.forEach(function (attribute) {\r\n\r\n\t\t\t\t\t// if attribute is contained in original element attribute list and is the same, don't remove\r\n\t\t\t\t\tif (matchesAttributeInList(attribute, _this30._originalElementAttributes)) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// else remove\r\n\t\t\t\t\t_this30._originalElement.removeAttribute(attribute.name);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis._originalElementAttributes.forEach(function (attribute) {\r\n\r\n\t\t\t\t\t// attribute was never removed\r\n\t\t\t\t\tif (matchesAttributeInList(attribute, attributes)) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// add attribute\r\n\t\t\t\t\t_this30._originalElement.setAttribute(attribute.name, attribute.value);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// now destroyed this counter so the total Slim count can be lowered\r\n\t\t\t\tSlimCount = Math.max(0, SlimCount - 1);\r\n\r\n\t\t\t\t// if slim count has reached 0 it's time to clean up the popover\r\n\t\t\t\tif (SlimPopover && SlimCount === 0) {\r\n\t\t\t\t\tSlimPopover.destroy();\r\n\t\t\t\t\tSlimPopover = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._originalElement = null;\r\n\t\t\t\tthis._element = null;\r\n\t\t\t\tthis._input = null;\r\n\t\t\t\tthis._output = null;\r\n\t\t\t\tthis._btnGroup = null;\r\n\t\t\t\tthis._options = null;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'dataBase64',\r\n\r\n\r\n\t\t\t/**\r\n\t * Public API\r\n\t */\r\n\t\t\t// properties\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn flattenData(this._data, this._options.post, this._options.jpegCompression, this._options.forceType, this._options.service !== null);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'data',\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn cloneData(this._data);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'element',\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn this._element;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'service',\r\n\t\t\tset: function set(service) {\r\n\t\t\t\tthis._options.service = service;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'size',\r\n\t\t\tset: function set(dimensions) {\r\n\t\t\t\tthis.setSize(dimensions, null);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'rotation',\r\n\t\t\tset: function set(rotation) {\r\n\t\t\t\tthis.setRotation(rotation, null);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: 'ratio',\r\n\t\t\tset: function set(ratio) {\r\n\t\t\t\tthis.setRatio(ratio, null);\r\n\t\t\t}\r\n\t\t}], [{\r\n\t\t\tkey: 'options',\r\n\t\t\tvalue: function options() {\r\n\r\n\t\t\t\tvar defaults = {\r\n\r\n\t\t\t\t\t// edit button is enabled by default\r\n\t\t\t\t\tedit: true,\r\n\r\n\t\t\t\t\t// immidiately summons editor on load\r\n\t\t\t\t\tinstantEdit: false,\r\n\r\n\t\t\t\t\t// set to true to upload data as base64 string\r\n\t\t\t\t\tuploadBase64: false,\r\n\r\n\t\t\t\t\t// metadata values\r\n\t\t\t\t\tmeta: {},\r\n\r\n\t\t\t\t\t// ratio of crop by default is the same as input image ratio\r\n\t\t\t\t\tratio: 'free',\r\n\r\n\t\t\t\t\t// dimensions to resize the resulting image to\r\n\t\t\t\t\tsize: null,\r\n\r\n\t\t\t\t\t// set initial rotation\r\n\t\t\t\t\trotation: null,\r\n\r\n\t\t\t\t\t// initial crop settings for example: {x:0, y:0, width:100, height:100}\r\n\t\t\t\t\tcrop: null,\r\n\r\n\t\t\t\t\t// post these values\r\n\t\t\t\t\tpost: ['output', 'actions'],\r\n\r\n\t\t\t\t\t// call this service to submit cropped data\r\n\t\t\t\t\tservice: null,\r\n\r\n\t\t\t\t\t// sharpen filter value, really low values might improve image output\r\n\t\t\t\t\tfilterSharpen: 0,\r\n\r\n\t\t\t\t\t// when service is set, and this is set to true, Soon will auto upload all crops (also auto crops)\r\n\t\t\t\t\tpush: false,\r\n\r\n\t\t\t\t\t// default fallback name for field\r\n\t\t\t\t\tdefaultInputName: 'slim[]',\r\n\r\n\t\t\t\t\t// minimum size of cropped area object with width and height property\r\n\t\t\t\t\tminSize: {\r\n\t\t\t\t\t\twidth: 100,\r\n\t\t\t\t\t\theight: 100\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// maximum file size in MB to upload\r\n\t\t\t\t\tmaxFileSize: null,\r\n\r\n\t\t\t\t\t// compression of JPEG (between 0 and 100)\r\n\t\t\t\t\tjpegCompression: null,\r\n\r\n\t\t\t\t\t// render download link\r\n\t\t\t\t\tdownload: false,\r\n\r\n\t\t\t\t\t// save initially loaded image\r\n\t\t\t\t\tsaveInitialImage: false,\r\n\r\n\t\t\t\t\t// the type to force (jpe|jpg|jpeg or png)\r\n\t\t\t\t\tforceType: false,\r\n\r\n\t\t\t\t\t// the forced output size of the image\r\n\t\t\t\t\tforceSize: null,\r\n\r\n\t\t\t\t\t// disable drop to replace\r\n\t\t\t\t\tdropReplace: true,\r\n\r\n\t\t\t\t\t// remote URL service\r\n\t\t\t\t\tfetcher: null,\r\n\r\n\t\t\t\t\t// set the internal canvas size\r\n\t\t\t\t\tinternalCanvasSize: {\r\n\t\t\t\t\t\twidth: 4096,\r\n\t\t\t\t\t\theight: 4096\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// enable or disable rotation\r\n\t\t\t\t\trotateButton: true,\r\n\r\n\t\t\t\t\t// label HTML to show inside drop area\r\n\t\t\t\t\tlabel: '

Drop your image here

',\r\n\t\t\t\t\tlabelLoading: '

Loading image...

',\r\n\r\n\t\t\t\t\t// error messages\r\n\t\t\t\t\tstatusFileType: '

Invalid file type, expects: $0.

',\r\n\t\t\t\t\tstatusFileSize: '

File is too big, maximum file size: $0 MB.

',\r\n\t\t\t\t\tstatusNoSupport: '

Your browser does not support image cropping.

',\r\n\t\t\t\t\tstatusImageTooSmall: '

Image is too small, minimum size is: $0 pixels.

',\r\n\t\t\t\t\tstatusContentLength: ' The file is probably too big',\r\n\t\t\t\t\tstatusUnknownResponse: ' An unknown error occurred',\r\n\t\t\t\t\tstatusUploadSuccess: ' Saved',\r\n\r\n\t\t\t\t\t// callback methods\r\n\t\t\t\t\tdidInit: function didInit(data) { },\r\n\t\t\t\t\tdidLoad: function didLoad(file, image, meta) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdidSave: function didSave(data) { },\r\n\t\t\t\t\tdidUpload: function didUpload(err, data, res) { },\r\n\t\t\t\t\tdidReceiveServerError: function didReceiveServerError(err, defaultError) {\r\n\t\t\t\t\t\treturn defaultError;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdidRemove: function didRemove(removeAction, data) { },\r\n\t\t\t\t\tdidTransform: function didTransform(data) { },\r\n\t\t\t\t\tdidConfirm: function didConfirm(data) { },\r\n\t\t\t\t\tdidCancel: function didCancel() { },\r\n\r\n\t\t\t\t\twillTransform: function willTransform(data, cb) {\r\n\t\t\t\t\t\tcb(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t\twillSave: function willSave(data, cb) {\r\n\t\t\t\t\t\tcb(data);\r\n\t\t\t\t\t},\r\n\t\t\t\t\twillRemove: function willRemove(data, cb) {\r\n\t\t\t\t\t\tcb();\r\n\t\t\t\t\t},\r\n\t\t\t\t\twillRequest: function willRequest(xhr) { }\r\n\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// add default button labels\r\n\t\t\t\tSlimButtons.concat(ImageEditor.Buttons).concat('rotate').forEach(function (btn) {\r\n\t\t\t\t\tvar capitalized = capitalizeFirstLetter(btn);\r\n\t\t\t\t\tdefaults['button' + capitalized + 'ClassName'] = null;\r\n\t\t\t\t\tdefaults['button' + capitalized + 'Label'] = capitalized;\r\n\t\t\t\t\tdefaults['button' + capitalized + 'Title'] = capitalized;\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn defaults;\r\n\t\t\t}\r\n\t\t}]);\r\n\r\n\t\treturn Slim;\r\n\t}();\r\n\r\n\t/**\r\n\t * Slim Static Methods\r\n\t */\r\n\r\n\r\n\t(function () {\r\n\r\n\t\tvar instances = [];\r\n\r\n\t\tvar indexOfElement = function indexOfElement(element) {\r\n\t\t\tvar i = 0;\r\n\t\t\tvar l = instances.length;\r\n\t\t\tfor (; i < l; i++) {\r\n\t\t\t\tif (instances[i].isAttachedTo(element)) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\r\n\t\tfunction toLabel(v) {\r\n\t\t\t// if value set, use as label\r\n\t\t\tif (v) {\r\n\t\t\t\treturn '

' + v + '

';\r\n\t\t\t}\r\n\r\n\t\t\t// else use default text\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tfunction toFunctionReference(name) {\r\n\t\t\tvar ref = window;\r\n\t\t\tvar levels = name.split('.');\r\n\t\t\tlevels.forEach(function (level, index) {\r\n\t\t\t\tif (!ref[levels[index]]) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tref = ref[levels[index]];\r\n\t\t\t});\r\n\t\t\treturn ref !== window ? ref : null;\r\n\t\t}\r\n\r\n\t\tvar passThrough = function passThrough(v) {\r\n\t\t\treturn v;\r\n\t\t};\r\n\t\tvar defaultFalse = function defaultFalse(v) {\r\n\t\t\treturn v === 'true';\r\n\t\t};\r\n\t\tvar defaultTrue = function defaultTrue(v) {\r\n\t\t\treturn v ? v === 'true' : true;\r\n\t\t};\r\n\t\tvar defaultLabel = function defaultLabel(v) {\r\n\t\t\treturn toLabel(v);\r\n\t\t};\r\n\t\tvar defaultFunction = function defaultFunction(v) {\r\n\t\t\treturn v ? toFunctionReference(v) : null;\r\n\t\t};\r\n\t\tvar defaultSize = function defaultSize(v) {\r\n\t\t\tif (!v) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar parts = intSplit(v, ',');\r\n\t\t\treturn {\r\n\t\t\t\twidth: parts[0],\r\n\t\t\t\theight: parts[1]\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tvar toFloat = function toFloat(v) {\r\n\t\t\tif (!v) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn parseFloat(v);\r\n\t\t};\r\n\r\n\t\tvar toInt = function toInt(v) {\r\n\t\t\tif (!v) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn parseInt(v, 10);\r\n\t\t};\r\n\r\n\t\tvar toRect = function toRect(v) {\r\n\t\t\tif (!v) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar obj = {};\r\n\t\t\tv.split(',').map(function (p) {\r\n\t\t\t\treturn parseInt(p, 10);\r\n\t\t\t}).forEach(function (v, i) {\r\n\t\t\t\tobj[Rect[i]] = v;\r\n\t\t\t});\r\n\t\t\treturn obj;\r\n\t\t};\r\n\r\n\t\tvar defaults = {\r\n\r\n\t\t\t// is user allowed to download the cropped image?\r\n\t\t\t'download': defaultFalse,\r\n\r\n\t\t\t// is user allowed to edit the cropped image?\r\n\t\t\t'edit': defaultTrue,\r\n\r\n\t\t\t// open editor immidiately on file drop\r\n\t\t\t'instantEdit': defaultFalse,\r\n\r\n\t\t\t// minimum crop size in pixels of original image\r\n\t\t\t'minSize': defaultSize,\r\n\r\n\t\t\t// the final bounding box of the output image\r\n\t\t\t'size': defaultSize,\r\n\r\n\t\t\t// the forced output size of the image\r\n\t\t\t'forceSize': defaultSize,\r\n\r\n\t\t\t// the internal data canvas size\r\n\t\t\t'internalCanvasSize': defaultSize,\r\n\r\n\t\t\t// url to post to\r\n\t\t\t'service': function service(v) {\r\n\t\t\t\treturn typeof v === 'undefined' ? null : v;\r\n\t\t\t},\r\n\r\n\t\t\t// url to fetch service\r\n\t\t\t'fetcher': function fetcher(v) {\r\n\t\t\t\treturn typeof v === 'undefined' ? null : v;\r\n\t\t\t},\r\n\r\n\t\t\t// set auto push mode\r\n\t\t\t'push': defaultFalse,\r\n\r\n\t\t\t// initial rotation\r\n\t\t\t'rotation': function rotation(v) {\r\n\t\t\t\treturn typeof v === 'undefined' ? null : parseInt(v, 10);\r\n\t\t\t},\r\n\r\n\t\t\t// set crop rect\r\n\t\t\t'crop': toRect,\r\n\r\n\t\t\t// what to post\r\n\t\t\t'post': function post(v) {\r\n\t\t\t\tif (!v) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t\treturn v.split(',').map(function (item) {\r\n\t\t\t\t\treturn item.trim();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t// default input name\r\n\t\t\t'defaultInputName': passThrough,\r\n\r\n\t\t\t// the ratio of the crop\r\n\t\t\t'ratio': function ratio(v) {\r\n\t\t\t\tif (!v) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t\treturn v;\r\n\t\t\t},\r\n\r\n\t\t\t// maximum file size\r\n\t\t\t'maxFileSize': toFloat,\r\n\r\n\t\t\t// sharpen filter\r\n\t\t\t'filterSharpen': toInt,\r\n\r\n\t\t\t// jpeg compression\r\n\t\t\t'jpegCompression': toInt,\r\n\r\n\t\t\t// base64 data uploading\r\n\t\t\t'uploadBase64': defaultFalse,\r\n\r\n\t\t\t// sets file type to force output to\r\n\t\t\t'forceType': passThrough,\r\n\r\n\t\t\t// drop to replace\r\n\t\t\t'dropReplace': defaultTrue,\r\n\r\n\t\t\t// bool determining if initial image should be saved\r\n\t\t\t'saveInitialImage': defaultFalse,\r\n\r\n\t\t\t// rotate button\r\n\t\t\t'rotateButton': defaultTrue,\r\n\r\n\t\t\t// default labels\r\n\t\t\t'label': defaultLabel,\r\n\t\t\t'labelLoading': defaultLabel\r\n\r\n\t\t};\r\n\r\n\t\t// labels\r\n\t\t['FileSize', 'FileType', 'NoSupport', 'ImageTooSmall'].forEach(function (status) {\r\n\t\t\tdefaults['status' + status] = defaultLabel;\r\n\t\t});\r\n\r\n\t\t// status\r\n\t\t['ContentLength', 'UnknownResponse', 'UploadSuccess'].forEach(function (status) {\r\n\t\t\tdefaults['status' + status] = passThrough;\r\n\t\t});\r\n\r\n\t\t// the did callbacks\r\n\t\t['Init', 'Load', 'Save', 'Upload', 'Remove', 'Transform', 'ReceiveServerError', 'Confirm', 'Cancel'].forEach(function (cb) {\r\n\t\t\tdefaults['did' + cb] = defaultFunction;\r\n\t\t});\r\n\r\n\t\t// the will callbacks\r\n\t\t['Transform', 'Save', 'Remove', 'Request'].forEach(function (cb) {\r\n\t\t\tdefaults['will' + cb] = defaultFunction;\r\n\t\t});\r\n\r\n\t\t// button defaults\r\n\t\tvar buttonOptions = ['ClassName', 'Label', 'Title'];\r\n\t\tSlimButtons.concat(ImageEditor.Buttons).concat('rotate').forEach(function (btn) {\r\n\t\t\tvar capitalized = capitalizeFirstLetter(btn);\r\n\t\t\tbuttonOptions.forEach(function (opt) {\r\n\t\t\t\tdefaults['button' + capitalized + opt] = passThrough;\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tSlim.supported = function () {\r\n\r\n\t\t\treturn !(\r\n\r\n\t\t\t\t// is opera mini\r\n\t\t\t\tObject.prototype.toString.call(window.operamini) === '[object OperaMini]' ||\r\n\r\n\t\t\t\t// no event listener support\r\n\t\t\t\ttypeof window.addEventListener === 'undefined' ||\r\n\r\n\t\t\t\t// no file reader support\r\n\t\t\t\ttypeof window.FileReader === 'undefined' ||\r\n\r\n\t\t\t\t// no .createObjectURL support, used by download method but also convenient to exclude Android 4.3 and lower\r\n\t\t\t\t// Android 4.3 and lower don't support XHR2 responseType blob\r\n\t\t\t\ttypeof window.URL === 'undefined' || typeof window.URL.createObjectURL === 'undefined');\r\n\t\t}();\r\n\r\n\t\tSlim.parse = function (context) {\r\n\t\t\tvar elements;\r\n\t\t\tvar element;\r\n\t\t\tvar i;\r\n\t\t\tvar croppers = [];\r\n\r\n\t\t\t// find all crop elements and bind Crop behavior\r\n\t\t\telements = context.querySelectorAll('.slim:not([data-state])');\r\n\t\t\ti = elements.length;\r\n\r\n\t\t\twhile (i--) {\r\n\t\t\t\telement = elements[i];\r\n\t\t\t\tcroppers.push(Slim.create(element, Slim.getOptionsFromAttributes(element)));\r\n\t\t\t}\r\n\r\n\t\t\treturn croppers;\r\n\t\t};\r\n\r\n\t\tSlim.getOptionsFromAttributes = function (element) {\r\n\r\n\t\t\tvar dataset = getDataset(element);\r\n\r\n\t\t\tvar options = {\r\n\t\t\t\tmeta: {}\r\n\t\t\t};\r\n\r\n\t\t\tfor (var prop in dataset) {\r\n\r\n\t\t\t\tvar valueTransformer = defaults[prop];\r\n\t\t\t\tvar _value = dataset[prop];\r\n\r\n\t\t\t\tif (valueTransformer) {\r\n\t\t\t\t\t_value = valueTransformer(_value);\r\n\t\t\t\t\t_value = _value === null ? clone(Slim.options()[prop]) : _value;\r\n\t\t\t\t\toptions[prop] = _value;\r\n\t\t\t\t} else if (prop.indexOf('meta') === 0) {\r\n\t\t\t\t\toptions['meta'][lowercaseFirstLetter(prop.substr(4))] = _value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn options;\r\n\t\t};\r\n\r\n\t\tSlim.find = function (element) {\r\n\t\t\tvar result = instances.filter(function (instance) {\r\n\t\t\t\treturn instance.isAttachedTo(element);\r\n\t\t\t});\r\n\t\t\treturn result ? result[0] : null;\r\n\t\t};\r\n\r\n\t\tSlim.create = function (element, options) {\r\n\r\n\t\t\t// if already in array, can't create another slim\r\n\t\t\tif (Slim.find(element)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// if no options supplied, try to get the options from the element\r\n\t\t\tif (!options) {\r\n\t\t\t\toptions = Slim.getOptionsFromAttributes(element);\r\n\t\t\t}\r\n\r\n\t\t\t// instance\r\n\t\t\tvar slim = new Slim(element, options);\r\n\r\n\t\t\t// add new slim\r\n\t\t\tinstances.push(slim);\r\n\r\n\t\t\t// return the slim instance\r\n\t\t\treturn slim;\r\n\t\t};\r\n\r\n\t\tSlim.destroy = function (element) {\r\n\t\t\tvar index = indexOfElement(element);\r\n\r\n\t\t\tif (index < 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tinstances[index].destroy();\r\n\t\t\tinstances.splice(index, 1);\r\n\r\n\t\t\treturn true;\r\n\t\t};\r\n\t})();\r\n\treturn Slim;\r\n}());\n/*\r\n * Toastr\r\n * Copyright 2012-2015\r\n * Authors: John Papa, Hans Fjรคllemark, and Tim Ferrell.\r\n * All Rights Reserved.\r\n * Use, reproduction, distribution, and modification of this code is subject to the terms and\r\n * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php\r\n *\r\n * ARIA Support: Greta Krafsig\r\n *\r\n * Project: https://github.com/CodeSeven/toastr\r\n */\r\n/* global define */\r\n; (function (define) {\r\n define(['jquery'], function ($) {\r\n return (function () {\r\n var $container;\r\n var listener;\r\n var toastId = 0;\r\n var toastType = {\r\n error: 'error',\r\n info: 'info',\r\n success: 'success',\r\n warning: 'warning'\r\n };\r\n\r\n var toastr = {\r\n clear: clear,\r\n remove: remove,\r\n error: error,\r\n getContainer: getContainer,\r\n info: info,\r\n options: {},\r\n subscribe: subscribe,\r\n success: success,\r\n version: '2.1.1',\r\n warning: warning\r\n };\r\n\r\n var previousToast;\r\n\r\n return toastr;\r\n\r\n ////////////////\r\n\r\n function error(message, title, optionsOverride) {\r\n return notify({\r\n type: toastType.error,\r\n iconClass: getOptions().iconClasses.error,\r\n message: message,\r\n optionsOverride: optionsOverride,\r\n title: title\r\n });\r\n }\r\n\r\n function getContainer(options, create) {\r\n if (!options) { options = getOptions(); }\r\n $container = $('#' + options.containerId);\r\n if ($container.length) {\r\n return $container;\r\n }\r\n if (create) {\r\n $container = createContainer(options);\r\n }\r\n return $container;\r\n }\r\n\r\n function info(message, title, optionsOverride) {\r\n return notify({\r\n type: toastType.info,\r\n iconClass: getOptions().iconClasses.info,\r\n message: message,\r\n optionsOverride: optionsOverride,\r\n title: title\r\n });\r\n }\r\n\r\n function subscribe(callback) {\r\n listener = callback;\r\n }\r\n\r\n function success(message, title, optionsOverride) {\r\n return notify({\r\n type: toastType.success,\r\n iconClass: getOptions().iconClasses.success,\r\n message: message,\r\n optionsOverride: optionsOverride,\r\n title: title\r\n });\r\n }\r\n\r\n function warning(message, title, optionsOverride) {\r\n return notify({\r\n type: toastType.warning,\r\n iconClass: getOptions().iconClasses.warning,\r\n message: message,\r\n optionsOverride: optionsOverride,\r\n title: title\r\n });\r\n }\r\n\r\n function clear($toastElement, clearOptions) {\r\n var options = getOptions();\r\n if (!$container) { getContainer(options); }\r\n if (!clearToast($toastElement, options, clearOptions)) {\r\n clearContainer(options);\r\n }\r\n }\r\n\r\n function remove($toastElement) {\r\n var options = getOptions();\r\n if (!$container) { getContainer(options); }\r\n if ($toastElement && $(':focus', $toastElement).length === 0) {\r\n removeToast($toastElement);\r\n return;\r\n }\r\n if ($container.children().length) {\r\n $container.remove();\r\n }\r\n }\r\n\r\n // internal functions\r\n\r\n function clearContainer (options) {\r\n var toastsToClear = $container.children();\r\n for (var i = toastsToClear.length - 1; i >= 0; i--) {\r\n clearToast($(toastsToClear[i]), options);\r\n }\r\n }\r\n\r\n function clearToast ($toastElement, options, clearOptions) {\r\n var force = clearOptions && clearOptions.force ? clearOptions.force : false;\r\n if ($toastElement && (force || $(':focus', $toastElement).length === 0)) {\r\n $toastElement[options.hideMethod]({\r\n duration: options.hideDuration,\r\n easing: options.hideEasing,\r\n complete: function () { removeToast($toastElement); }\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function createContainer(options) {\r\n $container = $('
')\r\n .attr('id', options.containerId)\r\n .addClass(options.positionClass)\r\n .attr('aria-live', 'polite')\r\n .attr('role', 'alert');\r\n\r\n $container.appendTo($(options.target));\r\n return $container;\r\n }\r\n\r\n function getDefaults() {\r\n return {\r\n tapToDismiss: true,\r\n toastClass: 'toast',\r\n containerId: 'toast-container',\r\n debug: false,\r\n\r\n showMethod: 'fadeIn', //fadeIn, slideDown, and show are built into jQuery\r\n showDuration: 300,\r\n showEasing: 'swing', //swing and linear are built into jQuery\r\n onShown: undefined,\r\n hideMethod: 'fadeOut',\r\n hideDuration: 1000,\r\n hideEasing: 'swing',\r\n onHidden: undefined,\r\n\r\n extendedTimeOut: 1000,\r\n iconClasses: {\r\n error: 'toast-error',\r\n info: 'toast-info',\r\n success: 'toast-success',\r\n warning: 'toast-warning'\r\n },\r\n iconClass: 'toast-info',\r\n positionClass: 'toast-top-right',\r\n timeOut: 5000, // Set timeOut and extendedTimeOut to 0 to make it sticky\r\n titleClass: 'toast-title',\r\n messageClass: 'toast-message',\r\n target: $(document.documentElement),\r\n closeHtml: '',\r\n newestOnTop: true,\r\n preventDuplicates: false,\r\n progressBar: false\r\n };\r\n }\r\n\r\n function publish(args) {\r\n if (!listener) { return; }\r\n listener(args);\r\n }\r\n\r\n function notify(map) {\r\n var options = getOptions();\r\n var iconClass = map.iconClass || options.iconClass;\r\n\r\n if (typeof (map.optionsOverride) !== 'undefined') {\r\n options = $.extend(options, map.optionsOverride);\r\n iconClass = map.optionsOverride.iconClass || iconClass;\r\n }\r\n\r\n if (shouldExit(options, map)) { return; }\r\n\r\n toastId++;\r\n\r\n $container = getContainer(options, true);\r\n\r\n var intervalId = null;\r\n var $toastElement = $('
');\r\n var $titleElement = $('
');\r\n var $messageElement = $('
');\r\n var $progressElement = $('
');\r\n var $closeElement = $(options.closeHtml);\r\n var progressBar = {\r\n intervalId: null,\r\n hideEta: null,\r\n maxHideTime: null\r\n };\r\n var response = {\r\n toastId: toastId,\r\n state: 'visible',\r\n startTime: new Date(),\r\n options: options,\r\n map: map\r\n };\r\n\r\n personalizeToast();\r\n\r\n displayToast();\r\n\r\n handleEvents();\r\n\r\n publish(response);\r\n\r\n if (options.debug && console) {\r\n console.log(response);\r\n }\r\n\r\n return $toastElement;\r\n\r\n function personalizeToast() {\r\n setIcon();\r\n setTitle();\r\n setMessage();\r\n setCloseButton();\r\n setProgressBar();\r\n setSequence();\r\n }\r\n\r\n function handleEvents() {\r\n $toastElement.hover(stickAround, delayedHideToast);\r\n if (!options.onclick && options.tapToDismiss) {\r\n $toastElement.click(hideToast);\r\n }\r\n\r\n if (options.closeButton && $closeElement) {\r\n $closeElement.click(function (event) {\r\n if (event.stopPropagation) {\r\n event.stopPropagation();\r\n } else if (event.cancelBubble !== undefined && event.cancelBubble !== true) {\r\n event.cancelBubble = true;\r\n }\r\n hideToast(true);\r\n });\r\n }\r\n\r\n if (options.onclick) {\r\n $toastElement.click(function () {\r\n options.onclick();\r\n hideToast();\r\n });\r\n }\r\n }\r\n\r\n function displayToast() {\r\n $toastElement.hide();\r\n\r\n $toastElement[options.showMethod](\r\n {duration: options.showDuration, easing: options.showEasing, complete: options.onShown}\r\n );\r\n\r\n if (options.timeOut > 0) {\r\n intervalId = setTimeout(hideToast, options.timeOut);\r\n progressBar.maxHideTime = parseFloat(options.timeOut);\r\n progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;\r\n if (options.progressBar) {\r\n progressBar.intervalId = setInterval(updateProgress, 10);\r\n }\r\n }\r\n }\r\n\r\n function setIcon() {\r\n if (map.iconClass) {\r\n $toastElement.addClass(options.toastClass).addClass(iconClass);\r\n }\r\n }\r\n\r\n function setSequence() {\r\n if (options.newestOnTop) {\r\n $container.prepend($toastElement);\r\n } else {\r\n $container.append($toastElement);\r\n }\r\n }\r\n\r\n function setTitle() {\r\n if (map.title) {\r\n $titleElement.append(map.title).addClass(options.titleClass);\r\n $toastElement.append($titleElement);\r\n }\r\n }\r\n\r\n function setMessage() {\r\n if (map.message) {\r\n $messageElement.append(map.message).addClass(options.messageClass);\r\n $toastElement.append($messageElement);\r\n }\r\n }\r\n\r\n function setCloseButton() {\r\n if (options.closeButton) {\r\n $closeElement.addClass('toast-close-button').attr('role', 'button');\r\n $toastElement.prepend($closeElement);\r\n }\r\n }\r\n\r\n function setProgressBar() {\r\n if (options.progressBar) {\r\n $progressElement.addClass('toast-progress');\r\n $toastElement.prepend($progressElement);\r\n }\r\n }\r\n\r\n function shouldExit(options, map) {\r\n if (options.preventDuplicates) {\r\n if (map.message === previousToast) {\r\n return true;\r\n } else {\r\n previousToast = map.message;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function hideToast(override) {\r\n if ($(':focus', $toastElement).length && !override) {\r\n return;\r\n }\r\n clearTimeout(progressBar.intervalId);\r\n return $toastElement[options.hideMethod]({\r\n duration: options.hideDuration,\r\n easing: options.hideEasing,\r\n complete: function () {\r\n removeToast($toastElement);\r\n if (options.onHidden && response.state !== 'hidden') {\r\n options.onHidden();\r\n }\r\n response.state = 'hidden';\r\n response.endTime = new Date();\r\n publish(response);\r\n }\r\n });\r\n }\r\n\r\n function delayedHideToast() {\r\n if (options.timeOut > 0 || options.extendedTimeOut > 0) {\r\n intervalId = setTimeout(hideToast, options.extendedTimeOut);\r\n progressBar.maxHideTime = parseFloat(options.extendedTimeOut);\r\n progressBar.hideEta = new Date().getTime() + progressBar.maxHideTime;\r\n }\r\n }\r\n\r\n function stickAround() {\r\n clearTimeout(intervalId);\r\n progressBar.hideEta = 0;\r\n $toastElement.stop(true, true)[options.showMethod](\r\n {duration: options.showDuration, easing: options.showEasing}\r\n );\r\n }\r\n\r\n function updateProgress() {\r\n var percentage = ((progressBar.hideEta - (new Date().getTime())) / progressBar.maxHideTime) * 100;\r\n $progressElement.width(percentage + '%');\r\n }\r\n }\r\n\r\n function getOptions() {\r\n return $.extend({}, getDefaults(), toastr.options);\r\n }\r\n\r\n function removeToast($toastElement) {\r\n if (!$container) { $container = getContainer(); }\r\n if ($toastElement.is(':visible')) {\r\n return;\r\n }\r\n $toastElement.remove();\r\n $toastElement = null;\r\n if ($container.children().length === 0) {\r\n $container.remove();\r\n previousToast = undefined;\r\n }\r\n }\r\n\r\n })();\r\n });\r\n}(typeof define === 'function' && define.amd ? define : function (deps, factory) {\r\n if (typeof module !== 'undefined' && module.exports) { //Node\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n window['toastr'] = factory(window['jQuery']);\r\n }\r\n}));\r\n\n/*\r\nThe MIT License (MIT)\r\nCopyright ยฉ 2006-2007 Kevin C. Olbrich\r\nCopyright ยฉ 2010-2016 LIM SAS (http://lim.eu) - Julien Sanchez\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of\r\nthis software and associated documentation files (the \"Software\"), to deal in\r\nthe Software without restriction, including without limitation the rights to\r\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\r\nof the Software, and to permit persons to whom the Software is furnished to do\r\nso, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n*/\r\n(function (global, factory) {\r\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n\ttypeof define === 'function' && define.amd ? define(factory) :\r\n\t(global.Qty = factory());\r\n}(this, (function () { 'use strict';\r\n\r\n/**\r\n * Tests if a value is a Qty instance\r\n *\r\n * @param {*} value - Value to test\r\n *\r\n * @returns {boolean} true if value is a Qty instance, false otherwise\r\n */\r\nfunction isQty(value) {\r\n return value instanceof Qty$1;\r\n}\r\n\r\n/**\r\n * Tests if a value is a string\r\n *\r\n * @param {*} value - Value to test\r\n *\r\n * @returns {boolean} true if value is a string, false otherwise\r\n */\r\nfunction isString(value) {\r\n return typeof value === \"string\" || value instanceof String;\r\n}\r\n\r\n/*\r\n * Prefer stricter Number.isFinite if currently supported.\r\n * To be dropped when ES6 is finalized. Obsolete browsers will\r\n * have to use ES6 polyfills.\r\n */\r\nvar isFiniteImpl = Number.isFinite || window.isFinite;\r\n/**\r\n * Tests if a value is a number\r\n *\r\n * @param {*} value - Value to test\r\n *\r\n * @returns {boolean} true if value is a number, false otherwise\r\n */\r\nfunction isNumber(value) {\r\n // Number.isFinite allows not to consider NaN or '1' as numbers\r\n return isFiniteImpl(value);\r\n}\r\n\r\n/*\r\n * Identity function\r\n */\r\nfunction identity(value) {\r\n return value;\r\n}\r\n\r\n/**\r\n * Returns unique strings from list\r\n *\r\n * @param {string[]} strings - array of strings\r\n *\r\n *\r\n * @returns {string[]} a new array of strings without duplicates\r\n */\r\nfunction uniq(strings) {\r\n var seen = {};\r\n return strings.filter(function(item) {\r\n return seen.hasOwnProperty(item) ? false : (seen[item] = true);\r\n });\r\n}\r\n\r\nfunction compareArray(array1, array2) {\r\n if (array2.length !== array1.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (array2[i].compareArray) {\r\n if (!array2[i].compareArray(array1[i])) {\r\n return false;\r\n }\r\n }\r\n if (array2[i] !== array1[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nfunction assign(target, properties) {\r\n Object.keys(properties).forEach(function(key) {\r\n target[key] = properties[key];\r\n });\r\n}\r\n\r\n/**\r\n * Safely multiplies numbers while avoiding floating errors\r\n * like 0.1 * 0.1 => 0.010000000000000002\r\n *\r\n * @returns {number} result\r\n * @param {...number} number\r\n */\r\nfunction mulSafe() {\r\n var result = 1, decimals = 0;\r\n for (var i = 0; i < arguments.length; i++) {\r\n var arg = arguments[i];\r\n decimals = decimals + getFractional(arg);\r\n result *= arg;\r\n }\r\n\r\n return decimals !== 0 ? round(result, decimals) : result;\r\n}\r\n\r\n/**\r\n * Safely divides two numbers while avoiding floating errors\r\n * like 0.3 / 0.05 => 5.999999999999999\r\n *\r\n * @returns {number} result\r\n * @param {number} num Numerator\r\n * @param {number} den Denominator\r\n */\r\nfunction divSafe(num, den) {\r\n if (den === 0) {\r\n throw new Error(\"Divide by zero\");\r\n }\r\n\r\n var factor = Math.pow(10, getFractional(den));\r\n var invDen = factor / (factor * den);\r\n\r\n return mulSafe(num, invDen);\r\n}\r\n\r\n/**\r\n * Rounds value at the specified number of decimals\r\n *\r\n * @param {number} val - value to round\r\n * @param {number} decimals - number of decimals\r\n *\r\n * @returns {number} rounded number\r\n */\r\nfunction round(val, decimals) {\r\n return Math.round(val * Math.pow(10, decimals)) / Math.pow(10, decimals);\r\n}\r\n\r\nfunction getFractional(num) {\r\n // Check for NaNs or Infinities\r\n if (!isFinite(num)) {\r\n return 0;\r\n }\r\n\r\n // Faster than parsing strings\r\n // http://jsperf.com/count-decimals/2\r\n var count = 0;\r\n while (num % 1 !== 0) {\r\n num *= 10;\r\n count++;\r\n }\r\n return count;\r\n}\r\n\r\n/**\r\n * Custom error type definition\r\n * @constructor\r\n */\r\nfunction QtyError() {\r\n var err;\r\n if (!this) { // Allows to instantiate QtyError without new()\r\n err = Object.create(QtyError.prototype);\r\n QtyError.apply(err, arguments);\r\n return err;\r\n }\r\n err = Error.apply(this, arguments);\r\n this.name = \"QtyError\";\r\n this.message = err.message;\r\n this.stack = err.stack;\r\n}\r\nQtyError.prototype = Object.create(Error.prototype, {constructor: { value: QtyError }});\r\n\r\n/*\r\n * Throws incompatible units error\r\n * @param {string} left - units\r\n * @param {string} right - units incompatible with first argument\r\n * @throws \"Incompatible units\" error\r\n */\r\nfunction throwIncompatibleUnits(left, right) {\r\n throw new QtyError(\"Incompatible units: \" + left + \" and \" + right);\r\n}\r\n\r\nvar UNITS = {\r\n /* prefixes */\r\n \"\" : [[\"googol\"], 1e100, \"prefix\"],\r\n \"\" : [[\"Ki\",\"Kibi\",\"kibi\"], Math.pow(2,10), \"prefix\"],\r\n \"\" : [[\"Mi\",\"Mebi\",\"mebi\"], Math.pow(2,20), \"prefix\"],\r\n \"\" : [[\"Gi\",\"Gibi\",\"gibi\"], Math.pow(2,30), \"prefix\"],\r\n \"\" : [[\"Ti\",\"Tebi\",\"tebi\"], Math.pow(2,40), \"prefix\"],\r\n \"\" : [[\"Pi\",\"Pebi\",\"pebi\"], Math.pow(2,50), \"prefix\"],\r\n \"\" : [[\"Ei\",\"Exi\",\"exi\"], Math.pow(2,60), \"prefix\"],\r\n \"\" : [[\"Zi\",\"Zebi\",\"zebi\"], Math.pow(2,70), \"prefix\"],\r\n \"\" : [[\"Yi\",\"Yebi\",\"yebi\"], Math.pow(2,80), \"prefix\"],\r\n \"\" : [[\"Y\",\"Yotta\",\"yotta\"], 1e24, \"prefix\"],\r\n \"\" : [[\"Z\",\"Zetta\",\"zetta\"], 1e21, \"prefix\"],\r\n \"\" : [[\"E\",\"Exa\",\"exa\"], 1e18, \"prefix\"],\r\n \"\" : [[\"P\",\"Peta\",\"peta\"], 1e15, \"prefix\"],\r\n \"\" : [[\"T\",\"Tera\",\"tera\"], 1e12, \"prefix\"],\r\n \"\" : [[\"G\",\"Giga\",\"giga\"], 1e9, \"prefix\"],\r\n \"\" : [[\"M\",\"Mega\",\"mega\"], 1e6, \"prefix\"],\r\n \"\" : [[\"k\",\"kilo\"], 1e3, \"prefix\"],\r\n \"\" : [[\"h\",\"Hecto\",\"hecto\"], 1e2, \"prefix\"],\r\n \"\" : [[\"da\",\"Deca\",\"deca\",\"deka\"], 1e1, \"prefix\"],\r\n \"\" : [[\"d\",\"Deci\",\"deci\"], 1e-1, \"prefix\"],\r\n \"\" : [[\"c\",\"Centi\",\"centi\"], 1e-2, \"prefix\"],\r\n \"\" : [[\"m\",\"Milli\",\"milli\"], 1e-3, \"prefix\"],\r\n \"\" : [\r\n [\"u\",\"\\u03BC\"/*ยต as greek letter*/,\"\\u00B5\"/*ยต as micro sign*/,\"Micro\",\"mc\",\"micro\"],\r\n 1e-6,\r\n \"prefix\"\r\n ],\r\n \"\" : [[\"n\",\"Nano\",\"nano\"], 1e-9, \"prefix\"],\r\n \"\" : [[\"p\",\"Pico\",\"pico\"], 1e-12, \"prefix\"],\r\n \"\" : [[\"f\",\"Femto\",\"femto\"], 1e-15, \"prefix\"],\r\n \"\" : [[\"a\",\"Atto\",\"atto\"], 1e-18, \"prefix\"],\r\n \"\" : [[\"z\",\"Zepto\",\"zepto\"], 1e-21, \"prefix\"],\r\n \"\" : [[\"y\",\"Yocto\",\"yocto\"], 1e-24, \"prefix\"],\r\n\r\n \"<1>\" : [[\"1\", \"<1>\"], 1, \"\"],\r\n /* length units */\r\n \"\" : [[\"m\",\"meter\",\"meters\",\"metre\",\"metres\"], 1.0, \"length\", [\"\"] ],\r\n \"\" : [[\"in\",\"inch\",\"inches\",\"\\\"\"], 0.0254, \"length\", [\"\"]],\r\n \"\" : [[\"ft\",\"foot\",\"feet\",\"'\"], 0.3048, \"length\", [\"\"]],\r\n \"\" : [[\"yd\",\"yard\",\"yards\"], 0.9144, \"length\", [\"\"]],\r\n \"\" : [[\"mi\",\"mile\",\"miles\"], 1609.344, \"length\", [\"\"]],\r\n \"\" : [[\"nmi\"], 1852, \"length\", [\"\"]],\r\n \"\": [[\"league\",\"leagues\"], 4828, \"length\", [\"\"]],\r\n \"\": [[\"furlong\",\"furlongs\"], 201.2, \"length\", [\"\"]],\r\n \"\" : [[\"rd\",\"rod\",\"rods\"], 5.029, \"length\", [\"\"]],\r\n \"\" : [[\"mil\",\"mils\"], 0.0000254, \"length\", [\"\"]],\r\n \"\" :[[\"ang\",\"angstrom\",\"angstroms\"], 1e-10, \"length\", [\"\"]],\r\n \"\" : [[\"fathom\",\"fathoms\"], 1.829, \"length\", [\"\"]],\r\n \"\" : [[\"pica\",\"picas\"], 0.00423333333, \"length\", [\"\"]],\r\n \"\" : [[\"pt\",\"point\",\"points\"], 0.000352777778, \"length\", [\"\"]],\r\n \"\" : [[\"z\",\"red-shift\", \"redshift\"], 1.302773e26, \"length\", [\"\"]],\r\n \"\" : [[\"AU\",\"astronomical-unit\"], 149597900000, \"length\", [\"\"]],\r\n \"\":[[\"ls\",\"light-second\"], 299792500, \"length\", [\"\"]],\r\n \"\":[[\"lmin\",\"light-minute\"], 17987550000, \"length\", [\"\"]],\r\n \"\" : [[\"ly\",\"light-year\"], 9460528000000000, \"length\", [\"\"]],\r\n \"\" : [[\"pc\",\"parsec\",\"parsecs\"], 30856780000000000, \"length\", [\"\"]],\r\n \"\" : [[\"DM\"], 1828.8, \"length\", [\"\"]],\r\n\r\n /* mass */\r\n \"\" : [[\"kg\",\"kilogram\",\"kilograms\"], 1.0, \"mass\", [\"\"]],\r\n \"\" : [[\"u\",\"AMU\",\"amu\"], 1.660538921e-27, \"mass\", [\"\"]],\r\n \"\" : [[\"Da\",\"Dalton\",\"Daltons\",\"dalton\",\"daltons\"], 1.660538921e-27, \"mass\", [\"\"]],\r\n \"\" : [[\"slug\",\"slugs\"], 14.5939029, \"mass\", [\"\"]],\r\n \"\" : [[\"tn\",\"ton\"], 907.18474, \"mass\", [\"\"]],\r\n \"\":[[\"tonne\"], 1000, \"mass\", [\"\"]],\r\n \"\" : [[\"ct\",\"carat\",\"carats\"], 0.0002, \"mass\", [\"\"]],\r\n \"\" : [[\"lbs\",\"lb\",\"pound\",\"pounds\",\"#\"], 0.45359237, \"mass\", [\"\"]],\r\n \"\" : [[\"oz\",\"ounce\",\"ounces\"], 0.0283495231, \"mass\", [\"\"]],\r\n \"\" : [[\"g\",\"gram\",\"grams\",\"gramme\",\"grammes\"], 1e-3, \"mass\", [\"\"]],\r\n \"\" : [[\"grain\",\"grains\",\"gr\"], 6.479891e-5, \"mass\", [\"\"]],\r\n \"\" : [[\"dram\",\"drams\",\"dr\"], 0.0017718452, \"mass\",[\"\"]],\r\n \"\" : [[\"stone\",\"stones\",\"st\"],6.35029318, \"mass\",[\"\"]],\r\n\r\n /* area */\r\n \"\":[[\"hectare\"], 10000, \"area\", [\"\",\"\"]],\r\n \"\":[[\"acre\",\"acres\"], 4046.85642, \"area\", [\"\",\"\"]],\r\n \"\":[[\"sqft\"], 1, \"area\", [\"\",\"\"]],\r\n\r\n /* volume */\r\n \"\" : [[\"l\",\"L\",\"liter\",\"liters\",\"litre\",\"litres\"], 0.001, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"gal\",\"gallon\",\"gallons\"], 0.0037854118, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"qt\",\"quart\",\"quarts\"], 0.00094635295, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"pt\",\"pint\",\"pints\"], 0.000473176475, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"cu\",\"cup\",\"cups\"], 0.000236588238, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"floz\",\"fluid-ounce\",\"fluid-ounces\"], 2.95735297e-5, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"tb\",\"tbsp\",\"tbs\",\"tablespoon\",\"tablespoons\"], 1.47867648e-5, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"tsp\",\"teaspoon\",\"teaspoons\"], 4.92892161e-6, \"volume\", [\"\",\"\",\"\"]],\r\n \"\": [[\"bu\",\"bsh\",\"bushel\",\"bushels\"], 0.035239072, \"volume\", [\"\",\"\",\"\"]],\r\n\r\n /* speed */\r\n \"\" : [[\"kph\"], 0.277777778, \"speed\", [\"\"], [\"\"]],\r\n \"\" : [[\"mph\"], 0.44704, \"speed\", [\"\"], [\"\"]],\r\n \"\" : [[\"kt\",\"kn\",\"kts\",\"knot\",\"knots\"], 0.514444444, \"speed\", [\"\"], [\"\"]],\r\n \"\" : [[\"fps\"], 0.3048, \"speed\", [\"\"], [\"\"]],\r\n\r\n /* acceleration */\r\n \"\" : [[\"gee\"], 9.80665, \"acceleration\", [\"\"], [\"\",\"\"]],\r\n\r\n /* temperature_difference */\r\n \"\" : [[\"degK\",\"kelvin\"], 1.0, \"temperature\", [\"\"]],\r\n \"\" : [[\"degC\",\"celsius\",\"celsius\",\"centigrade\"], 1.0, \"temperature\", [\"\"]],\r\n \"\" : [[\"degF\",\"fahrenheit\"], 5 / 9, \"temperature\", [\"\"]],\r\n \"\" : [[\"degR\",\"rankine\"], 5 / 9, \"temperature\", [\"\"]],\r\n \"\" : [[\"tempK\"], 1.0, \"temperature\", [\"\"]],\r\n \"\" : [[\"tempC\"], 1.0, \"temperature\", [\"\"]],\r\n \"\" : [[\"tempF\"], 5 / 9, \"temperature\", [\"\"]],\r\n \"\" : [[\"tempR\"], 5 / 9, \"temperature\", [\"\"]],\r\n\r\n /* time */\r\n \"\": [[\"s\",\"sec\",\"secs\",\"second\",\"seconds\"], 1.0, \"time\", [\"\"]],\r\n \"\": [[\"min\",\"mins\",\"minute\",\"minutes\"], 60.0, \"time\", [\"\"]],\r\n \"\": [[\"h\",\"hr\",\"hrs\",\"hour\",\"hours\"], 3600.0, \"time\", [\"\"]],\r\n \"\": [[\"d\",\"day\",\"days\"], 3600 * 24, \"time\", [\"\"]],\r\n \"\": [[\"wk\",\"week\",\"weeks\"], 7 * 3600 * 24, \"time\", [\"\"]],\r\n \"\": [[\"fortnight\",\"fortnights\"], 1209600, \"time\", [\"\"]],\r\n \"\": [[\"y\",\"yr\",\"year\",\"years\",\"annum\"], 31556926, \"time\", [\"\"]],\r\n \"\":[[\"decade\",\"decades\"], 315569260, \"time\", [\"\"]],\r\n \"\":[[\"century\",\"centuries\"], 3155692600, \"time\", [\"\"]],\r\n\r\n /* pressure */\r\n \"\" : [[\"Pa\",\"pascal\",\"Pascal\"], 1.0, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"bar\",\"bars\"], 100000, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"mmHg\"], 133.322368, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"inHg\"], 3386.3881472, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"torr\"], 133.322368, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"atm\",\"ATM\",\"atmosphere\",\"atmospheres\"], 101325, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"psi\"], 6894.76, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"cmH2O\"], 98.0638, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n \"\" : [[\"inH2O\"], 249.082052, \"pressure\", [\"\"],[\"\",\"\",\"\"]],\r\n\r\n /* viscosity */\r\n \"\" : [[\"P\",\"poise\"], 0.1, \"viscosity\", [\"\"],[\"\",\"\"] ],\r\n \"\" : [[\"St\",\"stokes\"], 1e-4, \"viscosity\", [\"\",\"\"], [\"\"]],\r\n\r\n /* substance */\r\n \"\" : [[\"mol\",\"mole\"], 1.0, \"substance\", [\"\"]],\r\n\r\n /* concentration */\r\n \"\" : [[\"M\",\"molar\"], 1000, \"concentration\", [\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"wt%\",\"wtpercent\"], 10, \"concentration\", [\"\"], [\"\",\"\",\"\"]],\r\n\r\n /* activity */\r\n \"\" : [[\"kat\",\"katal\",\"Katal\"], 1.0, \"activity\", [\"\"], [\"\"]],\r\n \"\" : [[\"U\",\"enzUnit\"], 16.667e-16, \"activity\", [\"\"], [\"\"]],\r\n\r\n /* capacitance */\r\n \"\" : [[\"F\",\"farad\",\"Farad\"], 1.0, \"capacitance\", [\"\",\"\",\"\",\"\",\"\",\"\"], [\"\", \"\", \"\"]],\r\n\r\n /* charge */\r\n \"\" : [[\"C\",\"coulomb\",\"Coulomb\"], 1.0, \"charge\", [\"\",\"\"]],\r\n \"\" : [[\"Ah\"], 3600, \"charge\", [\"\",\"\"]],\r\n\r\n /* current */\r\n \"\" : [[\"A\",\"Ampere\",\"ampere\",\"amp\",\"amps\"], 1.0, \"current\", [\"\"]],\r\n\r\n /* conductance */\r\n \"\" : [[\"S\",\"Siemens\",\"siemens\"], 1.0, \"conductance\", [\"\",\"\",\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n\r\n /* inductance */\r\n \"\" : [[\"H\",\"Henry\",\"henry\"], 1.0, \"inductance\", [\"\",\"\",\"\"], [\"\",\"\",\"\",\"\"]],\r\n\r\n /* potential */\r\n \"\" : [[\"V\",\"Volt\",\"volt\",\"volts\"], 1.0, \"potential\", [\"\",\"\",\"\"], [\"\",\"\",\"\",\"\"]],\r\n\r\n /* resistance */\r\n \"\" : [\r\n [\"Ohm\",\"ohm\",\"\\u03A9\"/*โ„ฆ as greek letter*/,\"\\u2126\"/*โ„ฆ as ohm sign*/],\r\n 1.0,\r\n \"resistance\",\r\n [\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\"]\r\n ],\r\n /* magnetism */\r\n \"\" : [[\"Wb\",\"weber\",\"webers\"], 1.0, \"magnetism\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"T\",\"tesla\",\"teslas\"], 1.0, \"magnetism\", [\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"G\",\"gauss\"], 1e-4, \"magnetism\", [\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"Mx\",\"maxwell\",\"maxwells\"], 1e-8, \"magnetism\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"Oe\",\"oersted\",\"oersteds\"], 250.0 / Math.PI, \"magnetism\", [\"\"], [\"\"]],\r\n\r\n /* energy */\r\n \"\" : [[\"J\",\"joule\",\"Joule\",\"joules\"], 1.0, \"energy\", [\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"erg\",\"ergs\"], 1e-7, \"energy\", [\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"BTU\",\"btu\",\"BTUs\"], 1055.056, \"energy\", [\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"cal\",\"calorie\",\"calories\"], 4.18400, \"energy\",[\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"Cal\",\"Calorie\",\"Calories\"], 4184.00, \"energy\",[\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"th\",\"therm\",\"therms\",\"Therm\"], 105480400, \"energy\",[\"\",\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"Wh\"], 3600, \"energy\",[\"\",\"\",\"\"], [\"\",\"\"]],\r\n\r\n /* force */\r\n \"\" : [[\"N\",\"Newton\",\"newton\"], 1.0, \"force\", [\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"dyn\",\"dyne\"], 1e-5, \"force\", [\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"lbf\",\"pound-force\"], 4.448222, \"force\", [\"\",\"\"], [\"\",\"\"]],\r\n\r\n /* frequency */\r\n \"\" : [[\"Hz\",\"hertz\",\"Hertz\"], 1.0, \"frequency\", [\"<1>\"], [\"\"]],\r\n\r\n /* angle */\r\n \"\" :[[\"rad\",\"radian\",\"radians\"], 1.0, \"angle\", [\"\"]],\r\n \"\" :[[\"deg\",\"degree\",\"degrees\"], Math.PI / 180.0, \"angle\", [\"\"]],\r\n \"\" :[[\"gon\",\"grad\",\"gradian\",\"grads\"], Math.PI / 200.0, \"angle\", [\"\"]],\r\n \"\" : [[\"sr\",\"steradian\",\"steradians\"], 1.0, \"solid_angle\", [\"\"]],\r\n\r\n /* rotation */\r\n \"\" : [[\"rotation\"], 2.0 * Math.PI, \"angle\", [\"\"]],\r\n \"\" :[[\"rpm\"], 2.0 * Math.PI / 60.0, \"angular_velocity\", [\"\"], [\"\"]],\r\n\r\n /* information */\r\n \"\" :[[\"B\",\"byte\",\"bytes\"], 1.0, \"information\", [\"\"]],\r\n \"\" :[[\"b\",\"bit\",\"bits\"], 0.125, \"information\", [\"\"]],\r\n\r\n /* information rate */\r\n \"\" : [[\"Bps\"], 1.0, \"information_rate\", [\"\"], [\"\"]],\r\n \"\" : [[\"bps\"], 0.125, \"information_rate\", [\"\"], [\"\"]],\r\n\r\n /* currency */\r\n \"\":[[\"USD\",\"dollar\"], 1.0, \"currency\", [\"\"]],\r\n \"\" :[[\"cents\"], 0.01, \"currency\", [\"\"]],\r\n\r\n /* luminosity */\r\n \"\" : [[\"cd\",\"candela\"], 1.0, \"luminosity\", [\"\"]],\r\n \"\" : [[\"lm\",\"lumen\"], 1.0, \"luminous_power\", [\"\",\"\"]],\r\n \"\" :[[\"lux\"], 1.0, \"illuminance\", [\"\",\"\"], [\"\",\"\"]],\r\n\r\n /* power */\r\n \"\" : [[\"W\",\"watt\",\"watts\"], 1.0, \"power\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"VA\"], 1.0, \"power\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"var\",\"Var\",\"VAr\",\"VAR\"], 1.0, \"power\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n \"\" : [[\"hp\",\"horsepower\"], 745.699872, \"power\", [\"\",\"\",\"\"], [\"\",\"\",\"\"]],\r\n\r\n /* radiation */\r\n \"\" : [[\"Gy\",\"gray\",\"grays\"], 1.0, \"radiation\", [\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"R\",\"roentgen\"], 0.009330, \"radiation\", [\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"Sv\",\"sievert\",\"sieverts\"], 1.0, \"radiation\", [\"\",\"\"], [\"\",\"\"]],\r\n \"\" : [[\"Bq\",\"bequerel\",\"bequerels\"], 1.0, \"radiation\", [\"<1>\"],[\"\"]],\r\n \"\" : [[\"Ci\",\"curie\",\"curies\"], 3.7e10, \"radiation\", [\"<1>\"],[\"\"]],\r\n\r\n /* rate */\r\n \"\" : [[\"cpm\"], 1.0 / 60.0, \"rate\", [\"\"],[\"\"]],\r\n \"\" : [[\"dpm\"], 1.0 / 60.0, \"rate\", [\"\"],[\"\"]],\r\n \"\" : [[\"bpm\"], 1.0 / 60.0, \"rate\", [\"\"],[\"\"]],\r\n\r\n /* resolution / typography */\r\n \"\" : [[\"dot\",\"dots\"], 1, \"resolution\", [\"\"]],\r\n \"\" : [[\"pixel\",\"px\"], 1, \"resolution\", [\"\"]],\r\n \"\" : [[\"ppi\"], 1, \"resolution\", [\"\"], [\"\"]],\r\n \"\" : [[\"dpi\"], 1, \"typography\", [\"\"], [\"\"]],\r\n\r\n /* other */\r\n \"\" : [[\"cells\",\"cell\"], 1, \"counting\", [\"\"]],\r\n \"\" : [[\"each\"], 1.0, \"counting\", [\"\"]],\r\n \"\" : [[\"count\"], 1.0, \"counting\", [\"\"]],\r\n \"\" : [[\"bp\"], 1.0, \"counting\", [\"\"]],\r\n \"\" : [[\"nt\"], 1.0, \"counting\", [\"\"]],\r\n \"\" : [[\"molecule\",\"molecules\"], 1.0, \"counting\", [\"<1>\"]],\r\n \"\" : [[\"doz\",\"dz\",\"dozen\"],12.0,\"prefix_only\", [\"\"]],\r\n \"\": [[\"%\",\"percent\"], 0.01, \"prefix_only\", [\"<1>\"]],\r\n \"\" : [[\"ppm\"],1e-6, \"prefix_only\", [\"<1>\"]],\r\n \"\" : [[\"ppt\"],1e-9, \"prefix_only\", [\"<1>\"]],\r\n \"\" : [[\"gr\",\"gross\"],144.0, \"prefix_only\", [\"\",\"\"]],\r\n \"\" : [[\"dB\",\"decibel\",\"decibels\"], 1.0, \"logarithmic\", [\"\"]]\r\n};\r\n\r\nvar BASE_UNITS = [\"\",\"\",\"\",\"\", \"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"];\r\n\r\nvar UNITY = \"<1>\";\r\nvar UNITY_ARRAY = [UNITY];\r\n\r\n// Setup\r\n\r\n/**\r\n * Asserts unit definition is valid\r\n *\r\n * @param {string} unitDef - Name of unit to test\r\n * @param {Object} definition - Definition of unit to test\r\n *\r\n * @throws {QtyError} if unit definition is not valid\r\n */\r\nfunction validateUnitDefinition(unitDef, definition) {\r\n var scalar = definition[1];\r\n var numerator = definition[3] || [];\r\n var denominator = definition[4] || [];\r\n if (!isNumber(scalar)) {\r\n throw new QtyError(unitDef + \": Invalid unit definition. \" +\r\n \"'scalar' must be a number\");\r\n }\r\n\r\n numerator.forEach(function(unit) {\r\n if (UNITS[unit] === undefined) {\r\n throw new QtyError(unitDef + \": Invalid unit definition. \" +\r\n \"Unit \" + unit + \" in 'numerator' is not recognized\");\r\n }\r\n });\r\n\r\n denominator.forEach(function(unit) {\r\n if (UNITS[unit] === undefined) {\r\n throw new QtyError(unitDef + \": Invalid unit definition. \" +\r\n \"Unit \" + unit + \" in 'denominator' is not recognized\");\r\n }\r\n });\r\n}\r\n\r\nvar PREFIX_VALUES = {};\r\nvar PREFIX_MAP = {};\r\nvar UNIT_VALUES = {};\r\nvar UNIT_MAP = {};\r\nvar OUTPUT_MAP = {};\r\nfor (var unitDef in UNITS) {\r\n if (UNITS.hasOwnProperty(unitDef)) {\r\n var definition = UNITS[unitDef];\r\n if (definition[2] === \"prefix\") {\r\n PREFIX_VALUES[unitDef] = definition[1];\r\n for (var i = 0; i < definition[0].length; i++) {\r\n PREFIX_MAP[definition[0][i]] = unitDef;\r\n }\r\n }\r\n else {\r\n validateUnitDefinition(unitDef, definition);\r\n UNIT_VALUES[unitDef] = {\r\n scalar: definition[1],\r\n numerator: definition[3],\r\n denominator: definition[4]\r\n };\r\n for (var j = 0; j < definition[0].length; j++) {\r\n UNIT_MAP[definition[0][j]] = unitDef;\r\n }\r\n }\r\n OUTPUT_MAP[unitDef] = definition[0][0];\r\n }\r\n}\r\n\r\n/**\r\n * Returns a list of available units of kind\r\n *\r\n * @param {string} [kind]\r\n * @returns {array} names of units\r\n * @throws {QtyError} if kind is unknown\r\n */\r\nfunction getUnits (kind) {\r\n var i;\r\n var units = [];\r\n var unitKeys = Object.keys(UNITS);\r\n if (typeof kind === \"undefined\") {\r\n for (i = 0; i < unitKeys.length; i++) {\r\n if ([\"\", \"prefix\"].indexOf(UNITS[unitKeys[i]][2]) === -1) {\r\n units.push(unitKeys[i].substr(1, unitKeys[i].length - 2));\r\n }\r\n }\r\n }\r\n else if (Qty$1.getKinds().indexOf(kind) === -1) {\r\n throw new QtyError(\"Kind not recognized\");\r\n }\r\n else {\r\n for (i = 0; i < unitKeys.length; i++) {\r\n if (UNITS[unitKeys[i]][2] === kind) {\r\n units.push(unitKeys[i].substr(1, unitKeys[i].length - 2));\r\n }\r\n }\r\n }\r\n\r\n return units.sort(function(a, b) {\r\n if (a.toLowerCase() < b.toLowerCase()) {\r\n return -1;\r\n }\r\n if (a.toLowerCase() > b.toLowerCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n}\r\n\r\n/**\r\n * Returns a list of alternative names for a unit\r\n *\r\n * @param {string} unitName\r\n * @returns {string[]} aliases for unit\r\n * @throws {QtyError} if unit is unknown\r\n */\r\nfunction getAliases(unitName) {\r\n if (!UNIT_MAP[unitName]) {\r\n throw new QtyError(\"Unit not recognized\");\r\n }\r\n return UNITS[UNIT_MAP[unitName]][0];\r\n}\r\n\r\nvar SIGNATURE_VECTOR = [\"length\", \"time\", \"temperature\", \"mass\", \"current\", \"substance\", \"luminosity\", \"currency\", \"information\", \"angle\"];\r\n\r\n/*\r\ncalculates the unit signature id for use in comparing compatible units and simplification\r\nthe signature is based on a simple classification of units and is based on the following publication\r\n\r\nNovak, G.S., Jr. \"Conversion of units of measurement\", IEEE Transactions on Software Engineering,\r\n21(8), Aug 1995, pp.651-661\r\ndoi://10.1109/32.403789\r\nhttp://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel1/32/9079/00403789.pdf?isnumber=9079&prod=JNL&arnumber=403789&arSt=651&ared=661&arAuthor=Novak%2C+G.S.%2C+Jr.\r\n*/\r\nfunction unitSignature() {\r\n if (this.signature) {\r\n return this.signature;\r\n }\r\n var vector = unitSignatureVector.call(this);\r\n for (var i = 0; i < vector.length; i++) {\r\n vector[i] *= Math.pow(20, i);\r\n }\r\n\r\n return vector.reduce(\r\n function(previous, current) {\r\n return previous + current;\r\n },\r\n 0\r\n );\r\n}\r\n\r\n// calculates the unit signature vector used by unit_signature\r\nfunction unitSignatureVector() {\r\n if (!this.isBase()) {\r\n return unitSignatureVector.call(this.toBase());\r\n }\r\n\r\n var vector = new Array(SIGNATURE_VECTOR.length);\r\n for (var i = 0; i < vector.length; i++) {\r\n vector[i] = 0;\r\n }\r\n var r, n;\r\n for (var j = 0; j < this.numerator.length; j++) {\r\n if ((r = UNITS[this.numerator[j]])) {\r\n n = SIGNATURE_VECTOR.indexOf(r[2]);\r\n if (n >= 0) {\r\n vector[n] = vector[n] + 1;\r\n }\r\n }\r\n }\r\n\r\n for (var k = 0; k < this.denominator.length; k++) {\r\n if ((r = UNITS[this.denominator[k]])) {\r\n n = SIGNATURE_VECTOR.indexOf(r[2]);\r\n if (n >= 0) {\r\n vector[n] = vector[n] - 1;\r\n }\r\n }\r\n }\r\n return vector;\r\n}\r\n\r\nvar SIGN = \"[+-]\";\r\nvar INTEGER = \"\\\\d+\";\r\nvar SIGNED_INTEGER = SIGN + \"?\" + INTEGER;\r\nvar FRACTION = \"\\\\.\" + INTEGER;\r\nvar FLOAT = \"(?:\" + INTEGER + \"(?:\" + FRACTION + \")?\" + \")\" +\r\n \"|\" +\r\n \"(?:\" + FRACTION + \")\";\r\nvar EXPONENT = \"[Ee]\" + SIGNED_INTEGER;\r\nvar SCI_NUMBER = \"(?:\" + FLOAT + \")(?:\" + EXPONENT + \")?\";\r\nvar SIGNED_NUMBER = SIGN + \"?\\\\s*\" + SCI_NUMBER;\r\nvar QTY_STRING = \"(\" + SIGNED_NUMBER + \")?\" + \"\\\\s*([^/]*)(?:\\/(.+))?\";\r\nvar QTY_STRING_REGEX = new RegExp(\"^\" + QTY_STRING + \"$\");\r\n\r\nvar POWER_OP = \"\\\\^|\\\\*{2}\";\r\n// Allow unit powers representing scalar, length, area, volume; 4 is for some\r\n// special case representations in SI base units.\r\nvar SAFE_POWER = \"[01234]\";\r\nvar TOP_REGEX = new RegExp (\"([^ \\\\*\\\\d]+?)(?:\" + POWER_OP + \")?(-?\" + SAFE_POWER + \"(?![a-zA-Z]))\");\r\nvar BOTTOM_REGEX = new RegExp(\"([^ \\\\*\\\\d]+?)(?:\" + POWER_OP + \")?(\" + SAFE_POWER + \"(?![a-zA-Z]))\");\r\n\r\n/* parse a string into a unit object.\r\n * Typical formats like :\r\n * \"5.6 kg*m/s^2\"\r\n * \"5.6 kg*m*s^-2\"\r\n * \"5.6 kilogram*meter*second^-2\"\r\n * \"2.2 kPa\"\r\n * \"37 degC\"\r\n * \"1\" -- creates a unitless constant with value 1\r\n * \"GPa\" -- creates a unit with scalar 1 with units 'GPa'\r\n * 6'4\" -- recognized as 6 feet + 4 inches\r\n * 8 lbs 8 oz -- recognized as 8 lbs + 8 ounces\r\n */\r\nfunction parse(val) {\r\n if (!isString(val)) {\r\n val = val.toString();\r\n }\r\n val = val.trim();\r\n\r\n var result = QTY_STRING_REGEX.exec(val);\r\n if (!result) {\r\n throw new QtyError(val + \": Quantity not recognized\");\r\n }\r\n\r\n var scalarMatch = result[1];\r\n if (scalarMatch) {\r\n // Allow whitespaces between sign and scalar for loose parsing\r\n scalarMatch = scalarMatch.replace(/\\s/g, \"\");\r\n this.scalar = parseFloat(scalarMatch);\r\n }\r\n else {\r\n this.scalar = 1;\r\n }\r\n var top = result[2];\r\n var bottom = result[3];\r\n\r\n var n, x, nx;\r\n // TODO DRY me\r\n while ((result = TOP_REGEX.exec(top))) {\r\n n = parseFloat(result[2]);\r\n if (isNaN(n)) {\r\n // Prevents infinite loops\r\n throw new QtyError(\"Unit exponent is not a number\");\r\n }\r\n // Disallow unrecognized unit even if exponent is 0\r\n if (n === 0 && !UNIT_TEST_REGEX.test(result[1])) {\r\n throw new QtyError(\"Unit not recognized\");\r\n }\r\n x = result[1] + \" \";\r\n nx = \"\";\r\n for (var i = 0; i < Math.abs(n) ; i++) {\r\n nx += x;\r\n }\r\n if (n >= 0) {\r\n top = top.replace(result[0], nx);\r\n }\r\n else {\r\n bottom = bottom ? bottom + nx : nx;\r\n top = top.replace(result[0], \"\");\r\n }\r\n }\r\n\r\n while ((result = BOTTOM_REGEX.exec(bottom))) {\r\n n = parseFloat(result[2]);\r\n if (isNaN(n)) {\r\n // Prevents infinite loops\r\n throw new QtyError(\"Unit exponent is not a number\");\r\n }\r\n // Disallow unrecognized unit even if exponent is 0\r\n if (n === 0 && !UNIT_TEST_REGEX.test(result[1])) {\r\n throw new QtyError(\"Unit not recognized\");\r\n }\r\n x = result[1] + \" \";\r\n nx = \"\";\r\n for (var j = 0; j < n ; j++) {\r\n nx += x;\r\n }\r\n\r\n bottom = bottom.replace(result[0], nx);\r\n }\r\n\r\n if (top) {\r\n this.numerator = parseUnits(top.trim());\r\n }\r\n if (bottom) {\r\n this.denominator = parseUnits(bottom.trim());\r\n }\r\n}\r\n\r\nvar PREFIX_REGEX = Object.keys(PREFIX_MAP).sort(function(a, b) {\r\n return b.length - a.length;\r\n}).join(\"|\");\r\nvar UNIT_REGEX = Object.keys(UNIT_MAP).sort(function(a, b) {\r\n return b.length - a.length;\r\n}).join(\"|\");\r\n/*\r\n * Minimal boundary regex to support units with Unicode characters\r\n * \\b only works for ASCII\r\n */\r\nvar BOUNDARY_REGEX = \"\\\\b|$\";\r\nvar UNIT_MATCH = \"(\" + PREFIX_REGEX + \")??(\" +\r\n UNIT_REGEX +\r\n \")(?:\" + BOUNDARY_REGEX + \")\";\r\nvar UNIT_TEST_REGEX = new RegExp(\"^\\\\s*(\" + UNIT_MATCH + \"[\\\\s\\\\*]*)+$\");\r\nvar UNIT_MATCH_REGEX = new RegExp(UNIT_MATCH, \"g\"); // g flag for multiple occurences\r\nvar parsedUnitsCache = {};\r\n/**\r\n * Parses and converts units string to normalized unit array.\r\n * Result is cached to speed up next calls.\r\n *\r\n * @param {string} units Units string\r\n * @returns {string[]} Array of normalized units\r\n *\r\n * @example\r\n * // Returns [\"\", \"\", \"\"]\r\n * parseUnits(\"s m s\");\r\n *\r\n */\r\nfunction parseUnits(units) {\r\n var cached = parsedUnitsCache[units];\r\n if (cached) {\r\n return cached;\r\n }\r\n\r\n var unitMatch, normalizedUnits = [];\r\n\r\n // Scan\r\n if (!UNIT_TEST_REGEX.test(units)) {\r\n throw new QtyError(\"Unit not recognized\");\r\n }\r\n\r\n while ((unitMatch = UNIT_MATCH_REGEX.exec(units))) {\r\n normalizedUnits.push(unitMatch.slice(1));\r\n }\r\n\r\n normalizedUnits = normalizedUnits.map(function(item) {\r\n return PREFIX_MAP[item[0]] ? [PREFIX_MAP[item[0]], UNIT_MAP[item[1]]] : [UNIT_MAP[item[1]]];\r\n });\r\n\r\n // Flatten and remove null elements\r\n normalizedUnits = normalizedUnits.reduce(function(a,b) {\r\n return a.concat(b);\r\n }, []);\r\n normalizedUnits = normalizedUnits.filter(function(item) {\r\n return item;\r\n });\r\n\r\n parsedUnitsCache[units] = normalizedUnits;\r\n\r\n return normalizedUnits;\r\n}\r\n\r\n/**\r\n * Parses a string as a quantity\r\n * @param {string} value - quantity as text\r\n * @throws if value is not a string\r\n * @returns {Qty|null} Parsed quantity or null if unrecognized\r\n */\r\nfunction globalParse(value) {\r\n if (!isString(value)) {\r\n throw new QtyError(\"Argument should be a string\");\r\n }\r\n\r\n try {\r\n return Qty$1(value);\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n}\r\n\r\nfunction Qty$1(initValue, initUnits) {\r\n assertValidConstructorArgs.apply(null, arguments);\r\n\r\n if (!(isQty(this))) {\r\n return new Qty$1(initValue, initUnits);\r\n }\r\n\r\n this.scalar = null;\r\n this.baseScalar = null;\r\n this.signature = null;\r\n this._conversionCache = {};\r\n this.numerator = UNITY_ARRAY;\r\n this.denominator = UNITY_ARRAY;\r\n\r\n if (isDefinitionObject(initValue)) {\r\n this.scalar = initValue.scalar;\r\n this.numerator = (initValue.numerator && initValue.numerator.length !== 0) ? initValue.numerator : UNITY_ARRAY;\r\n this.denominator = (initValue.denominator && initValue.denominator.length !== 0) ? initValue.denominator : UNITY_ARRAY;\r\n }\r\n else if (initUnits) {\r\n parse.call(this, initUnits);\r\n this.scalar = initValue;\r\n }\r\n else {\r\n parse.call(this, initValue);\r\n }\r\n\r\n // math with temperatures is very limited\r\n if (this.denominator.join(\"*\").indexOf(\"temp\") >= 0) {\r\n throw new QtyError(\"Cannot divide with temperatures\");\r\n }\r\n if (this.numerator.join(\"*\").indexOf(\"temp\") >= 0) {\r\n if (this.numerator.length > 1) {\r\n throw new QtyError(\"Cannot multiply by temperatures\");\r\n }\r\n if (!compareArray(this.denominator, UNITY_ARRAY)) {\r\n throw new QtyError(\"Cannot divide with temperatures\");\r\n }\r\n }\r\n\r\n this.initValue = initValue;\r\n updateBaseScalar.call(this);\r\n\r\n if (this.isTemperature() && this.baseScalar < 0) {\r\n throw new QtyError(\"Temperatures must not be less than absolute zero\");\r\n }\r\n}\r\n\r\nQty$1.prototype = {\r\n // Properly set up constructor\r\n constructor: Qty$1,\r\n};\r\n\r\n/**\r\n * Asserts constructor arguments are valid\r\n *\r\n * @param {*} value - Value to test\r\n * @param {string} [units] - Optional units when value is passed as a number\r\n *\r\n * @throws {QtyError} if constructor arguments are invalid\r\n */\r\nfunction assertValidConstructorArgs(value, units) {\r\n if (units) {\r\n if (!(isNumber(value) && isString(units))) {\r\n throw new QtyError(\"Only number accepted as initialization value \" +\r\n \"when units are explicitly provided\");\r\n }\r\n }\r\n else {\r\n if (!(isString(value) ||\r\n isNumber(value) ||\r\n isQty(value) ||\r\n isDefinitionObject(value))) {\r\n throw new QtyError(\"Only string, number or quantity accepted as \" +\r\n \"single initialization value\");\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Tests if a value is a Qty definition object\r\n *\r\n * @param {*} value - Value to test\r\n *\r\n * @returns {boolean} true if value is a definition object, false otherwise\r\n */\r\nfunction isDefinitionObject(value) {\r\n return value && typeof value === \"object\" && value.hasOwnProperty(\"scalar\");\r\n}\r\n\r\nfunction updateBaseScalar() {\r\n if (this.baseScalar) {\r\n return this.baseScalar;\r\n }\r\n if (this.isBase()) {\r\n this.baseScalar = this.scalar;\r\n this.signature = unitSignature.call(this);\r\n }\r\n else {\r\n var base = this.toBase();\r\n this.baseScalar = base.scalar;\r\n this.signature = base.signature;\r\n }\r\n}\r\n\r\nvar KINDS = {\r\n \"-312078\": \"elastance\",\r\n \"-312058\": \"resistance\",\r\n \"-312038\": \"inductance\",\r\n \"-152058\": \"potential\",\r\n \"-152040\": \"magnetism\",\r\n \"-152038\": \"magnetism\",\r\n \"-7997\": \"specific_volume\",\r\n \"-79\": \"snap\",\r\n \"-59\": \"jolt\",\r\n \"-39\": \"acceleration\",\r\n \"-38\": \"radiation\",\r\n \"-20\": \"frequency\",\r\n \"-19\": \"speed\",\r\n \"-18\": \"viscosity\",\r\n \"-17\": \"volumetric_flow\",\r\n \"-1\": \"wavenumber\",\r\n \"0\": \"unitless\",\r\n \"1\": \"length\",\r\n \"2\": \"area\",\r\n \"3\": \"volume\",\r\n \"20\": \"time\",\r\n \"400\": \"temperature\",\r\n \"7941\": \"yank\",\r\n \"7942\": \"power\",\r\n \"7959\": \"pressure\",\r\n \"7961\": \"force\",\r\n \"7962\": \"energy\",\r\n \"7979\": \"viscosity\",\r\n \"7981\": \"momentum\",\r\n \"7982\": \"angular_momentum\",\r\n \"7997\": \"density\",\r\n \"7998\": \"area_density\",\r\n \"8000\": \"mass\",\r\n \"152020\": \"radiation_exposure\",\r\n \"159999\": \"magnetism\",\r\n \"160000\": \"current\",\r\n \"160020\": \"charge\",\r\n \"312058\": \"conductance\",\r\n \"312078\": \"capacitance\",\r\n \"3199980\": \"activity\",\r\n \"3199997\": \"molar_concentration\",\r\n \"3200000\": \"substance\",\r\n \"63999998\": \"illuminance\",\r\n \"64000000\": \"luminous_power\",\r\n \"1280000000\": \"currency\",\r\n \"25599999980\": \"information_rate\",\r\n \"25600000000\": \"information\",\r\n \"511999999980\": \"angular_velocity\",\r\n \"512000000000\": \"angle\"\r\n};\r\n\r\n/**\r\n * Returns the list of available well-known kinds of units, e.g.\r\n * \"radiation\" or \"length\".\r\n *\r\n * @returns {string[]} names of kinds of units\r\n */\r\nfunction getKinds() {\r\n return uniq(Object.keys(KINDS).map(function(knownSignature) {\r\n return KINDS[knownSignature];\r\n }));\r\n}\r\n\r\nQty$1.prototype.kind = function() {\r\n return KINDS[this.signature.toString()];\r\n};\r\n\r\nassign(Qty$1.prototype, {\r\n isDegrees: function() {\r\n // signature may not have been calculated yet\r\n return (this.signature === null || this.signature === 400) &&\r\n this.numerator.length === 1 &&\r\n compareArray(this.denominator, UNITY_ARRAY) &&\r\n (this.numerator[0].match(//) || this.numerator[0].match(/<(kelvin|celsius|rankine|fahrenheit)>/));\r\n },\r\n\r\n isTemperature: function() {\r\n return this.isDegrees() && this.numerator[0].match(//);\r\n }\r\n});\r\n\r\nfunction subtractTemperatures(lhs,rhs) {\r\n var lhsUnits = lhs.units();\r\n var rhsConverted = rhs.to(lhsUnits);\r\n var dstDegrees = Qty$1(getDegreeUnits(lhsUnits));\r\n return Qty$1({\"scalar\": lhs.scalar - rhsConverted.scalar, \"numerator\": dstDegrees.numerator, \"denominator\": dstDegrees.denominator});\r\n}\r\n\r\nfunction subtractTempDegrees(temp,deg) {\r\n var tempDegrees = deg.to(getDegreeUnits(temp.units()));\r\n return Qty$1({\"scalar\": temp.scalar - tempDegrees.scalar, \"numerator\": temp.numerator, \"denominator\": temp.denominator});\r\n}\r\n\r\nfunction addTempDegrees(temp,deg) {\r\n var tempDegrees = deg.to(getDegreeUnits(temp.units()));\r\n return Qty$1({\"scalar\": temp.scalar + tempDegrees.scalar, \"numerator\": temp.numerator, \"denominator\": temp.denominator});\r\n}\r\n\r\nfunction getDegreeUnits(units) {\r\n if (units === \"tempK\") {\r\n return \"degK\";\r\n }\r\n else if (units === \"tempC\") {\r\n return \"degC\";\r\n }\r\n else if (units === \"tempF\") {\r\n return \"degF\";\r\n }\r\n else if (units === \"tempR\") {\r\n return \"degR\";\r\n }\r\n else {\r\n throw new QtyError(\"Unknown type for temp conversion from: \" + units);\r\n }\r\n}\r\n\r\nfunction toDegrees(src,dst) {\r\n var srcDegK = toDegK(src);\r\n var dstUnits = dst.units();\r\n var dstScalar;\r\n\r\n if (dstUnits === \"degK\") {\r\n dstScalar = srcDegK.scalar;\r\n }\r\n else if (dstUnits === \"degC\") {\r\n dstScalar = srcDegK.scalar ;\r\n }\r\n else if (dstUnits === \"degF\") {\r\n dstScalar = srcDegK.scalar * 9 / 5;\r\n }\r\n else if (dstUnits === \"degR\") {\r\n dstScalar = srcDegK.scalar * 9 / 5;\r\n }\r\n else {\r\n throw new QtyError(\"Unknown type for degree conversion to: \" + dstUnits);\r\n }\r\n\r\n return Qty$1({\"scalar\": dstScalar, \"numerator\": dst.numerator, \"denominator\": dst.denominator});\r\n}\r\n\r\nfunction toDegK(qty) {\r\n var units = qty.units();\r\n var q;\r\n if (units.match(/(deg)[CFRK]/)) {\r\n q = qty.baseScalar;\r\n }\r\n else if (units === \"tempK\") {\r\n q = qty.scalar;\r\n }\r\n else if (units === \"tempC\") {\r\n q = qty.scalar;\r\n }\r\n else if (units === \"tempF\") {\r\n q = qty.scalar * 5 / 9;\r\n }\r\n else if (units === \"tempR\") {\r\n q = qty.scalar * 5 / 9;\r\n }\r\n else {\r\n throw new QtyError(\"Unknown type for temp conversion from: \" + units);\r\n }\r\n\r\n return Qty$1({\"scalar\": q, \"numerator\": [\"\"], \"denominator\": UNITY_ARRAY});\r\n}\r\n\r\nfunction toTemp(src,dst) {\r\n var dstUnits = dst.units();\r\n var dstScalar;\r\n\r\n if (dstUnits === \"tempK\") {\r\n dstScalar = src.baseScalar;\r\n }\r\n else if (dstUnits === \"tempC\") {\r\n dstScalar = src.baseScalar - 273.15;\r\n }\r\n else if (dstUnits === \"tempF\") {\r\n dstScalar = (src.baseScalar * 9 / 5) - 459.67;\r\n }\r\n else if (dstUnits === \"tempR\") {\r\n dstScalar = src.baseScalar * 9 / 5;\r\n }\r\n else {\r\n throw new QtyError(\"Unknown type for temp conversion to: \" + dstUnits);\r\n }\r\n\r\n return Qty$1({\"scalar\": dstScalar, \"numerator\": dst.numerator, \"denominator\": dst.denominator});\r\n}\r\n\r\nfunction toTempK(qty) {\r\n var units = qty.units();\r\n var q;\r\n if (units.match(/(deg)[CFRK]/)) {\r\n q = qty.baseScalar;\r\n }\r\n else if (units === \"tempK\") {\r\n q = qty.scalar;\r\n }\r\n else if (units === \"tempC\") {\r\n q = qty.scalar + 273.15;\r\n }\r\n else if (units === \"tempF\") {\r\n q = (qty.scalar + 459.67) * 5 / 9;\r\n }\r\n else if (units === \"tempR\") {\r\n q = qty.scalar * 5 / 9;\r\n }\r\n else {\r\n throw new QtyError(\"Unknown type for temp conversion from: \" + units);\r\n }\r\n\r\n return Qty$1({\"scalar\": q, \"numerator\": [\"\"], \"denominator\": UNITY_ARRAY});\r\n}\r\n\r\nassign(Qty$1.prototype, {\r\n /**\r\n * Converts to other compatible units.\r\n * Instance's converted quantities are cached for faster subsequent calls.\r\n *\r\n * @param {(string|Qty)} other - Target units as string or retrieved from\r\n * other Qty instance (scalar is ignored)\r\n *\r\n * @returns {Qty} New converted Qty instance with target units\r\n *\r\n * @throws {QtyError} if target units are incompatible\r\n *\r\n * @example\r\n * var weight = Qty(\"25 kg\");\r\n * weight.to(\"lb\"); // => Qty(\"55.11556554621939 lbs\");\r\n * weight.to(Qty(\"3 g\")); // => Qty(\"25000 g\"); // scalar of passed Qty is ignored\r\n */\r\n to: function(other) {\r\n var cached, target;\r\n\r\n if (other === undefined || other === null) {\r\n return this;\r\n }\r\n\r\n if (!isString(other)) {\r\n return this.to(other.units());\r\n }\r\n\r\n cached = this._conversionCache[other];\r\n if (cached) {\r\n return cached;\r\n }\r\n\r\n // Instantiating target to normalize units\r\n target = Qty$1(other);\r\n if (target.units() === this.units()) {\r\n return this;\r\n }\r\n\r\n if (!this.isCompatible(target)) {\r\n if (this.isInverse(target)) {\r\n target = this.inverse().to(other);\r\n }\r\n else {\r\n throwIncompatibleUnits(this.units(), target.units());\r\n }\r\n }\r\n else {\r\n if (target.isTemperature()) {\r\n target = toTemp(this,target);\r\n }\r\n else if (target.isDegrees()) {\r\n target = toDegrees(this,target);\r\n }\r\n else {\r\n var q = divSafe(this.baseScalar, target.baseScalar);\r\n target = Qty$1({\"scalar\": q, \"numerator\": target.numerator, \"denominator\": target.denominator});\r\n }\r\n }\r\n\r\n this._conversionCache[other] = target;\r\n return target;\r\n },\r\n\r\n // convert to base SI units\r\n // results of the conversion are cached so subsequent calls to this will be fast\r\n toBase: function() {\r\n if (this.isBase()) {\r\n return this;\r\n }\r\n\r\n if (this.isTemperature()) {\r\n return toTempK(this);\r\n }\r\n\r\n var cached = baseUnitCache[this.units()];\r\n if (!cached) {\r\n cached = toBaseUnits(this.numerator,this.denominator);\r\n baseUnitCache[this.units()] = cached;\r\n }\r\n return cached.mul(this.scalar);\r\n },\r\n\r\n // Converts the unit back to a float if it is unitless. Otherwise raises an exception\r\n toFloat: function() {\r\n if (this.isUnitless()) {\r\n return this.scalar;\r\n }\r\n throw new QtyError(\"Can't convert to Float unless unitless. Use Unit#scalar\");\r\n },\r\n\r\n /**\r\n * Returns the nearest multiple of quantity passed as\r\n * precision\r\n *\r\n * @param {(Qty|string|number)} precQuantity - Quantity, string formated\r\n * quantity or number as expected precision\r\n *\r\n * @returns {Qty} Nearest multiple of precQuantity\r\n *\r\n * @example\r\n * Qty('5.5 ft').toPrec('2 ft'); // returns 6 ft\r\n * Qty('0.8 cu').toPrec('0.25 cu'); // returns 0.75 cu\r\n * Qty('6.3782 m').toPrec('cm'); // returns 6.38 m\r\n * Qty('1.146 MPa').toPrec('0.1 bar'); // returns 1.15 MPa\r\n *\r\n */\r\n toPrec: function(precQuantity) {\r\n if (isString(precQuantity)) {\r\n precQuantity = Qty$1(precQuantity);\r\n }\r\n if (isNumber(precQuantity)) {\r\n precQuantity = Qty$1(precQuantity + \" \" + this.units());\r\n }\r\n\r\n if (!this.isUnitless()) {\r\n precQuantity = precQuantity.to(this.units());\r\n }\r\n else if (!precQuantity.isUnitless()) {\r\n throwIncompatibleUnits(this.units(), precQuantity.units());\r\n }\r\n\r\n if (precQuantity.scalar === 0) {\r\n throw new QtyError(\"Divide by zero\");\r\n }\r\n\r\n var precRoundedResult = mulSafe(Math.round(this.scalar / precQuantity.scalar),\r\n precQuantity.scalar);\r\n\r\n return Qty$1(precRoundedResult + this.units());\r\n }\r\n});\r\n\r\n/**\r\n * Configures and returns a fast function to convert\r\n * Number values from units to others.\r\n * Useful to efficiently convert large array of values\r\n * with same units into others with iterative methods.\r\n * Does not take care of rounding issues.\r\n *\r\n * @param {string} srcUnits Units of values to convert\r\n * @param {string} dstUnits Units to convert to\r\n *\r\n * @returns {Function} Converting function accepting Number value\r\n * and returning converted value\r\n *\r\n * @throws \"Incompatible units\" if units are incompatible\r\n *\r\n * @example\r\n * // Converting large array of numbers with the same units\r\n * // into other units\r\n * var converter = Qty.swiftConverter(\"m/h\", \"ft/s\");\r\n * var convertedSerie = largeSerie.map(converter);\r\n *\r\n */\r\nfunction swiftConverter(srcUnits, dstUnits) {\r\n var srcQty = Qty$1(srcUnits);\r\n var dstQty = Qty$1(dstUnits);\r\n\r\n if (srcQty.eq(dstQty)) {\r\n return identity;\r\n }\r\n\r\n var convert;\r\n if (!srcQty.isTemperature()) {\r\n convert = function(value) {\r\n return value * srcQty.baseScalar / dstQty.baseScalar;\r\n };\r\n }\r\n else {\r\n convert = function(value) {\r\n // TODO Not optimized\r\n return srcQty.mul(value).to(dstQty).scalar;\r\n };\r\n }\r\n\r\n return function converter(value) {\r\n var i,\r\n length,\r\n result;\r\n if (!Array.isArray(value)) {\r\n return convert(value);\r\n }\r\n else {\r\n length = value.length;\r\n result = [];\r\n for (i = 0; i < length; i++) {\r\n result.push(convert(value[i]));\r\n }\r\n return result;\r\n }\r\n };\r\n}\r\n\r\nvar baseUnitCache = {};\r\n\r\nfunction toBaseUnits (numerator,denominator) {\r\n var num = [];\r\n var den = [];\r\n var q = 1;\r\n var unit;\r\n for (var i = 0; i < numerator.length; i++) {\r\n unit = numerator[i];\r\n if (PREFIX_VALUES[unit]) {\r\n // workaround to fix\r\n // 0.1 * 0.1 => 0.010000000000000002\r\n q = mulSafe(q, PREFIX_VALUES[unit]);\r\n }\r\n else {\r\n if (UNIT_VALUES[unit]) {\r\n q *= UNIT_VALUES[unit].scalar;\r\n\r\n if (UNIT_VALUES[unit].numerator) {\r\n num.push(UNIT_VALUES[unit].numerator);\r\n }\r\n if (UNIT_VALUES[unit].denominator) {\r\n den.push(UNIT_VALUES[unit].denominator);\r\n }\r\n }\r\n }\r\n }\r\n for (var j = 0; j < denominator.length; j++) {\r\n unit = denominator[j];\r\n if (PREFIX_VALUES[unit]) {\r\n q /= PREFIX_VALUES[unit];\r\n }\r\n else {\r\n if (UNIT_VALUES[unit]) {\r\n q /= UNIT_VALUES[unit].scalar;\r\n\r\n if (UNIT_VALUES[unit].numerator) {\r\n den.push(UNIT_VALUES[unit].numerator);\r\n }\r\n if (UNIT_VALUES[unit].denominator) {\r\n num.push(UNIT_VALUES[unit].denominator);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Flatten\r\n num = num.reduce(function(a,b) {\r\n return a.concat(b);\r\n }, []);\r\n den = den.reduce(function(a,b) {\r\n return a.concat(b);\r\n }, []);\r\n\r\n return Qty$1({\"scalar\": q, \"numerator\": num, \"denominator\": den});\r\n}\r\n\r\nQty$1.parse = globalParse;\r\n\r\nQty$1.getUnits = getUnits;\r\nQty$1.getAliases = getAliases;\r\n\r\nQty$1.mulSafe = mulSafe;\r\nQty$1.divSafe = divSafe;\r\n\r\nQty$1.getKinds = getKinds;\r\n\r\nQty$1.swiftConverter = swiftConverter;\r\n\r\nQty$1.Error = QtyError;\r\n\r\nassign(Qty$1.prototype, {\r\n // Returns new instance with units of this\r\n add: function(other) {\r\n if (isString(other)) {\r\n other = Qty$1(other);\r\n }\r\n\r\n if (!this.isCompatible(other)) {\r\n throwIncompatibleUnits(this.units(), other.units());\r\n }\r\n\r\n if (this.isTemperature() && other.isTemperature()) {\r\n throw new QtyError(\"Cannot add two temperatures\");\r\n }\r\n else if (this.isTemperature()) {\r\n return addTempDegrees(this, other);\r\n }\r\n else if (other.isTemperature()) {\r\n return addTempDegrees(other, this);\r\n }\r\n\r\n return Qty$1({\"scalar\": this.scalar + other.to(this).scalar, \"numerator\": this.numerator, \"denominator\": this.denominator});\r\n },\r\n\r\n sub: function(other) {\r\n if (isString(other)) {\r\n other = Qty$1(other);\r\n }\r\n\r\n if (!this.isCompatible(other)) {\r\n throwIncompatibleUnits(this.units(), other.units());\r\n }\r\n\r\n if (this.isTemperature() && other.isTemperature()) {\r\n return subtractTemperatures(this,other);\r\n }\r\n else if (this.isTemperature()) {\r\n return subtractTempDegrees(this,other);\r\n }\r\n else if (other.isTemperature()) {\r\n throw new QtyError(\"Cannot subtract a temperature from a differential degree unit\");\r\n }\r\n\r\n return Qty$1({\"scalar\": this.scalar - other.to(this).scalar, \"numerator\": this.numerator, \"denominator\": this.denominator});\r\n },\r\n\r\n mul: function(other) {\r\n if (isNumber(other)) {\r\n return Qty$1({\"scalar\": mulSafe(this.scalar, other), \"numerator\": this.numerator, \"denominator\": this.denominator});\r\n }\r\n else if (isString(other)) {\r\n other = Qty$1(other);\r\n }\r\n\r\n if ((this.isTemperature()||other.isTemperature()) && !(this.isUnitless()||other.isUnitless())) {\r\n throw new QtyError(\"Cannot multiply by temperatures\");\r\n }\r\n\r\n // Quantities should be multiplied with same units if compatible, with base units else\r\n var op1 = this;\r\n var op2 = other;\r\n\r\n // so as not to confuse results, multiplication and division between temperature degrees will maintain original unit info in num/den\r\n // multiplication and division between deg[CFRK] can never factor each other out, only themselves: \"degK*degC/degC^2\" == \"degK/degC\"\r\n if (op1.isCompatible(op2) && op1.signature !== 400) {\r\n op2 = op2.to(op1);\r\n }\r\n var numden = cleanTerms(op1.numerator.concat(op2.numerator), op1.denominator.concat(op2.denominator));\r\n\r\n return Qty$1({\"scalar\": mulSafe(op1.scalar, op2.scalar), \"numerator\": numden[0], \"denominator\": numden[1]});\r\n },\r\n\r\n div: function(other) {\r\n if (isNumber(other)) {\r\n if (other === 0) {\r\n throw new QtyError(\"Divide by zero\");\r\n }\r\n return Qty$1({\"scalar\": this.scalar / other, \"numerator\": this.numerator, \"denominator\": this.denominator});\r\n }\r\n else if (isString(other)) {\r\n other = Qty$1(other);\r\n }\r\n\r\n if (other.scalar === 0) {\r\n throw new QtyError(\"Divide by zero\");\r\n }\r\n\r\n if (other.isTemperature()) {\r\n throw new QtyError(\"Cannot divide with temperatures\");\r\n }\r\n else if (this.isTemperature() && !other.isUnitless()) {\r\n throw new QtyError(\"Cannot divide with temperatures\");\r\n }\r\n\r\n // Quantities should be multiplied with same units if compatible, with base units else\r\n var op1 = this;\r\n var op2 = other;\r\n\r\n // so as not to confuse results, multiplication and division between temperature degrees will maintain original unit info in num/den\r\n // multiplication and division between deg[CFRK] can never factor each other out, only themselves: \"degK*degC/degC^2\" == \"degK/degC\"\r\n if (op1.isCompatible(op2) && op1.signature !== 400) {\r\n op2 = op2.to(op1);\r\n }\r\n var numden = cleanTerms(op1.numerator.concat(op2.denominator), op1.denominator.concat(op2.numerator));\r\n\r\n return Qty$1({\"scalar\": op1.scalar / op2.scalar, \"numerator\": numden[0], \"denominator\": numden[1]});\r\n },\r\n\r\n // Returns a Qty that is the inverse of this Qty,\r\n inverse: function() {\r\n if (this.isTemperature()) {\r\n throw new QtyError(\"Cannot divide with temperatures\");\r\n }\r\n if (this.scalar === 0) {\r\n throw new QtyError(\"Divide by zero\");\r\n }\r\n return Qty$1({\"scalar\": 1 / this.scalar, \"numerator\": this.denominator, \"denominator\": this.numerator});\r\n }\r\n});\r\n\r\nfunction cleanTerms(num, den) {\r\n num = num.filter(function(val) {\r\n return val !== UNITY;\r\n });\r\n den = den.filter(function(val) {\r\n return val !== UNITY;\r\n });\r\n\r\n var combined = {};\r\n\r\n var k;\r\n for (var i = 0; i < num.length; i++) {\r\n if (PREFIX_VALUES[num[i]]) {\r\n k = [num[i], num[i + 1]];\r\n i++;\r\n }\r\n else {\r\n k = num[i];\r\n }\r\n if (k && k !== UNITY) {\r\n if (combined[k]) {\r\n combined[k][0]++;\r\n }\r\n else {\r\n combined[k] = [1, k];\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < den.length; j++) {\r\n if (PREFIX_VALUES[den[j]]) {\r\n k = [den[j], den[j + 1]];\r\n j++;\r\n }\r\n else {\r\n k = den[j];\r\n }\r\n if (k && k !== UNITY) {\r\n if (combined[k]) {\r\n combined[k][0]--;\r\n }\r\n else {\r\n combined[k] = [-1, k];\r\n }\r\n }\r\n }\r\n\r\n num = [];\r\n den = [];\r\n\r\n for (var prop in combined) {\r\n if (combined.hasOwnProperty(prop)) {\r\n var item = combined[prop];\r\n var n;\r\n if (item[0] > 0) {\r\n for (n = 0; n < item[0]; n++) {\r\n num.push(item[1]);\r\n }\r\n }\r\n else if (item[0] < 0) {\r\n for (n = 0; n < -item[0]; n++) {\r\n den.push(item[1]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (num.length === 0) {\r\n num = UNITY_ARRAY;\r\n }\r\n if (den.length === 0) {\r\n den = UNITY_ARRAY;\r\n }\r\n\r\n // Flatten\r\n num = num.reduce(function(a,b) {\r\n return a.concat(b);\r\n }, []);\r\n den = den.reduce(function(a,b) {\r\n return a.concat(b);\r\n }, []);\r\n\r\n return [num, den];\r\n}\r\n\r\nassign(Qty$1.prototype, {\r\n eq: function(other) {\r\n return this.compareTo(other) === 0;\r\n },\r\n\r\n lt: function(other) {\r\n return this.compareTo(other) === -1;\r\n },\r\n\r\n lte: function(other) {\r\n return this.eq(other) || this.lt(other);\r\n },\r\n\r\n gt: function(other) {\r\n return this.compareTo(other) === 1;\r\n },\r\n\r\n gte: function(other) {\r\n return this.eq(other) || this.gt(other);\r\n },\r\n\r\n // Compare two Qty objects. Throws an exception if they are not of compatible types.\r\n // Comparisons are done based on the value of the quantity in base SI units.\r\n //\r\n // NOTE: We cannot compare inverses as that breaks the general compareTo contract:\r\n // if a.compareTo(b) < 0 then b.compareTo(a) > 0\r\n // if a.compareTo(b) == 0 then b.compareTo(a) == 0\r\n //\r\n // Since \"10S\" == \".1ohm\" (10 > .1) and \"10ohm\" == \".1S\" (10 > .1)\r\n // Qty(\"10S\").inverse().compareTo(\"10ohm\") == -1\r\n // Qty(\"10ohm\").inverse().compareTo(\"10S\") == -1\r\n //\r\n // If including inverses in the sort is needed, I suggest writing: Qty.sort(qtyArray,units)\r\n compareTo: function(other) {\r\n if (isString(other)) {\r\n return this.compareTo(Qty$1(other));\r\n }\r\n if (!this.isCompatible(other)) {\r\n throwIncompatibleUnits(this.units(), other.units());\r\n }\r\n if (this.baseScalar < other.baseScalar) {\r\n return -1;\r\n }\r\n else if (this.baseScalar === other.baseScalar) {\r\n return 0;\r\n }\r\n else if (this.baseScalar > other.baseScalar) {\r\n return 1;\r\n }\r\n },\r\n\r\n // Return true if quantities and units match\r\n // Unit(\"100 cm\").same(Unit(\"100 cm\")) # => true\r\n // Unit(\"100 cm\").same(Unit(\"1 m\")) # => false\r\n same: function(other) {\r\n return (this.scalar === other.scalar) && (this.units() === other.units());\r\n }\r\n});\r\n\r\nassign(Qty$1.prototype, {\r\n // returns true if no associated units\r\n // false, even if the units are \"unitless\" like 'radians, each, etc'\r\n isUnitless: function() {\r\n return [this.numerator, this.denominator].every(function(item) {\r\n return compareArray(item, UNITY_ARRAY);\r\n });\r\n },\r\n\r\n /*\r\n check to see if units are compatible, but not the scalar part\r\n this check is done by comparing signatures for performance reasons\r\n if passed a string, it will create a unit object with the string and then do the comparison\r\n this permits a syntax like:\r\n unit =~ \"mm\"\r\n if you want to do a regexp on the unit string do this ...\r\n unit.units =~ /regexp/\r\n */\r\n isCompatible: function(other) {\r\n if (isString(other)) {\r\n return this.isCompatible(Qty$1(other));\r\n }\r\n\r\n if (!(isQty(other))) {\r\n return false;\r\n }\r\n\r\n if (other.signature !== undefined) {\r\n return this.signature === other.signature;\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n\r\n /*\r\n check to see if units are inverse of each other, but not the scalar part\r\n this check is done by comparing signatures for performance reasons\r\n if passed a string, it will create a unit object with the string and then do the comparison\r\n this permits a syntax like:\r\n unit =~ \"mm\"\r\n if you want to do a regexp on the unit string do this ...\r\n unit.units =~ /regexp/\r\n */\r\n isInverse: function(other) {\r\n return this.inverse().isCompatible(other);\r\n },\r\n\r\n // Returns 'true' if the Unit is represented in base units\r\n isBase: function() {\r\n if (this._isBase !== undefined) {\r\n return this._isBase;\r\n }\r\n if (this.isDegrees() && this.numerator[0].match(/<(kelvin|temp-K)>/)) {\r\n this._isBase = true;\r\n return this._isBase;\r\n }\r\n\r\n this.numerator.concat(this.denominator).forEach(function(item) {\r\n if (item !== UNITY && BASE_UNITS.indexOf(item) === -1 ) {\r\n this._isBase = false;\r\n }\r\n }, this);\r\n if (this._isBase === false) {\r\n return this._isBase;\r\n }\r\n this._isBase = true;\r\n return this._isBase;\r\n }\r\n});\r\n\r\nfunction NestedMap() {}\r\n\r\nNestedMap.prototype.get = function(keys) {\r\n\r\n // Allows to pass key1, key2, ... instead of [key1, key2, ...]\r\n if (arguments.length > 1) {\r\n // Slower with Firefox but faster with Chrome than\r\n // Array.prototype.slice.call(arguments)\r\n // See http://jsperf.com/array-apply-versus-array-prototype-slice-call\r\n keys = Array.apply(null, arguments);\r\n }\r\n\r\n return keys.reduce(function(map, key, index) {\r\n if (map) {\r\n\r\n var childMap = map[key];\r\n\r\n if (index === keys.length - 1) {\r\n return childMap ? childMap.data : undefined;\r\n }\r\n else {\r\n return childMap;\r\n }\r\n }\r\n },\r\n this);\r\n};\r\n\r\nNestedMap.prototype.set = function(keys, value) {\r\n\r\n if (arguments.length > 2) {\r\n keys = Array.prototype.slice.call(arguments, 0, -1);\r\n value = arguments[arguments.length - 1];\r\n }\r\n\r\n return keys.reduce(function(map, key, index) {\r\n\r\n var childMap = map[key];\r\n if (childMap === undefined) {\r\n childMap = map[key] = {};\r\n }\r\n\r\n if (index === keys.length - 1) {\r\n childMap.data = value;\r\n return value;\r\n }\r\n else {\r\n return childMap;\r\n }\r\n }, this);\r\n};\r\n\r\n/**\r\n * Default formatter\r\n *\r\n * @param {number} scalar\r\n * @param {string} units\r\n *\r\n * @returns {string} formatted result\r\n */\r\nfunction defaultFormatter(scalar, units) {\r\n return (scalar + \" \" + units).trim();\r\n}\r\n\r\n/**\r\n *\r\n * Configurable Qty default formatter\r\n *\r\n * @type {function}\r\n *\r\n * @param {number} scalar\r\n * @param {string} units\r\n *\r\n * @returns {string} formatted result\r\n */\r\nQty$1.formatter = defaultFormatter;\r\n\r\nassign(Qty$1.prototype, {\r\n\r\n // returns the 'unit' part of the Unit object without the scalar\r\n units: function() {\r\n if (this._units !== undefined) {\r\n return this._units;\r\n }\r\n\r\n var numIsUnity = compareArray(this.numerator, UNITY_ARRAY),\r\n denIsUnity = compareArray(this.denominator, UNITY_ARRAY);\r\n if (numIsUnity && denIsUnity) {\r\n this._units = \"\";\r\n return this._units;\r\n }\r\n\r\n var numUnits = stringifyUnits(this.numerator),\r\n denUnits = stringifyUnits(this.denominator);\r\n this._units = numUnits + (denIsUnity ? \"\" : (\"/\" + denUnits));\r\n return this._units;\r\n },\r\n\r\n /**\r\n * Stringifies the quantity\r\n * Deprecation notice: only units parameter is supported.\r\n *\r\n * @param {(number|string|Qty)} targetUnitsOrMaxDecimalsOrPrec -\r\n * target units if string,\r\n * max number of decimals if number,\r\n * passed to #toPrec before converting if Qty\r\n *\r\n * @param {number=} maxDecimals - Maximum number of decimals of\r\n * formatted output\r\n *\r\n * @returns {string} reparseable quantity as string\r\n */\r\n toString: function(targetUnitsOrMaxDecimalsOrPrec, maxDecimals) {\r\n var targetUnits;\r\n if (isNumber(targetUnitsOrMaxDecimalsOrPrec)) {\r\n targetUnits = this.units();\r\n maxDecimals = targetUnitsOrMaxDecimalsOrPrec;\r\n }\r\n else if (isString(targetUnitsOrMaxDecimalsOrPrec)) {\r\n targetUnits = targetUnitsOrMaxDecimalsOrPrec;\r\n }\r\n else if (isQty(targetUnitsOrMaxDecimalsOrPrec)) {\r\n return this.toPrec(targetUnitsOrMaxDecimalsOrPrec).toString(maxDecimals);\r\n }\r\n\r\n var out = this.to(targetUnits);\r\n\r\n var outScalar = maxDecimals !== undefined ? round(out.scalar, maxDecimals) : out.scalar;\r\n out = (outScalar + \" \" + out.units()).trim();\r\n return out;\r\n },\r\n\r\n /**\r\n * Format the quantity according to optional passed target units\r\n * and formatter\r\n *\r\n * @param {string} [targetUnits=current units] -\r\n * optional units to convert to before formatting\r\n *\r\n * @param {function} [formatter=Qty.formatter] -\r\n * delegates formatting to formatter callback.\r\n * formatter is called back with two parameters (scalar, units)\r\n * and should return formatted result.\r\n * If unspecified, formatting is delegated to default formatter\r\n * set to Qty.formatter\r\n *\r\n * @example\r\n * var roundingAndLocalizingFormatter = function(scalar, units) {\r\n * // localize or limit scalar to n max decimals for instance\r\n * // return formatted result\r\n * };\r\n * var qty = Qty('1.1234 m');\r\n * qty.format(); // same units, default formatter => \"1.234 m\"\r\n * qty.format(\"cm\"); // converted to \"cm\", default formatter => \"123.45 cm\"\r\n * qty.format(roundingAndLocalizingFormatter); // same units, custom formatter => \"1,2 m\"\r\n * qty.format(\"cm\", roundingAndLocalizingFormatter); // convert to \"cm\", custom formatter => \"123,4 cm\"\r\n *\r\n * @returns {string} quantity as string\r\n */\r\n format: function(targetUnits, formatter) {\r\n if (arguments.length === 1) {\r\n if (typeof targetUnits === \"function\") {\r\n formatter = targetUnits;\r\n targetUnits = undefined;\r\n }\r\n }\r\n\r\n formatter = formatter || Qty$1.formatter;\r\n var targetQty = this.to(targetUnits);\r\n return formatter.call(this, targetQty.scalar, targetQty.units());\r\n }\r\n});\r\n\r\nvar stringifiedUnitsCache = new NestedMap();\r\n/**\r\n * Returns a string representing a normalized unit array\r\n *\r\n * @param {string[]} units Normalized unit array\r\n * @returns {string} String representing passed normalized unit array and\r\n * suitable for output\r\n *\r\n */\r\nfunction stringifyUnits(units) {\r\n\r\n var stringified = stringifiedUnitsCache.get(units);\r\n if (stringified) {\r\n return stringified;\r\n }\r\n\r\n var isUnity = compareArray(units, UNITY_ARRAY);\r\n if (isUnity) {\r\n stringified = \"1\";\r\n }\r\n else {\r\n stringified = simplify(getOutputNames(units)).join(\"*\");\r\n }\r\n\r\n // Cache result\r\n stringifiedUnitsCache.set(units, stringified);\r\n\r\n return stringified;\r\n}\r\n\r\nfunction getOutputNames(units) {\r\n var unitNames = [], token, tokenNext;\r\n for (var i = 0; i < units.length; i++) {\r\n token = units[i];\r\n tokenNext = units[i + 1];\r\n if (PREFIX_VALUES[token]) {\r\n unitNames.push(OUTPUT_MAP[token] + OUTPUT_MAP[tokenNext]);\r\n i++;\r\n }\r\n else {\r\n unitNames.push(OUTPUT_MAP[token]);\r\n }\r\n }\r\n return unitNames;\r\n}\r\n\r\nfunction simplify (units) {\r\n // this turns ['s','m','s'] into ['s2','m']\r\n\r\n var unitCounts = units.reduce(function(acc, unit) {\r\n var unitCounter = acc[unit];\r\n if (!unitCounter) {\r\n acc.push(unitCounter = acc[unit] = [unit, 0]);\r\n }\r\n\r\n unitCounter[1]++;\r\n\r\n return acc;\r\n }, []);\r\n\r\n return unitCounts.map(function(unitCount) {\r\n return unitCount[0] + (unitCount[1] > 1 ? unitCount[1] : \"\");\r\n });\r\n}\r\n\r\nQty$1.version = \"1.7.0\";\r\n\r\nreturn Qty$1;\r\n\r\n})));\n/*! @preserve\r\n * numeral.js\r\n * version : 2.0.6\r\n * author : Adam Draper\r\n * license : MIT\r\n * http://adamwdraper.github.com/Numeral-js/\r\n */\r\n\r\n(function (global, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n define(factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n module.exports = factory();\r\n } else {\r\n global.numeral = factory();\r\n }\r\n}(this, function () {\r\n /************************************\r\n Variables\r\n ************************************/\r\n\r\n var numeral,\r\n _,\r\n VERSION = '2.0.6',\r\n formats = {},\r\n locales = {},\r\n defaults = {\r\n currentLocale: 'en',\r\n zeroFormat: null,\r\n nullFormat: null,\r\n defaultFormat: '0,0',\r\n scalePercentBy100: true\r\n },\r\n options = {\r\n currentLocale: defaults.currentLocale,\r\n zeroFormat: defaults.zeroFormat,\r\n nullFormat: defaults.nullFormat,\r\n defaultFormat: defaults.defaultFormat,\r\n scalePercentBy100: defaults.scalePercentBy100\r\n };\r\n\r\n\r\n /************************************\r\n Constructors\r\n ************************************/\r\n\r\n // Numeral prototype object\r\n function Numeral(input, number) {\r\n this._input = input;\r\n\r\n this._value = number;\r\n }\r\n\r\n numeral = function(input) {\r\n var value,\r\n kind,\r\n unformatFunction,\r\n regexp;\r\n\r\n if (numeral.isNumeral(input)) {\r\n value = input.value();\r\n } else if (input === 0 || typeof input === 'undefined') {\r\n value = 0;\r\n } else if (input === null || _.isNaN(input)) {\r\n value = null;\r\n } else if (typeof input === 'string') {\r\n if (options.zeroFormat && input === options.zeroFormat) {\r\n value = 0;\r\n } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\r\n value = null;\r\n } else {\r\n for (kind in formats) {\r\n regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\r\n\r\n if (regexp && input.match(regexp)) {\r\n unformatFunction = formats[kind].unformat;\r\n\r\n break;\r\n }\r\n }\r\n\r\n unformatFunction = unformatFunction || numeral._.stringToNumber;\r\n\r\n value = unformatFunction(input);\r\n }\r\n } else {\r\n value = Number(input)|| null;\r\n }\r\n\r\n return new Numeral(input, value);\r\n };\r\n\r\n // version number\r\n numeral.version = VERSION;\r\n\r\n // compare numeral object\r\n numeral.isNumeral = function(obj) {\r\n return obj instanceof Numeral;\r\n };\r\n\r\n // helper functions\r\n numeral._ = _ = {\r\n // formats numbers separators, decimals places, signs, abbreviations\r\n numberToFormat: function(value, format, roundingFunction) {\r\n var locale = locales[numeral.options.currentLocale],\r\n negP = false,\r\n optDec = false,\r\n leadingCount = 0,\r\n abbr = '',\r\n trillion = 1000000000000,\r\n billion = 1000000000,\r\n million = 1000000,\r\n thousand = 1000,\r\n decimal = '',\r\n neg = false,\r\n abbrForce, // force abbreviation\r\n abs,\r\n min,\r\n max,\r\n power,\r\n int,\r\n precision,\r\n signed,\r\n thousands,\r\n output;\r\n\r\n // make sure we never format a null value\r\n value = value || 0;\r\n\r\n abs = Math.abs(value);\r\n\r\n // see if we should use parentheses for negative number or if we should prefix with a sign\r\n // if both are present we default to parentheses\r\n if (numeral._.includes(format, '(')) {\r\n negP = true;\r\n format = format.replace(/[\\(|\\)]/g, '');\r\n } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\r\n signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\r\n format = format.replace(/[\\+|\\-]/g, '');\r\n }\r\n\r\n // see if abbreviation is wanted\r\n if (numeral._.includes(format, 'a')) {\r\n abbrForce = format.match(/a(k|m|b|t)?/);\r\n\r\n abbrForce = abbrForce ? abbrForce[1] : false;\r\n\r\n // check for space before abbreviation\r\n if (numeral._.includes(format, ' a')) {\r\n abbr = ' ';\r\n }\r\n\r\n format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\r\n\r\n if (abs >= trillion && !abbrForce || abbrForce === 't') {\r\n // trillion\r\n abbr += locale.abbreviations.trillion;\r\n value = value / trillion;\r\n } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\r\n // billion\r\n abbr += locale.abbreviations.billion;\r\n value = value / billion;\r\n } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\r\n // million\r\n abbr += locale.abbreviations.million;\r\n value = value / million;\r\n } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\r\n // thousand\r\n abbr += locale.abbreviations.thousand;\r\n value = value / thousand;\r\n }\r\n }\r\n\r\n // check for optional decimals\r\n if (numeral._.includes(format, '[.]')) {\r\n optDec = true;\r\n format = format.replace('[.]', '.');\r\n }\r\n\r\n // break number and format\r\n int = value.toString().split('.')[0];\r\n precision = format.split('.')[1];\r\n thousands = format.indexOf(',');\r\n leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\r\n\r\n if (precision) {\r\n if (numeral._.includes(precision, '[')) {\r\n precision = precision.replace(']', '');\r\n precision = precision.split('[');\r\n decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\r\n } else {\r\n decimal = numeral._.toFixed(value, precision.length, roundingFunction);\r\n }\r\n\r\n int = decimal.split('.')[0];\r\n\r\n if (numeral._.includes(decimal, '.')) {\r\n decimal = locale.delimiters.decimal + decimal.split('.')[1];\r\n } else {\r\n decimal = '';\r\n }\r\n\r\n if (optDec && Number(decimal.slice(1)) === 0) {\r\n decimal = '';\r\n }\r\n } else {\r\n int = numeral._.toFixed(value, 0, roundingFunction);\r\n }\r\n\r\n // check abbreviation again after rounding\r\n if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\r\n int = String(Number(int) / 1000);\r\n\r\n switch (abbr) {\r\n case locale.abbreviations.thousand:\r\n abbr = locale.abbreviations.million;\r\n break;\r\n case locale.abbreviations.million:\r\n abbr = locale.abbreviations.billion;\r\n break;\r\n case locale.abbreviations.billion:\r\n abbr = locale.abbreviations.trillion;\r\n break;\r\n }\r\n }\r\n\r\n\r\n // format number\r\n if (numeral._.includes(int, '-')) {\r\n int = int.slice(1);\r\n neg = true;\r\n }\r\n\r\n if (int.length < leadingCount) {\r\n for (var i = leadingCount - int.length; i > 0; i--) {\r\n int = '0' + int;\r\n }\r\n }\r\n\r\n if (thousands > -1) {\r\n int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\r\n }\r\n\r\n if (format.indexOf('.') === 0) {\r\n int = '';\r\n }\r\n\r\n output = int + decimal + (abbr ? abbr : '');\r\n\r\n if (negP) {\r\n output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\r\n } else {\r\n if (signed >= 0) {\r\n output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\r\n } else if (neg) {\r\n output = '-' + output;\r\n }\r\n }\r\n\r\n return output;\r\n },\r\n // unformats numbers separators, decimals places, signs, abbreviations\r\n stringToNumber: function(string) {\r\n var locale = locales[options.currentLocale],\r\n stringOriginal = string,\r\n abbreviations = {\r\n thousand: 3,\r\n million: 6,\r\n billion: 9,\r\n trillion: 12\r\n },\r\n abbreviation,\r\n value,\r\n i,\r\n regexp;\r\n\r\n if (options.zeroFormat && string === options.zeroFormat) {\r\n value = 0;\r\n } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\r\n value = null;\r\n } else {\r\n value = 1;\r\n\r\n if (locale.delimiters.decimal !== '.') {\r\n string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\r\n }\r\n\r\n for (abbreviation in abbreviations) {\r\n regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\r\n\r\n if (stringOriginal.match(regexp)) {\r\n value *= Math.pow(10, abbreviations[abbreviation]);\r\n break;\r\n }\r\n }\r\n\r\n // check for negative number\r\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\r\n\r\n // remove non numbers\r\n string = string.replace(/[^0-9\\.]+/g, '');\r\n\r\n value *= Number(string);\r\n }\r\n\r\n return value;\r\n },\r\n isNaN: function(value) {\r\n return typeof value === 'number' && isNaN(value);\r\n },\r\n includes: function(string, search) {\r\n return string.indexOf(search) !== -1;\r\n },\r\n insert: function(string, subString, start) {\r\n return string.slice(0, start) + subString + string.slice(start);\r\n },\r\n reduce: function(array, callback /*, initialValue*/) {\r\n if (this === null) {\r\n throw new TypeError('Array.prototype.reduce called on null or undefined');\r\n }\r\n\r\n if (typeof callback !== 'function') {\r\n throw new TypeError(callback + ' is not a function');\r\n }\r\n\r\n var t = Object(array),\r\n len = t.length >>> 0,\r\n k = 0,\r\n value;\r\n\r\n if (arguments.length === 3) {\r\n value = arguments[2];\r\n } else {\r\n while (k < len && !(k in t)) {\r\n k++;\r\n }\r\n\r\n if (k >= len) {\r\n throw new TypeError('Reduce of empty array with no initial value');\r\n }\r\n\r\n value = t[k++];\r\n }\r\n for (; k < len; k++) {\r\n if (k in t) {\r\n value = callback(value, t[k], k, t);\r\n }\r\n }\r\n return value;\r\n },\r\n /**\r\n * Computes the multiplier necessary to make x >= 1,\r\n * effectively eliminating miscalculations caused by\r\n * finite precision.\r\n */\r\n multiplier: function (x) {\r\n var parts = x.toString().split('.');\r\n\r\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\r\n },\r\n /**\r\n * Given a variable number of arguments, returns the maximum\r\n * multiplier that must be used to normalize an operation involving\r\n * all of them.\r\n */\r\n correctionFactor: function () {\r\n var args = Array.prototype.slice.call(arguments);\r\n\r\n return args.reduce(function(accum, next) {\r\n var mn = _.multiplier(next);\r\n return accum > mn ? accum : mn;\r\n }, 1);\r\n },\r\n /**\r\n * Implementation of toFixed() that treats floats more like decimals\r\n *\r\n * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\r\n * problems for accounting- and finance-related software.\r\n */\r\n toFixed: function(value, maxDecimals, roundingFunction, optionals) {\r\n var splitValue = value.toString().split('.'),\r\n minDecimals = maxDecimals - (optionals || 0),\r\n boundedPrecision,\r\n optionalsRegExp,\r\n power,\r\n output;\r\n\r\n // Use the smallest precision value possible to avoid errors from floating point representation\r\n if (splitValue.length === 2) {\r\n boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\r\n } else {\r\n boundedPrecision = minDecimals;\r\n }\r\n\r\n power = Math.pow(10, boundedPrecision);\r\n\r\n // Multiply up by precision, round accurately, then divide and use native toFixed():\r\n output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\r\n\r\n if (optionals > maxDecimals - boundedPrecision) {\r\n optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\r\n output = output.replace(optionalsRegExp, '');\r\n }\r\n\r\n return output;\r\n }\r\n };\r\n\r\n // avaliable options\r\n numeral.options = options;\r\n\r\n // avaliable formats\r\n numeral.formats = formats;\r\n\r\n // avaliable formats\r\n numeral.locales = locales;\r\n\r\n // This function sets the current locale. If\r\n // no arguments are passed in, it will simply return the current global\r\n // locale key.\r\n numeral.locale = function(key) {\r\n if (key) {\r\n options.currentLocale = key.toLowerCase();\r\n }\r\n\r\n return options.currentLocale;\r\n };\r\n\r\n // This function provides access to the loaded locale data. If\r\n // no arguments are passed in, it will simply return the current\r\n // global locale object.\r\n numeral.localeData = function(key) {\r\n if (!key) {\r\n return locales[options.currentLocale];\r\n }\r\n\r\n key = key.toLowerCase();\r\n\r\n if (!locales[key]) {\r\n throw new Error('Unknown locale : ' + key);\r\n }\r\n\r\n return locales[key];\r\n };\r\n\r\n numeral.reset = function() {\r\n for (var property in defaults) {\r\n options[property] = defaults[property];\r\n }\r\n };\r\n\r\n numeral.zeroFormat = function(format) {\r\n options.zeroFormat = typeof(format) === 'string' ? format : null;\r\n };\r\n\r\n numeral.nullFormat = function (format) {\r\n options.nullFormat = typeof(format) === 'string' ? format : null;\r\n };\r\n\r\n numeral.defaultFormat = function(format) {\r\n options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\r\n };\r\n\r\n numeral.register = function(type, name, format) {\r\n name = name.toLowerCase();\r\n\r\n if (this[type + 's'][name]) {\r\n throw new TypeError(name + ' ' + type + ' already registered.');\r\n }\r\n\r\n this[type + 's'][name] = format;\r\n\r\n return format;\r\n };\r\n\r\n\r\n numeral.validate = function(val, culture) {\r\n var _decimalSep,\r\n _thousandSep,\r\n _currSymbol,\r\n _valArray,\r\n _abbrObj,\r\n _thousandRegEx,\r\n localeData,\r\n temp;\r\n\r\n //coerce val to string\r\n if (typeof val !== 'string') {\r\n val += '';\r\n\r\n if (console.warn) {\r\n console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\r\n }\r\n }\r\n\r\n //trim whitespaces from either sides\r\n val = val.trim();\r\n\r\n //if val is just digits return true\r\n if (!!val.match(/^\\d+$/)) {\r\n return true;\r\n }\r\n\r\n //if val is empty return false\r\n if (val === '') {\r\n return false;\r\n }\r\n\r\n //get the decimal and thousands separator from numeral.localeData\r\n try {\r\n //check if the culture is understood by numeral. if not, default it to current locale\r\n localeData = numeral.localeData(culture);\r\n } catch (e) {\r\n localeData = numeral.localeData(numeral.locale());\r\n }\r\n\r\n //setup the delimiters and currency symbol based on culture/locale\r\n _currSymbol = localeData.currency.symbol;\r\n _abbrObj = localeData.abbreviations;\r\n _decimalSep = localeData.delimiters.decimal;\r\n if (localeData.delimiters.thousands === '.') {\r\n _thousandSep = '\\\\.';\r\n } else {\r\n _thousandSep = localeData.delimiters.thousands;\r\n }\r\n\r\n // validating currency symbol\r\n temp = val.match(/^[^\\d]+/);\r\n if (temp !== null) {\r\n val = val.substr(1);\r\n if (temp[0] !== _currSymbol) {\r\n return false;\r\n }\r\n }\r\n\r\n //validating abbreviation symbol\r\n temp = val.match(/[^\\d]+$/);\r\n if (temp !== null) {\r\n val = val.slice(0, -1);\r\n if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\r\n return false;\r\n }\r\n }\r\n\r\n _thousandRegEx = new RegExp(_thousandSep + '{2}');\r\n\r\n if (!val.match(/[^\\d.,]/g)) {\r\n _valArray = val.split(_decimalSep);\r\n if (_valArray.length > 2) {\r\n return false;\r\n } else {\r\n if (_valArray.length < 2) {\r\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\r\n } else {\r\n if (_valArray[0].length === 1) {\r\n return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\r\n } else {\r\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n\r\n /************************************\r\n Numeral Prototype\r\n ************************************/\r\n\r\n numeral.fn = Numeral.prototype = {\r\n clone: function() {\r\n return numeral(this);\r\n },\r\n format: function(inputString, roundingFunction) {\r\n var value = this._value,\r\n format = inputString || options.defaultFormat,\r\n kind,\r\n output,\r\n formatFunction;\r\n\r\n // make sure we have a roundingFunction\r\n roundingFunction = roundingFunction || Math.round;\r\n\r\n // format based on value\r\n if (value === 0 && options.zeroFormat !== null) {\r\n output = options.zeroFormat;\r\n } else if (value === null && options.nullFormat !== null) {\r\n output = options.nullFormat;\r\n } else {\r\n for (kind in formats) {\r\n if (format.match(formats[kind].regexps.format)) {\r\n formatFunction = formats[kind].format;\r\n\r\n break;\r\n }\r\n }\r\n\r\n formatFunction = formatFunction || numeral._.numberToFormat;\r\n\r\n output = formatFunction(value, format, roundingFunction);\r\n }\r\n\r\n return output;\r\n },\r\n value: function() {\r\n return this._value;\r\n },\r\n input: function() {\r\n return this._input;\r\n },\r\n set: function(value) {\r\n this._value = Number(value);\r\n\r\n return this;\r\n },\r\n add: function(value) {\r\n var corrFactor = _.correctionFactor.call(null, this._value, value);\r\n\r\n function cback(accum, curr, currI, O) {\r\n return accum + Math.round(corrFactor * curr);\r\n }\r\n\r\n this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\r\n\r\n return this;\r\n },\r\n subtract: function(value) {\r\n var corrFactor = _.correctionFactor.call(null, this._value, value);\r\n\r\n function cback(accum, curr, currI, O) {\r\n return accum - Math.round(corrFactor * curr);\r\n }\r\n\r\n this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\r\n\r\n return this;\r\n },\r\n multiply: function(value) {\r\n function cback(accum, curr, currI, O) {\r\n var corrFactor = _.correctionFactor(accum, curr);\r\n return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\r\n }\r\n\r\n this._value = _.reduce([this._value, value], cback, 1);\r\n\r\n return this;\r\n },\r\n divide: function(value) {\r\n function cback(accum, curr, currI, O) {\r\n var corrFactor = _.correctionFactor(accum, curr);\r\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\r\n }\r\n\r\n this._value = _.reduce([this._value, value], cback);\r\n\r\n return this;\r\n },\r\n difference: function(value) {\r\n return Math.abs(numeral(this._value).subtract(value).value());\r\n }\r\n };\r\n\r\n /************************************\r\n Default Locale && Format\r\n ************************************/\r\n\r\n numeral.register('locale', 'en', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function(number) {\r\n var b = number % 10;\r\n return (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n },\r\n currency: {\r\n symbol: '$'\r\n }\r\n });\r\n\r\n \r\n\r\n(function() {\r\n numeral.register('format', 'bps', {\r\n regexps: {\r\n format: /(BPS)/,\r\n unformat: /(BPS)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var space = numeral._.includes(format, ' BPS') ? ' ' : '',\r\n output;\r\n\r\n value = value * 10000;\r\n\r\n // check for space before BPS\r\n format = format.replace(/\\s?BPS/, '');\r\n\r\n output = numeral._.numberToFormat(value, format, roundingFunction);\r\n\r\n if (numeral._.includes(output, ')')) {\r\n output = output.split('');\r\n\r\n output.splice(-1, 0, space + 'BPS');\r\n\r\n output = output.join('');\r\n } else {\r\n output = output + space + 'BPS';\r\n }\r\n\r\n return output;\r\n },\r\n unformat: function(string) {\r\n return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n var decimal = {\r\n base: 1000,\r\n suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\r\n },\r\n binary = {\r\n base: 1024,\r\n suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\r\n };\r\n\r\n var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\r\n return decimal.suffixes.indexOf(item) < 0;\r\n }));\r\n var unformatRegex = allSuffixes.join('|');\r\n // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\r\n unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\r\n\r\n numeral.register('format', 'bytes', {\r\n regexps: {\r\n format: /([0\\s]i?b)/,\r\n unformat: new RegExp(unformatRegex)\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var output,\r\n bytes = numeral._.includes(format, 'ib') ? binary : decimal,\r\n suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\r\n power,\r\n min,\r\n max;\r\n\r\n // check for space before\r\n format = format.replace(/\\s?i?b/, '');\r\n\r\n for (power = 0; power <= bytes.suffixes.length; power++) {\r\n min = Math.pow(bytes.base, power);\r\n max = Math.pow(bytes.base, power + 1);\r\n\r\n if (value === null || value === 0 || value >= min && value < max) {\r\n suffix += bytes.suffixes[power];\r\n\r\n if (min > 0) {\r\n value = value / min;\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n output = numeral._.numberToFormat(value, format, roundingFunction);\r\n\r\n return output + suffix;\r\n },\r\n unformat: function(string) {\r\n var value = numeral._.stringToNumber(string),\r\n power,\r\n bytesMultiplier;\r\n\r\n if (value) {\r\n for (power = decimal.suffixes.length - 1; power >= 0; power--) {\r\n if (numeral._.includes(string, decimal.suffixes[power])) {\r\n bytesMultiplier = Math.pow(decimal.base, power);\r\n\r\n break;\r\n }\r\n\r\n if (numeral._.includes(string, binary.suffixes[power])) {\r\n bytesMultiplier = Math.pow(binary.base, power);\r\n\r\n break;\r\n }\r\n }\r\n\r\n value *= (bytesMultiplier || 1);\r\n }\r\n\r\n return value;\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('format', 'currency', {\r\n regexps: {\r\n format: /(\\$)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var locale = numeral.locales[numeral.options.currentLocale],\r\n symbols = {\r\n before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\r\n after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\r\n },\r\n output,\r\n symbol,\r\n i;\r\n\r\n // strip format of spaces and $\r\n format = format.replace(/\\s?\\$\\s?/, '');\r\n\r\n // format the number\r\n output = numeral._.numberToFormat(value, format, roundingFunction);\r\n\r\n // update the before and after based on value\r\n if (value >= 0) {\r\n symbols.before = symbols.before.replace(/[\\-\\(]/, '');\r\n symbols.after = symbols.after.replace(/[\\-\\)]/, '');\r\n } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\r\n symbols.before = '-' + symbols.before;\r\n }\r\n\r\n // loop through each before symbol\r\n for (i = 0; i < symbols.before.length; i++) {\r\n symbol = symbols.before[i];\r\n\r\n switch (symbol) {\r\n case '$':\r\n output = numeral._.insert(output, locale.currency.symbol, i);\r\n break;\r\n case ' ':\r\n output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\r\n break;\r\n }\r\n }\r\n\r\n // loop through each after symbol\r\n for (i = symbols.after.length - 1; i >= 0; i--) {\r\n symbol = symbols.after[i];\r\n\r\n switch (symbol) {\r\n case '$':\r\n output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\r\n break;\r\n case ' ':\r\n output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\r\n break;\r\n }\r\n }\r\n\r\n\r\n return output;\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('format', 'exponential', {\r\n regexps: {\r\n format: /(e\\+|e-)/,\r\n unformat: /(e\\+|e-)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var output,\r\n exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\r\n parts = exponential.split('e');\r\n\r\n format = format.replace(/e[\\+|\\-]{1}0/, '');\r\n\r\n output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\r\n\r\n return output + 'e' + parts[1];\r\n },\r\n unformat: function(string) {\r\n var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\r\n value = Number(parts[0]),\r\n power = Number(parts[1]);\r\n\r\n power = numeral._.includes(string, 'e-') ? power *= -1 : power;\r\n\r\n function cback(accum, curr, currI, O) {\r\n var corrFactor = numeral._.correctionFactor(accum, curr),\r\n num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\r\n return num;\r\n }\r\n\r\n return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('format', 'ordinal', {\r\n regexps: {\r\n format: /(o)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var locale = numeral.locales[numeral.options.currentLocale],\r\n output,\r\n ordinal = numeral._.includes(format, ' o') ? ' ' : '';\r\n\r\n // check for space before\r\n format = format.replace(/\\s?o/, '');\r\n\r\n ordinal += locale.ordinal(value);\r\n\r\n output = numeral._.numberToFormat(value, format, roundingFunction);\r\n\r\n return output + ordinal;\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('format', 'percentage', {\r\n regexps: {\r\n format: /(%)/,\r\n unformat: /(%)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var space = numeral._.includes(format, ' %') ? ' ' : '',\r\n output;\r\n\r\n if (numeral.options.scalePercentBy100) {\r\n value = value * 100;\r\n }\r\n\r\n // check for space before %\r\n format = format.replace(/\\s?\\%/, '');\r\n\r\n output = numeral._.numberToFormat(value, format, roundingFunction);\r\n\r\n if (numeral._.includes(output, ')')) {\r\n output = output.split('');\r\n\r\n output.splice(-1, 0, space + '%');\r\n\r\n output = output.join('');\r\n } else {\r\n output = output + space + '%';\r\n }\r\n\r\n return output;\r\n },\r\n unformat: function(string) {\r\n var number = numeral._.stringToNumber(string);\r\n if (numeral.options.scalePercentBy100) {\r\n return number * 0.01;\r\n }\r\n return number;\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('format', 'time', {\r\n regexps: {\r\n format: /(:)/,\r\n unformat: /(:)/\r\n },\r\n format: function(value, format, roundingFunction) {\r\n var hours = Math.floor(value / 60 / 60),\r\n minutes = Math.floor((value - (hours * 60 * 60)) / 60),\r\n seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\r\n\r\n return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\r\n },\r\n unformat: function(string) {\r\n var timeArray = string.split(':'),\r\n seconds = 0;\r\n\r\n // turn hours and minutes into seconds and add them all up\r\n if (timeArray.length === 3) {\r\n // hours\r\n seconds = seconds + (Number(timeArray[0]) * 60 * 60);\r\n // minutes\r\n seconds = seconds + (Number(timeArray[1]) * 60);\r\n // seconds\r\n seconds = seconds + Number(timeArray[2]);\r\n } else if (timeArray.length === 2) {\r\n // minutes\r\n seconds = seconds + (Number(timeArray[0]) * 60);\r\n // seconds\r\n seconds = seconds + Number(timeArray[1]);\r\n }\r\n return Number(seconds);\r\n }\r\n });\r\n})();\r\n\r\nreturn numeral;\r\n}));\r\n\n/*! @preserve\r\n * numeral.js\r\n * locales : 2.0.6\r\n * license : MIT\r\n * http://adamwdraper.github.com/Numeral-js/\r\n */\r\n\r\n(function (global, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n define(['numeral'], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n factory(require('./numeral'));\r\n } else {\r\n factory(global.numeral);\r\n }\r\n}(this, function (numeral) {\r\n \r\n(function() {\r\n numeral.register('locale', 'bg', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: { // I found these here http://www.unicode.org/cldr/charts/28/verify/numbers/bg.html\r\n thousand: 'ั…ะธะป',\r\n million: 'ะผะปะฝ',\r\n billion: 'ะผะปั€ะด',\r\n trillion: 'ั‚ั€ะปะฝ'\r\n },\r\n ordinal: function (number) {\r\n // google translate suggests:\r\n // 1st=1-ะฒะธ; 2nd=2-ั€ะธ; 7th=7-ะผะธ;\r\n // 8th=8-ะผะธ and many others end with -ั‚ะธ\r\n // for example 3rd=3-ั‚ะธ\r\n // However since I've seen suggestions that in\r\n // Bulgarian the ordinal can be taken in\r\n // different forms (masculine, feminine, neuter)\r\n // I've opted to wimp out on commiting that to code\r\n return '';\r\n },\r\n currency: {\r\n symbol: 'ะปะฒ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n \r\n numeral.register('locale', 'chs', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'ๅƒ',\r\n million: '็™พไธ‡',\r\n billion: 'ๅไบฟ',\r\n trillion: 'ๅ…†'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'ยฅ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'cs', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'tis.',\r\n million: 'mil.',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function () {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'Kฤ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'da-dk', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'mio',\r\n billion: 'mia',\r\n trillion: 'b'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'DKK'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'de-ch', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'CHF'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'de', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'en-au', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (~~ (number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n },\r\n currency: {\r\n symbol: '$'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'en-gb', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (~~ (number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n },\r\n currency: {\r\n symbol: 'ยฃ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'en-za', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (~~ (number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n },\r\n currency: {\r\n symbol: 'R'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'es-es', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'mm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (b === 1 || b === 3) ? 'er' :\r\n (b === 2) ? 'do' :\r\n (b === 7 || b === 0) ? 'mo' :\r\n (b === 8) ? 'vo' :\r\n (b === 9) ? 'no' : 'to';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'es', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'mm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (b === 1 || b === 3) ? 'er' :\r\n (b === 2) ? 'do' :\r\n (b === 7 || b === 0) ? 'mo' :\r\n\t\t(b === 8) ? 'vo' :\r\n\t\t(b === 9) ? 'no' : 'to';\r\n },\r\n currency: {\r\n symbol: '$'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'et', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: ' tuh',\r\n million: ' mln',\r\n billion: ' mld',\r\n trillion: ' trl'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'fi', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'M',\r\n billion: 'G',\r\n trillion: 'T'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'fr-ca', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'M',\r\n billion: 'G',\r\n trillion: 'T'\r\n },\r\n ordinal : function (number) {\r\n return number === 1 ? 'er' : 'e';\r\n },\r\n currency: {\r\n symbol: '$'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'fr-ch', {\r\n delimiters: {\r\n thousands: '\\'',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal : function (number) {\r\n return number === 1 ? 'er' : 'e';\r\n },\r\n currency: {\r\n symbol: 'CHF'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'fr', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal : function (number) {\r\n return number === 1 ? 'er' : 'e';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'hu', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'E', // ezer\r\n million: 'M', // milliรณ\r\n billion: 'Mrd', // milliรกrd\r\n trillion: 'T' // trilliรณ\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: ' Ft'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'it', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'mila',\r\n million: 'mil',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return 'ยบ';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'ja', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'ๅƒ',\r\n million: '็™พไธ‡',\r\n billion: 'ๅๅ„„',\r\n trillion: 'ๅ…†'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'ยฅ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'lv', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: ' tลซkst.',\r\n million: ' milj.',\r\n billion: ' mljrd.',\r\n trillion: ' trilj.'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'nl-be', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal : ','\r\n },\r\n abbreviations: {\r\n thousand : 'k',\r\n million : ' mln',\r\n billion : ' mld',\r\n trillion : ' bln'\r\n },\r\n ordinal : function (number) {\r\n var remainder = number % 100;\r\n\r\n return (number !== 0 && remainder <= 1 || remainder === 8 || remainder >= 20) ? 'ste' : 'de';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ '\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'nl-nl', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal : ','\r\n },\r\n abbreviations: {\r\n thousand : 'k',\r\n million : 'mln',\r\n billion : 'mrd',\r\n trillion : 'bln'\r\n },\r\n ordinal : function (number) {\r\n var remainder = number % 100;\r\n return (number !== 0 && remainder <= 1 || remainder === 8 || remainder >= 20) ? 'ste' : 'de';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ '\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'no', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'kr'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'pl', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'tys.',\r\n million: 'mln',\r\n billion: 'mld',\r\n trillion: 'bln'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'PLN'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'pt-br', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'mil',\r\n million: 'milhรตes',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n return 'ยบ';\r\n },\r\n currency: {\r\n symbol: 'R$'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'pt-pt', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal : function (number) {\r\n return 'ยบ';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'ru-ua', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'ั‚ั‹ั.',\r\n million: 'ะผะปะฝ',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function () {\r\n // not ideal, but since in Russian it can taken on\r\n // different forms (masculine, feminine, neuter)\r\n // this is all we can do\r\n return '.';\r\n },\r\n currency: {\r\n symbol: '\\u20B4'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'ru', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'ั‚ั‹ั.',\r\n million: 'ะผะปะฝ.',\r\n billion: 'ะผะปั€ะด.',\r\n trillion: 'ั‚ั€ะปะฝ.'\r\n },\r\n ordinal: function () {\r\n // not ideal, but since in Russian it can taken on\r\n // different forms (masculine, feminine, neuter)\r\n // this is all we can do\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'ั€ัƒะฑ.'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'sk', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'tis.',\r\n million: 'mil.',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function () {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'sl', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'mio',\r\n billion: 'mrd',\r\n trillion: 'trilijon'\r\n },\r\n ordinal: function () {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ฌ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n \r\n\r\n numeral.register('locale', 'th', {\r\n delimiters: {\r\n thousands: ',',\r\n decimal: '.'\r\n },\r\n abbreviations: {\r\n thousand: 'เธžเธฑเธ™',\r\n million: 'เธฅเน‰เธฒเธ™',\r\n billion: 'เธžเธฑเธ™เธฅเน‰เธฒเธ™',\r\n trillion: 'เธฅเน‰เธฒเธ™เธฅเน‰เธฒเธ™'\r\n },\r\n ordinal: function (number) {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'เธฟ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n var suffixes = {\r\n 1: '\\'inci',\r\n 5: '\\'inci',\r\n 8: '\\'inci',\r\n 70: '\\'inci',\r\n 80: '\\'inci',\r\n\r\n 2: '\\'nci',\r\n 7: '\\'nci',\r\n 20: '\\'nci',\r\n 50: '\\'nci',\r\n\r\n 3: '\\'รผncรผ',\r\n 4: '\\'รผncรผ',\r\n 100: '\\'รผncรผ',\r\n\r\n 6: '\\'ncฤฑ',\r\n\r\n 9: '\\'uncu',\r\n 10: '\\'uncu',\r\n 30: '\\'uncu',\r\n\r\n 60: '\\'ฤฑncฤฑ',\r\n 90: '\\'ฤฑncฤฑ'\r\n };\r\n\r\n numeral.register('locale', 'tr', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'bin',\r\n million: 'milyon',\r\n billion: 'milyar',\r\n trillion: 'trilyon'\r\n },\r\n ordinal: function (number) {\r\n if (number === 0) { // special case for zero\r\n return '\\'ฤฑncฤฑ';\r\n }\r\n\r\n var a = number % 10,\r\n b = number % 100 - a,\r\n c = number >= 100 ? 100 : null;\r\n\r\n return suffixes[a] || suffixes[b] || suffixes[c];\r\n },\r\n currency: {\r\n symbol: '\\u20BA'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n numeral.register('locale', 'uk-ua', {\r\n delimiters: {\r\n thousands: ' ',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: 'ั‚ะธั.',\r\n million: 'ะผะปะฝ',\r\n billion: 'ะผะปั€ะด',\r\n trillion: 'ะฑะปะฝ'\r\n },\r\n ordinal: function () {\r\n // not ideal, but since in Ukrainian it can taken on\r\n // different forms (masculine, feminine, neuter)\r\n // this is all we can do\r\n return '';\r\n },\r\n currency: {\r\n symbol: '\\u20B4'\r\n }\r\n });\r\n})();\r\n\r\n\r\n(function() {\r\n \r\n numeral.register('locale', 'vi', {\r\n delimiters: {\r\n thousands: '.',\r\n decimal: ','\r\n },\r\n abbreviations: {\r\n thousand: ' nghรฌn',\r\n million: ' triแป‡u',\r\n billion: ' tแปท',\r\n trillion: ' nghรฌn tแปท'\r\n },\r\n ordinal: function () {\r\n return '.';\r\n },\r\n currency: {\r\n symbol: 'โ‚ซ'\r\n }\r\n });\r\n})();\r\n\r\n\r\n}));\r\n\n/// Knockout Mapping plugin v2.4.0\r\n/// (c) 2013 Steven Sanderson, Roy Jacobs - http://knockoutjs.com/\r\n/// License: MIT (http://www.opensource.org/licenses/mit-license.php)\r\n(function (factory) {\r\n\t// Module systems magic dance.\r\n\r\n\tif (typeof require === \"function\" && typeof exports === \"object\" && typeof module === \"object\") {\r\n\t\t// CommonJS or Node: hard-coded dependency on \"knockout\"\r\n\t\tfactory(require(\"knockout\"), exports);\r\n\t} else if (typeof define === \"function\" && define[\"amd\"]) {\r\n\t\t// AMD anonymous module with hard-coded dependency on \"knockout\"\r\n\t\tdefine([\"knockout\", \"exports\"], factory);\r\n\t} else {\r\n\t\t//