@nocobase/plugin-ai 3.0.0-alpha.5 → 3.0.0-alpha.7

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.
Files changed (55) hide show
  1. package/dist/ai/docs/nocobase/ai/ai-quick-start.md +1 -1
  2. package/dist/ai/docs/nocobase/ai/claude-code/index.md +1 -1
  3. package/dist/ai/docs/nocobase/ai/codex/index.md +1 -1
  4. package/dist/ai/docs/nocobase/ai/hermes-agent/index.md +1 -1
  5. package/dist/ai/docs/nocobase/ai/index.md +6 -25
  6. package/dist/ai/docs/nocobase/ai/install-nocobase-app.md +1 -1
  7. package/dist/ai/docs/nocobase/ai/openclaw/index.md +1 -1
  8. package/dist/ai/docs/nocobase/ai/opencode/index.md +1 -1
  9. package/dist/ai/docs/nocobase/ai/quick-start.mdx +9 -7
  10. package/dist/ai/docs/nocobase/ai/workbuddy/index.md +1 -1
  11. package/dist/ai/docs/nocobase/ai-builder/ai-portal/agent-workflow.md +153 -0
  12. package/dist/ai/docs/nocobase/ai-builder/ai-portal/components.md +134 -0
  13. package/dist/ai/docs/nocobase/ai-builder/ai-portal/deploy.md +164 -0
  14. package/dist/ai/docs/nocobase/ai-builder/ai-portal/index.md +144 -0
  15. package/dist/ai/docs/nocobase/ai-builder/ai-portal/project-structure.md +128 -0
  16. package/dist/ai/docs/nocobase/ai-builder/index.md +73 -32
  17. package/dist/ai/docs/nocobase/ai-builder/ui-builder.md +2 -0
  18. package/dist/ai/docs/nocobase/ai-dev/index.md +2 -1
  19. package/dist/ai/docs/nocobase/api/cli/index.md +1 -1
  20. package/dist/ai/docs/nocobase/api/cli/portal/config.md +5 -3
  21. package/dist/ai/docs/nocobase/api/cli/portal/create.md +3 -6
  22. package/dist/ai/docs/nocobase/api/cli/portal/deploy.md +1 -1
  23. package/dist/ai/docs/nocobase/api/cli/portal/destroy.md +6 -4
  24. package/dist/ai/docs/nocobase/api/cli/portal/dev.md +21 -9
  25. package/dist/ai/docs/nocobase/api/cli/portal/index.md +19 -13
  26. package/dist/ai/docs/nocobase/api/cli/portal/info.md +3 -3
  27. package/dist/ai/docs/nocobase/api/cli/portal/list.md +5 -5
  28. package/dist/ai/docs/nocobase/api/cli/portal/pull.md +11 -1
  29. package/dist/ai/docs/nocobase/api/cli/portal/push.md +1 -1
  30. package/dist/ai/docs/nocobase/nocobase-cli/installation/cli.md +1 -1
  31. package/dist/client/244.da833c04c5b64be4.js +10 -0
  32. package/dist/client/index.js +1 -1
  33. package/dist/client-v2/244.7451d5c4713eced3.js +10 -0
  34. package/dist/client-v2/index.js +1 -1
  35. package/dist/client-v2/pages/EmployeesPage.d.ts +3 -0
  36. package/dist/externalVersion.js +15 -15
  37. package/dist/locale/en-US.json +3 -0
  38. package/dist/locale/zh-CN.json +3 -0
  39. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  40. package/dist/node_modules/@langchain/xai/package.json +1 -1
  41. package/dist/node_modules/fs-extra/package.json +1 -1
  42. package/dist/node_modules/jsonrepair/package.json +1 -1
  43. package/dist/node_modules/just-bash/package.json +1 -1
  44. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  45. package/dist/node_modules/openai/package.json +1 -1
  46. package/dist/node_modules/zod/package.json +1 -1
  47. package/dist/server/ai-employees/ai-conversations.d.ts +2 -1
  48. package/dist/server/ai-employees/ai-conversations.js +2 -0
  49. package/dist/server/collections/ai-conversations.js +5 -0
  50. package/dist/server/migrations/20260803185305-migrate-ai-conversations-portal-name.d.ts +14 -0
  51. package/dist/server/migrations/20260803185305-migrate-ai-conversations-portal-name.js +52 -0
  52. package/dist/server/resource/aiConversations.js +14 -2
  53. package/package.json +2 -2
  54. package/dist/client/244.145eb763339a109b.js +0 -10
  55. package/dist/client-v2/244.64cb9d3ee27dcdc6.js +0 -10
@@ -1,12 +1,14 @@
1
1
  ---
2
2
  title: "nb portal dev"
3
- description: "nb portal dev command reference: start a portal in development mode."
4
- keywords: "nb portal dev,NocoBase CLI,Portal"
3
+ description: "nb portal dev command reference: start development mode for a Portal's local source directory."
4
+ keywords: "nb portal dev,NocoBase CLI,Portal,development mode,local development"
5
5
  ---
6
6
 
7
7
  # nb portal dev
8
8
 
9
- Start development mode for the specified portal
9
+ Start development mode for the specified Portal's local source directory. It is normally used after [`nb portal create`](./create.md) or [`nb portal pull`](./pull.md).
10
+
11
+ It refreshes `.env` and `.env.local` in the local source directory, then runs `pnpm dev` there.
10
12
 
11
13
  ## Usage
12
14
 
@@ -18,22 +20,32 @@ nb portal dev <portal> [flags]
18
20
 
19
21
  | Flag | Type | Description |
20
22
  | --- | --- | --- |
21
- | `<portal>` | string | Portal name or slug. |
22
- | `--env`, `-e` | string | CLI env name. If omitted, the current env is used. |
23
- | `--yes`, `-y` | boolean | Skip cross-env confirmation. |
23
+ | `<portal>` | string | Portal name or slug |
24
+ | `--env`, `-e` | string | CLI env name. If omitted, the current env is used |
25
+ | `--yes`, `-y` | boolean | Skip the interactive confirmation when an explicit `--env` differs from the current env |
24
26
 
25
27
  ## Examples
26
28
 
29
+ Start development mode for a Portal in the current env:
30
+
27
31
  ```bash
28
32
  nb portal dev customer
33
+ ```
34
+
35
+ Start development mode for a Portal in a specified env:
36
+
37
+ ```bash
29
38
  nb portal dev customer --env dev --yes
30
39
  ```
31
40
 
32
41
  ## Notes
33
42
 
34
- The workspace must contain `package.json`. The command refreshes `.env` and `.env.local`, then runs `pnpm dev`. `ssh` envs are not supported in the current version.
43
+ `dev` starts the dev server from the Portal's local source directory. It doesn't create a Portal record, and it doesn't pull remote source; if the local source directory doesn't exist, use [`nb portal create`](./create.md) or [`nb portal pull`](./pull.md) first.
44
+
45
+ The local source directory must contain `package.json`. `ssh` envs don't support starting Portal development mode yet.
35
46
 
36
47
  ## Related Commands
37
48
 
38
- - [`nb portal`](./index.md)
39
- - [`nb env`](../env/index.md)
49
+ - [`nb portal create`](./create.md)
50
+ - [`nb portal pull`](./pull.md)
51
+ - [`nb portal deploy`](./deploy.md)
@@ -20,14 +20,14 @@ nb portal <command>
20
20
 
21
21
  | Command | Description |
22
22
  | --- | --- |
23
- | [`nb portal config`](./config.md) | Update the local portal source configuration and sync it to the remote portal record when possible |
24
- | [`nb portal create`](./create.md) | Create a local portal from a template and create or update the portal record |
25
- | [`nb portal deploy`](./deploy.md) | Build and deploy the specified portal |
26
- | [`nb portal destroy`](./destroy.md) | Delete the portal record and local workspace |
23
+ | [`nb portal config`](./config.md) | Update portal source configuration |
24
+ | [`nb portal create`](./create.md) | Create a local AI portal from a template |
25
+ | [`nb portal deploy`](./deploy.md) | Build and deploy a portal |
26
+ | [`nb portal destroy`](./destroy.md) | Destroy a portal record and deployed files |
27
27
  | [`nb portal dev`](./dev.md) | Start development mode for the specified portal |
