Skip to content

feat(cli): support multithreading in all cli commands#2320

Merged
andrii-bodnar merged 34 commits into
lingui:mainfrom
timofei-iatsenko:manual
Sep 12, 2025
Merged

feat(cli): support multithreading in all cli commands#2320
andrii-bodnar merged 34 commits into
lingui:mainfrom
timofei-iatsenko:manual

Conversation

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator

@timofei-iatsenko timofei-iatsenko commented Aug 22, 2025

Description

Since i rewrite almost everethying from the original PR, i'm reopening this from myself.

Feature description

This PR adds support of thread pool (using threads-js) for compile, extract, extract-template and experimental extractor commands.

Here is how tasks split between workers in commands:

  • compile: by locale. So en, ru, pl, etc will go each into it's own worker. Why not by files (catalogs)? Because of the mergeCatalogs feature (where all files merged into one) and because, as i believe the message compiling itself doesn't take too much time, but serializing this into the file can do (BTW, this is for the future iterations, that shouldn't take that long). In any way, splitting by locales should give very even distribution across workers because amount of job for every locale is the same.
  • extract / extract-template: by source files
  • experimental-extractor: by bundles, each bundle after esbuild are processed by separate worker in the pool. So if experimental extractor used for pages in the MPA applications, every page first bundled by esbuild and then processed in parallel by worker pool

Multhreading is enabled by default. Users can disable or configure it's behavior using --workers argument for cli. Docs were added.

Other notable changes:

Due to the fact that you can send between workers / main thread only serializable data structures, you could not send a class with methods. So i did some refactorings to internal structures to use less classes/instances and more plain structures and pure functions.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Examples update

Fixes # (issue)

Checklist

  • I have read the CONTRIBUTING and CODE_OF_CONDUCT docs
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 28, 2025

Codecov Report

❌ Patch coverage is 75.38462% with 64 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.20%. Comparing base (6bb8983) to head (cba1ec2).
⚠️ Report is 218 commits behind head on main.

Files with missing lines Patch % Lines
packages/cli/src/workers/compileWorker.ts 0.00% 11 Missing ⚠️
packages/cli/src/workers/extractWorker.ts 0.00% 8 Missing ⚠️
.../src/extract-experimental/workers/extractWorker.ts 0.00% 7 Missing ⚠️
packages/cli/src/lingui-compile.ts 74.07% 3 Missing and 4 partials ⚠️
packages/cli/src/api/catalog/extractFromFiles.ts 78.57% 2 Missing and 4 partials ⚠️
packages/cli/src/api/workerLogger.ts 0.00% 5 Missing ⚠️
.../extract-experimental/extractFromBundleAndWrite.ts 73.68% 4 Missing and 1 partial ⚠️
packages/cli/src/api/compile/compileLocale.ts 89.18% 1 Missing and 3 partials ⚠️
packages/cli/src/lingui-extract-experimental.ts 88.88% 2 Missing and 1 partial ⚠️
packages/cli/src/lingui-extract.ts 83.33% 2 Missing and 1 partial ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2320      +/-   ##
==========================================
- Coverage   77.05%   76.20%   -0.85%     
==========================================
  Files          84       99      +15     
  Lines        2157     2639     +482     
  Branches      555      685     +130     
==========================================
+ Hits         1662     2011     +349     
- Misses        382      504     +122     
- Partials      113      124      +11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

timofei-iatsenko commented Aug 28, 2025

I fixed the obvious issue, in my local case time dropped from minutes (it was ten minutes when i stopped it, so it's probably even longer) to 17 seconds.

@Zxilly please test it on your codebase.

I also did few cpu profiles, and have interesting results:

Locale consisting from 300 catalogs, with 2k messages was compiled in approximately 6 seconds on my machine.

  • Almost third of all time is taking gettext parser for po file (about 2 seconds)
  • About 1 seconds is taking generating message ids
  • About 1 seconds is taking messages compilation
  • And about 1 seconds is taking jsesc, when you compile into javascript/typescript; not applicable if you do --namespace json

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

@Zxilly did you have a chance to test the lates changes on your project? What the results?

@andrii-bodnar what is needed to make this PR to be merged?

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 2, 2025

Sorry I forgot to sync progress. The project's extract and compile times have now dropped from 30 minutes && 30 minutes to 10 minutes && 2 minutes. I'm trying to obtain specific runtime profiles, but our CI architecture makes this implementation quite challenging.

@andrii-bodnar
Copy link
Copy Markdown
Contributor

@timofei-iatsenko I'm planning a new release by the end of this week. I will merge this PR soon if everything is ready.

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

timofei-iatsenko commented Sep 2, 2025

@Zxilly you don't need to extract profile from the CI, if you have access to the project locally, just run it localy like so

node --cpu-prof ./node_modules/@lingui/cli/dist/lingui compile --workers <N>

And than import cpu profile file here https://discoveryjs.github.io/cpupro/

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 2, 2025

node --prof ./node_modules/@lingui/cli/dist/lingui compile --workers 4
Statistical profiling result from <masked>\web\isolate-00000174028E2000-26476-v8.log, (1891 ticks, 9 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1239   65.5%          C:\Program Files\nodejs\node.exe
    322   17.0%          C:\windows\SYSTEM32\ntdll.dll
      1    0.1%          C:\windows\System32\KERNEL32.DLL

 [JavaScript]:
   ticks  total  nonlib   name
     78    4.1%   23.7%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     74    3.9%   22.5%  RegExp: ^\s+|\s+$
     29    1.5%    8.8%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     22    1.2%    6.7%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     18    1.0%    5.5%  RegExp: [ !#-&\(-\[\]-_a-~]
     14    0.7%    4.3%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     12    0.6%    3.6%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:18:48
     10    0.5%    3.0%  JS: *parseBody <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\parser.js:252:14
      9    0.5%    2.7%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))
      8    0.4%    2.4%  RegExp: ^[^"]*"|"$
      5    0.3%    1.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      4    0.2%    1.2%  RegExp: ^msgstr
      4    0.2%    1.2%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*)))))
      3    0.2%    0.9%  RegExp: ^[^"]*"|"$ {1}
      2    0.1%    0.6%  RegExp: ^msgstr\[(\d+)\]
      2    0.1%    0.6%  RegExp: ^msgid_plural
      2    0.1%    0.6%  RegExp: ^#\~
      2    0.1%    0.6%  RegExp: ^#\.
      2    0.1%    0.6%  RegExp: ^#:
      1    0.1%    0.3%  RegExp: ^msgid
      1    0.1%    0.3%  RegExp: ^\s+|\s+$ {1}
      1    0.1%    0.3%  RegExp: ^#\~ {1}
      1    0.1%    0.3%  RegExp: ^#\. {1}
      1    0.1%    0.3%  RegExp: ^#,
      1    0.1%    0.3%  RegExp: ^#($|\s+)
      1    0.1%    0.3%  RegExp: \{([^}]+)}
      1    0.1%    0.3%  JS: ^writeFile node:internal/fs/promises:1190:25
      1    0.1%    0.3%  JS: ^relative node:path:575:11
      1    0.1%    0.3%  JS: ^queue <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\buffer.js:112:8
      1    0.1%    0.3%  JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1    0.1%    0.3%  JS: ^get <masked>\node_modules\.pnpm\@babel+types@7.25.6\node_modules\@babel\types\lib\definitions\index.js:14:17
      1    0.1%    0.3%  JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      1    0.1%    0.3%  JS: *parseArgToken <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\parser.js:192:18
      1    0.1%    0.3%  JS: *getTranslation <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:35:24
      1    0.1%    0.3%  JS: *finish <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:141:20
      1    0.1%    0.3%  JS: *createHash node:crypto:138:20
      1    0.1%    0.3%  JS: *checkAborted node:internal/fs/promises:472:22
      1    0.1%    0.3%  JS: *Buffer <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\buffer.js:8:14
      1    0.1%    0.3%  JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:156:94

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
    320   16.9%   97.3%  JavaScript
      0    0.0%    0.0%  C++
    148    7.8%   45.0%  GC
   1562   82.6%          Shared libraries
      9    0.5%          Unaccounted

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1239   65.5%  C:\Program Files\nodejs\node.exe
    844   68.1%    C:\Program Files\nodejs\node.exe
    233   27.6%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
    233  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    233  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
    233  100.0%            C:\Program Files\nodejs\node.exe
    137   16.2%      C:\Program Files\nodejs\node.exe
     44   32.1%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     44  100.0%          C:\Program Files\nodejs\node.exe
     44  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     43   31.4%        JS: ^getTranslationsForCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:5:41
     43  100.0%          C:\Program Files\nodejs\node.exe
     27   19.7%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     27  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     27  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     18   13.1%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
     18  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     13   72.2%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      5   27.8%            JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      2    1.5%        JS: ^handleErrorFromBinding node:internal/fs/promises:150:32
    134   15.9%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    134  100.0%        C:\Program Files\nodejs\node.exe
    132   98.5%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    132  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2    1.5%          JS: ~deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      2  100.0%            JS: ~parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    119   14.1%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
    119  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    119  100.0%          C:\Program Files\nodejs\node.exe
    119  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     81    9.6%      JS: *createHash node:crypto:138:20
     44   54.3%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     44  100.0%          C:\Program Files\nodejs\node.exe
     44  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     37   45.7%        JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     37  100.0%          JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     37  100.0%            C:\Program Files\nodejs\node.exe
     52    6.2%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
     52  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
     52  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
     52  100.0%            C:\Program Files\nodejs\node.exe
     21    2.5%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     21  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     21  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     21  100.0%            C:\Program Files\nodejs\node.exe
     17    2.0%      JS: *update node:internal/crypto/hash:132:40
     17  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     17  100.0%          C:\Program Files\nodejs\node.exe
     17  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     16    1.9%      JS: ^get exports node:internal/modules/package_json_reader:80:20
     16  100.0%        C:\Program Files\nodejs\node.exe
     16  100.0%          JS: ^deserializePackageJSON node:internal/modules/package_json_reader:42:32
     16  100.0%            JS: ^getNearestParentPackageJSON node:internal/modules/package_json_reader:133:37
     84    6.8%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     84  100.0%      C:\Program Files\nodejs\node.exe
     84  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     84  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     84  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     47    3.8%    JS: ^slice node:buffer:636:12
     47  100.0%      JS: ^toString node:buffer:835:46
     47  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
     47  100.0%          C:\Program Files\nodejs\node.exe
     26    2.1%    JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     26  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     26  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     26  100.0%          C:\Program Files\nodejs\node.exe
     24    1.9%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     24  100.0%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     21   87.5%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     21  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     21  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      3   12.5%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      3  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      3  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12

    322   17.0%  C:\windows\SYSTEM32\ntdll.dll
     27    8.4%    C:\Program Files\nodejs\node.exe
      8   29.6%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      8  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      8  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      8  100.0%            C:\Program Files\nodejs\node.exe
      7   25.9%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      7  100.0%        C:\Program Files\nodejs\node.exe
      7  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      7  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      4   14.8%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
      4  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      4  100.0%          C:\Program Files\nodejs\node.exe
      4  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      4   14.8%      C:\Program Files\nodejs\node.exe
      1   25.0%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
      1  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
      1  100.0%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      1   25.0%        JS: ^get <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\buffer.js:70:6
      1  100.0%          JS: ^generate <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:56:11
      1  100.0%            JS: ^generate <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\index.js:82:18
      1   25.0%        JS: ^FastBuffer node:internal/buffer:960:14
      1  100.0%          JS: ^createUnsafeBuffer node:internal/buffer:1094:28
      1  100.0%            JS: ^allocUnsafeSlow node:buffer:417:50
      1   25.0%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      1  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1    3.7%      JS: ~deconstructTransfer <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:39:29
      1  100.0%        JS: ~postJobResultMessage <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:72:30
      1  100.0%          JS: ~<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:106:54
      1  100.0%            C:\Program Files\nodejs\node.exe
      1    3.7%      JS: ~__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1  100.0%        JS: ~_t <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:13:9565
      1  100.0%          JS: ~./node_modules/.pnpm/@babel+core@7.28.0/node_modules/@babel/core/lib/transformation/file/file.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:13:8986
      1  100.0%            JS: ~__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1    3.7%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      1  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      1  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      1  100.0%            C:\Program Files\nodejs\node.exe
      1    3.7%      JS: *update node:internal/crypto/hash:132:40
      1  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      1  100.0%          C:\Program Files\nodejs\node.exe
      1  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21

     78    4.1%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     77   98.7%    C:\Program Files\nodejs\node.exe
     77  100.0%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     77  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     77  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     77  100.0%            C:\Program Files\nodejs\node.exe
      1    1.3%    JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%          C:\Program Files\nodejs\node.exe

     74    3.9%  RegExp: ^\s+|\s+$
     74  100.0%    C:\Program Files\nodejs\node.exe
     74  100.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     74  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     74  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     74  100.0%            C:\Program Files\nodejs\node.exe

     29    1.5%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     29  100.0%    JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     29  100.0%      JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     29  100.0%        C:\Program Files\nodejs\node.exe

     22    1.2%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     22  100.0%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     22  100.0%      C:\Program Files\nodejs\node.exe
     22  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     22  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     22  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15

