@primate/core 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/lib/private/App.d.ts +128 -65
  2. package/lib/private/Bag.d.ts +11 -0
  3. package/lib/private/Bag.js +31 -0
  4. package/lib/private/Flags.d.ts +5 -5
  5. package/lib/private/Flags.js +2 -1
  6. package/lib/private/app/Facade.client.d.ts +20 -0
  7. package/lib/private/app/Facade.client.js +30 -0
  8. package/lib/private/app/{Facade.d.ts → Facade.server.d.ts} +141 -72
  9. package/lib/private/app/{Facade.js → Facade.server.js} +12 -4
  10. package/lib/private/build/App.d.ts +0 -2
  11. package/lib/private/build/App.js +0 -7
  12. package/lib/private/build/client/index.js +29 -27
  13. package/lib/private/build/client/plugin/frontend.js +1 -1
  14. package/lib/private/build/hook.js +0 -3
  15. package/lib/private/build/server/index.js +5 -18
  16. package/lib/private/build/server/plugin/native-addons.d.ts +1 -1
  17. package/lib/private/build/server/plugin/native-addons.js +1 -1
  18. package/lib/private/client/create-form.d.ts +13 -9
  19. package/lib/private/client/create-form.js +21 -4
  20. package/lib/private/client/transport.js +0 -2
  21. package/lib/private/config/index.d.ts +6 -2
  22. package/lib/private/config/schema.d.ts +28 -21
  23. package/lib/private/config/schema.js +5 -3
  24. package/lib/private/cookie.d.ts +5 -5
  25. package/lib/private/db/errors.d.ts +82 -82
  26. package/lib/private/db/migrate/store.d.ts +2 -2
  27. package/lib/private/db/primary.d.ts +1 -1
  28. package/lib/private/db/sql.d.ts +1 -1
  29. package/lib/private/errors.d.ts +80 -68
  30. package/lib/private/errors.js +22 -0
  31. package/lib/private/frontend.d.ts +7 -7
  32. package/lib/private/frontend.js +7 -10
  33. package/lib/private/i18n/API.d.ts +14 -18
  34. package/lib/private/i18n/config.client.d.ts +7 -0
  35. package/lib/private/i18n/config.client.js +130 -0
  36. package/lib/private/i18n/config.server.d.ts +7 -0
  37. package/lib/private/i18n/{index/server.js → config.server.js} +31 -23
  38. package/lib/private/i18n/constant/COOKIE_NAME.d.ts +1 -1
  39. package/lib/private/i18n/constant/DEFAULT_LOCALE.d.ts +1 -1
  40. package/lib/private/i18n/constant/DEFAULT_PERSIST_MODE.d.ts +1 -1
  41. package/lib/private/i18n/constant/PERSIST_HEADER.d.ts +1 -1
  42. package/lib/private/i18n/constant/PERSIST_METHOD.d.ts +1 -1
  43. package/lib/private/i18n/constant/PERSIST_STORAGE_KEY.d.ts +1 -1
  44. package/lib/private/i18n/index.d.ts +42 -0
  45. package/lib/private/i18n/index.js +6 -0
  46. package/lib/private/i18n/missing.d.ts +5 -0
  47. package/lib/private/i18n/missing.js +38 -0
  48. package/lib/private/i18n/module.js +36 -52
  49. package/lib/private/i18n/schema.d.ts +4 -4
  50. package/lib/private/loader.d.ts +5 -0
  51. package/lib/private/loader.js +28 -0
  52. package/lib/private/logger.d.ts +1 -1
  53. package/lib/private/request/RequestBag.d.ts +12 -13
  54. package/lib/private/request/RequestBag.js +5 -4
  55. package/lib/private/request/RequestView.d.ts +5 -5
  56. package/lib/private/request/RequestView.js +0 -1
  57. package/lib/private/response/view.d.ts +1 -0
  58. package/lib/private/response/view.js +0 -7
  59. package/lib/private/route/Handler.d.ts +1 -1
  60. package/lib/private/route/NarrowedRequest.d.ts +6 -1
  61. package/lib/private/route/Options.d.ts +2 -1
  62. package/lib/private/route/hook.d.ts +1 -2
  63. package/lib/private/route/router.d.ts +9 -9
  64. package/lib/private/route/router.js +9 -0
  65. package/lib/private/route.client.d.ts +21 -12
  66. package/lib/private/route.client.js +9 -4
  67. package/lib/private/route.d.ts +3 -0
  68. package/lib/private/route.js +2 -0
  69. package/lib/private/serve/App.d.ts +2 -13
  70. package/lib/private/serve/App.js +63 -46
  71. package/lib/private/serve/Init.d.ts +0 -3
  72. package/lib/private/server/TAG.d.ts +1 -1
  73. package/lib/private/session/config.client.d.ts +4 -0
  74. package/lib/private/session/config.client.js +24 -0
  75. package/lib/private/session/config.server.d.ts +15 -0
  76. package/lib/private/session/config.server.js +44 -0
  77. package/lib/private/session/index.d.ts +2 -14
  78. package/lib/private/session/index.js +2 -43
  79. package/lib/private/session/schema.d.ts +5 -5
  80. package/lib/private/store/PrimaryKey.d.ts +1 -1
  81. package/lib/private/store.client.d.ts +13 -0
  82. package/lib/private/store.client.js +9 -0
  83. package/lib/private/store.d.ts +2 -0
  84. package/lib/private/target/Manager.d.ts +2 -0
  85. package/lib/private/target/Manager.js +29 -5
  86. package/lib/private/target/Target.d.ts +2 -0
  87. package/lib/public/i18n.d.ts +3 -0
  88. package/lib/public/{i18n/config.js → i18n.js} +1 -1
  89. package/lib/public/loader.d.ts +2 -0
  90. package/lib/public/loader.js +2 -0
  91. package/lib/public/response.d.ts +1 -1
  92. package/lib/public/{session/config.d.ts → session.d.ts} +1 -1
  93. package/lib/public/{session/config.js → session.js} +1 -1
  94. package/package.json +27 -13
  95. package/lib/private/app/Facade.browser.d.ts +0 -11
  96. package/lib/private/app/Facade.browser.js +0 -19
  97. package/lib/private/build/server/plugin/store.d.ts +0 -4
  98. package/lib/private/build/server/plugin/store.js +0 -25
  99. package/lib/private/build/server/plugin/stores.d.ts +0 -4
  100. package/lib/private/build/server/plugin/stores.js +0 -28
  101. package/lib/private/i18n/index/client.d.ts +0 -9
  102. package/lib/private/i18n/index/client.js +0 -152
  103. package/lib/private/i18n/index/server.d.ts +0 -9
  104. package/lib/private/i18n/symbol/internal.d.ts +0 -3
  105. package/lib/private/i18n/symbol/internal.js +0 -3
  106. package/lib/public/i18n/API.d.ts +0 -2
  107. package/lib/public/i18n/API.js +0 -2
  108. package/lib/public/i18n/Catalogs.d.ts +0 -2
  109. package/lib/public/i18n/Catalogs.js +0 -2
  110. package/lib/public/i18n/ContextData.d.ts +0 -2
  111. package/lib/public/i18n/ContextData.js +0 -2
  112. package/lib/public/i18n/config.d.ts +0 -2
  113. package/lib/public/i18n/locale.d.ts +0 -2
  114. package/lib/public/i18n/locale.js +0 -2
  115. package/lib/public/i18n/sInternal.d.ts +0 -2
  116. package/lib/public/i18n/sInternal.js +0 -2
  117. package/lib/public/route/hook.d.ts +0 -2
  118. package/lib/public/route/hook.js +0 -2
  119. /package/lib/private/i18n/{index/types.d.ts → types.d.ts} +0 -0
  120. /package/lib/private/i18n/{index/types.js → types.js} +0 -0