28
- | [`nb portal info`](./info.md) | Show details for the specified portal record and local workspace |
29
- | [`nb portal list`](./list.md) | List portal records and local workspace sync status |
30
- | [`nb portal pull`](./pull.md) | Pull portal source from source storage into the local workspace |
28
+ | [`nb portal info`](./info.md) | Show portal record and local file details |
29
+ | [`nb portal list`](./list.md) | List portal records and development paths |
30
+ | [`nb portal pull`](./pull.md) | Pull portal source into local files |
31
31
  | [`nb portal push`](./push.md) | Push local portal source changes to source storage |
32
32
 
33
33
  ## Typical Flow
@@ -75,7 +75,7 @@ nb portal push customer -e dev --yes --message "Move customer portal source to G
75
75
 
76
76
  ## source storage
77
77
 
78
- When creating a portal, choose where the source code is managed:
78
+ Portal source storage is stored in the remote portal record options:
79
79
 
80
80
  | Mode | Description |
81
81
  | --- | --- |
@@ -84,7 +84,7 @@ When creating a portal, choose where the source code is managed:
84
84
 
85
85
  For quick creation and development, the default `nocobase` storage is usually enough. Use `git` when the portal source should be reviewed, versioned, or built through an existing team workflow.
86
86
 
87
- Source configuration is written to `portal.config.json` in the local workspace. `create`, `pull`, and `config` maintain this file; `push` and `deploy` read it to sync source or deployment output.
87
+ `nb portal config` updates source storage and Git settings in the remote portal record. The development workspace path is stored separately in the CLI env config as `portals.<portal>.path`, maintained by `create`, `pull --path`, or `config --path`.
88
88
 
89
89
  ## Env Types
90
90
 
@@ -92,15 +92,21 @@ Source configuration is written to `portal.config.json` in the local workspace.
92
92
 
93
93
  | Mode | Description |
94
94
  | --- | --- |
95
- | `local` | The workspace and app storage are on the current machine. With default `nocobase` storage, `pull`/`push` usually do not need extra sync. |
96
- | `docker` | The workspace is shared with the app through a Docker volume. With default `nocobase` storage, `pull`/`push` usually do not need extra sync. |
95
+ | `local` | The workspace and app storage are on the current machine. `pull` writes source to the development path, and `deploy` builds from that path before syncing deployment output. |
96
+ | `docker` | The workspace is shared with the app through a Docker volume. `pull` writes source to the development path, and `deploy` builds from that path before syncing deployment output. |
97
97
  | `http` | Source and deployment output are synced through APIs. `pull` downloads a source archive, and `push` uploads one. |
98
98
 
99
99
  `ssh` envs do not support portal management in the current version.
100
100
 
101
- ## Local Workspace Path
101
+ ## Development And Deployment Paths
102
102
 
103
- Portals are stored under the selected env storage:
103
+ Portal development workspaces are created under the current working directory by default:
104
+
105
+ ```text
106
+ ./<portal>
107
+ ```
108
+
109
+ Use `--path` with `create`, `pull`, or `config` to choose a different development path. Deployment output is still stored under the target app storage:
104
110
 
105
111
  ```text
106
112
  <storagePath>/portals/<app>/<portal>
@@ -21,19 +21,19 @@ nb portal info <portal> [flags]
21
21
  | `<portal>` | string | Portal name or slug. |
22
22
  | `--env`, `-e` | string | CLI env name. If omitted, the current env is used. |
23
23
  | `--yes`, `-y` | boolean | Skip cross-env confirmation. |
24
- | `--json-output`, `-j` | boolean | Print portal details as JSON. |
24
+ | `--json-output`, `--json`, `-j` | boolean | Print portal details as JSON. |
25
25
 
26
26
  ## Examples
27
27
 
28
28
  ```bash
29
29
  nb portal info customer
30
30
  nb portal info customer --env dev --yes
31
- nb portal info customer --json-output
31
+ nb portal info customer --json
32
32
  ```
33
33
 
34
34
  ## Notes
35
35
 
36
- Text output includes name, URL, portal type, local path, enabled status, and local sync status. `--json-output` prints `name`, `url`, `portalType`, `localPath`, `enabled`, `sourceStorage`, and `localSynced`. You can query by `routeName` or `uid`.
36
+ Text output includes name, URL, portal type, development path, deployment path, and enabled status. `--json-output` and its alias `--json` print `name`, `url`, `portalType`, `developmentPath`, `deploymentPath`, `enabled`, `isDefault`, and `sourceStorage`. You can query by `routeName` or `uid`.
37
37
 
38
38
  ## Related Commands
39
39
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: "nb portal list"
3
- description: "nb portal list command reference: list portal records and local workspace sync status."
3
+ description: "nb portal list command reference: list portal records and development paths."
4
4
  keywords: "nb portal list,NocoBase CLI,Portal"
5
5
  ---
6
6
 
7
7
  # nb portal list
8
8
 
9
- List portal records and local workspace sync status
9
+ List portal records and development paths
10
10
 
11
11
  ## Usage
12
12
 
@@ -20,19 +20,19 @@ nb portal list [flags]
20
20
  | --- | --- | --- |
21
21
  | `--env`, `-e` | string | CLI env name. If omitted, the current env is used. |
22
22
  | `--yes`, `-y` | boolean | Skip cross-env confirmation. |
23
- | `--json-output`, `-j` | boolean | Print portal records as JSON. |
23
+ | `--json-output`, `--json`, `-j` | boolean | Print portal records as JSON. |
24
24
 
25
25
  ## Examples
26
26
 
27
27
  ```bash
28
28
  nb portal list
29
29
  nb portal list --env dev --yes
30
- nb portal list --json-output
30
+ nb portal list --json
31
31
  ```
32
32
 
33
33
  ## Notes
34
34
 
35
- The list shows name, URL, portal type, source storage, local path, enabled status, and local sync status. Only `ai` portals have local workspace sync checks; other portal types show an empty sync status.
35
+ The list shows name, URL, portal type, source storage, development path, enabled status, and default status. `--json-output` and its alias `--json` print `name`, `url`, `portalType`, `developmentPath`, `deploymentPath`, `enabled`, `isDefault`, and `sourceStorage`.
36
36
 
37
37
  ## Related Commands
38
38
 
@@ -22,6 +22,10 @@ nb portal pull <portal> [flags]
22
22
  | `--env`, `-e` | string | CLI env name. If omitted, the current env is used. |
23
23
  | `--yes`, `-y` | boolean | Skip cross-env confirmation. |
24
24
  | `--force` | boolean | Delete the existing local workspace and pull it again. |
25
+ | `--path` | string | Portal workspace directory. Defaults to the saved path, then `./<portal>`. |
26
+ | `--git-repo` | string | Temporarily pull source from this Git repository without updating the portal source configuration. |
27
+ | `--git-branch` | string | Git branch for the temporary `--git-repo` pull. Defaults to `main`. |
28
+ | `--git-path` | string | Directory inside the temporary Git repository. Defaults to the repository root (`.`). |
25
29
  | `--install` / `--no-install` | boolean | Run `pnpm install` after pulling source. Enabled by default. |
26
30
 
27
31
  ## Examples
@@ -29,13 +33,19 @@ nb portal pull <portal> [flags]
29
33
  ```bash
30
34
  nb portal pull customer
31
35
  nb portal pull customer --env prod --yes
36
+ nb portal pull customer --path ./portals/customer
37
+ nb portal pull customer --git-repo git@github.com:nocobase/customer-portal.git --git-branch main --git-path portals/customer
32
38
  nb portal pull customer --force
33
39
  nb portal pull customer --no-install
