@lovrabet/rabetbase-cli 2.5.1-beta.4 → 2.5.1-beta.6
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/README.md +75 -1
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +0 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.d.ts +2 -0
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +2 -0
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/auto-sync.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.d.ts +2 -0
- package/lib/commands/project/domain-routing-sync.js +1 -0
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.d.ts +2 -0
- package/lib/commands/rule/get.js +1 -0
- package/lib/commands/rule/index.d.ts +2 -0
- package/lib/commands/rule/index.js +1 -0
- package/lib/commands/rule/list.d.ts +2 -0
- package/lib/commands/rule/list.js +1 -0
- package/lib/commands/rule/set.d.ts +2 -0
- package/lib/commands/rule/set.js +1 -0
- package/lib/commands/rule/shared.d.ts +43 -0
- package/lib/commands/rule/shared.js +1 -0
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/deployment-sync.js +1 -1
- package/lib/config/domain-config.d.ts +37 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.d.ts +27 -0
- package/lib/config/project-domain-routing.js +1 -0
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +10 -4
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +4 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +43 -49
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +2 -0
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +21 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.d.ts +83 -0
- package/lib/generated/official-routing.js +1 -0
- package/lib/generated/routing-contract.d.ts +9 -0
- package/lib/generated/routing-contract.js +1 -0
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +2 -1
- package/skills/rabetbase/SKILL.md +15 -12
- package/skills/rabetbase/guides/sdk-client-generation.md +10 -8
- package/skills/rabetbase/references/rabetbase-api-pull.md +16 -11
- package/skills/rabetbase/references/rabetbase-config.md +3 -3
- package/skills/rabetbase/references/rabetbase-database-template.md +36 -0
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -0
- package/skills/rabetbase/references/rabetbase-init.md +32 -8
- package/skills/rabetbase/references/rabetbase-project-create.md +33 -8
- package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +28 -0
- package/skills/rabetbase/references/rabetbase-rule.md +64 -0
- package/skills/rabetbase.manifest.json +6 -3
- package/lib/config/project-routing.d.ts +0 -30
- package/lib/config/project-routing.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a244_0x16c8c7=a244_0x51b7;(function(_0x42b41a,_0x1f3304){const _0x4cbbac=a244_0x51b7,_0x402253=_0x42b41a();while(!![]){try{const _0x1eb11d=parseInt(_0x4cbbac(0x1df))/0x1+parseInt(_0x4cbbac(0x1ee))/0x2*(-parseInt(_0x4cbbac(0x1bc))/0x3)+-parseInt(_0x4cbbac(0x1f7))/0x4+parseInt(_0x4cbbac(0x1e3))/0x5*(-parseInt(_0x4cbbac(0x1e6))/0x6)+parseInt(_0x4cbbac(0x1b1))/0x7*(-parseInt(_0x4cbbac(0x1c7))/0x8)+parseInt(_0x4cbbac(0x1f3))/0x9*(-parseInt(_0x4cbbac(0x1ac))/0xa)+parseInt(_0x4cbbac(0x1f4))/0xb*(parseInt(_0x4cbbac(0x1d2))/0xc);if(_0x1eb11d===_0x1f3304)break;else _0x402253['push'](_0x402253['shift']());}catch(_0x54837a){_0x402253['push'](_0x402253['shift']());}}}(a244_0x9f45,0xebf4a));import{getKbDomain}from'../constant/domain.js';import{CliError,CliErrors}from'../errors.js';const RESPONSE_KEYS=[a244_0x16c8c7(0x1b7),'profile','total','hits',a244_0x16c8c7(0x1d0),a244_0x16c8c7(0x1db)],HIT_KEYS=[a244_0x16c8c7(0x1c9),a244_0x16c8c7(0x1ca),a244_0x16c8c7(0x1ae),a244_0x16c8c7(0x1e2),'title','text',a244_0x16c8c7(0x1ab),a244_0x16c8c7(0x1c2),'rawScore',a244_0x16c8c7(0x1be),a244_0x16c8c7(0x1e4)];export async function searchDevelopmentKnowledge(_0x59e5e0){const _0x159cfd=a244_0x16c8c7,_0x4c3642=_0x59e5e0['appCode']['trim'](),_0x32071c=_0x59e5e0[_0x159cfd(0x1d9)][_0x159cfd(0x1cb)]();if(!_0x4c3642)throw CliErrors[_0x159cfd(0x1ed)](_0x159cfd(0x1cf));if(!_0x59e5e0[_0x159cfd(0x1f1)][_0x159cfd(0x1cb)]())throw CliErrors[_0x159cfd(0x1d7)]();if(!_0x32071c)throw CliErrors[_0x159cfd(0x1ed)](_0x159cfd(0x1d8));validateTopK(_0x59e5e0[_0x159cfd(0x1bb)]);const _0x33811e=getKbDomain()+_0x159cfd(0x1ad);let _0x4dfd01;try{_0x4dfd01=await fetch(_0x33811e,{'method':'POST','headers':{'Content-Type':_0x159cfd(0x1d4),'Cookie':_0x59e5e0[_0x159cfd(0x1f1)],'X-Invoke-Source':_0x159cfd(0x1af)},'body':JSON[_0x159cfd(0x1c8)]({'appCode':_0x4c3642,'query':_0x32071c,..._0x59e5e0['topK']!==undefined?{'topK':_0x59e5e0['topK']}:{}}),'signal':_0x59e5e0[_0x159cfd(0x1d5)]});}catch(_0x305be3){if(_0x305be3 instanceof CliError)throw _0x305be3;if(_0x305be3 instanceof Error&&_0x305be3[_0x159cfd(0x1c0)]==='AbortError')throw _0x305be3;throw CliErrors[_0x159cfd(0x1b6)]('SmartCode\x20knowledge\x20search\x20request\x20failed.');}if(!hasNoStore(_0x4dfd01[_0x159cfd(0x1a8)]))throw CliErrors[_0x159cfd(0x1c4)](_0x159cfd(0x1cd));if(_0x4dfd01[_0x159cfd(0x1de)]===0x191)throw CliErrors['authRequired']();if(!_0x4dfd01['ok'])throw CliErrors[_0x159cfd(0x1c4)](_0x159cfd(0x1a7)+_0x4dfd01[_0x159cfd(0x1de)]+').');if(!(_0x4dfd01[_0x159cfd(0x1a8)][_0x159cfd(0x1f2)](_0x159cfd(0x1dc))??'')[_0x159cfd(0x1d3)]()['includes']('application/json'))throw CliErrors[_0x159cfd(0x1c4)](_0x159cfd(0x1b5));let _0xbf53b1;try{_0xbf53b1=await _0x4dfd01[_0x159cfd(0x1eb)]();}catch{throw CliErrors['apiError'](_0x159cfd(0x1e7));}return parseDevelopmentSearchResponse(readEnvelopeData(_0xbf53b1),_0x59e5e0['topK']);}function readEnvelopeData(_0x4085f9){const _0x1fa927=a244_0x16c8c7,_0x45aeb9=requireRecord(_0x4085f9,_0x1fa927(0x1c6));if(_0x45aeb9[_0x1fa927(0x1b9)]===![])throw CliErrors[_0x1fa927(0x1c4)](_0x1fa927(0x1bf));if(!('data'in _0x45aeb9))throw invalidContract(_0x1fa927(0x1c6));return _0x45aeb9[_0x1fa927(0x1e1)];}function validateTopK(_0x343b07){const _0x230193=a244_0x16c8c7;if(_0x343b07!==undefined&&(!Number[_0x230193(0x1bd)](_0x343b07)||_0x343b07<0x1||_0x343b07>0x32))throw CliErrors[_0x230193(0x1ed)](_0x230193(0x1dd));}function hasNoStore(_0x52eb2d){const _0x38c2dd=a244_0x16c8c7;return(_0x52eb2d[_0x38c2dd(0x1f2)](_0x38c2dd(0x1b4))??'')[_0x38c2dd(0x1e8)](',')['some'](_0x1f6372=>_0x1f6372[_0x38c2dd(0x1cb)]()[_0x38c2dd(0x1d3)]()==='no-store');}function parseDevelopmentSearchResponse(_0x2d18e5,_0x3ec760){const _0x2799b0=a244_0x16c8c7,_0x59328f=requireExactRecord(_0x2d18e5,RESPONSE_KEYS,_0x2799b0(0x1d1));if(_0x59328f[_0x2799b0(0x1b7)]!==0x2||_0x59328f[_0x2799b0(0x1e5)]!==_0x2799b0(0x1b3))throw invalidContract(_0x2799b0(0x1e5));if(!Array[_0x2799b0(0x1c1)](_0x59328f[_0x2799b0(0x1f6)])||_0x59328f[_0x2799b0(0x1f6)][_0x2799b0(0x1f0)]>(_0x3ec760??0x32))throw invalidContract('hits');if(typeof _0x59328f['strategyFingerprint']!==_0x2799b0(0x1e0)||!/^sha256:[0-9a-f]{64}$/[_0x2799b0(0x1a9)](_0x59328f[_0x2799b0(0x1d0)]))throw invalidContract(_0x2799b0(0x1d0));const _0xb430ba=requireRecord(_0x59328f['timingsMs'],'timingsMs'),_0x58b9fc={};for(const [_0x3e7cd0,_0x5eb85d]of Object[_0x2799b0(0x1e9)](_0xb430ba)){if(!/^[A-Za-z][A-Za-z0-9]*$/[_0x2799b0(0x1a9)](_0x3e7cd0)||typeof _0x5eb85d!==_0x2799b0(0x1c5)||!Number[_0x2799b0(0x1d6)](_0x5eb85d)||_0x5eb85d<0x0)throw invalidContract(_0x2799b0(0x1db));_0x58b9fc[_0x3e7cd0]=_0x5eb85d;}const _0x2b2d7d=_0x59328f[_0x2799b0(0x1f6)][_0x2799b0(0x1c3)]((_0x2b7bda,_0x22a043)=>parseHit(_0x2b7bda,_0x22a043));if(!Number[_0x2799b0(0x1bd)](_0x59328f[_0x2799b0(0x1b2)])||_0x59328f[_0x2799b0(0x1b2)]!==_0x2b2d7d[_0x2799b0(0x1f0)])throw invalidContract(_0x2799b0(0x1b2));return{'schemaVersion':_0x59328f[_0x2799b0(0x1b7)],'profile':_0x59328f[_0x2799b0(0x1e5)],'total':_0x59328f[_0x2799b0(0x1b2)],'strategyFingerprint':_0x59328f[_0x2799b0(0x1d0)],'timingsMs':_0x58b9fc,'hits':_0x2b2d7d};}function parseHit(_0x25a967,_0x3ab56a){const _0x5bcf32=a244_0x16c8c7,_0x1cc201=requireExactRecord(_0x25a967,HIT_KEYS,_0x5bcf32(0x1cc)+_0x3ab56a+']'),_0x40e617=_0x8911d=>{const _0x52fa36=_0x1cc201[_0x8911d];if(typeof _0x52fa36!=='string'||!_0x52fa36)throw invalidContract(_0x8911d);return _0x52fa36;};if(!Number[_0x5bcf32(0x1bd)](_0x1cc201[_0x5bcf32(0x1ca)])||_0x1cc201[_0x5bcf32(0x1ca)]<0x1)throw invalidContract(_0x5bcf32(0x1ca));if(_0x1cc201['scope']!==_0x5bcf32(0x1ec)&&_0x1cc201[_0x5bcf32(0x1e2)]!=='company')throw invalidContract(_0x5bcf32(0x1e2));if(typeof _0x1cc201[_0x5bcf32(0x1b8)]!==_0x5bcf32(0x1e0)||typeof _0x1cc201[_0x5bcf32(0x1ea)]!==_0x5bcf32(0x1e0))throw invalidContract('text');if(!Array[_0x5bcf32(0x1c1)](_0x1cc201[_0x5bcf32(0x1ab)])||_0x1cc201[_0x5bcf32(0x1ab)][_0x5bcf32(0x1ef)](_0x30a478=>typeof _0x30a478!==_0x5bcf32(0x1e0)))throw invalidContract(_0x5bcf32(0x1ab));if(!Number[_0x5bcf32(0x1bd)](_0x1cc201[_0x5bcf32(0x1c2)])||_0x1cc201[_0x5bcf32(0x1c2)]!==_0x3ab56a+0x1)throw invalidContract(_0x5bcf32(0x1c2));if(!isFiniteNumber(_0x1cc201[_0x5bcf32(0x1da)])||!isFiniteNumber(_0x1cc201[_0x5bcf32(0x1be)]))throw invalidContract(_0x5bcf32(0x1b0));return{'documentId':_0x40e617('documentId'),'revision':_0x1cc201[_0x5bcf32(0x1ca)],'chunkId':_0x40e617('chunkId'),'scope':_0x1cc201[_0x5bcf32(0x1e2)],'title':_0x1cc201[_0x5bcf32(0x1b8)],'text':_0x1cc201[_0x5bcf32(0x1ea)],'tags':[..._0x1cc201[_0x5bcf32(0x1ab)]],'rank':_0x1cc201[_0x5bcf32(0x1c2)],'rawScore':_0x1cc201[_0x5bcf32(0x1da)],'finalScore':_0x1cc201['finalScore'],'scoreKind':_0x40e617(_0x5bcf32(0x1e4))};}function a244_0x51b7(_0x363671,_0x551453){_0x363671=_0x363671-0x1a7;const _0x9f455b=a244_0x9f45();let _0x51b71a=_0x9f455b[_0x363671];return _0x51b71a;}function requireExactRecord(_0x51905c,_0xa8a77e,_0x581b9f){const _0x58e8de=a244_0x16c8c7,_0x8a027b=requireRecord(_0x51905c,_0x581b9f),_0x4c7e0f=Object[_0x58e8de(0x1ba)](_0x8a027b)['sort'](),_0x1dc825=[..._0xa8a77e]['sort']();if(_0x4c7e0f['length']!==_0x1dc825[_0x58e8de(0x1f0)]||_0x4c7e0f[_0x58e8de(0x1ef)]((_0x153148,_0x598dd8)=>_0x153148!==_0x1dc825[_0x598dd8]))throw invalidContract(_0x581b9f);return _0x8a027b;}function requireRecord(_0x527323,_0x51144a){const _0x146069=a244_0x16c8c7;if(!_0x527323||typeof _0x527323!==_0x146069(0x1f5)||Array[_0x146069(0x1c1)](_0x527323))throw invalidContract(_0x51144a);return _0x527323;}function a244_0x9f45(){const _0x25a132=['1744786VsWaQZ','string','data','scope','3804485MgdJOw','scoreKind','profile','6UCOFRq','SmartCode\x20knowledge\x20search\x20returned\x20invalid\x20JSON.','split','entries','text','json','public','validation','2xwLPOp','some','length','cookie','get','14018283quVoGh','1435533oyUzMh','object','hits','5205984FOCdzO','SmartCode\x20knowledge\x20search\x20failed\x20(HTTP\x20','headers','test','\x20contract.','tags','10heIFwy','/smartapi/knowledge/company-public/search','chunkId','cli:rabetbase','score','7DjZpkJ','total','development','cache-control','SmartCode\x20knowledge\x20search\x20returned\x20a\x20non-JSON\x20content\x20type.','networkError','schemaVersion','title','success','keys','topK','3307551nCnfsG','isSafeInteger','finalScore','SmartCode\x20knowledge\x20search\x20failed.','name','isArray','rank','map','apiError','number','response\x20envelope','14383576yNNAjV','stringify','documentId','revision','trim','hits[','SmartCode\x20knowledge\x20search\x20response\x20is\x20missing\x20Cache-Control:\x20no-store.','SmartCode\x20knowledge\x20search\x20returned\x20an\x20invalid\x20','Knowledge\x20search\x20appCode\x20is\x20required.','strategyFingerprint','response','528iZDxRi','toLowerCase','application/json','signal','isFinite','authRequired','Knowledge\x20search\x20query\x20is\x20required.','query','rawScore','timingsMs','content-type','Knowledge\x20search\x20topK\x20must\x20be\x20an\x20integer\x20from\x201\x20through\x2050.','status'];a244_0x9f45=function(){return _0x25a132;};return a244_0x9f45();}function isFiniteNumber(_0x27c9fb){const _0x5acca4=a244_0x16c8c7;return typeof _0x27c9fb==='number'&&Number[_0x5acca4(0x1d6)](_0x27c9fb);}function invalidContract(_0x102ec3){const _0x237414=a244_0x16c8c7;return CliErrors[_0x237414(0x1c4)](_0x237414(0x1ce)+_0x102ec3+_0x237414(0x1aa));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a245_0x2418(){const _0xb6ccb6=['.rabetbase','4654905WvJXJA','cwd','toUpperCase','.json','646464DfkkBd','F_OK','24ibZptv','6OSyxuP','960967NGedCK','2150109VSMuno','9651879sFmSCW','4705113cQMccd','page.lock.json','page','913504wZVlgv'];a245_0x2418=function(){return _0xb6ccb6;};return a245_0x2418();}const a245_0x1ba6c1=a245_0x45f0;(function(_0x2225ff,_0xdf8331){const _0x57741d=a245_0x45f0,_0x2b3f86=_0x2225ff();while(!![]){try{const _0x4a7821=-parseInt(_0x57741d(0x8f))/0x1+parseInt(_0x57741d(0x8b))/0x2+-parseInt(_0x57741d(0x90))/0x3+parseInt(_0x57741d(0x95))/0x4+parseInt(_0x57741d(0x97))/0x5*(-parseInt(_0x57741d(0x8e))/0x6)+-parseInt(_0x57741d(0x92))/0x7+parseInt(_0x57741d(0x8d))/0x8*(parseInt(_0x57741d(0x91))/0x9);if(_0x4a7821===_0xdf8331)break;else _0x2b3f86['push'](_0x2b3f86['shift']());}catch(_0x46f874){_0x2b3f86['push'](_0x2b3f86['shift']());}}}(a245_0x2418,0x7729b));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';function a245_0x45f0(_0x1a059d,_0x2100b9){_0x1a059d=_0x1a059d-0x8a;const _0x24186e=a245_0x2418();let _0x45f046=_0x24186e[_0x1a059d];return _0x45f046;}export function loadPageProjectConfig(_0x351445,_0x113ca8=process[a245_0x1ba6c1(0x98)]()){const _0x1bd6c4=a245_0x1ba6c1,_0x3eaebc=resolve(_0x113ca8),_0x11226a=join(_0x3eaebc,_0x1bd6c4(0x96),_0x1bd6c4(0x94));return{'projectRoot':_0x3eaebc,'pagesBaseDir':_0x11226a,'appPagesDir':join(_0x11226a,_0x351445),'lockFilePath':join(_0x3eaebc,_0x1bd6c4(0x96),_0x1bd6c4(0x93))};}export function buildPageFileName(_0x324a82,_0x5c1cb4){const _0x1b3253=a245_0x1ba6c1;return _0x324a82+'-'+String(_0x5c1cb4)[_0x1b3253(0x99)]()+_0x1b3253(0x8a);}export function resolvePageFilePath(_0x3e94e4,_0x2b5b1e,_0x80c710){return join(_0x3e94e4['appPagesDir'],buildPageFileName(_0x2b5b1e,_0x80c710));}export async function ensureParentDirectory(_0x364a49){await mkdir(dirname(_0x364a49),{'recursive':!![]});}export async function fileExists(_0x27ef9e){const _0x4b3c16=a245_0x1ba6c1;try{return await access(_0x27ef9e,constants[_0x4b3c16(0x8c)]),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a246_0x4e60(_0x1d37b5,_0x32950e){_0x1d37b5=_0x1d37b5-0xa3;const _0x15ceef=a246_0x15ce();let _0x4e6012=_0x15ceef[_0x1d37b5];return _0x4e6012;}(function(_0x4ee99f,_0x1b8e3f){const _0x2a0def=a246_0x4e60,_0x5ca34f=_0x4ee99f();while(!![]){try{const _0x2343a3=parseInt(_0x2a0def(0xa6))/0x1+parseInt(_0x2a0def(0xab))/0x2*(parseInt(_0x2a0def(0xb0))/0x3)+parseInt(_0x2a0def(0xae))/0x4*(-parseInt(_0x2a0def(0xa5))/0x5)+parseInt(_0x2a0def(0xa8))/0x6*(parseInt(_0x2a0def(0xa3))/0x7)+-parseInt(_0x2a0def(0xac))/0x8+parseInt(_0x2a0def(0xaf))/0x9+parseInt(_0x2a0def(0xa4))/0xa;if(_0x2343a3===_0x1b8e3f)break;else _0x5ca34f['push'](_0x5ca34f['shift']());}catch(_0x3baa62){_0x5ca34f['push'](_0x5ca34f['shift']());}}}(a246_0x15ce,0x21d18));import a246_0x59a066 from'node:crypto';function a246_0x15ce(){const _0x1cd79d=['211938qyzzos','md5','digest','2CwegYu','699672bjaoOX','hex','404kxwbOh','706635xlHJfD','14241ZOtEAO','stringify','createHash','21mUKnWN','286020RqcLal','7610PTItlI','161868JvwOma','update'];a246_0x15ce=function(){return _0x1cd79d;};return a246_0x15ce();}import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0xb72f2c){const _0x31de29=a246_0x4e60;return JSON[_0x31de29(0xb1)](JSON['parse'](_0xb72f2c),null,0x2)+'\x0a';}export function computePageContentHash(_0x1067cb){const _0x553229=a246_0x4e60;return a246_0x59a066[_0x553229(0xb2)](_0x553229(0xa9))[_0x553229(0xa7)](_0x1067cb)[_0x553229(0xaa)](_0x553229(0xad));}export function computeSerializedSchemaHash(_0x5c4dbd){return computePageContentHash(serializePageSchemaForFile(_0x5c4dbd));}export async function computePageFileHash(_0xa5badb){const _0x2a7d3f=await readFile(_0xa5badb,'utf8');return computePageContentHash(_0x2a7d3f);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45f832,_0x1175bf){const _0xb34645=a247_0x4dfd,_0x2e5032=_0x45f832();while(!![]){try{const _0x7cec0e=-parseInt(_0xb34645(0x1b8))/0x1*(parseInt(_0xb34645(0x1bc))/0x2)+parseInt(_0xb34645(0x1ba))/0x3*(parseInt(_0xb34645(0x1b7))/0x4)+parseInt(_0xb34645(0x1bf))/0x5*(-parseInt(_0xb34645(0x1c7))/0x6)+-parseInt(_0xb34645(0x1c6))/0x7+parseInt(_0xb34645(0x1ca))/0x8+parseInt(_0xb34645(0x1c1))/0x9*(-parseInt(_0xb34645(0x1be))/0xa)+parseInt(_0xb34645(0x1c9))/0xb;if(_0x7cec0e===_0x1175bf)break;else _0x2e5032['push'](_0x2e5032['shift']());}catch(_0x2ad451){_0x2e5032['push'](_0x2e5032['shift']());}}}(a247_0x3b6d,0x76108));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}function a247_0x4dfd(_0x3df516,_0xa45f38){_0x3df516=_0x3df516-0x1b7;const _0x3b6d9f=a247_0x3b6d();let _0x4dfdf3=_0x3b6d9f[_0x3df516];return _0x4dfdf3;}export function ensurePageLockScope(_0x5cf4bf,_0x1f1cd1){const _0x590b44=a247_0x4dfd,_0x412789={'apps':_0x5cf4bf['apps']&&typeof _0x5cf4bf[_0x590b44(0x1c2)]===_0x590b44(0x1b9)?_0x5cf4bf['apps']:{}};let _0x413a6b=_0x412789['apps'][_0x1f1cd1];if(!_0x413a6b)return _0x413a6b={'lastSync':'','pages':{}},_0x412789['apps'][_0x1f1cd1]=_0x413a6b,{'lockData':_0x412789,'appLock':_0x413a6b};return!_0x413a6b['lastSync']&&(_0x413a6b[_0x590b44(0x1c3)]=''),(!_0x413a6b['pages']||typeof _0x413a6b['pages']!==_0x590b44(0x1b9))&&(_0x413a6b[_0x590b44(0x1bb)]={}),{'lockData':_0x412789,'appLock':_0x413a6b};}function a247_0x3b6d(){const _0x4550b3=['3PwNiBo','pages','106FqLcIZ','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','100WefaSl','10RrVjrU','parse','62892lwYOlc','apps','lastSync','utf8','ENOENT','4990832UbHpiy','52446YUxMtz','code','10767240qIavZi','3222304GBdxEv','1275316gMQSiF','7859kCBRFu','object'];a247_0x3b6d=function(){return _0x4550b3;};return a247_0x3b6d();}export async function readPageLockFile(_0x1ec7f2){const _0x2d0177=a247_0x4dfd;try{const _0x498245=await readFile(_0x1ec7f2,_0x2d0177(0x1c4)),_0x531129=JSON[_0x2d0177(0x1c0)](_0x498245);return{'apps':_0x531129[_0x2d0177(0x1c2)]&&typeof _0x531129[_0x2d0177(0x1c2)]===_0x2d0177(0x1b9)?_0x531129[_0x2d0177(0x1c2)]:{}};}catch(_0x3e1f33){if(_0x3e1f33[_0x2d0177(0x1c8)]===_0x2d0177(0x1c5))return null;throw new Error(_0x2d0177(0x1bd)+String(_0x3e1f33));}}export async function writePageLockFile(_0x2a19df,_0x27c3a3){const _0x4bc6f5=a247_0x4dfd;await mkdir(dirname(_0x2a19df),{'recursive':!![]}),await writeFile(_0x2a19df,JSON['stringify'](_0x27c3a3,null,0x2),_0x4bc6f5(0x1c4));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x948d21,_0x564f85){const _0x1d69fb=a243_0x517e,_0x2f1871=_0x948d21();while(!![]){try{const _0xa99bb9=parseInt(_0x1d69fb(0x1bb))/0x1+parseInt(_0x1d69fb(0x1de))/0x2*(parseInt(_0x1d69fb(0x1c5))/0x3)+-parseInt(_0x1d69fb(0x1f2))/0x4+parseInt(_0x1d69fb(0x1c4))/0x5+-parseInt(_0x1d69fb(0x1f7))/0x6+parseInt(_0x1d69fb(0x1e4))/0x7*(-parseInt(_0x1d69fb(0x1ce))/0x8)+-parseInt(_0x1d69fb(0x1e8))/0x9;if(_0xa99bb9===_0x564f85)break;else _0x2f1871['push'](_0x2f1871['shift']());}catch(_0x2b99a9){_0x2f1871['push'](_0x2f1871['shift']());}}}(a243_0x1906,0x93fb1));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x474766,_0x153c10){const _0x1d40c7=a243_0x517e,_0x4e8a1f=[],_0x878b7b=normalizeSqlForStaticAnalysis(_0x474766),_0x983468=(_0x878b7b[_0x1d40c7(0x1be)]?[]:extractJoinFacts(_0x878b7b[_0x1d40c7(0x1b8)]))[_0x1d40c7(0x1ed)](_0x4025d3=>{const _0x1cb77c=_0x1d40c7;if(_0x4025d3[_0x1cb77c(0x1d9)]||_0x4025d3[_0x1cb77c(0x1fa)][_0x1cb77c(0x1f6)]===0x0)return _0x4e8a1f['push']({'code':_0x1cb77c(0x1cc),'table':_0x4025d3['table'],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'reason':_0x4025d3[_0x1cb77c(0x1bd)]??_0x1cb77c(0x1c3)}),{'table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'status':'unavailable'};const _0x1e5f36=resolveTableMetadata(_0x153c10,_0x4025d3[_0x1cb77c(0x1d2)]),_0x15ff32=(_0x1e5f36?.[_0x1cb77c(0x1f3)]??[])['map'](_0x22c494=>({'index':_0x22c494,'matchedPrefix':findEqualityPrefix(_0x22c494[_0x1cb77c(0x1fa)],_0x4025d3['columns'])}))['filter'](_0x188647=>_0x188647[_0x1cb77c(0x1e7)]['length']>0x0),_0x5b44a9=_0x15ff32['reduce']((_0x278d48,_0x5d9a5e)=>!_0x278d48||_0x5d9a5e[_0x1cb77c(0x1e7)][_0x1cb77c(0x1f6)]>_0x278d48['matchedPrefix'][_0x1cb77c(0x1f6)]?_0x5d9a5e:_0x278d48,_0x15ff32[0x0]);if(_0x5b44a9)return{'table':_0x4025d3['table'],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'status':'covered','matchedIndex':{..._0x5b44a9['index'],'matchedPrefix':_0x5b44a9[_0x1cb77c(0x1e7)]}};const _0x16c166=_0x1e5f36?.['indexes'][_0x1cb77c(0x1d7)](_0xaf15ea=>_0xaf15ea[_0x1cb77c(0x1fa)][_0x1cb77c(0x1c6)](_0x35071c=>_0x4025d3['columns'][_0x1cb77c(0x1c6)](_0x5e8a77=>columnNamesMatch(_0x35071c,_0x5e8a77))))??[];if(_0x16c166['length']>0x0)return _0x4e8a1f['push']({'code':'JOIN_INDEX_NOT_USABLE','table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3['alias'],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'reason':_0x1cb77c(0x1f1)}),{'table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'status':_0x1cb77c(0x1d0),'candidateIndexes':_0x16c166};if(_0x1e5f36&&_0x1e5f36[_0x1cb77c(0x1f4)]!==![]&&_0x1e5f36[_0x1cb77c(0x1f3)][_0x1cb77c(0x1f6)]>0x0&&_0x4025d3[_0x1cb77c(0x1fa)][_0x1cb77c(0x1f6)]>0x0)return _0x4e8a1f[_0x1cb77c(0x1e5)]({'code':'JOIN_INDEX_MISSING','table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'reason':_0x1cb77c(0x1c9)}),{'table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'status':_0x1cb77c(0x1d0)};return _0x4e8a1f['push']({'code':_0x1cb77c(0x1df),'table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3[_0x1cb77c(0x1fa)],'reason':_0x1e5f36?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':_0x1cb77c(0x1d6)}),{'table':_0x4025d3[_0x1cb77c(0x1d2)],'alias':_0x4025d3[_0x1cb77c(0x1fb)],'columns':_0x4025d3['columns'],'status':_0x1cb77c(0x1ca)};});return{'checked':_0x983468['length']>0x0,'joins':_0x983468,'warnings':_0x4e8a1f};}function extractJoinFacts(_0x5baeba){const _0x374a6b=a243_0x517e,_0x4a3922=maskNestedQueries(stripSqlNoise(_0x5baeba)),_0x1d69f4=maskQuotedIdentifiers(_0x4a3922),_0x5e0718=[],_0x444a24=new Set(),_0x3aa4d3=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x24712b of _0x4a3922['matchAll'](_0x3aa4d3)){const _0x337a37=_0x24712b['index']??0x0,_0x3a0c4c=_0x24712b[0x0][_0x374a6b(0x1d8)](/\bJOIN\b/i),_0x468315=_0x337a37+Math[_0x374a6b(0x1c8)](0x0,_0x3a0c4c);if(!/^JOIN\b/i['test'](_0x1d69f4[_0x374a6b(0x1ef)](_0x468315)))continue;_0x444a24[_0x374a6b(0x1d3)](_0x468315);const _0x24fe5e=normalizeIdentifier(_0x24712b[0x1]||'INNER'),_0x527aae=normalizeIdentifier(_0x24712b[0x2]??''),_0x3c8630=normalizeIdentifier(_0x24712b[0x3]||_0x527aae['split']('.')['at'](-0x1)||_0x527aae),_0x1a1837=[],_0x45da6f=_0x527aae===_0x374a6b(0x1db);let _0x498c6a=_0x24fe5e===_0x374a6b(0x1d5)||_0x24fe5e===_0x374a6b(0x1f9)||_0x45da6f,_0x155424=_0x498c6a?_0x45da6f?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x24fe5e[_0x374a6b(0x1fc)]()+_0x374a6b(0x1c0):undefined;const _0x2e1d3c=stripOuterParentheses(_0x24712b[0x4]??''),_0x5165ec=_0x2e1d3c[_0x374a6b(0x1d1)](MYBATIS_DYNAMIC_START_MARKER)||_0x2e1d3c[_0x374a6b(0x1d1)](MYBATIS_DYNAMIC_END_MARKER),_0x36a7ad=_0x2e1d3c['includes'](MYBATIS_INCLUDE_MARKER);_0x5165ec&&(_0x498c6a=!![],_0x155424??='MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.');_0x36a7ad&&(_0x498c6a=!![],_0x155424??='MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.');const _0x31ff0a=_0x2e1d3c[_0x374a6b(0x1ee)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x374a6b(0x1ee)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x31ff0a,'OR')&&(_0x498c6a=!![],_0x155424??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x5d3b82 of splitTopLevelAnd(_0x31ff0a)){const _0xc86fa0=stripOuterParentheses(_0x5d3b82);if(hasTopLevelKeyword(_0xc86fa0,'OR')){_0x498c6a=!![],_0x155424??=_0x374a6b(0x1ba);continue;}const _0x2a361b=splitEquality(_0xc86fa0);if(!_0x2a361b){containsColumnReference(_0x5d3b82,_0x3c8630)&&(_0x498c6a=!![]);continue;}const _0x57f3ce=parseDirectColumnReference(_0x2a361b[0x0],_0x3c8630),_0x4db87a=parseDirectColumnReference(_0x2a361b[0x1],_0x3c8630),_0x2ba4a1=containsColumnReference(_0x2a361b[0x0],_0x3c8630),_0x541188=containsColumnReference(_0x2a361b[0x1],_0x3c8630),_0x2ce5a6=_0x57f3ce&&!_0x541188?_0x57f3ce:_0x4db87a&&!_0x2ba4a1?_0x4db87a:null;if(_0x2ce5a6&&!_0x1a1837[_0x374a6b(0x1d1)](_0x2ce5a6))_0x1a1837[_0x374a6b(0x1e5)](_0x2ce5a6);else!_0x2ce5a6&&containsColumnReference(_0x5d3b82,_0x3c8630)&&(_0x498c6a=!![]);}_0x5e0718[_0x374a6b(0x1e5)]({'table':_0x527aae,'alias':_0x3c8630,'columns':_0x1a1837,'unsupportedPredicate':_0x498c6a,'unsupportedReason':_0x155424,'containsUnresolvedInclude':_0x36a7ad,'position':_0x468315});}for(const _0x21d0be of _0x1d69f4[_0x374a6b(0x1cb)](/\bJOIN\b/gi)){const _0x163a04=_0x21d0be[_0x374a6b(0x1cf)]??0x0;if(_0x444a24['has'](_0x163a04))continue;const _0x460328=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x374a6b(0x1d4)](_0x4a3922[_0x374a6b(0x1ef)](_0x163a04+_0x21d0be[0x0][_0x374a6b(0x1f6)])),_0x5a5de8=normalizeIdentifier(_0x460328?.[0x1]||'unknown'),_0x551614=normalizeIdentifier(_0x460328?.[0x2]||''),_0x4b116e=isSqlClauseKeyword(_0x551614)?_0x5a5de8[_0x374a6b(0x1c1)]('.')['at'](-0x1)||_0x5a5de8:_0x551614||_0x5a5de8[_0x374a6b(0x1c1)]('.')['at'](-0x1)||_0x5a5de8;_0x5e0718[_0x374a6b(0x1e5)]({'table':_0x5a5de8,'alias':_0x4b116e,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x374a6b(0x1da),'position':_0x163a04});}const _0x392633=_0x1d69f4[_0x374a6b(0x1f5)](MYBATIS_INCLUDE_MARKER);return _0x392633>=0x0&&!_0x5e0718[_0x374a6b(0x1c6)](_0x990e42=>_0x990e42[_0x374a6b(0x1e3)])&&_0x5e0718[_0x374a6b(0x1e5)]({'table':'unknown','alias':_0x374a6b(0x1b9),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x392633}),_0x5e0718[_0x374a6b(0x1e2)]((_0x17ff7e,_0x2dcd1c)=>_0x17ff7e[_0x374a6b(0x1e9)]-_0x2dcd1c[_0x374a6b(0x1e9)]);}function stripSqlNoise(_0x34e5d1){const _0x4d7809=a243_0x517e,_0x35d55f=Array[_0x4d7809(0x1eb)](_0x34e5d1),_0x144666=(_0x4f5eb9,_0x358feb)=>{for(let _0x3c42d9=_0x4f5eb9;_0x3c42d9<_0x358feb;_0x3c42d9+=0x1){_0x35d55f[_0x3c42d9]!=='\x0a'&&_0x35d55f[_0x3c42d9]!=='\x0d'&&(_0x35d55f[_0x3c42d9]='\x20');}};for(let _0x1454bc=0x0;_0x1454bc<_0x35d55f[_0x4d7809(0x1f6)];_0x1454bc+=0x1){const _0x39f605=_0x35d55f[_0x1454bc],_0x5441b9=_0x35d55f[_0x1454bc+0x1];if(_0x39f605==='\x27'||_0x39f605==='\x22'||_0x39f605==='`'){const _0x1a8e66=_0x39f605,_0x4afd15=_0x1454bc;_0x1454bc+=0x1;while(_0x1454bc<_0x35d55f[_0x4d7809(0x1f6)]){if(_0x35d55f[_0x1454bc]==='\x5c'&&_0x1454bc+0x1<_0x35d55f['length']){_0x1454bc+=0x2;continue;}if(_0x35d55f[_0x1454bc]!==_0x1a8e66){_0x1454bc+=0x1;continue;}if(_0x35d55f[_0x1454bc+0x1]===_0x1a8e66){_0x1454bc+=0x2;continue;}break;}if(_0x1a8e66==='\x27')_0x144666(_0x4afd15,Math[_0x4d7809(0x1c2)](_0x1454bc+0x1,_0x35d55f[_0x4d7809(0x1f6)]));continue;}if(_0x39f605==='-'&&_0x5441b9==='-'){const _0x3e37ed=_0x1454bc;while(_0x1454bc<_0x35d55f['length']&&_0x35d55f[_0x1454bc]!=='\x0a')_0x1454bc+=0x1;_0x144666(_0x3e37ed,_0x1454bc);continue;}if(_0x39f605==='/'&&_0x5441b9==='*'){const _0x564cde=_0x1454bc;_0x1454bc+=0x2;while(_0x1454bc<_0x35d55f[_0x4d7809(0x1f6)]&&!(_0x35d55f[_0x1454bc]==='*'&&_0x35d55f[_0x1454bc+0x1]==='/')){_0x1454bc+=0x1;}_0x1454bc=Math[_0x4d7809(0x1c2)](_0x1454bc+0x1,_0x35d55f['length']-0x1),_0x144666(_0x564cde,_0x1454bc+0x1);continue;}if(_0x39f605==='#'&&_0x5441b9!=='{'){const _0x44141b=_0x1454bc;while(_0x1454bc<_0x35d55f['length']&&_0x35d55f[_0x1454bc]!=='\x0a')_0x1454bc+=0x1;_0x144666(_0x44141b,_0x1454bc);continue;}if((_0x39f605==='#'||_0x39f605==='$')&&_0x5441b9==='{'){const _0x420628=_0x1454bc;_0x1454bc+=0x2;while(_0x1454bc<_0x35d55f['length']&&_0x35d55f[_0x1454bc]!=='}')_0x1454bc+=0x1;_0x144666(_0x420628,Math[_0x4d7809(0x1c2)](_0x1454bc+0x1,_0x35d55f[_0x4d7809(0x1f6)]));}}return _0x35d55f['join']('');}function maskQuotedIdentifiers(_0x23f591){const _0x352221=a243_0x517e,_0x40c71b=Array[_0x352221(0x1eb)](_0x23f591);for(let _0x4e976e=0x0;_0x4e976e<_0x40c71b[_0x352221(0x1f6)];_0x4e976e+=0x1){const _0x256bda=_0x40c71b[_0x4e976e];if(_0x256bda!=='\x22'&&_0x256bda!=='`')continue;_0x4e976e+=0x1;while(_0x4e976e<_0x40c71b['length']){if(_0x40c71b[_0x4e976e]===_0x256bda){if(_0x40c71b[_0x4e976e+0x1]===_0x256bda){_0x40c71b[_0x4e976e]='\x20',_0x40c71b[_0x4e976e+0x1]='\x20',_0x4e976e+=0x2;continue;}break;}_0x40c71b[_0x4e976e]='\x20',_0x4e976e+=0x1;}}return _0x40c71b['join']('');}function maskNestedQueries(_0x58c79f){const _0x597484=a243_0x517e,_0x57b1e6=Array[_0x597484(0x1eb)](_0x58c79f);for(let _0x39d990=0x0;_0x39d990<_0x57b1e6[_0x597484(0x1f6)];_0x39d990+=0x1){if(_0x57b1e6[_0x39d990]!=='(')continue;const _0x235ea1=_0x58c79f[_0x597484(0x1ef)](_0x39d990+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x597484(0x1e6)](_0x235ea1))continue;let _0xd7df92=0x1,_0x97420b=_0x39d990+0x1;for(;_0x97420b<_0x57b1e6[_0x597484(0x1f6)]&&_0xd7df92>0x0;_0x97420b+=0x1){if(_0x57b1e6[_0x97420b]==='(')_0xd7df92+=0x1;if(_0x57b1e6[_0x97420b]===')')_0xd7df92-=0x1;}if(_0xd7df92!==0x0)continue;for(let _0x5628d1=_0x39d990;_0x5628d1<_0x97420b;_0x5628d1+=0x1){_0x57b1e6[_0x5628d1]='\x20';}const _0x186af6='__sq__';for(let _0x1d7254=0x0;_0x1d7254<_0x186af6[_0x597484(0x1f6)]&&_0x39d990+_0x1d7254<_0x97420b;_0x1d7254+=0x1){_0x57b1e6[_0x39d990+_0x1d7254]=_0x186af6[_0x1d7254];}_0x39d990=_0x97420b-0x1;}return _0x57b1e6[_0x597484(0x1cd)]('');}function a243_0x517e(_0x27b41b,_0x3f7863){_0x27b41b=_0x27b41b-0x1b8;const _0x190688=a243_0x1906();let _0x517e2e=_0x190688[_0x27b41b];return _0x517e2e;}function splitTopLevelAnd(_0x12a4a2){const _0x5133ae=a243_0x517e,_0x1b140d=[];let _0x27c0bb=0x0,_0x1d2457=0x0;for(let _0x149514=0x0;_0x149514<_0x12a4a2[_0x5133ae(0x1f6)];_0x149514+=0x1){const _0x3fbac3=_0x12a4a2[_0x149514];if(_0x3fbac3==='(')_0x27c0bb+=0x1;if(_0x3fbac3===')')_0x27c0bb=Math[_0x5133ae(0x1c8)](0x0,_0x27c0bb-0x1);_0x27c0bb===0x0&&_0x12a4a2['slice'](_0x149514)[_0x5133ae(0x1dc)](/^AND\b/i)&&(_0x149514===0x0||/\s/[_0x5133ae(0x1e6)](_0x12a4a2[_0x149514-0x1]??''))&&(_0x1b140d['push'](_0x12a4a2[_0x5133ae(0x1ef)](_0x1d2457,_0x149514)[_0x5133ae(0x1f0)]()),_0x149514+=0x2,_0x1d2457=_0x149514+0x1);}const _0x3b2984=_0x12a4a2[_0x5133ae(0x1ef)](_0x1d2457)[_0x5133ae(0x1f0)]();if(_0x3b2984)_0x1b140d[_0x5133ae(0x1e5)](_0x3b2984);return _0x1b140d;}function hasTopLevelKeyword(_0x179e4c,_0x32ea52){const _0x12650c=a243_0x517e;let _0x12a21f=0x0;for(let _0xad852f=0x0;_0xad852f<_0x179e4c[_0x12650c(0x1f6)];_0xad852f+=0x1){const _0x5447e4=_0x179e4c[_0xad852f];if(_0x5447e4==='(')_0x12a21f+=0x1;if(_0x5447e4===')')_0x12a21f=Math['max'](0x0,_0x12a21f-0x1);if(_0x12a21f!==0x0)continue;const _0x19e93f=_0x179e4c[_0x12650c(0x1ef)](_0xad852f,_0xad852f+_0x32ea52['length']),_0x5f5a65=_0x179e4c[_0xad852f-0x1]??'\x20',_0x11311b=_0x179e4c[_0xad852f+_0x32ea52[_0x12650c(0x1f6)]]??'\x20';if(_0x19e93f[_0x12650c(0x1fc)]()===_0x32ea52['toUpperCase']()&&!/[\w$]/['test'](_0x5f5a65)&&!/[\w$]/[_0x12650c(0x1e6)](_0x11311b))return!![];}return![];}function splitEquality(_0x2a60ea){const _0x505412=a243_0x517e,_0xf17a52=stripOuterParentheses(_0x2a60ea);let _0x36f169=0x0,_0x5a15cf;for(let _0x2a962b=0x0;_0x2a962b<_0xf17a52[_0x505412(0x1f6)];_0x2a962b+=0x1){const _0x25b295=_0xf17a52[_0x2a962b];if(_0x25b295==='(')_0x36f169+=0x1;if(_0x25b295===')')_0x36f169=Math[_0x505412(0x1c8)](0x0,_0x36f169-0x1);const _0x2b823a=_0xf17a52[_0x2a962b-0x1]??'',_0x520187=_0xf17a52[_0x2a962b+0x1]??'';if(_0x25b295==='='&&_0x36f169===0x0&&!/[!<>=:]/['test'](_0x2b823a)&&_0x520187!=='='){if(_0x5a15cf!==undefined)return null;_0x5a15cf=_0x2a962b;}}return _0x5a15cf===undefined?null:[_0xf17a52[_0x505412(0x1ef)](0x0,_0x5a15cf)[_0x505412(0x1f0)](),_0xf17a52[_0x505412(0x1ef)](_0x5a15cf+0x1)['trim']()];}function parseDirectColumnReference(_0x4b1e8a,_0x235a7f){const _0x1f3231=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x4b1e8a));if(!_0x1f3231)return null;if(normalizeIdentifier(_0x1f3231[0x1]??'')!==normalizeIdentifier(_0x235a7f))return null;return normalizeIdentifier(_0x1f3231[0x2]??'');}function containsColumnReference(_0x2baa19,_0x56bf72){const _0x3a0080=a243_0x517e,_0x5f54db=_0x2baa19[_0x3a0080(0x1ec)](/[`"]/g,''),_0x227645=_0x56bf72['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return new RegExp('(?:^|[^\x5cw$])'+_0x227645+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x3a0080(0x1e6)](_0x5f54db);}function findEqualityPrefix(_0x3a14e8,_0x18b2ae){const _0x32ef20=a243_0x517e,_0x5e1ab5=new Set(_0x18b2ae[_0x32ef20(0x1ed)](normalizeIdentifier)),_0x14fa5=[];for(const _0x1a2b1f of _0x3a14e8){if(!_0x5e1ab5[_0x32ef20(0x1dd)](normalizeIdentifier(_0x1a2b1f)))break;_0x14fa5[_0x32ef20(0x1e5)](_0x1a2b1f);}return _0x14fa5;}function resolveTableMetadata(_0x1d915e,_0x9d2850){const _0x2bc2a7=a243_0x517e,_0x4df310=normalizeIdentifier(_0x9d2850),_0x473395=_0x1d915e['filter'](_0x375ddc=>normalizeIdentifier(_0x375ddc[_0x2bc2a7(0x1bf)])===_0x4df310);if(_0x473395[_0x2bc2a7(0x1f6)]===0x1)return _0x473395[0x0];const _0x5a2a29=_0x4df310[_0x2bc2a7(0x1d1)]('.'),_0x231c2c=_0x4df310[_0x2bc2a7(0x1c1)]('.')['at'](-0x1),_0x62a91a=_0x1d915e[_0x2bc2a7(0x1d7)](_0x2ba256=>{const _0x165c23=_0x2bc2a7,_0x4409f3=normalizeIdentifier(_0x2ba256[_0x165c23(0x1bf)]);if(_0x5a2a29&&_0x4409f3['includes']('.'))return![];return _0x4409f3['split']('.')['at'](-0x1)===_0x231c2c;});return _0x62a91a['length']===0x1?_0x62a91a[0x0]:undefined;}function columnNamesMatch(_0x4901f7,_0x19baf7){return normalizeIdentifier(_0x4901f7)===normalizeIdentifier(_0x19baf7);}function normalizeIdentifier(_0x41605c){const _0x27bc68=a243_0x517e;return _0x41605c['replace'](/[`"]/g,'')[_0x27bc68(0x1f0)]()['toLowerCase']();}function isSqlClauseKeyword(_0xaf0b5c){const _0x4034fc=a243_0x517e;return new Set(['on','using','where',_0x4034fc(0x1cd),_0x4034fc(0x1f8),_0x4034fc(0x1e0),_0x4034fc(0x1d5),_0x4034fc(0x1f9),_0x4034fc(0x1bc),_0x4034fc(0x1c7)])['has'](_0xaf0b5c);}function a243_0x1906(){const _0x379a46=['error','tableName','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','split','min','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','5101465jyRCBk','600FgRFRi','some','natural','max','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','unavailable','matchAll','JOIN_PREDICATE_UNSUPPORTED','join','24xgJRol','index','warning','includes','table','add','exec','right','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','filter','search','unsupportedPredicate','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','__sq__','match','has','5594vZzeeR','INDEX_METADATA_UNAVAILABLE','left','endsWith','sort','containsUnresolvedInclude','838054rsXwgz','push','test','matchedPrefix','9445329bLAiTA','position','startsWith','from','replace','map','replaceAll','slice','trim','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','11516DUGYCn','indexes','metadataAvailable','indexOf','length','148938drVkjy','inner','full','columns','alias','toUpperCase','sql','unknown','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','462785ONwYcR','cross','unsupportedReason'];a243_0x1906=function(){return _0x379a46;};return a243_0x1906();}function stripOuterParentheses(_0x17f203){const _0x5d7b67=a243_0x517e;let _0x22c7eb=_0x17f203[_0x5d7b67(0x1f0)]();while(_0x22c7eb[_0x5d7b67(0x1ea)]('(')&&_0x22c7eb[_0x5d7b67(0x1e1)](')')){let _0x52a639=0x0,_0x122501=!![];for(let _0x44e156=0x0;_0x44e156<_0x22c7eb[_0x5d7b67(0x1f6)];_0x44e156+=0x1){if(_0x22c7eb[_0x44e156]==='(')_0x52a639+=0x1;if(_0x22c7eb[_0x44e156]===')')_0x52a639-=0x1;if(_0x52a639===0x0&&_0x44e156<_0x22c7eb['length']-0x1){_0x122501=![];break;}}if(!_0x122501||_0x52a639!==0x0)break;_0x22c7eb=_0x22c7eb[_0x5d7b67(0x1ef)](0x1,-0x1)[_0x5d7b67(0x1f0)]();}return _0x22c7eb;}
|
|
1
|
+
(function(_0x37a48f,_0x27ffc3){const _0x3bd5b8=a249_0x2a7a,_0x15d61d=_0x37a48f();while(!![]){try{const _0x448e07=-parseInt(_0x3bd5b8(0x126))/0x1+parseInt(_0x3bd5b8(0x110))/0x2+-parseInt(_0x3bd5b8(0x124))/0x3*(-parseInt(_0x3bd5b8(0x144))/0x4)+-parseInt(_0x3bd5b8(0x14a))/0x5+parseInt(_0x3bd5b8(0x123))/0x6+parseInt(_0x3bd5b8(0x109))/0x7+-parseInt(_0x3bd5b8(0x11d))/0x8;if(_0x448e07===_0x27ffc3)break;else _0x15d61d['push'](_0x15d61d['shift']());}catch(_0x15d192){_0x15d61d['push'](_0x15d61d['shift']());}}}(a249_0x22ad,0x467cc));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x54551d,_0x4290fb){const _0x456893=a249_0x2a7a,_0x33e150=[],_0x2c0d80=normalizeSqlForStaticAnalysis(_0x54551d),_0x2cef88=(_0x2c0d80[_0x456893(0x141)]?[]:extractJoinFacts(_0x2c0d80[_0x456893(0x10b)]))[_0x456893(0x130)](_0x3f48c1=>{const _0x4f345f=_0x456893;if(_0x3f48c1['unsupportedPredicate']||_0x3f48c1[_0x4f345f(0x133)][_0x4f345f(0x115)]===0x0)return _0x33e150[_0x4f345f(0x10d)]({'code':_0x4f345f(0x12c),'table':_0x3f48c1['table'],'alias':_0x3f48c1['alias'],'columns':_0x3f48c1[_0x4f345f(0x133)],'reason':_0x3f48c1['unsupportedReason']??_0x4f345f(0x106)}),{'table':_0x3f48c1[_0x4f345f(0x12e)],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'status':_0x4f345f(0x134)};const _0x390335=resolveTableMetadata(_0x4290fb,_0x3f48c1[_0x4f345f(0x12e)]),_0x2146b4=(_0x390335?.[_0x4f345f(0x11e)]??[])['map'](_0x8888d=>({'index':_0x8888d,'matchedPrefix':findEqualityPrefix(_0x8888d['columns'],_0x3f48c1['columns'])}))[_0x4f345f(0x129)](_0x91c907=>_0x91c907[_0x4f345f(0x149)]['length']>0x0),_0x27c574=_0x2146b4[_0x4f345f(0x128)]((_0x5ae464,_0x1de522)=>!_0x5ae464||_0x1de522[_0x4f345f(0x149)][_0x4f345f(0x115)]>_0x5ae464['matchedPrefix']['length']?_0x1de522:_0x5ae464,_0x2146b4[0x0]);if(_0x27c574)return{'table':_0x3f48c1[_0x4f345f(0x12e)],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'status':'covered','matchedIndex':{..._0x27c574[_0x4f345f(0x11f)],'matchedPrefix':_0x27c574[_0x4f345f(0x149)]}};const _0x4abe59=_0x390335?.['indexes'][_0x4f345f(0x129)](_0x24a016=>_0x24a016[_0x4f345f(0x133)][_0x4f345f(0x10f)](_0x11a94c=>_0x3f48c1['columns'][_0x4f345f(0x10f)](_0x5cf572=>columnNamesMatch(_0x11a94c,_0x5cf572))))??[];if(_0x4abe59[_0x4f345f(0x115)]>0x0)return _0x33e150['push']({'code':'JOIN_INDEX_NOT_USABLE','table':_0x3f48c1['table'],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1['columns'],'reason':'Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.'}),{'table':_0x3f48c1[_0x4f345f(0x12e)],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'status':_0x4f345f(0x14e),'candidateIndexes':_0x4abe59};if(_0x390335&&_0x390335[_0x4f345f(0x13b)]!==![]&&_0x390335[_0x4f345f(0x11e)]['length']>0x0&&_0x3f48c1['columns']['length']>0x0)return _0x33e150[_0x4f345f(0x10d)]({'code':'JOIN_INDEX_MISSING','table':_0x3f48c1['table'],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0x3f48c1[_0x4f345f(0x12e)],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'status':_0x4f345f(0x14e)};return _0x33e150[_0x4f345f(0x10d)]({'code':_0x4f345f(0x138),'table':_0x3f48c1['table'],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'reason':_0x390335?_0x4f345f(0x107):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x3f48c1[_0x4f345f(0x12e)],'alias':_0x3f48c1[_0x4f345f(0x12d)],'columns':_0x3f48c1[_0x4f345f(0x133)],'status':_0x4f345f(0x134)};});return{'checked':_0x2cef88[_0x456893(0x115)]>0x0,'joins':_0x2cef88,'warnings':_0x33e150};}function extractJoinFacts(_0x13cac5){const _0x455edf=a249_0x2a7a,_0x15fc47=maskNestedQueries(stripSqlNoise(_0x13cac5)),_0x2dee89=maskQuotedIdentifiers(_0x15fc47),_0x3ba370=[],_0x17d9b4=new Set(),_0x1541f4=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0xfca3ec of _0x15fc47[_0x455edf(0x125)](_0x1541f4)){const _0x2d73a5=_0xfca3ec[_0x455edf(0x11f)]??0x0,_0xd03863=_0xfca3ec[0x0]['search'](/\bJOIN\b/i),_0xc4a0d4=_0x2d73a5+Math[_0x455edf(0x131)](0x0,_0xd03863);if(!/^JOIN\b/i[_0x455edf(0x14c)](_0x2dee89['slice'](_0xc4a0d4)))continue;_0x17d9b4[_0x455edf(0x140)](_0xc4a0d4);const _0xe59577=normalizeIdentifier(_0xfca3ec[0x1]||_0x455edf(0x136)),_0xad0fa4=normalizeIdentifier(_0xfca3ec[0x2]??''),_0x40cedd=normalizeIdentifier(_0xfca3ec[0x3]||_0xad0fa4[_0x455edf(0x147)]('.')['at'](-0x1)||_0xad0fa4),_0x3f3a33=[],_0x289c1a=_0xad0fa4===_0x455edf(0x143);let _0x533252=_0xe59577===_0x455edf(0x14d)||_0xe59577===_0x455edf(0x11a)||_0x289c1a,_0x5e9073=_0x533252?_0x289c1a?_0x455edf(0x142):_0xe59577[_0x455edf(0x145)]()+_0x455edf(0x112):undefined;const _0x22f46f=stripOuterParentheses(_0xfca3ec[0x4]??''),_0x1ecd3f=_0x22f46f[_0x455edf(0x13c)](MYBATIS_DYNAMIC_START_MARKER)||_0x22f46f[_0x455edf(0x13c)](MYBATIS_DYNAMIC_END_MARKER),_0x566ed8=_0x22f46f[_0x455edf(0x13c)](MYBATIS_INCLUDE_MARKER);_0x1ecd3f&&(_0x533252=!![],_0x5e9073??=_0x455edf(0x11c));_0x566ed8&&(_0x533252=!![],_0x5e9073??=_0x455edf(0x121));const _0x434885=_0x22f46f[_0x455edf(0x113)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x455edf(0x113)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x455edf(0x113)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x434885,'OR')&&(_0x533252=!![],_0x5e9073??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x1ed959 of splitTopLevelAnd(_0x434885)){const _0x2f56e3=stripOuterParentheses(_0x1ed959);if(hasTopLevelKeyword(_0x2f56e3,'OR')){_0x533252=!![],_0x5e9073??=_0x455edf(0x10c);continue;}const _0x158a4e=splitEquality(_0x2f56e3);if(!_0x158a4e){containsColumnReference(_0x1ed959,_0x40cedd)&&(_0x533252=!![]);continue;}const _0xca6a34=parseDirectColumnReference(_0x158a4e[0x0],_0x40cedd),_0xd76795=parseDirectColumnReference(_0x158a4e[0x1],_0x40cedd),_0x5d83c8=containsColumnReference(_0x158a4e[0x0],_0x40cedd),_0x16ab52=containsColumnReference(_0x158a4e[0x1],_0x40cedd),_0x167f21=_0xca6a34&&!_0x16ab52?_0xca6a34:_0xd76795&&!_0x5d83c8?_0xd76795:null;if(_0x167f21&&!_0x3f3a33[_0x455edf(0x13c)](_0x167f21))_0x3f3a33[_0x455edf(0x10d)](_0x167f21);else!_0x167f21&&containsColumnReference(_0x1ed959,_0x40cedd)&&(_0x533252=!![]);}_0x3ba370['push']({'table':_0xad0fa4,'alias':_0x40cedd,'columns':_0x3f3a33,'unsupportedPredicate':_0x533252,'unsupportedReason':_0x5e9073,'containsUnresolvedInclude':_0x566ed8,'position':_0xc4a0d4});}for(const _0x32e2a3 of _0x2dee89[_0x455edf(0x125)](/\bJOIN\b/gi)){const _0x7d52ed=_0x32e2a3[_0x455edf(0x11f)]??0x0;if(_0x17d9b4[_0x455edf(0x116)](_0x7d52ed))continue;const _0x18be16=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x455edf(0x13e)](_0x15fc47[_0x455edf(0x10e)](_0x7d52ed+_0x32e2a3[0x0][_0x455edf(0x115)])),_0x1067c7=normalizeIdentifier(_0x18be16?.[0x1]||_0x455edf(0x127)),_0x2ea0a3=normalizeIdentifier(_0x18be16?.[0x2]||''),_0x147438=isSqlClauseKeyword(_0x2ea0a3)?_0x1067c7[_0x455edf(0x147)]('.')['at'](-0x1)||_0x1067c7:_0x2ea0a3||_0x1067c7[_0x455edf(0x147)]('.')['at'](-0x1)||_0x1067c7;_0x3ba370[_0x455edf(0x10d)]({'table':_0x1067c7,'alias':_0x147438,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x455edf(0x14b),'position':_0x7d52ed});}const _0x3fd78c=_0x2dee89[_0x455edf(0x118)](MYBATIS_INCLUDE_MARKER);return _0x3fd78c>=0x0&&!_0x3ba370[_0x455edf(0x10f)](_0x42b3bc=>_0x42b3bc[_0x455edf(0x122)])&&_0x3ba370['push']({'table':_0x455edf(0x127),'alias':_0x455edf(0x127),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x455edf(0x12f),'containsUnresolvedInclude':!![],'position':_0x3fd78c}),_0x3ba370[_0x455edf(0x105)]((_0x370920,_0x3a31fc)=>_0x370920[_0x455edf(0x120)]-_0x3a31fc['position']);}function stripSqlNoise(_0x3e8e30){const _0x16e1f3=a249_0x2a7a,_0x292b52=Array['from'](_0x3e8e30),_0x3ae1f2=(_0x32ae11,_0x5e2a77)=>{for(let _0x116c80=_0x32ae11;_0x116c80<_0x5e2a77;_0x116c80+=0x1){_0x292b52[_0x116c80]!=='\x0a'&&_0x292b52[_0x116c80]!=='\x0d'&&(_0x292b52[_0x116c80]='\x20');}};for(let _0x4fa1e2=0x0;_0x4fa1e2<_0x292b52[_0x16e1f3(0x115)];_0x4fa1e2+=0x1){const _0x3890ca=_0x292b52[_0x4fa1e2],_0x2e6b17=_0x292b52[_0x4fa1e2+0x1];if(_0x3890ca==='\x27'||_0x3890ca==='\x22'||_0x3890ca==='`'){const _0x3c8ab3=_0x3890ca,_0x19d016=_0x4fa1e2;_0x4fa1e2+=0x1;while(_0x4fa1e2<_0x292b52[_0x16e1f3(0x115)]){if(_0x292b52[_0x4fa1e2]==='\x5c'&&_0x4fa1e2+0x1<_0x292b52[_0x16e1f3(0x115)]){_0x4fa1e2+=0x2;continue;}if(_0x292b52[_0x4fa1e2]!==_0x3c8ab3){_0x4fa1e2+=0x1;continue;}if(_0x292b52[_0x4fa1e2+0x1]===_0x3c8ab3){_0x4fa1e2+=0x2;continue;}break;}if(_0x3c8ab3==='\x27')_0x3ae1f2(_0x19d016,Math['min'](_0x4fa1e2+0x1,_0x292b52[_0x16e1f3(0x115)]));continue;}if(_0x3890ca==='-'&&_0x2e6b17==='-'){const _0x822f5c=_0x4fa1e2;while(_0x4fa1e2<_0x292b52[_0x16e1f3(0x115)]&&_0x292b52[_0x4fa1e2]!=='\x0a')_0x4fa1e2+=0x1;_0x3ae1f2(_0x822f5c,_0x4fa1e2);continue;}if(_0x3890ca==='/'&&_0x2e6b17==='*'){const _0x4f8fe6=_0x4fa1e2;_0x4fa1e2+=0x2;while(_0x4fa1e2<_0x292b52['length']&&!(_0x292b52[_0x4fa1e2]==='*'&&_0x292b52[_0x4fa1e2+0x1]==='/')){_0x4fa1e2+=0x1;}_0x4fa1e2=Math[_0x16e1f3(0x12b)](_0x4fa1e2+0x1,_0x292b52['length']-0x1),_0x3ae1f2(_0x4f8fe6,_0x4fa1e2+0x1);continue;}if(_0x3890ca==='#'&&_0x2e6b17!=='{'){const _0x1cdbcc=_0x4fa1e2;while(_0x4fa1e2<_0x292b52[_0x16e1f3(0x115)]&&_0x292b52[_0x4fa1e2]!=='\x0a')_0x4fa1e2+=0x1;_0x3ae1f2(_0x1cdbcc,_0x4fa1e2);continue;}if((_0x3890ca==='#'||_0x3890ca==='$')&&_0x2e6b17==='{'){const _0xc5ff40=_0x4fa1e2;_0x4fa1e2+=0x2;while(_0x4fa1e2<_0x292b52[_0x16e1f3(0x115)]&&_0x292b52[_0x4fa1e2]!=='}')_0x4fa1e2+=0x1;_0x3ae1f2(_0xc5ff40,Math['min'](_0x4fa1e2+0x1,_0x292b52[_0x16e1f3(0x115)]));}}return _0x292b52[_0x16e1f3(0x13d)]('');}function maskQuotedIdentifiers(_0x18a45f){const _0x2b28c6=a249_0x2a7a,_0x726cb5=Array[_0x2b28c6(0x139)](_0x18a45f);for(let _0x17a28e=0x0;_0x17a28e<_0x726cb5[_0x2b28c6(0x115)];_0x17a28e+=0x1){const _0x24d5ee=_0x726cb5[_0x17a28e];if(_0x24d5ee!=='\x22'&&_0x24d5ee!=='`')continue;_0x17a28e+=0x1;while(_0x17a28e<_0x726cb5[_0x2b28c6(0x115)]){if(_0x726cb5[_0x17a28e]===_0x24d5ee){if(_0x726cb5[_0x17a28e+0x1]===_0x24d5ee){_0x726cb5[_0x17a28e]='\x20',_0x726cb5[_0x17a28e+0x1]='\x20',_0x17a28e+=0x2;continue;}break;}_0x726cb5[_0x17a28e]='\x20',_0x17a28e+=0x1;}}return _0x726cb5[_0x2b28c6(0x13d)]('');}function maskNestedQueries(_0x9d1f13){const _0x58f9e9=a249_0x2a7a,_0x1e21ed=Array['from'](_0x9d1f13);for(let _0x18ef0a=0x0;_0x18ef0a<_0x1e21ed[_0x58f9e9(0x115)];_0x18ef0a+=0x1){if(_0x1e21ed[_0x18ef0a]!=='(')continue;const _0x5e8011=_0x9d1f13[_0x58f9e9(0x10e)](_0x18ef0a+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x58f9e9(0x14c)](_0x5e8011))continue;let _0x6da6fe=0x1,_0x1afcc4=_0x18ef0a+0x1;for(;_0x1afcc4<_0x1e21ed['length']&&_0x6da6fe>0x0;_0x1afcc4+=0x1){if(_0x1e21ed[_0x1afcc4]==='(')_0x6da6fe+=0x1;if(_0x1e21ed[_0x1afcc4]===')')_0x6da6fe-=0x1;}if(_0x6da6fe!==0x0)continue;for(let _0x2d7573=_0x18ef0a;_0x2d7573<_0x1afcc4;_0x2d7573+=0x1){_0x1e21ed[_0x2d7573]='\x20';}const _0x334978=_0x58f9e9(0x143);for(let _0x330619=0x0;_0x330619<_0x334978[_0x58f9e9(0x115)]&&_0x18ef0a+_0x330619<_0x1afcc4;_0x330619+=0x1){_0x1e21ed[_0x18ef0a+_0x330619]=_0x334978[_0x330619];}_0x18ef0a=_0x1afcc4-0x1;}return _0x1e21ed['join']('');}function splitTopLevelAnd(_0x5af33c){const _0x335860=a249_0x2a7a,_0x56193a=[];let _0x27c180=0x0,_0x47a879=0x0;for(let _0x5cba78=0x0;_0x5cba78<_0x5af33c[_0x335860(0x115)];_0x5cba78+=0x1){const _0x39462d=_0x5af33c[_0x5cba78];if(_0x39462d==='(')_0x27c180+=0x1;if(_0x39462d===')')_0x27c180=Math[_0x335860(0x131)](0x0,_0x27c180-0x1);_0x27c180===0x0&&_0x5af33c['slice'](_0x5cba78)[_0x335860(0x146)](/^AND\b/i)&&(_0x5cba78===0x0||/\s/[_0x335860(0x14c)](_0x5af33c[_0x5cba78-0x1]??''))&&(_0x56193a[_0x335860(0x10d)](_0x5af33c[_0x335860(0x10e)](_0x47a879,_0x5cba78)['trim']()),_0x5cba78+=0x2,_0x47a879=_0x5cba78+0x1);}const _0x91351e=_0x5af33c[_0x335860(0x10e)](_0x47a879)[_0x335860(0x108)]();if(_0x91351e)_0x56193a[_0x335860(0x10d)](_0x91351e);return _0x56193a;}function a249_0x2a7a(_0x266858,_0xb9f94f){_0x266858=_0x266858-0x105;const _0x22ad1b=a249_0x22ad();let _0x2a7a14=_0x22ad1b[_0x266858];return _0x2a7a14;}function hasTopLevelKeyword(_0x1642c5,_0x26d268){const _0x2469ff=a249_0x2a7a;let _0x4da69f=0x0;for(let _0x2942e2=0x0;_0x2942e2<_0x1642c5[_0x2469ff(0x115)];_0x2942e2+=0x1){const _0x3b59ca=_0x1642c5[_0x2942e2];if(_0x3b59ca==='(')_0x4da69f+=0x1;if(_0x3b59ca===')')_0x4da69f=Math[_0x2469ff(0x131)](0x0,_0x4da69f-0x1);if(_0x4da69f!==0x0)continue;const _0x55e650=_0x1642c5[_0x2469ff(0x10e)](_0x2942e2,_0x2942e2+_0x26d268['length']),_0xdb1751=_0x1642c5[_0x2942e2-0x1]??'\x20',_0x349ae9=_0x1642c5[_0x2942e2+_0x26d268['length']]??'\x20';if(_0x55e650[_0x2469ff(0x145)]()===_0x26d268[_0x2469ff(0x145)]()&&!/[\w$]/[_0x2469ff(0x14c)](_0xdb1751)&&!/[\w$]/[_0x2469ff(0x14c)](_0x349ae9))return!![];}return![];}function splitEquality(_0x5305e0){const _0x192c32=a249_0x2a7a,_0x960867=stripOuterParentheses(_0x5305e0);let _0x3d1f1d=0x0,_0xe9febf;for(let _0x274f25=0x0;_0x274f25<_0x960867[_0x192c32(0x115)];_0x274f25+=0x1){const _0x917562=_0x960867[_0x274f25];if(_0x917562==='(')_0x3d1f1d+=0x1;if(_0x917562===')')_0x3d1f1d=Math[_0x192c32(0x131)](0x0,_0x3d1f1d-0x1);const _0x8d8265=_0x960867[_0x274f25-0x1]??'',_0x1520ee=_0x960867[_0x274f25+0x1]??'';if(_0x917562==='='&&_0x3d1f1d===0x0&&!/[!<>=:]/[_0x192c32(0x14c)](_0x8d8265)&&_0x1520ee!=='='){if(_0xe9febf!==undefined)return null;_0xe9febf=_0x274f25;}}return _0xe9febf===undefined?null:[_0x960867[_0x192c32(0x10e)](0x0,_0xe9febf)[_0x192c32(0x108)](),_0x960867[_0x192c32(0x10e)](_0xe9febf+0x1)[_0x192c32(0x108)]()];}function parseDirectColumnReference(_0x5c29cd,_0x53d1fd){const _0x208500=a249_0x2a7a,_0x49e3be=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x208500(0x13e)](stripOuterParentheses(_0x5c29cd));if(!_0x49e3be)return null;if(normalizeIdentifier(_0x49e3be[0x1]??'')!==normalizeIdentifier(_0x53d1fd))return null;return normalizeIdentifier(_0x49e3be[0x2]??'');}function a249_0x22ad(){const _0x141eeb=['Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','__sq__','24uLkCXV','toUpperCase','match','split','where','matchedPrefix','548825dQOxJi','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','test','right','warning','sort','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','trim','3670877MVEmvn','\x5cs*\x5c.\x5cs*[\x5cw$]+','sql','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','push','slice','some','570184VcNrJo','startsWith','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','replaceAll','inner','length','has','(?:^|[^\x5cw$])','indexOf','natural','full','cross','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','3237336NeBumY','indexes','index','position','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','containsUnresolvedInclude','1212708RzuUSV','180471UDMnbP','matchAll','569415edDCsZ','unknown','reduce','filter','using','min','JOIN_PREDICATE_UNSUPPORTED','alias','table','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','map','max','endsWith','columns','unavailable','tableName','INNER','toLowerCase','INDEX_METADATA_UNAVAILABLE','from','left','metadataAvailable','includes','join','exec','\x5c$&','add','error'];a249_0x22ad=function(){return _0x141eeb;};return a249_0x22ad();}function containsColumnReference(_0x2f0851,_0x323e9c){const _0x15988b=a249_0x2a7a,_0x4bf79b=_0x2f0851['replace'](/[`"]/g,''),_0x15e8a7=_0x323e9c['replace'](/[.*+?^${}()|[\]\\]/g,_0x15988b(0x13f));return new RegExp(_0x15988b(0x117)+_0x15e8a7+_0x15988b(0x10a),'i')[_0x15988b(0x14c)](_0x4bf79b);}function findEqualityPrefix(_0x25b24f,_0x2e60ce){const _0x180d29=a249_0x2a7a,_0x23efa0=new Set(_0x2e60ce['map'](normalizeIdentifier)),_0x1b8aef=[];for(const _0x8fa31 of _0x25b24f){if(!_0x23efa0[_0x180d29(0x116)](normalizeIdentifier(_0x8fa31)))break;_0x1b8aef[_0x180d29(0x10d)](_0x8fa31);}return _0x1b8aef;}function resolveTableMetadata(_0x4bd4a1,_0x4cc3e5){const _0x38a387=a249_0x2a7a,_0x27aeba=normalizeIdentifier(_0x4cc3e5),_0x5093df=_0x4bd4a1[_0x38a387(0x129)](_0x4550f7=>normalizeIdentifier(_0x4550f7[_0x38a387(0x135)])===_0x27aeba);if(_0x5093df[_0x38a387(0x115)]===0x1)return _0x5093df[0x0];const _0x112a93=_0x27aeba[_0x38a387(0x13c)]('.'),_0x3282ca=_0x27aeba[_0x38a387(0x147)]('.')['at'](-0x1),_0x298236=_0x4bd4a1['filter'](_0x599aac=>{const _0x2eaa78=_0x38a387,_0x3080df=normalizeIdentifier(_0x599aac[_0x2eaa78(0x135)]);if(_0x112a93&&_0x3080df[_0x2eaa78(0x13c)]('.'))return![];return _0x3080df[_0x2eaa78(0x147)]('.')['at'](-0x1)===_0x3282ca;});return _0x298236[_0x38a387(0x115)]===0x1?_0x298236[0x0]:undefined;}function columnNamesMatch(_0x1b48d3,_0x5f31bd){return normalizeIdentifier(_0x1b48d3)===normalizeIdentifier(_0x5f31bd);}function normalizeIdentifier(_0x39f5a0){const _0x892d56=a249_0x2a7a;return _0x39f5a0['replace'](/[`"]/g,'')['trim']()[_0x892d56(0x137)]();}function isSqlClauseKeyword(_0x1d9b33){const _0x147039=a249_0x2a7a;return new Set(['on',_0x147039(0x12a),_0x147039(0x148),_0x147039(0x13d),_0x147039(0x114),_0x147039(0x13a),'right','full',_0x147039(0x11b),_0x147039(0x119)])[_0x147039(0x116)](_0x1d9b33);}function stripOuterParentheses(_0x5b37ef){const _0x35efa6=a249_0x2a7a;let _0x33421b=_0x5b37ef[_0x35efa6(0x108)]();while(_0x33421b[_0x35efa6(0x111)]('(')&&_0x33421b[_0x35efa6(0x132)](')')){let _0x595af0=0x0,_0xffe632=!![];for(let _0x33dc94=0x0;_0x33dc94<_0x33421b[_0x35efa6(0x115)];_0x33dc94+=0x1){if(_0x33421b[_0x33dc94]==='(')_0x595af0+=0x1;if(_0x33421b[_0x33dc94]===')')_0x595af0-=0x1;if(_0x595af0===0x0&&_0x33dc94<_0x33421b[_0x35efa6(0x115)]-0x1){_0xffe632=![];break;}}if(!_0xffe632||_0x595af0!==0x0)break;_0x33421b=_0x33421b[_0x35efa6(0x10e)](0x1,-0x1)[_0x35efa6(0x108)]();}return _0x33421b;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a250_0x2cba49=a250_0x550a;function a250_0x550a(_0x201da3,_0x1c8875){_0x201da3=_0x201da3-0xdc;const _0x190b65=a250_0x190b();let _0x550a58=_0x190b65[_0x201da3];return _0x550a58;}(function(_0x1840c8,_0x2bac1d){const _0x23ec98=a250_0x550a,_0x2f3dc1=_0x1840c8();while(!![]){try{const _0x4a6350=parseInt(_0x23ec98(0xe2))/0x1+-parseInt(_0x23ec98(0xe4))/0x2+parseInt(_0x23ec98(0xe6))/0x3+parseInt(_0x23ec98(0xdc))/0x4+parseInt(_0x23ec98(0xde))/0x5+-parseInt(_0x23ec98(0xe3))/0x6+-parseInt(_0x23ec98(0xe5))/0x7;if(_0x4a6350===_0x2bac1d)break;else _0x2f3dc1['push'](_0x2f3dc1['shift']());}catch(_0x5d18e1){_0x2f3dc1['push'](_0x2f3dc1['shift']());}}}(a250_0x190b,0x3e48b));import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';function a250_0x190b(){const _0x2e116f=['sql.lock.json','1569305YfTMFs','sql-trash','.rabetbase','/sql','75893DspjAI','1219092qWNuHe','151166Tebelz','1271942WhytrU','786864UTnEDi','254176FSHZtG'];a250_0x190b=function(){return _0x2e116f;};return a250_0x190b();}const DOT_DIR=a250_0x2cba49(0xe0),LOCK_FILE_NAME=a250_0x2cba49(0xdd),TRASH_DIR_NAME=a250_0x2cba49(0xdf);export function loadSqlProjectConfig(_0x5c1bd7,_0x250041){const _0x23eb6f=a250_0x2cba49,_0x3f26d9=resolve(_0x250041??findProjectRootDirectory()),_0x15a904=DOT_DIR+_0x23eb6f(0xe1),_0x4b44da=_0x15a904+'/'+_0x5c1bd7;return{'projectRoot':_0x3f26d9,'appCode':_0x5c1bd7,'sqlWorkspaceRoot':_0x15a904,'sqlRoot':_0x4b44da,'sqlRootDir':resolve(_0x3f26d9,DOT_DIR,'sql',_0x5c1bd7),'lockFilePath':resolve(_0x3f26d9,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x3f26d9,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a251_0x34ea(){const _0x2aa500=['212855REaxZP','10ntqPvO','dbId','mode','95310QtmJBr','split','1aoXOlw','filter','sql','name','sqlCode','sqlRootDir','899008PaTbvv','ENOENT','path','test','length','60xyawkr','12nhSUIz','.sql','1664689gwuOBw','.xml','sqlName','isDirectory','181322Jaqzlo','slice','isFile','mybatisXml','8FPrwkq','910464XFwSFH','966329gogAuq','4ZUFWsi','replace','dbName','toLowerCase'];a251_0x34ea=function(){return _0x2aa500;};return a251_0x34ea();}(function(_0x32f941,_0x55ef23){const _0x5b80a0=a251_0x4da0,_0x2bda81=_0x32f941();while(!![]){try{const _0xc6aa24=parseInt(_0x5b80a0(0x1e8))/0x1*(parseInt(_0x5b80a0(0x1d7))/0x2)+-parseInt(_0x5b80a0(0x1dc))/0x3*(parseInt(_0x5b80a0(0x1de))/0x4)+-parseInt(_0x5b80a0(0x1e2))/0x5*(-parseInt(_0x5b80a0(0x1d0))/0x6)+parseInt(_0x5b80a0(0x1dd))/0x7+-parseInt(_0x5b80a0(0x1db))/0x8*(parseInt(_0x5b80a0(0x1e6))/0x9)+-parseInt(_0x5b80a0(0x1e3))/0xa*(-parseInt(_0x5b80a0(0x1ee))/0xb)+-parseInt(_0x5b80a0(0x1d1))/0xc*(parseInt(_0x5b80a0(0x1d3))/0xd);if(_0xc6aa24===_0x55ef23)break;else _0x2bda81['push'](_0x2bda81['shift']());}catch(_0x10116f){_0x2bda81['push'](_0x2bda81['shift']());}}}(a251_0x34ea,0x47c7f));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x48e8b7){const _0x276af4=a251_0x4da0;if(_0x48e8b7===_0x276af4(0x1d2))return _0x276af4(0x1ea);if(_0x48e8b7===_0x276af4(0x1d4))return _0x276af4(0x1da);return undefined;}async function scanSqlFilesRecursively(_0x1854bb,_0x306e9d){const _0x274607=a251_0x4da0,_0x32d904=[];try{const _0x57856c=await readdir(_0x1854bb,{'withFileTypes':!![]});for(const _0x4140a5 of _0x57856c){const _0x5d8ba1=join(_0x1854bb,_0x4140a5[_0x274607(0x1eb)]);if(_0x4140a5[_0x274607(0x1d6)]()){_0x32d904['push'](...await scanSqlFilesRecursively(_0x5d8ba1,_0x306e9d));continue;}if(!_0x4140a5[_0x274607(0x1d9)]())continue;const _0x128ce2=extname(_0x4140a5[_0x274607(0x1eb)])[_0x274607(0x1e1)](),_0xd0c575=extensionToMode(_0x128ce2);if(!_0xd0c575)continue;const _0x344e8e=relative(_0x306e9d,_0x5d8ba1)[_0x274607(0x1df)](/\\/g,'/'),_0x46b477=_0x344e8e[_0x274607(0x1e7)]('/')[_0x274607(0x1e9)](Boolean),_0x4450f3=parseSqlPath(_0x46b477,_0x4140a5['name'],_0x128ce2);if(!_0x4450f3)continue;_0x32d904['push']({'sqlCode':_0x4450f3[_0x274607(0x1ec)],'sqlName':_0x4450f3[_0x274607(0x1d5)],'dbDirectory':_0x46b477[0x0],'filePath':_0x5d8ba1,'relativePath':_0x344e8e,'lockKey':_0x4450f3[_0x274607(0x1ec)],'mode':_0xd0c575});}}catch(_0x38555d){if(_0x38555d['code']!==_0x274607(0x1cc))throw _0x38555d;}return _0x32d904;}export async function scanLocalSqlQueries(_0x504d76){const _0x319e25=a251_0x4da0;return scanSqlFilesRecursively(_0x504d76[_0x319e25(0x1ed)],_0x504d76[_0x319e25(0x1ed)]);}export function resolveLocalSqlFilePath(_0x6c41bb,_0x2dd8c0,_0x7c8e74){const _0x4e736e=a251_0x4da0,_0x2cb14c=_0x7c8e74?.[_0x4e736e(0x1cd)]||(_0x7c8e74?.[_0x4e736e(0x1d5)]||_0x7c8e74?.[_0x4e736e(0x1e0)]?buildSqlRelativePath(_0x2dd8c0,_0x7c8e74?.[_0x4e736e(0x1d5)],_0x7c8e74?.[_0x4e736e(0x1e0)],_0x7c8e74?.[_0x4e736e(0x1e5)]||'sql',_0x7c8e74?.[_0x4e736e(0x1e4)]):buildDefaultSqlFileName(_0x2dd8c0,_0x7c8e74?.[_0x4e736e(0x1e5)]||'sql'));return join(_0x6c41bb[_0x4e736e(0x1ed)],_0x2cb14c);}export async function directoryExists(_0x47a235){try{const _0x302b4b=await stat(_0x47a235);return _0x302b4b['isDirectory']();}catch{return![];}}function a251_0x4da0(_0x181f41,_0x5898c7){_0x181f41=_0x181f41-0x1cc;const _0x34ea57=a251_0x34ea();let _0x4da0bc=_0x34ea57[_0x181f41];return _0x4da0bc;}function parseSqlPath(_0x31ef4f,_0x4f80eb,_0x46ce8b){const _0x265a90=a251_0x4da0,_0x4626c4=_0x4f80eb[_0x265a90(0x1d8)](0x0,-_0x46ce8b[_0x265a90(0x1cf)]);if(_0x31ef4f[_0x265a90(0x1cf)]<0x2)return null;const _0x8eb7bd=_0x4626c4['indexOf']('_');if(_0x8eb7bd<=0x0||_0x8eb7bd>=_0x4626c4[_0x265a90(0x1cf)]-0x1)return null;const _0x474329=_0x4626c4[_0x265a90(0x1d8)](0x0,_0x8eb7bd);if(!isLikelySqlCode(_0x474329))return null;return{'sqlCode':_0x474329,'sqlName':_0x4626c4[_0x265a90(0x1d8)](_0x8eb7bd+0x1)};}function isLikelySqlCode(_0x2377ee){const _0x690c0=a251_0x4da0;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x690c0(0x1ce)](_0x2377ee);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x405ea4,_0x23122a){const _0x5e23b1=a252_0x4aff,_0x1808fa=_0x405ea4();while(!![]){try{const _0x270a0b=parseInt(_0x5e23b1(0x1df))/0x1*(parseInt(_0x5e23b1(0x1dc))/0x2)+parseInt(_0x5e23b1(0x1d4))/0x3+-parseInt(_0x5e23b1(0x1d6))/0x4+parseInt(_0x5e23b1(0x1de))/0x5*(-parseInt(_0x5e23b1(0x1d8))/0x6)+parseInt(_0x5e23b1(0x1dd))/0x7+-parseInt(_0x5e23b1(0x1e1))/0x8*(parseInt(_0x5e23b1(0x1e3))/0x9)+-parseInt(_0x5e23b1(0x1d9))/0xa*(-parseInt(_0x5e23b1(0x1db))/0xb);if(_0x270a0b===_0x23122a)break;else _0x1808fa['push'](_0x1808fa['shift']());}catch(_0x3a804f){_0x1808fa['push'](_0x1808fa['shift']());}}}(a252_0x2378,0xc4426));import{readFile}from'node:fs/promises';import a252_0x49ddb6 from'node:crypto';export function computeSqlContentHash(_0x2de9b5){const _0xe02dcb=a252_0x4aff;return a252_0x49ddb6[_0xe02dcb(0x1e0)]('md5')[_0xe02dcb(0x1d5)](_0x2de9b5)[_0xe02dcb(0x1d7)](_0xe02dcb(0x1da));}function a252_0x2378(){const _0x2246e0=['createHash','8qoWXeA','utf8','2428713AeSFDf','647169iccIgG','update','2856748MAmjYN','digest','54mvQhVj','40qQeczQ','hex','5139123mZWNbY','2GowqDk','3296195qeHwao','645515XTLdHW','394469EqsBJw'];a252_0x2378=function(){return _0x2246e0;};return a252_0x2378();}function a252_0x4aff(_0x10f98f,_0x187fe2){_0x10f98f=_0x10f98f-0x1d4;const _0x237874=a252_0x2378();let _0x4afffc=_0x237874[_0x10f98f];return _0x4afffc;}export async function computeSqlFileHash(_0x54dccc){const _0x178da4=a252_0x4aff,_0x1e4f07=await readFile(_0x54dccc,_0x178da4(0x1e2));return computeSqlContentHash(_0x1e4f07);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x311c68,_0x3f7e1d){const _0x15aa52=a253_0x4177,_0x4bd156=_0x311c68();while(!![]){try{const _0x971e5b=-parseInt(_0x15aa52(0x123))/0x1+parseInt(_0x15aa52(0x127))/0x2*(-parseInt(_0x15aa52(0x117))/0x3)+parseInt(_0x15aa52(0x12a))/0x4+parseInt(_0x15aa52(0x12c))/0x5+parseInt(_0x15aa52(0x12d))/0x6+-parseInt(_0x15aa52(0x124))/0x7+-parseInt(_0x15aa52(0x128))/0x8*(-parseInt(_0x15aa52(0x122))/0x9);if(_0x971e5b===_0x3f7e1d)break;else _0x4bd156['push'](_0x4bd156['shift']());}catch(_0x5928b6){_0x4bd156['push'](_0x4bd156['shift']());}}}(a253_0x4c85,0xa7978));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}function a253_0x4177(_0x263314,_0x3c3b71){_0x263314=_0x263314-0x117;const _0x4c8550=a253_0x4c85();let _0x4177e3=_0x4c8550[_0x263314];return _0x4177e3;}export function ensureSqlLockScope(_0x570a49,_0x1f5031,_0x2949c1,_0x43783b){const _0x599254=a253_0x4177,_0xa172af=_0x570a49??createEmptySqlLock();let _0x23ecfc=_0xa172af[_0x599254(0x11a)][_0x1f5031];if(!_0x23ecfc)return _0x23ecfc={'sqlRoot':_0x2949c1,'lastSync':'','sqls':{}},_0xa172af[_0x599254(0x11a)][_0x1f5031]=_0x23ecfc,{'lockData':_0xa172af,'appLock':_0x23ecfc};if(!_0x23ecfc[_0x599254(0x11b)])_0x23ecfc[_0x599254(0x11b)]=_0x2949c1;else{if(_0x23ecfc['sqlRoot']!==_0x2949c1)throw new Error(_0x43783b+_0x599254(0x125)+_0x2949c1+_0x599254(0x126)+_0x23ecfc[_0x599254(0x11b)]+_0x599254(0x129)+_0x599254(0x121));}return!_0x23ecfc[_0x599254(0x118)]&&(_0x23ecfc[_0x599254(0x118)]={}),!_0x23ecfc[_0x599254(0x12b)]&&(_0x23ecfc['lastSync']=''),{'lockData':_0xa172af,'appLock':_0x23ecfc};}export async function readSqlLockFile(_0x4bb944){const _0xf07746=a253_0x4177;try{const _0x2f1af2=await readFile(_0x4bb944,_0xf07746(0x119));return JSON[_0xf07746(0x11d)](_0x2f1af2);}catch(_0x1df72e){if(_0x1df72e[_0xf07746(0x120)]===_0xf07746(0x11e))return null;throw new Error(_0xf07746(0x11c)+String(_0x1df72e));}}export async function writeSqlLockFile(_0x83d832,_0x27d254){const _0x50d5ed=a253_0x4177;await mkdir(dirname(_0x83d832),{'recursive':!![]}),await writeFile(_0x83d832,JSON[_0x50d5ed(0x11f)](_0x27d254,null,0x2),'utf8');}function a253_0x4c85(){const _0x3864af=['1275112GxvpYY','\x22.\x20','2783528jVjsPj','lastSync','1727170jojgmc','5987430FXJmtI','78pAmjBU','sqls','utf8','apps','sqlRoot','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','parse','ENOENT','stringify','code','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','63HmbqGN','1075749lMjRvS','5376987GbZBmO',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','\x22\x20vs\x20lock\x20\x22','48046ZlbeaN'];a253_0x4c85=function(){return _0x3864af;};return a253_0x4c85();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x118ce3,_0x19c024){const _0xff393b=a255_0x391a,_0x32035f=_0x118ce3();while(!![]){try{const _0xa2385d=parseInt(_0xff393b(0x157))/0x1*(parseInt(_0xff393b(0x15e))/0x2)+parseInt(_0xff393b(0x15a))/0x3*(parseInt(_0xff393b(0x15f))/0x4)+parseInt(_0xff393b(0x168))/0x5*(-parseInt(_0xff393b(0x164))/0x6)+parseInt(_0xff393b(0x169))/0x7*(-parseInt(_0xff393b(0x16b))/0x8)+-parseInt(_0xff393b(0x160))/0x9*(parseInt(_0xff393b(0x156))/0xa)+-parseInt(_0xff393b(0x15b))/0xb*(-parseInt(_0xff393b(0x159))/0xc)+parseInt(_0xff393b(0x16a))/0xd*(-parseInt(_0xff393b(0x158))/0xe);if(_0xa2385d===_0x19c024)break;else _0x32035f['push'](_0x32035f['shift']());}catch(_0x568fdc){_0x32035f['push'](_0x32035f['shift']());}}}(a255_0x3b13,0x20223));function a255_0x3b13(){const _0x4b9e23=['41452GJCzDv','144VTWIIT','mybatisXml','.xml','trimStart','14196VBITbk','trim','unknown-db','db-','315gLNvpE','85519JTaYVT','6604nZiwmg','32DbHGBZ','7830MvPHRf','105757otfsKt','2702IdoWYY','168JPUQgi','54RrJevI','116149XNzjWK','.sql','replace','2RYVINY'];a255_0x3b13=function(){return _0x4b9e23;};return a255_0x3b13();}function a255_0x391a(_0x4e96ad,_0x17b6ff){_0x4e96ad=_0x4e96ad-0x156;const _0x3b133c=a255_0x3b13();let _0x391a31=_0x3b133c[_0x4e96ad];return _0x391a31;}export function detectSqlMode(_0x4e31ac){const _0x4fa1b0=a255_0x391a,_0xa159f7=_0x4e31ac[_0x4fa1b0(0x163)]();if(/^<(select|insert|update|delete)\b/i['test'](_0xa159f7))return _0x4fa1b0(0x161);return'sql';}export function getSqlFileExtension(_0x5cc4ad){const _0x293301=a255_0x391a;return _0x5cc4ad===_0x293301(0x161)?_0x293301(0x162):_0x293301(0x15c);}export function buildDefaultSqlFileName(_0x5b2c5d,_0x2dee44){return''+_0x5b2c5d+getSqlFileExtension(_0x2dee44);}export function sanitizeSqlPathSegment(_0x2daf65,_0x451ee2){const _0x39ce0d=a255_0x391a,_0x29703d=String(_0x2daf65??'')[_0x39ce0d(0x165)](),_0x252d74=_0x29703d[_0x39ce0d(0x15d)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x39ce0d(0x15d)](/\s+/g,'-')[_0x39ce0d(0x15d)](/-+/g,'-')[_0x39ce0d(0x15d)](/^\.+/,'')[_0x39ce0d(0x15d)](/\.+$/,'')['replace'](/^-+/,'')['replace'](/-+$/,'');return _0x252d74||_0x451ee2;}export function buildDbDirectoryName(_0x5b2ca5,_0x4c3434){const _0x548a66=a255_0x391a;return sanitizeSqlPathSegment(_0x5b2ca5,_0x4c3434!=null?_0x548a66(0x167)+_0x4c3434:_0x548a66(0x166));}export function buildSqlRelativePath(_0x4ab1e2,_0x5b38d9,_0x33c94a,_0x314680,_0x49ca57){const _0x5d9bea=buildDbDirectoryName(_0x33c94a,_0x49ca57),_0x27081e=sanitizeSqlPathSegment(_0x4ab1e2,'unknown-sql'),_0x5b6d25=sanitizeSqlPathSegment(_0x5b38d9,_0x27081e);return _0x5d9bea+'/'+_0x27081e+'_'+_0x5b6d25+getSqlFileExtension(_0x314680);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a250_0x30dc3f=a250_0x55b2;(function(_0x27962d,_0x1fd0c1){const _0x4c813c=a250_0x55b2,_0x37ae5d=_0x27962d();while(!![]){try{const _0x2bbb23=parseInt(_0x4c813c(0x1ff))/0x1*(-parseInt(_0x4c813c(0x1ad))/0x2)+-parseInt(_0x4c813c(0x1d2))/0x3+-parseInt(_0x4c813c(0x1da))/0x4*(-parseInt(_0x4c813c(0x1eb))/0x5)+-parseInt(_0x4c813c(0x1e8))/0x6*(-parseInt(_0x4c813c(0x1f0))/0x7)+-parseInt(_0x4c813c(0x204))/0x8*(-parseInt(_0x4c813c(0x1c6))/0x9)+-parseInt(_0x4c813c(0x1ee))/0xa+parseInt(_0x4c813c(0x1f4))/0xb*(parseInt(_0x4c813c(0x1d1))/0xc);if(_0x2bbb23===_0x1fd0c1)break;else _0x37ae5d['push'](_0x37ae5d['shift']());}catch(_0x4b6048){_0x37ae5d['push'](_0x37ae5d['shift']());}}}(a250_0x1724,0x1e432));const MYBATIS_OUTER_TAGS=new Map([[a250_0x30dc3f(0x1b9),a250_0x30dc3f(0x1ba)],[a250_0x30dc3f(0x205),'INSERT'],['update','UPDATE'],[a250_0x30dc3f(0x1cc),a250_0x30dc3f(0x1f3)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a250_0x30dc3f(0x1c9),a250_0x30dc3f(0x1b7),'choose','when','otherwise',a250_0x30dc3f(0x1c0),'set',a250_0x30dc3f(0x1c2),a250_0x30dc3f(0x1bd),a250_0x30dc3f(0x1ac)]),MYBATIS_BRANCH_TAGS=new Set(['if','foreach',a250_0x30dc3f(0x1fe),a250_0x30dc3f(0x206),a250_0x30dc3f(0x1c4)]);export const MYBATIS_DYNAMIC_START_MARKER=a250_0x30dc3f(0x200);export const MYBATIS_DYNAMIC_END_MARKER=a250_0x30dc3f(0x1b8);export const MYBATIS_INCLUDE_MARKER=a250_0x30dc3f(0x1cb);const UNRESOLVED_SQL_FRAGMENT=a250_0x30dc3f(0x1fb),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS['keys']()][a250_0x30dc3f(0x1d7)]('|')+a250_0x30dc3f(0x1f8),'i');function a250_0x55b2(_0x16e1cc,_0x1d75d8){_0x16e1cc=_0x16e1cc-0x1ac;const _0x1724ec=a250_0x1724();let _0x55b234=_0x1724ec[_0x16e1cc];return _0x55b234;}function a250_0x1724(){const _0x21a659=['error','otherwise','toUpperCase','429291aOuIYB','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','-->','where','DDL','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','delete','SQL\x20content\x20is\x20empty','indexOf','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','exec','12lwIATt','342408dLsPUA','outer','add','has','length','join','slice','\x20SET\x20','29496zUtdIS','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','INSERT','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','sql','match','Unterminated\x20XML\x20declaration.','matchAll','&','<!--','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','Invalid\x20MyBatis\x20XML\x20tag.','replace','141234lBFKUt','Unterminated\x20CDATA\x20section.','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','120koGMAB','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','toLowerCase','398790LwuXBY','UNKNOWN','7FJPJzs','get','\x20WHERE\x20','DELETE','1996478Gbspgm','split','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','parseInt',')\x5cb','UPDATE','\x20with\x20parameters:\x20','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','choose','247141wEadrP','__RABETBASE_MYBATIS_DYNAMIC_START__','>',']]>','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','24PexXQs','insert','when','test','\x20query\x20targeting\x20','unknown\x20table(s)','property','2FYjBFB','fromCodePoint','tagName','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','from','Invalid\x20XML\x20entity\x20reference.','push','replaceAll','type','startsWith','foreach','__RABETBASE_MYBATIS_DYNAMIC_END__','select','SELECT','statementType','rawName','include','Unterminated\x20MyBatis\x20XML\x20tag.','includes','trim','pop','bind'];a250_0x1724=function(){return _0x21a659;};return a250_0x1724();}export function normalizeSqlForStaticAnalysis(_0x4dbb88){const _0x135e94=a250_0x30dc3f,_0x41d2eb=typeof _0x4dbb88==='string'?_0x4dbb88:'';if(!startsWithMybatisStatementWrapper(_0x41d2eb))return{'sql':_0x41d2eb,'mode':'sql'};let _0x2a6fc5=0x0,_0xdcb98d='',_0x14a2de,_0x437194=![],_0x3b9af9=![];const _0x509ecc=[];while(_0x2a6fc5<_0x41d2eb[_0x135e94(0x1d6)]){if(_0x41d2eb[_0x135e94(0x1b6)](_0x135e94(0x1e4),_0x2a6fc5)){const _0x12d472=_0x41d2eb[_0x135e94(0x1ce)](_0x135e94(0x1c8),_0x2a6fc5+0x4);if(_0x12d472<0x0)return invalidMybatisSource('Unterminated\x20XML\x20comment.');_0xdcb98d+='\x20',_0x2a6fc5=_0x12d472+0x3;continue;}if(_0x41d2eb[_0x135e94(0x1b6)]('<,_0x2a6fc5+0x9);if(_0x11a71e<0x0)return invalidMybatisSource(_0x135e94(0x1e9));_0xdcb98d+=_0x41d2eb[_0x135e94(0x1d8)](_0x2a6fc5+0x9,_0x11a71e),_0x2a6fc5=_0x11a71e+0x3;continue;}if(_0x41d2eb['startsWith']('<?',_0x2a6fc5)){if(_0x437194)return invalidMybatisSource(_0x135e94(0x1b0));const _0x24e66f=_0x41d2eb['indexOf']('?>',_0x2a6fc5+0x2);if(_0x24e66f<0x0)return invalidMybatisSource(_0x135e94(0x1e1));_0xdcb98d+='\x20',_0x2a6fc5=_0x24e66f+0x2;continue;}if(_0x41d2eb[_0x2a6fc5]!=='<'){const _0x10496e=_0x41d2eb[_0x135e94(0x1ce)]('<',_0x2a6fc5),_0x9406b9=_0x10496e<0x0?_0x41d2eb[_0x135e94(0x1d6)]:_0x10496e,_0x406e60=_0x41d2eb[_0x135e94(0x1d8)](_0x2a6fc5,_0x9406b9);if((!_0x437194||_0x3b9af9)&&_0x406e60[_0x135e94(0x1c0)]())return invalidMybatisSource(_0x135e94(0x1db));if(_0x437194&&!_0x3b9af9){const _0x34ef5a=decodeXmlEntities(_0x406e60);if(_0x34ef5a===null)return invalidMybatisSource(_0x135e94(0x1b2));_0xdcb98d+=_0x34ef5a;}else _0xdcb98d+='\x20';_0x2a6fc5=_0x9406b9;continue;}const _0x432a35=findXmlTagEnd(_0x41d2eb,_0x2a6fc5);if(_0x432a35<0x0)return invalidMybatisSource(_0x135e94(0x1be));const _0x4feae9=_0x41d2eb[_0x135e94(0x1d8)](_0x2a6fc5,_0x432a35+0x1),_0x173bed=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x135e94(0x1d0)](_0x4feae9);if(!_0x173bed)return invalidMybatisSource(_0x135e94(0x1e6));const _0xb1f7d9=_0x173bed[0x1]==='/',_0x52038a=_0x173bed[0x2]??'',_0x1bb124=_0x52038a[_0x135e94(0x1ed)](),_0x2ebb02=_0x173bed[0x3]??'',_0x322e71=_0x173bed[0x4]==='/',_0x4e2b35=MYBATIS_OUTER_TAGS[_0x135e94(0x1f1)](_0x1bb124);if(!_0x4e2b35&&!MYBATIS_DYNAMIC_TAGS[_0x135e94(0x1d5)](_0x1bb124))return invalidMybatisSource('Unsupported\x20MyBatis\x20XML\x20tag:\x20<'+_0x1bb124+'>.');if(!_0x4e2b35&&_0x52038a!==_0x1bb124)return invalidMybatisSource(_0x135e94(0x1ec)+_0x52038a+'>.');if(_0xb1f7d9){if(_0x2ebb02[_0x135e94(0x1c0)]()||_0x322e71)return invalidMybatisSource(_0x135e94(0x1dd)+_0x52038a+'>.');const _0x5629b7=_0x509ecc['at'](-0x1);if(!_0x5629b7||(_0x5629b7[_0x135e94(0x1d3)]?_0x5629b7[_0x135e94(0x1af)]!==_0x1bb124:_0x5629b7[_0x135e94(0x1bc)]!==_0x52038a))return invalidMybatisSource(_0x135e94(0x1fd)+_0x52038a+'>.');_0x509ecc[_0x135e94(0x1c1)]();if(_0x5629b7[_0x135e94(0x1d3)])_0x3b9af9=!![];_0xdcb98d+=MYBATIS_BRANCH_TAGS['has'](_0x1bb124)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x2ebb02))return invalidMybatisSource('Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<'+_0x52038a+'>.');if(_0x1bb124===_0x135e94(0x1ac)&&(!_0x322e71||_0x509ecc['at'](-0x1)?.[_0x135e94(0x1af)]!==_0x135e94(0x1bd)))return invalidMybatisSource(_0x135e94(0x1c7));if(_0x4e2b35){if(_0x437194||_0x509ecc[_0x135e94(0x1d6)]>0x0)return invalidMybatisSource(_0x135e94(0x1ea));_0x437194=!![],_0x3b9af9=_0x322e71,_0x14a2de=_0x4e2b35;}else{if(!_0x437194||_0x3b9af9)return invalidMybatisSource(_0x135e94(0x1f6)+_0x52038a+'>.');}_0xdcb98d+=_0x1bb124===_0x135e94(0x1c9)?_0x135e94(0x1f2):_0x1bb124==='set'?_0x135e94(0x1d9):_0x1bb124==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x135e94(0x1d5)](_0x1bb124)&&!_0x322e71?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x322e71&&_0x509ecc[_0x135e94(0x1b3)]({'rawName':_0x52038a,'tagName':_0x1bb124,'outer':!!_0x4e2b35});}_0x2a6fc5=_0x432a35+0x1;}if(_0x509ecc[_0x135e94(0x1d6)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x509ecc['at'](-0x1)?.['rawName']+'>.');if(!_0x437194||!_0x3b9af9)return invalidMybatisSource(_0x135e94(0x1cf));return{'sql':_0xdcb98d['trim'](),'mode':'mybatisXml',..._0x14a2de?{'statementType':_0x14a2de}:{}};}function hasWellFormedXmlAttributes(_0x21ea9c){const _0x41545c=a250_0x30dc3f;let _0x519f4f=0x0;const _0x4777de=new Set();while(_0x519f4f<_0x21ea9c[_0x41545c(0x1d6)]){while(_0x519f4f<_0x21ea9c[_0x41545c(0x1d6)]&&/\s/[_0x41545c(0x207)](_0x21ea9c[_0x519f4f]??''))_0x519f4f+=0x1;if(_0x519f4f>=_0x21ea9c[_0x41545c(0x1d6)])return!![];const _0x424ee2=/^[A-Za-z_:][\w:.-]*/[_0x41545c(0x1d0)](_0x21ea9c['slice'](_0x519f4f)),_0x5e112e=_0x424ee2?.[0x0];if(!_0x5e112e||_0x4777de[_0x41545c(0x1d5)](_0x5e112e))return![];_0x4777de[_0x41545c(0x1d4)](_0x5e112e),_0x519f4f+=_0x5e112e[_0x41545c(0x1d6)];while(_0x519f4f<_0x21ea9c[_0x41545c(0x1d6)]&&/\s/[_0x41545c(0x207)](_0x21ea9c[_0x519f4f]??''))_0x519f4f+=0x1;if(_0x21ea9c[_0x519f4f]!=='=')return![];_0x519f4f+=0x1;while(_0x519f4f<_0x21ea9c[_0x41545c(0x1d6)]&&/\s/[_0x41545c(0x207)](_0x21ea9c[_0x519f4f]??''))_0x519f4f+=0x1;const _0x4670df=_0x21ea9c[_0x519f4f];if(_0x4670df!=='\x22'&&_0x4670df!=='\x27')return![];_0x519f4f+=0x1;const _0x5403a9=_0x21ea9c[_0x41545c(0x1ce)](_0x4670df,_0x519f4f);if(_0x5403a9<0x0)return![];if(decodeXmlEntities(_0x21ea9c['slice'](_0x519f4f,_0x5403a9))===null)return![];_0x519f4f=_0x5403a9+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x27fd4e){const _0x54608d=a250_0x30dc3f;let _0x11c0d9=0x0;const _0xabbfad=()=>{const _0xb23632=a250_0x55b2;while(_0x11c0d9<_0x27fd4e[_0xb23632(0x1d6)]&&/\s/[_0xb23632(0x207)](_0x27fd4e[_0x11c0d9]??''))_0x11c0d9+=0x1;};_0xabbfad();while(_0x11c0d9<_0x27fd4e[_0x54608d(0x1d6)]){if(_0x27fd4e[_0x54608d(0x1b6)]('<!--',_0x11c0d9)){const _0x1b96f8=_0x27fd4e['indexOf'](_0x54608d(0x1c8),_0x11c0d9+0x4);if(_0x1b96f8<0x0)return!![];_0x11c0d9=_0x1b96f8+0x3,_0xabbfad();continue;}if(_0x27fd4e[_0x54608d(0x1b6)]('<?',_0x11c0d9)){const _0x525b14=_0x27fd4e[_0x54608d(0x1ce)]('?>',_0x11c0d9+0x2);if(_0x525b14<0x0)return!![];_0x11c0d9=_0x525b14+0x2,_0xabbfad();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x54608d(0x207)](_0x27fd4e[_0x54608d(0x1d8)](_0x11c0d9));}function invalidMybatisSource(_0x10773a){return{'sql':'','mode':'mybatisXml','error':_0x10773a};}function findXmlTagEnd(_0x59e879,_0x27f6fe){const _0x300ba2=a250_0x30dc3f;let _0x5dde88;for(let _0x1165c2=_0x27f6fe+0x1;_0x1165c2<_0x59e879[_0x300ba2(0x1d6)];_0x1165c2+=0x1){const _0x532381=_0x59e879[_0x1165c2];if(_0x5dde88){if(_0x532381===_0x5dde88)_0x5dde88=undefined;continue;}if(_0x532381==='\x22'||_0x532381==='\x27'){_0x5dde88=_0x532381;continue;}if(_0x532381==='>')return _0x1165c2;}return-0x1;}function decodeXmlEntities(_0x23feaf){const _0x2cd44e=a250_0x30dc3f;let _0x503218=![];const _0x29e700=_0x23feaf[_0x2cd44e(0x1e7)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x723f71=>{const _0xe0b2ba=_0x2cd44e;if(_0x723f71==='<')return'<';if(_0x723f71===_0xe0b2ba(0x201))return'>';if(_0x723f71==='"')return'\x22';if(_0x723f71===''')return'\x27';if(_0x723f71===_0xe0b2ba(0x1e3))return'&';const _0x54d226=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x723f71);if(_0x54d226){const _0x1f426e=_0x54d226[0x1],_0x5bde0a=_0x54d226[0x2],_0x1031c3=Number[_0xe0b2ba(0x1f7)](_0x1f426e??_0x5bde0a??'',_0x1f426e?0x10:0xa);if(isValidXmlCharacter(_0x1031c3))return String[_0xe0b2ba(0x1ae)](_0x1031c3);}return _0x503218=!![],'';});return _0x503218?null:_0x29e700;}function isValidXmlCharacter(_0x698057){return _0x698057===0x9||_0x698057===0xa||_0x698057===0xd||_0x698057>=0x20&&_0x698057<=0xd7ff||_0x698057>=0xe000&&_0x698057<=0xfffd||_0x698057>=0x10000&&_0x698057<=0x10ffff;}export function detectSqlType(_0x37293c){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x37293c));}function detectNormalizedSqlType(_0x68ece){const _0x6aec81=a250_0x30dc3f;if(_0x68ece['error'])return{'type':_0x6aec81(0x1ef),'isSelectOnly':![],'isDangerous':![],'reason':_0x68ece[_0x6aec81(0x1c3)]};if(!_0x68ece[_0x6aec81(0x1df)][_0x6aec81(0x1c0)]())return{'type':_0x6aec81(0x1ef),'isSelectOnly':![],'isDangerous':![],'reason':_0x6aec81(0x1cd)};const _0x32f62c=stripStaticAnalysisMarkers(_0x68ece[_0x6aec81(0x1df)])['replace'](/#\{[^}]*\}/g,'?')[_0x6aec81(0x1e7)](/\$\{[^}]*\}/g,'?')[_0x6aec81(0x1e7)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x6aec81(0x1e7)](/\/\*[\s\S]*?\*\//g,'')[_0x6aec81(0x1c0)](),_0x5e9678=_0x32f62c[_0x6aec81(0x1f5)]('\x0a');let _0x15bf65='';for(const _0x1f8f5 of _0x5e9678){const _0x27d124=_0x1f8f5[_0x6aec81(0x1c0)]();if(!_0x27d124||_0x27d124[_0x6aec81(0x1b6)]('--')||_0x27d124[_0x6aec81(0x1b6)]('/*'))continue;_0x15bf65=_0x27d124;break;}const _0x2aa192=_0x15bf65[_0x6aec81(0x1c5)](),_0x3dd780=_0x68ece[_0x6aec81(0x1bb)],_0x1a9559=maskSqlTextForBlockedKeywordScan(_0x32f62c),_0x1f39b1=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x6aec81(0x207)](_0x1a9559);if(_0x3dd780==='SELECT'||!_0x3dd780&&(_0x2aa192[_0x6aec81(0x1b6)](_0x6aec81(0x1ba))||_0x2aa192[_0x6aec81(0x1b6)]('WITH'))){const _0x25c9c6=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x6aec81(0x207)](_0x32f62c);return{'type':_0x6aec81(0x1ba),'isSelectOnly':!_0x25c9c6,'isDangerous':_0x25c9c6,'reason':_0x25c9c6?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x3dd780===_0x6aec81(0x1dc)||!_0x3dd780&&_0x2aa192[_0x6aec81(0x1b6)]('INSERT'))return{'type':_0x6aec81(0x1dc),'isSelectOnly':![],'isDangerous':_0x1f39b1,'reason':_0x1f39b1?_0x6aec81(0x1fc):undefined};if(_0x3dd780==='UPDATE'||!_0x3dd780&&_0x2aa192[_0x6aec81(0x1b6)](_0x6aec81(0x1f9)))return{'type':_0x6aec81(0x1f9),'isSelectOnly':![],'isDangerous':_0x1f39b1,'reason':_0x1f39b1?'SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements':undefined};if(_0x3dd780==='DELETE'||!_0x3dd780&&_0x2aa192['startsWith'](_0x6aec81(0x1f3)))return{'type':_0x6aec81(0x1f3),'isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x6aec81(0x207)](_0x2aa192))return{'type':_0x6aec81(0x1ca),'isSelectOnly':![],'isDangerous':!![],'reason':_0x6aec81(0x1e5)};return{'type':_0x6aec81(0x1ef),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x32c388){const _0x42e964=a250_0x30dc3f;return _0x32c388[_0x42e964(0x1b4)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x42e964(0x1b4)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x31207c){const _0x55dbfe=a250_0x30dc3f;return _0x31207c['replace'](/'(?:''|\\.|[^'])*'/g,'\x20')['replace'](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')['replace'](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')[_0x55dbfe(0x1e7)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x34de7a){const _0x1a8ace=a250_0x30dc3f,_0x49c25d=_0x34de7a['replace'](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x1a8ace(0x1e7)](/--.*$/gm,'')['replace'](/\/\*[\s\S]*?\*\//g,''),_0x4f6407=[],_0x1ecc6b=_0x49c25d['match'](/FROM\s+([^\s,)(]+)/i);addTable(_0x4f6407,_0x1ecc6b?.[0x1]);for(const _0x534d14 of _0x49c25d[_0x1a8ace(0x1e2)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x4f6407,_0x534d14[0x1]);}const _0x7be630=_0x49c25d[_0x1a8ace(0x1e0)](/INTO\s+([^\s(]+)/i);addTable(_0x4f6407,_0x7be630?.[0x1]);const _0x223282=_0x49c25d[_0x1a8ace(0x1e0)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x4f6407,_0x223282?.[0x1]),_0x4f6407;}function addTable(_0x378fa4,_0x4c110c){const _0x467498=a250_0x30dc3f,_0x23c2d3=_0x4c110c?.[_0x467498(0x1e7)](/[`"]/g,'');_0x23c2d3&&_0x23c2d3!==UNRESOLVED_SQL_FRAGMENT&&!_0x378fa4[_0x467498(0x1bf)](_0x23c2d3)&&_0x378fa4[_0x467498(0x1b3)](_0x23c2d3);}function extractParameters(_0x2445f8){const _0x25cc85=a250_0x30dc3f,_0x21f974=new Set();for(const _0x541986 of _0x2445f8['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x541986[0x1])_0x21f974['add'](_0x541986[0x1]);}return Array[_0x25cc85(0x1b1)](_0x21f974);}export function validateSql(_0x39de5d){const _0x5bcfc4=a250_0x30dc3f,_0x44abe1=normalizeSqlForStaticAnalysis(_0x39de5d),_0x266154=detectNormalizedSqlType(_0x44abe1),_0x32f7d4=stripStaticAnalysisMarkers(_0x44abe1[_0x5bcfc4(0x1df)]),_0x550e8a=_0x44abe1[_0x5bcfc4(0x1c3)]?[]:extractTables(_0x32f7d4),_0x24f4c4=_0x44abe1['error']?[]:extractParameters(_0x32f7d4);if(_0x266154['isDangerous'])return{'valid':![],'sqlType':_0x266154,'tables':_0x550e8a,'parameters':_0x24f4c4,'message':_0x266154['reason']||_0x266154[_0x5bcfc4(0x1b5)]+_0x5bcfc4(0x203)};if(_0x266154[_0x5bcfc4(0x1b5)]===_0x5bcfc4(0x1ef))return{'valid':![],'sqlType':_0x266154,'tables':_0x550e8a,'parameters':_0x24f4c4,'message':_0x44abe1[_0x5bcfc4(0x1c3)]?'Unable\x20to\x20detect\x20SQL\x20type.\x20'+_0x44abe1[_0x5bcfc4(0x1c3)]:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0x266154,'tables':_0x550e8a,'parameters':_0x24f4c4,'message':_0x266154[_0x5bcfc4(0x1b5)]+_0x5bcfc4(0x208)+(_0x550e8a[_0x5bcfc4(0x1d6)]?_0x550e8a[_0x5bcfc4(0x1d7)](',\x20'):_0x5bcfc4(0x209))+(_0x24f4c4[_0x5bcfc4(0x1d6)]?_0x5bcfc4(0x1fa)+_0x24f4c4[_0x5bcfc4(0x1d7)](',\x20'):'')};}
|
|
1
|
+
const a256_0x471d3a=a256_0x16a3;(function(_0x36ed7f,_0x323db7){const _0x1fa965=a256_0x16a3,_0x17c91a=_0x36ed7f();while(!![]){try{const _0x41f18b=parseInt(_0x1fa965(0xf0))/0x1*(-parseInt(_0x1fa965(0x10c))/0x2)+parseInt(_0x1fa965(0xd3))/0x3+parseInt(_0x1fa965(0x125))/0x4*(-parseInt(_0x1fa965(0x127))/0x5)+-parseInt(_0x1fa965(0xe9))/0x6+parseInt(_0x1fa965(0x12a))/0x7+parseInt(_0x1fa965(0x107))/0x8+-parseInt(_0x1fa965(0xcd))/0x9*(-parseInt(_0x1fa965(0xe0))/0xa);if(_0x41f18b===_0x323db7)break;else _0x17c91a['push'](_0x17c91a['shift']());}catch(_0x3d2b56){_0x17c91a['push'](_0x17c91a['shift']());}}}(a256_0x175a,0x6b080));const MYBATIS_OUTER_TAGS=new Map([[a256_0x471d3a(0xcf),a256_0x471d3a(0x113)],[a256_0x471d3a(0xfc),'INSERT'],[a256_0x471d3a(0x128),a256_0x471d3a(0x106)],[a256_0x471d3a(0x11c),a256_0x471d3a(0xd6)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a256_0x471d3a(0xe1),'foreach',a256_0x471d3a(0x11e),'when',a256_0x471d3a(0xce),a256_0x471d3a(0xd9),a256_0x471d3a(0x112),a256_0x471d3a(0xf5),a256_0x471d3a(0x10d),a256_0x471d3a(0x119)]),MYBATIS_BRANCH_TAGS=new Set(['if',a256_0x471d3a(0xf2),'choose','when',a256_0x471d3a(0xce)]);export const MYBATIS_DYNAMIC_START_MARKER='__RABETBASE_MYBATIS_DYNAMIC_START__';export const MYBATIS_DYNAMIC_END_MARKER=a256_0x471d3a(0x104);export const MYBATIS_INCLUDE_MARKER=a256_0x471d3a(0xed);const UNRESOLVED_SQL_FRAGMENT=a256_0x471d3a(0x11b),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a256_0x471d3a(0x120)+[...MYBATIS_OUTER_TAGS['keys']()]['join']('|')+a256_0x471d3a(0x114),'i');export function normalizeSqlForStaticAnalysis(_0x11bce3){const _0x140345=a256_0x471d3a,_0x3980a2=typeof _0x11bce3===_0x140345(0x111)?_0x11bce3:'';if(!startsWithMybatisStatementWrapper(_0x3980a2))return{'sql':_0x3980a2,'mode':_0x140345(0x100)};let _0x590c54=0x0,_0x2b6955='',_0x338dbe,_0x3d1c64=![],_0x63b5cd=![];const _0x3b1c58=[];while(_0x590c54<_0x3980a2[_0x140345(0xe7)]){if(_0x3980a2[_0x140345(0x101)](_0x140345(0xe5),_0x590c54)){const _0x11fab=_0x3980a2[_0x140345(0xd7)](_0x140345(0x102),_0x590c54+0x4);if(_0x11fab<0x0)return invalidMybatisSource(_0x140345(0xf8));_0x2b6955+='\x20',_0x590c54=_0x11fab+0x3;continue;}if(_0x3980a2[_0x140345(0x101)](_0x140345(0xd4),_0x590c54)){if(!_0x3d1c64||_0x63b5cd)return invalidMybatisSource(_0x140345(0x124));const _0x92dafd=_0x3980a2['indexOf'](_0x140345(0xf6),_0x590c54+0x9);if(_0x92dafd<0x0)return invalidMybatisSource(_0x140345(0x118));_0x2b6955+=_0x3980a2[_0x140345(0x123)](_0x590c54+0x9,_0x92dafd),_0x590c54=_0x92dafd+0x3;continue;}if(_0x3980a2[_0x140345(0x101)]('<?',_0x590c54)){if(_0x3d1c64)return invalidMybatisSource(_0x140345(0xf4));const _0x3f2328=_0x3980a2[_0x140345(0xd7)]('?>',_0x590c54+0x2);if(_0x3f2328<0x0)return invalidMybatisSource(_0x140345(0x11f));_0x2b6955+='\x20',_0x590c54=_0x3f2328+0x2;continue;}if(_0x3980a2[_0x590c54]!=='<'){const _0x43079e=_0x3980a2[_0x140345(0xd7)]('<',_0x590c54),_0x392ee4=_0x43079e<0x0?_0x3980a2[_0x140345(0xe7)]:_0x43079e,_0x384e08=_0x3980a2['slice'](_0x590c54,_0x392ee4);if((!_0x3d1c64||_0x63b5cd)&&_0x384e08[_0x140345(0xd9)]())return invalidMybatisSource(_0x140345(0xe8));if(_0x3d1c64&&!_0x63b5cd){const _0x58699a=decodeXmlEntities(_0x384e08);if(_0x58699a===null)return invalidMybatisSource(_0x140345(0xd5));_0x2b6955+=_0x58699a;}else _0x2b6955+='\x20';_0x590c54=_0x392ee4;continue;}const _0x5b5310=findXmlTagEnd(_0x3980a2,_0x590c54);if(_0x5b5310<0x0)return invalidMybatisSource(_0x140345(0xf9));const _0x522664=_0x3980a2[_0x140345(0x123)](_0x590c54,_0x5b5310+0x1),_0x47dd89=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x140345(0xeb)](_0x522664);if(!_0x47dd89)return invalidMybatisSource('Invalid\x20MyBatis\x20XML\x20tag.');const _0x51b513=_0x47dd89[0x1]==='/',_0x32019b=_0x47dd89[0x2]??'',_0x49800b=_0x32019b['toLowerCase'](),_0x518afa=_0x47dd89[0x3]??'',_0x575ac3=_0x47dd89[0x4]==='/',_0x406276=MYBATIS_OUTER_TAGS['get'](_0x49800b);if(!_0x406276&&!MYBATIS_DYNAMIC_TAGS['has'](_0x49800b))return invalidMybatisSource(_0x140345(0xe3)+_0x49800b+'>.');if(!_0x406276&&_0x32019b!==_0x49800b)return invalidMybatisSource(_0x140345(0xe4)+_0x32019b+'>.');if(_0x51b513){if(_0x518afa['trim']()||_0x575ac3)return invalidMybatisSource(_0x140345(0x109)+_0x32019b+'>.');const _0x2932da=_0x3b1c58['at'](-0x1);if(!_0x2932da||(_0x2932da[_0x140345(0xfb)]?_0x2932da['tagName']!==_0x49800b:_0x2932da[_0x140345(0xd1)]!==_0x32019b))return invalidMybatisSource(_0x140345(0x108)+_0x32019b+'>.');_0x3b1c58[_0x140345(0xfa)]();if(_0x2932da[_0x140345(0xfb)])_0x63b5cd=!![];_0x2b6955+=MYBATIS_BRANCH_TAGS['has'](_0x49800b)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x518afa))return invalidMybatisSource(_0x140345(0xda)+_0x32019b+'>.');if(_0x49800b===_0x140345(0x119)&&(!_0x575ac3||_0x3b1c58['at'](-0x1)?.[_0x140345(0xea)]!==_0x140345(0x10d)))return invalidMybatisSource(_0x140345(0xcb));if(_0x406276){if(_0x3d1c64||_0x3b1c58[_0x140345(0xe7)]>0x0)return invalidMybatisSource(_0x140345(0xff));_0x3d1c64=!![],_0x63b5cd=_0x575ac3,_0x338dbe=_0x406276;}else{if(!_0x3d1c64||_0x63b5cd)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<'+_0x32019b+'>.');}_0x2b6955+=_0x49800b===_0x140345(0xe1)?'\x20WHERE\x20':_0x49800b===_0x140345(0x112)?_0x140345(0x116):_0x49800b==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x140345(0x11a)](_0x49800b)&&!_0x575ac3?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x575ac3&&_0x3b1c58['push']({'rawName':_0x32019b,'tagName':_0x49800b,'outer':!!_0x406276});}_0x590c54=_0x5b5310+0x1;}if(_0x3b1c58['length']>0x0)return invalidMybatisSource(_0x140345(0x110)+_0x3b1c58['at'](-0x1)?.[_0x140345(0xd1)]+'>.');if(!_0x3d1c64||!_0x63b5cd)return invalidMybatisSource('MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.');return{'sql':_0x2b6955[_0x140345(0xd9)](),'mode':_0x140345(0x11d),..._0x338dbe?{'statementType':_0x338dbe}:{}};}function hasWellFormedXmlAttributes(_0x48091b){const _0x41b759=a256_0x471d3a;let _0x562d91=0x0;const _0x1449b2=new Set();while(_0x562d91<_0x48091b[_0x41b759(0xe7)]){while(_0x562d91<_0x48091b[_0x41b759(0xe7)]&&/\s/[_0x41b759(0xd8)](_0x48091b[_0x562d91]??''))_0x562d91+=0x1;if(_0x562d91>=_0x48091b['length'])return!![];const _0x5457d9=/^[A-Za-z_:][\w:.-]*/[_0x41b759(0xeb)](_0x48091b[_0x41b759(0x123)](_0x562d91)),_0x3904ed=_0x5457d9?.[0x0];if(!_0x3904ed||_0x1449b2[_0x41b759(0x11a)](_0x3904ed))return![];_0x1449b2[_0x41b759(0x115)](_0x3904ed),_0x562d91+=_0x3904ed[_0x41b759(0xe7)];while(_0x562d91<_0x48091b[_0x41b759(0xe7)]&&/\s/[_0x41b759(0xd8)](_0x48091b[_0x562d91]??''))_0x562d91+=0x1;if(_0x48091b[_0x562d91]!=='=')return![];_0x562d91+=0x1;while(_0x562d91<_0x48091b[_0x41b759(0xe7)]&&/\s/['test'](_0x48091b[_0x562d91]??''))_0x562d91+=0x1;const _0x6e8e01=_0x48091b[_0x562d91];if(_0x6e8e01!=='\x22'&&_0x6e8e01!=='\x27')return![];_0x562d91+=0x1;const _0x4db1ef=_0x48091b[_0x41b759(0xd7)](_0x6e8e01,_0x562d91);if(_0x4db1ef<0x0)return![];if(decodeXmlEntities(_0x48091b[_0x41b759(0x123)](_0x562d91,_0x4db1ef))===null)return![];_0x562d91=_0x4db1ef+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x44aa24){const _0x4caa0f=a256_0x471d3a;let _0x51979c=0x0;const _0x3d03b8=()=>{const _0xda1a1=a256_0x16a3;while(_0x51979c<_0x44aa24[_0xda1a1(0xe7)]&&/\s/[_0xda1a1(0xd8)](_0x44aa24[_0x51979c]??''))_0x51979c+=0x1;};_0x3d03b8();while(_0x51979c<_0x44aa24[_0x4caa0f(0xe7)]){if(_0x44aa24[_0x4caa0f(0x101)]('<!--',_0x51979c)){const _0x11eaac=_0x44aa24[_0x4caa0f(0xd7)]('-->',_0x51979c+0x4);if(_0x11eaac<0x0)return!![];_0x51979c=_0x11eaac+0x3,_0x3d03b8();continue;}if(_0x44aa24['startsWith']('<?',_0x51979c)){const _0x3642f1=_0x44aa24['indexOf']('?>',_0x51979c+0x2);if(_0x3642f1<0x0)return!![];_0x51979c=_0x3642f1+0x2,_0x3d03b8();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN['test'](_0x44aa24['slice'](_0x51979c));}function invalidMybatisSource(_0x542db9){return{'sql':'','mode':'mybatisXml','error':_0x542db9};}function findXmlTagEnd(_0xe8a25a,_0x4db718){let _0x26fed2;for(let _0x379ca9=_0x4db718+0x1;_0x379ca9<_0xe8a25a['length'];_0x379ca9+=0x1){const _0x43d564=_0xe8a25a[_0x379ca9];if(_0x26fed2){if(_0x43d564===_0x26fed2)_0x26fed2=undefined;continue;}if(_0x43d564==='\x22'||_0x43d564==='\x27'){_0x26fed2=_0x43d564;continue;}if(_0x43d564==='>')return _0x379ca9;}return-0x1;}function decodeXmlEntities(_0x35c21b){let _0xed9b06=![];const _0x22eb45=_0x35c21b['replace'](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x396fe0=>{const _0x59a7ab=a256_0x16a3;if(_0x396fe0==='<')return'<';if(_0x396fe0===_0x59a7ab(0xe2))return'>';if(_0x396fe0==='"')return'\x22';if(_0x396fe0===''')return'\x27';if(_0x396fe0===_0x59a7ab(0x126))return'&';const _0x4b87b9=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x396fe0);if(_0x4b87b9){const _0x3c4f4e=_0x4b87b9[0x1],_0x45da8c=_0x4b87b9[0x2],_0x16ca8e=Number[_0x59a7ab(0x10f)](_0x3c4f4e??_0x45da8c??'',_0x3c4f4e?0x10:0xa);if(isValidXmlCharacter(_0x16ca8e))return String[_0x59a7ab(0xec)](_0x16ca8e);}return _0xed9b06=!![],'';});return _0xed9b06?null:_0x22eb45;}function isValidXmlCharacter(_0x4cda55){return _0x4cda55===0x9||_0x4cda55===0xa||_0x4cda55===0xd||_0x4cda55>=0x20&&_0x4cda55<=0xd7ff||_0x4cda55>=0xe000&&_0x4cda55<=0xfffd||_0x4cda55>=0x10000&&_0x4cda55<=0x10ffff;}export function detectSqlType(_0x3649bd){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x3649bd));}function detectNormalizedSqlType(_0x9ad354){const _0x181b83=a256_0x471d3a;if(_0x9ad354[_0x181b83(0x117)])return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0x9ad354['error']};if(!_0x9ad354['sql'][_0x181b83(0xd9)]())return{'type':_0x181b83(0xf3),'isSelectOnly':![],'isDangerous':![],'reason':_0x181b83(0xfe)};const _0x5ed6e=stripStaticAnalysisMarkers(_0x9ad354['sql'])['replace'](/#\{[^}]*\}/g,'?')[_0x181b83(0xdb)](/\$\{[^}]*\}/g,'?')[_0x181b83(0xdb)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x181b83(0xdb)](/\/\*[\s\S]*?\*\//g,'')[_0x181b83(0xd9)](),_0x457a12=_0x5ed6e[_0x181b83(0xdf)]('\x0a');let _0x450f11='';for(const _0x605413 of _0x457a12){const _0x726328=_0x605413[_0x181b83(0xd9)]();if(!_0x726328||_0x726328[_0x181b83(0x101)]('--')||_0x726328[_0x181b83(0x101)]('/*'))continue;_0x450f11=_0x726328;break;}const _0xf542d2=_0x450f11[_0x181b83(0x129)](),_0x51694c=_0x9ad354[_0x181b83(0x121)],_0x395ae2=maskSqlTextForBlockedKeywordScan(_0x5ed6e),_0x409537=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x181b83(0xd8)](_0x395ae2);if(_0x51694c==='SELECT'||!_0x51694c&&(_0xf542d2[_0x181b83(0x101)](_0x181b83(0x113))||_0xf542d2[_0x181b83(0x101)](_0x181b83(0xf1)))){const _0x2ffe15=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x181b83(0xd8)](_0x5ed6e);return{'type':'SELECT','isSelectOnly':!_0x2ffe15,'isDangerous':_0x2ffe15,'reason':_0x2ffe15?_0x181b83(0x10a):undefined};}if(_0x51694c==='INSERT'||!_0x51694c&&_0xf542d2[_0x181b83(0x101)](_0x181b83(0xf7)))return{'type':'INSERT','isSelectOnly':![],'isDangerous':_0x409537,'reason':_0x409537?_0x181b83(0xfd):undefined};if(_0x51694c===_0x181b83(0x106)||!_0x51694c&&_0xf542d2['startsWith']('UPDATE'))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x409537,'reason':_0x409537?_0x181b83(0xfd):undefined};if(_0x51694c===_0x181b83(0xd6)||!_0x51694c&&_0xf542d2[_0x181b83(0x101)]('DELETE'))return{'type':_0x181b83(0xd6),'isSelectOnly':![],'isDangerous':!![],'reason':_0x181b83(0xee)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x181b83(0xd8)](_0xf542d2))return{'type':_0x181b83(0xd2),'isSelectOnly':![],'isDangerous':!![],'reason':_0x181b83(0xcc)};return{'type':_0x181b83(0xf3),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x27a265){const _0xcce263=a256_0x471d3a;return _0x27a265[_0xcce263(0xef)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0xcce263(0xef)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0xcce263(0xef)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function a256_0x175a(){const _0x2241f6=['XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','bind',']]>','INSERT','Unterminated\x20XML\x20comment.','Unterminated\x20MyBatis\x20XML\x20tag.','pop','outer','insert','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','SQL\x20content\x20is\x20empty','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','sql','startsWith','-->','type','__RABETBASE_MYBATIS_DYNAMIC_END__','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','UPDATE','6795944vJsOol','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','1175514cWnzVG','include','includes','parseInt','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','string','set','SELECT',')\x5cb','add','\x20SET\x20','error','Unterminated\x20CDATA\x20section.','property','has','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','delete','mybatisXml','choose','Unterminated\x20XML\x20declaration.','^<\x5cs*(?:','statementType','\x20query\x20targeting\x20','slice','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','1844428GePtjT','&','5nFEruc','update','toUpperCase','5696124AVawYi','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','378414pfGaLb','otherwise','select','match','rawName','DDL','615609squDrO','<![CDATA[','Invalid\x20XML\x20entity\x20reference.','DELETE','indexOf','test','trim','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','replace','unknown\x20table(s)','matchAll','\x20with\x20parameters:\x20','split','80nqkTjq','where','>','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','<!--','join','length','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','4305192QKoCvm','tagName','exec','fromCodePoint','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','replaceAll','1LSxXuL','WITH','foreach','UNKNOWN'];a256_0x175a=function(){return _0x2241f6;};return a256_0x175a();}function maskSqlTextForBlockedKeywordScan(_0x3bb6ca){const _0x17b83a=a256_0x471d3a;return _0x3bb6ca['replace'](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x17b83a(0xdb)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x17b83a(0xdb)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x17b83a(0xdb)](/--.*$/gm,'\x20')[_0x17b83a(0xdb)](/#.*$/gm,'\x20')[_0x17b83a(0xdb)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x4854a3){const _0x5bfa7b=a256_0x471d3a,_0x26cea0=_0x4854a3[_0x5bfa7b(0xdb)](/#\{[^}]*\}/g,'?')[_0x5bfa7b(0xdb)](/\$\{[^}]*\}/g,'?')[_0x5bfa7b(0xdb)](/'[^']*'/g,'\x27\x27')[_0x5bfa7b(0xdb)](/--.*$/gm,'')[_0x5bfa7b(0xdb)](/\/\*[\s\S]*?\*\//g,''),_0x4ae07c=[],_0x584f5a=_0x26cea0[_0x5bfa7b(0xd0)](/FROM\s+([^\s,)(]+)/i);addTable(_0x4ae07c,_0x584f5a?.[0x1]);for(const _0x2d0820 of _0x26cea0[_0x5bfa7b(0xdd)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x4ae07c,_0x2d0820[0x1]);}const _0x3f1563=_0x26cea0[_0x5bfa7b(0xd0)](/INTO\s+([^\s(]+)/i);addTable(_0x4ae07c,_0x3f1563?.[0x1]);const _0x256fa2=_0x26cea0['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x4ae07c,_0x256fa2?.[0x1]),_0x4ae07c;}function addTable(_0xda1cc3,_0x39ea43){const _0x58adba=a256_0x471d3a,_0x1c4999=_0x39ea43?.[_0x58adba(0xdb)](/[`"]/g,'');_0x1c4999&&_0x1c4999!==UNRESOLVED_SQL_FRAGMENT&&!_0xda1cc3[_0x58adba(0x10e)](_0x1c4999)&&_0xda1cc3['push'](_0x1c4999);}function a256_0x16a3(_0x53a7e4,_0x130c59){_0x53a7e4=_0x53a7e4-0xcb;const _0x175ad9=a256_0x175a();let _0x16a3e3=_0x175ad9[_0x53a7e4];return _0x16a3e3;}function extractParameters(_0xd84273){const _0x20607a=a256_0x471d3a,_0x468b98=new Set();for(const _0x598b07 of _0xd84273[_0x20607a(0xdd)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x598b07[0x1])_0x468b98[_0x20607a(0x115)](_0x598b07[0x1]);}return Array['from'](_0x468b98);}export function validateSql(_0xd937a3){const _0x3af371=a256_0x471d3a,_0x2a8dee=normalizeSqlForStaticAnalysis(_0xd937a3),_0x31e67a=detectNormalizedSqlType(_0x2a8dee),_0x4f2186=stripStaticAnalysisMarkers(_0x2a8dee[_0x3af371(0x100)]),_0x138533=_0x2a8dee['error']?[]:extractTables(_0x4f2186),_0x30cd61=_0x2a8dee[_0x3af371(0x117)]?[]:extractParameters(_0x4f2186);if(_0x31e67a['isDangerous'])return{'valid':![],'sqlType':_0x31e67a,'tables':_0x138533,'parameters':_0x30cd61,'message':_0x31e67a['reason']||_0x31e67a[_0x3af371(0x103)]+_0x3af371(0x105)};if(_0x31e67a[_0x3af371(0x103)]===_0x3af371(0xf3))return{'valid':![],'sqlType':_0x31e67a,'tables':_0x138533,'parameters':_0x30cd61,'message':_0x2a8dee[_0x3af371(0x117)]?'Unable\x20to\x20detect\x20SQL\x20type.\x20'+_0x2a8dee[_0x3af371(0x117)]:_0x3af371(0x10b)};return{'valid':!![],'sqlType':_0x31e67a,'tables':_0x138533,'parameters':_0x30cd61,'message':_0x31e67a[_0x3af371(0x103)]+_0x3af371(0x122)+(_0x138533['length']?_0x138533[_0x3af371(0xe6)](',\x20'):_0x3af371(0xdc))+(_0x30cd61[_0x3af371(0xe7)]?_0x3af371(0xde)+_0x30cd61[_0x3af371(0xe6)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a257_0x526d31=a257_0x41c9;function a257_0x42cc(){const _0x24a820=['12678EbvVrb','Missing\x20required\x20flag:\x20--','77ENklEL','Network\x20error:\x20','1057658obkved','Run\x20`','\x20auth`\x20to\x20login\x20first.','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','\x20workspace\x20add\x20<name>\x20--appcode\x20<code>\x20--global`\x20registers\x20a\x20reusable\x20global\x20app\x20profile.','\x20--help`\x20to\x20see\x20available\x20commands.','unknown_command','Unknown\x20command:\x20','56JWFCVh','flag_missing','4fUUqml','auth_required','\x20project\x20directory','46gWUzmV','4717701durGxC','180228DUxZDV','apiError','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.\x0a\x20\x20\x20\x20\x20\x20\x20Tip:\x20`','15632310KRDOSL','3245WpzKch','config_missing','Not\x20in\x20a\x20','validation','5599bewkoe','2076222UibHhs','Check\x20your\x20internet\x20connection\x20and\x20try\x20again.','Configuration\x20file\x20not\x20found','Set\x20appcode\x20via\x20`'];a257_0x42cc=function(){return _0x24a820;};return a257_0x42cc();}(function(_0x59aae8,_0x43e687){const _0xa0a86a=a257_0x41c9,_0x4f1930=_0x59aae8();while(!![]){try{const _0x58d4c6=parseInt(_0xa0a86a(0x11d))/0x1*(parseInt(_0xa0a86a(0x113))/0x2)+parseInt(_0xa0a86a(0x11e))/0x3*(-parseInt(_0xa0a86a(0x110))/0x4)+-parseInt(_0xa0a86a(0x119))/0x5*(-parseInt(_0xa0a86a(0x122))/0x6)+-parseInt(_0xa0a86a(0x106))/0x7*(parseInt(_0xa0a86a(0x10e))/0x8)+-parseInt(_0xa0a86a(0x114))/0x9+parseInt(_0xa0a86a(0x118))/0xa+parseInt(_0xa0a86a(0x124))/0xb*(parseInt(_0xa0a86a(0x115))/0xc);if(_0x58d4c6===_0x43e687)break;else _0x4f1930['push'](_0x4f1930['shift']());}catch(_0x50da0b){_0x4f1930['push'](_0x4f1930['shift']());}}}(a257_0x42cc,0xda65d));import{CliError,createCliErrors}from'@lovrabet/cli-framework';import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};function a257_0x41c9(_0x43844a,_0x48d06f){_0x43844a=_0x43844a-0x105;const _0x42cc16=a257_0x42cc();let _0x41c9d5=_0x42cc16[_0x43844a];return _0x41c9d5;}const baseCliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':a257_0x526d31(0x107)+CLI_BIN_NAME+a257_0x526d31(0x108),'configMissingHint':a257_0x526d31(0x121)+CLI_BIN_NAME+a257_0x526d31(0x117)+CLI_BIN_NAME+a257_0x526d31(0x10a),'notInProjectHint':a257_0x526d31(0x109)});export const CliErrors={'authRequired'(_0x391bf1){const _0x3281ce=a257_0x526d31;return new CliError(_0x3281ce(0x111),0x1,'Authentication\x20required',_0x391bf1??_0x3281ce(0x107)+CLI_BIN_NAME+_0x3281ce(0x108));},'configMissing'(_0x2670cc){const _0x32ce70=a257_0x526d31;return new CliError(_0x32ce70(0x11a),0x1,_0x32ce70(0x120),_0x2670cc??_0x32ce70(0x121)+CLI_BIN_NAME+_0x32ce70(0x117)+CLI_BIN_NAME+_0x32ce70(0x10a));},'notInProject'(){const _0x2077f6=a257_0x526d31;return new CliError('not_in_project',0x1,_0x2077f6(0x11b)+CLI_BIN_NAME+_0x2077f6(0x112),'Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.');},'apiError'(_0x508814,_0x2e443a){const _0x4ba791=a257_0x526d31;return baseCliErrors[_0x4ba791(0x116)](_0x508814,_0x2e443a);},'networkError'(_0x10be8b){const _0x4c650b=a257_0x526d31;return new CliError('network_error',0x2,_0x4c650b(0x105)+_0x10be8b,_0x4c650b(0x11f));},'unknownCommand'(_0x4001ca){const _0x586761=a257_0x526d31;return new CliError(_0x586761(0x10c),0x1,_0x586761(0x10d)+_0x4001ca,_0x586761(0x107)+CLI_BIN_NAME+_0x586761(0x10b));},'flagMissing'(_0x1015a3,_0x1496e1){const _0xbad3c=a257_0x526d31;return new CliError(_0xbad3c(0x10f),0x1,_0xbad3c(0x123)+_0x1015a3,_0x1496e1);},'validation'(_0x550519,_0x559411){const _0xf49f31=a257_0x526d31;return baseCliErrors[_0xf49f31(0x11c)](_0x550519,_0x559411);},'cancelled'(_0x3aa091){return new CliError('cancelled',0x0,_0x3aa091??'Operation\x20cancelled.');}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x849614,_0xc1cc0){const _0x191d94=a258_0x426e,_0x34fad5=_0x849614();while(!![]){try{const _0x50eed3=-parseInt(_0x191d94(0x1f8))/0x1+-parseInt(_0x191d94(0x1f4))/0x2+parseInt(_0x191d94(0x1f1))/0x3+parseInt(_0x191d94(0x1f7))/0x4*(-parseInt(_0x191d94(0x1ef))/0x5)+-parseInt(_0x191d94(0x1f6))/0x6+-parseInt(_0x191d94(0x1f3))/0x7*(-parseInt(_0x191d94(0x1ee))/0x8)+parseInt(_0x191d94(0x1f0))/0x9*(parseInt(_0x191d94(0x1f9))/0xa);if(_0x50eed3===_0xc1cc0)break;else _0x34fad5['push'](_0x34fad5['shift']());}catch(_0x1af677){_0x34fad5['push'](_0x34fad5['shift']());}}}(a258_0x5b61,0x70471));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';function a258_0x426e(_0x17c153,_0x26a496){_0x17c153=_0x17c153-0x1ee;const _0x5b61e1=a258_0x5b61();let _0x426eb5=_0x5b61e1[_0x17c153];return _0x426eb5;}function a258_0x5b61(){const _0x24c616=['280nqaErK','806204oQPlRb','name','5361780hloIEe','156KsvowT','70363TLqhvr','187020YPvQdI','125456xWGRgI','62805LphMDv','639udlQof','1085223OGfZTV','yes'];a258_0x5b61=function(){return _0x24c616;};return a258_0x5b61();}import{buildAllFlags as a258_0x2f043c}from'@lovrabet/cli-framework';import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x2eb9b9){const _0x487f18=a258_0x426e,_0xe268b9=a258_0x2f043c(_0x2eb9b9,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x2eb9b9))return _0xe268b9;return _0xe268b9['map'](_0x471258=>_0x471258[_0x487f18(0x1f5)]===_0x487f18(0x1f2)?{..._0x471258,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x471258);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x418291,_0x143e34){var _0x569eff=a259_0x29be,_0x47cd09=_0x418291();while(!![]){try{var _0x3a3ada=parseInt(_0x569eff(0xba))/0x1+parseInt(_0x569eff(0xb2))/0x2+-parseInt(_0x569eff(0xb9))/0x3+-parseInt(_0x569eff(0xbe))/0x4*(-parseInt(_0x569eff(0xb4))/0x5)+parseInt(_0x569eff(0xb3))/0x6+-parseInt(_0x569eff(0xb5))/0x7*(parseInt(_0x569eff(0xbc))/0x8)+parseInt(_0x569eff(0xb8))/0x9*(-parseInt(_0x569eff(0xbb))/0xa);if(_0x3a3ada===_0x143e34)break;else _0x47cd09['push'](_0x47cd09['shift']());}catch(_0x12d876){_0x47cd09['push'](_0x47cd09['shift']());}}}(a259_0x1271,0xb86cb));function a259_0x29be(_0x1b644f,_0x52b6b5){_0x1b644f=_0x1b644f-0xb2;var _0x1271f1=a259_0x1271();var _0x29beaa=_0x1271f1[_0x1b644f];return _0x29beaa;}import{resolveOutputConfig}from'@lovrabet/cli-framework';function a259_0x1271(){var _0x570131=['def','compress','9FjjKnu','1311861BHKCWf','252459LjwrKU','8495530gBiAVT','1102944OntuFu','defaultFormat','1483064XVOFKz','1952498WcxvpL','5395266pcnTYP','10brTQDA','42GbvcuZ'];a259_0x1271=function(){return _0x570131;};return a259_0x1271();}export function usesStructuredErrorOutput(_0x16645b){return _0x16645b?.['structuredErrors']===!![];}export function resolveErrorOutputFormat(_0x2d4034){var _0x461f93=a259_0x29be;if(!_0x2d4034[_0x461f93(0xb6)])return _0x2d4034['defaultFormat']??_0x461f93(0xb7);return resolveOutputConfig({'flags':_0x2d4034['flags']??{},'def':_0x2d4034[_0x461f93(0xb6)],'configDefault':_0x2d4034[_0x461f93(0xbd)]})['format'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a260_0x13c640=a260_0x1416;(function(_0x233bb8,_0x1b12f1){const _0x1fee43=a260_0x1416,_0x34ff88=_0x233bb8();while(!![]){try{const _0xd8168d=parseInt(_0x1fee43(0x1fb))/0x1*(-parseInt(_0x1fee43(0x1fe))/0x2)+parseInt(_0x1fee43(0x1fc))/0x3*(parseInt(_0x1fee43(0x1f4))/0x4)+-parseInt(_0x1fee43(0x201))/0x5*(parseInt(_0x1fee43(0x202))/0x6)+parseInt(_0x1fee43(0x205))/0x7+-parseInt(_0x1fee43(0x1ff))/0x8*(-parseInt(_0x1fee43(0x1f7))/0x9)+parseInt(_0x1fee43(0x204))/0xa+-parseInt(_0x1fee43(0x1f8))/0xb*(parseInt(_0x1fee43(0x1f5))/0xc);if(_0xd8168d===_0x1b12f1)break;else _0x34ff88['push'](_0x34ff88['shift']());}catch(_0x3a8e81){_0x34ff88['push'](_0x34ff88['shift']());}}}(a260_0x1409,0x66cb7));function a260_0x1416(_0x52f6a0,_0x36cc7a){_0x52f6a0=_0x52f6a0-0x1f4;const _0x14098a=a260_0x1409();let _0x1416a0=_0x14098a[_0x52f6a0];return _0x1416a0;}const EXPLICIT_YES_COMMANDS=new Set(['menu\x20delete',a260_0x13c640(0x1fa),a260_0x13c640(0x1f9),'notification\x20config-delete']);function a260_0x1409(){const _0x155146=['has','5BxIRJP','3350712yXbkKn','Required\x20for\x20execution\x20after\x20reviewing\x20the\x20--dry-run\x20plan','2770690WgKcdC','4487595MNgwHg','1852vGWUQY','24tAogLF','command','62487EVRoFf','3204795kRkCms','notification\x20config-update','kb\x20delete','7mwORDW','2913tENBIu','service','23788IUCJmG','320NKLSfs'];a260_0x1409=function(){return _0x155146;};return a260_0x1409();}export const EXPLICIT_YES_FLAG_DESCRIPTION=a260_0x13c640(0x203);export function requiresExplicitYes(_0x115c66){const _0x49aa90=a260_0x13c640;return EXPLICIT_YES_COMMANDS[_0x49aa90(0x200)](_0x115c66[_0x49aa90(0x1fd)]+'\x20'+_0x115c66[_0x49aa90(0x1f6)]);}
|
package/lib/framework/flags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a261_0x2c3a6a=a261_0x4a01;(function(_0x429a15,_0x4373a3){const _0x43d313=a261_0x4a01,_0x341295=_0x429a15();while(!![]){try{const _0x1e11e4=parseInt(_0x43d313(0x104))/0x1+parseInt(_0x43d313(0x108))/0x2*(parseInt(_0x43d313(0xff))/0x3)+-parseInt(_0x43d313(0x106))/0x4*(parseInt(_0x43d313(0x105))/0x5)+-parseInt(_0x43d313(0x107))/0x6*(parseInt(_0x43d313(0x10a))/0x7)+parseInt(_0x43d313(0x109))/0x8*(-parseInt(_0x43d313(0xfd))/0x9)+parseInt(_0x43d313(0x100))/0xa+parseInt(_0x43d313(0x101))/0xb*(parseInt(_0x43d313(0xfe))/0xc);if(_0x1e11e4===_0x4373a3)break;else _0x341295['push'](_0x341295['shift']());}catch(_0x258497){_0x341295['push'](_0x341295['shift']());}}}(a261_0x5ecf,0x72229));import{createFlagHelpers}from'@lovrabet/cli-framework';function a261_0x4a01(_0x23aedb,_0x8a73b1){_0x23aedb=_0x23aedb-0xfd;const _0x5ecf1b=a261_0x5ecf();let _0x4a01df=_0x5ecf1b[_0x23aedb];return _0x4a01df;}import{CliErrors}from'../errors.js';function a261_0x5ecf(){const _0x19de42=['102372voTbVj','11106owhzTb','8ADNfgH','70MCIKOm','4382622qxycIG','24uVEXfG','243YhUFXl','8385020EugxTj','1012616rlHNRe','parseFlags','validateFlags','267537kmfWiq','28205HXduZw','436zLpWdo'];a261_0x5ecf=function(){return _0x19de42;};return a261_0x5ecf();}const helpers=createFlagHelpers(CliErrors);export const parseFlags=helpers[a261_0x2c3a6a(0x102)];export const validateFlags=helpers[a261_0x2c3a6a(0x103)];
|
package/lib/framework/help.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x51475d,_0x3348ba){const _0x453f68=a262_0x2c82,_0x28207f=_0x51475d();while(!![]){try{const _0x13daa4=parseInt(_0x453f68(0x9a))/0x1*(parseInt(_0x453f68(0x96))/0x2)+parseInt(_0x453f68(0xa3))/0x3*(parseInt(_0x453f68(0x9e))/0x4)+parseInt(_0x453f68(0x9b))/0x5*(-parseInt(_0x453f68(0xa0))/0x6)+parseInt(_0x453f68(0xa2))/0x7+parseInt(_0x453f68(0x9c))/0x8*(-parseInt(_0x453f68(0x99))/0x9)+parseInt(_0x453f68(0xa5))/0xa*(-parseInt(_0x453f68(0x9f))/0xb)+parseInt(_0x453f68(0x95))/0xc;if(_0x13daa4===_0x3348ba)break;else _0x28207f['push'](_0x28207f['shift']());}catch(_0x51ce97){_0x28207f['push'](_0x28207f['shift']());}}}(a262_0x4d6c,0x8f4e6));import{createHelpGenerators}from'@lovrabet/cli-framework';import{buildAllFlags}from'../framework/build-all-flags.js';function a262_0x4d6c(){const _0x567192=['generateFullHelp','4740lvFaYM','\x20[args]\x20[flags]','2229444gEPCOG','2TUSzPe','Requires\x20explicit\x20--yes\x20for\x20execution;\x20use\x20--dry-run\x20to\x20preview.','replace','36HJJVYX','490223xJKkyc','5495ZuaUxM','624696UjxWiD','Requires\x20appcode\x20(set\x20via\x20`','2303472WbQfGp','9119jOwPVR','3966TXlDKJ','\x20workspace\x20init`\x20or\x20--appcode).','5367859bGbkzF','3XjyNxb'];a262_0x4d6c=function(){return _0x567192;};return a262_0x4d6c();}import{serviceRegistry,serviceGroups,getServiceEntry}from'../commands/registry.js';import{CLI_BIN_NAME,CLI_DISPLAY_NAME,GLOBAL_FLAGS}from'../constant/cli.js';import{requiresExplicitYes}from'../framework/explicit-yes.js';function a262_0x2c82(_0x40f615,_0x4d94c6){_0x40f615=_0x40f615-0x95;const _0x4d6cec=a262_0x4d6c();let _0x2c8211=_0x4d6cec[_0x40f615];return _0x2c8211;}function createGenerators(){const _0x503da9=a262_0x2c82;return createHelpGenerators({'cliBinName':CLI_BIN_NAME,'cliDisplayName':CLI_DISPLAY_NAME,'globalFlags':GLOBAL_FLAGS,'serviceRegistry':serviceRegistry,'getServiceEntry':getServiceEntry,'getServiceDefinitions':_0xe65cc8=>serviceGroups['get'](_0xe65cc8),'buildAllFlags':buildAllFlags,'appPrerequisiteText':_0x503da9(0x9d)+CLI_BIN_NAME+_0x503da9(0xa1),'serviceUsageSuffix':_0x503da9(0xa6)});}export function generateCommandHelp(_0x463d28){const _0x37d356=a262_0x2c82,_0x74ef37=createGenerators()['generateCommandHelp'](_0x463d28);if(!requiresExplicitYes(_0x463d28))return _0x74ef37;return _0x74ef37[_0x37d356(0x98)]('Requires\x20--yes\x20to\x20confirm,\x20or\x20interactive\x20prompt.',_0x37d356(0x97));}export function generateServiceHelp(_0x5c7806){return createGenerators()['generateServiceHelp'](_0x5c7806);}export function generateFullHelp(){const _0x307feb=a262_0x2c82;return createGenerators()[_0x307feb(0xa4)]();}
|