define.json 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. [
  2. {
  3. "name": "AbsolutePath",
  4. "define": "absolute_path",
  5. "doc": "Print absolute file path in trace output."
  6. },
  7. {
  8. "name": "AdvancedTelemetry",
  9. "define": "advanced-telemetry",
  10. "doc": "Allow the SWF to be measured with Monocle tool.",
  11. "platforms": ["flash"]
  12. },
  13. {
  14. "name": "AnalyzerOptimize",
  15. "define": "analyzer_optimize",
  16. "doc": "Perform advanced optimizations."
  17. },
  18. {
  19. "name": "AnnotateSource",
  20. "define": "annotate_source",
  21. "doc": "Add additional comments to generated source code.",
  22. "platforms": ["cpp"]
  23. },
  24. {
  25. "name": "CheckXmlProxy",
  26. "define": "check_xml_proxy",
  27. "doc": "Check the used fields of the XML proxy."
  28. },
  29. {
  30. "name": "CoreApi",
  31. "define": "core_api",
  32. "doc": "Defined in the core API context."
  33. },
  34. {
  35. "name": "CoreApiSerialize",
  36. "define": "core_api_serialize",
  37. "doc": "Mark some generated core API classes with the `Serializable` attribute on C#.",
  38. "platforms": ["cs"]
  39. },
  40. {
  41. "name": "Cppia",
  42. "define": "cppia",
  43. "doc": "Generate cpp instruction assembly."
  44. },
  45. {
  46. "name": "CsVer",
  47. "define": "cs_ver",
  48. "doc": "The C# version to target.",
  49. "platforms": ["cs"]
  50. },
  51. {
  52. "name": "NoCppiaAst",
  53. "define": "nocppiaast",
  54. "doc": "Use legacy cppia generation."
  55. },
  56. {
  57. "name": "Dce",
  58. "define": "dce",
  59. "doc": "Set the dead code elimination mode. (default: std)",
  60. "params": ["mode: std | full | no"],
  61. "links": ["https://haxe.org/manual/cr-dce.html"]
  62. },
  63. {
  64. "name": "DceDebug",
  65. "define": "dce_debug",
  66. "doc": "Show DCE log.",
  67. "links": ["https://haxe.org/manual/cr-dce.html"]
  68. },
  69. {
  70. "name": "Debug",
  71. "define": "debug",
  72. "doc": "Activated when compiling with -debug."
  73. },
  74. {
  75. "name": "DisableUnicodeStrings",
  76. "define": "disable_unicode_strings",
  77. "doc": "Disable Unicode support in `String` type.",
  78. "platforms": ["cpp"]
  79. },
  80. {
  81. "name": "Display",
  82. "define": "display",
  83. "doc": "Activated during completion.",
  84. "links": ["https://haxe.org/manual/cr-completion.html"]
  85. },
  86. {
  87. "name": "DisplayStdin",
  88. "define": "display_stdin",
  89. "doc": "Read the contents of a file specified in `--display` from standard input."
  90. },
  91. {
  92. "name": "DllExport",
  93. "define": "dll_export",
  94. "doc": "GenCPP experimental linking.",
  95. "platforms": ["cpp"]
  96. },
  97. {
  98. "name": "DllImport",
  99. "define": "dll_import",
  100. "doc": "Handle Haxe-generated .NET DLL imports.",
  101. "platforms": ["cs"]
  102. },
  103. {
  104. "name": "DocGen",
  105. "define": "doc_gen",
  106. "doc": "Do not perform any removal/change in order to correctly generate documentation."
  107. },
  108. {
  109. "name": "Dump",
  110. "define": "dump",
  111. "doc": "Dump typed AST in dump subdirectory using specified mode or non-prettified default.",
  112. "params": ["mode: pretty | record | position | legacy"]
  113. },
  114. {
  115. "name": "DumpPath",
  116. "define": "dump_path",
  117. "doc": "Path to generate dumps to (default: \"dump\")."
  118. },
  119. {
  120. "name": "DumpDependencies",
  121. "define": "dump_dependencies",
  122. "doc": "Dump the classes dependencies in a dump subdirectory."
  123. },
  124. {
  125. "name": "DumpIgnoreVarIds",
  126. "define": "dump_ignore_var_ids",
  127. "doc": "Remove variable IDs from non-pretty dumps (helps with diff)."
  128. },
  129. {
  130. "name": "DynamicInterfaceClosures",
  131. "define": "dynamic_interface_closures",
  132. "doc": "Use slow path for interface closures to save space.",
  133. "platforms": ["cpp"]
  134. },
  135. {
  136. "name": "EraseGenerics",
  137. "define": "erase_generics",
  138. "doc": "Erase generic classes on C#.",
  139. "platforms": ["cs"]
  140. },
  141. {
  142. "name": "EvalCallStackDepth",
  143. "define": "eval_call_stack_depth",
  144. "doc": "Set maximum call stack depth for eval. (default: 1000)",
  145. "platforms": ["eval"],
  146. "params": ["depth"]
  147. },
  148. {
  149. "name": "EvalDebugger",
  150. "define": "eval_debugger",
  151. "doc": "Support debugger in macro/interp mode. Allows `host:port` value to open a socket. Implies eval_stack.",
  152. "platforms": ["eval"]
  153. },
  154. {
  155. "name": "EvalStack",
  156. "define": "eval_stack",
  157. "doc": "Record stack information in macro/interp mode.",
  158. "platforms": ["eval"]
  159. },
  160. {
  161. "name": "EvalTimes",
  162. "define": "eval_times",
  163. "doc": "Record per-method execution times in macro/interp mode. Implies eval_stack.",
  164. "platforms": ["eval"]
  165. },
  166. {
  167. "name": "FilterTimes",
  168. "define": "filter_times",
  169. "doc": "Record per-filter execution times upon --times."
  170. },
  171. {
  172. "name": "FastCast",
  173. "define": "fast_cast",
  174. "doc": "Enables an experimental casts cleanup on C# and Java.",
  175. "platforms": ["cs", "java"]
  176. },
  177. {
  178. "name": "Fdb",
  179. "define": "fdb",
  180. "doc": "Enable full flash debug infos for FDB interactive debugging.",
  181. "platforms": ["flash"]
  182. },
  183. {
  184. "name": "FileExtension",
  185. "define": "file_extension",
  186. "doc": "Output filename extension for cpp source code.",
  187. "platforms": ["cpp"]
  188. },
  189. {
  190. "name": "FlashStrict",
  191. "define": "flash_strict",
  192. "doc": "More strict typing for flash target.",
  193. "platforms": ["flash"]
  194. },
  195. {
  196. "name": "FlashUseStage",
  197. "define": "flash_use_stage",
  198. "doc": "Keep the SWF library initial stage.",
  199. "platforms": ["flash"]
  200. },
  201. {
  202. "devcomment": "force_lib_check is only here as a debug facility - compiler checking allows errors to be found more easily",
  203. "name": "ForceLibCheck",
  204. "define": "force_lib_check",
  205. "doc": "Force the compiler to check `--net-lib` and `–-java-lib` added classes (internal).",
  206. "platforms": ["cs", "java"]
  207. },
  208. {
  209. "name": "ForceNativeProperty",
  210. "define": "force_native_property",
  211. "doc": "Tag all properties with `:nativeProperty` metadata for 3.1 compatibility.",
  212. "platforms": ["cpp"]
  213. },
  214. {
  215. "name": "GencommonDebug",
  216. "define": "gencommon_debug",
  217. "doc": "GenCommon internal.",
  218. "platforms": ["cs", "java"]
  219. },
  220. {
  221. "name": "Haxe3Compat",
  222. "define": "haxe3compat",
  223. "doc": "Gives warnings about transition from Haxe 3.x to Haxe 4.0."
  224. },
  225. {
  226. "name": "HaxeBoot",
  227. "define": "haxe_boot",
  228. "doc": "Give the name 'haxe' to the flash boot class instead of a generated name.",
  229. "platforms": ["flash"]
  230. },
  231. {
  232. "name": "HaxeVer",
  233. "define": "haxe_ver",
  234. "doc": "The current Haxe version value as decimal number. E.g. 3.407 for 3.4.7.",
  235. "reserved": true
  236. },
  237. {
  238. "name": "Haxe",
  239. "define": "haxe",
  240. "doc": "The current Haxe version value in SemVer format.",
  241. "reserved": true
  242. },
  243. {
  244. "name": "HlVer",
  245. "define": "hl_ver",
  246. "doc": "The HashLink version to target. (default: 1.10.0)",
  247. "platforms": ["hl"],
  248. "params": ["version"]
  249. },
  250. {
  251. "name": "HxcppApiLevel",
  252. "define": "hxcpp_api_level",
  253. "doc": "Provided to allow compatibility between hxcpp versions.",
  254. "platforms": ["cpp"]
  255. },
  256. {
  257. "name": "HxcppGcGenerational",
  258. "define": "HXCPP_GC_GENERATIONAL",
  259. "doc": "Experimental Garbage Collector.",
  260. "platforms": ["cpp"]
  261. },
  262. {
  263. "name": "HxcppDebugger",
  264. "define": "HXCPP_DEBUGGER",
  265. "doc": "Include additional information for hxcpp_debugger.",
  266. "platforms": ["cpp"]
  267. },
  268. {
  269. "name": "HxcppSmartStings",
  270. "define": "hxcpp_smart_strings",
  271. "doc": "Use wide strings in hxcpp. (Turned on by default unless `-D disable_unicode_strings` is specified.)",
  272. "platforms": ["cpp"]
  273. },
  274. {
  275. "name": "IncludePrefix",
  276. "define": "include_prefix",
  277. "doc": "Prepend path to generated include files.",
  278. "platforms": ["cpp"]
  279. },
  280. {
  281. "name": "Interp",
  282. "define": "interp",
  283. "doc": "The code is compiled to be run with `--interp`."
  284. },
  285. {
  286. "name": "JarLegacyLoader",
  287. "define": "jar-legacy-loader",
  288. "doc": "Use the legacy loader to load .jar files on the JVM target.",
  289. "platforms": ["java"]
  290. },
  291. {
  292. "name": "JavaVer",
  293. "define": "java_ver",
  294. "doc": "Sets the Java version to be targeted.",
  295. "platforms": ["java"],
  296. "params": ["version: 5-7"]
  297. },
  298. {
  299. "name": "JsClassic",
  300. "define": "js_classic",
  301. "doc": "Don't use a function wrapper and strict mode in JS output.",
  302. "platforms": ["js"]
  303. },
  304. {
  305. "name": "JsEs",
  306. "define": "js_es",
  307. "doc": "Generate JS compliant with given ES standard version. (default: 5)",
  308. "platforms": ["js"],
  309. "params": ["version number"],
  310. "links": ["https://haxe.org/manual/target-javascript-es6.html"]
  311. },
  312. {
  313. "name": "JsEnumsAsArrays",
  314. "define": "js_enums_as_arrays",
  315. "doc": "Generate enum representation as array instead of as object.",
  316. "platforms": ["js"]
  317. },
  318. {
  319. "name": "JsUnflatten",
  320. "define": "js_unflatten",
  321. "doc": "Generate nested objects for packages and types.",
  322. "platforms": ["js"]
  323. },
  324. {
  325. "name": "JsSourceMap",
  326. "define": "js_source_map",
  327. "doc": "Generate JavaScript source map even in non-debug mode. Deprecated in favor of `-D source_map`.",
  328. "platforms": ["js"]
  329. },
  330. {
  331. "name": "SourceMap",
  332. "define": "source_map",
  333. "doc": "Generate source map for compiled files.",
  334. "platforms": ["php", "js"]
  335. },
  336. {
  337. "name": "Jvm",
  338. "define": "jvm",
  339. "doc": "Generate jvm directly.",
  340. "platforms": ["java"]
  341. },
  342. {
  343. "name": "KeepOldOutput",
  344. "define": "keep_old_output",
  345. "doc": "Keep old source files in the output directory.",
  346. "platforms": ["cs", "java"]
  347. },
  348. {
  349. "name": "LoopUnrollMaxCost",
  350. "define": "loop_unroll_max_cost",
  351. "doc": "Maximum cost (number of expressions * iterations) before loop unrolling is canceled. (default: 250)",
  352. "params": ["cost"]
  353. },
  354. {
  355. "name": "LuaJit",
  356. "define": "lua_jit",
  357. "doc": "Enable the jit compiler for lua (version 5.2 only).",
  358. "platforms": ["lua"]
  359. },
  360. {
  361. "name": "LuaVanilla",
  362. "define": "lua_vanilla",
  363. "doc": "Generate code lacking compiled extern lib support (e.g. utf8).",
  364. "platforms": ["lua"]
  365. },
  366. {
  367. "name": "LuaVer",
  368. "define": "lua_ver",
  369. "doc": "The lua version to target.",
  370. "platforms": ["lua"],
  371. "params": ["version"]
  372. },
  373. {
  374. "name": "Macro",
  375. "define": "macro",
  376. "doc": "Defined when code is compiled in the macro context.",
  377. "links": ["https://haxe.org/manual/macro.html"],
  378. "reserved": true
  379. },
  380. {
  381. "name": "MacroTimes",
  382. "define": "macro_times",
  383. "doc": "Display per-macro timing when used with `--times`."
  384. },
  385. {
  386. "name": "NetVer",
  387. "define": "net_ver",
  388. "doc": "Sets the .NET version to be targeted.",
  389. "platforms": ["cs"],
  390. "params": ["version: 20-45"]
  391. },
  392. {
  393. "name": "NetcoreVer",
  394. "define": "netcore_ver",
  395. "doc": "Sets the .NET core version to be targeted",
  396. "platforms": ["cs"],
  397. "params": ["version: x.x.x"]
  398. },
  399. {
  400. "name": "NetTarget",
  401. "define": "net_target",
  402. "doc": "Sets the .NET target. `netcore` (.NET core), `xbox`, `micro` (Micro Framework), `compact` (Compact Framework) are some valid values. (default: `net`)",
  403. "platforms": ["cs"],
  404. "params": ["name"]
  405. },
  406. {
  407. "name": "NekoSource",
  408. "define": "neko_source",
  409. "doc": "Output neko source instead of bytecode.",
  410. "platforms": ["neko"]
  411. },
  412. {
  413. "name": "NekoV1",
  414. "define": "neko_v1",
  415. "doc": "Keep Neko 1.x compatibility.",
  416. "platforms": ["neko"]
  417. },
  418. {
  419. "name": "NetworkSandbox",
  420. "define": "network-sandbox",
  421. "doc": "Use local network sandbox instead of local file access one.",
  422. "platforms": ["flash"]
  423. },
  424. {
  425. "name": "NoCompilation",
  426. "define": "no-compilation",
  427. "doc": "Disable final compilation.",
  428. "platforms": ["cs", "java", "cpp", "hl"]
  429. },
  430. {
  431. "name": "NoCOpt",
  432. "define": "no_copt",
  433. "doc": "Disable completion optimization (for debug purposes)."
  434. },
  435. {
  436. "name": "NoDebug",
  437. "define": "no_debug",
  438. "doc": "Remove all debug macros from cpp output."
  439. },
  440. {
  441. "name": "NoDeprecationWarnings",
  442. "define": "no-deprecation-warnings",
  443. "doc": "Do not warn if fields annotated with `@:deprecated` are used."
  444. },
  445. {
  446. "name": "NoFlashOverride",
  447. "define": "no-flash-override",
  448. "doc": "Change overrides on some basic classes into HX suffixed methods",
  449. "platforms": ["flash"]
  450. },
  451. {
  452. "name": "NoOpt",
  453. "define": "no_opt",
  454. "doc": "Disable optimizations."
  455. },
  456. {
  457. "name": "NoInline",
  458. "define": "no_inline",
  459. "doc": "Disable inlining.",
  460. "links": ["https://haxe.org/manual/class-field-inline.html"]
  461. },
  462. {
  463. "name": "KeepInlinePositions",
  464. "define": "keep_inline_positions",
  465. "doc": "Don't substitute positions of inlined expressions with the position of the place of inlining.",
  466. "links": ["https://haxe.org/manual/class-field-inline.html"]
  467. },
  468. {
  469. "name": "NoRoot",
  470. "define": "no_root",
  471. "doc": "Generate top-level types into the `haxe.root` namespace.",
  472. "platforms": ["cs"]
  473. },
  474. {
  475. "name": "NoMacroCache",
  476. "define": "no_macro_cache",
  477. "doc": "Disable macro context caching."
  478. },
  479. {
  480. "name": "NoSwfCompress",
  481. "define": "no_swf_compress",
  482. "doc": "Disable SWF output compression.",
  483. "platforms": ["flash"]
  484. },
  485. {
  486. "name": "NoTraces",
  487. "define": "no_traces",
  488. "doc": "Disable all trace calls."
  489. },
  490. {
  491. "name": "Objc",
  492. "define": "objc",
  493. "doc": "Sets the hxcpp output to Objective-C++ classes. Must be defined for interop.",
  494. "platforms": ["cpp"]
  495. },
  496. {
  497. "name": "OldConstructorInline",
  498. "define": "old-constructor-inline",
  499. "doc": "Use old constructor inlining logic (from Haxe 3.4.2) instead of the reworked version."
  500. },
  501. {
  502. "name": "OldErrorFormat",
  503. "define": "old-error-format",
  504. "doc": "Use Haxe 3.x zero-based column error messages instead of new one-based format."
  505. },
  506. {
  507. "name": "PhpPrefix",
  508. "define": "php_prefix",
  509. "doc": "Root namespace for generated php classes. E.g. if compiled with`-D php-prefix=some.sub`, then all classes will be generated in `\\some\\sub` namespace.",
  510. "platforms": ["php"],
  511. "params": ["dot-separated namespace"]
  512. },
  513. {
  514. "name": "PhpLib",
  515. "define": "php_lib",
  516. "doc": "Select the name for the php lib folder.",
  517. "platforms": ["php"],
  518. "params": ["folder name"]
  519. },
  520. {
  521. "name": "PhpFront",
  522. "define": "php_front",
  523. "doc": "Select the name for the php front file. (default: `index.php`)",
  524. "platforms": ["php"],
  525. "params": ["filename"]
  526. },
  527. {
  528. "name": "PythonVersion",
  529. "define": "python_version",
  530. "doc": "The python version to target. (default: 3.3)",
  531. "platforms": ["python"],
  532. "params": ["version"]
  533. },
  534. {
  535. "name": "RealPosition",
  536. "define": "real_position",
  537. "doc": "Disables Haxe source mapping when targetting C#, removes position comments in Java and Php output.",
  538. "platforms": ["cs", "java", "php"]
  539. },
  540. {
  541. "name": "ReplaceFiles",
  542. "define": "replace_files",
  543. "doc": "GenCommon internal.",
  544. "platforms": ["cs", "java"]
  545. },
  546. {
  547. "name": "Scriptable",
  548. "define": "scriptable",
  549. "doc": "GenCPP internal.",
  550. "platforms": ["cpp"]
  551. },
  552. {
  553. "name": "ShallowExpose",
  554. "define": "shallow-expose",
  555. "doc": "Expose types to surrounding scope of Haxe generated closure without writing to window object.",
  556. "platforms": ["js"]
  557. },
  558. {
  559. "name": "SourceHeader",
  560. "define": "source-header",
  561. "doc": "Print value as comment on top of generated files, use '' value to disable."
  562. },
  563. {
  564. "name": "SourceMapContent",
  565. "define": "source-map-content",
  566. "doc": "Include the Haxe sources as part of the JS source map.",
  567. "platforms": ["js"]
  568. },
  569. {
  570. "name": "Static",
  571. "define": "static",
  572. "doc": "Defined if the current target is static.",
  573. "reserved": true
  574. },
  575. {
  576. "name": "StdEncodingUtf8",
  577. "define": "std-encoding-utf8",
  578. "doc": "Force utf8 encoding for stdin, stdout and stderr",
  579. "platforms": ["java", "cs", "python"]
  580. },
  581. {
  582. "name": "Swc",
  583. "define": "swc",
  584. "doc": "Output a SWC instead of a SWF.",
  585. "platforms": ["flash"],
  586. "reserved": true
  587. },
  588. {
  589. "name": "SwfCompressLevel",
  590. "define": "swf_compress_level",
  591. "doc": "Set the amount of compression for the SWF output.",
  592. "platforms": ["flash"],
  593. "params": ["level: 1-9"]
  594. },
  595. {
  596. "name": "SwfDebugPassword",
  597. "define": "swf_debug_password",
  598. "doc": "Set a password for debugging.",
  599. "platforms": ["flash"],
  600. "params": ["password"]
  601. },
  602. {
  603. "name": "SwfDirectBlit",
  604. "define": "swf_direct_blit",
  605. "doc": "Use hardware acceleration to blit graphics.",
  606. "platforms": ["flash"]
  607. },
  608. {
  609. "name": "SwfGpu",
  610. "define": "swf_gpu",
  611. "doc": "Use GPU compositing features when drawing graphics.",
  612. "platforms": ["flash"]
  613. },
  614. {
  615. "name": "SwfMetadata",
  616. "define": "swf_metadata",
  617. "doc": "Include contents of the given file as metadata in the SWF.",
  618. "platforms": ["flash"],
  619. "params": ["file"]
  620. },
  621. {
  622. "name": "SwfPreloaderFrame",
  623. "define": "swf_preloader_frame",
  624. "doc": "Insert empty first frame in SWF.",
  625. "platforms": ["flash"]
  626. },
  627. {
  628. "name": "SwfProtected",
  629. "define": "swf_protected",
  630. "doc": "Compile Haxe `private` as `protected` in the SWF instead of `public`.",
  631. "platforms": ["flash"]
  632. },
  633. {
  634. "name": "SwfScriptTimeout",
  635. "define": "swf_script_timeout",
  636. "doc": "Maximum ActionScript processing time before script stuck dialog box displays.",
  637. "platforms": ["flash"],
  638. "params": ["time in seconds"]
  639. },
  640. {
  641. "name": "SwfUseDoAbc",
  642. "define": "swf_use_doabc",
  643. "doc": "Use `DoAbc` SWF-tag instead of `DoAbcDefine`.",
  644. "platforms": ["flash"]
  645. },
  646. {
  647. "name": "Sys",
  648. "define": "sys",
  649. "doc": "Defined for all system platforms.",
  650. "reserved": true
  651. },
  652. {
  653. "name": "Unsafe",
  654. "define": "unsafe",
  655. "doc": "Allow unsafe code when targeting C#.",
  656. "platforms": ["cs"]
  657. },
  658. {
  659. "name": "UseNekoc",
  660. "define": "use_nekoc",
  661. "doc": "Use `nekoc` compiler instead of the internal one.",
  662. "platforms": ["neko"]
  663. },
  664. {
  665. "name": "Utf16",
  666. "define": "utf16",
  667. "doc": "Defined for all platforms that use UTF-16 string encoding with UCS-2 API.",
  668. "reserved": true
  669. },
  670. {
  671. "name": "Vcproj",
  672. "define": "vcproj",
  673. "doc": "GenCPP internal.",
  674. "platforms": ["cpp"]
  675. },
  676. {
  677. "name": "WarnVarShadowing",
  678. "define": "warn_var_shadowing",
  679. "doc": "Warn about shadowing variable declarations."
  680. },
  681. {
  682. "name": "NoTre",
  683. "define": "no_tre",
  684. "doc": "Disable tail recursion elimination."
  685. }
  686. ]