Statistical profiling result from <masked>\web\isolate-0000017403120000-26476-v8.log, (1891 ticks, 7 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1394   73.7%          C:\Program Files\nodejs\node.exe
    109    5.8%          C:\windows\SYSTEM32\ntdll.dll
      2    0.1%          C:\windows\System32\KERNEL32.DLL
      1    0.1%          C:\windows\System32\KERNELBASE.dll

 [JavaScript]:
   ticks  total  nonlib   name
     83    4.4%   21.6%  RegExp: ^\s+|\s+$
     76    4.0%   19.7%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     40    2.1%   10.4%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     26    1.4%    6.8%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     23    1.2%    6.0%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     15    0.8%    3.9%  RegExp: ^[^"]*"|"$
     15    0.8%    3.9%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*)))))
     14    0.7%    3.6%  RegExp: [ !#-&\(-\[\]-_a-~]
      9    0.5%    2.3%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))
      6    0.3%    1.6%  RegExp: ^#($|\s+)
      5    0.3%    1.3%  JS: *parseBody <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\parser.js:252:14
      5    0.3%    1.3%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      4    0.2%    1.0%  RegExp: ^#\~
      4    0.2%    1.0%  RegExp: ^#:
      4    0.2%    1.0%  JS: *getTranslation <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:35:24
      3    0.2%    0.8%  RegExp: ^\s+|\s+$ {1}
      3    0.2%    0.8%  RegExp: [ !#-&\(-\[\]-_a-~] {1}
      3    0.2%    0.8%  JS: *default_1 <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\pseudoLocalize.js:46:19
      3    0.2%    0.8%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:18:48
      2    0.1%    0.5%  RegExp: ^msgstr\[(\d+)\]
      2    0.1%    0.5%  RegExp: ^msgid
      2    0.1%    0.5%  RegExp: ^#\. {1}
      2    0.1%    0.5%  JS: *validate <masked>\node_modules\.pnpm\@babel+types@7.25.6\node_modules\@babel\types\lib\definitions\utils.js:98:20
      2    0.1%    0.5%  JS: *createHash node:crypto:138:20
      1    0.1%    0.3%  RegExp: ^msgstr
      1    0.1%    0.3%  RegExp: ^msgid_plural {1}
      1    0.1%    0.3%  RegExp: ^msgid_plural
      1    0.1%    0.3%  RegExp: ^msgctxt
      1    0.1%    0.3%  RegExp: ^[^"]*"|"$ {1}
      1    0.1%    0.3%  RegExp: ^#\.
      1    0.1%    0.3%  RegExp: ^#: {1}
      1    0.1%    0.3%  RegExp: ^#,
      1    0.1%    0.3%  RegExp: ^#($|\s+) {1}
      1    0.1%    0.3%  RegExp: ^".*\\n"$
      1    0.1%    0.3%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2})) {1}
      1    0.1%    0.3%  RegExp: [-[\]{}()*+?.,\\^$|#\s]
      1    0.1%    0.3%  RegExp: ["'\\\b\f\n\r\t] {1}
      1    0.1%    0.3%  RegExp: ["'\\\b\f\n\r\t]
      1    0.1%    0.3%  RegExp: ({\s*[a-zA-Z_$][a-zA-Z_$0-9]*\s*})
      1    0.1%    0.3%  RegExp: (?:(?:((?:(?:,\s*(?:plural|select|selectordinal)\s*,\s*))))|(?:((?:(?:,\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*,))))|(?:((?:(?:,\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:\}))))))
      1    0.1%    0.3%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*))))) {1}
      1    0.1%    0.3%  JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
      1    0.1%    0.3%  JS: ^getTranslationsForCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:5:41
      1    0.1%    0.3%  JS: ^Hash node:internal/crypto/hash:88:14
      1    0.1%    0.3%  JS: *wrappedFn node:internal/errors:535:21
      1    0.1%    0.3%  JS: *validate <masked>\node_modules\.pnpm\@babel+types@7.25.6\node_modules\@babel\types\lib\definitions\utils.js:124:20
      1    0.1%    0.3%  JS: *getLastChar <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:164:14
      1    0.1%    0.3%  JS: *finish <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:141:20
      1    0.1%    0.3%  JS: *Lexer.popState <masked>\node_modules\.pnpm\moo@0.5.2\node_modules\moo\moo.js:442:38
      1    0.1%    0.3%  JS: *Hash node:internal/crypto/hash:88:14
      1    0.1%    0.3%  JS: *<anonymous> node:internal/fs/utils:730:42

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
    378   20.0%   98.2%  JavaScript
      0    0.0%    0.0%  C++
    174    9.2%   45.2%  GC
   1506   79.6%          Shared libraries
      7    0.4%          Unaccounted

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1394   73.7%  C:\Program Files\nodejs\node.exe
    933   66.9%    C:\Program Files\nodejs\node.exe
    253   27.1%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
    253  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    253  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
    253  100.0%            C:\Program Files\nodejs\node.exe
    196   21.0%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
    196  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    196  100.0%          C:\Program Files\nodejs\node.exe
    196  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    190   20.4%      C:\Program Files\nodejs\node.exe
     59   31.1%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     59  100.0%          C:\Program Files\nodejs\node.exe
     59  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     44   23.2%        JS: ^getTranslationsForCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:5:41
     44  100.0%          C:\Program Files\nodejs\node.exe
     32   16.8%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     32  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     32  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     31   16.3%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
     31  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     27   87.1%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      4   12.9%            JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
     15    7.9%        JS: *default_1 <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\pseudoLocalize.js:46:19
     11   73.3%          JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
     11  100.0%            C:\Program Files\nodejs\node.exe
      2   13.3%          JS: *compile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:119:17
      2  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      1    6.7%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:120:65
      1  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\compileMessage.cjs:308:21
      1    6.7%          JS: *<anonymous> <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\compileMessage.cjs:308:21
      1  100.0%            JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      4    2.1%        JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      4  100.0%          JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      4  100.0%            JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      3    1.6%        JS: ~<anonymous> <masked>\node_modules\.pnpm\date-fns@3.6.0\node_modules\date-fns\index.js:1:1
      3  100.0%          JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      3  100.0%            JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
    107   11.5%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    107  100.0%        C:\Program Files\nodejs\node.exe
    106   99.1%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    106  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     62    6.6%      JS: *createHash node:crypto:138:20
     62  100.0%        JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     61   98.4%          JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     61  100.0%            C:\Program Files\nodejs\node.exe
      1    1.6%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      1  100.0%            C:\Program Files\nodejs\node.exe
     40    4.3%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
     40  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
     40  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
     40  100.0%            C:\Program Files\nodejs\node.exe
     22    2.4%      JS: *Hash node:internal/crypto/hash:88:14
     22  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     22  100.0%          C:\Program Files\nodejs\node.exe
     22  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     17    1.8%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     17  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     17  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     17  100.0%            C:\Program Files\nodejs\node.exe
     12    1.3%      JS: ^get exports node:internal/modules/package_json_reader:80:20
     12  100.0%        C:\Program Files\nodejs\node.exe
     12  100.0%          JS: ^deserializePackageJSON node:internal/modules/package_json_reader:42:32
     12  100.0%            JS: ^getNearestParentPackageJSON node:internal/modules/package_json_reader:133:37
     87    6.2%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     87  100.0%      C:\Program Files\nodejs\node.exe
     87  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     87  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     87  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     45    3.2%    JS: ^slice node:buffer:636:12
     45  100.0%      JS: ^toString node:buffer:835:46
     45  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
     45  100.0%          C:\Program Files\nodejs\node.exe
     45    3.2%    JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     45  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     45  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     45  100.0%          C:\Program Files\nodejs\node.exe
     27    1.9%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     26   96.3%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     19   73.1%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     19  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     19  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      7   26.9%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      7  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      7  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
      1    3.7%      JS: ~StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
      1  100.0%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      1  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      1  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     16    1.1%    JS: *default_1 <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\pseudoLocalize.js:46:19
     12   75.0%      JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
     12  100.0%        C:\Program Files\nodejs\node.exe
     12  100.0%          JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
     12  100.0%            JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      3   18.8%      JS: *compile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:119:17
      3  100.0%        JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      3  100.0%          C:\Program Files\nodejs\node.exe
      3  100.0%            JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      1    6.3%      JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:120:65
      1  100.0%        JS: ^<anonymous> <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\compileMessage.cjs:308:21
      1  100.0%          JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      1  100.0%            C:\Program Files\nodejs\node.exe

    109    5.8%  C:\windows\SYSTEM32\ntdll.dll
     27   24.8%    C:\Program Files\nodejs\node.exe
     11   40.7%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     11  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     11  100.0%          C:\Program Files\nodejs\node.exe
     11  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      8   29.6%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      8  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      8  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      8  100.0%            C:\Program Files\nodejs\node.exe
      3   11.1%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      3  100.0%        C:\Program Files\nodejs\node.exe
      3  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      3  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2    7.4%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      2  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      2  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      2  100.0%            C:\Program Files\nodejs\node.exe
      1    3.7%      JS: ~_interopNamespaceCompat <masked>\node_modules\.pnpm\@lingui+babel-plugin-lingui-macro@5.4.1_typescript@5.3.3\node_modules\@lingui\babel-plugin-lingui-macro\dist\shared\babel-plugin-lingui-macro.b7bd8916.cjs:6:33
      1  100.0%        JS: ~<anonymous> <masked>\node_modules\.pnpm\@lingui+babel-plugin-lingui-macro@5.4.1_typescript@5.3.3\node_modules\@lingui\babel-plugin-lingui-macro\dist\shared\babel-plugin-lingui-macro.b7bd8916.cjs:1:1
      1  100.0%          JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      1  100.0%            JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
      1    3.7%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%          C:\Program Files\nodejs\node.exe
      1    3.7%      C:\Program Files\nodejs\node.exe
      1  100.0%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
      1  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
      1  100.0%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      3    2.8%    JS: ^readdirSync node:fs:1572:21
      3  100.0%      JS: ^readdirSync <masked>\node_modules\.pnpm\path-scurry@2.0.0\node_modules\path-scurry\dist\commonjs\index.js:1063:16
      3  100.0%        JS: ^walkCB2Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:256:16
      3  100.0%          JS: ^walkCB3Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:289:16
      2   66.7%            JS: ^walkCB2Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:256:16
      1   33.3%            JS: ~walkCB2Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:256:16
      2    1.8%    JS: ^slice node:buffer:636:12
      2  100.0%      JS: ^toString node:buffer:835:46
      2  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
      2  100.0%          C:\Program Files\nodejs\node.exe
      2    1.8%    JS: ^realpathSync node:fs:2710:22
      2  100.0%      JS: ^toRealPath node:internal/modules/helpers:60:20
      1   50.0%        JS: ^tryFile node:internal/modules/cjs/loader:527:17
      1  100.0%          JS: ^finalizeEsmResolution node:internal/modules/cjs/loader:1379:31
      1  100.0%            JS: ^resolveExports node:internal/modules/cjs/loader:636:24
      1   50.0%        JS: ^Module._findPath node:internal/modules/cjs/loader:665:28
      1  100.0%          JS: ^Module._resolveFilename node:internal/modules/cjs/loader:1282:35
      1  100.0%            JS: ^defaultResolveImpl node:internal/modules/cjs/loader:1007:30
      2    1.8%    JS: ^open node:internal/fs/promises:635:20
      1   50.0%      JS: ^writeFile node:internal/fs/promises:1190:25
      1  100.0%        JS: ^writeFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:67:25
      1  100.0%          C:\Program Files\nodejs\node.exe
      1   50.0%      JS: ^readFile node:internal/fs/promises:1234:24
      1  100.0%        JS: ^readFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:35:24
      1  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%            JS: ^readTemplate <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:138:23

     83    4.4%  RegExp: ^\s+|\s+$
     83  100.0%    C:\Program Files\nodejs\node.exe
     82   98.8%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     82  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     82  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     82  100.0%            C:\Program Files\nodejs\node.exe
      1    1.2%      JS: *extract <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:153:21
      1  100.0%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      1  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15

     76    4.0%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     74   97.4%    C:\Program Files\nodejs\node.exe
     74  100.0%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     74  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     74  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     74  100.0%            C:\Program Files\nodejs\node.exe
      2    2.6%    JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      2  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      2  100.0%          C:\Program Files\nodejs\node.exe

     40    2.1%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     39   97.5%    JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     39  100.0%      JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     39  100.0%        C:\Program Files\nodejs\node.exe
      1    2.5%    JS: ~parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%      JS: ~read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%        C:\Program Files\nodejs\node.exe

     26    1.4%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     26  100.0%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     26  100.0%      C:\Program Files\nodejs\node.exe
     26  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     26  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     26  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15

     23    1.2%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     23  100.0%    JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     22   95.7%      JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     22  100.0%        JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     22  100.0%          JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
     22  100.0%            JS: ^CallExpression <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\expressions.js:169:24
      1    4.3%      JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      1  100.0%        JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      1  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
      1  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12

