{"version":3,"sources":["src/index.tsx","src/app/index.tsx","src/components/layout/index.tsx","src/utils/classnames.ts","src/components/compatibility/index.tsx","src/components/compatibility/device.ts","src/components/compatibility/guid.ts","src/components/vars/space.ts","src/config.ts","src/i18n.ts","src/studio-api/index.ts","src/studio-api/studio-client.ts","src/courses/index.tsx","src/api/index.ts","src/api/get-client.ts","src/api/client.ts","src/components/course-box/index.tsx","src/components/progress/index.tsx","src/components/text/index.tsx","src/utils/employee.ts","src/components/modal/index.tsx","src/components/spinner/index.tsx","src/components/vars/color.ts","src/utils/courses.ts","src/courses/detail.tsx","src/components/avatar/index.tsx","src/components/button/index.tsx","src/components/calendar-item/index.tsx","src/components/headline/index.tsx","src/courses/filter.tsx","src/components/select/index.tsx","src/components/arrow/index.tsx","src/courses/header.tsx","packages/@spa-frontend/date-lib@1.12.0","packages/base64-js@1.3.0","packages/buffer@0.0.0","packages/date-fns@2.23.0","packages/fuse-box-css@0.0.1","packages/ieee754@1.1.12","packages/moment-timezone@0.5.37","packages/moment@2.29.4","packages/preact-portal@1.1.3","packages/preact@8.3.1","packages/pretend@3.1.1","packages/spa-cdn-image-util@1.0.1","packages/tslib@2.1.0"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7oDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3tGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1hDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3jLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"","sourcesContent":["import { h, render } from 'preact';\nimport { App } from './app';\nimport { config } from './config';\nimport './fonts.css';\n\nconst interval = setInterval(() => {\n if (config.ready) {\n clearInterval(interval);\n\n render(, document.getElementById('app')!);\n }\n}, 100);\n","import { h, Component } from 'preact';\nimport { Layout } from '../components/layout';\nimport { postMessage } from '../config';\nimport { Courses } from '../courses';\nimport styles from './index.css';\n\nexport class App extends Component {\n public render() {\n return (\n \n \n \n );\n }\n\n private onCoursesContentHeight(height: number) {\n postMessage(String(height), 'ms-nox-message-change-height');\n }\n}\n","import { h, Component, ComponentChild, cloneElement } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport { compatibility } from '../compatibility';\nimport { SpaceSize, getSpace } from '../vars/space';\nimport styles from './index.css';\n\ntype LayoutVAlign = 'center' | 'space-between' | 'flex-end';\ntype LayoutHAlign = 'center' | 'space-between' | 'flex-end';\n\ninterface LayoutProps {\n className?: string;\n padding?: SpaceSize | SpaceSize[];\n between?: SpaceSize;\n stack?: boolean;\n vAlign?: LayoutVAlign;\n hAlign?: LayoutHAlign;\n stretch?: boolean;\n children: ComponentChild | ComponentChild[];\n style?: any;\n onClick?(e: any): void;\n}\n\nfunction getPaddingCssValue({ padding }: LayoutProps): undefined | string {\n if (Array.isArray(padding)) {\n return padding.map(getSpace).join(' ');\n } else if (padding || padding === 0) {\n return getSpace(padding);\n }\n\n return undefined;\n}\n\nfunction getBetweenCssProperty({ stack }: LayoutProps): string {\n return stack ? 'margin-bottom' : 'margin-right';\n}\n\nfunction getBeweenCssValue({ between }: LayoutProps): string {\n return getSpace(between);\n}\n\nfunction getHAlign({ hAlign, stack }: LayoutProps): string | undefined {\n if (stack) {\n switch (hAlign) {\n case 'center':\n return styles.alignCenter;\n case 'space-between':\n return styles.alignSpaceBetween;\n case 'flex-end':\n return styles.alignFlexEnd;\n }\n } else {\n switch (hAlign) {\n case 'center':\n return styles.justifyCenter;\n case 'space-between':\n return styles.justifySpaceBetween;\n case 'flex-end':\n return styles.justifyFlexEnd;\n }\n }\n\n return undefined;\n}\n\nfunction getVAlign({ vAlign, stack }: LayoutProps): string | undefined {\n if (stack) {\n switch (vAlign) {\n case 'center':\n return styles.justifyCenter;\n case 'space-between':\n return styles.justifySpaceBetween;\n case 'flex-end':\n return styles.justifyFlexEnd;\n }\n } else {\n switch (vAlign) {\n case 'center':\n return styles.alignCenter;\n case 'space-between':\n return styles.alignSpaceBetween;\n case 'flex-end':\n return styles.alignFlexEnd;\n }\n }\n\n return undefined;\n}\n\nconst Container = compatibility('div');\n\nexport class Layout extends Component {\n private get className() {\n const { vAlign, hAlign, stack, stretch } = this.props;\n\n return classnames(\n styles.layout,\n this.props.className,\n stack && styles.stack,\n stretch && styles.stretch,\n hAlign && getHAlign(this.props),\n vAlign && getVAlign(this.props)\n );\n }\n\n public render(): JSX.Element {\n const padding = getPaddingCssValue(this.props);\n const { style = {} } = this.props;\n\n if (padding) {\n // NOTE: adding `padding: undefined` will cause preact to render wrong values\n style.padding = padding;\n }\n\n return (\n \n {this.renderChildren()}\n \n );\n }\n\n private renderChildren() {\n const { children, between } = this.props;\n\n if (!between) {\n return children;\n }\n\n if (Array.isArray(children)) {\n const filteredChildren = children.filter(child => Boolean(child));\n\n return filteredChildren.map((child, i) => {\n const last = i === filteredChildren.length - 1;\n const style = last\n ? undefined\n : {\n // prettier-ignore\n [getBetweenCssProperty(this.props)]: getBeweenCssValue(this.props)\n };\n\n if (\n style &&\n child &&\n typeof child !== 'string' &&\n typeof child !== 'number'\n ) {\n const childProps =\n (child.attributes && child.attributes.style) || {};\n\n return cloneElement(child, {\n style: { ...childProps, ...style }\n });\n }\n\n return child;\n });\n }\n\n return children;\n }\n}\n","export function classnames(...args: (string | undefined)[]): string {\n return args.filter(className => Boolean(className)).join(' ');\n}\n","import { h, Component, ComponentChildren } from 'preact';\nimport { deviceClick } from './device';\n\ninterface CompatibilityProps extends preact.ClassAttributes {\n className?: string;\n style?: any;\n onClick?(e?: any): void;\n}\n\ninterface CompatibilityWrapperProps {\n nodeName: string;\n componentProps: CompatibilityProps;\n}\n\nclass CompatibilityWrapper extends Component {\n private clickDisposer?: () => void;\n\n constructor() {\n super();\n\n this.onRef = this.onRef.bind(this);\n }\n\n public componentWillUnmount() {\n if (this.clickDisposer) {\n this.clickDisposer();\n }\n }\n\n public render() {\n const { onClick, ...props } = this.props.componentProps;\n\n return h(this.props.nodeName, {\n ...props,\n ref: this.onRef\n });\n }\n\n private onRef(el?: HTMLElement) {\n const { onClick } = this.props.componentProps;\n\n if (el && onClick) {\n this.clickDisposer = deviceClick(el, onClick);\n }\n }\n}\n\nexport function compatibility(\n nodeName: CompatibilityWrapperProps['nodeName']\n) {\n return (props: CompatibilityProps & T) => {\n return (\n \n );\n };\n}\n","import { guid } from './guid';\n\n/** @see stolen from https://stackoverflow.com/a/4819886/1138860 */\nfunction isTouchDevice(): boolean {\n const w = window as any;\n const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n const mq = (query: any) => window.matchMedia(query).matches;\n\n if (\n 'ontouchstart' in window ||\n (w.DocumentTouch && document instanceof w.DocumentTouch)\n ) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join(\n ''\n );\n\n return mq(query);\n}\n\nclass Point {\n public x = 0;\n public y = 0;\n\n constructor(x = 0, y = 0) {\n this.x = x;\n this.y = y;\n }\n\n public reset() {\n this.x = 0;\n this.y = 0;\n }\n\n public compare(otherPoint: Point, threshold = 10) {\n let success = true;\n\n // x\n if (\n otherPoint.x > this.x + threshold ||\n otherPoint.x + threshold < this.x\n ) {\n success = false;\n }\n\n // y\n if (\n otherPoint.y > this.y + threshold ||\n otherPoint.y + threshold < this.y\n ) {\n success = false;\n }\n\n return success;\n }\n}\n\nconst events = new Map();\n\nexport function deviceClick(ref: HTMLElement, callback: (e: any) => void) {\n const id = guid();\n\n if (!events.has(id)) {\n const point = new Point();\n let timestamp = 0;\n let eventCallback = callback;\n\n const ontouchend = (e: TouchEvent) => {\n ref.removeEventListener('touchend', ontouchend);\n\n const item = e.changedTouches.item(0);\n\n if (item && e.timeStamp - timestamp <= 500) {\n const newPoint = new Point(item.clientX, item.clientY);\n\n if (point.compare(newPoint)) {\n callback(e);\n }\n }\n\n point.reset();\n };\n\n const ontouchstart = (e: TouchEvent) => {\n timestamp = e.timeStamp;\n\n const item = e.touches.item(0);\n\n if (item) {\n point.x = item.clientX;\n point.y = item.clientY;\n }\n\n ref.addEventListener('touchend', ontouchend, false);\n };\n\n if (isTouchDevice()) {\n ref.addEventListener('touchstart', ontouchstart, false);\n\n eventCallback = ontouchstart;\n } else {\n ref.addEventListener('click', callback, false);\n }\n\n events.set(id, { callback: eventCallback, ref });\n }\n\n return () => {\n events.forEach(({ ref, callback }, refId) => {\n if (refId === id) {\n ref.removeEventListener('click', callback);\n ref.removeEventListener('touchstart', callback);\n\n events.delete(refId);\n }\n });\n };\n}\n","function s4(): string {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n}\n\nexport function guid(): string {\n return `${s4()}${s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;\n}\n","import * as spaces from './space.json';\n\nexport type SpaceSize = 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 0;\n\n// tslint:disable-next-line:cyclomatic-complexity\nfunction mapSpaceSize(size?: SpaceSize): string {\n return spaces[`SP_${size}`] || '0px';\n}\n\nexport function getSpace(size?: SpaceSize | SpaceSize[]): string {\n if (Array.isArray(size)) {\n return size.map(mapSpaceSize).join(' ');\n } else {\n return mapSpaceSize(size);\n }\n}\n\nexport function calcSpace(add: number, size?: SpaceSize | SpaceSize[]): string {\n const space = getSpace(size);\n\n return `${parseInt(space, 10) + add}px`;\n}\n","import { i18n } from './i18n';\nimport { getClient } from './studio-api';\n\ninterface UrlParams {\n id: string;\n tenant: string;\n organizationUnitId?: number;\n origin: string;\n height?: 'auto';\n baseHost?: string;\n disableUtilization?: boolean;\n disableEmployeeExpertises?: boolean;\n showCanceled?: boolean;\n}\n\ninterface Id {\n tenant: string;\n organizationUnitId?: number;\n}\n\nexport type ViewState = 'mobile' | 'tablet' | 'desktop';\nexport type Env = 'dev' | 'stage' | 'prod' | 'fibo';\n\nconst mediaQueryMobile = window.matchMedia('(max-width: 767px)');\nconst mediaQueryTablet = window.matchMedia(\n '(min-width: 768px) and (max-width: 1279px)'\n);\nconst mediaQueryDesktop = window.matchMedia('(min-width: 1280px)');\n\nfunction matchLegacyQueryParams(encodedId: string): Id | undefined {\n try {\n const id = atob(encodedId);\n const tenantMatcher = id.match(/(?:t|tenant)=([\\w-]+)/);\n const orgUnitMatcher = id.match(/(?:o|organizationUnitId)=(\\d+)/);\n const tenant = tenantMatcher ? tenantMatcher[1] : undefined;\n const organizationUnitId = orgUnitMatcher\n ? parseInt(orgUnitMatcher[1], 10)\n : undefined;\n\n if (tenant) {\n return {\n tenant,\n organizationUnitId\n };\n }\n } catch (e) { }\n\n return undefined;\n}\n\nfunction getUrlParams() {\n const search = location.search.replace(/^\\?/, '');\n\n return search\n .split('&')\n .map(str => str.split('='))\n .reduce((memo, val) => {\n const key = val[0] as keyof UrlParams;\n const value = isFinite(val[1] as any)\n ? parseInt(val[1], 10)\n : decodeURIComponent(val[1]);\n\n (memo as any)[key] = (() => {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n return value;\n })();\n\n if (key === 'id') {\n memo = {\n ...memo,\n ...matchLegacyQueryParams(value as string)\n };\n }\n\n return memo;\n }, {} as UrlParams);\n}\n\nexport function onResize(callback: () => void) {\n window.addEventListener('resize', callback);\n\n return () => window.removeEventListener('resize', callback);\n}\n\nexport function onViewState(callback: (viewState: ViewState) => void) {\n const mobileHandler = (event: MediaQueryListEvent) => {\n if (event.matches) {\n callback('mobile');\n }\n };\n\n const tabletHandler = (event: MediaQueryListEvent) => {\n if (event.matches) {\n callback('tablet');\n }\n };\n\n const desktopHandler = (event: MediaQueryListEvent) => {\n if (event.matches) {\n callback('desktop');\n }\n };\n\n mediaQueryMobile.addListener(mobileHandler);\n mediaQueryTablet.addListener(tabletHandler);\n mediaQueryDesktop.addListener(desktopHandler);\n\n if (mediaQueryMobile.matches) {\n callback('mobile');\n }\n\n if (mediaQueryTablet.matches) {\n callback('tablet');\n }\n\n if (mediaQueryDesktop.matches) {\n callback('desktop');\n }\n\n return () => {\n mediaQueryMobile.removeListener(mobileHandler as any);\n mediaQueryTablet.removeListener(tabletHandler as any);\n mediaQueryDesktop.removeListener(desktopHandler as any);\n };\n}\n\nexport function postMessage(message: any, type: string) {\n parent.postMessage({ type, data: message }, config.origin);\n}\n\nexport function getMessage(type: string, callback: (data: T) => void) {\n const outerCallback = (e: MessageEvent) => {\n if (e.data.type === type) {\n callback(e.data.data);\n\n window.removeEventListener('message', outerCallback);\n }\n };\n\n window.addEventListener('message', outerCallback);\n\n return () => window.removeEventListener('message', outerCallback);\n}\n\nclass Config implements UrlParams {\n public urlParams!: UrlParams;\n\n public ready = false;\n\n public zoneId: string = 'Europe/Berlin';\n\n public getBackendUrl() {\n return `${location.origin}/`;\n }\n\n public getSponsorshipBackendUrl() {\n return `${location.origin}/sponsorship/`;\n }\n\n public get id() {\n return this.urlParams.id;\n }\n\n public get tenant() {\n return this.urlParams.tenant;\n }\n\n public get organizationUnitId() {\n return this.urlParams.organizationUnitId;\n }\n\n public get origin() {\n return this.urlParams.origin;\n }\n\n public get height() {\n return this.urlParams.height;\n }\n\n public get baseHost() {\n return this.urlParams.baseHost;\n }\n\n public get showCanceled() {\n return this.urlParams.showCanceled;\n }\n\n constructor() {\n this.urlParams = getUrlParams();\n\n (async () => {\n if (!this.urlParams.tenant && !this.urlParams.organizationUnitId) {\n const studioApi = getClient(this.getSponsorshipBackendUrl());\n\n const studio = await studioApi.StudioController.getSingleStudio(\n this.urlParams.id,\n { bookingPortal: false }\n );\n\n this.urlParams.tenant = studio.magiclineTenant;\n this.urlParams.organizationUnitId = studio.magiclineId;\n this.zoneId = studio.zoneId;\n }\n\n await i18n.waitFor();\n\n this.ready = true;\n })();\n }\n}\n\nexport const config = new Config();\n","import { Locale } from 'date-fns';\n\ntype Manifest = { path: string; hashedPath: string }[];\n\nexport type TranslateFn = (\n key?: I18nKey,\n // tslint:disable-next-line:no-any\n ...params: any[]\n) => string;\n\nconst LOCALE_WHITELIST = ['de-DE', 'en-GB', 'es-ES', 'fr-FR', 'it-IT', 'nl-NL'];\nconst LOCALE_FALLBACK = 'en-GB';\n\nfunction extractLang(locale: string): string {\n return locale.split('-')[0];\n}\n\nfunction getLocaleFallback(lang: string) {\n switch (lang) {\n case 'ca':\n case 'ca-ES':\n case 'ca-AD':\n return 'es-ES';\n case 'ca-FR':\n return 'fr-FR';\n case 'ca-IT':\n return 'it-IT';\n default:\n case 'en':\n return LOCALE_FALLBACK;\n }\n}\n\nfunction getDateFnsLocale(lang: string): Locale {\n switch (lang) {\n case 'de':\n return require('date-fns/locale/de');\n case 'it':\n return require('date-fns/locale/it');\n case 'es':\n return require('date-fns/locale/es');\n case 'fr':\n return require('date-fns/locale/fr');\n case 'nl':\n return require('date-fns/locale/nl');\n default:\n return require('date-fns/locale/en-GB');\n }\n}\n\nclass I18n {\n public __: TranslateFn = () => '';\n\n private manifest?: Manifest;\n\n private ready = false;\n\n public get currentLocale() {\n const { language } = navigator;\n const locale = language || '';\n\n if (\n LOCALE_WHITELIST.some(\n loc => extractLang(loc) === extractLang(locale)\n )\n ) {\n return locale;\n }\n\n return getLocaleFallback(locale);\n }\n\n public get currentLanguage(): string {\n return extractLang(this.currentLocale).toLowerCase();\n }\n\n public get dateFnsLocale() {\n return getDateFnsLocale(this.currentLanguage);\n }\n\n constructor() {\n this.ready = false;\n\n (async () => {\n await this.loadManifest();\n await this.loadTranslationBundle(this.currentLanguage);\n\n this.ready = true;\n })();\n }\n\n public async waitFor() {\n let tries = 0;\n\n return new Promise((resolve, reject) => {\n const int = setInterval(() => {\n tries++;\n\n if (tries >= 50) {\n reject();\n } else if (this.ready) {\n clearInterval(int);\n resolve();\n }\n }, 100);\n });\n }\n\n private async loadManifest(): Promise {\n const data = await fetch('/assets/localizations/manifest.json', {\n headers: new Headers({\n 'cache-control': 'no-cache'\n })\n });\n this.manifest = (await data.json()) as Manifest;\n }\n\n private async loadTranslationBundle(localeParam: string) {\n if (typeof localeParam !== 'string' || !this.manifest) {\n return;\n }\n const loc = localeParam.replace(/\"/g, '');\n const lang =\n LOCALE_WHITELIST.find(l => extractLang(l) === loc) ||\n LOCALE_FALLBACK;\n const localeFile = `/${lang}.json`;\n\n const entry = this.manifest.find(\n entry => entry.path === localeFile\n ) || { hashedPath: localeFile };\n\n const sourceArray: any[] = await (\n await fetch(`/assets/localizations${entry.hashedPath}`)\n ).json();\n\n const source = sourceArray.reduce<{ [key in I18nKey]: string }>(\n (mem, { key, value }: { key: I18nKey; value: string }) => (\n (mem[key] = value), mem\n ),\n {} as { [key in I18nKey]: string }\n );\n\n this.__ = this.wrap((key?: I18nKey, params?: any) => {\n const res = key ? source[key] : null;\n\n return res && params\n ? res\n .replace(/\\${/g, '___dollar___bracket___')\n .replace(/{\\w}/g, v => params[v[1]])\n .replace(/___dollar___bracket___/g, '${')\n : res || '';\n });\n }\n\n private wrap(fn: TranslateFn): TranslateFn {\n const convertParams = (params: any[]) => {\n // note: allowed values for params are\n // [ 'value1', 'value2', 'value3' ] and\n // [ { a: 'value1', b: 'value2', c: 'value3' } ]\n // params as string-array will be transformed to the latter syntax.\n if (params[0] && typeof params[0] !== 'object') {\n params = [\n params.reduce(\n (\n memo: { [key: string]: string | number },\n param: string | number,\n i: number\n ) => {\n memo[String.fromCharCode(97 + i)] = param;\n\n return memo;\n },\n {}\n )\n ];\n }\n return params;\n };\n\n return (key, ...params) => {\n if (key === null || key === undefined || key === '') {\n return '';\n }\n\n try {\n const value = fn(key, ...convertParams(params));\n if (key === value) {\n console.warn(\n `%ci18n missing: %c${value}`,\n 'color:#94999d',\n 'color:#000000'\n );\n }\n return value;\n } catch (e) {\n if (e instanceof Error) {\n console.warn(e.message);\n }\n return '';\n }\n };\n }\n}\n\nexport const i18n = new I18n();\n","import * as apiStudios from './studio-client';\n\nconst parseNull = (item: any): any => {\n if (item === null) {\n return undefined;\n }\n\n if (Array.isArray(item)) {\n return item.map(parseNull);\n }\n\n if (typeof item === 'object') {\n return Object.keys(item).reduce(\n (prev: {}, key: string) => ({\n ...prev,\n [key]: parseNull(item[key])\n }),\n {}\n );\n }\n\n return item;\n};\n\nconst parseError = (error: any) => {\n if (Array.isArray(error)) {\n return error[0].errorCode;\n }\n\n return error.errorCode;\n};\n\nexport function getClient(endpoint: string) {\n return apiStudios.getClient(endpoint, undefined, pretend =>\n pretend.decode(async response => {\n const json = await response.json();\n\n if (response.status === 200) {\n return parseNull(json);\n }\n\n throw new Error(parseError(json));\n })\n );\n}\n","import { Pretend, IPretendRequest, Get } from 'pretend';\n\nimport * as dtos from './studio-dtos';\n\nexport interface AdditionalMenuEntryController {\n getAdditionalMenuEntries(): Promise;\n}\n\nexport interface BookingOptionController {\n getAvailableBookingOptions(): Promise;\n}\n\nexport interface PublicFacilityController {\n getAvailableCategories(): Promise;\n}\n\nexport interface StudioCategoryController {\n getAvailableStudioCategories(): Promise;\n}\n\nexport interface StudioController {\n getSingleStudio(\n alias: string,\n query: { bookingPortal?: boolean }\n ): Promise;\n\n getStudioCount(query: {\n name?: string;\n city?: string;\n category?: string[];\n feature?: string[];\n bookingOption?: string[];\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n profileComplete?: boolean;\n contractActive?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n\n getStudioRating(externalId: string): Promise;\n\n getStudiosCountPerCity(): Promise;\n}\n\nexport interface StudioFeatureCategoryController {\n getAvailableStudioFeatureCategories(query: {\n featurePerCategoryLimit?: number;\n }): Promise;\n}\n\nexport interface StudioSearchController {\n getStudioInfos(query: {\n name?: string;\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n\n getStudiosForBookingPortal(query: {\n name?: string;\n city?: string;\n category?: string[];\n feature?: string[];\n bookingOption?: string[];\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n profileComplete?: boolean;\n contractActive?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n\n getStudiosForFilters(query: {\n name?: string;\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n\n getStudiosForMySportsGuest(query: {\n name?: string;\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n profileComplete?: boolean;\n contractActive?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n\n getStudiosForStudioConnect(query: {\n name?: string;\n visible?: boolean;\n visibleForStudioConnect?: boolean;\n profileComplete?: boolean;\n contractActive?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n}\n\nexport interface WhitelabelStudioSearchController {\n getStudiosForWhitelabelPortal(query: {\n visible?: boolean;\n geoRequestType?: string;\n latitude?: number[];\n longitude?: number[];\n radius?: number;\n page?: number;\n size?: number;\n }): Promise;\n}\n\nexport interface MySportsStudio {\n AdditionalMenuEntryController: AdditionalMenuEntryController;\n BookingOptionController: BookingOptionController;\n PublicFacilityController: PublicFacilityController;\n StudioCategoryController: StudioCategoryController;\n StudioController: StudioController;\n StudioFeatureCategoryController: StudioFeatureCategoryController;\n StudioSearchController: StudioSearchController;\n WhitelabelStudioSearchController: WhitelabelStudioSearchController;\n}\n\n// tslint:disable:no-any\n\nclass AdditionalMenuEntryControllerBlueprint\n implements AdditionalMenuEntryController {\n @Get('/v1/public/studios/additionalmenuentries')\n public getAdditionalMenuEntries(): any {\n /**/\n }\n}\n\nclass BookingOptionControllerBlueprint implements BookingOptionController {\n @Get('/v1/public/studios/bookingoptions')\n public getAvailableBookingOptions(): any {\n /**/\n }\n}\n\nclass PublicFacilityControllerBlueprint implements PublicFacilityController {\n @Get('/v1/public/facilities/categories')\n public getAvailableCategories(): any {\n /**/\n }\n}\n\nclass StudioCategoryControllerBlueprint implements StudioCategoryController {\n @Get('/v1/public/studios/categories')\n public getAvailableStudioCategories(): any {\n /**/\n }\n}\n\nclass StudioControllerBlueprint implements StudioController {\n @Get('/v1/public/studios/{alias}', true)\n public getSingleStudio(_p0: any, _p1: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/count', true)\n public getStudioCount(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/{externalId}/rating')\n public getStudioRating(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/countbycity')\n public getStudiosCountPerCity(): any {\n /**/\n }\n}\n\nclass StudioFeatureCategoryControllerBlueprint\n implements StudioFeatureCategoryController {\n @Get('/v1/public/studios/featureCategories', true)\n public getAvailableStudioFeatureCategories(_p0: any): any {\n /**/\n }\n}\n\nclass StudioSearchControllerBlueprint implements StudioSearchController {\n @Get('/v1/public/studios', true)\n public getStudioInfos(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/forbookingportal', true)\n public getStudiosForBookingPortal(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/forfilters', true)\n public getStudiosForFilters(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/formysportsguest', true)\n public getStudiosForMySportsGuest(_p0: any): any {\n /**/\n }\n\n @Get('/v1/public/studios/forstudioconnect', true)\n public getStudiosForStudioConnect(_p0: any): any {\n /**/\n }\n}\n\nclass WhitelabelStudioSearchControllerBlueprint\n implements WhitelabelStudioSearchController {\n @Get('/v1/public/studios/forwhitelabelportal', true)\n public getStudiosForWhitelabelPortal(_p0: any): any {\n /**/\n }\n}\n\n// tslint:enable:no-any\n\nexport function getClient(\n endpoint: string,\n token: string | undefined,\n configure: (client: Pretend) => Pretend = client => client\n): MySportsStudio {\n const bearerToken = (request: IPretendRequest) => {\n if (token) {\n request.options.headers = new Headers(request.options.headers);\n request.options.headers.set('Authorization', `bearer ${token}`);\n }\n return request;\n };\n\n return {\n AdditionalMenuEntryController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(AdditionalMenuEntryControllerBlueprint, endpoint),\n BookingOptionController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(BookingOptionControllerBlueprint, endpoint),\n PublicFacilityController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(PublicFacilityControllerBlueprint, endpoint),\n StudioCategoryController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(StudioCategoryControllerBlueprint, endpoint),\n StudioController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(StudioControllerBlueprint, endpoint),\n StudioFeatureCategoryController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(StudioFeatureCategoryControllerBlueprint, endpoint),\n StudioSearchController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(StudioSearchControllerBlueprint, endpoint),\n WhitelabelStudioSearchController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(WhitelabelStudioSearchControllerBlueprint, endpoint)\n };\n}\n","import { LocalDate } from '@spa-frontend/date-lib';\nimport { h, Component } from 'preact';\nimport { getCoursePlanPublic, CourseGroups, Course, getStudios } from '../api';\nimport { StudioExtendedDto } from '../api/dtos';\nimport { CourseBox } from '../components/course-box';\nimport { Layout } from '../components/layout';\nimport { Modal } from '../components/modal';\nimport Spinner from '../components/spinner';\nimport { Text } from '../components/text';\nimport {\n onResize,\n config,\n onViewState,\n ViewState,\n postMessage,\n getMessage\n} from '../config';\nimport { i18n } from '../i18n';\nimport { classnames } from '../utils/classnames';\nimport {\n emptyCourses,\n groupCoursesByDate,\n getCourseHeaderDates,\n filterCourseGroupsByDaytime\n} from '../utils/courses';\nimport { CourseDetail } from './detail';\nimport { CoursesFilter } from './filter';\nimport { CoursesHeader } from './header';\nimport styles from './index.css';\n\ninterface CoursesProps {\n onContentHeight(height: number): void;\n}\n\ninterface CoursesState {\n modalContent?: Course;\n modalHeight: number;\n modalTop: number;\n organizationUnitId?: number;\n studios?: StudioExtendedDto[];\n viewState?: ViewState;\n courseDate: LocalDate;\n coursesLoading: boolean;\n coursesFetched: boolean;\n coursesError?: boolean;\n courseGroupsHeader: LocalDate[];\n courseGroupsMorning: CourseGroups;\n courseGroupsNoon: CourseGroups;\n courseGroupsAfternoon: CourseGroups;\n courseGroupsEvening: CourseGroups;\n}\n\nexport class Courses extends Component {\n private contentEl?: HTMLDivElement;\n private resizeDisposer?: () => void;\n private viewStateDisposer?: () => void;\n private studiosXhr?: Promise;\n\n private get preloadDays() {\n const { viewState } = this.state;\n\n switch (viewState) {\n default:\n case 'mobile':\n return 1;\n case 'tablet':\n return 4;\n case 'desktop':\n return 7;\n }\n}\n\n private get contentClassName() {\n return classnames(\n styles.content,\n config.height !== 'auto' && styles.maxHeight100\n );\n }\n\n private get containerClassName() {\n const mobile = this.state.viewState === 'mobile';\n\n return classnames(styles.container, mobile && styles.containerMobile);\n }\n\n private get now() {\n return LocalDate.now(\n this.state.studios?.find(\n s => s.id === this.state.organizationUnitId\n )?.zoneId! || config.zoneId\n );\n }\n\n constructor(props: CoursesProps) {\n super(props);\n\n this.state = {\n modalTop: 0,\n modalHeight: 0,\n modalContent: undefined,\n organizationUnitId: config.organizationUnitId!,\n studios: [],\n courseDate: this.now.startOf('week'),\n coursesLoading: false,\n coursesFetched: false,\n courseGroupsHeader: [],\n courseGroupsMorning: {},\n courseGroupsNoon: {},\n courseGroupsAfternoon: {},\n courseGroupsEvening: {}\n };\n\n this.onContentRef = this.onContentRef.bind(this);\n this.onLoadPrev = this.onLoadPrev.bind(this);\n this.onLoadNext = this.onLoadNext.bind(this);\n this.onModalClose = this.onModalClose.bind(this);\n this.onModalHeight = this.onModalHeight.bind(this);\n this.onClickCourse = this.onClickCourse.bind(this);\n this.onChangeStudio = this.onChangeStudio.bind(this);\n this.renderCourse = this.renderCourse.bind(this);\n }\n\n public componentDidMount() {\n this.loadStudios();\n\n this.resizeDisposer = onResize(() => this.measureContent());\n this.viewStateDisposer = onViewState(viewState =>\n this.setState({ viewState })\n );\n }\n\n public componentDidUpdate(_: CoursesProps, prevState: CoursesState) {\n const { viewState, modalHeight, organizationUnitId } = this.state;\n\n if (\n prevState.viewState !== viewState ||\n prevState.organizationUnitId !== organizationUnitId\n ) {\n this.loadCourses(this.state.courseDate, 'INITIAL');\n }\n\n if (prevState.modalHeight === 0 && modalHeight > 0) {\n this.measureContent();\n }\n }\n\n public componentWillUnmount() {\n if (this.resizeDisposer) {\n this.resizeDisposer();\n }\n\n if (this.viewStateDisposer) {\n this.viewStateDisposer();\n }\n }\n\n public render() {\n const { coursesError } = this.state;\n\n return coursesError ? (\n {i18n.__('errormessage.internal.server.error')}\n ) : (\n
\n {this.renderContent()}\n {this.renderModal()}\n
\n );\n }\n\n private renderContent() {\n const {\n coursesLoading,\n coursesFetched,\n courseGroupsHeader,\n organizationUnitId,\n viewState,\n studios\n } = this.state;\n const mobile = viewState === 'mobile';\n\n return (\n \n \n \n \n {coursesLoading ? (\n \n ) : null}\n {coursesFetched ? (\n \n {this.renderBody()}\n {this.renderEmpty()}\n \n ) : null}\n \n \n );\n }\n\n private renderBody() {\n const {\n courseGroupsMorning,\n courseGroupsNoon,\n courseGroupsAfternoon,\n courseGroupsEvening\n } = this.state;\n const emptyMorningCourses = emptyCourses(courseGroupsMorning);\n const emptyNoonCourses = emptyCourses(courseGroupsNoon);\n const emptyAfternoonCourses = emptyCourses(courseGroupsAfternoon);\n const emptyEveningCourses = emptyCourses(courseGroupsEvening);\n\n return (\n \n {emptyMorningCourses ? null : (\n \n {this.renderDaytime(\n // prettier-ignore\n `${i18n.__('commons.morning')}`\n )}\n {this.renderCourseDaytime(courseGroupsMorning)}\n \n )}\n {emptyNoonCourses ? null : (\n \n {this.renderDaytime(\n // prettier-ignore\n `${i18n.__('commons.noon')}`\n )}\n {this.renderCourseDaytime(courseGroupsNoon)}\n \n )}\n {emptyAfternoonCourses ? null : (\n \n {this.renderDaytime(\n // prettier-ignore\n `${i18n.__('commons.afternoon')}`\n )}\n {this.renderCourseDaytime(courseGroupsAfternoon)}\n \n )}\n {emptyEveningCourses ? null : (\n \n {this.renderDaytime(\n // prettier-ignore\n `${i18n.__('commons.evening')}`\n )}\n {this.renderCourseDaytime(courseGroupsEvening)}\n \n )}\n \n );\n }\n\n private renderEmpty() {\n const {\n coursesFetched,\n coursesLoading,\n courseGroupsMorning,\n courseGroupsNoon,\n courseGroupsAfternoon,\n courseGroupsEvening\n } = this.state;\n\n if (coursesFetched && !coursesLoading) {\n const emptyMorningCourses = emptyCourses(courseGroupsMorning);\n const emptyNoonCourses = emptyCourses(courseGroupsNoon);\n const emptyAfternoonCourses = emptyCourses(courseGroupsAfternoon);\n const emptyEveningCourses = emptyCourses(courseGroupsEvening);\n\n if (\n emptyMorningCourses &&\n emptyNoonCourses &&\n emptyAfternoonCourses &&\n emptyEveningCourses\n ) {\n return (\n \n {i18n.__('noxweb.courses.empty.title')}\n \n );\n }\n }\n\n return null;\n }\n\n private renderDaytime(text: string) {\n return (\n \n \n {text}\n \n \n );\n }\n\n private renderCourseDaytime(courseGroups: CourseGroups) {\n const { viewState } = this.state;\n\n return (\n \n {Object.keys(courseGroups).map(key => {\n const courses = courseGroups[key];\n\n return (\n \n {courses.map(this.renderCourse)}\n \n );\n })}\n \n );\n }\n\n private renderCourse(course: Course) {\n return (\n \n );\n }\n\n private renderModal() {\n const { modalContent, modalTop, viewState } = this.state;\n\n return (\n \n {modalContent ? (\n \n ) : null}\n \n );\n }\n\n private async loadStudios() {\n this.studiosXhr = getStudios();\n\n const studios = await this.studiosXhr;\n\n this.setState({ studios });\n }\n\n private async loadCourses(\n startDate: LocalDate,\n status: 'NEXT' | 'PREV' | 'INITIAL',\n tries = 0\n ) {\n if (this.studiosXhr) {\n await this.studiosXhr;\n }\n\n this.setState(\n { coursesLoading: true, coursesFetched: false },\n async () => {\n try {\n const { viewState, organizationUnitId } = this.state;\n const { now } = this;\n\n if (viewState === 'desktop') {\n startDate = startDate.startOf('week');\n } else {\n if (startDate.isBefore(now)) {\n startDate = now;\n }\n }\n\n const endDate = startDate.addDays(this.preloadDays - 1);\n \n const courses = await getCoursePlanPublic(\n startDate,\n endDate,\n organizationUnitId ? [organizationUnitId] : [],\n config.showCanceled\n );\n\n // empty handling\n if (courses.length === 0 && tries >= 0) {\n if (tries <= 10) {\n let newDate = now;\n\n if (status === 'NEXT') {\n newDate = startDate.addDays(this.preloadDays);\n } else if (status === 'PREV') {\n newDate = startDate.subDays(this.preloadDays);\n }\n\n this.loadCourses(newDate, status, ++tries);\n } else {\n const newDate = (() => {\n switch (status) {\n case 'INITIAL':\n return this.state.courseDate;\n case 'NEXT':\n return this.state.courseDate.addDays(\n this.preloadDays\n );\n case 'PREV':\n return this.state.courseDate.subDays(\n this.preloadDays\n );\n }\n })();\n\n this.loadCourses(newDate, status, -1);\n }\n\n return;\n }\n\n const courseGroups = groupCoursesByDate(courses, [\n startDate,\n endDate\n ]);\n const courseGroupsHeader = getCourseHeaderDates(\n courseGroups\n );\n\n this.setState({\n courseGroupsMorning: filterCourseGroupsByDaytime(\n courseGroups,\n 'morning'\n ),\n courseGroupsNoon: filterCourseGroupsByDaytime(\n courseGroups,\n 'noon'\n ),\n courseGroupsAfternoon: filterCourseGroupsByDaytime(\n courseGroups,\n 'afternoon'\n ),\n courseGroupsEvening: filterCourseGroupsByDaytime(\n courseGroups,\n 'evening'\n ),\n courseGroupsHeader,\n courseDate: startDate,\n coursesLoading: false,\n coursesFetched: true\n });\n } catch (e) {\n console.error(e);\n\n this.setState({\n coursesLoading: false,\n coursesError: true\n });\n }\n }\n );\n }\n\n private measureContent() {\n if (config.height !== 'auto') {\n return;\n }\n\n const { modalContent, modalHeight, modalTop } = this.state;\n const DATE_HEADER_HEIGHT = 90;\n const FILTER_HEIGHT = 60;\n\n const int = setInterval(() => {\n if (this.contentEl && this.contentEl.scrollHeight) {\n clearInterval(int);\n\n let contentHeight =\n this.contentEl.scrollHeight +\n DATE_HEADER_HEIGHT +\n FILTER_HEIGHT;\n\n if (modalContent && modalHeight) {\n const neededModalSpace = Math.round(\n modalTop + modalHeight + 20\n );\n\n if (neededModalSpace >= window.innerHeight) {\n contentHeight = neededModalSpace;\n } else {\n contentHeight = Math.max(\n contentHeight,\n modalHeight + 100\n );\n }\n }\n\n this.props.onContentHeight(contentHeight);\n }\n }, 16);\n }\n\n private onLoadPrev() {\n const date = this.state.courseDate.subDays(this.preloadDays);\n\n this.loadCourses(date, 'PREV');\n }\n\n private onLoadNext() {\n const date = this.state.courseDate.addDays(this.preloadDays);\n\n this.loadCourses(date, 'NEXT');\n }\n\n private onContentRef(el?: HTMLDivElement) {\n this.contentEl = el;\n\n if (this.contentEl) {\n this.measureContent();\n }\n }\n\n private onClickCourse(course: Course) {\n getMessage('ms-nox-message-modal-top', top => {\n const modalTop = top + 57; // close-X offset\n\n this.setState({ modalTop, modalContent: course }, () =>\n this.measureContent()\n );\n });\n\n // request modal-top value from its parent\n postMessage(null, 'ms-nox-message-request-modal-top');\n }\n\n private onChangeStudio(id?: number) {\n this.setState({\n organizationUnitId: id\n });\n }\n\n private onModalClose() {\n this.setState(\n { modalContent: undefined, modalTop: 0, modalHeight: 0 },\n () => this.measureContent()\n );\n }\n\n private onModalHeight(modalHeight: number) {\n this.setState({ modalHeight }, () => this.measureContent());\n }\n}\n","import { LocalDate, ZonedDateTime } from '@spa-frontend/date-lib';\nimport { config } from '../config';\nimport { BookableLocationDto, BookableEmployeeDto, StudioDto, AppointmentStatusTypeEnum } from './dtos';\nimport { getClient } from './get-client';\n\nexport type Daytime = 'morning' | 'noon' | 'afternoon' | 'evening';\n\nconst parseNull = (item: any): any => {\n if (item === null) {\n return undefined;\n }\n\n if (Array.isArray(item)) {\n return item.map(parseNull);\n }\n\n if (typeof item === 'object') {\n return Object.keys(item).reduce(\n (prev: {}, key: string) => ({\n ...prev,\n [key]: parseNull(item[key])\n }),\n {}\n );\n }\n\n return item;\n};\n\nconst parseError = (error: any) => {\n if (Array.isArray(error)) {\n return error[0].errorCode;\n }\n\n return error.errorCode;\n};\n\nexport const getApi = () => {\n return getClient(\n config.getBackendUrl(),\n {\n 'X-Tenant': config.tenant,\n 'X-Nox-Client-Type': 'WEB'\n },\n pretend =>\n pretend.decode(async response => {\n const json = await response.json();\n\n if (response.status === 200) {\n return parseNull(json);\n }\n\n throw new Error(parseError(json));\n })\n );\n};\n\nexport interface Course {\n id: number;\n name: string;\n description?: string;\n bookedParticipants?: number;\n maxParticipants?: number;\n startDate: ZonedDateTime;\n endDate: ZonedDateTime;\n locations: BookableLocationDto[];\n employees: BookableEmployeeDto[];\n colorHex: string;\n imageUrl?: string;\n studio: StudioDto;\n bookable: boolean;\n appointmentStatus: AppointmentStatusTypeEnum;\n}\n\nexport interface CourseGroups {\n // prettier-ignore\n [key: string]: Course[];\n}\n\nexport async function getCoursePlanPublic(\n startDate: LocalDate,\n endDate: LocalDate,\n organizationUnitIds: number[] = [],\n withCanceled = false\n): Promise {\n const courses = withCanceled\n ? await getApi().NoxBookableItemPublicControllerV2.getCoursePlanWithCanceledCourses({\n startDate,\n endDate,\n organizationUnitIds\n })\n : await getApi().NoxBookableItemPublicController.getCoursePlan({\n startDate,\n endDate,\n organizationUnitIds\n });\n\n return courses\n .map(course => ({\n id: course.id,\n name: course.name,\n description: course.description,\n colorHex: course.colorHex as any,\n bookedParticipants: course.bookedParticipants,\n maxParticipants: course.maxParticipants,\n startDate: course.slots[0].startDateTime,\n endDate: course.slots[0].endDateTime,\n locations: course.slots[0].locations,\n employees: course.slots[0].employees,\n imageUrl: course.imageUrl,\n studio: course.slots[0].studio,\n bookable: course.slots[0].bookable,\n appointmentStatus: course.appointmentStatus\n }))\n .sort((a, b) => {\n if (a.startDate < b.startDate) {\n return -1;\n }\n\n if (a.startDate > b.startDate) {\n return 1;\n }\n\n return 0;\n });\n}\n\nexport async function getStudios() {\n return getApi().NoxStudioController.getStudiosPublic();\n}\n","import { getClient as internalGetClient, NoExcuse } from './client';\nimport { Pretend } from 'pretend';\n\nexport function getClient(\n endpoint: string,\n headers: { [key: string]: string } = {},\n configure?: (client: Pretend) => Pretend,\n debug = false\n): NoExcuse {\n return internalGetClient(endpoint, undefined, pretend => {\n if (debug) {\n pretend.interceptor(async (chain, request) => {\n // tslint:disable-next-line:no-console\n console.log(\n `Request: ${request.options.method} ${request.url}`,\n JSON.stringify(request.options.body)\n );\n const response = await chain(request);\n // tslint:disable-next-line:no-console\n console.log(\n `Response: ${request.options.method} ${request.url}`,\n JSON.stringify(response)\n );\n return response;\n });\n }\n\n // remove undefined query-parameters\n pretend.interceptor(async (chain, request) => {\n request.url = request.url.replace(/([?&]?\\w+=undefined)/g, '');\n\n return await chain(request);\n });\n\n pretend.requestInterceptor(request => {\n const internalHeaders = new Headers(request.options.headers);\n\n Object.keys(headers).forEach(key =>\n internalHeaders.set(key, headers[key])\n );\n\n if (!internalHeaders.has('Content-Type')) {\n internalHeaders.set('Content-Type', 'application/json');\n } else if (\n internalHeaders.get('Content-Type') === 'multipart/form-data'\n ) {\n // note: strange but true, the fetch API sets the\n // content-type header on its own\n internalHeaders.delete('Content-Type');\n }\n\n request.options.headers = internalHeaders;\n\n return request;\n });\n\n if (configure) {\n return configure(pretend);\n }\n\n return pretend;\n });\n}\n","import { Pretend, IPretendRequest, Get } from 'pretend';\n\nimport * as dtos from './dtos';\nimport {\n LocalDate,\n ZonedDateTime,\n parseApiDates\n} from '@spa-frontend/date-lib';\n\nconst parseResult = (props: string[]) => {\n return (\n _target: Object,\n _key: string | symbol,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n descriptor: TypedPropertyDescriptor\n ) => {\n const fn = descriptor.value;\n\n descriptor.value = async function(...args: unknown[]) {\n const result = await fn.apply(this, args);\n\n const tupleProps = props.map(prop => prop.split('.'));\n\n return parseApiDates(result, tupleProps);\n };\n\n return descriptor;\n };\n};\n\nexport interface NoxBookableItemPublicController {\n getBookableCourseItem(itemId: number): Promise;\n\n getBookableSingleItem(\n benefitId: number,\n query: {\n employeeIds: number[];\n organizationUnitId: number;\n startDateTime: ZonedDateTime;\n }\n ): Promise;\n\n getCoursePlan(query: {\n benefitCategoryIds?: number[];\n benefitIds?: number[];\n courseAvailability?:\n | 'ALL'\n | 'BOOKABLE'\n | 'BOOKABLE_OR_WITH_WAITING_LIST';\n employeeIds?: number[];\n endDate?: LocalDate;\n isStudioEvent?: boolean;\n maxResults?: number;\n organizationUnitIds?: number[];\n search?: string;\n startDate: LocalDate;\n }): Promise;\n\n getCoursePlanWithDefaultHomeStudio(query: {\n benefitCategoryIds?: number[];\n benefitIds?: number[];\n courseAvailability?:\n | 'ALL'\n | 'BOOKABLE'\n | 'BOOKABLE_OR_WITH_WAITING_LIST';\n employeeIds?: number[];\n endDate?: LocalDate;\n isStudioEvent?: boolean;\n maxResults?: number;\n organizationUnitIds?: number[];\n search?: string;\n startDate: LocalDate;\n }): Promise;\n\n getForTrialSession(\n benefitId: number,\n query: {\n endDate: LocalDate;\n slotLimit?: string;\n startDate: LocalDate;\n timePeriodIds?: number[];\n timePeriods?: string[];\n }\n ): Promise;\n\n getNextAvailableCoursePlan(query: {\n benefitCategoryIds?: number[];\n benefitIds?: number[];\n courseAvailability?:\n | 'ALL'\n | 'BOOKABLE'\n | 'BOOKABLE_OR_WITH_WAITING_LIST';\n employeeIds?: number[];\n isStudioEvent?: boolean;\n maxResults?: number;\n organizationUnitIds?: number[];\n search?: string;\n startDate: LocalDate;\n }): Promise;\n\n getSingleBenefit(\n benefitId: number,\n query: {\n employeeIds?: number[];\n endDate: LocalDate;\n organizationUnitIds?: number[];\n slotLimit?: string;\n startDate: LocalDate;\n timePeriodIds?: number[];\n timePeriods?: string[];\n }\n ): Promise;\n\n getSingleBenefits(query: {\n benefitCategoryIds?: number[];\n employeeIds?: number[];\n organizationUnitIds?: number[];\n search?: string;\n timePeriodIds?: number[];\n timePeriods?: string[];\n }): Promise;\n\n getUpcomingCourses(query: {\n organizationUnitId: number;\n }): Promise;\n}\n\nexport interface NoxBookableItemPublicControllerV2 {\n getCourseAppointmentsByBenefit(query: {\n benefitId: number;\n end?: ZonedDateTime;\n organizationUnitId: number;\n start?: ZonedDateTime;\n }): Promise;\n\n getCourseAppointmentsSliceByBenefit(query: {\n benefitId: number;\n maxResults?: number;\n offset?: number;\n organizationUnitId: number;\n start?: ZonedDateTime;\n }): Promise;\n\n getCourseBenefitsWithUpcomingAppointment(query: {\n endDateTime?: ZonedDateTime;\n organizationUnitIds: number[];\n startDateTime?: ZonedDateTime;\n }): Promise;\n\n getCoursePlanWithCanceledCourses(query: {\n benefitCategoryIds?: number[];\n benefitIds?: number[];\n courseAvailability?:\n | 'ALL'\n | 'BOOKABLE'\n | 'BOOKABLE_OR_WITH_WAITING_LIST';\n employeeIds?: number[];\n endDate?: LocalDate;\n isStudioEvent?: boolean;\n maxResults?: number;\n organizationUnitIds?: number[];\n search?: string;\n startDate: LocalDate;\n }): Promise;\n\n getNextAvailableSingleBenefit(\n benefitId: number,\n query: {\n employeeIds?: number[];\n maxDaysLookup?: number;\n organizationUnitIds?: number[];\n slotLimit?: string;\n startDateTime: ZonedDateTime;\n timePeriodIds?: number[];\n timePeriods?: string[];\n }\n ): Promise;\n\n getSingleBenefit(\n benefitId: number,\n query: {\n employeeIds?: number[];\n endDateTime: ZonedDateTime;\n organizationUnitIds?: number[];\n slotLimit?: string;\n startDateTime: ZonedDateTime;\n timePeriodIds?: number[];\n timePeriods?: string[];\n }\n ): Promise;\n\n getStudioEventCourseBenefits(query: {\n organizationUnitIds: number[];\n }): Promise;\n}\n\nexport interface NoxStudioController {\n // tslint:disable:no-any\n getAnyStudioLogo(): Promise;\n // tslint:enable:no-any\n\n getHomeStudio(): Promise;\n\n getRevealUtilization(\n studioId: number\n ): Promise;\n\n getRevealUtilizationPublic(\n studioId: number\n ): Promise;\n\n getSepaAgreementText(studioId: number): Promise;\n\n // tslint:disable:no-any\n getStudioLogo(studioId: number): Promise;\n // tslint:enable:no-any\n\n getStudioPublic(studioId: number): Promise;\n\n getStudiosPublic(): Promise;\n\n getUtilization(studioId: number): Promise;\n\n getUtilizationPublic(studioId: number): Promise;\n}\n\nexport interface NoExcuse {\n NoxBookableItemPublicController: NoxBookableItemPublicController;\n NoxBookableItemPublicControllerV2: NoxBookableItemPublicControllerV2;\n NoxStudioController: NoxStudioController;\n}\n\n// tslint:disable:no-any\n\nclass NoxBookableItemPublicControllerBlueprint\n implements NoxBookableItemPublicController {\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/course/{itemId}')\n public getBookableCourseItem(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/single/{benefitId}', true)\n public getBookableSingleItem(_p0: any, _p1: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/course', true)\n public getCoursePlan(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/course/withdefaulthomestudio', true)\n public getCoursePlanWithDefaultHomeStudio(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/benefit/{benefitId}/trialsession', true)\n public getForTrialSession(_p0: any, _p1: any): any {\n /**/\n }\n\n @parseResult([\n 'bookableItems.slots.earliestBookingDateTime',\n 'bookableItems.slots.endDateTime',\n 'bookableItems.slots.latestBookingDateTime',\n 'bookableItems.slots.startDateTime',\n 'date'\n ])\n @Get('/nox/public/v1/bookableitems/course/nextavailable', true)\n public getNextAvailableCoursePlan(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/benefit/{benefitId}', true)\n public getSingleBenefit(_p0: any, _p1: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/benefits', true)\n public getSingleBenefits(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v1/bookableitems/course/upcoming', true)\n public getUpcomingCourses(_p0: any): any {\n /**/\n }\n}\n\nclass NoxBookableItemPublicControllerV2Blueprint\n implements NoxBookableItemPublicControllerV2 {\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/courses', true)\n public getCourseAppointmentsByBenefit(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'content.slots.earliestBookingDateTime',\n 'content.slots.endDateTime',\n 'content.slots.latestBookingDateTime',\n 'content.slots.startDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/courses/slice', true)\n public getCourseAppointmentsSliceByBenefit(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/courses/with-upcoming-appointment', true)\n public getCourseBenefitsWithUpcomingAppointment(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/courses/with-canceled', true)\n public getCoursePlanWithCanceledCourses(_p0: any): any {\n /**/\n }\n\n @parseResult([\n 'bookableItem.slots.earliestBookingDateTime',\n 'bookableItem.slots.endDateTime',\n 'bookableItem.slots.latestBookingDateTime',\n 'bookableItem.slots.startDateTime',\n 'bookableItem.upcomingAppointmentDateTime',\n 'date'\n ])\n @Get('/nox/public/v2/bookableitems/benefit/{benefitId}/nextavailable', true)\n public getNextAvailableSingleBenefit(_p0: any, _p1: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/benefit/{benefitId}', true)\n public getSingleBenefit(_p0: any, _p1: any): any {\n /**/\n }\n\n @parseResult([\n 'slots.earliestBookingDateTime',\n 'slots.endDateTime',\n 'slots.latestBookingDateTime',\n 'slots.startDateTime',\n 'upcomingAppointmentDateTime'\n ])\n @Get('/nox/public/v2/bookableitems/benefit/studio-events', true)\n public getStudioEventCourseBenefits(_p0: any): any {\n /**/\n }\n}\n\nclass NoxStudioControllerBlueprint implements NoxStudioController {\n @Get('/nox/public/v1/studios/any/logo')\n public getAnyStudioLogo(): any {\n /**/\n }\n\n @parseResult(['closingHoursDtos.from', 'closingHoursDtos.until'])\n @Get('/nox/v1/studios/home')\n public getHomeStudio(): any {\n /**/\n }\n\n @Get('/nox/v1/studios/{studioId}/utilization/reveal')\n public getRevealUtilization(_p0: any): any {\n /**/\n }\n\n @Get('/nox/public/v1/studios/{studioId}/utilization/reveal')\n public getRevealUtilizationPublic(_p0: any): any {\n /**/\n }\n\n @Get('/nox/public/v1/studios/{studioId}/sepa/agreement')\n public getSepaAgreementText(_p0: any): any {\n /**/\n }\n\n @Get('/nox/public/v1/studios/{studioId}/logo')\n public getStudioLogo(_p0: any): any {\n /**/\n }\n\n @parseResult(['closingHoursDtos.from', 'closingHoursDtos.until'])\n @Get('/nox/public/v1/studios/{studioId}')\n public getStudioPublic(_p0: any): any {\n /**/\n }\n\n @parseResult(['closingHoursDtos.from', 'closingHoursDtos.until'])\n @Get('/nox/public/v1/studios')\n public getStudiosPublic(): any {\n /**/\n }\n\n @Get('/nox/v1/studios/{studioId}/utilization')\n public getUtilization(_p0: any): any {\n /**/\n }\n\n @Get('/nox/public/v1/studios/{studioId}/utilization')\n public getUtilizationPublic(_p0: any): any {\n /**/\n }\n}\n\n// tslint:enable:no-any\n\nexport function getClient(\n endpoint: string,\n token: string | undefined,\n configure: (client: Pretend) => Pretend = client => client\n): NoExcuse {\n const bearerToken = (request: IPretendRequest) => {\n if (token) {\n request.options.headers = new Headers(request.options.headers);\n request.options.headers.set('Authorization', `bearer ${token}`);\n }\n return request;\n };\n\n return {\n NoxBookableItemPublicController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(NoxBookableItemPublicControllerBlueprint, endpoint),\n NoxBookableItemPublicControllerV2: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(NoxBookableItemPublicControllerV2Blueprint, endpoint),\n NoxStudioController: configure(Pretend.builder())\n .requestInterceptor(bearerToken)\n .target(NoxStudioControllerBlueprint, endpoint)\n };\n}\n","import { ZonedDateTime } from '@spa-frontend/date-lib';\nimport { Component, h } from 'preact';\nimport { Course } from '../../api';\nimport { config } from '../../config';\nimport { i18n } from '../../i18n';\nimport { classnames } from '../../utils/classnames';\nimport { compatibility } from '../compatibility';\nimport { Layout } from '../layout';\nimport { Progress } from '../progress';\nimport { Text } from '../text';\nimport styles from './index.css';\nimport { getEmployeeFullName } from \"../../utils/employee\";\n\nconst Container = compatibility('div');\n\ninterface CourseBoxProps {\n course: T;\n style?: any;\n onClick(course: T, ref?: HTMLDivElement): void;\n}\n\nconst Color = (props: { color: string }) => (\n
\n);\n\nexport class CourseBox extends Component {\n private ref?: HTMLDivElement;\n\n constructor(props: CourseBoxProps) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n }\n\n public render() {\n const className = classnames(\n styles.container,\n this.props.course.startDate.isBefore(\n ZonedDateTime.now(this.props.course.studio.zoneId)\n ) && styles.isPast,\n this.props.course.appointmentStatus === 'CANCELED' && styles.isCanceled\n );\n\n const { disableUtilization } = config.urlParams;\n\n return (\n \n \n {this.renderTitle()}\n {this.renderDate()}\n {disableUtilization ||\n !this.props.course.bookable ||\n this.props.course.bookedParticipants === 0\n ? null\n : this.renderProgress()}\n \n {this.renderTrainer()}\n {this.renderLocation()}\n \n \n \n );\n }\n\n private renderTitle() {\n const { course } = this.props;\n\n return (\n \n

{course.name}

\n \n
\n );\n }\n\n private renderDate() {\n const { course } = this.props;\n\n return (\n
\n \n {course.startDate.toTimeString()} -{' '}\n {course.endDate.toTimeString()}\n \n
\n );\n }\n\n private renderProgress() {\n const { course } = this.props;\n\n return (\n \n );\n }\n\n private renderLocation() {\n const location = this.props.course.locations\n .map(location => location.name)\n .join(', ');\n\n if (location) {\n return {location} || null;\n }\n\n return null;\n }\n\n private renderTrainer() {\n const trainer = this.props.course.employees\n .map(employee => getEmployeeFullName(employee))\n .join(', ');\n\n if (trainer) {\n return (\n {i18n.__('ms.widget.courseplan.with', trainer)} ||\n null\n );\n }\n\n return null;\n }\n\n private onClick() {\n if (this.props.course.appointmentStatus === 'CANCELED') {\n return;\n }\n \n this.props.onClick(this.props.course, this.ref);\n }\n}\n","import { h, Component } from 'preact';\nimport styles from './index.css';\n\ninterface ProgressProps {\n style?: any;\n current: number;\n max: number;\n}\n\nexport class Progress extends Component {\n public render() {\n const { current, max, style = {} } = this.props;\n const p = Math.round((current / max) * 100);\n const width = `${p}%`;\n\n return (\n
\n
\n
\n );\n }\n}\n","import { h, Component } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport { ColorType } from '../vars/color';\nimport colors from '../vars/color.css';\nimport { TextSize } from '../vars/text-size';\nimport sizes from '../vars/text-size.css';\nimport styles from './index.css';\n\ninterface TextProps {\n className?: string;\n color?: ColorType;\n size?: TextSize;\n bold?: boolean;\n ellipsis?: boolean;\n children?: preact.ComponentChildren;\n style?: any;\n}\n\nexport class Text extends Component {\n private get className() {\n const { bold, ellipsis, color = 'black', size } = this.props;\n\n return classnames(\n styles.text,\n this.props.className,\n bold && styles.bold,\n ellipsis && styles.ellipsis,\n color && colors[color],\n size && sizes[size]\n );\n }\n\n public render() {\n const { children, style = {} } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n","import { BookableEmployeeDto } from '../api/dtos';\n\nexport function getEmployeeFullName(employee: BookableEmployeeDto) {\n return employee.displayedName || `${employee.firstname} ${employee.lastname}`;\n}\n","import { h, Component } from 'preact';\nimport * as Portal from 'preact-portal';\nimport { classnames } from '../../utils/classnames';\nimport { compatibility } from '../compatibility';\nimport * as closeX from './assets/close.svg';\nimport styles from './index.css';\nimport { onViewState } from '../../config';\nimport { i18n } from '../../i18n';\n\ninterface ModalProps {\n open: boolean;\n children: any;\n top?: number;\n onDismiss(): void;\n onHeight?(height: number): void;\n}\n\ninterface ModalState {\n mobile?: boolean;\n}\n\nconst Backdrop = compatibility('div');\nconst CloseButton = compatibility('button');\n\nexport class Modal extends Component {\n private viewStateDisposer?: () => void;\n\n constructor(props: ModalProps) {\n super(props);\n\n this.onInnerEl = this.onInnerEl.bind(this);\n this.onKeyUp = this.onKeyUp.bind(this);\n\n this.state = {};\n }\n\n public componentDidMount() {\n this.viewStateDisposer = onViewState(viewState =>\n this.setState({ mobile: viewState === 'mobile' })\n );\n }\n\n public componentWillUnmount() {\n if (this.viewStateDisposer) {\n this.viewStateDisposer();\n }\n }\n\n public componentDidUpdate(prevProps: ModalProps) {\n if (!prevProps.open && this.props.open) {\n document.addEventListener('keyup', this.onKeyUp);\n }\n\n if (prevProps.open && !this.props.open) {\n document.removeEventListener('keyup', this.onKeyUp);\n }\n }\n\n public render() {\n const { open, children, onDismiss, top = 0 } = this.props;\n const className = classnames(styles.modal, open && styles.open);\n const innerClassName = classnames(\n styles.inner,\n this.state.mobile && styles.innerMobile\n );\n\n return (\n \n
\n \n {open ? (\n \n {children}\n \n \n {i18n.__('commons.close')}\n \n \n \n \n \n
\n ) : null}\n
\n \n );\n }\n\n private onInnerEl(el?: HTMLDivElement) {\n const { onHeight } = this.props;\n\n if (el && onHeight) {\n let height = 0;\n let tries = 0;\n\n const int = setInterval(() => {\n const rect = el!.getBoundingClientRect();\n\n if (rect.height && onHeight) {\n onHeight(rect.height);\n }\n\n if (height === rect.height && tries >= 10) {\n clearInterval(int);\n }\n\n height = rect.height;\n tries++;\n }, 16);\n }\n }\n\n private onKeyUp(e: KeyboardEvent) {\n // ESC\n if (e.keyCode === 27) {\n this.props.onDismiss();\n }\n }\n}\n","import { h, Component } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport { getColor, ColorType } from '../vars/color';\nimport styles from './index.css';\n\nexport interface SpinnerProps {\n className?: string;\n color?: ColorType;\n style?: any;\n}\n\nexport class Spinner extends Component {\n public render(): JSX.Element {\n const { color = 'black', style } = this.props;\n const colorStyle = { borderColor: getColor(color) };\n const className = classnames(styles.spinner, this.props.className);\n\n return (\n
\n );\n }\n}\n\nexport default Spinner;\n","import * as colors from './color.json';\n\nexport type ColorType =\n | 'white'\n | 'black'\n | 'coolgrey'\n | 'palegrey'\n | 'lightgrey'\n | 'sky'\n | 'sky-light'\n | 'sky-dark'\n | 'greenish'\n | 'greenish-dark'\n | 'greenish-light'\n | 'grapefruit'\n | 'grapefruit-light'\n | 'grapefruit-dark'\n | 'facebook'\n | 'facebook-light'\n | 'facebook-dark'\n | 'transparent';\n\nexport function getColor(val: ColorType): string {\n return colors[val.toUpperCase()];\n}\n","import { LocalDate, toLocalDate } from '@spa-frontend/date-lib';\nimport { Course, CourseGroups, Daytime } from '../api';\n\nexport function groupCoursesByDate(\n courses: Course[],\n [startDate, endDate]: [LocalDate, LocalDate]\n) {\n const groups = courses.reduce((memo, course) => {\n const key = toLocalDate(course.startDate).toString();\n\n if (!memo[key]) memo[key] = [];\n\n memo[key] = [...memo[key], course];\n\n return memo;\n }, {} as CourseGroups);\n\n let date = startDate;\n const sortedGroups: CourseGroups = {};\n\n while (date <= endDate) {\n const key = date.toString();\n\n if (!groups[key]) {\n sortedGroups[key] = [];\n } else {\n sortedGroups[key] = groups[key];\n }\n\n date = date.addDays(1);\n }\n\n return sortedGroups;\n}\n\nexport function getCourseHeaderDates(courseGroups: CourseGroups) {\n return Object.keys(courseGroups).map(key => toLocalDate(key));\n}\n\nexport function filterCourseGroupsByDaytime(\n courses: CourseGroups,\n daytime: Daytime\n) {\n const newCourses: CourseGroups = {};\n\n Object.entries(courses).forEach(([key, courses]) => {\n newCourses[key] = courses.filter(course => {\n const hours = course.startDate.getHours();\n\n switch (daytime) {\n case 'morning':\n return hours >= 0 && hours < 12;\n case 'noon':\n return hours >= 12 && hours < 14;\n case 'afternoon':\n return hours >= 14 && hours < 18;\n case 'evening':\n return hours >= 18 && hours <= 23;\n }\n });\n });\n\n return newCourses;\n}\n\nexport function emptyCourses(courseGroups: CourseGroups) {\n return (\n Object.values(courseGroups).some(courses => courses.length !== 0) ===\n false\n );\n}\n","import { Component, h } from 'preact';\nimport { getImage } from 'spa-cdn-image-util';\nimport { Course } from '../api';\nimport { Avatar } from '../components/avatar';\nimport { Button } from '../components/button';\nimport { CalendarItem } from '../components/calendar-item';\nimport { H1 } from '../components/headline';\nimport { Layout } from '../components/layout';\nimport { Text } from '../components/text';\nimport { ViewState, config } from '../config';\nimport { i18n } from '../i18n';\nimport styles from './detail.css';\nimport { getEmployeeFullName } from '../utils/employee';\n\ninterface CourseDetailProps {\n course: Course;\n viewState: ViewState;\n}\n\nexport class CourseDetail extends Component {\n private get trainerImage() {\n return this.props.course.employees[0]?.image\n ? getImage(\n 'https://cdn.mysports.com',\n this.props.course.employees[0].image,\n { resize: { width: 50 } }\n )\n : '';\n }\n\n private get trainerName() {\n return this.props.course.employees\n .map(employee => getEmployeeFullName(employee))\n .join(', ');\n }\n\n private get trainerDescription() {\n const set = this.props.course.employees.reduce((memo, employee) => {\n employee.employeeExpertises.forEach(expertise =>\n memo.add(expertise)\n );\n\n return memo;\n }, new Set());\n\n return Array.from(set).join(', ');\n }\n\n private get studioImage() {\n return this.props.course.studio.logoUrl;\n }\n\n private get studioName() {\n return this.props.course.studio.name;\n }\n\n private get studioAddress() {\n const { address } = this.props.course.studio;\n return (\n \n \n {address.street} {address.houseNumber} {address.addition}\n \n \n {address.zip} {address.city}\n \n \n );\n }\n\n private get date() {\n const dateFormatter = new Intl.DateTimeFormat(i18n.currentLocale, {\n dateStyle: 'full'\n });\n\n return dateFormatter.format(this.props.course.startDate.toDate());\n }\n\n private get time() {\n const timeFormatter = new Intl.DateTimeFormat(i18n.currentLocale, {\n hour: '2-digit',\n minute: '2-digit'\n });\n\n // prettier-ignore\n return `${timeFormatter.format(this.props.course.startDate.toDate())} - ${timeFormatter.format(this.props.course.endDate.toDate())}`;\n }\n\n public render() {\n const { course } = this.props;\n const mobile = this.props.viewState === 'mobile';\n const { disableEmployeeExpertises = false } = config.urlParams;\n\n return (\n \n \n \n \n \n

{course.name}

\n {course.description ? (\n {course.description}\n ) : null}\n
\n \n \n \n \n \n {this.date}\n \n {this.time}\n \n \n {this.trainerName && (\n \n \n \n \n {this.trainerName}\n \n {disableEmployeeExpertises ? null : (\n \n {this.trainerDescription}\n \n )}\n \n
\n )}\n \n \n \n \n {this.studioName}\n \n {this.studioAddress}\n \n
\n
\n \n {course.bookable ? (\n \n {this.renderBookingButton()}\n \n ) : null}\n \n
\n \n );\n }\n\n private renderBookingButton() {\n const { tenant, baseHost } = config;\n const studioId = this.props.course.studio.id;\n const alias = encodeURIComponent(btoa(`${tenant}:${studioId}`));\n const { course } = this.props;\n const href = `https://${baseHost}/studio/${alias}/booking/course/${course.id}`;\n\n return (\n \n \n \n );\n }\n}\n","import { h } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport styles from './index.css';\n\ninterface AvatarProps {\n src?: string;\n type: 'circle' | 'round-corner';\n style?: any;\n}\n\nexport const Avatar = ({ src, type, style = {} }: AvatarProps) => {\n const className = classnames(\n styles.avatar,\n type === 'circle' && styles.circle,\n type === 'round-corner' && styles.roundedCorner\n );\n\n return (\n \n );\n};\n","import { h, Component } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport styles from './index.css';\n\ninterface ButtonProps {\n primary?: boolean;\n}\n\nexport class Button extends Component {\n public render() {\n const className = classnames(\n styles.button,\n this.props.primary && styles.primary\n );\n\n return (\n \n );\n }\n}\n","import { h } from 'preact';\nimport styles from './index.css';\n\nexport const CalendarItem = (props: {\n month: string;\n day: number;\n style?: any;\n}) => (\n
\n
{props.month}
\n
{props.day}
\n
\n);\n","import { h } from 'preact';\nimport styles from './index.css';\n\nexport const H1 = (props: { style?: any; children: any }) => (\n

\n {props.children}\n

\n);\n","import { Component, h } from 'preact';\nimport { StudioExtendedDto } from '../api/dtos';\nimport { Layout } from '../components/layout';\nimport { Select } from '../components/select';\nimport { i18n } from '../i18n';\nimport styles from './filter.css';\n\ninterface CoursesFilterProps {\n style?: any;\n studios: StudioExtendedDto[];\n organizationUnitId?: number;\n onChangeStudio(id?: number): void;\n}\n\nexport class CoursesFilter extends Component {\n constructor(props: CoursesFilterProps) {\n super(props);\n\n this.state = {\n studios: []\n };\n }\n\n public render() {\n return (\n \n ({\n label: studio.name,\n value: studio.id\n }))}\n />\n \n );\n }\n}\n","import { h, Component } from 'preact';\nimport { classnames } from '../../utils/classnames';\nimport { ArrowDown } from '../arrow';\nimport { compatibility } from '../compatibility';\nimport { Layout } from '../layout';\nimport { Text } from '../text';\nimport styles from './index.css';\n\nexport interface SelectOption {\n label: string;\n value: T;\n}\n\ninterface SelectProps {\n value?: T;\n placeholder?: string;\n options: SelectOption[];\n onChange(value?: T): void;\n}\n\ninterface SelectState {\n open?: boolean;\n}\n\nconst Placeholder = compatibility('div');\nconst Option = compatibility('div');\n\nexport class Select extends Component {\n constructor(props: SelectProps) {\n super(props);\n\n this.state = {\n open: false\n };\n\n this.onChange = this.onChange.bind(this);\n this.onToggle = this.onToggle.bind(this);\n }\n\n public render() {\n const { open } = this.state;\n const { options, value, placeholder } = this.props;\n const selectedOption = options.find(option => option.value === value);\n const valueText = selectedOption ? selectedOption.label : placeholder;\n\n return (\n
\n \n \n {valueText}\n \n \n \n {open && (\n
\n {placeholder && (\n \n {placeholder}\n \n )}\n {options.map((option, i) => (\n \n {option.label}\n \n ))}\n
\n )}\n {this.renderSelect()}\n
\n );\n }\n\n private renderSelect() {\n const { options, placeholder, value } = this.props;\n\n return (\n \n \n {options.map((option, i) => (\n \n {option.label}\n \n ))}\n \n );\n }\n\n private getOptionClassName(option?: SelectOption) {\n const { value } = this.props;\n const hasValue = option && option.value === value;\n const noValue = !value && !option;\n\n return classnames(\n styles.option,\n (hasValue || noValue) && styles.optionSelected\n );\n }\n\n private onToggle() {\n this.setState({ open: !this.state.open });\n }\n\n private onChange(e: Event) {\n const target = e.currentTarget as HTMLElement;\n const index = parseInt(\n target.getAttribute('data-index') ||\n target.querySelector(':checked')!.getAttribute('data-index')!,\n 10\n );\n const option = this.props.options[index];\n\n this.props.onChange(option ? option.value : undefined);\n this.setState({ open: false });\n }\n}\n","import { h } from 'preact';\nimport * as leftSvg from './assets/left.svg';\nimport * as rightSvg from './assets/right.svg';\nimport styles from './index.css';\n\nexport const ArrowRight = () => ;\nexport const ArrowLeft = () => ;\nexport const ArrowDown = () => ;\n","import { LocalDate } from '@spa-frontend/date-lib';\nimport { Component, ComponentChildren, h } from 'preact';\nimport { ArrowLeft, ArrowRight } from '../components/arrow';\nimport { compatibility } from '../components/compatibility';\nimport { Layout } from '../components/layout';\nimport { Text } from '../components/text';\nimport { i18n } from '../i18n';\nimport { classnames } from '../utils/classnames';\nimport styles from './header.css';\n\ninterface CoursesHeaderProps {\n now: LocalDate;\n dates: LocalDate[];\n mobile?: boolean;\n loading?: boolean;\n style?: any;\n onNext(): void;\n onPrev(): void;\n}\n\nconst PrevButton = compatibility<{\n disabled?: boolean;\n children?: ComponentChildren;\n}>('button');\nconst NextButton = compatibility<{\n disabled?: boolean;\n children?: ComponentChildren;\n}>('button');\n\nexport class CoursesHeader extends Component {\n public render() {\n const { dates, mobile, style } = this.props;\n const weekdayFormatter = new Intl.DateTimeFormat(i18n.currentLocale, {\n weekday: 'long'\n });\n const dateFormatter = new Intl.DateTimeFormat(i18n.currentLocale, {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n });\n\n return (\n
\n {this.renderPrevButton()}\n \n {dates.map(date => (\n \n \n {weekdayFormatter.format(date.toDate())}\n \n {dateFormatter.format(date.toDate())}\n \n ))}\n \n {this.renderNextButton()}\n
\n );\n }\n\n private getColumnClass(date: LocalDate) {\n const past = date.isBefore(this.props.now);\n const today = date.isSameDay(this.props.now);\n\n return classnames(\n styles.column,\n past && styles.past,\n today && styles.active\n );\n }\n\n private renderPrevButton() {\n const { dates, loading, now } = this.props;\n const hidden = dates.some(date => date.isBefore(now));\n const className = classnames(styles.buttonPrev, hidden && styles.hide);\n\n return (\n \n \n \n );\n }\n\n private renderNextButton() {\n const { loading } = this.props;\n\n return (\n \n \n \n );\n }\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null]}