34
40
  ```
35
41
 
36
42
  ## Notes
37
43
 
38
- When the pulled workspace contains `package.json`, `pnpm install` runs by default. Use `--no-install` to skip it. Git source storage clones the configured repo and branch, then copies `--git-path`. With default `nocobase` storage, `local` and `docker` envs are usually no-op; `http` envs download a source archive through the API.
44
+ When the pulled workspace contains `package.json`, `pnpm install` runs by default. Use `--no-install` to skip it.
45
+
46
+ Git source storage clones the configured repo and branch, then copies `--git-path`. To pull from a Git repo one time without changing the remote portal record, pass `--git-repo`; `--git-branch` and `--git-path` can only be used together with `--git-repo`. Use `nb portal config` when you want to persist Git source settings.
47
+
48
+ With default `nocobase` storage, `pull` downloads a source archive through the API and writes it to the development workspace. After a successful pull, the development workspace path is saved to the CLI env config as `portals.<portal>.path`.
39
49
 
40
50
  ## Related Commands
41
51
 
@@ -33,7 +33,7 @@ nb portal push customer --message "Update customer portal"
33
33
 
34
34
  ## Notes
35
35
 
36
- The command reads `portal.config.json` and syncs that configuration to the remote portal record first. Git source storage clones the configured repo, copies the local workspace into `--git-path`, commits, and pushes. With default `nocobase` storage, `local` and `docker` envs are usually no-op; `http` envs upload a source archive through the API.
36
+ The command reads source storage and Git settings from the remote portal record, then reads local source from the development path stored in the selected CLI env config. Git source storage clones the configured repo, copies the local workspace into `--git-path`, commits, and pushes. With default `nocobase` storage, `local` and `docker` envs are usually no-op; `http` envs upload a source archive through the API.
37
37
 
38
38
  ## Related Commands
39
39
 
@@ -9,7 +9,7 @@ Only executed when installing the CLI for the first time.
9
9
  First install the CLI globally:
10
10
 
11
11
  ```bash
12
- npm install -g @nocobase/cli
12
+ npm install -g @nocobase/cli@alpha
13
13
  nb --version