@@ -0,0 +1,7 @@
1
+ import type API from "#i18n/API";
2
+ import type Catalog from "#i18n/Catalog";
3
+ import type Catalogs from "#i18n/Catalogs";
4
+ import type Config from "#i18n/Config";
5
+ import type { EntriesOf, ParamsFromEntries, PathValue } from "#i18n/types";
6
+ export default function i18n<const C extends Catalogs>(config: Config<C>): (<K extends string>(...args: K extends ((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T ? T extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T extends string | number | boolean | null | undefined ? never : T extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T extends object ? string extends keyof T ? keyof T & string : { [K_1 in Extract<keyof T, string> extends infer T_2 ? T_2 extends Extract<keyof T, string> ? T_2 extends `${string}.${string}` ? never : T_2 : never : never]: K_1 | ((T[K_1] extends infer T_3 ? T_3 extends T[K_1] ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_2 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_2 | ((T_3[K_2] extends infer T_5 ? T_5 extends T_3[K_2] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_3 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_3 | ((T_5[K_3] extends infer T_7 ? T_7 extends T_5[K_3] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_4 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_4 | ((T_7[K_4] extends infer T_9 ? T_9 extends T_7[K_4] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_5 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_5 | ((T_9[K_5] extends infer T_11 ? T_11 extends T_9[K_5] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_6 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_6 | ((T_11[K_6] extends infer T_13 ? T_13 extends T_11[K_6] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_7 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_7; }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T, string> extends infer T_2 ? T_2 extends Extract<keyof T, string> ? T_2 extends `${string}.${string}` ? never : T_2 : never : never] : never : never : never) & string ? [EntriesOf<Extract<[K] extends [((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T_3 ? T_3 extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_1 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_1 | ((T_3[K_1] extends infer T_5 ? T_5 extends T_3[K_1] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_2 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_2 | ((T_5[K_2] extends infer T_7 ? T_7 extends T_5[K_2] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_3 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_3 | ((T_7[K_3] extends infer T_9 ? T_9 extends T_7[K_3] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_4 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_4 | ((T_9[K_4] extends infer T_11 ? T_11 extends T_9[K_4] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_5 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_5 | ((T_11[K_5] extends infer T_13 ? T_13 extends T_11[K_5] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_6 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_6 | ((T_13[K_6] extends infer T_15 ? T_15 extends T_13[K_6] ? T_15 extends string | number | boolean | null | undefined ? never : T_15 extends readonly (infer E)[] ? `${number}` : T_15 extends object ? string extends keyof T_15 ? keyof T_15 & string : { [K_7 in Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never]: K_7; }[Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) & string] ? PathValue<C[keyof C & string] extends Catalog ? C[keyof C & string] : never, K, 6> : never, string>>] extends [never] ? [key: K] : [key: K, params: ParamsFromEntries<EntriesOf<Extract<[K] extends [((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T_3 ? T_3 extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_1 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_1 | ((T_3[K_1] extends infer T_5 ? T_5 extends T_3[K_1] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_2 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_2 | ((T_5[K_2] extends infer T_7 ? T_7 extends T_5[K_2] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_3 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_3 | ((T_7[K_3] extends infer T_9 ? T_9 extends T_7[K_3] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_4 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_4 | ((T_9[K_4] extends infer T_11 ? T_11 extends T_9[K_4] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_5 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_5 | ((T_11[K_5] extends infer T_13 ? T_13 extends T_11[K_5] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_6 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_6 | ((T_13[K_6] extends infer T_15 ? T_15 extends T_13[K_6] ? T_15 extends string | number | boolean | null | undefined ? never : T_15 extends readonly (infer E)[] ? `${number}` : T_15 extends object ? string extends keyof T_15 ? keyof T_15 & string : { [K_7 in Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never]: K_7; }[Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) & string] ? PathValue<C[keyof C & string] extends Catalog ? C[keyof C & string] : never, K, 6> : never, string>>>] : [`[i18n] Missing locale key "${K}".`]) => K extends ((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T ? T extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T extends string | number | boolean | null | undefined ? never : T extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T extends object ? string extends keyof T ? keyof T & string : { [K_1 in Extract<keyof T, string> extends infer T_2 ? T_2 extends Extract<keyof T, string> ? T_2 extends `${string}.${string}` ? never : T_2 : never : never]: K_1 | ((T[K_1] extends infer T_3 ? T_3 extends T[K_1] ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_2 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_2 | ((T_3[K_2] extends infer T_5 ? T_5 extends T_3[K_2] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_3 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_3 | ((T_5[K_3] extends infer T_7 ? T_7 extends T_5[K_3] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_4 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_4 | ((T_7[K_4] extends infer T_9 ? T_9 extends T_7[K_4] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_5 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_5 | ((T_9[K_5] extends infer T_11 ? T_11 extends T_9[K_5] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_6 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_6 | ((T_11[K_6] extends infer T_13 ? T_13 extends T_11[K_6] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_7 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_7; }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T, string> extends infer T_2 ? T_2 extends Extract<keyof T, string> ? T_2 extends `${string}.${string}` ? never : T_2 : never : never] : never : never : never) & string ? ([K] extends [((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T_3 ? T_3 extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_1 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_1 | ((T_3[K_1] extends infer T_5 ? T_5 extends T_3[K_1] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_2 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_2 | ((T_5[K_2] extends infer T_7 ? T_7 extends T_5[K_2] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_3 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_3 | ((T_7[K_3] extends infer T_9 ? T_9 extends T_7[K_3] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_4 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_4 | ((T_9[K_4] extends infer T_11 ? T_11 extends T_9[K_4] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_5 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_5 | ((T_11[K_5] extends infer T_13 ? T_13 extends T_11[K_5] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_6 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_6 | ((T_13[K_6] extends infer T_15 ? T_15 extends T_13[K_6] ? T_15 extends string | number | boolean | null | undefined ? never : T_15 extends readonly (infer E)[] ? `${number}` : T_15 extends object ? string extends keyof T_15 ? keyof T_15 & string : { [K_7 in Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never]: K_7; }[Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) & string] ? PathValue<C[keyof C & string] extends Catalog ? C[keyof C & string] : never, K, 6> : never) extends string ? string : [K] extends [((C[keyof C & string] extends Catalog ? C[keyof C & string] : never) extends infer T_3 ? T_3 extends (C[keyof C & string] extends Catalog ? C[keyof C & string] : never) ? T_3 extends string | number | boolean | null | undefined ? never : T_3 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5 | ((T_8[K_5] extends infer T_10 ? T_10 extends T_8[K_5] ? T_10 extends string | number | boolean | null | undefined ? never : T_10 extends readonly (infer E)[] ? `${number}` : T_10 extends object ? string extends keyof T_10 ? keyof T_10 & string : { [K_6 in Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never]: K_6; }[Extract<keyof T_10, string> extends infer T_11 ? T_11 extends Extract<keyof T_10, string> ? T_11 extends `${string}.${string}` ? never : T_11 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_3 extends object ? string extends keyof T_3 ? keyof T_3 & string : { [K_1 in Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never]: K_1 | ((T_3[K_1] extends infer T_5 ? T_5 extends T_3[K_1] ? T_5 extends string | number | boolean | null | undefined ? never : T_5 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4 | ((T_6[K_4] extends infer T_8 ? T_8 extends T_6[K_4] ? T_8 extends string | number | boolean | null | undefined ? never : T_8 extends readonly (infer E)[] ? `${number}` : T_8 extends object ? string extends keyof T_8 ? keyof T_8 & string : { [K_5 in Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never]: K_5; }[Extract<keyof T_8, string> extends infer T_9 ? T_9 extends Extract<keyof T_8, string> ? T_9 extends `${string}.${string}` ? never : T_9 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_5 extends object ? string extends keyof T_5 ? keyof T_5 & string : { [K_2 in Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never]: K_2 | ((T_5[K_2] extends infer T_7 ? T_7 extends T_5[K_2] ? T_7 extends string | number | boolean | null | undefined ? never : T_7 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3 | ((T_4[K_3] extends infer T_6 ? T_6 extends T_4[K_3] ? T_6 extends string | number | boolean | null | undefined ? never : T_6 extends readonly (infer E)[] ? `${number}` : T_6 extends object ? string extends keyof T_6 ? keyof T_6 & string : { [K_4 in Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never]: K_4; }[Extract<keyof T_6, string> extends infer T_7 ? T_7 extends Extract<keyof T_6, string> ? T_7 extends `${string}.${string}` ? never : T_7 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_7 extends object ? string extends keyof T_7 ? keyof T_7 & string : { [K_3 in Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never]: K_3 | ((T_7[K_3] extends infer T_9 ? T_9 extends T_7[K_3] ? T_9 extends string | number | boolean | null | undefined ? never : T_9 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2 | ((T_2[K_2] extends infer T_4 ? T_4 extends T_2[K_2] ? T_4 extends string | number | boolean | null | undefined ? never : T_4 extends readonly (infer E)[] ? `${number}` : T_4 extends object ? string extends keyof T_4 ? keyof T_4 & string : { [K_3 in Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never]: K_3; }[Extract<keyof T_4, string> extends infer T_5 ? T_5 extends Extract<keyof T_4, string> ? T_5 extends `${string}.${string}` ? never : T_5 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_9 extends object ? string extends keyof T_9 ? keyof T_9 & string : { [K_4 in Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never]: K_4 | ((T_9[K_4] extends infer T_11 ? T_11 extends T_9[K_4] ? T_11 extends string | number | boolean | null | undefined ? never : T_11 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1 | ((E[K_1] extends infer T_2 ? T_2 extends E[K_1] ? T_2 extends string | number | boolean | null | undefined ? never : T_2 extends readonly (infer E)[] ? `${number}` : T_2 extends object ? string extends keyof T_2 ? keyof T_2 & string : { [K_2 in Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never]: K_2; }[Extract<keyof T_2, string> extends infer T_3 ? T_3 extends Extract<keyof T_2, string> ? T_3 extends `${string}.${string}` ? never : T_3 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_11 extends object ? string extends keyof T_11 ? keyof T_11 & string : { [K_5 in Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never]: K_5 | ((T_11[K_5] extends infer T_13 ? T_13 extends T_11[K_5] ? T_13 extends string | number | boolean | null | undefined ? never : T_13 extends readonly (infer E)[] ? `${number}` | `${number}.${(E extends string | number | boolean | null | undefined ? never : E extends readonly (infer E)[] ? `${number}` : E extends object ? string extends keyof E ? keyof E & string : { [K_1 in Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never]: K_1; }[Extract<keyof E, string> extends infer T_1 ? T_1 extends Extract<keyof E, string> ? T_1 extends `${string}.${string}` ? never : T_1 : never : never] : never) & string}` : T_13 extends object ? string extends keyof T_13 ? keyof T_13 & string : { [K_6 in Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never]: K_6 | ((T_13[K_6] extends infer T_15 ? T_15 extends T_13[K_6] ? T_15 extends string | number | boolean | null | undefined ? never : T_15 extends readonly (infer E)[] ? `${number}` : T_15 extends object ? string extends keyof T_15 ? keyof T_15 & string : { [K_7 in Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never]: K_7; }[Extract<keyof T_15, string> extends infer T_16 ? T_16 extends Extract<keyof T_15, string> ? T_16 extends `${string}.${string}` ? never : T_16 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_6}.${R}` : never : never); }[Extract<keyof T_13, string> extends infer T_14 ? T_14 extends Extract<keyof T_13, string> ? T_14 extends `${string}.${string}` ? never : T_14 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_5}.${R}` : never : never); }[Extract<keyof T_11, string> extends infer T_12 ? T_12 extends Extract<keyof T_11, string> ? T_12 extends `${string}.${string}` ? never : T_12 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_4}.${R}` : never : never); }[Extract<keyof T_9, string> extends infer T_10 ? T_10 extends Extract<keyof T_9, string> ? T_10 extends `${string}.${string}` ? never : T_10 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_3}.${R}` : never : never); }[Extract<keyof T_7, string> extends infer T_8 ? T_8 extends Extract<keyof T_7, string> ? T_8 extends `${string}.${string}` ? never : T_8 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_2}.${R}` : never : never); }[Extract<keyof T_5, string> extends infer T_6 ? T_6 extends Extract<keyof T_5, string> ? T_6 extends `${string}.${string}` ? never : T_6 : never : never] : never : never : never) extends infer R ? R extends string ? `${K_1}.${R}` : never : never); }[Extract<keyof T_3, string> extends infer T_4 ? T_4 extends Extract<keyof T_3, string> ? T_4 extends `${string}.${string}` ? never : T_4 : never : never] : never : never : never) & string] ? PathValue<C[keyof C & string] extends Catalog ? C[keyof C & string] : never, K, 6> : never : string) & API<C>;
7
+ //# sourceMappingURL=config.server.d.ts.map