Statistical profiling result from <masked>\web\isolate-000001740323F000-26476-v8.log, (1891 ticks, 8 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1320   69.8%          C:\Program Files\nodejs\node.exe
    196   10.4%          C:\windows\SYSTEM32\ntdll.dll
      2    0.1%          C:\windows\System32\KERNEL32.DLL
      1    0.1%          C:\windows\System32\KERNELBASE.dll

 [JavaScript]:
   ticks  total  nonlib   name
     98    5.2%   26.3%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     89    4.7%   23.9%  RegExp: ^\s+|\s+$
     26    1.4%    7.0%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     22    1.2%    5.9%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     20    1.1%    5.4%  RegExp: [ !#-&\(-\[\]-_a-~]
     17    0.9%    4.6%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     16    0.8%    4.3%  JS: *parseBody <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\parser.js:252:14
      9    0.5%    2.4%  RegExp: ^[^"]*"|"$ {1}
      7    0.4%    1.9%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:18:48
      5    0.3%    1.3%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))
      5    0.3%    1.3%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      4    0.2%    1.1%  RegExp: ^#: {1}
      4    0.2%    1.1%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*)))))
      4    0.2%    1.1%  JS: *getTranslation <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:35:24
      3    0.2%    0.8%  RegExp: ^\s+|\s+$ {1}
      3    0.2%    0.8%  RegExp: ^#:
      3    0.2%    0.8%  JS: *createHash node:crypto:138:20
      2    0.1%    0.5%  RegExp: ^msgid_plural
      2    0.1%    0.5%  RegExp: ^msgid
      2    0.1%    0.5%  RegExp: ^[^"]*"|"$
      2    0.1%    0.5%  RegExp: ^#\~
      2    0.1%    0.5%  RegExp: ^#($|\s+) {1}
      2    0.1%    0.5%  RegExp: ^#($|\s+)
      2    0.1%    0.5%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2})) {1}
      1    0.1%    0.3%  RegExp: ^#\.
      1    0.1%    0.3%  RegExp: ^#,
      1    0.1%    0.3%  RegExp: (?:(?:((?:(?:,\s*(?:plural|select|selectordinal)\s*,\s*))))|(?:((?:(?:,\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*,))))|(?:((?:(?:,\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:\}))))))
      1    0.1%    0.3%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*))))) {1}
      1    0.1%    0.3%  JS: ^writeFileHandle node:internal/fs/promises:477:31
      1    0.1%    0.3%  JS: ^traceSync node:diagnostics_channel:320:12
      1    0.1%    0.3%  JS: ^hasPostfixPart <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\node\parentheses.js:59:24
      1    0.1%    0.3%  JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      1    0.1%    0.3%  JS: ^<anonymous> node:internal/validators:443:45
      1    0.1%    0.3%  JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:18:48
      1    0.1%    0.3%  JS: *validateNode <masked>\node_modules\.pnpm\@babel+types@7.25.6\node_modules\@babel\types\lib\builders\validateNode.js:9:22
      1    0.1%    0.3%  JS: *update node:internal/crypto/hash:132:40
      1    0.1%    0.3%  JS: *normalizeString node:path:90:25
      1    0.1%    0.3%  JS: *forOwn <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:5:16
      1    0.1%    0.3%  JS: *checkAborted node:internal/fs/promises:472:22

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
    364   19.2%   97.8%  JavaScript
      0    0.0%    0.0%  C++
    187    9.9%   50.3%  GC
   1519   80.3%          Shared libraries
      8    0.4%          Unaccounted

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1320   69.8%  C:\Program Files\nodejs\node.exe
    884   67.0%    C:\Program Files\nodejs\node.exe
    259   29.3%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
    259  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    259  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
    259  100.0%            C:\Program Files\nodejs\node.exe
    163   18.4%      C:\Program Files\nodejs\node.exe
     56   34.4%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     56  100.0%          C:\Program Files\nodejs\node.exe
     56  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     53   32.5%        JS: ^getTranslationsForCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:5:41
     53  100.0%          C:\Program Files\nodejs\node.exe
     23   14.1%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     23  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     23  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     20   12.3%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
     20  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     16   80.0%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      4   20.0%            JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      5    3.1%        JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      5  100.0%          JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      5  100.0%            JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      2    1.2%        JS: ~<anonymous> <masked>\node_modules\.pnpm\date-fns@3.6.0\node_modules\date-fns\index.js:1:1
      2  100.0%          JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      2  100.0%            JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
      2    1.2%        JS: ^get <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\buffer.js:70:6
      2  100.0%          JS: ^generate <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:56:11
      2  100.0%            JS: ^generate <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\index.js:82:18
    161   18.2%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    161  100.0%        C:\Program Files\nodejs\node.exe
    161  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    161  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     89   10.1%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     89  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     89  100.0%          C:\Program Files\nodejs\node.exe
     89  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     79    8.9%      JS: *createHash node:crypto:138:20
     51   64.6%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     51  100.0%          C:\Program Files\nodejs\node.exe
     51  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     28   35.4%        JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     28  100.0%          JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     28  100.0%            C:\Program Files\nodejs\node.exe
     43    4.9%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
     43  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
     43  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
     43  100.0%            C:\Program Files\nodejs\node.exe
     22    2.5%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     22  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     22  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     22  100.0%            C:\Program Files\nodejs\node.exe
     20    2.3%      JS: *update node:internal/crypto/hash:132:40
     19   95.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     19  100.0%          C:\Program Files\nodejs\node.exe
     18   94.7%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1    5.3%            JS: ~deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1    5.0%        JS: ^nodeMethod <masked>\node_modules\.pnpm\js-sha256@0.10.1\node_modules\js-sha256\src\sha256.js:94:31
      1  100.0%          JS: ^generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
      1  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     15    1.7%      JS: ^get exports node:internal/modules/package_json_reader:80:20
     15  100.0%        C:\Program Files\nodejs\node.exe
     15  100.0%          JS: ^deserializePackageJSON node:internal/modules/package_json_reader:42:32
     15  100.0%            JS: ^getNearestParentPackageJSON node:internal/modules/package_json_reader:133:37
     89    6.7%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     89  100.0%      C:\Program Files\nodejs\node.exe
     88   98.9%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     88  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     88  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1    1.1%        JS: ~deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1  100.0%          JS: ~parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%            JS: ~read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     48    3.6%    JS: ^slice node:buffer:636:12
     48  100.0%      JS: ^toString node:buffer:835:46
     47   97.9%        JS: ^readFileHandle node:internal/fs/promises:512:30
     47  100.0%          C:\Program Files\nodejs\node.exe
      1    2.1%        JS: ~readFileHandle node:internal/fs/promises:512:30
      1  100.0%          C:\Program Files\nodejs\node.exe
     43    3.3%    JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     43  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     43  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     43  100.0%          C:\Program Files\nodejs\node.exe
     19    1.4%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     19  100.0%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     16   84.2%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     16  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     16  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      3   15.8%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      3  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      3  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     16    1.2%    JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     16  100.0%      JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     16  100.0%        C:\Program Files\nodejs\node.exe

    196   10.4%  C:\windows\SYSTEM32\ntdll.dll
     34   17.3%    C:\Program Files\nodejs\node.exe
     10   29.4%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     10  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     10  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     10  100.0%            C:\Program Files\nodejs\node.exe
      8   23.5%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
      8  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      8  100.0%          C:\Program Files\nodejs\node.exe
      8  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      6   17.6%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      6  100.0%        C:\Program Files\nodejs\node.exe
      6  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      6  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      4   11.8%      C:\Program Files\nodejs\node.exe
      2   50.0%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      2  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1   25.0%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
      1  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
      1  100.0%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      1   25.0%        JS: ^FastBuffer node:internal/buffer:960:14
      1  100.0%          JS: ^createUnsafeBuffer node:internal/buffer:1094:28
      1  100.0%            JS: ^allocUnsafeSlow node:buffer:417:50
      2    5.9%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      2  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      2  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      2  100.0%            C:\Program Files\nodejs\node.exe
      1    2.9%      JS: ~fromStringFast node:buffer:447:24
      1  100.0%        JS: ~fromString node:buffer:480:20
      1  100.0%          JS: ~from node:buffer:298:28
      1  100.0%            JS: ~writeFile node:internal/fs/promises:1190:25
      1    2.9%      JS: ~<anonymous> <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:534862
      1  100.0%        JS: ~module.exports.Object.assign.all.buildOperation.name <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:534783
      1  100.0%          JS: ~./node_modules/.pnpm/@babel+core@7.28.0/node_modules/@babel/core/lib/gensync-utils/async.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:1:113112
      1  100.0%            JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1    2.9%      JS: ~./node_modules/.pnpm/@babel+parser@7.28.0/node_modules/@babel/parser/lib/index.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:191:130681
      1  100.0%        JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1  100.0%          JS: ~./node_modules/.pnpm/@babel+traverse@7.28.0/node_modules/@babel/traverse/lib/path/replacement.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:82549
      1  100.0%            JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1    2.9%      JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      1  100.0%        JS: ^ObjectExpression <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:44:26
      1  100.0%          JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      1  100.0%            JS: ^AssignmentExpression <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\expressions.js:223:30
      5    2.6%    JS: ^wrapSafe node:internal/modules/cjs/loader:1578:18
      5  100.0%      JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      5  100.0%        JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
      5  100.0%          JS: ^Module.load node:internal/modules/cjs/loader:1414:33
      5  100.0%            JS: ^Module._load node:internal/modules/cjs/loader:1152:24
      5    2.6%    JS: ^compileForInternalLoader node:internal/bootstrap/realm:384:27
      5  100.0%      JS: ^requireBuiltin node:internal/bootstrap/realm:421:24
      1   20.0%        JS: ~load node:internal/modules/esm/loader:793:7
      1  100.0%          JS: ~loadAndTranslate node:internal/modules/esm/loader:581:25
      1  100.0%            JS: ~#createModuleJob node:internal/modules/esm/loader:598:19
      1   20.0%        JS: ~initializeCJSLoader node:internal/process/pre_execution:679:29
      1  100.0%          JS: ~setupUserModules node:internal/process/pre_execution:192:26
      1  100.0%            JS: ~<anonymous> node:internal/main/worker_thread:95:20
      1   20.0%        JS: ~<anonymous> node:tty:1:1
      1  100.0%          JS: ^compileForInternalLoader node:internal/bootstrap/realm:384:27
      1  100.0%            JS: ^compileForPublicLoader node:internal/bootstrap/realm:332:25
      1   20.0%        JS: ~<anonymous> node:module:1:1
      1  100.0%          JS: ^compileForInternalLoader node:internal/bootstrap/realm:384:27
      1  100.0%            JS: ^compileForPublicLoader node:internal/bootstrap/realm:332:25
      1   20.0%        JS: ~<anonymous> node:internal/bootstrap/node:1:1
      3    1.5%    JS: ^readFileHandle node:internal/fs/promises:512:30
      2   66.7%      JS: ^readFile node:internal/fs/promises:1234:24
      2  100.0%        C:\Program Files\nodejs\node.exe
      1   33.3%      JS: *readFile node:internal/fs/promises:1234:24
      1  100.0%        C:\Program Files\nodejs\node.exe
      2    1.0%    JS: ^slice node:buffer:636:12
      2  100.0%      JS: ^toString node:buffer:835:46
      2  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
      2  100.0%          C:\Program Files\nodejs\node.exe

     98    5.2%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     98  100.0%    C:\Program Files\nodejs\node.exe
     98  100.0%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     98  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     98  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     98  100.0%            C:\Program Files\nodejs\node.exe

     89    4.7%  RegExp: ^\s+|\s+$
     89  100.0%    C:\Program Files\nodejs\node.exe
     89  100.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     89  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     89  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     89  100.0%            C:\Program Files\nodejs\node.exe

     26    1.4%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     26  100.0%    JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     26  100.0%      JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     26  100.0%        C:\Program Files\nodejs\node.exe

     22    1.2%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     21   95.5%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     21  100.0%      C:\Program Files\nodejs\node.exe
     21  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     21  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     21  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1    4.5%    C:\Program Files\nodejs\node.exe
      1  100.0%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%            C:\Program Files\nodejs\node.exe

     20    1.1%  RegExp: [ !#-&\(-\[\]-_a-~]
     20  100.0%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     20  100.0%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     18   90.0%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     18  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     18  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      2   10.0%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      2  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      2  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12

Statistical profiling result from <masked>\web\isolate-0000017403299000-26476-v8.log, (1891 ticks, 9 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1295   68.5%          C:\Program Files\nodejs\node.exe
    231   12.2%          C:\windows\SYSTEM32\ntdll.dll
      1    0.1%          C:\windows\System32\KERNEL32.DLL

 [JavaScript]:
   ticks  total  nonlib   name
    100    5.3%   27.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     92    4.9%   25.3%  RegExp: ^\s+|\s+$
     26    1.4%    7.1%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     22    1.2%    6.0%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     20    1.1%    5.5%  RegExp: [ !#-&\(-\[\]-_a-~]
     17    0.9%    4.7%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     13    0.7%    3.6%  RegExp: ^[^"]*"|"$
      9    0.5%    2.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:51:17
      9    0.5%    2.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:18:48
      8    0.4%    2.2%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))
      5    0.3%    1.4%  RegExp: ^#:
      5    0.3%    1.4%  JS: *parseBody <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\parser.js:252:14
      4    0.2%    1.1%  RegExp: (?:(?:((?:(?:(?:'')))))|(?:((?:(?:'[{}#](?:[^]*?[^'])?'(?!')))))|(?:((?:(?:\{\s*[^\p{Pat_Syn}\p{Pat_WS}]+\s*))))|(?:((?:(?:(?:#)))))|(?:((?:(?:(?:\})))))|(?:((?:(?:[^][^{}#']*)))))
      3    0.2%    0.8%  RegExp: ^msgid
      2    0.1%    0.5%  RegExp: ^msgid_plural
      2    0.1%    0.5%  RegExp: ^\s+|\s+$ {1}
      2    0.1%    0.5%  RegExp: ^[^"]*"|"$ {1}
      2    0.1%    0.5%  RegExp: ^#,
      2    0.1%    0.5%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2})) {1}
      1    0.1%    0.3%  RegExp: ^msgstr\[(\d+)\] {1}
      1    0.1%    0.3%  RegExp: ^msgstr\[(\d+)\]
      1    0.1%    0.3%  RegExp: ^msgstr {1}
      1    0.1%    0.3%  RegExp: ^msgstr
      1    0.1%    0.3%  RegExp: ^msgid {1}
      1    0.1%    0.3%  RegExp: ^#\~ {1}
      1    0.1%    0.3%  RegExp: ^#\~
      1    0.1%    0.3%  RegExp: ^#\.
      1    0.1%    0.3%  RegExp: ^#: {1}
      1    0.1%    0.3%  JS: ^writeFileHandle node:internal/fs/promises:477:31
      1    0.1%    0.3%  JS: ^_appendChar <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\buffer.js:138:14
      1    0.1%    0.3%  JS: *createHash node:crypto:138:20

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
    355   18.8%   97.5%  JavaScript
      0    0.0%    0.0%  C++
    203   10.7%   55.8%  GC
   1527   80.8%          Shared libraries
      9    0.5%          Unaccounted

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1295   68.5%  C:\Program Files\nodejs\node.exe
    880   68.0%    C:\Program Files\nodejs\node.exe
    246   28.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
    245   99.6%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    245  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
    245  100.0%            C:\Program Files\nodejs\node.exe
    169   19.2%      C:\Program Files\nodejs\node.exe
     52   30.8%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     52  100.0%          C:\Program Files\nodejs\node.exe
     52  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     50   29.6%        JS: ^getTranslationsForCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\getTranslationsForCatalog.js:5:41
     50  100.0%          C:\Program Files\nodejs\node.exe
     33   19.5%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     33  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     33  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     27   16.0%        JS: ^token <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:122:8
     27  100.0%          JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     17   63.0%            JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     10   37.0%            JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      4    2.4%        JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      4  100.0%          JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      4  100.0%            JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
    146   16.6%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    146  100.0%        C:\Program Files\nodejs\node.exe
    146  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    146  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    113   12.8%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
    113  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    113  100.0%          C:\Program Files\nodejs\node.exe
    113  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     87    9.9%      JS: *createHash node:crypto:138:20
     50   57.5%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     50  100.0%          C:\Program Files\nodejs\node.exe
     50  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     37   42.5%        JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     37  100.0%          JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     37  100.0%            C:\Program Files\nodejs\node.exe
     36    4.1%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
     36  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
     36  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
     36  100.0%            C:\Program Files\nodejs\node.exe
     20    2.3%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     20  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     20  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     20  100.0%            C:\Program Files\nodejs\node.exe
     20    2.3%      JS: *update node:internal/crypto/hash:132:40
     20  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     20  100.0%          C:\Program Files\nodejs\node.exe
     20  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     16    1.8%      JS: ^get exports node:internal/modules/package_json_reader:80:20
     16  100.0%        C:\Program Files\nodejs\node.exe
     16  100.0%          JS: ^deserializePackageJSON node:internal/modules/package_json_reader:42:32
     16  100.0%            JS: ^getNearestParentPackageJSON node:internal/modules/package_json_reader:133:37
     68    5.3%    JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     68  100.0%      C:\Program Files\nodejs\node.exe
     68  100.0%        JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     68  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     68  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     42    3.2%    JS: ^slice node:buffer:636:12
     42  100.0%      JS: ^toString node:buffer:835:46
     42  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
     42  100.0%          C:\Program Files\nodejs\node.exe
     42    3.2%    JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     42  100.0%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     42  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     42  100.0%          C:\Program Files\nodejs\node.exe
     23    1.8%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     23  100.0%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     12   52.2%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     12  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     12  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
     11   47.8%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
     11  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     11  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     14    1.1%    JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
      8   57.1%      JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      8  100.0%        JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      8  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
      8  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      6   42.9%      JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      6  100.0%        JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
      6  100.0%          JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      6  100.0%            JS: ^CallExpression <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\expressions.js:169:24

    231   12.2%  C:\windows\SYSTEM32\ntdll.dll
     26   11.3%    C:\Program Files\nodejs\node.exe
      6   23.1%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      6  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      6  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      6  100.0%            C:\Program Files\nodejs\node.exe
      6   23.1%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      6  100.0%        C:\Program Files\nodejs\node.exe
      6  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      6  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      6   23.1%      C:\Program Files\nodejs\node.exe
      3   50.0%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      3  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      3  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1   16.7%        JS: ~getExpectedArgumentLength node:internal/errors:582:35
      1  100.0%          JS: ~makeNodeErrorWithCode node:internal/errors:428:31
      1  100.0%            JS: ~E node:internal/errors:549:11
      1   16.7%        JS: ~__awaiter <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:2:54
      1  100.0%          JS: ~runFunction <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:105:21
      1  100.0%            JS: ~<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\worker\index.js:161:60
      1   16.7%        JS: ~<anonymous> <masked>\node_modules\.pnpm\@babel+types@7.25.6\node_modules\@babel\types\lib\constants\index.js:1:1
      1  100.0%          JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      1  100.0%            JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
      3   11.5%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
      3  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      3  100.0%          C:\Program Files\nodejs\node.exe
      3  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      2    7.7%      JS: *open node:internal/fs/promises:635:20
      2  100.0%        JS: ^readFile node:internal/fs/promises:1234:24
      2  100.0%          JS: ^readFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:35:24
      2  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1    3.8%      JS: ~emit node:events:465:44
      1  100.0%        JS: ~close node:internal/fs/promises:240:11
      1  100.0%          JS: ~<anonymous> node:internal/fs/promises:430:5
      1    3.8%      JS: ~ParseErrorEnum <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:191:150615
      1  100.0%        JS: ~./node_modules/.pnpm/@babel+parser@7.28.0/node_modules/@babel/parser/lib/index.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:191:130681
      1  100.0%          JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1  100.0%            JS: ~./node_modules/.pnpm/@babel+traverse@7.28.0/node_modules/@babel/traverse/lib/path/replacement.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:82549
      1    3.8%      JS: ^createCompiledCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile.js:45:31
      1  100.0%        JS: ^compileAndWrite <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:58:31
      1  100.0%          JS: ^compileLocale <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\compile\compileLocale.js:16:29
      1  100.0%            C:\Program Files\nodejs\node.exe
      4    1.7%    JS: ^wrapSafe node:internal/modules/cjs/loader:1578:18
      4  100.0%      JS: ^Module._compile node:internal/modules/cjs/loader:1638:37
      4  100.0%        JS: ^Module._extensions..js node:internal/modules/cjs/loader:1785:37
      4  100.0%          JS: ^Module.load node:internal/modules/cjs/loader:1414:33
      4  100.0%            JS: ^Module._load node:internal/modules/cjs/loader:1152:24
      3    1.3%    JS: ^readdirSync node:fs:1572:21
      3  100.0%      JS: ^readdirSync <masked>\node_modules\.pnpm\path-scurry@2.0.0\node_modules\path-scurry\dist\commonjs\index.js:1063:16
      3  100.0%        JS: ^walkCB2Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:256:16
      3  100.0%          JS: ^walkCB3Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:289:16
      3  100.0%            JS: ^walkCB2Sync <masked>\node_modules\.pnpm\glob@11.0.0\node_modules\glob\dist\commonjs\walker.js:256:16
      3    1.3%    JS: ^readFileHandle node:internal/fs/promises:512:30
      2   66.7%      JS: ^readFile node:internal/fs/promises:1234:24
      2  100.0%        C:\Program Files\nodejs\node.exe
      1   33.3%      C:\Program Files\nodejs\node.exe

    100    5.3%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    100  100.0%    C:\Program Files\nodejs\node.exe
     99   99.0%      JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     99  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     99  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     99  100.0%            C:\Program Files\nodejs\node.exe
      1    1.0%      JS: ~deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1  100.0%        JS: ~parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%          JS: ~read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%            C:\Program Files\nodejs\node.exe

     92    4.9%  RegExp: ^\s+|\s+$
     92  100.0%    C:\Program Files\nodejs\node.exe
     92  100.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     92  100.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     92  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     92  100.0%            C:\Program Files\nodejs\node.exe

     26    1.4%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     26  100.0%    JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     26  100.0%      JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     26  100.0%        C:\Program Files\nodejs\node.exe

     22    1.2%  JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     22  100.0%    JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     13   59.1%      JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     13  100.0%        JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     13  100.0%          JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
     13  100.0%            JS: ^CallExpression <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\expressions.js:169:24
      9   40.9%      JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      9  100.0%        JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      9  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
      9  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12

     20    1.1%  RegExp: [ !#-&\(-\[\]-_a-~]
     20  100.0%    JS: *jsesc <masked>\node_modules\.pnpm\jsesc@2.5.2\node_modules\jsesc\jsesc.js:76:15
     20  100.0%      JS: ^StringLiteral <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\generators\types.js:181:23
     11   55.0%        JS: *print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
     11  100.0%          JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12
     11  100.0%            JS: ^printList <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:511:12
      9   45.0%        JS: ^exactSource <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:173:14
      9  100.0%          JS: ^print <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:315:8
      9  100.0%            JS: ^printJoin <masked>\node_modules\.pnpm\@babel+generator@7.25.6\node_modules\@babel\generator\lib\printer.js:410:12

Statistical profiling result from <masked>\web\isolate-000001747F5C3000-26476-v8.log, (1921 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1886   98.2%          C:\windows\SYSTEM32\ntdll.dll
     34    1.8%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name
      1    0.1%  100.0%  JS: ^listOnTimeout node:internal/timers:528:25

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      1    0.1%  100.0%  JavaScript
      0    0.0%    0.0%  C++
      1    0.1%  100.0%  GC
   1920   99.9%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1886   98.2%  C:\windows\SYSTEM32\ntdll.dll

     34    1.8%  C:\Program Files\nodejs\node.exe
     13   38.2%    C:\Program Files\nodejs\node.exe
      2   15.4%      JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1   50.0%        JS: ~_gensync <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:1:113198
      1  100.0%          JS: ~./node_modules/.pnpm/@babel+core@7.28.0/node_modules/@babel/core/lib/gensync-utils/async.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:1:113112
      1  100.0%            JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1   50.0%        JS: ~./node_modules/.pnpm/@babel+generator@7.28.0/node_modules/@babel/generator/lib/node/index.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:13:136798
      1  100.0%          JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1  100.0%            JS: ~./node_modules/.pnpm/@babel+generator@7.28.0/node_modules/@babel/generator/lib/printer.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:13:153937
      1    7.7%      JS: ~packageExportsResolve node:internal/modules/esm/resolve:586:31
      1  100.0%        JS: ^resolveExports node:internal/modules/cjs/loader:636:24
      1  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:665:28
      1  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1282:35
      1    7.7%      JS: ~_interopNamespaceCompat <masked>\node_modules\.pnpm\@lingui+babel-plugin-lingui-macro@5.4.1_typescript@5.3.3\node_modules\@lingui\babel-plugin-lingui-macro\dist\shared\babel-plugin-lingui-macro.b7bd8916.cjs:6:33
      1  100.0%        JS: ~<anonymous> <masked>\node_modules\.pnpm\@lingui+babel-plugin-lingui-macro@5.4.1_typescript@5.3.3\node_modules\@lingui\babel-plugin-lingui-macro\dist\shared\babel-plugin-lingui-macro.b7bd8916.cjs:1:1
      1  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:1638:37
      1  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1785:37
      1    7.7%      JS: ~<anonymous> node:internal/main/run_main_module:1:1
      1    7.7%      JS: ~<anonymous> <masked>\node_modules\.pnpm\minimatch@10.0.1\node_modules\minimatch\dist\commonjs\index.js:1:1
      1  100.0%        JS: ^<anonymous> node:internal/modules/cjs/loader:1638:37
      1  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:1785:37
      1  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1414:33
      1    7.7%      JS: ~<anonymous> <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:121374
      1  100.0%        JS: ^explode$1 <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:121008
      1  100.0%          JS: ^merge <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:123905
      1  100.0%            JS: ~exports.environmentVisitor <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:120029
      1    7.7%      JS: ~<anonymous> <masked>\node_modules\.pnpm\@messageformat+parser@5.1.0\node_modules\@messageformat\parser\lib\lexer.js:1:1
      1  100.0%        JS: ^<anonymous> node:internal/modules/cjs/loader:1638:37
      1  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:1785:37
      1  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1414:33
      1    7.7%      JS: ~./node_modules/.pnpm/@babel+types@7.28.1/node_modules/@babel/types/lib/builders/generated/lowercase.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:157697
      1  100.0%        JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1  100.0%          JS: ~./node_modules/.pnpm/@babel+types@7.28.1/node_modules/@babel/types/lib/builders/generated/index.js <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:156735
      1  100.0%            JS: ^__webpack_require__ <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\babel.cjs:231:604684
      1    7.7%      JS: ^listOnTimeout node:internal/timers:528:25
      1    7.7%      JS: ^__awaiter <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:2:54
      1  100.0%        JS: ^runPoolTask <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:75:16
      1  100.0%          JS: ~<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:107:81
      1  100.0%            C:\Program Files\nodejs\node.exe
      1    7.7%      JS: ^<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:76:58
      1  100.0%        JS: ^<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:4:46
      1  100.0%          C:\Program Files\nodejs\node.exe
      1  100.0%            JS: ^__awaiter <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:2:54
      1    7.7%      C:\Program Files\nodejs\node.exe
      1  100.0%        JS: ~_resolve <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\jiti.cjs:1:178873
      1  100.0%          JS: ~resolveSync <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\jiti.cjs:1:180469
      1  100.0%            JS: ~resolvePathSync <masked>\node_modules\.pnpm\jiti@2.5.1\node_modules\jiti\dist\jiti.cjs:1:180534
      9   26.5%    JS: ^wrapSafe node:internal/modules/cjs/loader:1578:18
      9  100.0%      JS: ^<anonymous> node:internal/modules/cjs/loader:1638:37
      9  100.0%        JS: ^<anonymous> node:internal/modules/cjs/loader:1785:37
      9  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:1414:33
      9  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1152:24
      1    2.9%    JS: ^realpathSync node:fs:2710:22
      1  100.0%      JS: ^toRealPath node:internal/modules/helpers:60:20
      1  100.0%        JS: ^tryFile node:internal/modules/cjs/loader:527:17
      1  100.0%          JS: ^<anonymous> node:internal/modules/cjs/loader:665:28
      1  100.0%            JS: ^<anonymous> node:internal/modules/cjs/loader:1282:35
      1    2.9%    JS: ^get <masked>\node_modules\.pnpm\debug@4.4.1\node_modules\debug\src\common.js:125:9
      1  100.0%      JS: ^debug <masked>\node_modules\.pnpm\debug@4.4.1\node_modules\debug\src\common.js:66:17
      1  100.0%        JS: ~<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:76:58
      1  100.0%          C:\Program Files\nodejs\node.exe
      1  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\threads@1.7.0\node_modules\threads\dist\master\pool.js:4:46
      1    2.9%    JS: ^emitBeforeScript node:internal/async_hooks:509:26
      1    2.9%    JS: ^compileForInternalLoader node:internal/bootstrap/realm:384:27
      1  100.0%      JS: ^requireBuiltin node:internal/bootstrap/realm:421:24
      1  100.0%        JS: ~<anonymous> node:assert:1:1
      1  100.0%          JS: ^compileForInternalLoader node:internal/bootstrap/realm:384:27
      1  100.0%            JS: ^compileForPublicLoader node:internal/bootstrap/realm:332:25

Statistical profiling result from <masked>\web\isolate-000001EE23611000-28544-v8.log, (1928 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   1922   99.7%          C:\windows\SYSTEM32\ntdll.dll
      6    0.3%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      0    0.0%    NaN%  JavaScript
      0    0.0%    NaN%  C++
      0    0.0%    NaN%  GC
   1928  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   1922   99.7%  C:\windows\SYSTEM32\ntdll.dll

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 2, 2025

node --max-old-space-size=16384 --prof ./node_modules/@lingui/cli/dist/lingui extract --workers 4
Statistical profiling result from <masked>\web\isolate-000001D64DDF5000-22312-v8.log, (11369 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
  11366  100.0%          C:\windows\SYSTEM32\ntdll.dll
      3    0.0%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      0    0.0%    NaN%  JavaScript
      0    0.0%    NaN%  C++
      0    0.0%    NaN%  GC
  11369  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
  11366  100.0%  C:\windows\SYSTEM32\ntdll.dll

Statistical profiling result from <masked>\web\isolate-000001E71ADB3000-26240-v8.log, (11310 ticks, 47 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
   8725   77.1%          C:\Program Files\nodejs\node.exe
    701    6.2%          C:\windows\SYSTEM32\ntdll.dll
     13    0.1%          C:\windows\System32\KERNEL32.DLL
      1    0.0%          C:\windows\System32\KERNELBASE.dll

 [JavaScript]:
   ticks  total  nonlib   name
    221    2.0%   11.8%  RegExp: ^\s+|\s+$
    141    1.2%    7.5%  Builtin: RegExpReplace
    104    0.9%    5.6%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    101    0.9%    5.4%  JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     97    0.9%    5.2%  JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
     83    0.7%    4.4%  JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     78    0.7%    4.2%  Builtin: KeyedStoreIC_Megamorphic
     72    0.6%    3.9%  Builtin: RegExpMatchFast
     67    0.6%    3.6%  Builtin: RecordWriteSaveFP
     61    0.5%    3.3%  Builtin: StringAdd_CheckNone
     51    0.5%    2.7%  Builtin: ArrayPrototypeJoin
     50    0.4%    2.7%  Builtin: StringPrototypeReplace
     48    0.4%    2.6%  Builtin: SubString
     47    0.4%    2.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:57:33
     38    0.3%    2.0%  Builtin: StringSubstring
     37    0.3%    2.0%  Builtin: StringPrototypeMatch
     29    0.3%    1.6%  Builtin: KeyedLoadIC_Megamorphic
     28    0.2%    1.5%  Builtin: SetDataProperties
     27    0.2%    1.4%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2}))
     25    0.2%    1.3%  JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     21    0.2%    1.1%  RegExp: ^[^"]*"|"$ {1}
     21    0.2%    1.1%  Builtin: StringIndexOf
     19    0.2%    1.0%  Builtin: RegExpSplit
     16    0.1%    0.9%  RegExp: ^[^"]*"|"$
     15    0.1%    0.8%  RegExp: ^\s+|\s+$ {1}
     15    0.1%    0.8%  Builtin: CEntry_Return1_ArgvOnStack_NoBuiltinExit
     14    0.1%    0.7%  JS: *Hash node:internal/crypto/hash:88:14
     14    0.1%    0.7%  Builtin: ParseInt
     11    0.1%    0.6%  RegExp: [\x07\b\t\v\f\r"\\]
     11    0.1%    0.6%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:248:15
     10    0.1%    0.5%  Builtin: GrowFastSmiOrObjectElements
      9    0.1%    0.5%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:15:37
      9    0.1%    0.5%  Builtin: LoadIC_Megamorphic
      8    0.1%    0.4%  RegExp: ^msgstr
      8    0.1%    0.4%  JS: *joinOrigin <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:24:20
      8    0.1%    0.4%  Builtin: RegExpExecAtom
      8    0.1%    0.4%  Builtin: CallApiCallbackOptimizedNoProfiling
      7    0.1%    0.4%  RegExp: ^#:
      7    0.1%    0.4%  Builtin: JSConstructStubGeneric
      7    0.1%    0.4%  Builtin: ArrayPrototypeShift
      6    0.1%    0.3%  RegExp: ^#\~ {1}
      6    0.1%    0.3%  RegExp: ^#: {1}
      6    0.1%    0.3%  RegExp: \\([abtnvfr'"\\?]|([0-7]{3})|x([0-9a-fA-F]{2})) {1}
      6    0.1%    0.3%  Builtin: ObjectKeys
      6    0.1%    0.3%  Builtin: CallFunction_ReceiverIsAny
      5    0.0%    0.3%  RegExp: ^#\. {1}
      5    0.0%    0.3%  RegExp: [\x07\b\t\v\f\r"\\] {1}
      5    0.0%    0.3%  Builtin: KeyedLoadIC_PolymorphicName
      5    0.0%    0.3%  Builtin: CEntry_Return1_ArgvOnStack_BuiltinExit
      5    0.0%    0.3%  Builtin: ArrayMap
      4    0.0%    0.2%  RegExp: ^msgstr\[(\d+)\]
      4    0.0%    0.2%  RegExp: ^msgid_plural
      4    0.0%    0.2%  RegExp: ^#\~
      4    0.0%    0.2%  Builtin: LoadJoinElement_FastSmiOrObjectElements_0
      4    0.0%    0.2%  Builtin: LoadIC
      4    0.0%    0.2%  Builtin: LoadGlobalIC
      4    0.0%    0.2%  Builtin: KeyedLoadIC
      4    0.0%    0.2%  Builtin: FastNewObject
      3    0.0%    0.2%  RegExp: ^msgid
      3    0.0%    0.2%  RegExp: ^#\.
      3    0.0%    0.2%  RegExp: ^#, {1}
      3    0.0%    0.2%  RegExp: ^#,
      3    0.0%    0.2%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:36:18
      3    0.0%    0.2%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\mergeCatalog.js:39:66
      3    0.0%    0.2%  Builtin: StringPrototypeSplit
      3    0.0%    0.2%  Builtin: StrictEqual
      3    0.0%    0.2%  Builtin: FulfillPromise
      3    0.0%    0.2%  Builtin: ArrayFilter
      2    0.0%    0.1%  RegExp: ^msgid_plural {1}
      2    0.0%    0.1%  RegExp: ^#($|\s+)
      2    0.0%    0.1%  JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      2    0.0%    0.1%  JS: *wrappedFn node:internal/errors:535:21
      2    0.0%    0.1%  JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
      2    0.0%    0.1%  JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      2    0.0%    0.1%  Builtin: ResumeGeneratorTrampoline
      2    0.0%    0.1%  Builtin: PromiseConstructor
      2    0.0%    0.1%  Builtin: KeyedStoreICTrampoline_Megamorphic
      2    0.0%    0.1%  Builtin: JSBuiltinsConstructStub
      2    0.0%    0.1%  Builtin: CallFunction_ReceiverIsNullOrUndefined
      2    0.0%    0.1%  Builtin: ArrayPrototypePush
      1    0.0%    0.1%  RegExp: msgid\s+"[^"]
      1    0.0%    0.1%  RegExp: ^msgstr\[(\d+)\] {1}
      1    0.0%    0.1%  RegExp: ^msgid {1}
      1    0.0%    0.1%  RegExp: ^#($|\s+) {1}
      1    0.0%    0.1%  RegExp: ^".*\\n"$
      1    0.0%    0.1%  JS: ~writeFileIfChanged <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:71:34
      1    0.0%    0.1%  JS: *open node:internal/fs/promises:635:20
      1    0.0%    0.1%  JS: *normalizeString node:path:90:25
      1    0.0%    0.1%  JS: *PO.Item <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:275:20
      1    0.0%    0.1%  JS: *<anonymous> node:internal/validators:407:42
      1    0.0%    0.1%  JS: *<anonymous> <masked>\node_modules\.pnpm\cli-table@0.3.11\node_modules\cli-table\lib\index.js:187:28
      1    0.0%    0.1%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\mergeCatalog.js:20:42
      1    0.0%    0.1%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:49:80
      1    0.0%    0.1%  JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:253:17
      1    0.0%    0.1%  Builtin: ToBooleanForBaselineJump
      1    0.0%    0.1%  Builtin: StringEqual
      1    0.0%    0.1%  Builtin: Store_FastObjectElements_0
      1    0.0%    0.1%  Builtin: PromiseCapabilityDefaultResolve
      1    0.0%    0.1%  Builtin: ObjectFromEntries
      1    0.0%    0.1%  Builtin: Load_FastObjectElements_0
      1    0.0%    0.1%  Builtin: LoadIC_NoFeedback
      1    0.0%    0.1%  Builtin: KeyedStoreIC
      1    0.0%    0.1%  Builtin: KeyedLoadICTrampoline_Megamorphic
      1    0.0%    0.1%  Builtin: KeyedLoadICTrampoline
      1    0.0%    0.1%  Builtin: GreaterThan_Baseline
      1    0.0%    0.1%  Builtin: FunctionPrototypeHasInstance
      1    0.0%    0.1%  Builtin: FindOrderedHashMapEntry
      1    0.0%    0.1%  Builtin: EnqueueMicrotask
      1    0.0%    0.1%  Builtin: DefineNamedOwnIC
      1    0.0%    0.1%  Builtin: CompileLazy
      1    0.0%    0.1%  Builtin: CloneFastJSArrayFillingHoles
      1    0.0%    0.1%  Builtin: Call_ReceiverIsNullOrUndefined
      1    0.0%    0.1%  Builtin: BaselineLeaveFrame
      1    0.0%    0.1%  Builtin: ArrayTimSort
      1    0.0%    0.1%  Builtin: ArrayReduce
      1    0.0%    0.1%  Builtin: ArrayIncludesSmiOrObject
      1    0.0%    0.1%  Builtin: ArrayForEach
      1    0.0%    0.1%  Builtin: ArrayBufferIsView
      1    0.0%    0.1%  Builtin: AdaptorWithBuiltinExitFrame

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
   1823   16.1%   97.5%  JavaScript
      0    0.0%    0.0%  C++
   4160   36.8%  222.5%  GC
   9440   83.5%          Shared libraries
     47    0.4%          Unaccounted

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
   8725   77.1%  C:\Program Files\nodejs\node.exe
   3900   44.7%    C:\Program Files\nodejs\node.exe
    969   24.8%      Builtin: TypedArrayConstructor
    553   57.1%        JS: *allocUnsafeSlow node:buffer:417:50
    337   60.9%          JS: ^readFileHandle node:internal/fs/promises:512:30
    337  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
    215   38.9%          JS: ^createFromString node:buffer:474:26
    215  100.0%            JS: ^fromStringFast node:buffer:447:24
    340   35.1%        JS: *readFileHandle node:internal/fs/promises:512:30
    340  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
     76    7.8%        JS: *fromString node:buffer:480:20
     76  100.0%          JS: ~from node:buffer:298:28
     76  100.0%            JS: ~writeFile node:internal/fs/promises:1190:25
    647   16.6%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
    445   68.8%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
    265   59.6%          Builtin: ArrayMap
    265  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
    180   40.4%          JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
    180  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
    182   28.1%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    182  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
    182  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     20    3.1%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     20  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
    523   13.4%      JS: *readFileHandle node:internal/fs/promises:512:30
    523  100.0%        Builtin: AsyncFunctionAwaitResolveClosure
    374    9.6%      JS: *open node:internal/fs/promises:635:20
    366   97.9%        JS: ~writeFile node:internal/fs/promises:1190:25
    366  100.0%          JS: ~writeFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:67:25
    366  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      7    1.9%        JS: *readFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:35:24
      7  100.0%          JS: ~writeFileIfChanged <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:71:34
      7  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
    311    8.0%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
    311  100.0%        Builtin: ArrayReduce
    309   99.4%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    309  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
    268    6.9%      JS: *Hash node:internal/crypto/hash:88:14
    192   71.6%        JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
    138   71.9%          JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
     86   62.3%            Builtin: ArrayMap
     52   37.7%            JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
     49   25.5%          JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     49  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      3    1.6%          JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      3  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      2    1.0%          JS: ^isGeneratedId <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:25:23
      2  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
     76   28.4%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     76  100.0%          Builtin: ArrayReduce
     76  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
    125    3.2%      Builtin: StringPrototypeReplace
     75   60.0%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     24   32.0%          JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     24  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     21   28.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     21  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     13   17.3%          JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     13  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     13   17.3%          JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     13  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      4    5.3%          JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      4  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     47   37.6%        JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:57:33
     47  100.0%          Builtin: ArrayForEach
     32   68.1%            JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     15   31.9%            JS: ^PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
      2    1.6%        JS: *getFilename <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:33:16
      2  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:115:16
      2  100.0%            JS: ~<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:57:39
    117    3.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     41   35.0%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     41  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     41  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     39   33.3%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     39  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     39  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     19   16.2%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     19  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     19  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     16   13.7%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     16  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     16  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      2    1.7%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      2  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
     99    2.5%      JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:57:33
     99  100.0%        Builtin: ArrayForEach
     60   60.6%          JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     60  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     39   39.4%          JS: ^PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     39  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     81    2.1%      Builtin: ObjectFromEntries
     49   60.5%        JS: ^mergeCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\mergeCatalog.js:15:22
     49  100.0%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
     49  100.0%            Builtin: ArrayMap
     31   38.3%        JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
     31  100.0%          Builtin: ArrayMap
     31  100.0%            JS: ~merge <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:106:10
      1    1.2%        JS: ~merge <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:106:10
      1  100.0%          JS: ~make <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:37:15
      1  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     68    1.7%      Builtin: StringPrototypeSplit
     34   50.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     34  100.0%          Builtin: ArrayReduce
     34  100.0%            JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     26   38.2%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     26  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     26  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      6    8.8%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      6  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      1    1.5%        JS: *PO.parsePluralForms <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:258:32
      1  100.0%          JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      1  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      1    1.5%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      1  100.0%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     61    1.6%      JS: *toString node:buffer:835:46
     61  100.0%        JS: ^readFileHandle node:internal/fs/promises:512:30
     61  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
     61    1.6%      Builtin: ObjectAssign
     41   67.2%        JS: ^mergeCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\mergeCatalog.js:15:22
     41  100.0%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
     41  100.0%            Builtin: ArrayMap
     20   32.8%        JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
     20  100.0%          Builtin: ArrayMap
     20  100.0%            JS: ~merge <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:106:10
     60    1.5%      Builtin: ObjectKeys
     18   30.0%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
     18  100.0%          JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     18  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      9   15.0%        JS: ^orderByMessage <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:243:24
      9  100.0%          JS: ^order <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:175:15
      9  100.0%            JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:49:80
      9   15.0%        JS: ^getStats <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:12:18
      9  100.0%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:36:18
      9  100.0%            Builtin: ArrayForEach
      8   13.3%        JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
      8  100.0%          JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      8  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      6   10.0%        JS: ^mergeCatalog <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog\mergeCatalog.js:15:22
      6  100.0%          JS: ^<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
      6  100.0%            Builtin: ArrayMap
      4    6.7%        JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:36:18
      4  100.0%          Builtin: ArrayForEach
      4  100.0%            JS: ^printStats <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\stats.js:18:20
      3    5.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:49:80
      3  100.0%          Builtin: ArrayMap
      3  100.0%            JS: ~make <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:37:15
      3    5.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:107:68
      3  100.0%          Builtin: ArrayMap
      3  100.0%            JS: ~merge <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:106:10
     53    1.4%      JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:248:15
     53  100.0%        Builtin: ArrayPrototypeSort
     38   71.7%          JS: ^orderByMessage <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:243:24
     38  100.0%            JS: ^order <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:175:15
     15   28.3%          JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:49:80
     15  100.0%            Builtin: ArrayMap
    426    4.9%    JS: ^readFileHandle node:internal/fs/promises:512:30
    426  100.0%      Builtin: AsyncFunctionAwaitResolveClosure
    175    2.0%    Builtin: ArrayPrototypeJoin
     53   30.3%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     23   43.4%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     23  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     23  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     14   26.4%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     14  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     14  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     12   22.6%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     12  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     12  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      4    7.5%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      4  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      4  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     40   22.9%      JS: *joinOrigin <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:24:20
     40  100.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
     25   62.5%          Builtin: ArrayMap
     25  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
     15   37.5%          JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
     15  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     33   18.9%      JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:57:33
     33  100.0%        Builtin: ArrayForEach
     23   69.7%          JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     23  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     10   30.3%          JS: ^PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     10  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     28   16.0%      JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     28  100.0%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     28  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     28  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     21   12.0%      JS: ^PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     21  100.0%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     21  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     21  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
    121    1.4%    Builtin: StringPrototypeSplit
     98   81.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     32   32.7%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     32  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     32  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     28   28.6%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     28  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     28  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     24   24.5%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     24  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     24  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     13   13.3%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     13  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     13  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      1    1.0%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
     23   19.0%      JS: *<anonymous> <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:57:33
     23  100.0%        Builtin: ArrayForEach
     12   52.2%          JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     12  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     11   47.8%          JS: ^PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
     11  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14

    701    6.2%  C:\windows\SYSTEM32\ntdll.dll
    376   53.6%    C:\Program Files\nodejs\node.exe
    125   33.2%      Builtin: TypedArrayConstructor
     79   63.2%        JS: *allocUnsafeSlow node:buffer:417:50
     47   59.5%          JS: ^readFileHandle node:internal/fs/promises:512:30
     47  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     32   40.5%          JS: ^createFromString node:buffer:474:26
     32  100.0%            JS: ^fromStringFast node:buffer:447:24
     38   30.4%        JS: *readFileHandle node:internal/fs/promises:512:30
     38  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      8    6.4%        JS: *fromString node:buffer:480:20
      8  100.0%          JS: ~from node:buffer:298:28
      8  100.0%            JS: ~writeFile node:internal/fs/promises:1190:25
     79   21.0%      JS: *open node:internal/fs/promises:635:20
     76   96.2%        JS: ~writeFile node:internal/fs/promises:1190:25
     76  100.0%          JS: ~writeFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:67:25
     76  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      3    3.8%        JS: *readFile <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:35:24
      3  100.0%          JS: ~writeFileIfChanged <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\utils.js:71:34
      3  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     70   18.6%      JS: *readFileHandle node:internal/fs/promises:512:30
     70  100.0%        Builtin: AsyncFunctionAwaitResolveClosure
     32    8.5%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     13   40.6%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     13  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     13  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      9   28.1%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      9  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      9  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      7   21.9%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      7  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      7  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      3    9.4%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      3  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      3  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     26    6.9%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
     19   73.1%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
     11   57.9%          Builtin: ArrayMap
     11  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
      8   42.1%          JS: *serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
      8  100.0%            JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      7   26.9%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      7  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      7  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     16    4.3%      JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:248:15
     16  100.0%        Builtin: ArrayPrototypeSort
      8   50.0%          JS: ^orderByMessage <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:243:24
      8  100.0%            JS: ^order <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:175:15
      8   50.0%          JS: *<anonymous> <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\catalog.js:49:80
      8  100.0%            Builtin: ArrayMap
     13    3.5%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
     13  100.0%        Builtin: ArrayReduce
     12   92.3%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
     12  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1    7.7%          JS: ~deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      1  100.0%            JS: ~parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     11    2.9%      Builtin: ArrayPrototypeJoin
      7   63.6%        JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      3   42.9%          JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      3  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      2   28.6%          JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      2   28.6%          JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      2  100.0%            JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      4   36.4%        JS: ~PO.toString <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:17:34
      4  100.0%          JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      4  100.0%            JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     76   10.8%    JS: ^readFileHandle node:internal/fs/promises:512:30
     74   97.4%      Builtin: AsyncFunctionAwaitResolveClosure
      2    2.6%      JS: ^readFile node:internal/fs/promises:1234:24
      2  100.0%        Builtin: AsyncFunctionAwaitResolveClosure

    221    2.0%  RegExp: ^\s+|\s+$
    221  100.0%    Builtin: StringPrototypeReplace
    221  100.0%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     69   31.2%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     69  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     69  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     68   30.8%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     68  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     68  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     40   18.1%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     40  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     40  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     40   18.1%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     40  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     40  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      4    1.8%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      4  100.0%          Builtin: AsyncFunctionAwaitResolveClosure

    141    1.2%  Builtin: RegExpReplace
    129   91.5%    Builtin: StringPrototypeReplace
    121   93.8%      JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
     45   37.2%        JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     45  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     45  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     29   24.0%        JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     29  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     29  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     27   22.3%        JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
     27  100.0%          JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
     27  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
     15   12.4%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     15  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
     15  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      5    4.1%        JS: *read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      5  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      5    3.9%      JS: *generateMessageId <masked>\node_modules\.pnpm\lingui-message-utils-patch@5.3.0\node_modules\lingui-message-utils-patch\dist\generateMessageId.cjs:6:27
      3   60.0%        JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      3  100.0%          JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      3  100.0%            Builtin: AsyncFunctionAwaitResolveClosure
      2   40.0%        JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:42:35
      2  100.0%          Builtin: ArrayMap
      2  100.0%            JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:41:19
      3    2.3%      JS: *<anonymous> <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:107:23
      3  100.0%        Builtin: ArrayReduce
      3  100.0%          JS: ^deserialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:106:21
      3  100.0%            JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
     11    7.8%    JS: *PO.parse <masked>\node_modules\.pnpm\pofile@1.1.4\node_modules\pofile\lib\po.js:75:21
      4   36.4%      JS: *parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      4  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      4  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      3   27.3%      JS: ~serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      3  100.0%        JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      3  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      3   27.3%      JS: ^serialize <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:141:14
      3  100.0%        JS: ~write <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:17:16
      3  100.0%          Builtin: AsyncFunctionAwaitResolveClosure
      1    9.1%      JS: ^parse <masked>\node_modules\.pnpm\@lingui+format-po@5.4.1_typescript@5.3.3\node_modules\@lingui\format-po\dist\po.cjs:137:10
      1  100.0%        JS: ^read <masked>\node_modules\.pnpm\@<masked>+static+lingui@lingui-cli-5.4.1.2.tgz_typescript@5.3.3\node_modules\@lingui\cli\dist\api\formats\formatterWrapper.js:26:15
      1  100.0%          Builtin: AsyncFunctionAwaitResolveClosure

Statistical profiling result from <masked>\web\isolate-000001E71C45F000-26240-v8.log, (11199 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
  11172   99.8%          C:\windows\SYSTEM32\ntdll.dll
     26    0.2%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  Builtin: LoadIC

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  JavaScript
      0    0.0%    0.0%  C++
      4    0.0%  400.0%  GC
  11198  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
  11172   99.8%  C:\windows\SYSTEM32\ntdll.dll

Statistical profiling result from <masked>\web\isolate-000001E71C57F000-26240-v8.log, (11199 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
  11175   99.8%          C:\windows\SYSTEM32\ntdll.dll
     23    0.2%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  Builtin: KeyedHasIC_Megamorphic

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  JavaScript
      0    0.0%    0.0%  C++
      2    0.0%  200.0%  GC
  11198  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
  11175   99.8%  C:\windows\SYSTEM32\ntdll.dll

Statistical profiling result from <masked>\web\isolate-000001E71C629000-26240-v8.log, (11199 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
  11171   99.7%          C:\windows\SYSTEM32\ntdll.dll
     27    0.2%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  JS: ~getCLIOptionsFromBinding node:internal/options:28:34

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      1    0.0%  100.0%  JavaScript
      0    0.0%    0.0%  C++
      4    0.0%  400.0%  GC
  11198  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
  11171   99.7%  C:\windows\SYSTEM32\ntdll.dll

Statistical profiling result from <masked>\web\isolate-000001E71CD5F000-26240-v8.log, (11199 ticks, 0 unaccounted, 0 excluded).

 [Shared libraries]:
   ticks  total  nonlib   name
  11172   99.8%          C:\windows\SYSTEM32\ntdll.dll
     24    0.2%          C:\Program Files\nodejs\node.exe

 [JavaScript]:
   ticks  total  nonlib   name
      1    0.0%   33.3%  Builtin: StringAdd_CheckNone
      1    0.0%   33.3%  Builtin: StrictEqual_Baseline
      1    0.0%   33.3%  Builtin: KeyedLoadIC_Megamorphic

 [C++]:
   ticks  total  nonlib   name

 [Summary]:
   ticks  total  nonlib   name
      3    0.0%  100.0%  JavaScript
      0    0.0%    0.0%  C++
      2    0.0%   66.7%  GC
  11196  100.0%          Shared libraries

 [C++ entry points]:
   ticks    cpp   total   name

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 1.0% are not shown.

   ticks parent  name
  11172   99.8%  C:\windows\SYSTEM32\ntdll.dll

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

The profile should looks diffrently, it should be .cpuprof file with a json content inside, this log is not very helpful. Also you can for the sake of performance profile reduce amount of languages

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 2, 2025

Yes, I am collecting CPU profile data, but company policy requires me to mask certain portions of the data, so I need to perform additional processing.

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 2, 2025

Based on my observations, approximately 40% of the time spent in the extract command is consumed by GC. Parsing the .po also takes up significant time, primarily due to the regular expression ^\s+|\s+$.

In the worker, nearly all time is spent idle. Perhaps this is because esbuild is actively working, and Node.js cannot track its internal calls?

Comment on lines 9 to 21
function hexToBase64(hexStr: string) {
let base64 = ""
const base64: string[] = []

for (let i = 0; i < hexStr.length; i++) {
base64 += !((i - 1) & 1)
? String.fromCharCode(parseInt(hexStr.substring(i - 1, i + 1), 16))
: ""
base64.push(
!((i - 1) & 1)
? String.fromCharCode(parseInt(hexStr.substring(i - 1, i + 1), 16))
: ""
)
}
return btoa(base64)

return btoa(base64.join(""))
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can just

Buffer.from(hexStr, 'hex').toString('base64');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I noticed the explanation at #1776. Maybe we could try dynamically require Buffer when it's available?

Copy link
Copy Markdown
Collaborator Author

@timofei-iatsenko timofei-iatsenko Sep 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically even if this is conditional, bundlers should bundle the code behind this require. And because it's native node module - it will fail. Some additional configuration of bundler would be required to overcome this issue and that something i want to avoid.

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

Parsing the .po also takes up significant time, primarily due to the regular expression ^\s+|\s+$.

I also noticed that, but not sure is it something i can improve. I mean in my perf test scenario i'm indeed have a lot of PO files, and parsing them should take some significant time. Hard to say time taken now is reasonable or it could be improved.

In the worker, nearly all time is spent idle. Perhaps this is because esbuild is actively working, and Node.js cannot track its internal calls?

Have no idea, but sounds realistic.

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 8, 2025

I created a more efficient hexToBase64 implementation.

export function hexToBase64(hexStr: string) {
  let binaryString = "";
  for (let i = 0; i < hexStr.length; i += 2) {
    const hexPair = hexStr.substring(i, i + 2);
    binaryString += String.fromCharCode(parseInt(hexPair, 16));
  }

  return btoa(binaryString);
}

Benchmark result:

PS D:\Temp\js-benchmark> node .\benchmark.ts
Validating optimized implementation...
✓ All validation tests passed

Running performance benchmarks...
Iterations per test: 10000
Size (chars) | Original (ms) | Optimized (ms) | Improvement (%)
-----------------------------------------------------------------
10           | 3.46          | 1.94           | 43.88
100          | 24.73         | 16.19          | 34.53
1000         | 245.50        | 171.50         | 30.14
10000        | 2474.62       | 1687.83        | 31.79

Using UInt8Array and lookup tables can further optimize performance for long strings, but for short strings, the fixed allocation overhead actually causes slower execution. Therefore, I opted for this implementation. String concatenation appears to be optimized in V8 and, in actual testing, proved faster than pushing to an array.

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 8, 2025

Meanwhile, Buffer.from(hexStr, ‘hex’).toString(‘base64’) demonstrates an order-of-magnitude performance advantage. Perhaps we should still consider introducing a faster implementation in the Node environment? For @lingui/cli, browser environments may not need to be factored in.

PS D:\Temp\js-benchmark> node .\benchmark.ts
Validating optimized implementation...
✓ All validation tests passed

Running performance benchmarks...
Iterations per test: 10000
Size (chars) | Original (ms) | Optimized (ms) | Improvement (%)
-----------------------------------------------------------------
10           | 3.41          | 3.92           | -14.69
100          | 24.89         | 2.09           | 91.61
1000         | 241.75        | 9.24           | 96.18
10000        | 2403.23       | 70.37          | 97.07

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 8, 2025

If using the polyfill from https://github.com/jawj/hextreme, the performance report is as follows.

PS D:\Temp\js-benchmark> node .\benchmark.ts
Validating optimized implementation...
✓ All validation tests passed

Running performance benchmarks...
Iterations per test: 10000
Size (chars) | Original (ms) | Optimized (ms) | Improvement (%)
-----------------------------------------------------------------
10           | 3.86          | 20.42          | -428.61        
100          | 25.82         | 17.11          | 33.75
1000         | 254.44        | 28.06          | 88.97
10000        | 2416.23       | 132.02         | 94.54

Perhaps we could use this polyfill for long strings while falling back to the simple implementation for short strings?

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 8, 2025

The following code reports such performance.

import { fromHex, toBase64 } from "hextreme";

export function hexToBase64(hexStr: string) {
  if (hexStr.length >= 256) {
    return toBase64(fromHex(hexStr));
  }

  let binaryString = "";
  for (let i = 0; i < hexStr.length; i += 2) {
    const hexPair = hexStr.substring(i, i + 2);
    binaryString += String.fromCharCode(parseInt(hexPair, 16));
  }

  return btoa(binaryString);
}
PS D:\Temp\js-benchmark> node .\benchmark.ts
Validating optimized implementation...
✓ All validation tests passed

Running performance benchmarks...
Iterations per test: 10000
Size (chars) | Original (ms) | Optimized (ms) | Improvement (%)
-----------------------------------------------------------------
10           | 4.32          | 2.44           | 43.58
100          | 25.12         | 16.42          | 34.62
1000         | 242.40        | 36.55          | 84.92
10000        | 2503.52       | 133.40         | 94.67

@timofei-iatsenko
Copy link
Copy Markdown
Collaborator Author

@Zxilly have you tested how much impact it has in the real world scenario? Ho much speedup it gives if you use this faster implementation?

I think i could add node-only version using package json export conditions or simply using a subentry for node.

But as far as i remember it doesn't take a significant amount of time in the whole program execution.

@andrii-bodnar
Copy link
Copy Markdown
Contributor

@timofei-iatsenko @Zxilly do we expect any changes due to the ongoing discussion, or is everything ready?

@Zxilly
Copy link
Copy Markdown
Contributor

Zxilly commented Sep 12, 2025

I believe it's ready. This ongoing discussion won't deliver significant overall performance improvements, but perhaps we can submit these detailed optimizations at a later stage.

@andrii-bodnar
Copy link
Copy Markdown
Contributor

Thank you both for your hard work on this, @Zxilly and @timofei-iatsenko!

@andrii-bodnar andrii-bodnar merged commit 86fbcd8 into lingui:main Sep 12, 2025
12 checks passed
@jessicalc
Copy link
Copy Markdown
Contributor

I just wanted to say a huge THANK YOU for everything that you all have been doing over the last few weeks for these performance improvements!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants