diff --git a/.github/actions/spelling/README.md b/.github/actions/spelling/README.md
new file mode 100644
index 000000000..da6f2e9d9
--- /dev/null
+++ b/.github/actions/spelling/README.md
@@ -0,0 +1,18 @@
+# check-spelling/check-spelling configuration
+
+File | Purpose | Format | Info
+-|-|-|-
+[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary)
+[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
+[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
+[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
+[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
+[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
+[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns)
+[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
+[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
+[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
+[block-delimiters.list](block-delimiters.list) | Define block begin/end markers to ignore lines of text | line with _literal string_ for **start** followed by line with _literal string_ for **end** | [block ignore](https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Block-Ignore#status)
+
+Note: you can replace any of these files with a directory by the same name (minus the suffix)
+and then include multiple files inside that directory (with that suffix) to merge multiple files together.
diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md
new file mode 100644
index 000000000..a32d1090a
--- /dev/null
+++ b/.github/actions/spelling/advice.md
@@ -0,0 +1,31 @@
+
+If the flagged items are :exploding_head: false positives
+
+If items relate to a ...
+* binary file (or some other file you wouldn't want to check at all).
+
+ Please add a file path to the `excludes.txt` file matching the containing file.
+
+ File paths are Perl 5 Regular Expressions - you can [test](
+https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
+
+ `^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
+../tree/HEAD/README.md) (on whichever branch you're using).
+
+* well-formed pattern.
+
+ If you can write a [pattern](
+https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
+) that would match it,
+ try adding it to the `patterns.txt` file.
+
+ Patterns are Perl 5 Regular Expressions - you can [test](
+https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
+
+ Note that patterns can't match multiline strings.
+
+
+
+
+:steam_locomotive: If you're seeing this message and your PR is from a branch that doesn't have check-spelling,
+please merge to your PR's base branch to get the version configured for your repository.
diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt
new file mode 100644
index 000000000..61567618d
--- /dev/null
+++ b/.github/actions/spelling/allow.txt
@@ -0,0 +1,5 @@
+github
+https
+ssh
+ubuntu
+workarounds
diff --git a/.github/actions/spelling/block-delimiters.list b/.github/actions/spelling/block-delimiters.list
new file mode 100644
index 000000000..6e071c008
--- /dev/null
+++ b/.github/actions/spelling/block-delimiters.list
@@ -0,0 +1,19 @@
+# Public Keys
+-----BEGIN PUBLIC KEY-----
+-----END PUBLIC KEY-----
+
+# RSA Private Key
+-----BEGIN RSA PRIVATE KEY-----
+-----END RSA PRIVATE KEY-----
+
+# GPG Public Key
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+-----END PGP PUBLIC KEY BLOCK-----
+
+# GPG Signature
+-----BEGIN PGP SIGNATURE-----
+-----END PGP SIGNATURE-----
+
+# Certificates
+-----BEGIN CERTIFICATE-----
+-----END CERTIFICATE-----
diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns
new file mode 100644
index 000000000..8160d7ebd
--- /dev/null
+++ b/.github/actions/spelling/candidate.patterns
@@ -0,0 +1,718 @@
+# marker to ignore all code on line
+^.*/\* #no-spell-check-line \*/.*$
+# marker to ignore all code on line
+^.*\bno-spell-check(?:-line|)(?:\s.*|)$
+
+# https://cspell.org/configuration/document-settings/
+# cspell inline
+^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b
+
+# patch hunk comments
+^@@ -\d+(?:,\d+|) \+\d+(?:,\d+|) @@ .*
+# git index header
+index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40}
+
+# file permissions
+['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s]
+
+# css url wrappings
+#\burl\([^)]+\)
+
+# cid urls
+(['"])cid:.*?\g{-1}
+
+# data url in parens
+\(data:(?:[^) ][^)]*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\)
+# data url in quotes
+#([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}
+# data url
+#\bdata:[-a-zA-Z=;:/0-9+]*,\S*
+
+# https/http/file urls
+(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/*%?=~_|!:,.;]+[-A-Za-z0-9+&@#/*%=~_|]
+
+# mailto urls
+#mailto:[-a-zA-Z=;:/?%&0-9+@._]{3,}
+
+# magnet urls
+magnet:[?=:\w]+
+
+# magnet urls
+"magnet:[^"]+"
+
+# obs:
+"obs:[^"]*"
+
+# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read
+# In this examples content, I'm using a number of different ways to match things to show various approaches
+# asciinema
+\basciinema\.org/a/[0-9a-zA-Z]+
+
+# asciinema v2
+^\[\d+\.\d+, "[io]", ".*"\]$
+
+# apple
+\bdeveloper\.apple\.com/[-\w?=/]+
+# Apple music
+\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+
+
+# appveyor api
+\bci\.appveyor\.com/api/projects/status/[0-9a-z]+
+# appveyor project
+\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+
+
+# Amazon
+
+# Amazon
+\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
+# AWS S3
+\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/%_?:=]*
+# AWS execute-api
+\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b
+# AWS ELB
+\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b
+# AWS SNS
+\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/%_?:=]*
+# AWS VPC
+vpc-\w+
+
+# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there
+# YouTube url
+\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]*
+# YouTube music
+\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*)
+# YouTube tag
+<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"]
+# YouTube image
+\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]*
+# Google Accounts
+\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]*
+# Google Analytics
+\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]*
+# Google APIs
+\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+
+# Google Storage
+\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)
+# Google Calendar
+\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+
+\w+\@group\.calendar\.google\.com\b
+# Google DataStudio
+\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|)
+# The leading `/` here is as opposed to the `\b` above
+# ... a short way to match `https://` or `http://` since most urls have one of those prefixes
+# Google Docs
+/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|))
+# Google Drive
+\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]*
+# Google Groups
+\bgroups\.google\.com(?:/[a-z]+/(?:#!|)[^/\s"]+)*
+# Google Maps
+\bmaps\.google\.com/maps\?[\w&;=]*
+# Google themes
+themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
+# Google CDN
+\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]*
+# Goo.gl
+/goo\.gl/[a-zA-Z0-9]+
+# Google Chrome Store
+\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|)
+# Google Books
+\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=.]*
+# Google Fonts
+\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]*
+# Google Forms
+\bforms\.gle/\w+
+# Google Scholar
+\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+
+# Google Colab Research Drive
+\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]*
+
+# GitHub SHAs (api)
+\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b
+# GitHub SHAs (markdown)
+(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
+# GitHub SHAs
+\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b
+# GitHub SHA refs
+\[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]*
+# GitHub wiki
+\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b
+# githubusercontent
+/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*
+# githubassets
+\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+)
+# gist github
+\bgist\.github\.com/[^/\s"]+/[0-9a-f]+
+# git.io
+\bgit\.io/[0-9a-zA-Z]+
+# GitHub JSON
+"node_id": "[-a-zA-Z=;:/0-9+_]*"
+# Contributor
+\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\)
+# GHSA
+GHSA(?:-[0-9a-z]{4}){3}
+
+# GitHub actions
+\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+
+
+# GitLab commit
+\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b
+# GitLab merge requests
+\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b
+# GitLab uploads
+\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]*
+# GitLab commits
+\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b
+
+# binance
+accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
+
+# bitbucket diff
+\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+
+# bitbucket repositories commits
+\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
+# bitbucket commits
+\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
+
+# bit.ly
+\bbit\.ly/\w+
+
+# bitrise
+\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]*
+
+# bootstrapcdn.com
+\bbootstrapcdn\.com/[-./\w]+
+
+# cdn.cloudflare.com
+\bcdnjs\.cloudflare\.com/[./\w]+
+
+# circleci
+\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+
+
+# gitter
+\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+
+
+# gravatar
+\bgravatar\.com/avatar/[0-9a-f]+
+
+# ibm
+[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]*
+
+# imgur
+\bimgur\.com/[^.]+
+
+# Internet Archive
+\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*)
+
+# discord
+/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,}
+
+# Disqus
+\bdisqus\.com/[-\w/%.()!?&=_]*
+
+# medium link
+\blink\.medium\.com/[a-zA-Z0-9]+
+# medium
+\bmedium\.com/@?[^/\s"]+/[-\w]+
+
+# microsoft
+\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]*
+# powerbi
+\bapp\.powerbi\.com/reportEmbed/[^"' ]*
+# vs devops
+\bvisualstudio.com(?::443|)/[-\w/?=%&.]*
+# microsoft store
+\bmicrosoft\.com/store/apps/\w+
+
+# mvnrepository.com
+\bmvnrepository\.com/[-0-9a-z./]+
+
+# now.sh
+/[0-9a-z-.]+\.now\.sh\b
+
+# oracle
+\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]*
+
+# chromatic.com
+/\S+.chromatic.com\S*[")]
+
+# codacy
+\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+
+
+# compai
+\bcompai\.pub/v1/png/[0-9a-f]+
+
+# mailgun api
+\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]*
+# mailgun
+\b[0-9a-z]+.mailgun.org
+
+# /message-id/
+/message-id/[-\w@./%]+
+
+# Reddit
+\breddit\.com/r/[/\w_]*
+
+# requestb.in
+\brequestb\.in/[0-9a-z]+
+
+# sched
+\b[a-z0-9]+\.sched\.com\b
+
+# Slack url
+slack://[a-zA-Z0-9?&=]+
+# Slack
+\bslack\.com/[-0-9a-zA-Z/_~?&=.]*
+# Slack edge
+\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+
+# Slack images
+\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+
+
+# shields.io
+\bshields\.io/[-\w/%?=&.:+;,]*
+
+# stackexchange -- https://stackexchange.com/feeds/sites
+\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)
+
+# Sentry
+[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b
+
+# Twitter markdown
+\[@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\)
+# Twitter hashtag
+\btwitter\.com/hashtag/[\w?_=&]*
+# Twitter status
+\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)
+# Twitter profile images
+\btwimg\.com/profile_images/[_\w./]*
+# Twitter media
+\btwimg\.com/media/[-_\w./?=]*
+# Twitter link shortened
+\bt\.co/\w+
+
+# facebook
+\bfburl\.com/[0-9a-z_]+
+# facebook CDN
+\bfbcdn\.net/[\w/.,]*
+# facebook watch
+\bfb\.watch/[0-9A-Za-z]+
+
+# dropbox
+\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+
+
+# ipfs protocol
+ipfs://[0-9a-zA-Z]{3,}
+# ipfs url
+/ipfs/[0-9a-zA-Z]{3,}
+
+# w3
+\bw3\.org/[-0-9a-zA-Z/#.]+
+
+# loom
+\bloom\.com/embed/[0-9a-f]+
+
+# regex101
+\bregex101\.com/r/[^/\s"]+/\d+
+
+# figma
+\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+
+
+# freecodecamp.org
+\bfreecodecamp\.org/[-\w/.]+
+
+# image.tmdb.org
+\bimage\.tmdb\.org/[/\w.]+
+
+# mermaid
+\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+
+
+# Wikipedia
+\ben\.wikipedia\.org/wiki/[-\w%.#]+
+
+# gitweb
+[^"\s]+/gitweb/\S+;h=[0-9a-f]+
+
+# HyperKitty lists
+/archives/list/[^@/]+@[^/\s"]*/message/[^/\s"]*/
+
+# lists
+/thread\.html/[^"\s]+
+
+# list-management
+\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+
+
+# kubectl.kubernetes.io/last-applied-configuration
+"kubectl.kubernetes.io/last-applied-configuration": ".*"
+
+# pgp
+\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]*
+
+# Spotify
+\bopen\.spotify\.com/embed/playlist/\w+
+
+# Mastodon
+\bmastodon\.[-a-z.]*/(?:media/|@)[?&=0-9a-zA-Z_]*
+
+# scastie
+\bscastie\.scala-lang\.org/[^/]+/\w+
+
+# images.unsplash.com
+\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+
+
+# pastebin
+\bpastebin\.com/[\w/]+
+
+# heroku
+\b\w+\.heroku\.com/source/archive/\w+
+
+# quip
+\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)?
+
+# badgen.net
+\bbadgen\.net/badge/[^")\]'\s]+
+
+# statuspage.io
+\w+\.statuspage\.io\b
+
+# media.giphy.com
+\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+
+
+# tinyurl
+\btinyurl\.com/\w+
+
+# codepen
+\bcodepen\.io/[\w/]+
+
+# registry.npmjs.org
+\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+
+
+# getopts
+\bgetopts\s+(?:"[^"]+"|'[^']+')
+
+# ANSI color codes
+(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
+
+# URL escaped characters
+#%[0-9A-F][A-F](?=[A-Za-z])
+# lower URL escaped characters
+#%[0-9a-f][a-f](?=[a-z]{2,})
+# IPv6
+\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b
+# c99 hex digits (not the full format, just one I've seen)
+0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
+# Punycode
+\bxn--[-0-9a-z]+
+# sha
+sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
+# sha-... -- uses a fancy capture
+(\\?['"]|")[0-9a-f]{40,}\g{-1}
+# hex runs
+\b[0-9a-fA-F]{16,}\b
+# hex in url queries
+=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?&
+# ssh
+(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,}
+
+# PGP
+\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b
+# GPG keys
+\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b
+# Well known gpg keys
+.well-known/openpgpkey/[\w./]+
+
+# pki
+-----BEGIN.*-----END
+
+# pki (base64)
+LS0tLS1CRUdJT.*
+
+# uuid:
+\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
+# hex digits including css/html color classes:
+(?:[\\0][xX]|\\u|[uU]\+|#x?|%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
+# integrity
+integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1}
+
+# https://www.gnu.org/software/groff/manual/groff.html
+# man troff content
+\\f[BCIPR]
+# '/"
+\\\([ad]q
+
+# .desktop mime types
+^MimeTypes?=.*$
+# .desktop localized entries
+^[A-Z][a-z]+\[[a-z]+\]=.*$
+# Localized .desktop content
+Name\[[^\]]+\]=.*
+
+# IServiceProvider / isAThing
+#(?:\b|_)(?:(?:ns|)I|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b))
+
+# crypt
+(['"])\$2[ayb]\$.{56}\g{-1}
+
+# apache/old crypt
+(['"]|)\$+(?:apr|)1\$+.{8}\$+.{22}\g{-1}
+
+# sha1 hash
+\{SHA\}[-a-zA-Z=;:/0-9+]{3,}
+
+# machine learning (?)
+\b(?i)ml(?=[a-z]{2,})
+
+# python
+\b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,})
+
+# scrypt / argon
+\$(?:scrypt|argon\d+[di]*)\$\S+
+
+# go.sum
+\bh1:\S+
+
+# scala imports
+^import (?:[\w.]|\{\w*?(?:,\s*(?:\w*|\*))+\})+
+
+# scala modules
+("[^"]+"\s*%%?\s*){2,3}"[^"]+"
+
+# container images
+image: [-\w./:@]+
+
+# Docker images
+^\s*FROM\s+\S+:\S+(?:\s+AS\s+\S+|)
+
+# `docker images` REPOSITORY TAG IMAGE ID CREATED SIZE
+\s*\S+/\S+\s+\S+\s+[0-9a-f]{8,}\s+\d+\s+(?:hour|day|week)s ago\s+[\d.]+[KMGT]B
+
+# Intel intrinsics
+_mm_\w+
+
+# Input to GitHub JSON
+content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1}
+
+# This does not cover multiline strings, if your repository has them,
+# you'll want to remove the `(?=.*?")` suffix.
+# The `(?=.*?")` suffix should limit the false positives rate
+# printf
+#%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA])(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"])
+
+# Alternative printf
+# %s
+#%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"])
+
+# Python string prefix / binary prefix
+# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
+(?|m([|!/@#,;']).*?\g{-1})
+
+# perl qr regex
+(?|\(.*?\)|([|!/@#,;']).*?\g{-1})
+
+# perl run
+perl(?:\s+-[a-zA-Z]\w*)+
+
+# C network byte conversions
+#(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\()
+
+# Go regular expressions
+regexp?\.MustCompile\(`[^`]*`\)
+
+# regex choice
+\(\?:[^)]+\|[^)]+\)
+
+# proto
+^\s*(\w+)\s\g{-1} =
+
+# sed regular expressions
+sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2}
+
+# node packages
+#(["'])@[^/'" ]+/[^/'" ]+\g{-1}
+
+# go install
+go install(?:\s+[a-z]+\.[-@\w/.]+)+
+
+# pom.xml
+<(?:group|artifact)Id>.*?<
+
+# jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571
+urn:shemas-jetbrains-com
+
+# kubernetes pod status lists
+# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
+\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+
+
+# kubectl - pods in CrashLoopBackOff
+\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+
+
+# kubernetes object suffix
+-[0-9a-f]{10}-\w{5}\s
+
+# posthog secrets
+([`'"])phc_[^"',]+\g{-1}
+
+# xcode
+
+# xcodeproject scenes
+(?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}"
+
+# xcode api botches
+customObjectInstantitationMethod
+
+# msvc api botches
+PrependWithABINamepsace
+
+# configure flags
+.* \| --\w{2,}.*?(?=\w+\s\w+)
+
+# font awesome classes
+\.fa-[-a-z0-9]+
+
+# bearer auth
+(['"])[Bb]ear[e][r] .*?\g{-1}
+
+# bearer auth
+\b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]+
+
+# basic auth
+(['"])[Bb]asic [-a-zA-Z=;:/0-9+]{3,}\g{-1}
+
+# base64 encoded content
+#([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1}
+# base64 encoded content in xml/sgml
+>[-a-zA-Z=;:/0-9+]{3,}=
+# base64 encoded content, possibly wrapped in mime
+#(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)
+# base64 encoded json
+\beyJ[-a-zA-Z=;:/0-9+]+
+# base64 encoded pkcs
+\bMII[-a-zA-Z=;:/0-9+]+
+
+# encoded-word
+=\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?=
+
+# numerator
+\bnumer\b(?=.*denom)
+
+# Time Zones
+\b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+
+
+# linux kernel info
+^(?:bugs|flags|Features)\s+:.*
+
+# systemd mode
+systemd.*?running in system mode \([-+].*\)$
+
+# Lorem
+# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
+# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
+# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
+# ... Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
+# ... You could manually change `(?i)X...` to use `[Xx]...`
+# ... or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
+(?:(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*)
+
+# Non-English
+[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
+
+# highlighted letters
+\[[A-Z]\][a-z]+
+
+# French
+# This corpus only had capital letters, but you probably want lowercase ones as well.
+\b[LN]'+[a-z]{2,}\b
+
+# latex (check-spelling >= 0.0.22)
+\\\w{2,}\{
+
+# American Mathematical Society (AMS) / Doxygen
+TeX/AMS
+
+# File extensions
+\*\.[+\w]+,
+
+# eslint
+"varsIgnorePattern": ".+"
+
+# Windows short paths
+[/\\][^/\\]{5,6}~\d{1,2}[/\\]
+
+# cygwin paths
+/cygdrive/[a-zA-Z]/(?:Program Files(?: \(.*?\)| ?)(?:/[-+.~\\/()\w ]+)*|[-+.~\\/()\w])+
+
+# in check-spelling@v0.0.22+, printf markers aren't automatically consumed
+# printf markers
+(?v#
+(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
+
+# Compiler flags (Unix, Java/Scala)
+# Use if you have things like `-Pdocker` and want to treat them as `docker`
+#(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
+
+# Compiler flags (Windows / PowerShell)
+# This is a subset of the more general compiler flags pattern.
+# It avoids matching `-Path` to prevent it from being treated as `ath`
+#(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}))
+
+# Compiler flags (linker)
+,-B
+
+# libraries
+(?:\b|_)lib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z])
+
+# WWNN/WWPN (NAA identifiers)
+\b(?:0x)?10[0-9a-f]{14}\b|\b(?:0x|3)?[25][0-9a-f]{15}\b|\b(?:0x|3)?6[0-9a-f]{31}\b
+
+# iSCSI iqn (approximate regex)
+\biqn\.[0-9]{4}-[0-9]{2}(?:[\.-][a-z][a-z0-9]*)*\b
+
+# curl arguments
+\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
+# set arguments
+\b(?:bash|sh|set)(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)*
+# tar arguments
+\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
+# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
+\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
+# macOS temp folders
+/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/
+# github runner temp folders
+/home/runner/work/_temp/[-_/a-z0-9]+
diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt
new file mode 100644
index 000000000..3e91bb03f
--- /dev/null
+++ b/.github/actions/spelling/excludes.txt
@@ -0,0 +1,121 @@
+# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
+(?:^|/)(?i)COPYRIGHT
+(?:^|/)(?i)LICEN[CS]E
+(?:^|/)(?i)third[-_]?party/
+(?:^|/)3rdparty/
+(?:^|/)generated/
+(?:^|/)go\.sum$
+(?:^|/)MobileSettings\.xml$
+(?:^|/)package(?:-lock|)\.json$
+(?:^|/)Pipfile$
+(?:^|/)pyproject.toml
+(?:^|/)swfobject\.js$
+(?:^|/)uMain\.dfm$
+(?:^|/)vendor/
+(?:^|/|\b)requirements(?:-dev|-doc|-test|)\.txt$
+(?:|$^ 89.02% - excluded 73/82)/bin/[^/]+$
+/testdata/gfx/gfx_test_fonts_separate/[^/]+$
+[^/]\.abc$
+[^/]\.bin$
+[^/]\.dds$
+[^/]\.fla$
+[^/]\.gfx$
+[^/]\.res$
+[^/]\.swd$
+[^/]\.swf$
+[^/]\.tga$
+\.a$
+\.ai$
+\.all-contributorsrc$
+\.avi$
+\.bmp$
+\.bz2$
+\.cert?$|\.crt$
+\.class$
+\.coveragerc$
+\.crl$
+\.csr$
+\.dll$
+\.docx?$
+\.drawio$
+\.DS_Store$
+\.eot$
+\.eps$
+\.exe$
+\.gif$
+\.git-blame-ignore-revs$
+\.gitattributes$
+\.gitkeep$
+\.graffle$
+\.gz$
+\.icns$
+\.ico$
+\.ipynb$
+\.jar$
+\.jks$
+\.jpe?g$
+\.key$
+\.lib$
+\.lock$
+\.map$
+\.min\..
+\.mo$
+\.mod$
+\.mp[34]$
+\.o$
+\.ocf$
+\.otf$
+\.p12$
+\.parquet$
+\.pdf$
+\.pem$
+\.pfx$
+\.png$
+\.psd$
+\.pyc$
+\.pylintrc$
+\.qm$
+\.s$
+\.sig$
+\.so$
+\.svgz?$
+\.sys$
+\.tar$
+\.tgz$
+\.tiff?$
+\.ttf$
+\.wav$
+\.webm$
+\.webp$
+\.woff2?$
+\.xcf$
+\.xlsx?$
+\.xpm$
+\.xz$
+\.zip$
+^\.github/actions/spelling/
+^\Q.github/workflows/spelling.yml\E$
+^\Qbuildconfig.xml\E$
+^\Qlibsrc/cmykjpeg/src/org/monte/media/jpeg/Generic CMYK Profile.icc\E$
+^\Qlibsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/character_ranges.txt\E$
+^\Qlibsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/font_preview_samples.txt\E$
+^\Qlibsrc/ffdec_lib/testdata/gfx/gfx_test_fonts_compact/command.txt\E$
+^\Qlibsrc/ffdec_lib/testdata/graphics/Cute Cat - 3092.flv\E$
+^\Qlibsrc/gnujpdf/src/gnu/jpdf/PDFGraphics.java\E$
+^\Qlibsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/scripts/insertdate.js\E$
+^\Qlibsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3methodinfosyntaxkit/combocompletions.txt\E$
+^\Qlibsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3syntaxkit/combocompletions.txt\E$
+^\Qlibsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasmsyntaxkit/combocompletions.txt\E$
+^\Qsrc/com/jpexs/decompiler/flash/gui/locales/GraphTreeFrame.properties\E$
+^\Qsrc/de/javagl/treetable/AbstractTreeTableModel.java\E$
+^libsrc/ffdec_lib/testdata/as3_embed/assets/
+^libsrc/ffdec_lib/testdata/gfx/gfx_test_fonts/
+^libsrc/ffdec_lib/testdata/gfx/gfx_test_gradients/
+^libsrc/ffdec_lib/testdata/gfx/gfx_test_images_tga_pack/
+^libsrc/ffdec_lib/testdata/gfx/gfx_test_sounds/
+^libsrc/jlayer-1\.0\.2/src/main/resources/javazoom/
+^libsrc/ttf/
+^nsis_locales/(?!English)
+^resources/flashlib/
+_[a-z]+(?:_[A-Z]+|)\.properties$
+ignore$
diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt
new file mode 100644
index 000000000..c0346d082
--- /dev/null
+++ b/.github/actions/spelling/expect.txt
@@ -0,0 +1,4107 @@
+aabbcc
+abbrvs
+abbs
+abcasm
+abcbulletblue
+abcbulletgray
+abcclassinfo
+abcclean
+abccode
+abcconstantpool
+abcd
+abcdasm
+abcdata
+abcdecimal
+ABCDEFGHIJKL
+ABCDEFGHIJKLMNOPQRSTUVWXY
+abcdefghjiklmnopqrstuvwxyz
+abcdouble
+abce
+abcexception
+abcexplorer
+abcexploretrait
+abcexport
+abcflags
+abcfloat
+abcinstanceinfo
+abcint
+abcmerge
+abcmetadata
+abcmethodbody
+abcmethodinfo
+abcmultiname
+abcnamespace
+abcnamespaceset
+abcreplace
+abcs
+abcscriptinfo
+abcstring
+abctag
+abctraits
+abcuint
+ABIOS
+ABORTWARNING
+abovenormal
+abreak
+Abstaende
+abx
+ACCESSDENIED
+acode
+acolor
+acontinue
+ACPI
+actionadd
+actioncontainers
+Actionlist
+ACTIONRECORD
+actionscript
+actionscriptsyntaxkit
+activex
+adata
+addclass
+addexport
+addfunction
+additionalmodules
+additionalparam
+addplugindir
+addproperty
+addressproperty
+addrfix
+addtocontextmenu
+addtrait
+Adelta
+adl
+adobehomepage
+adpcm
+ADPCME
+adr
+advancedsettings
+Advapi
+aeiouy
+AEnd
+aex
+AFile
+aforinif
+afp
+agentlib
+agentpath
+ags
+Aguilera
+ahoj
+airglobal
+airpath
+ajmp
+alertable
+Algorithmen
+alimsoftware
+allcharacters
+ALLCHILDREN
+allh
+ALLLANGUAGES
+allocationlength
+allopns
+alltranslated
+alphabiasshift
+ALPHABITMAPDATA
+ALPHACOLORMAPDATA
+alphadec
+alphanum
+alpharadbias
+alpharadbshift
+ALREADYINSTALLED
+alsairafi
+alterneigh
+altersingle
+altglyph
+ames
+amf
+amxmlc
+aname
+ANDEQ
+Annots
+ANR
+antcall
+antex
+antfile
+antialiasing
+anticlock
+antlib
+anttask
+antversion
+anzeigen
+aos
+apath
+apgeneratedsrcdir
+APICOM
+apiprivate
+apiversioning
+appdata
+apperr
+applytype
+appmenu
+APPWINDOW
+APTX
+apu
+Arbeitsbuch
+ARCHITEW
+arec
+argb
+argsfile
+Arnout
+arnouten
+arrowdown
+arrowtail
+arrowup
+Artsimovich
+ASAO
+asasm
+ascentdescentleading
+asciitochar
+asclass
+asconfig
+asdec
+ASender
+ASF
+asinterface
+Asize
+asms
+asoc
+ASQ
+asr
+asre
+ASSIGNPRIMARYTOKEN
+astype
+astypelate
+asv
+ata
+atags
+Atclause
+atext
+ati
+atleast
+atmax
+atmin
+ATRAC
+ATTRIBUTENAME
+ATTRIBUTEVALUE
+ATTRNAMEVAR
+ATTRVALVAR
+attrx
+atype
+audiocodecid
+AUDIODATA
+AUDIOFILE
+audiosamplerate
+audiosamplesize
+auds
+aufgerufen
+aufruft
+aurl
+Authenticode
+autoboxing
+Autobuild
+AUTOCHK
+autoclosing
+autodeobfuscate
+autodeobfuscation
+autokern
+AUTOZONE
+auxceps
+avals
+AVIBMPDIB
+avih
+AVIIF
+avimainheader
+avioldindex
+AVIPALCHANGE
+AVIPCM
+AVISF
+avistreamheader
+AVIX
+avm
+avt
+awidth
+awt
+ayman
+backedges
+BACKGROUNDCOLOR
+BACKGROUNDCOPY
+backlink
+Backpatch
+badcomment
+badid
+Badiella
+bading
+BADKEY
+BADSIG
+badstring
+BADTIME
+baduri
+bagr
+bais
+BALIGN
+baos
+basefile
+baseoffset
+basetsd
+bashsyntaxkit
+basictag
+batchtest
+bba
+Bbits
+bca
+bcb
+bcdedit
+bcdfghjklmnpqrstvwz
+bci
+bcx
+bdctx
+Bdelta
+bdt
+beaninfo
+beanshell
+bechtold
+belownormal
+bestbiasd
+bestbiaspos
+bestd
+bestpos
+betafreq
+betagamma
+betashift
+BEVELFILTER
+bex
+bez
+bezout
+bfill
+bframe
+BGRA
+BGRc
+biasdist
+bic
+bigs
+bimg
+binarydata
+binaryexcludes
+binaryincludes
+binarysearch
+BINARYTAG
+binarytestincludes
+bindex
+bininfo
+bistream
+bitbuf
+bitdepth
+BITFIELDS
+bitindex
+bitlshift
+BITMAPDATA
+BITMAPFILEHEADER
+bitmapfill
+BITMAPINFO
+BITMAPINFOHEADER
+BITMAPINFOHEADR
+bitmaps
+bitnot
+bitrates
+bitrshift
+BITSPIXEL
+bitstream
+bitstring
+biturshift
+BITWISEAND
+BITWISEOR
+BITWISESHIFT
+BITWISEXOR
+biu
+bji
+bkptline
+ble
+BLENDFUNCTION
+blendmode
+bln
+blockset
+blocktypenumber
+bluewin
+BLURFILTER
+bmatrix
+bmax
+BMHD
+bmi
+BMIH
+BMPDIB
+bname
+BNo
+Boardflavors
+bodybefore
+Bodys
+BOOTFILE
+BOOTMGR
+bordercolor
+borland
+boxblur
+boyerf
+Bpl
+bpline
+bpm
+BPoint
+bpp
+brasilian
+brdata
+breadcrumb
+breakat
+breakcandidate
+breakpointlist
+breakpos
+brec
+Brooktree
+bswf
+Btable
+BText
+BTV
+bufferer
+bufferp
+BUFFERSIZE
+bufferu
+bugtracker
+buildingscripttree
+buildlog
+BUILDNUMBER
+buildtime
+BUILTAT
+buttoncondaction
+buttonicon
+BUTTONRECORD
+Bval
+byacc
+byt
+byteread
+bytesize
+bytesread
+bzzt
+cacls
+Calibri
+callargs
+callfunction
+callinterface
+callmethod
+callouts
+callproperty
+callpropertyav
+callproplex
+callpropvoid
+callstatic
+callsuper
+callsuperid
+callsupervoid
+Camick
+Cancedda
+cannotaddcharacter
+CANNOTCONSOLIDATE
+CANNOTDOWNLOAD
+cannotencrypt
+cannotreadfontfile
+canpin
+Capasha
+caprica
+CAPSLOCK
+CARDACTIONSCRIPT
+CARDACTIONSCRIPTPANEL
+Cardan
+Cardano
+CARDDUMPVIEW
+CARDEMPTYPANEL
+CARDFOLDERLISTPANEL
+CARDFOLDERPREVIEWPANEL
+CARDFONTPANEL
+CARDHEADER
+CARDPREVIEWPANEL
+CARDTEXTPANEL
+CARETCOLOR
+casecount
+CASEINSENSITIVE
+caseoffsets
+casesensitive
+Casteljau
+castop
+CATID
+cbbox
+CBench
+cbf
+Cbi
+CBit
+CBT
+cbut
+cca
+ccanvas
+cch
+ccode
+CCs
+cctx
+CDDL
+cdir
+cdp
+cdx
+cdy
+Cehi
+cei
+CELLBORDER
+CELP
+CENTERJSAMPLE
+centerx
+centery
+cer
+cerc
+CEvent
+cex
+cfdisk
+cff
+cfgs
+cfont
+cft
+CFX
+CGJ
+CGMS
+CGMSA
+chainedmapper
+changeinplace
+changeslog
+channelnumber
+Chapmann
+characterid
+charactertag
+CHARID
+CHARLITERAL
+chartoascii
+Chech
+CHECKCLICK
+checkfilter
+checkstyle
+checkupdates
+Chenxu
+childs
+Chinaski
+chkconfig
+chkdsk
+chkntfs
+cht
+chtag
+chukn
+CHV
+Chyba
+cicd
+cidinfo
+CIDTo
+cidtogidmap
+cindex
+cindices
+cinepak
+cinit
+cinitcode
+cint
+citem
+citt
+cjennings
+cji
+ckey
+cksum
+classexists
+CLASSFACTORY
+classfiles
+classfileset
+classfilesetref
+classguid
+classinfo
+classinitializer
+classloader
+classpathref
+classpaths
+classtrait
+clctn
+cldr
+clearrecent
+clen
+CLERKEXISTS
+CLERKNOTFOUND
+CLexer
+CLFS
+CLIENTCREATESTRUCT
+clientid
+CLIENTSITE
+CLike
+clipactionrecord
+CLIPACTIONS
+CLIPBRD
+clipdepth
+CLIPEVENTFLAGS
+CLIPFORMAT
+clisteners
+clojuresyntaxkit
+clonesprite
+closeall
+clpbrd
+CLSIDs
+clsname
+clt
+cmap
+Cmb
+cmds
+cme
+cmf
+CMK
+cmx
+cmy
+CMYJKJPEG
+cmykjpeg
+cnf
+cns
+cntp
+codegenop
+codehaus
+codelength
+codeql
+codetab
+coefs
+COERROR
+cofunctional
+colordialog
+colorizing
+COLORKEY
+COLORMAPDATA
+colormapped
+COLORMATRIXFILTER
+colorschemes
+colortransform
+COMADMIN
+combocompletions
+Commaised
+commandline
+commitish
+commondesktop
+COMMONLOG
+commonset
+commonshape
+compareresources
+compilerarg
+COMPILERKIND
+COMPILERPATH
+compiletime
+COMPLEXREGION
+COMPLUS
+compobj
+componentclassname
+comptran
+COMPUTERNAME
+COMQC
+comtext
+condnode
+CONSOLIDATIONFAILED
+constantindices
+constantpool
+constantxx
+constructprop
+constructsuper
+consts
+controlflow
+CONVOLUTIONFILTER
+COPP
+copycount
+COPYDELETEORG
+COPYFROMRESOURCE
+copylibs
+copylibstask
+COPYRETURNORG
+COPYTO
+COPYTOCLASSOREXPORTNAME
+COPYTODEPS
+coreceavm
+cosext
+counta
+countb
+cpio
+cpool
+cpos
+CProgress
+CRandom
+crcp
+createallsubdirs
+CREATEDIBSECTION
+CREATESTRUCT
+creatingwindow
+Cri
+CRM
+CRNG
+crossreference
+cse
+cshape
+csize
+csmts
+csplit
+Csq
+CSRSS
+cstype
+CSyntax
+Ctag
+CText
+cti
+Ctl
+ctorarg
+ctrans
+Ctrls
+CTRYNAME
+ctsay
+Ctvrty
+cupdebug
+cupsym
+curpos
+cursize
+CUSTOMFUNCTION
+customparameter
+cutdirsmapper
+cval
+cvar
+cvid
+CVSD
+CWS
+CXCURSOR
+CXDLGFRAME
+cxform
+CXFORMWITHALPHA
+CXFRAME
+CXICON
+cxy
+CYCURSOR
+CYDLGFRAME
+CYFRAME
+CYICON
+dacl
+danielreese
+darkcornersoftware
+dashmatch
+Dasm
+datamodified
+datas
+datfiles
+dbcc
+dbch
+dbd
+Dbi
+dbj
+dblock
+dbp
+DBT
+dby
+dcm
+DCOM
+dcs
+dctx
+DDCCI
+DDCRET
+dderror
+DDOS
+ddrescue
+dds
+ddsreader
+ddx
+ddxdxddydy
+ddy
+deadcode
+debian
+debugfile
+debuggee
+debuggerlog
+debuggerreplace
+debuggging
+debuginfo
+debugline
+debugpanel
+debugpcode
+debugswf
+debugtool
+decimalsupport
+declend
+declocal
+declocalp
+decompilation
+decompiled
+decompiles
+decompiling
+Decs
+decvax
+decwrl
+DEFAULTCOLOR
+DEFAULTFOLDER
+DEFAULTSIZE
+defaultstate
+defaultsyntaxkit
+defaultvalue
+definefunc
+definefunction
+definelocal
+defragmented
+Deinitializes
+deinstalled
+DEINSTALLING
+deinstalls
+deinterlace
+deldescendants
+DELETEKEY
+deleteonexit
+deleteproperty
+deletepropertylate
+delfile
+delphi
+deltastack
+deo
+deobf
+deobfuscatenew
+deobfuscateold
+deobfuscateoptions
+deobfuscatepop
+deobfuscating
+depcache
+Depnd
+depthstate
+dequantize
+deringing
+derrt
+dery
+desktopentry
+desktophints
+desktopicon
+destdir
+destfile
+DETAILCARDAS
+DETAILCARDDEBUGSTACKFRAME
+DETAILCARDEMPTYPANEL
+DETAILCARDTAGINFO
+DETECTCOMPARE
+DETECTCOMPLETE
+DETECTVERSION
+devicefont
+DEVICEINTERFACE
+devicetype
+DEVTYP
+dfm
+dframe
+dfx
+dge
+DHP
+DHT
+dhyan
+Diachenko
+dialoginput
+dic
+didata
+differentsigns
+DIGIADPCM
+DIGIFIX
+DIGIREAL
+DIGISTD
+DIGITALK
+digitno
+DIID
+dircolors
+directediting
+Directorry
+DIRECTORYSERVICE
+directvalues
+dirset
+disabledecompilation
+discrim
+disfunctional
+diskcomp
+diskcopy
+Dispatchable
+dispid
+dispinterface
+DISPLAYCHANGE
+DISPLAYEDIT
+displayrect
+displdr
+DISPPARAMS
+DISTINCTROW
+DIVEQ
+dkd
+dkey
+dlg
+DLGPROC
+dloop
+DManager
+dmask
+dmax
+dmg
+dmin
+DMM
+dname
+DNan
+doaction
+Doc'ed
+dof
+Dofera
+doi
+doif
+doinit
+doinitaction
+DOLBY
+domx
+donot
+donotshowagain
+dopenable
+dopop
+dosbatch
+dosbatchsyntaxkit
+DOSBOX
+doskey
+dotest
+dotimestamp
+dotsq
+dotssprite
+dottedchain
+doubletoatom
+doubletype
+Doubrovkine
+dowhile
+downloadnow
+downloadsuccessful
+downmix
+downmixing
+DOWNRESULT
+downsampling
+DOYOU
+dpd
+DPLAY
+dpos
+dpr
+dpx
+dpy
+DQT
+DQuote
+DRAGDROP
+drawed
+DRAWPREVIEW
+Dropbox
+dropshadow
+DROPSHADOWFILTER
+droptarget
+Druhy
+drun
+DSAs
+DSAT
+dsd
+dsde
+dse
+dsf
+dsh
+DSPGROUP
+DSqrt
+dss
+dsum
+dsx
+dsy
+dtc
+dtcr
+dtde
+DText
+dtime
+dtl
+dtm
+dtval
+dumpas
+DUMPBYTEARRAY
+dumpsplit
+dumpswf
+dumpview
+DUPLICATEMOVIECLIP
+dvai
+dval
+DVD
+dvf
+DVI
+dvp
+dvt
+DVTARGETDEVICE
+DWL
+DWM
+DWOR
+dwordlong
+dxat
+dxf
+DXG
+dxgkrnl
+dxm
+dxns
+dxnslate
+dxs
+dyat
+dyf
+dym
+dynamictext
+DYNFONTIMAGE
+EASTASIA
+easygui
+EASYPANEL
+eawt
+ebody
+ebph
+ebpw
+ebsp
+eby
+ECHOSC
+echoxml
+ECIMAL
+ecj
+Ecriture
+editation
+editbox
+editorkit
+editorpane
+edittext
+Edt
+edu
+EEA
+eecs
+eex
+Ehigh
+eightynine
+eimages
+Eimantas
+Elimit
+elliot
+EMatch
+Emax
+Emin
+emptyfield
+enabledebugging
+ENABLEDPOPUP
+ename
+enamestr
+encargs
+enddrag
+endinitclip
+endip
+endobj
+endoflines
+endoflist
+endstream
+endtagname
+enet
+Engelen
+enjoypa
+enlog
+enm
+ent
+enternew
+eofclose
+eofval
+eoi
+eqp
+ERASEBKGND
+ERASENOW
+ericzbeard
+ERRF
+errorcode
+errorencoding
+erroronmissingdir
+errorproperty
+errstring
+erstellen
+ESPCM
+ESSGREATER
+estdata
+estr
+Etchet
+EText
+eti
+etype
+EULA
+evar
+eventlog
+EVENTLOGRECORD
+EVENTNAME
+evl
+evt
+Ewith
+Excep
+EXCEPINFO
+exceptionend
+exceptionstart
+exceptiontarget
+excmd
+exd
+executiondata
+EXENAME
+EXF
+exfiles
+EXPLICITNAMESPACE
+explist
+explizit
+expmsb
+exportabc
+exportables
+exportassets
+exportdialog
+exportembed
+exporterinfo
+exportfiletimeout
+exportfla
+exportflashdevelop
+exportidea
+exportjava
+exportname
+exportsel
+exporttimeout
+exportvscode
+exportxml
+expressioncommand
+EXSTYLE
+extaction
+extags
+EXTENDEDKEY
+extitle
+Extrahandling
+EXTRALIGHT
+extraxtdir
+ezb
+fai
+failonerror
+failonviolation
+failureproperty
+Famfam
+fastactionlist
+fastavm
+FASTSPEECH
+fbackground
+FBAS
+fbp
+fcanvas
+fcc
+fcode
+fctx
+FDE
+fdecompiled
+fdepth
+fdformat
+fdir
+fdisk
+fdw
+felem
+fes
+ffd
+ffdec
+ffile
+ffname
+fframe
+ffs
+FFXX
+FGlyph
+fgp
+fgrad
+fgrep
+Fheader
+fidx
+fieldalign
+fifi
+fiftyseven
+fileattributes
+fileformat
+fileoffset
+fileschanged
+fileset
+filesizes
+filetime
+filetitle
+fileurl
+filever
+fillstyle
+FILLSTYLEARRAY
+filtera
+filterb
+filterchain
+FILTERLIST
+filtermapper
+FILTERSPECs
+fimg
+finallyjumps
+FINALLYPART
+finallys
+findbugs
+finddef
+finderrorheader
+findex
+findpart
+findprop
+findproperty
+findpropglobal
+findpropglobalstrict
+findpropstrict
+findstr
+findtag
+finishedin
+FINISHPAGE
+finishpart
+FINISHTAG
+FINISHVARTAG
+FINRET
+FIntf
+Firefox
+firstframe
+firstid
+firstp
+fis
+FITPAGE
+FITRECT
+fixcrlf
+FIXEDPARAMETER
+fji
+fjump
+fla
+flacomdoc
+flagval
+flashdebugger
+FLASHINFO
+flashlib
+flashlite
+flashpaper
+flashplayer
+flashprojector
+FLASHVIEWER
+FLASHW
+FLASHWINFO
+flashx
+flasm
+flasmsyntaxkit
+flatest
+flattenmapper
+flaversion
+flen
+flexedit
+flexpath
+flexsdk
+flg
+floatair
+floatp
+floatsupport
+floop
+FLOWDESCRIPTOR
+flowspec
+FLVTAG
+flynnk
+fmode
+fmsg
+fmsware
+fmtest
+fnfe
+fnode
+fnseq
+fnt
+fntttf
+focalgradient
+focusrect
+folderopen
+foldersounds
+foldersprites
+followsymlinks
+fontastic
+fontclass
+fontid
+FONTIMAGE
+FONTINFO
+fontpanel
+fonty
+fopenable
+foraif
+forajmp
+FORCEDOS
+FORCEMINIMIZE
+FORCEOFFFEEDBACK
+FORCEONFEEDBACK
+forend
+fori
+forinlevel
+forinret
+forkmode
+FORMATETC
+forminfo
+fos
+fourcc
+FOURTYEIGHT
+FOURTYFOUR
+foutdir
+FPoint
+fprevious
+fprop
+fpt
+fqn
+fractpart
+frameadd
+framecnt
+framecount
+framedata
+framedrop
+frameinvalid
+framelength
+frameloss
+framenum
+framescripts
+framesize
+framesizeloaded
+framesloaded
+frc
+frect
+freeactionscript
+freetransform
+frest
+Friesen
+frm
+Frob
+fromto
+fsb
+fscommand
+fscope
+FSMO
+fsrc
+fsv
+fswf
+ftag
+ftemp
+FText
+fti
+ftim
+ftime
+ftimeline
+Ftm
+ftn
+ftrait
+fue
+fuer
+FULLAND
+fulldf
+FULLOR
+FULLTEXT
+functionitem
+funname
+fval
+fvalues
+FVE
+FWP
+FWPM
+GAction
+gammashift
+gbc
+gbevin
+gbf
+Gby
+gct
+gdi
+Geert
+generateswd
+generictag
+generictageditors
+genfiles
+gensrcdir
+getdescendants
+getflushed
+GETFOLDER
+getglobalscope
+getglobalslot
+getinstancemetadata
+getkey
+getlex
+getlocalx
+getloops
+getouterscope
+getownproperty
+getproperty
+getpropertylate
+getscopeobject
+getslot
+getsuper
+gettime
+GETTIMER
+gettinghilights
+gettingvariables
+gettoset
+getu
+getvariable
+gfill
+gfx
+gfxexport
+ggf
+ggt
+Gheader
+Ghz
+GIFCOMPR
+gifreader
+GIFs
+gil
+GINA
+Gleichzeitiges
+globalclass
+GLOBALCONST
+globalfunc
+globalrename
+globmapper
+GLOWFILTER
+glyf
+GLYPHENTRY
+GLYPHIDX
+gmatrix
+gmx
+Gnomovision
+gnujpdf
+Goldau
+googlecode
+googlemail
+Gotoaddress
+gotoandplay
+GOTOANDSTOP
+gotoframe
+gotolabel
+gotomainclass
+GOVERNSID
+gpt
+gpu
+GRADIENTBEVELFILTER
+GRADIENTGLOWFILTER
+GRADIENTIMAGE
+gradrecord
+graftabl
+graphexport
+graphparts
+graphviz
+gratio
+grd
+greaterequals
+greaterthan
+grfdex
+groovysyntaxkit
+Grouchnikov
+groupingtable
+GSM
+gstring
+gta
+gti
+gts
+GTX
+GUITHREADINFO
+gvt
+GWL
+GXT
+Hajda
+hameister
+HANDLEBy
+Hansson
+hardligh
+hardlight
+HARDWAREINPUT
+harmanair
+harmanencrypted
+harpo
+HASINDEX
+haslayout
+hasnext
+HASPARENT
+Hausmatt
+Hauspie
+Haxe
+hbitmap
+hbm
+hbmp
+hbr
+hbrush
+hcursor
+hdc
+HDCP
+HDEVNOTIFY
+hdr
+hdrl
+headcrashing
+headerframecount
+HEADERIMAGE
+headerstring
+helpus
+hexas
+hexdata
+hexedit
+hexview
+hfont
+hgap
+hgdiobj
+hget
+hgetbits
+hhea
+hhk
+hhmm
+hicon
+hideobject
+highlightings
+highquality
+hiligh
+hilight
+hilighting
+hilite
+hiliter
+hinst
+HITTEST
+HIWORD
+HKCR
+HKCU
+HKEYBy
+HKLM
+HLayout
+hle
+hlen
+hmap
+hmember
+hmenu
+HMetrics
+hmtx
+hnt
+hohoho
+honfika
+HOOKPROC
+HORIX
+Hotkeys
+hotmail
+hovno
+hpalette
+hpen
+HPPEMIT
+hpsf
+hputbuf
+Hreljac
+hresult
+hrgn
+hrsrc
+hsac
+hsb
+HScale
+hscroll
+hshift
+hsize
+hsstell
+htab
+htext
+HTN
+htw
+huffcodetab
+huffcodtable
+huffmann
+Hutter
+huu
+hwnd
+HWNDFIRST
+HWNDLAST
+HWNDNEXT
+HWNDPREV
+Hzre
+iae
+iai
+Ias
+ibg
+ibitstream
+ibr
+icanvas
+icc
+icf
+icm
+icns
+icoimage
+iconifying
+iconinfo
+ICONSTOP
+ict
+icting
+ictx
+idata
+IDCT
+Iddle
+IDecoder
+idelay
+identifierdeobfuscation
+IDIGNORE
+IDRETRY
+idscan
+Idtags
+IDTYPE
+iends
+ieport
+iex
+ifaces
+ifaif
+ifbody
+ifdown
+ifed
+iffalse
+ifframe
+IFFRAMELOADED
+ifi
+ifl
+ifnge
+ifngt
+ifnle
+ifnlt
+ifstricteq
+ifstrictne
+ift
+iftrue
+ifup
+igchar
+iggi
+iggy
+iggyfile
+ignodes
+ignorebackground
+ignoreversion
+igv
+ihnp
+iid
+iin
+iindex
+iinit
+iip
+iitem
+ijk
+IKEEXT
+ILBM
+iline
+ILINESTYLE
+IMA
+IMAADPCM
+Imagebase
+imageid
+imageio
+imagesfolder
+imax
+imdata
+IMDCT
+IME
+imgd
+implementsop
+importasset
+Importat
+importbinarydata
+importfont
+importimage
+importmorphshape
+importmovie
+importmovies
+importother
+importscript
+importshape
+importsound
+importsprite
+importsymbolclass
+importtab
+importtext
+importxml
+imt
+incatch
+inclocal
+inclocalp
+includeantruntime
+includeemptydirs
+includesfile
+Indexnumber
+ine
+inetc
+inexpr
+infinally
+infoflags
+INFs
+inheritall
+initalpha
+initarray
+initclip
+initcode
+initfields
+initializedconst
+initializedvar
+initing
+initnet
+initobject
+initpragma
+initproperty
+initrad
+initradius
+initscope
+initscopedepth
+initthrow
+INITY
+injectas
+innerfunction
+innershadow
+inno
+Inof
+inp
+inpage
+inputencoding
+inputstream
+insertafter
+insertbefore
+insertbeginning
+insertcode
+insertdate
+insertend
+insertmacro
+inspos
+Inss
+installvlc
+instanceinfo
+instanceinitializer
+INSTDIR
+INSTFILES
+insti
+instream
+insv
+intag
+intbias
+intbiasshift
+intcmp
+Intelli
+intellij
+interdomain
+Intermetall
+INTERNALCONSTANT
+internalflashviewer
+INTERNALPAINT
+internalviewer
+intestdata
+Intf
+intmitxa
+intmitxb
+intmitya
+intmityb
+intpart
+intry
+intwrap
+INVALIDARG
+invalidfontfile
+INVALIDFRAME
+INVALIDLSN
+invalidregexp
+invdet
+inx
+inxbuild
+inxobject
+inxsearch
+iob
+ioe
+IOEx
+ioffset
+IOPM
+ipath
+ipfix
+iploop
+iro
+ISAKMP
+isb
+isbn
+isbold
+isd
+ISDEBUG
+isfalse
+isint
+ISINTERLEAVED
+isitalic
+Isitor
+iss
+issperr
+isstart
+issuenum
+istarts
+istep
+istrue
+istype
+istypelate
+itemj
+itemr
+itemtypes
+ITF
+itype
+IUnknown
+iuser
+ival
+Iwadare
+Jaca
+jacoco
+jarfile
+JARFILENAME
+jargs
+jart
+Jaume
+javaagent
+javac
+Javactive
+javactivex
+javagl
+Javahome
+javalayer
+javaresource
+javascriptsyntaxkit
+javasyntaxkit
+javaw
+javazoom
+jaxrpc
+JBand
+jbomutils
+jboucher
+JBreadcrumb
+jcb
+jclass
+JCommand
+jctb
+JDKs
+JDOC
+jdone
+jdwp
+Jef
+Jelliffe
+JFIFSOI
+jfiles
+jflex
+JFlow
+JGoodies
+JIdea
+jindent
+jindr
+jindra
+jindrapetrik
+jitpack
+jla
+jlap
+jlayer
+jlc
+jletter
+jletterdigit
+jloop
+jlp
+jmf
+jmods
+jna
+jnlp
+jpacker
+jpattern
+jpda
+jpdf
+JPEGX
+JPersistent
+jpexs
+JPGA
+JPGB
+JPGC
+JPGD
+jpghtml
+jpos
+jpproxy
+jpt
+jrb
+jre
+JREIf
+JREINFO
+JRepeat
+JRibbon
+JRich
+jsa
+Jscroll
+JScrollable
+jsep
+JSFL
+jslike
+jso
+jsondatafile
+JSroll
+jsyntax
+jsyntaxpane
+jtf
+JTrackable
+JTri
+jtt
+jttdata
+jtxt
+junindent
+JUunit
+JVER
+jvmarg
+JVMs
+jvnet
+jxar
+kalip
+KARG
+KBDLLHOOKSTRUCT
+kbit
+kbytes
+KDC
+Kein
+Keine
+ker
+KERNINGRECORD
+Kernings
+kevin
+keyb
+KEYBDINPUT
+keychain
+KEYEVENTF
+Keymaps
+keyone
+keytip
+Khz
+killall
+Kirill
+kirillcool
+kitsfortypes
+kld
+klikatice
+klute
+KMGTPE
+Knotentext
+kof
+Kohonen
+koiru
+konec
+kosuri
+kotlin
+Kratz
+Krbtgt
+ktm
+Kto
+kupr
+kvals
+kweiner
+labe
+labelend
+laf
+LANGCODE
+LANGDLL
+LANGLOAD
+LANGNAME
+lastc
+lastcols
+lastframe
+lastid
+LASTINPUTINFO
+lastone
+LAUNCHSETUP
+layerschanged
+lbl
+Lbr
+LBUTTON
+LBUTTONDOWN
+Lby
+lcanvas
+lcid
+lck
+lcontinue
+LCONTROL
+lctx
+LCURLY
+lda
+Ldef
+ldr
+ldt
+LDU
+leadlink
+leadsto
+Leeuw
+leftoff
+Lempel
+lengthcount
+lenret
+LENTGH
+Lentzsch
+Lernout
+lessequals
+LESSGREATER
+lessthan
+Leung
+Levl
+lexers
+LEXSTATE
+lfcanvas
+lfctx
+lfimgd
+lfinally
+lfpix
+lgfill
+LHND
+LIBID
+likum
+limgd
+linbits
+lindex
+LINECOMMENT
+linecontainsregexp
+linelen
+linenum
+linestart
+linestyle
+LINESTYLEARRAY
+linetokenizer
+linkreport
+linmax
+listconfigs
+Listswf
+lix
+ljcb
+ljrb
+lloc
+LMEM
+LMENU
+lmerr
+lng
+LOADBYTES
+loadcache
+loadfont
+LOADFROMFILE
+loadingpleasewait
+LOADMAP
+loadmemory
+LOADMOVIE
+LOADMOVIENUM
+loadoldversion
+loadproperties
+loadresource
+LOADTRANSPARENT
+LOADURL
+LOADVARIABLES
+LOADVARIABLESNUM
+loadversion
+localcount
+localfile
+localreg
+localregcount
+locjump
+lockcenter
+LOCKCOUNT
+lockroot
+locy
+LOGICALAND
+LOGICALOR
+logname
+logon
+longbool
+LONGLON
+LONGLONG
+lookupswitches
+loopaddr
+loopblk
+loopc
+loopcand
+loopcontainer
+loopdata
+loopex
+loopframes
+looph
+loopi
+loopip
+loopj
+loopk
+loopm
+loopn
+loopnext
+loopobj
+loopoff
+loopon
+loopopened
+loopp
+loopparts
+loopprocess
+loopread
+loopregs
+looproot
+loopsetmembers
+loopsize
+loopspre
+looptags
+looptodo
+looptrait
+loopwalk
+loopwith
+LOUVET
+LOWERTHAN
+LOWORD
+lparam
+lpb
+lpbi
+lpbmi
+lpbmih
+lpc
+lpcb
+lpcch
+LPCTSTR
+lpdw
+lpfl
+lpfn
+lpft
+lpgui
+lpix
+lpkruger
+LPOVERLAPPED
+lppe
+lppt
+lpr
+lprc
+lprint
+lprintd
+lprintq
+lprm
+lproj
+LPSECURITY
+lpsz
+LPTR
+lpushbyte
+lpv
+lpvoid
+lpwcx
+LPWNDCLASSEX
+lre
+LRef
+lresult
+lsa
+lsb
+LSHIFTEQ
+lstart
+ltarget
+lthrow
+lti
+luasyntaxkit
+Luc
+luid
+lval
+lvmethod
+LWA
+LZM
+lzmaprop
+lzmaproperties
+macrodef
+macroend
+Macromed
+macromedia
+MAH
+mai
+mailslot
+mainclass
+mainmovie
+MAKEINTRESOURCE
+makensis
+malgun
+manifestencoding
+MAPI
+maplay
+markerswitch
+Marklevels
+markus
+marshallings
+martinkoza
+maskedid
+maxabs
+maxbits
+MAXCHANNELS
+maxcode
+maxdelta
+maxend
+maxgroup
+maxh
+maxheap
+maxhscroll
+maxid
+maximizable
+MAXJSAMPLE
+maxlevel
+maxlocal
+MAXLONG
+maxmaxcode
+maxnetpos
+maxp
+MAXSCALE
+maxscope
+maxscopedepth
+maxscroll
+maxstack
+MAXVALUE
+maxw
+maxx
+maxy
+mbasciitochar
+mbchartoascii
+mbchr
+mbg
+mbi
+mblength
+mbody
+mbord
+mbp
+MBR
+mbstringextract
+mbstringlength
+mbsubstring
+mccs
+MCFG
+mcvax
+mdat
+mdct
+mdf
+mdfile
+MDICREATESTRUCT
+MDIMAXIMIZE
+mdm
+MEDIASERVER
+MEDIASPACE
+MEDIAVISION
+membername
+membuf
+memorysearch
+MEMORYSTATUSEX
+mes
+METADATAINFO
+METADATATAG
+METADIRECTORY
+metafile
+metainf
+metainfo
+methodbody
+methodindex
+methodinfo
+methodinfosyntaxkit
+methodtrait
+mfs
+mfull
+mgardi
+MGTPE
+mhreljac
+mhs
+Microsystem
+mindex
+minfo
+mingc
+minimizable
+miniport
+minpicturebytes
+minpos
+minreg
+MINSCALE
+minscope
+MINUSEQ
+MINUSMINUS
+MINVALUE
+Miron
+miscompilation
+miterclip
+miterstroke
+MJPEG
+mjpg
+MJPGDHT
+mkbom
+mkdist
+mkey
+mkisofs
+mlc
+MMdd
+mmreg
+mmu
+mmv
+mmx
+mmy
+moar
+Mochi
+mochicrypt
+Modell
+MODEQ
+MODULEENTRY
+moduleinfo
+modulemainclass
+modulepath
+moduletask
+modulu
+MOF
+mohlo
+MONIKERALREADYREGISTERED
+montemedia
+Morphed
+MORPHFILLSTYLE
+MORPHFILLSTYLEARRAY
+MORPHFOCALGRADIENT
+MORPHGRADIENT
+MORPHGRADRECORD
+MORPHLINESTYLE
+MORPHLINESTYLEARRAY
+morphshape
+mostcommon
+MOUSEINPUT
+MOVEFILE
+MOVETODEPS
+movi
+movieclip
+moviesfolder
+MPEGLAYER
+mpis
+mru
+msb
+msc
+MSDTC
+MSGRESULT
+msm
+MSMQ
+msn
+MSNAUDIO
+mssipotf
+MSSTD
+mst
+MSXML
+mtools
+mtroot
+MULTEQ
+Multilanguage
+MULTINAM
+multiname
+MULTINAMEA
+MULTINAMEL
+MULTINAMELA
+MULTIPLEOPENS
+multitouch
+multiusage
+MUSTUSEINDEX
+Mval
+mvn
+mxmlc
+MXOFF
+myas
+mycheckbox
+mycircle
+myclass
+myclip
+myconst
+mydir
+myf
+myfilecomp
+myfiledec
+MYFONT
+mygraph
+myhash
+myjson
+mymethod
+myname
+myns
+myobj
+mypackage
+mypkg
+myprop
+myrect
+myregexp
+myslot
+mystar
+mystvar
+myvargetonly
+myvarsetonly
+Naashorn
+nabc
+nai
+namespacekind
+namespaceset
+NAMESPACESUFFIX
+Naohide
+napr
+Nathaan
+natorder
+navic
+nazdar
+nbactions
+nbbrowse
+nbbuild
+nbits
+nbjpda
+nbjpdareload
+nbjpdastart
+nbprofiledirect
+nbproject
+NBSTAT
+NBTSTAT
+Nbytes
+ncanvas
+NCCREATE
+NCDESTROY
+NCPAINT
+NCs
+nctx
+ncycles
+ndata
+ndigit
+ndis
+ndp
+nds
+ndx
+ndxa
+ndxb
+ndy
+ndya
+ndyb
+nearmax
+nearmouse
+nearst
+neco
+NEGINFINITY
+NEGZERO
+nellymoser
+nerby
+netbeans
+netbiasshift
+netindex
+Netlogon
+netsize
+netstring
+Netword
+NEUQUANT
+newactivation
+Newbyte
+newc
+newcatch
+newchars
+newclass
+newcmds
+newcount
+newdebuggerpkg
+neweq
+newex
+newfunction
+newimport
+newinstruction
+newlist
+newlocal
+newmapping
+newmatrix
+newmethod
+newobject
+newpercent
+newpipe
+newpos
+newprogress
+newstyles
+newswf
+newtlen
+newuni
+newval
+newvar
+newver
+newvermessage
+newversion
+newversionavailable
+nex
+nextbody
+nextframe
+nextip
+nextname
+nextpart
+nexts
+nextsize
+nextvalue
+nfe
+Nfontname
+Nfontsize
+nga
+nic
+Nickals
+nidx
+nightlybuild
+nimport
+nins
+nio
+nlen
+nline
+NLSTEXT
+NLTM
+nmchar
+nmembers
+nmstart
+nname
+NOACCESS
+noagent
+nobak
+nobj
+nobundle
+noch
+nocharacter
+nocheck
+NOCHILDREN
+NOCOMPACT
+NOCYCLE
+noddraw
+nodep
+NOERASE
+nofill
+nofinret
+nohup
+NOINTERFACE
+NOINTERNALPAINT
+nojump
+noname
+nonbreak
+nonchild
+nonclient
+nonconfigured
+noncontainer
+nondebug
+nondifferential
+nonewver
+nonewversion
+NONINFRINGEMENT
+nonlibrary
+nonmenu
+nonmethods
+Nonrepeating
+nonribbon
+nonscalar
+nonshapes
+nonsmoothed
+nonstring
+Nonversioned
+NOORDER
+NOPARENT
+NOPRECEDENCE
+noprocess
+nops
+NOREPEAT
+norig
+normalval
+NORRIS
+noscale
+noselect
+noselection
+noserializer
+nospaces
+NOSUBSCRIBERS
+nosys
+notaregexp
+NOTAUTH
+notavailable
+notavailonthisplatform
+noteditable
+notex
+NOTIMPL
+notoall
+notree
+notset
+NOTSINGLEPHASE
+NOTSUPPORTED
+notunix
+NOTUPDATED
+NOTZONE
+NOUNLOAD
+NOZORDER
+nparams
+npe
+npp
+nps
+npw
+NRotate
+nsano
+NScale
+nscript
+nsd
+nsdef
+nsdict
+nse
+nsh
+nsi
+nsimport
+nsindex
+nsisant
+nskind
+nslookup
+nsn
+nsprop
+nss
+nssa
+nsset
+nswf
+NTczkc
+NTDS
+NTE
+nthe
+NTLM
+NTranslate
+NTSTATUS
+NTVDM
+ntype
+nullpointer
+NULLREGION
+Nullsoft
+NUMBERCONTEXT
+numbytes
+numchars
+numer
+numfillstyles
+numgradients
+numlinestyles
+numread
+numtags
+nvp
+nvs
+NXRRSET
+nza
+nzb
+oargs
+obfus
+OBJBLOCK
+objheight
+objinreg
+objnoreg
+OBJREF
+objser
+objwidth
+obuffer
+OBUFFERSIZE
+OCTED
+ocx
+odc
+Oepsilon
+OFFPATH
+offsetback
+ofs
+ofst
+oidentifier
+OIns
+ois
+Ojb
+oldchars
+oldctx
+oldframe
+oldop
+oldpct
+oldpop
+oldtp
+oldversion
+OLESTREAM
+OLEVERB
+OLIADPCM
+OLICELP
+OLIGSM
+OLIOPR
+OLISBC
+OMAC
+ome
+Omnicore
+omt
+omx
+omy
+onclip
+ondemand
+onecase
+onedata
+onfalse
+onloaded
+onode
+ontrue
+onxxx
+openables
+opengl
+openinside
+opensource
+openswfinside
+opentags
+opfix
+opkg
+oplock
+optimizedsize
+OREQ
+oret
+originalbytes
+origis
+origt
+Orost
+OSId
+ossup
+ossupport
+OSVERSIONINFO
+OSVERSIONINFOEX
+osx
+otherdoc
+otherns
+otherone
+ourset
+oursidetrycatch
+outdir
+outdirectory
+outex
+outfunc
+outofbounds
+outp
+outpos
+outputdir
+outputencoding
+outputfile
+outputformat
+outputname
+outputp
+outputproperty
+outputstream
+outrect
+outsidepart
+ovalue
+PACKAGEINTERNALNS
+packagemapper
+PACKAGENAMESPACE
+padd
+pagemode
+pagenum
+PALCHANGES
+PALETTEENTRY
+Panedivider
+Panedocsdivider
+PAnsi
+paour
+parallelspeedup
+paramname
+parentindex
+parentname
+parentnodes
+PARMs
+passlib
+PASTLWTR
+pathchk
+pathconvert
+pathelement
+pathpart
+pathsource
+pathvar
+patternset
+Pawel
+pblend
+pbmi
+pbstr
+pby
+pce
+PChar
+pcinit
+pcnt
+pcode
+pcodehex
+pcr
+pctzoom
+pdata
+PDC
+PDFs
+pdp
+pdw
+pdx
+pdy
+pei
+Pels
+PENTIUM
+peora
+pepka
+perlin
+Perpdfddf
+perpendiculardfddf
+petrik
+petsd
+pevlr
+pex
+pexpr
+PFM
+pfwi
+pgrfdex
+phelps
+phicon
+phk
+PIII
+pinnable
+pipename
+placeobject
+PLACETAG
+plaf
+plainsyntaxkit
+PLATFORMID
+plattform
+Playercontrols
+playerglobal
+playerpath
+pleasewait
+plii
+PLUSEQ
+PLUSPLUS
+pmenu
+pmi
+pnd
+PNGs
+pobj
+podle
+pointsedit
+poolable
+popscope
+popups
+Poskanzer
+powerstate
+poxyran
+ppkg
+pplace
+ppos
+ppunk
+ppv
+preauthentication
+precomputation
+precontinue
+preflag
+PREMULT
+preparse
+prereq
+preservelastmodified
+presetdef
+pretab
+prettyformat
+prevar
+prevblck
+prevframe
+PREVIEWSIZE
+previouscol
+prevs
+printasbitmap
+PRINTASBITMAPNUM
+printcap
+printenv
+printgraph
+PRINTNUM
+prinz
+privat
+PRIVATENAMESPACE
+probs
+processallclasses
+PROCESSENTRY
+processinstr
+processormodulepath
+processorpath
+procset
+productinfo
+PRODUCTINFOTAG
+PROGRAMFILES
+Programovani
+PROJECTID
+projecto
+propertiessyntaxkit
+propertyfile
+propertyindex
+propertyref
+propertyset
+prot
+protat
+PROTECTEDNAMESPACE
+protectedns
+PRST
+prvblk
+Psapi
+psco
+pservers
+pseudohandle
+psfb
+psfi
+psfs
+PSMT
+psp
+psvm
+PSYSUINT
+psz
+ptags
+pti
+ptimer
+PTRBy
+puppycrawl
+puscope
+pused
+PUser
+pushback
+pushbyte
+pushbyteminusone
+pushconstant
+pushdecimal
+pushdnan
+pushdouble
+pushduplicate
+pushfalse
+pushfloat
+pushingpixels
+pushins
+pushint
+pushitem
+pushnamespace
+pushnan
+pushnull
+pushnum
+pushscope
+pushshort
+pushtrue
+pushuint
+pushundefined
+pushwith
+Puzrin
+pvar
+PVR
+pwi
+PYTHONINDENT
+pythonsyntaxkit
+QControl
+QNa
+qname
+QNAMEA
+quantizationsteps
+Quaqua
+Quelle
+quickfind
+quicktime
+quotacheck
+quotactl
+quotien
+rabc
+rabcasm
+RABCDASM
+radbias
+radbiasshift
+radek
+radiusbias
+radiusbiasshift
+radiusdec
+radpower
+raf
+RAMDISK
+ramge
+randa
+rande
+randelshofer
+randf
+randi
+randomnumber
+randomword
+rasterizing
+rawedit
+rawid
+rawout
+rawstring
+RBUTTON
+RBUTTONDOWN
+Rby
+rcode
+RCONTROL
+rcp
+rcpm
+rctx
+RCURLY
+rdh
+RDW
+reachableparts
+readlimit
+READMODE
+realityinteractive
+realmaster
+Recents
+recentsearch
+RECORDSEPARATOR
+RECOVERYALREADYDONE
+RECOVERYINPROGRESS
+rectx
+recursesubdirs
+redistributors
+REFTYPE
+refu
+REGDB
+regdeo
+regexes
+regexpmapper
+regid
+regindex
+registerxx
+regitems
+regpoint
+reinitialization
+releasedate
+relinking
+remainingbytes
+remoting
+removecharacter
+removecharacterwithdependencies
+removedeadcode
+removefromcontextmenu
+removeinstancemetadata
+REMOVEMOVIECLIP
+removemultiple
+removesprite
+removetrait
+removetraps
+remsync
+renameall
+renameinvalid
+renameinvalididentifiers
+renice
+reparray
+reparse
+REPEATBLOCK
+replacealpha
+replacecharacter
+replacecharacterid
+replaceimage
+replaceitem
+replacementtext
+replaceregex
+replacesprite
+replacestring
+replacetrace
+replacewithtag
+REPLAYREQUEST
+replicator
+requantization
+requantized
+resamplewav
+resetspacing
+resizability
+resname
+resolveconst
+resolvedx
+resourcecount
+resourcedates
+resourcestring
+Resourcing
+reste
+restorecontrolflow
+restval
+retc
+retcode
+retep
+RETEXIT
+retexpr
+RETFINAL
+reti
+retlen
+RETRYNOW
+RETURNINDEXEDARRAY
+returntype
+returnvalue
+returnvoid
+rfields
+rfirst
+RFM
+RGBQUAD
+RGBT
+rgfill
+rgi
+rgn
+RGNDATA
+RGNDATAHEADER
+rgvar
+rhetorex
+rhex
+riboon
+ridata
+RIFFV
+rightclick
+rightoff
+riid
+RLIKE
+rname
+rnum
+rnwk
+ROCKWELL
+RODC
+romain
+rootswf
+rotateanticlockwise
+rotateclockwise
+rotateskew
+ROWMAP
+rownum
+ROWTYPE
+rozdilne
+RPos
+RRef
+rrest
+rri
+RSHIFTEQ
+rsl
+rtd
+RTP
+rtq
+RTQNAME
+RTQNAMEA
+RTQNAMEL
+RTQNAMELA
+rtrn
+Rtsjx
+rttl
+rubysyntaxkit
+ruleset
+runas
+RUNFULLSCREEN
+runjdwp
+runtimeclasspath
+Ruslan
+Rwith
+rxmin
+rymin
+SACL
+Sadziak
+saettler
+safecall
+Sairafi
+salam
+salign
+SAMECACHE
+SAMEFORMATETC
+Sameline
+samplecode
+sampledata
+samplefac
+samplelength
+samplenumber
+samplepixels
+Sano
+sansserif
+SAs
+Sasaki
+saveall
+saveas
+saveasexe
+sbe
+SBI
+Sbits
+SBLIMIT
+sbr
+sbt
+sbw
+sbytes
+scalasyntaxkit
+SCALEBITS
+scalefac
+scalefact
+scalefactor
+scalemode
+SCALESHEAR
+scalex
+scalexf
+scaley
+scaleyf
+scanerror
+scanline
+scansize
+scard
+scenebias
+sceneframe
+scfsi
+SChannel
+Scheerer
+Schroeter
+scm
+SCOD
+scode
+Scopeand
+SCOPECHAIN
+scopepos
+scopestack
+screenloc
+screenshots
+scriptadd
+SCRIPTDATA
+SCRIPTDATADATE
+SCRIPTDATALONGSTRING
+SCRIPTDATAOBJECT
+SCRIPTDATAOBJECTEND
+SCRIPTDATASTRING
+SCRIPTDATAVALUE
+SCRIPTDATAVARIABLE
+SCRIPTDATAVARIABLEEND
+scriptend
+scriptexport
+scriptinitializer
+scriptname
+scriptobject
+scriptpack
+scriptsfolder
+scrollers
+scrollpane
+Scrollpos
+scrs
+sctx
+scx
+SDBIU
+sdec
+sdf
+sdi
+sdiff
+sdoc
+sdx
+sdy
+searchas
+searchresults
+searchtext
+seb
+secondp
+secpol
+segw
+Seite
+selectas
+selectbkcolor
+selectclass
+selectcolor
+selectid
+selectopen
+selecttrait
+Selektieren
+selfile
+selftest
+semicoloned
+sendenter
+seproject
+serclose
+serh
+serl
+serr
+SERVICEPACKMAJOR
+SERVICEPACKMINOR
+serz
+Setable
+setadvancevalues
+SETCOUNT
+setcursor
+setglobalslot
+sethalt
+SETHOTKEY
+setinstancemetadata
+setlanguage
+setloc
+setlocals
+setlocalx
+setmember
+setnohalt
+setprop
+setproperty
+setpropertylate
+setreg
+setsdxns
+setslot
+setsuper
+settarget
+SETUPAPI
+SETUPFILE
+setupfinished
+SETUPOUTCOME
+setvariable
+setzen
+sev
+sfb
+sfbcnt
+sfd
+sfile
+sfntly
+sfreq
+sft
+sftable
+sfunc
+sgt
+shapecache
+shapefixer
+shapenum
+shaperecord
+shapesfolder
+SHAPEWITHSTYLE
+sharepoint
+shead
+SHELLEXECUTEINFO
+SHFILEINFO
+SHGFI
+shmem
+shorttag
+SHORTVERNAME
+showall
+SHOWDEFAULT
+showframe
+showhide
+showin
+showlog
+SHOWMAXIMIZED
+SHOWMINIMIZED
+SHOWMINNOACTIVE
+SHOWNA
+SHOWNOACTIVATE
+SHOWNORMAL
+showoutput
+SHOWWINDOW
+shx
+sidata
+sideeffect
+sidex
+sids
+SIF
+SIMPLEREGION
+SINGLEQUOTED
+singlescript
+singletext
+sinit
+sinitcode
+SISO
+sitem
+siz
+skinparts
+skipifsilent
+skm
+slashesh
+Slispinner
+slist
+slocate
+slotconst
+slotconsttrait
+slotid
+slotname
+SMALLICON
+smallpos
+smallval
+smartcard
+smartfoxserver
+SMask
+sme
+smember
+smil
+SMIME
+Smp
+SMPROGRAMS
+smx
+smy
+SNa
+sname
+snan
+SNAPALL
+SNAPHEAPLIST
+SNAPMODULE
+SNAPPROCESS
+sneq
+SOFB
+SOFC
+SOFD
+SOFE
+SOFF
+softsound
+SOI
+SOMECACHES
+somemethod
+somens
+someprop
+somesub
+somevar
+SOmit
+SONARC
+sopn
+SORENSON
+soundbuftime
+SOUNDDATA
+SOUNDENVELOPE
+SOUNDFORMAT
+SOUNDINFO
+soundmute
+SOUNDRATE
+soundsfolder
+SOUNDSIZE
+soundstream
+soundstreamhead
+SOUNDTYPE
+sourcefiles
+sourceforge
+sout
+spacingpair
+Spalten
+spd
+spe
+specialbits
+specialmethod
+speex
+sph
+spi
+splitbar
+SPLITPANE
+SPN
+spos
+spr
+spriteinvalid
+spritesfolder
+spti
+spw
+SQLEXCEPTION
+sqlsyntaxkit
+SQLWARNING
+SQML
+sqr
+SQSTRING
+SQuote
+sra
+srcoff
+srcs
+srctest
+srd
+SRK
+ssel
+SSLIMIT
+sslot
+ssr
+sss
+sstar
+ssti
+sstle
+sstring
+stacknext
+stackoverflow
+stackpos
+stackswap
+Staldenmattweg
+standalonenight
+startdrag
+STARTF
+STARTFINISHTAG
+STARTMENU
+STARTMENUPAGE
+startpos
+startprofiler
+startswitch
+STARTUPINFO
+STARTUPINFOEX
+STARTVARTAG
+startxref
+STATDATA
+staticinitializer
+STATICPROTECTEDNS
+STDGMEDIUM
+stdole
+stefan
+stejny
+stepinto
+stepout
+stepover
+STGM
+stle
+STOPALLSOUNDS
+stopclassname
+STOPDRAG
+stopparts
+stopsounds
+storepass
+storeregister
+storetype
+strd
+streamreader
+Strein
+strf
+strh
+stricteq
+strictequals
+stringequals
+stringextract
+stringgreater
+stringlength
+stripjavacomments
+striplinebreaks
+strl
+strn
+stvariables
+stylesindex
+subactions
+subarra
+subarrays
+subauthority
+subbandnumber
+subbands
+subclassof
+subcnt
+subdata
+subdiv
+subkeys
+sublimiter
+subloader
+submethod
+subout
+subref
+subsprite
+Subtables
+subtag
+subusesvars
+subvalue
+subvar
+subvariables
+subwiz
+subworkers
+suitename
+sumdelta
+superclasses
+supo
+suppressionfilter
+suppressionxpathfilter
+suppresssuper
+svalue
+svar
+svgxml
+swc
+swd
+swfdecrypt
+swfencrypt
+swffile
+swfitem
+SWFNAME
+swfpreview
+swfs
+swftext
+swftools
+swfver
+swi
+swlen
+SWNE
+SWP
+sws
+swt
+swz
+sxi
+symb
+symbolclass
+symbolclassfile
+Symbolek
+syncmode
+syncword
+syntaxkit
+syntaxstyles
+sysclasspath
+SYSDATE
+SYSINT
+SYSKEYDOWN
+Syspart
+syspropertyset
+systemmodulepath
+systemmodules
+systemtime
+SYSUINT
+SYSVOL
+SZD
+tablelayout
+tablemodels
+tac
+taginfo
+taglist
+taglistview
+tagscript
+tagtree
+talsyntaxkit
+tarfileset
+targers
+targetpath
+taskdef
+tbd
+tbl
+tbssvc
+TBuf
+Tby
+TCall
+Tcast
+Tcb
+tcerror
+tchar
+TColor
+TControl
+TCPDF
+tcr
+TCurrent
+TDN
+techno
+techsmith
+tellcmds
+tellist
+telltarget
+telse
+tempdatastream
+temporaire
+temporaryreg
+tempreg
+TEMPSIZE
+ternars
+ternat
+testclass
+TESTDATADIR
+testhalt
+testincludes
+testlib
+testmethods
+testname
+testng
+testpackage
+testslots
+teststub
+testtimes
+testtry
+tetha
+TEXGLYPH
+textaligncenter
+textalignjustify
+textalignleft
+textalignright
+textcomponent
+textfields
+textfile
+textindent
+textplain
+textposition
+TEXTRECORD
+textsfolder
+textsformatted
+textsplain
+textunindent
+textuppercase
+tfactory
+tfi
+tfile
+TFM
+TForm
+Tfrm
+tga
+TGet
+Tgl
+TGoto
+TGUID
+tgz
+thebuffer
+thel
+thepic
+thepicture
+thes
+thirdp
+THIRTYTWO
+thn
+throwpart
+ths
+timelined
+TIMERNOFG
+timesroman
+tina
+titem
+tlb
+TLBIDs
+tlen
+tlf
+tli
+tlines
+tmat
+tmax
+tmetadata
+tmgs
+tmin
+tmodel
+tmpf
+tmr
+tms
+TMsg
+tmu
+TMy
+tname
+tnext
+tnode
+tobias
+TObject
+tocolor
+todd
+todir
+TOGGLEHIGHQUALITY
+TOGGLEMENUITEM
+togglequality
+tokenfilter
+TOKENTYPES
+tolocal
+Toolhelp
+TOOLWINDOW
+TOOMANY
+topint
+Topologi
+TOREMOVE
+tosystem
+totalframes
+totbit
+touchscreen
+TOWAV
+tparser
+tpart
+tpath
+tpf
+TPipe
+tplace
+TPlay
+tpmapi
+Tpng
+tpos
+tprev
+traceroute
+traitadd
+traitname
+traitremove
+traitsize
+traitslist
+TRANSACTIONCLOSED
+Transfm
+transformbasic
+transformflipx
+transformflipy
+transformmatrix
+transformmove
+transformpoint
+transformrotate
+transformscale
+transformskew
+TRANSID
+transitioning
+translatex
+translatey
+trat
+trc
+treeitems
+treelen
+treenode
+treetable
+treg
+Treti
+Triff
+trm
+trojuh
+TRUESPEECH
+tryenable
+tsa
+Tsay
+tscc
+tsci
+tselect
+TSet
+TShockwave
+tsize
+tsort
+tstamp
+TStop
+tstr
+ttable
+ttb
+ttem
+ttffile
+TThread
+TTimer
+ttm
+Turkowski
+turtlevax
+tuto
+TVar
+twalljava
+tweeked
+Tweener
+tweens
+twindagger
+twip
+twoway
+txdtc
+txf
+txml
+txmldoc
+txthelp
+txts
+tymed
+TYPEDADDRESS
+typelibrary
+Typen
+typenames
+typenumber
+typevalue
+ubits
+ucf
+udata
+uin
+uinteger
+UIPI
+ULON
+ULONGLON
+ULONGLONG
+ulp
+ultimatefallback
+ULTRADARK
+ULTRALIGHT
+ULW
+UMI
+umjammer
+umontreal
+UNABLEFINDAFTER
+UNABLEINSTALL
+unaliased
+unbiasnet
+uncache
+Uncompresses
+und
+undable
+undefineds
+undomanager
+undos
+Unescapes
+unexpand
+Ungrabs
+unichr
+Unifont
+Unindents
+uninst
+Uninstallation
+Uninstaller
+uninstallexe
+Uninstalls
+uninstantiated
+UNINSTKEY
+uninstlocal
+uniqfilter
+UNIQUESORT
+unis
+Unisys
+unixmac
+unk
+UNKNOWNTAG
+UNLOADMOVIE
+UNLOADMOVIENUM
+unmanage
+unmarshall
+unnamespaced
+unpackagemapper
+UNPAGE
+unplus
+unpopped
+Unported
+UNPOWERED
+unpremultiply
+unr
+Unreads
+Unregisters
+unser
+unshar
+unsignedinteger
+unsup
+unswizzled
+unswizzling
+Untitledas
+unzoom
+updatedable
+UPDATENOW
+UPDATEREQUIRED
+upgrademodulepath
+upravit
+URIEx
+urlcheckfailed
+urlgetsuccessfull
+urshift
+URSHIFTEQ
+usb
+USECOUNTCHARS
+USEDEFAULT
+USEDEFAULTCURSORS
+useexternalfile
+usefile
+USEFILLATTRIBUTE
+USEHOTKEY
+usenativebasedir
+USENONE
+useoutlines
+USEPOSITION
+USERDATA
+USEREG
+usermod
+USERMODE
+USESHOWWINDOW
+USESIZE
+USESTDHANDLES
+USETHUMBS
+USHIFT
+USHOR
+usre
+UWORD
+uwyn
+vaact
+valcmd
+validitems
+valueclass
+VALUENAME
+VARCHARACTER
+variablename
+varincdec
+VARPROPSETTER
+varval
+vavi
+vbr
+vbri
+VBRIVBR
+VBXADPCM
+vchanged
+vcl
+vclass
+vclshlctrls
+vclx
+vcname
+VCP
+vdata
+vdir
+velikost
+VERBNAME
+VERDATE
+verifyop
+verifypass
+VERNAME
+versionfile
+versionx
+Vetrenko
+vetsinou
+VGACOLOR
+vgap
+Vid
+videocodecid
+VIDEODATA
+videodatarate
+VIDEOINFOHEADER
+Videologic
+VIDEOPACKET
+videoprt
+viewattr
+viewext
+viewgraph
+viewhex
+viewhexpcode
+viewresources
+Virt
+Visitcode
+visitorder
+Vitaly
+vkind
+VLayout
+vlc
+vlcj
+vname
+vnd
+vnumber
+vobject
+vom
+vot
+voxware
+VQLPC
+vsb
+VScale
+vstr
+vtle
+vtype
+vuint
+vvv
+vwi
+VYUY
+Wahlers
+waitforframe
+waitingfordissasembly
+WASCAPTUREFILE
+wasstatic
+watdcsu
+WAVEFORMAT
+WAVEFORMATEX
+WAVEFORMATEXTENSIBLE
+wcmd
+Webfonts
+webhelp
+webpage
+Wecsvc
+weil
+WELCOMEFINISHPAGE
+WELCOMEPANEL
+welcometo
+wellbehaved
+wellformed
+wenn
+werden
+werner
+whbaos
+whi
+whileaif
+whileajmp
+wia
+widelines
+WILLDOWNLOAD
+WILLINSTALL
+winamp
+WINAPI
+Winbase
+WINBASEAPI
+Windef
+WINDIR
+WINDOWINFO
+WINDOWSUPDATE
+Winerror
+Winnet
+winnt
+WINRM
+withs
+wloop
+WMI
+wmode
+wnd
+WNDCLASS
+wndclassex
+WNDENUMPROC
+WNDPROC
+WOR
+wordpointer
+wordsize
+wparam
+WRITEABLECONST
+writeblock
+writecolourmap
+writecopy
+wrk
+wsize
+WSL
+wvar
+wvi
+XACT
+XAngle
+xar
+xattrname
+xattrval
+xbar
+XBefore
+XButton
+xcenter
+xcontent
+XControl
+xcopy
+XCount
+XCursor
+xdg
+xelem
+XEnd
+XENROLL
+XEvent
+XException
+xfl
+XFloat
+Xfm
+XHalf
+XHeight
+xhtmlsyntaxkit
+xing
+XInstance
+XInteger
+XIntercept
+xlen
+xlist
+xlr
+xmean
+xmessage
+XMK
+XMLAVM
+XMLCDATA
+XMLCDATAALONE
+XMLCLOSETAGFINISH
+XMLCOMMENT
+XMLCOMMENTALONE
+xmldoc
+xmlfileset
+XMLINSTR
+XMLOPENTAG
+XMLOPENTAGATTRIB
+XMLSTARTTAG
+xmlsyntaxkit
+xmltag
+XMLUI
+xmouse
+xmp
+xmpmeta
+xmptk
+XNM
+xobject
+xofs
+xored
+XOREQ
+xoring
+xorval
+xpacket
+xpathsyntaxkit
+XPels
+xpos
+xrefs
+xscale
+xsi
+XSpring
+xstate
+xtaga
+xtagb
+XText
+XUpdate
+xval
+Xvfb
+xxxx
+xxxxx
+xxxxxx
+xxxxxxx
+xxyy
+YAMAHA
+YAngle
+ybar
+YBefore
+ycc
+ycck
+YCCKTo
+ycenter
+YCount
+YCr
+YCursor
+ydelta
+YEnd
+yestoall
+YFloat
+YHalf
+YInstance
+YInteger
+ylen
+ymean
+YMK
+ymouse
+ynew
+YNM
+yof
+yorig
+yourfile
+Yoyodyne
+YPels
+ypos
+YRef
+yscale
+YSpring
+YText
+YUV
+YUYV
+YXDOMAIN
+YXRRSET
+yybegin
+yychar
+yycharat
+yyclose
+yycolumn
+yyeof
+YYINITIAL
+yylength
+yylex
+yylexthrow
+yyline
+yypushback
+yypushbackstr
+yyreset
+yyrset
+yystate
+yytext
+yyy
+Zabcdefghijklmnopqrstuvwxyz
+ZEROFILL
+ZEROINIT
+zeroone
+zipfileset
+zis
+zlab
+ZMBV
+zonedata
+ZONERECORD
+zoomable
+zoomfit
+zoomin
+zoomint
+zoomnone
+zoomout
+zos
+ZWS
diff --git a/.github/actions/spelling/line_forbidden.patterns b/.github/actions/spelling/line_forbidden.patterns
new file mode 100644
index 000000000..7f70bc8c5
--- /dev/null
+++ b/.github/actions/spelling/line_forbidden.patterns
@@ -0,0 +1,251 @@
+# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere
+# see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529)
+# and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46)
+#\bm_data\b
+
+# Were you debugging using a framework with `fit()`?
+# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test,
+# you might not want to check in code where you skip all the other tests.
+#\bfit\(
+
+# Should be `HH:MM:SS`
+\bHH:SS:MM\b
+
+# Should be `86400` (seconds in a standard day)
+\b84600\b(?:.*\bday\b)
+
+# Should probably be `2006-01-02` (yyyy-mm-dd)
+# Assuming that the time is being passed to https://go.dev/src/time/format.go
+\b2006-02-01\b
+
+# Should probably be `YYYYMMDD`
+\b[Yy]{4}[Dd]{2}[Mm]{2}(?!.*[Yy]{4}[Dd]{2}[Mm]{2}).*$
+
+# Should be `a priori` or `and prior`
+(?i)(? Don't use `can not` when you mean `cannot`. The only time you're likely to see `can not` written as separate words is when the word `can` happens to precede some other phrase that happens to start with `not`.
+# > `Can't` is a contraction of `cannot`, and it's best suited for informal writing.
+# > In formal writing and where contractions are frowned upon, use `cannot`.
+# > It is possible to write `can not`, but you generally find it only as part of some other construction, such as `not only . . . but also.`
+# - if you encounter such a case, add a pattern for that case to patterns.txt.
+\b[Cc]an not\b
+
+# Should be `GitHub`
+(?"'`=(])-(?:(?:J-|)(?:D(?!ouble)|[WXY])|[L])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
+
+# hit-count: 269 file-count: 24
+# IServiceProvider / isAThing
+(?:\b|_)(?:(?:ns|)I(?!Psec)|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b))
+
+# hit-count: 57 file-count: 38
+# uuid:
+\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
+
+# hit-count: 29 file-count: 29
+# File extensions
+\*\.[+\w]+,
+
+# hit-count: 27 file-count: 11
+# version suffix v#
+(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
+
+# hit-count: 8 file-count: 2
+# pom.xml
+<(?:group|artifact)Id>.*?<
+
+# hit-count: 3 file-count: 1
+# GitHub actions
+\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+
+
+# hit-count: 1 file-count: 1
+# tar arguments
+\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
+
+\\u00[0-9A-F]{2}
+
+uniIdentityH = ".*"
+
+# Win32
+(?:int|MessageId:) (?:(?:[A-Z]+_E|CERT|CO|DNS_ERROR|ERROR|IMAGE|OLEOBJ|OSS|RPC|SM|TPM|WM|XACT)_|WSA)\w+
+
+3D(?=[A-Z])
+
+# german
+[\w\s]*\s+(?:[Dd]ie|der)\s+[\w\s]*
+
+# czech
+[\w\s]*\s+(?:bude|jako|kdyz|oddeleny|pouze)\s+[\w\s]*
+
+# Questionably acceptable forms of `in to`
+# Personally, I prefer `log into`, but people object
+# https://www.tprteaching.com/log-into-log-in-to-login/
+\b(?:(?:[Ll]og(?:g(?=[a-z])|)|[Ss]ign)(?:ed|ing)?) in to\b
+
+# to opt in
+\bto opt in\b
+
+# acceptable duplicates
+# ls directory listings
+[-bcdlpsw](?:[-r][-w][-SsTtx]){3}[\.+*]?\s+\d+\s+\S+\s+\S+\s+[.\d]+(?:[KMGT]|)\s+
+# mount
+\bmount\s+-t\s+(\w+)\s+\g{-1}\b
+# C types and repeated CSS values
+\s(auto|buffalo|center|div|false|inherit|long|LONG|none|normal|null|solid|thin|transparent|true|very)(?: \g{-1})+\s
+# C enum and struct
+\b(?:enum|struct)\s+(\w+)\s+\g{-1}\b
+# go templates
+\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml):
+# doxygen / javadoc / .net
+(?:[\\@](?:brief|defgroup|groupname|link|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+(?:static|override|readonly|required|virtual))*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s
+
+# macOS file path
+/MacOS
+
+# Python package registry has incorrect spelling for macOS / Mac OS X
+"Operating System :: MacOS :: MacOS X"
+
+# "company" in Germany
+\bGmbH\b
+
+# IntelliJ
+\bIntelliJ\b
+
+# Commit message -- Signed-off-by and friends
+^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$
+
+# Autogenerated revert commit message
+^This reverts commit [0-9a-f]{40}\.$
+
+# ignore long runs of a single character:
+\b([A-Za-z])\g{-1}{3,}\b
diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt
new file mode 100644
index 000000000..5cc86ef80
--- /dev/null
+++ b/.github/actions/spelling/reject.txt
@@ -0,0 +1,13 @@
+^attache$
+^bellow$
+benefitting
+occurences?
+^dependan.*
+^diables?$
+^oer$
+Sorce
+^[Ss]pae.*
+^Teh$
+^untill$
+^untilling$
+^wether.*
diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml
new file mode 100644
index 000000000..43b7c293e
--- /dev/null
+++ b/.github/workflows/spelling.yml
@@ -0,0 +1,162 @@
+name: Check Spelling
+
+# Comment management is handled through a secondary job, for details see:
+# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions
+#
+# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment
+# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare)
+# it needs `contents: write` in order to add a comment.
+#
+# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment
+# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment)
+# it needs `pull-requests: write` in order to manipulate those comments.
+
+# Updating pull request branches is managed via comment handling.
+# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list
+#
+# These elements work together to make it happen:
+#
+# `on.issue_comment`
+# This event listens to comments by users asking to update the metadata.
+#
+# `jobs.update`
+# This job runs in response to an issue_comment and will push a new commit
+# to update the spelling metadata.
+#
+# `with.experimental_apply_changes_via_bot`
+# Tells the action to support and generate messages that enable it
+# to make a commit to update the spelling metadata.
+#
+# `with.ssh_key`
+# In order to trigger workflows when the commit is made, you can provide a
+# secret (typically, a write-enabled github deploy key).
+#
+# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key
+
+# SARIF reporting
+#
+# Access to SARIF reports is generally restricted (by GitHub) to members of the repository.
+#
+# Requires enabling `security-events: write`
+# and configuring the action with `use_sarif: 1`
+#
+# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-SARIF-output
+
+# Minimal workflow structure:
+#
+# on:
+# push:
+# ...
+# pull_request_target:
+# ...
+# jobs:
+# # you only want the spelling job, all others should be omitted
+# spelling:
+# # remove `security-events: write` and `use_sarif: 1`
+# # remove `experimental_apply_changes_via_bot: 1`
+# ... otherwise adjust the `with:` as you wish
+
+on:
+ push:
+ branches:
+ - "**"
+ tags-ignore:
+ - "**"
+ pull_request_target:
+ branches:
+ - "**"
+ types:
+ - "opened"
+ - "reopened"
+ - "synchronize"
+ issue_comment:
+ types:
+ - "created"
+
+jobs:
+ spelling:
+ name: Check Spelling
+ permissions:
+ contents: read
+ pull-requests: read
+ actions: read
+ security-events: write
+ outputs:
+ followup: ${{ steps.spelling.outputs.followup }}
+ runs-on: ubuntu-latest
+ if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }}
+ concurrency:
+ group: spelling-${{ github.event.pull_request.number || github.ref }}
+ # note: If you use only_check_changed_files, you do not want cancel-in-progress
+ cancel-in-progress: true
+ steps:
+ - name: check-spelling
+ id: spelling
+ uses: check-spelling/check-spelling@prerelease
+ with:
+ suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }}
+ checkout: true
+ check_file_names: 1
+ spell_check_this: check-spelling/spell-check-this@prerelease
+ post_comment: 0
+ use_magic_file: 1
+ report-timing: 1
+ warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check,unclosed-block-ignore-begin,unclosed-block-ignore-end
+ experimental_apply_changes_via_bot: 1
+ use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }}
+ check_extra_dictionaries: ''
+ extra_dictionaries: |
+ cspell:software-terms/dict/softwareTerms.txt
+ cspell:php/dict/php.txt
+ cspell:java/src/java.txt
+ cspell:python/src/common/extra.txt
+ cspell:filetypes/filetypes.txt
+ cspell:java/src/java-terms.txt
+ cspell:aws/aws.txt
+ cspell:clojure/src/clojure.txt
+ cspell:python/src/python/python-lib.txt
+ cspell:css/dict/css.txt
+ cspell:lua/dict/lua.txt
+ cspell:html/dict/html.txt
+ cspell:typescript/dict/typescript.txt
+ cspell:fullstack/dict/fullstack.txt
+ cspell:node/dict/node.txt
+ cspell:r/src/r.txt
+ cspell:python/src/python/python.txt
+ cspell:dotnet/dict/dotnet.txt
+ cspell:django/dict/django.txt
+ cspell:npm/dict/npm.txt
+ cspell:golang/dict/go.txt
+ cspell:scala/dict/scala.txt
+ cspell:mnemonics/src/mnemonics.txt
+ cspell:shell/dict/shell-all-words.txt
+ cspell:cpp/src/stdlib-cpp.txt
+ cspell:cryptocurrencies/cryptocurrencies.txt
+ cspell:cpp/src/lang-keywords.txt
+ cspell:k8s/dict/k8s.txt
+ cspell:cpp/src/compiler-msvc.txt
+ cspell:cpp/src/compiler-clang-attributes.txt
+
+ update:
+ name: Update PR
+ permissions:
+ contents: write
+ pull-requests: write
+ actions: read
+ runs-on: ubuntu-latest
+ if: ${{
+ github.event_name == 'issue_comment' &&
+ github.event.issue.pull_request &&
+ contains(github.event.comment.body, '@check-spelling-bot apply') &&
+ contains(github.event.comment.body, 'https://')
+ }}
+ concurrency:
+ group: spelling-update-${{ github.event.issue.number }}
+ cancel-in-progress: false
+ steps:
+ - name: apply spelling updates
+ uses: check-spelling/check-spelling@prerelease
+ with:
+ experimental_apply_changes_via_bot: 1
+ checkout: true
+ ssh_key: "${{ secrets.CHECK_SPELLING }}"