@galadrim/galadmin 0.1.38 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/front/build/asset-manifest.json +3 -3
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/{main.4ce5340d.chunk.js → main.8a63b422.chunk.js} +2 -2
- package/src/front/build/static/js/main.8a63b422.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/0046fa6def7297665aceff65675276fb.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/6b6404ad16b4fb247c0dfe43c03f4a02.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/ef/81/2c9ecc926af52757cb3670536bc07219d1ccfba4d898a451352553fa6634b48d69ec580dd7c756e5fbcdc72e870664ef6bd7dc1af98e94d9eb182ba93be9 +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{c2/e5/5451dd89bb0fd48f988bf27c7ee614c66eb91f7085c5b5c8cb33048d0c32 → 31/fe/6640db1983b9834e63d1a760fa17521e8cf616b567ef7114a0676aa6971a} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/6c/19/fe86ba5d7c4062f185480ad22dd3b9fae9b30149827224339f9a633a9a94 +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
- package/src/front/node_modules/.package-lock.json +72 -72
- package/src/front/node_modules/@babel/code-frame/lib/index.js +5 -4
- package/src/front/node_modules/@babel/code-frame/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/code-frame/package.json +3 -2
- package/src/front/node_modules/@babel/core/lib/config/cache-contexts.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/caching.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/caching.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/config-chain.js +13 -13
- package/src/front/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js +6 -6
- package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/configuration.js +44 -41
- package/src/front/node_modules/@babel/core/lib/config/files/configuration.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/index-browser.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/index.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/files/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/module-types.js +27 -8
- package/src/front/node_modules/@babel/core/lib/config/files/module-types.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/package.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/files/package.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/plugins.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/files/plugins.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/types.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/utils.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/files/utils.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/full.js +13 -13
- package/src/front/node_modules/@babel/core/lib/config/full.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js +6 -6
- package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/index.js +60 -40
- package/src/front/node_modules/@babel/core/lib/config/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/item.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/item.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/partial.js +15 -23
- package/src/front/node_modules/@babel/core/lib/config/partial.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/plugin.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/plugin.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/printer.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/resolve-targets.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/util.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/options.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/errors/config-error.js +1 -1
- package/src/front/node_modules/@babel/core/lib/errors/config-error.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js +1 -1
- package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/index.js +23 -23
- package/src/front/node_modules/@babel/core/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/parse.js +6 -6
- package/src/front/node_modules/@babel/core/lib/parse.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/parser/index.js +1 -1
- package/src/front/node_modules/@babel/core/lib/parser/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js +1 -1
- package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform-ast.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform-ast.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform-file.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform-file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/index.js +6 -6
- package/src/front/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js +4 -4
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +1 -1
- package/src/front/node_modules/@babel/core/package.json +15 -15
- package/src/front/node_modules/@babel/core/src/config/files/index-browser.ts +2 -2
- package/src/front/node_modules/@babel/core/src/config/files/index.ts +4 -4
- package/src/front/node_modules/@babel/core/src/config/resolve-targets-browser.ts +1 -1
- package/src/front/node_modules/@babel/core/src/config/resolve-targets.ts +1 -1
- package/src/front/node_modules/@babel/core/src/transform-file.ts +5 -5
- package/src/front/node_modules/@babel/generator/lib/buffer.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/base.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/expressions.js +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/flow.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/generators/flow.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/index.js +11 -11
- package/src/front/node_modules/@babel/generator/lib/generators/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/jsx.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/template-literals.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/index.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/node/index.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/node/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/node/whitespace.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/printer.js +3 -3
- package/src/front/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/src/front/node_modules/@babel/generator/package.json +4 -4
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js +2 -2
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js +6 -6
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/package.json +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/README.md +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/package.json +4 -4
- package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js +5 -5
- package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-transforms/package.json +5 -5
- package/src/front/node_modules/@babel/helper-validator-identifier/README.md +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/package.json +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +8 -6
- package/src/front/node_modules/@babel/helper-validator-option/README.md +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-validator-option/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/package.json +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js +21 -21
- package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers.js +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/lib/index.js +1 -1
- package/src/front/node_modules/@babel/helpers/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/package.json +7 -7
- package/src/front/node_modules/@babel/helpers/scripts/generate-helpers.js +1 -1
- package/src/front/node_modules/@babel/highlight/lib/index.js +6 -5
- package/src/front/node_modules/@babel/highlight/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/highlight/package.json +1 -1
- package/src/front/node_modules/@babel/parser/lib/index.js +52 -57
- package/src/front/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/parser/package.json +4 -4
- package/src/front/node_modules/@babel/template/README.md +1 -1
- package/src/front/node_modules/@babel/template/lib/builder.js +3 -3
- package/src/front/node_modules/@babel/template/lib/builder.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/index.js +2 -2
- package/src/front/node_modules/@babel/template/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/literal.js +3 -3
- package/src/front/node_modules/@babel/template/lib/literal.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/parse.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/populate.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/string.js +3 -3
- package/src/front/node_modules/@babel/template/lib/string.js.map +1 -1
- package/src/front/node_modules/@babel/template/package.json +4 -4
- package/src/front/node_modules/@babel/traverse/lib/cache.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/context.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/context.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/hub.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/index.js +8 -8
- package/src/front/node_modules/@babel/traverse/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/comments.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/context.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/conversion.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/family.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/index.js +17 -17
- package/src/front/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/modification.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/removal.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/replacement.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/binding.js +1 -3
- package/src/front/node_modules/@babel/traverse/lib/scope/binding.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/index.js +5 -5
- package/src/front/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/traverse-node.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/types.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/visitors.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/package.json +6 -6
- package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js +1 -1
- package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +3 -3
- package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +9 -9
- package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js +5 -5
- package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +5 -5
- package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/validateNode.js +3 -3
- package/src/front/node_modules/@babel/types/lib/builders/validateNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/clone.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/clone.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js +6 -6
- package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComment.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComment.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js +3 -3
- package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/removeComments.js +2 -2
- package/src/front/node_modules/@babel/types/lib/comments/removeComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/constants/generated/index.js +50 -50
- package/src/front/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +14 -14
- package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBlock.js +9 -9
- package/src/front/node_modules/@babel/types/lib/converters/toBlock.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js +3 -3
- package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toExpression.js +6 -6
- package/src/front/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js +5 -5
- package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toStatement.js +7 -7
- package/src/front/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js +17 -17
- package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/core.js +9 -9
- package/src/front/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/experimental.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/flow.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/index.js +9 -9
- package/src/front/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/jsx.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/misc.js +2 -2
- package/src/front/node_modules/@babel/types/lib/definitions/misc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/typescript.js +4 -4
- package/src/front/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/utils.js +2 -2
- package/src/front/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/index-legacy.d.ts +10 -10
- package/src/front/node_modules/@babel/types/lib/index.d.ts +12 -12
- package/src/front/node_modules/@babel/types/lib/index.js +84 -84
- package/src/front/node_modules/@babel/types/lib/index.js.flow +10 -10
- package/src/front/node_modules/@babel/types/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +6 -6
- package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/inherits.js +4 -4
- package/src/front/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +4 -4
- package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +6 -6
- package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +6 -6
- package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/traverse/traverse.js +2 -2
- package/src/front/node_modules/@babel/types/lib/traverse/traverse.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js +2 -2
- package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/utils/inherit.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +3 -3
- package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/is.js +5 -5
- package/src/front/node_modules/@babel/types/lib/validators/is.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBinding.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isLet.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isNode.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isScope.js +4 -4
- package/src/front/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isType.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isVar.js +4 -4
- package/src/front/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js +6 -6
- package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/validate.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/validate.js.map +1 -1
- package/src/front/node_modules/@babel/types/package.json +4 -4
- package/src/front/node_modules/typescript/lib/lib.decorators.d.ts +17 -0
- package/src/front/node_modules/typescript/lib/lib.dom.d.ts +313 -90
- package/src/front/node_modules/typescript/lib/lib.es2015.collection.d.ts +9 -9
- package/src/front/node_modules/typescript/lib/lib.es2015.core.d.ts +2 -2
- package/src/front/node_modules/typescript/lib/lib.es2015.iterable.d.ts +4 -4
- package/src/front/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +2 -2
- package/src/front/node_modules/typescript/lib/lib.es2017.d.ts +1 -0
- package/src/front/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
- package/src/front/node_modules/typescript/lib/lib.es2020.bigint.d.ts +4 -4
- package/src/front/node_modules/typescript/lib/lib.es2021.weakref.d.ts +19 -16
- package/src/front/node_modules/typescript/lib/lib.es2023.array.d.ts +618 -36
- package/src/front/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
- package/src/front/node_modules/typescript/lib/lib.es2023.d.ts +1 -0
- package/src/front/node_modules/typescript/lib/lib.es5.d.ts +27 -18
- package/src/front/node_modules/typescript/lib/lib.esnext.d.ts +2 -0
- package/src/front/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
- package/src/front/node_modules/typescript/lib/lib.esnext.disposable.d.ts +185 -0
- package/src/front/node_modules/typescript/lib/lib.webworker.d.ts +172 -33
- package/src/front/node_modules/typescript/lib/tsc.js +8311 -6557
- package/src/front/node_modules/typescript/lib/tsserver.js +11796 -9281
- package/src/front/node_modules/typescript/lib/tsserverlibrary.d.ts +287 -249
- package/src/front/node_modules/typescript/lib/tsserverlibrary.js +11801 -9288
- package/src/front/node_modules/typescript/lib/typescript.d.ts +274 -248
- package/src/front/node_modules/typescript/lib/typescript.js +11678 -9231
- package/src/front/node_modules/typescript/lib/typingsInstaller.js +1852 -1645
- package/src/front/node_modules/typescript/package.json +7 -7
- package/src/front/package-lock.json +144 -144
- package/src/front/src/components/inputs/FileInput.js +1 -0
- package/src/front/src/pages/Records.js +1 -0
- package/src/front/build/static/js/main.4ce5340d.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/babel-loader/1dbf9b1b83cdf813e9dc5f561b9b97ac.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/d88f947a76ac5f78797e69c737b6267e.json +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c3/3e/f2b5b90044b7bdbb4cff67b2c09e24bb506274240d920de24bb4b678f3f00b80f7e9f0900cd1de883484031488d8603e97ea6b4e39a9c6ab5160353d3be9 +0 -1
- package/src/front/node_modules/@babel/parser/lib/options.js +0 -44
- package/src/front/node_modules/@babel/parser/lib/options.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js +0 -28
- package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js +0 -20
- package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js +0 -32
- package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js +0 -220
- package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js +0 -22
- package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js +0 -39
- package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error.js +0 -106
- package/src/front/node_modules/@babel/parser/lib/parse-error.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/base.js +0 -36
- package/src/front/node_modules/@babel/parser/lib/parser/base.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/comments.js +0 -190
- package/src/front/node_modules/@babel/parser/lib/parser/comments.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/expression.js +0 -1824
- package/src/front/node_modules/@babel/parser/lib/parser/expression.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/index.js +0 -43
- package/src/front/node_modules/@babel/parser/lib/parser/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/lval.js +0 -421
- package/src/front/node_modules/@babel/parser/lib/parser/lval.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/node.js +0 -127
- package/src/front/node_modules/@babel/parser/lib/parser/node.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/statement.js +0 -2033
- package/src/front/node_modules/@babel/parser/lib/parser/statement.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/util.js +0 -238
- package/src/front/node_modules/@babel/parser/lib/parser/util.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugin-utils.js +0 -136
- package/src/front/node_modules/@babel/parser/lib/plugin-utils.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/estree.js +0 -340
- package/src/front/node_modules/@babel/parser/lib/plugins/estree.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js +0 -2474
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js +0 -44
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js +0 -444
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js +0 -266
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js +0 -198
- package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js +0 -2656
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js +0 -121
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js +0 -31
- package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js +0 -27
- package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js +0 -1119
- package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js +0 -82
- package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js +0 -586
- package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/class-scope.js +0 -92
- package/src/front/node_modules/@babel/parser/lib/util/class-scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js +0 -142
- package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/identifier.js +0 -62
- package/src/front/node_modules/@babel/parser/lib/util/identifier.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/location.js +0 -39
- package/src/front/node_modules/@babel/parser/lib/util/location.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js +0 -49
- package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/scope.js +0 -161
- package/src/front/node_modules/@babel/parser/lib/util/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js +0 -67
- package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/whitespace.js +0 -59
- package/src/front/node_modules/@babel/parser/lib/util/whitespace.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["utils/evalExpression.js","contexts/ConfigContext.js","components/Sidebar.js","components/RedirectToFirstView.js","components/inputs/ColorInput.js","components/inputs/RichTextInput.js","components/inputs/DatetimeInput.js","components/inputs/AddressInput.js","components/inputs/FileInput.js","components/inputs/ForeignSelectInput.js","components/inputs/ForeignDatalistInput.js","components/Input.js","components/LabelTooltip.js","utils/checkRequiredColumns.js","pages/CreateRecord.js","pages/EditRecord.js","components/DownloadButton.js","components/OutsideClickHandler.js","components/AddFilterButton.js","components/BulkActionsButton.js","utils/getFormattedValue.js","pages/Records.js","components/ActionsButton.js","components/BackButton.js","components/DownloadTablePanelButton.js","components/panels/TablePanel.js","components/panels/GalleryPanel.js","components/panels/MapPanel.js","pages/Record.js","images/logo.png","pages/Login.js","pages/Iframe.js","components/CustomComponent.js","pages/CustomView.js","App.js","index.js"],"names":["expression","data","varString","key","replace","JSON","stringify","eval","e","console","log","error","ConfigContext","createContext","ConfigProvider","props","_useState","useState","_useState2","_slicedToArray","config","setConfig","useEffect","axios","get","then","response","_config","googleMapsKey","script","document","createElement","src","body","appendChild","removeChild","_jsx","Provider","value","children","SidebarItemIconAndLabel","_ref","view","_jsxs","_Fragment","class","concat","icon","label","location","useLocation","useContext","history","useHistory","logo","name","views","filter","hidden","map","i","type","href","isActive","pathname","Link","to","startsWith","onClick","push","subviews","subview","j","stopPropagation","hideBranding","firstView","Redirect","column","onChange","initialData","colorPicker","useRef","current","window","$","spectrum","preferredFormat","showInput","chooseText","cancelText","color","on","_","_defineProperty","toHexString","off","ref","target","Quill","prototype","getHTML","this","container","querySelector","innerHTML","quillContainer","editor","theme","modules","toolbar","contentField","setContents","parse","htmlField","clipboard","dangerouslyPasteHTML","_objectSpread","getContents","style","height","withTime","datepicker","datepickerEl","language","autoClose","onSelect","date","moment","format","selectDate","Date","googleMapsInput","google","autocomplete","maps","places","Autocomplete","componentRestrictions","addListener","place","getPlace","length","geometry","fieldValues","latitudeField","lat","longitudeField","lng","addressField","formatted_address","streetNumberField","_place$address_compon","address_components","find","x","long_name","routeField","_place$address_compon2","localityField","_place$address_compon3","administrativeAreaLevel2Field","_place$address_compon4","administrativeAreaLevel1Field","_place$address_compon5","countryField","_place$address_compon6","postalCodeField","_place$address_compon7","placeData","_googleMapsInput$curr","setInputValue","addEventListener","_googleMapsInput$curr2","removeEventListener","placeholder","defaultValue","form","viewIndex","useParams","isLoading","setIsLoading","_useState3","_useState4","path","setPath","onInputChange","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","f","fileData","wrap","_context","prev","next","FormData","method","url","params","columnId","__id__","headers","sent","aspectRatioField","aspectRatio","originalNameField","originalFilename","stop","apply","arguments","id","Math","random","toString","htmlFor","display","preventDefault","options","setOptions","post","_response$data$","_response$data$2","optional","_options$find","option","_options$find2","query","setQuery","input","isInputValid","_input$current","_input$current2","list","_options$find$value","_initialData$column$n","_initialData$column$n2","_initialData$column$n3","dataType","includes","onWheel","blur","setTimeout","focus","defaultOption","Array","isArray","Object","keys","ForeignDatalistInput","ForeignSelectInput","AddressInput","ColorInput","FileInput","DatetimeInput","RichTextInput","text","visible","setVisible","onMouseLeave","onMouseEnter","columns","message","requiredUnfilledColumns","required","undefined","join","swal","title","dangerMode","_step","_useParams","panelIndex","recordId","panel","recordViewPanels","filteredColumns","createConfig","canEditOnCreation","canEdit","_iterator","_createForOfIteratorHelper","s","n","done","err","isCreating","setIsCreating","createRecord","_view$createConfig","checkRequiredColumns","abrupt","createFilters","redirectToCreatedItems","t0","isAxiosError","aNewSingular","index","labelTooltip","LabelTooltip","Input","newValues","goBack","record","setRecord","dataToUpdate","isUpdating","setIsUpdating","updateRecord","primaryValue","previousData","responseText","subviewIndex","currentFilters","orderBy","isDesc","isDownloading","setIsDownloading","filters","download","content","OutsideClickHandler","handler","wrapperRef","onOutsideClick","handleClickOutside","event","_document$getElementB","contains","getElementById","onAddFilter","refreshData","filtersOpened","setFiltersOpened","field","setField","_useState5","_useState6","operator","setOperator","_useState7","_useState8","setValue","foreignSelectedLabel","c","searchableName","_column","info","from","fieldLabel","searchedField","formattedValue","queryItems","_view$customActions","_view$customActions2","selectedRecordIds","bulkActionsOpened","setBulkActionsOpened","hideMultiselect","canDelete","customActions","action","actionIndex","alert","catch","buttons","willDelete","primaryValues","onTable","foreignViewIndex","findIndex","tableName","table","formatValue","dangerouslySetInnerHTML","__html","evalExpression","showAsPicture","imageUrl","baseUrl","pathField","width","objectFit","actionDisplayCondition","backgroundColor","constructor","_viewIndex","_page","_currentFilters","_orderBy","_isDesc","_query","_view$columns","_data$records","page","setPage","setCurrentFilters","setOrderBy","setIsDesc","_useState9","_useState10","_useState11","_useState12","setSelectedRecordIds","_useState13","_useState14","setData","hideInTable","_response$data","_response$data$record","records","BulkActionsButton","AddFilterButton","_toConsumableArray","canExport","DownloadButton","canCreate","sortName","cellIndex","primaryId","notClickable","tagName","clickToEdit","getFormattedValue","count","max","ceil","limit","min","actionsOpened","setActionsOpened","deleteRecord","deleteCallback","canDuplicate","formattedQuery","results","lines","_loop","result","formattedValues","setResults","deleteRow","row","panelId","_x","folded","canShow","onerror","mapRef","initMap","Lat","Lng","zoom","Map","center","Marker","position","BackButton","ActionsButton","canDownload","DownloadTablePanelButton","TablePanel","GalleryPanel","MapPanel","setIsAuthenticated","username","setUsername","password","setPassword","login","success","packages","exports","React","styled","getParsedModule","code","moduleName","_this","create","require","module","Function","wrapper","fetchComponent","_fetchComponent","_callee2","componentPath","_context2","default","CustomComponent","_objectWithoutProperties","_excluded","Component","useMemo","lazy","Suspense","fallback","memo","defaults","withCredentials","baseURL","App","isAuthenticated","Router","basename","Sidebar","Switch","Route","Records","Record","EditRecord","CreateRecord","Iframe","CustomView","RedirectToFirstView","Login","ReactDOM","render","StrictMode"],"mappings":"gKACe,+BAACA,WAAYC,MACxB,IACI,IAAIC,UAAY,GAChB,IAAK,IAAIC,OAAOF,KACZC,WAAa,OAASC,IAAM,OAA8B,kBAAdF,KAAKE,KAAoB,IAAMF,KAAKE,KAAKC,QAAQ,KAAM,OAAOA,QAAQ,MAAO,QAAQA,QAAQ,MAAO,IAAM,IAA4B,kBAAdH,KAAKE,KAAoBE,KAAKC,UAAUL,KAAKE,MAAQF,KAAKE,MAAS,IAE3O,OAAOI,KAAKL,UAAYF,YAC1B,MAAOQ,GAGL,OAFAC,QAAQC,IAAIR,UAAYF,YACxBS,QAAQE,MAAMH,GACP,W,u9BCRTI,cAAgBC,yDAAc,MAE9BC,eAAiB,SAAjBA,eAAkBC,OACpB,IAAAC,UAA4BC,oDAAS,MAAKC,WAAAC,8KAAAH,UAAA,GAAnCI,OAAMF,WAAA,GAAEG,UAASH,WAAA,GAkBxB,OAhBAI,sDAAU,WACNC,6CAAMC,IAAI,WAAWC,MAAK,SAAAC,UACtB,IAAMC,QAAUpB,KAAK,IAAMmB,SAASzB,KAAKmB,OAAS,KAGlD,GAFAC,UAAUM,SAENA,QAAQC,cAAe,CACvB,IAAMC,OAASC,SAASC,cAAc,UAGtC,OAFAF,OAAOG,IAAM,+CAAiDL,QAAQC,cAAgB,iCACtFE,SAASG,KAAKC,YAAYL,QACnB,WACHC,SAASG,KAAKE,YAAYN,eAIvC,IAEIT,OACHgB,2DAACxB,cAAcyB,SAAQ,CAACC,MAAOlB,OAAOmB,SACjCxB,MAAMwB,WAEX,O,+HCnBFC,EAA0B,SAAHC,GAAA,IAAMC,EAAID,EAAJC,KAAI,OACnCC,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,cAAaN,SACpBH,cAAA,KAAGS,MAAK,UAAAC,OAAYJ,EAAKK,MAAQ,cAErCX,cAAA,OAAKS,MAAM,eAAcN,SAAEG,EAAKM,YAIzB,aACX,IAAMC,EAAWC,cACX9B,EAAS+B,qBAAWvC,KACpBwC,EAAUC,cAEhB,OACIV,eAAA,OAAKE,MAAM,UAASN,SAAA,CACfnB,EAAOkC,KAAOlB,cAAA,OAAKJ,IAAKZ,EAAOkC,KAAMT,MAAM,SAAY,KACxDT,cAAA,OAAKS,MAAM,eAAcN,SAAEnB,EAAOmC,OAClCnB,cAAA,OAAKS,MAAM,kBAAiBN,SAAC,gBAC5BnB,EAAOoC,MAAMC,QAAO,SAAAf,GAAI,OAAKA,EAAKgB,UAAQC,KAAI,SAACjB,EAAMkB,GAClD,GAAkB,SAAdlB,EAAKmB,KACL,OACIzB,cAAA,KAAG0B,KAAMpB,EAAKV,IAAIO,SACdH,cAAA,OAAKS,MAAM,cAAaN,SACpBH,cAAA,OAAAG,SACIH,cAACI,EAAuB,CAACE,KAAMA,SAHnBkB,GAQzB,GAAkB,WAAdlB,EAAKmB,KAAmB,CAC/B,IAAME,EAAWd,EAASe,WAAQ,WAAAlB,OAAgBc,GAClD,OACIxB,cAAC6B,IAAI,CAACC,GAAE,WAAApB,OAAac,GAAIrB,SACrBH,cAAA,OAAKS,MAAK,eAAAC,OAAiBiB,EAAW,SAAW,IAAKxB,SAClDH,cAAA,OAAAG,SACIH,cAACI,EAAuB,CAACE,KAAMA,SAHZkB,GAQhC,GAAkB,WAAdlB,EAAKmB,KAAmB,CAC/B,IAAME,EAAWd,EAASe,WAAQ,eAAAlB,OAAoBc,GACtD,OACIxB,cAAC6B,IAAI,CAACC,GAAE,eAAApB,OAAiBc,GAAIrB,SACzBH,cAAA,OAAKS,MAAK,eAAAC,OAAiBiB,EAAW,SAAW,IAAKxB,SAClDH,cAAA,OAAAG,SACIH,cAACI,EAAuB,CAACE,KAAMA,SAHRkB,GAQpC,GAAkB,UAAdlB,EAAKmB,KAAkB,CAE9B,IAAME,EACFd,EAASe,SAASG,WAAW,YAADrB,OAAac,KACzCX,EAASe,WAAQ,iBAAAlB,OAAsBc,IACvCX,EAASe,SAASG,WAAW,WAADrB,OAAYc,KACxCX,EAASe,SAASG,WAAW,eAADrB,OAAgBc,IAChD,OACIxB,cAAA,OAAKgC,QAAS,kBAAMhB,EAAQiB,KAAK,YAADvB,OAAac,KAAKrB,SAC9CI,eAAA,OAAKE,MAAK,eAAAC,OAAiBiB,EAAW,SAAW,IAAKxB,SAAA,CAClDI,eAAA,OAAAJ,SAAA,CACIH,cAAA,OAAKS,MAAM,wBACXT,cAACI,EAAuB,CAACE,KAAMA,OAElCA,EAAK4B,SACF3B,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,sBACVH,EAAK4B,SAASX,KAAI,SAACY,EAASC,GACzB,IAAMT,EAAWd,EAASe,UAAQ,YAAAlB,OAAgBc,EAAC,KAAAd,OAAI0B,GACvD,OACIpC,cAAA,OAAKgC,QAAS,SAAC5D,GACX4C,EAAQiB,KAAK,YAADvB,OAAac,EAAC,KAAAd,OAAI0B,IAC9BhE,EAAEiE,mBACJlC,SACEI,eAAA,OAAK,qBAAoB6B,EAAG3B,MAAOkB,EAAW,SAAW,GAAGxB,SAAA,CACxDH,cAAA,OAAKS,MAAM,kCACV0B,EAAQvB,iBAM7B,SAxB4CY,OA8BlExC,EAAOsD,aAEL,KADA/B,eAAA,OAAKE,MAAM,kBAAiBN,SAAA,CAAC,aAAUH,cAAA,KAAGS,MAAM,iBAAmB,sBC9FpE,aACd,IACM8B,EADSxB,qBAAWvC,KACD4C,MAAM,GAE/B,OAAKmB,EAGkB,UAAnBA,EAAUd,KACNzB,cAACwC,IAAQ,CAACV,GAAG,eAEE,WAAnBS,EAAUd,KACNzB,cAACwC,IAAQ,CAACV,GAAG,cAEE,WAAnBS,EAAUd,KACNzB,cAACwC,IAAQ,CAACV,GAAG,kBAEd,KAXC,M,+DCTM,WAAAzB,GAAwC,IAArCoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAC1BC,EAAcC,iBAAO,MAkB3B,OAhBA3D,qBAAU,WAaN,OAZI0D,EAAYE,UACZC,OAAOC,EAAEJ,EAAYE,SAASG,SAAS,CACnCC,gBAAiB,MACjBC,WAAW,EACXC,WAAY,KACZC,WAAY,UACZC,MAAkB,OAAXX,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,QAEhC4B,OAAOC,EAAEJ,EAAYE,SAASS,GAAG,mBAAmB,SAACC,EAAGtD,GACpDwC,EAAQe,YAAC,GAAGhB,EAAOtB,KAAOjB,EAAMwD,oBAGjC,kBAAMX,OAAOC,EAAEJ,EAAYE,SAASa,SAC5C,CAACf,EAAYE,UAGZ9C,cAAA,SACI4D,IAAKhB,EACLnB,KAAK,OACLiB,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,YCvBhE6C,OAAOe,MAAMC,UAAUC,QAAU,WAC7B,OAAOC,KAAKC,UAAUC,cAAc,cAAcC,WAGvC,eAAA/D,GAAwC,IAArCoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAC1B0B,EAAiBxB,iBAAO,MA6C9B,OA3CA3D,qBAAU,WACN,GAAImF,EAAevB,UAAYuB,EAAevB,QAAQwB,OAAQ,CAC1D,IAAMA,EAAS,IAAIvB,OAAOe,MAAMO,EAAevB,QAAS,CACpDyB,MAAO,OACPC,QAAS,CACLC,QAAS,CACL,CAAC,CACG,OAAU,CAAC,EAAG,EAAG,EAAG,GAAG,KAE3B,CAAC,OAAQ,SAAU,YAAa,QAChC,CAAC,SACD,CAAC,CACG,MAAS,KAEb,CAAC,CACG,KAAQ,WACT,CACC,KAAQ,WAEZ,CAAC,aAIb,GAAIhC,EAAOiC,cACP,GAAe,OAAX/B,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOiC,cACrB,IACIJ,EAAOK,YAAY1G,KAAK2G,MAAiB,OAAXjC,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOiC,gBACrD,MAAOtG,UAENqE,EAAOoC,WACdP,EAAOQ,UAAUC,qBAAqB,EAAc,OAAXpC,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOoC,YASlE,OAPAP,EAAOf,GAAG,eAAe,WACrBb,EAAQsC,YAAAvB,YAAC,GACJhB,EAAOoC,UAAYP,EAAON,WACvBvB,EAAOiC,cAAYjB,YAAA,GAAOhB,EAAOiC,aAAezG,KAAKC,UAAUoG,EAAOW,qBAGlFZ,EAAevB,QAAQwB,OAASA,EACzBA,EAAOX,SAEnB,CAACU,EAAevB,UAGf9C,cAAA,OAAKS,MAAM,iBAAgBN,SACvBH,cAAA,OAAKS,MAAM,QAAQmD,IAAKS,EAAgBa,MAAOzC,EAAO0C,OAAS,CAAEA,OAAQ1C,EAAO0C,QAAW,UCpDxF,WAAA9E,GAAkD,IAA/CoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAAayC,EAAQ/E,EAAR+E,SACvCC,EAAaxC,iBAAO,MAiB1B,OAfA3D,qBAAU,WACN,GAAImG,EAAWvC,QAAS,CACpB,IAAMwC,EAAevC,OAAOC,EAAEqC,EAAWvC,SAASuC,WAAW,CACzDE,SAAU,KACVC,WAAW,EACXC,SAAU,SAACjC,EAAGkC,GACVhD,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO4B,OAAO4C,OAAOD,GAAME,OAAOR,EAAW,sBAAwB,oBAGjF,OAAXzC,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,QACrBmE,EAAazH,KAAK,cAAcgI,WAAW,IAAIC,KAAgB,OAAXnD,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,WAGlF,CAACkE,EAAWvC,UAGX9C,cAAA,OAAAG,SACIH,cAAA,SAAOyB,KAAK,OAAOmC,IAAKyB,EAAY,kBAAiBD,EAAW,OAAS,aCpBtE,WAAA/E,GAAwC,IAArCoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAC1BoD,EAAkBlD,iBAAO,MAqD/B,OAnDA3D,qBAAU,WACN,GAAI6G,EAAgBjD,SAAWC,OAAOiD,OAAQ,CAC1C,IAAMC,EAAe,IAAIlD,OAAOiD,OAAOE,KAAKC,OAAOC,aAC/CL,EAAgBjD,QAChBL,EAAO4D,sBAAwB,CAC3BA,sBAAuB5D,EAAO4D,uBAC9B,IAERJ,EAAaK,YAAY,iBAAiB,WACtC,IAAMC,EAAQN,EAAaO,WAC3B,GAAqB,IAAjBD,EAAME,QAGLF,EAAMG,SAAX,CAGI,IAAMC,EAAc,CAChBC,cAAe,SAACL,GAAK,OAAKA,EAAMG,SAAS7F,SAASgG,OAClDC,eAAgB,SAACP,GAAK,OAAKA,EAAMG,SAAS7F,SAASkG,OACnDC,aAAc,SAACT,GAAK,OAAKA,EAAMU,mBAC/BC,kBAAmB,SAACX,GAAK,IAAAY,EAAA,OAAmE,QAAnEA,EAAKZ,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,kBAAXA,EAAE7F,eAAyB,IAAA0F,OAAA,EAA9DA,EAAgEI,WAC9FC,WAAY,SAACjB,GAAK,IAAAkB,EAAA,OAA2D,QAA3DA,EAAKlB,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,UAAXA,EAAE7F,eAAiB,IAAAgG,OAAA,EAAtDA,EAAwDF,WAC/EG,cAAe,SAACnB,GAAK,IAAAoB,EAAA,OAA8D,QAA9DA,EAAKpB,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,aAAXA,EAAE7F,eAAoB,IAAAkG,OAAA,EAAzDA,EAA2DJ,WACrFK,8BAA+B,SAACrB,GAAK,IAAAsB,EAAA,OAAiF,QAAjFA,EAAKtB,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,gCAAXA,EAAE7F,eAAuC,IAAAoG,OAAA,EAA5EA,EAA8EN,WACxHO,8BAA+B,SAACvB,GAAK,IAAAwB,EAAA,OAAiF,QAAjFA,EAAKxB,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,gCAAXA,EAAE7F,eAAuC,IAAAsG,OAAA,EAA5EA,EAA8ER,WACxHS,aAAc,SAACzB,GAAK,IAAA0B,EAAA,OAA6D,QAA7DA,EAAK1B,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,YAAXA,EAAE7F,eAAmB,IAAAwG,OAAA,EAAxDA,EAA0DV,WACnFW,gBAAiB,SAAC3B,GAAK,IAAA4B,EAAA,OAAiE,QAAjEA,EAAK5B,EAAMa,mBAAmBC,MAAK,SAAAC,GAAC,MAAe,gBAAXA,EAAE7F,eAAuB,IAAA0G,OAAA,EAA5DA,EAA8DZ,YAExFa,EAAY,GAClB,IAAK,IAAMrK,KAAO4I,EACVlE,EAAO1E,KACPqK,EAAU3F,EAAO1E,IAAQ4I,EAAY5I,GAAKwI,IAGlDR,EAAgBjD,QAAQ5C,MAAQqG,EAAMU,kBACtCvE,EAAS0F,UAItB,CAACrC,EAAgBjD,UAEpB5D,qBAAU,WAAO,IAADmJ,EACNC,EAAgB,WACdvC,EAAgBjD,UAChBiD,EAAgBjD,QAAQ5C,MAAQ,KAIxC,OADe,OAAf6F,QAAe,IAAfA,GAAwB,QAATsC,EAAftC,EAAiBjD,eAAO,IAAAuF,GAAxBA,EAA0BE,iBAAiB,WAAYD,GAChD,eAAAE,EAAA,OAAqB,OAAfzC,QAAe,IAAfA,GAAwB,QAATyC,EAAfzC,EAAiBjD,eAAO,IAAA0F,OAAT,EAAfA,EAA0BC,oBAAoB,WAAYH,MACxE,CAACvC,EAAgBjD,UAGhB9C,cAAA,OAAAG,SACIH,cAAA,SACIyB,KAAK,OACLiH,YAAY,GACZ9E,IAAKmC,EACL4C,aAAyB,OAAXhG,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,WCxDpC,WAAAd,GAAwC,IAArCoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAC1BiG,EAAO/F,iBAAO,MACZgG,EAAcC,cAAdD,UACRjK,EAAkCC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAA1CmK,EAASjK,EAAA,GAAEkK,EAAYlK,EAAA,GAC9BmK,EAAwBpK,mBAAoB,OAAX8D,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,OAAM+H,EAAAnK,YAAAkK,EAAA,GAArDE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAa,eAAAC,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAC,EAAArK,EAAAsK,EAAA,OAAAJ,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEC,OADbL,EAAI,IAAIM,SAASrB,EAAK9F,SAC5BkG,GAAa,GAAMc,EAAAE,KAAA,EAEI7K,IAAM,CACzB+K,OAAQ,OACRC,IAAI,cACJtM,KAAM8L,EACNS,OAAQ,CACJvB,YACAwB,SAAU5H,EAAO6H,QAErBC,QAAS,CAAE,eAAgB,yBAC7B,OATIjL,EAAQwK,EAAAU,KAURZ,EAAQnG,YAAA,GACThB,EAAOtB,KAAO7B,EAASzB,KAAKsL,MAE7B1G,EAAOgI,mBACPb,EAASnH,EAAOgI,kBAAoBnL,EAASzB,KAAK6M,aAElDjI,EAAOkI,oBACPf,EAASnH,EAAOkI,mBAAqBrL,EAASzB,KAAK+M,kBAEvDlI,EAASkH,GACTZ,GAAa,GACbI,EAAQ9J,EAASzB,KAAKsL,MAGtB,yBAAAW,EAAAe,UAAAnB,OACH,kBA7BkB,OAAAJ,EAAAwB,MAAA,KAAAC,YAAA,GA8CfC,EAAKC,KAAKC,SAASC,WACvB,OACInL,cAAA,OAAKS,MAAM,qBAAoBN,SAC3BI,eAAA,SAAO6K,QAASJ,EAAG7K,SAAA,CACfH,cAAA,QAAM4D,IAAKgF,EAAKzI,SACZH,cAAA,SAAOyB,KAAK,OAAOuJ,GAAIA,EAAI9F,MAAO,CAAEmG,QAAS,QAAUlK,KAAK,OAAOuB,SAAU2G,MAEjF9I,eAAA,OAAKE,MAAK,oBAAAC,OAAuByI,EAA6B,GAAtB,qBAA2BhJ,SAAA,CAC9D4I,EACG/I,cAAA,KAAGS,MAAM,+BACP,KAEJsI,GAAcI,EAEV,KADFnJ,cAAA,OAAAG,SAAK,6CAEP4I,GAAaI,EACX5I,eAAA,OAAKE,MAAM,qBAAoBN,SAAA,CAC3BH,cAAA,QAAAG,SAAM,gCACNH,cAAA,OAAKS,MAAM,aAAauB,QAjC7B,SAAC5D,GAChBgL,EAAQ,MACR,IAAMQ,EAAQnG,YAAA,GACThB,EAAOtB,KAAO,MAEfsB,EAAOgI,mBACPb,EAASnH,EAAOgI,kBAAoB,MAEpChI,EAAOkI,oBACPf,EAASnH,EAAOkI,mBAAqB,MAEzCjI,EAASkH,GACTxL,EAAEkN,kBAqB8DnL,SAACH,cAAA,KAAGS,MAAM,0BAE1D,cCxET,WAAAJ,GAAwC,IAArCoC,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAChC/D,EAA8BC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAArC2M,EAAOzM,EAAA,GAAE0M,EAAU1M,EAAA,GAClB+J,EAAcC,cAAdD,UAgBR,OAdA3J,qBAAU,WACNC,IAAMsM,KAAK,wBAAyB,CAChC5C,YACAwB,SAAU5H,EAAO6H,SAClBjL,MAAK,SAACC,GAAc,IAADoM,EAAAC,EAClBH,EAAWlM,EAASzB,MACpB6E,EAAQe,YAAC,GACJhB,EAAOtB,MAAkB,OAAXwB,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,SAAUsB,EAAOmJ,SAAW,OAAyB,QAAnBF,EAAGpM,EAASzB,KAAK,UAAE,IAAA6N,OAAA,EAAhBA,EAAkBxL,QAC5F,CACCU,MAAO6B,EAAOmJ,SAAW,IAAsB,QAAnBD,EAAGrM,EAASzB,KAAK,UAAE,IAAA8N,OAAA,EAAhBA,EAAkB/K,aAG1D,IAEgB,OAAZ2K,EACHvL,cAAA,KAAGS,MAAM,6BAA6ByE,MAAO,CAAE5B,MAAO,aAEtD/C,eAAA,UACImC,SAAU,SAACtE,GAAC,IAAAyN,EAAA,OAAKnJ,EAAQe,YAAC,GACrBhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,OACzB,CACCU,MAAmD,QAA9CiL,EAAEN,EAAQlE,MAAK,SAAAC,GAAC,OAAIA,EAAEpH,OAAS9B,EAAEyF,OAAO3D,gBAAM,IAAA2L,OAAA,EAA5CA,EAA8CjL,SAEzD+H,aAAyB,OAAXhG,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,MAAMhB,SAAA,CAExCsC,EAAOmJ,SAAW5L,cAAA,UAAQE,MAAM,OAAMC,SAAC,MAAa,KACpDoL,EAAQhK,KAAI,SAACuK,GACV,OACI9L,cAAA,UAAQE,MAAO4L,EAAO5L,MAAMC,SACvB2L,EAAOlL,OADsBkL,EAAO5L,cChC9C,WAAAG,GAAwC,IAAD0L,EAApCtJ,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YAChC/D,EAA8BC,mBAAS,IAAGC,EAAAC,YAAAH,EAAA,GAAnC2M,EAAOzM,EAAA,GAAE0M,EAAU1M,EAAA,GAClB+J,EAAcC,cAAdD,UACRI,EAA0BpK,mBAAS,IAAGqK,EAAAnK,YAAAkK,EAAA,GAA/B+C,EAAK9C,EAAA,GAAE+C,EAAQ/C,EAAA,GAChBgD,EAAQrJ,iBAAO,MACfsJ,EAAetJ,kBAAO,GAE5B3D,qBAAU,WACNC,IAAMsM,KAAK,wBAAyB,CAChC5C,YACAwB,SAAU5H,EAAO6H,OACjB0B,UACD3M,MAAK,SAACC,GACLkM,EAAWlM,EAASzB,WAEzB,CAACmO,IAEJ9M,qBAAU,WAAO,IAADkN,EACN9D,EAAgB,WACd4D,EAAMpJ,UAAYqJ,EAAarJ,UAC/BoJ,EAAMpJ,QAAQ5C,MAAQ,KAI9B,OADK,OAALgM,QAAK,IAALA,GAAc,QAATE,EAALF,EAAOpJ,eAAO,IAAAsJ,GAAdA,EAAgB7D,iBAAiB,WAAYD,GACtC,eAAA+D,EAAA,OAAW,OAALH,QAAK,IAALA,GAAc,QAATG,EAALH,EAAOpJ,eAAO,IAAAuJ,OAAT,EAALA,EAAgB5D,oBAAoB,WAAYH,MAC9D,CAAC4D,EAAMpJ,UAEV,IAAMkI,EAAKC,KAAKC,SAEhB,OAAmB,OAAZK,EACHvL,cAAA,KAAGS,MAAM,6BAA6ByE,MAAO,CAAE5B,MAAO,aAEtD/C,eAAA,OAAAJ,SAAA,CACIH,cAAA,SACIyB,KAAK,OACL6K,KAAMtB,EACNpH,IAAKsI,EACLxJ,SAAU,SAACtE,GAAO,IAADmO,EAAAV,EACP3L,EAA4D,QAAvDqM,EAAgD,QAAhDV,EAAGN,EAAQlE,MAAK,SAAAC,GAAC,OAAIA,EAAE1G,QAAUxC,EAAEyF,OAAO3D,gBAAM,IAAA2L,OAAA,EAA7CA,EAA+C3L,aAAK,IAAAqM,IAAI,KACtEJ,EAAarJ,UAAY5C,EACzB+L,EAAS7N,EAAEyF,OAAO3D,OAClBwC,EAAQe,YAAC,GAAGhB,EAAOtB,KAAOjB,KAE9ByI,aAAuE,QAA3DoD,EAAER,EAAQlE,MAAK,SAAAC,GAAC,OAAIA,EAAEpH,SAAqB,OAAXyC,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,iBAAM,IAAA4K,OAAA,EAAzDA,EAA2DnL,QAE7EL,eAAA,YAAUyK,GAAIA,EAAG7K,SAAA,CACZsC,EAAOmJ,SAAW5L,cAAA,UAAQE,MAAM,OAAMC,SAAC,MAAa,KACpDoL,EAAQhK,KAAI,SAACuK,GACV,OACI9L,cAAA,UAAQE,MAAO4L,EAAOlL,MAAMT,SACvB2L,EAAOlL,OADsBkL,EAAO5L,iBC/ClD,WAAAG,GAAwC,IAiBhBmM,EAWgCC,EAUjCC,EAtCpBjK,EAAMpC,EAANoC,OAAQC,EAAQrC,EAARqC,SAAUC,EAAWtC,EAAXsC,YACxBgK,EAAalK,EAAbkK,SAER,MAAI,CAAC,MAAO,SAAU,QAAS,WAAWC,SAASD,GAE3C3M,cAAA,SACIyB,KAAK,SACLiB,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAyB,OAAXhG,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,MACnC0L,QAAS,SAACzO,GACNA,EAAEyF,OAAOiJ,OACTC,YAAW,WACP3O,EAAEyF,OAAOmJ,UACV,MAIK,YAAbL,EAEHpM,eAAA,UACImC,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAwC,QAA5B6D,EAAa,OAAX7J,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,aAAK,IAAAqL,IAAI/J,EAAOwK,cAAc9M,SAAA,CAEhEsC,EAAOmJ,SAAW5L,cAAA,UAAQE,MAAM,OAAMC,SAAC,MAAa,KACrDH,cAAA,UAAQE,MAAM,IAAGC,SAAC,QAClBH,cAAA,UAAQE,MAAM,IAAGC,SAAC,WAGN,WAAbwM,GAAyBO,MAAMC,QAAQ1K,EAAO8I,SAEjDhL,eAAA,UACImC,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAwC,QAA5B8D,EAAa,OAAX9J,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,aAAK,IAAAsL,IAAIhK,EAAOwK,cAAc9M,SAAA,CAEhEsC,EAAOmJ,SAAW5L,cAAA,UAAQE,MAAM,OAAMC,SAAC,MAAa,KACpDsC,EAAO8I,QAAQhK,KAAI,SAAAuK,GAAM,OAAI9L,cAAA,UAAQE,MAAO4L,EAAO3L,SAAe2L,GAATA,SAG9C,WAAba,EAEHpM,eAAA,UACImC,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAwC,QAA5B+D,EAAa,OAAX/J,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,aAAK,IAAAuL,IAAIjK,EAAOwK,cAAc9M,SAAA,CAEhEsC,EAAOmJ,SAAW5L,cAAA,UAAQE,MAAM,OAAMC,SAAC,MAAa,KACpDiN,OAAOC,KAAK5K,EAAO8I,SAAShK,KAAI,SAAAxD,GAAG,OAAIiC,cAAA,UAAQE,MAAOnC,EAAIoC,SAAYsC,EAAO8I,QAAQxN,IAArBA,SAGrD,aAAb4O,EAEH3M,cAACsN,EAAoB,CACjB7K,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAGD,YAAbgK,EAEH3M,cAACuN,EAAkB,CACf9K,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAGD,YAAbgK,EAEH3M,cAACwN,EAAY,CACT/K,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAGD,UAAbgK,EAEH3M,cAACyN,EAAU,CACPhL,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAGD,SAAbgK,EAEH3M,cAAC0N,EAAS,CACNjL,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAGD,aAAbgK,EAEH3M,cAAC2N,EAAa,CACVlL,OAAQA,EACRC,SAAUA,EACVC,YAAaA,EACbyC,UAAU,IAGE,SAAbuH,EAEH3M,cAAC2N,EAAa,CACVlL,OAAQA,EACRC,SAAUA,EACVC,YAAaA,EACbyC,UAAU,IAGE,aAAbuH,EAEH3M,cAAA,YACI0C,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAyB,OAAXhG,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,QAIvB,aAAbwL,EAEH3M,cAAC4N,EAAa,CACVnL,OAAQA,EACRC,SAAUA,EACVC,YAAaA,IAKjB3C,cAAA,SACIyB,KAAK,OACLiB,SAAU,SAACtE,GAAC,OAAKsE,EAAQe,YAAC,GAAGhB,EAAOtB,KAAO/C,EAAEyF,OAAO3D,SACpDyI,aAAyB,OAAXhG,QAAW,IAAXA,OAAW,EAAXA,EAAcF,EAAOtB,SCrIpC,WAAAd,GAAe,IAAZwN,EAAIxN,EAAJwN,KACdjP,EAA8BC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAtCkP,EAAOhP,EAAA,GAAEiP,EAAUjP,EAAA,GAC1B,OACIyB,eAAA,OAAKE,MAAM,wBAAwBuN,aAAc,kBAAMD,GAAW,IAAO5N,SAAA,CACrEH,cAAA,OAAKS,MAAM,mBAAmBwN,aAAc,kBAAMF,GAAW,IAAM5N,SAC/DH,cAAA,KAAGS,MAAM,4BAEZqN,EACG9N,cAAA,OAAKS,MAAM,UAASN,SACf0N,IAEL,SCTD,eAACK,EAASrQ,GACrB,IAEQsQ,EAFFC,EAA0BF,EAAQ7M,QAAO,SAAAoB,GAAM,OAAIA,EAAO4L,gBAJnDC,KADIhH,EAKuEzJ,EAAK4E,EAAOtB,QAJpE,OAANmG,GAAoB,KAANA,GAD5C,IAAqBA,KAMjB,QAAI8G,EAAwB3H,OAAS,KAG7B0H,EADkC,GAAlCC,EAAwB3H,OACjB,mBAAA/F,OAAsB0N,EAAwB7M,KAAI,SAAA+F,GAAC,OAAIA,EAAE1G,SAAO2N,KAAK,MAAK,6BAE1E,qBAAA7N,OAAwB0N,EAAwB7M,KAAI,SAAA+F,GAAC,OAAIA,EAAE1G,SAAO2N,KAAK,MAAK,gCAEvFxL,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAMM,EACNO,YAAY,KAET,ICPA,aACX,IAYoCC,EAZ9B3P,EAAS+B,qBAAWvC,KAC1BoQ,EAA4C9F,cAApCD,EAAS+F,EAAT/F,UAAWgG,EAAUD,EAAVC,WAAYC,EAAQF,EAARE,SACzB9N,EAAUC,cACVX,EAAOtB,EAAOoC,MAAMyH,GACpBkG,EAAQF,EAAavO,EAAK0O,iBAAiBH,GAAc,KACzDI,EAAkBF,EAAQA,EAAMG,aAAahB,QAAU5N,EAAK4N,QAAQ7M,QACtE,SAAAoB,GAAM,OAAIA,EAAOkK,YACiB,IAA7BlK,EAAO0M,oBAAiD,IAAnB1M,EAAO2M,WACzC3M,EAAOnB,UAGbqB,EAAc,GAAE0M,EAAAC,YACDL,GAAe,IAApC,IAAAI,EAAAE,MAAAZ,EAAAU,EAAAG,KAAAC,MAAsC,CAAC,IAA5BhN,EAAMkM,EAAAzO,MACTuC,EAAOwK,cACPtK,EAAYF,EAAOtB,MAAQsB,EAAOwK,cACP,YAApBxK,EAAOkK,SACdhK,EAAYF,EAAOtB,MAAQsB,EAAOmJ,SAAW,OAAS,IAC3B,WAApBnJ,EAAOkK,UAAyBO,MAAMC,QAAQ1K,EAAO8I,SAC5D5I,EAAYF,EAAOtB,MAAQsB,EAAO8I,QAAQ,GACf,WAApB9I,EAAOkK,WACdhK,EAAYF,EAAOtB,MAAQiM,OAAOC,KAAK5K,EAAO8I,SAAS,IAEvD9I,EAAOkG,eACPhG,EAAYF,EAAOtB,MAAQsB,EAAOkG,eAEzC,MAAA+G,GAAAL,EAAAjR,EAAAsR,GAAA,QAAAL,EAAA1F,IACD,IAAM9L,EAAOgF,iBAAOF,GACpB/D,EAAoCC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAA5C+Q,EAAU7Q,EAAA,GAAE8Q,EAAa9Q,EAAA,GAE1B+Q,EAAY,eAAAxP,EAAAkJ,YAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAA3L,EAAA+R,EAAAxQ,EAAA,OAAAkK,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACZ+F,EAAqBd,EAAiBpR,EAAKiF,SAAS,CAADgH,EAAAE,KAAA,eAAAF,EAAAkG,OAAA,iBACxD,IAAWjS,KAAOuC,EAAK2P,cACnBpS,EAAKiF,QAAQ/E,GAAOuC,EAAK2P,cAAclS,GAExB,OAAnB6R,GAAc,GAAK9F,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEQ7K,IAAMsM,KAAK,gBAAiB,CAC/C5C,YACAgG,aACAC,WACAjR,KAAMA,EAAKiF,UACb,OALIxD,EAAQwK,EAAAU,KAMdoF,GAAc,GACVd,EACA9N,EAAQiB,KAAK,WAADvB,OAAYmI,EAAS,KAAAnI,OAAIoO,KAC1B,OAAJxO,QAAI,IAAJA,GAAkB,QAAdwP,EAAJxP,EAAM4O,oBAAY,IAAAY,OAAd,EAAJA,EAAoBI,wBAC3BlP,EAAQiB,KAAK,WAADvB,OAAYmI,EAAS,KAAAnI,OAAIpB,EAASzB,KAAKmN,KAEnDhK,EAAQiB,KAAK,YAADvB,OAAamI,IAC5BiB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqG,GAAArG,EAAA,SAED/G,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM1O,IAAMiR,aAAYtG,EAAAqG,IAAUrG,EAAAqG,GAAM7Q,SAASzB,KAAKsQ,QAAU,0BAChEO,YAAY,IAEhBkB,GAAc,GAAM,yBAAA9F,EAAAe,UAAAnB,EAAA,mBAE3B,kBA7BiB,OAAArJ,EAAAyK,MAAA,KAAAC,YAAA,GA+BlB,OACIxK,eAAA,OAAKE,MAAM,OAAMN,SAAA,CACbH,cAAA,OAAKS,MAAM,aAAYN,SACnBH,cAAA,OAAKS,MAAM,YAAWN,SAAE4O,EAAQA,EAAMG,aAAatO,MAAK,YAAAF,OAAYJ,EAAK+P,kBAE7E9P,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBH,cAAA,OAAKS,MAAM,OAAMN,SACZ8O,EAAgB1N,KAAI,SAACkB,EAAQ6N,GAC1B,OACI/P,eAAA,OAAKE,MAAM,cAAaN,SAAA,CACpBI,eAAA,OAAKE,MAAM,YAAWN,SAAA,CACjBsC,EAAO7B,MAAM,IAAE6B,EAAO4L,SAAW,IAAM,GACvC5L,EAAO8N,aAAevQ,cAACwQ,EAAY,CAAC3C,KAAMpL,EAAO8N,eAAmB,QAEzEvQ,cAAA,OAAKS,MAAM,YAAWN,SAClBH,cAACyQ,EAAK,CACFhO,OAAQA,EACRC,SAAU,SAACgO,GAAgB7S,EAAKiF,QAAOkC,wBAAA,GAAQnH,EAAKiF,SAAY4N,UAR9CJ,QAe1CtQ,cAAA,OAAKS,MAAK,sBAAAC,OAAwBiP,EAAa,UAAY,IAAM3N,QAAS6N,EAAa1P,SAAEwP,EAAa,yBAA2B,aACjI3P,cAAA,OAAKS,MAAM,SAASuB,QAAS,kBAAMhB,EAAQ2P,UAASxQ,SAAC,mBCtFtD,aACX,IAAMnB,EAAS+B,qBAAWvC,KAC1BoQ,EAAgC9F,cAAxBD,EAAS+F,EAAT/F,UAAWiG,EAAQF,EAARE,SACb9N,EAAUC,cACVX,EAAOtB,EAAOoC,MAAMyH,GAC1BjK,EAA4BC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAAnCgS,EAAM9R,EAAA,GAAE+R,EAAS/R,EAAA,GAClBmQ,EAAkB3O,EAAK4N,QAAQ7M,QACjC,SAAAoB,GAAM,OAAIA,EAAOkK,WACM,IAAnBlK,EAAO2M,UACN3M,EAAOnB,UAGVwP,EAAejO,iBAAO,IAC5BoG,EAAoCpK,oBAAS,GAAMqK,EAAAnK,YAAAkK,EAAA,GAA5C8H,EAAU7H,EAAA,GAAE8H,EAAa9H,EAAA,GAEhChK,qBAAU,WACNC,IAAMC,IAAI,UAAW,CACjBgL,OAAQ,CACJvB,YACAiG,cAELzP,MAAK,SAACC,GACLwR,EAAahO,QAAU,GACvB+N,EAAUvR,EAASzB,WAExB,CAACgL,EAAWiG,IAEf,IAAMmC,EAAY,eAAA5Q,EAAAkJ,YAAAC,IAAAC,MAAG,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACZ+F,EAAqBd,EAAejK,wBAAA,GAAM4L,GAAWE,EAAahO,UAAU,CAADgH,EAAAE,KAAA,eAAAF,EAAAkG,OAAA,iBAC7D,OAAnBgB,GAAc,GAAKlH,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAET7K,IAAMsM,KAAK,gBAAiB,CAC9B5C,YACAqI,aAAcpC,EACdjR,KAAMiT,EAAahO,QACnBqO,aAAcP,IAChB,OACFI,GAAc,GACdhQ,EAAQiB,KAAK,WAADvB,OAAYmI,EAAS,KAAAnI,OAAIoO,IAAWhF,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqG,GAAArG,EAAA,SAE5CA,EAAAqG,GAAM7Q,SAAS8R,cACfrO,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM/D,EAAAqG,GAAM7Q,SAAS8R,aACrB1C,YAAY,IAGpBsC,GAAc,GAAM,yBAAAlH,EAAAe,UAAAnB,EAAA,mBAE3B,kBAtBiB,OAAArJ,EAAAyK,MAAA,KAAAC,YAAA,GAwBlB,OACIxK,eAAA,OAAKE,MAAM,OAAMN,SAAA,CACbH,cAAA,OAAKS,MAAM,aAAYN,SACnBH,cAAA,OAAKS,MAAM,YAAWN,SAAEG,EAAKM,UAEjCZ,cAAA,OAAKS,MAAM,aAAYN,SAClByQ,EACGrQ,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,OAAMN,SACZ8O,EAAgB1N,KAAI,SAACkB,EAAQ6N,GAC1B,OACI/P,eAAA,OAAKE,MAAM,cAAaN,SAAA,CACpBI,eAAA,OAAKE,MAAM,YAAWN,SAAA,CACjBsC,EAAO7B,MAAM,IAAE6B,EAAO4L,SAAW,IAAM,GACvC5L,EAAO8N,aAAevQ,cAACwQ,EAAY,CAAC3C,KAAMpL,EAAO8N,eAAmB,QAEzEvQ,cAAA,OAAKS,MAAM,YAAWN,SAClBH,cAACyQ,EAAK,CACFhO,OAAQA,EACRE,YAAaiO,EACblO,SAAU,SAACgO,GAAgBI,EAAahO,QAAOkC,wBAAA,GAAQ8L,EAAahO,SAAY4N,UAT9DJ,QAgB1CtQ,cAAA,OAAKS,MAAK,sBAAAC,OAAwBqQ,EAAa,UAAY,IAAM/O,QAASiP,EAAa9Q,SAAE4Q,EAAa,yBAA2B,gBACjI/Q,cAAA,OAAKS,MAAM,SAASuB,QAAS,kBAAMhB,EAAQ2P,UAASxQ,SAAC,eAEzD,W,QCxFL,WAAAE,GAAgF,IAA7EC,EAAID,EAAJC,KAAMuI,EAASxI,EAATwI,UAAWwI,EAAYhR,EAAZgR,aAAcC,EAAcjR,EAAdiR,eAAgBC,EAAOlR,EAAPkR,QAASC,EAAMnR,EAANmR,OAAQxF,EAAK3L,EAAL2L,MAC9EpN,EAA0CC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAlD6S,EAAa3S,EAAA,GAAE4S,EAAgB5S,EAAA,GAmBtC,OACIkB,cAAA,OAAKS,MAAM,iBAAiBuB,QAlBR,WACpB0P,GAAiB,GACjBvS,IAAMsM,KAAK,iBAAkB,CACzB5C,YACAwI,eACAM,QAASL,EAAe/P,KAAI,SAAU+F,GAClC,OAAOA,EAAE0E,SAEbuF,UACAC,SACAxF,UACD3M,MAAK,SAACC,GACLoS,GAAiB,GACjB3O,OAAO6O,SAAStS,EAASzB,KAAKgU,QAASvR,EAAKM,MAAQ,YAKHT,SACjDH,cAAA,KAAGS,MAAK,MAAAC,OAAS+Q,EAAsC,0BAAtB,0BCL9B,SAASK,EAAoBnT,GACxC,IApB4BiF,EAAKmO,EAoB3BC,EAAanP,iBAAO,MAG1B,OAvB4Be,EAqBLoO,EArBUD,EAqBEpT,EAAMsT,eApBzC/S,qBAAU,WACN,SAASgT,EAAmBC,GAAQ,IAADC,GAE3BxO,EAAId,SACHc,EAAId,QAAQuP,SAASF,EAAMtO,UACqB,QAAjDuO,EAAC1S,SAAS4S,eAAe,gCAAwB,IAAAF,OAAA,EAAhDA,EAAkDC,SAASF,EAAMtO,UAElEkO,IAKR,OADArS,SAAS6I,iBAAiB,YAAa2J,GAChC,WACHxS,SAAS+I,oBAAoB,YAAayJ,MAE/C,CAACtO,IAOG5D,cAAA,OAAK4D,IAAKoO,EAAW7R,SAAExB,EAAMwB,WCpBzB,eAAAE,GAAyC,IAAtCC,EAAID,EAAJC,KAAmBiS,GAAFlS,EAAXmS,YAAwBnS,EAAXkS,aACjC3T,EAA0CC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAlD6T,EAAa3T,EAAA,GAAE4T,EAAgB5T,EAAA,GACtCmK,EAA0BpK,mBAAS,MAAKqK,EAAAnK,YAAAkK,EAAA,GAAjC0J,EAAKzJ,EAAA,GAAE0J,EAAQ1J,EAAA,GACtB2J,EAAgChU,mBAAS,YAAWiU,EAAA/T,YAAA8T,EAAA,GAA7CE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,EAA0BpU,mBAAS,MAAKqU,EAAAnU,YAAAkU,EAAA,GAAjC/S,EAAKgT,EAAA,GAAEC,EAAQD,EAAA,GAEhBE,EAAuBvQ,iBAAO,KAE9BJ,EAASnC,EAAK4N,QAAQ7G,MAAK,SAAAgM,GAAC,OAAKA,EAAEC,gBAAkBD,EAAElS,QAAUwR,KAEvEzT,qBAAU,WACmB,YAAf,OAANuD,QAAM,IAANA,OAAM,EAANA,EAAQkK,WACRwG,EAASjG,MAAMC,QAAQ1K,EAAO8I,SAAW9I,EAAO8I,QAAQ,GAAK6B,OAAOC,KAAK5K,EAAO8I,SAAS,MAE9F,CAACoH,IAoFJ,OACI3S,cAAC8R,EAAmB,CAACG,eAAgB,kBAAMS,GAAiB,IAAOvS,SAC/DI,eAAA,OAAKE,MAAM,yBAAyBuB,QAAS,kBAAM0Q,GAAkBD,IAAetS,SAAA,CAChFH,cAAA,KAAGS,MAAM,kBAAoB,qBAC5BgS,EACGlS,eAAA,OAAKE,MAAM,iBAAiBuB,QAAS,SAAC5D,GAAC,OAAKA,EAAEiE,mBAAkBlC,SAAA,CAC5DH,cAAA,OAAKS,MAAM,cAAaN,SAAC,UACzBI,eAAA,UAAQmC,SAAU,SAACtE,GAAC,OAAKwU,EAASxU,EAAEyF,OAAO3D,QAAOC,SAAA,CAC9CH,cAAA,UAAQE,MAAM,GAAEC,SAAC,6BAChBG,EAAK4N,QAAQ7M,QAAO,SAAAkS,GAAO,OACvBA,EAAQD,gBAAkBC,EAAQpS,OAA8B,aAArBoS,EAAQ5G,YACtDpL,KAAI,SAACgS,GACH,IAAMrT,EAAQqT,EAAQD,gBAAkBC,EAAQpS,KAChD,OACInB,cAAA,UAAQE,MAAOA,EAAMC,SAChBoT,EAAQ3S,OADcV,SAMjB,YAAf,OAANuC,QAAM,IAANA,OAAM,EAANA,EAAQkK,UACLpM,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,cAAaN,SAAC,WACzBH,cAAA,UAAQ0C,SAAU,SAACtE,GAAC,OAAK+U,EAAS/U,EAAEyF,OAAO3D,QAAOC,SAC7C+M,MAAMC,QAAQ1K,EAAO8I,SAAW9I,EAAO8I,QAAQhK,KAAI,SAAArB,GAAK,OACrDF,cAAA,UAAQE,MAAOA,EAAMC,SAAED,OACtBkN,OAAOC,KAAK5K,EAAO8I,SAAShK,KAAI,SAAArB,GAAK,OACtCF,cAAA,UAAQE,MAAOA,EAAMC,SAAEsC,EAAO8I,QAAQrL,aAI7B,aAAf,OAANuC,QAAM,IAANA,OAAM,EAANA,EAAQkK,UACRpM,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,cAAaN,SAAC,WACzBH,cAACuN,EAAkB,CACf9K,OAAQA,EACRC,SAAU,SAAC7E,EAAM2V,GACbL,EAAStV,EAAK4E,EAAOtB,OACrBiS,EAAqBtQ,QAAU0Q,EAAK5S,YAI3B,UAAf,OAAN6B,QAAM,IAANA,OAAM,EAANA,EAAQkK,WAA4C,cAAf,OAANlK,QAAM,IAANA,OAAM,EAANA,EAAQkK,UACvCpM,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,cAAaN,SAAC,OACzBH,cAAC2N,EAAa,CAAClL,OAAQA,EAAQ2C,UAAU,EAAM1C,SAAU,SAAC7E,GACtDsV,EAAS,CACLM,KAAM5V,EAAK4E,EAAOtB,MAClBW,GAAS,OAAL5B,QAAK,IAALA,OAAK,EAALA,EAAO4B,QAGnB9B,cAAA,OAAKS,MAAM,cAAaN,SAAC,SACzBH,cAAC2N,EAAa,CAAClL,OAAQA,EAAQ2C,UAAU,EAAM1C,SAAU,SAAC7E,GACtDsV,EAAS,CACLM,KAAW,OAALvT,QAAK,IAALA,OAAK,EAALA,EAAOuT,KACb3R,GAAIjE,EAAK4E,EAAOtB,cAK5BZ,eAAAC,WAAA,CAAAL,SAAA,CACIH,cAAA,OAAKS,MAAM,cAAaN,SAAC,iBACzBI,eAAA,UAAQmC,SAAU,SAACtE,GAAC,OAAK4U,EAAY5U,EAAEyF,OAAO3D,QAAOC,SAAA,CACjDH,cAAA,UAAQE,MAAM,WAAUC,SAAC,aACzBH,cAAA,UAAQE,MAAM,cAAaC,SAAC,oBAC5BH,cAAA,UAAQE,MAAM,aAAYC,SAAC,iBAC3BH,cAAA,UAAQE,MAAM,WAAUC,SAAC,cACzBH,cAAA,UAAQE,MAAM,KAAIC,SAAC,QACnBH,cAAA,UAAQE,MAAM,QAAOC,SAAC,cACtBH,cAAA,UAAQE,MAAM,aAAYC,SAAC,0BAC3BH,cAAA,UAAQE,MAAM,cAAaC,SAAC,6BAEhCH,cAAA,OAAKS,MAAM,cAAaN,SAAC,WACzBH,cAAA,SAAO0C,SAAU,SAACtE,GAAC,OAAK+U,EAAS/U,EAAEyF,OAAO3D,aAGlDF,cAAA,OAAKS,MAAM,qBAAqBuB,QA9JlC,WACd,GAAI2Q,GAASzS,EAAO,CAChB,IAAMwT,EAAmB,OAANjR,QAAM,IAANA,OAAM,EAANA,EAAQ7B,MACrB+S,EAAa,IAAAjT,QAAa,OAAN+B,QAAM,IAANA,OAAM,EAANA,EAAQ6Q,kBAAwB,OAAN7Q,QAAM,IAANA,OAAM,EAANA,EAAQtB,MAAI,KAChE,GAAyB,YAAf,OAANsB,QAAM,IAANA,OAAM,EAANA,EAAQkK,UAAuB,CAC/B,IAAMiH,EAAkB1G,MAAMC,QAAc,OAAN1K,QAAM,IAANA,OAAM,EAANA,EAAQ8I,SAAmCrL,EAAxBuC,EAAO8I,QAAQrL,GACxEqS,EAAY,CACR3R,MAAO8S,EAAa,QAAUE,EAC9B5H,MAAO2H,EAAgB,OAASzT,EAAQ,WAEzC,GAAyB,aAAf,OAANuC,QAAM,IAANA,OAAM,EAANA,EAAQkK,UACf4F,EAAY,CACR3R,MAAO8S,EAAa,QAAUN,EAAqBtQ,QACnDkJ,MAAOvJ,EAAOtB,KAAO,OAASjB,EAAQ,WAEvC,GAAyB,UAAf,OAANuC,QAAM,IAANA,OAAM,EAANA,EAAQkK,WAA4C,cAAf,OAANlK,QAAM,IAANA,OAAM,EAANA,EAAQkK,UAAyB,CACvE,IAAI/L,EACEiT,EAAa,GAEfjT,EADAV,EAAMuT,OAASvT,EAAM4B,GACb4R,EAAa,iBAAgBxT,EAAMuT,KACpCvT,EAAM4B,KAAO5B,EAAMuT,KAClBC,EAAa,cAAgBxT,EAAM4B,GAEnC4R,EAAa,OAASxT,EAAMuT,KAAO,SAAQvT,EAAM4B,GAEzD5B,EAAMuT,MACNI,EAAW5R,KAAKQ,EAAOtB,KAAO,QAAUjB,EAAMuT,KAAO,KAErDvT,EAAM4B,IACN+R,EAAW5R,KAAKQ,EAAOtB,KAAO,QAAUjB,EAAM4B,GAAK,KAEvDyQ,EAAY,CACR3R,QACAoL,MAAO6H,EAAWtF,KAAK,eAEP,aAAbwE,EACPR,EAAY,CACR3R,MAAO8S,EAAa,aAAexT,EACnC8L,MAAO2H,EAAgB,WAAazT,EAAQ,OAE5B,gBAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,oBAAsBxT,EAC1C8L,MAAO2H,EAAgB,eAAiBzT,EAAQ,OAEhC,OAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,QAAUxT,EAC9B8L,MAAO2H,EAAgB,OAASzT,EAAQ,MAExB,UAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,cAAgBxT,EACpC8L,MAAO2H,EAAgB,QAAUzT,EAAQ,MAEzB,eAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,iBAAmBxT,EACvC8L,MAAO2H,EAAgB,UAAYzT,EAAQ,OAE3B,aAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,cAAgBxT,EACpC8L,MAAO2H,EAAgB,WAAazT,EAAQ,MAE5B,eAAb6S,EACPR,EAAY,CACR3R,MAAO8S,EAAa,sBAAkBxT,EACtC8L,MAAO2H,EAAgB,OAASzT,IAEhB,gBAAb6S,GACPR,EAAY,CACR3R,MAAO8S,EAAa,sBAAkBxT,EACtC8L,MAAO2H,EAAgB,OAASzT,IAGxC0S,EAAS,MACTO,EAAS,MACTT,GAAiB,KAgF8CvS,SAAC,eAExD,WChLL,WAAAE,GAAoD,IAADyT,EAAAC,EAAhDlL,EAASxI,EAATwI,UAAWmL,EAAiB3T,EAAjB2T,kBAAmBxB,EAAWnS,EAAXmS,YACtCxT,EAAS+B,qBAAWvC,KACpB8B,EAAOtB,EAAOoC,MAAMyH,GAC1BjK,EAAkDC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAA1DqV,EAAiBnV,EAAA,GAAEoV,EAAoBpV,EAAA,GA8C9C,OAAQE,EAAOmV,mBAAuC,IAAnB7T,EAAK8T,YAAyC,QAAlBN,EAAAxT,EAAK+T,qBAAa,IAAAP,OAAA,EAAlBA,EAAoBrN,QAAS,GACxFzG,cAAC8R,EAAmB,CAACG,eAAgB,kBAAMiC,GAAqB,IAAO/T,SACnEI,eAAA,OAAKE,MAAM,yBAAwBN,SAAA,CAC/BH,cAAA,OAAKS,MAAM,+BAA+BuB,QAAS,kBAAMkS,GAAsBD,IAAmB9T,SAAC,YAClG8T,EAAoB1T,eAAA,OAAKE,MAAM,cAAaN,SAAA,CACtB,QADsB4T,EACxCzT,EAAK+T,qBAAa,IAAAN,OAAA,EAAlBA,EAAoBxS,KAAI,SAAC+S,EAAQhE,GAAK,OACnCtQ,cAAA,OAAKS,MAAM,sBAAsBuB,SA1B3BuS,EA0BqDjE,EA1BrC,WACtC4D,GAAqB,GACrB/U,IAAMsM,KAAK,eAAgB,CACvB5C,YACA0L,cACAP,sBACD3U,MAAK,SAAUC,GACVA,EAASzB,KAAKsQ,SACdqG,MAAMlV,EAASzB,KAAKsQ,SAExBqE,OACDiC,OAAM,WACL1R,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,0BACNa,YAAY,SAW8DvO,SAAEmU,EAAO1T,QA1BtE,IAAC2T,MA4BU,IAAnBjU,EAAK8T,UAAsBpU,cAAA,OAAKS,MAAM,0BAA0BuB,QApD9D,WACfe,OAAOyL,KAAK,CACRC,MAAO,wBACPZ,KAAM,0FACN6G,QAAS,CAAC,UAAW,OACrBhG,YAAY,IACbrP,MAAK,SAACsV,GACDA,GACAxV,IAAMsM,KAAK,gBAAiB,CACxB5C,YACA+L,cAAeZ,IAChB3U,MAAK,WACJmT,OACDiC,OAAM,WACL1R,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,yBACNa,YAAY,WAmCqEvO,SAAC,cAAkB,QACnG,UAGjB,M,QC7DO,WAACsC,EAAQmO,EAAQ5R,EAAQ6V,GACpC,IAAMC,EAAuC,YAApBrS,EAAOkK,SAAyB3N,EAAOoC,MAAM2T,WAAU,SAAAzN,GAAC,OAAIA,EAAE0N,YAAcvS,EAAOwS,UAAU,EACtH,GAAwB,YAApBxS,EAAOkK,UAA0BmI,GAAoB,EACrD,OAAIrS,EAAOyS,YACAlV,cAAC6B,IAAI,CAACC,GAAE,WAAApB,OAAaoU,EAAgB,KAAApU,OAAIkQ,EAAOnO,EAAOtB,OAASgU,wBAAyB,CAAEC,OAAQxE,EAAO,iBAADlQ,OAAkB+B,EAAO6H,OAAM,UACxI7H,EAAOmR,eACP5T,cAAC6B,IAAI,CAACC,GAAE,WAAApB,OAAaoU,EAAgB,KAAApU,OAAIkQ,EAAOnO,EAAOtB,OAAQhB,SAAEkV,YAAe5S,EAAOmR,eAAgBhD,KAEvG5Q,cAAC6B,IAAI,CAACC,GAAE,WAAApB,OAAaoU,EAAgB,KAAApU,OAAIkQ,EAAOnO,EAAOtB,OAAQhB,SAAEyQ,EAAOnO,EAAOtB,QAEvF,GAAIsB,EAAO6S,cAAe,CAC7B,IAAMC,EAAW9S,EAAO+S,QAAU5E,EAAOnO,EAAOgT,WAChD,OAAO7E,EAAOnO,EAAOgT,WACjBzV,cAAA,KAAG0B,KAAM6T,EAAU1R,OAAO,SAAQ1D,SAC9BH,cAAA,OAAKJ,IAAK2V,EAAUrQ,MAAO,CAAEwQ,MAAOb,EAAU,GAAK,IAAK1P,OAAQ0P,EAAU,GAAK,IAAKc,UAAW,eAEnG,KACD,GAAIlT,EAAOyS,YACd,OAAOlV,cAAA,OAAKmV,wBAAyB,CAAEC,OAAQxE,EAAO,iBAADlQ,OAAkB+B,EAAO6H,OAAM,UACjF,GAAI7H,EAAOmR,eACd,OAAO5T,cAAA,OAAAG,SAAMkV,YAAe5S,EAAOmR,eAAgBhD,KAChD,GAAInO,EAAO6R,OAAQ,CACtB,GAAI7R,EAAOmT,uBAEP,IADmBP,YAAe5S,EAAOmT,uBAAwBhF,GAE7D,MAAO,GAEf,IAAI/S,EAAOI,KAAK2G,MAAM3G,KAAKC,UAAUuE,EAAO5E,OAC5C,IAAK,IAAIE,KAAOF,EACZA,EAAKE,GAAOsX,YAAexX,EAAKE,GAAM6S,GAE1C,OACI5Q,cAAA,OAAKS,MAAM,eAAe,aAAW,uBAAuB,YAAU,+BAA8BN,SAAEsC,EAAO6R,SAE9G,MAAwB,YAApB7R,EAAOkK,SACP3M,cAAA,OAAAG,SAA8B,IAAxByQ,EAAOnO,EAAOtB,MAAc,MAAQ,QACtB,UAApBsB,EAAOkK,SACP3M,cAAA,OAAKS,MAAM,eAAeyE,MAAO,CAAE2Q,gBAAiBjF,EAAOnO,EAAOtB,SAC9C,aAApBsB,EAAOkK,SACP3M,cAAA,OAAKmV,wBAAyB,CAAEC,OAAQxE,EAAOnO,EAAOoC,cAClC,WAApBpC,EAAOkK,UAAyBlK,EAAO8I,SAAW9I,EAAO8I,QAAQuK,aAAe1I,OAChFpN,cAAA,OAAAG,SAAMsC,EAAO8I,QAAQqF,EAAOnO,EAAOtB,SAEnCnB,cAAA,OAAAG,SAAMyQ,EAAOnO,EAAOtB,SCnC/B4U,EAAa,KACbC,EAAQ,EACRC,EAAkB,GAClBC,EAAW,KACXC,EAAU,KACVC,EAAS,GAEE,aAAO,IAADC,EAAAC,EACjB1H,EAAoC9F,cAA5BD,EAAS+F,EAAT/F,UAAWwI,EAAYzC,EAAZyC,aACbrQ,EAAUC,cAChBrC,EAAwBC,mBAASmX,GAAMlX,EAAAC,YAAAH,EAAA,GAAhC2X,EAAIzX,EAAA,GAAE0X,EAAO1X,EAAA,GACpBmK,EAA4CpK,mBAASoX,GAAgB/M,EAAAnK,YAAAkK,EAAA,GAA9DqI,EAAcpI,EAAA,GAAEuN,EAAiBvN,EAAA,GACxC2J,EAA8BhU,mBAASqX,GAASpD,EAAA/T,YAAA8T,EAAA,GAAzCtB,EAAOuB,EAAA,GAAE4D,EAAU5D,EAAA,GAC1BG,EAA4BpU,mBAASsX,GAAQjD,EAAAnU,YAAAkU,EAAA,GAAtCzB,EAAM0B,EAAA,GAAEyD,EAASzD,EAAA,GACxB0D,EAA0B/X,mBAASuX,GAAOS,EAAA9X,YAAA6X,EAAA,GAAnC5K,EAAK6K,EAAA,GAAE5K,EAAQ4K,EAAA,GACtBC,EAAkDjY,mBAAS,IAAGkY,EAAAhY,YAAA+X,EAAA,GAAvD9C,EAAiB+C,EAAA,GAAEC,EAAoBD,EAAA,GAC9CE,EAAwBpY,mBAAS,MAAKqY,EAAAnY,YAAAkY,EAAA,GAA/BpZ,EAAIqZ,EAAA,GAAEC,EAAOD,EAAA,GACdlY,EAAS+B,qBAAWvC,KACpB8B,EAAOtB,EAAOoC,MAAMyH,GAEpBoG,GAA8B,QAAfoH,EAAG/V,EAAK4N,eAAO,IAAAmI,OAAA,EAAZA,EAAchV,QAAO,SAAAiG,GAAC,OAAKA,EAAE8P,cAAgB9P,EAAEhG,UA6BvE,SAASkR,KACL2E,EAAQ,MACRhY,IAAMsM,KAAK,WAAY,CACnB5C,YACAwI,eACAkF,OACA5E,QAASL,EAAe/P,KAAI,SAAU+F,GAClC,OAAOA,EAAE0E,SAEbuF,UACAC,SACAxF,UACD3M,MAAK,SAACC,GAAc,IAAD+X,EAAAC,EACqB,KAAtB,QAAbD,EAAA/X,EAASzB,YAAI,IAAAwZ,GAAS,QAATC,EAAbD,EAAeE,eAAO,IAAAD,OAAT,EAAbA,EAAwB7Q,SAAgB8P,EAAO,GAC/CC,EAAQ,GAEZW,EAAQ7X,EAASzB,SAIzB,OA/CAqB,qBAAU,WACF2J,IAAckN,IACdS,EAAQ,GACRvK,EAAS,MACTyK,EAAW,MACXC,EAAU,MACV1K,EAAS,IACL+H,EAAkBvN,OAAS,GAC3BuQ,EAAqB,IAErB1F,EAAe7K,OAAS,GACxBgQ,EAAkB,OAG3B,CAAC5N,IAGJ3J,qBAAU,WACNsT,KACAuD,EAAalN,EACbmN,EAAQO,EACRH,EAASpK,EACTiK,EAAkB3E,EAClB4E,EAAW3E,EACX4E,EAAU3E,IACX,CAAC3I,EAAWwI,EAAckF,EAAMvK,EAAOsF,EAAgBC,EAASC,IAuB/DjR,eAAA,OAAKE,MAAM,OAAMN,SAAA,CACbI,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBI,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBH,cAAA,OAAKS,MAAM,YAAWN,SAAEG,EAAKM,QAC7BL,eAAA,OAAKE,MAAM,oBAAmBN,SAAA,CAC1BI,eAAA,OAAKE,MAAM,qBAAoBN,SAAA,CAC3BH,cAAA,SAAOyB,KAAK,OAAOiH,YAAY,aAAajI,MAAM,YAAYP,MAAO8L,EAAOtJ,SAAU,SAACtE,GAAC,OAAK6N,EAAS7N,EAAEyF,OAAO3D,UAC/GF,cAAA,OAAKS,MAAM,gBAAeN,SACtBH,cAAA,KAAGS,MAAM,sBAGjBT,cAACwX,EAAiB,CACd3O,UAAWA,EACXmL,kBAAmBA,EACnBxB,YAAaA,KAEjBxS,cAACyX,EAAe,CACZnX,KAAMA,EACNkS,YAAaA,GACbD,YAAa,SAAClR,GAAM,OAAKoV,EAAkB,GAAD/V,OAAAgX,YAAKpG,GAAc,CAAEjQ,SAE/C,IAAnBf,EAAKqX,UACF3X,cAAC4X,EAAc,CACXtX,KAAMA,EACNuI,UAAWA,EACXwI,aAAcA,EACdC,eAAgBA,EAChBC,QAASA,EACTC,OAAQA,EACRxF,MAAOA,IAEX,KACH1L,EAAKuX,UACF7X,cAAC6B,IAAI,CAACC,GAAE,iBAAApB,OAAmBmI,GAAY1I,SACnCH,cAAA,OAAKS,MAAM,aAAYN,SAACH,cAAA,KAAGS,MAAM,mBAErC,WAGX6Q,EAAe7K,OAAS,EACrBzG,cAAA,OAAKS,MAAM,mBAAkBN,SACxBmR,EAAe/P,KAAI,SAACF,EAAQiP,GAAK,OAC9B/P,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBH,cAAA,OAAKS,MAAM,kBAAiBN,SAAEkB,EAAOT,QACrCZ,cAAA,OAAKS,MAAM,eAAeuB,QAAS,WAC/ByU,EAAkBnF,EAAejQ,QAAO,SAAAiG,GAAC,OAAIA,EAAE0E,QAAU3K,EAAO2K,WAClE7L,SAACH,cAAA,KAAGS,MAAM,oBAJa6P,QAQrC,KACJ/P,eAAA,SAAOE,MAAM,QAAON,SAAA,CAChBH,cAAA,SAAAG,SACII,eAAA,MAAAJ,SAAA,CACKnB,EAAOmV,gBAAkB,KAAOnU,cAAA,SAChCiP,GAAgB1N,KAAI,SAACkB,EAAQ6N,GAC1B,IAAMwH,EAA+B,YAApBrV,EAAOkK,UAA8C,aAApBlK,EAAOkK,SAA0BlK,EAAOmR,eAAiBnR,EAAOqV,UAAYrV,EAAOtB,KACrI,OACIZ,eAAA,MACIE,MAAOqX,EAAW,WAAa,GAE/B9V,QAAS,WACD8V,IACApB,EAAWoB,GACXnB,EAAUpF,IAAYuG,IAAYtG,KAExCrR,SAAA,CAEDsC,EAAO7B,MACPkX,EACG9X,cAAA,OAAKS,MAAM,iBAAgBN,SACvBH,cAAA,KAAGS,MAAK,cAAAC,QAA2B,IAAX8Q,GAAmBsG,IAAavG,EAAU,SAAsB,IAAXC,GAAoBsG,IAAavG,EAAU,MAAQ,QAEpI,OAbCjB,WAoBzB/P,eAAA,SAAAJ,SAAA,CACMtC,EAQG,KARIqP,MAAMuG,KAAK,CAAEhN,OAAQ,KAAMlF,KAAI,SAACiC,EAAG8M,GAAK,OAC7CtQ,cAAA,MAAIS,MAAM,SAAQN,SACd+M,MAAMuG,KAAK,CACPhN,OAAQwI,GAAgBxI,QAAUzH,EAAOmV,gBAAkB,EAAI,KAChE5S,KAAI,SAACiC,EAAGuU,GAAS,OAChB/X,cAAA,MAAAG,SAAoB,KAAX4X,OAJOzH,MAQvB,OAAJzS,QAAI,IAAJA,GAAa,QAATyY,EAAJzY,EAAM0Z,eAAO,IAAAjB,OAAT,EAAJA,EAAe/U,KAAI,SAACqP,GACjB,IAAM9B,EAAW8B,EAAOtQ,EAAK0X,WAC7B,OACIzX,eAAA,MACIE,MAAK,UAAAC,OAAYJ,EAAK2X,aAAe,kBAAoB,IACzDjW,QAAS,SAACmQ,GACsB,KAAxBA,EAAMtO,OAAOqU,QAIZ5X,EAAK2X,eACF3X,EAAK6X,YACLnX,EAAQiB,KAAK,eAADvB,OAAgBmI,EAAS,KAAAnI,OAAIoO,IAEzC9N,EAAQiB,KAAK,WAADvB,OAAYmI,EAAS,KAAAnI,OAAIoO,KAPzCqD,EAAM9P,mBAUZlC,SAAA,CAGDnB,EAAOmV,gBAAkB,KAAOnU,cAAA,MAAIS,MAAM,iBAAiBuB,QAAS,SAAC5D,GAClE4Y,EAAqBhD,EAAkBpH,SAASkC,GAAYkF,EAAkB3S,QAAO,SAAAiG,GAAC,OAAIA,IAAMwH,KAAS,GAAApO,OAAAgX,YAAO1D,GAAiB,CAAElF,KACnI1Q,EAAEiE,mBACJlC,SAACH,cAAA,OAAKS,MAAK,YAAAC,OAAcsT,EAAkBpH,SAASkC,GAAY,UAAY,QAC7EG,GAAgB1N,KAAI,SAACkB,EAAQ6N,GAAK,OAC/BtQ,cAAA,MAAAG,SAAiBiY,EAAkB3V,EAAQmO,EAAQ5R,GAAQ,IAAlDsR,QAPRxB,eAgB7BvO,eAAA,OAAKE,MAAM,cAAaN,SAAA,CACpBI,eAAA,OAAKE,MAAM,eAAcN,SAAA,EAAM,OAAJtC,QAAI,IAAJA,OAAI,EAAJA,EAAMwa,QAAS,IAAI,IAAE/X,EAAKM,SACrDL,eAAA,OAAKE,MAAM,YAAWN,SAAA,CAClBH,cAAA,OAAKS,MAAM,gBAAgBuB,QAAS,kBAAMwU,EAAQvL,KAAKqN,IAAI,EAAG/B,EAAO,KAAIpW,SAACH,cAAA,KAAGS,MAAM,wBACnFF,eAAA,OAAKE,MAAM,kBAAiBN,SAAA,CAAEoW,EAAK,MAAI1Y,GAAQA,EAAKwa,MAAQpN,KAAKsN,KAAK1a,EAAKwa,OAAS/X,EAAKkY,OAAS,KAAO,OACzGxY,cAAA,OAAKS,MAAM,iBAAiBuB,QAAS,kBAAMwU,EAAQvL,KAAKwN,IAAIlC,EAAO,EAAGtL,KAAKsN,KAAK1a,EAAKwa,OAAS/X,EAAKkY,OAAS,QAAOrY,SAACH,cAAA,KAAGS,MAAM,mCC3MlI,WAAAJ,GAAyC,IAADyT,EAAAC,EAArClL,EAASxI,EAATwI,UAAW+H,EAAMvQ,EAANuQ,OAAQ4B,EAAWnS,EAAXmS,YAE3BlS,EADSS,qBAAWvC,KACN4C,MAAMyH,GAC1BjK,EAA0CC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAlD8Z,EAAa5Z,EAAA,GAAE6Z,EAAgB7Z,EAAA,GAChCkC,EAAUC,cAEV2X,EAAY,eAAAtP,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACQjH,OAAOyL,KAAK,CACjCC,MAAO,wBACPZ,KAAM,0FACN6G,QAAS,CAAC,UAAW,OACrBhG,YAAY,IACd,OALc,IAAA5E,EAAAU,KAMD,CAADV,EAAAE,KAAA,SAMT,OALG1J,EAAKuY,gBACL1Z,IAAMsM,KAAKnL,EAAKuY,eAAgB,CAC5B7N,GAAI4F,EAAOtQ,EAAK0X,WAChBna,KAAM+S,IAEb9G,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAES7K,IAAMsM,KAAK,gBAAiB,CAC9B5C,YACAqI,aAAcN,EAAOtQ,EAAK0X,aAC5B,OACFhX,EAAQiB,KAAK,YAADvB,OAAamI,IAAYiB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqG,GAAArG,EAAA,SAErC/G,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,yBACNa,YAAY,IACd,yBAAA5E,EAAAe,UAAAnB,EAAA,mBAGb,kBA5BiB,OAAAJ,EAAAwB,MAAA,KAAAC,YAAA,GAkDlB,OAC2B,IAAtBzK,EAAKwY,eAA8C,IAAnBxY,EAAK8T,YAA2C,QAAlBN,EAAAxT,EAAK+T,qBAAa,IAAAP,OAAA,EAAlBA,EAAoBrN,QAAS,EACxFzG,cAAC8R,EAAmB,CAACG,eAAgB,kBAAM0G,GAAiB,IAAOxY,SAC/DI,eAAA,OAAKE,MAAM,yBAAwBN,SAAA,CAC/BH,cAAA,OAAKS,MAAM,2BAA2BuB,QAAS,kBAAM2W,GAAkBD,IAAevY,SAAC,YACtFuY,EACGnY,eAAA,OAAKE,MAAM,UAASN,SAAA,CACG,QADH4T,EACfzT,EAAK+T,qBAAa,IAAAN,OAAA,EAAlBA,EAAoBxS,KAAI,SAAC+S,EAAQhE,GAAK,OACnCtQ,cAAA,OAAKS,MAAM,sBAAsBuB,SA5BvCuS,EA4B6DjE,EA5B7C,WAClCqI,GAAiB,GACjBxZ,IAAMsM,KAAK,eAAgB,CACvB5C,YACA0L,cACAP,kBAAmB,CAACpD,EAAOtQ,EAAK0X,cACjC3Y,MAAK,SAAUC,GACVA,EAASzB,KAAKsQ,SACdqG,MAAMlV,EAASzB,KAAKsQ,SAExBqE,OACDiC,OAAM,WACL1R,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,0BACNa,YAAY,SAakEvO,SAAEmU,EAAO1T,QA5B9E,IAAC2T,MA8ByB,IAAtBjU,EAAKwY,aAAwB9Y,cAAA,OAAKS,MAAM,sCAAqCN,SAAC,cAAkB,MAC7E,IAAnBG,EAAK8T,UAAsBpU,cAAA,OAAKS,MAAM,0BAA0BuB,QAAS4W,EAAazY,SAAC,cAAkB,QAE9G,UAGZ,MC5EG,aACX,IAAMa,EAAUC,cAEhB,OACIjB,cAAA,OAAKS,MAAM,oBAAoBuB,QAAS,kBAAMhB,EAAQ2P,UAASxQ,SAAC,YCNzD,WAAAE,GAAwB,IAArBuQ,EAAMvQ,EAANuQ,OAAQ7B,EAAK1O,EAAL0O,MAuBtB,OAAQ/O,cAAA,OAAKS,MAAM,sBAAsBuB,QAtBnB,WAClB7C,IAAMC,IAAI,eAAgB,CACtBgL,OAAQ,CACJ4B,MAAO+C,EAAM/C,OAASqJ,YAAetG,EAAMgK,eAAgBnI,GAC3DM,aAAc,QAEnB7R,MAAK,SAACC,GACL,IAAM0Z,EAAU1Z,EAASzB,KACnBob,EAAQ,GACdA,EAAMhX,KAAKmL,OAAOC,KAAK2L,EAAQ,IAAI3X,QAAO,SAAAtD,GAAG,OAAIA,IAAQgR,EAAMiJ,aAAWzJ,KAAK,MAAK,IAC1DI,EAD0DU,EAAAC,YACjE0J,GAAO,QAAAE,EAAA,eAAjBC,EAAMxK,EAAAzO,MACX+Y,EAAMhX,KACFmL,OAAOC,KAAK8L,GAAQ9X,QAAO,SAAAtD,GAAG,OAAIA,IAAQgR,EAAMiJ,aAAWzW,KAAI,SAACxD,GAAG,OAC9DgR,EAAMqK,iBAAoBrb,KAAOgR,EAAMqK,gBAAoB/D,YAAetG,EAAMqK,gBAAgBrb,GAAMob,GAAUA,EAAOpb,MAC1HwQ,KAAK,OAJf,IAAAc,EAAAE,MAAAZ,EAAAU,EAAAG,KAAAC,MAA4ByJ,IAM3B,MAAAxJ,GAAAL,EAAAjR,EAAAsR,GAAA,QAAAL,EAAA1F,IAED5G,OAAO6O,SAASqH,EAAM1K,KAAK,QAASQ,EAAMnO,MAAQ,YAIMT,SAACH,cAAA,KAAGS,MAAM,4BCjB/D,WAAAJ,GAAqC,IAAlC0O,EAAK1O,EAAL0O,MAAO6B,EAAMvQ,EAANuQ,OAAQtQ,EAAID,EAAJC,KAAMgQ,EAAKjQ,EAALiQ,MACnC1R,EAA8BC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAArCoa,EAAOla,EAAA,GAAEua,EAAUva,EAAA,GACpBkC,EAAUC,cACR4H,EAAcC,cAAdD,UACF7J,EAAS+B,qBAAWvC,KAE1BU,qBAAU,WACNsT,MACD,CAAC5B,IAEJ,IAAM4B,EAAc,WAChBrT,IAAMC,IAAI,eAAgB,CACtBgL,OAAQ,CACJvB,YACAgG,WAAYyB,EACZtE,MAAO+C,EAAM/C,OAASqJ,YAAetG,EAAMgK,eAAgBnI,GAC3DM,aAAcN,EAAOtQ,EAAK0X,cAE/B3Y,MAAK,SAACC,GACL+Z,EAAW/Z,EAASzB,UAItByb,EAAS,eAAAhQ,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO6P,GAAG,OAAA/P,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACCjH,OAAOyL,KAAK,CACjCC,MAAO,wBACPZ,KAAM,0FACN6G,QAAS,CAAC,UAAW,OACrBhG,YAAY,IACd,OALc,IAAA5E,EAAAU,KAMD,CAADV,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEA7K,IAAMsM,KAAK,yBAA0B,CACvC5C,YACA2Q,QAASzK,EAAMzE,OACf4G,aAAcqI,EAAIxK,EAAMiJ,aAC1B,OACFxF,IAAc1I,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqG,GAAArG,EAAA,SAEd/G,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,yBACNa,YAAY,IACd,yBAAA5E,EAAAe,UAAAnB,EAAA,mBAGb,gBAvBc+P,GAAA,OAAAnQ,EAAAwB,MAAA,KAAAC,YAAA,GAyBf,OACI/K,cAAA,OAAAG,UACY,OAAP6Y,QAAO,IAAPA,OAAO,EAAPA,EAASvS,QAAS,EACflG,eAAA,SAAOE,MAAK,oBAAAC,OAAsBqO,EAAM2K,OAAS,SAAW,IAAKvZ,SAAA,CAC7DH,cAAA,SAAAG,SACII,eAAA,MAAAJ,SAAA,CACKiN,OAAOC,KAAK2L,EAAQ,IAAI3X,QAAO,SAAAtD,GAAG,OAAIA,IAAQgR,EAAMiJ,aAAWzW,KAAI,SAACxD,GAAG,OACpEiC,cAAA,MAAAG,SAAepC,GAANA,MAEZgR,EAAMqF,UAAYpU,cAAA,SAAY,UAGvCA,cAAA,SAAAG,SACK6Y,EAAQzX,KAAI,SAAC4X,GAAM,OAChB5Y,eAAA,MACIE,MAAK,UAAAC,OAAYqO,EAAM4K,QAAU,GAAK,mBACtC3X,QAAS,WACL,IAAM6G,EAAY7J,EAAOoC,MAAM2T,WAAU,SAAAzN,GAAC,MAAe,UAAXA,EAAE7F,MAAoB6F,EAAE0N,YAAcjG,EAAMiG,aACtFjG,EAAM4K,SACN3Y,EAAQiB,KAAK,WAADvB,OAAYmI,EAAS,KAAAnI,OAAIyY,EAAOpK,EAAMiJ,cAExD7X,SAAA,CAEDiN,OAAOC,KAAK8L,GAAQ9X,QAAO,SAAAtD,GAAG,OAAIA,IAAQgR,EAAMiJ,aAAWzW,KAAI,SAACxD,GAAG,OAChEiC,cAAA,MAAAG,SACIH,cAAA,OACImV,wBAAyB,CACrBC,OACKrG,EAAMqK,iBAAoBrb,KAAOgR,EAAMqK,gBACpC/D,YAAetG,EAAMqK,gBAAgBrb,GAAMob,GAC3CA,EAAOpb,OANlBA,MAWZgR,EAAMqF,UACHpU,cAAA,MAAIS,MAAM,iBAAgBN,SACtBH,cAAA,OACIS,MAAM,aACNuB,QAAS,SAAC5D,GAAOkb,EAAUH,GAAS/a,EAAEiE,mBAAmBlC,SAEzDH,cAAA,KAAGS,MAAM,oBAGjB,gBAKA,KAAb,OAAPuY,QAAO,IAAPA,OAAO,EAAPA,EAASvS,QACTzG,cAAA,OAAKS,MAAK,qBAAAC,OAAuBqO,EAAM2K,OAAS,SAAW,IAAKvZ,SAAC,qBACjE,QCrGD,WAAAE,GAA8B,IAA3B0O,EAAK1O,EAAL0O,MAAO6B,EAAMvQ,EAANuQ,OAAQtQ,EAAID,EAAJC,KAC7B1B,EAA8BC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAArCoa,EAAOla,EAAA,GAAEua,EAAUva,EAAA,GAElB+J,GADQ5H,cACM6H,cAAdD,WAER3J,qBAAU,WACNsT,MACD,CAACzD,EAAM/C,MAAO4E,IAEjB,IAAM4B,EAAc,WAChBrT,IAAMC,IAAI,eAAgB,CACtBgL,OAAQ,CACJ4B,MAAO+C,EAAM/C,MACbkF,aAAcN,EAAOtQ,EAAK0X,cAE/B3Y,MAAK,SAACC,GACL+Z,EAAW/Z,EAASzB,UAGtByb,EAAS,eAAAhQ,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,EAAO6P,GAAG,OAAA/P,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACCjH,OAAOyL,KAAK,CACjCC,MAAO,wBACPZ,KAAM,0FACN6G,QAAS,CAAC,UAAW,OACrBhG,YAAY,IACd,OALc,IAAA5E,EAAAU,KAMD,CAADV,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEA7K,IAAMsM,KAAK,yBAA0B,CACvC5C,YACA2Q,QAASzK,EAAMzE,OACf4G,aAAcqI,EAAIxK,EAAMiJ,aAC1B,OACFxF,IAAc1I,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAqG,GAAArG,EAAA,SAEd/G,OAAOyL,KAAK,CACRC,MAAO,SACPZ,KAAM,yBACNa,YAAY,IACd,yBAAA5E,EAAAe,UAAAnB,EAAA,mBAGb,gBAvBc+P,GAAA,OAAAnQ,EAAAwB,MAAA,KAAAC,YAAA,GAyBT0K,EAAY1G,EAAM0G,WAAa,OAErC,OACIzV,cAAA,OAAAG,UACY,OAAP6Y,QAAO,IAAPA,OAAO,EAAPA,EAASvS,QAAS,EACfzG,cAAA,OAAKS,MAAM,UAASN,SACf6Y,EAAQzX,KAAI,SAAC4X,GAAM,OAChB5Y,eAAA,OAAKE,MAAM,iBAAgBN,SAAA,CACtB4O,EAAMqF,UAAYpU,cAAA,OAAKS,MAAM,aAAauB,QAAS,SAAC5D,GAAOkb,EAAUH,GAAS/a,EAAEiE,mBAAmBlC,SAACH,cAAA,KAAGS,MAAM,kBAA2B,KACzIT,cAAA,KAAG0B,KAAMqN,EAAMyG,QAAU2D,EAAO1D,GAAY5R,OAAO,SAAQ1D,SACvDH,cAAA,OACIJ,IAAKmP,EAAMyG,QAAU2D,EAAO1D,GAC5BvQ,MAAO,CAAEwQ,MAAO,OAAQvQ,OAAQ,IAAKwQ,UAAW5G,EAAM4G,WAAa,SACnEiE,QAAQ,8BANaT,EAAO1D,SAY5B,KAAb,OAAPuD,QAAO,IAAPA,OAAO,EAAPA,EAASvS,QACTzG,cAAA,OAAKS,MAAK,qBAAAC,OAAuBqO,EAAM2K,OAAS,SAAW,IAAKvZ,SAAC,qBACjE,QCrED,YAAAE,GAA8B,IAA3B0O,EAAK1O,EAAL0O,MAAO6B,EAAMvQ,EAANuQ,OAAQtQ,EAAID,EAAJC,KACvBuZ,EAAShX,mBAEf3D,qBAAU,WACF6D,OAAOiD,QAAU4K,IACb7B,EAAM/C,MACN7M,IAAMC,IAAI,eAAgB,CACtB4M,MAAO+C,EAAM/C,MACbkF,aAAcN,EAAOtQ,EAAK0X,aAC3B3Y,MAAK,SAACC,GAAc,IAAD+X,EACZ8B,EAAiB,OAAR7Z,QAAQ,IAARA,GAAc,QAAN+X,EAAR/X,EAAUzB,YAAI,IAAAwZ,OAAN,EAARA,EAAiB,GAC5B8B,GACAW,EAAQX,EAAOY,IAAKZ,EAAOa,IAAKjL,EAAMkL,MAAQ,OAItDH,EAAQlJ,EAAO7B,EAAMnI,eAAgBgK,EAAO7B,EAAMjI,gBAAiBiI,EAAMkL,MAAQ,OAG1F,CAACrJ,EAAQ7N,OAAOiD,SAEnB,IAAM8T,EAAU,SAACjT,EAAKE,EAAKkT,GACvB,IAAM1Y,EAAM,IAAIwB,OAAOiD,OAAOE,KAAKgU,IAAIL,EAAO/W,QAAS,CACnDmX,OACAE,OAAQ,CACJtT,MACAE,SAGR,IAAIhE,OAAOiD,OAAOE,KAAKkU,OAAO,CAC1BC,SAAU,CAAExT,MAAKE,OACjBxF,SAIR,OACIvB,cAAA,OAAKS,MAAM,MAAMmD,IAAKiW,KCxBf,cAAO,IAADxD,EACXrX,EAAS+B,qBAAWvC,KAC1BoQ,EAAgC9F,cAAxBD,EAAS+F,EAAT/F,UAAWiG,EAAQF,EAARE,SACnBlQ,EAA4BC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAAnCgS,EAAM9R,EAAA,GAAE+R,EAAS/R,EAAA,GAElBwB,EAAOtB,EAAOoC,MAAMyH,GACpBoG,EAA8B,QAAfoH,EAAG/V,EAAK4N,eAAO,IAAAmI,OAAA,EAAZA,EAAchV,QAAO,SAAAiG,GAAC,OAAKA,EAAEhG,UAErDpC,qBAAU,WACNsT,MACD,CAAC3J,EAAWiG,IAEf,IAAM0D,EAAc,WAChBrT,IAAMC,IAAI,UAAW,CACjBgL,OAAQ,CACJvB,YACAiG,cAELzP,MAAK,SAACC,GACLuR,EAAUvR,EAASzB,UAI3B,OACI0C,eAAA,OAAKE,MAAM,sBAAqBN,SAAA,CAC5BI,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBH,cAAA,OAAKS,MAAM,YAAWN,SAAEG,EAAKM,QAC7BL,eAAA,OAAKE,MAAM,oBAAmBN,SAAA,CAC1BH,cAACsa,EAAU,IACXta,cAACua,EAAa,CAAC1R,UAAWA,EAAW+H,OAAQA,EAAQ4B,YAAaA,KAChD,IAAjBlS,EAAK8O,QACFpP,cAAC6B,IAAI,CAACC,GAAE,eAAApB,OAAiBmI,EAAS,KAAAnI,OAAIoO,GAAW3O,SAC7CH,cAAA,OAAKS,MAAM,kCAAiCN,SAAC,eAEjD,WAGZH,cAAA,OAAKS,MAAM,aAAYN,SACnBI,eAAA,OAAKE,MAAM,gBAAeN,SAAA,CACtBI,eAAA,OAAKE,MAAM,qBAAoBN,SAAA,CAC3BH,cAAA,OAAKS,MAAM,aAAYN,SAAC,eACvByQ,EACG3B,EAAgB1N,KAAI,SAACkB,EAAQ6N,GAAK,OAC9B/P,eAAA,OAAKE,MAAM,kBAAiBN,SAAA,CACxBH,cAAA,OAAKS,MAAM,YAAWN,SAAEsC,EAAO7B,QAC/BZ,cAAA,OAAKS,MAAM,YAAWN,SAAEiY,EAAkB3V,EAAQmO,EAAQ5R,GAAQ,IAAU,QAF9CsR,MAKpC,QAEThQ,EAAK0O,kBAAoB4B,EACtB5Q,cAAA,OAAKS,MAAM,mBAAkBN,SACxBG,EAAK0O,iBAAiBzN,KAAI,SAACwN,EAAOuB,GAAK,OACpC/P,eAAA,OAAKE,MAAM,QAAON,SAAA,CACdI,eAAA,OAAKE,MAAM,cAAaN,SAAA,CACpBH,cAAA,OAAKS,MAAM,YAAWN,SAAE4O,EAAMnO,QAC9BL,eAAA,OAAKE,MAAM,oBAAmBN,SAAA,CACzB4O,EAAM2K,OAAS1Z,cAAA,OAAKS,MAAM,iCAAgCN,SAAC,aAAiB,KAC5E4O,EAAM8I,UAAY7X,cAAC6B,IAAI,CAACC,GAAE,iBAAApB,OAAmBmI,EAAS,KAAAnI,OAAI4P,EAAK,KAAA5P,OAAIoO,GAAW3O,SAACH,cAAA,OAAKS,MAAM,aAAYN,SAACH,cAAA,KAAGS,MAAM,mBAAiC,KACjJsO,EAAMyL,aAA8B,UAAfzL,EAAMtN,KAAmBzB,cAACya,EAAwB,CAAC7J,OAAQA,EAAQ7B,MAAOA,IAAY,WAGpG,UAAfA,EAAMtN,KAAmBzB,cAAC0a,EAAU,CAAC9J,OAAQA,EAAQ7B,MAAOA,EAAOzO,KAAMA,EAAMgQ,MAAOA,IAAY,KACnF,YAAfvB,EAAMtN,KAAqBzB,cAAC2a,EAAY,CAAC/J,OAAQA,EAAQ7B,MAAOA,EAAOzO,KAAMA,EAAMgQ,MAAOA,IAAY,KACvF,QAAfvB,EAAMtN,KAAiBzB,cAAC4a,GAAQ,CAAChK,OAAQA,EAAQ7B,MAAOA,EAAOzO,KAAMA,EAAMgQ,MAAOA,IAAY,OAX3EA,QAehC,cCnFT,OAA0B,iCCI1B,YAAAjQ,GAA6B,IAA1Bwa,EAAkBxa,EAAlBwa,mBACdjc,EAAgCC,mBAAS,IAAGC,EAAAC,YAAAH,EAAA,GAArCkc,EAAQhc,EAAA,GAAEic,EAAWjc,EAAA,GAC5BmK,EAAgCpK,mBAAS,IAAGqK,EAAAnK,YAAAkK,EAAA,GAArC+R,EAAQ9R,EAAA,GAAE+R,EAAW/R,EAAA,GAEtBgS,EAAK,eAAA5R,EAAAC,YAAAC,IAAAC,MAAG,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACa7K,IAAMsM,KAAK,SAAU,CACxCqP,WACAE,aACD,KAAD,EAHYlR,EAAAU,KAID3M,KAAKsd,SACdN,GAAmB,GACtB,wBAAA/Q,EAAAe,UAAAnB,OACJ,kBARU,OAAAJ,EAAAwB,MAAA,KAAAC,YAAA,GAUX,OACI/K,cAAA,OAAKS,MAAM,uBAAsBN,SAC7BI,eAAA,OAAKE,MAAM,aAAYN,SAAA,CACnBH,cAAA,OAAKS,MAAM,qBAAoBN,SAC3BH,cAAA,OAAKS,MAAM,YAAYb,IAAKsB,OAEhClB,cAAA,SAAAG,SAAO,sBACPH,cAAA,SAAOyB,KAAK,OAAON,KAAK,WAAWuB,SAAU,SAACtE,GAAC,OAAK2c,EAAY3c,EAAEyF,OAAO3D,UACzEF,cAAA,SAAAG,SAAO,iBACPH,cAAA,SAAOyB,KAAK,WAAWN,KAAK,WAAWuB,SAAU,SAACtE,GAAC,OAAK6c,EAAY7c,EAAEyF,OAAO3D,UAC7EF,cAAA,UAAQS,MAAM,+BAA+BuB,QAASkZ,EAAM/a,SAAC,uBCpB9D,cACX,IAAMnB,EAAS+B,qBAAWvC,KAClBqK,EAAcC,cAAdD,UACFvI,EAAOtB,EAAOoC,MAAMyH,GAE1B,OACI7I,cAAA,OAAKS,MAAM,OAAMN,SACbH,cAAA,UAAQJ,IAAKU,EAAKV,S,kDCXxBwb,GAAW,CACb,MAAS,iBAAO,CAAEC,QAASC,MAC3B,MAAS,iBAAO,CAAED,QAASlc,MAC3B,oBAAqB,iBAAO,CAAEkc,QAASE,QAG3C,SAASC,GAAgBC,EAAMC,EAAYN,GACvC,IAAMO,EAAQvO,OAAOwO,OAAOR,GAa5B,OAZA,SAASS,EAAQ1a,GACb,GAAMA,KAAQwa,GAAUD,IAAeva,GAKhC,KAAMA,KAAQwa,GACjB,KAAK,WAALjb,OAAiBS,EAAI,mBANoB,CACzC,IAAI2a,EAAS,CAAET,QAAS,IACxBM,EAAMxa,GAAQ,kBAAM2a,GACNC,SAAS,2BAA4BN,EACnDO,CAAQH,EAASC,EAAOT,QAASS,GAIrC,OAAQH,EAAMxa,KAASka,QAGpBQ,CAAQH,GAClB,SAGcO,GAAcxC,GAAA,OAAAyC,GAAApR,MAAC,KAADC,WAAA,SAAAmR,KAc5B,OAd4BA,GAAA3S,YAAAC,IAAAC,MAA7B,SAAA0S,EAA8BC,GAAa,IAAA9c,EAAAuO,EAAA,OAAArE,IAAAK,MAAA,SAAAwS,GAAA,cAAAA,EAAAtS,KAAAsS,EAAArS,MAAA,cAAAqS,EAAAtS,KAAA,EAAAsS,EAAArS,KAAA,EAEZ7K,IAAMC,IAAI,mBAAoB,CACjDgL,OAAQ,CACJgS,mBAEN,OACwB,OALpB9c,EAAQ+c,EAAA7R,KAKRqD,EAAOvO,EAASzB,KAAIwe,EAAArM,OAAA,SACnB,CAAEsM,QAASd,GAAgB3N,EAAM,iBAAkBuN,MAAW,OAEjD,OAFiDiB,EAAAtS,KAAA,EAAAsS,EAAAlM,GAAAkM,EAAA,SAErEhe,QAAQE,MAAK8d,EAAAlM,IAAOkM,EAAArM,OAAA,SACb,CAAEsM,QAAO,WAAK,OAAOtc,cAAA,OAAAG,SAAK,uBAAyB,yBAAAkc,EAAAxR,UAAAsR,EAAA,mBAGjErR,MAAA,KAAAC,WAED,IAAMwR,GAAkB,SAAHlc,GAA+C,IAAzC+b,EAAa/b,EAAb+b,cAAejc,EAAQE,EAARF,SAAaxB,EAAK6d,aAAAnc,EAAAoc,IAClDC,EAAYC,mBAAQ,WACtB,OAAOrB,IAAMsB,KAAIrT,YAAAC,IAAAC,MAAC,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAkG,OAAA,SAAYiM,GAAeG,IAAc,wBAAAtS,EAAAe,UAAAnB,UAC5D,CAAC0S,IAEJ,OACIpc,cAAC6c,WAAQ,CAACC,SAAU,KAAK3c,SACrBH,cAAC0c,EAAS1X,wBAAA,GAAKrG,GAAK,IAAAwB,SAAGA,QAKpBmb,OAAMyB,KAAKR,ICnDX,cACX,IAAMvd,EAAS+B,qBAAWvC,KAClBqK,EAAcC,cAAdD,UAEFuT,EAAgBpd,EAAOoC,MAAMyH,GAAWuT,cAE9C,OACIpc,cAACuc,GAAe,CAACH,cAAeA,KCOxCjd,IAAM6d,SAASC,iBAAkB,EACjC9d,IAAM6d,SAASE,QAAkF,kBAqDlFC,OAnDf,WACE,IAAAve,EAA8CC,mBAAS,MAAKC,EAAAC,YAAAH,EAAA,GAArDwe,EAAete,EAAA,GAAE+b,EAAkB/b,EAAA,GAQ1C,OANAI,qBAAU,WACRC,IAAMC,IAAI,oBAAoBC,MAAK,SAACC,GAClCub,EAAmBvb,EAASzB,KAAKuf,sBAElC,IAGDpd,cAAA,OAAKgL,GAAG,OAAM7K,UACS,IAApBid,EACCpd,cAACtB,IAAc,CAAAyB,SACbI,eAAC8c,IAAM,CAACC,SAA8D,cAAcnd,SAAA,CAClFH,cAACud,EAAO,IACRhd,eAACid,IAAM,CAAArd,SAAA,CACLH,cAACyd,IAAK,CAACtU,KAAK,qCAAoChJ,SAC9CH,cAAC0d,EAAO,MAEV1d,cAACyd,IAAK,CAACtU,KAAK,+BAA8BhJ,SACxCH,cAAC2d,GAAM,MAET3d,cAACyd,IAAK,CAACtU,KAAK,mCAAkChJ,SAC5CH,cAAC4d,EAAU,MAEb5d,cAACyd,IAAK,CAACtU,KAAK,mDAAkDhJ,SAC5DH,cAAC6d,EAAY,MAEf7d,cAACyd,IAAK,CAACtU,KAAK,qBAAoBhJ,SAC9BH,cAAC8d,GAAM,MAET9d,cAACyd,IAAK,CAACtU,KAAK,yBAAwBhJ,SAClCH,cAAC+d,GAAU,MAEb/d,cAACyd,IAAK,CAACtU,KAAK,IAAGhJ,SACbH,cAACge,EAAmB,eAKN,IAApBZ,EACFpd,cAACie,GAAK,CAACpD,mBAAoBA,IAE3B7a,cAAA,OAAKS,MAAM,aAAYN,SACrBH,cAAA,KAAGS,MAAM,oCC7DnByd,IAASC,OACPne,cAACsb,IAAM8C,WAAU,CAAAje,SACfH,cAACmd,GAAG,MAENzd,SAAS4S,eAAe,W","file":"static/js/main.4ce5340d.chunk.js","sourcesContent":["\nexport default (expression, data) => {\n try {\n var varString = '';\n for (var key in data) {\n varString += \"var \" + key + \" = \" + (typeof data[key] === \"string\" ? \"'\" + data[key].replace(/'/g, \"\\\\'\").replace(/\\n/g, \"<br>\").replace(/\\r/g, \"\") + \"'\" : (typeof data[key] === \"object\" ? JSON.stringify(data[key]) : data[key])) + \";\"\n }\n return eval(varString + expression)\n } catch (e) {\n console.log(varString + expression);\n console.error(e);\n return \"Error\"\n }\n}","import React, { useEffect, createContext, useState } from \"react\";\nimport axios from \"axios\";\n\nconst ConfigContext = createContext(null);\n\nconst ConfigProvider = (props) => {\n const [config, setConfig] = useState(null);\n\n useEffect(() => {\n axios.get(\"/config\").then(response => {\n const _config = eval('(' + response.data.config + ')')\n setConfig(_config)\n\n if (_config.googleMapsKey) {\n const script = document.createElement('script');\n script.src = \"https://maps.googleapis.com/maps/api/js?key=\" + _config.googleMapsKey + \"&libraries=places,autocomplete\";\n document.body.appendChild(script);\n return () => {\n document.body.removeChild(script);\n }\n }\n })\n }, []);\n\n return config ? (\n <ConfigContext.Provider value={config} >\n {props.children}\n </ConfigContext.Provider >\n ) : null\n};\n\nexport { ConfigContext, ConfigProvider };\n","\nimport { useContext } from \"react\";\nimport {\n Link,\n useHistory,\n useLocation\n} from \"react-router-dom\";\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nconst SidebarItemIconAndLabel = ({ view }) => (\n <>\n <div class=\"sidebarIcon\">\n <i class={`fas fa-${view.icon || \"square\"}`}></i>\n </div>\n <div class=\"sidebarLabel\">{view.label}</div>\n </>\n)\n\nexport default () => {\n const location = useLocation();\n const config = useContext(ConfigContext)\n const history = useHistory();\n\n return (\n <div class=\"sidebar\">\n {config.logo ? <img src={config.logo} class=\"logo\" /> : null}\n <div class=\"sidebarTitle\">{config.name}</div>\n <div class=\"sidebarSubtitle\">Back-office</div>\n {config.views.filter(view => !view.hidden).map((view, i) => {\n if (view.type === \"link\") {\n return (\n <a href={view.src} key={i}>\n <div class=\"sidebarItem\">\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </a>\n )\n } else if (view.type === \"iframe\") {\n const isActive = location.pathname === `/iframe/${i}`\n return (\n <Link to={`/iframe/${i}`} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </Link>\n )\n } else if (view.type === \"custom\") {\n const isActive = location.pathname === `/customView/${i}`\n return (\n <Link to={`/customView/${i}`} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </Link>\n )\n } else if (view.type === \"table\") {\n // TODO: bug quand la vue 10 est sélectionnée, la 1 aussi\n const isActive =\n location.pathname.startsWith(`/records/${i}`) ||\n location.pathname === `/createRecord/${i}` ||\n location.pathname.startsWith(`/record/${i}`) ||\n location.pathname.startsWith(`/editRecord/${i}`)\n return (\n <div onClick={() => history.push(`/records/${i}`)} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <div class=\"notificationWrapper\"></div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n {view.subviews ? (\n <>\n <div class=\"subviewsSeparator\"></div>\n {view.subviews.map((subview, j) => {\n const isActive = location.pathname == `/records/${i}/${j}`\n return (\n <div onClick={(e) => {\n history.push(`/records/${i}/${j}`);\n e.stopPropagation();\n }}>\n <div data-subview-index={j} class={isActive ? \"active\" : \"\"}>\n <div class=\"notificationWrapperForSubview\"></div>\n {subview.label}\n </div>\n </div>\n )\n })}\n </>\n ) : null}\n </div>\n </div>\n )\n }\n })}\n {!config.hideBranding ? (\n <div class=\"sidebarBranding\">Made with <i class=\"fas fa-heart\"></i> by Galadrim</div>\n ) : null}\n </div>\n )\n}","import { useContext } from \"react\"\nimport {\n\tRedirect\n} from \"react-router-dom\";\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n\tconst config = useContext(ConfigContext)\n\tconst firstView = config.views[0]\n\n\tif (!firstView) {\n\t\treturn null\n\t}\n\tif (firstView.type === \"table\") {\n\t\treturn <Redirect to=\"/records/0\" />\n\t}\n\tif (firstView.type === \"iframe\") {\n\t\treturn <Redirect to=\"/iframe/0\" />\n\t}\n\tif (firstView.type === \"custom\") {\n\t\treturn <Redirect to=\"/customView/0\" />\n\t}\n\treturn null;\n}","import { useEffect, useRef } from \"react\";\n\nexport default ({ column, onChange, initialData }) => {\n const colorPicker = useRef(null);\n\n useEffect(() => {\n if (colorPicker.current) {\n window.$(colorPicker.current).spectrum({\n preferredFormat: \"hex\",\n showInput: true,\n chooseText: \"OK\",\n cancelText: \"Annuler\",\n color: initialData?.[column.name]\n });\n window.$(colorPicker.current).on(\"change.spectrum\", (_, value) => {\n onChange({ [column.name]: value.toHexString() })\n })\n }\n return () => window.$(colorPicker.current).off()\n }, [colorPicker.current])\n\n return (\n <input\n ref={colorPicker}\n type='text'\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n />\n );\n}","import { useEffect, useRef } from \"react\";\n\nwindow.Quill.prototype.getHTML = function () {\n return this.container.querySelector('.ql-editor').innerHTML;\n};\n\nexport default ({ column, onChange, initialData }) => {\n const quillContainer = useRef(null);\n\n useEffect(() => {\n if (quillContainer.current && !quillContainer.current.editor) {\n const editor = new window.Quill(quillContainer.current, {\n theme: 'snow',\n modules: {\n toolbar: [\n [{\n 'header': [1, 2, 3, 4, false]\n }],\n ['bold', 'italic', 'underline', 'link'],\n ['image'],\n [{\n 'align': []\n }],\n [{\n 'list': 'ordered'\n }, {\n 'list': 'bullet'\n }],\n ['clean']\n ]\n }\n });\n if (column.contentField) {\n if (initialData?.[column.contentField]) {\n try {\n editor.setContents(JSON.parse(initialData?.[column.contentField]))\n } catch (e) { }\n }\n } else if (column.htmlField) {\n editor.clipboard.dangerouslyPasteHTML(0, initialData?.[column.htmlField])\n }\n editor.on('text-change', () => {\n onChange({\n [column.htmlField]: editor.getHTML(),\n ...(column.contentField && { [column.contentField]: JSON.stringify(editor.getContents()) })\n })\n });\n quillContainer.current.editor = editor\n return editor.off();\n }\n }, [quillContainer.current])\n\n return (\n <div class='quillContainer'>\n <div class=\"quill\" ref={quillContainer} style={column.height ? { height: column.height } : null} />\n </div>\n );\n};\n","import { useEffect, useRef } from \"react\";\n\nexport default ({ column, onChange, initialData, withTime }) => {\n const datepicker = useRef(null);\n\n useEffect(() => {\n if (datepicker.current) {\n const datepickerEl = window.$(datepicker.current).datepicker({\n language: \"fr\",\n autoClose: true,\n onSelect: (_, date) => {\n onChange({ [column.name]: window.moment(date).format(withTime ? \"YYYY-MM-DD HH:mm:ss\" : \"YYYY-MM-DD\") })\n }\n })\n if (initialData?.[column.name]) {\n datepickerEl.data(\"datepicker\").selectDate(new Date(initialData?.[column.name]))\n }\n }\n }, [datepicker.current])\n\n return (\n <div>\n <input type='text' ref={datepicker} data-timepicker={withTime ? \"true\" : \"false\"} />\n </div>\n )\n}","import { useEffect, useRef } from \"react\";\n\nexport default ({ column, onChange, initialData }) => {\n const googleMapsInput = useRef(null);\n\n useEffect(() => {\n if (googleMapsInput.current && window.google) {\n const autocomplete = new window.google.maps.places.Autocomplete(\n googleMapsInput.current,\n column.componentRestrictions ? {\n componentRestrictions: column.componentRestrictions\n } : {}\n )\n autocomplete.addListener('place_changed', () => {\n const place = autocomplete.getPlace();\n if (place.length === 0) {\n return;\n }\n if (!place.geometry) {\n return;\n } else {\n const fieldValues = {\n latitudeField: (place) => place.geometry.location.lat(),\n longitudeField: (place) => place.geometry.location.lng(),\n addressField: (place) => place.formatted_address,\n streetNumberField: (place) => place.address_components.find(x => x.type === \"street_number\")?.long_name,\n routeField: (place) => place.address_components.find(x => x.type === \"route\")?.long_name,\n localityField: (place) => place.address_components.find(x => x.type === \"locality\")?.long_name,\n administrativeAreaLevel2Field: (place) => place.address_components.find(x => x.type === \"administrative_area_level_2\")?.long_name,\n administrativeAreaLevel1Field: (place) => place.address_components.find(x => x.type === \"administrative_area_level_1\")?.long_name,\n countryField: (place) => place.address_components.find(x => x.type === \"country\")?.long_name,\n postalCodeField: (place) => place.address_components.find(x => x.type === \"postal_code\")?.long_name\n }\n const placeData = {}\n for (const key in fieldValues) {\n if (column[key]) {\n placeData[column[key]] = fieldValues[key](place)\n }\n }\n googleMapsInput.current.value = place.formatted_address\n onChange(placeData);\n }\n });\n }\n }, [googleMapsInput.current]);\n\n useEffect(() => {\n const setInputValue = () => {\n if (googleMapsInput.current) {\n googleMapsInput.current.value = \"\"\n }\n }\n googleMapsInput?.current?.addEventListener(\"focusout\", setInputValue)\n return () => googleMapsInput?.current?.removeEventListener(\"focusout\", setInputValue)\n }, [googleMapsInput.current])\n\n return (\n <div>\n <input\n type='text'\n placeholder=''\n ref={googleMapsInput}\n defaultValue={initialData?.[column.name]}\n />\n </div>\n )\n}","import { useRef, useState } from \"react\";\nimport axios from \"axios\";\nimport {\n useParams\n} from \"react-router-dom\";\n\nexport default ({ column, onChange, initialData }) => {\n const form = useRef(null);\n const { viewIndex } = useParams();\n const [isLoading, setIsLoading] = useState(false)\n const [path, setPath] = useState(initialData?.[column.name])\n\n const onInputChange = async () => {\n const f = new FormData(form.current);\n setIsLoading(true);\n\n const response = await axios({\n method: \"post\",\n url: `/uploadFile`,\n data: f,\n params: {\n viewIndex,\n columnId: column.__id__\n },\n headers: { \"Content-Type\": \"multipart/form-data\" }\n })\n const fileData = {\n [column.name]: response.data.path\n }\n if (column.aspectRatioField) {\n fileData[column.aspectRatioField] = response.data.aspectRatio\n }\n if (column.originalNameField) {\n fileData[column.originalNameField] = response.data.originalFilename\n }\n onChange(fileData)\n setIsLoading(false)\n setPath(response.data.path)\n // var showAsPicture = $(this).data(\"showAsPicture\") === 1\n //var baseUrl = $(\".fileInputContent[data-input-id='\" + inputId + \"']\").data(\"baseUrl\")\n //$(\".fileInputContent[data-input-id='\" + inputId + \"']\").removeClass(\"clickToSelectFile\").html(showAsPicture ? \"<div><img src='https://res.cloudinary.com/forest2/image/fetch/w_600,h_300,c_fit/\" + baseUrl + data.path + \"' /><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\" : \"<div class='nonImageFileOutput'><span>Fichier téléchargé</span><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\"\n }\n\n const deleteFile = (e) => {\n setPath(null);\n const fileData = {\n [column.name]: null\n }\n if (column.aspectRatioField) {\n fileData[column.aspectRatioField] = null\n }\n if (column.originalNameField) {\n fileData[column.originalNameField] = null\n }\n onChange(fileData)\n e.preventDefault()\n }\n\n var id = Math.random().toString()\n return (\n <div class='fileInputContainer'>\n <label htmlFor={id}>\n <form ref={form}>\n <input type='file' id={id} style={{ display: \"none\" }} name='file' onChange={onInputChange} />\n </form>\n <div class={`fileInputContent ${!path ? \"clickToSelectFile\" : \"\"}`}>\n {isLoading ?\n <i class='fa fa-circle-notch fa-spin'></i>\n : null\n }\n {!isLoading && !path ?\n <div>Cliquez pour sélectionner un fichier</div>\n : null}\n {!isLoading && path ? (\n <div class='nonImageFileOutput'>\n <span>Fichier téléchargé</span>\n <div class='deleteFile' onClick={deleteFile}><i class='fal fa-trash-alt'></i></div>\n </div>\n ) : null}\n </div>\n </label>\n </div>\n )\n}\n","import axios from \"axios\";\nimport { useEffect, useState } from \"react\"\nimport {\n useParams\n} from \"react-router-dom\";\n\nexport default ({ column, onChange, initialData }) => {\n const [options, setOptions] = useState(null)\n const { viewIndex } = useParams();\n\n useEffect(() => {\n axios.post(\"/foreignSelectRecords\", {\n viewIndex,\n columnId: column.__id__\n }).then((response) => {\n setOptions(response.data)\n onChange({ \n [column.name]: initialData?.[column.name] || (column.optional ? \"NULL\" : response.data[0]?.value) \n }, {\n label: column.optional ? \"-\" : response.data[0]?.label\n })\n })\n }, [])\n\n return options === null ? (\n <i class='fa fa-circle-notch fa-spin' style={{ color: \"#536579\" }}></i>\n ) : (\n <select\n onChange={(e) => onChange({ \n [column.name]: e.target.value \n }, {\n label: options.find(x => x.value == e.target.value)?.label\n })}\n defaultValue={initialData?.[column.name]}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n {options.map((option) => {\n return (\n <option value={option.value} key={option.value}>\n {option.label}\n </option>\n )\n })}\n </select>\n );\n}\n","import axios from \"axios\";\nimport { useEffect, useRef, useState } from \"react\"\nimport {\n useParams\n} from \"react-router-dom\";\n\nexport default ({ column, onChange, initialData }) => {\n const [options, setOptions] = useState([])\n const { viewIndex } = useParams();\n const [query, setQuery] = useState(\"\")\n const input = useRef(null)\n const isInputValid = useRef(false)\n\n useEffect(() => {\n axios.post(\"/foreignSelectRecords\", {\n viewIndex,\n columnId: column.__id__,\n query\n }).then((response) => {\n setOptions(response.data)\n })\n }, [query])\n\n useEffect(() => {\n const setInputValue = () => {\n if (input.current && !isInputValid.current) {\n input.current.value = \"\"\n }\n }\n input?.current?.addEventListener(\"focusout\", setInputValue)\n return () => input?.current?.removeEventListener(\"focusout\", setInputValue)\n }, [input.current])\n\n const id = Math.random();\n\n return options === null ? (\n <i class='fa fa-circle-notch fa-spin' style={{ color: \"#536579\" }}></i>\n ) : (\n <div>\n <input\n type='text'\n list={id}\n ref={input}\n onChange={(e) => {\n const value = options.find(x => x.label === e.target.value)?.value ?? null;\n isInputValid.current = !!value\n setQuery(e.target.value);\n onChange({ [column.name]: value })\n }}\n defaultValue={options.find(x => x.value === initialData?.[column.name])?.label}\n />\n <datalist id={id}>\n {column.optional ? <option value='NULL'>-</option> : null}\n {options.map((option) => {\n return (\n <option value={option.label} key={option.value}>\n {option.label}\n </option>\n )\n })}\n </datalist>\n </div>\n );\n}","import ColorInput from \"./inputs/ColorInput\"\nimport RichTextInput from \"./inputs/RichTextInput\";\nimport DatetimeInput from \"./inputs/DatetimeInput\";\nimport AddressInput from \"./inputs/AddressInput\";\nimport FileInput from \"./inputs/FileInput\";\nimport ForeignSelectInput from \"./inputs/ForeignSelectInput\";\nimport ForeignDatalistInput from \"./inputs/ForeignDatalistInput\";\n\nexport default ({ column, onChange, initialData }) => {\n const { dataType } = column;\n\n if ([\"int\", \"double\", \"float\", \"decimal\"].includes(dataType)) {\n return (\n <input\n type='number'\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n onWheel={(e) => {\n e.target.blur()\n setTimeout(() => {\n e.target.focus()\n }, 0)\n }}\n />\n );\n } else if (dataType === \"tinyint\") {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n <option value='0'>Non</option>\n <option value='1'>Oui</option>\n </select>\n );\n } else if (dataType === \"select\" && Array.isArray(column.options)) {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n {column.options.map(option => <option value={option} key={option}>{option}</option>)}\n </select>\n );\n } else if (dataType === \"select\") {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n {Object.keys(column.options).map(key => <option value={key} key={key}>{column.options[key]}</option>)}\n </select>\n );\n } else if (dataType === \"datalist\") {\n return (\n <ForeignDatalistInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"foreign\") {\n return (\n <ForeignSelectInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"address\") {\n return (\n <AddressInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n )\n } else if (dataType === \"color\") {\n return (\n <ColorInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"file\") {\n return (\n <FileInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"datetime\") {\n return (\n <DatetimeInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n withTime={true}\n />\n );\n } else if (dataType === \"date\") {\n return (\n <DatetimeInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n withTime={false}\n />\n );\n } else if (dataType === \"textarea\") {\n return (\n <textarea\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n >\n </textarea>\n );\n } else if (dataType === \"richText\") {\n return (\n <RichTextInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else {\n return (\n <input\n type='text'\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n />\n );\n }\n};","import { useState } from \"react\";\n\nexport default ({ text }) => {\n const [visible, setVisible] = useState(false);\n return (\n <div class=\"labelTooltipContainer\" onMouseLeave={() => setVisible(false)}>\n <div class=\"labelTooltipIcon\" onMouseEnter={() => setVisible(true)}>\n <i class='fa fa-question-circle' />\n </div>\n {visible ? (\n <div class='tooltip'>\n {text}\n </div>\n ) : null}\n </div>\n )\n}","function isNotFilled(x) {\n return x === undefined || x === null || x === ''\n}\n\nexport default (columns, data) => {\n const requiredUnfilledColumns = columns.filter(column => column.required && isNotFilled(data[column.name]))\n if (requiredUnfilledColumns.length > 0) {\n let message;\n if (requiredUnfilledColumns.length == 1) {\n message = `Le champ requis ${requiredUnfilledColumns.map(x => x.label).join(\", \")} n'a pas été rempli`\n } else {\n message = `Les champs requis ${requiredUnfilledColumns.map(x => x.label).join(\", \")} n'ont pas été remplis`\n }\n window.swal({\n title: \"Erreur\",\n text: message,\n dangerMode: true\n })\n return false;\n }\n return true;\n}","import { useContext, useRef, useState } from \"react\";\nimport {\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport axios from \"axios\";\nimport Input from \"../components/Input\"\nimport LabelTooltip from \"../components/LabelTooltip\"\nimport { ConfigContext } from '../contexts/ConfigContext'\nimport checkRequiredColumns from \"../utils/checkRequiredColumns\";\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex, panelIndex, recordId } = useParams();\n const history = useHistory();\n const view = config.views[viewIndex];\n const panel = panelIndex ? view.recordViewPanels[panelIndex] : null;\n const filteredColumns = panel ? panel.createConfig.columns : view.columns.filter(\n column => column.dataType &&\n (column.canEditOnCreation === true || column.canEdit !== false)\n && !column.hidden\n )\n\n const initialData = {}\n for (const column of filteredColumns) {\n if (column.defaultOption) {\n initialData[column.name] = column.defaultOption\n } else if (column.dataType === \"tinyint\") {\n initialData[column.name] = column.optional ? \"NULL\" : \"0\"\n } else if (column.dataType === \"select\" && Array.isArray(column.options)) {\n initialData[column.name] = column.options[0]\n } else if (column.dataType === \"select\") {\n initialData[column.name] = Object.keys(column.options)[0]\n }\n if (column.defaultValue) {\n initialData[column.name] = column.defaultValue\n }\n }\n const data = useRef(initialData)\n const [isCreating, setIsCreating] = useState(false)\n\n const createRecord = async () => {\n if (!checkRequiredColumns(filteredColumns, data.current)) return;\n for (const key in view.createFilters) {\n data.current[key] = view.createFilters[key]\n }\n setIsCreating(true)\n try {\n const response = await axios.post(\"/createRecord\", {\n viewIndex,\n panelIndex,\n recordId,\n data: data.current\n })\n setIsCreating(false)\n if (recordId) { // Create from panel view\n history.push(`/record/${viewIndex}/${recordId}`)\n } else if (view?.createConfig?.redirectToCreatedItems) {\n history.push(`/record/${viewIndex}/${response.data.id}`)\n } else {\n history.push(`/records/${viewIndex}`)\n }\n } catch (error) {\n window.swal({\n title: \"Erreur\",\n text: axios.isAxiosError(error) ? error.response.data.message : \"Une erreur est survenue\",\n dangerMode: true\n })\n setIsCreating(false)\n }\n }\n\n return (\n <div class=\"view\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{panel ? panel.createConfig.label : `Créer ${view.aNewSingular}`}</div>\n </div>\n <div class=\"paddedView\">\n <div class=\"form\">\n {filteredColumns.map((column, index) => {\n return (\n <div class='formElement' key={index}>\n <div class='formLabel'>\n {column.label} {column.required ? \"*\" : \"\"}\n {column.labelTooltip ? <LabelTooltip text={column.labelTooltip} /> : null}\n </div>\n <div class='formInput'>\n <Input\n column={column}\n onChange={(newValues) => { data.current = { ...data.current, ...newValues } }}\n />\n </div>\n </div>\n )\n })}\n </div>\n <div class={`button greenButton ${isCreating ? \"loading\" : \"\"}`} onClick={createRecord}>{isCreating ? \"Sauvegarde en cours...\" : \"Créer\"}</div>\n <div class=\"button\" onClick={() => history.goBack()}>Annuler</div>\n </div>\n </div>\n )\n}","import { useContext, useRef, useState, useEffect } from \"react\";\nimport {\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport axios from \"axios\";\nimport Input from \"../components/Input\"\nimport LabelTooltip from \"../components/LabelTooltip\"\nimport { ConfigContext } from '../contexts/ConfigContext'\nimport checkRequiredColumns from \"../utils/checkRequiredColumns\";\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex, recordId } = useParams();\n const history = useHistory();\n const view = config.views[viewIndex];\n const [record, setRecord] = useState(null);\n const filteredColumns = view.columns.filter(\n column => column.dataType &&\n column.canEdit !== false &&\n !column.hidden\n )\n\n const dataToUpdate = useRef({})\n const [isUpdating, setIsUpdating] = useState(false)\n\n useEffect(() => {\n axios.get(\"/record\", {\n params: {\n viewIndex,\n recordId\n }\n }).then((response) => {\n dataToUpdate.current = {};\n setRecord(response.data);\n });\n }, [viewIndex, recordId]);\n\n const updateRecord = async () => {\n if (!checkRequiredColumns(filteredColumns, {...record, ...dataToUpdate.current})) return;\n setIsUpdating(true)\n try {\n await axios.post(\"/updateRecord\", {\n viewIndex,\n primaryValue: recordId,\n data: dataToUpdate.current,\n previousData: record\n })\n setIsUpdating(false)\n history.push(`/record/${viewIndex}/${recordId}`)\n } catch (error) {\n if (error.response.responseText) {\n window.swal({\n title: \"Erreur\",\n text: error.response.responseText,\n dangerMode: true\n })\n }\n setIsUpdating(false)\n }\n }\n\n return (\n <div class=\"view\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n </div>\n <div class=\"paddedView\">\n {record ? (\n <>\n <div class=\"form\">\n {filteredColumns.map((column, index) => {\n return (\n <div class='formElement' key={index}>\n <div class='formLabel'>\n {column.label} {column.required ? \"*\" : \"\"}\n {column.labelTooltip ? <LabelTooltip text={column.labelTooltip} /> : null}\n </div>\n <div class='formInput'>\n <Input\n column={column}\n initialData={record}\n onChange={(newValues) => { dataToUpdate.current = { ...dataToUpdate.current, ...newValues } }}\n />\n </div>\n </div>\n )\n })}\n </div>\n <div class={`button greenButton ${isUpdating ? \"loading\" : \"\"}`} onClick={updateRecord}>{isUpdating ? \"Sauvegarde en cours...\" : \"Sauvegarder\"}</div>\n <div class=\"button\" onClick={() => history.goBack()}>Annuler</div>\n </>\n ) : null}\n </div>\n </div>\n )\n}","\nimport { useState } from \"react\"\nimport axios from \"axios\";\n\nexport default ({ view, viewIndex, subviewIndex, currentFilters, orderBy, isDesc, query }) => {\n const [isDownloading, setIsDownloading] = useState(false)\n\n const downloadRecords = () => {\n setIsDownloading(true)\n axios.post(\"/recordsExport\", {\n viewIndex,\n subviewIndex,\n filters: currentFilters.map(function (x) {\n return x.query\n }),\n orderBy,\n isDesc,\n query\n }).then((response) => {\n setIsDownloading(false)\n window.download(response.data.content, view.label + \".csv\");\n })\n }\n\n return (\n <div class=\"downloadButton\" onClick={downloadRecords}>\n <i class={`fa ${!isDownloading ? \"fa-cloud-download\" : \"fa-spin fa-circle-notch\"}`}></i>\n </div>\n )\n}","import { useEffect, useRef } from \"react\"\n\nfunction useOutsideClickHandler(ref, handler) {\n useEffect(() => {\n function handleClickOutside(event) {\n if (\n ref.current && \n !ref.current.contains(event.target) && \n !document.getElementById(\"datepickers-container\")?.contains(event.target)\n ) {\n handler()\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref]);\n}\n\nexport default function OutsideClickHandler(props) {\n const wrapperRef = useRef(null);\n useOutsideClickHandler(wrapperRef, props.onOutsideClick);\n\n return <div ref={wrapperRef}>{props.children}</div>;\n}","import { useEffect, useState, useRef } from \"react\"\nimport OutsideClickHandler from \"./OutsideClickHandler\"\nimport ForeignSelectInput from \"./inputs/ForeignSelectInput\"\nimport DatetimeInput from \"./inputs/DatetimeInput\"\n\nexport default ({ view, refreshData, onAddFilter }) => {\n const [filtersOpened, setFiltersOpened] = useState(false)\n const [field, setField] = useState(null);\n const [operator, setOperator] = useState(\"contains\")\n const [value, setValue] = useState(null)\n\n const foreignSelectedLabel = useRef(\"-\");\n\n const column = view.columns.find(c => (c.searchableName || c.name) === field)\n\n useEffect(() => {\n if (column?.dataType === 'select') {\n setValue(Array.isArray(column.options) ? column.options[0] : Object.keys(column.options)[0])\n }\n }, [field])\n\n const addFilter = () => {\n if (field && value) {\n const fieldLabel = column?.label\n const searchedField = `(${column?.searchableName || column?.name})`\n if (column?.dataType === 'select') {\n const formattedValue = !Array.isArray(column?.options) ? column.options[value] : value\n onAddFilter({\n label: fieldLabel + \" est \" + formattedValue,\n query: searchedField + \" = '\" + value + \"'\"\n })\n } else if (column?.dataType === 'foreign') {\n onAddFilter({\n label: fieldLabel + \" est \" + foreignSelectedLabel.current,\n query: column.name + \" = '\" + value + \"'\"\n })\n } else if (column?.dataType === 'date' || column?.dataType === 'datetime') {\n let label;\n const queryItems = []\n if (value.from && !value.to) {\n label = fieldLabel + \" est après \" + value.from\n } else if (value.to && !value.from) {\n label = fieldLabel + \" est avant \" + value.to\n } else {\n label = fieldLabel + \" de \" + value.from + \" à \" + value.to\n }\n if (value.from) {\n queryItems.push(column.name + \" >= '\" + value.from + \"'\")\n }\n if (value.to) {\n queryItems.push(column.name + \" <= '\" + value.to + \"'\")\n }\n onAddFilter({\n label,\n query: queryItems.join(\" AND \")\n })\n } else if (operator === \"contains\") {\n onAddFilter({\n label: fieldLabel + \" contient \" + value,\n query: searchedField + \" LIKE '%\" + value + \"%'\"\n })\n } else if (operator === \"notContains\") {\n onAddFilter({\n label: fieldLabel + \" ne contient pas \" + value,\n query: searchedField + \" NOT LIKE '%\" + value + \"%'\"\n })\n } else if (operator === \"is\") {\n onAddFilter({\n label: fieldLabel + \" est \" + value,\n query: searchedField + \" = '\" + value + \"'\"\n })\n } else if (operator === \"isNot\") {\n onAddFilter({\n label: fieldLabel + \" n'est pas \" + value,\n query: searchedField + \" != '\" + value + \"'\"\n })\n } else if (operator === \"startsWith\") {\n onAddFilter({\n label: fieldLabel + \" commence par \" + value,\n query: searchedField + \" LIKE '\" + value + \"%'\"\n })\n } else if (operator === \"endsWith\") {\n onAddFilter({\n label: fieldLabel + \" finit par \" + value,\n query: searchedField + \" LIKE '%\" + value + \"'\"\n })\n } else if (operator === \"largerThan\") {\n onAddFilter({\n label: fieldLabel + \" supérieur à \" + value,\n query: searchedField + \" >= \" + value\n })\n } else if (operator === \"smallerThan\") {\n onAddFilter({\n label: fieldLabel + \" inférieur à \" + value,\n query: searchedField + \" <= \" + value\n })\n }\n setField(null)\n setValue(null)\n setFiltersOpened(false)\n }\n }\n\n return (\n <OutsideClickHandler onOutsideClick={() => setFiltersOpened(false)}>\n <div class=\"button openFilterPopup\" onClick={() => setFiltersOpened(!filtersOpened)}>\n <i class=\"fas fa-filter\"></i> Ajouter un filtre\n {filtersOpened ? (\n <div class=\"addFilterPopup\" onClick={(e) => e.stopPropagation()}>\n <div class=\"filterLabel\">Champ</div>\n <select onChange={(e) => setField(e.target.value)}>\n <option value=''>Sélectionnez un champ</option>\n {view.columns.filter(_column =>\n (_column.searchableName || _column.name) && _column.dataType !== \"datalist\"\n ).map((_column) => {\n const value = _column.searchableName || _column.name\n return (\n <option value={value} key={value}>\n {_column.label}\n </option>\n )\n })}\n </select>\n {column?.dataType === 'select' ? (\n <>\n <div class=\"filterLabel\">Valeur</div>\n <select onChange={(e) => setValue(e.target.value)}>\n {Array.isArray(column.options) ? column.options.map(value => (\n <option value={value}>{value}</option>\n )) : Object.keys(column.options).map(value => (\n <option value={value}>{column.options[value]}</option>\n ))}\n </select>\n </>\n ) : column?.dataType === 'foreign' ? (\n <>\n <div class=\"filterLabel\">Valeur</div>\n <ForeignSelectInput \n column={column} \n onChange={(data, info) => {\n setValue(data[column.name])\n foreignSelectedLabel.current = info.label\n }}\n />\n </>\n ) : column?.dataType === 'date' || column?.dataType === 'datetime' ? (\n <>\n <div class=\"filterLabel\">De</div>\n <DatetimeInput column={column} withTime={true} onChange={(data) => {\n setValue({\n from: data[column.name],\n to: value?.to\n })\n }} />\n <div class=\"filterLabel\">À</div>\n <DatetimeInput column={column} withTime={true} onChange={(data) => {\n setValue({\n from: value?.from,\n to: data[column.name]\n })\n }} />\n </>\n ) : (\n <>\n <div class=\"filterLabel\">Opérateur</div>\n <select onChange={(e) => setOperator(e.target.value)}>\n <option value=\"contains\">contient</option>\n <option value=\"notContains\">ne contient pas</option>\n <option value=\"startsWith\">commence par</option>\n <option value=\"endsWith\">finit par</option>\n <option value=\"is\">est</option>\n <option value=\"isNot\">n'est pas</option>\n <option value=\"largerThan\">est supérieur à</option>\n <option value=\"smallerThan\">est inférieur à</option>\n </select>\n <div class=\"filterLabel\">Valeur</div>\n <input onChange={(e) => setValue(e.target.value)} />\n </>\n )}\n <div class=\"button greenButton\" onClick={addFilter}>Ajouter</div>\n </div>\n ) : null}\n </div>\n </OutsideClickHandler >\n )\n}","import { useContext, useState } from \"react\"\nimport axios from \"axios\";\nimport OutsideClickHandler from \"./OutsideClickHandler\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default ({ viewIndex, selectedRecordIds, refreshData }) => {\n const config = useContext(ConfigContext)\n const view = config.views[viewIndex]\n const [bulkActionsOpened, setBulkActionsOpened] = useState(false)\n\n const bulkDelete = () => {\n window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n }).then((willDelete) => {\n if (willDelete) {\n axios.post(\"deleteRecords\", {\n viewIndex,\n primaryValues: selectedRecordIds\n }).then(function () {\n refreshData()\n }).catch(function () {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n });\n }\n });\n }\n\n const bulkCustomAction = (actionIndex) => () => {\n setBulkActionsOpened(false)\n axios.post(\"customAction\", {\n viewIndex,\n actionIndex,\n selectedRecordIds\n }).then(function (response) {\n if (response.data.message) {\n alert(response.data.message)\n }\n refreshData()\n }).catch(function () {\n window.swal({\n title: \"Erreur\",\n text: \"L'action a échoué\",\n dangerMode: true\n })\n });\n }\n\n return !config.hideMultiselect && (view.canDelete !== false || view.customActions?.length > 0) ? (\n <OutsideClickHandler onOutsideClick={() => setBulkActionsOpened(false)}>\n <div class=\"actionButtonsContainer\">\n <div class=\"button openBulkActionsButton\" onClick={() => setBulkActionsOpened(!bulkActionsOpened)}>Actions</div>\n {bulkActionsOpened ? <div class=\"bulkActions\">\n {view.customActions?.map((action, index) => (\n <div class=\"action recordAction\" onClick={bulkCustomAction(index)}>{action.label}</div>\n ))}\n {view.canDelete !== false ? <div class=\"action recordAction red\" onClick={bulkDelete}>Supprimer</div> : null}\n </div> : null}\n </div>\n </OutsideClickHandler>\n ) : null\n}","import evalExpression from \"./evalExpression\"\nimport {\n Link\n} from \"react-router-dom\";\n\nexport default (column, record, config, onTable) => {\n const foreignViewIndex = column.dataType === 'foreign' ? config.views.findIndex(x => x.tableName === column.table) : -1\n if (column.dataType === 'foreign' && foreignViewIndex > -1) {\n if (column.formatValue) {\n return <Link to={`/record/${foreignViewIndex}/${record[column.name]}`} dangerouslySetInnerHTML={{ __html: record[`__formatValue-${column.__id__}__`] }} />\n } else if (column.formattedValue) {\n return <Link to={`/record/${foreignViewIndex}/${record[column.name]}`}>{evalExpression(column.formattedValue, record)}</Link>\n } else {\n return <Link to={`/record/${foreignViewIndex}/${record[column.name]}`}>{record[column.name]}</Link>\n }\n } else if (column.showAsPicture) {\n const imageUrl = column.baseUrl + record[column.pathField];\n return record[column.pathField] ? (\n <a href={imageUrl} target='_blank'>\n <img src={imageUrl} style={{ width: onTable ? 60 : 300, height: onTable ? 30 : 150, objectFit: \"contain\" }} />\n </a>\n ) : null\n } else if (column.formatValue) {\n return <div dangerouslySetInnerHTML={{ __html: record[`__formatValue-${column.__id__}__`] }} />\n } else if (column.formattedValue) {\n return <div>{evalExpression(column.formattedValue, record)}</div>\n } else if (column.action) {\n if (column.actionDisplayCondition) {\n let isDisplaying = evalExpression(column.actionDisplayCondition, record)\n if (!isDisplaying)\n return \"\";\n }\n var data = JSON.parse(JSON.stringify(column.data));\n for (var key in data) {\n data[key] = evalExpression(data[key], record)\n }\n return (\n <div class='actionButton' data-route='\" + column.route + \"' data-data='\" + JSON.stringify(data) + \"'>{column.action}</div>\n )\n } else if (column.dataType === \"tinyint\") {\n return <div>{record[column.name] === 1 ? \"Oui\" : \"Non\"}</div>\n } else if (column.dataType === \"color\") {\n return <div class='colorPreview' style={{ backgroundColor: record[column.name] }}></div>\n } else if (column.dataType === \"richText\") {\n return <div dangerouslySetInnerHTML={{ __html: record[column.htmlField] }} />\n } else if (column.dataType === \"select\" && column.options && column.options.constructor == Object) {\n return <div>{column.options[record[column.name]]}</div>\n } else {\n return <div>{record[column.name]}</div>\n }\n}","import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport {\n Link,\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport DownloadButton from \"../components/DownloadButton\"\nimport AddFilterButton from \"../components/AddFilterButton\"\nimport BulkActionsButton from \"../components/BulkActionsButton\"\nimport getFormattedValue from \"../utils/getFormattedValue\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nlet _viewIndex = null;\nlet _page = 1;\nlet _currentFilters = [];\nlet _orderBy = null;\nlet _isDesc = null;\nlet _query = \"\";\n\nexport default () => {\n const { viewIndex, subviewIndex } = useParams();\n const history = useHistory();\n const [page, setPage] = useState(_page)\n const [currentFilters, setCurrentFilters] = useState(_currentFilters)\n const [orderBy, setOrderBy] = useState(_orderBy);\n const [isDesc, setIsDesc] = useState(_isDesc);\n const [query, setQuery] = useState(_query);\n const [selectedRecordIds, setSelectedRecordIds] = useState([])\n const [data, setData] = useState(null)\n const config = useContext(ConfigContext);\n const view = config.views[viewIndex]\n\n const filteredColumns = view.columns?.filter(x => !x.hideInTable && !x.hidden)\n\n useEffect(() => {\n if (viewIndex !== _viewIndex) {\n setPage(1)\n setQuery(null)\n setOrderBy(null)\n setIsDesc(null)\n setQuery(\"\")\n if (selectedRecordIds.length > 0) {\n setSelectedRecordIds([])\n }\n if (currentFilters.length > 0) {\n setCurrentFilters([])\n }\n }\n }, [viewIndex])\n\n\n useEffect(() => {\n refreshData()\n _viewIndex = viewIndex;\n _page = page;\n _query = query;\n _currentFilters = currentFilters;\n _orderBy = orderBy;\n _isDesc = isDesc;\n }, [viewIndex, subviewIndex, page, query, currentFilters, orderBy, isDesc])\n\n function refreshData() {\n setData(null)\n axios.post(\"/records\", {\n viewIndex,\n subviewIndex,\n page,\n filters: currentFilters.map(function (x) {\n return x.query\n }),\n orderBy,\n isDesc,\n query\n }).then((response) => {\n if (response.data?.records?.length === 0 && page > 1) {\n setPage(1)\n }\n setData(response.data)\n })\n }\n\n return (\n <div class=\"view\">\n <div class=\"scrollable\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n <div class=\"viewHeaderActions\">\n <div class=\"searchBarContainer\">\n <input type=\"text\" placeholder=\"Rechercher\" class=\"searchBar\" value={query} onChange={(e) => setQuery(e.target.value)} />\n <div class=\"searchBarIcon\">\n <i class=\"fa fa-search\"></i>\n </div>\n </div>\n <BulkActionsButton\n viewIndex={viewIndex}\n selectedRecordIds={selectedRecordIds}\n refreshData={refreshData}\n />\n <AddFilterButton\n view={view}\n refreshData={refreshData}\n onAddFilter={(filter) => setCurrentFilters([...currentFilters, filter])}\n />\n {view.canExport !== false ? (\n <DownloadButton\n view={view}\n viewIndex={viewIndex}\n subviewIndex={subviewIndex}\n currentFilters={currentFilters}\n orderBy={orderBy}\n isDesc={isDesc}\n query={query}\n />\n ) : null}\n {view.canCreate ? (\n <Link to={`/createRecord/${viewIndex}`}>\n <div class=\"plusButton\"><i class=\"fa fa-plus\"></i></div>\n </Link>\n ) : null}\n </div>\n </div>\n {currentFilters.length > 0 ? (\n <div class=\"filtersContainer\">\n {currentFilters.map((filter, index) => (\n <div class='filterItem' key={index}>\n <div class='filterItemLabel'>{filter.label}</div>\n <div class=\"filterRemove\" onClick={() => {\n setCurrentFilters(currentFilters.filter(x => x.query !== filter.query))\n }}><i class='fa fa-times'></i></div>\n </div>\n ))}\n </div>\n ) : null}\n <table class=\"table\">\n <thead>\n <tr>\n {config.hideMultiselect ? null : <th></th>}\n {filteredColumns.map((column, index) => {\n const sortName = column.dataType === \"foreign\" || column.dataType === \"datalist\" ? column.formattedValue : column.sortName || column.name\n return (\n <th\n class={sortName ? \"sortable\" : \"\"}\n key={index}\n onClick={() => {\n if (sortName) {\n setOrderBy(sortName)\n setIsDesc(orderBy === sortName ? !isDesc : false)\n }\n }}\n >\n {column.label}\n {sortName ? (\n <div class='columnSortIcon'>\n <i class={`fas fa-sort${isDesc === true && sortName === orderBy ? \"-down\" : (isDesc === false && sortName === orderBy ? \"-up\" : \"\")}`}></i>\n </div>\n ) : null}\n </th>\n )\n })}\n\n </tr>\n </thead>\n <tbody>\n {!data ? Array.from({ length: 10 }).map((_, index) => (\n <tr class='record' key={index}>{\n Array.from({\n length: filteredColumns.length + (config.hideMultiselect ? 0 : 1)\n }).map((_, cellIndex) => (\n <td key={cellIndex}> </td>\n ))\n }</tr>\n )) : null}\n {data?.records?.map((record) => {\n const recordId = record[view.primaryId]\n return (\n <tr\n class={`record ${view.notClickable ? \"nonClickableRow\" : \"\"}`}\n onClick={(event) => {\n if (event.target.tagName == \"A\") {\n event.stopPropagation();\n return;\n }\n if (!view.notClickable) {\n if (view.clickToEdit) {\n history.push(`/editRecord/${viewIndex}/${recordId}`)\n } else {\n history.push(`/record/${viewIndex}/${recordId}`)\n }\n }\n }}\n key={recordId}\n >\n {config.hideMultiselect ? null : <td class='checkboxParent' onClick={(e) => {\n setSelectedRecordIds(selectedRecordIds.includes(recordId) ? selectedRecordIds.filter(x => x !== recordId) : [...selectedRecordIds, recordId])\n e.stopPropagation()\n }}><div class={`checkbox ${selectedRecordIds.includes(recordId) ? \"checked\" : \"\"}`}></div></td>}\n {filteredColumns.map((column, index) => (\n <td key={index}>{getFormattedValue(column, record, config, true)}</td>\n ))}\n </tr>\n )\n })}\n </tbody>\n\n </table>\n </div>\n <div class=\"tableFooter\">\n <div class=\"tableCounter\">{data?.count || \"-\"} {view.label}</div>\n <div class=\"paginator\">\n <div class=\"paginatorLeft\" onClick={() => setPage(Math.max(1, page - 1))}><i class=\"fas fa-caret-left\"></i></div>\n <div class=\"paginatorNumber\">{page} / {data && data.count ? Math.ceil(data.count / (view.limit || 10)) : \"-\"}</div>\n <div class=\"paginatorRight\" onClick={() => setPage(Math.min(page + 1, Math.ceil(data.count / (view.limit || 10))))}><i class=\"fas fa-caret-right\"></i></div>\n </div>\n </div>\n </div>\n )\n}\n","\nimport { useContext, useState } from \"react\"\nimport {\n useHistory\n} from \"react-router-dom\";\nimport axios from \"axios\";\nimport OutsideClickHandler from \"./OutsideClickHandler\"\nimport { ConfigContext } from \"../contexts/ConfigContext\";\n\nexport default ({ viewIndex, record, refreshData }) => {\n const config = useContext(ConfigContext)\n const view = config.views[viewIndex]\n const [actionsOpened, setActionsOpened] = useState(false)\n const history = useHistory()\n\n const deleteRecord = async () => {\n const willDelete = await window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n })\n if (willDelete) {\n if (view.deleteCallback) {\n axios.post(view.deleteCallback, {\n id: record[view.primaryId],\n data: record\n })\n }\n try {\n await axios.post(\"/deleteRecord\", {\n viewIndex,\n primaryValue: record[view.primaryId]\n })\n history.push(`/records/${viewIndex}`)\n } catch (e) {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n }\n }\n }\n\n const customAction = (actionIndex) => () => {\n setActionsOpened(false)\n axios.post(\"customAction\", {\n viewIndex,\n actionIndex,\n selectedRecordIds: [record[view.primaryId]]\n }).then(function (response) {\n if (response.data.message) {\n alert(response.data.message)\n }\n refreshData()\n }).catch(function () {\n window.swal({\n title: \"Erreur\",\n text: \"L'action a échoué\",\n dangerMode: true\n })\n });\n }\n\n return (\n (view.canDuplicate === true) || (view.canDelete !== false) || (view.customActions?.length > 0) ? (\n <OutsideClickHandler onOutsideClick={() => setActionsOpened(false)}>\n <div class=\"actionButtonsContainer\">\n <div class=\"button openActionsButton\" onClick={() => setActionsOpened(!actionsOpened)}>Actions</div>\n {actionsOpened ? (\n <div class=\"actions\">\n {view.customActions?.map((action, index) => (\n <div class=\"action recordAction\" onClick={customAction(index)}>{action.label}</div>\n ))}\n {view.canDuplicate === true ? <div class=\"action recordAction duplicateRecord\">Dupliquer</div> : null}\n {view.canDelete !== false ? <div class=\"action recordAction red\" onClick={deleteRecord}>Supprimer</div> : null}\n </div>\n ) : null}\n </div>\n </OutsideClickHandler>\n ) : null\n\n )\n}","\nimport {\n useHistory\n} from \"react-router-dom\";\n\nexport default () => {\n const history = useHistory();\n\n return (\n <div class=\"button backButton\" onClick={() => history.goBack()}>Retour</div>\n );\n}","import axios from \"axios\";\nimport evalExpression from \"../utils/evalExpression\";\n\nexport default ({ record, panel }) => {\n const downloadTable = () => {\n axios.get(\"/customQuery\", {\n params: {\n query: panel.query || evalExpression(panel.formattedQuery, record),\n primaryValue: 2630\n }\n }).then((response) => {\n const results = response.data;\n const lines = [];\n lines.push(Object.keys(results[0]).filter(key => key !== panel.primaryId).join(\",\"))\n for (let result of results) {\n lines.push(\n Object.keys(result).filter(key => key !== panel.primaryId).map((key) =>\n (panel.formattedValues && (key in panel.formattedValues)) ? evalExpression(panel.formattedValues[key], result) : result[key]\n ).join(\",\")\n )\n }\n\n window.download(lines.join(\"\\r\\n\"), panel.label + \".csv\");\n })\n }\n\n return (<div class='downloadPanelButton' onClick={downloadTable}><i class='fa fa-cloud-download'></i></div>)\n}","import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport evalExpression from \"../../utils/evalExpression\";\nimport {\n useHistory,\n useParams\n} from \"react-router-dom\";\nimport { ConfigContext } from \"../../contexts/ConfigContext\";\n\nexport default ({ panel, record, view, index }) => {\n const [results, setResults] = useState(null);\n const history = useHistory();\n const { viewIndex } = useParams();\n const config = useContext(ConfigContext)\n\n useEffect(() => {\n refreshData()\n }, [record])\n\n const refreshData = () => {\n axios.get(\"/customQuery\", {\n params: {\n viewIndex,\n panelIndex: index,\n query: panel.query || evalExpression(panel.formattedQuery, record),\n primaryValue: record[view.primaryId]\n }\n }).then((response) => {\n setResults(response.data)\n })\n }\n\n const deleteRow = async (row) => {\n const willDelete = await window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n })\n if (willDelete) {\n try {\n await axios.post(\"/deleteRecordFromPanel\", {\n viewIndex,\n panelId: panel.__id__,\n primaryValue: row[panel.primaryId]\n })\n refreshData();\n } catch (e) {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n }\n }\n }\n\n return (\n <div>\n {results?.length > 0 ? (\n <table class={`table panelTable ${panel.folded ? \"folded\" : \"\"}`}>\n <thead>\n <tr>\n {Object.keys(results[0]).filter(key => key !== panel.primaryId).map((key) =>\n <th key={key}>{key}</th>\n )}\n {panel.canDelete ? <th></th> : null}\n </tr>\n </thead>\n <tbody>\n {results.map((result) => (\n <tr\n class={`record ${panel.canShow ? \"\" : \"nonClickableRow\"}`}\n onClick={() => {\n const viewIndex = config.views.findIndex(x => x.type === \"table\" && x.tableName === panel.tableName)\n if (panel.canShow) {\n history.push(`/record/${viewIndex}/${result[panel.primaryId]}`)\n }\n }}\n >\n {Object.keys(result).filter(key => key !== panel.primaryId).map((key) =>\n <td key={key}>\n <div\n dangerouslySetInnerHTML={{\n __html:\n (panel.formattedValues && (key in panel.formattedValues)) ?\n evalExpression(panel.formattedValues[key], result) :\n result[key]\n }}\n />\n </td>\n )}\n {panel.canDelete ? (\n <td class='deleteIconCell'>\n <div\n class='deleteIcon'\n onClick={(e) => {deleteRow(result); e.stopPropagation()}}\n >\n <i class='fa fa-minus'></i>\n </div>\n </td>\n ) : null}\n </tr>\n ))}\n </tbody>\n </table>\n ) : results?.length === 0 ? (\n <div class={`noData panelTable ${panel.folded ? \"folded\" : \"\"}`}>Aucune donnée</div>\n ) : null}\n </div>\n )\n}\n","import { useState, useEffect } from \"react\"\nimport {\n useHistory,\n useParams\n} from \"react-router-dom\";\nimport axios from \"axios\";\n\nexport default ({ panel, record, view }) => {\n const [results, setResults] = useState(null);\n const history = useHistory();\n const { viewIndex } = useParams();\n\n useEffect(() => {\n refreshData()\n }, [panel.query, record])\n\n const refreshData = () => {\n axios.get(\"/customQuery\", {\n params: {\n query: panel.query,\n primaryValue: record[view.primaryId]\n }\n }).then((response) => {\n setResults(response.data)\n })\n }\n const deleteRow = async (row) => {\n const willDelete = await window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n })\n if (willDelete) {\n try {\n await axios.post(\"/deleteRecordFromPanel\", {\n viewIndex,\n panelId: panel.__id__,\n primaryValue: row[panel.primaryId]\n })\n refreshData();\n } catch (e) {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n }\n }\n }\n\n const pathField = panel.pathField || \"Path\"\n\n return (\n <div>\n {results?.length > 0 ? (\n <div class=\"gallery\">\n {results.map((result) => (\n <div class='galleryPicture' key={result[pathField]}>\n {panel.canDelete ? <div class='deleteIcon' onClick={(e) => {deleteRow(result); e.stopPropagation()}}><i class='fa fa-minus'></i></div> : null}\n <a href={panel.baseUrl + result[pathField]} target='_blank'>\n <img\n src={panel.baseUrl + result[pathField]}\n style={{ width: \"100%\", height: 150, objectFit: panel.objectFit || \"cover\" }}\n onerror='this.style.height = 0'\n />\n </a>\n </div>\n ))}\n </div>\n ) : results?.length === 0 ? (\n <div class={`noData panelTable ${panel.folded ? \"folded\" : \"\"}`}>Aucune donnée</div>\n ) : null}\n </div>\n )\n}\n","import { useEffect, useRef } from \"react\"\nimport axios from \"axios\";\n\nexport default ({ panel, record, view }) => {\n const mapRef = useRef();\n\n useEffect(() => {\n if (window.google && record) {\n if (panel.query) {\n axios.get(\"/customQuery\", {\n query: panel.query,\n primaryValue: record[view.primaryId]\n }).then((response) => {\n const result = response?.data?.[0]\n if (result) {\n initMap(result.Lat, result.Lng, panel.zoom || 12)\n }\n })\n } else {\n initMap(record[panel.latitudeField], record[panel.longitudeField], panel.zoom || 12)\n }\n }\n }, [record, window.google])\n\n const initMap = (lat, lng, zoom) => {\n const map = new window.google.maps.Map(mapRef.current, {\n zoom,\n center: {\n lat,\n lng\n }\n });\n new window.google.maps.Marker({\n position: { lat, lng },\n map\n });\n }\n\n return (\n <div class='map' ref={mapRef}></div>\n )\n}","import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport {\n useParams,\n Link,\n} from \"react-router-dom\";\nimport getFormattedValue from \"../utils/getFormattedValue\"\nimport ActionsButton from \"../components/ActionsButton\"\nimport BackButton from \"../components/BackButton\"\nimport DownloadTablePanelButton from \"../components/DownloadTablePanelButton\"\nimport TablePanel from \"../components/panels/TablePanel\"\nimport GalleryPanel from \"../components/panels/GalleryPanel\"\nimport MapPanel from \"../components/panels/MapPanel\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex, recordId } = useParams();\n const [record, setRecord] = useState(null);\n\n const view = config.views[viewIndex]\n const filteredColumns = view.columns?.filter(x => !x.hidden)\n\n useEffect(() => {\n refreshData()\n }, [viewIndex, recordId]);\n\n const refreshData = () => {\n axios.get(\"/record\", {\n params: {\n viewIndex,\n recordId\n }\n }).then((response) => {\n setRecord(response.data);\n });\n }\n\n return (\n <div class=\"view backgroundBlue\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n <div class=\"viewHeaderActions\">\n <BackButton />\n <ActionsButton viewIndex={viewIndex} record={record} refreshData={refreshData} />\n {view.canEdit !== false ? (\n <Link to={`/editRecord/${viewIndex}/${recordId}`}>\n <div class=\"button greenButton recordAction\">Modifier</div>\n </Link>\n ) : null}\n </div>\n </div>\n <div class=\"paddedView\">\n <div class=\"showContainer\">\n <div class='panel detailsPanel'>\n <div class='panelTitle'>Détails</div>\n {record ?\n filteredColumns.map((column, index) => (\n <div class='showRecordField' key={index}>\n <div class='formLabel'>{column.label}</div>\n <div class='formValue'>{getFormattedValue(column, record, config, false) || \"-\"}</div>\n </div>\n ))\n : null}\n </div>\n {view.recordViewPanels && record ? (\n <div class='recordViewPanels'>\n {view.recordViewPanels.map((panel, index) => (\n <div class='panel' key={index}>\n <div class='panelHeader'>\n <div class='viewTitle'>{panel.label}</div>\n <div class='viewHeaderActions'>\n {panel.folded ? <div class='button smallButton unfoldPanel'>Afficher</div> : null}\n {panel.canCreate ? <Link to={`/createRecord/${viewIndex}/${index}/${recordId}`}><div class='plusButton'><i class='fa fa-plus'></i></div></Link> : null}\n {panel.canDownload && panel.type === \"table\" ? <DownloadTablePanelButton record={record} panel={panel} /> : null}\n </div>\n </div>\n {panel.type === \"table\" ? <TablePanel record={record} panel={panel} view={view} index={index} /> : null}\n {panel.type === \"gallery\" ? <GalleryPanel record={record} panel={panel} view={view} index={index} /> : null}\n {panel.type === \"map\" ? <MapPanel record={record} panel={panel} view={view} index={index} /> : null}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n","export default __webpack_public_path__ + \"static/media/logo.e407b9ca.png\";","import axios from \"axios\";\nimport { useState } from \"react\";\nimport logo from \"../images/logo.png\"\n\nexport default ({ setIsAuthenticated }) => {\n const [username, setUsername] = useState(\"\")\n const [password, setPassword] = useState(\"\")\n\n const login = async () => {\n const response = await axios.post(\"/login\", {\n username,\n password\n });\n if (response.data.success) {\n setIsAuthenticated(true)\n }\n }\n\n return (\n <div class=\"loginPanelBackground\">\n <div class=\"loginPanel\">\n <div class=\"loginLogoContainer\">\n <img class=\"loginLogo\" src={logo} />\n </div>\n <label>Nom d'utilisateur</label>\n <input type=\"text\" name=\"username\" onChange={(e) => setUsername(e.target.value)} />\n <label>Mot de passe</label>\n <input type=\"password\" name=\"password\" onChange={(e) => setPassword(e.target.value)} />\n <button class=\"button greenButton fullWidth\" onClick={login}>Se connecter</button>\n </div>\n </div>\n )\n}","\n\nimport { useContext } from \"react\";\nimport {\n useParams\n} from \"react-router-dom\";\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex } = useParams();\n const view = config.views[viewIndex];\n\n return (\n <div class=\"view\">\n <iframe src={view.src}></iframe>\n </div>\n )\n}","import React, { useMemo, Suspense } from 'react';\nimport axios from \"axios\";\nimport styled from 'styled-components'\n\nconst packages = {\n \"react\": () => ({ exports: React }),\n \"axios\": () => ({ exports: axios }),\n \"styled-components\": () => ({ exports: styled }),\n}\n\nfunction getParsedModule(code, moduleName, packages) {\n const _this = Object.create(packages);\n function require(name) {\n if (!(name in _this) && moduleName === name) {\n let module = { exports: {} };\n _this[name] = () => module;\n let wrapper = Function(\"require, exports, module\", code);\n wrapper(require, module.exports, module);\n } else if (!(name in _this)) {\n throw `Module '${name}' not found`\n }\n return (_this[name]()).exports;\n }\n\n return require(moduleName);\n}\n\n\nasync function fetchComponent(componentPath) {\n try {\n const response = await axios.get(`/customComponent`, {\n params: {\n componentPath\n }\n })\n const text = response.data\n return { default: getParsedModule(text, \"__moduleName__\", packages) };\n } catch (error) {\n console.error(error)\n return { default() { return <div>Erreur de rendu</div> } }\n }\n\n}\n\nconst CustomComponent = ({ componentPath, children, ...props }) => {\n const Component = useMemo(() => {\n return React.lazy(async () => fetchComponent(componentPath))\n }, [componentPath]);\n\n return (\n <Suspense fallback={null}>\n <Component {...props}>{children}</Component>\n </Suspense>\n )\n};\n\nexport default React.memo(CustomComponent);\n","import { useContext } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport CustomComponent from \"../components/CustomComponent\";\nimport { ConfigContext } from \"../contexts/ConfigContext\";\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex } = useParams();\n\n const componentPath = config.views[viewIndex].componentPath\n\n return (\n <CustomComponent componentPath={componentPath} />\n )\n}","import {\n BrowserRouter as Router,\n Switch,\n Route\n} from \"react-router-dom\";\nimport { useEffect, useState } from \"react\";\nimport './App.css';\nimport Sidebar from './components/Sidebar'\nimport RedirectToFirstView from './components/RedirectToFirstView'\nimport CreateRecord from './pages/CreateRecord'\nimport EditRecord from './pages/EditRecord'\nimport Records from './pages/Records'\nimport Record from './pages/Record'\nimport Login from './pages/Login'\nimport Iframe from './pages/Iframe'\nimport CustomView from './pages/CustomView'\nimport { ConfigProvider } from './contexts/ConfigContext'\nimport axios from \"axios\";\n\naxios.defaults.withCredentials = true;\naxios.defaults.baseURL = process.env.NODE_ENV === \"development\" ? 'http://localhost/admin/api' : '/_HOMEPAGE_/api';\n\nfunction App() {\n const [isAuthenticated, setIsAuthenticated] = useState(null);\n\n useEffect(() => {\n axios.get(\"/isAuthenticated\").then((response) => {\n setIsAuthenticated(response.data.isAuthenticated)\n })\n }, []);\n\n return (\n <div id=\"body\">\n {isAuthenticated === true ? (\n <ConfigProvider>\n <Router basename={process.env.NODE_ENV === \"development\" ? '/admin' : \"/_HOMEPAGE_\"}>\n <Sidebar />\n <Switch>\n <Route path=\"/records/:viewIndex/:subviewIndex?\">\n <Records />\n </Route>\n <Route path=\"/record/:viewIndex/:recordId\">\n <Record />\n </Route>\n <Route path=\"/editRecord/:viewIndex/:recordId\">\n <EditRecord />\n </Route>\n <Route path=\"/createRecord/:viewIndex/:panelIndex?/:recordId?\">\n <CreateRecord />\n </Route>\n <Route path=\"/iframe/:viewIndex\">\n <Iframe />\n </Route>\n <Route path=\"/customView/:viewIndex\">\n <CustomView />\n </Route>\n <Route path=\"/\">\n <RedirectToFirstView />\n </Route>\n </Switch>\n </Router>\n </ConfigProvider>\n ) : isAuthenticated === false ? (\n <Login setIsAuthenticated={setIsAuthenticated} />\n ) : (\n <div class=\"appLoading\">\n <i class='fa fa-circle-notch fa-spin'></i>\n </div>\n )}\n </div>\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{useState,useEffect,useContext}from\"react\";import axios from\"axios\";import{Link,useParams,useHistory}from\"react-router-dom\";import DownloadButton from\"../components/DownloadButton\";import AddFilterButton from\"../components/AddFilterButton\";import BulkActionsButton from\"../components/BulkActionsButton\";import getFormattedValue from\"../utils/getFormattedValue\";import{ConfigContext}from'../contexts/ConfigContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var _viewIndex=null;var _page=1;var _currentFilters=[];var _orderBy=null;var _isDesc=null;var _query=\"\";export default(function(){var _view$columns,_data$records;var _useParams=useParams(),viewIndex=_useParams.viewIndex,subviewIndex=_useParams.subviewIndex;var history=useHistory();var _useState=useState(_page),_useState2=_slicedToArray(_useState,2),page=_useState2[0],setPage=_useState2[1];var _useState3=useState(_currentFilters),_useState4=_slicedToArray(_useState3,2),currentFilters=_useState4[0],setCurrentFilters=_useState4[1];var _useState5=useState(_orderBy),_useState6=_slicedToArray(_useState5,2),orderBy=_useState6[0],setOrderBy=_useState6[1];var _useState7=useState(_isDesc),_useState8=_slicedToArray(_useState7,2),isDesc=_useState8[0],setIsDesc=_useState8[1];var _useState9=useState(_query),_useState10=_slicedToArray(_useState9,2),query=_useState10[0],setQuery=_useState10[1];var _useState11=useState([]),_useState12=_slicedToArray(_useState11,2),selectedRecordIds=_useState12[0],setSelectedRecordIds=_useState12[1];var _useState13=useState(null),_useState14=_slicedToArray(_useState13,2),data=_useState14[0],setData=_useState14[1];var config=useContext(ConfigContext);var view=config.views[viewIndex];var filteredColumns=(_view$columns=view.columns)===null||_view$columns===void 0?void 0:_view$columns.filter(function(x){return!x.hideInTable&&!x.hidden;});useEffect(function(){if(viewIndex!==_viewIndex){setPage(1);setQuery(null);setOrderBy(null);setIsDesc(null);setQuery(\"\");if(selectedRecordIds.length>0){setSelectedRecordIds([]);}if(currentFilters.length>0){setCurrentFilters([]);}}},[viewIndex]);useEffect(function(){refreshData();_viewIndex=viewIndex;_page=page;_query=query;_currentFilters=currentFilters;_orderBy=orderBy;_isDesc=isDesc;},[viewIndex,subviewIndex,page,query,currentFilters,orderBy,isDesc]);function refreshData(){setData(null);axios.post(\"/records\",{viewIndex:viewIndex,subviewIndex:subviewIndex,page:page,filters:currentFilters.map(function(x){return x.query;}),orderBy:orderBy,isDesc:isDesc,query:query}).then(function(response){var _response$data,_response$data$record;if(((_response$data=response.data)===null||_response$data===void 0?void 0:(_response$data$record=_response$data.records)===null||_response$data$record===void 0?void 0:_response$data$record.length)===0&&page>1){setPage(1);}setData(response.data);});}return/*#__PURE__*/_jsxs(\"div\",{class:\"view\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"scrollable\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeader\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"viewTitle\",children:view.label}),/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeaderActions\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"searchBarContainer\",children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Rechercher\",class:\"searchBar\",value:query,onChange:function onChange(e){return setQuery(e.target.value);}}),/*#__PURE__*/_jsx(\"div\",{class:\"searchBarIcon\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-search\"})})]}),/*#__PURE__*/_jsx(BulkActionsButton,{viewIndex:viewIndex,selectedRecordIds:selectedRecordIds,refreshData:refreshData}),/*#__PURE__*/_jsx(AddFilterButton,{view:view,refreshData:refreshData,onAddFilter:function onAddFilter(filter){return setCurrentFilters([].concat(_toConsumableArray(currentFilters),[filter]));}}),view.canExport!==false?/*#__PURE__*/_jsx(DownloadButton,{view:view,viewIndex:viewIndex,subviewIndex:subviewIndex,currentFilters:currentFilters,orderBy:orderBy,isDesc:isDesc,query:query}):null,view.canCreate?/*#__PURE__*/_jsx(Link,{to:\"/createRecord/\".concat(viewIndex),children:/*#__PURE__*/_jsx(\"div\",{class:\"plusButton\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-plus\"})})}):null]})]}),currentFilters.length>0?/*#__PURE__*/_jsx(\"div\",{class:\"filtersContainer\",children:currentFilters.map(function(filter,index){return/*#__PURE__*/_jsxs(\"div\",{class:\"filterItem\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterItemLabel\",children:filter.label}),/*#__PURE__*/_jsx(\"div\",{class:\"filterRemove\",onClick:function onClick(){setCurrentFilters(currentFilters.filter(function(x){return x.query!==filter.query;}));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-times\"})})]},index);})}):null,/*#__PURE__*/_jsxs(\"table\",{class:\"table\",children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsxs(\"tr\",{children:[config.hideMultiselect?null:/*#__PURE__*/_jsx(\"th\",{}),filteredColumns.map(function(column,index){var sortName=column.dataType===\"foreign\"||column.dataType===\"datalist\"?column.formattedValue:column.sortName||column.name;return/*#__PURE__*/_jsxs(\"th\",{class:sortName?\"sortable\":\"\",onClick:function onClick(){if(sortName){setOrderBy(sortName);setIsDesc(orderBy===sortName?!isDesc:false);}},children:[column.label,sortName?/*#__PURE__*/_jsx(\"div\",{class:\"columnSortIcon\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-sort\".concat(isDesc===true&&sortName===orderBy?\"-down\":isDesc===false&&sortName===orderBy?\"-up\":\"\")})}):null]},index);})]})}),/*#__PURE__*/_jsxs(\"tbody\",{children:[!data?Array.from({length:10}).map(function(_,index){return/*#__PURE__*/_jsx(\"tr\",{class:\"record\",children:Array.from({length:filteredColumns.length+(config.hideMultiselect?0:1)}).map(function(_,cellIndex){return/*#__PURE__*/_jsx(\"td\",{children:\" \"},cellIndex);})},index);}):null,data===null||data===void 0?void 0:(_data$records=data.records)===null||_data$records===void 0?void 0:_data$records.map(function(record){var recordId=record[view.primaryId];return/*#__PURE__*/_jsxs(\"tr\",{class:\"record \".concat(view.notClickable?\"nonClickableRow\":\"\"),onClick:function onClick(event){if(event.target.tagName==\"A\"){event.stopPropagation();return;}if(!view.notClickable){if(view.clickToEdit){history.push(\"/editRecord/\".concat(viewIndex,\"/\").concat(recordId));}else{history.push(\"/record/\".concat(viewIndex,\"/\").concat(recordId));}}},children:[config.hideMultiselect?null:/*#__PURE__*/_jsx(\"td\",{class:\"checkboxParent\",onClick:function onClick(e){setSelectedRecordIds(selectedRecordIds.includes(recordId)?selectedRecordIds.filter(function(x){return x!==recordId;}):[].concat(_toConsumableArray(selectedRecordIds),[recordId]));e.stopPropagation();},children:/*#__PURE__*/_jsx(\"div\",{class:\"checkbox \".concat(selectedRecordIds.includes(recordId)?\"checked\":\"\")})}),filteredColumns.map(function(column,index){return/*#__PURE__*/_jsx(\"td\",{children:getFormattedValue(column,record,config,true)},index);})]},recordId);})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{class:\"tableFooter\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"tableCounter\",children:[(data===null||data===void 0?void 0:data.count)||\"-\",\" \",view.label]}),/*#__PURE__*/_jsxs(\"div\",{class:\"paginator\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"paginatorLeft\",onClick:function onClick(){return setPage(Math.max(1,page-1));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-caret-left\"})}),/*#__PURE__*/_jsxs(\"div\",{class:\"paginatorNumber\",children:[page,\" / \",data&&data.count?Math.ceil(data.count/(view.limit||10)):\"-\"]}),/*#__PURE__*/_jsx(\"div\",{class:\"paginatorRight\",onClick:function onClick(){return setPage(Math.min(page+1,Math.ceil(data.count/(view.limit||10))));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-caret-right\"})})]})]})]});});","map":{"version":3,"names":["useState","useEffect","useContext","axios","Link","useParams","useHistory","DownloadButton","AddFilterButton","BulkActionsButton","getFormattedValue","ConfigContext","jsx","_jsx","jsxs","_jsxs","_viewIndex","_page","_currentFilters","_orderBy","_isDesc","_query","_view$columns","_data$records","_useParams","viewIndex","subviewIndex","history","_useState","_useState2","_slicedToArray","page","setPage","_useState3","_useState4","currentFilters","setCurrentFilters","_useState5","_useState6","orderBy","setOrderBy","_useState7","_useState8","isDesc","setIsDesc","_useState9","_useState10","query","setQuery","_useState11","_useState12","selectedRecordIds","setSelectedRecordIds","_useState13","_useState14","data","setData","config","view","views","filteredColumns","columns","filter","x","hideInTable","hidden","length","refreshData","post","filters","map","then","response","_response$data","_response$data$record","records","class","children","label","type","placeholder","value","onChange","e","target","onAddFilter","concat","_toConsumableArray","canExport","canCreate","to","index","onClick","hideMultiselect","column","sortName","dataType","formattedValue","name","Array","from","_","cellIndex","record","recordId","primaryId","notClickable","event","tagName","stopPropagation","clickToEdit","push","includes","count","Math","max","ceil","limit","min"],"sources":["/home/runner/work/galadmin/galadmin/src/front/src/pages/Records.js"],"sourcesContent":["import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport {\n Link,\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport DownloadButton from \"../components/DownloadButton\"\nimport AddFilterButton from \"../components/AddFilterButton\"\nimport BulkActionsButton from \"../components/BulkActionsButton\"\nimport getFormattedValue from \"../utils/getFormattedValue\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nlet _viewIndex = null;\nlet _page = 1;\nlet _currentFilters = [];\nlet _orderBy = null;\nlet _isDesc = null;\nlet _query = \"\";\n\nexport default () => {\n const { viewIndex, subviewIndex } = useParams();\n const history = useHistory();\n const [page, setPage] = useState(_page)\n const [currentFilters, setCurrentFilters] = useState(_currentFilters)\n const [orderBy, setOrderBy] = useState(_orderBy);\n const [isDesc, setIsDesc] = useState(_isDesc);\n const [query, setQuery] = useState(_query);\n const [selectedRecordIds, setSelectedRecordIds] = useState([])\n const [data, setData] = useState(null)\n const config = useContext(ConfigContext);\n const view = config.views[viewIndex]\n\n const filteredColumns = view.columns?.filter(x => !x.hideInTable && !x.hidden)\n\n useEffect(() => {\n if (viewIndex !== _viewIndex) {\n setPage(1)\n setQuery(null)\n setOrderBy(null)\n setIsDesc(null)\n setQuery(\"\")\n if (selectedRecordIds.length > 0) {\n setSelectedRecordIds([])\n }\n if (currentFilters.length > 0) {\n setCurrentFilters([])\n }\n }\n }, [viewIndex])\n\n\n useEffect(() => {\n refreshData()\n _viewIndex = viewIndex;\n _page = page;\n _query = query;\n _currentFilters = currentFilters;\n _orderBy = orderBy;\n _isDesc = isDesc;\n }, [viewIndex, subviewIndex, page, query, currentFilters, orderBy, isDesc])\n\n function refreshData() {\n setData(null)\n axios.post(\"/records\", {\n viewIndex,\n subviewIndex,\n page,\n filters: currentFilters.map(function (x) {\n return x.query\n }),\n orderBy,\n isDesc,\n query\n }).then((response) => {\n if (response.data?.records?.length === 0 && page > 1) {\n setPage(1)\n }\n setData(response.data)\n })\n }\n\n return (\n <div class=\"view\">\n <div class=\"scrollable\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n <div class=\"viewHeaderActions\">\n <div class=\"searchBarContainer\">\n <input type=\"text\" placeholder=\"Rechercher\" class=\"searchBar\" value={query} onChange={(e) => setQuery(e.target.value)} />\n <div class=\"searchBarIcon\">\n <i class=\"fa fa-search\"></i>\n </div>\n </div>\n <BulkActionsButton\n viewIndex={viewIndex}\n selectedRecordIds={selectedRecordIds}\n refreshData={refreshData}\n />\n <AddFilterButton\n view={view}\n refreshData={refreshData}\n onAddFilter={(filter) => setCurrentFilters([...currentFilters, filter])}\n />\n {view.canExport !== false ? (\n <DownloadButton\n view={view}\n viewIndex={viewIndex}\n subviewIndex={subviewIndex}\n currentFilters={currentFilters}\n orderBy={orderBy}\n isDesc={isDesc}\n query={query}\n />\n ) : null}\n {view.canCreate ? (\n <Link to={`/createRecord/${viewIndex}`}>\n <div class=\"plusButton\"><i class=\"fa fa-plus\"></i></div>\n </Link>\n ) : null}\n </div>\n </div>\n {currentFilters.length > 0 ? (\n <div class=\"filtersContainer\">\n {currentFilters.map((filter, index) => (\n <div class='filterItem' key={index}>\n <div class='filterItemLabel'>{filter.label}</div>\n <div class=\"filterRemove\" onClick={() => {\n setCurrentFilters(currentFilters.filter(x => x.query !== filter.query))\n }}><i class='fa fa-times'></i></div>\n </div>\n ))}\n </div>\n ) : null}\n <table class=\"table\">\n <thead>\n <tr>\n {config.hideMultiselect ? null : <th></th>}\n {filteredColumns.map((column, index) => {\n const sortName = column.dataType === \"foreign\" || column.dataType === \"datalist\" ? column.formattedValue : column.sortName || column.name\n return (\n <th\n class={sortName ? \"sortable\" : \"\"}\n key={index}\n onClick={() => {\n if (sortName) {\n setOrderBy(sortName)\n setIsDesc(orderBy === sortName ? !isDesc : false)\n }\n }}\n >\n {column.label}\n {sortName ? (\n <div class='columnSortIcon'>\n <i class={`fas fa-sort${isDesc === true && sortName === orderBy ? \"-down\" : (isDesc === false && sortName === orderBy ? \"-up\" : \"\")}`}></i>\n </div>\n ) : null}\n </th>\n )\n })}\n\n </tr>\n </thead>\n <tbody>\n {!data ? Array.from({ length: 10 }).map((_, index) => (\n <tr class='record' key={index}>{\n Array.from({\n length: filteredColumns.length + (config.hideMultiselect ? 0 : 1)\n }).map((_, cellIndex) => (\n <td key={cellIndex}> </td>\n ))\n }</tr>\n )) : null}\n {data?.records?.map((record) => {\n const recordId = record[view.primaryId]\n return (\n <tr\n class={`record ${view.notClickable ? \"nonClickableRow\" : \"\"}`}\n onClick={(event) => {\n if (event.target.tagName == \"A\") {\n event.stopPropagation();\n return;\n }\n if (!view.notClickable) {\n if (view.clickToEdit) {\n history.push(`/editRecord/${viewIndex}/${recordId}`)\n } else {\n history.push(`/record/${viewIndex}/${recordId}`)\n }\n }\n }}\n key={recordId}\n >\n {config.hideMultiselect ? null : <td class='checkboxParent' onClick={(e) => {\n setSelectedRecordIds(selectedRecordIds.includes(recordId) ? selectedRecordIds.filter(x => x !== recordId) : [...selectedRecordIds, recordId])\n e.stopPropagation()\n }}><div class={`checkbox ${selectedRecordIds.includes(recordId) ? \"checked\" : \"\"}`}></div></td>}\n {filteredColumns.map((column, index) => (\n <td key={index}>{getFormattedValue(column, record, config, true)}</td>\n ))}\n </tr>\n )\n })}\n </tbody>\n\n </table>\n </div>\n <div class=\"tableFooter\">\n <div class=\"tableCounter\">{data?.count || \"-\"} {view.label}</div>\n <div class=\"paginator\">\n <div class=\"paginatorLeft\" onClick={() => setPage(Math.max(1, page - 1))}><i class=\"fas fa-caret-left\"></i></div>\n <div class=\"paginatorNumber\">{page} / {data && data.count ? Math.ceil(data.count / (view.limit || 10)) : \"-\"}</div>\n <div class=\"paginatorRight\" onClick={() => setPage(Math.min(page + 1, Math.ceil(data.count / (view.limit || 10))))}><i class=\"fas fa-caret-right\"></i></div>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _defineProperty from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty\";import _asyncToGenerator from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{useRef,useState}from\"react\";import axios from\"axios\";import{useParams}from\"react-router-dom\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(_ref){var column=_ref.column,onChange=_ref.onChange,initialData=_ref.initialData;var form=useRef(null);var _useParams=useParams(),viewIndex=_useParams.viewIndex;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isLoading=_useState2[0],setIsLoading=_useState2[1];var _useState3=useState(initialData===null||initialData===void 0?void 0:initialData[column.name]),_useState4=_slicedToArray(_useState3,2),path=_useState4[0],setPath=_useState4[1];var onInputChange=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var f,response,fileData;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:f=new FormData(form.current);setIsLoading(true);_context.next=4;return axios({method:\"post\",url:\"/uploadFile\",data:f,params:{viewIndex:viewIndex,columnId:column.__id__},headers:{\"Content-Type\":\"multipart/form-data\"}});case 4:response=_context.sent;fileData=_defineProperty({},column.name,response.data.path);if(column.aspectRatioField){fileData[column.aspectRatioField]=response.data.aspectRatio;}if(column.originalNameField){fileData[column.originalNameField]=response.data.originalFilename;}onChange(fileData);setIsLoading(false);setPath(response.data.path);// var showAsPicture = $(this).data(\"showAsPicture\") === 1\n//var baseUrl = $(\".fileInputContent[data-input-id='\" + inputId + \"']\").data(\"baseUrl\")\n//$(\".fileInputContent[data-input-id='\" + inputId + \"']\").removeClass(\"clickToSelectFile\").html(showAsPicture ? \"<div><img src='https://res.cloudinary.com/forest2/image/fetch/w_600,h_300,c_fit/\" + baseUrl + data.path + \"' /><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\" : \"<div class='nonImageFileOutput'><span>Fichier téléchargé</span><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\"\ncase 11:case\"end\":return _context.stop();}}},_callee);}));return function onInputChange(){return _ref2.apply(this,arguments);};}();var deleteFile=function deleteFile(e){setPath(null);var fileData=_defineProperty({},column.name,null);if(column.aspectRatioField){fileData[column.aspectRatioField]=null;}if(column.originalNameField){fileData[column.originalNameField]=null;}onChange(fileData);e.preventDefault();};var id=Math.random().toString();return/*#__PURE__*/_jsx(\"div\",{class:\"fileInputContainer\",children:/*#__PURE__*/_jsxs(\"label\",{htmlFor:id,children:[/*#__PURE__*/_jsx(\"form\",{ref:form,children:/*#__PURE__*/_jsx(\"input\",{type:\"file\",id:id,style:{display:\"none\"},name:\"file\",onChange:onInputChange})}),/*#__PURE__*/_jsxs(\"div\",{class:\"fileInputContent \".concat(!path?\"clickToSelectFile\":\"\"),children:[isLoading?/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-circle-notch fa-spin\"}):null,!isLoading&&!path?/*#__PURE__*/_jsx(\"div\",{children:\"Cliquez pour s\\xE9lectionner un fichier\"}):null,!isLoading&&path?/*#__PURE__*/_jsxs(\"div\",{class:\"nonImageFileOutput\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"Fichier t\\xE9l\\xE9charg\\xE9\"}),/*#__PURE__*/_jsx(\"div\",{class:\"deleteFile\",onClick:deleteFile,children:/*#__PURE__*/_jsx(\"i\",{class:\"fal fa-trash-alt\"})})]}):null]})]})});});","map":{"version":3,"names":["useRef","useState","axios","useParams","jsx","_jsx","jsxs","_jsxs","_ref","column","onChange","initialData","form","_useParams","viewIndex","_useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","name","_useState4","path","setPath","onInputChange","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","f","response","fileData","wrap","_callee$","_context","prev","next","FormData","current","method","url","data","params","columnId","__id__","headers","sent","_defineProperty","aspectRatioField","aspectRatio","originalNameField","originalFilename","stop","apply","arguments","deleteFile","e","preventDefault","id","Math","random","toString","class","children","htmlFor","ref","type","style","display","concat","onClick"],"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/inputs/FileInput.js"],"sourcesContent":["import { useRef, useState } from \"react\";\nimport axios from \"axios\";\nimport {\n useParams\n} from \"react-router-dom\";\n\nexport default ({ column, onChange, initialData }) => {\n const form = useRef(null);\n const { viewIndex } = useParams();\n const [isLoading, setIsLoading] = useState(false)\n const [path, setPath] = useState(initialData?.[column.name])\n\n const onInputChange = async () => {\n const f = new FormData(form.current);\n setIsLoading(true);\n\n const response = await axios({\n method: \"post\",\n url: `/uploadFile`,\n data: f,\n params: {\n viewIndex,\n columnId: column.__id__\n },\n headers: { \"Content-Type\": \"multipart/form-data\" }\n })\n const fileData = {\n [column.name]: response.data.path\n }\n if (column.aspectRatioField) {\n fileData[column.aspectRatioField] = response.data.aspectRatio\n }\n if (column.originalNameField) {\n fileData[column.originalNameField] = response.data.originalFilename\n }\n onChange(fileData)\n setIsLoading(false)\n setPath(response.data.path)\n // var showAsPicture = $(this).data(\"showAsPicture\") === 1\n //var baseUrl = $(\".fileInputContent[data-input-id='\" + inputId + \"']\").data(\"baseUrl\")\n //$(\".fileInputContent[data-input-id='\" + inputId + \"']\").removeClass(\"clickToSelectFile\").html(showAsPicture ? \"<div><img src='https://res.cloudinary.com/forest2/image/fetch/w_600,h_300,c_fit/\" + baseUrl + data.path + \"' /><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\" : \"<div class='nonImageFileOutput'><span>Fichier téléchargé</span><div class='deleteFile'><i class='fal fa-trash-alt'></i></div></div>\"\n }\n\n const deleteFile = (e) => {\n setPath(null);\n const fileData = {\n [column.name]: null\n }\n if (column.aspectRatioField) {\n fileData[column.aspectRatioField] = null\n }\n if (column.originalNameField) {\n fileData[column.originalNameField] = null\n }\n onChange(fileData)\n e.preventDefault()\n }\n\n var id = Math.random().toString()\n return (\n <div class='fileInputContainer'>\n <label htmlFor={id}>\n <form ref={form}>\n <input type='file' id={id} style={{ display: \"none\" }} name='file' onChange={onInputChange} />\n </form>\n <div class={`fileInputContent ${!path ? \"clickToSelectFile\" : \"\"}`}>\n {isLoading ?\n <i class='fa fa-circle-notch fa-spin'></i>\n : null\n }\n {!isLoading && !path ?\n <div>Cliquez pour sélectionner un fichier</div>\n : null}\n {!isLoading && path ? (\n <div class='nonImageFileOutput'>\n <span>Fichier téléchargé</span>\n <div class='deleteFile' onClick={deleteFile}><i class='fal fa-trash-alt'></i></div>\n </div>\n ) : null}\n </div>\n </label>\n </div>\n )\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}
|