14
14
  ```
15
15
 
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["244"],{143:function(u,e,t){t.r(e),t.d(e,{listAIEmployees:function(){return N},SkillSettings:function(){return uF},updateAIEmployee:function(){return X},createAIEmployee:function(){return Y},deleteAIEmployee:function(){return $},isKnowledgeBaseEnabled:function(){return Q},listKnowledgeBases:function(){return Z},buildEmployeeSubmitValues:function(){return ua},normalizeSkillSettings:function(){return ul},default:function(){return up},isAIEmployeeUsernameConflictError:function(){return z},EMPLOYEE_PROMPT_VARIABLE_NAMESPACES:function(){return M},updateAIEmployeeEnabled:function(){return J},EmployeesPage:function(){return um},moveAIEmployee:function(){return q}});var n=t(9155),r=t.n(n),l=t(2059),a=t(7375),o=t(5428),i=t(5477),A=t(3485),E=t(7694),F=t(9488),s=t(4196),c=t(3617),D=t(9312),B=t(8666),C=t(9937),m=/^[a-zA-Z0-9_-]+$/,d=RegExp("^[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7-\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2-\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2-\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47-\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62-\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C62-\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5-\\u0CD6\\u0CE2-\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B-\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62-\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2-\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F3F\\u0F71-\\u0F84\\u0F86-\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885-\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099-\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E-\\uA69F\\uA6F0-\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880-\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C-\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7-\\uAAB8\\uAABE-\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5-\\uAAF6\\uABE3-\\uABEA\\uABEC-\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}-\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}-\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}-\\u{10EAC}\\u{10EFA}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{11002}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}-\\u{11074}\\u{1107F}-\\u{11082}\\u{110B0}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{11134}\\u{11145}-\\u{11146}\\u{11173}\\u{11180}-\\u{11182}\\u{111B3}-\\u{111C0}\\u{111C9}-\\u{111CC}\\u{111CE}-\\u{111CF}\\u{1122C}-\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}-\\u{112EA}\\u{11300}-\\u{11303}\\u{1133B}-\\u{1133C}\\u{1133E}-\\u{11344}\\u{11347}-\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113B8}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D0}\\u{113D2}\\u{113E1}-\\u{113E2}\\u{11435}-\\u{11446}\\u{1145E}\\u{114B0}-\\u{114C3}\\u{115AF}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115DC}-\\u{115DD}\\u{11630}-\\u{11640}\\u{116AB}-\\u{116B7}\\u{1171D}-\\u{1172B}\\u{1182C}-\\u{1183A}\\u{11930}-\\u{11935}\\u{11937}-\\u{11938}\\u{1193B}-\\u{1193E}\\u{11940}\\u{11942}-\\u{11943}\\u{119D1}-\\u{119D7}\\u{119DA}-\\u{119E0}\\u{119E4}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A39}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A5B}\\u{11A8A}-\\u{11A99}\\u{11B60}-\\u{11B67}\\u{11C2F}-\\u{11C36}\\u{11C38}-\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}-\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D8A}-\\u{11D8E}\\u{11D90}-\\u{11D91}\\u{11D93}-\\u{11D97}\\u{11EF3}-\\u{11EF6}\\u{11F00}-\\u{11F01}\\u{11F03}\\u{11F34}-\\u{11F3A}\\u{11F3E}-\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F51}-\\u{16F87}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{16FF0}-\\u{16FF1}\\u{1BC9D}-\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}-\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}-\\u{1E5EF}\\u{1E6E3}\\u{1E6E6}\\u{1E6EE}-\\u{1E6EF}\\u{1E6F5}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}\\u0030-\\u0039\\u00B2-\\u00B3\\u00B9\\u00BC-\\u00BE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\\u{10107}-\\u{10133}\\u{10140}-\\u{10178}\\u{1018A}-\\u{1018B}\\u{102E1}-\\u{102FB}\\u{10320}-\\u{10323}\\u{10341}\\u{1034A}\\u{103D1}-\\u{103D5}\\u{104A0}-\\u{104A9}\\u{10858}-\\u{1085F}\\u{10879}-\\u{1087F}\\u{108A7}-\\u{108AF}\\u{108FB}-\\u{108FF}\\u{10916}-\\u{1091B}\\u{109BC}-\\u{109BD}\\u{109C0}-\\u{109CF}\\u{109D2}-\\u{109FF}\\u{10A40}-\\u{10A48}\\u{10A7D}-\\u{10A7E}\\u{10A9D}-\\u{10A9F}\\u{10AEB}-\\u{10AEF}\\u{10B58}-\\u{10B5F}\\u{10B78}-\\u{10B7F}\\u{10BA9}-\\u{10BAF}\\u{10CFA}-\\u{10CFF}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}\\u{10F1D}-\\u{10F26}\\u{10F51}-\\u{10F54}\\u{10FC5}-\\u{10FCB}\\u{11052}-\\u{1106F}\\u{110F0}-\\u{110F9}\\u{11136}-\\u{1113F}\\u{111D0}-\\u{111D9}\\u{111E1}-\\u{111F4}\\u{112F0}-\\u{112F9}\\u{11450}-\\u{11459}\\u{114D0}-\\u{114D9}\\u{11650}-\\u{11659}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11730}-\\u{1173B}\\u{118E0}-\\u{118F2}\\u{11950}-\\u{11959}\\u{11BF0}-\\u{11BF9}\\u{11C50}-\\u{11C6C}\\u{11D50}-\\u{11D59}\\u{11DA0}-\\u{11DA9}\\u{11DE0}-\\u{11DE9}\\u{11F50}-\\u{11F59}\\u{11FC0}-\\u{11FD4}\\u{12400}-\\u{1246E}\\u{16130}-\\u{16139}\\u{16A60}-\\u{16A69}\\u{16AC0}-\\u{16AC9}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16D70}-\\u{16D79}\\u{16E80}-\\u{16E96}\\u{16FF4}-\\u{16FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D7CE}-\\u{1D7FF}\\u{1E140}-\\u{1E149}\\u{1E2F0}-\\u{1E2F9}\\u{1E4F0}-\\u{1E4F9}\\u{1E5F1}-\\u{1E5FA}\\u{1E8C7}-\\u{1E8CF}\\u{1E950}-\\u{1E959}\\u{1EC71}-\\u{1ECAB}\\u{1ECAD}-\\u{1ECAF}\\u{1ECB1}-\\u{1ECB4}\\u{1ED01}-\\u{1ED2D}\\u{1ED2F}-\\u{1ED3D}\\u{1F100}-\\u{1F10C}\\u{1FBF0}-\\u{1FBF9} ._'’()&\xb7-]+$","u"),f=function(u){return u.trim()},p=function(u,e){return u.length>0&&Array.from(u).length<=e},y=function(u){var e=f(u);return p(e,64)&&m.test(e)},g=function(u){var e=f(u);return p(e,64)&&d.test(e)&&RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u0030-\\u0039\\u00B2-\\u00B3\\u00B9\\u00BC-\\u00BE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\\u{10107}-\\u{10133}\\u{10140}-\\u{10178}\\u{1018A}-\\u{1018B}\\u{102E1}-\\u{102FB}\\u{10320}-\\u{10323}\\u{10341}\\u{1034A}\\u{103D1}-\\u{103D5}\\u{104A0}-\\u{104A9}\\u{10858}-\\u{1085F}\\u{10879}-\\u{1087F}\\u{108A7}-\\u{108AF}\\u{108FB}-\\u{108FF}\\u{10916}-\\u{1091B}\\u{109BC}-\\u{109BD}\\u{109C0}-\\u{109CF}\\u{109D2}-\\u{109FF}\\u{10A40}-\\u{10A48}\\u{10A7D}-\\u{10A7E}\\u{10A9D}-\\u{10A9F}\\u{10AEB}-\\u{10AEF}\\u{10B58}-\\u{10B5F}\\u{10B78}-\\u{10B7F}\\u{10BA9}-\\u{10BAF}\\u{10CFA}-\\u{10CFF}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}\\u{10F1D}-\\u{10F26}\\u{10F51}-\\u{10F54}\\u{10FC5}-\\u{10FCB}\\u{11052}-\\u{1106F}\\u{110F0}-\\u{110F9}\\u{11136}-\\u{1113F}\\u{111D0}-\\u{111D9}\\u{111E1}-\\u{111F4}\\u{112F0}-\\u{112F9}\\u{11450}-\\u{11459}\\u{114D0}-\\u{114D9}\\u{11650}-\\u{11659}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11730}-\\u{1173B}\\u{118E0}-\\u{118F2}\\u{11950}-\\u{11959}\\u{11BF0}-\\u{11BF9}\\u{11C50}-\\u{11C6C}\\u{11D50}-\\u{11D59}\\u{11DA0}-\\u{11DA9}\\u{11DE0}-\\u{11DE9}\\u{11F50}-\\u{11F59}\\u{11FC0}-\\u{11FD4}\\u{12400}-\\u{1246E}\\u{16130}-\\u{16139}\\u{16A60}-\\u{16A69}\\u{16AC0}-\\u{16AC9}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16D70}-\\u{16D79}\\u{16E80}-\\u{16E96}\\u{16FF4}-\\u{16FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D7CE}-\\u{1D7FF}\\u{1E140}-\\u{1E149}\\u{1E2F0}-\\u{1E2F9}\\u{1E4F0}-\\u{1E4F9}\\u{1E5F1}-\\u{1E5FA}\\u{1E8C7}-\\u{1E8CF}\\u{1E950}-\\u{1E959}\\u{1EC71}-\\u{1ECAB}\\u{1ECAD}-\\u{1ECAF}\\u{1ECB1}-\\u{1ECB4}\\u{1ED01}-\\u{1ED2D}\\u{1ED2F}-\\u{1ED3D}\\u{1F100}-\\u{1F10C}\\u{1FBF0}-\\u{1FBF9}]","u").test(e)};function b(u,e){(null==e||e>u.length)&&(e=u.length);for(var t=0,n=Array(e);t<e;t++)n[t]=u[t];return n}function h(u,e,t,n,r,l,a){try{var o=u[l](a),i=o.value}catch(u){t(u);return}o.done?e(i):Promise.resolve(i).then(n,r)}function v(u){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=u.apply(e,t);function a(u){h(l,n,r,a,o,"next",u)}function o(u){h(l,n,r,a,o,"throw",u)}a(void 0)})}}function S(u){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(u){return Object.getOwnPropertyDescriptor(t,u).enumerable}))),n.forEach(function(e){var n;n=t[e],e in u?Object.defineProperty(u,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):u[e]=n})}return u}function k(u,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(e)):(function(u){var e=Object.keys(u);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(u);e.push.apply(e,t)}return e})(Object(e)).forEach(function(t){Object.defineProperty(u,t,Object.getOwnPropertyDescriptor(e,t))}),u}function w(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var t,n,r=null==u?null:"u">typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=r){var l=[],a=!0,o=!1;try{for(r=r.call(u);!(a=(t=r.next()).done)&&(l.push(t.value),!e||l.length!==e);a=!0);}catch(u){o=!0,n=u}finally{try{a||null==r.return||r.return()}finally{if(o)throw n}}return l}}(u,e)||x(u,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(u){return function(u){if(Array.isArray(u))return b(u)}(u)||function(u){if("u">typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||x(u)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(u,e){if(u){if("string"==typeof u)return b(u,e);var t=Object.prototype.toString.call(u).slice(8,-1);if("Object"===t&&u.constructor&&(t=u.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return b(u,e)}}function T(u,e){var t,n,r,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),o=Object.defineProperty;return o(a,"next",{value:i(0)}),o(a,"throw",{value:i(1)}),o(a,"return",{value:i(2)}),"function"==typeof Symbol&&o(a,Symbol.iterator,{value:function(){return this}}),a;function i(o){return function(i){var A=[o,i];if(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,A[0]&&(l=0)),l;)try{if(t=1,n&&(r=2&A[0]?n.return:A[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,A[1])).done)return r;switch(n=0,r&&(A=[2&A[0],r.value]),A[0]){case 0:case 1:r=A;break;case 4:return l.label++,{value:A[1],done:!1};case 5:l.label++,n=A[1],A=[0];continue;case 7:A=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===A[0]||2===A[0])){l=0;continue}if(3===A[0]&&(!r||A[1]>r[0]&&A[1]<r[3])){l.label=A[1];break}if(6===A[0]&&l.label<r[1]){l.label=r[1],r=A;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(A);break}r[2]&&l.ops.pop(),l.trys.pop();continue}A=e.call(u,l)}catch(u){A=[6,u],n=0}finally{t=r=0}if(5&A[0])throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}}}function O(){var u,e,t=(u=["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n"],e||(e=u.slice(0)),Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(e)}})));return O=function(){return t},t}var P=Object.keys(s.B)[0],L="sort",M=["user","roleName","locale","now","timestamp"],j=function(u){return"".concat(u,":")},R=(0,i.css)(O()),K=function(u){return null!==u&&(void 0===u?"undefined":u&&"u">typeof Symbol&&u.constructor===Symbol?"symbol":typeof u)=="object"&&!Array.isArray(u)},z=function(u){if(!K(u)||!K(u.response)||!K(u.response.data))return!1;var e=u.response.data.errors;return Array.isArray(e)&&e.some(function(u){return K(u)&&"AI_EMPLOYEE_USERNAME_CONFLICT"===u.code})},W=function(u){var e;if(K(u))return null==(e=u.data)?void 0:e.data},_=function(u){if(!K(u))return{};var e=u.data;return K(e)?e:{}},V=function(u){return K(u)&&"string"==typeof u.username},G=function(u){return K(u)&&"string"==typeof u.key&&"string"==typeof u.name},U=function(u,e,t,n){return v(function(){var r;return T(this,function(l){if("function"!=typeof(r=u.resource(e)[t]))throw Error("Missing resource action: ".concat(e,".").concat(t));return[2,r(n)]})})()},H=function(u,e){var t=k(S({},u),{username:f(u.username),nickname:"string"==typeof u.nickname?f(u.nickname):u.nickname});return e.edit&&("system"===u._aboutMode&&(t.about=null),delete t._aboutMode,delete t.enabled),t};function N(u,e){return v(function(){var t,n,r;return T(this,function(l){switch(l.label){case 0:return[4,U(u,"aiEmployees","list",{page:e.page,pageSize:e.pageSize,filter:{category:e.category},sort:[L]})];case 1:return n=W(t=l.sent()),r=_(t),[2,{data:Array.isArray(n)?n.filter(V):[],total:"number"==typeof r.count?r.count:void 0}]}})})()}function q(u,e,t){return v(function(){return T(this,function(n){switch(n.label){case 0:return[4,U(u,"aiEmployees","move",{sourceId:e,targetId:t,sortField:L})];case 1:return n.sent(),[2]}})})()}function Y(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:return[4,U(u,"aiEmployees","create",{values:H(e,{edit:!1})})];case 1:return t.sent(),[2]}})})()}function X(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:if(!e.username)throw Error("Missing AI employee username.");return[4,U(u,"aiEmployees","update",{values:H(e,{edit:!0}),filterByTk:e.username})];case 1:return t.sent(),[2]}})})()}function $(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:return[4,U(u,"aiEmployees","destroy",{filterByTk:e})];case 1:return t.sent(),[2]}})})()}function J(u,e,t){return v(function(){return T(this,function(n){switch(n.label){case 0:return[4,U(u,"aiEmployees","update",{filterByTk:e,values:{enabled:t}})];case 1:return n.sent(),[2]}})})()}function Q(u){return v(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,U(u,"aiSettings","isKnowledgeBaseEnabled")];case 1:return[2,K(e=W(t.sent()))&&!0===e.enabled]}})})()}function Z(u){return v(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,U(u,"aiKnowledgeBase","list",{fields:["key","name"],filter:{enabled:!0}})];case 1:return[2,Array.isArray(e=W(t.sent()))?e.filter(G):[]]}})})()}var uu=function(u){var e=u.disabled,t=u.value,a=u.onChange,o=l.theme.useToken().token,i=t||P,A=(0,n.useMemo)(function(){return Object.keys(s.B).map(function(u){return{seed:u,uri:(0,s.H)(u)}})},[]);return r().createElement(r().Fragment,null,r().createElement("div",{style:{marginBottom:o.marginLG+o.margin}},r().createElement(l.Avatar,{size:2*o.controlHeightLG+o.paddingSM+2*o.lineWidth,src:(0,s.H)(i)})),e?null:r().createElement(l.List,{grid:{gutter:o.margin,column:10},dataSource:A,renderItem:function(u){return r().createElement(l.List.Item,null,r().createElement("button",{"aria-label":u.seed,type:"button",onClick:function(){return null==a?void 0:a(u.seed)},onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),null==a||a(u.seed))},style:{background:"transparent",borderColor:i===u.seed?o.colorPrimary:"transparent",borderStyle:"solid",borderWidth:2*o.lineWidth,borderRadius:"50%",cursor:"pointer",display:"inline-flex",padding:0}},r().createElement(l.Avatar,{size:o.controlHeightLG+o.paddingSM+2*o.lineWidth,src:u.uri})))}}))},ue=function(u){var e=u.edit,t=u.builtIn,n=(0,F.kj)();return r().createElement(r().Fragment,null,r().createElement(l.Form.Item,{name:"username",label:j(n("Username")),rules:[{required:!0,whitespace:!0},{validator:function(u,e){return"string"==typeof e&&y(e)?Promise.resolve():Promise.reject(Error(n("Use 1-64 letters, numbers, underscores, or hyphens.")))}}],preserve:!0},r().createElement(l.Input,{disabled:e})),r().createElement(l.Form.Item,{name:"nickname",label:j(n("Nickname")),rules:[{required:!0,whitespace:!0},{validator:function(u,e){return"string"==typeof e&&g(e)?Promise.resolve():Promise.reject(Error(n("Use 1-64 letters, numbers, spaces, or . _ - ' ( ) & \xb7.")))}}],preserve:!0},r().createElement(l.Input,{disabled:t})),r().createElement(l.Form.Item,{name:"position",label:j(n("Position")),extra:n("Position description"),preserve:!0},r().createElement(l.Input,{disabled:t,placeholder:n("Position placeholder")})),r().createElement(l.Form.Item,{name:"avatar",label:j(n("Avatar")),preserve:!0},r().createElement(uu,{disabled:t})),r().createElement(l.Form.Item,{name:"bio",label:j(n("Bio")),preserve:!0},r().createElement(l.Input.TextArea,{disabled:t,placeholder:n("Bio placeholder")})),r().createElement(l.Form.Item,{name:"greeting",label:j(n("Greeting message")),preserve:!0},r().createElement(l.Input.TextArea,{disabled:t,placeholder:n("Greeting message placeholder")})))},ut=function(u){var e,t=u.builtIn,a=u.record,o=(0,F.kj)(),i=l.theme.useToken().token,E=l.Form.useFormInstance(),s=null!=(e=l.Form.useWatch("_aboutMode",E))?e:(null==a?void 0:a.about)?"custom":"system";return(0,n.useEffect)(function(){t&&!E.getFieldValue("_aboutMode")&&E.setFieldValue("_aboutMode",(null==a?void 0:a.about)?"custom":"system")},[t,E,null==a?void 0:a.about]),r().createElement(r().Fragment,null,r().createElement(l.Alert,{message:o("Role setting description"),type:"info",showIcon:!0}),t?r().createElement(l.Form.Item,{name:"_aboutMode",preserve:!0},r().createElement(l.Radio.Group,null,r().createElement(l.Radio,{value:"system"},o("System default")),r().createElement(l.Radio,{value:"custom"},o("Custom")))):null,t&&"system"===s?r().createElement(l.Typography.Paragraph,{copyable:!0,style:{backgroundColor:i.colorFillQuaternary,borderColor:i.colorBorder,borderRadius:i.borderRadius,borderStyle:"solid",borderWidth:i.lineWidth,margin:0,maxHeight:12*i.controlHeightLG,overflowY:"auto",paddingBlock:i.paddingSM,paddingInline:i.padding,whiteSpace:"pre-wrap",wordBreak:"break-word"}},(null==a?void 0:a.defaultPrompt)||""):r().createElement(l.Form.Item,{name:"about",label:j(o("Role setting")),preserve:!0},r().createElement(A.VariableTextArea,{namespaces:M,placeholder:o("Role setting placeholder"),rows:15})))},un=function(u){return K(u)?u:{}},ur=function(u){return"string"==typeof u?{name:u,autoCall:!1}:K(u)&&"string"==typeof u.name?{name:u.name,autoCall:!0===u.autoCall}:void 0},ul=function(u){return K(u)?{skills:Array.isArray(u.skills)?u.skills.filter(function(u){return"string"==typeof u}):[],tools:Array.isArray(u.tools)?u.tools.map(ur).filter(function(u){return!!u}):[]}:{}},ua=function(u,e){var t=k(S({},u),{skillSettings:ul(e.skillSettings)});return K(e.modelSettings)&&(t.modelSettings=un(e.modelSettings)),t},uo=function(){var u=(0,c.M)(),e=w((0,n.useState)(!1),2),t=e[0],r=e[1];return(0,n.useEffect)(function(){var e=!1;return v(function(){return T(this,function(t){switch(t.label){case 0:r(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,u.getLLMServices()];case 2:return t.sent(),[3,5];case 3:return console.error(t.sent()),[3,5];case 4:return e||r(!1),[7];case 5:return[2]}})})().catch(function(u){console.error(u)}),function(){e=!0}},[u]),{services:u.llmServices,loading:t||u.llmServicesLoading}},ui=(0,E.observer)(function(){var u=(0,F.kj)(),e=l.Form.useFormInstance(),t=l.Form.useWatch("modelSettings",{form:e,preserve:!0}),a=w((0,n.useState)(function(){return un(e.getFieldValue("modelSettings"))}),2),o=a[0],i=a[1],A=uo(),E=A.services,s=A.loading,c=!!o.enabled,D=(0,n.useMemo)(function(){var u=Array.isArray(o.models)?o.models:[];if(u.length)return u.map(C.Wm).filter(function(u){return!!u});var e=(0,C.Wm)(o);return e?[e]:[]},[o]),B=(0,n.useCallback)(function(u){var t=S({},un(e.getFieldValue("modelSettings")),u);i(t),e.setFieldsValue({modelSettings:t})},[e]);return(0,n.useEffect)(function(){i(un(t))},[t]),(0,n.useEffect)(function(){if(c&&!D.length&&E.length){var u=E[0],e=null==u?void 0:u.enabledModels[0],t=u&&e?"".concat(u.llmService,":").concat(e.value):void 0;t&&B({models:[(0,C.JC)(t)]})}},[c,D.length,E,B]),r().createElement(r().Fragment,null,r().createElement(l.Alert,{type:"info",showIcon:!0,message:u("Restrict this AI employee to the selected models.")}),r().createElement(l.Form.Item,{label:r().createElement(l.Typography.Text,{strong:!0},j(u("Enable dedicated model configuration"))),preserve:!0},r().createElement(l.Switch,{checked:c,onChange:function(u){return B({enabled:u})}})),r().createElement(l.Form.Item,{label:r().createElement(l.Typography.Text,{strong:!0},j(u("Models"))),preserve:!0},r().createElement(C.AE,{disabled:!c,loading:s,placeholder:u("Select models"),services:E,value:D,onChange:function(u){u.length?B({llmService:void 0,model:void 0,models:u.map(C.JC)}):B({llmService:void 0,model:void 0,models:[]})}})))}),uA=function(){var u=(0,F.kj)();return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e?u(e):t}},uE=function(u){var e=u.title,t=u.description,n=l.theme.useToken().token;return r().createElement("div",null,r().createElement("div",{style:{fontWeight:n.fontWeightStrong,fontSize:n.fontSizeSM}},e),r().createElement("div",{style:{color:n.colorTextSecondary,fontSize:n.fontSizeSM}},t))},uF=(0,E.observer)(function(u){var e=u.builtIn,t=(0,F.kj)(),o=l.theme.useToken().token,i=uA(),A=(0,c.M)(),E=l.Form.useFormInstance(),s=ul(l.Form.useWatch("skillSettings",{form:E,preserve:!0})),D=Array.isArray(s.skills)?s.skills:[],B=w((0,n.useState)(e&&!D.length?[]:["custom-skills"]),2),C=B[0],m=B[1],d=r().useRef(D.length);(0,n.useEffect)(function(){A.getAISkills().catch(function(u){console.error(u)})},[A]);var f=function(u){var e=ul(E.getFieldValue("skillSettings"));E.setFieldsValue({skillSettings:k(S({},e),{skills:u})})},p=new Set(D),y=new Map(A.aiSkills.map(function(u){return[u.name,u]})),g=A.aiSkills.filter(function(u){return"GENERAL"===u.scope}),b=D.map(function(u){return y.get(u)}).filter(function(u){return!!u&&"SPECIFIED"===u.scope}),h=A.aiSkills.filter(function(u){return"CUSTOM"===u.scope}),v=D.filter(function(u){var e=y.get(u);return!e||"CUSTOM"===e.scope});(0,n.useEffect)(function(){var u=0===d.current;e&&0===v.length?m([]):u&&v.length>0&&m(["custom-skills"]),d.current=v.length},[e,v.length]);var x=h.filter(function(u){return!p.has(u.name)}).map(function(u){var e,t;return{key:u.name,label:r().createElement("div",{style:{maxWidth:8*o.controlHeightLG,minWidth:4*o.controlHeightLG}},r().createElement("div",null,i(null!=(e=u.title)?e:u.name,u.name)),r().createElement(l.Typography.Text,{type:"secondary"},i(null!=(t=u.about)?t:u.description))),onClick:function(){var e=ul(E.getFieldValue("skillSettings")),t=Array.isArray(e.skills)?e.skills:[];t.includes(u.name)||f(I(t).concat([u.name]))}}}),T=function(u){var e,t;return r().createElement(l.List.Item,{key:u.name},r().createElement("div",null,i(null!=(e=u.title)?e:u.name,u.name)),r().createElement(l.Typography.Text,{type:"secondary"},i(null!=(t=u.about)?t:u.description)))},O=[{key:"general-skills",label:r().createElement(uE,{title:t("General skills"),description:t("Shared by all AI employees.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:g,renderItem:T})}];return e&&b.length&&O.push({key:"specific-skills",label:r().createElement(uE,{title:t("Employee-specific skills"),description:t("Only available to this AI employee.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:b,renderItem:T})}),h.length&&O.push({key:"custom-skills",label:r().createElement(uE,{title:t("Custom skills"),description:t("Can be added to or removed from this AI employee.")}),extra:r().createElement("div",{onClick:function(u){u.stopPropagation()},onKeyDown:function(u){u.stopPropagation()}},r().createElement(l.Dropdown,{menu:{items:x},disabled:!x.length,placement:"bottomRight"},r().createElement(l.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),disabled:!x.length,style:{pointerEvents:x.length?void 0:"none"}},t("Add skill")))),children:r().createElement(l.List,{itemLayout:"vertical",bordered:!0,dataSource:v,renderItem:function(u){var e,n,o=y.get(u),A=o?i(null!=(e=o.title)?e:o.name,o.name):u,E=o?i(null!=(n=o.about)?n:o.description):null;return r().createElement(l.List.Item,{key:u,extra:r().createElement(l.Button,{"aria-label":t("Delete"),icon:r().createElement(a.DeleteOutlined,null),type:"text",onClick:function(){f(D.filter(function(e){return e!==u}))}})},r().createElement("div",null,A),E?r().createElement(l.Typography.Text,{type:"secondary"},E):null)}})}),A.aiSkillsLoading?r().createElement(l.Spin,null):r().createElement(l.Collapse,{ghost:!0,size:"small",activeKey:C,onChange:function(u){return m(Array.isArray(u)?u.map(String):[String(u)])},items:O})}),us=function(u,e){return"CUSTOM"===u.scope?(null==e?void 0:e.autoCall)?"ALLOW":"ASK":"ALLOW"===u.defaultPermission?"ALLOW":"ASK"},uc=(0,E.observer)(function(u){var e=u.builtIn,t=(0,F.kj)(),o=l.theme.useToken().token,i=uA(),A=(0,c.M)(),E=l.Form.useFormInstance(),s=l.Form.useWatch("skillSettings",{form:E,preserve:!0}),D=w((0,n.useState)(function(){return ul(E.getFieldValue("skillSettings"))}),2),B=D[0],C=D[1],m=Array.isArray(B.tools)?B.tools:[],d=w((0,n.useState)(e&&!m.length?[]:["custom-tools"]),2),f=d[0],p=d[1],y=r().useRef(m.length),g=[{label:t("Ask"),value:"ASK"},{label:t("Allow"),value:"ALLOW"}];(0,n.useEffect)(function(){A.refreshAITools().catch(function(u){console.error(u)})},[A]),(0,n.useEffect)(function(){C(ul(s))},[s]);var b=function(u){var e=k(S({},ul(E.getFieldValue("skillSettings"))),{tools:u});C(e),E.setFieldsValue({skillSettings:e})},h=new Set(m.map(function(u){return u.name})),v=new Map(A.aiTools.map(function(u){return[u.definition.name,u]})),x=A.aiTools.filter(function(u){return"GENERAL"===u.scope&&"loader"===u.from}),T=m.filter(function(u){var e=v.get(u.name);return e&&"GENERAL"!==e.scope&&"CUSTOM"!==e.scope}),O=m.filter(function(u){var e=v.get(u.name);return!e||"CUSTOM"===e.scope});(0,n.useEffect)(function(){var u=0===y.current;e&&0===O.length?p([]):u&&O.length>0&&p(["custom-tools"]),y.current=O.length},[e,O.length]);var P=A.aiTools.filter(function(u){return"CUSTOM"===u.scope&&!h.has(u.definition.name)}).map(function(u){var e,t,n,a;return{key:u.definition.name,label:r().createElement("div",{style:{maxWidth:8*o.controlHeightLG,minWidth:4*o.controlHeightLG}},r().createElement(l.Flex,{justify:"space-between"},r().createElement("div",null,i(null!=(e=null==(n=u.introduction)?void 0:n.title)?e:u.definition.name,u.definition.name))),r().createElement(l.Typography.Text,{type:"secondary"},i(null!=(t=null==(a=u.introduction)?void 0:a.about)?t:u.definition.description))),onClick:function(){var e=ul(E.getFieldValue("skillSettings")),t=Array.isArray(e.tools)?e.tools:[];t.some(function(e){return e.name===u.definition.name})||b(I(t).concat([{name:u.definition.name,autoCall:!1}]))}}}),L=function(u){var e,n,a,o,A="definition"in u?u:v.get(u.name);if(!A)return null;var E="definition"in u?void 0:u;return r().createElement(l.List.Item,{key:A.definition.name,extra:r().createElement(l.Flex,{vertical:!0,justify:"end"},r().createElement(l.Space,null,r().createElement(l.Typography.Text,{type:"secondary"},t("Permission")),r().createElement(l.Segmented,{size:"small",options:g,value:us(A,E),disabled:!0})))},r().createElement("div",null,i(null!=(e=null==(a=A.introduction)?void 0:a.title)?e:A.definition.name,A.definition.name)),r().createElement(l.Typography.Text,{type:"secondary"},i(null!=(n=null==(o=A.introduction)?void 0:o.about)?n:A.definition.description)))},M=[{key:"general-tools",label:r().createElement(uE,{title:t("General tools"),description:t("Shared by all AI employees.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:x,renderItem:L})}];return e&&T.length&&M.push({key:"specific-tools",label:r().createElement(uE,{title:t("Employee-specific tools"),description:t("Only available to this AI employee.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:T,renderItem:L})}),M.push({key:"custom-tools",label:r().createElement(uE,{title:t("Custom tools"),description:t("Created by workflow. You can add/remove and set default permissions.")}),extra:r().createElement("div",{onClick:function(u){u.stopPropagation()},onKeyDown:function(u){u.stopPropagation()}},r().createElement(l.Dropdown,{menu:{items:P},disabled:!(null==P?void 0:P.length),placement:"bottomRight"},r().createElement(l.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),disabled:!(null==P?void 0:P.length),style:{pointerEvents:(null==P?void 0:P.length)?void 0:"none"}},t("Add tool")))),children:r().createElement(l.List,{itemLayout:"vertical",bordered:!0,dataSource:O,renderItem:function(u){var e,n,o,A,E=v.get(u.name),F=E?i(null!=(e=null==(o=E.introduction)?void 0:o.title)?e:E.definition.name,E.definition.name):u.name,s=E?i(null!=(n=null==(A=E.introduction)?void 0:A.about)?n:E.definition.description):null;return r().createElement(l.List.Item,{key:u.name,extra:r().createElement(l.Space,null,r().createElement(l.Typography.Text,null,t("Permission")),r().createElement(l.Segmented,{size:"small",options:g,value:E?us(E,u):u.autoCall?"ALLOW":"ASK",onChange:function(e){b(m.map(function(t){return t.name===u.name?k(S({},t),{autoCall:"ALLOW"===e}):t}))}}),r().createElement(l.Button,{"aria-label":t("Delete"),icon:r().createElement(a.DeleteOutlined,null),type:"text",onClick:function(){b(m.filter(function(e){return e.name!==u.name}))}}))},r().createElement("div",null,F),s?r().createElement(l.Typography.Text,{type:"secondary"},s):null)}})}),A.aiToolsLoading?r().createElement(l.Spin,null):r().createElement(l.Collapse,{ghost:!0,size:"small",activeKey:f,onChange:function(u){return p(Array.isArray(u)?u.map(String):[String(u)])},items:M})}),uD=function(u){var e=u.apiClient,t=(0,F.kj)(),a=l.Form.useFormInstance(),o=l.Form.useWatch("enableKnowledgeBase",a),i=w((0,n.useState)([]),2),A=i[0],E=i[1],s=w((0,n.useState)(!1),2),c=s[0],D=s[1];return(0,n.useEffect)(function(){var u=!1;return v(function(){var t;return T(this,function(n){switch(n.label){case 0:D(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,Z(e)];case 2:return t=n.sent(),u||E(t),[3,5];case 3:return console.error(n.sent()),[3,5];case 4:return u||D(!1),[7];case 5:return[2]}})})().catch(function(u){console.error(u)}),function(){u=!0}},[e]),r().createElement(r().Fragment,null,r().createElement(l.Form.Item,{name:"enableKnowledgeBase",label:j(t("Enable Knowledge Base")),valuePropName:"checked",preserve:!0},r().createElement(l.Switch,null)),r().createElement(l.Form.Item,{name:"knowledgeBasePrompt",label:j(t("Knowledge Base Prompt")),rules:[{required:!0}],preserve:!0},r().createElement(l.Input.TextArea,{disabled:!o,autoSize:{minRows:5}})),r().createElement(l.Form.Item,{name:["knowledgeBase","knowledgeBaseKeys"],label:j(t("Knowledge Base")),rules:[{required:!!o}],preserve:!0},r().createElement(l.Select,{disabled:!o,fieldNames:{label:"name",value:"key"},loading:c,mode:"multiple",options:A})),r().createElement(l.Form.Item,{name:["knowledgeBase","topK"],label:j(t("Top K")),rules:[{required:!0}],preserve:!0},r().createElement(l.InputNumber,{disabled:!o,min:1,max:100})),r().createElement(l.Form.Item,{name:["knowledgeBase","score"],label:j(t("Score")),rules:[{required:!0}],preserve:!0},r().createElement(l.InputNumber,{disabled:!o,min:0,max:1,step:.1})))},uB=function(u){var e,t=u.apiClient,n=u.activeTab,a=u.edit,o=u.onTabChange,i=u.record,A=u.knowledgeBaseEnabled,E=(0,F.kj)(),s=l.Form.useFormInstance(),c=null!=(e=l.Form.useWatch("chatSettings",s))?e:{},D=!!(null==i?void 0:i.builtIn),B=!1!==c.enableSkills,C=!1!==c.enableTools;return r().createElement(l.Tabs,{activeKey:n,onChange:o,items:[{key:"profile",label:E("Profile"),children:r().createElement(ue,{edit:a,builtIn:D}),forceRender:!0},{key:"roleSetting",label:E("Role setting"),children:r().createElement(ut,{builtIn:D,record:i}),forceRender:!0},{key:"modelSettings",label:E("Model settings"),children:r().createElement(ui,null),forceRender:!0}].concat(I(B?[{key:"skills",label:E("Skills"),children:r().createElement(uF,{builtIn:D}),forceRender:!0}]:[]),I(C?[{key:"tools",label:E("Tools"),children:r().createElement(uc,{builtIn:D}),forceRender:!0}]:[]),I(A?[{key:"knowledgeBase",label:E("KnowledgeBase"),children:r().createElement(uD,{apiClient:t}),forceRender:!0}]:[]))})},uC=function(u){var e=u.record,t=u.onUpdated,a=(0,A.useApp)(),o=(0,F.kj)(),i=l.App.useApp().message,E=(0,c.M)(),s=w((0,n.useState)(!1),2),D=s[0],B=s[1];return r().createElement(l.Switch,{checked:!!e.enabled,onChange:function(u){return v(function(){return T(this,function(n){switch(n.label){case 0:B(!0),n.label=1;case 1:return n.trys.push([1,5,6,7]),[4,J(a.apiClient,e.username,u)];case 2:return n.sent(),i.success(o("Saved successfully")),[4,t()];case 3:return n.sent(),[4,E.refreshAIEmployees()];case 4:return n.sent(),[3,7];case 5:return console.error(n.sent()),i.error(o("Failed to update")),[3,7];case 6:return B(!1),[7];case 7:return[2]}})})()},loading:D,size:"small"})},um=function(){var u=(0,A.useApp)(),e=(0,E.useFlowContext)(),t=(0,F.kj)(),i=l.theme.useToken().token,B=l.App.useApp().message,C=(0,c.M)(),m=w((0,n.useState)("business"),2),d=m[0],f=m[1],p=w((0,n.useState)([]),2),y=p[0],g=p[1],b=w((0,n.useState)(!1),2),h=b[0],S=b[1],k=w((0,n.useState)(!1),2),I=k[0],x=k[1],O=w((0,n.useState)([]),2),P=O[0],L=O[1],M=u.apiClient.auth,j=(null==M?void 0:M.role)==="root",K=(0,n.useMemo)(function(){return{color:i.colorPrimary,marginInline:-i.paddingSM,paddingBlock:i.paddingSM,paddingInlineEnd:i.paddingXS+i.paddingSM,paddingInlineStart:i.paddingSM}},[i.colorPrimary,i.paddingSM,i.paddingXS]),z=(0,n.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;return v(function(){return T(this,function(t){switch(t.label){case 0:S(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,N(u.apiClient,{category:e})];case 2:return g(t.sent().data),[3,4];case 3:return S(!1),[7];case 4:return[2]}})})()},[u.apiClient,d]);(0,n.useEffect)(function(){z().catch(function(u){console.error(u),S(!1)})},[z]),(0,n.useEffect)(function(){v(function(){return T(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,Q(u.apiClient)];case 1:return x.apply(void 0,[e.sent()]),[3,3];case 2:return console.error(e.sent()),[3,3];case 3:return[2]}})})().catch(function(u){console.error(u)})},[u.apiClient]);var W=function(u){e.viewer.open({type:"drawer",width:D.o,closable:!0,content:r().createElement(ud,{editingRecord:u,knowledgeBaseEnabled:I,onSubmitted:function(){return v(function(){return T(this,function(u){switch(u.label){case 0:return[4,z()];case 1:return u.sent(),[4,C.refreshAIEmployees()];case 2:return u.sent(),[2]}})})()}})})},_=[{title:t("Avatar"),dataIndex:"avatar",render:function(u){return u?r().createElement(l.Avatar,{shape:"circle",size:"large",src:(0,s.H)(u)}):null}},{title:t("Username"),dataIndex:"username",render:function(u,e){var n=e.missingKnowledgeBaseKeys||[];return n.length?r().createElement(l.Space,{size:"small"},r().createElement("span",null,u),r().createElement(l.Tooltip,{title:t("Missing knowledge base configuration for keys: {{keys}}. Create knowledge bases with the same keys to enable this employee normally.",{keys:n.join(", ")})},r().createElement(a.ExclamationCircleOutlined,null))):u}},{title:t("Nickname"),dataIndex:"nickname"},{title:t("Position"),dataIndex:"position"},{title:t("Enabled"),dataIndex:"enabled",render:function(u,e){return r().createElement(uC,{record:e,onUpdated:function(){return z()}})}},{title:t("Actions"),key:"actions",render:function(e,n){return r().createElement(l.Space,{size:i.marginXS},r().createElement("a",{style:K,onClick:function(){return W(n)}},t("Edit")),r().createElement(l.Popconfirm,{title:t("Delete AI employee"),description:t("Are you sure you want to delete this AI employee?"),onConfirm:function(){return v(function(){return T(this,function(e){switch(e.label){case 0:if(n.builtIn&&!j)return B.warning(t("Cannot delete built-in ai employees")),[2];return[4,$(u.apiClient,n.username)];case 1:return e.sent(),B.success(t("Saved successfully")),[4,z()];case 2:return e.sent(),[4,C.refreshAIEmployees()];case 3:return e.sent(),[2]}})})()}},r().createElement("a",{style:K},t("Delete"))))}}];return r().createElement(l.Card,{style:{display:"flex",flexDirection:"column",minHeight:"100%"},styles:{body:{display:"flex",flex:1,flexDirection:"column",minHeight:0}}},r().createElement(l.Flex,{vertical:!0,gap:"middle",style:{flex:1,minHeight:0}},r().createElement(l.Flex,{justify:"space-between",wrap:"wrap",gap:"middle"},r().createElement(l.Radio.Group,{optionType:"button",value:d,options:[{label:t("Business"),value:"business"},{label:t("Developer"),value:"developer"}],onChange:function(u){return f(u.target.value)}}),r().createElement(l.Space,null,r().createElement(l.Button,{icon:r().createElement(a.ReloadOutlined,null),onClick:function(){return z()}},t("Refresh")),r().createElement(l.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),onClick:function(){e.viewer.open({type:"drawer",width:D.o,closable:!0,content:r().createElement(ud,{knowledgeBaseEnabled:I,onSubmitted:function(){return v(function(){return T(this,function(u){switch(u.label){case 0:return[4,z()];case 1:return u.sent(),[4,C.refreshAIEmployees()];case 2:return u.sent(),[2]}})})()}})})}},t("New AI employee")))),r().createElement("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0}},r().createElement(A.Table,{rowKey:"username",loading:h,columns:_,dataSource:y,className:R,isDraggable:!0,onSortEnd:function(e,n){return v(function(){var r,l,a;return T(this,function(i){switch(i.label){case 0:if(!e.username||!n.username||e.username===n.username)return[2];r=y,l=y.findIndex(function(u){return u.username===e.username}),a=y.findIndex(function(u){return u.username===n.username}),l>=0&&a>=0&&g((0,o.arrayMove)(y,l,a)),i.label=1;case 1:return i.trys.push([1,5,,6]),[4,q(u.apiClient,e.username,n.username)];case 2:return i.sent(),B.success(t("Saved successfully")),[4,z()];case 3:return i.sent(),[4,C.refreshAIEmployees()];case 4:return i.sent(),[3,6];case 5:return console.error(i.sent()),g(r),B.error(t("Failed to update")),[3,6];case 6:return[2]}})})()},rowSelection:{selectedRowKeys:P,onChange:L},pagination:{defaultPageSize:20,showTotal:function(u){return t("Total {{count}} items",{count:u})}},scroll:{x:"max-content",y:"100%"}}))))},ud=function(u){var e=l.App.useApp().message;return r().createElement(l.App,{component:!1},r().createElement(uf,k(S({},u),{message:e})))},uf=function(u){var e=u.editingRecord,t=u.knowledgeBaseEnabled,a=u.onSubmitted,o=u.message,i=(0,A.useApp)(),s=(0,E.useFlowContext)(),c=(0,F.kj)(),D=w(l.Form.useForm(),1)[0],C=w((0,n.useState)(!1),2),m=C[0],d=C[1],f=w((0,n.useState)("profile"),2),p=f[0],y=f[1],g=w((0,n.useState)(!1),2),b=g[0],h=g[1],I=(0,n.useRef)();I.current||(I.current=e?k(S({},e),{_aboutMode:e.builtIn?e.about?"custom":"system":void 0}):{username:(0,E.randomId)(),enabled:!0,enableKnowledgeBase:!1,knowledgeBase:{knowledgeBaseKeys:[],topK:3,score:"0.6"},knowledgeBasePrompt:c("knowledge Base Prompt default"),avatar:P,builtIn:!1,category:"business"});var x=I.current,O=s.view,L=O.Header,M=O.Footer;(0,n.useEffect)(function(){D.setFieldsValue(x)},[D,x]);var j=(0,B.C)({view:s.view,form:D,initialValues:x,dirty:b,title:c("Unsaved changes"),content:c("Are you sure you don't want to save?")});return r().createElement(r().Fragment,null,r().createElement(L,{title:e?c("Edit AI employee"):c("New AI employee")}),r().createElement(l.Spin,{spinning:m},r().createElement(l.Form,{form:D,layout:"vertical",onFinish:function(u){return v(function(){var t,n;return T(this,function(r){switch(r.label){case 0:d(!0),r.label=1;case 1:if(r.trys.push([1,8,9,10]),t=ua(u,D.getFieldsValue(!0)),!e)return[3,3];return[4,X(i.apiClient,t)];case 2:return r.sent(),[3,5];case 3:return[4,Y(i.apiClient,t)];case 4:r.sent(),r.label=5;case 5:return o.success(c("Saved successfully")),[4,a()];case 6:return r.sent(),[4,s.view.close(void 0,!0)];case 7:return r.sent(),[3,10];case 8:if(n=r.sent(),!e&&z(n))return y("profile"),D.setFields([{name:"username",errors:[c("Username already exists")]}]),[2];throw n;case 9:return d(!1),[7];case 10:return[2]}})})()},onValuesChange:function(){return h(!0)}},r().createElement(uB,{apiClient:i.apiClient,activeTab:p,edit:!!e,onTabChange:y,record:e,knowledgeBaseEnabled:t}))),r().createElement(M,null,r().createElement(l.Flex,{justify:"end",gap:"small"},r().createElement(l.Button,{onClick:j},c("Cancel")),r().createElement(l.Button,{type:"primary",loading:m,onClick:function(){return D.submit()}},c("Submit")))))},up=um}}]);