{"version":3,"sources":["../../.tmp/js/node_modules/browser-pack/_prelude.js","../../.tmp/js/app/es6scripts/ChoiceModal.js","../../.tmp/js/app/es6scripts/HTMLReferencedFunctions.js","../../.tmp/js/app/es6scripts/amcBusiness.js","../../.tmp/js/app/es6scripts/amcCharting2.js","../../.tmp/js/app/es6scripts/amcDATEVUploadButton.js","../../.tmp/js/app/es6scripts/amcDashBoardPanels.js","../../.tmp/js/app/es6scripts/amcPopUpHandlers.js","../../.tmp/js/app/es6scripts/asfApplication.js","../../.tmp/js/app/es6scripts/asfCharting.js","../../.tmp/js/app/es6scripts/asfComboBox.js","../../.tmp/js/app/es6scripts/asfConfirmationPopup.js","../../.tmp/js/app/es6scripts/asfControl.js","../../.tmp/js/app/es6scripts/asfControlCustomConstructors.js","../../.tmp/js/app/es6scripts/asfControlPreparators.js","../../.tmp/js/app/es6scripts/asfControlValidators.js","../../.tmp/js/app/es6scripts/asfCustomActionButton.js","../../.tmp/js/app/es6scripts/asfCustomActionButtonHandlers.js","../../.tmp/js/app/es6scripts/asfCustomTextAsLabel.js","../../.tmp/js/app/es6scripts/asfCustomTrigger.js","../../.tmp/js/app/es6scripts/asfCustomTriggerHandlers.js","../../.tmp/js/app/es6scripts/asfDashBoard.js","../../.tmp/js/app/es6scripts/asfDataEngine.js","../../.tmp/js/app/es6scripts/asfDataQuery.js","../../.tmp/js/app/es6scripts/asfDataService.js","../../.tmp/js/app/es6scripts/asfDate.js","../../.tmp/js/app/es6scripts/asfExport.js","../../.tmp/js/app/es6scripts/asfFocusTrail.js","../../.tmp/js/app/es6scripts/asfForm.js","../../.tmp/js/app/es6scripts/asfFormatter.js","../../.tmp/js/app/es6scripts/asfGlobalSearch.js","../../.tmp/js/app/es6scripts/asfHtmlEditor.js","../../.tmp/js/app/es6scripts/asfList.js","../../.tmp/js/app/es6scripts/asfLogging.js","../../.tmp/js/app/es6scripts/asfNavMenu.js","../../.tmp/js/app/es6scripts/asfNavStatusComponents.js","../../.tmp/js/app/es6scripts/asfNavigationEntry.js","../../.tmp/js/app/es6scripts/asfNavigationList.js","../../.tmp/js/app/es6scripts/asfNotification.js","../../.tmp/js/app/es6scripts/asfNumber.js","../../.tmp/js/app/es6scripts/asfObjectList.js","../../.tmp/js/app/es6scripts/asfObjectListHandlers.js","../../.tmp/js/app/es6scripts/asfObjectServerLocale.js","../../.tmp/js/app/es6scripts/asfObjectService.js","../../.tmp/js/app/es6scripts/asfPopup.js","../../.tmp/js/app/es6scripts/asfPromises.js","../../.tmp/js/app/es6scripts/asfReactControl.js","../../.tmp/js/app/es6scripts/asfRefSetCache.js","../../.tmp/js/app/es6scripts/asfScriptTabs.js","../../.tmp/js/app/es6scripts/asfScripts.js","../../.tmp/js/app/es6scripts/asfScripts3.js","../../.tmp/js/app/es6scripts/asfServerLocale.js","../../.tmp/js/app/es6scripts/asfStringExtensions.js","../../.tmp/js/app/es6scripts/asfSubMask.js","../../.tmp/js/app/es6scripts/asfTab.js","../../.tmp/js/app/es6scripts/asfTemplates.js","../../.tmp/js/app/es6scripts/asfUserProfile.js","../../.tmp/js/app/es6scripts/asfValueCache.js","../../.tmp/js/app/es6scripts/asfWizard.js","../../.tmp/js/app/es6scripts/asfWizardHandlers.js","../../.tmp/js/app/es6scripts/components/DATEVUserStatus.js","../../.tmp/js/app/es6scripts/components/HelloReact.js","../../.tmp/js/app/es6scripts/components/asfTranslated.js","../../.tmp/js/app/es6scripts/ic-autoheight.js","../../.tmp/js/app/es6scripts/ic-chart.js","../../.tmp/js/app/es6scripts/ic-dashpanel.js","../../.tmp/js/app/es6scripts/ic-list.js","../../.tmp/js/app/es6scripts/ic-submask.js","../../.tmp/js/app/es6scripts/ic-wizard.js","../../.tmp/js/app/es6scripts/main.js","../../.tmp/js/app/es6scripts/redux/index.js","../../.tmp/js/app/es6scripts/redux/slices/BusinessObjectSlice.js","../../.tmp/js/app/es6scripts/useIsMounted.js","../../.tmp/js/node_modules/@babel/runtime/helpers/defineProperty.js","../../.tmp/js/node_modules/@babel/runtime/helpers/extends.js","../../.tmp/js/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../.tmp/js/node_modules/@babel/runtime/helpers/objectSpread2.js","../../.tmp/js/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../.tmp/js/node_modules/@babel/runtime/helpers/toPrimitive.js","../../.tmp/js/node_modules/@babel/runtime/helpers/toPropertyKey.js","../../.tmp/js/node_modules/@babel/runtime/helpers/typeof.js","../../.tmp/js/node_modules/@reduxjs/toolkit/dist/index.js","../../.tmp/js/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../.tmp/js/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../.tmp/js/node_modules/classnames/index.js","../../.tmp/js/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../.tmp/js/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js","../../.tmp/js/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../.tmp/js/node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../.tmp/js/node_modules/immer/dist/immer.cjs.development.js","../../.tmp/js/node_modules/immer/dist/immer.cjs.production.min.js","../../.tmp/js/node_modules/immer/dist/index.js","../../.tmp/js/node_modules/process/browser.js","../../.tmp/js/node_modules/react-dom/cjs/react-dom.development.js","../../.tmp/js/node_modules/react-dom/cjs/react-dom.production.min.js","../../.tmp/js/node_modules/react-dom/client.js","../../.tmp/js/node_modules/react-dom/index.js","../../.tmp/js/node_modules/react-is/cjs/react-is.development.js","../../.tmp/js/node_modules/react-is/cjs/react-is.production.min.js","../../.tmp/js/node_modules/react-is/index.js","../../.tmp/js/node_modules/react-redux/lib/components/Context.js","../../.tmp/js/node_modules/react-redux/lib/components/Provider.js","../../.tmp/js/node_modules/react-redux/lib/components/connect.js","../../.tmp/js/node_modules/react-redux/lib/connect/invalidArgFactory.js","../../.tmp/js/node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../.tmp/js/node_modules/react-redux/lib/connect/mapStateToProps.js","../../.tmp/js/node_modules/react-redux/lib/connect/mergeProps.js","../../.tmp/js/node_modules/react-redux/lib/connect/selectorFactory.js","../../.tmp/js/node_modules/react-redux/lib/connect/verifySubselectors.js","../../.tmp/js/node_modules/react-redux/lib/connect/wrapMapToProps.js","../../.tmp/js/node_modules/react-redux/lib/exports.js","../../.tmp/js/node_modules/react-redux/lib/hooks/useDispatch.js","../../.tmp/js/node_modules/react-redux/lib/hooks/useReduxContext.js","../../.tmp/js/node_modules/react-redux/lib/hooks/useSelector.js","../../.tmp/js/node_modules/react-redux/lib/hooks/useStore.js","../../.tmp/js/node_modules/react-redux/lib/index.js","../../.tmp/js/node_modules/react-redux/lib/types.js","../../.tmp/js/node_modules/react-redux/lib/utils/Subscription.js","../../.tmp/js/node_modules/react-redux/lib/utils/batch.js","../../.tmp/js/node_modules/react-redux/lib/utils/bindActionCreators.js","../../.tmp/js/node_modules/react-redux/lib/utils/isPlainObject.js","../../.tmp/js/node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../.tmp/js/node_modules/react-redux/lib/utils/shallowEqual.js","../../.tmp/js/node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../.tmp/js/node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../.tmp/js/node_modules/react-redux/lib/utils/verifyPlainObject.js","../../.tmp/js/node_modules/react-redux/lib/utils/warning.js","../../.tmp/js/node_modules/react/cjs/react.development.js","../../.tmp/js/node_modules/react/cjs/react.production.min.js","../../.tmp/js/node_modules/react/index.js","../../.tmp/js/node_modules/redux-thunk/lib/index.js","../../.tmp/js/node_modules/redux/lib/redux.js","../../.tmp/js/node_modules/reselect/lib/defaultMemoize.js","../../.tmp/js/node_modules/reselect/lib/index.js","../../.tmp/js/node_modules/scheduler/cjs/scheduler.development.js","../../.tmp/js/node_modules/scheduler/cjs/scheduler.production.min.js","../../.tmp/js/node_modules/scheduler/index.js","../../.tmp/js/node_modules/timers-browserify/main.js","../../.tmp/js/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../.tmp/js/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../.tmp/js/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../.tmp/js/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../.tmp/js/node_modules/use-sync-external-store/shim/index.js","../../.tmp/js/node_modules/use-sync-external-store/shim/with-selector.js"],"names":[],"mappings":"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AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA;AACA;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1iEA;AACA;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACriEA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC5q6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;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;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/sBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC1nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"icomps.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n let acceptCallback = application.getFunction(acceptFunction, amcPopUpHandlers );\r\n if (typeof acceptCallback === \"function\") {\r\n acceptCallback.call(ctrl, content, isMounted, setContent);\r\n }\r\n }\r\n\r\n const dismiss = () => {\r\n let dismissCallback = application.getFunction(dismissFunction, amcPopUpHandlers);\r\n if (typeof dismissCallback === \"function\") {\r\n dismissCallback.call(ctrl, content, isMounted, setContent);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", accept);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismiss);\r\n q(\"#amcPopUpClose\").off(\"click\", dismiss);\r\n }\r\n }, [])\r\n\r\n if (content) {\r\n let formattedContent = application.Formatter.formatValue(format, content);\r\n application.Promises.onFormActivated().done( () => {\r\n\r\n q(\"#amcModalLabel\").html(label);\r\n q(\"#amcModelBody\").html(formattedContent);\r\n\r\n q(\"#amcPopUpAccept\").on(\"click\", accept);\r\n q(\"#amcPopUpDismiss\").on(\"click\", dismiss);\r\n q(\"#amcPopUpClose\").on(\"click\", dismiss);\r\n\r\n var myModel = $(\"#amcModal\").modal({\r\n keyboard: true,\r\n backdrop: \"static\"\r\n });\r\n\r\n })\r\n }\r\n\r\n return ();\r\n}","export { amcDashboard } from \"./amcDashBoardPanels.js\";\r\nexport {\r\n asfConfigNavStatusFilter,\r\n asfGenerateNavigation,\r\n asfSaveNavStatusFilter,\r\n} from \"./asfNavMenu.js\";\r\nexport { asfForm } from \"./asfForm.js\";\r\nexport {\r\n asfListFilterCallback,\r\n asfListSortCol,\r\n} from \"./asfList.js\";\r\nexport { asfObjectList } from \"./asfObjectList.js\"; // Wird benutzt, um Filter-Callback zu generieren.\r\nexport { asfObjectServerLocale } from \"./asfObjectServerLocale.js\";\r\nexport { asfSetLogLevel } from \"./asfLogging.js\";\r\nexport {\r\n asfSetupFilter,\r\n FocusControl\r\n} from \"./asfScriptTabs.js\";\r\nexport {\r\n BrandDocument,\r\n CanSubmit,\r\n ClosePopup,\r\n CloseWizardUpload,\r\n EmptySearchValues,\r\n GetApplication,\r\n Link,\r\n Login,\r\n Navigate,\r\n OpenWindowPdf,\r\n OpenWizard,\r\n OpenWizardLink,\r\n OpenWizardUpload,\r\n OpenWebSite,\r\n RestorePostData,\r\n SetFocus,\r\n SortBy,\r\n SubmitWith,\r\n UpdateNavigation,\r\n UpdateTitle,\r\n ValidateUploadFile\r\n} from \"./asfScripts.js\";\r\nexport { getMessage } from \"./asfTemplates.js\";\r\nexport {\r\n ExitApplication,\r\n InitApplication,\r\n} from \"./asfScripts3.js\";\r\nexport {\r\n amcExtendAssetSearch,\r\n amcGotoProvdTrx,\r\n amcHidePreview,\r\n amcInsertPrpPsnOwner,\r\n amcOpenDerivateAssetWizard,\r\n amcOpenQuickTrxAssetWizard,\r\n amcOpenTrxAssetWizard,\r\n amcOpenTrxAssetWizardFut,\r\n amcOpenTrxOptionWizard,\r\n amcPortfCalc,\r\n amcShowPreview,\r\n amcUpdatePortfPrpPsnOwner,\r\n CreateProtocol,\r\n requestAsset,\r\n} from \"./amcBusiness.js\";\r\nexport {\r\n ActivateNotification,\r\n CloseAllNotificationMessages,\r\n CloseNotificationMessage,\r\n ShowNotificationList,\r\n} from \"./asfNotification.js\";\r\nexport {\r\n toggleSearchBar\r\n} from \"./amcCharting2.js\";\r\n","import { GetApplication, OpenWebSite, OpenWindowPdf } from \"./asfScripts.js\";\r\nimport { asfLog } from \"./asfLogging.js\";\r\nimport { asfFormSetElementValue, asfFormGetElementValue, asfFormGetElementDefaultValue } from \"./asfForm.js\";\r\nimport { asfDate } from \"./asfDate.js\";\r\nimport { asfWizard } from \"./asfWizard.js\";\r\nimport { asfValSubmit, asfValCheck, asfValAutoComplete } from \"./asfScripts3.js\";\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-09-08\r\n//-- Ticket: #6100\r\n//-- Responsible: (ab)\r\n//-- Description: Fehlende Kurs/Stammdaten über Dialog auf Oberfläche anfordern\r\n//-- \r\n//-- Um einen Asset Stammdatenimport Auftrag für die Transaktionsart \"SEC\"\r\n// anzulegen werden die Benötigten Felder auf Gültigkeit geprüft.\r\n// Eine passende URL wird erzeugt, welche die Maske JobNew aufruft.\r\n// Callback 1 : amcRequestAssetReceiveData\r\n// Callback 2 : amcRequestAssetLoadError\r\n//-------------------------------------------------------------------------------\r\nexport function requestAsset() {\r\n\r\n var application = GetApplication();\r\n var formData = application.Wizard.QueryForm;\r\n var data = null;\r\n var result;\r\n var check = false;\r\n\r\n var keyValues =\r\n {\r\n AssetTrxKindCode_0_1: formData.getValue(\"AssetTrxKindCode_0_1\").trim()\r\n , AssetSearchValue_0_1: formData.getValue(\"AssetSearchValue_0_1\").trim()\r\n , AssetCcyCode_0_1: formData.getValue(\"AssetCcyCode_0_1\").trim()\r\n };\r\n\r\n var chkValues = [];\r\n\r\n switch (keyValues[\"AssetTrxKindCode_0_1\"]) {\r\n case \"Sec\":\r\n\r\n check = amcCheckRequestAssetData(keyValues, formData);\r\n if (check) {\r\n data = \"FormName=JobNew&NavStatus=JobNew&ObjectId=&Actions=Insert&Actions=Update&Actions=Delete&Actions=Cancel&Actions=&Actions=&Actions=JobRel&Actions=JobDel&Actions=JobReset&ObjectType=JobEImpPrice&IfSaveFalse=0&abNew=abNew&abTrue=abTrueDelete&abFalse=abFalse&abProvider=amcDisplay.CActions&CustomActions=3&CustomAction1=JobRel&CustomAction2=JobDel&CustomAction3=JobReset&CustomAssert1=0&CustomAssert2=0&CustomAssert3=0&FormName_0=JobNew&ImpTrx_0_1=0&RegTrx_0_1=0&ExpCapFlowFlag_0_1=0&ExpToComplFlag_0_1=0&Priority_0_1=-1&OwnerOrgId_0_1=AMC&ImpPriceTypeCode_0_1=MASTER&SourceId_0_1=TELEKURS&MasterIsinId_0_1={0}&MasterCcyCode_0_1={1}&AssetCcyCode_0_1=&RequireAssetContentCode_0_1={2}&MasterIdType_0_1=10&Insert=1\";\r\n data = data.formatURI(keyValues[\"AssetSearchValue_0_1\"], keyValues[\"AssetCcyCode_0_1\"], \"523\");\r\n };\r\n break;\r\n case \"Opt\":\r\n break;\r\n case \"Fut\":\r\n break;\r\n };\r\n\r\n if (check) {\r\n asfLog(\"send Asset Request\");\r\n\r\n result = application.ajaxWithAuthorization({\r\n \"url\": \"asfEdit.asp\",\r\n \"method\": \"POST\",\r\n \"data\": data,\r\n \"contentType\": \"application/x-www-form-urlencoded; charset=utf-8\",\r\n \"success\": function () { amcRequestAssetReceiveData(result); },\r\n \"error\": function () { amcRequestAssetLoadError(result); }\r\n });\r\n\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-09-08\r\n//-- Ticket: #6100\r\n//-- Responsible: (ab)\r\n//-- Description: Fehlende Kurs/Stammdaten über Dialog auf Oberfläche anfordern\r\n//-- Prüft die relevanten Felder je nach Transaktionsart auf Gültigkeit.\r\n//-- Retruns : Boolean\r\n//-------------------------------------------------------------------------------\r\nfunction amcCheckRequestAssetData(keyValues, formData) {\r\n\r\n var result = true;\r\n var application = GetApplication();\r\n var assetTrxKindCode = keyValues[\"AssetTrxKindCode_0_1\"];\r\n var myRefSet = application.RefSetCache;\r\n var myMessage = \"\";\r\n\r\n if (assetTrxKindCode) {\r\n switch (assetTrxKindCode) {\r\n case \"Sec\":\r\n\r\n formData.setMessage(\"AssetSearchValue_0_1\", \"\");\r\n formData.setMessage(\"AssetCcyCode_0_1\", \"\");\r\n\r\n if (keyValues[\"AssetSearchValue_0_1\"].length) {\r\n if (keyValues[\"AssetSearchValue_0_1\"].length === 6 || keyValues[\"AssetSearchValue_0_1\"].length === 12) {\r\n } else {\r\n result = false;\r\n //Bitte geben Sei eine WKN mit genau 6 Zeichen oder eine ISIN mit genau 12 Zeichen ein.\r\n myMessage = myRefSet.encodeValue(\"N![asfDecoding.CrsDecErrorCode]\", application.Globals.iCacsErrors.iCvJsInvalidWknOrIsin);\r\n formData.setMessage(\"AssetSearchValue_0_1\", myMessage);\r\n myMessage = \"\";\r\n };\r\n } else {\r\n result = false;\r\n //Mussfeld\r\n myMessage = myRefSet.encodeValue(\"N![asfDecoding.CrsDecErrorCode]\", application.Globals.iCacsErrors.iCvJsRequiredPropertyIsEmpty);\r\n formData.setMessage(\"AssetSearchValue_0_1\", myMessage);\r\n myMessage = \"\";\r\n\r\n }\r\n\r\n if (keyValues[\"AssetCcyCode_0_1\"] && keyValues[\"AssetCcyCode_0_1\"].length) {\r\n } else {\r\n result = false;\r\n //Mussfeld\r\n myMessage = myRefSet.encodeValue(\"N![asfDecoding.CrsDecErrorCode]\", application.Globals.iCacsErrors.iCvJsRequiredPropertyIsEmpty);\r\n formData.setMessage(\"AssetCcyCode_0_1\", myMessage);\r\n myMessage = \"\";\r\n\r\n };\r\n\r\n break;\r\n case \"Opt\":\r\n\r\n break;\r\n case \"Fut\":\r\n };\r\n }\r\n\r\n asfLog(\"Check Request Asset Result: \" + result);\r\n\r\n return result;\r\n}\r\n\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-09-08\r\n//-- Ticket: #6100\r\n//-- Responsible: (ab)\r\n//-- Description: Fehlende Kurs/Stammdaten über Dialog auf Oberfläche anfordern\r\n//-- Ist eine Callback Funktion welche in der Funktion requestAsset\r\n//-- ausgelöst wird. \r\n//-- Es wird ein watch Object angelegt, welches die Konfigurationsdaten\r\n//-- für das regelmäßige Pollen eines bestimmten Auftrages ist.\r\n//-- In der Eigenschaft resolver wird einen Funktion angegeben, welche\r\n// die Bendingungen enthält, ob der zu prüfende Auftrag als erfüllt\r\n// angesehen werden kann.\r\n//-------------------------------------------------------------------------------\r\nfunction amcRequestAssetReceiveData(arg) {\r\n\r\n asfLog(\"RequestAssetReceiveData\");\r\n\r\n var application = GetApplication();\r\n var mimeType;\r\n var data;\r\n var jobIdJobEImpPrice; // Import Kurse/Preise/Stammdaten [Stammdaten Asset]\r\n var jobIdJobSPreImpData; // Prüfung Importdaten (Wertpapier-Stammdaten)\r\n\r\n var objectIdSPreImpData = \"\";\r\n\r\n var objectType;\r\n var objectIdValues = [];\r\n var sortfields = [];\r\n\r\n var formData = application.Wizard.QueryForm;\r\n var myMessage = \"\";\r\n var myRefSet = null;\r\n\r\n // Import Kurse/Preise/Stammdaten [Stammdaten Asset]\r\n var watchEImpPrice = {\r\n source: \"JobsEImpPrice\",\r\n interval: 3000,\r\n resolver: function (data) {\r\n asfLog(\"EImpPrice Resolved\");\r\n\r\n if (application.Wizard) {\r\n asfLog(\"EImpPrice wizard open\");\r\n if (data && data.length) {\r\n asfLog(\"EImpPrice has Data\");\r\n\r\n var newSuggestion = data[0];\r\n if (newSuggestion.ObjStatus !== 10 && newSuggestion.ObjStatus !== 50) {\r\n this.cancel();\r\n\r\n switch (newSuggestion.ObjStatus) {\r\n case 59: //verarbeitet\r\n case 53: //mit Warnungen\r\n\r\n if (objectIdSPreImpData) {\r\n\r\n watchSPreImpData = $.extend(true, {}, watchSPreImpData);\r\n if (watchSPreImpData.source) {\r\n watchSPreImpData.query = application.DataService.getObjectQuery(watchSPreImpData.source) || \"\";\r\n watchSPreImpData.query = watchSPreImpData.query.formatURI(objectIdSPreImpData);\r\n }\r\n\r\n asfLog(\"Watch SPreImpData\");\r\n\r\n watchSPreImpData = application.DataService.watch(watchSPreImpData);\r\n\r\n }\r\n break;\r\n\r\n default: // other report errors\r\n asfLog(\"EImpPrice Error Status \" + newSuggestion.ObjStatus);\r\n application.Wizard.showLoadIndicator(false);\r\n //Das Anfordern der angegebenen Anlage konnte nicht verarbeitet werden.\r\n application.Wizard.setParam(\"Message\", \"-2147205925\"); //iCVRequireAssetJobHasInvalidStatus\r\n application.Wizard.query();\r\n };\r\n\r\n\r\n } //end if\r\n } else { // data\r\n asfLog(\"Bitte access token prüfen. Eventuell hat der angemeldete Benutzer keine Berechtigung den gesuchten Job zu sehen.\");\r\n } // data\r\n } else {\r\n asfLog(\"EImpPrice No Wizard\");\r\n this.cancel();\r\n }\r\n }\r\n };\r\n\r\n\r\n // Prüfung Importdaten (Wertpapier-Stammdaten)\r\n var watchSPreImpData = {\r\n source: \"JobsSPreImpData\", // Stößt den Geschäftsvorfall AssetPutNewReview an wird durch den JOBPARAM CONTENCODE=523 getriggert.\r\n interval: 3000,\r\n resolver: function (data) {\r\n asfLog(\"SPreImpData Resolved\");\r\n\r\n if (application.Wizard) {\r\n asfLog(\"SPreImpData wizard open\");\r\n\r\n if (data && data.length) {\r\n\r\n asfLog(\"SPreImpData has data\");\r\n\r\n var newSuggestion = data[0];\r\n if (newSuggestion.ObjStatus !== 10 && newSuggestion.ObjStatus !== 50) {\r\n this.cancel();\r\n application.deactivateContent($(\"#wizardData\").get(0));\r\n application.Wizard.showLoadIndicator(false);\r\n //Die angeforderte Anlage wurde importiert, der Anlagetyp passt jedoch nicht zur selektierten Transaktionsart.\r\n application.Wizard.setParam(\"Message\", \"-2147205923\"); //// iCacsErrors.iCVInvalidAssetTypeOfRequiredAsset\r\n\r\n application.Wizard.setCondition(\"SearchInPortfFlag\", 0);\r\n application.Wizard.setCondition(\"AssetTypeCode\", \"\");\r\n application.Wizard.setCondition(\"ObjStatus\", \"5\");\r\n\r\n asfLog(\"SPreImpData wizad query\");\r\n\r\n application.Wizard.query();\r\n }\r\n\r\n } else {\r\n asfLog(\"SPreImpData no data\");\r\n\r\n this.cancel();\r\n application.deactivateContent($(\"#wizardData\").get(0));\r\n application.Wizard.showLoadIndicator(false);\r\n // Der Abruf der Anlagestammdaten konnte nicht gestartet werden.\r\n application.Wizard.setParam(\"Message\", \"-2147205926\"); //iCVRequireAssetNoJobCreated\r\n application.Wizard.query();\r\n }\r\n\r\n } else {\r\n asfLog(\"SPreImpData no wizard\");\r\n this.cancel();\r\n }\r\n\r\n }\r\n };\r\n\r\n\r\n if (application) {\r\n myRefSet = application.RefSetCache;\r\n\r\n mimeType = arg.getResponseHeader(\"Content-Type\");\r\n if (mimeType === \"application/json\") {\r\n data = $.parseJSON(arg.responseText);\r\n asfLog(\"RequestAssetReceiveData data received\");\r\n if (data.ObjectId) {\r\n\r\n application.deactivateContent($(\"#wizardData\").get(0));\r\n\r\n myMessage = myRefSet.encodeValue(\"A!ClientMessages\", \"amcBusiness.WaitForAsset\");\r\n application.Wizard.showLoadIndicator(true, myMessage);\r\n myMessage = \"\";\r\n\r\n objectIdValues = data.ObjectId.splitObjectId(data.ObjectId, objectType);\r\n jobIdJobEImpPrice = objectIdValues[1];\r\n jobIdJobSPreImpData = jobIdJobEImpPrice + \"_\";\r\n\r\n //sortfields = [\"AMC\", jobIdJobSPreImpData, \"JobSPreImpData\"]\r\n sortfields = [objectIdValues[0], jobIdJobSPreImpData, \"JobSPreImpData\"];\r\n objectIdSPreImpData = objectIdSPreImpData.joinObjectId(sortfields)\r\n\r\n watchEImpPrice = $.extend(true, {}, watchEImpPrice);\r\n if (watchEImpPrice.source) {\r\n watchEImpPrice.query = application.DataService.getObjectQuery(watchEImpPrice.source) || \"\";\r\n watchEImpPrice.query = watchEImpPrice.query.formatURI(data.ObjectId);\r\n }\r\n\r\n asfLog(\"RequestAssetReceiveData watch EImpPrice\");\r\n watchEImpPrice = application.DataService.watch(watchEImpPrice);\r\n\r\n } else {\r\n asfLog(\"RequestAssetReceiveData no ObjectId\");\r\n application.deactivateContent($(\"#wizardData\").get(0));\r\n application.Wizard.showLoadIndicator(false);\r\n application.Wizard.setParam(\"Message\", \"-2147205926\"); //iCVRequireAssetNoJobCreated\r\n }\r\n } else {\r\n asfLog(\"RequestAssetReceiveData no data\");\r\n application.deactivateContent();\r\n application.Wizard.showLoadIndicator(false);\r\n application.showStaticContent(arg.responseText);\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction amcRequestAssetLoadError(arg) {\r\n var x = arg;\r\n\r\n asfLog(\"Asset Load Error\");\r\n}\r\n\r\n\r\nexport function amcOpenTrxAssetWizard(inURL, inLine) {\r\n var application = GetApplication();\r\n\r\n application.openWizard(inURL, inLine, false, amcSetTrxAssetDefaults);\r\n}\r\n\r\nexport function amcOpenTrxAssetWizardFut(inURL, inLine) {\r\n var application = GetApplication();\r\n\r\n application.openWizard(inURL, inLine, false, amcSetTrxAssetDefaultsFut);\r\n}\r\n\r\n\r\nexport function amcSetTrxAssetDefaults() {\r\n var wizard = this\r\n , trxCode = null\r\n , searchInPortfFlag = null;\r\n\r\n trxCode = wizard.getCondition(\"SearchTrxCode\");\r\n searchInPortfFlag = 1;\r\n\r\n switch (trxCode) {\r\n case \"KAUF\":\r\n case \"EINLIEF\":\r\n case \"UEBEIN\":\r\n case \"UEBEINZ\":\r\n case \"BEZUG\":\r\n case \"BEZUGSR\":\r\n case \"KFOPT\":\r\n case \"KFOPTS\":\r\n case \"ZEICHAU\":\r\n case \"ZEICHEI\":\r\n searchInPortfFlag = 0;\r\n }\r\n\r\n wizard.setCondition(\"SearchInPortfFlag\", searchInPortfFlag);\r\n\r\n}\r\n\r\nexport function amcSetTrxAssetDefaultsFut() {\r\n var wizard = this\r\n , trxCode = null\r\n , searchInPortfFlag = null;\r\n\r\n trxCode = wizard.getCondition(\"SearchTrxCode\");\r\n searchInPortfFlag = 1;\r\n\r\n switch (trxCode) {\r\n case \"KAUF\":\r\n case \"VERKAUF\":\r\n searchInPortfFlag = 0;\r\n }\r\n\r\n wizard.setCondition(\"SearchInPortfFlag\", searchInPortfFlag);\r\n\r\n}\r\n\r\n\r\n\r\n\r\nexport function amcOpenDerivateAssetWizard(inURL, inLine) {\r\n var application = GetApplication();\r\n\r\n application.openWizard(inURL, inLine, false, amcSetDerivateAssetDefaults);\r\n}\r\n\r\nfunction amcSetDerivateAssetDefaults() {\r\n var wizard = this\r\n , trxCode = null\r\n , searchInPortfFlag = null;\r\n\r\n trxCode = wizard.getCondition(\"SearchTrxCode\");\r\n searchInPortfFlag = 1;\r\n\r\n switch (trxCode) {\r\n case \"KAUF\":\r\n case \"VERKAUF\":\r\n searchInPortfFlag = 0;\r\n }\r\n wizard.setCondition(\"SearchInPortfFlag\", searchInPortfFlag);\r\n\r\n}\r\n\r\n\r\nexport function amcOpenTrxOptionWizard(inURL, inLine) {\r\n var application = GetApplication();\r\n\r\n application.openWizard(inURL, inLine, false, amcSetTrxOptionDefaults);\r\n}\r\n\r\nfunction amcSetTrxOptionDefaults() {\r\n var wizard = this\r\n , trxCode = null\r\n , searchInPortfFlag = null;\r\n\r\n trxCode = wizard.getCondition(\"SearchTrxCode\");\r\n searchInPortfFlag = 1;\r\n\r\n switch (trxCode) {\r\n case \"KAUF\":\r\n case \"UBEK\":\r\n case \"UBEV\":\r\n case \"UBEZK\":\r\n case \"UBEZV\":\r\n case \"VERKAUF\":\r\n case \"EINLK\":\r\n case \"EINLV\":\r\n searchInPortfFlag = 0;\r\n }\r\n\r\n wizard.setCondition(\"SearchInPortfFlag\", searchInPortfFlag);\r\n}\r\n\r\nexport function amcOpenQuickTrxAssetWizard(inURL, inLine) {\r\n var application = GetApplication();\r\n\r\n application.openWizard(inURL, inLine, false, amcSetQuickTrxAssetDefaults);\r\n}\r\n\r\nexport function amcSetQuickTrxAssetDefaults() {\r\n var wizard = this\r\n , quickTrxCode = null\r\n , searchInPortfFlag = 1;\r\n\r\n quickTrxCode = wizard.getCondition(\"SearchTrxCode\");\r\n\r\n switch (quickTrxCode) {\r\n case \"KFWP\":\r\n case \"EIWP\":\r\n searchInPortfFlag = 0;\r\n }\r\n\r\n wizard.setCondition(\"SearchInPortfFlag\", searchInPortfFlag);\r\n}\r\n\r\n\r\nexport function amcResolveObjectType(element, formData, param) {\r\n\r\n var application = GetApplication(true)\r\n var control = this\r\n var objectType = asfFormGetElementValue(element.form, element.name)\r\n var objectTypeElement = null\r\n\r\n objectTypeElement = element.form[\"ObjectType\"];\r\n if (objectTypeElement && objectType) {\r\n objectTypeElement.value = objectType;\r\n }\r\n\r\n}\r\n\r\n\r\nexport function amcResolveQuickTrxType(element, formData, param) {\r\n\r\n var application = GetApplication(true)\r\n var control = this\r\n var value = asfFormGetElementValue(element.form, element.name)\r\n var defaultValue = asfFormGetElementDefaultValue(element.form, element.name)\r\n var objectType = null\r\n var objectTypeElement = null\r\n var ctrlCashPsnAcctId = formData.Controls[\"CashPsnAcctId_0_1\"];\r\n\r\n if (value != defaultValue) {\r\n\r\n objectType = application.RefSetCache.encodeValue(\"A![aciBusiness.CrsQuickTrxObjectType]\", value);\r\n objectTypeElement = element.form[\"ObjectType\"];\r\n if (objectTypeElement) {\r\n objectTypeElement.value = objectType;\r\n }\r\n\r\n switch (value) {\r\n case \"EIWP\":\r\n formData.setValue(\"CashPsnAcctId\", \"\");\r\n break;\r\n case \"EIGV\":\r\n case \"AUGV\":\r\n case \"STGV\":\r\n case \"APGV\":\r\n case \"AKGV\":\r\n formData.setValue(\"SecPsnAcctId\", \"\");\r\n break;\r\n }\r\n\r\n asfValSubmit.call(control, element, formData, param);\r\n return false;\r\n\r\n }\r\n return true;\r\n}\r\n\r\n\r\nexport function amcValAsset(element, formData, param) {\r\n\r\n\r\n var control = this\r\n , elementName = (element && element.name) || formData.NameTemplate\r\n , elementValue = formData.getValue(elementName)\r\n , elementDefaultValue = control.Value\r\n , assetIdValue = formData.getValue(\"AssetId\")\r\n , assetIdDefaultValue = formData.getDefaultValue(\"AssetId\")\r\n , params = param.split(\"|\")\r\n , queryDef = params[0]\r\n , formName = params[1] || \"\"\r\n , application = GetApplication(true);\r\n\r\n asfLog(\"amcValAsset\");\r\n\r\n asfLog(\"valAsset, elementValue={0}, elementDefaultValue={1}, assetIdValue={2}, assetIdDefaultValue={3}\".format(elementValue, elementDefaultValue, assetIdValue, assetIdDefaultValue));\r\n\r\n function valAsset() {\r\n\r\n formData.setValue(\"TradePrice\", \"\");\r\n formData.setValue(\"TrxCcyFxRate\", \"\");\r\n formData.setValue(\"PlAcct1AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct1AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct2AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct2AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct3AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct3AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct4AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct4AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct5AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct5AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct6AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct6AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct7AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct7AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct8AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct8AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct9AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct9AmtTrxCcy\", \"\");\r\n formData.setValue(\"PlAcct10AmtAcctCcy\", \"\");\r\n formData.setValue(\"PlAcct10AmtTrxCcy\", \"\");\r\n formData.setValue(\"AmtAcctCcy\", \"\");\r\n\r\n asfLog(\"send ValSubmit\");\r\n\r\n return asfValSubmit.call(control, element, formData, formName);\r\n };\r\n\r\n\r\n if (assetIdValue !== assetIdDefaultValue) {\r\n /* Wizard: AssetId hat sich geändert -> nur Submit */\r\n return valAsset();\r\n } else if (elementValue && elementValue !== elementDefaultValue) {\r\n /* AutoComplete: AssetId hat sich nicht geändert, aber SecId ist unterschiedlich von letzter Validierung -> AutoComplete, bei Erfolg Submit*/\r\n asfLog(\"amcValAsset calls asfValAutoComplete, elementValue {0}, controlValue {1}\".format(elementValue, elementDefaultValue));\r\n return asfValAutoComplete.call(control, element, formData, queryDef, valAsset);\r\n }\r\n\r\n /* Es hat sich nichts geändert, oder der Wert ist leer */\r\n return true;\r\n}\r\n\r\n//export function amcValClearIfEmpty(element, formData, param) {\r\n// var control = this;\r\n// var params = param.split(\";\");\r\n// var elementValue = formData.getValue(control.Name);\r\n\r\n// if (!elementValue && elementValue != control.Value) {\r\n// params.forEach(function (item) {\r\n// formData.setValue(item, \"\");\r\n// });\r\n// }\r\n//}\r\n\r\nfunction amcSetTrxDocDefaults() {\r\n var application = GetApplication();\r\n var wizard = this;\r\n\r\n var docTypeCode = wizard.QueryForm.getValue(\"DocTypeCode_0_1\");\r\n var docTypeCodeDropDown = application.Formatter.formatValue(\"A!DefDocTypeCode\", docTypeCode);\r\n\r\n wizard.QueryForm.setValue(\"DocTypeCodeDropDown_0_1\", docTypeCodeDropDown);\r\n}\r\n\r\nexport function amcOpenCustomWizard(event, data, element, formData, params) {\r\n var application = GetApplication(true);\r\n var ctrl = this\r\n\r\n switch (formData.FormName) {\r\n case \"MasterPortfSecAcctTrxDet\":\r\n //Werpapiere + Optionen\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfSecAcctTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfSecAcctTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfSecAcctTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"MasterPortfFxmPsnTrxDet\":\r\n //Festgeld:\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfFxmPsnTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfFxmPsnTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfFxmPsnTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"MasterPortfFfxAcctTrxDet\":\r\n //Devisenterminkontrakte:\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfFfxAcctTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfFfxAcctTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfFfxAcctTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"MasterPortfFutAcctTrxDet\":\r\n //Futures:\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfFutAcctTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfFutAcctTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfFutAcctTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"MasterPortfCshAcctTrxDet\":\r\n //Geldvermögen:\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfCshAcctTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfCshAcctTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfCshAcctTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"MasterPortfPrpPsnTrxDet\":\r\n //Immobilien:\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_MasterPortfPrpPsnTrxDetTab1_OwnerOrgId;OwnerId;w_MasterPortfPrpPsnTrxDetTab1_PortfId;TrxNoNew;w_MasterPortfPrpPsnTrxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxSecDet\":\r\n //Erfasste Trx: Wertpapiere\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxSecDetTab1_OwnerOrgId;OwnerId;w_impTrxSecDetTab1_PortfId;TrxNoNew;w_impTrxSecDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxOptDet\":\r\n //Erfasste Trx: Optionen\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxOptDetTab1_OwnerOrgId;OwnerId;w_impTrxOptDetTab1_PortfId;TrxNoNew;w_impTrxOptDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxFxmDet\":\r\n //Erfasste Trx: Festgelder\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxFxmDetTab1_OwnerOrgId;OwnerId;w_impTrxFxmDetTab1_PortfId;TrxNoNew;w_impTrxFxmDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxFfxDet\":\r\n //Erfasste Trx: Devisenterminkontrakte\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxFfxDetTab1_OwnerOrgId;OwnerId;w_impTrxFfxDetTab1_PortfId;TrxNoNew;w_impTrxFfxDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxFutDet\":\r\n //Erfasste Trx: Futures\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxFutDetTab1_OwnerOrgId;OwnerId;w_impTrxFutDetTab1_PortfId;TrxNoNew;w_impTrxFutDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxCashDet\":\r\n //Erfasste Trx: Geldvermögen\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxCashDetTab1_OwnerOrgId;OwnerId;w_impTrxCashDetTab1_PortfId;TrxNoNew;w_impTrxCashDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n case \"impTrxPrpDet\":\r\n //Erfasste Trx: Immobilien\r\n application.openWizard('asfWizardStart.asp?FormName=wTrxDocMasterDet&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=TrxDoc&Default=OwnerOrgId;w_impTrxPrpDetTab1_OwnerOrgId;OwnerId;w_impTrxPrpDetTab1_PortfId;TrxNoNew;w_impTrxPrpDetTab1_TrxNo;DocGrpCode;StdDoc;ObjStatus;10;DocTypeCode;09;OwnerTypeCode;1;OwnerTypeCodeNew;6&ListForm=wDocMasterLst&SortFields=ModDate-&Target=TrxDocGrd_NewDocType;DocTypeCode;TrxDocGrd_NewDocDesc;DocDesc;TrxDocGrd_NewDocNo_v;DocNo', null, false, amcSetTrxDocDefaults);\r\n break;\r\n \r\n case \"MasterPortfDetExt\":\r\n case \"MasterPortfDet\":\r\n //Portfolio Dokumente:\r\n application.openWizard('asfWizardStart.asp?FormName=wUploadPortfDoc&ActionBar=abFileWizard&abProvider=amcDisplay.CUploadActions&FName=FileName_0_1&UPath=UploadPath_0_1&ObjectType=MasterPortfDoc&Default=OwnerOrgId;w_MasterPortfDetTab1_OwnerOrgId;OwnerId;w_MasterPortfDetTab1_PortfId;DocTypeCode;99;OwnerTypeCode;1;ObjStatus;10;WzdNoResultsListFlag;1&ListForm=wDocLst&SortFields=ModDate-&Target=MasterPortfDocGrd_NewDocType;DocTypeCode;MasterPortfDocGrd_NewDocDesc;DocDesc;MasterPortfDocGrd_NewDocNo_v;DocNo');\r\n break;\r\n\r\n default:\r\n // \r\n break;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nexport function amcValUpdateDoc(element, formData, param) {\r\n\r\n\r\n var control = this;\r\n var application = GetApplication(true);\r\n\r\n //var objectId = formData.getValue(\"ObjectId\");\r\n var trxNoNew = formData.getNumValue(\"TrxNo_0_1\");\r\n var docNo = formData.getNumValue(element.name);\r\n var docType = formData.getValue(\"NewDocType\", element.name);\r\n var docDesc = formData.getValue(\"NewDocDesc\", element.name);\r\n\r\n var data = {\r\n TrxNoNew: trxNoNew,\r\n DocNo: docNo,\r\n DocTypeCode: docType,\r\n DocDesc: docDesc\r\n }\r\n\r\n //application.ObjectService.postObject(objectId, data).done(function () {\r\n // amcReloadTrxDocSubLst(null, null, formData);\r\n //});\r\n\r\n application.ObjectService.postNewObject(\"TrxDoc\", data).done(function () {\r\n amcReloadTrxDocSubLst(null, null, formData);\r\n });\r\n\r\n\r\n return true;\r\n}\r\n\r\n\r\nexport function amcReloadTrxDocSubLst(data, element, formData, params, objectsData) {\r\n\r\n var ctrl = formData.getControl(\"TrxDocSubLst\");\r\n if (ctrl.ControlType) {\r\n amcInitTrxDocSubLst.call(ctrl, null, formData, [\"TrxDocSubLst\"], null);\r\n }\r\n ctrl = formData.getControl(\"TrxDocROSubLst\");\r\n if (ctrl.ControlType) {\r\n amcInitTrxDocSubLst.call(ctrl, null, formData, [\"TrxDocROSubLst\"], null);\r\n }\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport function amcValUpdateMasterPortfDoc(element, formData, param) {\r\n\r\n\r\n var control = this;\r\n var application = GetApplication(true);\r\n\r\n //var objectId = formData.getValue(\"ObjectId\");\r\n //var portfId = formData.getControlValue(\"PortfId_0_1\");\r\n\r\n //var docNo = formData.getNumValue(element.name);\r\n //var docType = formData.getValue(\"NewDocType\", element.name);\r\n\r\n //var data = {\r\n // DocNo: docNo,\r\n // DocTypeCode: docType,\r\n // OwnerId: portfId, //Das neu hochgeladene Dokument gehört nur dem Portfolio\r\n // OwnerTypeCode : 1 //Portfolio\r\n //}\r\n\r\n //application.ObjectService.postNewObject(\"MasterPortfDoc\", data).done(function () {\r\n // amcReloadMasterPortfDocSubLst(null, null, formData);\r\n //});\r\n\r\n amcReloadMasterPortfDocSubLst(null, null, formData);\r\n\r\n return true;\r\n}\r\n\r\n\r\n\r\nexport function amcReloadMasterPortfDocSubLst(data, element, formData, params, objectsData) {\r\n\r\n var ctrl = formData.getControl(\"MasterPortfDocSubLst\");\r\n amcInitMasterPortfDocSubLst.call(ctrl, null, formData, [\"MasterPortfDocSubLst\"], null);\r\n\r\n}\r\n\r\n\r\nexport function amcInitTrxDocSubLst(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"TrxDocSubLst\").done(function (myDocs) {\r\n if (myDocs.length) {\r\n formData.ObjectTabs[tabName].displayObjects(myDocs);\r\n } else {\r\n formData.ObjectTabs[tabName].hide();\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\nexport function amcInitMasterPortfDocSubLst(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"MasterPortfDocSubLst\").done(function (myDocs) {\r\n if (myDocs.length) {\r\n formData.ObjectTabs[tabName].displayObjects(myDocs);\r\n } else {\r\n formData.ObjectTabs[tabName].hide();\r\n }\r\n })\r\n }\r\n}\r\n\r\n//export function amcValTrxDate(element, formData, param) {\r\n\r\n// var control = this\r\n// , oldTradePrice = formData.getValue(\"TradePrice\")\r\n// , oldTrxCcyFxRate = formData.getValue(\"TrxCcyFxRate\")\r\n// , oldAcctCcyFxRate = formData.getValue(\"AcctCcyFxRate\")\r\n// , oldRefCcyFxRate = formData.getValue(\"RefCcyFxRate\")\r\n// , oldAssetIncFactor = formData.getValue(\"AssetIncFactor\")\r\n\r\n// , value = formData.getValue(control.Name)\r\n// , application = null;\r\n\r\n// if (value && value != control.Value) {\r\n// asfValCheck.call(control, element, formData, param);\r\n// application = GetApplication(true);\r\n\r\n// application.Promises.onCheck().done(function () {\r\n// formData.revalidate(\"TradePrice\", oldTradePrice, control.Name);\r\n// formData.revalidate(\"TrxCcyFxRate\", oldTrxCcyFxRate, control.Name);\r\n// formData.revalidate(\"AcctCcyFxRate\", oldAcctCcyFxRate, control.Name);\r\n// formData.revalidate(\"RefCcyFxRate\", oldRefCcyFxRate, control.Name);\r\n// formData.revalidate(\"AssetIncFactor\", oldAssetIncFactor, control.Name);\r\n// });\r\n// }\r\n\r\n// return true;\r\n//}\r\n\r\n\r\nexport function amcValPortfSectorComment(element, formData, param) {\r\n\r\n var control = this\r\n var groupId = formData.getValue(\"GroupId\")\r\n\r\n var value = formData.getValue(control.Name)\r\n var form$ = formData.get$();\r\n var form = formData.getForm();\r\n var groupIdName = null\r\n var groupTypeCodeName = null\r\n var comment = \"\"\r\n var groupTypeCode = null\r\n var inputs$ = null\r\n\r\n if (value && value != control.Value) {\r\n\r\n inputs$ = form$(form).find(\"input[value='\" + groupId + \"'][name^='GroupId_1']\")\r\n\r\n inputs$.each(function () {\r\n\r\n groupIdName = this.name\r\n\r\n var pos = groupIdName.indexOf(\"_\")\r\n groupTypeCodeName = \"GroupTypeCode\" + groupIdName.substr(pos, groupIdName.length);\r\n\r\n })\r\n if (groupIdName) {\r\n comment = formData.getValue(\"Comment\", groupIdName)\r\n formData.setValue(\"Comment\", comment, null, null, null, control.Name)\r\n } else {\r\n formData.setValue(\"Comment\", \"\", null, null, null, control.Name)\r\n }\r\n if (groupTypeCodeName) {\r\n groupTypeCode = formData.getValue(\"GroupTypeCode\", groupTypeCodeName)\r\n formData.setValue(\"GroupTypeCode\", groupTypeCode, null, null, null, control.Name)\r\n }\r\n\r\n setTimeout(function () { formData.focus(\"Comment_0_1\") }, 10)\r\n }\r\n\r\n return true;\r\n}\r\n\r\n\r\n\r\nexport function amcValCalcValueDate(element, formData, param) {\r\n\r\n var control = this;\r\n var value = formData.getValue(control.Name);\r\n var application = null;\r\n param = param || \"\";\r\n param = param.split(\";\");\r\n\r\n var valueDateName = (param && param[0]) || \"ValueDate\";\r\n var quickTrxCodeName = (param && param[1]) || \"QuickTrxCode\";\r\n var valueDate;\r\n var quickTrxCode;\r\n var dateFormatter;\r\n var date;\r\n var valueDateControl;\r\n var workdays = 0;\r\n\r\n if (value && value != control.Value) {\r\n valueDateControl = formData.getControl(valueDateName)\r\n valueDate = formData.getValue(valueDateName);\r\n if (!valueDate) {\r\n quickTrxCode = formData.getValue(quickTrxCodeName);\r\n\r\n switch (quickTrxCode) {\r\n case \"ERWP\":\r\n case \"AKGV\":\r\n case \"APGV\":\r\n case \"AUGV\":\r\n case \"EIGV\":\r\n case \"STGV\":\r\n case \"EFWP\":\r\n break;\r\n default:\r\n valueDateControl = formData.getControl(valueDateName);\r\n dateFormatter = new asfDate(valueDateControl.FormatType);\r\n date = dateFormatter.parse(value);\r\n while (date && workdays < 2) {\r\n date.setDate(date.getDate() + 1);\r\n if (dateFormatter.isWorkday(date)) {\r\n workdays += 1;\r\n }\r\n }\r\n value = dateFormatter.toString(date);\r\n }\r\n formData.setValue(valueDateName, value);\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nexport function amcValCalculateGrossAmtTrxCcy(element, formData, param) {\r\n var control = this\r\n var priceDivisor = 1\r\n var tradePrice = null\r\n var noNominal = null\r\n var poolFactor = null\r\n var assetIncFactor = null\r\n var quickTrxCode = null\r\n var sign = 0;\r\n\r\n if (control.Value != formData.getValue(control.Name)) {\r\n tradePrice = formData.getNumValue(\"TradePrice\");\r\n noNominal = formData.getNumValue(\"NoNominal\");\r\n poolFactor = formData.getNumValue(\"PoolFactor\") || 1;\r\n quickTrxCode = formData.getValue(\"QuickTrxCode\");\r\n\r\n sign = amcGetAssetIncSign(formData);\r\n if (sign) {\r\n assetIncFactor = formData.getNumValue(\"AssetIncFactor\");\r\n assetIncFactor = assetIncFactor && assetIncFactor * sign;\r\n }\r\n\r\n if (tradePrice && noNominal) {\r\n if (formData.getValue(\"AssetPriceTypeCode\") == \"2\") {\r\n priceDivisor = 100;\r\n }\r\n\r\n formData.setNumValue(\"GrossAmtTrxCcy\", noNominal * poolFactor * tradePrice / priceDivisor, true);\r\n if (quickTrxCode === \"SDWP\") {\r\n amcSetPlAcctAmtTrxCcy(formData, \"31\", noNominal * poolFactor * tradePrice / priceDivisor, true);\r\n }\r\n } else {\r\n formData.setNumValue(\"GrossAmtTrxCcy\", null, true);\r\n if (quickTrxCode === \"SDWP\") {\r\n amcSetPlAcctAmtTrxCcy(formData, \"31\", null, true);\r\n }\r\n }\r\n\r\n if (assetIncFactor) {\r\n if (priceDivisor == 1) {\r\n noNominal = noNominal * tradePrice;\r\n }\r\n\r\n amcSetPlAcctAmtTrxCcy(formData, \"8022000\", noNominal * poolFactor * assetIncFactor, true);\r\n }\r\n\r\n }\r\n}\r\n\r\n//export function amcValCalculateFxRate(element, formData, param) {\r\n// var control = this;\r\n// var params = param.split(\";\");\r\n// var sourceCcyCode = null;\r\n// var sourceFxRate = null;\r\n// var target1CcyCode = null;\r\n// var target1FxRate = null;\r\n// var target2CcyCode = null;\r\n// var target2FxRate = null;\r\n// var sourceCcy = null;\r\n\r\n// if (control.Value != formData.getValue(control.Name)) {\r\n// if (params.length >= 4) {\r\n// sourceCcyCode = params[0];\r\n// sourceFxRate = params[1];\r\n// target1CcyCode = params[2];\r\n// target1FxRate = params[3];\r\n// }\r\n\r\n// if (params.length === 6) {\r\n// target2CcyCode = params[4];\r\n// target2FxRate = params[5];\r\n// }\r\n\r\n// if (sourceCcyCode) {\r\n// sourceCcy = formData.getValue(sourceCcyCode);\r\n// }\r\n\r\n// if (sourceCcy && sourceCcy == formData.getValue(target1CcyCode)) {\r\n// formData.setValue(target1FxRate, formData.getValue(sourceFxRate), true);\r\n// }\r\n\r\n// if (sourceCcy && sourceCcy == formData.getValue(target2CcyCode)) {\r\n// formData.setValue(target2FxRate, formData.getValue(sourceFxRate), true);\r\n// }\r\n\r\n// amcConvertAmts(formData, control.Name);\r\n// }\r\n//}\r\n\r\nexport function amcValCalculateRefFxRate(element, formData, param) {\r\n var control = this;\r\n var calcAmts = param && param.includes(\"calcAmts\");\r\n\r\n var sourceCcy = null;\r\n var sourceName = null;\r\n var refCcy = null;\r\n var acctCcy = null;\r\n var trxCcy = null;\r\n var fxRate = null;\r\n\r\n if (control.Value != formData.getValue(control.Name)) {\r\n refCcy = formData.getValue(\"RefCcyCode\");\r\n acctCcy = formData.getValue(\"AcctCcyCode\");\r\n trxCcy = formData.getValue(\"TrxCcyCode\");\r\n\r\n if (control.Name.includes(\"TrxRefCcyFxRate\")) {\r\n sourceCcy = trxCcy;\r\n if (sourceCcy && refCcy && sourceCcy != refCcy) {\r\n fxRate = formData.getNumber(\"TrxRefCcyFxRate\");\r\n fxRate.multiply(formData.getNumValue(\"RefCcyFxRate\"));\r\n formData.setValue(\"TrxCcyFxRate\", fxRate.getValue(), false);\r\n }\r\n sourceName = \"TrxCcyFxRate\";\r\n } else if (control.Name.includes(\"AcctRefCcyFxRate\")) {\r\n sourceCcy = acctCcy;\r\n if (sourceCcy && refCcy && sourceCcy != refCcy) {\r\n fxRate = formData.getNumber(\"AcctRefCcyFxRate\");\r\n fxRate.multiply(formData.getNumValue(\"RefCcyFxRate\"));\r\n formData.setValue(\"AcctCcyFxRate\", fxRate.getValue(), false);\r\n }\r\n sourceName = \"AcctCcyFxRate\";\r\n } else if (control.Name.includes(\"TrxCcyFxRate\")) {\r\n sourceCcy = trxCcy;\r\n sourceName = control.Name;\r\n } else if (control.Name.includes(\"AcctCcyFxRate\")) {\r\n sourceCcy = acctCcy;\r\n sourceName = control.Name;\r\n } else if (control.Name.includes(\"RefCcyFxRate\")) {\r\n sourceCcy = refCcy;\r\n sourceName = control.Name;\r\n }\r\n\r\n fxRate = formData.getNumValue(sourceName);\r\n\r\n\r\n\r\n\r\n if (calcAmts) {\r\n amcConvertAmts(formData, sourceName);\r\n }\r\n\r\n if (!sourceName.includes(\"TrxCcyFxRate\") && trxCcy == sourceCcy) {\r\n formData.setValue(\"TrxCcyFxRate\", fxRate, true);\r\n }\r\n\r\n if (!sourceName.includes(\"AcctCcyFxRate\") && acctCcy == sourceCcy) {\r\n formData.setValue(\"AcctCcyFxRate\", fxRate, true);\r\n }\r\n\r\n if (!sourceName.includes(\"RefCcyFxRate\") && refCcy == sourceCcy) {\r\n formData.setValue(\"RefCcyFxRate\", fxRate, true);\r\n }\r\n\r\n if (trxCcy && refCcy) {\r\n fxRate = formData.getNumber(\"TrxCcyFxRate\");\r\n fxRate.divide(formData.getNumValue(\"RefCcyFxRate\"));\r\n formData.setValue(\"TrxRefCcyFxRate\", fxRate.getValue(), false);\r\n }\r\n\r\n if (acctCcy && refCcy) {\r\n fxRate = formData.getNumber(\"AcctCcyFxRate\");\r\n fxRate.divide(formData.getNumValue(\"RefCcyFxRate\"));\r\n formData.setValue(\"AcctRefCcyFxRate\", fxRate.getValue(), false);\r\n }\r\n\r\n }\r\n}\r\n\r\nfunction amcConvert(formData, sourceName, targetName, sourceRateName, targetRateName, validate) {\r\n\r\n var sourceValue = formData.getNumber(sourceName)\r\n , sourceRate = null\r\n , targetValue = null\r\n , targetRate = null;\r\n\r\n if (sourceValue && sourceValue.isValid()) {\r\n sourceRate = formData.getNumValue(sourceRateName);\r\n targetRate = formData.getNumValue(targetRateName);\r\n\r\n if (sourceRate && targetRate) {\r\n targetValue = formData.getNumber(targetName);\r\n if (targetValue && (sourceRate !== targetRate || sourceValue.getValue() != targetValue.getValue())) {\r\n targetValue.parse(sourceValue.getValue());\r\n targetValue.convert(sourceRate, targetRate);\r\n if (targetValue.toString() !== formData.getValue(targetName)) {\r\n formData.setValue(targetName, targetValue.getValue(), validate);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function amcValAmt(element, formData, param) {\r\n\r\n var control = this\r\n var sourceName = control.Name\r\n var params = param.split(\";\")\r\n var sourceRateName = null\r\n var target1RateName = null\r\n var target1Name = null\r\n var target2RateName = null\r\n var target2Name = null\r\n var value = formData.getValue(control.Name);\r\n\r\n if (control.Value != value) {\r\n\r\n if (params.length >= 3) {\r\n sourceRateName = params[0];\r\n target1RateName = params[1];\r\n target1Name = params[2];\r\n\r\n if (value) {\r\n amcConvert(formData, sourceName, target1Name, sourceRateName, target1RateName, false);\r\n } else {\r\n formData.setValue(target1Name, \"\");\r\n }\r\n }\r\n\r\n if (params.length >= 5) {\r\n target2RateName = params[3];\r\n target2Name = params[4];\r\n\r\n if (value) {\r\n amcConvert(formData, sourceName, target2Name, sourceRateName, target2RateName, false);\r\n } else {\r\n formData.setValue(target2Name, \"\");\r\n }\r\n }\r\n\r\n amcCalculateTrxAmt(formData, sourceName);\r\n }\r\n}\r\n\r\nexport function amcValTransferAmt(element, formData, param) {\r\n\r\n var control = this\r\n var sourceName = control.Name\r\n var params = param.split(\";\")\r\n var sourceRateName = null\r\n var target1RateName = null\r\n var target1Name = null\r\n var target2RateName = null\r\n var target2Name = null\r\n var value = formData.getValue(control.Name);\r\n\r\n if (control.Value != value) {\r\n\r\n if (params.length >= 3) {\r\n sourceRateName = params[0];\r\n target1RateName = params[1];\r\n target1Name = params[2];\r\n\r\n if (value) {\r\n amcConvert(formData, sourceName, target1Name, sourceRateName, target1RateName, false);\r\n } else {\r\n formData.setValue(target1Name, \"\");\r\n }\r\n }\r\n\r\n if (params.length >= 5) {\r\n target2RateName = params[3];\r\n target2Name = params[4];\r\n\r\n if (value) {\r\n amcConvert(formData, sourceName, target2Name, sourceRateName, target2RateName, false);\r\n } else {\r\n formData.setValue(target2Name, \"\");\r\n }\r\n }\r\n\r\n amcCalculateTrxAmt(formData, sourceName);\r\n amcValCalcAfterTrxAmt.apply(control, [element, formData, \"QuickTrxCode;CurrentAmtAcctCcy2;AfterTrxAmtAcctCcy2;GrossAmtAcctCcy;true\"])\r\n }\r\n}\r\n\r\nfunction amcCalculateCcyTrxAmt(formData, sourceName, signs, amtName, grossAmtName, altAmtName, altGrossAmtName, nominalName, tradePriceName) {\r\n var amt = null\r\n var value = null\r\n var name = \"\"\r\n var j = 0\r\n var result = null\r\n var plAcctAmtName = amtName;\r\n var quickTrxCode = null;\r\n var nominal = null;\r\n var tradePrice = null;\r\n\r\n amt = formData.getNumber(amtName);\r\n quickTrxCode = formData.getValue(\"QuickTrxCode\");\r\n\r\n if (!amt) {\r\n amtName = altAmtName;\r\n grossAmtName = altGrossAmtName;\r\n amt = formData.getNumber(amtName);\r\n }\r\n if (amt) {\r\n\r\n if (quickTrxCode === \"SDWP\") {\r\n //Stockdividende\r\n if (sourceName.startsWith(\"GrossAmt\")) {\r\n value = formData.getNumValue(grossAmtName)\r\n } else {\r\n value = amcGetPlAcctAmtTrxCcy(formData, \"31\", plAcctAmtName);\r\n formData.setValue(grossAmtName, value, false);\r\n if (value && nominalName && tradePriceName) {\r\n nominal = formData.getNumValue(nominalName);\r\n if (nominal) {\r\n formData.setNumValue(tradePriceName, value / nominal, false);\r\n }\r\n }\r\n }\r\n\r\n\r\n value = -value;\r\n } else {\r\n value = formData.getNumValue(grossAmtName);\r\n }\r\n amt.parse(value);\r\n for (j = 0; j < 10; j += 1) {\r\n if (signs[j]) {\r\n name = \"PlAcct\" + String(j + 1) + plAcctAmtName;\r\n value = formData.getNumValue(name);\r\n if (value) {\r\n amt.add(signs[j] * value);\r\n }\r\n }\r\n }\r\n\r\n result = amt.getValue();\r\n formData.setValue(amtName, result, true);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction amcCalculateTrxAmt(formData, sourceName) {\r\n\r\n var signs = amcGetPlAcctSigns(formData)\r\n , result = null;\r\n\r\n result = amcCalculateCcyTrxAmt(formData, sourceName, signs, \"AmtAcctCcy\", \"GrossAmtAcctCcy\", \"AmtAcctCcyDisplay\", \"GrossAmtTrxCcy\");\r\n amcCalculateCcyTrxAmt(formData, sourceName, signs, \"AmtTrxCcy\", \"GrossAmtTrxCcy\", \"AmtTrxCcy1\", \"GrossAmtTrxCcy\", \"NoNominal\", \"TradePrice\");\r\n amcCalculateCcyTrxAmt(formData, sourceName, signs, \"AmtRefCcy\", \"GrossAmtRefCcy\", \"AmtRefCcy1\", \"GrossAmtRefCcy\");\r\n\r\n return result;\r\n}\r\n\r\nfunction amcSetPlAcctAmtTrxCcy(formData, nomAcctId, value, validate) {\r\n\r\n var j = 0\r\n var name = null;\r\n var plAcctId = null;\r\n var application = GetApplication();\r\n\r\n for (j = 1; j <= 10; j += 1) {\r\n name = \"PlAcct\" + String(j) + \"AmtTrxCcy\";\r\n plAcctId = formData.getValue(\"PlAcct\" + String(j) + \"Id\")\r\n if (plAcctId == nomAcctId || (nomAcctId.length < 7 && application.RefSetCache.encodeValue(\"A![aciBusiness.CrsLedgerAcctClass]\", plAcctId) == nomAcctId)) {\r\n formData.setNumValue(name, value, validate);\r\n break;\r\n }\r\n }\r\n\r\n return name;\r\n}\r\n\r\n\r\nfunction amcGetPlAcctAmtTrxCcy(formData, nomAcctId, ccyAmtSuffix) {\r\n\r\n var j = 0\r\n var name = null;\r\n var plAcctId = null;\r\n var application = GetApplication();\r\n var result = 0;\r\n\r\n for (j = 1; j <= 10; j += 1) {\r\n name = \"PlAcct\" + String(j) + ccyAmtSuffix;\r\n plAcctId = formData.getValue(\"PlAcct\" + String(j) + \"Id\")\r\n if (plAcctId == nomAcctId || (nomAcctId.length < 7 && application.RefSetCache.encodeValue(\"A![aciBusiness.CrsLedgerAcctClass]\", plAcctId) == nomAcctId)) {\r\n result += formData.getNumValue(name);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction amcConvertAmts(formData, sourceName) {\r\n var sourceAmtName = \"\"\r\n , targetRateName = \"\"\r\n , targetAmtName = \"\"\r\n , j = 0;\r\n\r\n targetRateName = \"AcctCcyFxRate\";\r\n if (sourceName.indexOf(\"AcctCcy\") >= 0 || sourceName.indexOf(\"TrxCcy\") >= 0) {\r\n amcConvert(formData, \"GrossAmtTrxCcy\", \"GrossAmtAcctCcy\", \"TrxCcyFxRate\", targetRateName, false);\r\n\r\n for (j = 0; j < 10; j += 1) {\r\n sourceAmtName = \"PlAcct\" + String(j + 1) + \"AmtTrxCcy\";\r\n targetAmtName = \"PlAcct\" + String(j + 1) + \"AmtAcctCcy\";\r\n\r\n amcConvert(formData, sourceAmtName, targetAmtName, \"TrxCcyFxRate\", targetRateName, false);\r\n }\r\n }\r\n\r\n targetRateName = \"RefCcyFxRate\";\r\n if (sourceName.indexOf(\"RefCcy\") >= 0 || sourceName.indexOf(\"TrxCcy\") >= 0) {\r\n amcConvert(formData, \"GrossAmtTrxCcy\", \"GrossAmtRefCcy\", \"TrxCcyFxRate\", targetRateName, false);\r\n\r\n for (j = 0; j < 10; j += 1) {\r\n sourceAmtName = \"PlAcct\" + String(j + 1) + \"AmtTrxCcy\";\r\n targetAmtName = \"PlAcct\" + String(j + 1) + \"AmtRefCcy\";\r\n\r\n amcConvert(formData, sourceAmtName, targetAmtName, \"TrxCcyFxRate\", targetRateName, false);\r\n }\r\n }\r\n\r\n amcCalculateTrxAmt(formData);\r\n}\r\n\r\nfunction amcGetAssetIncSign(formData) {\r\n var sign = 0\r\n , trxCode = formData.getValue(\"TrxCodeDisplay\");\r\n\r\n\r\n switch (trxCode) {\r\n case \"KAUF\":\r\n case \"KFOPT\":\r\n case \"KFOPTS\":\r\n case \"EINLIEF\":\r\n case \"UMBUCH\":\r\n sign = -1;\r\n break;\r\n case \"VERKAUF\":\r\n case \"VKOPT\":\r\n case \"VKOPTL\":\r\n case \"AUSLIEF\":\r\n case \"ENDFL\":\r\n sign = 1;\r\n break;\r\n }\r\n\r\n return sign;\r\n}\r\n\r\nfunction amcGetPlAcctSigns(formData) {\r\n var application = GetApplication(true);\r\n var result = [];\r\n var j = 0;\r\n var id = \"\";\r\n var name = \"\";\r\n var sign = -1;\r\n var ledgerAcctSign = \"1\";\r\n var trxCode = formData.getValue(\"QuickTrxCode\");\r\n\r\n\r\n switch (trxCode) {\r\n case \"EIWP\":\r\n case \"KFWP\":\r\n case \"AUGV\":\r\n case \"APGV\":\r\n case \"AKGV\":\r\n case \"TRGV\":\r\n sign = 1;\r\n }\r\n\r\n for (j = 0; j < 10; j += 1) {\r\n name = \"PlAcct\" + String(j + 1) + \"Id\";\r\n id = formData.getValue(name);\r\n if (id) {\r\n ledgerAcctSign = application.RefSetCache.encodeValue(\"A![aciBusiness.CrsLedgerAcctDef]\", id)\r\n if (ledgerAcctSign === \"1\") {\r\n result[j] = -sign;\r\n } else {\r\n result[j] = sign;\r\n }\r\n } else {\r\n result[j] = 0;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function amcValCheckPlAcctDesc(element, formData, param) {\r\n var control = this\r\n , value = formData.getValue(control.Name)\r\n , application = null;\r\n\r\n if (control.Value != value) {\r\n application = GetApplication(true);\r\n\r\n asfValCheck.call(control, element, formData, param);\r\n application.Promises.onCheck().done(function () {\r\n amcCalculateTrxAmt(formData);\r\n });\r\n } else {\r\n amcCalculateTrxAmt(formData);\r\n }\r\n}\r\n\r\nexport function amcValCalcAfterTrxAmt(element, formData, param) {\r\n\r\n var control = this;\r\n var params = param.split(\";\");\r\n\r\n var trxCodeName = params[0];\r\n var currentAmtName = params[1];\r\n var afterTrxAmtName = params[2];\r\n var trxAmtName = params[3] || control.Name;\r\n var isReceiving = !!(params[4]);\r\n\r\n var value = formData.getNumValue(trxAmtName);\r\n var trxCode = formData.getValue(trxCodeName);\r\n var currentAmt = formData.getNumValue(currentAmtName);\r\n var sign = 1;\r\n\r\n switch (trxCode) {\r\n case \"KFWP\":\r\n case \"AUGV\":\r\n case \"APGV\":\r\n case \"AKGV\":\r\n case \"TRGV\":\r\n sign = -1;\r\n }\r\n\r\n if (isReceiving) {\r\n sign = -sign;\r\n }\r\n\r\n if (!isNaN(currentAmt) && !isNaN(value)) {\r\n formData.setNumValue(afterTrxAmtName, currentAmt + sign * value, false);\r\n } else {\r\n formData.setValue(afterTrxAmtName, null, false);\r\n }\r\n}\r\n\r\nexport function amcPrepReportSetChoiceCheckBox(element, formData, param) {\r\n var control = this\r\n , targetName = \"\"\r\n , sourceNames = []\r\n , flagNames = []\r\n , params = param ? param.split(\";\") : []\r\n , i = 1;\r\n\r\n if (params.length) {\r\n targetName = formData.getControlName(params[0], control.Name);\r\n }\r\n\r\n while (i < params.length) {\r\n sourceNames.push(formData.getControlName(params[i], control.Name));\r\n\r\n if (i + 1 < params.length) {\r\n flagNames.push(formData.getControlName(params[i + 1], control.Name));\r\n } else {\r\n flagNames.push(\"\");\r\n }\r\n\r\n i += 2;\r\n }\r\n\r\n var func = function () {\r\n var i = 0\r\n , elementName = \"\"\r\n , value = \"\";\r\n\r\n if (element && element.checked) {\r\n for (i = 0; i < flagNames.length; i += 1) {\r\n if (element.name === flagNames[i]) {\r\n elementName = sourceNames[i];\r\n } else {\r\n formData.setValue(flagNames[i], 0, false, false, false);\r\n }\r\n }\r\n\r\n if (elementName) {\r\n value = formData.getValue(elementName);\r\n formData.setValue(targetName, value, false, false, false);\r\n }\r\n }\r\n };\r\n\r\n element.onchange = func;\r\n\r\n func();\r\n\r\n return true;\r\n}\r\n\r\nexport function amcShowPreview(link) {\r\n var pos = link.getBoundingClientRect();\r\n\r\n $(link).find(\".reportPreview\").first().each(function () {\r\n this.style.cssText = \"display: block; left: {0}px; top: {1}px;\".format(Math.round(pos.left - 320), Math.round(pos.top - 10));\r\n $(\"#preview\").html(this.outerHTML).show();\r\n this.style.cssText = \"\";\r\n });\r\n\r\n\r\n}\r\n\r\nexport function amcHidePreview(link) {\r\n\r\n $(\"#preview\").hide();\r\n //$(link).find(\".reportPreview\").first().each(function () {\r\n // this.style.cssText = \"\";\r\n //});\r\n\r\n}\r\n\r\nexport function amcPortfCalc(element, objectId) {\r\n var application = GetApplication(true);\r\n var url = \"asfEdit.asp\";\r\n var data = \"NavStatus=MasterPortfDet&ObjectId={0}&FormName=MasterPortfDet&ObjectId_0_1={0}&FormName_0=MasterPortfDetTab1&Actions=PortfCalc&CustomActions=1&CustomAction1=PortfCalc&PortfCalc=1\";\r\n\r\n data = data.formatURI(objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n url: url,\r\n data: data,\r\n method: \"POST\"\r\n });\r\n\r\n $(element).closest(\".ic-dashpanel\").dashpanel(\"refresh\");\r\n\r\n return false;\r\n}\r\n\r\nexport function amcPortfolioSearchDisplay(portfolio) {\r\n return [(portfolio.Name1 || \"\"), (portfolio.Name2 || \"\")].join(\" / \");\r\n}\r\n\r\nexport function amcShowCollectiveTrxs(data, element, formData, params, objectsData) {\r\n var ctrl = this\r\n var application = GetApplication();\r\n var objectData = (objectsData && objectsData[0]) || null\r\n var tabName = params[0]\r\n\r\n if (objectData && tabName && formData.ObjectTabs[tabName]) {\r\n amcFixCollectiveTrxs(element, formData, params)\r\n\r\n application.ObjectService.getLinkedObjects(objectData.$objectId, \"CollectiveTrxs\").done(function (collectiveTrxs) {\r\n formData.ObjectTabs[tabName].displayObjects(collectiveTrxs);\r\n amcUpdateCollectiveTrxSummary.call(ctrl, data, element, formData, params.slice(1), collectiveTrxs);\r\n })\r\n\r\n }\r\n}\r\n\r\nexport function amcInitCollectiveTrxs(element, formData, params, header) {\r\n\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n amcFixCollectiveTrxs.call(ctrl, element, formData, params)\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"CollectiveTrxs\").done(function (collectiveTrxs) {\r\n\r\n if (collectiveTrxs.length) {\r\n formData.ObjectTabs[tabName].displayObjects(collectiveTrxs);\r\n amcUpdateCollectiveTrxSummary.call(ctrl, null, element, formData, params.slice(1), collectiveTrxs);\r\n }\r\n })\r\n\r\n }\r\n\r\n}\r\n\r\nexport function amcUpdateCollectiveTrxSummary(data, element, formData, params, objectsData) {\r\n var ctrl = this;\r\n var application = GetApplication();\r\n var objectId = formData.ObjectId;\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"CollectiveTrxSummary\").done(function (summarys) {\r\n\r\n if (summarys.length) {\r\n let summary = summarys[0];\r\n summary.$objectId = objectId;\r\n formData.setObjectChanges(summary, null, true);\r\n }\r\n })\r\n}\r\n\r\nexport function amcInitOrderDetTrxBankLst(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"OrderTrxBank\").done(function (bankItems) {\r\n\r\n if (bankItems.length) {\r\n formData.ObjectTabs[tabName].displayObjects(bankItems);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitPortfCommentSectorItems(element, formData, params, header) {\r\n\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"PortfCommentSectorItem\").done(function (portfCommentSectorItems) {\r\n\r\n if (portfCommentSectorItems.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfCommentSectorItems);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitPortfPrpPsnAreaItems(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"PortfPrpPsnAreaItem\").done(function (portfPrpPsnAreaItems) {\r\n\r\n if (portfPrpPsnAreaItems.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaItems);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitPortfPrpPsnAreaTrxs(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"MasterPortfPrpPsnTrx\").done(function (portfPrpPsnAreaItems) {\r\n\r\n if (portfPrpPsnAreaItems.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaItems);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitPortfPrpPsnAreaPlans(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"MasterPortfPrpPsnPlan\").done(function (portfPrpPsnAreaPlans) {\r\n\r\n if (portfPrpPsnAreaPlans.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaPlans);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitAssetPrpShares(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\", ctrl.Name)\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"AssetPrpShare\").done(function (portfPrpPsnAreaPlans) {\r\n\r\n if (portfPrpPsnAreaPlans.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaPlans);\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function amcInitAssetPrpLandcost(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\", ctrl.Name)\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"AssetPrpLandcost\").done(function (portfPrpPsnAreaPlans) {\r\n\r\n if (portfPrpPsnAreaPlans.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaPlans);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function amcInitAssetPrpLawsuit(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\", ctrl.Name)\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"AssetPrpLawsuit\").done(function (portfPrpPsnAreaPlans) {\r\n\r\n if (portfPrpPsnAreaPlans.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnAreaPlans);\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\n\r\nexport function amcEditAssetPrpShare(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var shareValidFromDate = formData.getValue(\"ShareValidFromDate\", ctrl.Name)\r\n var shareFactor = formData.getValue(\"ShareFactor\", ctrl.Name)\r\n var shareCostQuota = formData.getValue(\"ShareCostQuota\", ctrl.Name)\r\n\r\n formData.setValue(\"ShareValidFromDate\", shareValidFromDate, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"ShareFactor\", shareFactor, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"ShareCostQuota\", shareCostQuota, true, false, false, \"ObjectId_0_1\")\r\n\r\n}\r\n\r\nexport function amcEditAssetPrpLandcost(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var landcostValidFromDate = formData.getValue(\"LandcostValidFromDate\", ctrl.Name)\r\n var landcost = formData.getValue(\"Landcost\", ctrl.Name)\r\n\r\n formData.setValue(\"LandcostValidFromDate\", landcostValidFromDate, true, false, false, \"ObjectId_2_1\")\r\n formData.setValue(\"Landcost\", landcost, true, false, false, \"ObjectId_2_1\")\r\n\r\n}\r\n\r\nexport function amcEditAssetPrpLawsuit(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var lawsuitValidFromDate = formData.getValue(\"LawsuitValidFromDate\", ctrl.Name)\r\n var lawsuitPendingDeposits = formData.getValue(\"LawsuitPendingDeposits\", ctrl.Name)\r\n var lawsuitPendingWithdrawals = formData.getValue(\"LawsuitPendingWithdrawals\", ctrl.Name)\r\n var lawsuitPendingClaims = formData.getValue(\"LawsuitPendingClaims\", ctrl.Name)\r\n var lawsuitPendingLiabilities = formData.getValue(\"LawsuitPendingLiabilities\", ctrl.Name)\r\n\r\n formData.setValue(\"LawsuitValidFromDate\", lawsuitValidFromDate, true, false, false, \"ObjectId_4_1\")\r\n formData.setValue(\"LawsuitPendingDeposits\", lawsuitPendingDeposits, true, false, false, \"ObjectId_4_1\")\r\n formData.setValue(\"LawsuitPendingWithdrawals\", lawsuitPendingWithdrawals, true, false, false, \"ObjectId_4_1\")\r\n formData.setValue(\"LawsuitPendingClaims\", lawsuitPendingClaims, true, false, false, \"ObjectId_4_1\")\r\n formData.setValue(\"LawsuitPendingLiabilities\", lawsuitPendingLiabilities, true, false, false, \"ObjectId_4_1\")\r\n\r\n}\r\n\r\nfunction amcFixCollectiveTrxs(element, formData, params) {\r\n\r\n // Spalten ausblenden, zu denen es kein Sachkonto gibt, Spalten-Beschriftungen durch Beschriftungen der \r\n // Sachkonten ersetzen, Auswahlspalten-Header: Checkbox anschließen.\r\n\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var tab = formData.getTab(tabName)\r\n\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct1Id_0_1\", \"PlAcct1AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct2Id_0_1\", \"PlAcct2AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct3Id_0_1\", \"PlAcct3AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct4Id_0_1\", \"PlAcct4AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct5Id_0_1\", \"PlAcct5AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct6Id_0_1\", \"PlAcct6AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct7Id_0_1\", \"PlAcct7AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct8Id_0_1\", \"PlAcct8AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct9Id_0_1\", \"PlAcct9AmtTrxCcy\")\r\n amcFixCollectiveTrxHeader(application, formData, tab, \"PlAcct10Id_0_1\", \"PlAcct10AmtTrxCcy\")\r\n\r\n}\r\n\r\nfunction amcFixCollectiveTrxHeader(application, formData, tab, plAcctIdName, plAcctAmtName) {\r\n var plAcctId = formData.getValue(plAcctIdName)\r\n var plAcctDesc = null\r\n\r\n if (plAcctId) {\r\n plAcctDesc = application.Formatter.formatValue(\"A!dec_GLPsnAcctId\", plAcctId)\r\n tab.Headers[plAcctAmtName].Label = plAcctDesc\r\n } else {\r\n tab.Headers[plAcctAmtName].Label = \"\"\r\n }\r\n}\r\n\r\nexport function amcGenTrxWaitForPreImpJob(data, element, formData, params, objectsData, objectId) {\r\n var ctrl = this\r\n var application = GetApplication();\r\n var objectData = (objectsData && objectsData[0]) || null\r\n var delay = parseInt(params[0], 10) || 2000\r\n var tabName = params[1]\r\n var cols = [\"ObjStatus\", \"PreImpDataProtocolLink\", \"ImpDataProtocolLink\"]\r\n\r\n objectId = objectId || formData.getObjectId()\r\n\r\n if (objectData) {\r\n formData.setObjectChanges(objectData)\r\n if (objectData.ObjStatus === 10 || objectData.ObjStatus === 50) {\r\n application.setPageTimeout(function () {\r\n if (formData.getObjectId() === objectId) {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcGenTrxWaitForPreImpJob(data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n }, delay)\r\n } else {\r\n application.ObjectService.getLinkedObjects(objectId, \"CollectiveTrxs\").done(function (collectiveTrxs) {\r\n\r\n if (collectiveTrxs.length) {\r\n formData.ObjectTabs[tabName].displayObjects(collectiveTrxs);\r\n }\r\n })\r\n }\r\n } else {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcGenTrxWaitForPreImpJob(data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n}\r\n\r\nexport function amcWaitForJob(data, element, formData, params, objectsData, objectId) {\r\n var ctrl = this\r\n var application = GetApplication();\r\n var objectData = (objectsData && objectsData[0]) || null\r\n var delay = parseInt(params[0], 10) || 2000\r\n var cols = [\"ObjStatus\", \"JobSubjectDispLst\", \"StartDate\", \"EndDate\", \"StatusInfo\"]\r\n var oldObjStatus = null\r\n\r\n objectId = objectId || formData.getObjectId()\r\n\r\n if (objectData) {\r\n if (objectData.ObjStatus === 10 || objectData.ObjStatus === 50) {\r\n oldObjStatus = amcGetObjStatus(ctrl, formData)\r\n if (oldObjStatus !== objectData.ObjStatus) {\r\n application.reload()\r\n } else {\r\n delete objectData.ObjStatus\r\n formData.setObjectChanges(objectData)\r\n application.setPageTimeout(function () {\r\n if (formData.getObjectId() === objectId) {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcWaitForJob.call(ctrl, data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n }, delay)\r\n }\r\n } else {\r\n application.reload()\r\n }\r\n } else {\r\n oldObjStatus = amcGetObjStatus(ctrl, formData)\r\n if (oldObjStatus === 10 || oldObjStatus === 50) {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcWaitForJob.call(ctrl, data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport function amcWaitForRepJob(data, element, formData, params, objectsData, objectId) {\r\n var ctrl = this\r\n var application = GetApplication();\r\n var objectData = (objectsData && objectsData[0]) || null\r\n var delay = parseInt(params[0], 10) || 2000\r\n var cols = [\"ObjStatus\", \"ReportSetDisplay\", \"StartDate\", \"EndDate\", \"StatusInfo\"]\r\n var oldObjStatus = null\r\n\r\n objectId = objectId || formData.getObjectId()\r\n\r\n if (objectData) {\r\n if (objectData.ObjStatus === 10 || objectData.ObjStatus === 50) {\r\n oldObjStatus = amcGetObjStatus(ctrl, formData)\r\n if (oldObjStatus !== objectData.ObjStatus) {\r\n application.reload()\r\n } else {\r\n delete objectData.ObjStatus\r\n formData.setObjectChanges(objectData)\r\n application.setPageTimeout(function () {\r\n if (formData.getObjectId() === objectId) {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcWaitForRepJob.call(ctrl, data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n }, delay)\r\n }\r\n } else {\r\n if (objectData.ReportSetDisplay.includes(\"OpenWindowPdf\")) {\r\n OpenWindowPdf(\"asfFileAccess.asp?ObjectId={0}&Path=OutFileName\".format(encodeURIComponent(objectId)), \"_blank\")\r\n }\r\n application.reload()\r\n }\r\n } else {\r\n oldObjStatus = amcGetObjStatus(ctrl, formData)\r\n if (oldObjStatus === 10 || oldObjStatus === 50) {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcWaitForRepJob.call(ctrl, data, element, formData, params, objectsData, objectId)\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction amcGetObjStatus(ctrl, formData) {\r\n var objStatus = formData.getValue(\"ObjStatus\", ctrl.Name)\r\n var application = null\r\n\r\n if (!isNaN(objStatus)) {\r\n return parseInt(objStatus, 10)\r\n }\r\n if (objStatus) {\r\n application = GetApplication()\r\n objStatus = objStatus.split(\"<\")[0].trim();\r\n\r\n if (application.RefSetCache.encodeValue(\"N!JobObjStatusCodePrg\", 10, true).startsWith(objStatus)) {\r\n return 10\r\n }\r\n if (application.RefSetCache.encodeValue(\"N!JobObjStatusCodePrg\", 50, true).startsWith(objStatus)) {\r\n return 50\r\n }\r\n }\r\n return 0\r\n}\r\n\r\nexport function amcExtendAssetSearch() {\r\n\r\n var application = GetApplication()\r\n var wizard = application && application.Wizard\r\n var searchKey\r\n\r\n if (wizard) {\r\n searchKey = wizard.getCondition(\"QuickSearchKey\")\r\n wizard.setCondition(\"AssetSearchValue\", searchKey)\r\n wizard.query()\r\n }\r\n}\r\n\r\nexport function amcGotoProvdTrx(event) {\r\n var application = GetApplication()\r\n var formData = application && application.Form\r\n var elementName = \"\"\r\n var objectId = null\r\n\r\n if (formData && event && event.target && event.target.parentElement && event.target.parentElement.className.startsWith(\"text-ImpObjStatusDisp\")) {\r\n elementName = event.target.parentElement.className.split(\" \")[0].substr(5)\r\n objectId = formData.getValue(\"ProvdTrxPId\", elementName)\r\n if (objectId) {\r\n application.navigate(\"ProvdTrxDet\", objectId)\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport function amcEditPortfCommentSectorItem(event, data, element, formData, params) {\r\n var ctrl = this;\r\n var comment = formData.getValue(\"Comment\", ctrl.Name)\r\n var groupId = formData.getValue(\"GroupId\", ctrl.Name)\r\n var groupDesc = formData.getValue(\"GroupDesc\", ctrl.Name)\r\n\r\n formData.setValue(\"Comment\", comment, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"GroupId\", groupId, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"GroupDesc\", groupDesc, true, false, false, \"ObjectId_0_1\")\r\n\r\n}\r\n\r\nexport function amcEditPortfPrpPsnAreaItem(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var valDate = formData.getValue(\"ValDate\", ctrl.Name)\r\n var areaTypeCode = formData.getValue(\"AreaTypeCode\", ctrl.Name)\r\n var tenantId = formData.getValue(\"TenantId\", ctrl.Name)\r\n var tenantDesc = formData.getValue(\"TenantDesc\", ctrl.Name)\r\n var areaSQM = formData.getValue(\"AreaSQM\", ctrl.Name)\r\n var contrExpiryDate = formData.getValue(\"ContrExpiryDate\", ctrl.Name)\r\n\r\n formData.setValue(\"EditValDate\", valDate, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"AreaTypeCode\", areaTypeCode, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"TenantId\", tenantId, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"TenantDesc\", tenantDesc, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"AreaSQM\", areaSQM, true, false, false, \"ObjectId_0_1\")\r\n formData.setValue(\"ContrExpiryDate\", contrExpiryDate, true, false, false, \"ObjectId_0_1\")\r\n\r\n}\r\n\r\nexport function amcEditPortfPrpPsnAreaPlan(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var fromDate = formData.getValue(\"FromDate\", ctrl.Name)\r\n var planTypeCode = formData.getValue(\"PlanTypeCode\", ctrl.Name)\r\n var amtAssetCcy = formData.getValue(\"AmtAssetCcy\", ctrl.Name)\r\n\r\n formData.setValue(\"EditPlanDate\", fromDate, true, false, false, \"ObjectId_2_1\")\r\n formData.setValue(\"PlanTypeCode\", planTypeCode, true, false, false, \"ObjectId_2_1\")\r\n formData.setValue(\"PlanAmtAssetCcy\", amtAssetCcy, true, false, false, \"ObjectId_2_1\")\r\n\r\n}\r\n\r\nexport function amcActionShowTrxBank(event, data, element, formData, params) {\r\n\r\n var ctrl = this;\r\n var application = GetApplication()\r\n var tabName = params[2]\r\n var toggleGroupClass = params[3]\r\n\r\n var objectId = formData.getObjectId(ctrl.Name);\r\n\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n var q = formData.get$()\r\n\r\n if (q(element).is(\".ic-toggle-on\")) {\r\n formData.ObjectTabs[tabName].hide()\r\n q(element).removeClass(\"ic-toggle-on\")\r\n } else {\r\n if (toggleGroupClass) {\r\n q(element).closest(\"form\").find(\".\" + toggleGroupClass).removeClass(\"ic-toggle-on\")\r\n }\r\n application.ObjectService.getLinkedObjects(objectId, \"OrderTrxBankLst\").done(function (bankItems) {\r\n\r\n if (bankItems.length) {\r\n q(element).addClass(\"ic-toggle-on\")\r\n formData.ObjectTabs[tabName].displayObjects(bankItems);\r\n } else {\r\n formData.ObjectTabs[tabName].hide()\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n\r\nexport function CreateProtocol(element, encodedObjectId, colName) {\r\n var application = GetApplication()\r\n // Protokollerzeugung anfordern\r\n var objectId = (encodedObjectId && decodeURIComponent(encodedObjectId)) || null\r\n colName = colName || \"EvtFileName\"\r\n var cols = [colName]\r\n\r\n application.Promises.onAllChecks().done(function () {\r\n var creatingProtocolMessage = application.Formatter.formatValue(\"A!asfTemplates\", \"CreatingProtocol\")\r\n $(element).replaceWith(creatingProtocolMessage)\r\n\r\n application.showLoadStatus(\"sendingData\")\r\n application.ObjectService.executeAction(objectId, \"CreateProtocol\", null, cols).done(function (objectsData) {\r\n application.hideLoadStatus()\r\n amcWaitForProtocol(objectsData, encodedObjectId, colName)\r\n\r\n return objectsData\r\n })\r\n })\r\n\r\n return false\r\n}\r\n\r\nfunction amcWaitForProtocol(objectsData, encodedObjectId, colName) {\r\n var application = GetApplication();\r\n var objectData = (objectsData && objectsData[0]) || null\r\n var delay = 2000\r\n colName = colName || \"EvtFileName\"\r\n var cols = [colName]\r\n var objectId = (encodedObjectId && decodeURIComponent(encodedObjectId)) || null\r\n\r\n\r\n if (objectData && objectData[colName]) {\r\n OpenWindowPdf(\"asfFileAccess.asp?ObjectId={0}&Path={1}\".format(encodedObjectId, colName), \"_blank\")\r\n application.reload()\r\n } else {\r\n application.setPageTimeout(function () {\r\n application.ObjectService.getObject(objectId, false, false, cols).done(function (objectsData) {\r\n amcWaitForProtocol(objectsData, encodedObjectId, colName)\r\n })\r\n }, delay)\r\n }\r\n}\r\n\r\nexport function amcInitPortfPrpPsnOwnerLst(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ParentId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"PortfPrpPsnOwner\").done(function (portfPrpPsnOwners) {\r\n\r\n if (portfPrpPsnOwners.length) {\r\n formData.ObjectTabs[tabName].displayObjects(portfPrpPsnOwners);\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function amcInitDatevAccounts(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"DatevAccount\").done(function (datevAccounts) {\r\n\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n } else {\r\n formData.ObjectTabs[tabName].hide(datevAccounts);\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\n//AB:\r\nexport function amcInitDatevListAccounts(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.ObjectId\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"DatevListAccount\").done(function (datevAccounts) { //Rolle muss hier rein\r\n\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n } else {\r\n formData.ObjectTabs[tabName].hide(datevAccounts);\r\n }\r\n\r\n formData.setControlValue(\"DatevAcctId_2_1\", \"\", false, false);\r\n formData.focus(\"DatevAcctId_2_1\");\r\n\r\n })\r\n }\r\n}\r\n\r\n//AB:\r\nexport function amcInitDatevListAccountsRO(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"DatevListAccountRO\").done(function (datevAccounts) {\r\n\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n } else {\r\n formData.ObjectTabs[tabName].hide();\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\nexport function amcInitDatevListAccountsAfterInsert(data, element, formData, params, objectsData) {\r\n var ctrl = this;\r\n\r\n amcInitDatevAccounListNew.call(ctrl, element, formData, params.slice(0, 1), null)\r\n ctrl = formData.getControl(\"DatevAccountListLst_0_1\", ctrl.Name)\r\n amcInitDatevListAccounts.call(ctrl, element, formData, params.slice(1), null)\r\n\r\n //formData.setControlValue(\"DatevAcctId_2_1\", \"\", false, false);\r\n //formData.focus(\"DatevAcctId_2_1\");\r\n\r\n}\r\n\r\nexport function amcInitDatevListAccountsAfterDelete(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"DatevAccountListLst_0_1\")\r\n amcInitDatevListAccounts.call(ctrl, element, formData, params.slice(0), null)\r\n}\r\n\r\n\r\n//------------\r\n\r\nexport function amcInitDatevAccountsAfterInsert(data, element, formData, params, objectsData) {\r\n var ctrl = this;\r\n amcInitDatevAccountNew.call(ctrl, element, formData, params.slice(0, 1), null)\r\n ctrl = formData.getControl(\"DatevAccountLst_0_1\", ctrl.Name)\r\n amcInitDatevAccounts.call(ctrl, element, formData, params.slice(1), null)\r\n}\r\n\r\nexport function amcInitDatevAccountsAfterDelete(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"DatevAccountLst_0_1\")\r\n amcInitDatevAccounts.call(ctrl, element, formData, params.slice(0), null)\r\n}\r\n\r\nexport function amcInitDatevAccountNew(element, formData, params, header) {\r\n var ctrl = this\r\n var button = formData.ObjectActionButtons[ctrl.Name];\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n application.ObjectService.getActions(objectId).done(function (datevAccountGroup) {\r\n if (datevAccountGroup.length) {\r\n if (Array.isArray(datevAccountGroup[0].$actions) && datevAccountGroup[0].$actions.includes(\"InsertDatevAccount\")) {\r\n\r\n application.ObjectService.getNewObject(\"DatevAccount\", null, null, null, objectId).done(function (datevAccounts) {\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n }\r\n if (button) {\r\n button.enable();\r\n }\r\n })\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\n\r\nexport function amcInitDatevAccounListNew(element, formData, params, header) {\r\n var ctrl = this\r\n var button = formData.ObjectActionButtons[ctrl.Name];\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n application.ObjectService.getActions(objectId).done(function (datevAccountGroup) {\r\n if (datevAccountGroup.length) {\r\n if (Array.isArray(datevAccountGroup[0].$actions) && datevAccountGroup[0].$actions.includes(\"InsertDatevListAccount\")) {\r\n\r\n application.ObjectService.getNewObject(\"DatevAccountList\", null, null, null, objectId).done(function (datevAccounts) {\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n }\r\n if (button) {\r\n button.enable();\r\n }\r\n })\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\n\r\n\r\nexport function amcInitDatevListAccountNew(element, formData, params, header) {\r\n var ctrl = this\r\n var button = formData.ObjectActionButtons[ctrl.Name];\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n application.ObjectService.getActions(objectId).done(function (datevAccountList) {\r\n if (datevAccountList.length) {\r\n if (Array.isArray(datevAccountList[0].$actions) && datevAccountList[0].$actions.includes(\"InsertDatevListAccount\")) {\r\n\r\n application.ObjectService.getNewObject(\"DatevAccountList\", null, null, null, objectId).done(function (datevAccounts) {\r\n if (datevAccounts.length) {\r\n formData.ObjectTabs[tabName].displayObjects(datevAccounts);\r\n }\r\n if (button) {\r\n button.enable();\r\n }\r\n })\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport function amcUpdatePortfPrpPsnOwner(element) {\r\n var application = GetApplication()\r\n var formData = application.Form\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n var objectData = formData.getFormFieldsAsObject(\"ObjectId_0_1\")\r\n var objectType = formData.getValue(\"ObjectType\")\r\n var parentId = formData.getValue(\"ParentId\")\r\n\r\n if (objectId) {\r\n application.ObjectService.postObject(objectId, objectData).done(function (objectsData) {\r\n if (objectsData.length) {\r\n objectData = objectsData[0]\r\n formData.setValue(\"ObjectId_0_1\", objectData.$objectId)\r\n formData.setFormFieldsFromObject(\"ObjectId_0_1\", objectData)\r\n amcInitPortfPrpPsnOwnerLst(null, formData, [\"PortfPrpPsnOwnerDetLst\"], null)\r\n\r\n formData.setObjectChangeMessage(objectData)\r\n }\r\n })\r\n } else if (parentId && objectType) {\r\n application.ObjectService.postNewObject(objectType, objectData, false, null, parentId).done(function (objectsData) {\r\n if (objectsData.length) {\r\n objectData = objectsData[0]\r\n formData.setValue(\"ObjectId_0_1\", objectData.$objectId)\r\n formData.setFormFieldsFromObject(\"ObjectId_0_1\", objectData)\r\n amcInitPortfPrpPsnOwnerLst(null, formData, [\"PortfPrpPsnOwnerDetLst\"], null)\r\n\r\n formData.setObjectChangeMessage(objectData)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function amcInsertPrpPsnOwner(element) {\r\n var application = GetApplication()\r\n var formData = application.Form\r\n var objectType = formData.getValue(\"ObjectType\")\r\n var parentId = formData.getValue(\"ParentId\")\r\n\r\n formData.setValue(\"ObjectId_0_1\", null)\r\n application.ObjectService.getNewObject(objectType, false, null, null, parentId).done(function (objectsData) {\r\n if (objectsData.length) {\r\n objectData = objectsData[0]\r\n formData.setFormFieldsFromObject(\"ObjectId_0_1\", objectData)\r\n }\r\n })\r\n\r\n\r\n}\r\n\r\nexport function amcEditPortfPrpPsnOwner(event, data, element, formData, params) {\r\n var ctrl = this\r\n var objectId = formData.getValue(\"ObjectId\", ctrl.Name)\r\n var objectData = formData.getFormFieldsAsObject(ctrl.Name)\r\n\r\n formData.setValue(\"ObjectId_0_1\", objectId)\r\n formData.setFormFieldsFromObject(\"ObjectId_0_1\", objectData)\r\n}\r\n\r\nexport function amcResolveRuleTitle(element, formData, param) {\r\n\r\n var control = this\r\n var value = asfFormGetElementValue(element.form, element.name)\r\n var defaultValue = asfFormGetElementDefaultValue(element.form, element.name)\r\n\r\n if (value != defaultValue) {\r\n\r\n asfValSubmit.call(control, element, formData, param);\r\n return false;\r\n\r\n }\r\n return true;\r\n}\r\n\r\nexport function amcValTaxSimTradeDate(element, formData, param) {\r\n var ctrl = this\r\n var assetId = formData.getValue(\"AssetId\")\r\n var tradeDate = formData.getValue(\"TradeDate\")\r\n\r\n if (assetId && tradeDate && amcIsJobType(formData, \"TaxSim\")) {\r\n asfLog(\"amcValTaxSimTradeDate fired for \" + ctrl.Name, 3)\r\n return asfValCheck.call(ctrl, element, formData, param)\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport function amcValTaxSimTradePrice(element, formData, param) {\r\n var ctrl = this\r\n var tradePrice = null\r\n var newPrice = null\r\n var oldPrice = null\r\n var oneBasedPrice = null\r\n\r\n if (amcIsJobType(formData, \"TaxSim\")) {\r\n tradePrice = formData.getNumber(\"TradePrice\")\r\n newPrice = (tradePrice.isValid() && tradePrice.getValue()) || 0\r\n tradePrice.parse(ctrl.Value)\r\n oldPrice = (tradePrice.isValid() && tradePrice.getValue()) || newPrice\r\n oneBasedPrice = formData.getNumValue(\"OneBasedPrice\") || newPrice\r\n\r\n if (newPrice) {\r\n oneBasedPrice = newPrice * oneBasedPrice / oldPrice\r\n }\r\n formData.setNumValue(\"OneBasedPrice\", oneBasedPrice || null, true)\r\n }\r\n}\r\n\r\nexport function amcValTaxSimTriggerCalculation(element, formData, param) {\r\n var ctrl = this\r\n\r\n if (amcIsJobType(formData, \"TaxSim\")) {\r\n asfLog(\"amcValTaxSimTriggerCalculation for \" + ctrl.Name, 3)\r\n amcValTaxSimCalculateAmts.call(ctrl, formData)\r\n }\r\n}\r\n\r\nfunction amcValTaxSimCalculateAmts(formData) {\r\n\r\n var noNominal = formData.getNumValue(\"NoNominal\") || 0\r\n var oneBasedPrice = formData.getNumValue(\"OneBasedPrice\") || 0\r\n var assetIncFactor = formData.getNumValue(\"AssetIncFactor\") || 0\r\n var poolFactor = formData.getNumValue(\"PoolFactor\") || 1\r\n\r\n var grossAmtTrxCcy = (noNominal * oneBasedPrice) || null\r\n var plAcct1AmtTrxCcy = (assetIncFactor * poolFactor * noNominal) || null;\r\n\r\n formData.setNumValue(\"GrossAmtTrxCcy\", grossAmtTrxCcy)\r\n formData.setNumValue(\"PlAcct1AmtTrxCcy\", plAcct1AmtTrxCcy)\r\n}\r\n\r\nfunction amcIsJobType(formData, jobSubject) {\r\n\r\n var objectType = formData.getValue(\"ObjectType\") || \"\";\r\n if (objectType == \"Job\") {\r\n objectType = formData.getValue(\"ParentId\");\r\n }\r\n\r\n return objectType.endsWith(jobSubject)\r\n\r\n}\r\n\r\nexport function amcInitImpTrxLotNew(element, formData, params, header, reloading) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getNewObject(\"TrxLot\", false, false, null, objectId).done(function (newTrxLot) {\r\n var tab = formData.getTab(tabName);\r\n var focusControlName = null;\r\n var insertButtonName = tab && tab.createControlName(\"ActionInsert\", 1);\r\n if (newTrxLot.length) {\r\n formData.ObjectTabs[tabName].displayObjects(newTrxLot);\r\n if (reloading) {\r\n focusControlName = tab && tab.createControlName(\"DateIn\", 1);\r\n formData.focus(focusControlName);\r\n }\r\n }\r\n if (insertButtonName && formData.ObjectActionButtons[insertButtonName]) {\r\n formData.ObjectActionButtons[insertButtonName].enable();\r\n }\r\n\r\n })\r\n }\r\n}\r\n\r\nexport function amcInitImpTrxLotFIFO(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"FIFOLots\").done(function (fifoLots) {\r\n if (fifoLots.length) {\r\n formData.ObjectTabs[tabName].displayObjects(fifoLots);\r\n amcUpdateSumFIFOLotRefCcy.call(ctrl, formData, tabName)\r\n } else {\r\n formData.ObjectTabs[tabName].hide();\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function amcUpdateSumFIFOLotAfterSend(data, element, formData, params, objectsData) {\r\n var ctrl = this;\r\n var tabName = params[0]\r\n var objectList = formData.ObjectTabs[tabName]\r\n\r\n if (Array.isArray(objectsData)) {\r\n objectsData.forEach(function (item) {\r\n objectList.setObject(item)\r\n });\r\n }\r\n\r\n amcUpdateSumFIFOLotRefCcy.call(ctrl, formData, tabName);\r\n}\r\n\r\nfunction amcUpdateSumFIFOLotRefCcy(formData, tabName) {\r\n var ctrl = formData.ObjectTabs[tabName] && formData.ObjectTabs[tabName].getControl();\r\n var objects = formData.ObjectTabs[tabName] && formData.ObjectTabs[tabName].getObjects();\r\n var sum = {\r\n Nominal: 0.0,\r\n CostValAmtHistRefCcy: 0.0,\r\n SumTrxLotFIFOInclCost: 0.0\r\n };\r\n var nominal = formData.getNumValue(\"CheckTrxLotNominal\", ctrl.Name);\r\n\r\n if (Array.isArray(objects)) {\r\n sum = objects.reduce(function (previousValue, currentItem) {\r\n previousValue.CostValAmtHistRefCcy += (currentItem.CostValAmtHistRefCcy || 0.0);\r\n previousValue.Nominal += (currentItem.Nominal || 0.0);\r\n previousValue.SumTrxLotFIFOInclCost += ((currentItem.CostValAmtHistRefCcy || 0.0) + (currentItem.CostAcqValAmtRefCcy))\r\n return previousValue;\r\n }, sum)\r\n\r\n formData.setValue(\"SumTrxLotFIFORefCcy\", sum.CostValAmtHistRefCcy, null, null, null, ctrl.Name);\r\n formData.setValue(\"SumTrxLotFIFONominal\", sum.Nominal, null, null, null, ctrl.Name);\r\n formData.setValue(\"SumTrxLotFIFOInclCost\", sum.SumTrxLotFIFOInclCost, null, null, null, ctrl.Name);\r\n if (sum.Nominal == nominal) {\r\n formData.setMessage(\"SumTrxLotFIFONominal\", \"\", null, ctrl.Name);\r\n } else {\r\n formData.setMessage(\"SumTrxLotFIFONominal\", \"Die Nominale stimmt nicht überein.\", null, ctrl.Name);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport function amcInitImpTrxLotAvg(element, formData, params, header) {\r\n var ctrl = this\r\n var application = GetApplication()\r\n var tabName = params[0]\r\n var objectId = formData.getValue(\"ObjectId_0_1\")\r\n\r\n if (objectId && tabName && formData.ObjectTabs[tabName]) {\r\n\r\n application.ObjectService.getLinkedObjects(objectId, \"AvgLots\").done(function (avgLots) {\r\n if (avgLots.length) {\r\n formData.ObjectTabs[tabName].displayObjects(avgLots);\r\n } else {\r\n formData.ObjectTabs[tabName].hide();\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function amcReloadTrxLots(data, element, formData, params, objectsData) {\r\n\r\n var ctrl = formData.getControl(\"FIFOLotLst\");\r\n amcInitImpTrxLotFIFO.call(ctrl, null, formData, [\"impTrxFIFOLotLst\"], null);\r\n ctrl = formData.getControl(\"AvgLotLst\");\r\n amcInitImpTrxLotAvg.call(ctrl, null, formData, [\"impTrxAvgLotLst\"], null);\r\n ctrl = formData.getControl(\"LotNew\");\r\n amcInitImpTrxLotNew.call(ctrl, null, formData, [\"impTrxNewLotLst\"], null, true);\r\n}\r\n\r\nexport function amcReloadAvgTrxLots(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"AvgLotLst\");\r\n amcInitImpTrxLotAvg.call(ctrl, null, formData, [\"impTrxAvgLotLst\"], null);\r\n}\r\n\r\nexport function amcReloadFIFOTrxLots(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"FIFOLotLst\");\r\n amcInitImpTrxLotFIFO.call(ctrl, null, formData, [\"impTrxFIFOLotLst\"], null);\r\n}\r\n\r\nexport function amcReloadTrxCashLots(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"FIFOLotLst\");\r\n amcInitImpTrxLotFIFO.call(ctrl, null, formData, [\"impTrxCashFIFOLotLst\"], null);\r\n var ctrl = formData.getControl(\"AvgLotLst\");\r\n amcInitImpTrxLotAvg.call(ctrl, null, formData, [\"impTrxCashAvgLotLst\"], null);\r\n var ctrl = formData.getControl(\"LotNew\");\r\n amcInitImpTrxLotNew.call(ctrl, null, formData, [\"impTrxCashNewLotLst\"], null, true);\r\n}\r\n\r\nexport function amcReloadCashAvgTrxLots(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"AvgLotLst\");\r\n amcInitImpTrxLotAvg.call(ctrl, null, formData, [\"impTrxCashAvgLotLst\"], null);\r\n}\r\n\r\nexport function amcReloadFIFOTrxCashLots(data, element, formData, params, objectsData) {\r\n var ctrl = formData.getControl(\"FIFOLotLst\");\r\n amcInitImpTrxLotFIFO.call(ctrl, null, formData, [\"impTrxCashFIFOLotLst\"], null);\r\n}\r\n\r\nexport function amcUpdateSecPosLotSums(ctrl, formData, listObjects) {\r\n var application = GetApplication();\r\n var sums = { Nominal: 0.0, EffInvestment: 0.0, EffInvestmentRefCcy: 0.0 }\r\n var label = \"\";\r\n var propertyName = formData.parseControlName(ctrl.Name).name;\r\n\r\n if (Array.isArray(listObjects)) {\r\n sums = listObjects.reduce(function (previousValue, item) {\r\n if (!item.IsWithdrawn) {\r\n previousValue.Nominal += item.Nominal;\r\n previousValue.EffInvestment += item.EffInvestment;\r\n previousValue.EffInvestmentRefCcy += item.EffInvestmentRefCcy;\r\n }\r\n return previousValue;\r\n }, sums);\r\n\r\n label = application.RefSetCache.encodeValue(\"A!asfTemplates\", \"MasterPortfSecAcctTrxDet.PosLotSum\");\r\n label = label.format(application.Formatter.formatValue(\"#,##0.00000\", sums.Nominal),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffInvestment),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffInvestmentRefCcy))\r\n\r\n\r\n label = formData.Headers[propertyName].Label + label;\r\n formData.setCtrlLabel(ctrl.Name, label);\r\n }\r\n}\r\n\r\nexport function amcUpdateCshPosLotSums(ctrl, formData, listObjects) {\r\n var application = GetApplication();\r\n var sums = { EffCostValAmt: 0.0, EffCostValAmtRefCcy: 0.0 }\r\n var label = \"\";\r\n var propertyName = formData.parseControlName(ctrl.Name).name;\r\n\r\n if (Array.isArray(listObjects)) {\r\n sums = listObjects.reduce(function (previousValue, item) {\r\n if (!item.IsWithdrawn) {\r\n previousValue.EffCostValAmt += item.EffCostValAmt;\r\n previousValue.EffCostValAmtRefCcy += item.EffCostValAmtRefCcy;\r\n }\r\n return previousValue;\r\n }, sums);\r\n\r\n label = application.RefSetCache.encodeValue(\"A!asfTemplates\", \"MasterPortfCshAcctTrxDet.PosLotSum\");\r\n label = label.format(application.Formatter.formatValue(\"#,##0.00\", sums.EffCostValAmt),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffCostValAmtRefCcy))\r\n\r\n label = formData.Headers[propertyName].Label + label;\r\n formData.setCtrlLabel(ctrl.Name, label);\r\n }\r\n\r\n}\r\n\r\nexport function amcUpdateSecDatevLotSums(ctrl, formData, listObjects) {\r\n var application = GetApplication();\r\n var sums = { Nominal: 0.0, EffInvestmentTaxCcy: 0.0, EffDepreciation: 0.0, EffBookValAmt: 0.0 }\r\n var label = \"\";\r\n var propertyName = formData.parseControlName(ctrl.Name).name;\r\n\r\n if (Array.isArray(listObjects)) {\r\n sums = listObjects.reduce(function (previousValue, item) {\r\n if (!item.IsWithdrawn) {\r\n previousValue.Nominal += item.Nominal;\r\n previousValue.EffInvestmentTaxCcy += item.EffInvestmentTaxCcy;\r\n previousValue.EffDepreciation += item.EffDepreciation;\r\n previousValue.EffBookValAmt += item.EffBookValAmt;\r\n }\r\n return previousValue;\r\n }, sums);\r\n\r\n label = application.RefSetCache.encodeValue(\"A!asfTemplates\", \"MasterPortfSecAcctTrxDet.DATEVLotSum\");\r\n label = label.format(application.Formatter.formatValue(\"#,##0.00000\", sums.Nominal),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffInvestmentTaxCcy),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffDepreciation),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffBookValAmt)\r\n )\r\n\r\n\r\n label = formData.Headers[propertyName].Label + label;\r\n formData.setCtrlLabel(ctrl.Name, label);\r\n }\r\n\r\n}\r\n\r\nexport function amcUpdateCshDatevLotSums(ctrl, formData, listObjects) {\r\n var application = GetApplication();\r\n var sums = { EffCostValAmtTaxCcy: 0.0, EffDepreciation: 0.0, EffBookValAmt: 0.0 }\r\n var label = \"\";\r\n var propertyName = formData.parseControlName(ctrl.Name).name;\r\n\r\n if (Array.isArray(listObjects)) {\r\n sums = listObjects.reduce(function (previousValue, item) {\r\n if (!item.IsWithdrawn) {\r\n previousValue.EffCostValAmtTaxCcy += item.EffCostValAmtTaxCcy;\r\n previousValue.EffDepreciation += item.EffDepreciation;\r\n previousValue.EffBookValAmt += item.EffBookValAmt;\r\n }\r\n return previousValue;\r\n }, sums);\r\n\r\n label = application.RefSetCache.encodeValue(\"A!asfTemplates\", \"MasterPortfCshAcctTrxDet.DATEVLotSum\");\r\n label = label.format(application.Formatter.formatValue(\"#,##0.00\", sums.EffCostValAmtTaxCcy),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffDepreciation),\r\n application.Formatter.formatValue(\"#,##0.00\", sums.EffBookValAmt))\r\n\r\n\r\n label = formData.Headers[propertyName].Label + label;\r\n formData.setCtrlLabel(ctrl.Name, label);\r\n }\r\n\r\n}\r\n\r\n//export function amcUploadExtfFiles() {\r\n// var application = GetApplication();\r\n// var url = \"/api/datev/upload\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n// application.ajaxWithAuthorization({\r\n// method: \"GET\",\r\n// url: url\r\n// }).done((result) => {\r\n// if (result && result.redirectUrl) {\r\n// OpenWebSite(result.redirectUrl, \"_blank\");\r\n// }\r\n// }).always(() => {\r\n// application.reload();\r\n// });\r\n\r\n//}\r\n\r\nexport function amcMarkDATEVDocuments(content, isMounted, setContent) {\r\n var application = GetApplication();\r\n var objectId = application.ObjectId;\r\n\r\n application.ObjectService.executeAction(objectId, \"MarkDATEVDocuments\");\r\n\r\n if (isMounted()) {\r\n setContent(null);\r\n }\r\n}\r\n\r\nexport function amcValSectorSpectAmtPct(element, formData, param) {\r\n\r\n let name = element.name;\r\n let parsedName = formData.parseControlName(name);\r\n let value = formData.getNumValue(name);\r\n let tab = formData.getTab(parsedName.tabNo);\r\n let sectorLevel = formData.getNumValue(\"SectorLevel\", name);\r\n let sector1Id = formData.getValue(\"Sector1Id\", name);\r\n\r\n if (sectorLevel == 1 && value == 0) {\r\n for (let i = 1; i <= tab.RowCount; i++) {\r\n let subSectorName = tab.createControlName(\"Sector1Id\", i);\r\n let subSector1Id = formData.getValue(subSectorName);\r\n if (subSector1Id != sector1Id) continue;\r\n\r\n let subSectorLevel = formData.getValue(\"SectorLevel\", subSectorName);\r\n if (subSectorLevel == 2) {\r\n formData.setValue(\"SpecAmtPct\", 0, false, false, false, subSectorName);\r\n }\r\n }\r\n } else if (sectorLevel == 2) {\r\n let sectorAmtName = \"\";\r\n let sum = 0.0;\r\n\r\n for (let i = 1; i <= tab.RowCount; i++) {\r\n let subSectorName = tab.createControlName(\"Sector1Id\", i);\r\n let subSector1Id = formData.getValue(subSectorName);\r\n\r\n if (subSector1Id != sector1Id) continue;\r\n let subSectorLevel = formData.getNumValue(\"SectorLevel\", subSectorName);\r\n\r\n switch (subSectorLevel) {\r\n case 1:\r\n {\r\n sectorAmtName = tab.createControlName(\"SpecAmtPct\", i);\r\n break;\r\n }\r\n case 2:\r\n {\r\n sum += formData.getNumValue(\"SpecAmtPct\", subSectorName);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (sectorAmtName) formData.setValue(sectorAmtName, sum, false, false, false);\r\n\r\n } \r\n\r\n\r\n}\r\n//export function amcUnmarkDATEVDocuments(content, isMounted, setContent) {\r\n// var application = GetApplication();\r\n// var objectId = application.ObjectId;\r\n\r\n// application.ObjectService.executeAction(objectId, \"UnmarkDATEVDocuments\");\r\n// if (isMounted()) {\r\n// setContent(null);\r\n// }\r\n//}","/// \r\n\r\nimport { asfLog } from \"./asfLogging.js\";\r\nimport { asfDataEngine } from \"./asfDataEngine.js\";\r\nimport { GetApplication } from \"./asfScripts.js\";\r\nimport { asfCharting } from \"./asfCharting.js\";\r\nimport { asfDataService } from \"./asfDataService.js\";\r\nimport { asfDate } from \"./asfDate.js\";\r\nimport { asfSubMaskGrid } from \"./asfScriptTabs.js\";\r\n\r\nfunction amcCalculatePercentage(valueColumn, percentageColumn) {\r\n\r\n return function (data) {\r\n\r\n var total = 0;\r\n\r\n data.forEach(function (item) {\r\n if (item[valueColumn] > 0) {\r\n total += item[valueColumn];\r\n }\r\n });\r\n\r\n if (total > 0) {\r\n data.forEach(function (item) {\r\n item[percentageColumn] = item[valueColumn] / total;\r\n });\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\nfunction amcCalculatePerfIndexPctReverse(logColumn, pctColumn) {\r\n return function (data) {\r\n var i = 0;\r\n var indexValue = 1;\r\n var item = null;\r\n\r\n for (i = data.length -1; i >= 0 ; i -= 1) {\r\n item = data[i];\r\n\r\n indexValue *= Math.exp(item[logColumn]);\r\n item[pctColumn] = indexValue - 1;\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\nfunction amcCalculatePerfIndexPct(logColumn, pctColumn) {\r\n return function (data) {\r\n var i = 0;\r\n var indexValue = 1;\r\n var item = null;\r\n\r\n for (i = 0; i < data.length; i += 1) {\r\n item = data[i];\r\n\r\n\r\n indexValue *= Math.exp(item[logColumn]);\r\n\r\n item[pctColumn] = indexValue - 1;\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\nexport function amcCalculateIndexStart(dateColumn) {\r\n var valueColumns = [];\r\n var i = 1;\r\n var dateParser = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n while (i < arguments.length) {\r\n valueColumns.push(arguments[i])\r\n i += 1;\r\n }\r\n\r\n return function (data) {\r\n var minDate = \"Z\"\r\n var startItem = {};\r\n var newStartDate = null;\r\n\r\n if (Array.isArray(data)) {\r\n data.forEach(function (item) {\r\n if (item[dateColumn] && item[dateColumn] < minDate) {\r\n minDate = item[dateColumn];\r\n }\r\n });\r\n\r\n newStartDate = dateParser.parse(minDate);\r\n newStartDate = amcGetUltimo(newStartDate);\r\n startItem[dateColumn] = dateParser.toString(newStartDate);\r\n\r\n valueColumns.forEach(function (column) {\r\n startItem[column] = 0;\r\n });\r\n\r\n data.unshift(startItem);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport function amcGetUltimo(date) {\r\n\r\n if (date instanceof Date) {\r\n date.setHours(0);\r\n date.setMinutes(0);\r\n date.setSeconds(0);\r\n date.setMilliseconds(0);\r\n date.setDate(0);\r\n }\r\n\r\n return date;\r\n}\r\n\r\nfunction amcCalculatePerfPct(logColumn, pctColumn) {\r\n return function (data) {\r\n var i = 0;\r\n var indexValue = 1;\r\n var item = null;\r\n\r\n for (i = 0; i < data.length; i += 1) {\r\n item = data[i];\r\n indexValue = Math.exp(item[logColumn]);\r\n item[pctColumn] = indexValue - 1;\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\nvar GetDateDiff = {\r\n\r\n inDays: function (d1, d2) {\r\n var t2 = d2.getTime();\r\n var t1 = d1.getTime();\r\n\r\n return parseInt((t2 - t1) / (24 * 3600 * 1000));\r\n },\r\n\r\n inWeeks: function (d1, d2) {\r\n var t2 = d2.getTime();\r\n var t1 = d1.getTime();\r\n\r\n return parseInt((t2 - t1) / (24 * 3600 * 1000 * 7));\r\n },\r\n\r\n inMonths: function (d1, d2) {\r\n var d1Y = d1.getFullYear();\r\n var d2Y = d2.getFullYear();\r\n var d1M = d1.getMonth();\r\n var d2M = d2.getMonth();\r\n\r\n return (d2M + 12 * d2Y) - (d1M + 12 * d1Y);\r\n },\r\n\r\n inYears: function (d1, d2) {\r\n return d2.getFullYear() - d1.getFullYear();\r\n }\r\n}\r\n\r\nfunction getValidDate(contentDate, formatType) {\r\n\r\n var result = null;\r\n\r\n var date = new asfDate(formatType);\r\n date.parse(contentDate);\r\n if (date.IsValid) {\r\n contentDate = date.toString();\r\n result = date.Date;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction amcCalculatePerformanceValues(kumGrossPerfColumn, kumNetPerfColum, grossPerfColumn, grossPerfPaColumn, netPerfColumn, netPerfPaColumn) {\r\n return function (data) {\r\n \r\n var application = GetApplication(true);\r\n\r\n var initialValue = data.length && data[0];\r\n var finalValue = data.length && data[data.length - 1];\r\n\r\n var formatType = \"dd.mm.yyyy\";\r\n var startDate = getValidDate(initialValue.ValDate, formatType);\r\n\r\n var endDate = getValidDate(finalValue.ValDate, formatType);\r\n\r\n var dateDiff = GetDateDiff.inDays(startDate, endDate);\r\n\r\n var grossPerfStart = initialValue[kumGrossPerfColumn] + 1;\r\n var grossPerfEnd = finalValue[kumGrossPerfColumn] + 1;\r\n var grossPerfLog = Math.log(grossPerfEnd);\r\n\r\n var netPerfStart = initialValue[kumNetPerfColum] + 1;\r\n var netPerfEnd = finalValue[kumNetPerfColum] + 1;\r\n var netPerfLog = Math.log(netPerfEnd);\r\n\r\n var result = {};\r\n\r\n if (dateDiff <= 365) {\r\n result[grossPerfColumn] = Math.exp(grossPerfLog) - 1;\r\n result[grossPerfPaColumn] = null;\r\n\r\n result[netPerfColumn] = Math.exp(netPerfLog) -1;\r\n result[netPerfPaColumn] = null;\r\n\r\n } else {\r\n result[grossPerfPaColumn] = Math.exp(grossPerfLog * 365 / dateDiff) - 1;\r\n result[grossPerfColumn] = null;\r\n\r\n result[netPerfPaColumn] = Math.exp(netPerfLog * 365 / dateDiff) - 1;\r\n result[netPerfColumn] = null;\r\n }\r\n\r\n return [result];\r\n }\r\n}\r\n\r\nfunction amcCalculateTotGrossTwrOverBenchmPct(portfPerfcol, benchmPerfCol, perfDiffCol, kumPerfDiffCol) {\r\n return function (data) {\r\n var i = 0;\r\n var resultValue = 1;\r\n var item = null;\r\n\r\n var perGrossTwrOverBenchmPct = 0;\r\n\r\n var perGrossTwrPct;\r\n var perBenchmTwrPct;\r\n var totGrossTwrOverBenchmPct = 1;\r\n \r\n\r\n // perGrossTwrOverBenchmPct = perGrossTwrPct - perBenchmTwrPct + 1\r\n // totGrossTwrOverBenchmPct = totGrossTwrOverBenchmPct * perGrossTwrOverBenchmPct\r\n\r\n for (i = 0; i < data.length; i += 1) {\r\n item = data[i];\r\n\r\n if (i > 0) {\r\n\r\n perGrossTwrPct = (item[portfPerfcol] && Math.exp(item[portfPerfcol])) || 1;\r\n perBenchmTwrPct = (item[benchmPerfCol] && Math.exp(item[benchmPerfCol])) || 1;\r\n perGrossTwrOverBenchmPct = perGrossTwrPct - perBenchmTwrPct;\r\n totGrossTwrOverBenchmPct *= (perGrossTwrOverBenchmPct + 1);\r\n }\r\n item[perfDiffCol] = perGrossTwrOverBenchmPct;\r\n item[kumPerfDiffCol] = totGrossTwrOverBenchmPct - 1;\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport function amcGetFirstOfYear() {\r\n var now = new Date();\r\n var formatter = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n now.setMilliseconds(0);\r\n now.setSeconds(0);\r\n now.setMinutes(0);\r\n now.setHours(0);\r\n now.setDate(1);\r\n now.setMonth(0);\r\n\r\n return formatter.toStandard(now);\r\n}\r\n\r\nfunction amcGetLastOfLastYear() {\r\n var now = new Date();\r\n var formatter = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n now.setMilliseconds(0);\r\n now.setSeconds(0);\r\n now.setMinutes(0);\r\n now.setHours(0);\r\n now.setDate(1);\r\n now.setMonth(0);\r\n now.setDate(now.getDate() - 1); \r\n \r\n return formatter.toStandard(now);\r\n}\r\n\r\nexport function amcGetFirstOfQuarter() {\r\n var now = new Date();\r\n var formatter = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n now.setMilliseconds(0);\r\n now.setSeconds(0);\r\n now.setMinutes(0);\r\n now.setHours(0);\r\n now.setDate(1);\r\n now.setMonth(3 * Math.floor(now.getMonth() / 3));\r\n now.setDate(0);\r\n\r\n return formatter.toStandard(now);\r\n}\r\n\r\nexport function amcGetFirstOfHalfYear() {\r\n var now = new Date();\r\n var formatter = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n now.setMilliseconds(0);\r\n now.setSeconds(0);\r\n now.setMinutes(0);\r\n now.setHours(0);\r\n now.setDate(1);\r\n now.setMonth(6 * Math.floor(now.getMonth() / 6));\r\n now.setDate(0);\r\n\r\n return formatter.toStandard(now);\r\n}\r\n\r\nfunction amcDateRangeOptionFilter(dateColumn) {\r\n return function (options) {\r\n var startDate = options.StartDate;\r\n var endDate = options.EndDate;\r\n\r\n if (startDate && endDate) {\r\n return function (data) {\r\n return data.filter(function (item) {\r\n return (item[dateColumn] >= startDate && item[dateColumn] <= endDate);\r\n });\r\n } \r\n } else if (startDate) {\r\n return function (data) {\r\n return data.filter(function (item) {\r\n return (item[dateColumn] >= startDate);\r\n });\r\n };\r\n } else {\r\n return function (data) {\r\n return data;\r\n }\r\n }\r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2017-03-08\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Vermögen im Überblick / Custom constructor / Doughnut Chart\r\n// --Währungsallokation\r\n//-------------------------------------------------------------------------------\r\nexport function amcAssetOverviewChartByCcy(element, formData, param) {\r\n\r\n var ctrl = this;\r\n var params = param.split(\";\");\r\n var tmpl = \"\";\r\n var application = GetApplication(true);\r\n var chartTemplate = {};\r\n\r\n var i;\r\n var def = null;\r\n var definition = null;\r\n var ds = new asfDataService(application);\r\n var data;\r\n var definition;\r\n\r\n var targetSelectorChart = \"ic-db-chart-\" + ctrl.Name;\r\n var targetSelectorChartLegend = \"ic-db-chart-legend-\" + params[0];\r\n\r\n var refSetNames = [];\r\n\r\n tmpl = \"
\"\r\n + \"\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\";\r\n\r\n //post user defined html template into custom-property-container: \r\n $(element).html(tmpl);\r\n\r\n\r\n def = {\r\n name : \"AssetOverviewByCcy\",\r\n application: application,\r\n objectId: formData.ObjectId,\r\n refSetNames: [\"A![acsBusiness.CRsOrgColors]\"],\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewLst\",\r\n formDef: \"DataConsPsnOverviewLst\",\r\n query: \"FormName=DataConsPsnOverviewLst&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: targetSelectorChart,\r\n targetLegend: targetSelectorChartLegend,\r\n chartType: \"doughnut\",\r\n dataset: \"DataConsPsnOverviewLst\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetCcyCode&Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;TotMktValAmtAssetCcy;RefCcyCode&Sums=TotMktAccrIncAmtRefCcy;TotMktValAmtAssetCcy&Takes=RefCcyCode&AssetClassCodeCommon=A\")\r\n .transform(\"Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;TotMktValAmtAssetCcy;RefCcyCode;AssetCcyCode&TotMktAccrIncAmtRefCcy)=0.01&SortFields=AssetCcyCode\")\r\n .calculate(amcCalculatePercentage(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"AssetCcyCode\", \"A\"),\r\n datasets: [{\r\n data: asfCharting.getDataValue(\"TotMktAccrIncAmtRefCcy\"),\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.2)\r\n }],\r\n },\r\n options: {\r\n\r\n animateRotate: true,\r\n animateScale: true,\r\n rotation: -1 * Math.PI,\r\n legendCallback: asfCharting.getLegendTemplate(),\r\n responsive: true,\r\n //maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n valueColumns: [\"AssetCcyCode\", \"TotMktValAmtAssetCcy\", \"TotMktAccrIncAmtRefCcy\", \"RefCcyCode\", \"TotMktValAmtRefCcyShare\"],\r\n template: \"{1} {0}\\n({2} {3}, {4})\"\r\n })\r\n },\r\n displayColors: false\r\n }\r\n }\r\n }]\r\n };\r\n\r\n definition = $.extend(true, {}, def);\r\n if (definition && definition.datasets && definition.datasets.length) {\r\n for (i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n\r\n $(element).chart(definition);\r\n\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-05-17\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Vermögen im Überblick / Custom constructor / Doughnut Chart\r\n//-- Anlagevermögen nach Anlageklasse\r\n//-------------------------------------------------------------------------------\r\nexport function amcAssetOverviewChart(element, formData, param) {\r\n\r\n var ctrl = this;\r\n var params = param.split(\";\");\r\n var tmpl = \"\";\r\n var application = GetApplication(true);\r\n var chartTemplate = {};\r\n\r\n var i;\r\n var def = null;\r\n var definition = null;\r\n var ds = new asfDataService(application);\r\n var data;\r\n var definition;\r\n\r\n var targetSelectorChart = \"ic-db-chart-\" + ctrl.Name;\r\n var targetSelectorChartLegend = \"ic-db-chart-legend-\" + params[0];\r\n\r\n var refSetNames = [];\r\n\r\n tmpl = \"
\"\r\n + \"\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\";\r\n\r\n //post user defined html template into custom-property-container: \r\n $(element).html(tmpl);\r\n\r\n def = {\r\n objectId: formData.ObjectId,\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewLst\", \r\n formDef: \"DataConsPsnOverviewLst\", \r\n query: \"FormName=DataConsPsnOverviewLst&ConsPId={0}&AssetClassCodeCommon=A\", // FormName=MasterPortfSector1Pie&MasterPortfPId={0}&SectorLevel=1&AssetClassCodeCommon=A&SearchOnlyPositiveFlag=1&SortFields=TotMktValAmtRefCcyShare-\r\n ttl: 10000\r\n }\r\n ],\r\n charts:[{\r\n target: targetSelectorChart,\r\n targetLegend: targetSelectorChartLegend,\r\n chartType: asfCharting.chartTypes.Doughnut,\r\n dataset: \"DataConsPsnOverviewLst\", //MasterPortfSector1Pie\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetSector1Code;AssetSector1Desc;AssetSector1Color&Cols=TotMktAccrIncAmtRefCcy;TotMktAccrIncAmtRefCcyShare;AssetSector1Color&Sums=TotMktAccrIncAmtRefCcy\")\r\n .transform(\"Cols=TotMktAccrIncAmtRefCcy;TotMktAccrIncAmtRefCcyShare;AssetSector1Code;AssetSector1Color;AssetSector1Desc&TotMktAccrIncAmtRefCcy)=0&SortFields=AssetSector1Code\") // )=0\r\n .calculate(amcCalculatePercentage(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n data: {\r\n labels: asfCharting.getDataValue(\"AssetSector1Desc\"),\r\n datasets: [{\r\n backgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.0),\r\n hoverBackgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.3),\r\n data: asfCharting.getDataValue(\"TotMktValAmtRefCcyShare\")\r\n }]\r\n },\r\n options: {\r\n animateRotate: true\r\n , animateScale: true\r\n , responsive: true\r\n , rotation: -1 * Math.PI //1\r\n , legendCallback: asfCharting.getLegendTemplate()\r\n , legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: asfCharting.getToolTipTemplate(\"AssetSector1Desc\", \"TotMktValAmtRefCcyShare\")\r\n },\r\n displayColors: false\r\n\r\n }\r\n }\r\n }]\r\n };\r\n \r\n definition = $.extend(true, {}, def);\r\n if(definition && definition.datasets && definition.datasets.length){\r\n for (i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n \r\n ds.getDataSets(definition.datasets).done(function (datasets) {\r\n\r\n refSetNames.push(\"A![acsBusiness.CRsOrgColors]\");\r\n \r\n application.RefSetCache.updateRefSets(refSetNames).done(function () {\r\n\r\n var result;\r\n var params = {};\r\n\r\n if (datasets) {\r\n for (i = 0; i <= definition.charts.length - 1; i += 1) {\r\n params = {\r\n target: definition.charts[i].target,\r\n targetLegend: definition.charts[i].targetLegend\r\n };\r\n result = asfCharting.getChartData(datasets, definition.charts[0], application, definition);\r\n asfCharting.displayChart(result, params);\r\n }\r\n }\r\n\r\n });\r\n\r\n });\r\n \r\n}\r\n\r\nvar listOptions = {\r\n formName:\"\",\r\n config: \"\",//\"Cols=!PortfId;PosAcctId;!PosDesc;TotCostValAmtRefCcy&SortFields=TotCostValAmtRefCcy-;PosDesc&Groups=PortfId;AssetSector1Desc;PosAcctId&Sums=TotCostValAmtRefCcy&Filters=TotCostValAmtRefCcy)|10\",\r\n defaultConfig: \"\", // \"Cols=PortfId;AssetSector1Desc;PosAcctId;PosDesc;TotCostValAmtRefCcy&SortFields=TotCostValAmtRefCcy-;PosDesc&Groups=PortfId;AssetSector1Desc;PosAcctId&Sums=TotCostValAmtRefCcy\",\r\n rawData: [],\r\n element: null,\r\n dataTableId: \"\",\r\n preCalculations: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\")),\r\n followingCalculations: asfDataEngine.calculate(asfDataEngine.createShare(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n denyFilterCols: [\"TotMktValAmtRefCcyShare\"],\r\n exportFileName: \"\"\r\n \r\n};\r\n\r\nfunction getListOptions() {\r\n return {\r\n formName: \"\",\r\n config: \"\",//\"Cols=!PortfId;PosAcctId;!PosDesc;TotCostValAmtRefCcy&SortFields=TotCostValAmtRefCcy-;PosDesc&Groups=PortfId;AssetSector1Desc;PosAcctId&Sums=TotCostValAmtRefCcy&Filters=TotCostValAmtRefCcy)|10\",\r\n defaultConfig: \"\", // \"Cols=PortfId;AssetSector1Desc;PosAcctId;PosDesc;TotCostValAmtRefCcy&SortFields=TotCostValAmtRefCcy-;PosDesc&Groups=PortfId;AssetSector1Desc;PosAcctId&Sums=TotCostValAmtRefCcy\",\r\n rawData: [],\r\n element: null,\r\n dataTableId: \"\",\r\n expandRowIndex: 0,\r\n preCalculations: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\")),\r\n followingCalculations: asfDataEngine.calculate(asfDataEngine.createShare(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n denyFilterCols: [\"TotMktValAmtRefCcyShare\"],\r\n exportFileName : \"\"\r\n };\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-05-17\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Vermögen im Überblick drill down list / Custom constructor\r\n//-------------------------------------------------------------------------------\r\nexport function amcAssetOverviewList(element, formData, param) {\r\n\r\n var ctrl = this;\r\n var listUrl = null;\r\n var application = GetApplication(true);\r\n var params = param.split(\"|\");\r\n\r\n listOptions = getListOptions();\r\n\r\n if (params && params.length) {\r\n listOptions.formName = params[0]\r\n listOptions.defaultConfig = params[1];\r\n listOptions.formData = formData;\r\n }\r\n \r\n\r\n application.RefSetCache.updateRefSets([\"A!MyClientFfxPsnTrxLink\", \"A!MyClientFutPsnTrxLink\",\r\n \"A!MyClientFxmPsnTrxLink\",\r\n \"A!MyClientPrpPsnTrxLink\",\r\n \"A!MyClientSecPsnTrxLink\",\r\n \"A!MyClientCshPsnTrxLink\",\r\n \"A!ExportFileNames\"\r\n ]).done(function () {\r\n\r\n let url = \"FormName=\" + listOptions.formName; //DataConsPsnOverviewLst\r\n url = url.appendParameter(\"ConsPId\", formData.ObjectId, true);\r\n\r\n listOptions.element = element;\r\n listOptions.dataTableId = ctrl.Name;\r\n \r\n application.DataService.requestData(url,100).done(receiveListData);\r\n });\r\n}\r\n\r\nfunction receiveListData(rawData) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var list = application.List;\r\n var exportFileName = \"\";\r\n\r\n if (rawData && rawData.length) {\r\n\r\n application.RefSetCache.updateDataFormDefs(\"DataConsPsnOverviewLst\").done(function (metaData) {\r\n \r\n listOptions.metaData = metaData;\r\n listOptions.rawData = rawData;\r\n application.UserProfile.getProfile(listOptions.formName).done(function (userConfig) {\r\n listOptions.config = userConfig;\r\n\r\n exportFileName = myRefSet.encodeValue(\"A!ExportFileNames\", \"acsBusiness.ListAssetOverview\");\r\n\r\n application.Promises.onContentCreated().done(function () {\r\n listOptions.exportFileName = exportFileName;\r\n list.displayList(listOptions);\r\n $(\"#custom-ListAssetOverview_0_1\").on(\"click\", \".csvExportLink\",null, list.createCsvExportLinkHandler())\r\n });\r\n })\r\n \r\n });\r\n }\r\n}\r\n\r\nexport function toggleSearchBar() {\r\n\r\n var application = GetApplication(true);\r\n var list = application.List;\r\n\r\n list.toggleSearchBar();\r\n}\r\n\r\nfunction receiveListDataFail(result) {\r\n application.hideLoadStatus();\r\n asfLog(\"Ein Fehler ist aufgetreten in amcChartig2.js receiveListDataFail().\")\r\n}\r\n\r\n//Entwicklung des Vermögens:----------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n//ab : Neue Implementierung nach neuer Methode:\r\n\r\nexport function amcCustAssetStructurePeriod(element, formData, param) {\r\n \r\n var control = this\r\n var params = param.split(\";\"); \r\n\r\n asfSubMaskGrid(element,formData,param)\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-06-13\r\n//-- Responsible: (ab)\r\n//-- Type: prepare function for : (AssetStructureDetTab4 --> AssetStructurePeriod)\r\n//-- Params: evtPeriodChanged (css marker class)\r\n//-- Description: Entwicklung des Vermögens (Drop Down Box)\r\n//-------------------------------------------------------------------------------\r\nexport function amcPrepAssetStructurePeriod(element, formData, param) {\r\n //amcPrepAssetStructurePeriod:custom-AssetStructureChart1_0_1;custom-AssetStructureChart2_0_1;AssetStructureFromDate_3_1;AssetStructureToDate_3_1\r\n var control = this\r\n var params = param.split(\";\"); \r\n var myCharts = [];\r\n var myLists = [];\r\n var i;\r\n var chart = null;\r\n var list = null;\r\n var $fromDate;\r\n var $toDAte;\r\n var mySubMasks = [];\r\n var subMask;\r\n var mySubMask;\r\n\r\n if(params && params.length){\r\n for (i = 0; i <= 1 ; i += 1) {\r\n chart = null;\r\n chart = $(\"#\" + params[i]);\r\n myCharts.push(chart);\r\n }\r\n if (params.length >= 4) {\r\n list = null;\r\n list = $(\"#\" + params[4]);\r\n myLists.push(list);\r\n }\r\n if (params.length >= 5) {\r\n subMask = null;\r\n subMask = $(\"#\" + params[5]);\r\n mySubMasks.push(subMask);\r\n }\r\n }\r\n\r\n element.onchange = function () {\r\n\r\n var listIndex;\r\n var i;\r\n var myChart = null;\r\n var myList = null;\r\n var options = null;\r\n\r\n var portfStartDate;\r\n var curValDate;\r\n\r\n var fd = formData;\r\n var firstOfYear = amcGetFirstOfYear();\r\n \r\n var date = new asfDate(\"dd.mm.yyyy\");\r\n\r\n asfLog(\"Period changing.\");\r\n //portfStartDate = new asfDate(\"dd.mm.yyyy\");\r\n //curValDate = new asfDate(\"dd.mm.yyyy\");\r\n\r\n listIndex = parseInt($(element).get(0).value);\r\n switch (listIndex) {\r\n case 0: // ITD Filter=Keiner | Date-Felder PortfStartDate bis CurValDate\r\n\r\n portfStartDate = formData.getValue(\"StartDate\", control.Name)\r\n date.parse(portfStartDate);\r\n curValDate = formData.getValue(\"CurValDate\", control.Name)\r\n\r\n for (i = 0; i <= myCharts.length - 1; i += 1) {\r\n myChart = myCharts[i];\r\n myChart.chart(\"destroyChart\");\r\n myChart.chart(\"setDefinitionOptions\", \"defOptions\", { StartDate: date.toStandard(), EndDate: null });\r\n myChart.chart(\"refresh\");\r\n }\r\n\r\n fd.setValue(params[2], portfStartDate); //fromDate\r\n fd.setValue(params[3], curValDate); // toDate\r\n\r\n for (i = 0; i <= myLists.length - 1; i += 1) {\r\n myList = myLists[i];\r\n myList.list(\"setDefinitionOptions\", \"defOptions\", { StartDate: null, EndDate: null });\r\n myList.list(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= mySubMasks.length - 1; i += 1) {\r\n mySubMask = mySubMasks[i];\r\n mySubMask.submask(\"setDefinitionOptions\", \"defOptions\", { StartDate: null, EndDate: null });\r\n mySubMask.submask(\"refresh\");\r\n }\r\n\r\n break;\r\n case 1: // YTD First Of Year |\r\n\r\n for (i = 0; i <= myCharts.length - 1; i += 1) {\r\n myChart = myCharts[i];\r\n myChart.chart(\"destroyChart\");\r\n myChart.chart(\"setDefinitionOptions\", \"defOptions\", { StartDate: firstOfYear, EndDate: null });\r\n myChart.chart(\"refresh\");\r\n if (i === 0) {\r\n date.parse(firstOfYear);\r\n portfStartDate = date.toString();\r\n curValDate = myChart.chart(\"getDataSetValue\", { dataSetName: \"DataPortfPerfSeries\", rowIndex: -1, colName: \"ValDate\", format: \"dd.mm.yyyy\" });\r\n }\r\n }\r\n\r\n fd.setValue(params[2], portfStartDate); //fromDate\r\n fd.setValue(params[3], curValDate); // toDate\r\n\r\n for (i = 0; i <= myLists.length - 1; i += 1) {\r\n myList = myLists[i];\r\n myList.list(\"setDefinitionOptions\", \"defOptions\", { StartDate: firstOfYear, EndDate: null });\r\n myList.list(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= mySubMasks.length - 1; i += 1) {\r\n mySubMask = mySubMasks[i];\r\n mySubMask.submask(\"setDefinitionOptions\", \"defOptions\", { StartDate: firstOfYear, EndDate: null });\r\n mySubMask.submask(\"refresh\");\r\n }\r\n\r\n break;\r\n case 2: // USER DEFINED\r\n \r\n break;\r\n }\r\n\r\n };\r\n\r\n}\r\n\r\nexport function amcCustomControlAssetStructureButtonShowUdt(element, formData, param) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n var ctrl = this\r\n var params = param.split(\";\");\r\n var tmplButton = \"\";\r\n var elmButton = null;\r\n var buttonDesc = myRefSet.encodeValue(\"A!amcActionBars\", \"Show\") || \"Anzeigen\";\r\n //param:AssetStructureButtonShowUdt_3_1;custom-AssetStructureChart1_0_1;custom-AssetStructureChart2_0_1;AssetStructureFromDate_3_1;AssetStructureToDate_3_1;AssetStructurePeriod_3_1\r\n \r\n //tmplButton = \"\";\r\n tmplButton = \"\";\r\n $(element).html(tmplButton);\r\n\r\n elmButton = $(\"button[name='\" + params[0] + \"']\");\r\n elmButton.on(\"click\", amcChartingApplyCustomRange(element, formData, param));\r\n\r\n}\r\n\r\nexport function prepareAssetStructureFromDate(element, formData, param) {\r\n//ist in den metadaten angeschlossen, werden aber akutell nicht benötigt.\r\n}\r\n\r\nexport function prepareAssetStructureToDate(element, formData, param) {\r\n//ist in den metadaten angeschlossen, werden aber akutell nicht benötigt.\r\n}\r\n\r\nexport function validateAssetStructureFromDate(element, formData, param) {\r\n\r\n var control = this;\r\n var newFromDate = formData.getValue(control.Name);\r\n var oldFromDate = control.Value;\r\n\r\n if (newFromDate != oldFromDate) {\r\n amcChartingApplyCustomRangeDirect(null, formData, param);\r\n };\r\n\r\n}\r\n\r\nexport function validateAssetStructureToDate(element, formData, param) {\r\n\r\n var control = this;\r\n var newFromDate = formData.getValue(control.Name);\r\n var oldFromDate = control.Value;\r\n\r\n if (newFromDate != oldFromDate) {\r\n amcChartingApplyCustomRangeDirect(null, formData, param);\r\n };\r\n\r\n}\r\n\r\nfunction amcChartingApplyCustomRangeDirect(element, formData, param) {\r\n\r\n var i;\r\n var params = param.split(\";\");\r\n var myCharts = [];\r\n var myLists = [];\r\n var mySubMasks = [];\r\n var subMask;\r\n var mySubMask;\r\n var list = null;\r\n var chart = null;\r\n var fromDate = null;\r\n var toDate = null;\r\n var fd = formData;\r\n\r\n var formatter = new asfDate(\"dd.mm.yyyy\");\r\n\r\n if (params && params.length) {\r\n\r\n for (i = 1; i <= 2; i += 1) {\r\n chart = null;\r\n chart = $(\"#\" + params[i]);\r\n myCharts.push(chart);\r\n }\r\n\r\n if (params.length >= 6) {\r\n list = null;\r\n list = $(\"#\" + params[6]); //\"custom-AssetStructureList_0_1\"\r\n myLists.push(list);\r\n }\r\n\r\n if (params.length >= 7) {\r\n subMask = null;\r\n subMask = $(\"#\" + params[7]); //\"custom-AssetStructurePerfPreTax_0_1\"\r\n mySubMasks.push(subMask);\r\n\r\n }\r\n\r\n formatter.parse(fd.getValue(params[3]));\r\n fromDate = formatter.toStandard();\r\n formatter.parse(fd.getValue(params[4]));\r\n toDate = formatter.toStandard();\r\n\r\n fd.setValue(params[5], \"2\");\r\n\r\n for (i = 0; i <= myCharts.length - 1; i += 1) {\r\n let myChart = myCharts[i];\r\n myChart.chart(\"destroyChart\");\r\n myChart.chart(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n myChart.chart(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= myLists.length - 1; i += 1) {\r\n let myList = myLists[i];\r\n myList.list(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n myList.list(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= mySubMasks.length - 1; i += 1) {\r\n let mySubMask = mySubMasks[i];\r\n mySubMask.submask(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n mySubMask.submask(\"refresh\");\r\n }\r\n\r\n }\r\n}\r\n\r\nfunction amcChartingApplyCustomRange(element, formData, param) {\r\n \r\n return function (event, data) {\r\n\r\n var i;\r\n var params = param.split(\";\");\r\n var myCharts = [];\r\n var myLists = [];\r\n var list = null;\r\n var mySubMasks = [];\r\n var subMask = null;\r\n var mySubMask = null;\r\n var chart = null;\r\n var fromDate = null;\r\n var toDate = null;\r\n var fd = formData;\r\n \r\n var formatter = new asfDate(\"dd.mm.yyyy\");\r\n\r\n if (params && params.length) {\r\n\r\n for (i = 1; i<=2; i += 1) {\r\n chart = null;\r\n chart = $(\"#\" + params[i]);\r\n myCharts.push(chart);\r\n }\r\n\r\n if (params.length >= 6) {\r\n list = null;\r\n list = $(\"#\" + params[6]);\r\n myLists.push(list);\r\n }\r\n\r\n if (params.length >= 7) {\r\n subMask = null;\r\n subMask = $(\"#\" + params[7]);\r\n mySubMasks.push(subMask);\r\n }\r\n\r\n formatter.parse( fd.getValue(params[3]) );\r\n fromDate = formatter.toStandard();\r\n formatter.parse(fd.getValue(params[4]));\r\n toDate = formatter.toStandard();\r\n\r\n fd.setValue(params[5], \"2\");\r\n\r\n for (i = 0; i <= myCharts.length - 1; i += 1) {\r\n let myChart = myCharts[i];\r\n myChart.chart(\"destroyChart\");\r\n myChart.chart(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n myChart.chart(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= myLists.length - 1; i += 1) {\r\n let myList = myLists[i];\r\n myList.list(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n myList.list(\"refresh\");\r\n }\r\n\r\n for (i = 0; i <= mySubMasks.length - 1; i += 1) {\r\n mySubMask = mySubMasks[i];\r\n mySubMask.submask(\"setDefinitionOptions\", \"defOptions\", { StartDate: fromDate, EndDate: toDate });\r\n mySubMask.submask(\"refresh\");\r\n }\r\n\r\n }\r\n \r\n }\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-05-17\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Entwicklung des Vermögens CHART 1 \r\n//-- (Index der Wertentwicklung vor Steuern zum Monatsende)\r\n//-------------------------------------------------------------------------------\r\nexport function amcCustControlAssetStructureChart1(element, formData, param) {\r\n\r\n var ctrl = this\r\n var params = param.split(\";\")\r\n var application = GetApplication(true);\r\n var ds = new asfDataService(application);\r\n var targetSelectorChart = \"ic-db-chart-\" + params[1];;\r\n var targetSelectorChartLegend = \"ic-db-chart-legend-\" + params[0];\r\n var def = null;\r\n var i;\r\n var chartTemplate;\r\n var refSetNames = [];\r\n var definition;\r\n var myRefSet = application.RefSetCache;\r\n // test var locale = moment.locale();\r\n \r\n //alert(locale);\r\n\r\n $(element).html(\"
\");\r\n \r\n def =\r\n {\r\n name: \"AssetStructureChart1\",\r\n application: GetApplication(true),\r\n objectId: formData.ObjectId,\r\n refSetNames: [\"A![acsBusiness.CRsOrgColors]\"], \r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeries\",\r\n formDef: \"DataPortfPerfSeries\",\r\n //query: \"FormName=DataPortfPerfSeries&MasterPortfPId={0}&SearchYTDFlag=1\",\r\n query: \"ObjectType=MasterPortfPerfSeries&NavStatus=MasterPortfDet&Value=BenchmDesc&Display=BenchmDesc&Cols=ValDate;PerGrossTwrLog;TotGrossTwrPct;PerBenchmTwrLog;TotBenchmTwrPct;BenchmDesc&Rows=-1&MasterPortfPId={0}\", //&SearchYTDFlag=1\r\n ttl: 10000\r\n } \r\n ],\r\n options: {\r\n StartDate: amcGetFirstOfYear(),\r\n EndDate: null\r\n },\r\n optionFilter: amcDateRangeOptionFilter(\"ValDate\"),\r\n charts: [{\r\n target: targetSelectorChart,\r\n targetLegend: targetSelectorChartLegend,\r\n chartType: asfCharting.chartTypes.Line,\r\n dataset: \"DataPortfPerfSeries\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;PerGrossTwrLog;TotGrossTwrPct;PerBenchmTwrLog;TotBenchmTwrPct;BenchmDesc&SortFields=ValDate\")\r\n .calculate(amcCalculatePerfIndexPct(\"PerGrossTwrLog\", \"TotGrossTwrPct\"))\r\n .calculate(amcCalculatePerfIndexPct(\"PerBenchmTwrLog\", \"TotBenchmTwrPct\"))\r\n .calculate(amcCalculateIndexStart(\"ValDate\", \"TotGrossTwrPct\", \"TotBenchmTwrPct\")),\r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"ValDate\", \"dd.mm.yyyy\"), // asfCharting.getDataValue(\"ValDate\"),\r\n datasets: [\r\n {\r\n label: \"Vermögen\",\r\n fill: false,\r\n lineTension: 0, //0.1\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderWidth: 0.5,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointHoverBorderColor: \"#000000\",\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 3,\r\n pointHitRadius: 6,\r\n data: asfCharting.getDataValue(\"TotGrossTwrPct\")\r\n\r\n },\r\n {\r\n label: \"Benchmark\",\r\n type: \"line\",\r\n fill: false,\r\n lineTension: 0,\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n borderWidth: 0.5,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n pointHoverBorderColor: \"rgba(220,220,220,1)\",\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 3,\r\n pointHitRadius: 6,\r\n data: asfCharting.getDataValue(\"TotBenchmTwrPct\")\r\n }\r\n\r\n ]\r\n },\r\n options: { \r\n responsive: true,\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales:{\r\n\r\n xAxes: [{\r\n type: \"category\", //type: \"time\",\r\n time: {\r\n displayFormats: {\r\n month: \"MM.YYYY\",\r\n quarter: \"MM.YYYY\",\r\n year: \"YYYY\"\r\n },\r\n minUnit: \"month\"\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString : \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.0# %\") \r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setMultiToolTips({\r\n \"Vermögen\" : {\r\n template: \"Vermögen: {0}\",\r\n valueColumns: [\"TotGrossTwrPct\"]\r\n },\r\n \"Benchmark\": {\r\n template: \"{0}: {1}\",\r\n valueColumns: [\"BenchmDesc\", \"TotBenchmTwrPct\"]\r\n }\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n } //,next chart here\r\n }]\r\n };\r\n \r\n definition = $.extend(true, {}, def);\r\n if (definition && definition.datasets && definition.datasets.length) {\r\n for (i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n\r\n var refSetName = \"A!ASC-\" + def.name;\r\n application.RefSetCache.decodeObject(definition, refSetName);\r\n\r\n $(element).chart(definition);\r\n \r\n $(element).on(\"chartdataready\", function (event, data) {\r\n alert(\"Daten für chart 1 sind fertig!\")\r\n })\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-05-17\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Entwicklung des Vermögens CHART 2\r\n//-- (Performancedifferenz zur Benchmark)\r\n//-------------------------------------------------------------------------------\r\nexport function amcCustControlAssetStructureChart2(element, formData, param) {\r\n\r\n var ctrl = this\r\n var params = param.split(\";\")\r\n var application = GetApplication(true);\r\n var ds = new asfDataService(application);\r\n var targetSelectorChart = \"ic-db-chart-\" + params[1];;\r\n var targetSelectorChartLegend = \"ic-db-chart-legend-\" + params[0];\r\n var def = null;\r\n var i;\r\n var chartTemplate;\r\n var definition;\r\n var myRefSet = application.RefSetCache;\r\n\r\n $(element).html(\"
\");\r\n\r\n def =\r\n {\r\n name : \"AssetStructureChart2\",\r\n application: GetApplication(true),\r\n chartInstances:[],\r\n objectId: formData.ObjectId,\r\n refSetNames: [\"A![acsBusiness.CRsOrgColors]\"],\r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeries\",\r\n formDef: \"DataPortfPerfSeries\",\r\n //query: \"FormName=DataPortfPerfSeries&MasterPortfPId={0}&SearchYTDFlag=1\",\r\n query: \"ObjectType=MasterPortfPerfSeries&NavStatus=MasterPortfDet&Value=BenchmDesc&Display=BenchmDesc&Cols=ValDate;PerGrossTwrLog;TotGrossTwrPct;PerBenchmTwrLog;TotBenchmTwrPct;BenchmDesc&Rows=-1&MasterPortfPId={0}\", //&SearchYTDFlag=1\r\n ttl: 10000\r\n }\r\n ],\r\n options: {\r\n StartDate: amcGetFirstOfYear(),\r\n EndDate: null\r\n },\r\n optionFilter: amcDateRangeOptionFilter(\"ValDate\"),\r\n charts: [{\r\n target: targetSelectorChart,\r\n targetLegend: targetSelectorChartLegend,\r\n chartType: asfCharting.chartTypes.Line,\r\n dataset: \"DataPortfPerfSeries\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;PerGrossTwrLog;PerBenchmTwrLog;BenchmDesc&SortFields=ValDate\")\r\n .calculate(amcCalculatePerfIndexPct(\"PerGrossTwrLog\", \"TotGrossTwrPct\"))\r\n .calculate(amcCalculatePerfIndexPct(\"PerBenchmTwrLog\", \"TotBenchmTwrPct\"))\r\n .calculate(amcCalculateIndexStart(\"ValDate\", \"TotGrossTwrPct\", \"TotBenchmTwrPct\"))\r\n .calculate(amcCalculateTotGrossTwrOverBenchmPct(\"PerGrossTwrLog\", \"PerBenchmTwrLog\", \"PerGrossTwrOverBenchmPct\", \"TotGrossTwrOverBenchmPct\")),\r\n \r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"ValDate\", \"dd.mm.yyyy\"), //asfCharting.getDataValue(\"ValDate\"),\r\n datasets: [\r\n {\r\n type: \"line\",\r\n label: \"kumuliert\", // \"kumuliert\",\r\n fill: false,\r\n lineTension: 0,\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderWidth : 1,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointHoverBorderColor: \"rgba(220,220,220,1)\",\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 3,\r\n pointHitRadius: 6,\r\n data: asfCharting.getDataValue(\"TotGrossTwrOverBenchmPct\")\r\n },\r\n {\r\n label: \"monatlich vor Steuern\", // \"monatlich vor Steuern\",\r\n type:\"bar\",\r\n fill: true,\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n borderWidth: 1,\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2), \"#FFFFFF\", 0.2),\r\n data: asfCharting.getDataValue(\"PerGrossTwrOverBenchmPct\")\r\n }\r\n\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\", //type: \"time\",\r\n stacked: true,\r\n categoryPercentage: 0.2,\r\n barPercentage: 1,\r\n //time: {\r\n // displayFormats: {\r\n // month: \"MM.YYYY\",\r\n // quarter: \"MM.YYYY\",\r\n // year: \"YYYY\"\r\n // },\r\n // minUnit: \"month\"\r\n //},\r\n gridLines: {\r\n display: false\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.0# %\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setMultiToolTips({\r\n \"kumuliert\": {\r\n template: \"kumuliert: {0}\",\r\n valueColumns: [\"TotGrossTwrOverBenchmPct\"]\r\n },\r\n \"monatlich vor Steuern\": {\r\n template: \"monatlich vor Steuern: {0}\",\r\n valueColumns: [\"PerGrossTwrOverBenchmPct\"]\r\n }\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n } //,next chart here\r\n }]\r\n };\r\n\r\n definition = $.extend(true, {}, def);\r\n\r\n var refSetName = \"A!ASC-\" + def.name;\r\n application.RefSetCache.decodeObject(definition, refSetName);\r\n\r\n if (definition && definition.datasets && definition.datasets.length) {\r\n for (i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n\r\n\r\n\r\n $(element).chart(definition);\r\n $(element).on(\"chartdataready\", function (event, data) {\r\n alert(\"Daten für chart 1 sind fertig!\")\r\n })\r\n\r\n}\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-05-17\r\n//-- Responsible: (ab)\r\n//-- Type: custom constructor\r\n//-- Description: Entwicklung des Vermögens LIST \r\n//-------------------------------------------------------------------------------\r\nexport function amcCustControlAssetStructureList(element, formData, param) {\r\n\r\n var application = GetApplication(true);\r\n var ctrl = this\r\n var def = null;\r\n var list = application.List;\r\n var myList = null;\r\n\r\n def = getListDefinition(element, formData, param, ctrl);\r\n \r\n $(element).list(def);\r\n\r\n};\r\n\r\nfunction getListDefinition(element, formData, parameters, ctrl) {\r\n\r\n var params = parameters.split(\"|\") //Parameter aus Metadaten FormDefinition CustomConstructor\r\n var formName = params[0]; //FormName der Listenmaske\r\n var targetField = params[1]; //technischer Feldname in welchem\r\n var defaultCols = params[2]; //standard konfiguration der sichtbaren Listen spalten\r\n var def = null; //definition der Liste\r\n var definition = null; //definition der Liste als kopiertes Objekt ohne Referenz \r\n var tmpParams;\r\n var listExportCode = 0; //0=Keine Export Funktionalität.| 1=CSV-Export.\r\n var rootListDelegateExportId = element.id //\r\n\r\n if (params && params.length == 4) {\r\n tmpParams = params[3].split(\"=\");\r\n if (tmpParams && tmpParams.length == 2) {\r\n listExportCode = tmpParams[1];\r\n }\r\n }\r\n\r\n def = {\r\n\r\n application: GetApplication(true),\r\n objectId: formData.ObjectId,\r\n config: \"\",\r\n defaultConfig: defaultCols,\r\n rawData: [],\r\n element: element,\r\n dataTableId: ctrl.Name,\r\n denyFilterCols: [],\r\n metaData: null,\r\n listExportCode: listExportCode,\r\n rootListDelegateExportId: rootListDelegateExportId,\r\n exportFileName : \"Entwicklung des Vermögens.csv\",\r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeriesLstTab3\",\r\n formDef: \"DataPortfPerfSeriesLstTab3\",\r\n query:\"ObjectType=MasterPortfPerfSeries&NavStatus=MasterPortfDet&Value=BenchmDesc&Display=BenchmDesc&Cols=ValDate;PerGrossTwrLog;PerGrossTwrPct;PerNetTwrPct;PerNetTwrLog;KumGrossTwrPct;PrevTotMktValAmtRefCcy;PerCashFlowAmtRefCcy;PerGrossResAmtRefCcy;PerTaxAmtRefCcy;TotMktValAmtRefCcy&Rows=-1&MasterPortfPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n options: {\r\n StartDate: amcGetFirstOfYear(),\r\n EndDate: null\r\n },\r\n optionFilter: amcDateRangeOptionFilter(\"ValDate\"),\r\n lists: [{\r\n dataset: \"DataPortfPerfSeriesLstTab3\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;PerGrossTwrLog;PerNetTwrLog;PrevTotMktValAmtRefCcy;PerCashFlowAmtRefCcy;PerGrossResAmtRefCcy;PerTaxAmtRefCcy;TotMktValAmtRefCcy;PerGrossTwrPct;PerNetTwrPct;KumGrossTwrPct&SortFields=ValDate-\")\r\n .calculate(amcCalculatePerfPct(\"PerGrossTwrLog\", \"PerGrossTwrPct\"))\r\n .calculate(amcCalculatePerfPct(\"PerNetTwrLog\", \"PerNetTwrPct\"))\r\n .calculate(amcCalculatePerfIndexPctReverse(\"PerGrossTwrLog\", \"KumGrossTwrPct\")),\r\n data: {\r\n datasets:[{}]\r\n }\r\n }]\r\n }\r\n\r\n definition = $.extend(true, {}, def);\r\n if (definition && definition.datasets && definition.datasets.length) {\r\n for (let i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n\r\n \r\n return definition;\r\n\r\n}\r\n\r\n\r\n\r\nexport function amcCustControlCreateSubMaskForPerfValues(element, formData, param) {\r\n\r\n var application = GetApplication(true);\r\n var ctrl = this\r\n var def = null;\r\n var subMask = application.SubMask;\r\n var mySubMask = null;\r\n\r\n def = getSubMaskDefinition(element, formData, param, ctrl);\r\n\r\n $(element).submask(def);\r\n\r\n}\r\n\r\n\r\nfunction getSubMaskDefinition(element, formData, parameters, ctrl) {\r\n\r\n var params = parameters.split(\"|\") //Parameter aus Metadaten FormDefinition CustomConstructor\r\n var formName = params[0]; //FormName der Listenmaske\r\n var tmp = params[1]; //\r\n var subMaskTargetFields = tmp.split(\";\"); //enthält technische Zielfeldnamen (AssetStructurePerfPreTaxPa;AssetStructurePerfAfterTaxPa;AssetStructurePerfPreTax;AssetStructurePerfAfterTax)\r\n var def = null; //definition der Liste\r\n var definition = null; //definition der Liste als kopiertes Objekt ohne Referenz \r\n\r\n def = {\r\n\r\n application: GetApplication(true),\r\n objectId: formData.ObjectId,\r\n formData : formData,\r\n element: element,\r\n control: ctrl,\r\n param: parameters,\r\n subMaskName : params[0],\r\n subMaskTargetFields:subMaskTargetFields,\r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeriesLstTab3\",\r\n formDef: \"DataPortfPerfSeriesLstTab3\",\r\n query: \"ObjectType=MasterPortfPerfSeries&NavStatus=MasterPortfDet&Value=BenchmDesc&Display=BenchmDesc&Cols=ValDate;PerGrossTwrLog;PerGrossTwrPct;PerNetTwrPct;PerNetTwrLog;KumGrossTwrPct;PrevTotMktValAmtRefCcy;PerCashFlowAmtRefCcy;PerGrossResAmtRefCcy;PerTaxAmtRefCcy;TotMktValAmtRefCcy&Rows=-1&MasterPortfPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n options: {\r\n StartDate: amcGetFirstOfYear(),\r\n EndDate: null\r\n },\r\n optionFilter: amcDateRangeOptionFilter(\"ValDate\"),\r\n subMasks: [{\r\n maskName: formName,\r\n dataset: \"DataPortfPerfSeriesLstTab3\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;PerGrossTwrLog;PerNetTwrLog;PrevTotMktValAmtRefCcy;PerCashFlowAmtRefCcy;PerGrossResAmtRefCcy;PerTaxAmtRefCcy;TotMktValAmtRefCcy;PerGrossTwrPct;PerNetTwrPct;KumGrossTwrPct;KumNetTwrPct&SortFields=ValDate\")\r\n .calculate(amcCalculatePerfIndexPct(\"PerGrossTwrLog\", \"KumGrossTwrPct\"))\r\n .calculate(amcCalculatePerfIndexPct(\"PerNetTwrLog\", \"KumNetTwrPct\"))\r\n .calculate(amcCalculatePerformanceValues(\"KumGrossTwrPct\", \"KumNetTwrPct\", \"AssetStructurePerfPreTax\", \"AssetStructurePerfPreTaxPa\", \"AssetStructurePerfAfterTax\", \"AssetStructurePerfAfterTaxPa\"))\r\n ,\r\n data: {\r\n datasets: [{}]\r\n }\r\n }]\r\n }\r\n\r\n definition = $.extend(true, {}, def);\r\n if (definition && definition.datasets && definition.datasets.length) {\r\n for (let i = 0; i <= definition.datasets.length - 1; i += 1) {\r\n definition.datasets[i].query = definition.datasets[i].query.formatURI(definition.objectId);\r\n }\r\n }\r\n\r\n\r\n return definition;\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useIsMounted } from \"./useIsMounted.js\"\r\nimport { OpenWebSite } from \"./asfScripts.js\";\r\n\r\nconst DATEVUploadButtonContent = {\r\n invisible: 0, // Keine Datei vorhanden oder keine Berechtigung\r\n uploadPossible: 1, // Dateien vorhanden, noch kein Upload versucht\r\n pollStatus: 2, // Upload im Gang, nachfragen, ob er beendet ist\r\n allError: 3, // Fehlerhaft, nicht erneut versuchen\r\n allSuccess: 4, // Erfolgreich, ggf. kann man erneut hochladen\r\n checkStatus: 5, // Status unklar, evtl. wurde ein früherer Upload abgebrochen. Es ist eine Anmeldung bei DATEV nötig, um den Status zu klären\r\n retryPossible: 6 // Nur intern: AccessToken abgelaufen, nochmal mit aufgefrischtem AccessToken probieren.\r\n}\r\n\r\nexport function DatevUploadButton(props) {\r\n const ctrl = props.ctrl;\r\n const application = props.application;\r\n const header = props.header;\r\n const name = ctrl && ctrl.Name;\r\n let label = (header && header.Label) || \"\";\r\n let params = props.params;\r\n let mode = \"job\";\r\n\r\n if (Array.isArray(params)) {\r\n mode = params.shift() || mode;\r\n }\r\n\r\n const isMounted = useIsMounted();\r\n const [content, setContent] = useState((ctrl && ctrl.Content && parseInt(ctrl.Content)) || 0);\r\n\r\n function openPopup(title, msg, accept, dismiss) {\r\n\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcModalLabel\").html(title);\r\n q(\"#amcModelBody\").html(msg);\r\n\r\n q(\"#amcPopUpAccept\").on(\"click\", accept);\r\n q(\"#amcPopUpDismiss\").on(\"click\", dismiss);\r\n q(\"#amcPopUpClose\").on(\"click\", dismiss);\r\n\r\n var myModel = $(\"#amcModal\").modal({\r\n keyboard: true,\r\n backdrop: \"static\"\r\n });\r\n }\r\n\r\n function dismissPrepUploadDocuments() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptPrepUploadDocuments);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissPrepUploadDocuments);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissPrepUploadDocuments);\r\n\r\n resetDocument();\r\n }\r\n\r\n function acceptPrepUploadDocuments() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptPrepUploadDocuments);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissPrepUploadDocuments);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissPrepUploadDocuments);\r\n\r\n uploadDocuments();\r\n }\r\n\r\n function dismissCheckDocuments() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptCheckDocuments);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissCheckDocuments);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissCheckDocuments);\r\n\r\n resetDocument();\r\n }\r\n\r\n function acceptCheckDocuments() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptCheckDocuments);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissCheckDocuments);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissCheckDocuments);\r\n\r\n reuploadDocuments();\r\n }\r\n\r\n function acceptUploadDocument() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptUploadDocument);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissUploadDocument);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissUploadDocument);\r\n\r\n reuploadDocument();\r\n\r\n }\r\n\r\n function dismissUploadDocument() {\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#amcPopUpAccept\").off(\"click\", acceptUploadDocument);\r\n q(\"#amcPopUpDismiss\").off(\"click\", dismissUploadDocument);\r\n q(\"#amcPopUpClose\").off(\"click\", dismissUploadDocument);\r\n\r\n resetDocument();\r\n }\r\n\r\n function openWebsiteAndReload(url) {\r\n var datevLogin = OpenWebSite(url, \"_blank\");\r\n function checkForClose() {\r\n if (datevLogin.closed) {\r\n application.reload();\r\n } else {\r\n application.setPageTimeout(checkForClose, 2000);\r\n };\r\n\r\n }\r\n application.setPageTimeout(checkForClose, 2000);\r\n }\r\n\r\n function upload() {\r\n var url = \"/api/datev/upload\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function uploadDocuments() {\r\n var url = \"/api/datev/uploaddocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function prepUploadDocuments() {\r\n var url = \"/api/datev/prepuploaddocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else if (result.uploadButtonContent != content) {\r\n openPopup(result.title, result.message, acceptPrepUploadDocuments, dismissPrepUploadDocuments);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function prepUploadDocument() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/prepuploaddocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else if (result.uploadButtonContent != content) {\r\n openPopup(result.title, result.message, acceptUploadDocument, dismissUploadDocument);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function reupload() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/reupload\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else {\r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function reuploadDocuments() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/reuploaddocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else {\r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function reuploadDocument() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/reuploaddocument\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else {\r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function checkJobs() {\r\n var url = \"/api/datev/checkjobs\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.redirectUrl) {\r\n openWebsiteAndReload(result.redirectUrl);\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n } else {\r\n application.setPageTimeout(pollJobs, 5000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function checkDocuments() {\r\n var url = \"/api/datev/checkdocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.uploadButtonContent == content) {\r\n openPopup(result.title, result.message, acceptCheckDocuments, dismissCheckDocuments);\r\n } else { \r\n application.reload();\r\n }\r\n }\r\n })\r\n }\r\n\r\n function pollJobs() {\r\n var url = \"/api/datev/polljobs\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.uploadButtonContent == 5) {\r\n if (isMounted()) {\r\n setContent(result.uploadButtonContent);\r\n }\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n } else {\r\n application.setPageTimeout(pollJobs, 5000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function pollJob() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/polljobs\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId); // Dieser Endpunkt funktioniert für JOb-ObjectIds und Datei-ObjectIds\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.uploadButtonContent == 5) {\r\n if (isMounted()) {\r\n setContent(result.uploadButtonContent);\r\n }\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n } else {\r\n application.setPageTimeout(pollJobs, 5000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function pollDocument() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/polldocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.uploadButtonContent != DATEVUploadButtonContent.pollStatus) {\r\n if (isMounted()) {\r\n let filesizeName = application.Form.getControlName(\"Filesize\", name);\r\n application.Form.setValue(filesizeName, result.Filesize)\r\n setContent(result.uploadButtonContent);\r\n }\r\n } else {\r\n application.setPageTimeout(() => { application.reload()}, 5000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function pollDocuments() {\r\n var url = \"/api/datev/polldocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", application.ObjectId);\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n if (result) {\r\n if (result.uploadButtonContent == DATEVUploadButtonContent.retryPossible) {\r\n if (isMounted()) {\r\n setContent(result.uploadButtonContent);\r\n }\r\n } else if (result.uploadButtonContent != content) {\r\n application.reload();\r\n } else {\r\n application.setPageTimeout(pollJobs, 5000);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function resetDocument() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/resetdocuments\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done(() => {\r\n application.reload();\r\n })\r\n }\r\n\r\n function cancelDocUpload() {\r\n var objectId = application.Form.getValue(\"ObjectId\", name);\r\n var url = \"/api/datev/canceldocupload\".appendParameter(\"NavStatus\", application.NavStatus).appendParameter(\"ObjectId\", objectId);\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done(() => {\r\n pollDocuments();\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (content != DATEVUploadButtonContent.pollStatus) return;\r\n switch (mode) {\r\n case \"job\":\r\n pollJobs();\r\n break;\r\n case \"file\":\r\n pollJob();\r\n break;\r\n case \"documents\":\r\n pollDocuments();\r\n break;\r\n case \"docfile\":\r\n pollDocument();\r\n break;\r\n }\r\n }, []);\r\n\r\n if (label && label.endsWith(\":\")) {\r\n label = label.substring(0, label.length - 1);\r\n }\r\n\r\n let contentKey = `${mode}-${content}`;\r\n let formattedContent = application.Formatter.formatValue(\"A!amcDATEVUploadButton\", contentKey);\r\n formattedContent = formattedContent.format(label)\r\n switch (mode) { \r\n case \"job\": {\r\n switch (content) {\r\n case DATEVUploadButtonContent.uploadPossible: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.pollStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allError: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allSuccess: {\r\n let classes = \"text-\" + name.escapeCSSName() + \" text-secondary\";\r\n return (<> {formattedContent})\r\n }\r\n case DATEVUploadButtonContent.checkStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.retryPossible: {\r\n return (<>)\r\n }\r\n }\r\n break;\r\n }\r\n case \"documents\": {\r\n switch (content) {\r\n case DATEVUploadButtonContent.uploadPossible: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.pollStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allError: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allSuccess: {\r\n let classes = \"text-\" + name.escapeCSSName() + \" text-secondary\";\r\n return (<> {formattedContent})\r\n }\r\n case DATEVUploadButtonContent.retryPossible: {\r\n return (<>)\r\n }\r\n }\r\n break;\r\n }\r\n case \"file\": {\r\n switch (content) {\r\n case DATEVUploadButtonContent.uploadPossible: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.pollStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allError: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allSuccess: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.checkStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.retryPossible: {\r\n return (<>)\r\n }\r\n }\r\n break;\r\n }\r\n case \"docfile\": {\r\n switch (content) {\r\n case DATEVUploadButtonContent.uploadPossible: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.pollStatus: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allError: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.allSuccess: {\r\n return (<>)\r\n }\r\n case DATEVUploadButtonContent.retryPossible: {\r\n return (<>)\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n // Fallback, wenn Parameter nicht stimmen\r\n return (<> );\r\n}\r\n","import { GetApplication } from \"./asfScripts.js\";\r\nimport { asfCharting } from \"./asfCharting.js\";\r\nimport { asfDataEngine } from \"./asfDataEngine.js\";\r\nimport { asfDashBoard } from \"./asfDashBoard.js\";\r\nimport { asfGlobalSearch } from \"./asfGlobalSearch.js\";\r\nimport { asfDate } from \"./asfDate.js\";\r\nimport { asfComboBox } from \"./asfComboBox.js\";\r\nimport { amcPortfolioSearchDisplay } from \"./amcBusiness.js\";\r\nimport { amcCalculateIndexStart, amcGetUltimo, amcGetFirstOfYear, amcGetFirstOfQuarter, amcGetFirstOfHalfYear } from \"./amcCharting2.js\";\r\nimport { getControl } from \"./asfTemplates.js\";\r\nimport { asfControl } from \"./asfControl.js\";\r\n\r\nexport function amcDashboard (application, name, navStatus) {\r\n\r\n function amcWidgetPortfInfo($target, suggestion, index, updateCallback) {\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var mktValue = application.Formatter.formatValue(\"#,##0\", suggestion.TotMktValAmtRefCcy);\r\n var perf = application.Formatter.formatValue(\"0.0 %\", suggestion.GrossPerfRefCcyYear);\r\n var myYTD_v_St = myRefSet.encodeValue(\"A!amcWidgetPortfInfo\", \"YTD_v_St\");\r\n\r\n var result = \"

{0} Tsd. {1}

{2} \" + myYTD_v_St + \"

\";\r\n result = result.format(mktValue, suggestion.Ccy, perf);\r\n\r\n return result;\r\n\r\n //return \"

{0} Tsd. {1}

{2} \" + desc + \"

\".format(mktValue, suggestion.Ccy, perf);\r\n }\r\n\r\n function amcWidgetSelectTimescale($target, suggestion, index, updateCallback) {\r\n \r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var definition = this;\r\n var name = \"timescale\" + index;\r\n var template = \"
\" \r\n + \"
\"\r\n + \"
\"\r\n //+ \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\";\r\n \r\n\r\n $target.off(\"change\", \"input[name='\" + name + \"']\").on(\"change\", \"input[name='\" + name + \"']\", null, onTimescaleChanged);\r\n\r\n return template;\r\n\r\n function onTimescaleChanged(event, data) {\r\n\r\n var userOptions = { timeScale: $(event.target).val() };\r\n updateCallback(userOptions, false);\r\n }\r\n\r\n function getChecked(value) {\r\n return (definition.options.timeScale === value ? \" checked\" : \"\");\r\n }\r\n }\r\n\r\n function amcWidgetSelectTimescaleAndPortfKind($target, suggestion, index, updateCallback) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var definition = this;\r\n var name = \"timescale\" + index;\r\n var dropdownCtrl = new asfControl([], \"portfKind\" + index, 0)\r\n \r\n dropdownCtrl.ControlType = asfControl.prototype.iCvSelect\r\n dropdownCtrl.Content = definition.options.portfKind || 0\r\n dropdownCtrl.Content = application.RefSetCache.encodeValue(\"N!GroupCons3\",dropdownCtrl.Content)\r\n dropdownCtrl.FormatType = \"N!GroupCons3\"\r\n\r\n var dropdownTemplate = getControl(dropdownCtrl)\r\n var template = \"
\"\r\n + \"
\"\r\n + \"
\"\r\n //+ \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + dropdownTemplate\r\n + \"
\";\r\n\r\n\r\n $target.off(\"change\", \"input[name='\" + name + \"']\").on(\"change\", \"input[name='\" + name + \"']\", null, onTimescaleChanged);\r\n $target.off(\"change\", \"select[name='\" + dropdownCtrl.Name + \"']\").on(\"change\", \"select[name='\" + dropdownCtrl.Name + \"']\", null, onPortfKindChanged);\r\n\r\n setTimeout(function () {\r\n var form = $target.find(\"form\").get(0);\r\n var comboBox = new asfComboBox(form, dropdownCtrl.Name)\r\n var element = $target.find(\"select\").get(0);\r\n\r\n if (element) {\r\n element.onchange = function () {\r\n onPortfKindChanged({ target: element })\r\n }\r\n }\r\n }, 10)\r\n\r\n return template;\r\n\r\n function onTimescaleChanged(event, data) {\r\n\r\n var userOptions = { timeScale: $(event.target).val() };\r\n updateCallback(userOptions, false);\r\n }\r\n\r\n function onPortfKindChanged(event, data) {\r\n\r\n var userOptions = { portfKind: parseInt($(event.target).val(),10) };\r\n updateCallback(userOptions, false);\r\n }\r\n\r\n function getChecked(value) {\r\n return (definition.options.timeScale === value ? \" checked\" : \"\");\r\n }\r\n }\r\n\r\n function amcWidgetSelectWeekTimescale($target, suggestion, index, updateCallback) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var definition = this;\r\n var name = \"timescale\" + index;\r\n var template = \"
\"\r\n + \"
\"\r\n + \"
\"\r\n //+ \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\"\r\n + \"
\";\r\n\r\n\r\n $target.off(\"change\", \"input[name='\" + name + \"']\").on(\"change\", \"input[name='\" + name + \"']\", null, onTimescaleChanged);\r\n\r\n return template;\r\n\r\n function onTimescaleChanged(event, data) {\r\n\r\n var userOptions = { timeScale: $(event.target).val() };\r\n updateCallback(userOptions, false);\r\n }\r\n\r\n function getChecked(value) {\r\n return (definition.options.timeScale === value ? \" checked\" : \"\");\r\n }\r\n }\r\n\r\n function amcDateLabelsFilter(label, index, labels) {\r\n return (index === 0 || label.substr(3) !== labels[index - 1].substr(3));\r\n }\r\n\r\n function amcCalculatePercentage(valueColumn, percentageColumn) {\r\n\r\n return function (data) {\r\n\r\n var total = 0;\r\n\r\n data.forEach(function (item) {\r\n if (item[valueColumn] > 0) {\r\n total += item[valueColumn];\r\n }\r\n });\r\n\r\n if (total > 0) {\r\n data.forEach(function (item) {\r\n item[percentageColumn] = item[valueColumn] / total;\r\n });\r\n }\r\n\r\n return data;\r\n }\r\n }\r\n\r\n\r\n\r\n function amcCalculatePerfIndexPct(logColumn, pctColumn) {\r\n return function (data) {\r\n var i = 0;\r\n var indexValue = 1;\r\n var item = null;\r\n\r\n for (i = 0; i < data.length; i += 1) {\r\n item = data[i];\r\n \r\n indexValue *= Math.exp(item[logColumn]);\r\n \r\n item[pctColumn] = indexValue - 1;\r\n }\r\n\r\n return data;\r\n }\r\n }\r\n\r\n\r\n function amcCalculateMatrixIndexStart(dateColumn, valueColumn) {\r\n var copyColumns = [];\r\n var i = 2;\r\n var dateParser = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n \r\n while (i < arguments.length) {\r\n copyColumns.push(arguments[i])\r\n i += 1;\r\n }\r\n\r\n\r\n return function (data) {\r\n var minDate = \"Z\"\r\n var startItem = {};\r\n var newStartDate = null;\r\n var emptyStartItem = {};\r\n\r\n if (Array.isArray(data) && data[0] && Array.isArray(data[0])) {\r\n data.forEach(function (dataset) {\r\n dataset.forEach(function (item) {\r\n if (item[dateColumn] && item[dateColumn] < minDate) {\r\n minDate = item[dateColumn];\r\n }\r\n });\r\n })\r\n\r\n if (minDate !== \"Z\") {\r\n newStartDate = dateParser.parse(minDate);\r\n newStartDate = amcGetUltimo(newStartDate);\r\n startItem[dateColumn] = dateParser.toString(newStartDate);\r\n emptyStartItem[dateColumn] = startItem[dateColumn];\r\n\r\n startItem[valueColumn] = 0;\r\n emptyStartItem[valueColumn] = null;\r\n\r\n\r\n\r\n data.forEach(function (dataset) {\r\n var newStartItem = {};\r\n\r\n if (dataset[0] && dataset[0][dateColumn] && dataset[0][dateColumn] === minDate) {\r\n if (isNaN(dataset[0][valueColumn])) {\r\n newStartItem = Object.assign({}, emptyStartItem);\r\n } else {\r\n newStartItem = Object.assign({}, startItem);\r\n }\r\n\r\n copyColumns.forEach(function (column) {\r\n newStartItem[column] = dataset[0][column];\r\n });\r\n\r\n dataset.unshift(newStartItem);\r\n }\r\n });\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n }\r\n\r\n function amcCalculateMatrixIndexPct(logColumn, pctColumn, hasDataColumn) {\r\n // Voraussetzungen:\r\n // - Das übergebene Array enthält die Datasets, auf der Ebene darunter liegen die Einträge für jedes Dataset.\r\n // - Alle Datasets haben gleich viele Einträge, die Einträge haben ggf. für die gewünschte Spalte keinen Wert.\r\n\r\n function calculateIndex(data) {\r\n\r\n if (data.length && data[0].length) {\r\n data.forEach(function (dataset) {\r\n var indexValue = null // alle Datasets starten bei 0, sobald der erste Wert auftaucht;\r\n dataset.forEach(function (xItem, xIndex) {\r\n var value = null;\r\n\r\n if (isNaN(xItem[logColumn])) {\r\n indexValue = null;\r\n } else {\r\n if (indexValue === null) {\r\n indexValue = Math.exp(parseFloat(xItem[logColumn]));\r\n } else {\r\n indexValue *= Math.exp(parseFloat(xItem[logColumn]));\r\n }\r\n\r\n if (!hasDataColumn || xItem[hasDataColumn]) {\r\n value = indexValue - 1;\r\n } \r\n }\r\n\r\n xItem[pctColumn] = value;\r\n\r\n });\r\n });\r\n }\r\n }\r\n\r\n return calculateIndex;\r\n }\r\n\r\n function amcCalculateShortDesc(descCol, targetCol) {\r\n\r\n function calculateShortDesc(data) {\r\n data.forEach(function (item) {\r\n var desc = item[descCol]\r\n if (typeof desc === \"string\") {\r\n item[targetCol] = desc.match(/\\w+/g).reduce(function (previousValue, currentValue) {\r\n return previousValue + currentValue.charAt(0)\r\n }, \"\")\r\n }\r\n })\r\n }\r\n\r\n return calculateShortDesc\r\n }\r\n\r\n function amcBolden(filterFunc, normalWidth, boldWidth) {\r\n return function (formDef, application) {\r\n return function (data, datasetIndex) {\r\n if (data.length) {\r\n if (filterFunc(data[0])) {\r\n return boldWidth;\r\n }\r\n }\r\n return normalWidth;\r\n }\r\n }\r\n }\r\n\r\n\r\n function amcOtherColToolTipFactory(valueColumns, template) {\r\n \r\n if (!Array.isArray(valueColumns)) {\r\n valueColumns = [valueColumns];\r\n }\r\n\r\n return function (datasets, chartTemplate, application, data, formDef) {\r\n var labelColumn = chartTemplate.data.label;\r\n var tooltipMap = {};\r\n var formatMap = {};\r\n var cols = valueColumns.slice();\r\n\r\n cols.unshift(labelColumn);\r\n\r\n cols.forEach(function (col) {\r\n formatMap[col] = application.Formatter.getFormattingFunction((formDef && formDef[col] && formDef[col].format) || \"\");\r\n });\r\n\r\n data.forEach(function (item) {\r\n var values = cols.map(function (valueColumn) {\r\n return formatMap[valueColumn](item[valueColumn]);\r\n });\r\n\r\n tooltipMap[item[labelColumn]] = String.prototype.format.apply(template, values);\r\n })\r\n\r\n return function (point) {\r\n return tooltipMap[point.label];\r\n }\r\n }\r\n }\r\n\r\n function amcMultiToolTipFactory(options) {\r\n\r\n\r\n return function (datasets, chartTemplate, application, data, formDef) {\r\n var labelColumn = chartTemplate.data.labels;\r\n var datasetLabels = chartTemplate.data.datasets.map(function (dataset) {\r\n return dataset.label;\r\n });\r\n var name = \"\";\r\n var option = null;\r\n var myOptions = $.extend({}, options);\r\n\r\n for (name in myOptions) {\r\n option = myOptions[name];\r\n if (!Array.isArray(option.valueColumns)) {\r\n option.valueColumns = [option.valueColumns];\r\n }\r\n }\r\n\r\n datasetLabels.forEach(function (datasetLabel) {\r\n var option = myOptions[datasetLabel];\r\n var template = option.template;\r\n var tooltipMap = {};\r\n var formatMap = {};\r\n var cols = option.valueColumns.slice();\r\n\r\n cols.unshift(labelColumn);\r\n\r\n cols.forEach(function (col) {\r\n formatMap[col] = application.Formatter.getFormattingFunction((formDef && formDef[col] && formDef[col].format) || \"\");\r\n });\r\n\r\n data.forEach(function (item) {\r\n var values = cols.map(function (valueColumn) {\r\n return formatMap[valueColumn](item[valueColumn]);\r\n });\r\n\r\n tooltipMap[formatMap[labelColumn](item[labelColumn])] = String.prototype.format.apply(template, values);\r\n })\r\n\r\n option.tooltipMap = tooltipMap;\r\n });\r\n\r\n return function (point) {\r\n\r\n return (myOptions && myOptions[point.datasetLabel] && myOptions[point.datasetLabel].tooltipMap[point.label]) || point.datasetLabel;\r\n }\r\n }\r\n }\r\n\r\n function amcPortfolioHeader(suggestion, title) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n var valDate = application.Formatter.formatValue(\"dd.mm.yyyy\", suggestion.CurValDate);\r\n var textClass = \"text-muted\";\r\n var textElement = \"span\";\r\n var tooltip = \"\";\r\n var clientMessage = myRefSet.encodeValue(\"A!ClientMessages\", \"NoCurrentRating\");\r\n var valDateDesc = myRefSet.encodeValue(\"A!amcPortfolioHeader\", \"ValDateDesc\");\r\n\r\n if (suggestion.ObjStatus < 0 || suggestion.ObjStatus === 21 || suggestion.ObjStatus === 22 || suggestion.ObjStatus === 20) {\r\n valDate = valDateDesc //\"in Bewertung\";\r\n } else if (!suggestion.CurValDate || (suggestion.ResetValDate && suggestion.ResetValDate < suggestion.CurValDate)) {\r\n tooltip = \" href=\\\"#\\\" onclick=\\\"return amcPortfCalc(this, '{0}');\\\" title=\\\"{1}\\\"\".format(suggestion.$objectId, clientMessage);\r\n textClass = \"warning\";\r\n textElement = \"a\";\r\n }\r\n\r\n return \"

{0}

<{4}{2} class=\\\"{3}\\\"> {1}\".format(title, valDate, tooltip, textClass, textElement);\r\n }\r\n\r\n function amcPortfolioFooter(suggestion, title, dashboard) {\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var navStatus = (suggestion.ClientId ? ((dashboard && dashboard.NavStatus) || application.NavStatus) : 'Root');\r\n // console.log(\"amcPortfolioFooter navstatus={0}\".format(navStatus))\r\n\r\n var myLinknName = myRefSet.encodeValue(\"A!amcPortfolioFooter\", \"linkName\"); //zum Portfolio...\r\n \r\n\r\n return (\"\" + myLinknName + \"\").format(navStatus, suggestion.$objectId);\r\n }\r\n\r\n function amcWatchPortfolios(oldSuggestion, newSuggestion) {\r\n return !!((oldSuggestion.LastCalcDate && newSuggestion.LastCalcDate && newSuggestion.LastCalcDate > oldSuggestion.LastCalcDate)\r\n || (oldSuggestion.CurValDate !== newSuggestion.CurValDate) || (oldSuggestion.ResetValDate !== newSuggestion.ResetValDate));\r\n }\r\n\r\n function amcUltimoAndPortfKindFilter(dateColumn, isPortfColumn) {\r\n\r\n var ultimoFilter = amcUltimoFilter(dateColumn)\r\n\r\n return function (options, application) {\r\n var dataFilter = ultimoFilter(options, application)\r\n var myFilter = null;\r\n\r\n if (options.portfKind) {\r\n // Konsolidierung und Gesamtvermögen.\r\n myFilter = function (item) {\r\n return (item[isPortfColumn] === 0 || item[isPortfColumn] === 3 || item[isPortfColumn] === 2) // Superkonsolidierung, Einzelportfolio in Superkonsolidierung oder Konsolidierung\r\n }\r\n } else {\r\n myFilter = function (item) {\r\n return (item[isPortfColumn] === 0 || item[isPortfColumn] === 3 || item[isPortfColumn] === 1) // Superkonsolidierung, Einzelportfolio in Superkonsolidierung oder Einzelportfolio auf Konsolidierung\r\n }\r\n }\r\n\r\n return function (data) {\r\n data = dataFilter(data)\r\n data = data.filter(myFilter)\r\n return data;\r\n }\r\n }\r\n }\r\n\r\n function amcUltimoFilter(dateColumn, valueColumn, allDates) {\r\n var dateParser = new asfDate(\"yyyy-mm-ddThh:nn:ss\");\r\n\r\n return function (options, application) {\r\n var startDate = options.StartDate || \"\";\r\n var endDate = options.EndDate || \"Z\";\r\n var now = new Date();\r\n\r\n now.setMilliseconds(0);\r\n now.setSeconds(0);\r\n now.setMinutes(0);\r\n now.setHours(0);\r\n\r\n switch (options.timeScale) {\r\n case \"YTD\":\r\n startDate = amcGetFirstOfYear();\r\n break;\r\n case \"ITD\":\r\n startDate = \"\";\r\n break;\r\n case \"QTD\":\r\n startDate = amcGetFirstOfQuarter();\r\n break;\r\n case \"YOY1\":\r\n now.setFullYear(now.getFullYear() - 1);\r\n startDate = dateParser.toStandard(now);\r\n break;\r\n case \"YOY3\":\r\n now.setFullYear(now.getFullYear() - 3);\r\n startDate = dateParser.toStandard(now);\r\n break;\r\n case \"YOY5\":\r\n now.setFullYear(now.getFullYear() - 5);\r\n startDate = dateParser.toStandard(now);\r\n break;\r\n case \"1W\":\r\n now.setDate(now.getDate() - 7)\r\n startDate = dateParser.toStandard(now)\r\n break\r\n case \"2W\":\r\n now.setDate(now.getDate() - 14)\r\n startDate = dateParser.toStandard(now)\r\n break\r\n case \"HYTD\":\r\n startDate = amcGetFirstOfHalfYear();\r\n break;\r\n case \"MTD\":\r\n now.setDate(1);\r\n startDate = dateParser.toStandard(now);\r\n break;\r\n }\r\n\r\n return function (data) {\r\n var maxDate = \"\";\r\n var minDate = \"Z\";\r\n\r\n data.forEach(function (item) {\r\n var value = item[dateColumn];\r\n if (value > maxDate) {\r\n maxDate = value;\r\n }\r\n if (value < minDate) {\r\n minDate = value;\r\n }\r\n });\r\n\r\n return data.filter(function (item) {\r\n var dateValue = item[dateColumn];\r\n var value = (valueColumn) ? item[valueColumn] || 0 : 1;\r\n\r\n if (value !== 0) {\r\n if (startDate <= dateValue && endDate >= dateValue) {\r\n if (allDates || dateValue === maxDate || dateValue === minDate) {\r\n return true;\r\n } else {\r\n dateParser.parse(dateValue);\r\n dateParser.add(\"d\", 1);\r\n return (dateParser.Date.getDate() === 1);\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n function amcGetValueColor(valueColumn, plusColor, minusColor) {\r\n var getDataValue = asfCharting.getDataValue(valueColumn)\r\n return function (formDef, application) {\r\n var appGetDataValue = getDataValue(formDef, application)\r\n\r\n return function (rawData) {\r\n var values = appGetDataValue(rawData)\r\n return values.map(function (value) {\r\n if (typeof value === \"number\" && value < 0) {\r\n return minusColor\r\n }\r\n return plusColor\r\n })\r\n }\r\n }\r\n }\r\n\r\n function amcAdjustLastTick(options) {\r\n\r\n return function (rawData) {\r\n\r\n return function (timeScale) {\r\n if (timeScale.tickMoments && timeScale.tickMoments.length && timeScale.tickMoments.length > 2) {\r\n var lastTickMoment = timeScale.tickMoments[timeScale.tickMoments.length - 1];\r\n var nextToLastTickMoment = timeScale.tickMoments[timeScale.tickMoments.length - 2];\r\n\r\n if (lastTickMoment.diff(nextToLastTickMoment, timeScale.tickUnit) < timeScale.unitScale) {\r\n timeScale.ticks[timeScale.ticks.length - 2] = \"\";\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n var myDashboard = new asfDashBoard(application, name, navStatus,\r\n [\r\n {\r\n name: \"AssetAllocation\",\r\n title: \"Vermögensallokation\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader ,\r\n footer: amcPortfolioFooter \r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {},\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewLst\",\r\n formDef: \"DataConsPsnOverviewLst\",\r\n query: \"FormName=DataConsPsnOverviewLst&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"doughnut\",\r\n dataset: \"DataConsPsnOverviewLst\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetSector1Desc&Cols=TotMktAccrIncAmtRefCcy;TotMktAccrIncAmtRefCcyShare;AssetSector1Color&Sums=TotMktAccrIncAmtRefCcy&Takes=AssetSector1Color&AssetClassCodeCommon=A\")\r\n .transform(\"Cols=AssetSector1Desc;TotMktAccrIncAmtRefCcy;TotMktAccrIncAmtRefCcyShare;AssetSector1Color&TotMktAccrIncAmtRefCcy)=0.01&SortFields=AssetSector1Desc\")\r\n .calculate(amcCalculatePercentage(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"AssetSector1Desc\", \"A\"),\r\n datasets: [{\r\n data: asfCharting.getDataValue(\"TotMktValAmtRefCcyShare\"),\r\n backgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.0),\r\n hoverBackgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.3)\r\n }],\r\n },\r\n options: {\r\n rotation: -1 * Math.PI,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: asfCharting.getToolTipTemplate(\"AssetSector1Desc\", \"TotMktValAmtRefCcyShare\")\r\n },\r\n displayColors: false\r\n }\r\n\r\n }\r\n\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget\",\r\n template: amcWidgetPortfInfo\r\n\r\n }\r\n ]\r\n },\r\n {\r\n name: \"AssetOverviewBySector\",\r\n title: \"Vermögen im Überblick (nach Sektoren)\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n\r\n options: {},\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", // Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewLst\",\r\n formDef: \"DataConsPsnOverviewLst\",\r\n query: \"FormName=DataConsPsnOverviewLst&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [ {\r\n target: \".ic-db-chart\",\r\n chartType: \"polarArea\",\r\n dataset: \"DataConsPsnOverviewLst\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetSector1Desc&Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;RefCcyCode&Sums=TotMktAccrIncAmtRefCcy&Takes=AssetSector1Color;RefCcyCode&AssetClassCodeCommon=A\")\r\n .transform(\"Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;AssetSector1Desc;RefCcyCode&TotMktAccrIncAmtRefCcy)=0.01&SortFields=AssetSector1Desc\"),\r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"$groupValue\", \"A\"),\r\n datasets: [{\r\n data: asfCharting.getDataValue(\"TotMktAccrIncAmtRefCcy\"),\r\n backgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.0),\r\n hoverBackgroundColor: asfCharting.addColor(\"AssetSector1Color\", \"#FFFFFF\", 0.3)\r\n }],\r\n },\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n valueColumns: [\"AssetSector1Desc\", \"TotMktAccrIncAmtRefCcy\", \"RefCcyCode\"],\r\n template: \"{0}:\\n{1} {2}\"\r\n })\r\n },\r\n displayColors: false\r\n },\r\n scale: {\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0\")\r\n }\r\n }\r\n\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget\",\r\n template: amcWidgetPortfInfo\r\n\r\n }\r\n ]\r\n },\r\n {\r\n name: \"AssetOverviewByCcy\",\r\n title: \"Währungsallokation\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n\r\n options: {},\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewLst\",\r\n formDef: \"DataConsPsnOverviewLst\",\r\n query: \"FormName=DataConsPsnOverviewLst&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [ {\r\n target: \".ic-db-chart\",\r\n chartType: \"doughnut\",\r\n dataset: \"DataConsPsnOverviewLst\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetCcyCode&Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;TotMktValAmtAssetCcy;RefCcyCode&Sums=TotMktAccrIncAmtRefCcy;TotMktValAmtAssetCcy&Takes=RefCcyCode&AssetClassCodeCommon=A\")\r\n .transform(\"Cols=TotMktAccrIncAmtRefCcy;AssetSector1Color;TotMktValAmtAssetCcy;RefCcyCode;AssetCcyCode&TotMktAccrIncAmtRefCcy)=0.01&SortFields=AssetCcyCode\")\r\n .calculate(amcCalculatePercentage(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\")),\r\n data: {\r\n labels: asfCharting.getFormattedDataValue(\"AssetCcyCode\", \"A\"),\r\n datasets: [{\r\n data: asfCharting.getDataValue(\"TotMktAccrIncAmtRefCcy\"),\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.2)\r\n }],\r\n },\r\n options: {\r\n rotation: -1 * Math.PI,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n valueColumns: [\"AssetCcyCode\", \"TotMktValAmtAssetCcy\", \"TotMktAccrIncAmtRefCcy\", \"RefCcyCode\", \"TotMktValAmtRefCcyShare\"],\r\n template: \"{1} {0}\\n({2} {3}, {4})\"\r\n })\r\n },\r\n displayColors: false\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget\",\r\n template: amcWidgetPortfInfo\r\n }\r\n ]\r\n },\r\n {\r\n name: \"NetValueVsTime\",\r\n title: \"Vermögensentwicklung\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", // Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n optionFilter: amcUltimoFilter(\"ValDate\"),\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeries\",\r\n formDef: \"DataPortfPerfSeries\",\r\n query: \"FormName=DataPortfPerfSeries&MasterPortfPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"line\",\r\n dataset: \"DataPortfPerfSeries\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;TotMktValAmtRefCcy;PerCashFlowAmtRefCcy;RefCcyCode&SortFields=ValDate\"),\r\n\r\n data: {\r\n labels: asfCharting.getDataValue(\"ValDate\"),\r\n datasets: [\r\n {\r\n label: \"Vermögen\",\r\n type: \"line\",\r\n fill: false,\r\n lineTension: 0, //0.1\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderWidth: 1,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n pointHoverBorderColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n pointHoverBorderWidth: 1,\r\n pointRadius: 3,\r\n pointHitRadius: 0,\r\n data: asfCharting.getDataValue(\"TotMktValAmtRefCcy\")\r\n },\r\n {\r\n label: \"Cashflow\",\r\n type: \"bar\",\r\n fill: true,\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2), \"#FFFFFF\", 0.2),\r\n borderWidth: 1,\r\n data: asfCharting.getDataValue(\"PerCashFlowAmtRefCcy\")\r\n }\r\n\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1,\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setMultiToolTips({\r\n \"Vermögen\": {\r\n template: \"Vermögen: {0} {1}\",\r\n valueColumns: [\"TotMktValAmtRefCcy\", \"RefCcyCode\"]\r\n },\r\n \"Cashflow\": {\r\n template: \"Cashflow: {0} {1}\",\r\n valueColumns: [\"PerCashFlowAmtRefCcy\", \"RefCcyCode\"]\r\n }\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n },\r\n {\r\n name: \"ClientCashflowOverview\",\r\n title: \"Neugeld\",\r\n templates: {\r\n content: \"
Daten werden geladen
Keine Daten.
\", // Daten werden geladen...\r\n header: \"

{1}

\",\r\n footer: \"\"\r\n },\r\n options: {\r\n timeScale: \"1W\"\r\n },\r\n optionFilter: amcUltimoFilter(\"ValDate\", null, true),\r\n datasets: [\r\n {\r\n name: \"ClientCashflowOverview\",\r\n formDef: \"DataClientCashflowOverview\",\r\n query: \"FormName=DataClientCashflowOverview&SearchMyClientsFlag=1\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"ClientCashflowOverview\",\r\n transform: asfDataEngine.transform(\"Groups=PortfId&Cols=Description;PerCashFlowAmtRefCcy;RefCcyCode;PortfId;PortfDesc1;PortfDesc2;OwnerOrgId;CurValDate&Sums=PerCashFlowAmtRefCcy&Takes=ClientId;Description;RefCcyCode;PortfId;PortfDesc1;PortfDesc2;OwnerOrgId;CurValDate\")\r\n .calculate(amcCalculateShortDesc(\"Description\",\"ShortDescription\")),\r\n data: {\r\n labels: asfCharting.getDataValue(\"ShortDescription\"),\r\n datasets: [\r\n {\r\n label: \"Cashflow\",\r\n type: \"bar\",\r\n fill: true,\r\n borderColor: amcGetValueColor(\"PerCashFlowAmtRefCcy\",\"#00C000\",\"#C00000\"),\r\n backgroundColor: amcGetValueColor(\"PerCashFlowAmtRefCcy\", \"#00C000\", \"#C00000\"),\r\n hoverBackgroundColor: asfCharting.addColor(amcGetValueColor(\"PerCashFlowAmtRefCcy\", \"#00C000\", \"#C00000\"), \"#FFFFFF\", 0.2),\r\n borderWidth: 1,\r\n data: asfCharting.getDataValue(\"PerCashFlowAmtRefCcy\")\r\n }\r\n\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: false,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n beginAtZero: true,\r\n callback: asfCharting.setScaleLabelString(\"#,##0\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{2} ({3})\\n{4}\\n{5}\\nCashflow: {0} {1}\",\r\n valueColumns: [\"PerCashFlowAmtRefCcy\", \"RefCcyCode\", \"PortfId\", \"CurValDate\",\"PortfDesc1\",\"PortfDesc2\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"Description\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false,\r\n displayColors: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectWeekTimescale\r\n }\r\n ]\r\n },\r\n {\r\n name: \"PortfVsBenchm\",\r\n title: \"Vermögen vs. Benchmark\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", // Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n optionFilter: amcUltimoFilter(\"ValDate\"),\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataPortfPerfSeries\",\r\n formDef: \"DataPortfPerfSeries\",\r\n query: \"ObjectType=MasterPortfPerfSeries&NavStatus=MasterPortfDet&Value=BenchmDesc&Display=BenchmDesc&Cols=ValDate;PerGrossTwrLog;TotGrossTwrPct;PerBenchmTwrLog;TotBenchmTwrPct;BenchmDesc&Rows=-1&MasterPortfPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"line\",\r\n dataset: \"DataPortfPerfSeries\",\r\n transform: asfDataEngine.transform(\"Cols=ValDate;PerGrossTwrLog;TotGrossTwrPct;PerBenchmTwrLog;TotBenchmTwrPct;BenchmDesc&SortFields=ValDate\")\r\n .calculate(amcCalculatePerfIndexPct(\"PerGrossTwrLog\", \"TotGrossTwrPct\"))\r\n .calculate(amcCalculatePerfIndexPct(\"PerBenchmTwrLog\", \"TotBenchmTwrPct\"))\r\n .calculate(amcCalculateIndexStart(\"ValDate\",\"TotGrossTwrPct\", \"TotBenchmTwrPct\")),\r\n\r\n data: {\r\n labels: asfCharting.getDataValue(\"ValDate\"),\r\n datasets: [\r\n {\r\n label: \"Vermögen\",\r\n type: \"line\",\r\n fill: false,\r\n lineTension: 0, //0.1\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderWidth: 1,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n pointHoverBorderColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n pointHoverBorderWidth: 1,\r\n pointRadius: 3,\r\n pointHitRadius: 0,\r\n data: asfCharting.getDataValue(\"TotGrossTwrPct\")\r\n\r\n //strokeColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointStrokeColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightFill: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightStroke: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n\r\n },\r\n {\r\n label: \"Benchmark\",\r\n type: \"line\",\r\n fill: false,\r\n lineTension: 0, //0.1\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n borderWidth: 1,\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 3,\r\n pointHoverBackgroundColor:asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2), \"#FFFFFF\", 0.2),\r\n pointHoverBorderColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 2), \"#FFFFFF\", 0.2),\r\n pointHoverBorderWidth: 1,\r\n pointRadius: 3,\r\n pointHitRadius: 0,\r\n data: asfCharting.getDataValue(\"TotBenchmTwrPct\")\r\n\r\n //strokeColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointStrokeColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightFill: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightStroke: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.0 %\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setMultiToolTips({\r\n \"Vermögen\": {\r\n template: \"Vermögen: {0}\",\r\n valueColumns: [\"TotGrossTwrPct\"]\r\n },\r\n \"Benchmark\": {\r\n template: \"{0}: {1}\",\r\n valueColumns: [\"BenchmDesc\", \"TotBenchmTwrPct\"]\r\n }\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n\r\n },\r\n {\r\n name: \"CompStructureSector\",\r\n title: \"Strukturvergleich (nach Sektoren in %)\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios \r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewSeries\",\r\n formDef: \"DataConsPsnOverviewSeries\",\r\n query: \"FormName=DataConsPsnOverviewSeries&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n optionFilter: amcUltimoFilter(\"ValDate\", \"TotMktValAmtRefCcy\"),\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"DataConsPsnOverviewSeries\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetSector1Desc;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetSector1Desc;AssetSector1Color&Sums=TotMktAccrIncAmtRefCcy&Takes=AssetSector1Color;RefCcyCode&AssetClassCodeCommon=A\", 1)\r\n .stuff(\r\n [\r\n \"Groups=AssetSector1Desc&Cols=AssetSector1Desc;AssetSector1Color&Takes=AssetSector1Color&TotMktAccrIncAmtRefCcy)=0.01\",\r\n \"Groups=ValDate&Cols=ValDate&TotMktAccrIncAmtRefCcy)=0.01\"\r\n ],\r\n \"Groups=AssetSector1Desc;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetSector1Desc;AssetSector1Color&Takes=TotMktAccrIncAmtRefCcy;AssetSector1Color;RefCcyCode&TotMktAccrIncAmtRefCcy)=0.01\")\r\n .calculate(asfDataEngine.createMatrixShare(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\"))\r\n ,\r\n data: {\r\n labels: asfCharting.getMatrixLabels(\"ValDate\"),\r\n datasets: asfCharting.getDatasets(\r\n {\r\n label: asfCharting.getMatrixLabel(\"AssetSector1Desc\"),\r\n type: \"bar\",\r\n fill: true,\r\n backgroundColor: asfCharting.addColor(asfCharting.getMatrixLabel(\"AssetSector1Color\"), \"#FFFFFF\", 0.0),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getMatrixLabel(\"AssetSector1Color\"), \"#FFFFFF\", 0.3),\r\n borderWidth: 0,\r\n data: asfCharting.getDataValue(\"TotMktValAmtRefCcyShare\")\r\n }\r\n )\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1,\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n stacked: true,\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00 %\"),\r\n min: 0,\r\n max: 1\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{0}: {1}\",\r\n valueColumns: [\"AssetSector1Desc\", \"TotMktValAmtRefCcyShare\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n },\r\n hover: {\r\n mode: \"single\"\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n },\r\n {\r\n name: \"CompStructureSectorAbsolute\",\r\n title: \"Strukturvergleich (nach Sektoren absolut)\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewSeries\",\r\n formDef: \"DataConsPsnOverviewSeries\",\r\n query: \"FormName=DataConsPsnOverviewSeries&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n optionFilter: amcUltimoFilter(\"ValDate\", \"TotMktValAmtRefCcy\"),\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"DataConsPsnOverviewSeries\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetSector1Desc;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetSector1Desc;AssetSector1Color&Sums=TotMktAccrIncAmtRefCcy&Takes=AssetSector1Color;RefCcyCode&AssetClassCodeCommon=A\", 1)\r\n .stuff(\r\n [\r\n \"Groups=AssetSector1Desc&Cols=AssetSector1Desc;AssetSector1Color&Takes=AssetSector1Color&TotMktAccrIncAmtRefCcy)=0.01\",\r\n \"Groups=ValDate&Cols=ValDate&TotMktAccrIncAmtRefCcy)=0.01\"\r\n ],\r\n \"Groups=AssetSector1Desc;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetSector1Desc;AssetSector1Color&Takes=TotMktAccrIncAmtRefCcy;AssetSector1Color;RefCcyCode&TotMktAccrIncAmtRefCcy)=0.01\")\r\n ,\r\n data: {\r\n labels: asfCharting.getMatrixLabels(\"ValDate\"),\r\n datasets: asfCharting.getDatasets(\r\n {\r\n label: asfCharting.getMatrixLabel(\"AssetSector1Desc\"),\r\n type: \"bar\",\r\n fill: true,\r\n backgroundColor: asfCharting.addColor(asfCharting.getMatrixLabel(\"AssetSector1Color\"), \"#FFFFFF\", 0.0),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getMatrixLabel(\"AssetSector1Color\"), \"#FFFFFF\", 0.3),\r\n borderWidth: 0,\r\n data: asfCharting.getDataValue(\"TotMktAccrIncAmtRefCcy\")\r\n }\r\n )\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1,\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n stacked: true,\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00\"),\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{0}: {1} {2}\",\r\n valueColumns: [\"AssetSector1Desc\", \"TotMktAccrIncAmtRefCcy\", \"RefCcyCode\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n },\r\n hover: {\r\n mode: \"single\"\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n },\r\n {\r\n name: \"CompStructureCcy\",\r\n title: \"Strukturvergleich (nach Währungen in %)\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewSeries\",\r\n formDef: \"DataConsPsnOverviewSeries\",\r\n query: \"FormName=DataConsPsnOverviewSeries&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n optionFilter: amcUltimoFilter(\"ValDate\", \"TotMktValAmtRefCcy\"),\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"DataConsPsnOverviewSeries\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetCcyCode;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetCcyCode&Sums=TotMktAccrIncAmtRefCcy&Takes=RefCcyCode&AssetClassCodeCommon=A\", 1)\r\n .stuff(\r\n [\r\n \"Groups=AssetCcyCode&Cols=AssetCcyCode&TotMktAccrIncAmtRefCcy)=0.01\",\r\n \"Groups=ValDate&Cols=ValDate&TotMktAccrIncAmtRefCcy)=0.01\"\r\n ],\r\n \"Groups=AssetCcyCode;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetCcyCode&Takes=TotMktAccrIncAmtRefCcy;RefCcyCode&TotMktAccrIncAmtRefCcy)=0.01\")\r\n .calculate(asfDataEngine.createMatrixShare(\"TotMktAccrIncAmtRefCcy\", \"TotMktValAmtRefCcyShare\"))\r\n ,\r\n data: {\r\n labels: asfCharting.getMatrixLabels(\"ValDate\"),\r\n datasets: asfCharting.getDatasets(\r\n {\r\n label: asfCharting.getMatrixLabel(\"AssetCcyCode\"),\r\n type: \"bar\",\r\n fill: true,\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.3),\r\n borderWidth: 0,\r\n data: asfCharting.getDataValue(\"TotMktValAmtRefCcyShare\")\r\n }\r\n )\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1,\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n stacked: true,\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00 %\"),\r\n min: 0,\r\n max: 1\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{0}: {1}\",\r\n valueColumns: [\"AssetCcyCode\", \"TotMktValAmtRefCcyShare\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n },\r\n hover: {\r\n mode: \"single\"\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n\r\n },\r\n {\r\n name: \"CompStructureCcyAbsolute\",\r\n title: \"Strukturvergleich (nach Währungen absolut)\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\"\r\n },\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPsnOverviewSeries\",\r\n formDef: \"DataConsPsnOverviewSeries\",\r\n query: \"FormName=DataConsPsnOverviewSeries&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n optionFilter: amcUltimoFilter(\"ValDate\", \"TotMktValAmtRefCcy\"),\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"DataConsPsnOverviewSeries\",\r\n transform: asfDataEngine.calculate(asfDataEngine.createAddition(\"TotMktValAmtRefCcy\", \"TotAccrIncAmtRefCcy\", \"TotMktAccrIncAmtRefCcy\"))\r\n .transform(\"Groups=AssetCcyCode;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetCcyCode;TotMktValAmtAssetCcy&Sums=TotMktAccrIncAmtRefCcy;TotMktValAmtAssetCcy&Takes=RefCcyCode&AssetClassCodeCommon=A\", 1)\r\n .stuff(\r\n [\r\n \"Groups=AssetCcyCode&Cols=AssetCcyCode&TotMktAccrIncAmtRefCcy)=0.01\",\r\n \"Groups=ValDate&Cols=ValDate&TotMktAccrIncAmtRefCcy)=0.01\"\r\n ],\r\n \"Groups=AssetCcyCode;ValDate&Cols=ValDate;TotMktAccrIncAmtRefCcy;RefCcyCode;AssetCcyCode;TotMktValAmtAssetCcy&Takes=TotMktAccrIncAmtRefCcy;TotMktValAmtAssetCcy;RefCcyCode&TotMktAccrIncAmtRefCcy)=0.01\")\r\n ,\r\n data: {\r\n labels: asfCharting.getMatrixLabels(\"ValDate\"),\r\n datasets: asfCharting.getDatasets(\r\n {\r\n label: asfCharting.getMatrixLabel(\"AssetCcyCode\"),\r\n type: \"bar\",\r\n fill: true,\r\n backgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n hoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.3),\r\n borderWidth: 0,\r\n data: asfCharting.getDataValue(\"TotMktAccrIncAmtRefCcy\")\r\n }\r\n )\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n categoryPercentage: 0.9,\r\n barPercentage: 1,\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n stacked: true,\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00\"),\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{0}: {1}\\n({2} {3})\",\r\n valueColumns: [\"AssetCcyCode\", \"TotMktValAmtAssetCcy\", \"TotMktAccrIncAmtRefCcy\", \"RefCcyCode\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n },\r\n hover: {\r\n mode: \"single\"\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget-s\",\r\n template: amcWidgetSelectTimescale\r\n }\r\n ]\r\n\r\n },\r\n {\r\n name: \"ConsPerfSeries\",\r\n title: \"Vergleich Wertentwicklung\",\r\n objectType: \"MasterPortf\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: amcPortfolioHeader,\r\n footer: amcPortfolioFooter\r\n },\r\n watch: {\r\n source: \"Portfolios\",\r\n interval: 10000,\r\n compare: amcWatchPortfolios\r\n },\r\n options: {\r\n timeScale: \"YTD\",\r\n portfKind: 0\r\n },\r\n search: {\r\n placeholder: \"Portfolio...\",\r\n source: \"Portfolios\",\r\n async: true,\r\n name: \"portfolios\",\r\n sorter: asfGlobalSearch.sorter,\r\n limit: 10,\r\n display: amcPortfolioSearchDisplay,\r\n templates: {\r\n notFound: \"Keine Daten vorhanden\",\r\n pending: \"Daten werden geladen\",\r\n header: \"

{0}

\", //Portfolios\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? suggestion.OwnerOrgId + \"\\\\\" : \"\";\r\n\r\n return \"
{0}{1} {2} / {3}
\".format(ownerOrgId, suggestion.display, suggestion.Name1, suggestion.Name2);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataConsPerfSeries\",\r\n formDef: \"DataConsPerfSeries\",\r\n query: \"FormName=DataConsPerfSeries&ConsPId={0}\",\r\n ttl: 10000\r\n }\r\n ],\r\n optionFilter: amcUltimoAndPortfKindFilter(\"ValDate\", \"IsPortf\"),\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"bar\",\r\n dataset: \"DataConsPerfSeries\",\r\n transform: asfDataEngine.stuff(\r\n [\r\n \"Groups=PortfId&Cols=PortfId;PortfDesc&Takes=PortfDesc\",\r\n \"Groups=ValDate&Cols=ValDate\"\r\n ],\r\n \"Groups=PortfId;ValDate&Cols=ValDate;PortfDesc;RefCcyCode;PerGrossTwrLog;IsInCons;IsPortf&Takes=RefCcyCode;PortfDesc;PerGrossTwrLog;IsInCons;IsPortf\")\r\n .calculate(amcCalculateMatrixIndexStart(\"ValDate\", \"PerGrossTwrLog\", \"RefCcyCode\", \"PortfDesc\", \"IsInCons\", \"IsPortf\"))\r\n .calculate(amcCalculateMatrixIndexPct(\"PerGrossTwrLog\", \"TotGrossTwrPct\", \"IsInCons\")),\r\n //.calculate(amcCalculateIndexStart(\"ValDate\", \"TotGrossTwrPct\")), \r\n \r\n data: {\r\n labels: asfCharting.getMatrixLabels(\"ValDate\"),\r\n datasets: asfCharting.getDatasets(\r\n {\r\n label: asfCharting.getMatrixLabel(\"PortfDesc\"),\r\n type: \"line\",\r\n lineTension: 0,\r\n fill: false,\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n borderWidth: amcBolden(function (item) {\r\n return (item.IsPortf === 0);\r\n }, 1, 3),\r\n pointBackgroundColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"),\r\n pointBorderWidth: 1,\r\n pointHoverRadius: amcBolden(function (item) {\r\n return (item.IsPortf === 0);\r\n }, 3, 6),\r\n pointHoverBackgroundColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.2),\r\n pointHoverBorderColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\"), \"#FFFFFF\", 0.2),\r\n pointHoverBorderWidth: 1,\r\n pointRadius: amcBolden(function (item) {\r\n return (item.IsPortf === 0);\r\n }, 3, 6),\r\n pointHitRadius: 6,\r\n data: asfCharting.getDataValue(\"TotGrossTwrPct\")\r\n }\r\n )\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"category\",\r\n stacked: true,\r\n gridLines: {\r\n display: false\r\n },\r\n ticks: { \r\n callback: asfCharting.setScaleLabelString(\"mm.yyyy\")\r\n }\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n stacked: false,\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00 %\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"{0}: {1}\",\r\n valueColumns: [\"PortfDesc\", \"TotGrossTwrPct\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"ValDate\"]\r\n })\r\n },\r\n mode: \"index\",\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n }\r\n }],\r\n widgets: [\r\n {\r\n target: \".ic-db-widget\",\r\n template: amcWidgetSelectTimescaleAndPortfKind\r\n }\r\n ]\r\n\r\n },\r\n {\r\n name: \"AssetPriceLst\",\r\n title: \"Kursverlauf\",\r\n objectType: \"Asset\",\r\n templates: {\r\n content: \"
{0}
\", //Daten werden geladen...\r\n header: function (suggestion, title) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? \" | \" + suggestion.OwnerOrgId : \"\";\r\n\r\n return \"

{0} {1}{2}

\".format(title, suggestion.display, ownerOrgId);\r\n },\r\n footer: function (suggestion, title) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var linkDescToAsset = myRefSet.encodeValue(\"A!amcAssetPriceLstFooter\", \"linkDescToAsset\");\r\n\r\n return (\"\" + linkDescToAsset + \"\").format(suggestion.$objectId);\r\n }\r\n },\r\n\r\n options: {},\r\n search: {\r\n placeholder: \"Anlage...\",\r\n source: \"Assets\",\r\n async: true,\r\n name: \"assets\",\r\n limit: 10,\r\n sorter: asfGlobalSearch.sorter,\r\n display: \"display\",\r\n templates: {\r\n notFound: \"Keine Anlagen gefunden.\",\r\n pending: \"Suche Anlagen...\",\r\n header: \"

{0}

\", //Anlagen\r\n footer: \"\",\r\n suggestion: function (suggestion) {\r\n var ownerOrgId = suggestion.OwnerOrgId ? \" | \" + suggestion.OwnerOrgId : \"\";\r\n\r\n return \"
{0} {1}{2}
\".format(suggestion.display, suggestion.AssetCcyCode, ownerOrgId);\r\n }\r\n }\r\n },\r\n datasets: [\r\n {\r\n name: \"DataAssetPriceLst\",\r\n formDef: \"DataAssetPriceLst\",\r\n query: \"FormName=DataAssetPriceLst&AssetPId={0}\", \r\n ttl: 10000\r\n }\r\n ],\r\n charts: [{\r\n target: \".ic-db-chart\",\r\n chartType: \"line\",\r\n dataset: \"DataAssetPriceLst\",\r\n transform: asfDataEngine.transform(\"Cols=PriceDate;Price&SortFields=PriceDate\"),\r\n\r\n data: {\r\n labels: asfCharting.getDataValue(\"PriceDate\"),\r\n datasets: [\r\n {\r\n label: \"Kurs\",\r\n type: \"line\",\r\n fill: false,\r\n lineTension: 0, //0.1\r\n borderColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n borderWidth: 1,\r\n pointRadius: 0,\r\n pointHitRadius: 2,\r\n data: asfCharting.getDataValue(\"Price\")\r\n\r\n //strokeColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointColor: asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1),\r\n //pointStrokeColor: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightFill: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n //pointHighlightStroke: asfCharting.addColor(asfCharting.getColor(\"A![acsBusiness.CRsOrgColors]\", 1), \"#FFFFFF\", 0.2),\r\n\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n legend: {\r\n display: false\r\n },\r\n line: {\r\n tension: 0,\r\n fill: false\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n\r\n xAxes: [{\r\n type: \"time\",\r\n time: {\r\n displayFormats: {\r\n day: \"DD.MM.\",\r\n week: \"DD.MM.\",\r\n month: \"MM.YYYY\"\r\n }\r\n },\r\n gridLines: {\r\n display: false\r\n },\r\n afterTickToLabelConversion: amcAdjustLastTick\r\n }],\r\n yAxes: [{\r\n type: \"linear\",\r\n scaleLabel: {\r\n display: false,\r\n labelString: \"\"\r\n },\r\n ticks: {\r\n callback: asfCharting.setScaleLabelString(\"#,##0.00\")\r\n },\r\n gridLines: {\r\n display: false\r\n }\r\n }]\r\n\r\n },\r\n tooltips: {\r\n\r\n callbacks: {\r\n label: asfCharting.setToolTips({\r\n template: \"Kurs: {0}\",\r\n valueColumns: [\"Price\"]\r\n }),\r\n title: asfCharting.setToolTips({\r\n template: \"{0}\",\r\n valueColumns: [\"PriceDate\"]\r\n }),\r\n },\r\n mode: \"index\",\r\n displayColors: false,\r\n intersect: false\r\n },\r\n hover: {\r\n mode: \"index\",\r\n intersect: false\r\n }\r\n }\r\n //options: {\r\n // animation: true,\r\n // responsive: true,\r\n // bezierCurve: false,\r\n // scaleLabel: \"#,##0.00\",\r\n // maintainAspectRatio: false,\r\n // tooltipTemplate: null,\r\n // pointDot: false,\r\n // labelsFilter: amcDateLabelsFilter,\r\n // pointHitDetectionRadius: 0,\r\n // pointDotRadius: 2\r\n //}\r\n }]\r\n }\r\n\r\n ]);\r\n\r\n function Identity(data) {\r\n return data;\r\n }\r\n\r\n myDashboard.maxHeight = 500;\r\n myDashboard.minHeight = 300;\r\n\r\n return myDashboard;\r\n}","export {\r\n amcPopUpAcceptBviOverwrite,\r\n amcPopUpAcceptDatev,\r\n amcPopUpAcceptDefault,\r\n amcPopUpAcceptImpData,\r\n amcPopUpDismissBviOverwrite,\r\n amcPopUpDismissDatev,\r\n amcPopUpDismissDefault,\r\n amcPopUpDismissImpData,\r\n} from \"./asfScripts3.js\";\r\nexport { amcMarkDATEVDocuments } from \"./amcBusiness.js\";\r\n","/// \r\n/// \r\nimport React from \"react\";\r\nimport { asfLog, asfLogLevel, asfTrace, asfSetLogLevel, asfLogWithTrace } from \"./asfLogging.js\"\r\nimport { GetApplication, FilterBy } from \"./asfScripts.js\"\r\nimport { asfPromises } from \"./asfPromises.js\";\r\nimport { asfFormatter } from \"./asfFormatter.js\";\r\nimport { asfServerLocale } from \"./asfServerLocale.js\";\r\nimport { asfFocusTrail } from \"./asfFocusTrail.js\";\r\nimport { asfNavigationEntry } from \"./asfNavigationEntry.js\";\r\nimport { asfNavigationList, asfNavigationListGetEntry } from \"./asfNavigationList.js\";\r\nimport { asfValueCache } from \"./asfValueCache.js\";\r\nimport { asfRefSetCache } from \"./asfRefSetCache.js\";\r\nimport { asfPopup, asfPopupEditor } from \"./asfPopup\";\r\nimport { Notification } from \"./asfNotification.js\";\r\nimport { asfUserProfile } from \"./asfUserProfile.js\";\r\nimport { asfCharting } from \"./asfCharting.js\";\r\nimport { asfList } from \"./asfList.js\";\r\nimport { asfExport } from \"./asfExport.js\";\r\nimport { asfDataService } from \"./asfDataService.js\";\r\nimport { asfSubMask } from \"./asfSubMask.js\";\r\nimport { asfObjectService } from \"./asfObjectService.js\";\r\nimport { asfGlobalSearch } from \"./asfGlobalSearch.js\";\r\nimport { asfForm } from \"./asfForm.js\";\r\nimport { asfComboBox } from \"./asfComboBox.js\";\r\nimport { asfWizard } from \"./asfWizard.js\";\r\nimport { asfGenerateNavigation } from \"./asfNavMenu.js\";\r\nimport { asfGenerateForm } from \"./asfScriptTabs.js\";\r\nimport { getLabelEditorButton, getMessage, getLoadIndicator, getSessionStatus, getTestTitleInput, getTestDownloadLink } from \"./asfTemplates.js\";\r\nimport * as navStatusComponents from \"./asfNavStatusComponents.js\";\r\nimport ReactDOM from \"react-dom/client\";\r\nimport { configureStore } from \"@reduxjs/toolkit\";\r\nimport { rootReducer } from \"./redux\";\r\nimport { Provider } from \"react-redux\";\r\nimport { BusinessObjectSlice } from \"./redux/slices/BusinessObjectSlice.js\";\r\n\r\nexport function asfApplication(myWindow) {\r\n const store = configureStore({ reducer: rootReducer });\r\n\r\n this.MyWindow = myWindow;\r\n this.SessionId = null;\r\n this.Language = \"de\";\r\n\r\n //Hier auf die Reihenfolge achten, die Objekte benötigen sich teilweise gegenseitig.\r\n this.Promises = new asfPromises();\r\n this.ServerLocale = new asfServerLocale();\r\n this.Formatter = new asfFormatter(this);\r\n this.FocusTrail = new asfFocusTrail();\r\n this.NavigationList = new asfNavigationList();\r\n this.ValueCache = new asfValueCache();\r\n this.RefSetCache = new asfRefSetCache();\r\n this.Popup = new asfPopup(this);\r\n this.UserProfile = new asfUserProfile(this);\r\n this.DataService = null;\r\n this.Notification = new Notification(this);\r\n this.Charting = new asfCharting();\r\n this.List = new asfList();\r\n this.Export = new asfExport();\r\n this.SubMask = new asfSubMask();\r\n this.ObjectService = new asfObjectService(this);\r\n this.GlobalSearch = null;\r\n\r\n this.DataObject = null;\r\n this.NavStatus = null;\r\n this.ObjectId = null;\r\n this.RangeList = null;\r\n this.Menu = [];\r\n this.Form = null;\r\n this.DataURL = null;\r\n this.Page = null;\r\n this.PageCount = null;\r\n this.PostNavStatus = null;\r\n this.PostObjectId = null;\r\n\r\n this.Wizard = null;\r\n\r\n this.LastSelectedLnkId = null;\r\n this.SelectedLnkId = null;\r\n this.ActiveTabId = null;\r\n this.FormatList = [];\r\n\r\n\r\n this.SessionTimeOut = null;\r\n this.DataMonitorInterval = null;\r\n\r\n /* jshint ignore:start */\r\n this.DataFrame = myWindow && myWindow.frames && myWindow.frames[\"Data\"];\r\n /* jshint ignore:end */\r\n\r\n this.LastDate = null;\r\n\r\n this.LoadProgressTimeOut = null;\r\n this.HasLoadProgressBar = null;\r\n this.SubmitName = null;\r\n this.DelayedRedirect = null;\r\n this.InitialTarget = null;\r\n this.Finalizers = [];\r\n this.AutoCompleteTimeout = null;\r\n this.DisplayMode = \"login\";\r\n this.Globals = {\r\n iCacsErrors: {\r\n iCvJsRequiredPropertyIsEmpty: -2147205912,\r\n iCvJsInvalidWknOrIsin: -2147205911\r\n }\r\n }\r\n\r\n this.ServerDownText = null;\r\n\r\n this.UserId = null;\r\n this.PageTimeouts = [];\r\n this.SkippedState = false;\r\n\r\n function asfApplicationSetPageTimeout(func, delay) {\r\n var timeout = { timeout: null, isPending: true }\r\n\r\n timeout.timeout = setTimeout(function () {\r\n timeout.isPending = false\r\n func()\r\n }, delay)\r\n\r\n this.PageTimeouts.push(timeout)\r\n }\r\n\r\n function asfApplicationClearPageTimouts() {\r\n var application = this;\r\n application.PageTimeouts.forEach(function (item) {\r\n if (item.isPending) {\r\n clearTimeout(item.timeout)\r\n }\r\n })\r\n application.PageTimeouts = []\r\n }\r\n\r\n function asfApplicationReportNavigation(url) {\r\n\r\n var parser = /NavStatus=([^&]*)(&ObjectId=([^&]*))?/\r\n , result = parser.exec(url)\r\n , navStatus = null\r\n , objectId = null;\r\n\r\n if (result) {\r\n navStatus = decodeURIComponent(result[1]);\r\n objectId = (typeof result[3] === \"undefined\" ? null : decodeURIComponent(result[3]));\r\n // console.log(\"ReportNavigation\")\r\n this.setNavStatus(navStatus, objectId);\r\n }\r\n }\r\n\r\n function asfApplicationAppendRangeList(data, navStatus, isForm) {\r\n var application = this;\r\n var navEntry = application.NavigationList && application.NavigationList.Entries[navStatus];\r\n var rangeList = null;\r\n\r\n if (navEntry) {\r\n rangeList = navEntry.RangeList;\r\n\r\n if (rangeList) {\r\n data = data.appendParameter(\"RangeList\", rangeList, isForm);\r\n }\r\n }\r\n\r\n return data;\r\n }\r\n\r\n function asfApplicationNavigate(navStatus, objectId, endAction, rangeList) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onSetNavStatus().done(function () {\r\n var url = \"asfNavController.asp\";\r\n var entry = null;\r\n\r\n application.hideLoadStatus();\r\n application.hideNavigation();\r\n\r\n asfLog(\"Navigate: navStatus={0}, objectId={1}, endAction={2}, rangeList={3}\".format(navStatus, objectId, endAction, rangeList));\r\n\r\n if (endAction) {\r\n url += \"?NavStatus={0}&ObjectId={1}&EndAction={2}\".formatURI(navStatus, objectId, endAction);\r\n } else {\r\n\r\n entry = application.NavigationList.Entries[navStatus];\r\n\r\n if (entry && entry.ParentStatus && entry.ParentStatus !== \"Root\") {\r\n if (rangeList) {\r\n entry.RangeList = rangeList;\r\n } else {\r\n rangeList = entry.RangeList;\r\n }\r\n }\r\n\r\n if (rangeList) {\r\n url += \"?NavStatus={0}&ObjectId={1}&RangeList={2}\".formatURI(navStatus, objectId, rangeList);\r\n } else {\r\n url += \"?NavStatus={0}&ObjectId={1}\".formatURI(navStatus, objectId);\r\n }\r\n }\r\n\r\n if (application.Form && application.Form.isNewForm()) {\r\n application.ValueCache.cacheAllValues(application);\r\n }\r\n\r\n if (application.DataService) {\r\n application.DataService.cancelPendingDatasets();\r\n }\r\n application.load(url);\r\n });\r\n }\r\n\r\n function asfApplicationReset(newSessionId, newLanguage) {\r\n\r\n var application = this\r\n , navigation = null\r\n , prenavigation = null;\r\n\r\n if (application.Wizard) {\r\n application.closeWizard();\r\n }\r\n\r\n application.Language = newLanguage || \"de\";\r\n if (newSessionId) {\r\n application.SessionId = newSessionId;\r\n } else {\r\n application.SessionId = null;\r\n }\r\n\r\n // Hier auf die Reihenfolge achten, teilweise benutzen die Objekte sich gegenseitig.\r\n application.ServerLocale = new asfServerLocale();\r\n application.Formatter = new asfFormatter(application);\r\n application.FocusTrail.clear();\r\n application.NavigationList = new asfNavigationList();\r\n application.ValueCache = new asfValueCache();\r\n application.RefSetCache = new asfRefSetCache();\r\n if (application.Popup && application.Popup.isOpen()) {\r\n application.Popup.closePopup();\r\n }\r\n application.UserProfile = new asfUserProfile(application);\r\n if (application.DataService) {\r\n application.DataService.destroy();\r\n application.DataService = null;\r\n }\r\n\r\n if (application.GlobalSearch) {\r\n application.GlobalSearch.destroy();\r\n application.GlobalSearch = null;\r\n }\r\n\r\n if (application.SessionId) {\r\n application.DataService = new asfDataService(application);\r\n application.GlobalSearch = new asfGlobalSearch(application, \"#GlobalSearch\");\r\n }\r\n\r\n\r\n application.DataObject = null;\r\n application.NavStatus = null;\r\n application.ObjectId = null;\r\n application.RangeList = null;\r\n application.Menu = null;\r\n\r\n application.Form = null;\r\n application.DataURL = null;\r\n application.Page = null;\r\n\r\n application.LastSelectedLnkId = null;\r\n application.SelectedLnkId = null;\r\n application.ActiveTabId = null;\r\n application.FormatList = [];\r\n application.LastDate = null;\r\n application.PostNavStatus = null;\r\n application.PostObjectId = null;\r\n\r\n if (application.LoadProgressTimeOut) {\r\n clearTimeout(application.LoadProgressTimeOut);\r\n }\r\n application.LoadProgressTimeOut = null;\r\n application.HasLoadProgressBar = null;\r\n application.SubmitName = null;\r\n if (application.DelayedRedirect) {\r\n clearTimeout(application.DelayedRedirect);\r\n }\r\n application.DelayedRedirect = null;\r\n //application.InitialTarget = null; Nicht ausführen, da das Target sonst beim erneuten Anmelden gelöscht wird.\r\n\r\n application.UserId = null;\r\n\r\n application.clearPageTimeouts();\r\n\r\n if (application.AutoCompleteTimeout) {\r\n clearTimeout(application.AutoCompleteTimeout);\r\n application.AutoCompleteTimeout = null;\r\n }\r\n\r\n application.clearSessionTimeOut();\r\n if (application.DataMonitorInterval) {\r\n clearInterval(application.DataMonitorInterval);\r\n application.DataMonitorInterval = null;\r\n }\r\n\r\n //application.clearSessionId();\r\n application.MyWindow.location.hash = \"#\";\r\n\r\n application.Notification.removeAllNotifications();\r\n application.Notification.LastMessageId = 0;\r\n }\r\n\r\n function asfApplicationDecodeStartPage() {\r\n var application = this;\r\n\r\n application.RefSetCache.updateRefSets([\"A!asfTemplates\"]).then(function () {\r\n\r\n var refSet = application.RefSetCache;\r\n var $decElements = $(\".ic-auto-dec-default\");\r\n\r\n $decElements.each(function () {\r\n var $element = $(this);\r\n var formatType = $element.attr(\"data-format\");\r\n var textKey = $element.attr(\"data-textkey\");\r\n var ishtml = $element.attr(\"data-ishtml\");\r\n var decodedValue = \"\";\r\n\r\n if (ishtml && ishtml === \"true\") {\r\n decodedValue = refSet.encodeValue(formatType, textKey, true);\r\n $element.html(decodedValue);\r\n } else {\r\n decodedValue = refSet.encodeValue(formatType, textKey);\r\n $element.text(decodedValue);\r\n }\r\n\r\n\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n function asfApplicationAppendSessionId(url, isForm) {\r\n return url.appendParameter(\"_SessionId\", this.SessionId, isForm);\r\n }\r\n\r\n function asfApplicationLoad(url, myDeferred) {\r\n\r\n var application = this\r\n , result = null;\r\n\r\n application.unmonitorDataFrame();\r\n application.showLoadStatus(\"loadingData\");\r\n\r\n if (application.DelayedRedirect) {\r\n clearTimeout(application.DelayedRedirect);\r\n application.DelayedRedirect = null;\r\n }\r\n\r\n if (url) {\r\n if (!myDeferred) {\r\n myDeferred = application.Promises.promiseLoad(true);\r\n }\r\n\r\n result = application.ajaxWithAuthorization({\r\n\r\n method: \"GET\",\r\n url: url,\r\n \"success\": function () {\r\n asfApplicationReceiveData(result, myDeferred);\r\n },\r\n \"error\": function () {\r\n asfApplicationLoadError(myDeferred);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function asfApplicationMessage(data) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var myDeferred = application.Promises.promiseCreateContent()\r\n , container = null\r\n , content = null;\r\n\r\n application.hideLoadStatus();\r\n application.clearPageTimeouts();\r\n\r\n if (application.Wizard) {\r\n container = application.MyWindow.document.getElementById(\"wizardData\");\r\n content = getMessage(data.EventMessage, false, asfForm.prototype.WizardDataOptions);\r\n application.showGeneratedContent(content, null, container, asfForm.prototype.WizardDataOptions);\r\n } else {\r\n container = application.MyWindow.document.getElementById(\"generatedContent\");\r\n content = getMessage(data.EventMessage, !!application.PostNavStatus, asfForm.prototype.MainOptions);\r\n application.showGeneratedContent(content, null, container, asfForm.prototype.MainOptions);\r\n application.updateTitle(data.Title, data.SessionTimeOut, data.HelpContext, data.Language);\r\n application.NavStatus = \"message\";\r\n application.ObjectId = null;\r\n window.location.hash = \"#message\";\r\n }\r\n\r\n application.MyWindow.jQuery(container).find(\"a\").first().focus();\r\n $(application.MyWindow).resize();\r\n application.Promises.resolveCreateContent(myDeferred);\r\n });\r\n }\r\n\r\n function asfApplicationShowStaticContent(content) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var staticContent = null\r\n , dataFrame = null;\r\n\r\n application.PostNavStatus = null;\r\n application.PostObjectId = null;\r\n\r\n application.hideGeneratedContent();\r\n application.hideReactContent();\r\n\r\n staticContent = application.MyWindow.document.getElementById(\"staticContent\");\r\n staticContent.style.display = \"block\";\r\n application.FocusTrail.clear();\r\n application.showMain();\r\n\r\n dataFrame = application.DataFrame;\r\n if (dataFrame) {\r\n application.deactivateContent(dataFrame.document);\r\n dataFrame.document.close();\r\n dataFrame.document.open(\"text/html\", \"replace\");\r\n dataFrame.document.write(content);\r\n dataFrame.document.close();\r\n }\r\n\r\n application.activateStaticContent();\r\n });\r\n }\r\n\r\n function asfApplicationHideGeneratedContent() {\r\n var application = this;\r\n\r\n let generatedContent = application.MyWindow.document.getElementById(\"generatedContent\");\r\n application.deactivateContent(generatedContent);\r\n generatedContent.style.display = \"none\";\r\n }\r\n\r\n function asfApplicationShowExternalContent(url) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var generatedContent = null\r\n , staticContent = null\r\n , dataFrame = null;\r\n\r\n application.PostNavStatus = null;\r\n application.PostObjectId = null;\r\n\r\n generatedContent = application.MyWindow.document.getElementById(\"generatedContent\");\r\n application.deactivateContent(generatedContent);\r\n generatedContent.style.display = \"none\";\r\n\r\n staticContent = application.MyWindow.document.getElementById(\"staticContent\");\r\n staticContent.style.display = \"block\";\r\n application.FocusTrail.clear();\r\n application.showMain();\r\n\r\n dataFrame = application.DataFrame;\r\n if (dataFrame) {\r\n dataFrame.location.href = url;\r\n }\r\n });\r\n }\r\n\r\n function asfApplicationDeactivateContent(container) {\r\n var myWindow = container && container.ownerDocument && (container.ownerDocument.defaultView || container.ownerDocument.parentWindow);\r\n var q = myWindow && myWindow.jQuery;\r\n var application = this;\r\n\r\n // DataTables abbauen, je nach dem, in welchem Fenster der Container lebt.\r\n if (q) {\r\n q(container).find(\".dataTables_scrollBody .ic-data-table\").each(function () {\r\n if (q.fn.DataTable.isDataTable(this)) {\r\n asfLog(\"Destroy DataTable\");\r\n q(this).dataTable().api().destroy();\r\n q(this).remove();\r\n }\r\n });\r\n }\r\n\r\n // Vorschaufenster schließen\r\n application.MyWindow.jQuery(\"#preview\").hide();\r\n if (application.DataService) {\r\n application.DataService.cancelPendingDatasets();\r\n }\r\n\r\n }\r\n\r\n function asfApplicationShowGeneratedContent(content, form, container, options) {\r\n\r\n var application = this\r\n , staticContent = null\r\n , generatedContent = null;\r\n\r\n if (options.hideStaticContent) {\r\n application.hideStaticContent();\r\n application.hideReactContent();\r\n\r\n generatedContent = application.MyWindow.document.getElementById(\"generatedContent\");\r\n generatedContent.style.display = \"block\";\r\n\r\n container = generatedContent;\r\n }\r\n asfLog(\"Deactivate Content\");\r\n\r\n application.deactivateContent(container);\r\n\r\n asfLog(\"Insert new content\");\r\n\r\n container.innerHTML = content;\r\n\r\n form = form || new asfForm(null, container);\r\n\r\n asfLog(\"Activate Form\");\r\n form.activate(options);\r\n }\r\n\r\n\r\n function asfApplicationPost(form, submit, names, values) {\r\n var application = this;\r\n var myDeferred = null;\r\n var i = 0;\r\n var result = null;\r\n var $form = null;\r\n var url = null;\r\n var data = null;\r\n var formData = application.getFormData(form);\r\n var rangeList = null;\r\n\r\n if (!application.Promises.isSendPending()) {\r\n\r\n application.hideLoadStatus();\r\n application.showLoadStatus(\"sendingData\");\r\n\r\n myDeferred = application.Promises.promiseLoad();\r\n\r\n if (myDeferred) {\r\n\r\n if (application.Form && !application.Wizard) {\r\n if (application.Form.isSearchForm()) {\r\n application.ValueCache.cacheChangedValues(application);\r\n } else if (application.Form.isNewForm()) {\r\n application.ValueCache.cacheAllValues(application);\r\n application.PostNavStatus = application.NavStatus;\r\n application.PostObjectId = application.ObjectId;\r\n }\r\n\r\n }\r\n\r\n if (formData && formData.EvaluateURL) {\r\n url = formData.EvaluateURL;\r\n data = formData.serialize(form);\r\n if (formData.NavStatus) {\r\n data = application.appendRangeList(data, formData.NavStatus, true);\r\n }\r\n if (formData.ShowFilter) {\r\n data = data.appendParameter(\"ShowFilter\", \"1\", true);\r\n }\r\n } else {\r\n $form = $(form);\r\n url = $form.attr(\"action\");\r\n data = $form.serialize();\r\n }\r\n\r\n if (submit) {\r\n data = data.appendParameter(submit, 1, true);\r\n }\r\n\r\n if (names && values) {\r\n for (i = 0; i < names.length; i += 1) {\r\n data = data.appendParameter(names[i], values[i], true);\r\n }\r\n }\r\n\r\n // Send the data using post\r\n result = application.ajaxWithAuthorization({\r\n \"url\": url,\r\n \"method\": \"POST\",\r\n \"data\": data,\r\n \"contentType\": \"application/x-www-form-urlencoded; charset=utf-8\",\r\n \"success\": function () { asfApplicationReceiveData(result, myDeferred); },\r\n \"error\": function () { asfApplicationLoadError(myDeferred); }\r\n });\r\n }\r\n }\r\n }\r\n\r\n function asfApplicationSetNavStatus(navStatus, objectId) {\r\n\r\n var application = this\r\n , list = []\r\n , navigationList = this.NavigationList;\r\n\r\n // Falls Werte fehlen...\r\n navStatus = navStatus || application.NavStatus;\r\n objectId = objectId || null;\r\n\r\n if (navStatus) {\r\n application.Promises.onUpdateNavigation().done(function () {\r\n var myDeferred = null;\r\n\r\n // ggf. Änderungen anfordern.\r\n\r\n if (navigationList.needsUpdate(navStatus)) {\r\n myDeferred = application.Promises.promiseUpdateNavigation();\r\n asfNavigationListGetEntry(navigationList, navStatus, objectId, list).then(function () {\r\n application.Promises.resolveUpdateNavigation(myDeferred);\r\n },\r\n function () {\r\n application.Promises.rejectUpdateNavigation(myDeferred);\r\n });\r\n }\r\n\r\n\r\n // Menü erstellen.\r\n application.Promises.onSetNavStatus().done(function () {\r\n var entry = null\r\n , hash = null;\r\n\r\n if (!navigationList.isCurrent(navStatus, objectId)) {\r\n\r\n application.NavStatus = navStatus;\r\n application.ObjectId = objectId;\r\n\r\n application.Menu = navigationList.getMenu(navStatus);\r\n asfGenerateNavigation();\r\n\r\n setTimeout(function () {\r\n application.Promises.onFormActivated().done(function () {\r\n try {\r\n entry = navigationList.Entries[navStatus];\r\n if (entry) {\r\n application.RangeList = entry.RangeList;\r\n hash = entry.formatHash();\r\n\r\n if (application.MyWindow.location.hash.startsWith(\"#-\") && !application.SkippedState) {\r\n application.SkippedState = true;\r\n } else {\r\n application.SkippedState = false;\r\n application.MyWindow.location.hash = hash;\r\n }\r\n }\r\n } catch (ex) {\r\n // Wenn nicht unterstützt, ignorieren.\r\n }\r\n });\r\n }, 10);\r\n }\r\n });\r\n });\r\n\r\n //History-Eintrag erstellen\r\n\r\n\r\n }\r\n }\r\n\r\n\r\n function asfApplicationGenerateForm(data, contextLinks) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var myDeferred = application.Promises.promiseCreateContent()\r\n , container = application.MyWindow.document.getElementById(\"generatedContent\")\r\n , form = new asfForm(data.Form, container)\r\n , refSetNames = null\r\n var options = $.extend({}, form.MainOptions, { \"contextLinks\": contextLinks });\r\n\r\n application.Form = form;\r\n application.DataURL = form.DataURL;\r\n application.Page = form.Page;\r\n application.PageCount = form.PageCount;\r\n\r\n application.updateTitle(data.Title, data.SessionTimeOut, form.FormName, data.Language);\r\n\r\n if (form.Focus !== \"trail\") {\r\n application.FocusTrail.clear();\r\n }\r\n\r\n refSetNames = application.Form.getRefSetNames();\r\n\r\n application.RefSetCache.updateRefSets(refSetNames).done(function () {\r\n application.PostNavStatus = null;\r\n application.PostObjectId = null;\r\n\r\n asfGenerateForm(form, container, options);\r\n if (form.isSearchForm()) {\r\n application.ValueCache.restoreValues(application);\r\n }\r\n\r\n application.Promises.resolveCreateContent(myDeferred);\r\n application.showMain();\r\n });\r\n });\r\n }\r\n\r\n function asfApplicationGotoFirstPage() {\r\n if (this.Page && this.Page > 1) {\r\n this.gotoPage(1);\r\n }\r\n }\r\n\r\n function asfApplicationGotoNextPage() {\r\n if (this.Page) {\r\n this.gotoPage(this.Page + 1);\r\n }\r\n }\r\n\r\n function asfApplicationGotoPage(page) {\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n if (application.Form && application.Form.NavStatus === application.NavStatus && application.Form.PageCount >= page) {\r\n var navEntry = application.NavigationList.Entries[application.NavStatus]\r\n , rangeList = null\r\n , url = null;\r\n\r\n if (navEntry) {\r\n rangeList = navEntry.RangeList;\r\n\r\n url = application.DataURL + \"&RangeList={0}&Page={1}\";\r\n url = url.formatURI(rangeList, page);\r\n\r\n application.load(url);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function asfApplicationGotoPreviousPage() {\r\n if (this.Page && this.Page > 1) {\r\n this.gotoPage(this.Page - 1);\r\n }\r\n }\r\n\r\n function asfApplicationSortBy(column) {\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n var url = null;\r\n\r\n if (application.Wizard && application.Wizard.DataForm) {\r\n url = application.Wizard.DataForm.getSortByURL(application, column);\r\n } else if (application.Form) {\r\n url = application.Form.getSortByURL(application, column);\r\n }\r\n\r\n if (url) {\r\n application.load(url);\r\n }\r\n });\r\n }\r\n\r\n\r\n function asfApplicationNavigateToDetail(objectId) {\r\n\r\n var navStatus = this.NavStatus;\r\n\r\n this.navigate(navStatus, objectId, true);\r\n }\r\n\r\n function asfApplicationClearSessionTimeOut() {\r\n var application = this;\r\n\r\n if (application.SessionTimeOut) {\r\n clearTimeout(application.SessionTimeOut);\r\n }\r\n application.SessionTimeOut = null;\r\n\r\n }\r\n\r\n\r\n function asfApplicationSetSessionTimeOut(time) {\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var parser = /(\\d+):(\\d+)/\r\n , result = parser.exec(time)\r\n , hour = 0\r\n , minute = 0\r\n , now = null\r\n , then = null\r\n , delay = 0;\r\n\r\n if (result) {\r\n hour = parseInt(result[1], 10);\r\n minute = parseInt(result[2], 10);\r\n now = new Date();\r\n then = new Date();\r\n\r\n if (then.getHours() > hour || (then.getHours() === hour && then.getMinutes() > minute)) {\r\n then.setTime(then.getTime() + 86400000);\r\n }\r\n\r\n then.setHours(hour, minute, 0, 0);\r\n delay = then.getTime() - now.getTime();\r\n\r\n application.clearSessionTimeOut();\r\n application.SessionTimeOut = setTimeout(asfApplicationDoSessionTimeout, delay);\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n function asfApplicationFocusControl(controlName) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n if (application.Form) {\r\n application.Form.focus(controlName);\r\n }\r\n });\r\n\r\n }\r\n\r\n function asfApplicationUpdateTitle(title, time, formName, language) {\r\n\r\n var application = this;\r\n\r\n if (title && !time && !formName && !language) {\r\n // Fall für Seiten ohne Definition im Hintergrund\r\n let titleCell = application.MyWindow.document.getElementById(\"tc\");\r\n if (titleCell) {\r\n titleCell.innerHTML = title;\r\n }\r\n return\r\n }\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n\r\n var titleElement = application.MyWindow.document.getElementById(\"title\")\r\n , timeString = \"\"\r\n , titleCell = null\r\n , statusCell = null;\r\n\r\n if (titleElement) {\r\n\r\n timeString = \"\";\r\n\r\n if (time && String(time).length > 0) {\r\n timeString = getSessionStatus(application, time);\r\n application.setSessionTimeOut(time);\r\n }\r\n\r\n titleCell = application.MyWindow.document.getElementById(\"tc\");\r\n $(titleCell).off(\"click\", \".labelEditorButton\");\r\n\r\n if (!language) {\r\n\r\n var myRefSet = application.RefSetCache;\r\n\r\n myRefSet.updateDataFormDefs(formName).then(function (metaData) {\r\n\r\n var myMetaData = transformArrayToObject(metaData, \"data\");\r\n var decodedTitle = myRefSet.encodeValue(\"A!\" + formName, \"FormName\");\r\n\r\n titleCell.innerHTML = decodedTitle;\r\n });\r\n\r\n } else {\r\n titleCell.innerHTML = title;\r\n }\r\n var labelEditorButton = formName && getLabelEditorButton(null, formName, \"FormName\", asfForm.prototype.MainOptions);\r\n if (labelEditorButton) {\r\n $(titleCell).append(labelEditorButton);\r\n $(titleCell).on(\"click\", \".labelEditorButton\", null, asfFormHandleLabelEditor);\r\n }\r\n\r\n statusCell = application.MyWindow.document.getElementById(\"sc\");\r\n statusCell.innerHTML = timeString;\r\n\r\n title = String(title).trim();\r\n\r\n if (application.MyWindow.Branding) {\r\n if (title && title.substring(0, 1) !== \"<\") {\r\n application.MyWindow.document.title = title + \" - \" + application.MyWindow.Branding.windowTitle;\r\n } else {\r\n application.MyWindow.document.title = application.MyWindow.Branding.windowTitle;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n function asfApplicationUpdateStatus() {\r\n\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n var timeString = application.DataObject && application.DataObject.SessionTimeOut;\r\n var statusCell = null;\r\n\r\n if (timeString) {\r\n\r\n timeString = getSessionStatus(application, timeString);\r\n\r\n statusCell = application.MyWindow.document.getElementById(\"sc\");\r\n statusCell.innerHTML = timeString;\r\n }\r\n });\r\n }\r\n\r\n function asfApplicationUpdateNavigation(navigationList) {\r\n\r\n var application = this\r\n , myDeferred = application.Promises.promiseUpdateNavigation();\r\n\r\n application.NavigationList.addEntries(navigationList).always(function () {\r\n application.Promises.resolveUpdateNavigation(myDeferred);\r\n });\r\n }\r\n\r\n\r\n function asfApplicationOpenWizard(url, row, extend, setDefaults) {\r\n\r\n var application = this;\r\n\r\n if (application.AutoCompleteTimeout) {\r\n clearTimeout(application.AutoCompleteTimeout);\r\n application.AutoCompleteTimeout = null;\r\n }\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n var wizard = new asfWizard(url, row, application.Form, extend, setDefaults)\r\n , maxHeight = 0\r\n , queryUrl = null\r\n , split = 235;\r\n\r\n application.Wizard = wizard;\r\n if (wizard.Params[\"Split\"]) {\r\n split = parseInt(wizard.Params[\"Split\"], 10);\r\n }\r\n\r\n //$(\"#wizardUpload\").height(split);\r\n //$(\"#wizardQuery\").height(split);\r\n //$(\"#wizardData\").css(\"top\", split + \"px\");\r\n\r\n maxHeight = application.MyWindow.document.documentElement.clientHeight;\r\n maxHeight = Math.min(maxHeight, 725);\r\n $(\"#wizardUpload\").hide();\r\n $(\"#wizardQuery\").show();\r\n\r\n $(\"#wizard\").wizard({\r\n height: maxHeight,\r\n closed: function (event, ui) {\r\n application.closeWizard();\r\n }\r\n }//{\r\n\r\n // height: maxHeight,\r\n // width: 700,\r\n // modal: true,\r\n // close: function (event, ui) {\r\n // application.closeWizard();\r\n // }\r\n //}\r\n );\r\n //$(\"#wizard\").dialog(\"moveToTop\");\r\n\r\n queryUrl = wizard.getQueryURL();\r\n application.load(queryUrl);\r\n });\r\n }\r\n\r\n\r\n function asfApplicationInitWizardQuery(data) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var myDeferred = application.Promises.promiseCreateContent()\r\n , wizard = application.Wizard\r\n , queryElement = application.MyWindow.document.getElementById(\"wizardQuery\")\r\n , queryForm = new asfForm(data.WizardQueryForm, queryElement)\r\n , refSetNames = queryForm.getRefSetNames();\r\n\r\n application.RefSetCache.updateRefSets(refSetNames).done(function () {\r\n asfGenerateForm(queryForm, queryElement, queryForm.WizardQueryOptions);\r\n application.Promises.resolveCreateContent(myDeferred);\r\n application.Promises.onFormActivated().done(function () {\r\n var formElement\r\n , button;\r\n\r\n wizard.setTitle(data);\r\n wizard.initQuery(queryForm, queryElement);\r\n $(\"#wizard\").wizard(\"adapt\");\r\n\r\n wizard.query();\r\n\r\n });\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n\r\n function asfApplicationShowWizardData(data) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var myDeferred = application.Promises.promiseCreateContent()\r\n , wizard = application.Wizard\r\n , dataElement = application.MyWindow.document.getElementById(\"wizardData\")\r\n , dataForm = new asfForm(data.WizardDataForm, dataElement)\r\n , refSetNames = null;\r\n\r\n wizard.DataForm = dataForm;\r\n refSetNames = dataForm.getRefSetNames();\r\n\r\n application.RefSetCache.updateRefSets(refSetNames).done(function () {\r\n asfGenerateForm(dataForm, dataElement, dataForm.WizardDataOptions);\r\n application.Promises.resolveCreateContent(myDeferred);\r\n $(\"#wizard\").wizard(\"adapt\");\r\n });\r\n });\r\n }\r\n\r\n\r\n function asfApplicationFinishWizard(data) {\r\n\r\n var application = this;\r\n\r\n application.Promises.onLoad().done(function () {\r\n var myDeferred = application.Promises.promiseCreateContent()\r\n , wizard = application.Wizard;\r\n\r\n if (wizard) {\r\n wizard.finish(data.WizardResult);\r\n application.closeWizard();\r\n }\r\n\r\n if (application.Form) {\r\n application.Form.activate();\r\n }\r\n\r\n application.Promises.resolveCreateContent(myDeferred);\r\n });\r\n }\r\n\r\n\r\n function asfApplicationCloseWizard() {\r\n\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n if ($(\"#wizard\").wizard(\"isOpen\")) {\r\n $(\"#wizard\").wizard(\"close\");\r\n }\r\n $(\"#wizard\").each(function () {\r\n application.deactivateContent(this);\r\n })\r\n // $(\"#wizard\").dialog(\"destroy\");\r\n $(\"#wizardData\").empty();\r\n $(\"#wizardQuery\").empty();\r\n\r\n var focusTarget = application.Wizard && application.Wizard.FocusTarget;\r\n application.Wizard = null;\r\n if (focusTarget) {\r\n application.focusControl(focusTarget);\r\n }\r\n });\r\n\r\n }\r\n\r\n function transformArrayToObject(myArray, keyProperty) {\r\n var result = {};\r\n var myKeyProperty = \"\";\r\n\r\n if (myArray && Array.isArray(myArray)) {\r\n myArray.forEach(function (objectValue) {\r\n result[objectValue[keyProperty]] = {};\r\n for (let property in objectValue) {\r\n result[objectValue[keyProperty]][property] = objectValue[property];\r\n }\r\n\r\n })\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function asfApplicationActivateStaticContent() {\r\n\r\n var application = this;\r\n var dataFrame = null;\r\n var myDeferred = null;\r\n\r\n application.Promises.onLoad().done(function () {\r\n dataFrame = application.DataFrame;\r\n\r\n myDeferred = application.Promises.promiseCreateContent();\r\n\r\n application.waitForContent(dataFrame).done(function () {\r\n\r\n var form = new asfForm(null, dataFrame.document);\r\n var continuation = function () {\r\n form.activate();\r\n application.Promises.resolveCreateContent(myDeferred);\r\n }\r\n\r\n application.Form = form;\r\n if (form.isSearchForm()) {\r\n application.ValueCache.restoreValues(application);\r\n }\r\n\r\n if (application.SessionId) {\r\n asfLog(\"asfApplicationEncodeStaticProperties\");\r\n asfApplicationEncodeStaticProperties(form).then(continuation, continuation);\r\n } else {\r\n continuation();\r\n }\r\n });\r\n });\r\n }\r\n\r\n function asfApplicationEncodeStaticProperties(form) {\r\n\r\n var application = GetApplication(true);\r\n var myPromise = new $.Deferred();\r\n\r\n\r\n var myRefSet = application.RefSetCache;\r\n\r\n myRefSet.updateDataFormDefs(form.FormName).then(function (metaData) {\r\n\r\n\r\n asfApplicationEncodeLabels(form, metaData, myRefSet);\r\n asfApplicationEncodeDropDowns(form, metaData, myRefSet);\r\n asfApplicationEncodeLinks(form, metaData, myRefSet);\r\n asfApplicationEncodeTabPanes(form, metaData, myRefSet);\r\n asfApplicationEncodeAutoDefault(form, metaData, myRefSet);\r\n\r\n asfApplicationEncodeActionBars(form, \"A!amcActionBars\").then(function (result) {\r\n myPromise.resolve(result);\r\n }, function () {\r\n myPromise.reject();\r\n });\r\n\r\n }, function () {\r\n asfLog(\"EncodeStaticProperties rejected\");\r\n myPromise.reject()\r\n });\r\n\r\n return myPromise.promise();\r\n\r\n }\r\n\r\n function asfApplicationEncodeActionBars(form, formatType) {\r\n\r\n var myPromise = new $.Deferred();\r\n\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n if (!Array.isArray(formatType)) {\r\n formatType = [formatType];\r\n }\r\n\r\n myRefSet.updateRefSets(formatType).then(function () {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var encodedActionBarCaption = \"\";\r\n\r\n $myForm.find(\".actions button\").each(function () {\r\n\r\n var $myButton = q(this);\r\n var textKey = $myButton.attr(\"id\");\r\n\r\n encodedActionBarCaption = myRefSet.encodeValue(formatType, textKey)\r\n $myButton.text(encodedActionBarCaption);\r\n\r\n });\r\n\r\n myPromise.resolve(true);\r\n });\r\n\r\n\r\n return myPromise.promise();\r\n }\r\n\r\n function asfApplicationEncodeLinks(form, metaData, refSet) {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var myMetaData = transformArrayToObject(metaData, \"data\");\r\n\r\n var $decElements = $myForm.find(\".ic-auto-dec-links\");\r\n\r\n $decElements.each(function () {\r\n var $element = q(this);\r\n var formatType = $element.attr(\"data-format\");\r\n var textKey = $element.attr(\"data-textkey\");\r\n var decodedValue = refSet.encodeValue(formatType, textKey)\r\n var labelEditorButton = getLabelEditorButton(null, formatType, textKey, form.MainOptions);\r\n $element.text(decodedValue);\r\n if (labelEditorButton) {\r\n $element.append(labelEditorButton);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n function asfApplicationEncodeAutoDefault(form, metaData, refSet) {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var myMetaData = transformArrayToObject(metaData, \"data\");\r\n\r\n var $decElements = $myForm.find(\".ic-auto-dec-default\");\r\n\r\n $decElements.each(function () {\r\n var $element = q(this);\r\n var formatType = $element.attr(\"data-format\");\r\n var textKey = $element.attr(\"data-textkey\");\r\n var ishtml = $element.attr(\"data-ishtml\");\r\n var decodedValue = $element.text();\r\n var labelEditorButton = getLabelEditorButton(null, formatType, textKey, form.MainOptions);\r\n\r\n if (ishtml && ishtml === \"true\") {\r\n decodedValue = refSet.encodeValue(formatType, textKey, true);\r\n $element.html(decodedValue);\r\n } else {\r\n decodedValue = refSet.encodeValue(formatType, textKey);\r\n $element.text(decodedValue);\r\n }\r\n\r\n if (labelEditorButton) {\r\n $element.append(labelEditorButton);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n function asfApplicationEncodeTabPanes(form, metaData, refSet) {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var myMetaData = transformArrayToObject(metaData, \"data\");\r\n\r\n var $tabPanels = $myForm.find(\".ic-auto-dec-tabpanels li a\");\r\n $tabPanels.each(function () {\r\n\r\n var $tabLink = q(this);\r\n var controlName = $tabLink.attr(\"data-controlname\");\r\n $tabLink.text(myMetaData[controlName].title);\r\n\r\n });\r\n\r\n }\r\n\r\n function asfApplicationEncodeLabels(form, metaData, refSet) {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var myMetaData = transformArrayToObject(metaData, \"data\");\r\n\r\n var $labels = $myForm.find(\".searchInput input, .searchInput select, .text-HintForUse\");\r\n $labels.each(function () {\r\n var $label = q(this);\r\n var $wzdLink;\r\n\r\n $label = $label.closest(\".form-group\").find(\"label\");\r\n $wzdLink = $label.find(\"a\");\r\n\r\n var $target = $label;\r\n if ($wzdLink.length > 0) {\r\n $target = $wzdLink;\r\n }\r\n\r\n if ($target && $target.length && $target.length > 0) {\r\n var controlName = asfApplicationGetRawControlName($label.get(0).htmlFor);\r\n var labelEditorButton = getLabelEditorButton($label.get(0).htmlFor, null, null, form.MainOptions);\r\n\r\n if (myMetaData[controlName]) {\r\n\r\n var title = myMetaData[controlName].title;\r\n if (title) {\r\n $target.text(title);\r\n if (labelEditorButton) {\r\n $label.append(labelEditorButton);\r\n }\r\n }\r\n } else {\r\n $target.text(controlName || \"?\");\r\n asfLog(\"asfApplicationEncodeLabels(form,metaData,refSet) Control: \" + controlName + 'konnte nicht dekodiert werden weil es in der FormDef fehlt.');\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n function asfApplicationEncodeDropDowns(form, metadata, refSet) {\r\n\r\n var q = form.get$();\r\n var $myForm = q(form.getForm());\r\n var $dropDowns = $myForm.find(\".searchInput select\");\r\n var encoderProperty = \"\";\r\n\r\n $dropDowns.each(function () {\r\n\r\n var $select = q(this);\r\n var $span = $select.closest(\"span\");\r\n var formatType = $span.attr(\"data-format\");\r\n var foundOptions = false;\r\n var optionValue = \"\";\r\n var optionHtml = \"\";\r\n\r\n $select.find(\"option\").each(function () {\r\n var myOption = q(this);\r\n var optionValue = myOption.val();\r\n var encodedOptionText = refSet.encodeValue(formatType, optionValue)\r\n\r\n myOption.text(encodedOptionText);\r\n foundOptions = true;\r\n })\r\n\r\n if (!foundOptions) {\r\n if (refSet) {\r\n var optionHtml = refSet.getOptions(formatType);\r\n $select.append(optionHtml);\r\n }\r\n }\r\n asfLog(\"asfApplication.asfApplicationEncodeDropDowns (fertig)\");\r\n });\r\n\r\n }\r\n\r\n function asfApplicationGetRawControlName(controlName) {\r\n var result = controlName.split(\"_\");\r\n return result[0];\r\n }\r\n\r\n // Wenn Dateien hochgeladen werden, auf Antwort des Servers warten.\r\n function asfApplicationMonitorDataFrame() {\r\n\r\n var application = this\r\n , myDeferred = null\r\n , iterationCount = 0;\r\n\r\n myDeferred = application.Promises.promiseLoad(false);\r\n if (myDeferred) {\r\n iterationCount = 0;\r\n application.unmonitorDataFrame();\r\n\r\n application.DataMonitorInterval = setInterval(function () {\r\n iterationCount += 1;\r\n if (application.DataFrame.document.readyState === \"complete\") {\r\n application.unmonitorDataFrame();\r\n application.Promises.resolveLoad(myDeferred);\r\n application.activateStaticContent();\r\n } else if (iterationCount > 10000) {\r\n application.unmonitorDataFrame();\r\n asfApplicationLoadError(myDeferred);\r\n }\r\n }, 100);\r\n }\r\n }\r\n\r\n\r\n function asfApplicationProcessData(data, myDeferred) {\r\n var application = this\r\n , isRedirected = false\r\n , contextLinks = [];\r\n\r\n if (data) {\r\n asfForm.prototype.MainOptions.canUseLabelEditor = !!data.CanUseLabelEditor;\r\n\r\n asfSetLogLevel(data.TraceLevel || 0);\r\n if (application.DataFrame) {\r\n application.DataFrame.asfSetLogLevel(data.TraceLevel || 0);\r\n }\r\n\r\n application.DataObject = data;\r\n\r\n if (data.ServerDownText) {\r\n application.setServerDownText(data.ServerDownText);\r\n }\r\n if (data.EndSession) {\r\n if (application.Wizard) {\r\n application.closeWizard();\r\n }\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.message(data);\r\n application.Promises.onContentCreated().done(() => {\r\n application.showLogout();\r\n application.clearSessionId();\r\n });\r\n } else {\r\n\r\n\r\n if (data.Performance) {\r\n asfLog(data.Performance);\r\n }\r\n\r\n if (data.RefSetTimeOut) {\r\n application.RefSetCache.setRefSetTimeOut(data.RefSetTimeOut);\r\n }\r\n\r\n if (data.SessionId !== application.SessionId) {\r\n application.reset(data.SessionId);\r\n application.ServerLocale = new asfServerLocale(data.ServerLocale);\r\n }\r\n\r\n if (application.SessionId) {\r\n application.UserId = data.UserId;\r\n application.saveSessionId();\r\n } else {\r\n application.showLogout();\r\n }\r\n\r\n if (application.resetLanguage(data)) {\r\n // Wenn die Sprache geändert wurde, wird dieser Teil übersprungen, und es wird der aktuelle Bildschirm neu geladen.\r\n if (data.NavigationList) {\r\n contextLinks = application.getContextLinks(data.NavigationList, data.NavStatus);\r\n application.updateNavigation(data.NavigationList);\r\n }\r\n\r\n if (data.Redirect) {\r\n isRedirected = application.redirect(data.Redirect, data.RedirectDelay, myDeferred);\r\n }\r\n\r\n\r\n if (data.EventMessage) {\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.message(data);\r\n } else if (isRedirected) {\r\n /* jshint ignore:start */\r\n /* jshint ignore:end */\r\n } else if (data.Form) {\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.generateForm(data, contextLinks);\r\n application.setNavStatus(data.NavStatus, data.ObjectId);\r\n } else if (data.NavStatus) {\r\n application.navigate(data.NavStatus, data.ObjectId);\r\n } else if (data.WizardQueryForm) {\r\n application.initWizardQuery(data);\r\n } else if (data.WizardDataForm) {\r\n application.showWizardData(data);\r\n } else if (data.WizardResult) {\r\n application.finishWizard(data);\r\n }\r\n } else {\r\n if (data.Redirect) {\r\n isRedirected = application.redirect(data.Redirect, data.RedirectDelay, myDeferred);\r\n }\r\n\r\n if (data.EventMessage) {\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.message(data);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return isRedirected;\r\n }\r\n\r\n function asfApplicationRedirect(redirectURL, delay, myDeferred) {\r\n var application = this;\r\n let isRedirected = false;\r\n if (redirectURL.startsWith(\"client:\")) {\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.showComponent(redirectURL);\r\n } else if (delay) {\r\n application.DelayedRedirect = setTimeout(function () {\r\n application.DelayedRedirect = null;\r\n application.load(redirectURL);\r\n },\r\n delay);\r\n } else if (redirectURL === \"asfNavController.asp\" && application.InitialTarget) {\r\n application.navigateToInitialTarget();\r\n } else {\r\n application.load(redirectURL, myDeferred);\r\n isRedirected = true;\r\n }\r\n return isRedirected;\r\n }\r\n\r\n function asfApplicationShowComponent(url) {\r\n let application = this;\r\n application.Promises.onLoad().done(function () {\r\n\r\n let componentName = url.getURIPath().substring(\"client:\".length);\r\n let props = url.getURIParameters();\r\n\r\n let component = navStatusComponents[componentName];\r\n if (component) {\r\n let navStatus = props.NavStatus;\r\n let objectId = props.ObjectId;\r\n\r\n application.showReactContent(component, props);\r\n if (navStatus) {\r\n application.setNavStatus(navStatus, objectId);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function asfApplicationShowReactContent(component, props) {\r\n let application = this;\r\n\r\n application.hideGeneratedContent();\r\n application.hideStaticContent();\r\n application.showMain();\r\n\r\n const createContentDeferred = application.Promises.promiseCreateContent();\r\n const activateFormDeferred = application.Promises.promiseActivateForm();\r\n\r\n \r\n let reactContent = application.MyWindow.document.getElementById(\"reactContent\");\r\n reactContent.style.display = \"block\";\r\n const rootElement = application.MyWindow.document.getElementById(\"reactContentRoot\");\r\n const root = ReactDOM.createRoot(rootElement);\r\n const PageComponent = component;\r\n\r\n root.render(\r\n \r\n );\r\n application.addFinalizer(() => {\r\n root.unmount();\r\n store.dispatch(BusinessObjectSlice.clear());\r\n });\r\n\r\n application.Promises.onContentCreated().done(() => {\r\n application.Promises.resolveActivateForm(activateFormDeferred);\r\n })\r\n application.Promises.resolveCreateContent(createContentDeferred);\r\n }\r\n\r\n function asfApplicationHideStaticContent() {\r\n var application = this;\r\n let staticContent = application.MyWindow.document.getElementById(\"staticContent\");\r\n staticContent.style.display = \"none\";\r\n }\r\n\r\n function asfApplicationHideReactContent() {\r\n var application = this;\r\n let reactContent = application.MyWindow.document.getElementById(\"reactContent\");\r\n reactContent.style.display = \"none\";\r\n }\r\n\r\n function asfApplicationWaitForContent(myWindow) {\r\n\r\n var myDeferred = new $.Deferred()\r\n , iterationCount = 0\r\n , contentInterval = null;\r\n\r\n if (myWindow.document.readyState === \"complete\") {\r\n myDeferred.resolve();\r\n } else {\r\n iterationCount = 0;\r\n contentInterval = setInterval(function () {\r\n iterationCount += 1;\r\n if (myWindow.document.readyState === \"complete\") {\r\n clearInterval(contentInterval);\r\n myDeferred.resolve();\r\n } else if (iterationCount > 1000) {\r\n myDeferred.reject();\r\n }\r\n },\r\n 50);\r\n }\r\n\r\n return myDeferred.promise();\r\n }\r\n\r\n\r\n function asfApplicationRestorePostData() {\r\n\r\n var application = this\r\n , navStatus = application.PostNavStatus\r\n , objectId = application.PostObjectId;\r\n\r\n if (navStatus) {\r\n application.navigate(navStatus, objectId);\r\n }\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n application.ValueCache.restoreValues(application);\r\n });\r\n }\r\n\r\n\r\n function asfApplicationShowLoadStatus(message, canCancel) {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n var myRefSet = application.RefSetCache;\r\n\r\n var myDecMessage = myRefSet.encodeValue(\"A!asfApplicationShowLoadStatus\", message);\r\n\r\n q(\"#sc\").html(myDecMessage);\r\n\r\n application.LoadStatusTimeOut = setTimeout(function () {\r\n application.LoadStatusTimeOut = null;\r\n //q(\"#loadProgress\").width(q(\"#sc\").width());\r\n q(\"#loadProgress\").html(getLoadIndicator());\r\n application.HasLoadProgressBar = true;\r\n }, 2000);\r\n }\r\n\r\n function asfApplicationHideLoadStatus(updateStatus) {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#sc\").html(\"\");\r\n\r\n if (application.LoadStatusTimeOut) {\r\n clearTimeout(application.LoadStatusTimeOut);\r\n application.LoadStatusTimeOut = null;\r\n }\r\n\r\n if (application.HasLoadProgressBar) {\r\n q(\"#loadProgress\").html(\"\");\r\n application.HasLoadProgressBar = false;\r\n }\r\n\r\n if (updateStatus) {\r\n application.updateStatus();\r\n }\r\n }\r\n\r\n\r\n function asfApplicationSaveSessionId() {\r\n var application = this\r\n , sessionId = \"\"\r\n , worker = null;\r\n\r\n try {\r\n sessionId = (application.SessionId ? application.SessionId : \"\");\r\n application.MyWindow.document.cookie = \"asfsessionid=\" + encodeURIComponent(sessionId);\r\n } catch (ex) {\r\n // ignorieren, wenn Cookies nicht erlaubt.\r\n }\r\n\r\n worker = application.MyWindow.frames[\"NotificationWorker\"];\r\n if (worker) {\r\n // worker.postMessage(application.SessionId, \"asfNotificationWorker.asp\");\r\n }\r\n }\r\n\r\n\r\n function asfApplicationClearSessionId() {\r\n\r\n var application = this\r\n\r\n try {\r\n application.MyWindow.document.cookie = \"asfsessionid=\";\r\n } catch (ex) {\r\n // ignorieren\r\n }\r\n\r\n }\r\n\r\n\r\n function asfApplicationRestoreSessionId(allowSessionRestore) {\r\n\r\n var result = \"\"\r\n , application = this\r\n , sessionIdParser = /asfsessionid=([^ ;]*);?/\r\n , cookie = null\r\n , matches = null\r\n\r\n if (application.InitialTarget || allowSessionRestore) {\r\n try {\r\n cookie = application.MyWindow.document.cookie;\r\n\r\n matches = sessionIdParser.exec(cookie);\r\n if (matches) {\r\n result = decodeURIComponent(String(matches[1]));\r\n }\r\n\r\n } catch (ex) {\r\n // ignorieren;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n function asfApplicationAnalyseHash(hash) {\r\n\r\n var result = null\r\n , hashParser = /#(-?|\\d+)!(\\w+)!(.*)/\r\n , navStatus = \"\"\r\n , objectId = null\r\n , endAction = 0\r\n , rangeList = null\r\n , match = hashParser.exec(hash)\r\n , rangeListStart = null;\r\n\r\n if (match) {\r\n navStatus = match[2];\r\n endAction = match[1] && (match[1] != \"-\" && parseInt(match[1], 10) || 0);\r\n if (match[3]) {\r\n objectId = match[3];\r\n objectId = decodeURIComponent(objectId);\r\n\r\n rangeListStart = objectId.indexOf(\"!rl!\");\r\n if (rangeListStart >= 0) {\r\n rangeList = objectId.substr(rangeListStart + 4);\r\n objectId = objectId.substr(0, rangeListStart);\r\n if (!objectId) {\r\n objectId = null;\r\n }\r\n }\r\n }\r\n\r\n result = { \"NavStatus\": navStatus, \"ObjectId\": objectId, \"EndAction\": endAction, \"RangeList\": rangeList };\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function asfApplicationResetLanguage(data) {\r\n var application = this;\r\n var target = null;\r\n\r\n if (data.Language && application.Language && data.Language !== application.Language) {\r\n\r\n application.reset(application.SessionId, data.Language);\r\n application.RefSetCache.initDefaultRefSets().done(function () {\r\n if (data.NavStatus) {\r\n application.InitialTarget = { \"NavStatus\": data.NavStatus, \"ObjectId\": data.ObjectId, \"EndAction\": 0, \"RangeList\": null };\r\n application.navigateToInitialTarget();\r\n } else if (data.SessionId && !data.EventMessage) {\r\n application.load(\"asfNavController.asp\");\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function asfApplicationReceiveMessage(data) {\r\n\r\n this.Notification.addNotifications(data);\r\n\r\n }\r\n\r\n function asfApplicationGetContextLinks(navigationList, navStatus) {\r\n\r\n var result = []\r\n , entry = null\r\n , i = 0;\r\n\r\n for (i = 0; i < navigationList.length; i += 1) {\r\n entry = new asfNavigationEntry(navigationList[i]);\r\n\r\n if (entry.NavStatusType === 6 && entry.NavStatus !== navStatus) {\r\n result.push(entry);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n function asfApplicationSubmitWith(element, names, values) {\r\n var allowDefaultAction = false\r\n , application = this\r\n\r\n , nodeName = element.nodeName.toLowerCase()\r\n , submitName = application.SubmitName\r\n , formData = null\r\n , button = null\r\n , enterElement = null\r\n , control = null\r\n , url = null\r\n , validateResult = true;\r\n\r\n application.SubmitName = null;\r\n\r\n asfLog(\"asfApplication.submitWith submitName: \" + submitName);\r\n\r\n switch (nodeName) {\r\n case \"form\":\r\n formData = application.getFormData(element);\r\n asfLog(\"asfSubmitWith: formData.EnterElement: \" + (formData && formData.EnterElement ? formData.EnterElement.name : \"none\"));\r\n\r\n if (formData && formData.EnterElement && formData.hasFocusTrail()) {\r\n asfLog(\"asfSubmitWith: handleEnter\");\r\n enterElement = formData.EnterElement;\r\n formData.EnterElement = null;\r\n formData.handleEnter(enterElement);\r\n } else {\r\n if (formData && !submitName) {\r\n button = formData.consumeActiveButton();\r\n if (button && typeof button.onclick === \"function\") {\r\n if (button.onclick !== asfApplicationSaveSubmit) {\r\n submitName = \"\";\r\n button.onclick();\r\n } else {\r\n\r\n submitName = button.name;\r\n }\r\n }\r\n }\r\n\r\n if (submitName) {\r\n asfLog(\"SubmitWith: form > submitName: \" + submitName);\r\n if (element.name && element.name.toLowerCase().indexOf(\"upload\") >= 0) {\r\n allowDefaultAction = true;\r\n } else {\r\n\r\n if (formData && formData.ValidateControl) {\r\n // In einem Eingabefeld wurde Enter gedrückt, dass Feld muss noch validiert werden.\r\n control = formData.Controls[formData.ValidateControl];\r\n if (control) {\r\n validateResult = control.doValidate(formData.ValidateControl, formData);\r\n }\r\n\r\n if (validateResult) {\r\n formData.ValidateControl = null;\r\n } else {\r\n formData.lockFocus(formData.ValidateControl);\r\n }\r\n }\r\n\r\n if (formData && !formData.enforceFocusLock()) {\r\n //Warten, bis laufende Checks fertig sind.\r\n application.Promises.onAllChecks().done(function () {\r\n\r\n asfLog(\"asfSubmitWith: handleSubmitName \" + submitName);\r\n\r\n application.post(element, submitName, names, values);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case \"input\":\r\n case \"button\":\r\n if (nodeName === \"button\" || element.type === \"submit\") {\r\n if (element.form.name && element.form.name.toLowerCase().indexOf(\"upload\") >= 0) {\r\n allowDefaultAction = true;\r\n } else {\r\n asfLog(\"asfSubmitWith: handleButton \" + element.name);\r\n application.post(element.form, element.name, names, values);\r\n }\r\n }\r\n break;\r\n case \"a\":\r\n url = element.href;\r\n application.load(url);\r\n break;\r\n }\r\n\r\n\r\n if (allowDefaultAction) {\r\n application.monitorDataFrame();\r\n }\r\n\r\n return allowDefaultAction;\r\n }\r\n\r\n\r\n function asfApplicationGetFormData(element) {\r\n var nodeName = element && element.nodeName && element.nodeName.toLowerCase()\r\n , result = null\r\n , formName = null\r\n , application = this;\r\n\r\n if (nodeName === \"form\") {\r\n /* jshint ignore:start */\r\n formName = element.elements[\"FormName\"] && element.elements[\"FormName\"].value;\r\n /* jshint ignore:end */\r\n if (application.Wizard && application.Wizard.QueryForm && application.Wizard.QueryForm.FormName === formName) {\r\n result = application.Wizard.QueryForm;\r\n } else if (application.Form && application.Form.FormName === formName) {\r\n result = application.Form;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n function asfApplicationCheck(element, dataQuery) {\r\n\r\n var application = this\r\n , formData = dataQuery && dataQuery.getTargetForm()\r\n , controlName = element && element.name\r\n , control = formData.Controls[controlName];\r\n\r\n\r\n if (formData && controlName && dataQuery) {\r\n\r\n dataQuery.setCondition(\"Check\", 1);\r\n\r\n application.Promises.onCheck().done(function () {\r\n var myDeferred = application.Promises.promiseCheck(controlName);\r\n\r\n dataQuery.provideContent().done(function () {\r\n var comboBox = new asfComboBox(formData, controlName, dataQuery);\r\n\r\n comboBox.openPopup();\r\n }).always(function () {\r\n application.Promises.resolveCheck(myDeferred, controlName);\r\n if (control) {\r\n control.IsValidating = false;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n\r\n function asfApplicationNavigateToInitialTarget() {\r\n var application = this\r\n , target = application.InitialTarget;\r\n\r\n if (target) {\r\n application.load(\"asfNavServer.asp\");\r\n\r\n application.Promises.onLoad().done(function () {\r\n application.Promises.onSetNavStatus().done(function () {\r\n application.Menu = application.NavigationList.getMenu();\r\n application.navigate(target.NavStatus, target.ObjectId, target.EndAction, target.RangeList);\r\n application.InitialTarget = null;\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n function asfApplicationProcessFinalizers() {\r\n var finalizer = null;\r\n\r\n while (this.Finalizers.length) {\r\n finalizer = this.Finalizers.shift();\r\n\r\n if (typeof finalizer === \"function\") {\r\n finalizer();\r\n }\r\n }\r\n }\r\n\r\n\r\n function asfApplicationAddFinalizer(finalizer) {\r\n if (typeof finalizer === \"function\") {\r\n this.Finalizers.push(finalizer);\r\n }\r\n }\r\n\r\n\r\n function asfApplicationFilterBy(element) {\r\n var application = this;\r\n\r\n application.Promises.onFormActivated().done(function () {\r\n var url = null;\r\n\r\n if (application.Wizard && application.Wizard.DataForm) {\r\n url = application.Wizard.DataForm.getFilterByURL(application, element);\r\n } else if (application.Form) {\r\n url = application.Form.getFilterByURL(application, element);\r\n }\r\n\r\n if (url) {\r\n application.load(url);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n function asfApplicationGetFunction(name, functions) {\r\n\r\n var application = this;\r\n if (!name) return null;\r\n\r\n if (typeof functions === \"object\") {\r\n if (typeof functions[name] === \"function\") {\r\n return functions[name];\r\n }\r\n asfLogWithTrace(1, `Funktion ${name} nicht vorhanden.`, functions);\r\n }\r\n\r\n if (application.MyWindow && typeof application.MyWindow[name] === \"function\") {\r\n return application.MyWindow[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n function asfApplicationOpenFilterEditor(element, finishCallback) {\r\n\r\n var application = this;\r\n var cancel = false;\r\n var filterContainer = null;\r\n var width = element.offsetWidth;\r\n var dimensions = { width: width };\r\n var popupEditor = null;\r\n // , content = \"
{0}
\";\r\n // , content = \"
{0}
\";\r\n var content = \"
{0}
\";\r\n\r\n finishCallback = finishCallback || FilterBy;\r\n\r\n function activate(popup) {\r\n\r\n\r\n $(popup).find(\"input\").each(function () {\r\n var item = this;\r\n\r\n item.onfocus = null;\r\n\r\n //item.oninput = function () {\r\n // if (application.AutoCompleteTimeout) {\r\n // clearTimeout(application.AutoCompleteTimeout);\r\n // application.AutoCompleteTimeOut = null\r\n // }\r\n\r\n // application.AutoCompleteTimeout = setTimeout(function () {\r\n // popupEditor.finish();\r\n // }, 1000);\r\n //}\r\n\r\n item.onkeydown = function (event) {\r\n switch (event.which) {\r\n case 13:\r\n // Enter\r\n case 9:\r\n // Tab\r\n popupEditor.closePopup();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n break;\r\n case 27:\r\n // Escape\r\n cancel = true;\r\n popupEditor.closePopup();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n });\r\n\r\n $(popup).find(\"input[name='\" + element.name + \"']\").each(function () {\r\n var item = this;\r\n\r\n item.focus();\r\n item.select();\r\n\r\n });\r\n\r\n }\r\n\r\n function filterFinish() {\r\n if (!cancel) {\r\n popupEditor.setValues();\r\n finishCallback(element);\r\n }\r\n }\r\n\r\n $(element).closest(\".filterCell\").each(function () {\r\n filterContainer = this;\r\n });\r\n\r\n if (filterContainer) {\r\n width = 2 * filterContainer.offsetWidth - width; // Popup so groß machen, dass das Eingabefeld so breit wie die Spalte ist.\r\n dimensions.width = width;\r\n content = content.format(filterContainer.innerHTML, width);\r\n\r\n popupEditor = new asfPopupEditor(application.Form, filterContainer, content, activate, filterFinish, dimensions);\r\n }\r\n }\r\n\r\n function asfApplicationOpenLabelEditor(element, labelEditorInfo) {\r\n\r\n var application = this;\r\n var cancel = true;\r\n var width = element.parentElement && element.parentElement.offsetWidth;\r\n var height = element.parentElement && element.parentElement.offsetHeight;\r\n var dimensions = { \"width\": width, \"height\": height };\r\n var popupEditor = null;\r\n var newLabel = null;\r\n\r\n // , content = \"
{0}
\";\r\n // , content = \"
{0}
\";\r\n var content = \"
\";\r\n\r\n function activate(popup) {\r\n\r\n\r\n $(popup).find(\"input\").each(function () {\r\n var item = this;\r\n\r\n item.onfocus = null;\r\n\r\n //item.oninput = function () {\r\n // if (application.AutoCompleteTimeout) {\r\n // clearTimeout(application.AutoCompleteTimeout);\r\n // application.AutoCompleteTimeOut = null\r\n // }\r\n\r\n // application.AutoCompleteTimeout = setTimeout(function () {\r\n // popupEditor.finish();\r\n // }, 1000);\r\n //}\r\n\r\n item.onkeydown = function (event) {\r\n switch (event.which) {\r\n case 13:\r\n // Enter\r\n cancel = false;\r\n newLabel = $(event.target).val();\r\n popupEditor.closePopup();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n break;\r\n case 9:\r\n // Tab\r\n case 27:\r\n // Escape\r\n popupEditor.closePopup();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n });\r\n\r\n $(popup).find(\"input[name='LabelEditor']\").each(function () {\r\n var item = this;\r\n\r\n item.focus();\r\n item.select();\r\n\r\n });\r\n\r\n }\r\n\r\n function editLabelFinish() {\r\n if (!cancel) {\r\n labelEditorInfo = $.extend({}, labelEditorInfo, { \"newText\": newLabel });\r\n application.ajax({\r\n \"url\": \"api/LabelEditor\",\r\n \"method\": \"POST\",\r\n \"contentType\": \"application/json\",\r\n \"data\": JSON.stringify(labelEditorInfo),\r\n \"headers\": {\r\n \"Authorization\": \"Bearer \" + application.SessionId\r\n }\r\n })\r\n }\r\n }\r\n\r\n if (element) {\r\n dimensions.width = width;\r\n content = content.format(element.innerText.escapeHtml(), width, height);\r\n\r\n popupEditor = new asfPopupEditor(application.Form, element, content, activate, editLabelFinish);\r\n }\r\n }\r\n\r\n function asfApplicationSetMaintenanceMode(maintenanceMode) {\r\n\r\n }\r\n\r\n function asfApplicationSetServerDownText(text) {\r\n this.ServerDownText = text;\r\n }\r\n\r\n\r\n function asfApplicationAjax(options) {\r\n var application = this;\r\n var success = options.success;\r\n var error = options.error;\r\n var result = null;\r\n var requestId = \"\";\r\n\r\n if (application.Mock) {\r\n result = application.Mock.ajax(options);\r\n } else {\r\n if (application.TestTool) {\r\n\r\n requestId = application.TestTool.logRequest(options);\r\n\r\n options.success = function () {\r\n application.TestTool.logResponse(requestId, result);\r\n (typeof success === \"function\") && success();\r\n }\r\n options.error = function () {\r\n application.TestTool.logResponse(requestId, result);\r\n (typeof error === \"function\") && error();\r\n }\r\n\r\n } else if (asfLogLevel >= 20) {\r\n options.success = function () {\r\n asfTrace(options.url, options.data, result);\r\n (typeof success === \"function\") && success();\r\n }\r\n }\r\n\r\n result = $.ajax(options);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function asfApplicationAjaxWithAuthorization(options) {\r\n var application = this;\r\n if (application.SessionId) {\r\n let authHeader = {\r\n \"Authorization\": \"Bearer \" + application.SessionId\r\n }\r\n if (options.headers) {\r\n options.headers.Authorization = authHeader.Authorization;\r\n } else {\r\n options.headers = authHeader;\r\n }\r\n }\r\n return application.ajax(options);\r\n }\r\n\r\n function asfApplicationShowLogin() {\r\n\r\n var q = this.MyWindow.jQuery;\r\n\r\n this.DisplayMode = \"login\";\r\n\r\n q(\"#root\").removeClass(\"logout\").removeClass(\"main\").addClass(\"login\");\r\n //q(\".login-visible\").show();\r\n //q(\".main-visible\").hide();\r\n //q(\".logout-visible\").hide();\r\n //q(\"#data\").css(\"top\", \"0px\");\r\n }\r\n\r\n function asfApplicationShowLogout() {\r\n var application = this;\r\n var q = this.MyWindow.jQuery;\r\n\r\n if (this.DisplayMode !== \"logout\") {\r\n this.DisplayMode = \"logout\";\r\n\r\n q(\"#root\").removeClass(\"login\").removeClass(\"main\").addClass(\"logout\");\r\n\r\n //q(\".main-visible\").hide();\r\n //q(\".login-visible\").hide();\r\n //q(\".logout-visible\").show();\r\n //q(\"#data\").css(\"top\", \"0px\");\r\n }\r\n }\r\n\r\n function asfApplicationShowMain() {\r\n var application = this;\r\n var q = this.MyWindow.jQuery;\r\n\r\n if (this.DisplayMode !== \"main\") {\r\n this.DisplayMode = \"main\";\r\n\r\n q(\"#root\").removeClass(\"login\").removeClass(\"logout\").addClass(\"main\");\r\n\r\n //q(\".login-visible\").hide();\r\n //q(\".logout-visible\").hide();\r\n //q(\"#data\").removeAttr(\"style\");\r\n //q(\".main-visible\").show();\r\n\r\n }\r\n }\r\n\r\n function asfApplicationUnmonitorDataFrame() {\r\n var application = this;\r\n\r\n if (application.DataMonitorInterval) {\r\n clearInterval(application.DataMonitorInterval);\r\n application.DataMonitorInterval = null;\r\n }\r\n }\r\n\r\n function asfApplicationShowNavigation(evt) {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n if (q(\"#navigation\").is(\".navigation-open\")) {\r\n application.hideNavigation();\r\n } else {\r\n q(\"#navigation\").addClass(\"navigation-open\");\r\n q(application.MyWindow).resize();\r\n q(\"body\").on(\"click\", handleBodyClick);\r\n }\r\n\r\n if (evt && evt.stopPropagation) {\r\n evt.stopPropagation();\r\n evt.preventDefault();\r\n }\r\n }\r\n\r\n function asfApplicationHideNavigation() {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n q(\"#navigation\").removeClass(\"navigation-open\");\r\n\r\n q(\"body\").off(\"click\", handleBodyClick);\r\n }\r\n\r\n function handleBodyClick(evt) {\r\n var application = GetApplication(true);\r\n var q = application.MyWindow.jQuery;\r\n\r\n if (!q(evt.target).closest(\"#navigation\").length) {\r\n application.hideNavigation();\r\n }\r\n }\r\n\r\n function asfApplicationValidateUploadFile(element, maxSize, fileTypes) {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n var file = element && element.files && element.files[0];\r\n var errorMessage = \"\";\r\n var recognizedFileType = false;\r\n var i = 0;\r\n var myRefSet = application.RefSetCache;\r\n var item;\r\n\r\n if (file) {\r\n if (file.size > maxSize) {\r\n var errFileSizeTooBig = myRefSet.encodeValue(\"A!asfApplicationValidateUploadFile\", \"FileSizeTooBig\");\r\n errorMessage = errFileSizeTooBig.format(String(maxSize)); //\"Die Datei ist zu groß. Es sind nur Dateien von bis zu \" + String(maxSize) + \" Bytes erlaubt.\";\r\n } else if (fileTypes && Array.isArray(fileTypes)) {\r\n for (i = 0; i < fileTypes.length; i++) {\r\n item = fileTypes[i];\r\n if (file.name.toLowerCase().endsWith(item.toLowerCase())) {\r\n recognizedFileType = true;\r\n }\r\n };\r\n\r\n if (!recognizedFileType) {\r\n var errInvalidFileType = myRefSet.encodeValue(\"A!asfApplicationValidateUploadFile\", \"InvalidFileType\");\r\n errorMessage = errInvalidFileType; // \"Die Datei hat keinen der unterstützten Dateitypen.\"\r\n }\r\n }\r\n }\r\n\r\n q(element).closest(\"form\").find(\".error-\" + element.name).html(errorMessage);\r\n if (errorMessage) {\r\n q(element).closest(\"form\").find(\"button[type='submit']\").prop(\"disabled\", true);\r\n } else {\r\n q(element).closest(\"form\").find(\"button[type='submit']\").prop(\"disabled\", false);\r\n }\r\n\r\n }\r\n\r\n function asfApplicationInitTestGUI() {\r\n var q = this.MyWindow.jQuery;\r\n if (this.TestTool) {\r\n q(\"#recordTest\").parent().removeClass(\"hidden\");\r\n this.startToRecordTest = asfApplicationStartToRecordTest;\r\n this.stopTestRecording = asfApplicationStopTestRecording;\r\n this.updateTestDownload = asfApplicationUpdateTestDownload;\r\n }\r\n }\r\n\r\n function asfApplicationStopTestRecording() {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n function cancelPopup() {\r\n q(\"#amcPopUpAccept\").removeClass(\"hidden\");\r\n q(\"#amcPopUpDismiss\").removeClass(\"hidden\");\r\n q(\"#amcModal\").off(\"hidden.bs.modal\", cancelPopup);\r\n }\r\n\r\n if (application.TestTool && application.TestTool.isRecording()) {\r\n application.TestTool.stopRecording();\r\n q(\"#recordTest\").parent().removeClass(\"hidden\");\r\n q(\"#stopRecording\").parent().addClass(\"hidden\");\r\n application.updateTestDownload();\r\n\r\n var title = \"Aufnahme abgeschlossen\"; // application.Formatter.formatValue(\"A!asfTemplates\", \"Start.RecordTest\");\r\n var msg = \"Testfall '{0}' herunterladen\".format(application.TestTool.title()); // application.Formatter.formatValue(\"A!asfTemplates\", \"Start.TestCaseTitle\");\r\n var body = getTestDownloadLink(msg, application.TestTool.recordedFile(), application.TestTool.fileName());\r\n\r\n q(\"#amcModalLabel\").html(title);\r\n\r\n q(\"#amcPopUpAccept\").addClass(\"hidden\");\r\n q(\"#amcPopUpDismiss\").addClass(\"hidden\");\r\n q(\"#amcPopUpClose\").addClass(\"deactivated\");\r\n\r\n q(\"#amcModelBody\").html(\"Testdatenbank wird zurückgesetzt...\");\r\n\r\n application.TestTool.resetDatabase(q).done(function () {\r\n q(\"#amcModelBody\").html(body);\r\n q(\"#amcPopUpClose\").removeClass(\"deactivated\");\r\n application.navigate('Startup');\r\n }).fail(function (reason) {\r\n q(\"#amcModelBody\").html(body + \"
Das Zurücksetzen der Datenbank ist fehlgeschlagen: \" + reason);\r\n q(\"#amcPopUpClose\").removeClass(\"deactivated\");\r\n application.navigate('Startup');\r\n })\r\n\r\n var myModel = $(\"#amcModal\").modal({\r\n keyboard: true,\r\n backdrop: \"static\"\r\n }).on(\"hidden.bs.modal\", cancelPopup);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n function asfApplicationUpdateTestDownload() {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n var label = \"Testfall '{0}' herunterladen\"; //application.Formatter.formatValue(\"A!asfTemplates\", \"Start.DownloadTest\")\r\n if (application.TestTool && application.TestTool.recordedFile()) {\r\n label = label.format(application.TestTool.title());\r\n q(\"#downloadTestLabel\")\r\n .text(label);\r\n q(\"#downloadTestLink\")\r\n .attr(\"href\", application.TestTool.recordedFile())\r\n .attr(\"download\", application.TestTool.fileName())\r\n .parent()\r\n .removeClass(\"hidden\");\r\n } else {\r\n q(\"#downloadTest\")\r\n .attr(\"href\", \"#\")\r\n .removeAttr(\"download\")\r\n .parent()\r\n .addClass(\"hidden\");\r\n }\r\n }\r\n\r\n function asfApplicationStartToRecordTest() {\r\n var application = this;\r\n var q = application.MyWindow.jQuery;\r\n\r\n function startRecording() {\r\n var title = q(\"#TestTitle\").val();\r\n\r\n application.TestTool.startRecording(title, application.SessionId, application.Formatter.formatValue(\"dd.mm.yyyy\", new Date()));\r\n\r\n q(\"#recordTest\").parent().addClass(\"hidden\");\r\n q(\"#stopRecording\").parent().removeClass(\"hidden\");\r\n application.updateTestDownload();\r\n }\r\n\r\n function cleanupPopup() {\r\n q(\"#amcPopUpAccept\").off(\"click\", startRecording);\r\n q(\"#amcModal\").off(\"hidden.bs.modal\", cleanupPopup);\r\n }\r\n\r\n if (application.TestTool && !application.TestTool.isRecording()) {\r\n\r\n var title = \"Testfall aufnehmen\"; // application.Formatter.formatValue(\"A!asfTemplates\", \"Start.RecordTest\");\r\n var msg = \"Bezeichnung:\"; // application.Formatter.formatValue(\"A!asfTemplates\", \"Start.TestCaseTitle\");\r\n var body = getTestTitleInput(msg);\r\n\r\n q(\"#amcModalLabel\").html(title);\r\n q(\"#amcModelBody\").html(\"Testdatenbank wird zurückgesetzt...\");\r\n\r\n application.TestTool.resetDatabase(q).done(function () {\r\n q(\"#amcModelBody\").html(body);\r\n q(\"#amcPopUpClose\").removeClass(\"deactivated\");\r\n q(\"#amcPopUpAccept\").on(\"click\", startRecording);\r\n }).fail(function (jXHR) {\r\n var reason = (typeof jXHR === \"string\" ? jXHR : jXHR.responseText);\r\n q(\"#amcModelBody\").html(\"Das Zurücksetzen der Datenbank ist fehlgeschlagen: \" + reason + \"
Evtl. kann man es in einigen Sekunden nochmals versuchen.\");\r\n q(\"#amcPopUpClose\").removeClass(\"deactivated\");\r\n })\r\n\r\n var myModel = $(\"#amcModal\").modal({\r\n keyboard: true,\r\n backdrop: \"static\"\r\n }).on(\"hidden.bs.modal\", cleanupPopup);\r\n ;\r\n\r\n }\r\n\r\n }\r\n\r\n this.reportNavigation = asfApplicationReportNavigation;\r\n this.navigate = asfApplicationNavigate;\r\n this.reset = asfApplicationReset;\r\n this.appendSessionId = asfApplicationAppendSessionId;\r\n this.load = asfApplicationLoad;\r\n this.message = asfApplicationMessage;\r\n this.showStaticContent = asfApplicationShowStaticContent;\r\n this.showGeneratedContent = asfApplicationShowGeneratedContent;\r\n this.post = asfApplicationPost;\r\n this.setNavStatus = asfApplicationSetNavStatus;\r\n this.generateForm = asfApplicationGenerateForm;\r\n this.gotoPage = asfApplicationGotoPage;\r\n this.gotoNextPage = asfApplicationGotoNextPage;\r\n this.gotoPreviousPage = asfApplicationGotoPreviousPage;\r\n this.gotoFirstPage = asfApplicationGotoFirstPage;\r\n this.sortBy = asfApplicationSortBy;\r\n this.navigateToDetail = asfApplicationNavigateToDetail;\r\n this.clearSessionTimeOut = asfApplicationClearSessionTimeOut;\r\n this.setSessionTimeOut = asfApplicationSetSessionTimeOut;\r\n this.focusControl = asfApplicationFocusControl;\r\n this.updateTitle = asfApplicationUpdateTitle;\r\n this.updateNavigation = asfApplicationUpdateNavigation;\r\n this.openWizard = asfApplicationOpenWizard;\r\n this.initWizardQuery = asfApplicationInitWizardQuery;\r\n this.showWizardData = asfApplicationShowWizardData;\r\n this.finishWizard = asfApplicationFinishWizard;\r\n this.closeWizard = asfApplicationCloseWizard;\r\n this.activateStaticContent = asfApplicationActivateStaticContent;\r\n this.monitorDataFrame = asfApplicationMonitorDataFrame;\r\n this.processData = asfApplicationProcessData;\r\n this.waitForContent = asfApplicationWaitForContent;\r\n this.restorePostData = asfApplicationRestorePostData;\r\n this.showLoadStatus = asfApplicationShowLoadStatus;\r\n this.hideLoadStatus = asfApplicationHideLoadStatus;\r\n this.saveSessionId = asfApplicationSaveSessionId;\r\n this.clearSessionId = asfApplicationClearSessionId;\r\n this.restoreSessionId = asfApplicationRestoreSessionId;\r\n this.analyseHash = asfApplicationAnalyseHash;\r\n this.receiveMessage = asfApplicationReceiveMessage;\r\n this.getContextLinks = asfApplicationGetContextLinks;\r\n this.submitWith = asfApplicationSubmitWith;\r\n this.getFormData = asfApplicationGetFormData;\r\n this.check = asfApplicationCheck;\r\n this.navigateToInitialTarget = asfApplicationNavigateToInitialTarget;\r\n this.processFinalizers = asfApplicationProcessFinalizers;\r\n this.addFinalizer = asfApplicationAddFinalizer;\r\n this.filterBy = asfApplicationFilterBy;\r\n this.getFunction = asfApplicationGetFunction;\r\n this.openFilterEditor = asfApplicationOpenFilterEditor;\r\n this.setMaintenanceMode = asfApplicationSetMaintenanceMode;\r\n this.setServerDownText = asfApplicationSetServerDownText;\r\n this.ajax = asfApplicationAjax;\r\n this.ajaxWithAuthorization = asfApplicationAjaxWithAuthorization;\r\n this.showLogin = asfApplicationShowLogin;\r\n this.showLogout = asfApplicationShowLogout;\r\n this.showMain = asfApplicationShowMain;\r\n this.unmonitorDataFrame = asfApplicationUnmonitorDataFrame;\r\n this.deactivateContent = asfApplicationDeactivateContent;\r\n this.appendRangeList = asfApplicationAppendRangeList;\r\n this.showNavigation = asfApplicationShowNavigation;\r\n this.hideNavigation = asfApplicationHideNavigation;\r\n this.validateUploadFile = asfApplicationValidateUploadFile;\r\n this.updateStatus = asfApplicationUpdateStatus;\r\n this.resetLanguage = asfApplicationResetLanguage;\r\n this.decodeStartPage = asfApplicationDecodeStartPage;\r\n this.reload = function reload() {\r\n if (this.NavStatus == \"message\") return;\r\n this.navigate(this.NavStatus, this.ObjectId)\r\n }\r\n this.setPageTimeout = asfApplicationSetPageTimeout\r\n this.clearPageTimeouts = asfApplicationClearPageTimouts\r\n this.initTestGUI = asfApplicationInitTestGUI;\r\n this.openLabelEditor = asfApplicationOpenLabelEditor;\r\n this.showExternalContent = asfApplicationShowExternalContent;\r\n this.redirect = asfApplicationRedirect;\r\n this.showComponent = asfApplicationShowComponent;\r\n this.showReactContent = asfApplicationShowReactContent;\r\n this.hideGeneratedContent = asfApplicationHideGeneratedContent;\r\n this.hideStaticContent = asfApplicationHideStaticContent;\r\n this.hideReactContent = asfApplicationHideReactContent;\r\n\r\n if (myWindow && myWindow.jQuery) {\r\n myWindow.jQuery(\"#navigationToggle\").on(\"click\", function (evt) {\r\n var application = GetApplication(true);\r\n\r\n application.showNavigation(evt);\r\n });\r\n }\r\n\r\n if (!asfApplication.prototype.DefaultRefSets) {\r\n asfApplication.prototype.ErrorRefSet = \"N![asfDecoding.CrsDecErrorCode]\";\r\n asfApplication.prototype.ButtonRefSet = \"A!amcActionBars\";\r\n asfApplication.prototype.MessageRefSet = \"A!ClientMessages\";\r\n asfApplication.prototype.amcPortfolioHeader = \"A!amcPortfolioHeader\";\r\n asfApplication.prototype.amcPortfolioFooter = \"A!amcPortfolioFooter\";\r\n asfApplication.prototype.amcWidgetPortfInfo = \"A!amcWidgetPortfInfo\";\r\n asfApplication.prototype.amcWidgetSelectTimescale = \"A!amcWidgetSelectTimescale\";\r\n asfApplication.prototype.ASCAssetStructureChart1 = \"A!ASC-AssetStructureChart1\";\r\n asfApplication.prototype.ASCAssetStructureChart2 = \"A!ASC-AssetStructureChart2\";\r\n\r\n asfApplication.prototype.DbpAssetAllocation = \"A!DBP-AssetAllocation\";\r\n asfApplication.prototype.DbpAssetOverviewBySector = \"A!DBP-AssetOverviewBySector\";\r\n asfApplication.prototype.DbpAssetOverviewByCcy = \"A!DBP-AssetOverviewByCcy\";\r\n asfApplication.prototype.DbpNetValueVsTime = \"A!DBP-NetValueVsTime\";\r\n asfApplication.prototype.DbpPortfVsBenchm = \"A!DBP-PortfVsBenchm\";\r\n asfApplication.prototype.DbpCompStructureSector = \"A!DBP-CompStructureSector\";\r\n asfApplication.prototype.DbpCompStructureSectorAbsolute = \"A!DBP-CompStructureSectorAbsolute\";\r\n asfApplication.prototype.DbpCompStructureCcy = \"A!DBP-CompStructureCcy\";\r\n asfApplication.prototype.DbpCompStructureCcyAbsolute = \"A!DBP-CompStructureCcyAbsolute\";\r\n asfApplication.prototype.DbpConsPerfSeries = \"A!DBP-ConsPerfSeries\";\r\n asfApplication.prototype.DbpAssetPriceLst = \"A!DBP-AssetPriceLst\";\r\n\r\n asfApplication.prototype.asfApplicationShowLoadStatus = \"A!asfApplicationShowLoadStatus\";\r\n asfApplication.prototype.asfApplicationValidateUploadFile = \"A!asfApplicationValidateUploadFile\";\r\n\r\n asfApplication.prototype.asfApplicationDoSessionTimeout = \"A!asfApplicationDoSessionTimeout\";\r\n\r\n asfApplication.prototype.asfGlobalSearchAssets = \"A!asfGlobalSearch-assets\";\r\n asfApplication.prototype.asfGlobalSearchPortfolios = \"A!asfGlobalSearch-portfolios\";\r\n asfApplication.prototype.asfGlobalSearchCshAccts = \"A!asfGlobalSearch-cshAccts\";\r\n asfApplication.prototype.asfGlobalSearchSecAccts = \"A!asfGlobalSearch-secAccts\";\r\n asfApplication.prototype.asfGlobalSearchClients = \"A!asfGlobalSearch-clients\";\r\n asfApplication.prototype.asfGlobalSearchRepfolders = \"A!asfGlobalSearch-repfolders\";\r\n asfApplication.prototype.asfGlobalSearchRepjobs = \"A!asfGlobalSearch-repjobs\";\r\n asfApplication.prototype.asfGlobalSearchDocs = \"A!asfGlobalSearch-docs\";\r\n\r\n asfApplication.prototype.asfTemplates = \"A!asfTemplates\";\r\n\r\n asfApplication.prototype.JobTypeCode = \"A!JobTypeCode\";\r\n asfApplication.prototype.amcAssetPriceLstFooter = \"A!amcAssetPriceLstFooter\";\r\n\r\n asfApplication.prototype.DefaultRefSets = [\r\n asfApplication.prototype.ErrorRefSet,\r\n asfApplication.prototype.ButtonRefSet,\r\n asfApplication.prototype.MessageRefSet,\r\n asfApplication.prototype.amcPortfolioHeader,\r\n asfApplication.prototype.amcPortfolioFooter,\r\n asfApplication.prototype.amcWidgetPortfInfo,\r\n asfApplication.prototype.amcWidgetSelectTimescale,\r\n asfApplication.prototype.ASCAssetStructureChart1,\r\n asfApplication.prototype.ASCAssetStructureChart2,\r\n asfApplication.prototype.DbpAssetAllocation,\r\n asfApplication.prototype.DbpAssetOverviewBySector,\r\n asfApplication.prototype.DbpAssetOverviewByCcy,\r\n asfApplication.prototype.DbpNetValueVsTime,\r\n asfApplication.prototype.DbpPortfVsBenchm,\r\n asfApplication.prototype.DbpCompStructureSector,\r\n asfApplication.prototype.DbpCompStructureSectorAbsolute,\r\n asfApplication.prototype.DbpCompStructureCcy,\r\n asfApplication.prototype.DbpCompStructureCcyAbsolute,\r\n asfApplication.prototype.DbpConsPerfSeries,\r\n asfApplication.prototype.DbpAssetPriceLst,\r\n asfApplication.prototype.amcAssetPriceLstFooter,\r\n asfApplication.prototype.asfApplicationShowLoadStatus,\r\n asfApplication.prototype.asfApplicationValidateUploadFile,\r\n asfApplication.prototype.asfApplicationDoSessionTimeout,\r\n asfApplication.prototype.asfGlobalSearchAssets,\r\n asfApplication.prototype.asfGlobalSearchPortfolios,\r\n asfApplication.prototype.asfGlobalSearchCshAccts,\r\n asfApplication.prototype.asfGlobalSearchSecAccts,\r\n asfApplication.prototype.asfGlobalSearchClients,\r\n asfApplication.prototype.asfGlobalSearchRepfolders,\r\n asfApplication.prototype.asfGlobalSearchRepjobs,\r\n asfApplication.prototype.asfGlobalSearchDocs,\r\n asfApplication.prototype.asfTemplates,\r\n asfApplication.prototype.JobTypeCode,\r\n \"N!JobObjStatusCodePrg\"\r\n ]\r\n }\r\n}\r\n\r\n\r\n// Globale Funktionen\r\n\r\nfunction asfApplicationDoSessionTimeout() {\r\n var application = GetApplication()\r\n var myRefSet = application.RefSetCache;\r\n\r\n var myEvtMsgSessionTimeout = myRefSet.encodeValue(\"A!asfApplicationDoSessionTimeout\", \"EvtMsgSessionTimeout\");\r\n var myEvtMsgSessionTimeoutTitle = myRefSet.encodeValue(\"A!asfApplicationDoSessionTimeout\", \"EvtMsgSessionTimeoutTitle\");\r\n\r\n var data = {\r\n EventMessage: myEvtMsgSessionTimeout || \"Ihre Sitzung ist abgelaufen. Bitte melden Sie sich neu an.\",\r\n Title: myEvtMsgSessionTimeoutTitle || \"Hinweis\"\r\n };\r\n\r\n application.SessionTimeOut = null;\r\n application.reset();\r\n\r\n application.message(data);\r\n}\r\n\r\n\r\nexport function asfApplicationReceiveData(arg, myDeferred) {\r\n\r\n var application = GetApplication();\r\n var mimeType = \"\";\r\n var data = null;\r\n var isRedirected = false;\r\n\r\n application.hideLoadStatus();\r\n\r\n if (application) {\r\n if (!application.Promises.isLoadCancelled(myDeferred)) {\r\n mimeType = arg.getResponseHeader(\"Content-Type\");\r\n if (mimeType.startsWith(\"application/json\")) {\r\n\r\n data = JSON.parse(arg.responseText);\r\n application.RefSetCache.initDefaultRefSets().then(function () {\r\n isRedirected = application.processData(data, myDeferred);\r\n application.Promises.resolveLoad(myDeferred, isRedirected);\r\n })\r\n } else {\r\n application.clearPageTimeouts();\r\n application.processFinalizers();\r\n application.RefSetCache.initDefaultRefSets().then(function () {\r\n application.showStaticContent(arg.responseText);\r\n application.Promises.resolveLoad(myDeferred, false);\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction asfApplicationLoadError(myDeferred) {\r\n\r\n var application = GetApplication()\r\n , data;\r\n\r\n if (application) {\r\n if (!application.Promises.isLoadCancelled(myDeferred)) {\r\n data = {\r\n \"EventMessage\": application.ServerDownText || \"Leider ist der Server momentan nicht zu erreichen. Bitte versuchen Sie es später noch einmal. Sollte der Fehler fortbestehen, wenden Sie sich bitte an Ihren Support.\",\r\n \"Title\": \"Fehler\",\r\n \"SessionId\": application.SessionId\r\n };\r\n application.processData(data);\r\n application.Promises.resolveLoad(myDeferred, false);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport function asfApplicationSubmit(event) {\r\n var allowDefaultAction = false\r\n , element = this\r\n , application = GetApplication();\r\n\r\n allowDefaultAction = application.submitWith(element);\r\n\r\n if (!allowDefaultAction && event && event.stopPropagation) {\r\n event.stopPropagation();\r\n }\r\n\r\n if (!allowDefaultAction && event && typeof event.preventDefault === \"function\") {\r\n event.preventDefault();\r\n }\r\n\r\n if (event.target && event.target.name && event.target.name == \"Login\") {\r\n event.target.onsubmit = asfApplicationBlockSubmit;\r\n }\r\n\r\n return allowDefaultAction;\r\n}\r\n\r\nfunction asfApplicationBlockSubmit(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n return false;\r\n}\r\n\r\nexport function asfApplicationSaveSubmit() {\r\n var application = GetApplication(false);\r\n\r\n asfLog(\"asfApplicationSaveSubmit \" + this.name);\r\n application.SubmitName = this.name;\r\n}\r\n\r\n","import { GetApplication } from \"./asfScripts.js\";\r\n\r\n//Globale Chart-Optionen\r\n\r\nChart.defaults.global.defaultFontFamily = \"\\\"DIN W01\\\",Tahoma,Verdana,Segoe,sans-serif\";\r\nChart.defaults.global.defaultFontColor = \"#5A777B\";\r\nChart.defaults.global.defaultFontSize = 12;\r\nChart.defaults.polarArea.scale.pointLabels = {\r\n callback: function (data) {\r\n return \"\";\r\n }\r\n};\r\nChart.defaults.polarArea.scale.overlay = true;\r\n\r\n\r\n//-------------------------------------------------------------------------------\r\n//-- Date: 2016-02-18\r\n//-- Responsible: (ab)\r\n//-- Description: Klasse zum erzeugen von Diagrammen mit chart.js\r\n// Das Objekt chartTypes muss bei jedem neuen Chart erweitert werden.\r\n//-------------------------------------------------------------------------------\r\nexport function asfCharting(myWindow) {\r\n\r\n this.options = {\r\n chartInstances: [],\r\n };\r\n\r\n this.chartTypes = {\r\n Doughnut: \"doughnut\",\r\n Pie: \"pie\",\r\n Line:\"line\"\r\n };\r\n\r\n this.DestroyCharts = asfChartingDestroyCharts;\r\n this.CreateFinalizer = asfChartingCreateFinalizer;\r\n this.formData = null;\r\n this.SetToolTipTemplate = asfChartingSetToolTipTemplate;\r\n\r\n\r\n var chartTemplate = null;\r\n\r\n function asfChartingSetToolTipTemplate(toolTipData) {\r\n \r\n return function (data) {\r\n var tmpl;\r\n switch (chartTemplate.chartType) {\r\n case chartTemplate.chartTypes[\"Doughnut\"]:\r\n if (data) {\r\n tmpl = \"\";\r\n tmpl += data.label + \" \";\r\n tmpl += toolTipData[data.label];\r\n }\r\n break;\r\n case this.chartTypes[\"Line\"]:\r\n\r\n break;\r\n };\r\n return tmpl;\r\n };\r\n }\r\n\r\n\r\n asfCharting.displayChart = function displayChart(chartTemplate,params) {\r\n\r\n var application = GetApplication();\r\n var ctx;\r\n var chart;\r\n var legend;\r\n\r\n //asfLog(params.target + \" | \" + params.targetLegend);\r\n\r\n application.Promises.onFormActivated().done(function() {\r\n switch (chartTemplate.type) {\r\n case asfCharting.chartTypes.Doughnut:\r\n \r\n //chart:\r\n ctx = $(\".\" + params.target)[0].getContext(\"2d\");\r\n chart = new Chart(ctx, {\r\n type: chartTemplate.type,\r\n data: chartTemplate.data,\r\n options: chartTemplate.options\r\n\r\n });\r\n application.addFinalizer(asfChartingCreateFinalizer(chart));\r\n //legend:\r\n legend = chart.generateLegend();\r\n $(\".\" + params.targetLegend).html(legend);\r\n\r\n var legendElement = $(\".\" + params.targetLegend);\r\n \r\n //Die LegendenEvents dürfen natürlich nur sperat auf die entsprechende\r\n //Legende gelegt werden, falls mehrere Charts auf einer Seite sind.\r\n $(legendElement).find(\".legend-event\").on(\"click\", function (e) {\r\n\r\n var index = $(this).attr(\"data-legend-index\");\r\n var i, ilen, meta;\r\n\r\n for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n meta = chart.getDatasetMeta(i);\r\n meta.data[index].hidden = !meta.data[index].hidden;\r\n }\r\n chart.update();\r\n\r\n $(this).toggleClass(\"legendLineThrough\");\r\n\r\n });\r\n\r\n\r\n //$(\"#\" + params.targetIdLegend).html(legend);\r\n //instances:\r\n application.Charting.options.chartInstances.push(chart);\r\n\r\n break;\r\n case asfCharting.chartTypes.Line:\r\n\r\n //chart:\r\n ctx = $(\".\" + params.target)[0].getContext(\"2d\");\r\n chart = new Chart(ctx, {\r\n type: chartTemplate.type,\r\n data: chartTemplate.data,\r\n options: chartTemplate.options\r\n });\r\n application.addFinalizer(asfChartingCreateFinalizer(chart));\r\n\r\n //legend = chart.generateLegend();\r\n //$(\"#\" + params.targetIdLegend).html(legend);\r\n\r\n break;\r\n };\r\n });\r\n\r\n application.hideLoadStatus(true);\r\n return chart;\r\n }\r\n\r\n function asfChartingDestroyCharts() {\r\n\r\n var instances = this.options.chartInstances;\r\n\r\n if (instances) {\r\n if (instances.length > 0) {\r\n for (var i = 0; i <= instances.length - 1; i += 1) {\r\n this.instances[i].destroy();\r\n }\r\n }\r\n instances = [];\r\n this.options.chartInstances = [];\r\n }\r\n }\r\n\r\n function asfChartingCreateFinalizer(chart) {\r\n return function () {\r\n chart.destroy();\r\n }\r\n }\r\n\r\n}\r\n\r\nasfCharting.getFormattedValue = function (colName) {\r\n return function (formDef, application) {\r\n var formattingFunction = application.Formatter.getFormattingFunction(formDef[colName].format);\r\n\r\n return function (row, rowIndex, rows) {\r\n return formattingFunction(row[colName]);\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getLabel = function (colName) {\r\n return function (formDef) {\r\n return formDef[colName].title;\r\n }\r\n}\r\n\r\nasfCharting.getChartData = function getChartData(datasets, chartTemplate, application, definition) {\r\n var data = null;\r\n var mapping = [];\r\n var mapIndex = 0;\r\n var dataRow = null;\r\n var colDef = null;\r\n var header = null;\r\n var toolTipData = [];\r\n var rowIndex = 0;\r\n var colName = null;\r\n var row = null;\r\n var rawData = null;\r\n var dataset = null;\r\n var formDef = null;\r\n var labelDef = null;\r\n var labelFormatter = application.Formatter.getFormattingFunction(\"\");\r\n var mappingBackgroundColor = [];\r\n var mappingHoverBackgroundColor = [];\r\n var optionFilter = null;\r\n var result = {\r\n data: null,\r\n options: null\r\n };\r\n\r\n \r\n if (chartTemplate && chartTemplate.data) {\r\n if (definition.optionFilter) {\r\n optionFilter = definition.optionFilter(definition.options, application);\r\n }\r\n\r\n dataset = chartTemplate.dataset && datasets[chartTemplate.dataset];\r\n formDef = dataset && dataset.formDef;\r\n\r\n rawData = asfCharting.getRawData(chartTemplate.dataset && datasets[chartTemplate.dataset], chartTemplate.transform, optionFilter);\r\n\r\n if (rawData && rawData.length) {\r\n data = asfCharting.fillConfig(chartTemplate.data, formDef, rawData, application);\r\n\r\n let options = asfCharting.fillConfig(chartTemplate.options, formDef, rawData, application);\r\n result.data = data;\r\n result.options = options;\r\n result.type = chartTemplate.chartType;\r\n }\r\n //asfLog(\"Chart data: \" + JSON.stringify(result));\r\n\r\n }\r\n\r\n return result;\r\n\r\n}\r\n\r\nasfCharting.getRawData = function (dataset, transform, filter) {\r\n var rawData = null;\r\n\r\n if (dataset) {\r\n rawData = dataset && dataset.data;\r\n if (filter) {\r\n rawData = filter(rawData);\r\n }\r\n if (transform) {\r\n rawData = transform(rawData);\r\n }\r\n }\r\n\r\n return rawData && rawData.slice();\r\n}\r\n\r\nasfCharting.fillConfig = function fillConfig(config, formDef, rawData, application, datasetIndex) {\r\n var name = \"\";\r\n\r\n if (Array.isArray(config)) {\r\n config = config.map(function (item) {\r\n return asfCharting.fillConfig(item, formDef, rawData, application, datasetIndex);\r\n });\r\n } else if (typeof config === \"object\" && config !== null) {\r\n config = $.extend({}, config);\r\n for (name in config) {\r\n config[name] = asfCharting.fillConfig(config[name], formDef, rawData, application, datasetIndex);\r\n }\r\n } else if (typeof config === \"function\") { // L2\r\n config = config(formDef, application); // L3\r\n if (typeof config === \"function\") { \r\n config = config(rawData, datasetIndex);\r\n }\r\n }\r\n\r\n return config;\r\n}\r\n\r\nasfCharting.getDataValue = function (colName) {\r\n return function (formDef, application) {\r\n return function (rawData) {\r\n return rawData.map(function (row, rowIndex, rows) {\r\n return (typeof row[colName] === \"undefined\" ? null : row[colName]);\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nasfCharting.setScaleLabelString = function (format) {\r\n return function (formDef, application) {\r\n var formatterScaleLabelString = application.Formatter.getFormattingFunction(format);\r\n return function (rawData) {\r\n return function (value) {\r\n return formatterScaleLabelString(value);\r\n } \r\n }\r\n }\r\n}\r\n\r\nasfCharting.setMultiToolTips = function (options) {\r\n\r\n return function (formDef, application) {\r\n\r\n var myOptions = $.extend(true, {}, options);\r\n var name;\r\n var option = null;\r\n\r\n for (name in myOptions) {\r\n option = myOptions[name];\r\n option.valueFormats = [];\r\n if (!Array.isArray(option.valueColumns)) {\r\n option.valueColumns = [option.valueColumns];\r\n }\r\n option.valueColumns.forEach(function (colName, index, array) {\r\n option.valueFormats.push(application.Formatter.getFormattingFunction(formDef[colName].format));\r\n });\r\n }\r\n\r\n return function (rawData) {\r\n \r\n return function (tooltipItem, data) {\r\n\r\n var result;\r\n var myOption = myOptions[data.datasets[tooltipItem.datasetIndex].label];\r\n var row = rawData[tooltipItem.index];\r\n var values = myOption.valueColumns.map(function (colName, index, array) {\r\n return myOption.valueFormats[index](row[colName]);\r\n //result = myOption.template.format(myOption.valueFormats[index]());\r\n\r\n });\r\n \r\n return String.prototype.format.apply(myOption.template, values);\r\n }\r\n }\r\n }\r\n}\r\n\r\nasfCharting.setToolTips = function (options) {\r\n\r\n return function (formDef, application) {\r\n\r\n var myOptions = $.extend(true, {}, options);\r\n var name;\r\n\r\n myOptions.valueFormats = [];\r\n if (!Array.isArray(myOptions.valueColumns)) {\r\n myOptions.valueColumns = [myOptions.valueColumns];\r\n }\r\n myOptions.valueColumns.forEach(function (colName, index, array) {\r\n myOptions.valueFormats.push(application.Formatter.getFormattingFunction(formDef[colName].format));\r\n });\r\n \r\n return function (rawData) {\r\n\r\n return function (tooltipItems, data) {\r\n\r\n if (tooltipItems) {\r\n\r\n var result;\r\n var tooltipItem = Array.isArray(tooltipItems) && tooltipItems.length ? tooltipItems[0] : tooltipItems;\r\n var datasetIndex = tooltipItem.datasetIndex;\r\n var rowIndex = tooltipItem.index;\r\n // Matrix-Daten berücksichtigen\r\n var row = (Array.isArray(rawData) && rawData.length && Array.isArray(rawData[0])) ? rawData[datasetIndex][rowIndex] : rawData[rowIndex];\r\n var values = myOptions.valueColumns.map(function (colName, index, array) {\r\n\r\n try {\r\n return myOptions.valueFormats[index](row[colName]);\r\n } catch (e) {\r\n var opts = myOptions;\r\n var err_tooltipItems = tooltipItems;\r\n var err_tooltipItem = tooltipItem;\r\n var err_datasetIndex = datasetIndex;\r\n var err_rawData = rawData;\r\n var err_rowIndex = rowIndex;\r\n };\r\n \r\n });\r\n\r\n result = String.prototype.format.apply(myOptions.template, values);\r\n return result.split(\"\\n\");\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\nasfCharting.getFormattedDataValue = function (colName, format) {\r\n return function (formDef, application) {\r\n var fd = formDef;\r\n var formatterLabel = application.Formatter.getFormattingFunction(format || formDef[colName].format);\r\n return function (rawData) {\r\n return rawData.map(function (row, rowIndex, rows) {\r\n return formatterLabel(row[colName]);\r\n });\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getToolTipTemplate = function (labelColumn, valueColumn) {\r\n\r\n return function (formDef, application) {\r\n var fd = formDef;\r\n var formatterLabel = application.Formatter.getFormattingFunction(formDef[labelColumn].format);\r\n var formatterValue = application.Formatter.getFormattingFunction(formDef[valueColumn].format);\r\n return function (rawData) {\r\n return function (item, data) {\r\n var toolTip = formatterLabel(data.labels[item.index]) + \" \" + formatterValue(data.datasets[0].data[item.index]);\r\n return toolTip;\r\n }\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getLegendTemplate = function () {\r\n\r\n return function (formDef, application) {\r\n return function (rawData) {\r\n return function (chart) {\r\n\r\n var tmpl = \"{0}
\";\r\n var item = \"
{0}
\"\r\n var result = \"\";\r\n var bgColor = \"\";\r\n var i;\r\n\r\n if (chart && chart.config && chart.config.data.labels && chart.config.data.labels.length) {\r\n for (i = 0; i <= chart.config.data.labels.length - 1; i += 1) {\r\n bgColor = chart.config.data.datasets[0].backgroundColor[i];\r\n result += item.format(chart.config.data.labels[i], bgColor,i);\r\n }\r\n }\r\n tmpl = tmpl.format(result);\r\n return tmpl; \r\n \r\n }\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getChartOptions = function getChartOptions(datasets, chartTemplate, application) {\r\n var options = $.extend({}, chartTemplate.options);\r\n var colDef = null;\r\n var formDef = null;\r\n var dataset = null;\r\n var data = null;\r\n\r\n dataset = chartTemplate.dataset && datasets[chartTemplate.dataset];\r\n formDef = dataset && dataset.formDef;\r\n data = asfCharting.getRawData(dataset, chartTemplate.transform);\r\n\r\n switch (chartTemplate.chartType) {\r\n case asfCharting.chartTypes.Doughnut:\r\n case asfCharting.chartTypes.Pie:\r\n case asfCharting.chartTypes.PolarArea:\r\n if (typeof options.scaleLabel === \"string\" && !options.scaleLabel.startsWith(\"<%\")) {\r\n options.scaleLabel = createLineScaleTemplate(options.scaleLabel);\r\n }\r\n\r\n if (typeof options.tooltipFactory === \"function\") {\r\n options.tooltipTemplate = options.tooltipFactory(datasets, chartTemplate, application, data, formDef);\r\n } else if (typeof options.tooltipTemplate !== \"undefined\" && options.tooltipTemplate === null && formDef) {\r\n colDef = chartTemplate && chartTemplate.data;\r\n if (typeof colDef === \"object\") {\r\n options.tooltipTemplate = createDoughnutTooltipTemplate(formDef[colDef.value].format);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case asfCharting.chartTypes.Line:\r\n case asfCharting.chartTypes.Bar:\r\n if (typeof options.scaleLabel === \"string\" && !options.scaleLabel.startsWith(\"<%\")) {\r\n options.scaleLabel = createLineScaleTemplate(options.scaleLabel);\r\n }\r\n if (typeof options.multiTooltipFactory === \"function\") {\r\n options.multiTooltipTemplate = options.multiTooltipFactory(datasets, chartTemplate, application, data, formDef);\r\n }\r\n if (typeof options.tooltipFactory === \"function\") {\r\n options.tooltipTemplate = options.tooltipFactory(datasets, chartTemplate, application, data, formDef);\r\n } else if (typeof options.tooltipTemplate !== \"undefined\" && options.tooltipTemplate === null) {\r\n colDef = chartTemplate.data && chartTemplate.data.datasets && chartTemplate.data.datasets[0] && chartTemplate.data.datasets[0].data;\r\n\r\n\r\n if (formDef && colDef) {\r\n options.tooltipTemplate = createLineTooltipTemplate(formDef[colDef].format);\r\n } else {\r\n options.showTooltips = false;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n return options;\r\n\r\n function createLineTooltipTemplate(format) {\r\n var formattingFunction = application.Formatter.getFormattingFunction(format);\r\n\r\n return function (data) {\r\n var formattedValue = formattingFunction(data.value);\r\n\r\n return \"{0}: {1}\".format(data.label || \"\", formattedValue) ;\r\n }\r\n\r\n }\r\n function createDoughnutTooltipTemplate(format) {\r\n var formattingFunction = application.Formatter.getFormattingFunction(format);\r\n\r\n return function (data) {\r\n var formattedValue = formattingFunction(data.value);\r\n\r\n return \"{0} {1}\".format(data.label, formattedValue);\r\n }\r\n }\r\n\r\n function createLineScaleTemplate(format) {\r\n var formattingFunction = application.Formatter.getFormattingFunction(format);\r\n\r\n return function (scalePoint) {\r\n var value = parseFloat(scalePoint.value);\r\n\r\n return formattingFunction(value);\r\n }\r\n }\r\n}\r\n\r\nasfCharting.addColor = function addColor(column, color, opacity) {\r\n var colorToAdd = parseColor(color, opacity)\r\n\r\n return function (formDef, application) {\r\n var colDef = column;\r\n\r\n return function (rawData, datasetIndex) {\r\n var colors = null;\r\n\r\n if (typeof colDef === \"function\") {\r\n colDef = colDef(formDef, application);\r\n if (typeof colDef === \"function\") {\r\n colors = colDef(rawData, datasetIndex);\r\n } else {\r\n colors = colDef;\r\n }\r\n } else if (typeof colDef === \"string\") {\r\n colors = rawData.map(function (row, rowIndex, rows) {\r\n return row[colDef];\r\n });\r\n }\r\n\r\n if (Array.isArray(colors)) {\r\n return colors.map(function (color) {\r\n return addColors(color, colorToAdd);\r\n });\r\n } else {\r\n return addColors(colors, colorToAdd);\r\n }\r\n }\r\n }\r\n\r\n function addColors(colorValue, colorToAdd) {\r\n colorValue = colorValue || \"#FFFFFF\";\r\n\r\n colorValue = parseColor(colorValue, 1 - opacity);\r\n colorValue.red += colorToAdd.red;\r\n colorValue.blue += colorToAdd.blue;\r\n colorValue.green += colorToAdd.green;\r\n\r\n return formatColor(colorValue);\r\n }\r\n\r\n function parseColor(colorString, opacity) {\r\n\r\n var result = { red: 0, green: 0, blue: 0 };\r\n\r\n if (colorString.length == 7 && colorString.startsWith(\"#\")) {\r\n result.red = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(1,2),16)));\r\n result.green = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(3, 2), 16)));\r\n result.blue = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(5, 2), 16)));\r\n }\r\n\r\n if (colorString.length == 6) {\r\n result.red = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(0, 2), 16)));\r\n result.green = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(2, 2), 16)));\r\n result.blue = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(4, 2), 16)));\r\n }\r\n\r\n if (colorString.length == 4 && colorString.startsWith(\"#\")) {\r\n result.red = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(1, 1), 16)));\r\n result.green = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(2, 1), 16)));\r\n result.blue = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(3, 1), 16)));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function formatColor(colorObject) {\r\n return \"#\" + toHex(colorObject.red) + toHex(colorObject.green) + toHex(colorObject.blue);\r\n }\r\n\r\n function toHex(d) {\r\n d = Math.min(255, Math.max(0, Math.round(d)));\r\n return (\"0\" + (Number(d).toString(16))).slice(-2).toUpperCase();\r\n }\r\n}\r\n\r\nasfCharting.getColor = function (refSetName, colorIndex) {\r\n \r\n return function (formDef,application) {\r\n if (typeof colorIndex !== \"undefined\") {\r\n let color = application.RefSetCache.encodeValue(refSetName, colorIndex);\r\n return color;\r\n } else {\r\n return function (rawData, datasetIndex) {\r\n\r\n if (typeof datasetIndex === \"undefined\") {\r\n return rawData.map(function (row, rowIndex, rows) {\r\n var color;\r\n\r\n rowIndex = (rowIndex % 16) + 1;\r\n color = application.RefSetCache.encodeValue(refSetName, rowIndex);\r\n return color;\r\n });\r\n } else {\r\n datasetIndex = (datasetIndex % 16) + 1;\r\n return application.RefSetCache.encodeValue(refSetName, datasetIndex);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nasfCharting.convertHexToRgbColor = function (colorString, opacity) {\r\n\r\n var result = { red: 0, green: 0, blue: 0 };\r\n var color = \"rgba({0},{1},{2},1)\";\r\n\r\n if (colorString.length == 7 && colorString.startsWith(\"#\")) {\r\n result.red = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(1,2),16)));\r\n result.green = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(3, 2), 16)));\r\n result.blue = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(5, 2), 16)));\r\n }\r\n\r\n if (colorString.length == 6) {\r\n result.red = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(0, 2), 16)));\r\n result.green = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(2, 2), 16)));\r\n result.blue = Math.min(255, Math.max(0, opacity * parseInt(colorString.substr(4, 2), 16)));\r\n }\r\n\r\n if (colorString.length == 4 && colorString.startsWith(\"#\")) {\r\n result.red = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(1, 1), 16)));\r\n result.green = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(2, 1), 16)));\r\n result.blue = Math.min(255, Math.max(0, 16 * opacity * parseInt(colorString.substr(3, 1), 16)));\r\n }\r\n\r\n color = color.format(result.red, result.green, result.blue);\r\n\r\n return color;\r\n}\r\n\r\nasfCharting.color = function (colorValue) {\r\n return function (formDef) {\r\n return function (data, colName, rowIndex) {\r\n return colorValue;\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getMatrixLabels = function (labelColumn) {\r\n // Labels sind in jeder Zeile gleich, also finde erste Zeile auf der untersten Ebene.\r\n function descend(row) {\r\n if (row.length && Array.isArray(row[0])) {\r\n return descend(row[0]);\r\n } else {\r\n return row.map(function (item) {\r\n return item[labelColumn];\r\n });\r\n }\r\n }\r\n\r\n return function (formDef, application) {\r\n return function (data) {\r\n return descend(data);\r\n }\r\n }\r\n}\r\n\r\nasfCharting.getMatrixLabel = function (labelColumn) {\r\n // Label ist auf jedem Eintrag, der zu Dataset gehört, gleich, also nimm Wert von erstem Eintrag auf unterster Ebene.\r\n function descend(row) {\r\n if (Array.isArray(row) && row.length) {\r\n return descend(row[0]);\r\n } else {\r\n return row[labelColumn];\r\n }\r\n }\r\n\r\n return function (formDef, application) {\r\n return function (data) {\r\n return descend(data);\r\n }\r\n }\r\n\r\n}\r\n\r\nasfCharting.getDatasets = function (template) {\r\n\r\n return function (formDef, application) {\r\n\r\n return function (data) {\r\n var result = [];\r\n\r\n data.forEach(function (datasetData, datasetIndex) {\r\n var dataset = asfCharting.fillConfig(template, formDef, datasetData, application, datasetIndex);\r\n\r\n result.push(dataset);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n }\r\n}\r\n\r\nasfCharting.chartTypes = {\r\n Doughnut: \"doughnut\",\r\n Pie: \"pie\",\r\n Line: \"line\",\r\n Bar: \"bar\",\r\n PolarArea: \"polarArea\",\r\n Radar: \"radar\"\r\n}\r\n\r\n\r\n","import { asfLog } from \"./asfLogging.js\";\r\nimport { GetApplication } from \"./asfScripts.js\";\r\nimport { asfForm, asfFormGetElementValue, asfFormSetElementValue } from \"./asfForm.js\";\r\nimport { asfDataQuery } from \"./asfDataQuery.js\";\r\nimport { getListRowTemplate, getListCellTemplate, getList, getControl } from \"./asfTemplates.js\";\r\n\r\nexport function asfComboBox(formData, controlName, sourceQuery) {\r\n\r\n var comboBox = this;\r\n var application = GetApplication(true);\r\n var container = null;\r\n var content = \"\";\r\n var ctrl = null;\r\n var comboBoxElement = null;\r\n var isAsfForm = formData instanceof asfForm;\r\n var form = ( isAsfForm ? formData.getForm() : formData);\r\n var searchText = \"\";\r\n var searchTimeout = null;\r\n var isOpen = false;\r\n var valueControl = controlName;\r\n var textControl = controlName;\r\n var selectBoxTmpl = \"{2}\";\r\n var attributeTmpl = \" tabindex=\\\"0\\\" data-asfComboBox-value=\\\"{1}\\\" data-asfComboBox-text=\\\"{2}\\\"\";\r\n var validateOnChange = false\r\n\r\n if (!asfComboBox.prototype.iCvBackSpace) {\r\n asfComboBox.prototype.iCvBackSpace = String.fromCharCode(8);\r\n }\r\n\r\n if (isAsfForm & formData && controlName) {\r\n ctrl = formData.Controls[controlName];\r\n }\r\n\r\n\r\n function closePopup() {\r\n\r\n if (isOpen) {\r\n application.Popup.closePopup();\r\n }\r\n }\r\n\r\n function onClosePopup() {\r\n isOpen = false;\r\n\r\n if (comboBoxElement && comboBoxElement.focus) {\r\n comboBoxElement.focus();\r\n }\r\n\r\n searchText = \"\";\r\n }\r\n\r\n function findParent(target, selector) {\r\n\r\n while (target && target.parentElement && !$(target).is(selector)) {\r\n target = target.parentElement;\r\n }\r\n\r\n if (target && $(target).is(selector)) {\r\n return target;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n function markOption(selectedOption) {\r\n var value = \"\"\r\n , popup = application.Popup.getElement();\r\n\r\n if (!selectedOption) {\r\n value = asfFormGetElementValue(form, valueControl);\r\n $(popup).find(\".comboBoxEntry[data-asfComboBox-value='{0}']\".format(value)).filter(\":visible\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n if (!selectedOption) {\r\n $(popup).find(\".comboBoxOption\").filter(\":visible\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n if (selectedOption) {\r\n $(selectedOption).parent().find(\".comboBoxSelected\").removeClass(\"comboBoxSelected\");\r\n\r\n selectedOption.focus();\r\n $(selectedOption).addClass(\"comboBoxSelected\");\r\n\r\n if (!application.Popup.isInView(selectedOption)) {\r\n selectedOption.scrollIntoView();\r\n }\r\n }\r\n }\r\n\r\n function getMarkedOption() {\r\n var popup = application.Popup.getElement()\r\n , markedOption = null;\r\n\r\n $(popup).find(\".comboBoxSelected\").first().each(function () {\r\n markedOption = this;\r\n })\r\n\r\n return markedOption;\r\n }\r\n\r\n function setMessageEntry(text) {\r\n\r\n var popup = application.Popup.getElement();\r\n var entry = \"\";\r\n\r\n $(popup).find(\".comboBoxMessageEntry\").remove();\r\n if (text) {\r\n entry = getListRowTemplate(0, \"comboBoxOption comboBoxMessageEntry\", \"\").format(getListCellTemplate().format(text.escapeHtml()))\r\n\r\n $(popup).find(\".comboBoxContent\").append(entry);\r\n }\r\n }\r\n\r\n function getEmptyEntry(colSpan) {\r\n\r\n \r\n colSpan = (colSpan && \" colspan=\\\"\" + colSpan + \"\\\"\") || \"\";\r\n\r\n return getListRowTemplate(0, \"comboBoxOption comboBoxEmptyEntry comboBoxEntry\", \"tabindex=\\\"0\\\" data-asfComboBox-value=\\\"\\\" data-asfComboBox-text=\\\"\\\"\").format(getListCellTemplate(0, 0, \"\", colSpan).format(\" \"));\r\n }\r\n\r\n function getWizardEntry(colSpan) {\r\n\r\n colSpan = (colSpan && \" colspan=\\\"\" + colSpan + \"\\\"\") || \"\";\r\n\r\n return getListRowTemplate(0, \"comboBoxOption comboBoxWizardEntry\", \"tabindex=\\\"0\\\"\").format(getListCellTemplate(0, 0, \"\", colSpan).format(\"Mehr...\"));\r\n }\r\n\r\n // Suchfunktion für lange Listen\r\n function searchByFilter(filterChar) {\r\n\r\n var compareText = \"\"\r\n , selectedOption = null\r\n , popup = application.Popup.getElement()\r\n ;\r\n\r\n if (filterChar === comboBox.iCvBackSpace) {\r\n searchText = (searchText.length ? searchText.substr(0, searchText.length - 1) : \"\");\r\n } else {\r\n searchText += filterChar;\r\n }\r\n\r\n if (searchText) {\r\n\r\n compareText = searchText.toLocaleLowerCase();\r\n\r\n if (compareText === searchText) {\r\n\r\n $(popup).find(\".comboBoxEntry\").show().filter(function (index, element) {\r\n return (element.textContent.toLocaleLowerCase().indexOf(compareText) === -1);\r\n }).each(function () {\r\n $(this).hide();\r\n });\r\n } else {\r\n $(popup).find(\".comboBoxEntry\").show().filter(function (index, element) {\r\n return (element.textContent.indexOf(searchText) === -1);\r\n }).each(function () {\r\n $(this).hide();\r\n });\r\n }\r\n\r\n $(popup).find(\".comboBoxEntry\").filter(\":visible\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n\r\n if (selectedOption) {\r\n setMessageEntry(\"\");\r\n } else {\r\n setMessageEntry(\"Filter \\\"{0}\\\" ergibt keine Einträge.\".format(searchText));\r\n }\r\n\r\n } else {\r\n $(popup).find(\".comboBoxEntry\").filter(\":hidden\").show();\r\n setMessageEntry(\"\");\r\n }\r\n\r\n markOption(selectedOption);\r\n\r\n }\r\n\r\n // Suchfunktion für Select-Boxen\r\n function searchByStart(filterChar) {\r\n\r\n // Suchalgorithmus: wenn der aktuelle Eintrag mit dem Suchtext beginnt, wähle den\r\n // nächsten Eintrag aus, der mit dem Suchtext beginnt. Ansonsten wähle den ersten\r\n // Eintrag aus, der mit dem Suchtext beginnt;\r\n // Zusätzlich: wenn sich das eingetippte Zeichen vom Suchtext unterscheidet, \r\n // setze den Suchtext fort; d.h. erlaube Suchtexte mit mehreren Zeichen, \r\n // solange der Benutzer mindestens alle 0,2s\r\n // ein Zeichen weitertippt.\r\n\r\n var popup = application.Popup.getElement()\r\n , selectedOption = null\r\n , searchFunc = function (filterText) {\r\n\r\n var filterFunc = function (index, element) {\r\n var compareText = element.textContent.toLocaleLowerCase();\r\n //asfLog(\"vergleiche {0} mit {1}\".format(compareText, searchText));\r\n\r\n return (compareText.indexOf(filterText) === 0);\r\n }\r\n\r\n if (filterText) {\r\n asfLog(\"search for \" + (filterText || \"\"));\r\n\r\n // Erster Fall: Ausgewählter Eintrag beginnt mit Suchtext.\r\n $(popup).find(\".comboBoxSelected\")\r\n .filter(filterFunc)\r\n .nextAll(\".comboBoxEntry\")\r\n .filter(filterFunc)\r\n .first().each(function () {\r\n asfLog(\"gefunden Fall 1 {0}\".format(this.textContent));\r\n selectedOption = this;\r\n });\r\n\r\n // Zweiter Fall: suche ersten Eintrag, der mit Suchtext beginnt.\r\n if (!selectedOption) {\r\n $(popup).find(\".comboBoxEntry\")\r\n .filter(filterFunc)\r\n .first().each(function () {\r\n asfLog(\"gefunden Fall 2: {0}.\".format(this.textContent))\r\n selectedOption = this;\r\n });\r\n\r\n }\r\n\r\n // Default: Wenn es keinen passenden Eintrag gibt, Auswahl nicht ändern.\r\n if (!selectedOption) {\r\n $(popup).find(\".comboBoxSelected\")\r\n .first()\r\n .each(function () {\r\n asfLog(\"nichts gefunden.\")\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n markOption(selectedOption);\r\n } else {\r\n asfLog(\"no filterText\");\r\n }\r\n\r\n };\r\n\r\n\r\n if (searchTimeout) {\r\n clearTimeout(searchTimeout);\r\n }\r\n\r\n filterChar = filterChar && filterChar.toLocaleLowerCase();\r\n\r\n asfLog(\"filterChar: {0}\".format(filterChar));\r\n\r\n if (filterChar && filterChar !== searchText && filterChar !== comboBox.iCvBackSpace) {\r\n searchText += filterChar;\r\n asfLog(\"searchText: \" + (searchText || \"\"));\r\n searchTimeout = setTimeout(function () {\r\n searchTimeout = null;\r\n\r\n searchFunc(searchText);\r\n\r\n searchText = \"\";\r\n }, 300);\r\n } else {\r\n if (filterChar) {\r\n asfLog(\"filterChar: {0}\".format(filterChar));\r\n if (searchText === filterChar) {\r\n searchFunc(searchText);\r\n searchText = \"\";\r\n }\r\n searchFunc(filterChar);\r\n } else if (searchText) {\r\n asfLog(\"complete search: {0}\".format(searchText));\r\n searchFunc(searchText);\r\n searchText = \"\";\r\n }\r\n }\r\n\r\n }\r\n\r\n function searchByAutoComplete(filterChar) {\r\n\r\n //Suchalgorithmus: Wenn der Benutzer bei geöffnetem Popup tippt, schließe das Popup,\r\n //füge das eingetippte Zeichen dem AutoComplete-Feld hinzu und fokussiere das Feld. Dadurch\r\n //soll ggf. der Timer wieder laufen, der im Hintergrund die Daten für das Popup bereitstellt.\r\n\r\n var value = null\r\n , form = formData.getForm();\r\n\r\n\r\n\r\n if (filterChar) {\r\n closePopup();\r\n }\r\n\r\n //if (comboBoxElement) {\r\n // value = asfFormGetElementValue(form, comboBoxElement.name, comboBoxElement);\r\n\r\n // switch(filterChar) {\r\n // case comboBox.iCvBackSpace:\r\n // if (value) {\r\n // value = value.substr(0, value.length -1);\r\n // }\r\n // break;\r\n // default:\r\n // if (typeof value === \"string\") {\r\n // value += filterChar;\r\n // } else {\r\n // value = filterChar;\r\n // }\r\n // }\r\n\r\n // asfFormSetElementValue(form, comboBoxElement.name, value);\r\n\r\n // if (typeof comboBoxElement.setSelectionRange === \"function\") {\r\n // comboBoxElement.setSelectionRange(value.length, value.length);\r\n // }\r\n //}\r\n\r\n }\r\n\r\n function activateSearch(popup) {\r\n\r\n $(popup).on(\"keypress\", \".comboBoxOption\", null, function (evt) {\r\n\r\n var targetOption = this\r\n , charCode = evt.which || evt.charCode || evt.keyCode || 0\r\n , filterChar = (charCode ? String.fromCharCode(charCode) : \"\");\r\n\r\n comboBox.search(filterChar);\r\n });\r\n\r\n $(popup).on(\"keydown\", \".comboBoxOption\", null, function (evt) {\r\n\r\n var targetOption = this\r\n , filterText = searchText;\r\n\r\n if (evt.which === 8) {\r\n // Backspace\r\n comboBox.search(comboBox.iCvBackSpace);\r\n\r\n evt.stopPropagation();\r\n evt.preventDefault();\r\n }\r\n });\r\n }\r\n\r\n\r\n function activateSelectContent(popup) {\r\n\r\n\r\n popup.onclick = function (evt) {\r\n\r\n comboBox.selectOption(evt.target);\r\n\r\n evt.stopPropagation();\r\n\r\n closePopup();\r\n }\r\n\r\n $(popup).on(\"keydown\", \".comboBoxOption\", null, function (evt) {\r\n\r\n var stopPropagation = true\r\n\r\n switch (evt.which) {\r\n case 13:\r\n // Enter\r\n if ($(evt.target).closest(\".comboBoxWizardEntry\").length) {\r\n comboBox.selectOption(evt.target);\r\n closePopup();\r\n } else {\r\n comboBox.search(\"\");\r\n comboBox.selectOption();\r\n closePopup();\r\n\r\n if (ctrl && ctrl.NextControl) {\r\n formData.EnterElement = comboBoxElement;\r\n form = formData.getForm();\r\n setTimeout(function () { application.submitWith(form); }, 10);\r\n }\r\n }\r\n break;\r\n case 9:\r\n // Tab\r\n comboBox.search(\"\");\r\n comboBox.selectOption();\r\n asfLog(\"asfComboBox received tab\");\r\n closePopup();\r\n if (isAsfForm) {\r\n formData.focusNextControl(comboBoxElement);\r\n }\r\n break;\r\n case 38:\r\n // Up\r\n comboBox.search(\"\");\r\n selectPrevious();\r\n break;\r\n case 40:\r\n // Down\r\n comboBox.search(\"\");\r\n selectNext();\r\n break;\r\n case 27:\r\n // Esc\r\n closePopup();\r\n break;\r\n default:\r\n stopPropagation = false;\r\n }\r\n\r\n if (stopPropagation) {\r\n evt.stopPropagation();\r\n\r\n evt.preventDefault();\r\n }\r\n });\r\n\r\n activateSearch(popup);\r\n\r\n markOption();\r\n }\r\n\r\n function selectPrevious(target) {\r\n var popup = application.Popup.getElement()\r\n , selectedOption = null;\r\n\r\n $(popup).find(\".comboBoxSelected\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n\r\n if (!selectedOption && target) {\r\n $(target).closest(\".comboBoxOption\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n if (selectedOption) {\r\n $(selectedOption).prevAll(\":visible\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n markOption(selectedOption);\r\n }\r\n\r\n function selectNext(target) {\r\n var popup = application.Popup.getElement()\r\n , selectedOption = null;\r\n\r\n $(popup).find(\".comboBoxSelected\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n\r\n if (!selectedOption && target) {\r\n $(target).closest(\".comboBoxOption\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n if (selectedOption) {\r\n $(selectedOption).nextAll(\":visible\").first().each(function () {\r\n selectedOption = this;\r\n });\r\n }\r\n\r\n markOption(selectedOption);\r\n }\r\n\r\n function openPopup() {\r\n asfLog(\"comboBox openPopup\");\r\n\r\n comboBox.provideContent().done(function () {\r\n asfLog(\"comboBox openPopup provideContent done\");\r\n\r\n if (content && typeof content === \"string\") {\r\n isOpen = true;\r\n application.Popup.openPopup(comboBoxElement, content, activateSelectContent, onClosePopup);\r\n } else {\r\n asfLog(\"comboBox openPopup: no content\");\r\n }\r\n }).fail(function () {\r\n asfLog(\"comboBox openPopup provideContent fail\");\r\n });\r\n }\r\n\r\n function isPopupOpen() {\r\n return isOpen;\r\n }\r\n\r\n function createSelectContent() {\r\n var i = 0;\r\n var rows = [];\r\n var option = null;\r\n var value = \"\";\r\n var text = \"\";\r\n var element = form[controlName]\r\n var rowTmpl = \"\";\r\n\r\n asfLog(\"asfCombobox.createSelectContent() [Content für CBO's erstellen.]\");\r\n\r\n for (i = 0; i < element.options.length; i += 1) {\r\n\r\n option = element.options[i];\r\n value = option.value;\r\n text = option.text.trim().escapeHtml() || \" \";\r\n\r\n rowTmpl = getListRowTemplate(i, \"comboBoxOption comboBoxEntry\", attributeTmpl);\r\n rows.push(rowTmpl.format(getListCellTemplate().format(text), value, text));\r\n }\r\n\r\n return getList(rows.join(\"\"), \"comboBoxContent selectContent\");\r\n }\r\n\r\n function selectSelectOption(target) {\r\n var formattedValue = \"\"\r\n var oldValue = \"\"\r\n var value = \"\"\r\n var selectedOption = target ? findParent(target, \".comboBoxEntry\") : getMarkedOption();\r\n var ctrl\r\n\r\n if (selectedOption) {\r\n oldValue = asfFormGetElementValue(form, valueControl);\r\n value = selectedOption.getAttribute(\"data-asfComboBox-value\");\r\n if (value !== oldValue) {\r\n formattedValue = selectedOption.getAttribute(\"data-asfComboBox-text\");\r\n if (textControl === valueControl) {\r\n asfFormSetElementValue(form, textControl, value, false, formattedValue);\r\n } else {\r\n asfFormSetElementValue(form, valueControl, value, false);\r\n asfFormSetElementValue(form, textControl, formattedValue, false, formattedValue);\r\n }\r\n if (validateOnChange && controlName) {\r\n ctrl = formData.Controls[controlName]\r\n if (ctrl) {\r\n ctrl.doValidate(controlName, formData)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function createSelectComboBox(element, control) {\r\n\r\n var toolTip = \"\"\r\n , name = \"\"\r\n , text = \"\";\r\n\r\n content = createSelectContent();\r\n\r\n element.style.cssText = \"visibility: hidden; position: absolute; width:1px; height: 1px;\";\r\n\r\n name = element.name;\r\n\r\n toolTip = (element.title ? \" title=\\\"{0}\\\"\".format(element.title) : \"\");\r\n\r\n if (element.selectedIndex >= 0) {\r\n text = element.options[element.selectedIndex].text;\r\n }\r\n\r\n text = text || \" \";\r\n\r\n container.innerHTML += selectBoxTmpl.format(toolTip, name.escapeCSSName(), text);\r\n\r\n comboBoxElement = container.getElementsByClassName(\"selectBox\")[0];\r\n\r\n comboBoxElement.onclick = function (event) {\r\n openPopup();\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n };\r\n\r\n comboBox.search = searchByStart;\r\n comboBox.provideContent = function () {\r\n var myDeferred = application.Promises.promiseGetOptions();\r\n\r\n application.Promises.resolveGetOptions(myDeferred);\r\n\r\n return myDeferred.promise();\r\n };\r\n comboBox.selectOption = selectSelectOption;\r\n }\r\n\r\n function createQueryContent(dataQuery) {\r\n var contentData = dataQuery.getListData()\r\n var contentForm = (contentData && new asfForm(contentData, application.Popup.getElement())) || null\r\n var header = null\r\n var listCellTmpl = \"\"\r\n var control = \"\"\r\n var listRowTmpl = \"\"\r\n var colIndex = 0\r\n var rowIndex = 0\r\n var headers = []\r\n var maxRowCount\r\n var row = null\r\n var ctrl = null\r\n var tab = null\r\n var rows = []\r\n var rowControls = null\r\n var value = \"\"\r\n var text = \"\"\r\n var valueCol = dataQuery.getValueCol()\r\n var textCol = dataQuery.getTextCol();\r\n var objectId = \"\"\r\n\r\n if (dataQuery.hasTargetDefinition()) {\r\n attributeTmpl += \" data-asfComboBox-objectid=\\\"{3}\\\"\"\r\n }\r\n\r\n if (contentForm) {\r\n\r\n tab = contentForm.firstTab();\r\n\r\n valueCol = valueCol && valueCol + \"_\";\r\n textCol = textCol && textCol + \"_\";\r\n\r\n if (tab) {\r\n\r\n //Header template für Tabelle erstellen:\r\n for (header = contentForm.firstHeader(tab); header; header = contentForm.nextHeader(tab)) {\r\n\r\n headers.push(header);\r\n\r\n colIndex += 1;\r\n }\r\n\r\n\r\n rowIndex = 1;\r\n maxRowCount = tab.RowCount;\r\n\r\n if (dataQuery.hasEmptyEntry()) {\r\n rows.push(getEmptyEntry(headers.length))\r\n }\r\n\r\n for (row = contentForm.firstRow(tab); row; row = contentForm.nextRow(tab)) {\r\n\r\n if (rowIndex <= maxRowCount) {\r\n colIndex = 0;\r\n value = \"\";\r\n text = \"\";\r\n rowControls = [];\r\n\r\n for (ctrl = contentForm.firstControl(tab); ctrl; ctrl = contentForm.nextControl(tab)) {\r\n\r\n if (textCol && ctrl.Name.startsWith(textCol)) {\r\n text = ctrl.Content;\r\n }\r\n\r\n if (valueCol && ctrl.Name.startsWith(valueCol)) {\r\n value = ctrl.Content;\r\n }\r\n\r\n if (ctrl.Name.startsWith(\"ObjectId_\")) {\r\n objectId = ctrl.Content;\r\n }\r\n\r\n if (ctrl.isVisible()) {\r\n header = headers[colIndex];\r\n\r\n listCellTmpl = getListCellTemplate(colIndex, rowIndex, ctrl.CSS);\r\n control = getControl(ctrl, header, contentForm);\r\n\r\n rowControls.push(listCellTmpl.format(control));\r\n\r\n colIndex += 1;\r\n }\r\n }\r\n\r\n listRowTmpl = getListRowTemplate(rowIndex, \"comboBoxOption comboBoxEntry\", attributeTmpl)\r\n rows.push(listRowTmpl.format(rowControls.join(\"\"), value, text, objectId));\r\n }\r\n rowIndex += 1;\r\n }\r\n }\r\n\r\n }\r\n\r\n return getList(rows.join(\"\"), \"comboBoxContent queryContent\")\r\n\r\n }\r\n\r\n function selectAutoCompleteOption(target) {\r\n\r\n var objectId = \"\"\r\n , selectedOption = target ? findParent(target, \".comboBoxEntry\") : getMarkedOption();\r\n\r\n if (selectedOption) {\r\n objectId = selectedOption.getAttribute(\"data-asfComboBox-objectid\");\r\n if (objectId && sourceQuery) {\r\n sourceQuery.selectObject(objectId);\r\n }\r\n } else {\r\n selectedOption = findParent(target, \".comboBoxWizardEntry\");\r\n if (selectedOption) {\r\n setTimeout(function () {\r\n $(container).find(\"a.wizardLink\").first().each(function () {\r\n if (this.onclick) {\r\n this.onclick();\r\n }\r\n });\r\n }, 1);\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n function createAutoCompleteContent(dataQuery) {\r\n var contentData = dataQuery.getListData();\r\n var contentForm = (contentData && new asfForm(contentData, application.Popup.getElement())) || null;\r\n var header = null;\r\n var listCellTmpl = \"\";\r\n var listRowTmpl = \"\";\r\n var control = \"\";\r\n var colIndex = 0;\r\n var rowIndex = 0;\r\n var headers = [];\r\n var maxRowCount;\r\n var row = null;\r\n var ctrl = null;\r\n var tab = null;\r\n var rows = [];\r\n var rowControls = null;\r\n var objectId = null;\r\n\r\n attributeTmpl = \" tabindex=\\\"0\\\" data-asfComboBox-objectid=\\\"{1}\\\"\";\r\n\r\n if (contentForm) {\r\n\r\n tab = contentForm.firstTab();\r\n\r\n if (tab) {\r\n\r\n //Header template für Tabelle erstellen:\r\n for (header = contentForm.firstHeader(tab); header; header = contentForm.nextHeader(tab)) {\r\n\r\n headers.push(header);\r\n\r\n colIndex += 1;\r\n }\r\n\r\n\r\n rowIndex = 1;\r\n maxRowCount = tab.RowCount;\r\n\r\n if (dataQuery.hasEmptyEntry()) {\r\n rows.push(getEmptyEntry(headers.length))\r\n }\r\n\r\n for (row = contentForm.firstRow(tab); row; row = contentForm.nextRow(tab)) {\r\n\r\n if (rowIndex <= maxRowCount) {\r\n colIndex = 0;\r\n rowControls = [];\r\n\r\n\r\n for (ctrl = contentForm.firstControl(tab); ctrl; ctrl = contentForm.nextControl(tab)) {\r\n\r\n if (ctrl.Name.startsWith(\"ObjectId_\")) {\r\n objectId = ctrl.Content;\r\n }\r\n\r\n if (ctrl.isVisible()) {\r\n header = headers[colIndex];\r\n\r\n listCellTmpl = getListCellTemplate(colIndex, rowIndex, ctrl.CSS);\r\n control = getControl(ctrl, header, contentForm);\r\n\r\n rowControls.push(listCellTmpl.format(control));\r\n\r\n colIndex += 1;\r\n }\r\n }\r\n listRowTmpl = getListRowTemplate(rowIndex, \"comboBoxOption comboBoxEntry\", attributeTmpl)\r\n\r\n rows.push(listRowTmpl.format(rowControls.join(\"\"), objectId));\r\n }\r\n rowIndex += 1;\r\n }\r\n\r\n if (contentForm.PageCount > contentForm.Page) {\r\n rows.push(getWizardEntry(headers.length));\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n return getList(rows.join(\"\"), \"comboBoxContent wizardContent\");\r\n\r\n }\r\n\r\n function createAutoCompleteComboBox(element, control, dataQuery) {\r\n\r\n var toolTip = \"\"\r\n , name = \"\"\r\n , text = \"\";\r\n\r\n\r\n comboBoxElement = element;\r\n\r\n comboBox.search = searchByAutoComplete;\r\n comboBox.provideContent = function () {\r\n var myDeferred = application.Promises.promiseGetOptions();\r\n\r\n content = createAutoCompleteContent(dataQuery);\r\n\r\n application.Promises.resolveGetOptions(myDeferred);\r\n\r\n return myDeferred.promise();\r\n };\r\n\r\n comboBox.selectOption = selectAutoCompleteOption;\r\n }\r\n\r\n\r\n function createQueryComboBox(element, control) {\r\n\r\n var toolTip = \"\"\r\n , name = \"\"\r\n , text = \"\"\r\n , dataQuery = new asfDataQuery(control.FormatType, formData, control.Name);\r\n\r\n\r\n valueControl = dataQuery.getValueControl();\r\n validateOnChange = dataQuery.validateOnChange();\r\n\r\n element.style.cssText = \"visibility: hidden; position: absolute; width:1px; height: 1px;\";\r\n\r\n name = element.name;\r\n text = element.value;\r\n\r\n toolTip = (element.title ? \" title=\\\"{0}\\\"\".format(element.title) : \"\");\r\n\r\n\r\n text = (text && text.escapeHtml()) || \" \";\r\n\r\n container.innerHTML += selectBoxTmpl.format(toolTip, name.escapeCSSName(), text);\r\n\r\n comboBoxElement = container.getElementsByClassName(\"selectBox\")[0];\r\n\r\n comboBoxElement.onclick = function (event) {\r\n openPopup();\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n };\r\n\r\n comboBox.search = searchByStart;\r\n comboBox.provideContent = function () {\r\n var myDeferred = application.Promises.promiseGetOptions();\r\n\r\n dataQuery.provideContent().done(function () {\r\n\r\n content = createQueryContent(dataQuery);\r\n\r\n application.Promises.resolveGetOptions(myDeferred);\r\n }).fail(function () {\r\n application.Promises.rejectGetOptions(myDeferred);\r\n });\r\n\r\n return myDeferred.promise();\r\n };\r\n\r\n if (dataQuery.hasTargetDefinition()) {\r\n sourceQuery = dataQuery\r\n comboBox.selectOption = selectAutoCompleteOption\r\n } else {\r\n comboBox.selectOption = selectSelectOption\r\n }\r\n }\r\n\r\n function createComboBox() {\r\n\r\n var element = form[controlName]\r\n var type = ((element && element.type) || \"readonly\").toLowerCase()\r\n var control = isAsfForm && formData && formData.Controls[controlName];\r\n\r\n container = findParent(element, \".searchInput\")\r\n\r\n switch (type) {\r\n case \"select-one\":\r\n case \"select-multiple\":\r\n case \"select\":\r\n\r\n createSelectComboBox(element, control);\r\n\r\n break;\r\n default:\r\n if (sourceQuery) {\r\n createAutoCompleteComboBox(element, control, sourceQuery);\r\n } else if (control && control.hasQueryFormat()) {\r\n createQueryComboBox(element, control);\r\n }\r\n }\r\n }\r\n\r\n createComboBox();\r\n\r\n comboBox.selectNext = selectNext;\r\n comboBox.selectPrevious = selectPrevious;\r\n comboBox.closePopup = closePopup;\r\n comboBox.isPopupOpen = isPopupOpen;\r\n comboBox.setMessageEntry = setMessageEntry\r\n comboBox.openPopup = openPopup;\r\n}","import { GetApplication } from \"./asfScripts.js\";\r\nimport { asfValSubmit } from \"./asfScripts3.js\";\r\n\r\nexport function asfConfirmationPopup(element, formData, param) {\r\n\r\n var ctrl = this;\r\n var params = param.split(\";\");\r\n var application = GetApplication(true);\r\n var confirmation = ctrl.Value;\r\n var locTitle = [];\r\n\r\n function accept(event, data) {\r\n formData.setValue(ctrl.Name, 2, false, false, false);\r\n $(\"#amcPopUpAccept\").off(\"click\", accept);\r\n $(\"#amcPopUpDismiss\").off(\"click\", dismiss);\r\n $(\"#amcPopUpClose\").off(\"click\", dismiss);\r\n\r\n asfValSubmit.call(ctrl, element, formData, \"save\");\r\n }\r\n\r\n function dismiss(event, data) {\r\n formData.setValue(ctrl.Name, 3, false, false, false);\r\n\r\n $(\"#amcPopUpAccept\").off(\"click\", accept);\r\n $(\"#amcPopUpDismiss\").off(\"click\", dismiss);\r\n $(\"#amcPopUpClose\").off(\"click\", dismiss);\r\n\r\n asfValSubmit.call(ctrl, element, formData, \"save\");\r\n }\r\n\r\n if (confirmation) {\r\n\r\n switch (confirmation) {\r\n case \"1\": //Es wurde die DATEV-Export CheckBox aktiviert und kein Portfolio angegeben--> PopUp anzeigen:\r\n\r\n locTitle = params[0].split(\",\"); //Parameter für die Lokalisierung des PopUp Titles\r\n\r\n var title = application.Formatter.formatValue(locTitle[0], locTitle[1]);\r\n var msg = ctrl.ErrorMessage;\r\n\r\n var responseControl = \"\"; //Voreinstellung auf Neutral\r\n $(element).html(responseControl);\r\n\r\n $(\"#amcModalLabel\").html(title);\r\n $(\"#amcModelBody\").html(msg);\r\n\r\n $(\"#amcPopUpAccept\").on(\"click\", accept);\r\n $(\"#amcPopUpDismiss\").on(\"click\", dismiss);\r\n $(\"#amcPopUpClose\").on(\"click\", dismiss);\r\n\r\n var myModel = $(\"#amcModal\").modal({\r\n keyboard: true,\r\n backdrop: \"static\"\r\n });\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n","import { asfLog } from \"./asfLogging.js\";\r\nimport { GetApplication } from \"./asfScripts.js\";\r\nimport { asfServerLocale } from \"./asfServerLocale.js\";\r\nimport { asfDate } from \"./asfDate.js\";\r\nimport { asfNumber } from \"./asfNumber.js\";\r\nimport * as preparators from \"./asfControlPreparators.js\";\r\nimport * as validators from \"./asfControlValidators.js\";\r\nimport * as customConstructors from \"./asfControlCustomConstructors.js\";\r\n\r\n// Klasse asfHeader Release 12\r\nexport function asfHeader(data) {\r\n this.Name = (data ? data[0] : \"\");\r\n this.Label = (data ? data[1] : \"\");\r\n this.Width = (data ? data[2] : \"\");\r\n this.Link = (data ? data[3] : \"\");\r\n this.SortIndicator = (data ? data[4] : \"\");\r\n this.FormatType = (data ? data[5] : \"\");\r\n this.SearchValue = (data ? data[6] : \"\");\r\n this.LikeValue = (data ? data[7] : \"\");\r\n this.MinValue = (data ? data[8] : 0);\r\n this.MaxValue = (data ? data[9] : 0);\r\n\r\n this.hasNumberFormat = asfControlHasNumberFormat;\r\n this.hasDateFormat = asfControlHasDateFormat;\r\n this.hasDecodingFormat = asfControlHasDecodingFormat;\r\n this.hasTextFormat = asfControlHasTextFormat;\r\n this.hasCheckBoxFormat = asfControlHasCheckBoxFormat;\r\n this.hasQueryFormat = asfControlHasQueryFormat;\r\n this.formatValue = asfControlFormatValue;\r\n this.format = asfHeaderFormat;\r\n this.unformatValue = asfControlUnformatValue;\r\n this.isSystemColumn = function () {\r\n return (this.Name === \"DeleteObjectId\" || this.Name === \"ApplyObjectId\");\r\n }\r\n this.isHeaderCheckBoxColumn = function () {\r\n return (this.FormatType === \"C1\");\r\n }\r\n}\r\n\r\nfunction asfHeaderFormat(value) {\r\n\r\n var header = this;\r\n\r\n if (value === null) {\r\n value = \"\";\r\n };\r\n\r\n if (header.hasNumberFormat() || header.hasDateFormat()) {\r\n return header.formatValue(value);\r\n } else {\r\n return String(value).escapeHtml();\r\n }\r\n}\r\n\r\n// Klasse asfParameter\r\nexport function asfParameter(data, name, rowNumber) {\r\n this.Name = name || data[0];\r\n this.Value = data[1];\r\n}\r\n\r\n//Klasse asfControl\r\nexport function asfControl(data, name, rowNumber) {\r\n // var iCvNone = 0;\r\n // var iCvText = 1; //in use\r\n // var iCvTextInput = 2; //in use\r\n // var iCvSelect = 3; //in use \r\n // var iCvLink = 4; //in use\r\n // var iCvCheckBox = 5; //in use\r\n // var iCvHidden = 6;\r\n // var iCvTextArea = 7; //in use\r\n // var iCvLabel = 8; //in use \r\n // var iCvResend = 9;\r\n // var iCvNumInput = 10; //in use\r\n // var iCvHTML = 11; //in use\r\n // var iCvWizard = 12; //in use\r\n // var iCvReadonlyCheckBox = 13; //in use\r\n // var iCvPasswordBox = 14; //in use\r\n // var iCvDate = 15; //in use\r\n\r\n this.Name = name || data[0];\r\n this.TabNo = data[1];\r\n this.Row = rowNumber || data[2];\r\n this.ControlType = data[3];\r\n this.Content = data[4];\r\n this.ErrorMessage = data[5];\r\n this.FormatType = data[6];\r\n this.CSS = data[7];\r\n this.Link = data[8];\r\n this.Align = data[9];\r\n this.MaxLength = data[10];\r\n this.Size = data[11];\r\n this.Position = data[12];\r\n this.Prepare = data[13];\r\n this.Validate = data[14];\r\n this.NextControl = data[15];\r\n this.CustomConstructor = data[16];\r\n\r\n this.Value = this.Content;\r\n this.SelectValue = this.Content;\r\n this.DefaultValue = this.Content;\r\n this.SuppressFocusOut = false;\r\n this.PreviousControl = null;\r\n this.IsValidating = false;\r\n this.CustomControl = false;\r\n\r\n this.format = asfControlFormat;\r\n this.handleKeyDown = asfControlHandleKeyDown;\r\n this.handleKeyUp = asfControlHandleKeyUp;\r\n this.handleKeyPress = asfControlHandleKeyPress;\r\n this.isEditable = asfControlIsEditable;\r\n this.doPrepare = asfControlDoPrepare;\r\n this.doValidate = asfControlDoValidate;\r\n this.doConstruct = asfControlDoConstruct;\r\n this.formatValue = asfControlFormatValue;\r\n this.isVisible = asfControlIsVisible;\r\n this.isFocusTrailControl = asfControlIsFocusTrailControl;\r\n this.needsRefSet = asfControlNeedsRefSet;\r\n this.hasNumberFormat = asfControlHasNumberFormat;\r\n this.hasDateFormat = asfControlHasDateFormat;\r\n this.hasDecodingFormat = asfControlHasDecodingFormat;\r\n this.hasCheckBoxFormat = asfControlHasCheckBoxFormat;\r\n this.hasTextFormat = asfControlHasTextFormat;\r\n this.hasQueryFormat = asfControlHasQueryFormat;\r\n this.unformatValue = asfControlUnformatValue;\r\n}\r\n\r\nif (typeof asfControl.prototype.iCvNone === \"undefined\") {\r\n asfControl.prototype.iCvNone = 0;\r\n asfControl.prototype.iCvText = 1; //in use\r\n asfControl.prototype.iCvTextInput = 2; //in use\r\n asfControl.prototype.iCvSelect = 3; //in use \r\n asfControl.prototype.iCvLink = 4; //in use\r\n asfControl.prototype.iCvCheckBox = 5; //in use\r\n asfControl.prototype.iCvHidden = 6;\r\n asfControl.prototype.iCvTextArea = 7; //in use\r\n asfControl.prototype.iCvLabel = 8; //in use \r\n asfControl.prototype.iCvResend = 9;\r\n asfControl.prototype.iCvNumInput = 10; //in use\r\n asfControl.prototype.iCvHTML = 11; //in use\r\n asfControl.prototype.iCvWizard = 12; //in use\r\n asfControl.prototype.iCvReadonlyCheckBox = 13; //in use\r\n asfControl.prototype.iCvPasswordBox = 14; //in use\r\n asfControl.prototype.iCvDate = 15; //in use\r\n asfControl.prototype.iCvCustom = 16; //in use\r\n asfControl.prototype.iCvHTMLLink = 17; //in use\r\n asfControl.prototype.iCvHiddenCustom = 18; //in use\r\n\r\n asfControl.prototype.iCvEmptyCell = 0;\r\n asfControl.prototype.iCvLabelCell = 1;\r\n asfControl.prototype.iCvValueCell = 2;\r\n asfControl.prototype.iCvErrorCell = 3;\r\n}\r\n\r\n\r\nfunction asfControlNeedsRefSet() {\r\n var control = this;\r\n\r\n return !!(control.ControlType === control.iCvSelect || ((control.ControlType === control.iCvResend ||control.ControlType === control.iCvText || control.ControlType === control.iCvHidden || control.ControlType === control.iCvCustom || control.ControlType === control.iCvHTML || control.ControlType === control.iCvLink || control.ControlType === control.iCvHTMLLink || control.ControlType === control.iCvHiddenCustom) && control.hasDecodingFormat()));\r\n}\r\n\r\nfunction asfControlHasQueryFormat() {\r\n var control = this;\r\n\r\n return control.ControlType != control.iCvNone && control.ControlType != control.iCvHidden && !!(control.FormatType && control.FormatType.indexOf(\"?\") > 0);\r\n}\r\n\r\nfunction asfControlIsFocusTrailControl() {\r\n return !!(this.NextControl || this.PreviousControl);\r\n}\r\n\r\nfunction asfControlIsVisible() {\r\n\r\n if (this.Row === 0) return false\r\n\r\n switch (this.ControlType) {\r\n case this.iCvNone:\r\n case this.iCvHidden:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n}\r\n\r\n\r\nfunction asfControlIsEditable() {\r\n\r\n switch (this.ControlType) {\r\n case this.iCvNone:\r\n case this.iCvText:\r\n case this.iCvHidden:\r\n case this.iCvLabel:\r\n case this.iCvResend:\r\n case this.iCvHTML:\r\n case this.iCvReadonlyCheckBox:\r\n return false;\r\n default:\r\n return (this.Row != 0);\r\n }\r\n}\r\n\r\nfunction asfControlHasNumberFormat() {\r\n var control = this;\r\n\r\n return !!(control.FormatType && control.FormatType.match(/^[#0,.% ]+$/g));\r\n}\r\n\r\nfunction asfControlHasDateFormat() {\r\n var control = this;\r\n\r\n return !!(control.FormatType && control.FormatType.match(/^[ymdhns.,-\\/ :]+$/g));\r\n}\r\n\r\nfunction asfControlHasDecodingFormat() {\r\n var control = this;\r\n\r\n return !!(control.FormatType && control.FormatType.indexOf(\"!\") >= 0);\r\n}\r\n\r\nfunction asfControlHasTextFormat() {\r\n var control = this;\r\n\r\n return !!(control.FormatType && control.FormatType === \"A\") || !control.FormatType;\r\n}\r\n\r\nfunction asfControlHasCheckBoxFormat() {\r\n var control = this;\r\n\r\n return !!(control.FormatType && control.FormatType.startsWith(\"C\"));\r\n}\r\n\r\nfunction asfControlFormatValue(value, saveDate) {\r\n var control = this;\r\n var number = null;\r\n var date = null;\r\n var content = (typeof value === \"undefined\" || value === null ? \"\" : String(value));\r\n var application = null;\r\n var allowHtml = (control.ControlType === control.iCvHTML)\r\n\r\n if (content) {\r\n if (control.hasDecodingFormat() && control.isVisible()) { // Decodinglisten\r\n application = GetApplication(true);\r\n content = application.RefSetCache.encodeValue(control.FormatType, content, allowHtml);\r\n } else if (control.hasNumberFormat()) { // Zahlenformate\r\n application = GetApplication();\r\n number = new asfNumber(control.FormatType, application.Language);\r\n number.parse(value);\r\n if (number.isValid()) {\r\n content = number.toString();\r\n }\r\n } else if (control.hasDateFormat()) { // Datumsformate\r\n if (content) {\r\n date = new asfDate(this.FormatType);\r\n date.parse(content);\r\n if (date.IsValid) {\r\n content = date.toString();\r\n if (saveDate) {\r\n application = GetApplication(true);\r\n if (application) {\r\n application.LastDate = date.Date;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return content;\r\n}\r\n\r\nfunction asfControlUnformatValue(value, serverLocale) {\r\n var control = this;\r\n var application = GetApplication();\r\n var number = null;\r\n var date = null;\r\n var language = (application && application.Language) || \"de\";\r\n\r\n serverLocale = serverLocale || (application && application.ServerLocale) || new asfServerLocale();\r\n\r\n if (control && value !== \"\" && value !== null) {\r\n if (control.hasDateFormat()) {\r\n date = new asfDate(control.FormatType);\r\n date.parse(value);\r\n if (date.IsValid) {\r\n value = serverLocale.formatDate(date.Date);\r\n }\r\n } else if (control.hasNumberFormat()) {\r\n number = new asfNumber(control.FormatType, language);\r\n number.parse(value);\r\n if (number.isValid()) {\r\n value = serverLocale.formatNumber(number.parse(value));\r\n }\r\n } else if (control.hasCheckBoxFormat()) {\r\n value = parseInt(value, 10)\r\n } else if (control.hasDecodingFormat() && control.FormatType.startsWith(\"N\")) {\r\n value = parseInt(value, 10);\r\n }\r\n }\r\n\r\n return value;\r\n};\r\n\r\nfunction asfControlFormat(element) {\r\n var control = this\r\n , $textAreaCount = null\r\n , span = null;\r\n\r\n\r\n switch (control.ControlType) {\r\n case control.iCvTextArea:\r\n if (element) {\r\n $textAreaCount = $(element).parent(\".searchInput\").next().find(\".textAreaCount\");\r\n span = $textAreaCount.get(0);\r\n if (span) {\r\n span.innerHTML = String(element.value.replace(/\\n/g, \" \").length);\r\n }\r\n }\r\n break;\r\n case control.iCvDate:\r\n element.value = control.formatValue(element.value, true);\r\n break;\r\n case control.iCvNumInput:\r\n element.value = control.formatValue(element.value);\r\n break;\r\n }\r\n}\r\n\r\nexport function asfControlHandleKeyUp(element, event, formData) {\r\n var result = true\r\n , control = this;\r\n\r\n switch (control.ControlType) {\r\n case control.iCvTextArea:\r\n control.format(element);\r\n break;\r\n case control.iCvSelect:\r\n if (formData.KeyDownElement === element && event.which === 13) {\r\n control.SelectValue = formData.getValue(control.Name);\r\n }\r\n break;\r\n }\r\n\r\n formData.KeyDownElement = null;\r\n\r\n return result;\r\n}\r\n\r\nfunction asfControlHandleKeyPress(element, event, formData) {\r\n var result = true\r\n , application = GetApplication(true)\r\n , control = this\r\n , selectionStart = 0\r\n , date = null\r\n , charCode = event.which || event.charCode || event.keyCode || 0\r\n , char = (charCode && String.fromCharCode(charCode)) || \"\"\r\n , comboBox = null\r\n , controlType = control.ControlType;\r\n\r\n if (controlType === control.iCvTextInput && control.hasQueryFormat()) {\r\n controlType = control.iCvSelect;\r\n }\r\n\r\n switch (controlType) {\r\n case control.iCvSelect:\r\n comboBox = formData.ComboBoxes[control.Name];\r\n\r\n switch (charCode) {\r\n case 13:\r\n case 9:\r\n // Enter, Tab: Standardverhalten beibehalten.\r\n break;\r\n default:\r\n asfLog(\"select search char {0}\".format(char))\r\n result = false;\r\n if (comboBox) {\r\n if (!comboBox.isPopupOpen()) {\r\n comboBox.openPopup();\r\n }\r\n setTimeout(function () { comboBox.search(char); }, 1);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction asfControlHandleKeyDown(element, event, formData) {\r\n var result = true\r\n , application = GetApplication(true)\r\n , control = this\r\n , selectionStart = 0\r\n , date = null\r\n , comboBox = null\r\n , controlType = control.ControlType;\r\n\r\n formData.KeyDownElement = element;\r\n\r\n if (controlType === control.iCvTextInput && control.hasQueryFormat()) {\r\n controlType = control.iCvSelect;\r\n }\r\n\r\n switch (controlType) {\r\n case control.iCvDate:\r\n if (!event.ctrlKey && !event.altKey) {\r\n switch (event.which) {\r\n //Ziffern auf Haupttastatur \r\n case 48:\r\n case 49:\r\n case 50:\r\n case 51:\r\n case 52:\r\n case 53:\r\n case 55:\r\n case 56:\r\n case 57:\r\n result = !event.shiftKey;\r\n break;\r\n // Ziffern auf Tastenblock \r\n\r\n case 54:\r\n case 96:\r\n case 97:\r\n case 98:\r\n case 99:\r\n case 100:\r\n case 101:\r\n case 102:\r\n case 103:\r\n case 104:\r\n case 105:\r\n // Trennzeichen\r\n case 188: //Komma\r\n case 190: //Punkt\r\n case 110: //Decimal\r\n case 111: //Divide\r\n case 32: //Leertaste\r\n // Steuerzeichen\r\n case 8:\r\n case 9:\r\n case 27:\r\n case 33:\r\n case 34:\r\n case 35:\r\n case 36:\r\n case 37:\r\n case 38:\r\n case 39:\r\n case 40:\r\n case 45:\r\n case 46:\r\n // nichts tun, Zeichen auswerten.\r\n break;\r\n case 107: //Add\r\n case 187: //Plus\r\n case 61: //Plus / Firefox\r\n date = new asfDate(control.FormatType);\r\n if (element.value) {\r\n date.parse(element.value);\r\n if (date.IsValid) {\r\n date.add(\"d\", 1);\r\n element.value = date.toString();\r\n }\r\n }\r\n result = false;\r\n break;\r\n case 189: //Minus\r\n case 173: //Minus /Firefox\r\n case 109: //Subtract\r\n date = new asfDate(control.FormatType);\r\n if (element.value) {\r\n date.parse(element.value);\r\n if (date.IsValid) {\r\n date.add(\"d\", -1);\r\n element.value = date.toString();\r\n }\r\n }\r\n result = false;\r\n break;\r\n case 67: // c\r\n element.value = \"\";\r\n result = false;\r\n break;\r\n case 84: // t\r\n date = new asfDate(control.FormatType);\r\n date.parse(null);\r\n element.value = date.toString();\r\n result = false;\r\n break;\r\n case 76: //l\r\n date = new asfDate(control.FormatType);\r\n element.value = date.toString(application.LastDate);\r\n result = false;\r\n break;\r\n case 13: //Enter\r\n control.format(element);\r\n // Nicht als verarbeitet kennzeichnen, damit Standardoperation ausgeführt wird. \r\n break;\r\n default:\r\n if (!event || (!event.ctrlKey && !event.altKey)) {\r\n result = false;\r\n }\r\n }\r\n }\r\n break;\r\n case control.iCvNumInput:\r\n if (!event.ctrlKey && !event.altKey) {\r\n switch (event.which) {\r\n //Ziffern auf Haupttastatur \r\n case 48:\r\n case 49:\r\n case 50:\r\n case 51:\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55:\r\n case 56:\r\n case 57:\r\n // Ziffern auf Tastenblock\r\n\r\n case 96:\r\n case 97:\r\n case 98:\r\n case 99:\r\n case 100:\r\n case 101:\r\n case 102:\r\n case 103:\r\n case 104:\r\n case 105:\r\n // Trennzeichen\r\n case 188: //Komma\r\n case 190: //Punkt\r\n case 110: //Decimal\r\n // Steuerzeichen\r\n case 8:\r\n case 9:\r\n case 27:\r\n case 33:\r\n case 34:\r\n case 35:\r\n case 36:\r\n case 37:\r\n case 38:\r\n case 39:\r\n case 40:\r\n case 45:\r\n // nichts tun, Zeichen auswerten.\r\n break;\r\n case 109: //Subtract\r\n case 173: //Minus\r\n case 189: //Minus in IE/Chrome\r\n // Vorzeichen invertieren\r\n selectionStart = element.selectionStart;\r\n if (element.selectionEnd && element.selectionStart !== element.selectionEnd) {\r\n element.value = element.value.substr(0, element.selectionStart) + element.value.substr(element.selectionEnd);\r\n }\r\n\r\n if (String(element.value).indexOf(\"-\") === 0) {\r\n element.value = String(element.value).substr(1);\r\n if (selectionStart) {\r\n element.setSelectionRange(selectionStart - 1, selectionStart - 1);\r\n }\r\n } else {\r\n element.value = \"-\" + String(element.value);\r\n element.setSelectionRange(selectionStart + 1, selectionStart + 1);\r\n }\r\n result = false;\r\n break;\r\n case 46:\r\n // Del: Feld löschen\r\n element.value = \"\";\r\n element.select();\r\n result = false;\r\n break;\r\n case 13: //Enter\r\n control.format(element);\r\n // Nicht als verarbeitet kennzeichnen, damit Standardoperation ausgeführt wird. \r\n break;\r\n default:\r\n if (!event || (!event.ctrlKey && !event.altKey)) {\r\n result = false;\r\n }\r\n }\r\n }\r\n break;\r\n case control.iCvSelect:\r\n comboBox = formData.ComboBoxes[control.Name];\r\n switch (event.which) {\r\n case 8:\r\n // Backspace abfangen\r\n result = false;\r\n break;\r\n case 9:\r\n // Tab\r\n if (comboBox) {\r\n if (comboBox.isPopupOpen()) {\r\n comboBox.selectOption();\r\n comboBox.closePopup();\r\n }\r\n }\r\n\r\n result = true;\r\n break;\r\n case 13:\r\n // Enter\r\n if (comboBox && comboBox.isPopupOpen()) {\r\n comboBox.selectOption();\r\n comboBox.closePopup();\r\n result = false;\r\n }\r\n break;\r\n case 27:\r\n // Esc\r\n if (comboBox) {\r\n comboBox.closePopup();\r\n }\r\n result = true;\r\n break;\r\n case 40:\r\n // Down\r\n if (comboBox) {\r\n if (!comboBox.isPopupOpen()) {\r\n comboBox.openPopup();\r\n }\r\n comboBox.selectNext(event.target);\r\n }\r\n result = false;\r\n break;\r\n case 38:\r\n // Up\r\n if (comboBox) {\r\n if (!comboBox.isPopupOpen()) {\r\n comboBox.openPopup();\r\n }\r\n comboBox.selectPrevious(event.target);\r\n }\r\n result = false;\r\n break;\r\n default:\r\n }\r\n\r\n break;\r\n }\r\n\r\n if (!result && event && event.preventDefault) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction asfControlDoPrepare(element, formData) {\r\n var control = this\r\n , application = GetApplication(true)\r\n , func = null\r\n , param = null\r\n , result = true;\r\n\r\n if (control.Prepare) {\r\n func = application.getFunction(control.Prepare[0], preparators);\r\n if (func) {\r\n param = control.Prepare[1];\r\n formData.NameTemplate = element.name;\r\n result = func.call(control, element, formData, param);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction asfControlDoValidate(element, formData) {\r\n var control = this\r\n , application = GetApplication(true)\r\n , func = null\r\n , param = null\r\n , result = true\r\n , myForm = null;\r\n\r\n if (control.Validate && !control.IsValidating) {\r\n asfLog(\"asfControlDoValidate: \" + control.Name);\r\n\r\n func = application.getFunction(control.Validate[0], validators);\r\n if (func) {\r\n param = control.Validate[1];\r\n if (typeof element === \"string\") {\r\n formData.NameTemplate = element;\r\n myForm = formData.getForm();\r\n element = (myForm && myForm[element]) || null;\r\n } else {\r\n formData.NameTemplate = element.name;\r\n }\r\n\r\n control.IsValidating = true;\r\n\r\n result = func.call(control, element, formData, param);\r\n if (typeof result !== \"boolean\") {\r\n result = true;\r\n }\r\n }\r\n }\r\n\r\n if (result) {\r\n control.IsValidating = false;\r\n }\r\n return result;\r\n}\r\n\r\nfunction asfControlDoConstruct(element, formData, header) {\r\n var control = this\r\n , application = GetApplication(true)\r\n , func = null\r\n , param = null;\r\n\r\n if (control.CustomConstructor) {\r\n asfLog(\"asfControlDoConstruct: \" + control.Name);\r\n\r\n func = application.getFunction(control.CustomConstructor[0], customConstructors);\r\n if (func) {\r\n param = control.CustomConstructor[1];\r\n if (typeof element === \"string\") {\r\n formData.NameTemplate = element;\r\n element = null;\r\n } else {\r\n formData.NameTemplate = element.name;\r\n }\r\n func.call(control, element, formData, param, header);\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n","export {\r\n amcAssetOverviewChart,\r\n amcAssetOverviewChartByCcy,\r\n amcAssetOverviewList,\r\n amcCustAssetStructurePeriod,\r\n amcCustControlAssetStructureChart1,\r\n amcCustControlAssetStructureChart2,\r\n amcCustControlAssetStructureList,\r\n amcCustControlCreateSubMaskForPerfValues,\r\n amcCustomControlAssetStructureButtonShowUdt,\r\n} from \"./amcCharting2.js\";\r\nexport { amcCreatePopUp } from \"./asfScripts3.js\";\r\nexport { asfConfirmationPopup } from \"./asfConfirmationPopup.js\";\r\nexport { asfCustomActionButton, asfLogActionClick, asfSendActionClick, asfSendNewObjectClick, asfSendDeleteObjectClick } from \"./asfCustomActionButton.js\";\r\nexport { asfCustomTextAsLabel } from \"./asfCustomTextAsLabel.js\";\r\nexport { asfCustomTrigger } from \"./asfCustomTrigger.js\";\r\nexport { asfHTMLEditor } from \"./asfHtmlEditor.js\";\r\nexport { asfLabelledCheckBox } from \"./asfTemplates.js\";\r\nexport { asfObjectList } from \"./asfObjectList.js\";\r\nexport { asfReactControl } from \"./asfReactControl.js\";\r\nexport { asfSubMaskList, asfSubMaskListAddButton } from \"./asfScriptTabs.js\";\r\n","// Aufrufkonvention function xxx (element, formData, param)\r\n// Die Prepare-Funktion wird aufgefufen, wenn das Control fokussiert wird.\r\n\r\nexport {\r\n asfPrepAutoComplete,\r\n asfPrepSingleCheckBox,\r\n asfPrepValidatedCheckBox,\r\n} from \"./asfScripts3.js\";\r\nexport {\r\n amcPrepAssetStructurePeriod,\r\n prepareAssetStructureFromDate,\r\n prepareAssetStructureToDate\r\n} from \"./amcCharting2.js\";\r\nexport {\r\n amcPrepReportSetChoiceCheckBox,\r\n amcResolveObjectType,\r\n amcResolveQuickTrxType,\r\n} from \"./amcBusiness.js\";\r\n","export { asfValCheck, asfValCheck as amcValCheck, asfValAutoComplete, asfValSingleCheckBox, asfValPushValues, asfValSubmit } from \"./asfScripts3.js\";\r\nexport { validateAssetStructureFromDate, validateAssetStructureToDate } from \"./amcCharting2.js\";\r\nexport { amcResolveObjectType, amcResolveQuickTrxType, amcValAsset, amcValPortfSectorComment, amcValCalcValueDate, amcValCalculateGrossAmtTrxCcy, amcValCalculateRefFxRate, amcValAmt, amcValTransferAmt, amcValCheckPlAcctDesc, amcValCalcAfterTrxAmt, amcResolveRuleTitle, amcValTaxSimTradeDate, amcValTaxSimTradePrice, amcValTaxSimTriggerCalculation, amcValUpdateDoc, amcValUpdateMasterPortfDoc, amcValSectorSpectAmtPct } from \"./amcBusiness.js\";\r\nexport { asfObjectListSendBack, asfObjectListCheckBack} from \"./asfObjectList.js\";\r\n","import { GetApplication } from \"./asfScripts.js\";\r\nimport { getCustomActionButton } from \"./asfTemplates.js\";\r\nimport { asfLog } from \"./asfLogging.js\";\r\nimport * as handlerFunctions from \"./asfCustomActionButtonHandlers.js\";\r\n\r\nexport function asfCustomActionButton(element, formData, param, header) {\r\n\r\n var application = GetApplication(true);\r\n var ctrl = this\r\n var params = param.split(\"|\");\r\n var tmplButton = \"\";\r\n var elmButton = null;\r\n var functionName = params[0];\r\n var action = params[1];\r\n var func = application.getFunction(functionName, handlerFunctions)\r\n var handlerFunction = null;\r\n var hideInitially = action && action.endsWith(\"-\")\r\n var button = null\r\n var objectId = formData.getObjectId(ctrl.Name)\r\n\r\n if (hideInitially) {\r\n action = action.substr(0, action.length - 1)\r\n }\r\n\r\n tmplButton = getCustomActionButton(ctrl.Name, header.Label);\r\n ctrl.DefaultValue = null;\r\n $(element).html(tmplButton);\r\n $(element).closest(\"form\").not(\":has(button[type='submit'])\").each(function () {\r\n $(this).append(\"\";\r\n } else if (action.length > 0) {\r\n //generate function button:\r\n name = name || \"button\";\r\n actions += \"\";\r\n } else if (!name && !label && !action) {\r\n // Unsichtbarer Submit-Knopf, um Focus-Handling zu unterstützen.\r\n actions += \"\"\r\n } else {\r\n //generate div to display content:\r\n actions += \"\" + label + \"\";\r\n }\r\n\r\n }\r\n\r\n blocks.push(actions);\r\n }\r\n\r\n if (contextLinks && contextLinks.length) {\r\n\r\n for (i = 0; i < contextLinks.length; i += 1) {\r\n entry = contextLinks[i];\r\n ////generate function button:\r\n //if (entry.isHidden()) {\r\n // contextLinkFunction = \"window.open('#0!\" + entry.NavStatus + \"!\" + entry.ObjectId.escapeHtml() + \"', '_blank');\";\r\n //} else {\r\n // contextLinkFunction = \"Navigate('\" + entry.NavStatus + \"', '\" + entry.ObjectId.escapeHtml() + \"');\";\r\n //}\r\n contextActions += \"\" + entry.Text + \"\";\r\n }\r\n\r\n blocks.push(contextActions);\r\n }\r\n\r\n\r\n if (blocks.length) {\r\n actionBar = \"
\" + blocks.join(\"\") + \"
\";\r\n\r\n return actionBar;\r\n }\r\n return \"\";\r\n\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für den Listenfuß. Ist leer.\r\n*/\r\nexport function getListFooterTemplate() {\r\n var tmpl = \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Generiert eine Filter-Zelle in der Filterzeile eines Tabellen-\r\n* headers.\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param header {asfHeader} - Definition des Spalten-Headers\r\n* @param options {object} - Optionen für Maskengenerierung\r\n*/\r\nexport function getFilterCell(formData, header, options) {\r\n\r\n\r\n var result = \"\";\r\n var optionTags = \"\";\r\n var application = GetApplication(true);\r\n var name = \" name=\\\"\" + header.Name + \"{0}\\\"\";\r\n var filterCallback = (options && options.listOptions && options.listOptions.filterOptions && options.listOptions.filterOptions.filterCallback) || \"\";\r\n var dataFormat;\r\n var format;\r\n\r\n format = (header.FormatType ? \" data-format=\\\"\" + header.FormatType + \"\\\"\" : \"\");\r\n\r\n if (filterCallback) {\r\n filterCallback = \", \" + filterCallback;\r\n }\r\n\r\n\r\n if (header.Name) {\r\n if (header.isSystemColumn()) {\r\n // Keinen Filter erzeugen.\r\n } else if (header.hasNumberFormat() || header.hasDateFormat()) {\r\n result += \"
>=
\";\r\n result += \"
<=
\";\r\n } else if (header.hasDecodingFormat()) {\r\n result += \"
 
\";\r\n result += \"
\";\r\n } else if (header.hasCheckBoxFormat()) {\r\n result += \"
 
\";\r\n result += \"
\";\r\n } else if (header.hasTextFormat()) {\r\n result += \"
 
\";\r\n result += \"
\";\r\n }\r\n\r\n if (header.denyFilter && header.denyFilter == true) {\r\n result = \"\";\r\n result += \"
 
\";\r\n result += \"
\";\r\n }\r\n \r\n } else {\r\n\r\n result += \"
 
\";\r\n result += \"
\";\r\n\r\n }\r\n result += \"\";\r\n\r\n return result;\r\n}\r\n\r\nfunction getHeaderCheckBox(header, formData, options) {\r\n\r\n var cssClass = \"\";\r\n var dataAttr = \"\";\r\n\r\n if (header.Name === \"ApplyObjectId\") {\r\n cssClass = \"applycolumn\";\r\n } else if (header.Name === \"DeleteObjectId\") {\r\n cssClass = \"deletecolumn\";\r\n } else if (header.FormatType === \"C1\") {\r\n cssClass = \"headercheckboxcolumn\";\r\n dataAttr = \" data-chk=\\\"chk-\" + header.Name + \"\\\"\";\r\n }\r\n\r\n return \"
\"\r\n}\r\n\r\n/**\r\n* Erzeugt eine Zelle in einem Tabellen-Header\r\n* @param header {asfHeader} - Definition der Zelle\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param options {object} - Optionen für die Maskengenerierung\r\n*/\r\nexport function getListHeaderCell(header, formData, options) {\r\n var tmpl = \"\";\r\n var content = header.Label;\r\n var link = (header.Link && options && options.listOptions && typeof options.listOptions.sortCallback === \"function\" && options.listOptions.sortCallback(header)) || header.Link\r\n\r\n // var width = header.Width && \" style=\\\"width:\" + header.Width + \";\\\"\";\r\n // Width wird von DataTables überschrieben, Einstellung funktioniert so nicht mehr.\r\n\r\n if (link) {\r\n content = \"\" + content + \"\";\r\n switch (header.SortIndicator) {\r\n case 1:\r\n //ascending\r\n content = content + \" \"; //pfeil hoch\r\n break;\r\n case 2:\r\n //descending\r\n content = content + \" \"; // pfeil runter\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (header.isSystemColumn() || header.isHeaderCheckBoxColumn()) {\r\n content += getHeaderCheckBox(header, formData, options);\r\n }\r\n\r\n tmpl += \"\" + content + \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\n\r\n\r\n/**\r\n* Erzeugt das Template für eine Zeile im Hauptteil einer Tabelle.\r\n* @param rowIndex {number} - Zeilennummer.\r\n* @param classes {string} - css-Klassen für die Tabellenzeile.\r\n* @param attributes {string} - weitere Attribute für die Tabellenzeile, z.B. data-Attribute. \r\n* enthält manchmal (z.B. beim ComboBox-Inhalt) weitere Platzhalter.\r\n* @param options {object} - Optionen für Maskengenerierung.\r\n* Platzhalter: {0}: Generierter HTML-Text der Zellen in der Zeile.\r\n*/\r\nexport function getListRowTemplate(rowIndex, classes, attributes, options) {\r\n var tmpl = \"\";\r\n\r\n attributes = attributes || \"\";\r\n classes = (classes ? \"class=\\\"{0}\\\"\".format(classes) : \"\");\r\n\r\n tmpl = \"\"\r\n + \"{0}\"\r\n + \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Liefert das Template für einen Tabellen-Header\r\n* @param options {object} - Generierungsoptionen\r\n* \r\n* Platzhalter: {0}: Generierter HTML-Text der angezeigten Zellen des Tabellenkopfes\r\n* {1}: Generierter HTML-Text der Filter-Zellen, sind zunächst versteckt.\r\n*/\r\nexport function getListHeaderTemplate(options) {\r\n var tmpl = \"\";\r\n\r\n tmpl = \"{0}\"\r\n + \"{1}\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für eine horizontal angeordnete Eingabemaske (Detail-Tab oder\r\n* Grid-Layout).\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param tab {asfTab} - Tab-definition innerhalb der Masken-Definition\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n* Platzhalter: {0}: generierter Maskeninhalt, d.h. Zeilen mit Controls.\r\n* Die Größe dieses Containers wird automatisch angepasst.\r\n*/\r\nexport function getHorizontalFormTemplate(formData, tab, options) {\r\n\r\n var tmpl = \"\";\r\n\r\n\r\n tmpl = \"
{0}
\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt das Template das notwndig ist, damit sich der Inhalt entsprechende \r\n* der Klassendefinitionen an der Bildschirmgröße anpasst.\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param tab {asfTab} - Tab-definition innerhalb der Masken-Definition\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n* Platzhalter: {0}: generierter Maskeninhalt, d.h. Zeilen mit Controls.\r\n* Die Größe dieses Containers wird automatisch angepasst.\r\n*/\r\nexport function getDisplayAdjustWrapperTemplate(formData, tab, options) {\r\n\r\n var tmpl = \"\";\r\n\r\n tmpl = \"
{0}
\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/** \r\n* Erzeugt den äußeren Container für eine Standard-Seite ohne Listen-Navigation.\r\n* Dieses Tag bestimmt die äußere Größe, die für die Darstellung der Seite zur\r\n* Verfügung steht.\r\n* Platzhalter: {0}: Seiteninhalt.\r\n*/\r\nexport function getDefaultPageTemplate(options) {\r\n\r\n var tmpl = \"\";\r\n tmpl += \"
\"\r\n + \"{0}\"\r\n + \"
\";\r\n\r\n return tmpl;\r\n\r\n}\r\n\r\n\r\n/**\r\n* Erzeugt das Template für eine Tabellen-Zelle\r\n* @param colIndex {number} - Spaltennummer\r\n* @param rowIndex {number} - Zeilennummer\r\n* @param classes {string} - css-Klassen für die Zelle\r\n* @param attributes {string} - weitere Attribute für die Zelle, können auch weitere Platzhalter enthalten.\r\n* \r\n* Platzhalter: {0}: Inhalt der Zelle (HTML-Text des Controls).\r\n*/\r\nexport function getListCellTemplate(colIndex, rowIndex, classes, attributes, options) {\r\n var tmpl = \"\";\r\n\r\n classes = (classes && \" class=\\\"\" + classes + \"\\\"\") || \"\";\r\n attributes = attributes || \"\";\r\n\r\n tmpl = \"{0}\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt eine Tabelle für eine Listendarstellung\r\n* @param body {string} - Generierter HTML-Text der Zeilen im Hauptteil der Liste\r\n* @param classes {string} - css-Klassen für die gesamte Tabelle\r\n* @param header {string} - Generierter HTML-Text für den Tabellen-Header. Darf leer sein.\r\n* @param footer {string} - Generierter HTML-Text für die Tabellen-Fußzeile. Darf leer sein.\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n*/\r\nexport function getList(body, classes, header, footer, options) {\r\n var tmpl = \"\";\r\n classes = classes || \"\";\r\n header = (header && \"\" + header + \"\") || \"\";\r\n footer = (footer && \"\" + footer + \"\") || \"\";\r\n body = (body && \"\" + body + \"\") || \"\";\r\n\r\n tmpl = \"\"\r\n + header\r\n + footer\r\n + body\r\n + \"
\";\r\n return tmpl;\r\n}\r\n\r\n\r\n/**\r\n* Erzeugt die Listennavigation über einer Listenseite.\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n*/\r\nexport function getListNavigation(formData, options) {\r\n\r\n var tmpl = \"\";\r\n var searchLink = \"\";\r\n var csvExport = \"\";\r\n var firstPrevLinks = \"\";\r\n var nextLink = \"\";\r\n var application = GetApplication(true);\r\n var title = application && application.DataObject && application.DataObject.Title;\r\n\r\n var myRefSet = application.RefSetCache;\r\n var siteNo = myRefSet.encodeValue(\"A!asfTemplates\", \"SiteNo\");\r\n\r\n if (formData.AllowsFilter) {\r\n searchLink = \"
  • \";\r\n }\r\n\r\n if (formData.AllowsCsvExport) {\r\n csvExport = \"
  • \".format(formData.getCsvExportURL(), title);\r\n }\r\n\r\n if (formData.PageCount > 1) {\r\n firstPrevLinks = \"
  • \"\r\n + \"
  • \";\r\n if (formData.Page < formData.PageCount) {\r\n nextLink = \"
  • \";\r\n }\r\n }\r\n\r\n tmpl = \"\";\r\n\r\n return tmpl;\r\n\r\n}\r\n\r\n/**\r\n* Erzeugt die Listennavigation über einer Listenseite für erweiterte Listen.\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n*/\r\nexport function getListNavigationExt(options) {\r\n\r\n var tmpl = \"\";\r\n var searchLink = \"\";\r\n \r\n searchLink = \"
  • \";\r\n\r\n tmpl = \"
      \"\r\n + searchLink\r\n + \"
    \";\r\n + \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für eine Listenseite mit Listennavigation.\r\n* @param formData {asfForm} - Maskendefinition\r\n* @param options {object} - Optionen für die Maskengenerierung.\r\n*/\r\nexport function getListPageTemplate(formData, options) {\r\n\r\n var tmpl = \"\";\r\n\r\n tmpl = \"
    \"\r\n + \"
    \"\r\n + \"{0}\"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"{1}\"\r\n + \"
    \"\r\n + \"
    \";\r\n\r\n return tmpl;\r\n\r\n}\r\n\r\n/**\r\n* Erzeugt ein verstecktes Eingabeelement.\r\n* @param name {string} - Name des Parameters.\r\n* @param value {string} - Wert des Parameters.\r\n*/\r\nexport function getHiddenControl(name, value) {\r\n\r\n if (value === true) {\r\n value = \"1\";\r\n } else if (value === false || value === 0) {\r\n value = \"0\";\r\n } else if (value) {\r\n value = String(value).escapeHtml();\r\n } else {\r\n value = \"\";\r\n }\r\n\r\n return \"\".format(name, value);\r\n}\r\n\r\n/**\r\n* Erzeugt einen Hinweis-Link auf dem Hinweise-Tab einer Seite mit Tabs.\r\n*/\r\nexport function getErrorLink(tabId, ctrl, header, isFirst, options) {\r\n //TODO: an neue Generierung anpassen.\r\n var firstLinkId = \" id=\\\"firstErrorLink\\\"\"\r\n , tmpl = \"\"\r\n , labelCss = \"inputdetaillabel\"\r\n , errorLink = \"\";\r\n\r\n if (!isFirst) {\r\n firstLinkId = \"\";\r\n }\r\n\r\n if (ctrl.ErrorMessage) {\r\n\r\n tmpl = getDetailRowTemplate(false, options);\r\n\r\n errorLink = \"{3}\".format(firstLinkId, ctrl.Name, ctrl.TabNo, ctrl.ErrorMessage);\r\n\r\n //tmpl += \"\";\r\n //tmpl += \"\" + header.Label + \"\";\r\n //tmpl += \"\" + errorLink + \"\";\r\n //tmpl += \"\";\r\n\r\n return tmpl.format(getLabel(ctrl,header,options), errorLink, \"\");\r\n\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text eines Eingabeelements\r\n* @param ctrl {asfControl} - Definition des Eingabeelements.\r\n* @param header {asfHeader} - Defintion des Labels zum Eingabeelement.\r\n* @param formData {asfForm} - Maskendefinition.\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n*/\r\nexport function getControl(ctrl, header, formData, options) {\r\n\r\n var application = GetApplication()\r\n , tmpl = \"\"\r\n , ctrlClass = ctrl.CSS ? \" \" + ctrl.CSS : \"\"\r\n , toolTip = \"\"\r\n , errorClass = \"\"\r\n , escapedContent = \"\"\r\n , content = \"\"\r\n , optionTags = \"\"\r\n , value = \"\"\r\n , customId = null\r\n , format = \"\"\r\n , formattingFunction = null\r\n , hiddenStyle = \"\";\r\n\r\n if (ctrl.ErrorMessage) {\r\n errorClass = \" error\";\r\n toolTip = \" title=\\\"\" + ctrl.ErrorMessage + \"\\\"\";\r\n }\r\n\r\n format = (ctrl.FormatType ? \" data-format=\\\"\" + ctrl.FormatType + \"\\\"\" : \"\");\r\n\r\n\r\n escapedContent = (ctrl && typeof ctrl.Content != \"undefined\" && ctrl.Content !== null ? String(ctrl.Content).escapeHtml() : \"\");\r\n\r\n switch (ctrl.ControlType) {\r\n case ctrl.iCvNone:\r\n {\r\n break; //OK\r\n }\r\n case ctrl.iCvText:\r\n case ctrl.iCvResend:\r\n {\r\n ctrl.DefaultValue = ctrl.Content;\r\n content = ctrl.Content;\r\n if (ctrl.hasNumberFormat()) {\r\n content = application.ServerLocale.parseNumber(content);\r\n }\r\n if (ctrl.hasDateFormat()) {\r\n if (content !==\"\" && content !== null && typeof content !== \"undefined\") {\r\n content = application.ServerLocale.parseDate(content);\r\n }\r\n }\r\n tmpl = getReadOnlyTextControl(content, ctrl.FormatType, ctrl.ErrorMessage, ctrl.CSS, ctrl.Name, ctrl.Align);\r\n break; //OK\r\n }\r\n case ctrl.iCvTextInput:\r\n {\r\n ctrl.DefaultValue = ctrl.Content;\r\n tmpl = \"\";\r\n break; //OK\r\n }\r\n case ctrl.iCvSelect:\r\n {\r\n optionTags = application.RefSetCache.getOptions(ctrl.FormatType, escapedContent);\r\n ctrl.DefaultValue = ctrl.Content;\r\n\r\n tmpl = \"\";\r\n tmpl = tmpl.format(optionTags);\r\n break; //OK\r\n }\r\n case ctrl.iCvLink:\r\n {\r\n content = application.Formatter.formatValue(ctrl.FormatType, ctrl.Content) || \"\";\r\n tmpl = \"\" + content.escapeHtml() + \"\";\r\n break;\r\n }\r\n case ctrl.iCvHTMLLink:\r\n {\r\n content = application.Formatter.formatValue(ctrl.FormatType, ctrl.Content, false, true) || \" \";\r\n tmpl = \"\" + content + \"\";\r\n break;\r\n }\r\n case ctrl.iCvCheckBox:\r\n {\r\n\r\n value = (header.isSystemColumn() ? ctrl.Content : \"1\");\r\n ctrl.DefaultValue = (ctrl.Content === \"0\" ? null : ctrl.Content)\r\n let checked = \"\";\r\n if (ctrl.Content && ctrl.Content != \"0\") {\r\n checked = \" checked=\\\"true\\\"\"\r\n }\r\n\r\n if (header.isSystemColumn()) {\r\n tmpl = \"\";\r\n } else if (header.isHeaderCheckBoxColumn()) {\r\n tmpl = \"\";\r\n } else {\r\n tmpl = \"\";\r\n }\r\n\r\n break; //OK\r\n }\r\n case ctrl.iCvHidden:\r\n {\r\n ctrl.DefaultValue = ctrl.Content;\r\n tmpl = \"\";\r\n break; //OK\r\n }\r\n case ctrl.iCvTextArea:\r\n {\r\n ctrl.DefaultValue = ctrl.Content;\r\n tmpl = \"\" + escapedContent + \"\";\r\n tmpl += \"
    \" + String(String(ctrl.Content).replace(/\\n/g, \" \").length) + \" Zeichen von \" + String(ctrl.MaxLength) + \"
    \";\r\n break; //OK\r\n }\r\n case ctrl.iCvLabel:\r\n {\r\n tmpl = \"
    \" + escapedContent + \"
    \";\r\n break; //OK\r\n }\r\n case ctrl.iCvNumInput:\r\n {\r\n content = ctrl.Content;\r\n if (content) {\r\n content = application.ServerLocale.parseNumber(content);\r\n if (content !== null) {\r\n escapedContent = application.Formatter.formatValue(ctrl.FormatType, content);\r\n\r\n if (typeof escapedContent === \"string\") {\r\n escapedContent = escapedContent.escapeHtml();\r\n } else if (escapedContent === null || typeof escapedContent === \"undefined\") {\r\n escapedContent = \"\";\r\n }\r\n }\r\n ctrl.DefaultValue = escapedContent;\r\n\r\n }\r\n tmpl = \"\";\r\n break;\r\n }\r\n case ctrl.iCvHTML:\r\n {\r\n content = ctrl.Content;\r\n if (ctrl.hasDecodingFormat()) {\r\n content = application.Formatter.formatValue(ctrl.FormatType, content, false, true);\r\n }\r\n content = content || \" \";\r\n tmpl = \"\" + content + \"\";\r\n break; //OK\r\n }\r\n case ctrl.iCvWizard:\r\n {\r\n tmpl = \"\";\r\n break;\r\n }\r\n case ctrl.iCvReadonlyCheckBox:\r\n {\r\n let checked = \"\";\r\n if (ctrl.Content && ctrl.Content != \"0\") {\r\n checked = \" checked=\\\"true\\\"\"\r\n }\r\n\r\n tmpl = \"\";\r\n break; //OK\r\n }\r\n case ctrl.iCvPasswordBox:\r\n {\r\n tmpl = \"\";\r\n break; //OK\r\n }\r\n case ctrl.iCvDate:\r\n {\r\n content = ctrl.Content;\r\n if (content) {\r\n\r\n content = application.ServerLocale.parseDate(ctrl.Content);\r\n if (typeof content === \"undefined\") {\r\n escapedContent = ctrl.Content;\r\n } else {\r\n escapedContent = application.Formatter.formatValue(ctrl.FormatType, content);\r\n }\r\n\r\n if (typeof escapedContent === \"string\") {\r\n escapedContent = escapedContent.escapeHtml();\r\n } else if (escapedContent === null || typeof escapedContent === \"undefined\") {\r\n escapedContent = \"\";\r\n }\r\n\r\n ctrl.DefaultValue = escapedContent;\r\n }\r\n tmpl = \"\";\r\n break;\r\n }\r\n case ctrl.iCvCustom:\r\n case ctrl.iCvHiddenCustom:\r\n {\r\n customId = \"custom-\" + ctrl.Name;\r\n hiddenStyle = (ctrl.ControlType === ctrl.iCvHiddenCustom) ? \" style=\\\"display: none\\\"\" : \"\"\r\n tmpl = \"\";\r\n formData.addCustomControl(ctrl, header);\r\n break;\r\n }\r\n default:\r\n {\r\n tmpl = \"\" + escapedContent + \"\";\r\n break; //OK\r\n }\r\n }\r\n\r\n return tmpl;\r\n}\r\n\r\nexport function asfLabelledCheckBox(element, formData, param) {\r\n var ctrl = this;\r\n var tmpl = \"\";\r\n var labelControlName = formData.getControlName(param, this.Name);\r\n var labelCtrl = formData.Controls[labelControlName];\r\n var output = \"\";\r\n var ctrlClass = ctrl.CSS ? \" \" + ctrl.CSS : \"\"\r\n var toolTip = \"\";\r\n var errorClass = \"\";\r\n var value = \"\";\r\n\r\n if (ctrl.ErrorMessage) {\r\n errorClass = \" error\";\r\n toolTip = \" title=\\\"\" + ctrl.ErrorMessage + \"\\\"\";\r\n }\r\n\r\n if (labelCtrl && labelCtrl.Content) {\r\n tmpl = \"\";\r\n output = tmpl + getReadOnlyTextControl(labelCtrl.Content, labelCtrl.FormatType, labelCtrl.ErrorMessage, labelCtrl.CSS, labelCtrl.Name, labelCtrl.Align);\r\n }\r\n\r\n $(element).html(output);\r\n}\r\n\r\n/**\r\n* Erzeugt die innere Struktur einer Seite mit Tabs\r\n* Platzhalter: {0}: Generierter HTML-Text der Links, die als Tabs dargestellt werden.\r\n* {1}: Generierter HTML-Text der Tab-Panels, die von den Links gesteuert werden.\r\n*/\r\nexport function getTabbedPageTemplate(options) {\r\n\r\n var tmpl = \"\";\r\n\r\n tmpl = \"
      \"\r\n + \"{0}\"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"{1}\"\r\n + \"
    \";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt einen Link zum Ansteuern eines Tabs\r\n* @param id {string} - generierte Id zur eindeutigen Bestimmung des Tabs.\r\n* @param label {string} - Beschriftung des Links\r\n* @param options {object} - Optionen zur Maskengenerierung.\r\n*/\r\nexport function getTabHeaderLink(id, label, name, options) {\r\n\r\n var tmpl = \"\";\r\n var labelEditorButton = name ? getLabelEditorButton(null, name, \"FormName\", options) : \"\";\r\n\r\n tmpl = \"
  • \"\r\n + \"\" + label + labelEditorButton + \"\"\r\n + \"
  • \";\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt den Container für ein Tab-Panel.\r\n* @param id {string} - Eindeutige generierte Kennung des Tabs.\r\n* @param options {object} - Optionen zur Generierung.\r\n* \r\n* Platzhalter: {0}: Generierter HTML-Text des Tab-Inhalts.\r\n*/\r\nexport function getTabPanelTemplate(id, options) {\r\n\r\n var tmpl = \"\";\r\n\r\n tmpl = \"
    \"\r\n + \"{0}\"\r\n + \"
    \";\r\n\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n*Erzeugt das Template für eine Detail-Zeile. Die Detailzeile sieht Platz vor für eine\r\n* Gruppenüberschrift (groupLabel), eine Feldbeschriftung (label), das Control und einen \r\n* Hinweis.\r\n* Gibt es Gruppen-Überschriften, dann sollen alle anderen Felder um einen entsprechenden \r\n* Abstand nach rechts gerückt werden, und die Fehlermeldungsspalte soll den Platz aufnehmen,\r\n* der gewonnen wird, wenn es keine Gruppenüberschriften gibt.\r\n*\r\n* @param hasGroups {boolean} - Gibt es in der Maske Gruppenüberschriften?\r\n* @param options {object} - Optionen für die Generierung, enthalten die Angaben darüber, wie breit die einzelnen\r\n* Bestandteile der Zeile jeweils sein sollen, in Form von css-Klassen.\r\n*\r\n* Platzhalter:\r\n* {0}: Generierter HTML-Text der Beschriftung (Label).\r\n* {1}: Generierter HTML-Text des Eingabeelements (Control).\r\n* {2}: Generierter HTML-Text des Fehler-Hinweises (ErrorHint).\r\n* {3}: Gruppenüberschrift (GroupLabel) (falls hasGroups gesetzt wurde).\r\n*/\r\nexport function getDetailRowTemplate(hasGroups, options) {\r\n\r\n var tmpl = \"\";\r\n var labelCss = (options && options.detailOptions && options.detailOptions.labelCss) || \"col-sm-4\";\r\n var groupCss = (options && options.detailOptions && options.detailOptions.groupCss) || \"col-sm-4\";\r\n var controlCss = (options && options.detailOptions && options.detailOptions.controlCss) || \"col-sm-8\";\r\n var errorCss = (options && options.detailOptions && (hasGroups ? options.detailOptions.groupedErrorCss : options.detailOptions.errorCss)) || \"col-sm-8\";\r\n\r\n tmpl = \"
    \"\r\n + (hasGroups ? \"
    {3}
    \" : \"\")\r\n + \"
    {0}
    \"\r\n + \"
    {1}
    \"\r\n + \"
    {2}
    \"\r\n + \"
    \";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Code einer Gruppenüberschrift auf einer Detail-Ansicht.\r\n* @param groupLabel {string} - Überschrift\r\n* @param classes {string} - CSS-Klassen zur Formatierung\r\n* @param options {object} - Generierungsoptionen\r\n*/\r\nexport function getGroupLabel(groupLabel, classes, options) {\r\n var tmpl = \"{1}\";\r\n\r\n if (groupLabel) {\r\n classes = (classes ? \" class=\\\"{0}\\\"\".format(classes) : \"\");\r\n\r\n return tmpl.format(classes, groupLabel);\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nexport function getLabelEditorButton(controlName, refclass, textkey, options) {\r\n if (!textkey && !refclass && !controlName) return \"\";\r\n\r\n controlName = !!controlName ? \" data-control-name=\\\"\" + controlName + \"\\\"\" : \"\";\r\n refclass = !!refclass ? \" data-ref-class=\\\"\" + refclass + \"\\\"\" : \"\";\r\n textkey = !!textkey ? \" data-text-key=\\\"\" + textkey + \"\\\"\" : \"\";\r\n\r\n return (options && options.canUseLabelEditor) ? \"\" : \"\";\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Code einer Feldbeschriftung in einer Detail-Ansicht.\r\n* @param ctrl {asfControl} - Eingabeelement\r\n* @param header {asfHeader} - Definition der Beschriftung\r\n* @param options {object} - Generierungsoptionen\r\n*/\r\nexport function getLabel(ctrl, header, options) {\r\n\r\n if (ctrl.ControlType == ctrl.iCvHiddenCustom) {\r\n return \"\"\r\n }\r\n\r\n var editorButton = getLabelEditorButton(ctrl.Name, null, null, options);\r\n\r\n var leaders = (header.Label === \" \" ? \"\" : \" class=\\\"leaders\\\"\");\r\n var tmpl = \"\"\r\n + \"\"\r\n + \"\";\r\n var label = (options && options.allowHtml ? header.Label : header.Label.escapeHtml())\r\n\r\n if (header.Link) {\r\n tmpl = tmpl.format(\"{0}{3}\", \"{1}\",\"{2}\",\"\"); //label\r\n }\r\n\r\n return tmpl.format(label, ctrl.Name, header.Link, editorButton);\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für ein Fehlermeldungsfeld.\r\n* @param ctrl {asfControl} - Eingabeelement\r\n* @param header {asfHeader} - Beschriftungsdefinition\r\n* @param options {object} - Generierungsoptionen\r\n*/\r\nexport function getErrorHint(ctrl, header, options) {\r\n var tmpl = \"

    {0}

    \";\r\n\r\n return tmpl.format(ctrl.ErrorMessage, ctrl.Name);\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für eine Zelle in einem Grid-Layout.\r\n*\r\n* Platzhalter:\r\n* {0}: css-Klassen zur Positionierung der Zelle in der Zeile.\r\n* {1}: Zelleninhalt (Control etc.).\r\n*/\r\nexport function getGridCellTemplate(options) {\r\n return \"
    {1}
    \";\r\n}\r\n\r\n/**\r\n* Liefert die CSS-Klassen für die Bestimmung der Breite einer Zelle in einem \r\n* Grid-Layout.\r\n*/\r\nexport function getGridCellPositionClasses(cols, options) {\r\n return \"col-xs-\" + cols;\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für eine Zeile in einem Grid-Layout.\r\n* \r\n* Platzhalter:\r\n* {0}: Generierter HTML-Text der Zellen in der Zeile.\r\n*/\r\nexport function getGridRowTemplate(options) {\r\n return \"
    {0}
    \";\r\n}\r\n\r\n/**\r\n* Erzeugt das Form-Tag, welches alle Eingabeelemente einer Maske umschließt.\r\n* @param formData {asfForm} - Maskendefinition \r\n* @param hiddenControls {string} - HTML-Text der unsichtbaren Eingabeelemente\r\n* @param visibleContent {string} - HTML-Text der darzustellenden Eingabemaske\r\n* @param options {object} - Generierungsoptionen\r\n*/\r\nexport function getFormTag(formData, hiddenControls, visibleContent, options) {\r\n\r\n var formTempl = \"
    \" +\r\n \"{1}{2}\" +\r\n \"
    \";\r\n\r\n return formTempl.format(formData.EvaluateURL,\r\n hiddenControls,\r\n visibleContent);\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für eine Nachricht, die ganzseitig angezeigt wird.\r\n* @param message {string} - Text der Nachricht\r\n* @param showRestoreDataLink {boolean} - Soll der Link \"Daten wiederherstellen\" angezeigt werden?\r\n* @param options {object} - Generierungsoptionen\r\n* @param formatType {string} - Zum dekodieren aus anderen RefSets (Das RefSet muss im Applicaiton Objekt bereits gleaden sein!)\r\n* @param textKey {string} - Schlüssel zum dekodieren aus anderen RefSets (Das RefSet muss im Applicaiton Objekt bereits gleaden sein!)\r\n*/\r\nexport function getMessage(message, showRestoreDataLink, options,formatType,textKey) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n var decMessage = \"\";\r\n\r\n if (formatType && textKey) {\r\n decMessage = myRefSet.encodeValue(formatType, textKey) || \"\";\r\n message = decMessage;\r\n }\r\n\r\n var decRestoreData = myRefSet.encodeValue(\"A!asfTemplates\", \"RestoreData\") || \"Daten wiederherstellen.\";\r\n\r\n var tmpl = \"
    \"\r\n + \"
    {0}
    \"\r\n + \"
    \"\r\n + ( showRestoreDataLink ? \r\n \"\" : \"\");\r\n var classes = (options && options.messageCss) || \"col-xs-20\";\r\n\r\n return tmpl.format(message, classes);\r\n}\r\n\r\n\r\n/**\r\n* Erzeugt das Template für die äußere Struktur des Navigationsmenüs.\r\n*\r\n* Platzhalter:\r\n* {0}: Generierter HTML-Text der Menüabschnitte.\r\n*/\r\nexport function getMenuTemplate() {\r\n\r\n var templ = \"\";\r\n\r\n // templ += '
    ' ;\r\n templ = \"\";\r\n\r\n return templ;\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für eine Checkbox, die von der Funktion \"Menü Filtern\" ins Navigationsmenü eingeblendet wird.\r\n* @param entry {asfNavigationEntry} - Definition des Menüeintrags\r\n* @param showFilter {boolean} - Gibt an, ob die Funktion Menü Filtern gerade aktiv ist.\r\n* @param sectionCount {number} - Den ersten Abschnitt kann man nie ausblenden.\r\n*/\r\nfunction getNavMenuCheckBox(entry, showFilter, sectionCount) {\r\n var result = \"\"\r\n , checked = (entry && entry.Position == 5 ? \"\" : \" checked=\\\"true\\\"\");\r\n\r\n if (showFilter && sectionCount) {\r\n result = \"\".format(entry.NavStatus, checked);\r\n // onclick=\\\"this.checked=!this.checked; return false;\\\"\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n* Erzeugt das Template für einen Menüabschnitt, den man zusammenklappen kann.\r\n* @param entry {asfNavigationEntry} - Definition der Abschnittsüberschrift.\r\n* @param showFilter {boolean} - Ist die Funktion Menü Filtern aktiv?\r\n* @param sectionCount {number} - Fortlaufende Nummer des Menüabschnitts.\r\n*\r\n* Platzhalter: \r\n* {0}: Abschnittsüberschrift\r\n* {1}: HTML-Text der Menüeinträge für den Abschnitt.\r\n* {2}: CSS-Klasse, die Abschnitt als aktiv kennzeichnet.\r\n*/\r\nexport function getNavMenuSectionTemplate(entry, showFilter, sectionCount) {\r\n\r\n var tmpl = \"\"\r\n , checkbox = getNavMenuCheckBox(entry, showFilter, sectionCount)\r\n , headId = \"navhead-\" + entry.NavStatus\r\n , panelId = \"navpanel-\" + entry.NavStatus;\r\n\r\n tmpl += \"
    \"\r\n + \"
    \"\r\n + \"

    \"\r\n + checkbox\r\n + \"\"\r\n + \"

    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
      \"\r\n + \"{1}\"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \";\r\n\r\n return tmpl;\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für einen Eintrag im Navigationsmenü\r\n* @param entry {asfNavigationEntry} - Definition des Menüeintrags\r\n* @param showFilter {boolean} - Ist die Funktion Menü Filtern aktiv?\r\n* @param sectionCount {number} - Laufende Nummer des Menüabschnitts. Im ersten Abschnitt kann man keine Einträge ausblenden.\r\n* @param functionCall {string} - Funktionsaufruf für das Click-Event des Menüeintrags. Optional.\r\n*/\r\nexport function getNavMenuEntry(entry, showFilter, sectionCount, functionCall) {\r\n\r\n var navStatus = null\r\n , objectId = null\r\n , metaCssClass = \"\"\r\n , lnkOffSet = 10\r\n , marginLeft = 0\r\n , checkbox = null\r\n , href = null\r\n\r\n , linkStart = null\r\n , linkEnd = null\r\n , tmpl = \"\";\r\n\r\n if (entry.isHidden()) {\r\n return \"\";\r\n }\r\n\r\n navStatus = (entry.NavStatus ? \"\\'\" + entry.NavStatus + \"\\'\" : \"null\");\r\n objectId = (entry.ObjectId ? \"\\'\" + entry.ObjectId + \"\\'\" : \"null\");\r\n\r\n checkbox = getNavMenuCheckBox(entry, showFilter, sectionCount);\r\n href = entry.formatHash();\r\n\r\n functionCall = (functionCall ? \" onclick=\\\"\" + functionCall + \"\\\"\" : (showFilter ? \" onclick=\\\"return false;\\\"\" : \" onclick=\\\"return Navigate(\" + navStatus + \",\" + objectId.escapeHtml() + \");\\\"\"));\r\n\r\n marginLeft = (entry.getNavLevel() * lnkOffSet);\r\n\r\n metaCssClass = entry.CurrentCSS;\r\n\r\n if (entry.isUpper()) {\r\n metaCssClass += \" ic-expanded\";\r\n }\r\n\r\n if (entry.isCurrent()) {\r\n metaCssClass += \" ic-selected\";\r\n }\r\n\r\n\r\n tmpl = \"\"\r\n + checkbox\r\n + \"\"\r\n + entry.Text\r\n + \"\"\r\n + \"\";\r\n\r\n return tmpl;\r\n\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für einen Breadcrumb-Link\r\n* @param entry {asfNavigationEntry} - Definition des Navigationseintrags. Kann null sein, wenn es sich um einen Abschnittsüberschrift handelt,.\r\n* @param text {string} - Beschriftung des Links. Wird nur ausgewertet, wenn entry null ist. \r\n*/\r\nexport function getBreadcrumbLink(entry, text) {\r\n\r\n var navStatus = \"null\"\r\n , objectId = \"null\"\r\n , href = \"#\"\r\n , functionCall = \"return false;\"\r\n , tmpl = \"\";\r\n\r\n\r\n if (entry) {\r\n if (entry.isHidden()) {\r\n return \"\";\r\n }\r\n navStatus = (entry.NavStatus ? \"\\'\" + entry.NavStatus + \"\\'\" : \"null\");\r\n objectId = (entry.ObjectId ? \"\\'\" + entry.ObjectId + \"\\'\" : \"null\");\r\n functionCall = \"Navigate(\" + navStatus + \",\" + objectId.escapeHtml() + \");\";\r\n href = entry.formatHash();\r\n text = entry.Text;\r\n }\r\n\r\n\r\n tmpl = \"\"\r\n + \"\"\r\n + text\r\n + \"\"\r\n + \"\";\r\n\r\n return tmpl;\r\n\r\n}\r\n\r\n/**\r\n* Erzeugt den HTML-Text für einen animierten, nicht endenden Ladebalken.\r\n*/ \r\nexport function getLoadIndicator() {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var decLoadingData = myRefSet.encodeValue(\"A!asfTemplates\", \"LoadingData\") || \"Daten werden geladen.\";\r\n\r\n var tmpl = \"
    \"\r\n + \"
    \"\r\n + \"\" + decLoadingData + \"\"\r\n + \"
    \"\r\n + \"
    \";\r\n\r\n return tmpl;\r\n}\r\n\r\nexport function getFreeLoadIndicator() {\r\n\r\n return \"
    \" + getLoadIndicator() + \"
    \";\r\n}\r\n\r\nexport function getReadOnlyTextControl(content, formatType, errorMessage, cssClass, controlName, align, options) {\r\n var application = GetApplication();\r\n var tmpl = \"\";\r\n var ctrlClass = cssClass ? \" \" + cssClass : \"\";\r\n var toolTip = \"\";\r\n var errorClass = \"\";\r\n var escapedContent = \"\";\r\n var format = \"\";\r\n var readOnlyClass = (options && options.forLabel ? \"\" : \" ic-readonly\")\r\n\r\n align = (align ? \" text-align\" + align : \" text-alignleft\");\r\n\r\n if (errorMessage) {\r\n errorClass = \" error\";\r\n toolTip = \" title=\\\"\" + errorMessage + \"\\\"\";\r\n }\r\n\r\n format = (formatType ? \" data-format=\\\"\" + formatType + \"\\\"\" : \"\");\r\n\r\n escapedContent = application.Formatter.formatValue(formatType, content);\r\n if (!application.Formatter.isDecodingFormat(formatType)) {\r\n escapedContent = escapedContent.escapeHtml();\r\n }\r\n\r\n content = (content !== null && typeof content !== \"undefined\" && content !== \" \" && content !== \"\" ? escapedContent : \" \");\r\n content = content.replace(/\\n/g, \"
    \");\r\n tmpl = \"\" + content + \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\nexport function getGroupValueContent(value, id, indent, expanded) {\r\n var result = \"\";\r\n var cssClass = expanded ? \"class=\\\"listtabledata ic-groupvalue ic-expanded\\\"\" : \"class=\\\"listtabledata ic-groupvalue ic-collapsed\\\"\"\r\n if (value) {\r\n result = \"{0}\".format(value, id, indent, cssClass);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function getPosDescContent(value, id) {\r\n var result = \"\";\r\n \r\n if (value) {\r\n result = \"{0}\".format(value);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function getNomValAmtAssetCcyContent(value, id) {\r\n var result = \"\";\r\n\r\n if (value) {\r\n result = \"{0}\".format(value);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function getSessionStatus(application, time) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n \r\n var timeString = myRefSet.encodeValue(\"A!asfTemplates\", \"TimeString\") || \"Angemeldet als: {0} | Sitzungsende {1} Uhr\";\r\n\r\n return timeString.format(application.UserId, time);\r\n\r\n}\r\n\r\nexport function getDashPanel(index, name, prompt, hideObjectSelector) {\r\n\r\n var objectSelector = !hideObjectSelector ? \"
    \" : \"\";\r\n\r\n var tmpl = \"
    \" //
    \r\n + \"
    \"\r\n + \"
    {3}
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    {2}
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \"\r\n + \"
    \";\r\n\r\n prompt = prompt || \"\";\r\n\r\n return tmpl.format(index, name, prompt, objectSelector);\r\n}\r\n\r\nexport function getEmptyDashPanel(name) {\r\n return getDashPanel(-1, name, \"\", true);\r\n}\r\n\r\nexport function getDashPanelViewSelector(index, name, dashPanelDefs) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var decClose = myRefSet.encodeValue(\"A!asfTemplates\", \"Close\");\r\n var decSelectView = myRefSet.encodeValue(\"A!asfTemplates\", \"SelectView\");\r\n\r\n var tmpl = \"
    \"\r\n + \"\"\r\n + \"\"\r\n + \"
    \";\r\n\r\n var itemTmpl = \"
  • {2}
  • \";\r\n var items = [];\r\n\r\n if (dashPanelDefs && dashPanelDefs.length) {\r\n\r\n items = (dashPanelDefs && dashPanelDefs.length && dashPanelDefs.map(function (dashPanelDef) {\r\n return itemTmpl.format(name, dashPanelDef.name, dashPanelDef.title);\r\n })) || [];\r\n }\r\n\r\n var icon = (index === -1 ? \"plus\" : \"menu-hamburger\")\r\n return tmpl.format(index, name, items.join(\"\"), icon);\r\n\r\n}\r\n\r\n\r\nexport function getDashPanelObjectSelector(index, name, dashPanelDefs) {\r\n var tmpl = \"\";\r\n\r\n return tmpl;\r\n}\r\n\r\nexport function getOptionTagTemplate() {\r\n return \"\";\r\n}\r\n\r\nexport function getCustomActionButton(name, label) {\r\n if (label && label.endsWith(\":\")) {\r\n label = label.substring(0, label.length - 1);\r\n }\r\n return (\"\")\r\n}\r\n\r\nexport function getCustomSubmitButton(name, label) {\r\n return (\"\")\r\n}\r\n\r\n\r\nexport function getImmediateLink(entry, showFilter, sectionCount) {\r\n\r\n //var result = \"\";\r\n return entry.Text;\r\n}\r\n\r\nexport function getTestTitleInput(label) {\r\n return (\"

    \");\r\n}\r\n\r\nexport function getTestDownloadLink(label, href, filename) {\r\n return (\"\".format(label, href, filename));\r\n}","export function asfUserProfile(application) {\r\n\r\n var profile = {};\r\n\r\n this.getProfile = getProfile;\r\n this.setProfile = setProfile;\r\n\r\n function getProfile(profileKey) {\r\n var q = application.MyWindow.jQuery;\r\n var myDeferred = new q.Deferred();\r\n var data = null;\r\n\r\n if (typeof profile[profileKey] !== \"undefined\") {\r\n myDeferred.resolve(profile[profileKey]);\r\n } else {\r\n\r\n data = \"ProfileKey={0}\".formatURI(profileKey);\r\n\r\n postUserProfile(data, function (request) { receiveUserProfile(request, profileKey, myDeferred) });\r\n }\r\n\r\n return myDeferred.promise();\r\n\r\n }\r\n\r\n function setProfile(profileKey, profileData) {\r\n\r\n var data = \"ProfileKey={0}&ProfileData={1}\";\r\n\r\n profile[profileKey] = profileData;\r\n\r\n if (typeof profileData === \"undefined\") {\r\n profileData = null;\r\n }\r\n\r\n data = data.formatURI(profileKey, JSON.stringify(profileData));\r\n \r\n postUserProfile(data, function (request) { });\r\n }\r\n\r\n function receiveUserProfile(request, profileKey, myDeferred) {\r\n\r\n var profileData = null;\r\n\r\n try {\r\n profileData = JSON.parse(request.responseText);\r\n profile[profileKey] = profileData;\r\n\r\n myDeferred.resolve(profileData);\r\n } catch (ex) {\r\n myDeferred.reject(ex);\r\n }\r\n\r\n }\r\n\r\n function postUserProfile(data, callback) {\r\n var request = null;\r\n\r\n request = application.ajaxWithAuthorization({\r\n url: \"asfDataServer.asp\",\r\n method: \"POST\",\r\n contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n data: data,\r\n success: function () { callback(request); }\r\n });\r\n\r\n }\r\n}","\r\n//Klasse asfValueCache\r\nexport function asfValueCache() {\r\n\r\n this.Values = {};\r\n this.cacheChangedValues = asfValueCacheCacheChangedValues;\r\n this.cacheAllValues = asfValueCacheCacheAllValues;\r\n this.restoreValues = asfValueCacheRestoreValues;\r\n this.discardValues = asfValueCacheDiscardValues;\r\n}\r\n\r\nfunction asfValueCacheGetKey(application) {\r\n\r\n var result = null;\r\n\r\n if (application && application.Form) {\r\n result = \"*{0}*{1}*{2}\".format(application.Form.NavStatus, application.Form.ObjectId, application.Form.FormName);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction asfValueCacheCacheChangedValues(application) {\r\n\r\n var key = asfValueCacheGetKey(application)\r\n , values = null;\r\n\r\n if (key) {\r\n values = application.Form.getChangedValues();\r\n this.Values[key] = values;\r\n }\r\n}\r\n\r\nfunction asfValueCacheCacheAllValues(application) {\r\n var key = asfValueCacheGetKey(application)\r\n , values = null;\r\n\r\n if (key) {\r\n values = application.Form.getAllValues();\r\n this.Values[key] = values;\r\n }\r\n}\r\n\r\nfunction asfValueCacheRestoreValues(application) {\r\n var key = asfValueCacheGetKey(application);\r\n var values = null;\r\n var form = application && application.Form && application.Form.getForm();\r\n\r\n // Fix für Firefox-Bug: verhindern, dass FireFox willkürlich Werte in Felder schreibt.\r\n\r\n if (form && form.reset) {\r\n form.reset();\r\n }\r\n\r\n if (key) {\r\n values = this.Values[key];\r\n if (values && values.length) {\r\n application.Promises.onFormActivated().done(function () {\r\n form = application.Form.getForm();\r\n application.Form.setValues(values);\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction asfValueCacheDiscardValues(application) {\r\n var key = asfValueCacheGetKey(application);\r\n\r\n if (key) {\r\n this.Values[key] = null;\r\n }\r\n}\r\n","import { GetApplication } from \"./asfScripts.js\";\r\n\r\n// Klasse asfWizard\r\nexport function asfWizard(url, row, targetForm, extend, setDefaults) {\r\n\r\n this.URL = url;\r\n this.Row = (row ? row : 1);\r\n this.TargetForm = targetForm;\r\n this.Extend = extend;\r\n\r\n this.Params = url.getURIParameters();\r\n this.QueryForm = null;\r\n this.DataForm = null;\r\n this.FocusTarget = null;\r\n\r\n\r\n function asfWizardOpenUpload() {\r\n\r\n var application = GetApplication(false)\r\n , $ = application.MyWindow.jQuery\r\n , uploadFrame = application.MyWindow.frames[\"Upload\"]\r\n , formElement = this.QueryForm.getForm()\r\n , formData = $(formElement).serialize()\r\n , url = \"asfFileUpload.asp?\" + formData;\r\n\r\n url = application.appendSessionId(url, false);\r\n\r\n uploadFrame.location.href = url;\r\n\r\n $(\"#wizardQuery\").hide();\r\n $(\"#wizardUpload\").show();\r\n\r\n }\r\n\r\n function asfWizardCloseUpload() {\r\n\r\n var application = GetApplication(false)\r\n , $ = application.MyWindow.jQuery;\r\n\r\n $(\"#wizardUpload\").hide();\r\n $(\"#wizardQuery\").show();\r\n\r\n }\r\n\r\n function asfWizardGetQueryURL() {\r\n\r\n var wizard = this\r\n , url = wizard.URL.replace(\"asfWizardStart.asp?\", \"asfWizardQuery.asp?\");\r\n\r\n return url;\r\n }\r\n\r\n function asfWizardSetCondition(name, value) {\r\n\r\n var controlName = \"\";\r\n\r\n if (this.QueryForm) {\r\n controlName = this.QueryForm.getControlName(name, \"ObjectId_0_1\");\r\n\r\n this.QueryForm.setValue(controlName, value);\r\n }\r\n }\r\n\r\n function asfWizardSetParam(name, value) {\r\n\r\n var application = GetApplication(false);\r\n var controlName = \"\";\r\n var form;\r\n\r\n if (this.QueryForm) {\r\n \r\n form = this.QueryForm.getForm();\r\n this.QueryForm.setElementValue(form, name, value);\r\n };\r\n\r\n }\r\n\r\n function asfWizardGetCondition(name) {\r\n\r\n var controlName = \"\";\r\n\r\n if (this.QueryForm) {\r\n controlName = this.QueryForm.getControlName(name, \"ObjectId_0_1\");\r\n\r\n return this.QueryForm.getValue(controlName);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n function asfWizardInitQuery(queryForm) {\r\n\r\n // $(\"#wizardUpload\").hide();\r\n // $(\"#wizardQuery\").show();\r\n\r\n var defaults = this.Params[\"Default\"]\r\n , hasFocused = false\r\n , elementName = null\r\n , queryElement = null\r\n , initFinder = /w_([^_]*)_([^_]+)/\r\n , defaultInits = defaults.split(\";\")\r\n , n = 0\r\n , i = 0\r\n , value = null\r\n , match = null\r\n , tabName = null\r\n , propertyName = null;\r\n\r\n this.QueryForm = queryForm;\r\n\r\n if (defaults) {\r\n\r\n n = Math.floor(defaultInits.length / 2);\r\n\r\n for (i = 0; i < n; i += 1) {\r\n queryElement = defaultInits[i * 2];\r\n value = defaultInits[i * 2 + 1];\r\n\r\n match = initFinder.exec(value);\r\n if (match) {\r\n tabName = match[1];\r\n propertyName = match[2];\r\n\r\n if (tabName) {\r\n elementName = this.TargetForm.getElementName(tabName, propertyName, this.Row);\r\n } else {\r\n elementName = this.TargetForm.getControlName(propertyName, this.FocusTarget);\r\n }\r\n value = this.TargetForm.getValue(elementName);\r\n }\r\n\r\n if (value !== null) {\r\n elementName = this.QueryForm.getElementName(0, queryElement, 1);\r\n\r\n this.QueryForm.setValue(elementName, value, false, false, true);\r\n if (!hasFocused) {\r\n hasFocused = this.QueryForm.focus(elementName);\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n if (typeof this.setDefaults === \"function\") {\r\n this.setDefaults.call(this);\r\n }\r\n\r\n }\r\n\r\n\r\n function asfWizardFinish(result) {\r\n\r\n var elementName = null\r\n , value = null\r\n , hasValue = false\r\n , targetElement = null\r\n , match = null\r\n , tabName = null\r\n , propertyName = null\r\n , validate = false\r\n , i = 0\r\n , targetFinder = /^(([^_]+)_)?((?!v$)[^_]*)(_v)?$/\r\n , target = null;\r\n\r\n if (result && result.length) {\r\n\r\n for (i = 0; i < result.length; i += 1) {\r\n target = result[i];\r\n if (target && target.length && target.length >= 1) {\r\n\r\n targetElement = target[0];\r\n match = targetFinder.exec(targetElement);\r\n if (match) {\r\n tabName = match[2];\r\n propertyName = match[3];\r\n validate = !!match[4];\r\n\r\n if (tabName) {\r\n elementName = this.TargetForm.getElementName(tabName, propertyName, this.Row);\r\n } else {\r\n elementName = this.TargetForm.getControlName(propertyName, this.FocusTarget);\r\n }\r\n\r\n if (elementName) {\r\n hasValue = (target.length === 2);\r\n if (hasValue) {\r\n value = target[1];\r\n this.TargetForm.setValue(elementName, value, validate);\r\n } else if (validate) {\r\n this.TargetForm.revalidate(elementName, \"\");\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function asfWizardSetTitle(data) {\r\n\r\n var content = \" \";\r\n\r\n if (data && data.WizardTitle) {\r\n content = data.WizardTitle;\r\n }\r\n\r\n $(\"#wizard\").wizard(\"option\", \"title\", content);\r\n\r\n }\r\n\r\n function asfWizardShowLoadIndicator(show,text) {\r\n\r\n if (text) {\r\n $(\"#wizard\").wizard(\"option\", \"loadIndicatorText\", text);\r\n }\r\n $(\"#wizard\").wizard(\"option\", \"showLoadIndicator\", show);\r\n\r\n }\r\n\r\n function asfWizardQuery() {\r\n\r\n var application = GetApplication(false);\r\n var formElement = this.QueryForm.getForm();\r\n application.post(formElement);\r\n\r\n }\r\n\r\n this.setTitle = asfWizardSetTitle;\r\n this.initQuery = asfWizardInitQuery;\r\n this.finish = asfWizardFinish;\r\n this.getQueryURL = asfWizardGetQueryURL;\r\n this.setDefaults = setDefaults;\r\n this.openUpload = asfWizardOpenUpload;\r\n this.closeUpload = asfWizardCloseUpload;\r\n this.getCondition = asfWizardGetCondition;\r\n this.setCondition = asfWizardSetCondition;\r\n this.query = asfWizardQuery;\r\n this.setParam = asfWizardSetParam;\r\n this.showLoadIndicator = asfWizardShowLoadIndicator;\r\n}\r\n","// Init-Funktionen\r\nexport { amcSetTrxAssetDefaults, amcSetTrxAssetDefaultsFut, amcSetQuickTrxAssetDefaults } from \"./amcBusiness.js\";\r\n","import React, { useEffect, useState, StrictMode } from \"react\";\r\nimport { OpenWebSite } from \"../HTMLReferencedFunctions\";\r\n\r\n\r\nconst DATEVLoginStatus = {\r\n Disconnected: 0,\r\n Connecting: 1,\r\n Connected: 2,\r\n ErrorConnecting: 3,\r\n ConnectedRunningUploads: 4,\r\n ConnectionExpired: 5\r\n}\r\n\r\nfunction isConnected(loginStatus) {\r\n return (loginStatus === DATEVLoginStatus.Connected || loginStatus === DATEVLoginStatus.ConnectedRunningUploads)\r\n}\r\nexport function DATEVUserStatus({ application, NavStatus, ObjectId }) {\r\n\r\n const [userName, setUserName] = useState(\"\")\r\n const [loginStatus, setLoginStatus] = useState()\r\n const [errorMessage, setErrorMessage] = useState(\"\")\r\n const [loginExpiry, setLoginExpiry] = useState(\"\")\r\n const [runningJobs, setRunningJobs] = useState([])\r\n\r\n function openWebsiteAndReload(url) {\r\n var datevLogin = OpenWebSite(url, \"DATEVLogin\");\r\n\r\n function checkForClose() {\r\n const checkurl = \"/api/datev/loginstatus\"\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: checkurl\r\n }).done((result) => {\r\n if (result === DATEVLoginStatus.Connecting) {\r\n application.setPageTimeout(checkForClose, 2000);\r\n } else {\r\n datevLogin.close()\r\n if (isConnected(result)) {\r\n application.navigate(\"InfoDATEVStatusConnected\", \"1$Info\");\r\n } else {\r\n application.navigate(\"InfoDATEVStatusDisconnected\", \"1$Info\");\r\n }\r\n }\r\n })\r\n\r\n }\r\n\r\n application.setPageTimeout(checkForClose, 2000);\r\n }\r\n\r\n function openExternalWebsite(event) {\r\n event.preventDefault();\r\n OpenWebSite(\"https://apps.datev.de/tokrevui\", \"_blank\")\r\n }\r\n\r\n const onGetUserStatus = (force) => {\r\n const url = force ? \"/api/datev/userinfo?force=true\" : \"/api/datev/userinfo\"\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n setUserName(result.Name)\r\n setLoginStatus(result.DATEVLoginStatus)\r\n setErrorMessage(result.ErrorMessage)\r\n setLoginExpiry(result.ExpiryDate)\r\n })\r\n }\r\n\r\n const onLogin = () => {\r\n const url = \"/api/datev/login\"\r\n\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n setLoginStatus(DATEVLoginStatus.Connecting)\r\n if (result.RedirectUrl) {\r\n openWebsiteAndReload(result.RedirectUrl)\r\n } else {\r\n application.navigate(\"InfoDATEVStatusConnected\", \"1$Info\");\r\n }\r\n })\r\n }\r\n\r\n const onLogout = () => {\r\n const url = \"/api/datev/logout\"\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n application.navigate(\"InfoDATEVStatusDisconnected\", \"1$Info\");\r\n })\r\n }\r\n\r\n\r\n const onForceLogout = () => {\r\n const url = \"/api/datev/logout?force=true\"\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n application.navigate(\"InfoDATEVStatusDisconnected\", \"1$Info\");\r\n })\r\n }\r\n\r\n const onGetRunningUploadJobs = () => {\r\n const url = \"/api/datev/runninguploads\"\r\n if (!isConnected(loginStatus)) {\r\n setRunningJobs([])\r\n return;\r\n }\r\n application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url: url\r\n }).done((result) => {\r\n setRunningJobs(result)\r\n })\r\n }\r\n\r\n const onBusLinkClick = (e) => {\r\n const element = e.target;\r\n if (element.localName === \"a\" && element.classList.contains(\"busLink\")) {\r\n e.preventDefault();\r\n\r\n const target = application.analyseHash(element.href);\r\n const url = \"asfNavController.asp?NavStatus={0}&ObjectId={1}&EndAction={2}\".format(target.NavStatus, encodeURIComponent(target.ObjectId), target.EndAction);\r\n\r\n if (url) {\r\n application.load(url);\r\n }\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n application.updateTitle(\"DATEV Verbindungsstatus\",)\r\n application.RefSetCache.updateRefSets([\"N!amcDATEVLoginStatus\"]).done(\r\n () => {\r\n onGetUserStatus()\r\n onGetRunningUploadJobs()\r\n })\r\n }, [application, NavStatus, ObjectId, loginStatus])\r\n\r\n\r\n let statusString = isFinite(loginStatus) ? application.RefSetCache.encodeValue(\"N!amcDATEVLoginStatus\", loginStatus) : \"\"\r\n if (errorMessage) {\r\n statusString += \", \" + errorMessage\r\n }\r\n\r\n let expiryString = loginExpiry && application.Formatter.formatValue(\"dd.mm.yyyy hh:nn:ss\", new Date(loginExpiry))\r\n\r\n return (\r\n \r\n
    \r\n \r\n { onGetUserStatus(true); onGetRunningUploadJobs() }}} />\r\n {!isConnected(loginStatus) ? (<>) : null}\r\n {loginStatus == DATEVLoginStatus.Connected ? (<>) : null}\r\n {loginStatus == DATEVLoginStatus.ConnectedRunningUploads ? (<>) : null}\r\n \r\n }>\r\n \r\n \r\n {loginStatus === DATEVLoginStatus.ConnectedRunningUploads ? () : null}\r\n {isConnected(loginStatus) ? () : null}\r\n {isConnected(loginStatus) ? () : null}\r\n \r\n

    Nach erfolgreicher Anmeldung kann die Berechtigung zur Übermittlung von Daten bei Bedarf über die DATEV App \"Verbundene Anwendungen\" widerrufen werden. Damit eine Weiterleitung zu DATEV “Verbundene Anwendungen” erfolgen kann, muss zuerst erneut die Berechtigung erteilt und nach Widerruf der Verbindungsstatus aktualisiert werden.

    \r\n {runningJobs.length ?\r\n (<>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n {runningJobs.map((job, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n ) : null\r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n}\r\nfunction DetailPageContainer({ children, actionBar }) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n {actionBar}\r\n
    \r\n )\r\n}\r\n\r\nfunction DetailReadonlyText({ id, label, text, error }) {\r\n return (
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {text}\r\n
    \r\n
    \r\n

    {error || \"\"}

    \r\n
    \r\n
    )\r\n}\r\n\r\nfunction ActionBar({ children, errorMessage }) {\r\n return (\r\n
    \r\n
    \r\n {children}\r\n {errorMessage || \"\"}\r\n
    \r\n
    \r\n\r\n )\r\n}\r\n\r\nfunction ActionButton({ id, label, onAction, imageUrl }) {\r\n const onClick = (event) => {\r\n event.preventDefault();\r\n\r\n if (typeof onAction === \"function\") {\r\n onAction()\r\n }\r\n }\r\n\r\n return (\r\n )\r\n}\r\n\r\nfunction DetailGroupLabel({ label }) {\r\n return (\r\n

    {label}

    \r\n )\r\n}\r\n\r\nfunction CustomControlWrapper({ children, id }) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nfunction HeaderCell({ label }) {\r\n return ({label})\r\n}\r\n\r\nfunction TableRow({ children }) {\r\n return ({children})\r\n}\r\n\r\nfunction ReadonlyTableCell({ id, index, text, align }) {\r\n return ({text})\r\n}\r\n\r\nfunction LinkTableCell({ id, index, text, align, endaction, navstatus, objectId }) {\r\n return ({text}\r\n } />)\r\n}\r\n\r\nfunction StaticTable({ children, headerCells }) {\r\n\r\n return (\r\n \r\n \r\n \r\n {headerCells}\r\n \r\n \r\n \r\n {children}\r\n \r\n
    \r\n )\r\n}","import React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { nanoid } from \"@reduxjs/toolkit\";\r\nimport { BusinessObjectSlice } from \"../redux/slices/BusinessObjectSlice.js\";\r\n\r\nconst setObject = BusinessObjectSlice.setObject;\r\nconst updateObject = BusinessObjectSlice.updateObject;\r\nconst objectId = nanoid() + \"$object\";\r\nexport function HelloReact(props) {\r\n\r\n const businessObject = useSelector((state) => BusinessObjectSlice.selectById(state, objectId));\r\n const hasObject = !!businessObject;\r\n const allObjects = useSelector((state) => BusinessObjectSlice.selectAll(state));\r\n\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n if (hasObject) return;\r\n\r\n dispatch(setObject({\r\n $objectId: objectId,\r\n InputValue: \"3\"\r\n }))\r\n }, [dispatch, hasObject]);\r\n\r\n const onchange = (e) => {\r\n const payload = {\r\n $objectId: objectId,\r\n InputValue: e.target.value\r\n }\r\n\r\n dispatch(updateObject(payload));\r\n }\r\n\r\n const value = (businessObject && businessObject.InputValue) || \"\";\r\n\r\n return (\r\n <>\r\n

    Hello React

    \r\n

    NavStatus: {props.NavStatus}

    \r\n

    SessionId: {props.application.SessionId}

    \r\n \r\n
    {JSON.stringify(allObjects,null, 2)}
    \r\n \r\n )\r\n}\r\n","import React, { useEffect, useState, useMemo, useCallback } from \"react\";\r\nimport classNames from \"classnames\"\r\nconst translatedValueParser = /^-(\\w+)-\\d+-$/\r\nconst createTranslations = (response) => Array.isArray(response.translations) ? response.translations.reduce((p, t) => {\r\n p[t.lang] = t.text;\r\n return p\r\n}, {}) : {};\r\nconst initTranslation = (application, ctrl, refClass, controlValue) => {\r\n const ownerOrgId = application.Form && application.Form.getValue(\"OwnerOrgId\", ctrl.Name);\r\n const body = {\r\n refClass,\r\n ownerOrgId,\r\n text: controlValue\r\n }\r\n return application.ajaxWithAuthorization({\r\n method: \"POST\",\r\n url: \"api/translations/inittranslation\",\r\n contentType: \"application/json\",\r\n data: JSON.stringify(body)\r\n })\r\n}\r\nconst getTranslations = (application, refClass, controlValue) => {\r\n const url = \"api/translations/translation\".appendParameter(\"refClass\", refClass).appendParameter(\"key\", controlValue);\r\n return application.ajaxWithAuthorization({\r\n method: \"GET\",\r\n url\r\n })\r\n}\r\n\r\nconst deleteTranslation = (application, refClass, textKey) => {\r\n const url = \"api/translations/translation\".appendParameter(\"refClass\", refClass).appendParameter(\"key\", textKey);\r\n return application.ajaxWithAuthorization({\r\n method: \"DELETE\",\r\n url\r\n })\r\n}\r\n\r\nconst updateTranslation = (application, refClass, textKey, lang, text) => {\r\n const body = {\r\n refClass,\r\n textKey,\r\n lang,\r\n text\r\n }\r\n\r\n return application.ajaxWithAuthorization({\r\n method: \"POST\",\r\n url: \"api/translations/translation\",\r\n contentType: \"application/json\",\r\n data: JSON.stringify(body)\r\n })\r\n}\r\n\r\nfunction useTranslated(application, ctrl, header, refClass) {\r\n const [controlValue, setControlValue] = useState(ctrl.Content || \"\");\r\n const [language, setLanguage] = useState(application.Language);\r\n const [displayValue, setDisplayValue] = useState(ctrl.Content || \"\");\r\n const [languages, setLanguages] = useState([{ lang: \"de\", text: \"Deutsch\" }, { lang: \"en\", text: \"Englisch\" }, { lang: \"fr\", text: \"Französisch\" }, { lang: \"--\", text: \"----------\" }, {lang: \"xx\", text: \"keine...\"}]);\r\n const [translations, setTranslations] = useState(null);\r\n const translateLabel = useMemo(() => application.Formatter.formatValue(\"A!asfTemplates\", \"asfTranslated.Translate\"),[]);\r\n const isTranslated = translatedValueParser.test(controlValue);\r\n const isUpdatable = application.Form && application.Form.hasUpdateButton();\r\n\r\n const onInitTranslation = useCallback((e) => {\r\n if (isTranslated) return;\r\n initTranslation(application, ctrl, refClass, displayValue).done((response) => {\r\n setControlValue(response.textKey);\r\n const newTranslations = createTranslations(response);\r\n setTranslations(newTranslations);\r\n setDisplayValue(newTranslations[language] || \"\");\r\n })\r\n }, [application, ctrl, refClass, displayValue, isTranslated, language])\r\n\r\n\r\n const onChangeLanguage = useCallback( (e) => {\r\n const newLanguage = e.target.value;\r\n if (newLanguage === language) return;\r\n if (newLanguage === \"--\") return;\r\n if (newLanguage === \"xx\") {\r\n const textKey = controlValue;\r\n setControlValue(displayValue);\r\n setLanguage(application.Language);\r\n deleteTranslation(application, refClass, textKey);\r\n return;\r\n }\r\n setLanguage(newLanguage);\r\n if (newLanguage in translations) {\r\n setDisplayValue(translations[newLanguage])\r\n }\r\n }, [application, translations, language, displayValue, refClass, controlValue])\r\n\r\n const onChangeDisplayValue = useCallback((e) => {\r\n const newDisplayValue = e.target.value;\r\n setDisplayValue(newDisplayValue);\r\n }, [])\r\n\r\n const onUpdateTranslation = useCallback(() => {\r\n updateTranslation(application, refClass, controlValue, language, displayValue).done((response) => {\r\n const newTranslations = createTranslations(response);\r\n setTranslations(newTranslations);\r\n })\r\n }, [application, refClass, controlValue, language, displayValue])\r\n \r\n const onDisplayValueKeyDown = useCallback((e) => {\r\n switch (e.key) {\r\n case \"Enter\":\r\n e.preventDefault();\r\n e.stopPropagation();\r\n onUpdateTranslation();\r\n }\r\n },[onUpdateTranslation]);\r\n\r\n useEffect(() => {\r\n if (!isTranslated) return;\r\n \r\n getTranslations(application, refClass, controlValue).done((response) => {\r\n const newTranslations = createTranslations(response);\r\n setTranslations(newTranslations);\r\n setDisplayValue(newTranslations[language] || \"\")\r\n })\r\n \r\n }, [application, refClass, controlValue])\r\n\r\n return {\r\n isTranslated,\r\n language,\r\n controlValue,\r\n displayValue,\r\n languages,\r\n translateLabel,\r\n onInitTranslation,\r\n onChangeDisplayValue,\r\n onDisplayValueKeyDown,\r\n onChangeLanguage,\r\n onDisplayValueBlur: onUpdateTranslation,\r\n hasTranslations: !!translations && !!languages,\r\n isUpdatable\r\n }\r\n}\r\n\r\nexport function Translated({ application, ctrl, header, params }) {\r\n\r\n const [\r\n refClass\r\n ] = params\r\n\r\n const {\r\n isTranslated,\r\n language,\r\n controlValue,\r\n displayValue,\r\n languages,\r\n translateLabel,\r\n onInitTranslation,\r\n onChangeDisplayValue,\r\n onDisplayValueKeyDown,\r\n onChangeLanguage,\r\n onDisplayValueBlur,\r\n hasTranslations,\r\n isUpdatable\r\n } = useTranslated(application, ctrl, header, refClass)\r\n\r\n return (\r\n isUpdatable ? (\r\n isTranslated ? (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n ) : \r\n \r\n
    \r\n \r\n {translateLabel}\r\n
    \r\n \r\n ) : (\r\n {displayValue}\r\n )\r\n )\r\n}","export function installICAutoheight() {\r\n (function (window, $) {\r\n\r\n $.widget(\"iComps.autoheight\", {\r\n options: {\r\n autoHeight: \".autoHeight\",\r\n fixHeight: \".fixHeight\",\r\n fixExcept: \"\",\r\n container: \"\",\r\n scrollTo: \"\",\r\n mode: \"limit\",\r\n minHeight: 30,\r\n margin: 0\r\n },\r\n\r\n _setAutoHeight: function () {\r\n var $group = this.element;\r\n var groupHeight = Math.floor($group.height()) - this.options.margin;\r\n var sumFixHeight = 0;\r\n var contentHeight = 0;\r\n var $autoContent = $group.find(this.options.autoHeight).filter(\":visible\").first();\r\n var $fixContent = (this.options.container ? null : $group.find(this.options.fixHeight).filter(\":visible\"));\r\n var $container = (this.options.container && $group.find(this.options.container).filter(\":visible\"));\r\n var fixExcept = this.options.fixExcept;\r\n var mode = this.options.mode;\r\n var minHeight = this.options.minHeight;\r\n var $content = null;\r\n var addAutoHeight = false;\r\n\r\n $group.find(\".autoHeight-resized\").removeClass(\"autoHeight-resized\");\r\n\r\n $autoContent.each(function () {\r\n var $content = $(this);\r\n\r\n contentHeight += Math.floor($content.height());\r\n sumFixHeight += Math.floor($content.outerHeight(true)) - Math.floor($content.height());\r\n });\r\n\r\n if ($container) {\r\n sumFixHeight += Math.floor($container.outerHeight(true)) - contentHeight;\r\n } else {\r\n $fixContent.each(function () {\r\n if (!fixExcept || !$(this).is(fixExcept)) {\r\n sumFixHeight += Math.floor($(this).outerHeight(true));\r\n }\r\n });\r\n }\r\n\r\n contentHeight = Math.max(groupHeight - sumFixHeight, minHeight);\r\n\r\n $autoContent.each(function () {\r\n\r\n\r\n $content = $(this);\r\n if (mode === \"fill\") {\r\n $content.height(contentHeight);\r\n } else if (mode === \"limit\") {\r\n $content.css(\"max-height\", contentHeight + \"px\");\r\n }\r\n $content.addClass(\"autoHeight-resized\");\r\n\r\n });\r\n\r\n\r\n },\r\n\r\n scrollTo: function (selector) {\r\n var $scrollTo = null\r\n , $panel = null\r\n , scrollToPos = 0\r\n , scrollToHeight = 0\r\n , panelHeight = 0\r\n , panelPos = 0\r\n , panelScroll = 0;\r\n\r\n selector = selector || this.options.scrollTo;\r\n\r\n if (selector) {\r\n $panel = this.element.find(this.options.autoHeight).filter(\":visible\").first();\r\n $scrollTo = $panel.find(selector).first();\r\n\r\n if ($panel.length && $scrollTo.length) {\r\n\r\n scrollToPos = $scrollTo.position();\r\n linkHeight = Math.floor($scrollTo.outerHeight());\r\n panelHeight = Math.floor($panel.height());\r\n panelPos = $panel.position();\r\n panelScroll = Math.floor($panel.scrollTop());\r\n\r\n if (scrollToPos.top < panelPos.top) {\r\n panelScroll += (scrollToPos.top - panelPos.top);\r\n } else if (linkPos.top + linkHeight + 16 > panelPos.top + panelHeight) {\r\n panelScroll += (scrollToPos.top + linkHeight + 16) - (panelPos.top + panelHeight);\r\n }\r\n\r\n if (panelScroll) {\r\n $panel.scrollTop(panelScroll);\r\n }\r\n\r\n }\r\n }\r\n },\r\n\r\n _create: function () {\r\n var $container = null;\r\n\r\n this._on(this.window, {\r\n \"resize\": this._setAutoHeight\r\n });\r\n\r\n this.refresh();\r\n\r\n //HACK: Fix für FireFox-Scroll-Bug\r\n var $container = this.element.find(\".autoHeight-resized\");\r\n if ($container && $container.length) {\r\n $container.scrollTop(0);\r\n $container.scrollLeft(0);\r\n }\r\n },\r\n\r\n _init: function () {\r\n this.refresh();\r\n },\r\n\r\n _setOptions: function (options) {\r\n var setHeight = false\r\n var that = this;\r\n\r\n $.each(options, function (key, value) {\r\n if (key === \"scrollTo\") {\r\n that.scrollTo();\r\n } else {\r\n setHeight = true;\r\n }\r\n });\r\n\r\n if (setHeight) {\r\n this._setAutoHeight();\r\n }\r\n },\r\n\r\n refresh: function () {\r\n this._setAutoHeight();\r\n this.scrollTo();\r\n }\r\n\r\n });\r\n\r\n })(window, jQuery);\r\n}","/// \r\nimport { asfCharting } from \"./asfCharting.js\";\r\nimport { asfDataService } from \"./asfDataService.js\";\r\n\r\nexport function installICChart() {\r\n (function (window, $) {\r\n\r\n $.widget(\"iComps.chart\", {\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n var $element = this.element;\r\n var myChart = null;\r\n var application = this.options.application;\r\n\r\n var _definition = this.options;\r\n var _charts = this.options.charts;\r\n var _transformConfig = this.options.transformConfig;\r\n var _datasets = null;\r\n var ds = new asfDataService(application);\r\n var refSetNames = this.options.refSetNames || [];\r\n\r\n this._setOption = setOption;\r\n this.setDefinitionOptions = setDefinitionOptions;\r\n this.refresh = refresh;\r\n this.getDataSet = getDataSet;\r\n this._getDataSets = getDataSets;\r\n this.myChart = myChart;\r\n this.destroyChart = destroyChart;\r\n this.getDataSetValue = getDataSetValue;\r\n\r\n init();\r\n this._getDataSets();\r\n\r\n function init() {\r\n\r\n }\r\n\r\n function getDataSets() {\r\n var that = this;\r\n ds.getDataSets(_definition.datasets).done(function (datasets) {\r\n application.RefSetCache.updateRefSets(refSetNames).done(function () {\r\n var result;\r\n var params = {};\r\n _datasets = datasets;\r\n that._trigger(\"chartdataready\", null, { datasets: _datasets });\r\n refresh();\r\n });\r\n });\r\n }\r\n\r\n //-1 = last rowIndex\r\n function getDataSetValue(value) {\r\n\r\n var dsData = null;\r\n var result = null;\r\n\r\n if (_datasets) {\r\n\r\n dsData = _datasets[value.dataSetName].data;\r\n\r\n if (value.rowIndex === -1) {\r\n value.rowIndex = dsData.length - 1;\r\n }\r\n result = dsData[value.rowIndex][value.colName];\r\n }\r\n\r\n\r\n if (value.format && value.format != null) {\r\n var formatter = application.Formatter.getFormattingFunction(value.format);\r\n result = formatter(result);\r\n }\r\n return result;\r\n\r\n }\r\n\r\n function refresh() {\r\n if (_datasets) {\r\n for (let i = 0; i <= _definition.charts.length - 1; i += 1) {\r\n let params = {\r\n target: _definition.charts[i].target,\r\n targetLegend: _definition.charts[i].targetLegend\r\n };\r\n let result = asfCharting.getChartData(_datasets, _definition.charts[i], application, _definition);\r\n myChart = null;\r\n myChart = asfCharting.displayChart(result, params);\r\n }\r\n }\r\n }\r\n\r\n function destroyChart() {\r\n\r\n if (myChart) {\r\n myChart.destroy();\r\n }\r\n\r\n }\r\n\r\n function setDefinitionOptions(key, value) {\r\n\r\n if (key === \"defOptions\" && value) {\r\n _definition.options = value;\r\n }\r\n }\r\n\r\n function setOption(key, value) {\r\n }\r\n\r\n function getDataSet(datasetName) {\r\n return _datasets && _datasets[datasetName];\r\n }\r\n },\r\n\r\n });\r\n\r\n })(window, jQuery);\r\n}","import { GetApplication } from \"./asfScripts.js\";\r\nimport { asfCharting } from \"./asfCharting.js\";\r\nimport { getDashPanelViewSelector, getDashPanelObjectSelector } from \"./asfTemplates.js\";\r\n\r\nexport function installICDashpanel() {\r\n (function (window, $) {\r\n\r\n $.widget(\"iComps.dashpanel\", {\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n\r\n var $element = this.element;\r\n var $content = $element.find(\".ic-db-content\");\r\n var $header = $element.find(\".ic-db-header\");\r\n var $footer = $element.find(\".ic-db-footer\");\r\n var $search = null;\r\n var $window = this.window;\r\n var $menu = $element.find(\".ic-db-menu\");\r\n\r\n var _dashboard = this.options.dashboard;\r\n var _index = parseInt($element.data(\"dashpanelIndex\"), 10);\r\n var _name = $element.data(\"dashpanelName\");\r\n var _definition = _dashboard.getDefinition(_index);\r\n var _charts = [];\r\n var _application = _dashboard.getApplication();\r\n var _watch = null;\r\n var _datasets = null;\r\n\r\n this.options.definition = _definition;\r\n\r\n this._on({ \"click .ic-db-selectview a\": onSelectView, \"typeahead:select\": onSelectObject })\r\n this._destroy = destroy;\r\n this._setOption = setOption;\r\n this.refresh = function () {\r\n render();\r\n initWatch();\r\n };\r\n\r\n $window.on(\"resize\", onResize);\r\n\r\n init();\r\n\r\n function onResize() {\r\n var $scroller = $element.closest(\".ic-vertical-scroll\");\r\n var totalHeight = $scroller.prop(\"clientHeight\");\r\n var maxHeight = _dashboard.maxHeight;\r\n var minHeight = _dashboard.minHeight;\r\n var height = Math.max(totalHeight, minHeight);\r\n var rows = 1;\r\n\r\n if (maxHeight) {\r\n while (height > maxHeight && (totalHeight / (rows + 1)) > minHeight) {\r\n rows += 1;\r\n height = totalHeight / rows;\r\n }\r\n\r\n height = height - $menu.height() - $header.height() - $footer.height() - ($element.outerHeight(true) - $element.height());\r\n if (height > 0) {\r\n $content.height(height);\r\n }\r\n }\r\n\r\n }\r\n\r\n function init() {\r\n _dashboard.isInitialized().done(function () {\r\n $element.find(\".ic-db-selectview\")\r\n .html(getDashPanelViewSelector(_index, _dashboard.getName(), _dashboard.getDashPanelDefs()));\r\n\r\n if (_definition && _definition.search) {\r\n $element.find(\".ic-db-selectobject\").html(getDashPanelObjectSelector(_index, _dashboard.getName(), _dashboard.getDashPanelDefs()));\r\n $search = $element.find(\".ic-db-selectobject input[type='text']\");\r\n $search.attr(\"placeholder\", _definition.search.placeholder);\r\n $search.typeahead(_dashboard.getSearchOptions(), [_definition.search]);\r\n }\r\n\r\n if (_definition && (_definition.objectId || !_definition.objectType) && _definition.datasets) {\r\n render();\r\n initWatch();\r\n }\r\n\r\n setTimeout(onResize, 10);\r\n });\r\n }\r\n\r\n function initWatch() {\r\n if (_watch) {\r\n _watch.cancel();\r\n }\r\n\r\n if (_definition.watch) {\r\n _watch = $.extend(true, {}, _definition.watch);\r\n\r\n if (_watch.source) {\r\n _watch.query = _application.DataService.getObjectQuery(_watch.source) || \"\";\r\n _watch.query = _watch.query.formatURI(_definition.objectId);\r\n }\r\n\r\n if (_watch.compare) {\r\n _watch.resolver = function (data) {\r\n if (data && data.length) {\r\n var newSuggestion = data[0];\r\n\r\n if (this.compare(_definition.suggestion, newSuggestion)) {\r\n this.cancel();\r\n _definition.suggestion = newSuggestion;\r\n render();\r\n }\r\n }\r\n }\r\n }\r\n\r\n _watch = _application.DataService.watch(_watch);\r\n }\r\n }\r\n\r\n function setOption(key, value) {\r\n this._super(key, value);\r\n\r\n if (key === \"definition\") {\r\n _definition = value;\r\n init();\r\n }\r\n }\r\n\r\n function destroyCharts() {\r\n _charts.forEach(function (chart) {\r\n chart.destroy();\r\n });\r\n\r\n _charts = [];\r\n }\r\n\r\n function render() {\r\n\r\n renderFrame(_definition.templates);\r\n\r\n _dashboard.getData(_definition).done(function (datasets) {\r\n _datasets = datasets;\r\n\r\n $element.find(\".ic-db-pending\").remove();\r\n\r\n if (checkDatasets(datasets)) {\r\n renderCharts(_definition.charts, datasets);\r\n\r\n renderDataWidgets(_definition.widgets, datasets);\r\n } else {\r\n renderNotFound();\r\n }\r\n }).fail(function () {\r\n renderNotFound();\r\n });\r\n\r\n }\r\n\r\n function checkDatasets(datasets) {\r\n var hasData = false;\r\n var name = null;\r\n\r\n for (name in datasets) {\r\n hasData = !!(datasets[name] && datasets[name].data && datasets[name].data.length)\r\n if (hasData) {\r\n break;\r\n }\r\n }\r\n\r\n return hasData;\r\n }\r\n\r\n function renderNotFound() {\r\n\r\n var decNotFound = getNotFound()\r\n\r\n var notFound = \"
    \" + decNotFound + \"
    \";\r\n notFound = (_definition.templates && _definition.templates.notFound) || notFound;\r\n notFound = useTemplate(notFound, _index, _name);\r\n\r\n $content.html(notFound);\r\n }\r\n\r\n function getNotFound() {\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var decNotFound = myRefSet.encodeValue(\"A!asfTemplates\", \"NoData\") || \"Keine Daten.\";\r\n\r\n return decNotFound\r\n }\r\n\r\n function renderCharts(chartDefs, datasets) {\r\n var chartDef = null;\r\n var dataset = null;\r\n var chart = null;\r\n var options = null;\r\n var data = null;\r\n var chartData = null;\r\n\r\n chartDefs = chartDefs && chartDefs.slice && chartDefs.slice();\r\n\r\n if (chartDefs && chartDefs.shift) {\r\n chartDef = chartDefs.shift();\r\n while (chartDef) {\r\n chartData = asfCharting.getChartData(datasets, chartDef, _application, _definition);\r\n if (chartData.data) {\r\n chartData.type = chartDef.chartType;\r\n $content.find(\".ic-db-nochart\").hide()\r\n $content.find(chartDef.target).filter(\"canvas\").show().each(function () {\r\n chart = new Chart(this.getContext(\"2d\"), chartData);\r\n _charts.push(chart);\r\n });\r\n } else {\r\n $content.find(chartDef.target).hide()\r\n $content.find(\".ic-db-nochart\").show().text(getNotFound())\r\n }\r\n chartDef = chartDefs.shift();\r\n }\r\n }\r\n }\r\n\r\n function renderFrame(templates) {\r\n\r\n var application = GetApplication(true);\r\n var myRefSet = application.RefSetCache;\r\n\r\n var decContent = myRefSet.encodeValue(\"A!asfTemplates\", \"LoadingData\") || \"Daten werden geladen...\";\r\n\r\n var header = \"\";\r\n var footer = \"\";\r\n var content = \"
    \" + decContent + \"
    \";\r\n\r\n\r\n if (templates) {\r\n header = templates.header || header;\r\n footer = templates.footer || footer;\r\n content = templates.content || content;\r\n }\r\n\r\n content = useTemplate(content, _index, _name);\r\n\r\n destroyCharts();\r\n\r\n $content.html(content);\r\n\r\n _dashboard.getSuggestion(_definition).done(function (suggestion) {\r\n\r\n _definition.suggestion = suggestion;\r\n _application.Promises.onNavigationComplete().done(function () {\r\n header = useTemplate(header, suggestion, _definition.title, _dashboard);\r\n footer = useTemplate(footer, suggestion, _definition.title, _dashboard);\r\n $header.html(header);\r\n $footer.html(footer);\r\n });\r\n\r\n if ($search) {\r\n $search.typeahead(\"val\", renderSearchDisplay(_definition.search, suggestion));\r\n }\r\n\r\n renderSuggestionWidgets(_definition.widgets, suggestion);\r\n }).fail(function () {\r\n $header.html(\"\");\r\n $footer.html(\"\")\r\n $content.html(\"
    {0}
    \".format(_definition.title));\r\n });\r\n\r\n }\r\n\r\n function renderSearchDisplay(searchDef, suggestion) {\r\n var result = \"\";\r\n\r\n if (typeof searchDef.display === \"string\") {\r\n result = suggestion[searchDef.display];\r\n } else if (typeof searchDef.display === \"function\") {\r\n result = searchDef.display(suggestion);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function renderSuggestionWidgets(widgets, suggestion) {\r\n\r\n if (widgets && Array.isArray(widgets)) {\r\n widgets.filter(function (widget) {\r\n return !widget.dataset;\r\n }).forEach(function (widget) {\r\n renderWidget(widget, suggestion);\r\n });\r\n }\r\n }\r\n\r\n function renderDataWidgets(widgets, datasets) {\r\n if (widgets && Array.isArray(widgets)) {\r\n widgets.filter(function (widget) {\r\n return !!widget.dataset;\r\n }).forEach(function (widget) {\r\n var dataset = datasets[widget.dataset];\r\n renderWidget(widget, dataset);\r\n });\r\n }\r\n\r\n }\r\n\r\n function renderWidget(widget, data) {\r\n var $target = $element.find(widget.target).filter(\"div\")\r\n var html = \"\"\r\n\r\n if ($target.length) {\r\n html = useTemplate(widget.template, $target, data, _index, onEditOptions);\r\n $target.html(html);\r\n }\r\n }\r\n\r\n\r\n function useTemplate(template) {\r\n var templateArgs = [];\r\n var i = 1;\r\n\r\n for (i = 1; i < arguments.length; i += 1) {\r\n templateArgs.push(arguments[i]);\r\n }\r\n\r\n if (typeof template === \"string\") {\r\n return template.format.apply(template, templateArgs);\r\n }\r\n\r\n if (typeof template === \"function\") {\r\n return template.apply(_definition, templateArgs);\r\n }\r\n }\r\n\r\n function onSelectView(event) {\r\n var defName = $(event.target).data(\"dashpanelView\");\r\n\r\n _dashboard.setPanel(_index, defName);\r\n }\r\n\r\n function onSelectObject(event, suggestion) {\r\n if (_dashboard.setObjectId(_index, suggestion.$objectId)) {\r\n if (_watch) {\r\n _watch.cancel();\r\n }\r\n\r\n _definition.suggestion = suggestion;\r\n render();\r\n\r\n initWatch();\r\n };\r\n\r\n }\r\n\r\n function onEditOptions(userOptions, reload) {\r\n _dashboard.setUserOptions(_index, userOptions);\r\n _definition.options = $.extend(_definition.options, userOptions);\r\n\r\n if (reload || !_datasets) {\r\n render();\r\n } else {\r\n renderSuggestionWidgets(_definition.widgets, _definition.suggestion);\r\n destroyCharts();\r\n renderCharts(_definition.charts, _datasets);\r\n renderDataWidgets(_definition.widgets, _datasets);\r\n }\r\n }\r\n\r\n function destroy() {\r\n $window.off(\"resize\", onResize);\r\n $element.find(\".ic-db-selectobject input[type='text']\").typeahead(\"destroy\");\r\n destroyCharts();\r\n if (_watch) {\r\n _watch.cancel();\r\n }\r\n }\r\n },\r\n\r\n });\r\n\r\n })(window, jQuery);\r\n}","import { asfDataService } from \"./asfDataService.js\";\r\nimport { asfCharting } from \"./asfCharting.js\";\r\n\r\nexport function installICList() {\r\n (function (window, $) {\r\n\r\n $.widget(\"iComps.list\", {\r\n\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n var $element = this.element;\r\n var myList = null;\r\n var application = this.options.application;\r\n\r\n var _rawData = null;\r\n var _datasets = null;\r\n\r\n var _definition = this.options;\r\n var _listExportCode = this.options.listExportCode;\r\n var _rootListDelegateExportId = this.options.rootListDelegateExportId;\r\n var _exportFileName = this.options.exportFileName;\r\n\r\n var ds = new asfDataService(application);\r\n\r\n this._getData = getData;\r\n this.setDefinitionOptions = setDefinitionOptions;\r\n this.getDataSet = getDataSet;\r\n this.myList = myList;\r\n this.refresh = refresh;\r\n\r\n init();\r\n\r\n this._getData();\r\n\r\n function init() {\r\n\r\n };\r\n\r\n function getData() {\r\n\r\n var that = this;\r\n ds.getDataSets(_definition.datasets).done(function (datasets) {\r\n var result;\r\n var params = {};\r\n _datasets = datasets;\r\n refresh();\r\n });\r\n\r\n }\r\n\r\n function refresh() {\r\n\r\n var list = application.List;\r\n var dataSet = null;\r\n var transform = null;\r\n var myMetaData = [];\r\n var fdObjectColumnName = null;\r\n var optionFilter = null;\r\n\r\n if (_datasets) {\r\n for (let i = 0; i <= _definition.lists.length - 1; i += 1) {\r\n\r\n dataSet = getDataSet(_definition.lists[i].dataset);\r\n transform = _definition.lists[i].transform;\r\n\r\n for (fdObjectColumnName in dataSet.formDef) {\r\n myMetaData.push(dataSet.formDef[fdObjectColumnName]);\r\n }\r\n _definition.metaData = myMetaData;\r\n\r\n if (_definition.optionFilter) {\r\n optionFilter = _definition.optionFilter(_definition.options, application);\r\n }\r\n _definition.rawData = asfCharting.getRawData(dataSet, transform, optionFilter);\r\n\r\n if (_listExportCode && _listExportCode > 0) {\r\n if (_rootListDelegateExportId) {\r\n $(\"#\" + _rootListDelegateExportId).on(\"click\", \".csvExportLink\", null, list.createCsvExportLinkHandler())\r\n }\r\n }\r\n\r\n myList = null;\r\n myList = list.displayList(_definition);\r\n }\r\n }\r\n\r\n } //end refresh\r\n\r\n function getDataSet(datasetName) {\r\n return _datasets && _datasets[datasetName];\r\n }\r\n\r\n function setDefinitionOptions(key, value) {\r\n if (key === \"defOptions\" && value) {\r\n _definition.options = value;\r\n }\r\n }\r\n\r\n }\r\n\r\n }); //end widget\r\n\r\n })(window, jQuery);\r\n}","/// \r\nimport { asfDataService } from \"./asfDataService.js\"\r\nimport { asfCharting } from \"./asfCharting.js\";\r\n\r\nexport function installICSubmask() {\r\n (function (window, $) {\r\n\r\n $.widget(\"iComps.submask\", {\r\n\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n var $element = this.element;\r\n var mySubMask = null;\r\n var application = this.options.application;\r\n\r\n var _rawData = null;\r\n var _datasets = null;\r\n\r\n var _definition = this.options;\r\n\r\n var ds = new asfDataService(application);\r\n\r\n this._getData = getData;\r\n this.setDefinitionOptions = setDefinitionOptions;\r\n this.getDataSet = getDataSet;\r\n this.mySubMask = mySubMask;\r\n this.refresh = refresh;\r\n\r\n init();\r\n\r\n this._getData();\r\n\r\n function init() {\r\n };\r\n\r\n function getData() {\r\n\r\n var that = this;\r\n ds.getDataSets(_definition.datasets).done(function (datasets) {\r\n var result;\r\n var params = {};\r\n _datasets = datasets;\r\n refresh();\r\n });\r\n\r\n }//end getData\r\n\r\n function refresh() {\r\n\r\n var subMask = application.SubMask;\r\n var dataSet = null;\r\n var transform = null;\r\n var optionFilter = null;\r\n\r\n if (_datasets) {\r\n for (let i = 0; i <= _definition.subMasks.length - 1; i += 1) {\r\n\r\n dataSet = getDataSet(_definition.subMasks[i].dataset);\r\n transform = _definition.subMasks[i].transform;\r\n\r\n _definition.metaData = dataSet.formDef;\r\n if (_definition.optionFilter) {\r\n optionFilter = _definition.optionFilter(_definition.options, application);\r\n }\r\n _definition.rawData = asfCharting.getRawData(dataSet, transform, optionFilter);\r\n\r\n mySubMask = null;\r\n mySubMask = subMask.renderMask(_definition);\r\n }\r\n }\r\n\r\n } //end refresh\r\n\r\n function getDataSet(datasetName) {\r\n return _datasets && _datasets[datasetName];\r\n }\r\n\r\n function setDefinitionOptions(key, value) {\r\n if (key === \"defOptions\" && value) {\r\n _definition.options = value;\r\n }\r\n }\r\n\r\n }\r\n\r\n }); //end widget\r\n\r\n })(window, jQuery);\r\n}","import { getFreeLoadIndicator } from \"./asfTemplates.js\";\r\n\r\nexport function installICWizard() {\r\n (function (window, $) {\r\n\r\n var backdropTemplate = \"
    \";\r\n\r\n $.widget(\"iComps.wizard\", {\r\n options: {\r\n \"queryContainer\": \"#wizardQuery\",\r\n \"dataContainer\": \"#wizardData\",\r\n \"titleContainer\": \"#wizardTitle\",\r\n \"headerContainer\": \"#wizardHeader\",\r\n \"cancelButton\": \"[name=Cancel]\",\r\n \"closeButton\": \"#wizardCloseButton\",\r\n \"title\": \"\",\r\n \"closed\": null,\r\n \"loadIndicatorText\": \"\", //Wird in der Creat Methode decodiert. // Daten werden geladen\r\n \"showLoadIndicator\": false\r\n },\r\n\r\n _setOption: function (key, value) {\r\n if (key === \"title\") {\r\n this._setTitle(value);\r\n } else if (key === \"height\") {\r\n this.window.resize();\r\n } else if (key === \"loadIndicatorText\") {\r\n if (value) {\r\n this.options.loadIndicatorText = value;\r\n }\r\n } else if (key === \"showLoadIndicator\") {\r\n this._showLoadIndicator(value);\r\n }\r\n },\r\n\r\n _showLoadIndicator: function (showLoadInicator) {\r\n\r\n var tmpl = getFreeLoadIndicator();\r\n\r\n switch (showLoadInicator) {\r\n case true:\r\n $(this.options.dataContainer).html(tmpl);\r\n $(this.options.dataContainer).find(\".ic-FreeLoadIndicatorText\").html(this.options.loadIndicatorText);\r\n break;\r\n case false:\r\n $(this.options.dataContainer).html(\"\");\r\n break;\r\n };\r\n\r\n },\r\n\r\n _setTitle: function (title) {\r\n $(this.options.titleContainer).text(title);\r\n },\r\n\r\n\r\n _create: function () {\r\n var that = this;\r\n var cancelButtonHandler = \"click \" + [this.options.closeButton, this.options.cancelButton].join(\",\");\r\n var handlers = {};\r\n var application = window.Application;\r\n var myRefSet = application.RefSetCache;\r\n\r\n var defaultLoadIndicatorText = myRefSet.encodeValue(\"A!asfTemplates\", \"LoadingData\");\r\n\r\n this.options.loadIndicatorText = defaultLoadIndicatorText || \"Daten werden geladen\";\r\n\r\n function onCancel(event) {\r\n this.close();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n this.backDrop = this.element.wrap(backdropTemplate)\r\n .parent(\".wizardBackdrop\");\r\n\r\n this.backDrop.autoheight({\r\n margin: 30,\r\n container: this.element,\r\n autoHeight: \".dataTables_scrollBody\"\r\n });\r\n\r\n handlers[cancelButtonHandler] = onCancel;\r\n handlers[\"click\"] = function (event) {\r\n event.stopPropagation();\r\n }\r\n\r\n this._on(handlers);\r\n\r\n this._on(this.backDrop, { \"click\": onCancel });\r\n\r\n this._init();\r\n },\r\n\r\n _destroy: function () {\r\n this.element.unwrap();\r\n },\r\n\r\n _init: function () {\r\n this._setTitle(this.options.title);\r\n this.show();\r\n },\r\n\r\n isOpen: function () {\r\n return this.element.is(\":visible\");\r\n },\r\n\r\n close: function () {\r\n this.hide();\r\n },\r\n\r\n adapt: function () {\r\n this.backDrop.autoheight(\"refresh\");\r\n },\r\n\r\n show: function () {\r\n this.element.show();\r\n this.backDrop.show();\r\n this.window.resize();\r\n },\r\n\r\n hide: function () {\r\n //this.modal.modal(\"hide\");\r\n this.backDrop.hide();\r\n this.element.hide();\r\n this._trigger(\"closed\");\r\n }\r\n });\r\n\r\n })(window, jQuery);\r\n}","import { installAsfStringExtensions } from \"./asfStringExtensions.js\";\r\nimport { installICAutoheight } from \"./ic-autoheight.js\";\r\nimport { installICWizard } from \"./ic-wizard.js\";\r\nimport { installICDashpanel } from \"./ic-dashpanel.js\";\r\nimport { installICList } from \"./ic-list.js\";\r\nimport { installICChart } from \"./ic-chart.js\";\r\nimport { installICSubmask } from \"./ic-submask.js\";\r\n\r\nimport * as HTMLReferencedFunctions from \"./HTMLReferencedFunctions.js\";\r\n\r\n//import { GetApplication, OpenWindowPdf, Navigate, CanSubmit, UpdateTitle, UpdateNavigation, RestorePostData, EmptySearchValues, OpenWizard, BrandDocument, Link, SortBy, FilterBy, OpenWizardLink, OpenWizardUpload, CloseWizardUpload, SetFocus, ClosePopup, Login, ValidateUploadFile } from \"./asfScripts.js\";\r\n//import { asfSetLogLevel } from \"./asfLogging.js\";\r\n//import { InitApplication, ExitApplication, asfValSubmit, asfValCheck, asfValAutoComplete, asfPrepAutoComplete, asfPrepSingleCheckBox, asfPrepValidatedCheckBox, asfValSingleCheckBox, amcCreatePopUp, amcPopUpAcceptBviOverwrite, amcPopUpDismissBviOverwrite, amcPopUpAcceptDatev, amcPopUpDismissDatev, amcPopUpAcceptImpData, amcPopUpDismissImpData, amcPopUpAcceptDefault, amcPopUpDismissDefault, asfValPushValues } from \"./asfScripts3.js\";\r\n//import { amcAssetOverviewChartByCcy, amcAssetOverviewChart, amcAssetOverviewList, toggleSearchBar, amcCustAssetStructurePeriod, amcPrepAssetStructurePeriod, amcCustomControlAssetStructureButtonShowUdt, prepareAssetStructureFromDate, prepareAssetStructureToDate, validateAssetStructureFromDate, validateAssetStructureToDate, amcCustControlAssetStructureChart1, amcCustControlAssetStructureChart2, amcCustControlAssetStructureList, amcCustControlCreateSubMaskForPerfValues } from \"./amcCharting2.js\";\r\n\r\n//import { asfConfirmationPopup } from \"./asfConfirmationPopup.js\";\r\n//import { requestAsset, amcOpenTrxAssetWizard, amcOpenTrxAssetWizardFut, amcSetTrxAssetDefaults, amcSetTrxAssetDefaultsFut, amcOpenDerivateAssetWizard, amcOpenQuickTrxAssetWizard, amcSetQuickTrxAssetDefaults, amcResolveObjectType, amcResolveQuickTrxType, amcValAsset, amcOpenCustomWizard, amcReloadTrxDocSubLst, amcInitTrxDocSubLst, amcValPortfSectorComment, amcValCalcValueDate, amcValCalculateGrossAmtTrxCcy, amcValCalculateRefFxRate, amcValAmt, amcValTransferAmt, amcValCheckPlAcctDesc, amcPrepReportSetChoiceCheckBox, amcShowPreview, amcHidePreview, amcPortfCalc, amcShowCollectiveTrxs, amcInitCollectiveTrxs, amcUpdateCollectiveTrxSummary, amcInitOrderDetTrxBankLst, amcInitPortfCommentSectorItems, amcInitPortfPrpPsnAreaItems, amcInitPortfPrpPsnAreaTrxs, amcInitPortfPrpPsnAreaPlans, amcInitAssetPrpShares, amcInitAssetPrpLandcost, amcInitAssetPrpLawsuit, amcEditAssetPrpShare, amcEditAssetPrpLandcost, amcEditAssetPrpLawsuit, amcGenTrxWaitForPreImpJob, amcWaitForJob, amcExtendAssetSearch, amcGotoProvdTrx, amcEditPortfCommentSectorItem, amcEditPortfPrpPsnAreaItem, amcEditPortfPrpPsnAreaPlan, amcActionShowTrxBank, CreateProtocol, amcInitPortfPrpPsnOwnerLst, amcInitDatevAccounts, amcInitDatevAccountsRO, amcInitDatevAccountsAfterInsert, amcInitDatevAccountsAfterDelete, amcInitDatevAccountNew, amcUpdatePortfPrpPsnOwner, amcInsertPrpPsnOwner, amcEditPortfPrpPsnOwner, amcResolveRuleTitle, amcValTaxSimTradeDate, amcValTaxSimTradePrice, amcInitImpTrxLotNew, amcInitImpTrxLotFIFO, amcUpdateSumFIFOLotAfterSend, amcInitImpTrxLotAvg, amcReloadTrxLots, amcReloadAvgTrxLots, amcReloadFIFOTrxLots, amcReloadTrxCashLots, amcReloadCashAvgTrxLots, amcReloadFIFOTrxCashLots, amcUpdateSecPosLotSums, amcUpdateCshPosLotSums, amcUpdateSecDatevLotSums, amcUpdateCshDatevLotSums, amcMarkDATEVDocuments }\r\n// from \"./amcBusiness.js\";\r\n//import { asfObjectServerLocale } from \"./asfObjectServerLocale.js\";\r\n//import { asfLabelledCheckBox, getMessage } from \"./asfTemplates.js\";\r\n//import { asfConfigNavStatusFilter, asfSaveNavStatusFilter } from \"./asfNavMenu.js\";\r\n//import { asfSetupFilter, asfValApplyFilter, FocusControl, asfSubMaskList, asfSubMaskListAddButton } from \"./asfScriptTabs.js\";\r\n//import { ShowNotificationList, CloseNotificationMessage, CloseAllNotificationMessages, ActivateNotification } from \"./asfNotification.js\";\r\n//import { asfForm } from \"./asfForm.js\";\r\n//import { asfHTMLEditor } from \"./asfHtmlEditor.js\";\r\n//import { asfReactControl } from \"./asfReactControl.js\";\r\n//import { asfCustomTextAsLabel } from \"./asfCustomTextAsLabel.js\";\r\n//import { asfCustomTrigger, asfContinueWithReload } from \"./asfCustomTrigger.js\";\r\n//import { asfCustomActionButton, asfLogActionClick, asfSendActionClick, asfSendNewObjectClick, asfSendDeleteObjectClick } from \"./asfCustomActionButton.js\";\r\n//import { asfObjectList, asfObjectListSendBack, asfObjectListCheckBack, asfInitObjectLst } from \"./asfObjectList.js\";\r\n//import { amcDashboard } from \"./amcDashBoardPanels.js\";\r\n//import { asfListFilterCallback, asfListSortCol } from \"./asfList.js\";\r\nimport { asfApplication } from \"./asfApplication.js\"\r\nimport { InstallAsfReactControls } from \"./asfReactControl.js\";\r\n\r\n// Modul-Exporte im globalen Scope sichtbar machen\r\ninstallAsfStringExtensions();\r\ninstallICAutoheight();\r\ninstallICWizard();\r\ninstallICDashpanel();\r\ninstallICList();\r\ninstallICChart();\r\ninstallICSubmask();\r\n\r\nObject.assign(globalThis, HTMLReferencedFunctions);\r\nObject.assign(globalThis, { asfApplication });\r\n\r\nInstallAsfReactControls(asfApplication);\r\n\r\n\r\n\r\n\r\n","import { BusinessObjectSlice } from \"./slices/BusinessObjectSlice.js\"\r\n\r\nexport const rootReducer = {\r\n businessObjects: BusinessObjectSlice.reducer\r\n}","import {\r\n createEntityAdapter,\r\n createSlice,\r\n} from \"@reduxjs/toolkit\"\r\n\r\nconst businessObjectAdapter = createEntityAdapter({\r\n selectId: (o) => o.$objectId\r\n});\r\n\r\nconst businessObjectSelectors = businessObjectAdapter.getSelectors(state => state.businessObjects);\r\n\r\nconst businessObjectSlice = createSlice({\r\n name: \"businessObjects\",\r\n initialState: businessObjectAdapter.getInitialState(),\r\n reducers: {\r\n setObject: businessObjectAdapter.setOne,\r\n updateObject: businessObjectAdapter.upsertOne,\r\n clear: businessObjectAdapter.removeAll\r\n }\r\n})\r\n\r\nexport const BusinessObjectSlice = {\r\n reducer: businessObjectSlice.reducer,\r\n ...businessObjectSlice.actions,\r\n ...businessObjectSelectors\r\n}\r\n","import { useCallback, useEffect, useRef } from \"react\";\r\n\r\nexport function useIsMounted() {\r\n const isMountedRef = useRef(true);\r\n const isMounted = useCallback(() => isMountedRef.current, []);\r\n\r\n useEffect(() => {\r\n return () => void (isMountedRef.current = false);\r\n }, []);\r\n\r\n return isMounted;\r\n}","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict'\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./redux-toolkit.cjs.production.min.js')\n} else {\n module.exports = require('./redux-toolkit.cjs.development.js')\n}","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __create = Object.create;\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropNames = Object.getOwnPropertyNames;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __getProtoOf = Object.getPrototypeOf;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __markAsModule = function (target) { return __defProp(target, \"__esModule\", { value: true }); };\r\nvar __export = function (target, all) {\r\n for (var name in all)\r\n __defProp(target, name, { get: all[name], enumerable: true });\r\n};\r\nvar __reExport = function (target, module2, desc) {\r\n if (module2 && typeof module2 === \"object\" || typeof module2 === \"function\") {\r\n var _loop_1 = function (key) {\r\n if (!__hasOwnProp.call(target, key) && key !== \"default\")\r\n __defProp(target, key, { get: function () { return module2[key]; }, enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });\r\n };\r\n for (var _i = 0, _c = __getOwnPropNames(module2); _i < _c.length; _i++) {\r\n var key = _c[_i];\r\n _loop_1(key);\r\n }\r\n }\r\n return target;\r\n};\r\nvar __toModule = function (module2) {\r\n return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, \"default\", module2 && module2.__esModule && \"default\" in module2 ? { get: function () { return module2.default; }, enumerable: true } : { value: module2, enumerable: true })), module2);\r\n};\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\n__markAsModule(exports);\r\n__export(exports, {\r\n EnhancerArray: function () { return EnhancerArray; },\r\n MiddlewareArray: function () { return MiddlewareArray; },\r\n SHOULD_AUTOBATCH: function () { return SHOULD_AUTOBATCH; },\r\n TaskAbortError: function () { return TaskAbortError; },\r\n addListener: function () { return addListener; },\r\n autoBatchEnhancer: function () { return autoBatchEnhancer; },\r\n clearAllListeners: function () { return clearAllListeners; },\r\n configureStore: function () { return configureStore; },\r\n createAction: function () { return createAction; },\r\n createActionCreatorInvariantMiddleware: function () { return createActionCreatorInvariantMiddleware; },\r\n createAsyncThunk: function () { return createAsyncThunk; },\r\n createDraftSafeSelector: function () { return createDraftSafeSelector; },\r\n createEntityAdapter: function () { return createEntityAdapter; },\r\n createImmutableStateInvariantMiddleware: function () { return createImmutableStateInvariantMiddleware; },\r\n createListenerMiddleware: function () { return createListenerMiddleware; },\r\n createNextState: function () { return import_immer6.default; },\r\n createReducer: function () { return createReducer; },\r\n createSelector: function () { return import_reselect2.createSelector; },\r\n createSerializableStateInvariantMiddleware: function () { return createSerializableStateInvariantMiddleware; },\r\n createSlice: function () { return createSlice; },\r\n current: function () { return import_immer6.current; },\r\n findNonSerializableValue: function () { return findNonSerializableValue; },\r\n freeze: function () { return import_immer6.freeze; },\r\n getDefaultMiddleware: function () { return getDefaultMiddleware; },\r\n getType: function () { return getType; },\r\n isAction: function () { return isAction; },\r\n isActionCreator: function () { return isActionCreator; },\r\n isAllOf: function () { return isAllOf; },\r\n isAnyOf: function () { return isAnyOf; },\r\n isAsyncThunkAction: function () { return isAsyncThunkAction; },\r\n isDraft: function () { return import_immer6.isDraft; },\r\n isFluxStandardAction: function () { return isFSA; },\r\n isFulfilled: function () { return isFulfilled; },\r\n isImmutableDefault: function () { return isImmutableDefault; },\r\n isPending: function () { return isPending; },\r\n isPlain: function () { return isPlain; },\r\n isPlainObject: function () { return isPlainObject; },\r\n isRejected: function () { return isRejected; },\r\n isRejectedWithValue: function () { return isRejectedWithValue; },\r\n miniSerializeError: function () { return miniSerializeError; },\r\n nanoid: function () { return nanoid; },\r\n original: function () { return import_immer6.original; },\r\n prepareAutoBatched: function () { return prepareAutoBatched; },\r\n removeListener: function () { return removeListener; },\r\n unwrapResult: function () { return unwrapResult; }\r\n});\r\nvar import_immer5 = __toModule(require(\"immer\"));\r\n__reExport(exports, __toModule(require(\"redux\")));\r\nvar import_immer6 = __toModule(require(\"immer\"));\r\nvar import_reselect2 = __toModule(require(\"reselect\"));\r\n// src/createDraftSafeSelector.ts\r\nvar import_immer = __toModule(require(\"immer\"));\r\nvar import_reselect = __toModule(require(\"reselect\"));\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = (0, import_reselect.createSelector).apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([(0, import_immer.isDraft)(value) ? (0, import_immer.current)(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nvar import_redux2 = __toModule(require(\"redux\"));\r\n// src/devtoolsExtension.ts\r\nvar import_redux = __toModule(require(\"redux\"));\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return import_redux.compose;\r\n return import_redux.compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nvar import_redux_thunk = __toModule(require(\"redux-thunk\"));\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isActionCreator(action) {\r\n return typeof action === \"function\" && \"type\" in action && hasMatchFunction(action);\r\n}\r\nfunction isFSA(action) {\r\n return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/actionCreatorInvariantMiddleware.ts\r\nfunction getMessage(type) {\r\n var splitType = type ? (\"\" + type).split(\"/\") : [];\r\n var actionName = splitType[splitType.length - 1] || \"actionCreator\";\r\n return \"Detected an action creator with type \\\"\" + (type || \"unknown\") + \"\\\" being dispatched. \\nMake sure you're calling the action creator before dispatching, i.e. `dispatch(\" + actionName + \"())` instead of `dispatch(\" + actionName + \")`. This is necessary even if the action has no payload.\";\r\n}\r\nfunction createActionCreatorInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c;\r\n return function () { return function (next) { return function (action) {\r\n if (isActionCreator2(action)) {\r\n console.warn(getMessage(action.type));\r\n }\r\n return next(action);\r\n }; }; };\r\n}\r\n// src/utils.ts\r\nvar import_immer2 = __toModule(require(\"immer\"));\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n __extends(EnhancerArray, _super);\r\n function EnhancerArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(EnhancerArray, Symbol.species, {\r\n get: function () {\r\n return EnhancerArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n EnhancerArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n EnhancerArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return (0, import_immer2.isDraftable)(val) ? (0, import_immer2.default)(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = false;\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n if (checkedObjects === void 0) { checkedObjects = new Set(); }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj) && !checkedObjects.has(obj)) {\r\n checkedObjects.add(obj);\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_2 = function (key) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n if (result.wasMutated) {\r\n return { value: result };\r\n }\r\n };\r\n for (var key in keysToDetect) {\r\n var state_1 = _loop_2(key);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n if (cache == null ? void 0 : cache.has(value))\r\n return false;\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_3 = function (key, nestedValue) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return { value: {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n } };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundNestedSerializable) {\r\n return { value: foundNestedSerializable };\r\n }\r\n }\r\n };\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var state_2 = _loop_3(key, nestedValue);\r\n if (typeof state_2 === \"object\")\r\n return state_2.value;\r\n }\r\n if (cache && isNestedFrozen(value))\r\n cache.add(value);\r\n return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n if (!Object.isFrozen(value))\r\n return false;\r\n for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n var nestedValue = _c[_i];\r\n if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n continue;\r\n if (!isNestedFrozen(nestedValue))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(import_redux_thunk.default);\r\n }\r\n else {\r\n middlewareArray.push(import_redux_thunk.default.withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (true) {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n if (actionCreatorCheck) {\r\n var actionCreatorOptions = {};\r\n if (!isBoolean(actionCreatorCheck)) {\r\n actionCreatorOptions = actionCreatorCheck;\r\n }\r\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = false;\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = (0, import_redux2.combineReducers)(reducer);\r\n }\r\n else {\r\n throw new Error('\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\r\n }\r\n var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = (0, import_redux2.applyMiddleware).apply(void 0, finalMiddleware);\r\n var finalCompose = import_redux2.compose;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n var storeEnhancers = defaultEnhancers;\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(defaultEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return (0, import_redux2.createStore)(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createReducer.ts\r\nvar import_immer3 = __toModule(require(\"immer\"));\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (true) {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (!type) {\r\n throw new Error(\"`builder.addCase` cannot be called with an empty action type\");\r\n }\r\n if (type in actionsMap) {\r\n throw new Error(\"`builder.addCase` cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (true) {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\r\n if (true) {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n }\r\n }\r\n defaultCaseReducer = reducer;\r\n return builder;\r\n }\r\n };\r\n builderCallback(builder);\r\n return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\r\n if (true) {\r\n if (typeof mapOrBuilderCallback === \"object\") {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true;\r\n console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n }\r\n }\r\n }\r\n var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if ((0, import_immer3.isDraft)(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!(0, import_immer3.isDraftable)(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return (0, import_immer3.default)(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && true) {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (true) {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n }\r\n }\r\n }\r\n var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\r\n builder.addMatcher(m.matcher, m.reducer);\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer);\r\n }\r\n });\r\n }\r\n var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nvar import_immer4 = __toModule(require(\"immer\"));\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if ((0, import_immer4.isDraft)(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return (0, import_immer4.default)(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if (key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (true) {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n }\r\n }\r\n };\r\n return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var started = false;\r\n function abort(reason) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n throw {\r\n name: \"ConditionError\",\r\n message: \"Aborted due to condition callback returning false.\"\r\n };\r\n }\r\n started = true;\r\n abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n name: \"AbortError\",\r\n message: abortReason || \"Aborted\"\r\n }); }); });\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (result) {\r\n if (result instanceof RejectWithValue) {\r\n throw result;\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta);\r\n }\r\n return fulfilled(result, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload;\r\n }\r\n if (action.error) {\r\n throw action.error;\r\n }\r\n return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\r\n if (!(\"reason\" in signal)) {\r\n Object.defineProperty(signal, \"reason\", {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true\r\n });\r\n }\r\n ;\r\n abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n var cleanup = noop;\r\n return new Promise(function (resolve, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n return;\r\n }\r\n cleanup = addAbortSignalListener(signal, notifyRejection);\r\n promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n }).finally(function () {\r\n cleanup = noop;\r\n });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal, parentBlockingPromises) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor, opts) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n if (opts == null ? void 0 : opts.autoJoin) {\r\n parentBlockingPromises.push(result);\r\n }\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve, reject) {\r\n var stopListening = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n unsubscribe = function () {\r\n stopListening();\r\n reject();\r\n };\r\n });\r\n promises = [\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\r\n });\r\n if (entry) {\r\n entry.unsubscribe();\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n }\r\n return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, autoJoinPromises, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n autoJoinPromises = [];\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 6]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal, autoJoinPromises),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (controller, _, set) {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n set.delete(controller);\r\n }\r\n });\r\n }\r\n })))];\r\n case 2:\r\n _c.sent();\r\n return [3 /*break*/, 6];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)];\r\n case 5:\r\n _c.sent();\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (!isAction(action)) {\r\n return next(action);\r\n }\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\n(0, import_immer5.enableES5)();\r\n//# sourceMappingURL=redux-toolkit.cjs.development.js.map","var e,n=this&&this.__extends||(e=function(n,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])},e(n,t)},function(n,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function r(){this.constructor=n}e(n,t),n.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),t=this&&this.__generator||function(e,n){var t,r,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(t)throw new TypeError(\"Generator is already executing.\");for(;u;)try{if(t=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return u.label++,{value:o[1],done:!1};case 5:u.label++,r=o[1],o=[0];continue;case 7:o=u.ops.pop(),u.trys.pop();continue;default:if(!((i=(i=u.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){u=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}function z(e){return\"\"+e}function N(e){return void 0===e&&(e={}),function(){return function(e){return function(n){return e(n)}}}}var V=m(require(\"immer\")),B=function(e){function t(){for(var n=[],r=0;r\",value:e};if(\"object\"!=typeof e||null===e)return!1;if(null==o?void 0:o.has(e))return!1;for(var a=null!=r?r(e):Object.entries(e),c=i.length>0,f=function(e,a){var f=n?n+\".\"+e:e;return c&&i.some((function(e){return e instanceof RegExp?e.test(f):f===e}))?\"continue\":t(a)?\"object\"==typeof a&&(u=H(a,f,t,r,i,o))?{value:u}:void 0:{value:{keyPath:f,value:a}}},l=0,s=a;l0){var o=n.filter((function(n){return function(n,t,r){var i=Object.assign({},r.entities[t.id],t.changes),o=ie(i,e),u=o!==t.id;return u&&(n[t.id]=o,delete r.entities[t.id]),r.entities[o]=i,u}(r,n,t)})).length>0;o&&(t.ids=Object.keys(t.entities))}}function u(n,r){var i=ue(n,e,r),u=i[0];o(i[1],r),t(u,r)}return{removeAll:(a=function(e){Object.assign(e,{ids:[],entities:{}})},c=re((function(e,n){return a(n)})),function(e){return c(e,void 0)}),addOne:re(n),addMany:re(t),setOne:re(r),setMany:re((function(e,n){for(var t=0,i=e=oe(e);t-1;return t&&r}function we(e){return\"function\"==typeof e[0]&&\"pending\"in e[0]&&\"fulfilled\"in e[0]&&\"rejected\"in e[0]}function Oe(){for(var e=[],n=0;n0)for(var d=e.getState(),p=Array.from(r.values()),v=0,y=p;v 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n {\n var e = errors[error];\n var msg = !e ? \"unknown error nr: \" + error : typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(\"[Immer] \" + msg);\n }\n}\n\n/** Returns true if the given value is an Immer draft */\n\n/*#__PURE__*/\n\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\n/** Returns true if the given value can be drafted by Immer */\n\n/*#__PURE__*/\n\nfunction isDraftable(value) {\n var _value$constructor;\n\n if (!value) return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!((_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor[DRAFTABLE]) || isMap(value) || isSet(value);\n}\nvar objectCtorString =\n/*#__PURE__*/\nObject.prototype.constructor.toString();\n/*#__PURE__*/\n\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\") return false;\n var proto = Object.getPrototypeOf(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object) return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value)) die(23, value);\n return value[DRAFT_STATE].base_;\n}\n/*#__PURE__*/\n\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== \"undefined\" ? function (obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} :\n/* istanbul ignore next */\nObject.getOwnPropertyNames;\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n ownKeys(target).forEach(function (key) {\n res[key] = Object.getOwnPropertyDescriptor(target, key);\n });\n return res;\n};\nfunction each(obj, iter, enumerableOnly) {\n if (enumerableOnly === void 0) {\n enumerableOnly = false;\n }\n\n if (getArchtype(obj) === 0\n /* Object */\n ) {\n (enumerableOnly ? Object.keys : ownKeys)(obj).forEach(function (key) {\n if (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj);\n });\n } else {\n obj.forEach(function (entry, index) {\n return iter(index, entry, obj);\n });\n }\n}\n/*#__PURE__*/\n\nfunction getArchtype(thing) {\n /* istanbul ignore next */\n var state = thing[DRAFT_STATE];\n return state ? state.type_ > 3 ? state.type_ - 4 // cause Object and Array map back from 4 and 5\n : state.type_ // others are the same\n : Array.isArray(thing) ? 1\n /* Array */\n : isMap(thing) ? 2\n /* Map */\n : isSet(thing) ? 3\n /* Set */\n : 0\n /* Object */\n ;\n}\n/*#__PURE__*/\n\nfunction has(thing, prop) {\n return getArchtype(thing) === 2\n /* Map */\n ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\n/*#__PURE__*/\n\nfunction get(thing, prop) {\n // @ts-ignore\n return getArchtype(thing) === 2\n /* Map */\n ? thing.get(prop) : thing[prop];\n}\n/*#__PURE__*/\n\nfunction set(thing, propOrOldValue, value) {\n var t = getArchtype(thing);\n if (t === 2\n /* Map */\n ) thing.set(propOrOldValue, value);else if (t === 3\n /* Set */\n ) {\n thing.add(value);\n } else thing[propOrOldValue] = value;\n}\n/*#__PURE__*/\n\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n/*#__PURE__*/\n\nfunction isMap(target) {\n return hasMap && target instanceof Map;\n}\n/*#__PURE__*/\n\nfunction isSet(target) {\n return hasSet && target instanceof Set;\n}\n/*#__PURE__*/\n\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\n/*#__PURE__*/\n\nfunction shallowCopy(base) {\n if (Array.isArray(base)) return Array.prototype.slice.call(base);\n var descriptors = getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n var keys = ownKeys(descriptors);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var desc = descriptors[key];\n\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n } // like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n // with libraries that trap values, like mobx or vue\n // unlike object.assign, non-enumerables will be copied as well\n\n\n if (desc.get || desc.set) descriptors[key] = {\n configurable: true,\n writable: true,\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n\n return Object.create(Object.getPrototypeOf(base), descriptors);\n}\nfunction freeze(obj, deep) {\n if (deep === void 0) {\n deep = false;\n }\n\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj;\n\n if (getArchtype(obj) > 1\n /* Map or Set */\n ) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n\n Object.freeze(obj);\n if (deep) each(obj, function (key, value) {\n return freeze(value, true);\n }, true);\n return obj;\n}\n\nfunction dontMutateFrozenCollections() {\n die(2);\n}\n\nfunction isFrozen(obj) {\n if (obj == null || typeof obj !== \"object\") return true; // See #600, IE dies on non-objects in Object.isFrozen\n\n return Object.isFrozen(obj);\n}\n\n/** Plugin utilities */\n\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n var plugin = plugins[pluginKey];\n\n if (!plugin) {\n die(18, pluginKey);\n } // @ts-ignore\n\n\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey]) plugins[pluginKey] = implementation;\n}\n\nvar currentScope;\nfunction getCurrentScope() {\n if ( !currentScope) die(0);\n return currentScope;\n}\n\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_: parent_,\n immer_: immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\n\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\"); // assert we have the plugin\n\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft); // @ts-ignore\n\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer) {\n return currentScope = createScope(currentScope, immer);\n}\n\nfunction revokeDraft(draft) {\n var state = draft[DRAFT_STATE];\n if (state.type_ === 0\n /* ProxyObject */\n || state.type_ === 1\n /* ProxyArray */\n ) state.revoke_();else state.revoked_ = true;\n}\n\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n var baseDraft = scope.drafts_[0];\n var isReplaced = result !== undefined && result !== baseDraft;\n if (!scope.immer_.useProxies_) getPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced);\n\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n\n if (isDraftable(result)) {\n // Finalize the result in case it contains (or is) a subset of the draft.\n result = finalize(scope, result);\n if (!scope.parent_) maybeFreeze(scope, result);\n }\n\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(baseDraft[DRAFT_STATE].base_, result, scope.patches_, scope.inversePatches_);\n }\n } else {\n // Finalize the base draft.\n result = finalize(scope, baseDraft, []);\n }\n\n revokeScope(scope);\n\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n\n return result !== NOTHING ? result : undefined;\n}\n\nfunction finalize(rootScope, value, path) {\n // Don't recurse in tho recursive data structures\n if (isFrozen(value)) return value;\n var state = value[DRAFT_STATE]; // A plain object, might need freezing, might contain drafts\n\n if (!state) {\n each(value, function (key, childValue) {\n return finalizeProperty(rootScope, state, value, key, childValue, path);\n }, true // See #590, don't recurse into non-enumerable of non drafted objects\n );\n return value;\n } // Never finalize drafts owned by another scope.\n\n\n if (state.scope_ !== rootScope) return value; // Unmodified draft, return the (frozen) original\n\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n } // Not finalized yet, let's do that now\n\n\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n var result = // For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n state.type_ === 4\n /* ES5Object */\n || state.type_ === 5\n /* ES5Array */\n ? state.copy_ = shallowCopy(state.draft_) : state.copy_; // Finalize all children of the copy\n // For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n // To preserve insertion order in all cases we then clear the set\n // And we let finalizeProperty know it needs to re-add non-draft children back to the target\n\n var resultEach = result;\n var isSet = false;\n\n if (state.type_ === 3\n /* Set */\n ) {\n resultEach = new Set(result);\n result.clear();\n isSet = true;\n }\n\n each(resultEach, function (key, childValue) {\n return finalizeProperty(rootScope, state, result, key, childValue, path, isSet);\n }); // everything inside is frozen, we can freeze here\n\n maybeFreeze(rootScope, result, false); // first time finalizing, let's create those patches\n\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(state, path, rootScope.patches_, rootScope.inversePatches_);\n }\n }\n\n return state.copy_;\n}\n\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if ( childValue === targetObject) die(5);\n\n if (isDraft(childValue)) {\n var path = rootPath && parentState && parentState.type_ !== 3\n /* Set */\n && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) // Skip deep patches for assigned keys.\n ? rootPath.concat(prop) : undefined; // Drafts owned by `scope` are finalized here.\n\n var res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res); // Drafts from another scope must prevented to be frozen\n // if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n } // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\n\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n // optimization: if an object is not a draft, and we don't have to\n // deepfreeze everything, and we are sure that no drafts are left in the remaining object\n // cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n // This benefits especially adding large data tree's without further processing.\n // See add-data.js perf test\n return;\n }\n\n finalize(rootScope, childValue); // immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\n if (!parentState || !parentState.scope_.parent_) maybeFreeze(rootScope, childValue);\n }\n}\n\nfunction maybeFreeze(scope, value, deep) {\n if (deep === void 0) {\n deep = false;\n }\n\n // we never freeze for a non-root scope; as it would prevent pruning for drafts inside wrapping objects\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n/**\r\n * Returns a new draft of the `base` object.\r\n *\r\n * The second argument is the parent draft-state (used internally).\r\n */\n\nfunction createProxyProxy(base, parent) {\n var isArray = Array.isArray(base);\n var state = {\n type_: isArray ? 1\n /* ProxyArray */\n : 0\n /* ProxyObject */\n ,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n }; // the traps must target something, a bit like the 'real' base.\n // but also, we need to be able to determine from the target what the relevant state is\n // (to avoid creating traps per instance to capture the state in closure,\n // and to avoid creating weird hidden properties as well)\n // So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n // Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\n var target = state;\n var traps = objectTraps;\n\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n\n var _Proxy$revocable = Proxy.revocable(target, traps),\n revoke = _Proxy$revocable.revoke,\n proxy = _Proxy$revocable.proxy;\n\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\n/**\r\n * Object drafts\r\n */\n\nvar objectTraps = {\n get: function get(state, prop) {\n if (prop === DRAFT_STATE) return state;\n var source = latest(state);\n\n if (!has(source, prop)) {\n // non-existing or non-own property...\n return readPropFromProto(state, source, prop);\n }\n\n var value = source[prop];\n\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n } // Check for existing draft in modified state.\n // Assigned values are never drafted. This catches any drafts we created, too.\n\n\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(state.scope_.immer_, value, state);\n }\n\n return value;\n },\n has: function has(state, prop) {\n return prop in latest(state);\n },\n ownKeys: function ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set: function set(state, prop\n /* strictly not, but helps TS */\n , value) {\n var desc = getDescriptorFromProto(latest(state), prop);\n\n if (desc === null || desc === void 0 ? void 0 : desc.set) {\n // special case: if this write is captured by a setter, we have\n // to trigger it with the correct context\n desc.set.call(state.draft_, value);\n return true;\n }\n\n if (!state.modified_) {\n // the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n // from setting an existing property with value undefined to undefined (which is not a change)\n var current = peek(latest(state), prop); // special case, if we assigning the original value to a draft, we can ignore the assignment\n\n var currentState = current === null || current === void 0 ? void 0 : current[DRAFT_STATE];\n\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n\n if (is(value, current) && (value !== undefined || has(state.base_, prop))) return true;\n prepareCopy(state);\n markChanged(state);\n }\n\n if (state.copy_[prop] === value && ( // special case: handle new props with value 'undefined'\n value !== undefined || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop])) return true; // @ts-ignore\n\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty: function deleteProperty(state, prop) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (peek(state.base_, prop) !== undefined || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n // if an originally not assigned property was deleted\n delete state.assigned_[prop];\n } // @ts-ignore\n\n\n if (state.copy_) delete state.copy_[prop];\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(state, prop) {\n var owner = latest(state);\n var desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc) return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1\n /* ProxyArray */\n || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty: function defineProperty() {\n die(11);\n },\n getPrototypeOf: function getPrototypeOf(state) {\n return Object.getPrototypeOf(state.base_);\n },\n setPrototypeOf: function setPrototypeOf() {\n die(12);\n }\n};\n/**\r\n * Array drafts\r\n */\n\nvar arrayTraps = {};\neach(objectTraps, function (key, fn) {\n // @ts-ignore\n arrayTraps[key] = function () {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\n\narrayTraps.deleteProperty = function (state, prop) {\n if ( isNaN(parseInt(prop))) die(13); // @ts-ignore\n\n return arrayTraps.set.call(this, state, prop, undefined);\n};\n\narrayTraps.set = function (state, prop, value) {\n if ( prop !== \"length\" && isNaN(parseInt(prop))) die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n}; // Access a property without creating an Immer draft.\n\n\nfunction peek(draft, prop) {\n var state = draft[DRAFT_STATE];\n var source = state ? latest(state) : draft;\n return source[prop];\n}\n\nfunction readPropFromProto(state, source, prop) {\n var _desc$get;\n\n var desc = getDescriptorFromProto(source, prop);\n return desc ? \"value\" in desc ? desc.value : // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n (_desc$get = desc.get) === null || _desc$get === void 0 ? void 0 : _desc$get.call(state.draft_) : undefined;\n}\n\nfunction getDescriptorFromProto(source, prop) {\n // 'in' checks proto!\n if (!(prop in source)) return undefined;\n var proto = Object.getPrototypeOf(source);\n\n while (proto) {\n var desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc) return desc;\n proto = Object.getPrototypeOf(proto);\n }\n\n return undefined;\n}\n\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(state.base_);\n }\n}\n\nvar Immer =\n/*#__PURE__*/\nfunction () {\n function Immer(config) {\n var _this = this;\n\n this.useProxies_ = hasProxies;\n this.autoFreeze_ = true;\n /**\r\n * The `produce` function takes a value and a \"recipe function\" (whose\r\n * return value often depends on the base state). The recipe function is\r\n * free to mutate its first argument however it wants. All mutations are\r\n * only ever applied to a __copy__ of the base state.\r\n *\r\n * Pass only a function to create a \"curried producer\" which relieves you\r\n * from passing the recipe function every time.\r\n *\r\n * Only plain objects and arrays are made mutable. All other objects are\r\n * considered uncopyable.\r\n *\r\n * Note: This function is __bound__ to its `Immer` instance.\r\n *\r\n * @param {any} base - the initial state\r\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\r\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\r\n * @returns {any} a new state, or the initial state if nothing was modified\r\n */\n\n this.produce = function (base, recipe, patchListener) {\n // curried invocation\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n var defaultBase = recipe;\n recipe = base;\n var self = _this;\n return function curriedProduce(base) {\n var _this2 = this;\n\n if (base === void 0) {\n base = defaultBase;\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return self.produce(base, function (draft) {\n var _recipe;\n\n return (_recipe = recipe).call.apply(_recipe, [_this2, draft].concat(args));\n }); // prettier-ignore\n };\n }\n\n if (typeof recipe !== \"function\") die(6);\n if (patchListener !== undefined && typeof patchListener !== \"function\") die(7);\n var result; // Only plain objects, arrays, and \"immerable classes\" are drafted.\n\n if (isDraftable(base)) {\n var scope = enterScope(_this);\n var proxy = createProxy(_this, base, undefined);\n var hasError = true;\n\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n // finally instead of catch + rethrow better preserves original stack\n if (hasError) revokeScope(scope);else leaveScope(scope);\n }\n\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then(function (result) {\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n }, function (error) {\n revokeScope(scope);\n throw error;\n });\n }\n\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === undefined) result = base;\n if (result === NOTHING) result = undefined;\n if (_this.autoFreeze_) freeze(result, true);\n\n if (patchListener) {\n var p = [];\n var ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n\n return result;\n } else die(21, base);\n };\n\n this.produceWithPatches = function (base, recipe) {\n // curried invocation\n if (typeof base === \"function\") {\n return function (state) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return _this.produceWithPatches(state, function (draft) {\n return base.apply(void 0, [draft].concat(args));\n });\n };\n }\n\n var patches, inversePatches;\n\n var result = _this.produce(base, recipe, function (p, ip) {\n patches = p;\n inversePatches = ip;\n });\n\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then(function (nextState) {\n return [nextState, patches, inversePatches];\n });\n }\n\n return [result, patches, inversePatches];\n };\n\n if (typeof (config === null || config === void 0 ? void 0 : config.useProxies) === \"boolean\") this.setUseProxies(config.useProxies);\n if (typeof (config === null || config === void 0 ? void 0 : config.autoFreeze) === \"boolean\") this.setAutoFreeze(config.autoFreeze);\n }\n\n var _proto = Immer.prototype;\n\n _proto.createDraft = function createDraft(base) {\n if (!isDraftable(base)) die(8);\n if (isDraft(base)) base = current(base);\n var scope = enterScope(this);\n var proxy = createProxy(this, base, undefined);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n };\n\n _proto.finishDraft = function finishDraft(draft, patchListener) {\n var state = draft && draft[DRAFT_STATE];\n\n {\n if (!state || !state.isManual_) die(9);\n if (state.finalized_) die(10);\n }\n\n var scope = state.scope_;\n usePatchesInScope(scope, patchListener);\n return processResult(undefined, scope);\n }\n /**\r\n * Pass true to automatically freeze all copies created by Immer.\r\n *\r\n * By default, auto-freezing is enabled.\r\n */\n ;\n\n _proto.setAutoFreeze = function setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\r\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\r\n * always faster than using ES5 proxies.\r\n *\r\n * By default, feature detection is used, so calling this is rarely necessary.\r\n */\n ;\n\n _proto.setUseProxies = function setUseProxies(value) {\n if (value && !hasProxies) {\n die(20);\n }\n\n this.useProxies_ = value;\n };\n\n _proto.applyPatches = function applyPatches(base, patches) {\n // If a patch replaces the entire state, take that replacement as base\n // before applying patches\n var i;\n\n for (i = patches.length - 1; i >= 0; i--) {\n var patch = patches[i];\n\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n } // If there was a patch that replaced the entire state, start from the\n // patch after that.\n\n\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n\n var applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n\n if (isDraft(base)) {\n // N.B: never hits if some patch a replacement, patches are never drafts\n return applyPatchesImpl(base, patches);\n } // Otherwise, produce a copy of the base state.\n\n\n return this.produce(base, function (draft) {\n return applyPatchesImpl(draft, patches);\n });\n };\n\n return Immer;\n}();\nfunction createProxy(immer, value, parent) {\n // precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n var draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : immer.useProxies_ ? createProxyProxy(value, parent) : getPlugin(\"ES5\").createES5Proxy_(value, parent);\n var scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\nfunction current(value) {\n if (!isDraft(value)) die(22, value);\n return currentImpl(value);\n}\n\nfunction currentImpl(value) {\n if (!isDraftable(value)) return value;\n var state = value[DRAFT_STATE];\n var copy;\n var archType = getArchtype(value);\n\n if (state) {\n if (!state.modified_ && (state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state))) return state.base_; // Optimization: avoid generating new drafts during copying\n\n state.finalized_ = true;\n copy = copyHelper(value, archType);\n state.finalized_ = false;\n } else {\n copy = copyHelper(value, archType);\n }\n\n each(copy, function (key, childValue) {\n if (state && get(state.base_, key) === childValue) return; // no need to copy or search in something that didn't change\n\n set(copy, key, currentImpl(childValue));\n }); // In the future, we might consider freezing here, based on the current settings\n\n return archType === 3\n /* Set */\n ? new Set(copy) : copy;\n}\n\nfunction copyHelper(value, archType) {\n // creates a shallow copy, even if it is a map or set\n switch (archType) {\n case 2\n /* Map */\n :\n return new Map(value);\n\n case 3\n /* Set */\n :\n // Set will be cloned as array temporarily, so that we can replace individual items\n return Array.from(value);\n }\n\n return shallowCopy(value);\n}\n\nfunction enableES5() {\n function willFinalizeES5_(scope, result, isReplaced) {\n if (!isReplaced) {\n if (scope.patches_) {\n markChangesRecursively(scope.drafts_[0]);\n } // This is faster when we don't care about which attributes changed.\n\n\n markChangesSweep(scope.drafts_);\n } // When a child draft is returned, look for changes.\n else if (isDraft(result) && result[DRAFT_STATE].scope_ === scope) {\n markChangesSweep(scope.drafts_);\n }\n }\n\n function createES5Draft(isArray, base) {\n if (isArray) {\n var draft = new Array(base.length);\n\n for (var i = 0; i < base.length; i++) {\n Object.defineProperty(draft, \"\" + i, proxyProperty(i, true));\n }\n\n return draft;\n } else {\n var _descriptors = getOwnPropertyDescriptors(base);\n\n delete _descriptors[DRAFT_STATE];\n var keys = ownKeys(_descriptors);\n\n for (var _i = 0; _i < keys.length; _i++) {\n var key = keys[_i];\n _descriptors[key] = proxyProperty(key, isArray || !!_descriptors[key].enumerable);\n }\n\n return Object.create(Object.getPrototypeOf(base), _descriptors);\n }\n }\n\n function createES5Proxy_(base, parent) {\n var isArray = Array.isArray(base);\n var draft = createES5Draft(isArray, base);\n var state = {\n type_: isArray ? 5\n /* ES5Array */\n : 4\n /* ES5Object */\n ,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n assigned_: {},\n parent_: parent,\n // base is the object we are drafting\n base_: base,\n // draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n draft_: draft,\n copy_: null,\n revoked_: false,\n isManual_: false\n };\n Object.defineProperty(draft, DRAFT_STATE, {\n value: state,\n // enumerable: false <- the default\n writable: true\n });\n return draft;\n } // property descriptors are recycled to make sure we don't create a get and set closure per property,\n // but share them all instead\n\n\n var descriptors = {};\n\n function proxyProperty(prop, enumerable) {\n var desc = descriptors[prop];\n\n if (desc) {\n desc.enumerable = enumerable;\n } else {\n descriptors[prop] = desc = {\n configurable: true,\n enumerable: enumerable,\n get: function get() {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state); // @ts-ignore\n\n return objectTraps.get(state, prop);\n },\n set: function set(value) {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state); // @ts-ignore\n\n objectTraps.set(state, prop, value);\n }\n };\n }\n\n return desc;\n } // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\n\n function markChangesSweep(drafts) {\n // The natural order of drafts in the `scope` array is based on when they\n // were accessed. By processing drafts in reverse natural order, we have a\n // better chance of processing leaf nodes first. When a leaf node is known to\n // have changed, we can avoid any traversal of its ancestor nodes.\n for (var i = drafts.length - 1; i >= 0; i--) {\n var state = drafts[i][DRAFT_STATE];\n\n if (!state.modified_) {\n switch (state.type_) {\n case 5\n /* ES5Array */\n :\n if (hasArrayChanges(state)) markChanged(state);\n break;\n\n case 4\n /* ES5Object */\n :\n if (hasObjectChanges(state)) markChanged(state);\n break;\n }\n }\n }\n }\n\n function markChangesRecursively(object) {\n if (!object || typeof object !== \"object\") return;\n var state = object[DRAFT_STATE];\n if (!state) return;\n var base_ = state.base_,\n draft_ = state.draft_,\n assigned_ = state.assigned_,\n type_ = state.type_;\n\n if (type_ === 4\n /* ES5Object */\n ) {\n // Look for added keys.\n // probably there is a faster way to detect changes, as sweep + recurse seems to do some\n // unnecessary work.\n // also: probably we can store the information we detect here, to speed up tree finalization!\n each(draft_, function (key) {\n if (key === DRAFT_STATE) return; // The `undefined` check is a fast path for pre-existing keys.\n\n if (base_[key] === undefined && !has(base_, key)) {\n assigned_[key] = true;\n markChanged(state);\n } else if (!assigned_[key]) {\n // Only untouched properties trigger recursion.\n markChangesRecursively(draft_[key]);\n }\n }); // Look for removed keys.\n\n each(base_, function (key) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (draft_[key] === undefined && !has(draft_, key)) {\n assigned_[key] = false;\n markChanged(state);\n }\n });\n } else if (type_ === 5\n /* ES5Array */\n ) {\n if (hasArrayChanges(state)) {\n markChanged(state);\n assigned_.length = true;\n }\n\n if (draft_.length < base_.length) {\n for (var i = draft_.length; i < base_.length; i++) {\n assigned_[i] = false;\n }\n } else {\n for (var _i2 = base_.length; _i2 < draft_.length; _i2++) {\n assigned_[_i2] = true;\n }\n } // Minimum count is enough, the other parts has been processed.\n\n\n var min = Math.min(draft_.length, base_.length);\n\n for (var _i3 = 0; _i3 < min; _i3++) {\n // Only untouched indices trigger recursion.\n if (!draft_.hasOwnProperty(_i3)) {\n assigned_[_i3] = true;\n }\n\n if (assigned_[_i3] === undefined) markChangesRecursively(draft_[_i3]);\n }\n }\n }\n\n function hasObjectChanges(state) {\n var base_ = state.base_,\n draft_ = state.draft_; // Search for added keys and changed keys. Start at the back, because\n // non-numeric keys are ordered by time of definition on the object.\n\n var keys = ownKeys(draft_);\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n if (key === DRAFT_STATE) continue;\n var baseValue = base_[key]; // The `undefined` check is a fast path for pre-existing keys.\n\n if (baseValue === undefined && !has(base_, key)) {\n return true;\n } // Once a base key is deleted, future changes go undetected, because its\n // descriptor is erased. This branch detects any missed changes.\n else {\n var value = draft_[key];\n\n var _state = value && value[DRAFT_STATE];\n\n if (_state ? _state.base_ !== baseValue : !is(value, baseValue)) {\n return true;\n }\n }\n } // At this point, no keys were added or changed.\n // Compare key count to determine if keys were deleted.\n\n\n var baseIsDraft = !!base_[DRAFT_STATE];\n return keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1); // + 1 to correct for DRAFT_STATE\n }\n\n function hasArrayChanges(state) {\n var draft_ = state.draft_;\n if (draft_.length !== state.base_.length) return true; // See #116\n // If we first shorten the length, our array interceptors will be removed.\n // If after that new items are added, result in the same original length,\n // those last items will have no intercepting property.\n // So if there is no own descriptor on the last position, we know that items were removed and added\n // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n // the last one\n // last descriptor can be not a trap, if the array was extended\n\n var descriptor = Object.getOwnPropertyDescriptor(draft_, draft_.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\n if (descriptor && !descriptor.get) return true; // if we miss a property, it has been deleted, so array probobaly changed\n\n for (var i = 0; i < draft_.length; i++) {\n if (!draft_.hasOwnProperty(i)) return true;\n } // For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\n\n return false;\n }\n\n function hasChanges_(state) {\n return state.type_ === 4\n /* ES5Object */\n ? hasObjectChanges(state) : hasArrayChanges(state);\n }\n\n function assertUnrevoked(state\n /*ES5State | MapState | SetState*/\n ) {\n if (state.revoked_) die(3, JSON.stringify(latest(state)));\n }\n\n loadPlugin(\"ES5\", {\n createES5Proxy_: createES5Proxy_,\n willFinalizeES5_: willFinalizeES5_,\n hasChanges_: hasChanges_\n });\n}\n\nfunction enablePatches() {\n var REPLACE = \"replace\";\n var ADD = \"add\";\n var REMOVE = \"remove\";\n\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0\n /* ProxyObject */\n :\n case 4\n /* ES5Object */\n :\n case 2\n /* Map */\n :\n return generatePatchesFromAssigned(state, basePath, patches, inversePatches);\n\n case 5\n /* ES5Array */\n :\n case 1\n /* ProxyArray */\n :\n return generateArrayPatches(state, basePath, patches, inversePatches);\n\n case 3\n /* Set */\n :\n return generateSetPatches(state, basePath, patches, inversePatches);\n }\n }\n\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n var base_ = state.base_,\n assigned_ = state.assigned_;\n var copy_ = state.copy_; // Reduce complexity by ensuring `base` is never longer.\n\n if (copy_.length < base_.length) {\n var _ref = [copy_, base_];\n base_ = _ref[0];\n copy_ = _ref[1];\n var _ref2 = [inversePatches, patches];\n patches = _ref2[0];\n inversePatches = _ref2[1];\n } // Process replaced indices.\n\n\n for (var i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n var path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path: path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path: path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n } // Process added indices.\n\n\n for (var _i = base_.length; _i < copy_.length; _i++) {\n var _path = basePath.concat([_i]);\n\n patches.push({\n op: ADD,\n path: _path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[_i])\n });\n }\n\n if (base_.length < copy_.length) {\n inversePatches.push({\n op: REPLACE,\n path: basePath.concat([\"length\"]),\n value: base_.length\n });\n }\n } // This is used for both Map objects and normal objects.\n\n\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n var base_ = state.base_,\n copy_ = state.copy_;\n each(state.assigned_, function (key, assignedValue) {\n var origValue = get(base_, key);\n var value = get(copy_, key);\n var op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE) return;\n var path = basePath.concat(key);\n patches.push(op === REMOVE ? {\n op: op,\n path: path\n } : {\n op: op,\n path: path,\n value: value\n });\n inversePatches.push(op === ADD ? {\n op: REMOVE,\n path: path\n } : op === REMOVE ? {\n op: ADD,\n path: path,\n value: clonePatchValueIfNeeded(origValue)\n } : {\n op: REPLACE,\n path: path,\n value: clonePatchValueIfNeeded(origValue)\n });\n });\n }\n\n function generateSetPatches(state, basePath, patches, inversePatches) {\n var base_ = state.base_,\n copy_ = state.copy_;\n var i = 0;\n base_.forEach(function (value) {\n if (!copy_.has(value)) {\n var path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path: path,\n value: value\n });\n inversePatches.unshift({\n op: ADD,\n path: path,\n value: value\n });\n }\n\n i++;\n });\n i = 0;\n copy_.forEach(function (value) {\n if (!base_.has(value)) {\n var path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path: path,\n value: value\n });\n inversePatches.unshift({\n op: REMOVE,\n path: path,\n value: value\n });\n }\n\n i++;\n });\n }\n\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? undefined : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n\n function applyPatches_(draft, patches) {\n patches.forEach(function (patch) {\n var path = patch.path,\n op = patch.op;\n var base = draft;\n\n for (var i = 0; i < path.length - 1; i++) {\n var parentType = getArchtype(base);\n var p = path[i];\n\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n } // See #738, avoid prototype pollution\n\n\n if ((parentType === 0\n /* Object */\n || parentType === 1\n /* Array */\n ) && (p === \"__proto__\" || p === \"constructor\")) die(24);\n if (typeof base === \"function\" && p === \"prototype\") die(24);\n base = get(base, p);\n if (typeof base !== \"object\") die(15, path.join(\"/\"));\n }\n\n var type = getArchtype(base);\n var value = deepClonePatchValue(patch.value); // used to clone patch to ensure original patch is not modified, see #411\n\n var key = path[path.length - 1];\n\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2\n /* Map */\n :\n return base.set(key, value);\n\n /* istanbul ignore next */\n\n case 3\n /* Set */\n :\n die(16);\n\n default:\n // if value is an object, then it's assigned by reference\n // in the following add or remove ops, the value field inside the patch will also be modifyed\n // so we use value from the cloned patch\n // @ts-ignore\n return base[key] = value;\n }\n\n case ADD:\n switch (type) {\n case 1\n /* Array */\n :\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n\n case 2\n /* Map */\n :\n return base.set(key, value);\n\n case 3\n /* Set */\n :\n return base.add(value);\n\n default:\n return base[key] = value;\n }\n\n case REMOVE:\n switch (type) {\n case 1\n /* Array */\n :\n return base.splice(key, 1);\n\n case 2\n /* Map */\n :\n return base.delete(key);\n\n case 3\n /* Set */\n :\n return base.delete(patch.value);\n\n default:\n return delete base[key];\n }\n\n default:\n die(17, op);\n }\n });\n return draft;\n }\n\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj)) return obj;\n if (Array.isArray(obj)) return obj.map(deepClonePatchValue);\n if (isMap(obj)) return new Map(Array.from(obj.entries()).map(function (_ref3) {\n var k = _ref3[0],\n v = _ref3[1];\n return [k, deepClonePatchValue(v)];\n }));\n if (isSet(obj)) return new Set(Array.from(obj).map(deepClonePatchValue));\n var cloned = Object.create(Object.getPrototypeOf(obj));\n\n for (var key in obj) {\n cloned[key] = deepClonePatchValue(obj[key]);\n }\n\n if (has(obj, DRAFTABLE)) cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else return obj;\n }\n\n loadPlugin(\"Patches\", {\n applyPatches_: applyPatches_,\n generatePatches_: generatePatches_,\n generateReplacementPatches_: generateReplacementPatches_\n });\n}\n\n// types only!\nfunction enableMapSet() {\n /* istanbul ignore next */\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n }; // Ugly hack to resolve #502 and inherit built in Map / Set\n\n\n function __extends(d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = ( // @ts-ignore\n __.prototype = b.prototype, new __());\n }\n\n var DraftMap = function (_super) {\n __extends(DraftMap, _super); // Create class manually, cause #502\n\n\n function DraftMap(target, parent) {\n this[DRAFT_STATE] = {\n type_: 2\n /* Map */\n ,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: undefined,\n assigned_: undefined,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n return this;\n }\n\n var p = DraftMap.prototype;\n Object.defineProperty(p, \"size\", {\n get: function get() {\n return latest(this[DRAFT_STATE]).size;\n } // enumerable: false,\n // configurable: true\n\n });\n\n p.has = function (key) {\n return latest(this[DRAFT_STATE]).has(key);\n };\n\n p.set = function (key, value) {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n\n return this;\n };\n\n p.delete = function (key) {\n if (!this.has(key)) {\n return false;\n }\n\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n\n state.copy_.delete(key);\n return true;\n };\n\n p.clear = function () {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = new Map();\n each(state.base_, function (key) {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n };\n\n p.forEach = function (cb, thisArg) {\n var _this = this;\n\n var state = this[DRAFT_STATE];\n latest(state).forEach(function (_value, key, _map) {\n cb.call(thisArg, _this.get(key), key, _this);\n });\n };\n\n p.get = function (key) {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n var value = latest(state).get(key);\n\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n\n if (value !== state.base_.get(key)) {\n return value; // either already drafted or reassigned\n } // despite what it looks, this creates a draft only once, see above condition\n\n\n var draft = createProxy(state.scope_.immer_, value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n };\n\n p.keys = function () {\n return latest(this[DRAFT_STATE]).keys();\n };\n\n p.values = function () {\n var _this2 = this,\n _ref;\n\n var iterator = this.keys();\n return _ref = {}, _ref[iteratorSymbol] = function () {\n return _this2.values();\n }, _ref.next = function next() {\n var r = iterator.next();\n /* istanbul ignore next */\n\n if (r.done) return r;\n\n var value = _this2.get(r.value);\n\n return {\n done: false,\n value: value\n };\n }, _ref;\n };\n\n p.entries = function () {\n var _this3 = this,\n _ref2;\n\n var iterator = this.keys();\n return _ref2 = {}, _ref2[iteratorSymbol] = function () {\n return _this3.entries();\n }, _ref2.next = function next() {\n var r = iterator.next();\n /* istanbul ignore next */\n\n if (r.done) return r;\n\n var value = _this3.get(r.value);\n\n return {\n done: false,\n value: [r.value, value]\n };\n }, _ref2;\n };\n\n p[iteratorSymbol] = function () {\n return this.entries();\n };\n\n return DraftMap;\n }(Map);\n\n function proxyMap_(target, parent) {\n // @ts-ignore\n return new DraftMap(target, parent);\n }\n\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n\n var DraftSet = function (_super) {\n __extends(DraftSet, _super); // Create class manually, cause #502\n\n\n function DraftSet(target, parent) {\n this[DRAFT_STATE] = {\n type_: 3\n /* Set */\n ,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: undefined,\n base_: target,\n draft_: this,\n drafts_: new Map(),\n revoked_: false,\n isManual_: false\n };\n return this;\n }\n\n var p = DraftSet.prototype;\n Object.defineProperty(p, \"size\", {\n get: function get() {\n return latest(this[DRAFT_STATE]).size;\n } // enumerable: true,\n\n });\n\n p.has = function (value) {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state); // bit of trickery here, to be able to recognize both the value, and the draft of its value\n\n if (!state.copy_) {\n return state.base_.has(value);\n }\n\n if (state.copy_.has(value)) return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value))) return true;\n return false;\n };\n\n p.add = function (value) {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n\n return this;\n };\n\n p.delete = function (value) {\n if (!this.has(value)) {\n return false;\n }\n\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) :\n /* istanbul ignore next */\n false);\n };\n\n p.clear = function () {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n };\n\n p.values = function () {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n };\n\n p.entries = function entries() {\n var state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n };\n\n p.keys = function () {\n return this.values();\n };\n\n p[iteratorSymbol] = function () {\n return this.values();\n };\n\n p.forEach = function forEach(cb, thisArg) {\n var iterator = this.values();\n var result = iterator.next();\n\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n };\n\n return DraftSet;\n }(Set);\n\n function proxySet_(target, parent) {\n // @ts-ignore\n return new DraftSet(target, parent);\n }\n\n function prepareSetCopy(state) {\n if (!state.copy_) {\n // create drafts for all entries to preserve insertion order\n state.copy_ = new Set();\n state.base_.forEach(function (value) {\n if (isDraftable(value)) {\n var draft = createProxy(state.scope_.immer_, value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n\n function assertUnrevoked(state\n /*ES5State | MapState | SetState*/\n ) {\n if (state.revoked_) die(3, JSON.stringify(latest(state)));\n }\n\n loadPlugin(\"MapSet\", {\n proxyMap_: proxyMap_,\n proxySet_: proxySet_\n });\n}\n\nfunction enableAllPlugins() {\n enableES5();\n enableMapSet();\n enablePatches();\n}\n\nvar immer =\n/*#__PURE__*/\nnew Immer();\n/**\r\n * The `produce` function takes a value and a \"recipe function\" (whose\r\n * return value often depends on the base state). The recipe function is\r\n * free to mutate its first argument however it wants. All mutations are\r\n * only ever applied to a __copy__ of the base state.\r\n *\r\n * Pass only a function to create a \"curried producer\" which relieves you\r\n * from passing the recipe function every time.\r\n *\r\n * Only plain objects and arrays are made mutable. All other objects are\r\n * considered uncopyable.\r\n *\r\n * Note: This function is __bound__ to its `Immer` instance.\r\n *\r\n * @param {any} base - the initial state\r\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\r\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\r\n * @returns {any} a new state, or the initial state if nothing was modified\r\n */\n\nvar produce = immer.produce;\n/**\r\n * Like `produce`, but `produceWithPatches` always returns a tuple\r\n * [nextState, patches, inversePatches] (instead of just the next state)\r\n */\n\nvar produceWithPatches =\n/*#__PURE__*/\nimmer.produceWithPatches.bind(immer);\n/**\r\n * Pass true to automatically freeze all copies created by Immer.\r\n *\r\n * Always freeze by default, even in production mode\r\n */\n\nvar setAutoFreeze =\n/*#__PURE__*/\nimmer.setAutoFreeze.bind(immer);\n/**\r\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\r\n * always faster than using ES5 proxies.\r\n *\r\n * By default, feature detection is used, so calling this is rarely necessary.\r\n */\n\nvar setUseProxies =\n/*#__PURE__*/\nimmer.setUseProxies.bind(immer);\n/**\r\n * Apply an array of Immer patches to the first argument.\r\n *\r\n * This function is a producer, which means copy-on-write is in effect.\r\n */\n\nvar applyPatches =\n/*#__PURE__*/\nimmer.applyPatches.bind(immer);\n/**\r\n * Create an Immer draft from the given base state, which may be a draft itself.\r\n * The draft can be modified until you finalize it with the `finishDraft` function.\r\n */\n\nvar createDraft =\n/*#__PURE__*/\nimmer.createDraft.bind(immer);\n/**\r\n * Finalize an Immer draft from a `createDraft` call, returning the base state\r\n * (if no changes were made) or a modified copy. The draft must *not* be\r\n * mutated afterwards.\r\n *\r\n * Pass a function as the 2nd argument to generate Immer patches based on the\r\n * changes that were made.\r\n */\n\nvar finishDraft =\n/*#__PURE__*/\nimmer.finishDraft.bind(immer);\n/**\r\n * This function is actually a no-op, but can be used to cast an immutable type\r\n * to an draft type and make TypeScript happy\r\n *\r\n * @param value\r\n */\n\nfunction castDraft(value) {\n return value;\n}\n/**\r\n * This function is actually a no-op, but can be used to cast a mutable type\r\n * to an immutable type and make TypeScript happy\r\n * @param value\r\n */\n\nfunction castImmutable(value) {\n return value;\n}\n\nexports.Immer = Immer;\nexports.applyPatches = applyPatches;\nexports.castDraft = castDraft;\nexports.castImmutable = castImmutable;\nexports.createDraft = createDraft;\nexports.current = current;\nexports.default = produce;\nexports.enableAllPlugins = enableAllPlugins;\nexports.enableES5 = enableES5;\nexports.enableMapSet = enableMapSet;\nexports.enablePatches = enablePatches;\nexports.finishDraft = finishDraft;\nexports.freeze = freeze;\nexports.immerable = DRAFTABLE;\nexports.isDraft = isDraft;\nexports.isDraftable = isDraftable;\nexports.nothing = NOTHING;\nexports.original = original;\nexports.produce = produce;\nexports.produceWithPatches = produceWithPatches;\nexports.setAutoFreeze = setAutoFreeze;\nexports.setUseProxies = setUseProxies;\n//# sourceMappingURL=immer.cjs.development.js.map\n","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.t-4:r.t:Array.isArray(n)?1:c(n)?2:v(n)?3:0}function u(n,r){return 2===i(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function o(n,r){return 2===i(n)?n.get(r):n[r]}function f(n,r,t){var e=i(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function a(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function c(n){return W&&n instanceof Map}function v(n){return X&&n instanceof Set}function s(n){return n.i||n.u}function p(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=U(n);delete r[H];for(var t=T(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=d),Object.freeze(n),u&&e(n,(function(n,r){return l(r,!0)}),!0)),n}function d(){n(2)}function h(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function y(r){var t=V[r];return t||n(18,r),t}function _(n,r){V[n]||(V[n]=r)}function b(){return I}function m(n,r){r&&(y(\"Patches\"),n.o=[],n.v=[],n.s=r)}function j(n){O(n),n.p.forEach(w),n.p=null}function O(n){n===I&&(I=n.l)}function x(n){return I={p:[],l:I,h:n,_:!0,m:0}}function w(n){var r=n[H];0===r.t||1===r.t?r.j():r.O=!0}function S(r,e){e.m=e.p.length;var i=e.p[0],u=void 0!==r&&r!==i;return e.h.S||y(\"ES5\").P(e,r,u),u?(i[H].g&&(j(e),n(4)),t(r)&&(r=P(e,r),e.l||M(e,r)),e.o&&y(\"Patches\").M(i[H].u,r,e.o,e.v)):r=P(e,i,[]),j(e),e.o&&e.s(e.o,e.v),r!==B?r:void 0}function P(n,r,t){if(h(r))return r;var i=r[H];if(!i)return e(r,(function(e,u){return g(n,i,r,e,u,t)}),!0),r;if(i.A!==n)return r;if(!i.g)return M(n,i.u,!0),i.u;if(!i.R){i.R=!0,i.A.m--;var u=4===i.t||5===i.t?i.i=p(i.k):i.i,o=u,f=!1;3===i.t&&(o=new Set(u),u.clear(),f=!0),e(o,(function(r,e){return g(n,i,u,r,e,t,f)})),M(n,u,!1),t&&n.o&&y(\"Patches\").F(i,t,n.o,n.v)}return i.i}function g(n,e,i,o,a,c,v){if(r(a)){var s=P(n,a,c&&e&&3!==e.t&&!u(e.N,o)?c.concat(o):void 0);if(f(i,o,s),!r(s))return;n._=!1}else v&&i.add(a);if(t(a)&&!h(a)){if(!n.h.D&&n.m<1)return;P(n,a),e&&e.A.l||M(n,a)}}function M(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n._&&l(r,t)}function A(n,r){var t=n[H];return(t?s(t):n)[r]}function z(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function E(n){n.g||(n.g=!0,n.l&&E(n.l))}function R(n){n.i||(n.i=p(n.u))}function k(n,r,t){var e=c(r)?y(\"MapSet\").K(r,t):v(r)?y(\"MapSet\").$(r,t):n.S?function(n,r){var t=Array.isArray(n),e={t:t?1:0,A:r?r.A:b(),g:!1,R:!1,N:{},l:r,u:n,k:null,i:null,j:null,C:!1},i=e,u=Y;t&&(i=[e],u=Z);var o=Proxy.revocable(i,u),f=o.revoke,a=o.proxy;return e.k=a,e.j=f,a}(r,t):y(\"ES5\").I(r,t);return(t?t.A:b()).p.push(e),e}function F(u){return r(u)||n(22,u),function n(r){if(!t(r))return r;var u,a=r[H],c=i(r);if(a){if(!a.g&&(a.t<4||!y(\"ES5\").J(a)))return a.u;a.R=!0,u=N(r,c),a.R=!1}else u=N(r,c);return e(u,(function(r,t){a&&o(a.u,r)===t||f(u,r,n(t))})),3===c?new Set(u):u}(u)}function N(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return p(n)}function D(){function n(n,r){var t=f[n];return t?t.enumerable=r:f[n]=t={configurable:!0,enumerable:r,get:function(){return Y.get(this[H],n)},set:function(r){Y.set(this[H],n,r)}},t}function t(n){for(var r=n.length-1;r>=0;r--){var t=n[r][H];if(!t.g)switch(t.t){case 5:o(t)&&E(t);break;case 4:i(t)&&E(t)}}}function i(n){for(var r=n.u,t=n.k,e=T(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==H){var f=r[o];if(void 0===f&&!u(r,o))return!0;var c=t[o],v=c&&c[H];if(v?v.u!==f:!a(c,f))return!0}}var s=!!r[H];return e.length!==T(r).length+(s?0:1)}function o(n){var r=n.k;if(r.length!==n.u.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),u=1;u1?t-1:0),u=1;u=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var u=y(\"Patches\").W;return r(n)?u(n,t):this.produce(n,(function(n){return u(n,t)}))},e}(),rn=new nn,tn=rn.produce,en=rn.produceWithPatches.bind(rn),un=rn.setAutoFreeze.bind(rn),on=rn.setUseProxies.bind(rn),fn=rn.applyPatches.bind(rn),an=rn.createDraft.bind(rn),cn=rn.finishDraft.bind(rn);exports.Immer=nn,exports.applyPatches=fn,exports.castDraft=function(n){return n},exports.castImmutable=function(n){return n},exports.createDraft=an,exports.current=F,exports.default=tn,exports.enableAllPlugins=function(){D(),$(),K()},exports.enableES5=D,exports.enableMapSet=$,exports.enablePatches=K,exports.finishDraft=cn,exports.freeze=l,exports.immerable=G,exports.isDraft=r,exports.isDraftable=t,exports.nothing=B,exports.original=function(t){return r(t)||n(23,t),t[H].u},exports.produce=tn,exports.produceWithPatches=en,exports.setAutoFreeze=un,exports.setUseProxies=on;\n//# sourceMappingURL=immer.cjs.production.min.js.map\n","\n'use strict'\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./immer.cjs.production.min.js')\n} else {\n module.exports = require('./immer.cjs.development.js')\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\nvar Scheduler = require('scheduler');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nvar suppressWarning = false;\nfunction setSuppressWarning(newSuppressWarning) {\n {\n suppressWarning = newSuppressWarning;\n }\n} // In DEV, calls to console.warn and console.error get replaced\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n if (!suppressWarning) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n if (!suppressWarning) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar FunctionComponent = 0;\nvar ClassComponent = 1;\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\n\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\n\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\n\nvar HostComponent = 5;\nvar HostText = 6;\nvar Fragment = 7;\nvar Mode = 8;\nvar ContextConsumer = 9;\nvar ContextProvider = 10;\nvar ForwardRef = 11;\nvar Profiler = 12;\nvar SuspenseComponent = 13;\nvar MemoComponent = 14;\nvar SimpleMemoComponent = 15;\nvar LazyComponent = 16;\nvar IncompleteClassComponent = 17;\nvar DehydratedFragment = 18;\nvar SuspenseListComponent = 19;\nvar ScopeComponent = 21;\nvar OffscreenComponent = 22;\nvar LegacyHiddenComponent = 23;\nvar CacheComponent = 24;\nvar TracingMarkerComponent = 25;\n\n// -----------------------------------------------------------------------------\n\nvar enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing\n// the react-reconciler package.\n\nvar enableNewReconciler = false; // Support legacy Primer support on internal FB www\n\nvar enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics.\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\nvar enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz\n// React DOM Chopping Block\n//\n// Similar to main Chopping Block but only flags related to React DOM. These are\n// grouped because we will likely batch all of them into a single major release.\n// -----------------------------------------------------------------------------\n// Disable support for comment nodes as React DOM containers. Already disabled\n// in open source, but www codebase still relies on it. Need to remove.\n\nvar disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection.\n// and client rendering, mostly to allow JSX attributes to apply to the custom\n// element's object properties instead of only HTML attributes.\n// https://github.com/facebook/react/issues/11347\n\nvar enableCustomElementPropertySupport = false; // Disables children for