From 313d2f5a40542bf53b1e7f0dd3f84ea1f565faae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20P=C3=B6tzl?= Date: Sun, 25 Oct 2026 19:02:32 +0100 Subject: [PATCH 1/3] Add generated AGENTS.md and Claude rules from AgentsConfig --- .claude/rules/1-04-vba-style.md | 43 +++++ .claude/rules/1-05-vba-architecture.md | 24 +++ AGENTS.md | 231 +++++++++++++++++++++++++ AGENTS.parts.txt | 8 + AGENTS.project.md | 10 ++ CLAUDE.md | 176 +++++++++++++++++++ 6 files changed, 492 insertions(+) create mode 100644 .claude/rules/1-04-vba-style.md create mode 100644 .claude/rules/1-05-vba-architecture.md create mode 100644 AGENTS.md create mode 100644 AGENTS.parts.txt create mode 100644 AGENTS.project.md create mode 100644 CLAUDE.md diff --git a/.claude/rules/1-04-vba-style.md b/.claude/rules/1-04-vba-style.md new file mode 100644 index 0000000..afcd991 --- /dev/null +++ b/.claude/rules/1-04-vba-style.md @@ -0,0 +1,43 @@ +--- +paths: + - "**/*.{bas,cls,frm,form,rep,report}" +--- + + + +## VBA coding style +Applies to standard modules (`.bas`), class modules and code-behind (`.cls`), and form/report files +(`.form`/`.report` from the msaccess-vcs-addin, `.frm`/`.rep` from the ACLib Import Wizard). + +### Naming +- Access objects with a one-letter type prefix: tables `t...` (`tCustomers`), forms `f...` (`fCustomer`). +- Controls with a type prefix (`txt`, `lbl`, `chk`, `cmd`, ...), e.g. `txtCustomerNo`, `cmdSave`. +- VBA variables, constants, procedures and classes with meaningful names **without** type prefix (`ErrNumber`, `SaveRecord`, `CustomerRepository`). +- Standard modules (`.bas`) with the prefix `mod` (`modDaoTools`, `modProjectRules`). Class modules get no prefix. + Exceptions without prefix only where a module is used like a namespace (`AppConfig.Value`) or a special case such as `_config` applies; decide per project in the context of its use and record it in the project facts. + Often a better solution is a self-instancing class (`VB_PredeclaredId = True`, used as `AppConfig.Value`): it needs no prefix and its procedures cannot be called without the class name. + Use its default instance only for stateless helpers, factories or read-only configuration; logic classes do not reach for it but receive the values they need (no hidden global state, see the architecture rules). + Keep the existing names of imported third-party code (e.g. ACLib modules). +- Procedures: verb + object (`LoadCustomer`, `CalculateTotal`); functions that return a Boolean read as a question (`IsValid`, `HasItems`). +- Interfaces start with `I` (`ICustomerRepository`); implementing classes are named after what they do (`CustomerRepository`, `CustomerRepositoryFake`). +- Test classes are named `Tests` (see AccUnit rules). +- Constants in `PascalCase` (no all-caps, no `c`/`k` prefix); enum names singular, members prefixed with the enum name where this avoids clashes. + +### Layout +- Indent with 4 spaces (no tabs); keep the indentation style of an existing file. +- One statement per line; avoid line continuations unless they clearly help readability; lines at most ~100 characters. +- Declare variables close to their first use, one per line, always with an explicit type. No `Variant` unless required. +- Use `ByVal` for parameters unless the procedure has to change the caller's value; declare scope (`Public`/`Friend`/`Private`) explicitly. +- Module order: `Option` lines, constants and enums, private members, events, public properties, public procedures, private procedures. +- Standard modules that must not be accessed from outside the project get `Option Private Module` (after `Option Explicit`). + Use it for internal helpers, so that their `Public` procedures stay out of other VBA projects, the macro list and `Application.Run` calls from outside. + Do not set it on modules whose procedures are called from queries, form/report properties or macros: such calls may stop working, so check the callers first. + Class modules have no `Option Private Module` effect; limit what they expose with `Friend` and `Private` members. +- Place objects in the `@Folder` structure used by the project (see `vcs-agent-docs`); do not invent a new structure. + +### Comments +- Comments explain why, not what. No commented-out code. +- A public procedure whose name and parameters do not explain it fully gets a short comment line above it. + +### Files +- Keep the encoding and line endings of existing files (usually ANSI/Windows-1252 or UTF-8 with BOM, CRLF); take care with umlauts. diff --git a/.claude/rules/1-05-vba-architecture.md b/.claude/rules/1-05-vba-architecture.md new file mode 100644 index 0000000..a63eed3 --- /dev/null +++ b/.claude/rules/1-05-vba-architecture.md @@ -0,0 +1,24 @@ +--- +paths: + - "**/*.{bas,cls,frm,form,rep,report}" +--- + + + +## VBA architecture (SRP, layers, testability) +- **Single responsibility is the main rule.** + - A procedure does one thing; split long procedures into named steps, a reader should grasp it without scrolling. + - A class or module has one reason to change. When a class needs "and" to describe it, split it. + - Treat length as a warning signal, not as a hard limit: a procedure over ~30 lines or a class over ~300 lines is a reason to check for several responsibilities. +- **Layers** (dependencies point downwards only): + 1. UI: forms and reports. Event procedures contain no logic; they call well-named procedures that only read inputs, delegate and show results. + 2. Logic: classes and standard modules with the rules of the application. No reference to forms (`Forms!...`, `Me`), no `MsgBox`, no direct database access (`CurrentDb`, `DoCmd`). + 3. Data access: own classes or modules (repository style) that read and write data, built on DAO/ADODB or the ACLib data modules. +- Apply the layers to new code with real application logic; forms that only show and edit data need no extra layers (YAGNI). +- **Testable by design:** logic receives what it needs through parameters or properties (dependency injection), not by reaching for globals or the database. + Describe collaborators with an interface (`Implements`) when a fake is useful in tests. Logic classes keep no hidden global state. +- If the project uses AccUnit, new logic comes with tests (see the AccUnit rules). +- Put logic into classes or modules, not into form modules; a form module only wires the UI to the logic. +- Return results and raise errors; the UI layer decides how to show them. +- **Reuse before writing new code:** check the AccessCodeLib modules first, then existing project modules; write new code only if neither fits. +- Do not restructure existing code unasked. In code you touch for another reason, apply these rules to the new and changed parts; report further findings instead of fixing them. diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..4a87823 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,231 @@ + + +# AGENTS.md + +Instructions for AI coding agents (Claude Code, GitHub Copilot). Project-specific rules take precedence over general ones. + +## Language +- Reply in the language the user writes in. If unclear, use the Windows display language (`Get-UICulture`). +- Code, identifiers, code comments, commit messages and branch names are always in English. + +## Way of working +- Before changing files, propose a short plan and wait for confirmation. Exceptions: read-only access, analysis, and temporary files outside the project. +- Ask when requirements are unclear instead of making assumptions. With several possible solutions, give a recommendation with reasons. +- Keep changes small and traceable. No unrequested refactoring of existing code. Report findings outside the task, do not fix them. +- Follow the existing style and conventions of the project. +- Never delete, overwrite, commit or push without explicit approval. An approval applies only to that action, not to later ones. +- After changes, summarize briefly: what changed, what was tested, what is open. + +## Git +- Commit messages in imperative mood, subject line max. ~72 characters. +- No force push, no rewriting of already pushed history. +- No attribution to AI tools: no `Co-Authored-By: ...` trailer in commit messages, no "Generated with ..." line in pull request descriptions. + +## Files and environment +- Keep the encoding and line endings (CRLF) of existing files. +- In PowerShell 5.1 always specify the encoding explicitly when writing files. +- Windows 11. Take the regional settings (decimal separator, date format) into account when parsing and formatting. For persistence and data exchange use locale-independent formats. + +## Clean code (all languages) +Principles of Clean Code / Clean Code Developers, as rules for everyday work: + +### Structure +- **Single responsibility (SRP):** each procedure/method does exactly one thing, each class/module has one reason to change. Split long procedures into named steps. +- **Separation of concerns:** keep logic, UI and data access apart. Event handlers contain no logic; they only call well-named procedures. +- **Keep code testable:** logic does not depend on UI or on concrete data access; dependencies are passed in. + +### Simplicity +- **KISS:** choose the simplest solution that works and can be read at once. +- **YAGNI:** build only what is needed now; no speculative options, parameters or layers. +- **DRY:** no duplicated logic - extract shared code instead of copying it. Do not abstract before the duplication is real. +- **Principle of least astonishment:** names, behavior and side effects match what a reader expects. + +### Readability +- Meaningful, intention-revealing names; no abbreviations that need explanation (established prefixes of the project's style guide are allowed). +- No magic numbers or strings: use named constants or enums. +- Comments explain why, not what. Remove commented-out and dead code in the parts you change; report it elsewhere. +- Tell, don't ask; avoid long call chains (law of Demeter). + +### Safety net and discipline +- **Errors:** never swallow errors silently. Handle an error where it can be handled, otherwise pass it on. +- **Tests:** logic is covered by automated tests; refactor only with tests as safety net. +- **Boy scout rule within the task:** leave code you touch a little cleaner. Findings outside the task are reported, not fixed (no unrequested rewrites). +- Work in small, understandable steps. + +## Secure coding (all languages) +- Treat every input as untrusted (user input, form fields, files, command-line arguments, database content, results of other systems). Validate type, length, range and format; prefer allow-lists over block-lists. +- Prevent injection: never concatenate unchecked values or identifiers into SQL, filter or expression strings, shell commands or file paths. + Use parameter queries; where dynamic SQL is unavoidable, use the safe building blocks of the platform or project. +- No secrets in code, repository, logs or test data (passwords, tokens, connection strings with credentials). Keep them in `.env.local` or the secret store of the environment; keep such files out of version control. +- Error messages shown to users contain no internal details (SQL text, paths, stack information). Details go to the log. +- Least privilege: request only the permissions and access that are needed; do not widen them to make a problem disappear. +- Handle files and paths defensively: build paths from validated parts, check that the target is where you expect it, never delete or overwrite based on unchecked input. +- Do not invent your own cryptography, hashing or authentication; use proven platform or library functions. +- Use third-party and library code only from known sources; report outdated versions instead of updating them unasked. +- Do not execute strings as code (`Eval`, `Application.Run` with user input, `Shell`, `Invoke-Expression` and similar) unless the content is fully under your control. + +## Microsoft Access / VBA +- `Option Compare Text` and `Option Explicit` in every module, test classes included. `Option Compare Text` is set explicitly so that a changed database collation can never switch string comparison or sorting to binary or another order. Declare all variables with explicit types. +- 64-bit: API declarations with `PtrSafe`, handles/pointers as `LongPtr`. +- Naming, layout and comments: see the VBA coding style. Structure (SRP, layers, event procedures without logic): see the VBA architecture rules. + Event procedures (`Form_Load`, `cmd..._Click`, `WithEvents` handlers) only call well-named procedures (e.g. `Form_Load` -> `InitItemsForm`, `InitFilterManager`). +- Security basics (input validation, no injection, no secrets): see the secure coding rules. In Access in particular, do not pass unchecked values to `DoCmd.RunSQL`, `Eval`, `Application.Run`, `Shell` or pass-through queries. + +### Forms +- Use `Me.` for methods and properties of the form, controls included (`Me.Requery`, `Me.Dirty`, `Me.txtCustomerNo`). +- Use `Me!` only for fields of the record source (`Access.AccessField`): `Me!`, e.g. `Me!CustomerID`. + The `Me.` property is generated when the record source is set, but it can get lost on a reimport with the msaccess-vcs-addin or after other changes, which breaks compilation. + `Me!` resolves the field at runtime (late binding). + +### Error handling +Follow the project's own rule if there is one (e.g. a global handler such as vbWatchdog). Otherwise: +- No blanket error handling that shows the error in a `MsgBox` and then continues. +- Add local error handling only where cleanup is needed on failure (open recordsets, transactions, object references): + save `Err.Number`, `Err.Source`, `Err.Description`, clean up, roll back transactions, then re-raise with `Err.Raise` using the saved values. + No `MsgBox`, do not swallow the error. +- Handle expected errors specifically and locally (e.g. error 2101 when saving is cancelled, checked against a named constant); pass all others on. + +### Data access +- Use DAO or ADODB. Close recordsets and objects and set them to `Nothing`. +- Prefer parameter queries / `QueryDef` parameters over concatenated SQL. +- Use dynamic SQL only when necessary and always protect it against SQL injection (never concatenate unchecked values or identifiers into SQL). +- Dates and numbers in SQL strings must be locale independent: `#yyyy-mm-dd#`, decimal point. +- Data in linked SQL Server tables/views may be read only in approved databases (see the SQL Server rules); local configuration tables are not affected. + +### Working with the database file +- `.accdb`/`.mdb` are binary: work only with exported text files. +- Exported VBA files are usually ANSI (Windows-1252) or UTF-8 with BOM: keep the encoding (umlauts!). +- Never work with more than one Access instance on the same `.accdb`/`.mdb` at the same time (MCP server, automation, or the user's own Access window). + Before switching, release the current instance and verify that no `MSACCESS.EXE` still holds the file open (`.laccdb`); ask the user to close Access if necessary. + Exception: if the user has opened the file in Access, you may use exactly that running instance, but only after asking and with explicit approval (valid for the current session). + Never open a further instance on that file (no tool that starts Access itself); if a tool cannot attach to the existing instance, do not use it. Never close the user's instance. + +## Access project layout and workflow (msaccess-vcs-addin) +MS Access project (Microsoft 365, 64-bit). Check the project for whether front end and tables are in one file or split. + +- `.accdb`: binary, never edit directly, do not version. +- `.accdb.src/`: source export by the msaccess-vcs-addin. Work here. + - `modules/` (`.bas`, `.cls`), `forms/`, `reports/`, `queries/` (`.sql` + metadata), `tbldefs/`. + - The actual folder structure of the export takes precedence over this overview. +- `.accdb.src/AGENTS.md` and `vcs-agent-docs/` are **generated by the add-in and overwritten on every export**: read them (encoding, line endings, `@Folder` placement, file types), but never edit them. + +### Workflow +1. Before editing: run **Export Source Files** in Access via the add-in so the source is current. If unsure, ask whether it was exported. +2. Edit only the files in the source folder where possible; otherwise use the MCP server `access`. +3. Back into the database: add-in **Build From Source** (or merge build). +4. Then compile in Access (Debug -> Compile) and test. +- Automate Access only through the MCP servers below, not with your own COM scripts. +- Before driving Access through the MCP servers, scripts or UI Automation, read `C:\dev\AgentsConfig\docs\access-automation.md` + (experience and recipes; the rules here take precedence). Add new insights to it as they come up. + +### MCP server msaccess-vcs-mcp +- Registered as MCP server in the project's `.mcp.json` or in the user scope; target database via `ACCESS_VCS_DATABASE` in `.env` (personal overrides in `.env.local`). +- Read-only tools (`vcs_export_database`, `vcs_export_object`, `vcs_list_objects`, `vcs_diff_database`, `vcs_execute_sql`, `vcs_check_vba_compiled`, `vcs_get_log`) may be used without asking. +- Writing tools (`vcs_import_object(s)`, `vcs_rebuild_database`, `vcs_compile_vba`, `vcs_set_option`) only after approval. +- Typical flow: export -> edit source files -> `vcs_import_object` -> `vcs_compile_vba` -> check `vcs_get_log` -> `vcs_export_object`. +- An approval for an import covers the compile, log check and export that follow in this flow; anything beyond it needs a new approval. +- If compilation fails, make no further changes: ask the user to run Debug -> Compile in the VBE and to report the affected line. +- Change add-in metadata/JSON files only when necessary and with a note. +- `McpAllowRunVBA` stays off; `vcs_call_vba` and `vcs_run_vba` are not used. + +### MCP server access (MCP-Access) +- Registered as MCP server in the project's `.mcp.json` or in the user scope; source: https://github.com/unmateria/MCP-Access, locally at `C:\dev\tools\MCP-Access`. +- For creating and designing objects (forms, reports, controls), e.g. `access_build_form`, `access_set_multiple_controls`. + Do not write VBA code with it (`access_set_code`, `access_vbe_*`); code is edited in the `.cls`/`.bas` files (see division of work). +- Code execution (`MCP_ACCESS_ALLOW_CODE_EXEC`) stays disabled. + +### MCP server aclib-import +- Imports and updates ACLib modules (see the ACLib rules, skill `/aclib-import`). +- It attaches to a running Access instance on the database, otherwise it starts its own hidden instance and closes it after the call. + The single-instance rule applies: release the other servers first. +- After an import, export the imported modules with `vcs_export_object` before editing them in the source folder. + +### Division of work +- Before every switch between the servers (`access`, `msaccess-vcs-mcp`, `aclib-import`) run `access_close` or `vcs_end_session` (single-instance rule). +- Layout: structural changes (new forms, adding/removing controls) with the server `access`; then immediately `access_close` and `vcs_export_object`. + Small property changes (caption, position, format) may be made directly in the `.form`/`.report` file; mention them in the summary. +- Code: edit only in the `.cls`/`.bas` files, then `vcs_import_object` -> `vcs_compile_vba` -> check log -> `vcs_export_object`. +- Never import code while a layout change in the database has not yet been exported (the import would overwrite the layout). +- Version the source folder; put `*.accdb`, `*.laccdb` and backups into `.gitignore`. Commit after each completed step, only with approval. + +## AccessCodeLib (ACLib) +- ACLib provides reusable, unit-tested and widely used code modules for many areas (dynamic SQL, filters, string handling, ...). + Prefer an ACLib module over newly generated code: it is verified and proven in use. + Before writing your own helper code, check whether a module already provides the functionality. +- Find modules in the ACLib module catalog (`_codelib/catalog/catalog.md`, in the local ACLib repository or at + https://github.com/AccessCodeLib/AccessCodeLib). Never guess module names or paths; if no catalog is available, ask the user. +- For dynamic SQL, use the ACLib data modules (e.g. SqlTools, FilterStringBuilder) to protect it against SQL injection + instead of building SQL strings by hand. +- Import and update ACLib modules with the skill `/aclib-import` (aclib-import MCP server): show the plan first, + import only after approval, then compile. Do not copy module code manually. + Without the skill or the MCP server, ask the user to import the module with the ACLib Import Wizard. +- ACLib modules may be edited in the project when needed. Keep such changes small and tell the user about them: they have to be + sent back to the CodeLib (export with the ACLib Import Wizard into the CodeLib), otherwise they stay local and a later + import with `overwrite` replaces them. Do not export into the CodeLib yourself. +- Do not import test or example modules unless the user asks (tests need the AccUnit environment). + +## VBA coding style +Applies to standard modules (`.bas`), class modules and code-behind (`.cls`), and form/report files +(`.form`/`.report` from the msaccess-vcs-addin, `.frm`/`.rep` from the ACLib Import Wizard). + +### Naming +- Access objects with a one-letter type prefix: tables `t...` (`tCustomers`), forms `f...` (`fCustomer`). +- Controls with a type prefix (`txt`, `lbl`, `chk`, `cmd`, ...), e.g. `txtCustomerNo`, `cmdSave`. +- VBA variables, constants, procedures and classes with meaningful names **without** type prefix (`ErrNumber`, `SaveRecord`, `CustomerRepository`). +- Standard modules (`.bas`) with the prefix `mod` (`modDaoTools`, `modProjectRules`). Class modules get no prefix. + Exceptions without prefix only where a module is used like a namespace (`AppConfig.Value`) or a special case such as `_config` applies; decide per project in the context of its use and record it in the project facts. + Often a better solution is a self-instancing class (`VB_PredeclaredId = True`, used as `AppConfig.Value`): it needs no prefix and its procedures cannot be called without the class name. + Use its default instance only for stateless helpers, factories or read-only configuration; logic classes do not reach for it but receive the values they need (no hidden global state, see the architecture rules). + Keep the existing names of imported third-party code (e.g. ACLib modules). +- Procedures: verb + object (`LoadCustomer`, `CalculateTotal`); functions that return a Boolean read as a question (`IsValid`, `HasItems`). +- Interfaces start with `I` (`ICustomerRepository`); implementing classes are named after what they do (`CustomerRepository`, `CustomerRepositoryFake`). +- Test classes are named `Tests` (see AccUnit rules). +- Constants in `PascalCase` (no all-caps, no `c`/`k` prefix); enum names singular, members prefixed with the enum name where this avoids clashes. + +### Layout +- Indent with 4 spaces (no tabs); keep the indentation style of an existing file. +- One statement per line; avoid line continuations unless they clearly help readability; lines at most ~100 characters. +- Declare variables close to their first use, one per line, always with an explicit type. No `Variant` unless required. +- Use `ByVal` for parameters unless the procedure has to change the caller's value; declare scope (`Public`/`Friend`/`Private`) explicitly. +- Module order: `Option` lines, constants and enums, private members, events, public properties, public procedures, private procedures. +- Standard modules that must not be accessed from outside the project get `Option Private Module` (after `Option Explicit`). + Use it for internal helpers, so that their `Public` procedures stay out of other VBA projects, the macro list and `Application.Run` calls from outside. + Do not set it on modules whose procedures are called from queries, form/report properties or macros: such calls may stop working, so check the callers first. + Class modules have no `Option Private Module` effect; limit what they expose with `Friend` and `Private` members. +- Place objects in the `@Folder` structure used by the project (see `vcs-agent-docs`); do not invent a new structure. + +### Comments +- Comments explain why, not what. No commented-out code. +- A public procedure whose name and parameters do not explain it fully gets a short comment line above it. + +### Files +- Keep the encoding and line endings of existing files (usually ANSI/Windows-1252 or UTF-8 with BOM, CRLF); take care with umlauts. + +## VBA architecture (SRP, layers, testability) +- **Single responsibility is the main rule.** + - A procedure does one thing; split long procedures into named steps, a reader should grasp it without scrolling. + - A class or module has one reason to change. When a class needs "and" to describe it, split it. + - Treat length as a warning signal, not as a hard limit: a procedure over ~30 lines or a class over ~300 lines is a reason to check for several responsibilities. +- **Layers** (dependencies point downwards only): + 1. UI: forms and reports. Event procedures contain no logic; they call well-named procedures that only read inputs, delegate and show results. + 2. Logic: classes and standard modules with the rules of the application. No reference to forms (`Forms!...`, `Me`), no `MsgBox`, no direct database access (`CurrentDb`, `DoCmd`). + 3. Data access: own classes or modules (repository style) that read and write data, built on DAO/ADODB or the ACLib data modules. +- Apply the layers to new code with real application logic; forms that only show and edit data need no extra layers (YAGNI). +- **Testable by design:** logic receives what it needs through parameters or properties (dependency injection), not by reaching for globals or the database. + Describe collaborators with an interface (`Implements`) when a fake is useful in tests. Logic classes keep no hidden global state. +- If the project uses AccUnit, new logic comes with tests (see the AccUnit rules). +- Put logic into classes or modules, not into form modules; a form module only wires the UI to the logic. +- Return results and raise errors; the UI layer decides how to show them. +- **Reuse before writing new code:** check the AccessCodeLib modules first, then existing project modules; write new code only if neither fits. +- Do not restructure existing code unasked. In code you touch for another reason, apply these rules to the new and changed parts; report further findings instead of fixing them. + +## Project specifics +- Access add-in "DBMS Connection Wizard": configures a DBMS connection and imports the + ACLib DbConnection framework into the target database. +- `source\` (msaccess-vcs-addin export) is the single source of truth; binary files + (`.accdb`, `.accda`) are not edited as source and are not committed. +- The add-in file is built from `source\` with msaccess-vcs-build + (GitHub action or local `Build.ps1`); do not run a build without approval. +- `doc\` holds the interface documentation generated with Natural Docs (`doc\GenerateDoc.cmd`); + do not edit generated output by hand. +- `.accdb`/`.accda` files in the root (e.g. `Test.accdb`, `TestAddIn.accda`) are local test or build files. diff --git a/AGENTS.parts.txt b/AGENTS.parts.txt new file mode 100644 index 0000000..c3534c3 --- /dev/null +++ b/AGENTS.parts.txt @@ -0,0 +1,8 @@ +0-01-base.md +0-02-clean-code.md +0-03-secure-coding.md +1-01-access-vba.md +1-02-access-vcs.md +1-03-access-aclib.md +1-04-vba-style.md +1-05-vba-architecture.md diff --git a/AGENTS.project.md b/AGENTS.project.md new file mode 100644 index 0000000..54c3fe5 --- /dev/null +++ b/AGENTS.project.md @@ -0,0 +1,10 @@ +## Project specifics +- Access add-in "DBMS Connection Wizard": configures a DBMS connection and imports the + ACLib DbConnection framework into the target database. +- `source\` (msaccess-vcs-addin export) is the single source of truth; binary files + (`.accdb`, `.accda`) are not edited as source and are not committed. +- The add-in file is built from `source\` with msaccess-vcs-build + (GitHub action or local `Build.ps1`); do not run a build without approval. +- `doc\` holds the interface documentation generated with Natural Docs (`doc\GenerateDoc.cmd`); + do not edit generated output by hand. +- `.accdb`/`.accda` files in the root (e.g. `Test.accdb`, `TestAddIn.accda`) are local test or build files. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..f2c54ce --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,176 @@ + + +# AGENTS.md + +Instructions for AI coding agents (Claude Code, GitHub Copilot). Project-specific rules take precedence over general ones. + +## Language +- Reply in the language the user writes in. If unclear, use the Windows display language (`Get-UICulture`). +- Code, identifiers, code comments, commit messages and branch names are always in English. + +## Way of working +- Before changing files, propose a short plan and wait for confirmation. Exceptions: read-only access, analysis, and temporary files outside the project. +- Ask when requirements are unclear instead of making assumptions. With several possible solutions, give a recommendation with reasons. +- Keep changes small and traceable. No unrequested refactoring of existing code. Report findings outside the task, do not fix them. +- Follow the existing style and conventions of the project. +- Never delete, overwrite, commit or push without explicit approval. An approval applies only to that action, not to later ones. +- After changes, summarize briefly: what changed, what was tested, what is open. + +## Git +- Commit messages in imperative mood, subject line max. ~72 characters. +- No force push, no rewriting of already pushed history. +- No attribution to AI tools: no `Co-Authored-By: ...` trailer in commit messages, no "Generated with ..." line in pull request descriptions. + +## Files and environment +- Keep the encoding and line endings (CRLF) of existing files. +- In PowerShell 5.1 always specify the encoding explicitly when writing files. +- Windows 11. Take the regional settings (decimal separator, date format) into account when parsing and formatting. For persistence and data exchange use locale-independent formats. + +## Clean code (all languages) +Principles of Clean Code / Clean Code Developers, as rules for everyday work: + +### Structure +- **Single responsibility (SRP):** each procedure/method does exactly one thing, each class/module has one reason to change. Split long procedures into named steps. +- **Separation of concerns:** keep logic, UI and data access apart. Event handlers contain no logic; they only call well-named procedures. +- **Keep code testable:** logic does not depend on UI or on concrete data access; dependencies are passed in. + +### Simplicity +- **KISS:** choose the simplest solution that works and can be read at once. +- **YAGNI:** build only what is needed now; no speculative options, parameters or layers. +- **DRY:** no duplicated logic - extract shared code instead of copying it. Do not abstract before the duplication is real. +- **Principle of least astonishment:** names, behavior and side effects match what a reader expects. + +### Readability +- Meaningful, intention-revealing names; no abbreviations that need explanation (established prefixes of the project's style guide are allowed). +- No magic numbers or strings: use named constants or enums. +- Comments explain why, not what. Remove commented-out and dead code in the parts you change; report it elsewhere. +- Tell, don't ask; avoid long call chains (law of Demeter). + +### Safety net and discipline +- **Errors:** never swallow errors silently. Handle an error where it can be handled, otherwise pass it on. +- **Tests:** logic is covered by automated tests; refactor only with tests as safety net. +- **Boy scout rule within the task:** leave code you touch a little cleaner. Findings outside the task are reported, not fixed (no unrequested rewrites). +- Work in small, understandable steps. + +## Secure coding (all languages) +- Treat every input as untrusted (user input, form fields, files, command-line arguments, database content, results of other systems). Validate type, length, range and format; prefer allow-lists over block-lists. +- Prevent injection: never concatenate unchecked values or identifiers into SQL, filter or expression strings, shell commands or file paths. + Use parameter queries; where dynamic SQL is unavoidable, use the safe building blocks of the platform or project. +- No secrets in code, repository, logs or test data (passwords, tokens, connection strings with credentials). Keep them in `.env.local` or the secret store of the environment; keep such files out of version control. +- Error messages shown to users contain no internal details (SQL text, paths, stack information). Details go to the log. +- Least privilege: request only the permissions and access that are needed; do not widen them to make a problem disappear. +- Handle files and paths defensively: build paths from validated parts, check that the target is where you expect it, never delete or overwrite based on unchecked input. +- Do not invent your own cryptography, hashing or authentication; use proven platform or library functions. +- Use third-party and library code only from known sources; report outdated versions instead of updating them unasked. +- Do not execute strings as code (`Eval`, `Application.Run` with user input, `Shell`, `Invoke-Expression` and similar) unless the content is fully under your control. + +## Microsoft Access / VBA +- `Option Compare Text` and `Option Explicit` in every module, test classes included. `Option Compare Text` is set explicitly so that a changed database collation can never switch string comparison or sorting to binary or another order. Declare all variables with explicit types. +- 64-bit: API declarations with `PtrSafe`, handles/pointers as `LongPtr`. +- Naming, layout and comments: see the VBA coding style. Structure (SRP, layers, event procedures without logic): see the VBA architecture rules. + Event procedures (`Form_Load`, `cmd..._Click`, `WithEvents` handlers) only call well-named procedures (e.g. `Form_Load` -> `InitItemsForm`, `InitFilterManager`). +- Security basics (input validation, no injection, no secrets): see the secure coding rules. In Access in particular, do not pass unchecked values to `DoCmd.RunSQL`, `Eval`, `Application.Run`, `Shell` or pass-through queries. + +### Forms +- Use `Me.` for methods and properties of the form, controls included (`Me.Requery`, `Me.Dirty`, `Me.txtCustomerNo`). +- Use `Me!` only for fields of the record source (`Access.AccessField`): `Me!`, e.g. `Me!CustomerID`. + The `Me.` property is generated when the record source is set, but it can get lost on a reimport with the msaccess-vcs-addin or after other changes, which breaks compilation. + `Me!` resolves the field at runtime (late binding). + +### Error handling +Follow the project's own rule if there is one (e.g. a global handler such as vbWatchdog). Otherwise: +- No blanket error handling that shows the error in a `MsgBox` and then continues. +- Add local error handling only where cleanup is needed on failure (open recordsets, transactions, object references): + save `Err.Number`, `Err.Source`, `Err.Description`, clean up, roll back transactions, then re-raise with `Err.Raise` using the saved values. + No `MsgBox`, do not swallow the error. +- Handle expected errors specifically and locally (e.g. error 2101 when saving is cancelled, checked against a named constant); pass all others on. + +### Data access +- Use DAO or ADODB. Close recordsets and objects and set them to `Nothing`. +- Prefer parameter queries / `QueryDef` parameters over concatenated SQL. +- Use dynamic SQL only when necessary and always protect it against SQL injection (never concatenate unchecked values or identifiers into SQL). +- Dates and numbers in SQL strings must be locale independent: `#yyyy-mm-dd#`, decimal point. +- Data in linked SQL Server tables/views may be read only in approved databases (see the SQL Server rules); local configuration tables are not affected. + +### Working with the database file +- `.accdb`/`.mdb` are binary: work only with exported text files. +- Exported VBA files are usually ANSI (Windows-1252) or UTF-8 with BOM: keep the encoding (umlauts!). +- Never work with more than one Access instance on the same `.accdb`/`.mdb` at the same time (MCP server, automation, or the user's own Access window). + Before switching, release the current instance and verify that no `MSACCESS.EXE` still holds the file open (`.laccdb`); ask the user to close Access if necessary. + Exception: if the user has opened the file in Access, you may use exactly that running instance, but only after asking and with explicit approval (valid for the current session). + Never open a further instance on that file (no tool that starts Access itself); if a tool cannot attach to the existing instance, do not use it. Never close the user's instance. + +## Access project layout and workflow (msaccess-vcs-addin) +MS Access project (Microsoft 365, 64-bit). Check the project for whether front end and tables are in one file or split. + +- `.accdb`: binary, never edit directly, do not version. +- `.accdb.src/`: source export by the msaccess-vcs-addin. Work here. + - `modules/` (`.bas`, `.cls`), `forms/`, `reports/`, `queries/` (`.sql` + metadata), `tbldefs/`. + - The actual folder structure of the export takes precedence over this overview. +- `.accdb.src/AGENTS.md` and `vcs-agent-docs/` are **generated by the add-in and overwritten on every export**: read them (encoding, line endings, `@Folder` placement, file types), but never edit them. + +### Workflow +1. Before editing: run **Export Source Files** in Access via the add-in so the source is current. If unsure, ask whether it was exported. +2. Edit only the files in the source folder where possible; otherwise use the MCP server `access`. +3. Back into the database: add-in **Build From Source** (or merge build). +4. Then compile in Access (Debug -> Compile) and test. +- Automate Access only through the MCP servers below, not with your own COM scripts. +- Before driving Access through the MCP servers, scripts or UI Automation, read `C:\dev\AgentsConfig\docs\access-automation.md` + (experience and recipes; the rules here take precedence). Add new insights to it as they come up. + +### MCP server msaccess-vcs-mcp +- Registered as MCP server in the project's `.mcp.json` or in the user scope; target database via `ACCESS_VCS_DATABASE` in `.env` (personal overrides in `.env.local`). +- Read-only tools (`vcs_export_database`, `vcs_export_object`, `vcs_list_objects`, `vcs_diff_database`, `vcs_execute_sql`, `vcs_check_vba_compiled`, `vcs_get_log`) may be used without asking. +- Writing tools (`vcs_import_object(s)`, `vcs_rebuild_database`, `vcs_compile_vba`, `vcs_set_option`) only after approval. +- Typical flow: export -> edit source files -> `vcs_import_object` -> `vcs_compile_vba` -> check `vcs_get_log` -> `vcs_export_object`. +- An approval for an import covers the compile, log check and export that follow in this flow; anything beyond it needs a new approval. +- If compilation fails, make no further changes: ask the user to run Debug -> Compile in the VBE and to report the affected line. +- Change add-in metadata/JSON files only when necessary and with a note. +- `McpAllowRunVBA` stays off; `vcs_call_vba` and `vcs_run_vba` are not used. + +### MCP server access (MCP-Access) +- Registered as MCP server in the project's `.mcp.json` or in the user scope; source: https://github.com/unmateria/MCP-Access, locally at `C:\dev\tools\MCP-Access`. +- For creating and designing objects (forms, reports, controls), e.g. `access_build_form`, `access_set_multiple_controls`. + Do not write VBA code with it (`access_set_code`, `access_vbe_*`); code is edited in the `.cls`/`.bas` files (see division of work). +- Code execution (`MCP_ACCESS_ALLOW_CODE_EXEC`) stays disabled. + +### MCP server aclib-import +- Imports and updates ACLib modules (see the ACLib rules, skill `/aclib-import`). +- It attaches to a running Access instance on the database, otherwise it starts its own hidden instance and closes it after the call. + The single-instance rule applies: release the other servers first. +- After an import, export the imported modules with `vcs_export_object` before editing them in the source folder. + +### Division of work +- Before every switch between the servers (`access`, `msaccess-vcs-mcp`, `aclib-import`) run `access_close` or `vcs_end_session` (single-instance rule). +- Layout: structural changes (new forms, adding/removing controls) with the server `access`; then immediately `access_close` and `vcs_export_object`. + Small property changes (caption, position, format) may be made directly in the `.form`/`.report` file; mention them in the summary. +- Code: edit only in the `.cls`/`.bas` files, then `vcs_import_object` -> `vcs_compile_vba` -> check log -> `vcs_export_object`. +- Never import code while a layout change in the database has not yet been exported (the import would overwrite the layout). +- Version the source folder; put `*.accdb`, `*.laccdb` and backups into `.gitignore`. Commit after each completed step, only with approval. + +## AccessCodeLib (ACLib) +- ACLib provides reusable, unit-tested and widely used code modules for many areas (dynamic SQL, filters, string handling, ...). + Prefer an ACLib module over newly generated code: it is verified and proven in use. + Before writing your own helper code, check whether a module already provides the functionality. +- Find modules in the ACLib module catalog (`_codelib/catalog/catalog.md`, in the local ACLib repository or at + https://github.com/AccessCodeLib/AccessCodeLib). Never guess module names or paths; if no catalog is available, ask the user. +- For dynamic SQL, use the ACLib data modules (e.g. SqlTools, FilterStringBuilder) to protect it against SQL injection + instead of building SQL strings by hand. +- Import and update ACLib modules with the skill `/aclib-import` (aclib-import MCP server): show the plan first, + import only after approval, then compile. Do not copy module code manually. + Without the skill or the MCP server, ask the user to import the module with the ACLib Import Wizard. +- ACLib modules may be edited in the project when needed. Keep such changes small and tell the user about them: they have to be + sent back to the CodeLib (export with the ACLib Import Wizard into the CodeLib), otherwise they stay local and a later + import with `overwrite` replaces them. Do not export into the CodeLib yourself. +- Do not import test or example modules unless the user asks (tests need the AccUnit environment). + +## Project specifics +- Access add-in "DBMS Connection Wizard": configures a DBMS connection and imports the + ACLib DbConnection framework into the target database. +- `source\` (msaccess-vcs-addin export) is the single source of truth; binary files + (`.accdb`, `.accda`) are not edited as source and are not committed. +- The add-in file is built from `source\` with msaccess-vcs-build + (GitHub action or local `Build.ps1`); do not run a build without approval. +- `doc\` holds the interface documentation generated with Natural Docs (`doc\GenerateDoc.cmd`); + do not edit generated output by hand. +- `.accdb`/`.accda` files in the root (e.g. `Test.accdb`, `TestAddIn.accda`) are local test or build files. From 75917be66b58592f28efbda95a7e381820f2ca48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20P=C3=B6tzl?= Date: Sun, 25 Oct 2026 19:03:39 +0100 Subject: [PATCH 2/3] del binary --- access-add-in/DbmsConnectionWizard.accda | Bin 2727936 -> 0 bytes access-add-in/Install.vbs | 136 ----------------------- 2 files changed, 136 deletions(-) delete mode 100644 access-add-in/DbmsConnectionWizard.accda delete mode 100644 access-add-in/Install.vbs diff --git a/access-add-in/DbmsConnectionWizard.accda b/access-add-in/DbmsConnectionWizard.accda deleted file mode 100644 index f37fed427c4ed2681747214678acf745bffe09e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2727936 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±L)(0Z?i4MoopJAJK^z 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

MxWdYd+9P4z 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⋒K1?@g59enZds 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%0AI1>4ki%G{4kV*GBnuO!6z+&$cMPUd=B#w59=m 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

O43xI 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

SF09ozKy664_#V1eX}NFZsMZ+~7d)BJ>~Rs8B9k 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

    +>YIumcWM=?VxhG8fIkgi**SqDF!i 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 diff --git a/access-add-in/Install.vbs b/access-add-in/Install.vbs deleted file mode 100644 index a88b041..0000000 --- a/access-add-in/Install.vbs +++ /dev/null @@ -1,136 +0,0 @@ -const AddInName = "DBMS Connection Wizard" -const AddInFileName = "DbmsConnectionWizard.accda" -const MsgBoxTitle = "Install/Update ACLib-DBMS-Connection-Wizard" - -Dim AddInFileInstalled, CompletedMsg - -MsgBox "Before updating the add-in file, the add-in must not be loaded!" & chr(13) & _ - "Close all access instances for safety.", , MsgBoxTitle & ": Information" - -Select Case MsgBox("Should the add-in be used as a compiled file (accde)?" + chr(13) & _ - "(Add-In is compiled and copied to the Add-In directory.)", 3, MsgBoxTitle) - case 6 ' vbYes - AddInFileInstalled = CreateMde(GetSourceFileFullName, GetDestFileFullName) - If AddInFileInstalled Then - CompletedMsg = "Add-In was compiled and saved in '" + GetAddInLocation + "'." - Else - CompletedMsg = "Error! Compiled file was not created." - End If - case 7 ' vbNo - AddInFileInstalled = FileCopy(GetSourceFileFullName, GetDestFileFullName) - If AddInFileInstalled Then - CompletedMsg = "Add-In was saved in '" + GetAddInLocation + "'." - Else - CompletedMsg = "Error! File was not copied." - End If - case else - -End Select - -If AddInFileInstalled = True Then - RegisterAddIn GetDestFileFullName() -End If - -If CompletedMsg > "" Then - MsgBox CompletedMsg, , MsgBoxTitle -End If - - -'################################################## -' Functions - -Function GetSourceFileFullName() - GetSourceFileFullName = GetScriptLocation & AddInFileName -End Function - -Function GetDestFileFullName() - GetDestFileFullName = GetAddInLocation & AddInFileName -End Function - -Function GetScriptLocation() - With WScript - GetScriptLocation = Replace(.ScriptFullName & ":", .ScriptName & ":", "") - End With -End Function - -Function GetAddInLocation() - GetAddInLocation = GetAppDataLocation & "Microsoft\AddIns\" -End Function - -Function GetAppDataLocation() - Set wsShell = CreateObject("WScript.Shell") - GetAppDataLocation = wsShell.ExpandEnvironmentStrings("%APPDATA%") & "\" -End Function - -Function FileCopy(SourceFilePath, DestFilePath) - set fso = CreateObject("Scripting.FileSystemObject") - fso.CopyFile SourceFilePath, DestFilePath - FileCopy = True -End Function - -Function CreateMde(SourceFilePath, DestFilePath) - Set AccessApp = CreateObject("Access.Application") - AccessApp.SysCmd 603, (SourceFilePath), (DestFilePath) - CreateMde = True -End Function - - -'################################################## -' Register Menu Add-In - -Function RegisterAddIn(AddInFile) - - Dim AddInDb, AccessApp, rst, ItemValue, wsh - - Set AccessApp = CreateObject("Access.Application") - Set AddInDb = AccessApp.DBEngine.OpenDatabase(AddInFile) - - set wsh = CreateObject("WScript.Shell") - Set rst = AddInDb.OpenRecordset("select Subkey, ValName, Type, Value from USysRegInfo where ValName > '' Order By ValName", 8) 'dbOpenForwardOnly=8 - Do While Not rst.EOF - ItemValue = rst.Fields("Value").Value - If Len(ItemValue) > 0 Then - If InStr(1, ItemValue, "|ACCDIR") > 0 Then - ItemValue = AddInDb.Name - End If - End If - RegisterMenuAddInItem AccessApp, wsh, rst.Fields("Subkey").Value, rst.Fields("ValName").Value, rst.Fields("Type").Value, ItemValue - rst.MoveNext - Loop - rst.Close - - AddInDb.Close - -End Function - -Function RegisterMenuAddInItem(AccessApp, wsh, ByVal SubKey, ByVal ItemValName, ByVal RegType, ByVal ItemValue) - Dim RegName - RegName = GetRegistryPath(SubKey, AccessApp) - With wsh - If Len(ItemValName) > 0 Then - RegName = RegName & "\" & ItemValName - End If - .RegWrite RegName, ItemValue, GetRegTypeString(RegType) - End With -End Function - -Function GetRegTypeString(ByVal RegType) - Select Case RegType - Case 1 - GetRegTypeString = "REG_SZ" - Case 4 - GetRegTypeString = "REG_DWORD" - Case 0 - GetRegTypeString = vbNullString - Case Else - Err.Raise vbObjectError, "GetRegTypeString", "RegType not supported" - End Select -End Function - -Function GetRegistryPath(SubKey, AccessApp) - GetRegistryPath = Replace(SubKey, "HKEY_CURRENT_ACCESS_PROFILE", HkeyCurrentAccessProfileRegistryPath(AccessApp)) -End Function - -Function HkeyCurrentAccessProfileRegistryPath(AccessApp) - HkeyCurrentAccessProfileRegistryPath = "HKCU\SOFTWARE\Microsoft\Office\" & AccessApp.Version & "\Access" -End Function From 3e2e795587a62ae889fcdee3d679a4c53624f313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20P=C3=B6tzl?= Date: Sun, 25 Oct 2026 19:17:24 +0100 Subject: [PATCH 3/3] change to msaccess-vcs --- .gitignore | 7 + source/AGENTS.md | 99 + source/codelib/user/login/LoginForm.frm | Bin 73488 -> 0 bytes source/dbs-properties.json | 180 + source/documents.json | 34 + source/forms/LoginForm.cls | 126 + source/forms/LoginForm.form | 155 + source/forms/LoginForm.json | 28 + source/forms/frmConfig_DBMS.cls | 451 + source/forms/frmConfig_DBMS.form | 204 + source/forms/frmConfig_DBMS.json | 28 + source/forms/frmConfig_DBMS_SF_Data.cls | 1092 ++ source/forms/frmConfig_DBMS_SF_Data.form | 1135 ++ source/forms/frmConfig_DBMS_SF_Data.json | 190 + source/forms/frmConfig_LinkTables.cls | 656 + source/forms/frmConfig_LinkTables.form | 590 + source/forms/frmConfig_LinkTables.json | 78 + source/forms/frmTest_SQL.cls | 452 + source/forms/frmTest_SQL.form | 333 + source/forms/frmTest_SQL.json | 28 + source/forms/frmTest_SQL_Datasheet.cls | 48 + source/forms/frmTest_SQL_Datasheet.form | 776 + source/forms/frmTest_SQL_Datasheet.json | 28 + source/frmConfig_DBMS.frm | Bin 95136 -> 0 bytes source/frmConfig_DBMS_SF_Data.frm | Bin 250308 -> 0 bytes source/frmConfig_LinkTables.frm | Bin 174624 -> 0 bytes source/frmTest_SQL.frm | Bin 106008 -> 0 bytes source/frmTest_SQL_Datasheet.frm | Bin 127176 -> 0 bytes source/macros/Autoexec.macro | 18 + .../ACLibGitHubImporter.cls | 42 +- .../data/ado => modules}/AdodbHandler.cls | 81 +- .../AppFileCodeModulTransfer.cls | 46 +- .../base => modules}/ApplicationHandler.cls | 76 +- .../ApplicationHandler_AppFile.cls | 40 +- ...ApplicationHandler_ExtensionCollection.cls | 4 +- .../ApplicationHandler_Version.cls | 36 +- source/{ => modules}/CodeModulSupport.bas | 14 +- .../shared => modules}/CodeModuleWriter.cls | 32 +- .../data/dao => modules}/DaoHandler.cls | 321 +- .../data => modules}/DbConnectionHandler.cls | 18 +- .../data => modules}/DbConnectionInfo.cls | 200 +- .../data => modules}/DbConnectionManager.cls | 62 +- .../data => modules}/DbConnectionSettings.cls | 12 +- .../vba => modules}/ErrorTrappingObserver.cls | 2 +- .../{codelib/file => modules}/FileTools.bas | 64 +- .../localization => modules}/L10nDict.cls | 72 +- .../localization => modules}/L10nTools.bas | 4 +- .../data/odbc => modules}/OdbcHandler.cls | 179 +- .../{ => modules}/OdbcHandlerEventBridge.cls | 2 +- .../misc => modules}/QpcStopwatch.cls | 10 +- source/{codelib/data => modules}/SqlTools.cls | 197 +- .../{codelib/text => modules}/StringTools.bas | 60 +- .../addins/shared => modules}/VbeTools.cls | 8 +- .../api/winapi => modules}/WinApiFileInfo.cls | 18 +- .../winapi => modules}/WinApiLayoutTools.cls | 6 +- .../winapi => modules}/WinApiShortcutMenu.cls | 66 +- .../winapi => modules}/WinApiWindowTools.cls | 22 +- source/{ => modules}/_ADFInterface.cls | 2 +- source/{ => modules}/_ADF_Helper.bas | 2 +- .../_AccessCodeLib_license.bas} | 6 +- source/{ => modules}/_config_Application.bas | 28 +- source/{ => modules}/_doc_dbms_wizard.bas | 38 +- .../base => modules}/_initApplication.bas | 2 +- .../{ => modules}/_initDbConnectionWizard.bas | 34 +- .../data => modules}/defDbConnection.bas | 2 +- .../{ => modules}/defDbmsConnectionWizard.bas | 10 +- source/{ => modules}/modAccessFunctions.bas | 14 +- source/{ => modules}/modAccessHelper.bas | 10 +- source/{ => modules}/modAddIn.bas | 34 +- source/{ => modules}/modAddIn_Files.bas | 84 +- .../base => modules}/modApplication.bas | 10 +- source/{ => modules}/modColors.bas | 32 +- .../data => modules}/modDbConnection.bas | 18 +- .../base => modules}/modErrorHandler.bas | 46 +- .../api/winapi => modules}/modWinAPI.bas | 70 +- source/{ => modules}/modWinAPI_FileInfo.bas | 24 +- .../modWinApi_Mouse.bas} | 8 +- .../modWizardCodeModulesData.bas | 10 +- source/{ => modules}/modWizardTools.bas | 4 +- source/nav-pane-groups.json | 24 + source/proj-properties.json | 9 + source/project.json | 10 + source/queries/usys_DbmsTableNames.json | 46 + source/queries/usys_DbmsTableNames.sql | 1 + source/relations/MSysAccessStorageSTGREL.json | 18 + source/tables/L10n_Dict.xml | 820 ++ source/tables/USysRegInfo.txt | 34 + source/tables/usys_AppFiles.xml | 11929 ++++++++++++++++ source/tables/usys_DbmsConnection_X.xml | 109 + .../tables/usys_DbmsConnection_X_Driver.xml | 87 + source/tbldefs/L10n_Dict.sql | 6 + source/tbldefs/L10n_Dict.xml | 113 + source/tbldefs/USysRegInfo.json | 9 + source/tbldefs/USysRegInfo.sql | 6 + source/tbldefs/USysRegInfo.xml | 127 + source/tbldefs/tab1DS.json | 15 + source/tbldefs/tab1DS.sql | 4 + source/tbldefs/tab1DS.xml | 72 + source/tbldefs/usys_AppFiles.json | 9 + source/tbldefs/usys_AppFiles.sql | 7 + source/tbldefs/usys_AppFiles.xml | 154 + source/tbldefs/usys_DbmsConnection.sql | 21 + source/tbldefs/usys_DbmsConnection.xml | 166 + .../tbldefs/usys_DbmsConnection_CopyBase.json | 15 + .../tbldefs/usys_DbmsConnection_CopyBase.sql | 21 + .../tbldefs/usys_DbmsConnection_CopyBase.xml | 488 + source/tbldefs/usys_DbmsConnection_X.json | 15 + source/tbldefs/usys_DbmsConnection_X.sql | 24 + source/tbldefs/usys_DbmsConnection_X.xml | 454 + .../tbldefs/usys_DbmsConnection_X_Driver.json | 9 + .../tbldefs/usys_DbmsConnection_X_Driver.sql | 6 + .../tbldefs/usys_DbmsConnection_X_Driver.xml | 146 + source/themes/1_Office Theme.thmx | Bin 0 -> 3330 bytes source/vbe-project.json | 17 + source/vbe-references.json | 20 + source/vcs-agent-docs/forms-reports.md | 105 + source/vcs-agent-docs/queries.md | 53 + source/vcs-agent-docs/testing.md | 110 + source/vcs-agent-docs/troubleshooting.md | 94 + source/vcs-agent-docs/vba-modules.md | 101 + source/vcs-index.idx | Bin 0 -> 14004 bytes source/vcs-options.json | 102 + 122 files changed, 23359 insertions(+), 1135 deletions(-) create mode 100644 source/AGENTS.md delete mode 100644 source/codelib/user/login/LoginForm.frm create mode 100644 source/dbs-properties.json create mode 100644 source/documents.json create mode 100644 source/forms/LoginForm.cls create mode 100644 source/forms/LoginForm.form create mode 100644 source/forms/LoginForm.json create mode 100644 source/forms/frmConfig_DBMS.cls create mode 100644 source/forms/frmConfig_DBMS.form create mode 100644 source/forms/frmConfig_DBMS.json create mode 100644 source/forms/frmConfig_DBMS_SF_Data.cls create mode 100644 source/forms/frmConfig_DBMS_SF_Data.form create mode 100644 source/forms/frmConfig_DBMS_SF_Data.json create mode 100644 source/forms/frmConfig_LinkTables.cls create mode 100644 source/forms/frmConfig_LinkTables.form create mode 100644 source/forms/frmConfig_LinkTables.json create mode 100644 source/forms/frmTest_SQL.cls create mode 100644 source/forms/frmTest_SQL.form create mode 100644 source/forms/frmTest_SQL.json create mode 100644 source/forms/frmTest_SQL_Datasheet.cls create mode 100644 source/forms/frmTest_SQL_Datasheet.form create mode 100644 source/forms/frmTest_SQL_Datasheet.json delete mode 100644 source/frmConfig_DBMS.frm delete mode 100644 source/frmConfig_DBMS_SF_Data.frm delete mode 100644 source/frmConfig_LinkTables.frm delete mode 100644 source/frmTest_SQL.frm delete mode 100644 source/frmTest_SQL_Datasheet.frm create mode 100644 source/macros/Autoexec.macro rename source/{codelib/_codelib/addins/shared => modules}/ACLibGitHubImporter.cls (98%) rename source/{codelib/data/ado => modules}/AdodbHandler.cls (95%) rename source/{codelib/_codelib/addins/shared => modules}/AppFileCodeModulTransfer.cls (98%) rename source/{codelib/base => modules}/ApplicationHandler.cls (99%) rename source/{codelib/base => modules}/ApplicationHandler_AppFile.cls (97%) rename source/{codelib/base => modules}/ApplicationHandler_ExtensionCollection.cls (99%) rename source/{codelib/base => modules}/ApplicationHandler_Version.cls (98%) rename source/{ => modules}/CodeModulSupport.bas (97%) rename source/{codelib/_codelib/addins/shared => modules}/CodeModuleWriter.cls (97%) rename source/{codelib/data/dao => modules}/DaoHandler.cls (95%) rename source/{codelib/data => modules}/DbConnectionHandler.cls (99%) rename source/{codelib/data => modules}/DbConnectionInfo.cls (98%) rename source/{codelib/data => modules}/DbConnectionManager.cls (96%) rename source/{codelib/data => modules}/DbConnectionSettings.cls (98%) rename source/{codelib/vba => modules}/ErrorTrappingObserver.cls (99%) rename source/{codelib/file => modules}/FileTools.bas (98%) rename source/{codelib/localization => modules}/L10nDict.cls (98%) rename source/{codelib/localization => modules}/L10nTools.bas (97%) rename source/{codelib/data/odbc => modules}/OdbcHandler.cls (95%) rename source/{ => modules}/OdbcHandlerEventBridge.cls (97%) rename source/{codelib/misc => modules}/QpcStopwatch.cls (98%) rename source/{codelib/data => modules}/SqlTools.cls (97%) rename source/{codelib/text => modules}/StringTools.bas (93%) rename source/{codelib/_codelib/addins/shared => modules}/VbeTools.cls (99%) rename source/{codelib/api/winapi => modules}/WinApiFileInfo.cls (99%) rename source/{codelib/api/winapi => modules}/WinApiLayoutTools.cls (99%) rename source/{codelib/api/winapi => modules}/WinApiShortcutMenu.cls (97%) rename source/{codelib/api/winapi => modules}/WinApiWindowTools.cls (89%) rename source/{ => modules}/_ADFInterface.cls (94%) rename source/{ => modules}/_ADF_Helper.bas (87%) rename source/{codelib/_codelib/license.bas => modules/_AccessCodeLib_license.bas} (98%) rename source/{ => modules}/_config_Application.bas (94%) rename source/{ => modules}/_doc_dbms_wizard.bas (75%) rename source/{codelib/base => modules}/_initApplication.bas (97%) rename source/{ => modules}/_initDbConnectionWizard.bas (92%) rename source/{codelib/data => modules}/defDbConnection.bas (98%) rename source/{ => modules}/defDbmsConnectionWizard.bas (83%) rename source/{ => modules}/modAccessFunctions.bas (95%) rename source/{ => modules}/modAccessHelper.bas (97%) rename source/{ => modules}/modAddIn.bas (97%) rename source/{ => modules}/modAddIn_Files.bas (96%) rename source/{codelib/base => modules}/modApplication.bas (97%) rename source/{ => modules}/modColors.bas (94%) rename source/{codelib/data => modules}/modDbConnection.bas (94%) rename source/{codelib/base => modules}/modErrorHandler.bas (98%) rename source/{codelib/api/winapi => modules}/modWinAPI.bas (92%) rename source/{ => modules}/modWinAPI_FileInfo.bas (96%) rename source/{codelib/api/winapi/modWinAPI_Mouse.bas => modules/modWinApi_Mouse.bas} (97%) rename source/{codelib/_codelib/addins/shared => modules}/modWizardCodeModulesData.bas (95%) rename source/{ => modules}/modWizardTools.bas (90%) create mode 100644 source/nav-pane-groups.json create mode 100644 source/proj-properties.json create mode 100644 source/project.json create mode 100644 source/queries/usys_DbmsTableNames.json create mode 100644 source/queries/usys_DbmsTableNames.sql create mode 100644 source/relations/MSysAccessStorageSTGREL.json create mode 100644 source/tables/L10n_Dict.xml create mode 100644 source/tables/USysRegInfo.txt create mode 100644 source/tables/usys_AppFiles.xml create mode 100644 source/tables/usys_DbmsConnection_X.xml create mode 100644 source/tables/usys_DbmsConnection_X_Driver.xml create mode 100644 source/tbldefs/L10n_Dict.sql create mode 100644 source/tbldefs/L10n_Dict.xml create mode 100644 source/tbldefs/USysRegInfo.json create mode 100644 source/tbldefs/USysRegInfo.sql create mode 100644 source/tbldefs/USysRegInfo.xml create mode 100644 source/tbldefs/tab1DS.json create mode 100644 source/tbldefs/tab1DS.sql create mode 100644 source/tbldefs/tab1DS.xml create mode 100644 source/tbldefs/usys_AppFiles.json create mode 100644 source/tbldefs/usys_AppFiles.sql create mode 100644 source/tbldefs/usys_AppFiles.xml create mode 100644 source/tbldefs/usys_DbmsConnection.sql create mode 100644 source/tbldefs/usys_DbmsConnection.xml create mode 100644 source/tbldefs/usys_DbmsConnection_CopyBase.json create mode 100644 source/tbldefs/usys_DbmsConnection_CopyBase.sql create mode 100644 source/tbldefs/usys_DbmsConnection_CopyBase.xml create mode 100644 source/tbldefs/usys_DbmsConnection_X.json create mode 100644 source/tbldefs/usys_DbmsConnection_X.sql create mode 100644 source/tbldefs/usys_DbmsConnection_X.xml create mode 100644 source/tbldefs/usys_DbmsConnection_X_Driver.json create mode 100644 source/tbldefs/usys_DbmsConnection_X_Driver.sql create mode 100644 source/tbldefs/usys_DbmsConnection_X_Driver.xml create mode 100644 source/themes/1_Office Theme.thmx create mode 100644 source/vbe-project.json create mode 100644 source/vbe-references.json create mode 100644 source/vcs-agent-docs/forms-reports.md create mode 100644 source/vcs-agent-docs/queries.md create mode 100644 source/vcs-agent-docs/testing.md create mode 100644 source/vcs-agent-docs/troubleshooting.md create mode 100644 source/vcs-agent-docs/vba-modules.md create mode 100644 source/vcs-index.idx create mode 100644 source/vcs-options.json diff --git a/.gitignore b/.gitignore index c6f3b71..e73c1a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ /*.accdb +*.laccdb +*.env +logs/ +test-results/ +.env.* +!.env*.example +*.zip diff --git a/source/AGENTS.md b/source/AGENTS.md new file mode 100644 index 0000000..f3d3495 --- /dev/null +++ b/source/AGENTS.md @@ -0,0 +1,99 @@ +# AGENTS.md - Working With Exported Microsoft Access Source Files + +This folder is a Microsoft Access database exported to text files by the MSAccess +VCS add-in. Editing these files is how you change the database, but edits only +take effect when the add-in imports them back in Access. You cannot run or test +this code directly, and the add-in is required to build a working database from it. + +This file and everything under `vcs-agent-docs/` are generated by the add-in and +**rewritten on every export**. Keep your own project notes elsewhere. + +## Non-negotiable rules + +1. **Do not change file encoding.** Source files are UTF-8, and most are UTF-8 + *with BOM* (bytes `EF BB BF`). Re-saving without the BOM makes import fail or + silently corrupt the object. +2. **Do not change line endings.** Access `LoadFromText` requires CRLF (`\r\n`). +3. **Do not edit** `vcs-index.idx` (binary change index), `.frx` files (binary OLE + data), or `.thmx` files (ZIP archives — edit the extracted contents instead). +4. **Do not rename a file** without changing the object name stored inside it. + File names must match object names exactly. +5. **Do not alter VBA scaffolding:** `Attribute VB_Name` lines, the + `VERSION`/`BEGIN`/`END` block at the top of a `.cls`, or module-level + `Attribute VB_*` lines. The code below them is yours to edit. + +## Which file do I edit? + +| To change | Edit | Read first | +|---|---|---| +| VBA in a standard module | `modules/.bas` | `vcs-agent-docs/vba-modules.md` | +| VBA in a class module | `modules/.cls` | `vcs-agent-docs/vba-modules.md` | +| Form or report code-behind | `forms/.cls`, `reports/.cls` | `vcs-agent-docs/vba-modules.md` | +| Form or report layout | `forms/.form`, `reports/.report` | `vcs-agent-docs/forms-reports.md` | +| Conditional formatting rules | the form's or report's companion `.json` | `vcs-agent-docs/forms-reports.md` | +| Query logic | `queries/.sql` — the sole source of truth for SQL | `vcs-agent-docs/queries.md` | +| Query properties or design layout | `queries/.json` | `vcs-agent-docs/queries.md` | +| A macro | `macros/.macro` | — | +| A table definition | `tbldefs/.xml` and `.json` | — | +| A connection string | `.env` at this folder's root (gitignored) | `vcs-agent-docs/troubleshooting.md` | +| Tests | a test module under `modules/` | `vcs-agent-docs/testing.md` | + +Export format 5.0.0 renamed several object types from the overloaded `.bas` +extension: forms to `.form`, reports to `.report`, macros to `.macro`, and queries +to `.sql` plus `.json`. Older projects still use `.bas` for these, so check which +extensions are actually present. Import accepts both. + +## File placement follows the `@Folder` annotation + +The add-in reads Rubberduck-style `'@Folder("Category")` annotations and exports +components into matching subdirectories, with dots as path separators: +`'@Folder("Components.ADP")` lands in `modules/Components/ADP/`. Components with no +annotation stay at the root of `modules/`, `forms/`, or `reports/`. Import scans +subdirectories recursively. + +**The annotation decides where the file belongs on disk, not the folder you happen +to be editing in.** This is the most common way agents corrupt a project: + +- For modules, the annotation is in the `.bas` or `.cls` itself. For forms and + reports it lives in the `.cls` code-behind only — not in `.form`/`.report`, + `.json`, or `.svg`. +- Before creating or moving a component, search the **entire** `modules/`, `forms/`, + or `reports/` tree for an existing file with the same base name (for modules, + match on `Attribute VB_Name`). Edit that file in place rather than creating a + second copy elsewhere. +- If two copies exist, such as `modules/modFoo.bas` and `modules/Tests/modFoo.bas`, + build imports **both** and the last one silently wins. No error is shown. +- Build removes a misplaced duplicate automatically when exactly one copy sits in + its annotation-derived folder. Ambiguous cases are left alone with a warning. + Removing a duplicate form or report deletes its whole source group together + (`.form`/`.report` plus `.cls`, `.json`, and `.svg`). + +To relocate a component, change its `'@Folder` annotation and let the next export +move the file. + +## Where the details live + +Each of these is short. Read the matching one before making that kind of change. + +| File | Read it before | +|---|---| +| `vcs-agent-docs/vba-modules.md` | Editing any `.bas` or `.cls`, or adding a member attribute | +| `vcs-agent-docs/forms-reports.md` | Editing a `.form` or `.report` layout, or conditional formatting | +| `vcs-agent-docs/queries.md` | Editing anything in `queries/` | +| `vcs-agent-docs/testing.md` | Writing, running, or filtering tests | +| `vcs-agent-docs/troubleshooting.md` | An import, build, or compile failed, or you need the log files | + +## How changes get back into Access + +Ask the user to run a **merge build** from the add-in ribbon, which imports changed +source files into the existing database. A **full build** creates a new database +from source instead, and **export** goes the other way, writing database objects +out to these files. When a source file and its database object have both changed, +the add-in detects the conflict and prompts the user to choose which version wins. + +## More information + +- [MSAccess VCS Add-in](https://github.com/joyfullservice/msaccess-vcs-addin) +- [Wiki: Export-Import File Types](https://github.com/joyfullservice/msaccess-vcs-addin/wiki/Export-Import-File-Types) +- [Wiki: Supported Objects](https://github.com/joyfullservice/msaccess-vcs-addin/wiki/Supported-Objects) +- [Wiki: Options](https://github.com/joyfullservice/msaccess-vcs-addin/wiki/Options) diff --git a/source/codelib/user/login/LoginForm.frm b/source/codelib/user/login/LoginForm.frm deleted file mode 100644 index 9c0a0d23ac806004261530767bbe7b4a45241a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73488 zcmeHQ`)?e#5$4YY`ac{LAa;U8*5mXF(jc;AJ4S8Gu>5En1i`)ZXwH%=ogBM=eB1Bi z+=xrw-5!^^q>wW>oOtBU42RzghmTz?|NEcUZs0E5r8{-!?##8^U)-8ob$@n$a`BZH zp!=7*0^J3E^~aPep7J@$yKabUm+r(JxOZ+;ktfpjaAn|n?ibKpxwoEw)or^Sd^g;> z+r(eidLLBB;HEAQq076dc2Um|<-g+UDSnMWPyMNR%RR%Dk=sYvk?WuyUaxXL z$Mtva6~1}&Y<16T(RYXVJ@omJFUhTQ57cMS;{xdr?K^iLGHc&O3s~14YNZ6WG*9nm zX#IQObBt7NaosO!~crA$W8KjGa$gvi2?0XAzfEfLM0NzL7C8F#vXDGS!K7Rr_B27Ie>)nG! zy=$G~wyM0pkJ}bw_QuyWLhT}T2faJypVW~3j{f!ov}5~D@SEJLiPavXe1Nte0*@nn zPRE|T86oflG)LDGR?*`(#(h0li@j3xV;vF+^y-U5hb`!_mC(?BBYe)G4draXZmFEf zb}Dkg66~vtE@A`v$tEPN;j@8X)ktyxgkIrG>drVGF1a7w16Wag;W^}-!*29Z@tB|7 zQY1y<%OU7`h+2Yjs}cjNH7Xt}KzY+gP5vFg&xt90Yt4V#iIpBe%YIbrBWV5@^%1F@ z+9-Jwwe-K;BT;G{pTEc`>+)lXbU%Y7ALTD4Al!cs!%j1J)w=jtsI)3WEJ z(t=$27U{QU)|K+sTTamAtmHi~Jx9+NWcR(G74cYs-u!fcGkfHYFWdBgId5C@R{{_1 z!Fa&72(7k>eYi@uHKx<@&2fG{s+7-OzKI&7&rtFz_&Kj*>?hWOm|8(}*@3nzh+m8s zY?;;>&^_{;8(sq2FBs_cI^6;fb<_G+P}AzTK1%CC@~TI2fM4s-m>BX(54sUez0Ub0 zN1iTHdNw~j7U>vX0jpHz-a>QZESsZut<^jaR{9Iog6x|wcyb(B(>Ze_?BZiZVK0%ct0Z-!eL0%ct0Z-!eL0%cr_^|zbN z*U}a&R<~4oeO~9&O2xT++wbXcZr-V#lPiy=iV9a&EZf40iK(u_*2m?#R%l}#6kit! zTF&(vudhKLrd(ADz3|oH#ubUs%Gye0gu11C9a;*Vq=8P_pmMZsO#>ad*+!Kka_eSkqE5=- zN}oHhOi9DNQLcP<@Vn#7SXXtO-Nw31WOCIjI&jq}a+tFG2wz#V)#*kQD39&r-iEZ7 zyA51}3hpdZ{Y7pM^;6f$x~jCICw(@iTOa!%ZBwV4*2R?VWgn6<$`kuhMoOo)yJ=dd zo34?y4q8F2OFeZ@MX#r+?Co$5gnf~FP4WIHcSB+x?eS7tryKWHSU>USJ`nYymu`7W z^nD5UTf{QlHQDmDaleK+i4383`h3XoSFDR%lYYeCb-KlJrse8oa}Q~fE7YCpCLSC( z>U5(G1Eu`Z_{$voE>rrOq@pYPg5(7`^-b-6^nYI0eRa8;BK@7^^lhf~x{*R+h45(I zno6ux-Bf1S0~G$!Hq_~+?Gt}vdsG*RKZ=LyBxo(JEp@sn9&+b|y5-qQ#|_mv-S5>l zGggaTRIb`X@^!kYY{qM`srZT3B^LYb{?_UC+tr#U*>uapDWx*pQbh9dhFcy^DV5=t zB9fOk-12ZrsSLLik-WU&mWNYHWw@n?%fl(9GTc%`^74jT9!@Eh;g%wjmp9z+FuD#I;BBrk8c z<>8c48Ez>ed3nPv52uvMa7z)%%NuTaIHgpETZ%|tev!E4pC+TH`RG}6Ip-$HyC?N5 zjrRC`yz}1wnTNuBszu^7zqV!+H_=VrMJsO#<{K6Dow4<{RlPvFa&^skHdy zt#D@E6V&$+weoa9JyVb8LB;fwXGqnZm&S8%D1+&≫J>gY?F8<(xv+%$AF%uJaCk zyQaRqQ{IotH>ipp`W92Z2bd*#eQn(P!kabqt(^MiR(;c^aOj&!)7I7LCOw<-=$D&# zTkh>RrHO6in}E}{E;3(_+ahafF6;Nzt@_^JX}ZSO>vdD_Ryi?m_4FwIwiBdU@bM2B zey-6(an)4IW1RJBZdz~CTq(Z|o#|GFtKnw2l_5~ZW&UQkl_5~ZW&UQkl_5~ZwOD_< z*?cW+!D4kwrPt@}1SvT|L{D)FCqv0@o1Gw4J%vh6QXyj8&*0vNoggJ^K<*!HVt&gJ@4b>rDv#DH%R zW-5QHY5b<`s(l{d1g?H$v1d3L>kuboy@z-2xtH#-d*e><`^@dTQ+J6gT{lF&53BOL ztE#m6^Vh=F7Eb-5oB zrTGeYjcR2bx_6-Mp*0=QJ^d58jk^Jsky z|C!%6)YF^xaMg1cQH<#F>_PFF*k*hm`^Hoo<@wFw*j}fw!`W0hs!7_*b6T%4aem*c zj~6j|^v@A6IfVx?F0*%^!V6DkL`!YKBlij;#QxaVL!_+pQsw2GUFVLF>{qoI|!V0~(xvjuN)P;8-~yh}L2P>H(_{1@YPvn6r_7S|*gZu| zV-I26=ieUwK1EMqyrRTacZZrfdNQc~b(r##(+&Kbg8%;2aSB%}ZCATqTPt5%WQ!QUOEt3GNmiZO-_;AK1`b_H}RxOxQt@8eoCn}x{M1i28u zns8|w19$H1T{&l^i;OF29dTUX*#;$TR;f3M5-LN}IBL)rb{h69m89v-qlik<^yX1T zC21P>T8<=L%)ZXC!r=@|uQuz!DqGV%KR%5hk@GH&B}C-r2&{ zb(Cx)y-D8*u`1PUUcNbJK1V)fHSXE0?^B!gZNk^grrp)IF@B`;~Qdvw6<6xcIp{fPI_EIlwGz4?EGkM|19?ku-3AG^Rz zjQ-QdY>oFberj09qUU5h*Os#_Mn3NOtRc@|+xW|S9bA!bfP!ms-uGC?Us7{DzSVFC zD?hHNwO;`@qA5G^^?k322lMVSR~o!$evIE71v%g3zRxlIDD2-i^U8X;q2Df2>I-Nc z?#VY>FV*YId#@vW_=H0KS}fnniyuAMljZKs&})1f#*U`@z_E9-$2Pma6TI+K8aL~WHb*8dKk zr@KubVtxl0s6D^I?{J4tONHt-wd-r|O?TWq_a#2s%2(cU7ic5>Qto255MzTc-|_VK z#vHe?#oxlirN45W)pg%px4z}RMO*o-*Z`$hV=V4fu(&tH_RHX5PyZHJ25v=^GG#qC z!1&F6@g4eotO0A_8bv9VeMGqQ65}hXE9;77=oQv`fIb-R7c)A&^)ZEgx`n6OG)8cr zU!qFPA-z~?K7}O8wVHc$MxFVAJmlVg0ck-d)dflyAV)1u)t8O!5%``Sk~ z?mi5GNO;1JPiRUDC91c4OIaeiU-^hi8?`DLYb4-(`MZecA5jZqwU$?(0cb&2wt`Qt z5(%ynze2vsmF}e0@w`AAXp8EcQ|Yoq`m8(V7>&6>c0zVAH8J`A-OlDylSy0 zkV#9*Gw|xC^oQdJ!?^X@I@xoo;xFjR?vGl5vv_(PpQR)MEwqWdhgU#^SUtmEKF>|8 zWghhct>^zV3?g5x)+2Tf9Cdc({%Ljempb;L%N{i7yXA^Uv`};JdaR^>6Y=HixeaU7 z9wsQv@{ky#Fyc-_D71tB%fX!nT9nVu>lhYRYm>cjK6g&PoRrceGQO_c_Ynqdz=@M-1_)Mwp;gDtEF?seHMMoGU-nBx8j1jJq=}@ddR0 z65m;LseYuVhWuZw>bRmS2c}O^+c6?4|F404|2fcL3}jDe;VaMPrn4J;eu}=!=LTAS ztmN+e?0eq%ZJejG=s#)KW!RC=t~18={9Gg;EIbd;Ivu~OC`?KeOXf(F_Oo@9wS7R} zVw?>9R`r<175Jw|Bk7wma;Cniy_NAJy_Wg~X(oG`j9;Rk*lLod&W{+gq?hGm*9;%g zEui#!Mqt+3EDGyL&)L~I`bn50r0viMyo>nDr|CJ0>DW3wGAT!h)><3?e}(^HCj0A* z=qib{9AjnP!1nNalliH%L+6;we#B!uxI{0LIV(t~HsY8e@{ zKG9xnqWv#OisOw$3(naY(-djq{2jj42-(8gHKk*{ODOHSe~$6{-j7mY&G5Y+LnIn< zC!miRKO@Zr_<~M?nAR@QnR^$UeT`uE=~}YCF1hdVt@hE>i_{uAe%E;f+avStyVqFU z1qxqOW?&*u{)%24mqUw1du_{ItOh2v6C1qpdkNfif1C#RS&lW`2)E}#@N&R4&ht6uHqE+?ORNf?7`H?stkAmd1J>iPR zAg)chR+iqO(MEDyu~cW-+PhO8`r{+W8I7d~-$Nfa-bVfIZe@l#+rz7#C@9PSUUK!4 z*8SMWCAls;kz9w&9_gmHVR?#P;+gC_j47OfafQLy#{UWBdZYzyxZdYXOYc{+RQ3b; zzlpjl$z8@vlrv6{zK>t*0qpJ43%J%JRj|-B+i6*tk&r&!Y0#B~BK$L=*_p3R#<6KL zbUqD9-8k}GjQe2oby#ezx)EMyv|QWeuib7w-l_emn~p{73+aFCsV@=V&#vbVY#&SV z?C=n_<(<{AGnLy*hU0Nc`(r%%)4ye1mG;x%J=(v|{irvKUSiJlJqO|B=%w25clExh zVwu+}=}#gx=sB +' user/login/LoginForm.frm +' _codelib/license.bas +' +' +Option Compare Database +Option Explicit + +#If USELOCALIZATION = 1 Then +Private WithEvents m_L10nDict As L10nDict +Attribute m_L10nDict.VB_VarHelpID = -1 +#End If + +Public Event Logon(ByVal LoginName As String, ByVal Password As String, ByRef Cancel As Boolean) +Public Event Cancelled() + +Public m_CloseFormOK As Boolean + +Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal Length As Long) + +Private Sub cmdCancel_Click() +On Error Resume Next + RaiseEvent Cancelled + m_CloseFormOK = True + DoCmd.Close acForm, Me.Name +End Sub + +Private Sub cmdLogin_Click() + + Dim strLoginName As String + Dim strLoginPassword As String + Dim bolCancel As Boolean + + strLoginName = Me.txtUID & vbNullString + strLoginPassword = Me.txtPwd & vbNullString + + If Len(strLoginName) * Len(strLoginPassword) = 0 Then + MsgBox "Please enter login name and password" + If Len(strLoginName) = 0 Then + Me.txtUID.SetFocus + Else + Me.txtPwd.SetFocus + End If + Exit Sub + End If + + RaiseEvent Logon(strLoginName, strLoginPassword, bolCancel) + If bolCancel Then + Me.txtPwd.SetFocus + Exit Sub + End If + + m_CloseFormOK = True + DoCmd.Close acForm, Me.Name + +End Sub + +Private Sub Form_Load() + + Dim Args() As String + Dim LoginFormBridgePtr As LongPtr + +#If USELOCALIZATION = 1 Then + L10n.TranslateControls Me.Controls + Set m_L10nDict = L10n +#End If + + If Len(Me.OpenArgs) > 0 Then 'OpenArgs= "ObjPtr@Caption@StandardUser" + Args = Split(Me.OpenArgs, "@") + + LoginFormBridgePtr = Val(Args(0)) + + Me.Caption = Args(1) + If UBound(Args) > 1 Then + Me.txtUID.Value = Args(2) + Else + Me.txtUID.Value = vbNullString + End If + + If Len(Me.txtUID.Value) > 0 Then + Me.txtPwd.SetFocus + End If + + End If + + Dim tempObj As Object + Set tempObj = GetObjectFromObjPtr(LoginFormBridgePtr) + If Not (tempObj Is Nothing) Then + Set tempObj.LoginForm = Me 'This makes the events possible despite dialogue mode + End If + +End Sub + +Private Sub Form_Unload(Cancel As Integer) +On Error Resume Next + If Not m_CloseFormOK Then RaiseEvent Cancelled +#If USELOCALIZATION = 1 Then + Set m_L10nDict = Nothing +#End If +End Sub + +Private Function GetObjectFromObjPtr(lPtr As LongPtr) As Object + + Dim obj As Object + CopyMemory obj, lPtr, 4 + Set GetObjectFromObjPtr = obj + CopyMemory obj, 0&, 4 + +End Function + +#If USELOCALIZATION = 1 Then +Private Sub m_L10nDict_LanguageChanged() + L10n.TranslateControls Me.Controls +End Sub +#End If diff --git a/source/forms/LoginForm.form b/source/forms/LoginForm.form new file mode 100644 index 0000000..2d2ac99 --- /dev/null +++ b/source/forms/LoginForm.form @@ -0,0 +1,155 @@ +Version =20 +VersionRequired =20 +Begin Form + AllowFilters = NotDefault + PopUp = NotDefault + RecordSelectors = NotDefault + ControlBox = NotDefault + AutoCenter = NotDefault + NavigationButtons = NotDefault + DividingLines = NotDefault + DefaultView =0 + ScrollBars =0 + ViewsAllowed =1 + TabularFamily =124 + BorderStyle =3 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + Cycle =1 + GridY =10 + Width =3911 + DatasheetFontHeight =10 + ItemSuffix =6 + Left =1000 + Top =1000 + Right =50000 + Bottom =50000 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0x68568eb19ee2e240 + End + Caption ="Login" + DatasheetFontName ="Arial" + OnLoad ="[Event Procedure]" + FilterOnLoad =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin CommandButton + Width =1701 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin Section + Height =1701 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1583 + Top =225 + Width =2154 + Height =255 + FontSize =9 + BackColor =-2147483643 + ForeColor =-2147483640 + Name ="txtUID" + Begin + Begin Label + OverlapFlags =85 + Left =165 + Top =225 + Width =1293 + Height =255 + FontSize =9 + Name ="labLoginName" + Caption ="Login name" + Tag ="LANG:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1583 + Top =621 + Width =2154 + Height =255 + FontSize =9 + TabIndex =1 + BackColor =-2147483643 + ForeColor =-2147483640 + Name ="txtPwd" + InputMask ="Password" + Begin + Begin Label + OverlapFlags =85 + Left =165 + Top =621 + Width =1293 + Height =255 + FontSize =9 + Name ="labPassword" + Caption ="Password" + Tag ="LANG:" + End + End + End + Begin CommandButton + Default = NotDefault + OverlapFlags =85 + AccessKey =79 + Left =170 + Top =1133 + Width =1418 + Height =418 + TabIndex =2 + Name ="cmdLogin" + Caption ="&OK" + OnClick ="[Event Procedure]" + UnicodeAccessKey =79 + End + Begin CommandButton + Cancel = NotDefault + OverlapFlags =85 + AccessKey =65 + Left =2324 + Top =1133 + Width =1418 + Height =418 + TabIndex =3 + Name ="cmdCancel" + Caption ="&Abbrechen" + OnClick ="[Event Procedure]" + UnicodeAccessKey =65 + End + End + End + End +End +CodeBehindForm +' See "LoginForm.cls" diff --git a/source/forms/LoginForm.json b/source/forms/LoginForm.json new file mode 100644 index 0000000..816b054 --- /dev/null +++ b/source/forms/LoginForm.json @@ -0,0 +1,28 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "LoginForm Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + } + } +} diff --git a/source/forms/frmConfig_DBMS.cls b/source/forms/frmConfig_DBMS.cls new file mode 100644 index 0000000..0f46397 --- /dev/null +++ b/source/forms/frmConfig_DBMS.cls @@ -0,0 +1,451 @@ +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +'--------------------------------------------------------------------------------------- +' VBA Document: Form_frmConfig_DBMS +'--------------------------------------------------------------------------------------- +'/** +'

    +' Form_frmConfig_DBMS +' +' +' +'**/ +'--------------------------------------------------------------------------------------- +' +'--------------------------------------------------------------------------------------- +' Formular: frmConfig_DBMS +'--------------------------------------------------------------------------------------- +Option Compare Database +Option Explicit + +Private WithEvents m_DetailForm As Form_frmConfig_DBMS_SF_Data +Attribute m_DetailForm.VB_VarHelpID = -1 + +Private WithEvents m_L10nDict As L10nDict +Attribute m_L10nDict.VB_VarHelpID = -1 + +Private m_TemplateMode As Boolean + +Public Property Let TemplateMode(ByVal tm As Boolean) + m_TemplateMode = tm + Me.lstCID.Value = Null + InitForm + Me.lstCID.Value = Me.lstCID.Column(0, 0) + CidDetailForm.SetData Nz(Me.lstCID.Value, vbNullString) +End Property + +Private Property Get SourceDb() As DAO.Database + If m_TemplateMode Then + Set SourceDb = CodeDb + Else + Set SourceDb = CurrentDb + End If +End Property + +Private Property Get SourceConnection() As ADODB.Connection + If m_TemplateMode Then + Set SourceConnection = CodeProject.Connection + Else + Set SourceConnection = CurrentProject.Connection + End If +End Property + + +'--------------------------------------------------------------------------------------- +' Property: CidDetailForm (16.03.2009) +'--------------------------------------------------------------------------------------- +'/** +' +' CidDetailForm +' +' Form +' +'**/ +'--------------------------------------------------------------------------------------- +Private Property Get CidDetailForm() As Form + If m_DetailForm Is Nothing Then + InitDetailForm + End If + Set CidDetailForm = m_DetailForm +End Property + +Private Sub InitDetailForm() + With Me.sfrDetailForm + If Len(.SourceObject) = 0 Then + .SourceObject = "frmConfig_DBMS_SF_Data" + End If + Set m_DetailForm = .Form + End With + m_DetailForm.TemplateMode = m_TemplateMode +End Sub + +Private Sub InitConnectionList() + + Dim rst As DAO.Recordset + Dim strRowSource As String + + Set rst = SourceDb.OpenRecordset("SELECT C.CID FROM usys_DbmsConnection AS C ORDER BY C.ActiveConnection, C.CID", dbOpenForwardOnly, dbReadOnly) + 'Set Me.lstCID.Recordset = rst + 'Schleifendurchlauf statt Recordset-Zuweisung, da die Recordsetzuweisung erst aber Ac02 funktioniert + With rst + If Not .EOF Then + Do + strRowSource = strRowSource & ";" & .Fields(0).Value + .MoveNext + Loop Until .EOF + strRowSource = Mid$(strRowSource, 2) + End If + End With + + Me.lstCID.RowSource = strRowSource + +End Sub + +Private Function CheckConnectionTable() As Boolean + +On Error Resume Next + + If Not TableDefExists("usys_DbmsConnection", SourceDb) Then + If MsgBox("The required table 'usys_DbmsConnection' does not exist, should it be created?", vbOKCancel + vbQuestion) = vbOK Then + CheckConnectionTable = CreateConnectionTable(SourceConnection) + Else + CheckConnectionTable = False + Exit Function + End If + Else + CheckConnectionTable = True + End If + +End Function + +Private Sub cbxLangCode_AfterUpdate() + With Me.cbxLangCode + If IsNull(.Value) Then + .Value = "EN" + End If + L10n.LangCode = .Value + End With +End Sub + +Private Sub cmdNewCID_Click() +On Error GoTo HandleErr + + CreateNewCID + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub Form_Current() +On Error Resume Next + Me.lstCID.Value = Me.lstCID.Column(0, 0) + CidDetailForm.SetData Nz(Me.lstCID.Value, vbNullString) +End Sub + +Private Sub Form_Deactivate() +On Error Resume Next + 'Zur Sicherheit speichern, damit in anderen Formularen die neuesten Einstellungen gelten + CidDetailForm.SaveRecord +End Sub + +Private Sub InitForm() + + Dim backgroundForm As Long + + If Not CheckConnectionTable Then + DoCmd.Close acForm, Me.Name + Exit Sub + End If + + InitConnectionList + InitDetailForm + + If m_TemplateMode Then + backgroundForm = dcwBackgroundFormTemplates + Else + backgroundForm = dcwBackgroundForm + End If + + Me.Section(acDetail).BackColor = backgroundForm + Me.lstCID.BackColor = backgroundForm + +End Sub + +Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) +On Error GoTo HandleErr + + If KeyCode = vbKeyF1 Then + OpenHelpFile + KeyCode = 0 + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub Form_Load() +On Error GoTo HandleErr + + InitForm + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub Form_Open(Cancel As Integer) + Me.cbxLangCode.Value = L10n.LangCode + L10n.TranslateControls Me.Controls + Set m_L10nDict = L10n + SetFormCaption +End Sub + +Public Sub SetFormCaption() + + Dim FormCaption As String + + If m_TemplateMode Then + FormCaption = L10n.Text("Edit Template") + Me.cmdNewCID.Caption = L10n.Text("&New Template") + Else + FormCaption = "ACLib DBMS Connection Wizard " & ChrW(&H25AA) & " Version " & CurrentApplication.Version & " (" & L10n.Text("Classes & Modules") & ": SCC-Rev. " & SccRev & ")" + Me.cmdNewCID.Caption = L10n.Text("&New Connection") + End If + + Me.Caption = FormCaption + +End Sub + +Private Sub Form_Unload(Cancel As Integer) +On Error Resume Next + Set m_DetailForm = Nothing + DisposeWizard +End Sub + +Private Sub lstCID_AfterUpdate() +On Error GoTo HandleErr + + CidDetailForm.SetData Nz(Me.lstCID.Value, vbNullString) + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub lstCID_KeyDown(KeyCode As Integer, Shift As Integer) +On Error GoTo HandleErr + + If KeyCode = vbKeyDelete Then + deleteSelectedItem + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub deleteSelectedItem() + + Dim strCID As String + + If Me.lstCID.Column(1) = True Then + MsgBox "Eine aktivierte Verbindung kann nicht gelöscht werden!", vbCritical + vbOKOnly + Exit Sub + End If + strCID = Me.lstCID.Value + If MsgBox("Sollen die Daten von '" & strCID & "' gelöscht werden?", vbYesNo + vbDefaultButton2) = vbYes Then + CidDetailForm.SetNoData + Me.lstCID.Value = vbNullString + SourceDb.Execute "delete from usys_DbmsConnection where CID = " & SqlTools.TextToSqlText(strCID), dbFailOnError + InitConnectionList + End If + +End Sub + +Private Sub CopySelectedItem() + + Dim strCID As String + Dim strCIDnew As String + Dim lngCounter As Long + Dim db As DAO.Database + + strCID = Me.lstCID.Value + + Set db = SourceDb + lngCounter = 1 + strCIDnew = strCID & "_1" + Do While db.OpenRecordset("select count(*) from usys_DbmsConnection where CID='" & strCIDnew & "'")(0) > 0 + lngCounter = lngCounter + 1 + strCIDnew = strCID & "_" & lngCounter + Loop + + CidDetailForm.SetNoData + Me.lstCID.Value = vbNullString + + db.Execute "insert into usys_DbmsConnection (" & DCW_usys_DbmsConnection_Fields & ")" & _ + " select " & Replace(Replace(DCW_usys_DbmsConnection_Fields, "CID", SqlTools.TextToSqlText(strCIDnew)), "ActiveConnection", "false") & " from usys_DbmsConnection" & _ + " where CID = " & SqlTools.TextToSqlText(strCID), dbFailOnError + Set db = Nothing + + InitConnectionList + Me.lstCID.Value = strCIDnew + CidDetailForm.SetData strCIDnew + +End Sub + +Private Sub CreateNewCID() + Me.lstCID.Value = Null + CidDetailForm.CreateNewRecord +End Sub + +Private Sub OpenListboxContextMenu(ByVal X As Single, ByVal Y As Single) + + Dim mnu As WinApiShortcutMenu + + Set mnu = New WinApiShortcutMenu + With mnu + .ControlSection = acDetail + Set .AccessForm = Me + Set .MenuControl = Me.lstCID + If Len(Me.lstCID.Value) > 0 Then + .AddMenuItem 1, "markierten Eintrag löschen", MF_STRING + .AddMenuItem 2, "markierten Eintrag kopieren", MF_STRING + .AddMenuItem 0, "---", MF_SEPARATOR + End If + .AddMenuItem 3, "Neuen Eintrag erstellen", MF_STRING + End With + + Select Case mnu.OpenMenu(X, Y) + Case 1 + deleteSelectedItem + Case 2 + CopySelectedItem + Case 3 + CreateNewCID + Case Else + ' + End Select + +End Sub + +Private Sub lstCID_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenListboxContextMenu X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub m_DetailForm_CidStateChanged(ByVal currentCID As String) +On Error GoTo HandleErr + + InitConnectionList + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub m_DetailForm_CidValueChanged(ByVal newCID As String) +On Error GoTo HandleErr + + With Me.lstCID + .Value = Null + InitConnectionList + .Value = newCID + End With + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub m_L10nDict_LanguageChanged() + If Nz(Me.cbxLangCode.Value, vbNullString) <> L10n.LangCode Then + Me.cbxLangCode.Value = L10n.LangCode + End If + SetFormCaption + L10n.TranslateControls Me.Controls +End Sub + +Private Sub labCheckVersion_Click() + + Select Case L10n.ControlTag(Me.labCheckVersion.Tag) + Case "unchecked" + SetNewVersionInfo + Case "NewVersionExists" + OpenDownloadSource + Case Else + ' + End Select + +End Sub + +Private Sub SetNewVersionInfo() + + Dim AhProcParams(1) As Variant + Dim AhResumeMode As ApplicationHandlerResumeModes + Dim AhResumeMessage As Variant + + Call CurrentApplication.CallExtensionProcedure("AppVersion", "NewVersionExists", AhResumeMode, AhResumeMessage, AhProcParams) + + If AhResumeMode <> AppResumeMode_Completed Then + If AhResumeMode = AppResumeMode_Error Then + If Len(AhResumeMessage) > 0 Then + MsgBox AhResumeMessage, vbExclamation, "Error during version check" + End If + End If + Exit Sub + End If + + With Me.labCheckVersion + If AhResumeMessage = False Then + .Caption = L10n.Text("Latest version is installed") + .Tag = "VersionUptodate" & L10n.LangSeparatorChar & "LANG:Latest version is installed" + .ForeColor = 0 + .FontUnderline = False + ElseIf AhResumeMessage = True Then + .Caption = FormatText("New Version ({0}) available", AhProcParams(0)) + .ControlTipText = AhProcParams(1) + .Tag = "NewVersionExists" + Else + + End If + End With + +End Sub + +Private Sub OpenDownloadSource() + Application.FollowHyperlink APPLICATION_DOWNLOADSOURCE, , True, False +End Sub + +Private Function GetCheckedControlName(ByVal ControlNameToCheck As String) As String + GetCheckedControlName = Replace(ControlNameToCheck, " ", "_") +End Function diff --git a/source/forms/frmConfig_DBMS.form b/source/forms/frmConfig_DBMS.form new file mode 100644 index 0000000..e4b829e --- /dev/null +++ b/source/forms/frmConfig_DBMS.form @@ -0,0 +1,204 @@ +Version =20 +VersionRequired =20 +Begin Form + AllowFilters = NotDefault + RecordSelectors = NotDefault + ShortcutMenu = NotDefault + AutoCenter = NotDefault + NavigationButtons = NotDefault + AllowDeletions = NotDefault + DividingLines = NotDefault + AllowAdditions = NotDefault + KeyPreview = NotDefault + DefaultView =0 + ScrollBars =0 + TabularFamily =119 + BorderStyle =3 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + Cycle =1 + GridY =10 + Width =13606 + DatasheetFontHeight =10 + ItemSuffix =25 + Left =1000 + Top =1000 + Right =50000 + Bottom =50000 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0xdc0c5e0e39c2e240 + End + Caption ="DBMS-Connection-Wizard: DBMS-Verbindung konfigurieren" + OnCurrent ="[Event Procedure]" + OnOpen ="[Event Procedure]" + DatasheetFontName ="Arial" + OnKeyDown ="[Event Procedure]" + OnDeactivate ="[Event Procedure]" + OnLoad ="[Event Procedure]" + FilterOnLoad =0 + ShowPageMargins =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin CommandButton + Width =1701 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin ListBox + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1417 + LabelX =-1701 + FontName ="Tahoma" + End + Begin ComboBox + AddColon = NotDefault + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontSize =11 + FontName ="Calibri" + AllowValueListEdits =1 + InheritValueList =1 + ThemeFontIndex =1 + BackThemeColorIndex =1 + BorderThemeColorIndex =1 + BorderShade =65.0 + ForeThemeColorIndex =2 + ForeShade =50.0 + GridlineThemeColorIndex =1 + GridlineShade =65.0 + End + Begin Subform + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin Section + CanGrow = NotDefault + Height =8078 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin ListBox + RowSourceTypeInt =1 + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =113 + Top =338 + Width =1581 + Height =7261 + FontSize =10 + FontWeight =700 + BackColor =-2147483633 + Name ="lstCID" + RowSourceType ="Value List" + ColumnWidths ="1560" + AfterUpdate ="[Event Procedure]" + OnKeyDown ="[Event Procedure]" + OnMouseUp ="[Event Procedure]" + + End + Begin Subform + OverlapFlags =85 + Left =1870 + Top =338 + Width =11625 + Height =7680 + TabIndex =1 + Name ="sfrDetailForm" + Tag ="frmConfig_DBMS_SF_Data" + + End + Begin CommandButton + OverlapFlags =85 + AccessKey =78 + Left =120 + Top =7675 + Width =1582 + Height =343 + TabIndex =2 + Name ="cmdNewCID" + Caption ="&New Connection" + OnClick ="[Event Procedure]" + Tag ="LANG:" + UnicodeAccessKey =78 + + End + Begin ComboBox + LimitToList = NotDefault + TabStop = NotDefault + RowSourceTypeInt =1 + OldBorderStyle =0 + OverlapFlags =85 + TextAlign =2 + IMESentenceMode =3 + Left =12923 + Top =53 + Width =561 + Height =228 + FontSize =8 + TabIndex =3 + BackColor =14151142 + Name ="cbxLangCode" + RowSourceType ="Value List" + RowSource ="\"EN\";\"DE\"" + AfterUpdate ="[Event Procedure]" + FontName ="Tahoma" + HorizontalAnchor =1 + AllowValueListEdits =0 + InheritValueList =0 + + ThemeFontIndex =-1 + BackThemeColorIndex =-1 + BorderThemeColorIndex =-1 + BorderShade =100.0 + ForeThemeColorIndex =-1 + ForeShade =100.0 + GridlineThemeColorIndex =-1 + GridlineShade =100.0 + End + Begin Label + FontUnderline = NotDefault + OverlapFlags =85 + TextAlign =3 + Left =10317 + Top =56 + Width =2455 + Height =240 + ForeColor =16737792 + Name ="labCheckVersion" + Caption ="Check wizard version" + OnClick ="[Event Procedure]" + Tag ="unchecked|LANG:" + VerticalAnchor =1 + End + End + End + End +End +CodeBehindForm +' See "frmConfig_DBMS.cls" diff --git a/source/forms/frmConfig_DBMS.json b/source/forms/frmConfig_DBMS.json new file mode 100644 index 0000000..f2e4b2c --- /dev/null +++ b/source/forms/frmConfig_DBMS.json @@ -0,0 +1,28 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "frmConfig_DBMS Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + } + } +} diff --git a/source/forms/frmConfig_DBMS_SF_Data.cls b/source/forms/frmConfig_DBMS_SF_Data.cls new file mode 100644 index 0000000..9b5fa7e --- /dev/null +++ b/source/forms/frmConfig_DBMS_SF_Data.cls @@ -0,0 +1,1092 @@ +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Option Compare Database +Option Explicit + +'Basis-Datenherkunft +Private Const m_DATASOURCE As String = _ + "SELECT C.CID, C.ActiveConnection, C.DBMS, C.dbmsConnectionMode, C.dbmsOleDbProvider, C.dbmsOdbcDriver, C.dbmsServer, C.dbmsPort, C.dbmsDatabase, X.dbmsEnabled, C.dbmsUseTrustedConnection, C.dbmsUseLoginForm, C.dbmsUser, C.dbmsPwd, C.dbmsOptionsODBC, C.dbmsOptionsOLEDB, C.dbmsDSN, C.dbmsConStrODBC, C.dbmsConStrOLEDB, C.Remarks, X.XdbmsConnectionModes, X.XdbmsServer, X.XdbmsPort, X.XdbmsDatabase, X.XdbmsUseLoginForm, X.XdbmsUseTrustedConnection, X.XdbmsUser, X.XdbmsPwd, X.XdbmsOptionsODBC, X.XdbmsOptionsOLEDB, X.XdbmsDSN, X.XdbmsConStrODBC, X.XdbmsConStrOLEDB, X.XdbmsOledbProvider, X.XdbmsOdbcDriver, X.DriverODBC, X.DriverOLEDB" & _ + " FROM usys_DbmsConnection_X AS X RIGHT JOIN usys_DbmsConnection AS C ON X.DBMS = C.DBMS" + +Public Event CidValueChanged(ByVal newCID As String) +Public Event CidStateChanged(ByVal currentCID As String) + +Private m_OpenModules As Long +Private m_CodeModulImporter As AppFileCodeModulTransfer + +Private m_TemplatesForm As Form_frmConfig_DBMS + +Private m_TemplateMode As Boolean + +Private WithEvents m_L10nDict As L10nDict +Attribute m_L10nDict.VB_VarHelpID = -1 + +Public Property Let TemplateMode(ByVal tm As Boolean) + m_TemplateMode = tm + InitForm +End Property + +'Datenquellen für Formular (je nachdem ob Formular für FE-Verbindung bzw. Vorlage verwendet wird): +Private Property Get SourceDb() As DAO.Database + If m_TemplateMode Then 'DB des Add-In verwenden + Set SourceDb = CodeDb + Else 'FE-Databaseinstanz einsetzen + Set SourceDb = CurrentDb + End If +End Property + +Private Property Get DataSource() As String + If m_TemplateMode Then 'unveränderte Basis-Datenherkunft verwenden + DataSource = m_DATASOURCE + Else 'Basis-Datenherkunft anpassen, damit usys_DbmsConnection_X aus Add-In verwendet wird + DataSource = Replace(m_DATASOURCE, "usys_DbmsConnection_X", "[" & CodeDb.Name & "].usys_DbmsConnection_X") + End If +End Property + +'Datenquelle für Formular einstellen +Public Sub SetData(ByVal sCID As String) +'sCID: Übergabe der Verbindungskennung + + Dim strSQL As String + + If Len(sCID) > 0 Then + strSQL = DataSource & " where CID = " & SqlTools.TextToSqlText(sCID) + Set Me.Recordset = SourceDb.OpenRecordset(strSQL, dbOpenDynaset) + Else + SetNoData + End If + +End Sub + +Public Sub SetNoData() + Me.RecordSource = "SELECT NULL AS CID, NULL AS ActiveConnection, NULL AS DBMS, NULL AS dbmsConnectionMode, NULL AS dbmsOleDbProvider, NULL AS dbmsOdbcDriver, NULL AS dbmsServer, NULL AS dbmsPort, NULL AS dbmsDatabase, NULL AS dbmsEnabled, NULL AS dbmsUseTrustedConnection, NULL AS dbmsUseLoginForm, NULL AS dbmsUser, NULL AS dbmsPwd, NULL AS dbmsOptionsODBC, NULL AS dbmsOptionsOLEDB, NULL AS dbmsDSN, NULL AS dbmsConStrODBC, NULL AS dbmsConStrOLEDB, NULL AS Remarks, NULL AS XdbmsConnectionModes, NULL AS XdbmsServer, NULL AS XdbmsPort, NULL AS XdbmsDatabase, NULL AS XdbmsUseLoginForm, NULL AS XdbmsUseTrustedConnection, NULL AS XdbmsUser, NULL AS XdbmsPwd, NULL AS XdbmsOptionsODBC, NULL AS XdbmsOptionsOLEDB, NULL AS XdbmsDSN, NULL AS XdbmsConStrODBC, NULL AS XdbmsConStrOLEDB, NULL AS XdbmsOledbProvider, NULL AS XdbmsOdbcDriver, NULL AS DriverODBC, NULL AS DriverOLEDB FROM tab1DS where 1=0" +End Sub + +Public Sub SaveRecord() + If Me.Dirty Then Me.Dirty = False +End Sub + +Public Sub CreateNewRecord() + + Set Me.Recordset = SourceDb.OpenRecordset(DataSource & " where 1=0", dbOpenDynaset) + + Me.AllowAdditions = True + + Me.txtCID.Locked = False + Me.txtCID.SetFocus + + Me.txtCID.BackColor = dcwBackgroundTextboxEdit + Me.txtCID.BorderStyle = 1 + Me.txtCID.BorderColor = vbRed + + Me.cbxDBMS.Visible = True + Me.cbxDBMS.BackColor = dcwBackgroundTextboxEdit + 'Me.cbxDBMS.BorderStyle = 1 + Me.cbxDBMS.BorderColor = vbRed + + Me.txtDBMS.Visible = False + SetLayoutMode + +End Sub + +Private Sub cbTrustedConnection_AfterUpdate() + +On Error GoTo HandleErr + + If (Me.cbTrustedConnection.Value = True) And (Me!XdbmsUseTrustedConnection > 0) Then + Me.cbUseLoginForm.Value = False + Me.txtDbmsUser.Value = Null + Me.txtDbmsPwd.Value = Null + End If + + SetControlMode + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + + +Private Sub cbActiveConnection_AfterUpdate() + +On Error GoTo HandleErr + + Me.Dirty = False + If Me.cbActiveConnection.Value = True Then + SourceDb.Execute "update usys_DbmsConnection set ActiveConnection = 0 where CID <> " & SqlTools.TextToSqlText(Me!CID), dbFailOnError + ClearConnectionInfos + CurrentConnectionInfo.ConnectionIdentifier = Nz(Me!CID, vbNullString) + Else + ClearApplicationConnectionInfo + DisposeDbConnection + End If + + Me.cmdLinkTables.Enabled = (Me.cbActiveConnection.Value = True) + Me.cmdTestSQL.Enabled = (Me.cbActiveConnection.Value = True) + RaiseEvent CidStateChanged(Me!CID) + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub SetControlMode() + + Dim bolTrustedConnection As Boolean + Dim bolUseLoginForm As Boolean + + bolUseLoginForm = Me.cbUseLoginForm.Value + bolTrustedConnection = Me.cbTrustedConnection.Value And (Me!XdbmsUseTrustedConnection > 0) + + Me.txtDbmsUser.Enabled = Not bolTrustedConnection + Me.txtDbmsPwd.Enabled = Not (bolTrustedConnection Or bolUseLoginForm) + If bolTrustedConnection Then + Me.txtDbmsUser.Value = Null + Me.txtDbmsPwd.Value = Null + ElseIf bolUseLoginForm Then + Me.txtDbmsPwd.Value = Null + End If + + If Me!XdbmsUseTrustedConnection = 0 And Me.cbTrustedConnection.Value = True Then + Me.labDbmsUser.Caption = "Loginadmin:" + Else + Me.labDbmsUser.Caption = "User:" + End If + +End Sub + +Private Sub SetLayoutMode() + + Dim bolTrustedConnection As Boolean + Dim bolUseLoginForm As Boolean + Dim bolIsMSJET As Boolean + Dim lngConnectionMode As Long + Dim lngAllowedConnectionModes As Long + Dim strDbmsName As String + Dim backgroundHeader As Long + + If m_TemplateMode Then + backgroundHeader = dcwBackgroundLightHeaderTemplates + Else + backgroundHeader = dcwBackgroundLightHeader + End If + + Me!sysFirst.SetFocus + + Me.cbxDBMS.Visible = (Len(Me.cbxDBMS & "") = 0) + Me.txtDBMS.Visible = Not Me.cbxDBMS.Visible + Me.txtCID.Locked = (Len(Me.txtCID & "") > 0) + Me.txtCID.BorderStyle = Abs(Not Me.txtCID.Locked) + If Me.txtCID.Locked Then + Me.txtCID.BackColor = backgroundHeader + Else + Me.txtCID.BackColor = dcwBackgroundTextboxEdit + End If + + lngConnectionMode = Nz(Me!dbmsConnectionMode, -1) + If lngConnectionMode = 0 Then lngConnectionMode = -1 'damit alle Parameterfelder deaktiviert werden + lngAllowedConnectionModes = Nz(Me!XdbmsConnectionModes, 0) + + Me.cbActiveConnection.Enabled = (lngConnectionMode > 0) + Me.cmdCheckConnection.Enabled = (lngConnectionMode > 0) + + Me.ogDbmsConnectionMode.Enabled = (lngAllowedConnectionModes > 0) + Me.txtRemarks.Enabled = (lngAllowedConnectionModes > 0) + + Me.optDbmsConnectionMode1.Enabled = (lngAllowedConnectionModes And 1) = 1 + Me.optDbmsConnectionMode2.Enabled = (lngAllowedConnectionModes And 2) = 2 + Me.optDbmsConnectionMode4.Enabled = (lngAllowedConnectionModes And 4) = 4 + + strDbmsName = Nz(Me!DBMS, vbNullString) + bolIsMSJET = (strDbmsName = "MSJET") + Me.cmdSelectFile.Visible = bolIsMSJET + If bolIsMSJET Then + Me.labDatabase.Caption = "mdb-&Datei:" + Me.txtDbmsDatabase.Width = Me.cmdSelectFile.Left - Me.txtDbmsDatabase.Left - 100 + Else + If strDbmsName = "DB2" Then + Me.labDatabase.Caption = "&DBALIAS:" + Else + Me.labDatabase.Caption = "&Database:" + End If + Me.txtDbmsDatabase.Width = Me.txtDbmsPort.Left + Me.txtDbmsPort.Width - Me.txtDbmsDatabase.Left + End If + + Me.txtDbmsServer.Enabled = ((Nz(Me!XdbmsServer, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsPort.Enabled = ((Nz(Me!XdbmsPort, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsDatabase.Enabled = ((Nz(Me!XdbmsDatabase, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsDSN.Enabled = ((Nz(Me!XdbmsDSN, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsOptionsODBC.Enabled = ((Nz(Me!XdbmsOptionsODBC, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsOptionsOLEDB.Enabled = ((Nz(Me!XdbmsOptionsOLEDB, 255) And lngConnectionMode) = lngConnectionMode) + Me.cbTrustedConnection.Enabled = ((Nz(Me!XdbmsUseTrustedConnection, 255) And lngConnectionMode) = lngConnectionMode) + Me.cbUseLoginForm.Enabled = ((Nz(Me!XdbmsUseLoginForm, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsOleDbProvider.Enabled = ((Nz(Me!XdbmsOledbProvider, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsOdbcDriver.Enabled = ((Nz(Me!XdbmsOdbcDriver, 255) And lngConnectionMode) = lngConnectionMode) + + Me.txtDbmsOleDbProvider.Format = "@;;""" & Me!DriverOLEDB + Me.txtDbmsOdbcDriver.Format = "@;;""" & Me!DriverODBC + + Me.txtDbmsConStrODBC.Enabled = ((Nz(Me!XdbmsConStrODBC, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsConStrOLEDB.Enabled = ((Nz(Me!XdbmsConStrOLEDB, 255) And lngConnectionMode) = lngConnectionMode) + + bolUseLoginForm = Nz(Me.cbUseLoginForm.Value, False) + bolTrustedConnection = Nz(Me.cbTrustedConnection.Value, False) And (Nz(Me!XdbmsUseTrustedConnection, 0) = 255) + + Me.txtDbmsUser.Enabled = (Not bolTrustedConnection) And ((Nz(Me!XdbmsUser, 255) And lngConnectionMode) = lngConnectionMode) + Me.txtDbmsPwd.Enabled = (Not bolUseLoginForm) And (Not bolTrustedConnection) And ((Nz(Me!XdbmsPwd, 255) And lngConnectionMode) = lngConnectionMode) + + If Me!XdbmsUseTrustedConnection = 0 And Me.cbTrustedConnection.Value = True Then + Me.labDbmsUser.Caption = "Loginadmin:" + Else + Me.labDbmsUser.Caption = "User:" + End If + +End Sub + +Private Sub cbUseLoginForm_AfterUpdate() + +On Error GoTo HandleErr + + If Me.cbTrustedConnection = True And Me.cbUseLoginForm = True Then + Me.cbTrustedConnection = False + End If + SetControlMode + + CheckConditionalCompilationArgumentsString Me.cbUseLoginForm + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cbxDBMS_AfterUpdate() + RefreshDbmsControl +End Sub + +Private Sub RefreshDbmsControl() + + If Me.NewRecord Then + If Len(Me.cbxDBMS) > 0 Then + Me.cbxDBMS.BorderColor = dcwControlBorderColor + Else + Me.cbxDBMS.BorderColor = vbRed + End If + + If (Len(Me.cbxDBMS.Value) * Len(Me.txtCID.Value)) > 0 Then + SaveRecord + SetLayoutMode + RaiseEvent CidValueChanged(Nz(Me.txtCID.Value, vbNullString)) + ElseIf Len(Me.txtCID & vbNullString) = 0 Then + Me.txtCID.SetFocus + End If + Else + SetLayoutMode + End If + + SetDbmsDriverSource + +End Sub + +Private Sub cbxDBMS_Enter() +On Error GoTo HandleErr + + If Len(Me.cbxDBMS.RowSource) = 0 Then + Me.cbxDBMS.RowSource = "SELECT X.DBMS FROM usys_DbmsConnection_X AS X ORDER BY X.seq" + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub cbxDBMS_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenContextMenu Me.cbxDBMS, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub cmdCheckConnection_Click() + + Dim strCID As String + Dim oDbConnectionInfo As DbConnectionInfo + Dim ErrMsg As String + +On Error GoTo HandleErr + + If Me.Dirty Then Me.Dirty = False + + strCID = Nz(Me!CID, vbNullString) + If Len(strCID) = 0 Then Exit Sub + + Set oDbConnectionInfo = New DbConnectionInfo + + If Me.cbUseLoginForm Then + oDbConnectionInfo.LoginFormName = "LoginForm" + End If + + oDbConnectionInfo.ConnectionIdentifier = strCID 'Übergabe der Verbindungskennung + If oDbConnectionInfo.CheckConnection(ErrMsg) = True Then + MsgBox "Connection was successful" + Else + If Len(ErrMsg) > 0 Then ErrMsg = vbNewLine & vbNewLine & ErrMsg + MsgBox "Connection could not be established." & ErrMsg + End If + Set oDbConnectionInfo = Nothing + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdHelp_Click() +On Error GoTo HandleErr + + OpenHelpFile + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub cmdLinkTables_Click() +On Error GoTo HandleErr + + DoCmd.OpenForm DCW_LinkTablesFormName, , , , , , Me.Name + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub cmdSelectFile_Click() + + Dim strFile As String + Dim strSearchDir As String + Dim lngPos As Long + +On Error GoTo HandleErr + + strSearchDir = Nz(Me.txtDbmsDatabase, vbNullString) + If Len(strSearchDir) > 0 Then + lngPos = InStrRev(strSearchDir, "\") + If lngPos > 0 Then + strSearchDir = Left$(strSearchDir, lngPos - 1) + Else + strSearchDir = vbNullString + End If + End If + + WizHook.Key = 51488399 + WizHook.GetFileName Me.Hwnd, CurrentApplication.ApplicationName, L10n.Text("Select database file"), "Select", _ + strFile, CurrentProject.Path, "*.mdb", 0, 0, 0, True + If Len(strFile) > 0 Then + Me.txtDbmsDatabase.Value = strFile + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub Form_AfterUpdate() +On Error GoTo HandleErr + + ClearConnectionInfos + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub ClearConnectionInfos() + If Me.cbActiveConnection.Value = True Then + CurrentConnectionInfo.ClearConnectionInfo + ClearApplicationConnectionInfo + End If +End Sub + +Private Sub Form_Current() + +On Error GoTo HandleErr + + SetLayoutMode + + If Me.RecordsetClone.RecordCount = 0 Then Exit Sub + + Me.cmdLinkTables.Enabled = (Nz(Me.cbActiveConnection.Value, False) = True) + Me.cmdTestSQL.Enabled = (Nz(Me.cbActiveConnection.Value, False) = True) + + If Not m_TemplateMode Then + CheckModules + End If + + SetDbmsDriverSource + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) +On Error GoTo HandleErr + + If KeyCode = vbKeyF1 Then + OpenHelpFile + KeyCode = 0 + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub Form_Load() +On Error Resume Next + InitForm +End Sub + +Private Sub InitForm() + + Dim backgroundForm As Long + Dim backgroundHeader As Long + + Dim lngMargin As Long + + lngMargin = Me.labDatabase.Left + + If m_TemplateMode Then + backgroundForm = dcwBackgroundFormTemplates + backgroundHeader = dcwBackgroundLightHeaderTemplates + Else + backgroundForm = dcwBackgroundForm + backgroundHeader = dcwBackgroundLightHeader + End If + + Me.Section(acDetail).BackColor = backgroundForm + Me.rectHeader.BackColor = backgroundHeader + Me.txtCID.BackColor = backgroundHeader + Me.txtDBMS.BackColor = backgroundHeader + Me.cbxDBMS.BackColor = backgroundHeader + + Me.cbActiveConnection.Visible = Not m_TemplateMode + + Me.cmdLinkTables.Visible = Not m_TemplateMode + Me.cmdTestSQL.Visible = Not m_TemplateMode + Me.cmdHelp.Visible = Not m_TemplateMode + + Me.labCopyModulAccUtil.Visible = Not m_TemplateMode + Me.labCopyModulDbConnectionHandler.Visible = Not m_TemplateMode + Me.labCopyModulDbConnectionInfo.Visible = Not m_TemplateMode + Me.labCopyModules.Visible = Not m_TemplateMode + + Me.labCopyCaption.Visible = Not m_TemplateMode + Me.labCaptionCopyModulAccUtil.Visible = Not m_TemplateMode + Me.labCaptionCopyModulDbConnectionHandler.Visible = Not m_TemplateMode + Me.labCaptionCopyModulDbConnectionInfo.Visible = Not m_TemplateMode + Me.labCopyCaption.Visible = Not m_TemplateMode + + Me.txtRemarks.Height = 0 + If m_TemplateMode Then + Me.labCaptionRemarks.Top = Me.ogDbmsConnectionMode.Top 'Me.txtDbmsDatabase.Top - Me.labCaptionRemarks.Height + Else + Me.labCaptionRemarks.Top = Me.labProviderDriver.Top + End If + Me.txtRemarks.Top = Me.labCaptionRemarks.Top + Me.labCaptionRemarks.Height + Me.txtRemarks.Height = Me.txtDbmsConStrODBC.Top + Me.txtDbmsConStrODBC.Height - Me.txtRemarks.Top + + L10n.TranslateControls Me.Controls + Set m_L10nDict = L10n + +End Sub + +Private Sub Form_Unload(Cancel As Integer) + Set m_L10nDict = Nothing +End Sub + +Private Sub m_L10nDict_LanguageChanged() + L10n.TranslateControls Me.Controls +End Sub + +Private Sub labCopyCaption_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) + modWinApi_Mouse.MouseCursor IDC_HAND +End Sub + +Private Sub labDbmsCaption_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenContextMenu Me.labDbmsCaption, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub ogDbmsConnectionMode_AfterUpdate() +On Error GoTo HandleErr + + SetLayoutMode + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub rectHeader_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenContextMenu Me.rectHeader, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub txtCID_AfterUpdate() +On Error GoTo HandleErr + + RefreshCidControl + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub RefreshCidControl() + + If Me.NewRecord Then + If Len(Me.txtCID) > 0 Then + Me.txtCID.BorderColor = 8421504 + Else + Me.txtCID.BorderColor = vbRed + End If + + If (Len(Me.cbxDBMS.Value) * Len(Me.txtCID.Value)) > 0 Then + SaveRecord + SetLayoutMode + RaiseEvent CidValueChanged(Nz(Me.txtCID.Value, vbNullString)) + End If + + Else + Me.txtCID.Locked = True + Me.txtCID.BorderStyle = 0 + SaveRecord + RaiseEvent CidValueChanged(Nz(Me.txtCID.Value, vbNullString)) + End If + +End Sub + +Private Sub txtCID_DblClick(Cancel As Integer) + +On Error GoTo HandleErr + + Me.txtCID.Locked = False + Me.txtCID.BorderStyle = 1 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub txtCID_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenContextMenu Me.txtCID, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub txtDBMS_GotFocus() + +On Error GoTo HandleErr + + Me.cbxDBMS.Visible = True + Me.cbxDBMS.SetFocus + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub OpenContextMenu(ByRef ctlMenuControl As Control, ByVal X As Single, ByVal Y As Single) + + Dim mnu As WinApiShortcutMenu + Dim i As Long + Dim rst As DAO.Recordset + Dim cidArray As Variant + Dim lngSelectedMenuItem As Long + Dim lngCidArraySize As Long + + If m_TemplateMode Then 'die Vorlagenansicht ist bereits aktiviert + Exit Sub + End If + + Set mnu = New WinApiShortcutMenu + + With mnu + .ControlSection = acDetail + Set .AccessForm = Me + Set .MenuControl = ctlMenuControl + + .AddMenuItem -1, "Vorlagen bearbeiten", MenuItemStyle.MF_STRING + .AddMenuItem -2, "---", MF_SEPARATOR + + Set rst = CodeDb.OpenRecordset("select CID FROM usys_DbmsConnection order by CID", dbOpenSnapshot, dbReadOnly) + If Not rst.EOF Then + cidArray = rst.GetRows(rst.RecordCount) + lngCidArraySize = UBound(cidArray, 2) + Else + lngCidArraySize = -1 + End If + rst.Close + Set rst = Nothing + + For i = 0 To lngCidArraySize + .AddMenuItem i + 1, cidArray(0, i), MF_STRING, 1 + Next + If i > 0 Then + .AddMenuItem 999, "Parameter von Vorlage übernehmen", MF_STRING Or MF_POPUP, 1 + Else + .AddMenuItem 999, "Parameter von Vorlage übernehmen", MF_STRING + MF_GRAYED + End If + + End With + + lngSelectedMenuItem = mnu.OpenMenu(X, Y) + If lngSelectedMenuItem = -1 Then + OpenTemplates + ElseIf lngSelectedMenuItem > 0 Then + CopyTemplate cidArray(0, lngSelectedMenuItem - 1) + End If + +End Sub + +Private Sub CopyTemplate(ByVal sCID As String) + + Dim rst As DAO.Recordset + Dim fld As DAO.Field + Dim strSQL As String + + strSQL = "select DBMS, dbmsConnectionMode, dbmsOleDbProvider, dbmsOdbcDriver," & _ + " dbmsServer, dbmsPort, dbmsDatabase, dbmsUseTrustedConnection, dbmsUseLoginForm," & _ + " dbmsUser, dbmsPwd, dbmsOptionsODBC, dbmsOptionsOLEDB, dbmsDSN, dbmsConStrODBC, dbmsConStrOLEDB" & _ + " FROM usys_DbmsConnection where CID = " & SqlTools.TextToSqlText(sCID) + + Set rst = CodeDb.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly) + With rst + For Each fld In rst.Fields + Me.Controls(fld.Name).Value = fld.Value + Next + .Close + End With + Set rst = Nothing + + If IsNull(Me!CID) Then + Set rst = SourceDb.OpenRecordset("select CID from usys_DbmsConnection where CID = " & SqlTools.TextToSqlText(sCID), dbOpenForwardOnly, dbReadOnly) + If rst.EOF Then + Me!CID = sCID + RefreshCidControl + End If + rst.Close + Set rst = Nothing + End If + RefreshDbmsControl + +End Sub + +Private Sub OpenTemplates() + Set m_TemplatesForm = New Form_frmConfig_DBMS + m_TemplatesForm.TemplateMode = True + m_TemplatesForm.Visible = True +End Sub + +Private Sub txtDBMS_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 2 Then + OpenContextMenu Me.txtDBMS, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub SetDbmsDriverSource() + Me.txtDbmsOdbcDriver.RowSource = "SELECT Driver FROM usys_DbmsConnection_X_Driver WHERE DBMS = " & SqlTools.TextToSqlText(Me!txtDBMS.Value) & " AND ConMode='ODBC'" + Me.txtDbmsOleDbProvider.RowSource = "SELECT Driver FROM usys_DbmsConnection_X_Driver WHERE DBMS = " & SqlTools.TextToSqlText(Me!txtDBMS.Value) & " AND ConMode='OLEDB'" +End Sub + +Private Sub txtDbmsOdbcDriver_Enter() +On Error GoTo HandleErr + + Me.txtDbmsOdbcDriver.ForeColor = 0 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub txtDbmsOdbcDriver_Exit(Cancel As Integer) +On Error GoTo HandleErr + + Me.txtDbmsOdbcDriver.ForeColor = &H808080 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub txtDbmsOleDbProvider_DblClick(Cancel As Integer) + DoCmd.OpenTable "usys_DbmsConnection_X_Driver", acViewNormal, acEdit +End Sub + +Private Sub txtDbmsOleDbProvider_Enter() +On Error GoTo HandleErr + + Me.txtDbmsOleDbProvider.ForeColor = 0 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub txtDbmsOleDbProvider_Exit(Cancel As Integer) +On Error GoTo HandleErr + + Me.txtDbmsOleDbProvider.ForeColor = &H808080 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdTestSQL_Click() +On Error GoTo HandleErr + + DoCmd.OpenForm DCW_TestSqlFormName + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub OpenReplaceModulesContextMenu(ByRef MenuControlRef As Control, ByVal X As Single, ByVal Y As Single) + + Dim mnu As WinApiShortcutMenu + Dim SelectedMenuItem As Long + + If m_TemplateMode Then + Exit Sub + End If + + Set mnu = New WinApiShortcutMenu + + With mnu + .ControlSection = acDetail + Set .AccessForm = Me + Set .MenuControl = MenuControlRef + + .AddMenuItem 3, L10n.Text("Update code modules in add-in from SCC repository (master).") + .AddMenuItem 4, L10n.Text("Update code modules in add-in from SCC repository (draft).") + .AddMenuItem 0, "", MF_SEPARATOR + .AddMenuItem 1, L10n.Text("Renew all code modules (existing modules are overwritten)") + + End With + + SelectedMenuItem = mnu.OpenMenu(X, Y) + Select Case SelectedMenuItem + Case 1 + ReplaceAllModules + Case 3 + RefreshCodeModulesFromSccRepo False + Case 4 + RefreshCodeModulesFromSccRepo True + Case Else + ' + End Select + + Set mnu = Nothing + +End Sub + +Private Sub ReplaceAllModules() + + Dim bolReplaced As Boolean + +On Error Resume Next + + bolReplaced = ReplaceCodeModules("SqlTools", "defDbConnection", "DbConnectionInfo", "AdodbHandler", "DaoHandler", "OdbcHandler", _ + "DbConnectionHandler", "DbConnectionSettings", "DbConnectionManager", "modDbConnection") + + If bolReplaced Then + + SetModulCopyControls "CopyModulAccUtil", True + SetModulCopyControls "CopyModulDbConnectionHandler", True + SetModulCopyControls "CopyModulDbConnectionInfo", True + SetModulCopyControls "CopyModules", True + + If m_OpenModules = 0 Then + MsgBox "Modules and classes updated" + End If + + m_OpenModules = 0 + + End If + +End Sub + +Private Sub RefreshCodeModulesFromSccRepo(ByVal UseDraft As Boolean) + + With New ACLibGitHubImporter + + .UseDraftBranch = UseDraft + + If .LastCommit(True) = SccRevMin Then + If MsgBox("All modules are already up to date." & vbNewLine & _ + "Do you still want to re-import?", vbYesNo + vbDefaultButton2, CurrentApplication.ApplicationName) <> vbYes Then + Exit Sub + End If + End If + + .UpdateCodeModules + + End With + + MsgBox "Codemodules have been updated.", , CurrentApplication.ApplicationName + + SetFormCaption + +End Sub + +Private Sub labCopyCaption_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) +On Error GoTo HandleErr + + If Button = 1 Or Button = 2 Then + OpenReplaceModulesContextMenu Me.labCopyCaption, X, Y + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub CheckModules() + + Dim checkOk As Boolean + +On Error Resume Next + + m_OpenModules = 0 + + With CodeModulImporter + checkOk = .CheckCodeModules("SqlTools", "defDbConnection", "DbConnectionInfo") + m_OpenModules = m_OpenModules + 1 + checkOk + SetModulCopyControls "CopyModulDbConnectionInfo", checkOk + + checkOk = .CheckCodeModules("AdodbHandler", "DaoHandler", "OdbcHandler", "DbConnectionHandler") + m_OpenModules = m_OpenModules + 1 + checkOk + SetModulCopyControls "CopyModulDbConnectionHandler", checkOk + + checkOk = .CheckCodeModules("DbConnectionSettings", "DbConnectionManager", "modDbConnection") + m_OpenModules = m_OpenModules + 1 + checkOk + SetModulCopyControls "CopyModulAccUtil", checkOk + + checkOk = (m_OpenModules = 0) + SetModulCopyControls "CopyModules", checkOk + End With + +End Sub + +Private Property Get CodeModulImporter() As AppFileCodeModulTransfer + If m_CodeModulImporter Is Nothing Then + Set m_CodeModulImporter = New AppFileCodeModulTransfer + m_CodeModulImporter.UseVbComponentsImport = APPLICATION_FILTERCODEMODULE_USEVBCOMPONENTSIMPORT + End If + Set CodeModulImporter = m_CodeModulImporter +End Property + +Private Sub cmdCopyModulAccUtil_Click() +On Error GoTo HandleErr + + CodeModulImporter.TransferCodeModules "DbConnectionSettings", "DbConnectionManager", "modDbConnection" + m_OpenModules = m_OpenModules - 1 + If Not CheckCodeModules("AdodbHandler", "DaoHandler", "OdbcHandler", "DbConnectionHandler") Then + cmdCopyModulDbConnectionHandler_Click + End If + SetModulCopyControls "CopyModulAccUtil", True + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdCopyModulDbConnectionHandler_Click() +On Error GoTo HandleErr + + CodeModulImporter.TransferCodeModules "AdodbHandler", "DaoHandler", "OdbcHandler", "DbConnectionHandler" + m_OpenModules = m_OpenModules - 1 + If Not CheckCodeModules("defDbConnection", "DbConnectionInfo") Then + cmdCopyModulDbConnectionInfo_Click + End If + SetModulCopyControls "CopyModulDbConnectionHandler", True + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdCopyModulDbConnectionInfo_Click() +On Error GoTo HandleErr + + CheckConditionalCompilationArgumentsString Me.cbUseLoginForm + CheckLoginForm + CodeModulImporter.TransferCodeModules "SqlTools", "defDbConnection", "DbConnectionInfo" + m_OpenModules = m_OpenModules - 1 + SetModulCopyControls "CopyModulDbConnectionInfo", True + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdCopyModules_Click() +On Error GoTo HandleErr + + CheckConditionalCompilationArgumentsString Me.cbUseLoginForm + CheckLoginForm + + CodeModulImporter.TransferCodeModules "SqlTools", "defDbConnection", "DbConnectionInfo", "AdodbHandler", "DaoHandler", "OdbcHandler", "DbConnectionHandler", "DbConnectionSettings", "DbConnectionManager", "modDbConnection" + SetModulCopyControls "CopyModulAccUtil", True + SetModulCopyControls "CopyModulDbConnectionHandler", True + SetModulCopyControls "CopyModulDbConnectionInfo", True + SetModulCopyControls "CopyModules", True + m_OpenModules = 0 + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub SetModulCopyControls(ByVal sModulCode As String, ByVal bExists As Boolean) + + Dim sCaption As String + Dim lBorderStyle As Long + +On Error Resume Next + + If bExists Then Me.sysFirst.SetFocus + Me.Controls("cmd" & sModulCode).Enabled = Not bExists + If bExists Then + sCaption = "b" + lBorderStyle = 0 + Else + sCaption = vbNullString + lBorderStyle = 1 + End If + With Me.Controls("lab" & sModulCode) + .Caption = sCaption + .BorderStyle = lBorderStyle + End With + + If sModulCode <> "CopyModules" And m_OpenModules = 0 Then + SetModulCopyControls "CopyModules", True + End If + +End Sub + +Private Sub SetFormCaption() +On Error Resume Next + Me.Parent.SetFormCaption +End Sub diff --git a/source/forms/frmConfig_DBMS_SF_Data.form b/source/forms/frmConfig_DBMS_SF_Data.form new file mode 100644 index 0000000..07c00f5 --- /dev/null +++ b/source/forms/frmConfig_DBMS_SF_Data.form @@ -0,0 +1,1135 @@ +Version =20 +VersionRequired =20 +Begin Form + AllowFilters = NotDefault + RecordSelectors = NotDefault + ShortcutMenu = NotDefault + AutoCenter = NotDefault + NavigationButtons = NotDefault + AllowDeletions = NotDefault + AllowAdditions = NotDefault + KeyPreview = NotDefault + DefaultView =0 + ScrollBars =0 + TabularFamily =119 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + Cycle =1 + GridY =10 + Width =11597 + DatasheetFontHeight =10 + ItemSuffix =88 + Top =1000 + Right =50000 + Bottom =50000 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0xe79e74fdce00e640 + End + RecordSource ="SELECT NULL AS CID, NULL AS ActiveConnection, NULL AS DBMS, NULL AS dbmsConnecti" + "onMode, NULL AS dbmsOleDbProvider, NULL AS dbmsOdbcDriver, NULL AS dbmsServer, N" + "ULL AS dbmsPort, NULL AS dbmsDatabase, NULL AS dbmsEnabled, NULL AS dbmsUseTrust" + "edConnection, NULL AS dbmsUseLoginForm, NULL AS dbmsUser, NULL AS dbmsPwd, NULL " + "AS dbmsOptionsODBC, NULL AS dbmsOptionsOLEDB, NULL AS dbmsDSN, NULL AS dbmsConSt" + "rODBC, NULL AS dbmsConStrOLEDB, NULL AS Remarks, NULL AS XdbmsConnectionModes, N" + "ULL AS XdbmsServer, NULL AS XdbmsPort, NULL AS XdbmsDatabase, NULL AS XdbmsUseLo" + "ginForm, NULL AS XdbmsUseTrustedConnection, NULL AS XdbmsUser, NULL AS XdbmsPwd," + " NULL AS XdbmsOptionsODBC, NULL AS XdbmsOptionsOLEDB, NULL AS XdbmsDSN, NULL AS " + "XdbmsConStrODBC, NULL AS XdbmsConStrOLEDB, NULL AS XdbmsOledbProvider, NULL AS X" + "dbmsOdbcDriver, NULL AS DriverODBC, NULL AS DriverOLEDB FROM tab1DS WHERE 1=0; " + OnCurrent ="[Event Procedure]" + AfterUpdate ="[Event Procedure]" + DatasheetFontName ="Arial" + OnKeyDown ="[Event Procedure]" + OnLoad ="[Event Procedure]" + FilterOnLoad =0 + OrderByOnLoad =0 + OrderByOnLoad =0 + ShowPageMargins =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin Rectangle + SpecialEffect =3 + BackStyle =0 + BorderLineStyle =0 + Width =850 + Height =850 + End + Begin Line + BorderLineStyle =0 + Width =1701 + End + Begin CommandButton + Width =1701 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin CheckBox + SpecialEffect =2 + BorderLineStyle =0 + LabelX =230 + LabelY =-30 + End + Begin OptionGroup + SpecialEffect =3 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin ComboBox + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + End + Begin ToggleButton + Width =283 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin Section + Height =7661 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin Label + OldBorderStyle =1 + BorderWidth =1 + OverlapFlags =93 + TextFontCharSet =2 + TextAlign =1 + TextFontFamily =2 + Left =10935 + Top =1875 + Width =295 + Height =295 + FontSize =16 + ForeColor =5026082 + Name ="labCopyModulDbConnectionHandler" + FontName ="Marlett" + OnClick ="[Event Procedure]" + End + Begin Label + OldBorderStyle =1 + BorderWidth =1 + OverlapFlags =93 + TextFontCharSet =2 + TextAlign =1 + TextFontFamily =2 + Left =10935 + Top =1515 + Width =295 + Height =295 + FontSize =16 + ForeColor =5026082 + Name ="labCopyModulDbConnectionInfo" + FontName ="Marlett" + End + Begin Label + OldBorderStyle =1 + BorderWidth =1 + OverlapFlags =93 + TextFontCharSet =2 + TextAlign =1 + TextFontFamily =2 + Left =10935 + Top =2235 + Width =295 + Height =295 + FontSize =16 + ForeColor =5026082 + Name ="labCopyModulAccUtil" + FontName ="Marlett" + End + Begin Label + OldBorderStyle =1 + BorderWidth =1 + OverlapFlags =93 + TextFontCharSet =2 + TextAlign =1 + TextFontFamily =2 + Left =10935 + Top =1170 + Width =295 + Height =295 + FontSize =16 + ForeColor =5026082 + Name ="labCopyModules" + FontName ="Marlett" + End + Begin Line + OverlapFlags =93 + SpecialEffect =2 + Left =6251 + Top =403 + Width =0 + Height =7258 + Name ="Linie49" + End + Begin Rectangle + SpecialEffect =1 + BackStyle =1 + OldBorderStyle =0 + OverlapFlags =223 + Left =30 + Top =30 + Width =11567 + Height =397 + BackColor =-2147483633 + Name ="rectHeader" + OnMouseDown ="[Event Procedure]" + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =83 + IMESentenceMode =3 + Left =1254 + Top =1522 + Width =3510 + Height =270 + FontSize =9 + TabIndex =9 + ForeColor =8421504 + Name ="txtDbmsServer" + ControlSource ="dbmsServer" + StatusBarText ="Name or IP address of the database server (for MSSQL incl. instance identifier)" + Tag ="LANG:" + UnicodeAccessKey =83 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =1522 + Width =1134 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld22" + Caption ="&Server:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =68 + IMESentenceMode =3 + Left =1254 + Top =1125 + Width =4151 + Height =270 + ColumnWidth =1485 + FontSize =9 + TabIndex =8 + LeftMargin =29 + Name ="txtDbmsDatabase" + ControlSource ="dbmsDatabase" + StatusBarText ="Database name in the server; for JET: = complete path to the BE" + Tag ="LANG:" + UnicodeAccessKey =68 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =1132 + Width =1134 + Height =255 + FontSize =9 + FontWeight =700 + Name ="labDatabase" + Caption ="mdb-&Datei:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =85 + IMESentenceMode =3 + Left =1254 + Top =1927 + Width =2370 + Height =270 + FontSize =9 + TabIndex =11 + ForeColor =8421504 + Name ="txtDbmsUser" + ControlSource ="dbmsUser" + StatusBarText ="Name of the database user" + Tag ="LANG:" + UnicodeAccessKey =85 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =1927 + Width =1134 + Height =255 + FontSize =9 + Name ="labDbmsUser" + Caption ="&User:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =80 + IMESentenceMode =3 + Left =1254 + Top =2317 + Width =2370 + Height =270 + FontSize =9 + TabIndex =13 + ForeColor =8421504 + Name ="txtDbmsPwd" + ControlSource ="dbmsPwd" + StatusBarText ="Password of the user. As soon as a password is available, the tables incl. passw" + "ord are linked. If this is not desired, the login form should be used." + Tag ="LANG:" + UnicodeAccessKey =80 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =2317 + Width =1134 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld25" + Caption ="&Password:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =79 + IMESentenceMode =3 + Left =1254 + Top =4950 + Width =4876 + Height =270 + ColumnWidth =2430 + FontSize =9 + TabIndex =19 + ForeColor =8421504 + Name ="txtDbmsOptionsODBC" + ControlSource ="dbmsOptionsODBC" + StatusBarText ="Appended after the ODBC connection string created by code." + Tag ="LANG:" + UnicodeAccessKey =79 + + Begin + Begin Label + OverlapFlags =93 + Left =132 + Top =4950 + Width =1134 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld26" + Caption ="&ODBC:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =76 + IMESentenceMode =3 + Left =1254 + Top =4605 + Width =4876 + Height =270 + ColumnWidth =2565 + FontSize =9 + TabIndex =18 + ForeColor =8421504 + Name ="txtDbmsOptionsOLEDB" + ControlSource ="dbmsOptionsOLEDB" + StatusBarText ="Appended after the OLEDB connection string created by code." + Tag ="LANG:" + UnicodeAccessKey =76 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =4605 + Width =1134 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld27" + Caption ="O&LEDB:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + AccessKey =78 + IMESentenceMode =3 + Left =1254 + Top =2714 + Width =4876 + Height =270 + FontSize =9 + TabIndex =15 + ForeColor =8421504 + Name ="txtDbmsDSN" + ControlSource ="dbmsDSN" + StatusBarText ="Use saved DSN (only works for ODBC connection)" + Tag ="LANG:" + UnicodeAccessKey =78 + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =2714 + Width =1134 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld28" + Caption ="DS&N:" + End + End + End + Begin Label + OverlapFlags =85 + Left =127 + Top =3157 + Width =6024 + Height =255 + FontSize =9 + FontWeight =700 + Name ="labProviderDriver" + Caption ="Provider / Driver:" + ControlTipText ="Möglichkeit einen alternativen Treiber einzustellen" + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + BackStyle =0 + IMESentenceMode =3 + Width =0 + Height =0 + Name ="sysFirst" + + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =85 + TextAlign =2 + IMESentenceMode =3 + Left =5521 + Top =1522 + Width =615 + Height =270 + FontSize =9 + TabIndex =10 + Name ="txtDbmsPort" + ControlSource ="dbmsPort" + StatusBarText ="Port" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =3 + Left =4889 + Top =1522 + Width =549 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld34" + Caption ="Port:" + End + End + End + Begin Label + OverlapFlags =85 + Left =127 + Top =5417 + Width =6024 + Height =255 + FontSize =9 + FontWeight =700 + Name ="Bezeichnungsfeld35" + Caption ="Custom ConnectionString:" + Tag ="LANG:" + ControlTipText ="Ignore all settings and set the connection string manually." + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + IMESentenceMode =3 + Left =1240 + Top =6689 + Width =4876 + Height =840 + TabIndex =21 + LeftMargin =29 + ForeColor =9868950 + Name ="txtDbmsConStrODBC" + ControlSource ="dbmsConStrODBC" + Format ="@;\"Only fill in if ConnectionString is not to be generated by code.\"" + StatusBarText ="Custom ODBC connection string (connection string is not created by code)" + Tag ="LANG:" + + Begin + Begin Label + OverlapFlags =93 + Left =113 + Top =6689 + Width =1125 + Height =240 + Name ="Bezeichnungsfeld37" + Caption ="ODBC:" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + OverlapFlags =87 + IMESentenceMode =3 + Left =1254 + Top =5745 + Width =4876 + Height =841 + TabIndex =20 + LeftMargin =29 + ForeColor =9868950 + Name ="txtDbmsConStrOLEDB" + ControlSource ="dbmsConStrOLEDB" + Format ="@;\"Only fill in if ConnectionString is not to be generated by code.\"" + StatusBarText ="Custom OLEDB connection string (connection string is not created by code)" + Tag ="LANG:" + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =5745 + Width =1140 + Height =240 + Name ="Bezeichnungsfeld39" + Caption ="OLEDB:" + End + End + End + Begin CheckBox + OverlapFlags =85 + Left =5862 + Top =2378 + Height =225 + TabIndex =14 + Name ="cbUseLoginForm" + ControlSource ="dbmsUseLoginForm" + StatusBarText ="Aktiviert das Login-Formular zur Anmeldung in die Datenbank" + AfterUpdate ="[Event Procedure]" + DefaultValue ="0" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =3 + Left =3690 + Top =2333 + Width =2145 + Height =240 + Name ="Bezeichnungsfeld44" + Caption ="Use Login Form:" + Tag ="LANG:" + End + End + End + Begin CheckBox + OverlapFlags =85 + Left =5862 + Top =1972 + Height =225 + TabIndex =12 + Name ="cbTrustedConnection" + ControlSource ="dbmsUseTrustedConnection" + StatusBarText ="Windows-Authentifizierung verwenden" + AfterUpdate ="[Event Procedure]" + DefaultValue ="0" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =3 + Left =3675 + Top =1920 + Width =2160 + Height =240 + Name ="Bezeichnungsfeld48" + Caption ="Windows Authentification:" + Tag ="LANG:" + End + End + End + Begin TextBox + EnterKeyBehavior = NotDefault + AllowAutoCorrect = NotDefault + ScrollBars =2 + OverlapFlags =93 + AccessKey =77 + IMESentenceMode =3 + Left =6349 + Top =3480 + Width =5103 + Height =4049 + ColumnWidth =3930 + FontSize =9 + TabIndex =6 + Name ="txtRemarks" + ControlSource ="Remarks" + + End + Begin TextBox + Locked = NotDefault + TabStop = NotDefault + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =215 + IMESentenceMode =3 + Left =120 + Top =56 + Width =3171 + Height =315 + FontSize =11 + FontWeight =700 + TabIndex =1 + BackColor =-2147483633 + BorderColor =8421504 + ForeColor =128 + Name ="txtCID" + ControlSource ="CID" + Format ="@;\" \"" + StatusBarText ="Connection identifier (double click to edit)" + AfterUpdate ="[Event Procedure]" + OnDblClick ="[Event Procedure]" + OnMouseDown ="[Event Procedure]" + Tag ="LANG:" + ControlTipText ="Connection identifier (double click to edit)" + + End + Begin CheckBox + TabStop = NotDefault + OverlapFlags =215 + AccessKey =65 + Left =11322 + Top =120 + TabIndex =4 + Name ="cbActiveConnection" + ControlSource ="ActiveConnection" + AfterUpdate ="[Event Procedure]" + UnicodeAccessKey =97 + + Begin + Begin Label + OverlapFlags =215 + TextAlign =3 + Left =9803 + Top =90 + Width =1492 + Height =240 + FontWeight =700 + Name ="Bezeichnungsfeld21" + Caption ="en&abled" + Tag ="LANG:" + End + End + End + Begin Label + OverlapFlags =87 + Left =6349 + Top =3157 + Width =5100 + Height =313 + FontSize =9 + LeftMargin =14 + Name ="labCaptionRemarks" + Caption ="Remarks:" + Tag ="LANG:" + End + Begin Label + OverlapFlags =85 + Left =120 + Top =4275 + Width =6024 + Height =255 + FontSize =9 + FontWeight =700 + Name ="Bezeichnungsfeld51" + Caption ="Other options:" + Tag ="LANG:" + ControlTipText ="Additional information for the connection strings generated in the DbConnectionI" + "nfo class. \012The entries are appended to the end of the generated connection s" + "trings." + End + Begin CommandButton + TabStop = NotDefault + OverlapFlags =85 + Left =5505 + Top =1095 + Width =638 + Height =381 + TabIndex =7 + Name ="cmdSelectFile" + Caption ="Befehl52" + OnClick ="[Event Procedure]" + PictureData = Begin + 0x2800000010000000100000000100040000000000800000000000000000000000 , + 0x0000000000000000000000000000800000800000008080008000000080008000 , + 0x8080000080808000c0c0c0000000ff00c0c0c00000ffff00ff000000c0c0c000 , + 0xffff0000ffffff00dadadadadadadadaadadadadadadadad00000000000adada , + 0x003333333330adad0b03333333330ada0fb03333333330ad0bfb03333333330a , + 0x0fbfb000000000000bfbfbfbfb0adada0fbfbfbfbf0dadad0bfb0000000adada , + 0xa000adadadad000ddadadadadadad00aadadadad0dad0d0ddadadadad000dada , + 0xadadadadadadadad000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000 + End + ObjectPalette = Begin + 0x000301000000000000000000 + End + ControlTipText ="Datei auswählen" + + End + Begin CommandButton + TabStop = NotDefault + OverlapFlags =215 + AccessKey =67 + Left =6345 + Top =75 + Width =2099 + TabIndex =3 + Name ="cmdCheckConnection" + Caption ="&Check Connection" + OnClick ="[Event Procedure]" + Tag ="LANG:" + UnicodeAccessKey =67 + + Overlaps =1 + End + Begin OptionGroup + OverlapFlags =85 + Left =113 + Top =510 + Width =6036 + Height =507 + TabIndex =5 + Name ="ogDbmsConnectionMode" + ControlSource ="dbmsConnectionMode" + StatusBarText ="Art der Verbindung" + AfterUpdate ="[Event Procedure]" + DefaultValue ="0" + + Begin + Begin ToggleButton + OverlapFlags =87 + Left =225 + Top =600 + Width =1871 + Height =340 + OptionValue =1 + Name ="optDbmsConnectionMode1" + Caption ="dsn less" + Tag ="LANG:" + + End + Begin ToggleButton + OverlapFlags =87 + Left =2205 + Top =600 + Width =1871 + Height =340 + TabIndex =1 + OptionValue =2 + Name ="optDbmsConnectionMode2" + Caption ="use DSN" + Tag ="LANG:" + + End + Begin ToggleButton + OverlapFlags =87 + Left =4200 + Top =600 + Width =1871 + Height =340 + TabIndex =2 + OptionValue =4 + Name ="optDbmsConnectionMode4" + Caption ="custom" + Tag ="LANG:" + + End + End + End + Begin Label + OverlapFlags =215 + Left =3405 + Top =56 + Width =735 + Height =315 + FontSize =11 + Name ="labDbmsCaption" + Caption ="DBMS:" + OnMouseDown ="[Event Procedure]" + End + Begin ComboBox + LimitToList = NotDefault + Visible = NotDefault + SpecialEffect =0 + OverlapFlags =223 + IMESentenceMode =3 + Left =4195 + Top =56 + Width =1972 + Height =315 + FontSize =11 + FontWeight =700 + TabIndex =22 + BackColor =-2147483633 + BorderColor =8421504 + Name ="cbxDBMS" + ControlSource ="DBMS" + RowSourceType ="Table/Query" + StatusBarText ="DBMS-Kennung" + AfterUpdate ="[Event Procedure]" + OnEnter ="[Event Procedure]" + OnMouseDown ="[Event Procedure]" + + End + Begin TextBox + Locked = NotDefault + TabStop = NotDefault + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =247 + IMESentenceMode =3 + Left =4195 + Top =56 + Width =1986 + Height =315 + FontSize =11 + FontWeight =700 + TabIndex =2 + BackColor =-2147483633 + Name ="txtDBMS" + ControlSource ="DBMS" + OnMouseDown ="[Event Procedure]" + OnGotFocus ="[Event Procedure]" + + End + Begin CommandButton + Enabled = NotDefault + OverlapFlags =85 + Left =6349 + Top =566 + Width =2100 + Height =397 + FontSize =9 + TabIndex =23 + Name ="cmdLinkTables" + Caption ="Link tables" + OnClick ="[Event Procedure]" + Tag ="LANG:" + + End + Begin CommandButton + Enabled = NotDefault + OverlapFlags =85 + Left =8787 + Top =566 + Width =2160 + Height =397 + FontSize =9 + TabIndex =24 + Name ="cmdTestSQL" + Caption ="Test SQL statement" + OnClick ="[Event Procedure]" + Tag ="LANG:" + + End + Begin Label + OverlapFlags =85 + Left =6585 + Top =1545 + Width =4286 + Height =255 + FontSize =9 + Name ="labCaptionCopyModulDbConnectionInfo" + Caption ="DbConnectionInfo" + End + Begin Label + OverlapFlags =85 + Left =6585 + Top =1905 + Width =4286 + Height =255 + FontSize =9 + Name ="labCaptionCopyModulDbConnectionHandler" + Caption ="DbConnectionHandler + DAO/ADO/ODBC-Handler" + End + Begin Label + OverlapFlags =85 + Left =6585 + Top =2265 + Width =4286 + Height =255 + FontSize =9 + Name ="labCaptionCopyModulAccUtil" + Caption ="DbConnectionManager + modDbConnection" + End + Begin CommandButton + Transparent = NotDefault + OverlapFlags =215 + Left =10935 + Top =1875 + Width =295 + Height =295 + TabIndex =25 + Name ="cmdCopyModulDbConnectionHandler" + Caption ="Befehl69" + OnClick ="[Event Procedure]" + + Overlaps =1 + End + Begin CommandButton + Transparent = NotDefault + OverlapFlags =215 + Left =10935 + Top =1515 + Width =295 + Height =295 + TabIndex =26 + Name ="cmdCopyModulDbConnectionInfo" + Caption ="Befehl69" + OnClick ="[Event Procedure]" + + Overlaps =1 + End + Begin CommandButton + Transparent = NotDefault + OverlapFlags =215 + Left =10935 + Top =2235 + Width =295 + Height =295 + TabIndex =27 + Name ="cmdCopyModulAccUtil" + Caption ="Befehl69" + OnClick ="[Event Procedure]" + + Overlaps =1 + End + Begin CommandButton + Transparent = NotDefault + OverlapFlags =215 + Left =10935 + Top =1170 + Width =295 + Height =295 + TabIndex =28 + Name ="cmdCopyModules" + Caption ="Befehl69" + OnClick ="[Event Procedure]" + + Overlaps =1 + End + Begin CommandButton + Visible = NotDefault + OverlapFlags =85 + Left =11168 + Top =566 + Width =330 + Height =397 + TabIndex =29 + Name ="cmdHelp" + Caption ="Befehl86" + OnClick ="[Event Procedure]" + PictureData = Begin + 0x2800000010000000100000000100040000000000800000000000000000000000 , + 0x0000000000000000000000000000800000800000008080008000000080008000 , + 0x8080000080808000c0c0c0000000ff00c0c0c00000ffff00ff000000c0c0c000 , + 0xffff0000ffffff00dadadadadadadadaadadadadadadadaddadadad000dadada , + 0xadadad0bb00dadaddadada0bb00adadaadadada00dadadaddadada0b00dadada , + 0xadadad0b00adadaddadada0b00dadadaadadad0bb00dadaddada00d0bb00dada , + 0xada0b00d0bb00daddad0b00ad0b00adaada0bb000bb00daddada0bbbbb00dada , + 0xadada000000dadad000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x0000000000000000 + End + ObjectPalette = Begin + 0x000301000000000000000000 + End + + End + Begin ComboBox + OldBorderStyle =0 + OverlapFlags =87 + IMESentenceMode =3 + Left =1254 + Top =3480 + Width =4876 + Height =255 + ColumnWidth =2010 + FontSize =9 + TabIndex =16 + ForeColor =8421504 + ConditionalFormat = Begin + 0x0100000068000000010000000000000004000000000000000300000001000000 , + 0x00000000ffffff00000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x2200220000000000 + End + Name ="txtDbmsOleDbProvider" + ControlSource ="dbmsOleDbProvider" + RowSourceType ="Table/Query" + StatusBarText ="Select OLEDB Provider" + OnEnter ="[Event Procedure]" + OnExit ="[Event Procedure]" + OnDblClick ="[Event Procedure]" + Tag ="LANG:" + Format ="@;;" + + Begin + Begin Label + OverlapFlags =93 + Left =120 + Top =3480 + Width =1140 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld45" + Caption ="OLEDB:" + End + End + End + Begin ComboBox + OldBorderStyle =0 + OverlapFlags =215 + IMESentenceMode =3 + Left =1254 + Top =3820 + Width =4876 + Height =255 + ColumnWidth =1995 + FontSize =9 + TabIndex =17 + ForeColor =8421504 + ConditionalFormat = Begin + 0x0100000068000000010000000000000004000000000000000300000001000000 , + 0x00000000ffffff00000000000000000000000000000000000000000000000000 , + 0x0000000000000000000000000000000000000000000000000000000000000000 , + 0x2200220000000000 + End + Name ="txtDbmsOdbcDriver" + ControlSource ="dbmsOdbcDriver" + RowSourceType ="Table/Query" + StatusBarText ="Select ODBC Driver" + OnEnter ="[Event Procedure]" + OnExit ="[Event Procedure]" + Tag ="LANG:" + Format ="@;;" + + Begin + Begin Label + OverlapFlags =93 + Left =132 + Top =3820 + Width =1140 + Height =255 + FontSize =9 + Name ="Bezeichnungsfeld46" + Caption ="ODBC:" + End + End + End + Begin Label + FontUnderline = NotDefault + OverlapFlags =85 + Left =6349 + Top =1132 + Width =3000 + Height =255 + FontSize =9 + FontWeight =700 + ForeColor =16737792 + Name ="labCopyCaption" + Caption ="Install modules and classes:" + OnMouseDown ="[Event Procedure]" + OnMouseMove ="[Event Procedure]" + Tag ="LANG:" + VerticalAnchor =1 + End + End + End + End +End +CodeBehindForm +' See "frmConfig_DBMS_SF_Data.cls" diff --git a/source/forms/frmConfig_DBMS_SF_Data.json b/source/forms/frmConfig_DBMS_SF_Data.json new file mode 100644 index 0000000..55b1a92 --- /dev/null +++ b/source/forms/frmConfig_DBMS_SF_Data.json @@ -0,0 +1,190 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "frmConfig_DBMS_SF_Data Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + }, + "ConditionalFormatting": { + "txtDbmsServer": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsUser": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsPwd": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsOptionsODBC": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsOptionsOLEDB": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsDSN": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsConStrODBC": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsConStrOLEDB": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsOleDbProvider": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtDbmsOdbcDriver": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + } + } + } +} diff --git a/source/forms/frmConfig_LinkTables.cls b/source/forms/frmConfig_LinkTables.cls new file mode 100644 index 0000000..e055a93 --- /dev/null +++ b/source/forms/frmConfig_LinkTables.cls @@ -0,0 +1,656 @@ +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Option Compare Text +Option Explicit + +Private Const m_Caption As String = "Config Linked Tables" +Private Const m_DoEventCounter As Long = 1 'Anzahl der zu aktualisierenden Tabellen bis Event "DbObjectRelinked" bzw. "DbObjectDeleted" ausgelöst wird + +Private WithEvents m_OdbcHandler As OdbcHandler +Attribute m_OdbcHandler.VB_VarHelpID = -1 +Private m_CalledByWizard As Boolean + +Private m_OdbcHandlerEventBridge As OdbcHandlerEventBridge +Private WithEvents m_L10nDict As L10nDict +Attribute m_L10nDict.VB_VarHelpID = -1 + +Private Sub cbSelectAll_AfterUpdate() + + Dim bolSelectAll As Boolean +On Error GoTo HandleErr + + bolSelectAll = (Me.cbSelectAll.Value = True) + + ListEnableMode = Not bolSelectAll + + If Not bolSelectAll Then + listLinkedTableNames + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + + +Private Property Let ListEnableMode(ByVal bEnabled As Boolean) + + Me.lstLinkedTabNames.Enabled = bEnabled + + If bEnabled Then + Me.labFilter.ForeColor = &H7D491F + Else + Me.labFilter.ForeColor = &HDED1C6 + If Nz(Me.cbxFilterObjectType.Value, 3) <> 3 Or Len(Me.txtFilterObjectName.Value) > 0 Then + Me.cbxFilterObjectType.Value = 3 + Me.txtFilterObjectName.Value = Null + listLinkedTableNames + End If + End If + + Me.cbxFilterObjectType.Enabled = bEnabled + Me.txtFilterObjectName.Enabled = bEnabled + Me.cmdUseFilter.Enabled = bEnabled + + ' +End Property + +Private Sub cbxFilterObjectType_KeyDown(KeyCode As Integer, Shift As Integer) + +On Error GoTo HandleErr + + If KeyCode = vbKeyReturn Then + listLinkedTableNames + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdDeleteLinkedTables_Click() + +On Error GoTo HandleErr + + If Me.cbSelectAll.Value = True Then + If MsgBox("Should all linked tables be deleted?" & vbNewLine & _ + "(The tables are removed only in the frontend.)", vbYesNo) = vbYes Then + StartDeleteOdbcTableDefs + End If + Else + If MsgBox("Should the selected tables be deleted?" & vbNewLine & _ + "(The tables are removed only in the frontend.)", vbYesNo) = vbYes Then + DeleteSelectedTabs + End If + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdLinkTables_Click() + +On Error GoTo HandleErr + + Select Case ogLinkMode.Value + Case 1 'manuell + LinkTextboxTable + Case 2 'listbox + LinkSelectedTables + Case Else + 'nicht möglich + End Select + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub cmdReconnect_Click() +On Error GoTo HandleErr + + StartReconnectOdbc + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub cmdUseFilter_Click() +On Error GoTo HandleErr + + listLinkedTableNames + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub Form_Load() +On Error GoTo HandleErr + + Me.Section(acDetail).BackColor = dcwBackgroundForm + listLinkedTableNames + Me.Caption = m_Caption + + If Len(Me.OpenArgs) > 0 Then + m_CalledByWizard = True + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox + +End Sub + +Private Sub Form_Open(Cancel As Integer) + L10n.TranslateControls Me.Controls + Set m_L10nDict = L10n +End Sub + +Private Sub Form_Timer() +On Error Resume Next + Me.labCompletionInfo.Visible = False +End Sub + +Private Sub Form_Unload(Cancel As Integer) +On Error Resume Next + If Not m_CalledByWizard Then + DisposeWizard + End If + Set m_L10nDict = Nothing +End Sub + +Private Sub m_OdbcHandler_DbObjectRelinked(ByVal LastDbObjectName As String, ByVal lCounter As Long) +On Error GoTo HandleErr + + Me.txtLastObjectName.Value = LastDbObjectName + Me.txtObjectCounter.Value = lCounter + DoEvents 'erforderlich, damit Änderungen sichtbar werden + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + + +Private Sub m_OdbcHandler_DbObjectDeleted(ByVal LastDbObjectName As String, ByVal lCounter As Long) +On Error GoTo HandleErr + + Me.txtLastObjectName.Value = LastDbObjectName + Me.txtObjectCounter.Value = lCounter + DoEvents + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub ogLinkMode_AfterUpdate() +On Error GoTo HandleErr + + RefreshDbmsTableNamesList + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub RefreshDbmsTableNamesList() + Dim lngLinkMode As Long + + lngLinkMode = Nz(ogLinkMode.Value, 0) + Me.txtTabName.Enabled = (lngLinkMode = 1) + Me.lstTabNames.Enabled = (lngLinkMode = 2) + + Select Case lngLinkMode + Case 1 'manuell + Me.txtTabName.SetFocus + Case 2 'listbox + listDbmsTableNames + Case Else + 'nicht möglich + End Select +End Sub + +Private Sub listDbmsTableNames() + + Const conQdfNameSourceTableList As String = "usys_DbmsTableNames" + Dim db As DAO.Database + Dim qdf As DAO.QueryDef + Dim strDbmsName As String + Dim strOdbcConnectionString As String + Dim strTableListSqlText As String + Dim strSQL As String + + strDbmsName = CurrentConnectionInfo.DbmsName + strTableListSqlText = CurrentConnectionInfo.TableListSqlText + If Not CheckListDbmsTableMode() Then + InsertTablesFromAdoSchemaTables + Exit Sub + End If + + strOdbcConnectionString = CurrentConnectionInfo.OdbcConnectionString + + Set db = CodeDb 'AddIn zum Speichern des QDF verwenden + If QueryDefExists(conQdfNameSourceTableList, db) Then + Set qdf = db.QueryDefs(conQdfNameSourceTableList) + Else + Set qdf = db.CreateQueryDef(conQdfNameSourceTableList) + End If + qdf.SQL = "select 1 as x" + If StrComp(strDbmsName, "MSJET", vbTextCompare) = 0 Then + qdf.Connect = vbNullString + Else + qdf.Connect = strOdbcConnectionString + End If + qdf.SQL = strTableListSqlText + qdf.ReturnsRecords = True + + + Dim strFilter As String + strFilter = GetDbmsTableListFilter("T.") + + strSQL = "select NULL AS TABLE_CATALOG, T.TABLE_SCHEMA, T.TABLE_NAME from " & conQdfNameSourceTableList & " AS T" & _ + " left join (select ForeignName FROM [" & CurrentDb.Name & "].MSysObjects WHERE Type = 4) O ON O.ForeignName = T.TabKey" & _ + " where O.ForeignName IS NULL" + + If Len(strFilter) > 0 Then + strSQL = strSQL & " AND " & strFilter + End If + + Me.lstTabNames.RowSource = strSQL + +End Sub + +Private Sub InsertTablesFromAdoSchemaTables() + Dim cnn As ADODB.Connection + Dim rst As ADODB.Recordset + + Set cnn = New ADODB.Connection + cnn.ConnectionString = CurrentConnectionInfo.OledbConnectionString + cnn.CursorLocation = adUseClient + cnn.Open + + 'TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE TABLE_GUID DESCRIPTION TABLE_PROPID DATE_CREATED DATE_MODIFIED + Set rst = cnn.OpenSchema(adSchemaTables, _ + Array(Empty, Empty, Empty, Empty)) + Set rst.ActiveConnection = Nothing + cnn.Close + Set cnn = Nothing + + Dim strFilter As String + strFilter = GetDbmsTableListFilter + If Len(strFilter) > 0 Then + rst.Filter = strFilter + End If + + Set Me.lstTabNames.Recordset = rst + +End Sub + +Private Function GetDbmsTableListFilter(Optional SourcePrefix As String = vbNullString) As String + + Dim strFilter As String, strTempFilter As String + strTempFilter = Nz(Me.txtFiltSchema.Value, vbNullString) + If Len(strTempFilter) > 0 Then + If InStr(1, strTempFilter, "*") > 0 Or InStr(1, strTempFilter, "%") > 0 Then + strFilter = " " & SourcePrefix & "TABLE_SCHEMA like " & SqlTools.TextToSqlText(Replace(strTempFilter, "%", "*")) + Else + strFilter = " " & SourcePrefix & "TABLE_SCHEMA = " & SqlTools.TextToSqlText(strTempFilter) + End If + End If + + strTempFilter = Nz(Me.txtFiltTabname.Value, vbNullString) + If Len(strTempFilter) > 0 Then + If Len(strFilter) > 0 Then + strFilter = strFilter & " AND " + End If + If InStr(1, strTempFilter, "*") > 0 Or InStr(1, strTempFilter, "%") > 0 Then + strFilter = strFilter & " " & SourcePrefix & "TABLE_NAME like " & SqlTools.TextToSqlText(Replace(strTempFilter, "%", "*")) + Else + strFilter = strFilter & " " & SourcePrefix & "TABLE_NAME = " & SqlTools.TextToSqlText(strTempFilter) + End If + End If + + GetDbmsTableListFilter = strFilter + +End Function + +Private Sub listLinkedTableNames() + + Dim strSQL As String + Dim strFilter As String + Dim lngObjectFilter As Long + + If Len(Me.txtFilterObjectName.Value) > 0 Then + strFilter = " AND O.Name like " & SqlTools.TextToSqlText(Me.txtFilterObjectName.Value) + End If + + lngObjectFilter = Nz(Me.cbxFilterObjectType.Value, 3) + + If (lngObjectFilter And 1) = 1 Then + + 'Tabellen + strSQL = "SELECT 'T' AS [*], O.Name AS TABLE_NAME, O.ForeignName" & _ + " FROM [" & CurrentDb.Name & "].MSysObjects O" & _ + " WHERE O.ForeignName > '' AND O.Type IN (4, 6)" + + If Len(strFilter) > 0 Then + strSQL = strSQL & strFilter + End If + End If + + If (lngObjectFilter And 2) = 2 Then + + If lngObjectFilter = 3 Then + strSQL = strSQL & " UNION ALL " + End If + + '+PT-Abfragen + strSQL = strSQL & _ + "SELECT 'Q' AS [*], O.Name AS TABLE_NAME, Q.Expression AS ForeignName" & _ + " FROM [" & CurrentDb.Name & "].MSysObjects O INNER JOIN [" & CurrentDb.Name & "].MSysQueries Q ON O.Id = Q.ObjectId" & _ + " WHERE O.Type = 5 And Q.Attribute = 1 And Q.Name1 Like 'ODBC;*'" + + If Len(strFilter) > 0 Then + strSQL = strSQL & strFilter + End If + + End If + + strSQL = strSQL & " ORDER BY 1 desc, 2 asc" + + Me.lstLinkedTabNames.RowSource = strSQL + +End Sub + +Private Sub LinkTextboxTable() + + Dim strSourceTabName As String + Dim strTdfName As String + + strSourceTabName = Nz(Me.txtTabName, vbNullString) + If Len(strSourceTabName) = 0 Then + MsgBox "Please enter a table name." + Exit Sub + End If + + strTdfName = strSourceTabName + DbCon.ODBC.LinkTable strSourceTabName, strTdfName, CurrentConnectionInfo.SavePassword + Application.RefreshDatabaseWindow + +End Sub + +Private Sub LinkSelectedTables() + + Dim varItm As Variant + Dim lb As ListBox + Dim strSourceTabName As String + Dim strSourceTabSchema As String + Dim strTdfName As String + + DbCon.CurrentDb.TableDefs.Refresh 'AnwendungsDB verwenden + + Set lb = Me.lstTabNames + For Each varItm In lb.ItemsSelected + strSourceTabName = Nz(lb.Column(2, varItm), vbNullString) + strSourceTabSchema = Nz(lb.Column(1, varItm), vbNullString) + If Len(strSourceTabSchema) > 0 Then strSourceTabSchema = strSourceTabSchema & "." + strTdfName = strSourceTabName + DbCon.ODBC.LinkTable strSourceTabSchema & strSourceTabName, strTdfName, CurrentConnectionInfo.SavePassword + lb.Selected(varItm) = False + Next + + lb.Requery + + DbCon.CurrentDb.TableDefs.Refresh + Application.RefreshDatabaseWindow + +End Sub + +Private Sub StartReconnectOdbc() + If Me.cbSelectAll.Value = True Then + reconnectAllTab + Else + ReconnectSelectedTab + End If +End Sub + +Private Sub reconnectAllTab() + Me.labObjectCounter.Caption = L10n.Text("Tables/queries were linked") + Me.labLastObjectName.Caption = L10n.Text("last linked:") + Me.txtObjectCounter.Value = Null + Set m_OdbcHandler = DbCon.ODBC + + TryConnectClientOdbcHandlerEventBridge m_OdbcHandler + + m_OdbcHandler.RelinkTablesAndQueries CurrentConnectionInfo.SavePassword, m_DoEventCounter ' 10 statt 1 würde nur jede 10. Aktualisierung anzeigen und den Ablauf beschleunigen + Set m_OdbcHandler = Nothing + ShowCompleteMessage +End Sub + +Private Sub TryConnectClientOdbcHandlerEventBridge(ByVal OdbcHandlerRef As OdbcHandler) + + Dim HookObserver As Object + +With New ErrorTrappingObserver + + .ErrorTrapping = BreakOnUnhandledErrors + +On Error Resume Next + + Set HookObserver = Application.Run("GetDbmsConnectionWizardHookObserver") + +On Error GoTo 0 + +End With + + If HookObserver Is Nothing Then + Exit Sub + End If + + Set m_OdbcHandlerEventBridge = New OdbcHandlerEventBridge + m_OdbcHandlerEventBridge.Init OdbcHandlerRef, HookObserver + + +End Sub + +Private Sub ReconnectSelectedTab() + + Dim varItm As Variant + Dim lb As ListBox + Dim strTdfQdfName As String + Dim lngCnt As Long + Dim strOdbcConnectionString As String + Dim bolSavePassword As Boolean + + DbCon.CurrentDb.TableDefs.Refresh 'AnwendungsDB verwenden + + Me.labObjectCounter.Caption = L10n.Text("Tables/queries were linked") + Me.labLastObjectName.Caption = L10n.Text("last linked:") + Me.txtObjectCounter.Value = Null + + bolSavePassword = CurrentConnectionInfo.SavePassword + strOdbcConnectionString = CurrentConnectionInfo.OdbcConnectionString(Not bolSavePassword) + + Set lb = Me.lstLinkedTabNames + For Each varItm In lb.ItemsSelected + strTdfQdfName = Nz(lb.Column(1, varItm), vbNullString) + 'On Error Resume Next + If Nz(lb.Column(0, varItm), vbNullString) = "Q" Then + DbCon.ODBC.RelinkPassThroughQuery strTdfQdfName, bolSavePassword + Else + DbCon.ODBC.RelinkTable strTdfQdfName, bolSavePassword + End If + 'On Error GoTo 0 + lngCnt = lngCnt + 1 + Me.txtObjectCounter.Value = lngCnt + Me.txtLastObjectName.Value = strTdfQdfName + lb.Selected(varItm) = False + DoEvents + Next + + lb.Requery + + DbCon.CurrentDb.TableDefs.Refresh + Application.RefreshDatabaseWindow + + ShowCompleteMessage + +End Sub + +Private Sub StartDeleteOdbcTableDefs() + Me.txtObjectCounter.Value = Null + Me.labObjectCounter.Caption = L10n.Text("linked tables were removed") + Me.labLastObjectName.Caption = L10n.Text("last removed:") + Set m_OdbcHandler = DbCon.ODBC + m_OdbcHandler.DeleteOdbcTableDefs m_DoEventCounter + Set m_OdbcHandler = Nothing + Application.RefreshDatabaseWindow + listLinkedTableNames +End Sub + +Private Sub DeleteSelectedTabs() + + Dim db As DAO.Database + Dim varItm As Variant + Dim lb As ListBox + Dim strTdfQdfName As String + Dim lngCnt As Long + + Set db = CurrentDb + db.TableDefs.Refresh 'AnwendungsDB verwenden + + Me.labObjectCounter.Caption = L10n.Text("linked tables were removed") + Me.labLastObjectName.Caption = L10n.Text("last removed:") + Me.txtObjectCounter.Value = Null + + Set lb = Me.lstLinkedTabNames + For Each varItm In lb.ItemsSelected + strTdfQdfName = Nz(lb.Column(1, varItm), vbNullString) + If Nz(lb.Column(1, varItm), vbNullString) = "Q" Then + db.QueryDefs.Delete strTdfQdfName + Else + db.TableDefs.Delete strTdfQdfName + End If + + lngCnt = lngCnt + 1 + Me.txtObjectCounter.Value = lngCnt + Me.txtLastObjectName.Value = strTdfQdfName + lb.Selected(varItm) = False + Next + + lb.Requery + + db.TableDefs.Refresh ' + Application.RefreshDatabaseWindow + + listLinkedTableNames + +End Sub + + +Private Sub tabLinkTables_Change() +On Error GoTo HandleErr + + Select Case Me.tabLinkTables.Value + Case 0 + listLinkedTableNames + Case 1 + If Me.ogLinkMode = 2 Then + listDbmsTableNames + End If + Case Else + ' + End Select + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Function CheckListDbmsTableMode() As Boolean + If Len(CurrentConnectionInfo.TableListSqlText) = 0 Then + CheckListDbmsTableMode = False + Else + CheckListDbmsTableMode = True + End If +End Function + +Private Sub txtFilterObjectName_KeyDown(KeyCode As Integer, Shift As Integer) +On Error GoTo HandleErr + + If KeyCode = vbKeyReturn Then + listLinkedTableNames + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub txtFiltSchema_AfterUpdate() +On Error GoTo HandleErr + + RefreshDbmsTableNamesList + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub txtFiltTabname_AfterUpdate() +On Error GoTo HandleErr + + RefreshDbmsTableNamesList + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub ShowCompleteMessage() + Me.txtLastObjectName.Value = Me.txtLastObjectName.Value & "." + Me.labCompletionInfo.Visible = True + Me.TimerInterval = 2000 +End Sub + +Private Sub m_L10nDict_LanguageChanged() + L10n.TranslateControls Me.Controls +End Sub diff --git a/source/forms/frmConfig_LinkTables.form b/source/forms/frmConfig_LinkTables.form new file mode 100644 index 0000000..6bdd173 --- /dev/null +++ b/source/forms/frmConfig_LinkTables.form @@ -0,0 +1,590 @@ +Version =20 +VersionRequired =20 +Begin Form + RecordSelectors = NotDefault + AutoCenter = NotDefault + NavigationButtons = NotDefault + DividingLines = NotDefault + DefaultView =0 + ScrollBars =0 + TabularFamily =168 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + GridY =10 + Width =9300 + DatasheetFontHeight =10 + ItemSuffix =47 + Left =1000 + Top =1000 + Right =50000 + Bottom =50000 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0x452ec210ff79e340 + End + Caption ="Config Linked Tables" + OnOpen ="[Event Procedure]" + DatasheetFontName ="Tahoma" + OnTimer ="[Event Procedure]" + OnLoad ="[Event Procedure]" + FilterOnLoad =0 + ShowPageMargins =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin Line + BorderLineStyle =0 + Width =1701 + End + Begin CommandButton + Width =1701 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin OptionButton + SpecialEffect =2 + BorderLineStyle =0 + LabelX =230 + LabelY =-30 + End + Begin CheckBox + SpecialEffect =2 + BorderLineStyle =0 + LabelX =230 + LabelY =-30 + End + Begin OptionGroup + SpecialEffect =3 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin ListBox + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1417 + LabelX =-1701 + FontName ="Tahoma" + End + Begin ComboBox + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontSize =11 + BorderColor =12632256 + FontName ="Calibri" + AllowValueListEdits =1 + InheritValueList =1 + End + Begin Subform + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin Tab + Width =5100 + Height =3420 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin Page + Width =1701 + Height =1701 + End + Begin Section + CanGrow = NotDefault + Height =6406 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin Tab + OverlapFlags =85 + BackStyle =0 + Left =60 + Top =90 + Width =9120 + Height =6240 + Name ="tabLinkTables" + OnChange ="[Event Procedure]" + HorizontalAnchor =2 + VerticalAnchor =2 + + Begin + Begin Page + OverlapFlags =87 + AccessKey =85 + Left =158 + Top =450 + Width =8940 + Height =5768 + Name ="tcpRefresh" + Tag ="LANG:" + Caption ="&Update existing linked tables" + UnicodeAccessKey =85 + Begin + Begin CheckBox + OverlapFlags =215 + Left =5839 + Top =737 + Width =275 + Name ="cbSelectAll" + AfterUpdate ="[Event Procedure]" + DefaultValue ="-1" + HorizontalAnchor =1 + + Begin + Begin Label + OverlapFlags =247 + Left =6075 + Top =705 + Width =2925 + Height =240 + Name ="labSelectAll" + Caption ="all linked tables/queries" + Tag ="LANG:" + HorizontalAnchor =1 + End + End + End + Begin ComboBox + LimitToList = NotDefault + Enabled = NotDefault + RowSourceTypeInt =1 + OverlapFlags =215 + IMESentenceMode =3 + ColumnCount =2 + ListRows =3 + Left =2271 + Top =572 + Width =1986 + FontSize =8 + TabIndex =1 + Name ="cbxFilterObjectType" + RowSourceType ="Value List" + RowSource ="3;\"(alle)\";1;\"Tabellen/Sichten\";2;\"Pass-Thorugh-Abfragen\"" + ColumnWidths ="0;2268" + DefaultValue ="3" + FontName ="Tahoma" + OnKeyDown ="[Event Procedure]" + + Begin + Begin Label + OverlapFlags =215 + Left =1590 + Top =572 + Width =675 + Height =240 + Name ="Bezeichnungsfeld33" + Caption ="Type:" + Tag ="LANG:" + End + End + End + Begin TextBox + Enabled = NotDefault + OverlapFlags =215 + IMESentenceMode =3 + Left =2271 + Top =855 + Width =1986 + TabIndex =2 + Name ="txtFilterObjectName" + OnKeyDown ="[Event Procedure]" + HorizontalAnchor =2 + + Begin + Begin Label + OverlapFlags =223 + Left =1590 + Top =855 + Width =675 + Height =240 + Name ="Bezeichnungsfeld31" + Caption ="Name:" + End + End + End + Begin CommandButton + Enabled = NotDefault + OverlapFlags =215 + AccessKey =70 + Left =4365 + Top =585 + Width =1200 + Height =525 + TabIndex =3 + Name ="cmdUseFilter" + Caption ="Apply &Filter" + OnClick ="[Event Procedure]" + Tag ="LANG:" + UnicodeAccessKey =70 + HorizontalAnchor =1 + + End + Begin CommandButton + OverlapFlags =215 + Left =5725 + Top =1190 + Width =3285 + Height =405 + TabIndex =4 + Name ="cmdReconnect" + Caption ="Update linked tables" + OnClick ="[Event Procedure]" + Tag ="LANG:" + HorizontalAnchor =1 + + End + Begin ListBox + ColumnHeads = NotDefault + Enabled = NotDefault + OverlapFlags =247 + MultiSelect =2 + IMESentenceMode =3 + ColumnCount =3 + Left =225 + Top =1200 + Width =5325 + Height =4987 + TabIndex =5 + BoundColumn =1 + Name ="lstLinkedTabNames" + RowSourceType ="Table/Query" + ColumnWidths ="226;2608;2268" + HorizontalAnchor =2 + VerticalAnchor =2 + + End + Begin Label + OverlapFlags =215 + Left =210 + Top =540 + Width =1305 + Height =285 + FontSize =10 + FontWeight =700 + ForeColor =14602694 + Name ="labFilter" + Caption ="Filter list" + Tag ="LANG:" + End + Begin CommandButton + OverlapFlags =215 + AccessKey =82 + Left =5725 + Top =1814 + Width =3285 + Height =405 + TabIndex =6 + Name ="cmdDeleteLinkedTables" + Caption ="&Remove linked tables" + OnClick ="[Event Procedure]" + Tag ="LANG:" + UnicodeAccessKey =82 + HorizontalAnchor =1 + + End + Begin TextBox + SpecialEffect =0 + OldBorderStyle =1 + OverlapFlags =215 + TextAlign =2 + BackStyle =0 + IMESentenceMode =3 + Left =5727 + Top =2437 + Width =516 + TabIndex =7 + BackColor =-2147483633 + BorderColor =8421504 + Name ="txtObjectCounter" + HorizontalAnchor =1 + + Begin + Begin Label + OverlapFlags =215 + TextAlign =1 + Left =6299 + Top =2437 + Width =2700 + Height =240 + Name ="labObjectCounter" + Caption ="Tables/queries were linked" + Tag ="LANG:" + HorizontalAnchor =1 + End + End + End + Begin TextBox + SpecialEffect =0 + OverlapFlags =215 + TextAlign =1 + BackStyle =0 + IMESentenceMode =3 + Left =5725 + Top =3004 + Width =3276 + Height =435 + TabIndex =8 + BackColor =-2147483633 + BorderColor =8421504 + Name ="txtLastObjectName" + HorizontalAnchor =1 + + Begin + Begin Label + OverlapFlags =223 + TextAlign =1 + Left =5725 + Top =2777 + Width =1365 + Height =240 + Name ="labLastObjectName" + Caption ="last linked:" + Tag ="LANG:" + HorizontalAnchor =1 + End + End + End + Begin Label + Visible = NotDefault + BackStyle =1 + OverlapFlags =215 + TextAlign =2 + Left =5784 + Top =3685 + Width =3210 + Height =907 + FontSize =12 + TopMargin =170 + BackColor =10092543 + ForeColor =10027008 + Name ="labCompletionInfo" + Caption ="Linking completed" + FontName ="Verdana" + Tag ="LANG:" + HorizontalAnchor =1 + End + End + End + Begin Page + OverlapFlags =247 + AccessKey =78 + Left =158 + Top =450 + Width =8940 + Height =5768 + Name ="tcpNew" + Tag ="LANG:" + Caption ="Create &new linked tables" + UnicodeAccessKey =110 + Begin + Begin OptionGroup + OverlapFlags =247 + Left =275 + Top =580 + Width =3479 + Height =906 + Name ="ogLinkMode" + AfterUpdate ="[Event Procedure]" + DefaultValue ="0" + + Begin + Begin OptionButton + OverlapFlags =247 + AccessKey =77 + Left =445 + Top =750 + OptionValue =1 + Name ="ogLinkModeOpt1" + UnicodeAccessKey =109 + + Begin + Begin Label + OverlapFlags =247 + Left =675 + Top =720 + Width =2850 + Height =240 + Name ="Bezeichnungsfeld8" + Caption ="Select table/view &manually" + Tag ="LANG:" + End + End + End + Begin OptionButton + OverlapFlags =247 + AccessKey =68 + Left =453 + Top =1110 + TabIndex =1 + OptionValue =2 + Name ="ogLinkModeOpt2" + UnicodeAccessKey =100 + + Begin + Begin Label + OverlapFlags =247 + Left =690 + Top =1080 + Width =2835 + Height =240 + Name ="Bezeichnungsfeld4" + Caption ="Show tables from &database" + Tag ="LANG:" + End + End + End + End + End + Begin CommandButton + OverlapFlags =247 + AccessKey =76 + Left =7086 + Top =1587 + Width =1920 + Height =405 + TabIndex =1 + Name ="cmdLinkTables" + Caption ="&Link table(s)" + OnClick ="[Event Procedure]" + Tag ="LANG:" + UnicodeAccessKey =76 + HorizontalAnchor =1 + + End + Begin TextBox + Enabled = NotDefault + OverlapFlags =247 + IMESentenceMode =3 + Left =3855 + Top =1190 + Width =3081 + Height =255 + TabIndex =2 + Name ="txtTabName" + HorizontalAnchor =2 + + Begin + Begin Label + OverlapFlags =247 + Left =3855 + Top =907 + Width =1125 + Height =240 + Name ="Bezeichnungsfeld25" + Caption ="Name:" + End + End + End + Begin ListBox + ColumnHeads = NotDefault + Enabled = NotDefault + OverlapFlags =247 + MultiSelect =2 + IMESentenceMode =3 + ColumnCount =3 + Left =283 + Top =1590 + Width =6645 + Height =4597 + TabIndex =3 + Name ="lstTabNames" + RowSourceType ="Table/Query" + RowSource ="SELECT NULL AS TABLE_NAME, NULL AS TABLE_SCHEMA FROM tab1DS WHERE 1=0; " + ColumnWidths ="0;1419;3629" + HorizontalAnchor =2 + VerticalAnchor =2 + + End + Begin TextBox + OverlapFlags =247 + IMESentenceMode =3 + Left =7095 + Top =2938 + Width =1926 + Height =255 + TabIndex =4 + Name ="txtFiltSchema" + AfterUpdate ="[Event Procedure]" + HorizontalAnchor =1 + + Begin + Begin Label + OverlapFlags =247 + Left =7095 + Top =2655 + Width =1920 + Height =240 + Name ="labFiltSchema" + Caption ="Schema:" + HorizontalAnchor =1 + End + End + End + Begin TextBox + OverlapFlags =247 + IMESentenceMode =3 + Left =7086 + Top =3571 + Width =1926 + Height =255 + TabIndex =5 + Name ="txtFiltTabname" + AfterUpdate ="[Event Procedure]" + HorizontalAnchor =1 + + Begin + Begin Label + OverlapFlags =247 + Left =7086 + Top =3288 + Width =1920 + Height =240 + Name ="labFiltTabname" + Caption ="Name:" + HorizontalAnchor =1 + End + End + End + Begin Label + OverlapFlags =247 + Left =7080 + Top =2325 + Width =675 + Height =285 + FontSize =10 + FontWeight =700 + Name ="labDbmsTabFilter" + Caption ="Filter:" + End + End + End + End + End + End + End + End +End +CodeBehindForm +' See "frmConfig_LinkTables.cls" diff --git a/source/forms/frmConfig_LinkTables.json b/source/forms/frmConfig_LinkTables.json new file mode 100644 index 0000000..e7b0167 --- /dev/null +++ b/source/forms/frmConfig_LinkTables.json @@ -0,0 +1,78 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "frmConfig_LinkTables Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + }, + "ConditionalFormatting": { + "txtTabName": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtFiltSchema": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + }, + "txtFiltTabname": { + "Rules": [ + { + "Type": "FieldValue", + "Enabled": true, + "FontBold": false, + "FontItalic": false, + "FontUnderline": false, + "ForeColor": "RGB(0,0,0)", + "BackColor": "RGB(255,255,255)", + "Operator": "GreaterThan", + "Expression1": "\"\"", + "Expression2": "" + } + ] + } + } + } +} diff --git a/source/forms/frmTest_SQL.cls b/source/forms/frmTest_SQL.cls new file mode 100644 index 0000000..0704b93 --- /dev/null +++ b/source/forms/frmTest_SQL.cls @@ -0,0 +1,452 @@ +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Option Compare Database +Option Explicit + +Private Const m_Caption As String = "SQL testen" + +Private WithEvents m_DbConnectionInfo As DbConnectionInfo +Attribute m_DbConnectionInfo.VB_VarHelpID = -1 +Private m_CalledByWizard As Boolean + +Private Property Get CurrentDbConnectionInfo() As DbConnectionInfo + + If m_DbConnectionInfo Is Nothing Then + Set m_DbConnectionInfo = CurrentConnectionInfo + If Len(m_DbConnectionInfo.CID) = 0 Then + m_DbConnectionInfo.CheckConnection + End If + End If + Set CurrentDbConnectionInfo = m_DbConnectionInfo + +End Property + +Private Function getCID() As String + getCID = CurrentDbConnectionInfo.CID +End Function + + +Private Sub setCmdStatus(ByVal bCmdStart As Boolean) + + Dim bolEnableCmdBtn As Boolean + + Me!sysFirst.SetFocus + + DoCmd.Hourglass bCmdStart + bolEnableCmdBtn = Not bCmdStart + + Me!cmdExecuteSQL.Enabled = bolEnableCmdBtn + +End Sub + +Private Function checkSelection() As Boolean + + If Len(CurrentDbConnectionInfo.DbmsName) = 0 Then + checkSelection = False + MsgBox "Please select the DBMS first!" + Exit Function + End If + + If IsNull(Me.txtSQL.Value) Then + checkSelection = False + MsgBox "Please specify SQL statement." + Exit Function + End If + + checkSelection = True + +End Function + +Private Sub ExecuteSQL() + + Select Case Me.optRS + Case 1 'ADO + ExecuteSQL_ADO + Case 2 'DAO/DB + ExecuteSQL_DAO + Case 3 'DAO/PT + ExecuteSQL_DAOPT + Case Else + ' + End Select + +End Sub + + +Private Sub ExecuteSQL_ADO() + + Dim frmDS As Form_frmTest_SQL_Datasheet + + Dim cnn As ADODB.Connection + Dim rst As ADODB.Recordset + Dim strErr As String + Dim errCnn As ADODB.Error + Dim strSQL As String + + Dim T As QpcStopwatch + + Set T = New QpcStopwatch + + If checkSelection = False Then + Exit Sub + End If + + strSQL = Me.txtSQL + Me.labMsg.Caption = L10n.Text("Statement is executed") + Me.labTime.Caption = vbNullString + Me.Repaint + + Set cnn = DbCon.CurrentConnection + +On Error Resume Next + T.StartT + Set rst = DbCon.ADODB.OpenRecordset(strSQL, adOpenKeyset, adLockOptimistic, adUseClient) + T.StopT + If Err.Number <> 0 Then + strErr = Err.Description + End If + + If cnn.Errors.Count > 0 Then + For Each errCnn In cnn.Errors + strErr = strErr & errCnn.Description & vbNewLine + Next + cnn.Errors.Clear + End If + +On Error GoTo 0 + If Len(strErr) > 0 Then + If (rst.State = adStateOpen And adStateOpen) = adStateOpen Then rst.Close + Me.labMsg.Caption = strErr + MsgBox strErr + Else + If (rst.State = adStateOpen And adStateOpen) = adStateOpen Then 'rst ist offen => in Form anzeigen + DoCmd.OpenForm "frmTest_SQL_Datasheet", acFormDS + Set frmDS = Forms("frmTest_SQL_Datasheet") + frmDS.SetFormData rst + End If + Me.labMsg.Caption = L10n.Text("SQL statement was executed.") + Me.labTime.Caption = Format$(T.TimeMSec, "0.00 \m\s") + setCmdStatus False + End If + + Set T = Nothing + Set rst = Nothing + Set cnn = Nothing + +End Sub + +Private Sub ExecuteSQL_DAO() + + Dim frmDS As Form_frmTest_SQL_Datasheet + + Dim rst As DAO.Recordset + Dim strErr As String + Dim bolOpenRS As Boolean + + Dim T As QpcStopwatch + + Set T = New QpcStopwatch + + If checkSelection = False Then + Exit Sub + End If + + 'setCmdStatus True + Me.labMsg.Caption = L10n.Text("Statement is executed") + Me.labTime.Caption = vbNullString + Me.Repaint + +On Error Resume Next + 'einfach einmal versuchen, ob SQL-String per openrecordset geöffnet werden kann + bolOpenRS = True + T.StartT + Set rst = DbCon.ODBC.OpenRecordset(Me.txtSQL.Value, dbOpenDynaset, dbSeeChanges) + T.StopT + If Err.Number = 3219 Or Err.Number = 3324 Then 'keine DS zurückgegeben = Aktionsabfrage? + bolOpenRS = False + Err.Clear + T.StartT + DbCon.ODBC.Execute Me.txtSQL.Value + T.StopT + End If + + If Err.Number <> 0 Then + strErr = "Fehler " & Err.Number & ": " & Err.Description + Err.Clear + End If + + If Len(strErr) > 0 Then + Me.labMsg.Caption = strErr + MsgBox strErr + Else +On Error GoTo 0 + If bolOpenRS Then 'rst öffnen => in Form anzeigen + DoCmd.OpenForm "frmTest_SQL_Datasheet", acFormDS + Set frmDS = Forms("frmTest_SQL_Datasheet") + frmDS.SetFormData rst + End If + Me.labMsg.Caption = L10n.Text("SQL statement was executed.") + Me.labTime.Caption = Format$(T.TimeMSec, "0.00 \m\s") + setCmdStatus False + End If + +End Sub + +Private Sub ExecuteSQL_DAOPT() + + Dim frmDS As Form_frmTest_SQL_Datasheet + + Dim rst As DAO.Recordset + Dim strErr As String + Dim bolOpenRS As Boolean + + Dim T As QpcStopwatch + + Set T = New QpcStopwatch + + If checkSelection = False Then + Exit Sub + End If + + 'setCmdStatus True + Me.labMsg.Caption = L10n.Text("Statement is executed") + Me.labTime.Caption = vbNullString + Me.Repaint + +On Error Resume Next + bolOpenRS = True + + T.StartT + Set rst = DbCon.ODBC.OpenRecordsetPT(Me.txtSQL.Value, dbOpenDynaset) + T.StopT + If Err.Number = 3325 Then 'keine DS zurückgegeben = Aktionsabfrage? + bolOpenRS = False + Err.Clear + ' .. Abfrage müsste trotzem ausgeführt worden sein => keine weiteres Execute erforderlich + 'T.StartT + 'DbConnection.ODBC.ExecutePT Me.txtSQL.Value, dbSQLPassThrough + 'T.StopT + End If + + If Err.Number <> 0 Then 'es ist ein Fehler aufgetreten + strErr = "Fehler " & Err.Number & ": " & Err.Description + Err.Clear + End If + + If Len(strErr) > 0 Then + Me.labMsg.Caption = strErr + MsgBox strErr + Else +On Error GoTo 0 + If bolOpenRS Then 'rst öffnen => in Form anzeigen + DoCmd.OpenForm "frmTest_SQL_Datasheet", acFormDS + Set frmDS = Forms("frmTest_SQL_Datasheet") + frmDS.SetFormData rst + End If + Me.labMsg.Caption = L10n.Text("SQL statement was executed.") + Me.labTime.Caption = Format$(T.TimeMSec, "0.00 \m\s") + setCmdStatus False + End If + +End Sub + +Private Sub cmdExecuteSQL_Click() +On Error Resume Next + ExecuteSQL +End Sub + +Private Sub cmdSavePT_Click() +On Error Resume Next + savePassThroughQueryDef +End Sub + +Private Sub savePassThroughQueryDef() + + Dim QueryDefName As String + Dim queryExists As Boolean + Dim qdf As DAO.QueryDef + Dim db As DAO.Database + Dim Cancel As Boolean + + QueryDefName = vbNullString + Do Until (getPtQueryDefName(QueryDefName, queryExists, Cancel) = True) + If Cancel Then + Exit Sub + End If + Loop + + Set db = CurrentDb + + If queryExists Then + Set qdf = db.QueryDefs(QueryDefName) + Else + Set qdf = db.CreateQueryDef(QueryDefName) + End If + + qdf.SQL = Me.txtSQL.Value + qdf.Connect = DbCon.ODBC.ConnectionString + qdf.Close + + Set qdf = Nothing + Set db = Nothing + + RefreshDatabaseWindow + +End Sub + +Private Function getPtQueryDefName(ByRef QueryDefName As String, ByRef bQueryDefExists As Boolean, ByRef Cancelled As Boolean) As Boolean + + QueryDefName = InputBox("Under which name should the query be saved?", "Enter query name", QueryDefName) + + If Len(QueryDefName) = 0 Then + Cancelled = True + getPtQueryDefName = False + Exit Function + End If + + If TableDefExists(QueryDefName) Then + If VBA.MsgBox(FormatText(L10n.Text("There is already a table named '{0}'"), QueryDefName) & vbNewLine & _ + L10n.Text("Please choose another name."), vbExclamation + vbDefaultButton2 + vbOKCancel) = vbOK Then + getPtQueryDefName = False + Exit Function + Else + Cancelled = True + getPtQueryDefName = False + Exit Function + End If + End If + + bQueryDefExists = QueryDefExists(QueryDefName) + If bQueryDefExists Then + Select Case VBA.MsgBox(FormatText(L10n.Text("Es existiert bereits eine Abfrage mit dem Namen '{0}'"), QueryDefName) & vbNewLine & _ + L10n.Text("Should this be changed?"), vbExclamation + vbDefaultButton2 + vbYesNoCancel) + + Case vbYes + ' + Case vbCancel + Cancelled = True + getPtQueryDefName = False + Exit Function + Case Else + getPtQueryDefName = False + Exit Function + + End Select + + End If + + getPtQueryDefName = True + +End Function + +Private Sub Form_Close() +On Error Resume Next + DoCmd.Hourglass False 'falls es einmal ein Problem gab +End Sub + +Private Sub Form_Load() +On Error Resume Next + + setDbmsInfo + + Me.Section(acDetail).BackColor = dcwBackgroundForm + Me.labDbmsName.BackColor = dcwInfoLabelBackColor + Me.labTimeL.BackColor = dcwInfoLabelBackColor + Me.labTime.BackColor = dcwInfoLabelBackColor + Me.labMsg.BackColor = dcwInfoLabelBackColor + + Me.Caption = m_Caption + + If Len(Me.OpenArgs) > 0 Then + m_CalledByWizard = True + End If + +End Sub + +Private Sub Form_Open(Cancel As Integer) +On Error GoTo HandleErr + + If Len(Me.OpenArgs) > 0 Then + Dim lngRecordsetMode As Long + lngRecordsetMode = Val(Me.OpenArgs) + If lngRecordsetMode > 0 And lngRecordsetMode < 4 Then + Me.optRS.Value = lngRecordsetMode + End If + End If + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub Form_Resize() + + Dim lngH As Long + +On Error Resume Next + + lngH = Me.InsideHeight + Me.Section(0).Height = lngH + Me.txtSQL.Height = lngH - Me.txtSQL.Top - Me.labMsg.Height - 200 + Me.labMsg.Top = lngH - Me.labMsg.Height - 100 + Me.labTime.Top = lngH - Me.labTime.Height - 100 + Me.labTimeL.Top = Me.labTime.Top - Me.labTimeL.Height + + Me.txtSQL.Width = Me.InsideWidth - Me.txtSQL.Left - 100 + Me.labMsg.Width = Me.InsideWidth - Me.labMsg.Left - 100 + +End Sub + + +Private Sub Form_Unload(Cancel As Integer) +On Error Resume Next + Set m_DbConnectionInfo = Nothing + If Not m_CalledByWizard Then + DisposeWizard + End If +End Sub + +Private Sub m_DbConnectionInfo_DbmsConnectionChanged(ByVal newCID As String) +On Error GoTo HandleErr + + setDbmsInfo + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub m_DbConnectionInfo_DbmsInfoMessage(ByVal Source As String, ByVal Msg As String, ByVal MsgStyle As VbMsgBoxStyle) +On Error GoTo HandleErr + +On Error Resume Next + Me.labMsg.Caption = Msg + +ExitHere: + Exit Sub + +HandleErr: + HandleError Err.Number, Err.Source, Err.Description, aclibErrMsgBox +End Sub + +Private Sub setDbmsInfo() + + Dim strCID As String + Dim bolEnabled As Boolean + + strCID = getCID + bolEnabled = (Len(strCID) > 0) + If Not bolEnabled Then + strCID = L10n.Text("Select connection") + End If + Me.labDbmsName.Caption = strCID + Me.cmdExecuteSQL.Enabled = bolEnabled + Me.optDAPPT.Enabled = (CurrentConnectionInfo.DbmsName <> "MSJET") + +End Sub diff --git a/source/forms/frmTest_SQL.form b/source/forms/frmTest_SQL.form new file mode 100644 index 0000000..45feae2 --- /dev/null +++ b/source/forms/frmTest_SQL.form @@ -0,0 +1,333 @@ +Version =20 +VersionRequired =20 +Begin Form + RecordSelectors = NotDefault + ShortcutMenu = NotDefault + AutoCenter = NotDefault + NavigationButtons = NotDefault + DividingLines = NotDefault + DefaultView =0 + ScrollBars =0 + TabularFamily =119 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + GridY =10 + Width =10318 + DatasheetFontHeight =10 + ItemSuffix =50 + Left =1000 + Top =1000 + Right =50000 + Bottom =50000 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0xdc0c5e0e39c2e240 + End + Caption ="SQL testen" + OnOpen ="[Event Procedure]" + OnClose ="[Event Procedure]" + DatasheetFontName ="Arial" + OnResize ="[Event Procedure]" + OnLoad ="[Event Procedure]" + FilterOnLoad =0 + ShowPageMargins =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin CommandButton + Width =1701 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin OptionButton + SpecialEffect =2 + BorderLineStyle =0 + LabelX =230 + LabelY =-30 + End + Begin OptionGroup + SpecialEffect =3 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin ListBox + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1417 + LabelX =-1701 + FontName ="Tahoma" + End + Begin ComboBox + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + End + Begin Subform + SpecialEffect =2 + BorderLineStyle =0 + Width =1701 + Height =1701 + End + Begin ToggleButton + Width =283 + Height =283 + FontSize =8 + FontWeight =400 + ForeColor =-2147483630 + FontName ="Tahoma" + BorderLineStyle =0 + End + Begin Section + CanGrow = NotDefault + Height =9540 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + BackStyle =0 + IMESentenceMode =3 + Width =0 + Height =0 + Name ="sysFirst" + + End + Begin TextBox + EnterKeyBehavior = NotDefault + AllowAutoCorrect = NotDefault + ScrollBars =2 + OldBorderStyle =1 + OverlapFlags =85 + TextAlign =1 + IMESentenceMode =3 + Left =1920 + Top =477 + Width =8276 + Height =8241 + FontSize =9 + TabIndex =1 + LineSpacing =57 + Name ="txtSQL" + + Begin + Begin Label + OverlapFlags =85 + Left =1927 + Top =113 + Width =1650 + Height =255 + FontSize =9 + FontWeight =700 + Name ="Bezeichnungsfeld22" + Caption ="SQL-Anweisung:" + End + End + End + Begin CommandButton + OverlapFlags =85 + Left =120 + Top =2490 + Width =1635 + Height =585 + FontWeight =700 + TabIndex =3 + Name ="cmdExecuteSQL" + Caption ="SQL-Anweisung ausführen" + OnClick ="[Event Procedure]" + + End + Begin Label + BackStyle =1 + OverlapFlags =85 + TextAlign =2 + Left =1884 + Top =8790 + Width =8306 + Height =645 + FontSize =9 + FontWeight =700 + BackColor =15132390 + ForeColor =10040115 + Name ="labMsg" + End + Begin OptionGroup + SpecialEffect =0 + OldBorderStyle =0 + OverlapFlags =85 + Left =300 + Top =1080 + Width =1251 + Height =1062 + TabIndex =2 + Name ="optRS" + DefaultValue ="1" + + Begin + Begin OptionButton + OverlapFlags =87 + Left =420 + Top =1187 + OptionValue =1 + Name ="Option34" + ControlTipText ="ADODB/OLEDB-Zugriff" + + Begin + Begin Label + OverlapFlags =247 + Left =641 + Top =1125 + Width =855 + Height =285 + FontSize =10 + FontWeight =700 + Name ="Bezeichnungsfeld35" + Caption ="ADODB" + End + End + End + Begin OptionButton + OverlapFlags =87 + Left =420 + Top =1528 + OptionValue =2 + Name ="Option36" + ControlTipText ="DAO/ODBC-Zugriff über DAO.Database" + + Begin + Begin Label + OverlapFlags =247 + Left =641 + Top =1470 + Width =855 + Height =285 + FontSize =10 + FontWeight =700 + Name ="Bezeichnungsfeld37" + Caption ="DAO BE" + End + End + End + Begin OptionButton + OverlapFlags =87 + Left =420 + Top =1872 + OptionValue =3 + Name ="optDAPPT" + ControlTipText ="DAO/ODBC-Zugriff mittels PT-Abfrage" + + Begin + Begin Label + OverlapFlags =247 + Left =650 + Top =1815 + Width =840 + Height =285 + FontSize =10 + FontWeight =700 + Name ="Bezeichnungsfeld48" + Caption ="DAO PT" + End + End + End + End + End + Begin Label + OverlapFlags =85 + Left =57 + Top =750 + Width =1800 + Height =285 + FontSize =10 + FontWeight =700 + Name ="Bezeichnungsfeld38" + Caption ="Zugriffsvarianten" + End + Begin Label + BackStyle =1 + OverlapFlags =93 + TextAlign =2 + Left =113 + Top =9117 + Width =1641 + Height =300 + FontSize =9 + FontWeight =700 + BackColor =15132390 + ForeColor =10040115 + Name ="labTime" + Caption ="- - -" + End + Begin Label + BackStyle =1 + OverlapFlags =215 + TextAlign =2 + Left =113 + Top =8787 + Width =1641 + Height =345 + FontSize =9 + TopMargin =29 + BackColor =15132390 + ForeColor =10040115 + Name ="labTimeL" + Caption ="Ausführungszeit" + End + Begin Label + BackStyle =1 + OldBorderStyle =1 + OverlapFlags =85 + TextAlign =2 + Left =56 + Top =56 + Width =1755 + Height =675 + FontSize =12 + FontWeight =700 + TopMargin =29 + BackColor =15132390 + Name ="labDbmsName" + Caption ="DBMS-Verbindung" + End + Begin CommandButton + OverlapFlags =85 + Left =113 + Top =3401 + Width =1635 + Height =615 + FontSize =7 + TabIndex =4 + Name ="cmdSavePT" + Caption ="SQL-Anweisung als\015\012Pass-Through Abfrage speichern" + OnClick ="[Event Procedure]" + + End + End + End + End +End +CodeBehindForm +' See "frmTest_SQL.cls" diff --git a/source/forms/frmTest_SQL.json b/source/forms/frmTest_SQL.json new file mode 100644 index 0000000..0591205 --- /dev/null +++ b/source/forms/frmTest_SQL.json @@ -0,0 +1,28 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "frmTest_SQL Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + } + } +} diff --git a/source/forms/frmTest_SQL_Datasheet.cls b/source/forms/frmTest_SQL_Datasheet.cls new file mode 100644 index 0000000..d507e4f --- /dev/null +++ b/source/forms/frmTest_SQL_Datasheet.cls @@ -0,0 +1,48 @@ +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Option Compare Database +Option Explicit + +Private Const m_conMaxCtlCnt As Long = 30 + +Public Sub SetFormData(ByRef rst As Object) 'rst kann ADODB oder DAO-Recordset sein! + + Dim lngRstFldCnt As Long + Dim lngMaxCnt As Long + Dim i As Long + + lngRstFldCnt = rst.Fields.Count + + If m_conMaxCtlCnt > lngRstFldCnt Then + lngMaxCnt = lngRstFldCnt - 1 'da von 0 gezählt wird + Else + lngMaxCnt = m_conMaxCtlCnt - 1 'es werden nicht alle Felder des Recordset übernommen + End If + + Me!Text0.Enabled = True 'nur zur Sicherheit + Me!Text0.SetFocus + + With rst + For i = 0 To lngMaxCnt + Me.Controls("lab" & i).Caption = .Fields(i).Name + Me.Controls("Text" & i).ControlSource = .Fields(i).Name + Me.Controls("Text" & i).Enabled = True + Next i + End With + + For i = lngMaxCnt + 1 To m_conMaxCtlCnt - 1 + Me.Controls("lab" & i).Caption = vbNullString + Me.Controls("Text" & i).ControlSource = vbNullString + Me.Controls("Text" & i).Enabled = False + Next i + + Set Me.Recordset = rst + +End Sub + +Private Sub Form_Unload(Cancel As Integer) +On Error Resume Next + Set Me.Recordset = Nothing +End Sub diff --git a/source/forms/frmTest_SQL_Datasheet.form b/source/forms/frmTest_SQL_Datasheet.form new file mode 100644 index 0000000..e173925 --- /dev/null +++ b/source/forms/frmTest_SQL_Datasheet.form @@ -0,0 +1,776 @@ +Version =20 +VersionRequired =20 +Begin Form + AutoResize = NotDefault + ShortcutMenu = NotDefault + AutoCenter = NotDefault + DefaultView =2 + TabularFamily =124 + PictureAlignment =2 + DatasheetGridlinesBehavior =3 + GridY =10 + Width =5442 + RowHeight =390 + DatasheetFontHeight =10 + ItemSuffix =76 + Left =1000 + Top =1000 + Right =50000 + Bottom =50000 + FrozenColumns =2 + OnUnload ="[Event Procedure]" + RecSrcDt = Begin + 0xf02028da35e0e240 + End + Caption ="Test: SQL-Ergebnis" + DatasheetFontName ="Arial" + FilterOnLoad =0 + AllowLayoutView =0 + DatasheetGridlinesColor12 =12632256 + Begin + Begin Label + BackStyle =0 + FontName ="Tahoma" + End + Begin TextBox + FELineBreak = NotDefault + SpecialEffect =2 + OldBorderStyle =0 + BorderLineStyle =0 + Width =1701 + LabelX =-1701 + FontName ="Tahoma" + AsianLineBreak =255 + End + Begin Section + Height =3458 + BackColor =-2147483633 + Name ="Detailbereich" + Begin + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1016 + Top =56 + Width =741 + ColumnWidth =3345 + Name ="Text0" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Top =56 + Width =960 + Height =240 + Name ="lab0" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1016 + Top =396 + Width =741 + ColumnWidth =2790 + TabIndex =3 + Name ="Text3" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Top =396 + Width =960 + Height =240 + Name ="lab3" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1016 + Top =737 + Width =741 + ColumnWidth =1140 + TabIndex =6 + Name ="Text6" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Top =737 + Width =960 + Height =240 + Name ="lab6" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1016 + Top =1077 + Width =741 + TabIndex =9 + Name ="Text9" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Top =1077 + Width =960 + Height =240 + Name ="lab9" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1016 + Top =1417 + Width =741 + TabIndex =12 + Name ="Text12" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Top =1417 + Width =960 + Height =240 + Name ="lab12" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1020 + Top =1755 + Width =741 + TabIndex =15 + Name ="Text15" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =4 + Top =1755 + Width =960 + Height =240 + Name ="lab15" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1020 + Top =2095 + Width =741 + TabIndex =18 + Name ="Text18" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =4 + Top =2095 + Width =960 + Height =240 + Name ="lab18" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1020 + Top =2435 + Width =741 + TabIndex =21 + Name ="Text21" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =4 + Top =2435 + Width =960 + Height =240 + Name ="lab21" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1020 + Top =2775 + Width =741 + TabIndex =24 + Name ="Text24" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =4 + Top =2775 + Width =960 + Height =240 + Name ="lab24" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =1020 + Top =3135 + Width =741 + TabIndex =27 + Name ="Text27" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =4 + Top =3135 + Width =960 + Height =240 + Name ="lab27" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2830 + Top =56 + Width =741 + ColumnWidth =3810 + TabIndex =1 + Name ="Text1" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1862 + Top =56 + Width =900 + Height =240 + Name ="lab1" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2830 + Top =396 + Width =741 + ColumnWidth =1800 + TabIndex =4 + Name ="Text4" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1862 + Top =396 + Width =900 + Height =240 + Name ="lab4" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2830 + Top =737 + Width =741 + ColumnWidth =1020 + TabIndex =7 + Name ="Text7" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1864 + Top =737 + Width =915 + Height =240 + Name ="lab7" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2830 + Top =1077 + Width =741 + TabIndex =10 + Name ="Text10" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1864 + Top =1077 + Width =915 + Height =240 + Name ="lab10" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2830 + Top =1417 + Width =741 + TabIndex =13 + Name ="Text13" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1864 + Top =1417 + Width =915 + Height =240 + Name ="lab13" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2834 + Top =1755 + Width =741 + TabIndex =16 + Name ="Text16" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1868 + Top =1755 + Width =915 + Height =240 + Name ="lab16" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2834 + Top =2095 + Width =741 + TabIndex =19 + Name ="Text19" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1868 + Top =2095 + Width =915 + Height =240 + Name ="lab19" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2834 + Top =2435 + Width =741 + TabIndex =22 + Name ="Text22" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1868 + Top =2435 + Width =915 + Height =240 + Name ="lab22" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2834 + Top =2775 + Width =741 + TabIndex =25 + Name ="Text25" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1868 + Top =2775 + Width =915 + Height =240 + Name ="lab25" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =2834 + Top =3135 + Width =741 + TabIndex =28 + Name ="Text28" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =1868 + Top =3135 + Width =915 + Height =240 + Name ="lab28" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4645 + Top =56 + Width =741 + ColumnWidth =2610 + TabIndex =2 + Name ="Text2" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3634 + Top =56 + Width =960 + Height =240 + Name ="lab2" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4645 + Top =396 + Width =741 + TabIndex =5 + Name ="Text5" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3634 + Top =396 + Width =960 + Height =240 + Name ="lab5" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4645 + Top =737 + Width =741 + TabIndex =8 + Name ="Text8" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3634 + Top =737 + Width =960 + Height =240 + Name ="lab8" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4645 + Top =1077 + Width =741 + TabIndex =11 + Name ="Text11" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3634 + Top =1077 + Width =960 + Height =240 + Name ="lab11" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4645 + Top =1417 + Width =741 + TabIndex =14 + Name ="Text14" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3634 + Top =1417 + Width =960 + Height =240 + Name ="lab14" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4649 + Top =1755 + Width =741 + TabIndex =17 + Name ="Text17" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3638 + Top =1755 + Width =960 + Height =240 + Name ="lab17" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4649 + Top =2095 + Width =741 + TabIndex =20 + Name ="Text20" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3638 + Top =2095 + Width =960 + Height =240 + Name ="lab20" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4649 + Top =2435 + Width =741 + TabIndex =23 + Name ="Text23" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3638 + Top =2435 + Width =960 + Height =240 + Name ="lab23" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4649 + Top =2775 + Width =741 + TabIndex =26 + Name ="Text26" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3638 + Top =2775 + Width =960 + Height =240 + Name ="lab26" + Caption ="FELDNAME" + End + End + End + Begin TextBox + AllowAutoCorrect = NotDefault + SpecialEffect =0 + OverlapFlags =85 + IMESentenceMode =3 + Left =4649 + Top =3135 + Width =741 + TabIndex =29 + Name ="Text29" + + Begin + Begin Label + OverlapFlags =85 + TextAlign =2 + Left =3638 + Top =3135 + Width =960 + Height =240 + Name ="lab29" + Caption ="FELDNAME" + End + End + End + End + End + End +End +CodeBehindForm +' See "frmTest_SQL_Datasheet.cls" diff --git a/source/forms/frmTest_SQL_Datasheet.json b/source/forms/frmTest_SQL_Datasheet.json new file mode 100644 index 0000000..57ba7da --- /dev/null +++ b/source/forms/frmTest_SQL_Datasheet.json @@ -0,0 +1,28 @@ +{ + "Info": { + "Class": "clsDbForm", + "Description": "frmTest_SQL_Datasheet Print Settings" + }, + "Items": { + "Printer": { + "Orientation": "Portrait", + "PaperSize": "A4" + }, + "Margins": { + "LeftMargin": 1.0097, + "TopMargin": 1.0097, + "RightMargin": 1.0097, + "BotMargin": 1.0097, + "DataOnly": false, + "Width": 5, + "Height": 3, + "DefaultSize": true, + "Columns": 1, + "ColumnSpacing": 0.25, + "RowSpacing": 0, + "ItemLayout": "Horizontal Columns", + "FastPrint": 1, + "Datasheet": 1 + } + } +} diff --git a/source/frmConfig_DBMS.frm b/source/frmConfig_DBMS.frm deleted file mode 100644 index 2ae2926fc6c0af10bfd2be10b2817a986886fa97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95136 zcmeI5ZF3wqa>w^|s`4E+s@z$=oOODlC^^1MQ4}SsPO=Ou zpIn>#{p9Z^-8)|>-CrkflvLyvYqCCB z3u*5v<#SP?tothSROu;gI{R!)j`evp`CfOA^zU5h;SbKHlh1VLd~#3M4ktS*i~DJA zxZDd=_b1!>e;m%w!^nvms zBl4ao-3KFZ<_O=t{TpKmx-8YznN{)oPgUOQ zkn@i2b<6l7<6upeDdz+Eo$K>TyiiYU*Lp^0zLt($l*FbeV8u)Z*Tm^9X#gCrWtcq? zK40of>K#dwQZG&ZJlRqUbX}kwypr6oyQVRJQJNG#vwPc0wsVbC z#`{WtRo^wyzN+sH)pt)^9_V{BtM`_;-0zh7K%75RdGK6P+8wo}TPkZuGThbihK@J& zITX$uZ>#J>m3%Gm17_=?&YWM>{j?VI++aUxKaX`Z9Vp@Hs#5RiL+#f>Iq1zQKhRD; z)FpnVlizmgl}ab3s{1#N(`LZOEwbs`J?YA0wZ4zkZ_#40C)g+Jg+7|l`hQZsQ)$4* zl66dPUc#>KqaAPb`&{?G4OD2y&x6Kd!SNeTGQCCnH$w`$YnofH|Im3NsZ+voEoi<~ zyX|tlGP)b8$B~dY&T2v%#aB40(7he;iv@G()}DJlKVlEB1zol)P{+c>PxowG_qu6s zsdeVmB3)V$>9Ljm>E_S#j_atQNnie*FnuM>vR<^TMLP%JVLa{0dfX6)*Jd2jcU=vZ z=DIkK65#5Z(po<2L%dE{F0T7$eU{Fz-1fX`PK) zH!uE7`nf4IZVCxx-G}QCM}D22lKeM?D?Qd2Z{{P>!<$A~uZ|~zY>?}rDC`F*(${(! zt2&PHwz!OLdyDD)dKc$-zwF<|cq=Po*;I|U<&bN*HQbg%V7XjP-x_YqA+TJorf&_m z)tmCex30e_pgf|j*KcTz2zI@jS-2ZwXv1ch-KS##(kE~jxn8&T#b&G?Z=po z+|<$O7~OH+oVL}^^D?qGT29l?z24n?>oZ&|HDhl^MU14VB_E;%7PaH*Escv9sgLot zE*iuE80XH@V5D!62TMZ~nD{xd<(-fZUea+kF;Sz*+?nyfsL|+fr*E?xNan2O)ek3`ami=p9+!_&wdX^F6Q^O)ZHwK3k9{j`V?F%;r3 zL<5MIBZ>WRN3Wg<54Rs?>C(1 zb=gC!o8jnn##S4it^-}27~{=pW3P?2$;QjFlHT3#7;o>c)H2GAw=$gaR1LQrk+SoK zTNzGys)k#RNZEPAtqi9;Rl_Yur0l%mR)$las^OL+Qg+^OE5j*I)o{xZDLZetmEn}9 zYPjWyl$|%+%5ch4HQaJU%FY{ZWjN)j8g4lvW#H{8l_%2PGmazx6` z8*XJd<*6EOIU;4}4Yx9!@>C7C9Fel~hFcjtUbJXOOjN2Kh$;Z}xI zo~q%NBT{zWa4W+pPt|bC5h*)wxRv3Qr)s$6h?Jc-+{$puQ#IUjM9R(^Ze=*-sTyuM zB4y{R#I1Zc8Q;yv_ri<&5vDY{yD-_iCw(ss-lu6bOy3+?R_A3>trDkY${)*f5#H=w zwD!hf-l*vBj7{Y*zsnapJ=yMn_p~q2_e<~h1ReGlV)rlhx%y83*n@7l-J_uPNc=3n zgIl`WWlpWTkDcvL`Mq{W+|lk@w%^&Q{;>m>X>~V!+z;}Ra{MSR+0}A*XT7Bp+PHTH}Fz+?}CGIsv9eJN|Ue{HgkK?w= zlIm&wyu2;y!@Bp!d2{XdI(PG?dtmXu?SnOyj{i`g=Wb0LS3mmoF3x_p^f)flQY!Bz zUE^&zTpMl;x8)F6E?3jHhTC!oESIb4Tf=QR1eVLST7A2izn0fvwY=rj$Ish7SiXOi z9pnC179;fiw0!?7KgM*1ukU5$V}&mQFm;()#2r-8*Yw7-Lc_ThnJ^rxH%Ga$A()SUY@$)=19~X8*X)YdFqCn zBT;v3xYgn1sT*#NMBTCBR)?3TZn!xTb;pKV9bTTg;pRxx9UE?SczNoEnV}&mQFm;()#2r-8*Yw7-Lc_ThnJ^r zxH%Ga$A()SUY@$)=19~X8*X)YdFqCnBT;v3xYgn1saJ{H_})qBK0I+BteTy8?5%y* zv~LXD`x_Q*rx~x$yF0EDsa12?cv}w9i{Qo%VwB2GMjZWps`1!;)Ao4l_)I%vZEJ_D z@1)(Elc$r1ldmT)^q+mgjZZepe~A@m=KN-Klm7gU*2{rTKloIX~W2 zs=dj#;^$mDc2O#OY<2hb^0a=uFaA%I-dncqWcE~)Ug*wC9WV8kIlsr6Q%w2Z3^br} zA_VS+J;csKiDUKnTFC8-rx!EKcysHuUM{@MPgU0=?Pm5uxu^jr}Zw<2d|>$B)D%?~&&1uyAW{MqNZ_8Cf|>cSG6x;^b5s#m;XB zMY>WZ>!+gjgYc)69~L0F^|t)G0ht|XEtpKDhp$9~J@yWzHE)F1`6#XJ$!n$EQ*CyX zc1yVq!@29h7@kj*1Fb|lhDuG#N%Pg9>C&jz@@NJA6wvxe`m?xgxTe>(aOZPFRt$96 ztI%|&E3@meq-(u0D$^UNo)ziMMP&W+ODnfYv~}b)rjb9dgv;b(HhfpD1PsSp_J-Qg z{#!eDvSge7`DJx6+|xef+Jc^{zcp?K>vg0){#31@zsHU3@i_D%-)lEcY~CB$J8wf< zLjOo@$#(P{?=v5&MdPVZB0GELw6MqH6rP6sFGa&^1x+mJ4?*(dx!qfdRAT>FMJZwOx}0fKip53B88X3p2PU-V|@s=6*y(sVuPX1m*k58@Ug}u6-kxJC z9`bU>J@c-gf+u*c8Xd{fF#@7}9SMmS3#{aW$(I_7-J8`vj!DL9;1-tsHQ5(uT_xU@ zU%sc$y0nzo#dTe~8Lr!YvpYIFke$2}Joq))i$k4_*KkvZV&jM zo;N=}oIKV@VOuq$Ui?zq$Evwo`*Hc@^d2eq;ah|jNk7m1ROP-7ddl8Q<83U@n~x#Z zl)p|!c}r(slv|ZFy!Y?=L3Q$V8u{qjc5NwXwT{iI?2yy*W7jSnhcU}$urcHQn&~Q65V%pYW1oyCw-=U0^?*TR(0D4afd|DQ(?XD_nlx zd#5>cWGDMSs!jbU`%NEaKdaReXESR=T>4dLx%MxS87^Q?5k>W zF`oJ{AbYOSAW=z18vE*HPTX(RN`?`KzpBuV^PtX3N*YvHCer$O)xrVIEMccv<-HWu5 zA)0yHVYkscm2GE;cHX9FPo#sO6ler!YE`s!j*HM>j64eHwMFk<(9RMhpuJallQ!@*{B2g zpUZgpcs;LWBQ0KIe&w%c^rkcG%KTf5>D2l7_^z881rrOgxwF;#$7!$dXtE*hA51>3 z>{(WA^KVKjyTM;N2wFxzPCv|SJ~OdcCgxNb!`_w*@Qc~YlN}^Wy)4(xatq@*zLZpu zh(!{{TXs$R9I~GmYxP4^FJ=vfsODAz|F5ov4pGjnM@=u{k|XYb{h()fuK%Cw$XwQu zB>KEFZmHvWoNh#Vl~lhF*KsXGT|8)Dt zI{kmQ5!~zQDHtu3=(ZyiTQWUSP0p@eBsN#qVsq=qNT+UWj^uhro&_;_R&wBftgEkQ{*pN$MxDgvZUzb7(bY9wUDp@R$Jc$h z7WuKkp7b1i!l$;!8#9f*e01b8&?c08>gNx!6^T`INg%B$?>1V?>(J! zR#$_cGiL2=s4EBB#rQf(mtTJTR5D{_#!osD?`CzzhW-&rt&R z(nGzFc8#qgF^V--amd%pJ>GgtJw$nV3qC}#YuT9>WTof3i6Ue3>+~V64RPJ=#wA%@ zSR*mF;E}G)L!qq~r3?)$*lEGqntHw?_3ru>TL->q%}w5NEdpDz3aFM-r@RU-^OZfT zms(!JMYt~S57Q9@?Q&OIGrnrRPkvZj#`30fL|KT{U~@0->%V(ny3X_JT2zao*Lf?c z<-Ap8GrAV?x@_anTH;(vem?L05(TQUTi&XowX(jII4H9R>tQrdL$T`v90x7j41FZA zy03yAV@)+Zd!0wq7gdaur|R4B7C_FZr*(jF=;y zJ~KzRWKC{~H?-8e{#*KgRrgr)#cUJ*@cD13E}RnyKdjQma!cne!1Reo^PbATsFyh8 z%Us+_3{hU*dJIwQS{3I0XvKA-$06GD_J(y8CDviFWQSAC--%b^KOg7O2fhe>)_z!- z?Q3f{)T^D#Hn7h8jsDT2eWjV*XNv1HGT06J#S8D&&{eHT0b)*$D&|o4|S!6%9cjIuT>+s^_*S)KhX16@6!j=KA6dC zLq}Fd?Fmm--{Y-(tZUYjy_7sz6)-f1Z-Ab6^n@n>8CU))XhB^2{JYUMbY*rIEr@gtIj;5d@xE%q6JZr+vgu`B z>WbNBERoy#onUW4p_{|3vCUO8CqoLp*!m-RspO}Zq2E4N&lOjBvSt-~c2D=|PmrLu z?y026eLo+!dilyF%J1vLhDy6K>nVwPo=)%rj)g&d!obJ!b@h5AzwxTW<(dlJR!%#%DO<7tpAvtzU@o<%1@j0C5H z)Gx~q`Ej=Pd8(AmFZPx9VbC1&eaE?FtPUNxv-FR}!xiz!)26nj1FZ0w@k@Mk&ojqq z#DLfpdg*#rN3X9;S`cNjKKrud|67%Pb&}R>Qzh>AYWg!a(4`vchpCGxXGB2wHm*qXl^oeBP z+~aY&M`<#8D0^ycepnAJRyF?=)b;=eCRtF&*27bj;g-CS)5cwfX{jfBR^P9;{$ zL7haw_I({+S1GPC3Vkdwg>|?U@jIDf4dn_y)hoyL;!;nXfVY z>_NPl-!8pgqux9vHi z;Zz;TcxQ;#l|g?wYQ&JA1a&Xbq|Ft+i*%u{7k#AGh~M1RiC601+GjpfFF?y)%sXi}*(#jV+;j zUzCUX1j|LFHm78F>~~o2(cs~`zt&yWM_tm9|5zOAL`3UM?UWH^I=&s_;Yt|gqlrB6 zz+1ffQ$JE&7}rn3>^Rzc97;AM`tuCefciZajs3|#ir=AhXv6hRPh_~cZR^@-zv{A# zJjH+gTF=U;)Lxj@4{;T#@y|;gx3l+y2F52oXy2@yV#c%20z6f_u^E)qlj)DY(9Wmg zgHb7V*4hj$>ZMA+kICg4YXE}o>7dPCDn7xXX#OA>fdg7~Nfb-$pV_MvPwX!}{7`E# zE*^{eb6H8=G(~BanihF5`K!u43jY{iV^w^9>4QS9m_gYWZJxH83Nco*V>i5p=-QcN zf`39gnyNffu!>|VIl+ZR#r7xvBJM~}T;++L++uFt-XuYr_@~*Oe-$N4^Z2RzIG$@5 z57Y8e4KZzvb8r29N|f#8j;{AGcHqI!dzovCypSPN*x6V~}bnaLC zd9A}UowIbheWj%~ppRef4|!dzAf8{V`%FC-?-ZerO5eE9^}pQ8xli6tD@V*)8si&} z2jZ2-XyI5ZH5Ag+rg^qvcYZaCTgI-HHYy&uzB0E`*=VMv#5y=duX~F9xc#-ewB!8Q zzGrH^7Q6mdR>w4d-l9H`U0}7sRPle>`o8iU%xo@PL>|+2h~@QX2tAc+H}eSCl#i3V zeh=@Jn7ZegFEhk+O5Nxuws>@-*{zn)rXteIcO_MZidcclK_trsa+6987b zv$UzjjtKD2CDpCRP&@DuI-G{tM< zNJlPww9Cu~e&2JIgtvh;@mxN7#@nV=x`s=8nerKr1wEK=(pAX_uhgh1Y?u%FT;WR!+IE2Z#bQrhnOM2hS zPaT$G9+x>wWH>aZv5ImdR$D=<;!IS$W3nU)5Jw}ILtRo_89#ar%_dr(LjA`$&CBV| zxGqZ(s$Qe0V_aR_qjcXUb$Rxl1?sdPbloCM=oVH3`(eE#Yu1l~ALebco95!4g0*Jj zFY*Jzj1cVlea*29j}tr|gfGFG1fl@=B~c32&icwoS4um!?x`8x)~cJI;&v@vZ-RX$ z#^zT3A|9jLHMh8+|F>7Vr{Z%^V?rX*ADAufA{}?G9YnW#^JUWRjE2d$j z2rp-9d*)?Xe@09jZ<2U}m7iaa)I2InpXHSC7qHP?p7K1dHQna}On)1Us zoTzX=E!Xi_vU@W9>D^v#i=wYIA#coYmT$TKd8kb6rXy!_C&V&|BW@j8I1vvif3M3>iScbO<0TIH0%LW&r0Bq=YRV{#6?pb`E<9X3M!ei%=1s?Fww}^P&}hFs+d`Y7CylwC zE)p>w`lW>*%E}--QCbf9Y#kco1Fj)8yM8IGeco2xH?^W0|NT4pEs;}ZDfVX9J;#U2 zA2reX$JNTbPZC{CbL*G(w<#xmn%1uq-maWt-qyP_>E7C%*0T`H$M3hktkkB?_jZfM zY?Y@E%n_>6m$6847CrHxOB{k9t|*_@l>=o{?ixm9L&RTOjpD@nyC%)_+#_=qt9Q0s(VOg!@G8i zl@Y|MPSr=*dV>Bn4KbH_N7g5$*2-2(#^~g=&=2DG;DOpY=Ao!Y8mXm!v>2MjdTd_& zJ6TnFY|}C8y?1pDAJQUhQ^l((6qK0~dRoE?)qmKwvbQp`U z3rWAd>*hNaZuYh!Yz;QZR`4(aNMqsMT -`eV-*L^-7VnWiqb4KcTSu~sgYCD-4W zw!cQ?N#CuK^5b}sCcW+>muJeEj$Me}Gs44P#yZ*RuSM(J&Xm$U1Li|*1_I6gO|T)W zXkWh{u!LSiw}*_1Y_-xkW`CcBs5Cmq+BDZ? zM&b7VS%RKPEB_^BS8F{lqfUETjc3&_hmn4Iei2UbSuV}`3t!Q+Y(HT-_o1}isBWm; z*{p2;S{*BomCSfa)IE)P)c1joR~gp7g#L0{bw*F4r5%b5M9r`3T}xWryxoYUEpF-V zKXt9S=>l~4*7oOkF&1O~O#ggsNw*&_shRs`W%Zd~(?ZLm?^tfG+@tvJ^YEtEAJo=f z&H8>kEoyNh8`FI{l-*C=pTMF$4}BS}Dt(5Ob=LE#Y(5~?*nJkB#eDNN2hpVy<$kRr zbAZ(GeCCfjPcA*PRIaN|hn~fxWAWD#YDUS|HSrWAJVjpZzKsC!k8EavlGA7}B{M6{ zIDs{i_ysu)=k|)~7~ekMjl)sT;e3vQ%gcBf@}_b+HpY4sq`Tt7YvVO9GMN- ziv71*0kgUOlvEt$GLE%zFnHQ77{?PI$D(~^haam4;~Da&>R%p8vJd94S;WKj zDjvR-&Y^uaW?3B<_O$V(*}G4=b=%TR`iAPap<43HLM}D8Qywj{8ZWB%jaj{E4a6t< z5T};dSv&+AV|O|0L*2RY_5!z&V>CQ^xWu&2bj90L^p9PSFHimy`20rwbEIN*i@E2$ zN=uQBPScY6qi#9Xp*IuJw#G(o!+Z|C0dC%g+gNy*(w0yJxjco{;e+J5%OkBnx%kF= z>59gobsK3^;aQmX!OOHAy66dF#KSE-y*}DgzH$S5Fx-!f^&J}Zx>+|Dswm6p$|p3m@OspiH@=6BlR_iRK@oJcznsd z4|*2!Q&zEF$e!1x)(+RkOPG zJHKLO-k-OWSVto6i*#n3dRqI)i(7W*yy>2e%zU20ER3&mV6;JdWqps?k~hKUoVPBi z7h=6e`kt4?YnbQ-m<4d1=;|r&Ccvk5zWScP80wGkn69W6eNU~->*R0=^E%``l<6UU z#L#M_m^adYs&=^i3M|*-vY0xnQ<%wOPGSC?u6<9FM2=Jch`9*&Ok+*DV=A86danM) za33$3SqoC9+GA+Oa(IF-f7fanQBJLZ$pFutx5k^7Zfkq6DTne;W4-3f>C0#Hc=-CP z;mLCw4flA6ZL|BUuT4qg?0L>uzl(dU#swwRX~kl+JVq0__xQtxbP0c$w>q--5W38> z<-A{o5wQ6Z^i%XU=z02#Zc2ry%$a2TQpfz=UH$8{(r1Tw0)IY#x^{iIEb^U+H$0?a zj$_@C8RI=#LFzyCb7^buNRJNTkrB%_ZFJ=D%%DUZm^E^|<*%!^9#vhen^;h!(uYU? zy|n(G!Z}N2YOOQkVD^2eEVtEGn?7!^H}+0GM!X=yldD7adr@hON5;z9623OGxu^_} z@66XMMXEf$(_OzXP8Iy=|IihlSEDt>m5JPC{X?vY>5X~mgWS+{wVt4Vm++pd~tb)bQK_jvF^SH92&*q`H zZ`J_q?XHwGEWK|tKG`Qdl@ZU#GMBYKEANu%GQ${qRXAbvhLyIrSHc;QUGw>wYqmMb z_}=klxsS*@?-pCNnI8HxN~5LC&vx3IW3caEieDm2r_x_E6RS#|D5F@8_j=`$#$Os= zFVrt*j}n94Q}N_0tj(g%uNb~O`A^mIze6v^GjSrYe&OwcU+do^9eLN_wvJz_uiTVX z#k%r!4dZ`TXUl4vKS}TJ{EB`zwxa7T`}2w2_)LEqR`x_%?y=+}rTHjMl<@=UKjUie f9ftWay`uL{=cY^evc8J`%KkljYaJcM9H;*W*izMA diff --git a/source/frmConfig_DBMS_SF_Data.frm b/source/frmConfig_DBMS_SF_Data.frm deleted file mode 100644 index 919a0105453db4b12ec18819d28f468b18f22fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250308 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 diff --git a/source/frmConfig_LinkTables.frm b/source/frmConfig_LinkTables.frm deleted file mode 100644 index ff22286163036355e6389b82fe6cec2f81b24496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174624 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 M5~Nk?4gGrkKTh+%m;e9( diff --git a/source/macros/Autoexec.macro b/source/macros/Autoexec.macro new file mode 100644 index 0000000..09dd41f --- /dev/null +++ b/source/macros/Autoexec.macro @@ -0,0 +1,18 @@ +Version =196611 +ColumnsShown =0 +Begin + Action ="RunCode" + Comment ="base/Autoexec.macro" + Argument ="CheckApplicationStartUpMethod()" +End +Begin + Comment ="_AXL:\015\012<codelib><file>" +End +Begin + Comment ="_AXL:base/Autoexec.macro</file></codelib>CheckApplicationStartUpMethod()" +End diff --git a/source/codelib/_codelib/addins/shared/ACLibGitHubImporter.cls b/source/modules/ACLibGitHubImporter.cls similarity index 98% rename from source/codelib/_codelib/addins/shared/ACLibGitHubImporter.cls rename to source/modules/ACLibGitHubImporter.cls index 97ff63d..7cb53d6 100644 --- a/source/codelib/_codelib/addins/shared/ACLibGitHubImporter.cls +++ b/source/modules/ACLibGitHubImporter.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -77,24 +77,24 @@ End Property ' Sub: UpdateCodeModules '--------------------------------------------------------------------------------------- Public Sub UpdateCodeModules() - + Dim SelectSql As String Dim IsFirstRecord As Boolean - + SelectSql = "select id, url from usys_Appfiles where url > ''" - + With CreateObject("ADODB.Recordset") .CursorLocation = 3 'adUseClient .Open SelectSql, CodeProject.Connection, 1, 1 ' 1 = adOpenKeyset, 1 = adLockReadOnly Set .ActiveConnection = Nothing - + IsFirstRecord = True Do While Not .EOF UpdateCodeModuleInTable .Fields(0).Value, .Fields(1).Value, IsFirstRecord If IsFirstRecord Then IsFirstRecord = False .MoveNext Loop - + .Close End With @@ -106,9 +106,9 @@ Private Sub UpdateCodeModuleInTable(ByVal ModuleName As String, ByVal ACLibPath Dim TempFile As String Dim DownLoadUrl As String Dim BranchName As String - + TempFile = FileTools.TempPath & ModuleName & FileTools.GetFileExtension(ACLibPath, True) - + If UseDraftBranch Then BranchName = "draft" Else @@ -116,7 +116,7 @@ Private Sub UpdateCodeModuleInTable(ByVal ModuleName As String, ByVal ACLibPath End If DownLoadUrl = Replace(GitHubContentBaseUrl, "{branch}", BranchName) DownLoadUrl = Replace(DownLoadUrl, "{path}", ACLibPath) - + DownloadFileFromWeb DownLoadUrl, TempFile CurrentApplication.SaveAppFile ModuleName, TempFile, False, "SccRev", Me.RevisionString(Requery) Kill TempFile @@ -138,18 +138,18 @@ Private Function GetLastCommitFromWeb() As Date Else CommitUrl = CommitUrl & "master" End If - + Const RevisionTag As String = "Revision " Dim JsonString As String JsonString = GetJsonString(CommitUrl) - + Dim LastCommitPos As Long LastCommitPos = InStr(1, JsonString, """committer"":") LastCommitPos = InStr(LastCommitPos, JsonString, """date"":") + Len("date"": """) '"date": "2023-05-14T09:34:04Z" LastCommitInfo = Mid(JsonString, LastCommitPos, Len("2023-05-14T09:34:04")) - + GetLastCommitFromWeb = CDate(Replace(LastCommitInfo, "T", " ")) End Function @@ -158,7 +158,7 @@ Private Function GetJsonString(ByVal ApiUrl As String) As String Dim ApiResponse As String Dim json As Object - + Dim xml As Object ' MSXML2.XMLHTTP60 Set xml = CreateObject("MSXML2.XMLHTTP.6.0") @@ -169,7 +169,7 @@ Private Function GetJsonString(ByVal ApiUrl As String) As String DoEvents Wend ApiResponse = xml.responseText - + GetJsonString = ApiResponse End Function @@ -179,7 +179,7 @@ Private Sub OpenIEandLoadHtmlDoc(ByVal Url As String, ByRef IE As Object, ByRef Dim TimeOut As Long Dim RunInTimeOut As Boolean Dim ErrHdlCnt As Long - + Dim ErrNumber As Long Dim ErrDescription As String @@ -197,16 +197,16 @@ On Error Resume Next On Error GoTo 0 Err.Raise ErrNumber, "ACLibWebImporter.OpenIEandLoadHtmlDoc", ErrDescription End If - + On Error GoTo 0 - + With IE TimeOut = Timer + 10 Do While .Busy And (Not RunInTimeOut) DoEvents If Timer > TimeOut Then RunInTimeOut = True Loop - + If Not RunInTimeOut Then .Visible = 0 .navigate Url @@ -216,7 +216,7 @@ On Error GoTo 0 If Timer > TimeOut Then RunInTimeOut = True Loop End If - + If RunInTimeOut Then On Error Resume Next IE.Quit @@ -224,9 +224,9 @@ On Error GoTo 0 On Error GoTo 0 Err.Raise vbObjectError, "OpenIEandLoadHtmlDoc", "Time-Out beim Laden von '" & Url & "'" End If - + Set HtmlDoc = IE.Document - + End With End Sub diff --git a/source/codelib/data/ado/AdodbHandler.cls b/source/modules/AdodbHandler.cls similarity index 95% rename from source/codelib/data/ado/AdodbHandler.cls rename to source/modules/AdodbHandler.cls index 121ede4..397efee 100644 --- a/source/codelib/data/ado/AdodbHandler.cls +++ b/source/modules/AdodbHandler.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -92,7 +92,7 @@ Public Event ErrorEmptyConnectionString(ByVal Msg As String, ByRef NewConnection ' New values can be passed on via the ByRef parameters. ' '--------------------------------------------------------------------------------------- -Public Event HookInsertIdentityReturn(ByRef InsertSQL As String, ByRef IdentityTable As String, _ +Public Event HookInsertIdentityReturn(ByRef InsertSql As String, ByRef IdentityTable As String, _ ByRef ActiveConnection As ADODB.Connection, ByRef IdentitySelectString As String, _ ByRef HookResponseMode As Long, ByRef HookResponseMessage As Variant) @@ -279,7 +279,7 @@ Public Function ExecuteCommand(ByVal CmdText As String, _ Optional ByVal CmdParamDefs As Variant, _ Optional ByRef RecordsAffected As Long, _ Optional ByVal Options As Long = -1) As ADODB.Recordset - + Dim cmd As ADODB.Command Dim ParamDefsArraySize As Long Dim i As Long @@ -287,11 +287,11 @@ Public Function ExecuteCommand(ByVal CmdText As String, _ Set cmd = New ADODB.Command With cmd - + Set .ActiveConnection = Me.CurrentConnection .CommandText = CmdText .CommandType = CmdType - + If Not IsMissing(CmdParamDefs) Then ParamDefsArraySize = UBound(CmdParamDefs, 1) For i = 0 To ParamDefsArraySize @@ -301,9 +301,9 @@ Public Function ExecuteCommand(ByVal CmdText As String, _ End If Next i End If - + Set ExecuteCommand = .Execute(RecordsAffected, , Options) - + End With Set cmd = Nothing @@ -333,11 +333,11 @@ Public Function OpenRecordset(ByVal Source As String, _ Optional ByVal DisconnectedRecordset As Boolean = False) As ADODB.Recordset Dim rst As ADODB.Recordset - + If CursorLocation = -1 Then CursorLocation = m_DefaultCursorLocation End If - + If DisconnectedRecordset Then If CursorLocation = adUseServer Then CursorLocation = adUseClient @@ -351,14 +351,14 @@ Public Function OpenRecordset(ByVal Source As String, _ With rst .CursorLocation = CursorLocation .Open Source, Me.CurrentConnection, CursorType, LockType - + If DisconnectedRecordset Then Set .ActiveConnection = Nothing End If - + End With Set OpenRecordset = rst - + End Function '--------------------------------------------------------------------------------------- @@ -392,12 +392,12 @@ Public Function OpenRecordsetCommandParam(ByVal CmdText As String, _ Optional ByVal DisconnectedRecordset As Boolean = False) As ADODB.Recordset Dim rst As ADODB.Recordset - + Set rst = ExecuteCommand(CmdText, CmdType, CmdParamDefs, RecordsAffected, Options) If DisconnectedRecordset Then Set rst.ActiveConnection = Nothing End If - + Set OpenRecordsetCommandParam = rst End Function @@ -442,7 +442,7 @@ On Error GoTo HandleErr ExitHere: Exit Function - + HandleErr: If Not (rst Is Nothing) Then rst.Close @@ -473,30 +473,15 @@ Public Function Lookup(ByVal Expr As String, ByVal Domain As String, _ Optional ByVal Criteria As Variant, _ Optional ByVal ValueIfNull As Variant = Null) As Variant - Dim SelectSql As String + Dim SelectSqlText As String - SelectSql = BuildSelectSql(Expr, Domain, Criteria, False) - Lookup = Me.LookupSql(SelectSql, , ValueIfNull) - -End Function - -Private Function BuildSelectSql(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) - - Dim SelectSql As String - - SelectSql = "SELECT " - If Distinct Then - SelectSql = SelectSql & "Distinct " - End If - SelectSql = SelectSql & Expr & " FROM (" & Domain & ")" + SelectSqlText = "SELECT " & Expr & " FROM " & Domain If Not (VarType(Criteria) = vbError) Then If Len(Criteria) > 0 Then - SelectSql = SelectSql & " WHERE " & Criteria + SelectSqlText = SelectSqlText & " WHERE " & Criteria End If End If - - BuildSelectSql = SelectSql + Lookup = Me.LookupSql(SelectSqlText, , ValueIfNull) End Function @@ -515,18 +500,8 @@ End Function ' Long ' '--------------------------------------------------------------------------------------- -Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) As Long - - If Distinct Then - If Expr <> "*" Then - Domain = "(" & BuildSelectSql(Expr, Domain, Criteria, True) & ")" - Criteria = vbNullString - End If - End If - +Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant) As Long Count = Nz(Me.Lookup("Count(" & Expr & ")", Domain, Criteria), 0) - End Function '--------------------------------------------------------------------------------------- @@ -629,30 +604,30 @@ End Function ' Works for Jet only from Jet 4.0 (Access 2000), IdentityTable is only applicable for MSSQL, under MySQL the IDENT_CURRENT function does not exist. ' '--------------------------------------------------------------------------------------- -Public Function InsertIdentityReturn(ByVal InsertSQL As String, Optional ByVal IdentityTable As String = vbNullString) As Variant +Public Function InsertIdentityReturn(ByVal InsertSql As String, Optional ByVal IdentityTable As String = vbNullString) As Variant Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim RecordsAffected As Long Dim IdentitySql As String - + Dim CurrentHookResumeMode As Long Dim CurrentHookResumeMessage As Variant Set cnn = Me.CurrentConnection - + If m_HooksEnabled Then - RaiseEvent HookInsertIdentityReturn(InsertSQL, IdentityTable, cnn, IdentitySql, CurrentHookResumeMode, CurrentHookResumeMessage) + RaiseEvent HookInsertIdentityReturn(InsertSql, IdentityTable, cnn, IdentitySql, CurrentHookResumeMode, CurrentHookResumeMessage) If CurrentHookResumeMode <> 0 Then 'Hook ermittelte bereits das Ergebnis InsertIdentityReturn = CurrentHookResumeMessage Exit Function End If End If - - cnn.Execute InsertSQL, RecordsAffected - + + cnn.Execute InsertSql, RecordsAffected + If RecordsAffected = 0 Then - InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt + InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt Exit Function End If diff --git a/source/codelib/_codelib/addins/shared/AppFileCodeModulTransfer.cls b/source/modules/AppFileCodeModulTransfer.cls similarity index 98% rename from source/codelib/_codelib/addins/shared/AppFileCodeModulTransfer.cls rename to source/modules/AppFileCodeModulTransfer.cls index 41b4f0f..5c83592 100644 --- a/source/codelib/_codelib/addins/shared/AppFileCodeModulTransfer.cls +++ b/source/modules/AppFileCodeModulTransfer.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -64,7 +64,7 @@ End Property ' '--------------------------------------------------------------------------------------- Public Sub TransferCodeModules(ParamArray CodeModulNames() As Variant) - + Dim i As Long Dim ArrSize As Long @@ -86,11 +86,11 @@ End Sub ' '--------------------------------------------------------------------------------------- Public Function ReplaceCodeModules(ParamArray CodeModulNames() As Variant) As Boolean - + Dim i As Long Dim ArrSize As Long Dim vbp As Object 'VBProject - + 'VBProject of the application: Set vbp = VbeTools.CurrentVbProject @@ -98,19 +98,19 @@ Public Function ReplaceCodeModules(ParamArray CodeModulNames() As Variant) As Bo If Not (vbp Is Nothing) Then ArrSize = UBound(CodeModulNames) For i = 0 To ArrSize - + If CheckCodeModule(CodeModulNames(i)) And (UseVbComponentsImport = False) Then - 'Modul löschen + 'Modul löschen vbp.VBComponents.Remove vbp.VBComponents(CodeModulNames(i)) End If - + 'Module aktualisieren TransferCodeModul CurrentProject, acModule, CodeModulNames(i) - + Next ReplaceCodeModules = True End If - + Set vbp = Nothing End Function @@ -129,7 +129,7 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function CheckCodeModules(ParamArray CodeModulNames() As Variant) As Boolean - + Dim i As Long Dim ModulesExists As Boolean Dim ArrSize As Long @@ -139,7 +139,7 @@ Public Function CheckCodeModules(ParamArray CodeModulNames() As Variant) As Bool For i = 0 To ArrSize ModulesExists = ModulesExists And CheckCodeModule(CodeModulNames(i), False) Next - + CheckCodeModules = ModulesExists End Function @@ -160,7 +160,7 @@ End Function '--------------------------------------------------------------------------------------- Public Function CheckCodeModule(ByVal CodeModulName As String, _ Optional ByVal TransferMissingModule As Boolean = False) As Boolean - + Dim rst As DAO.Recordset Dim IsMissing As Boolean @@ -168,12 +168,12 @@ Public Function CheckCodeModule(ByVal CodeModulName As String, _ IsMissing = rst.EOF rst.Close Set rst = Nothing - + If IsMissing And TransferMissingModule Then TransferCodeModul CurrentProject, acModule, CodeModulName IsMissing = False End If - + CheckCodeModule = Not IsMissing End Function @@ -194,7 +194,7 @@ Public Sub TransferCodeModul(ByVal TargetProject As Access.CurrentProject, _ ByVal ObjType As AcObjectType, ByVal CodeModulName As String) Dim FileName As String - + FileName = FileTools.GetNewTempFileName CurrentApplication.CreateAppFile CodeModulName, FileName If UseVbComponentsImport And ObjType = acModule Then @@ -215,12 +215,12 @@ Public Sub TransferCodeModul(ByVal TargetProject As Access.CurrentProject, _ TargetProject.Application.LoadFromText ObjType, CodeModulName, FileName End If Kill FileName - - + + End Sub Private Sub ConvertToSaveAsTextFile(ByVal FilePath As String) - + Const SEARCHSTRING_ATTRIBUTNAME_BEGIN As String = "Attribute VB_Name = """ Dim Pos As Long @@ -233,23 +233,23 @@ Private Sub ConvertToSaveAsTextFile(ByVal FilePath As String) CheckString = String$(LOF(FileNumber), 0) Get FileNumber, , CheckString Close FileNumber - + Pos = InStr(1, CheckString, SEARCHSTRING_ATTRIBUTNAME_BEGIN) If Pos <= 1 Then Exit Sub End If - + CheckString = Mid(CheckString, Pos) - + NewFile = FilePath & "_SaT" FileNumber = FreeFile Open NewFile For Binary Access Write As FileNumber Put FileNumber, , CheckString Close FileNumber - + Kill FilePath Name NewFile As FilePath - + End Sub Private Property Get CurrentCodeModulWriter() As CodeModuleWriter diff --git a/source/codelib/base/ApplicationHandler.cls b/source/modules/ApplicationHandler.cls similarity index 99% rename from source/codelib/base/ApplicationHandler.cls rename to source/modules/ApplicationHandler.cls index 85b4446..9306eba 100644 --- a/source/codelib/base/ApplicationHandler.cls +++ b/source/modules/ApplicationHandler.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -66,12 +66,12 @@ Private Const SYSCOLOR_COLOR_APPWORKSPACE As Long = 12 Private Declare PtrSafe Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" ( _ ByVal HWnd1 As Long, ByVal HWnd2 As Long, _ ByVal Lpsz1 As String, ByVal Lpsz2 As String) As Long - + Private Declare PtrSafe Function CreateSolidBrush Lib "gdi32.dll" (ByVal CrColor As Long) As Long Private Declare PtrSafe Function SetClassLong Lib "user32" Alias "SetClassLongA" ( _ ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long - + Private Declare PtrSafe Function RedrawWindow Lib "user32" ( _ ByVal Hwnd As Long, LprcUpdate As Any, _ ByVal HrgnUpdate As Long, ByVal FuRedraw As Long) As Long @@ -83,12 +83,12 @@ Private Declare PtrSafe Function GetSysColor Lib "user32" (ByVal NumIndex As Lon Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" ( _ ByVal HWnd1 As Long, ByVal HWnd2 As Long, _ ByVal Lpsz1 As String, ByVal Lpsz2 As String) As Long - + Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal CrColor As Long) As Long Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" ( _ ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long - + Private Declare Function RedrawWindow Lib "user32" ( _ ByVal Hwnd As Long, LprcUpdate As Any, _ ByVal HrgnUpdate As Long, ByVal FuRedraw As Long) As Long @@ -141,12 +141,12 @@ Public Event ExtensionProcedureCall(ByVal Key As String, ByVal ProcedureName As Public Event AppFileBeforeCreateFile( _ ByVal sFileID As String, ByVal sFileName As String, _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant) - + Public Event AppFileBeforeSaveFile( _ ByVal sFileID As String, ByVal sFileName As String, ByVal SaveVersion As Boolean, _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant, _ ByVal ExtFieldName As String, ByVal ExtFieldValue As Variant) - + Public Event UpdateApplication( _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant) @@ -158,7 +158,7 @@ Public Event NewVersionExists( _ Public Event BeforeOpenStartForm( _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant) - + Public Event BeforeStartApplication( _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant) @@ -184,28 +184,28 @@ On Error Resume Next End Sub Public Sub Dispose(Optional ByRef ResumeMode As ApplicationHandlerResumeModes, Optional ByRef ResumeMessage As Variant) - + Dim TempResumeMode As ApplicationHandlerResumeModes Dim TempResumeMessage As Variant - + On Error Resume Next - + RaiseEvent BeforeDispose(TempResumeMode, TempResumeMessage) If TempResumeMode = AppResumeMode_Cancel Then ResumeMode = TempResumeMode ResumeMessage = TempResumeMessage Exit Sub End If - + Set m_AppDb = Nothing - + m_Disposed = True - + RaiseEvent AfterDispose(TempResumeMode, TempResumeMessage) - + ResumeMode = AppResumeMode_Completed ResumeMessage = TempResumeMessage - + End Sub '--------------------------------------------------------------------------------------- @@ -223,11 +223,11 @@ End Sub ' '--------------------------------------------------------------------------------------- Public Function Start(Optional ByRef ResumeMessage As Variant) As Boolean - + Dim CurrentStartFormName As String Dim EventResumeMode As ApplicationHandlerResumeModes Dim EventResumeMessage As Variant - + 'Event interface for application start ' ... enables e.g. the execution of a login process RaiseEvent BeforeStartApplication(EventResumeMode, EventResumeMessage) @@ -257,7 +257,7 @@ Public Function Start(Optional ByRef ResumeMessage As Variant) As Boolean Exit Function End If End If - + 'Event interface for start form '... allows changing the start form by means of extensions ' e.g. if a user-specific form is to be opened @@ -274,7 +274,7 @@ Public Function Start(Optional ByRef ResumeMessage As Variant) As Boolean Case Else CurrentStartFormName = Me.ApplicationStartFormName End Select - + If Len(CurrentStartFormName) > 0 Then DoCmd.OpenForm CurrentStartFormName End If @@ -357,9 +357,9 @@ Public Property Get Version() As String '**/ m_APPLICATIONVERSION = "" End If - + Version = m_APPLICATIONVERSION - + End Property Public Property Let Version(ByVal AppVersion As String) @@ -440,7 +440,7 @@ Friend Sub SetAppIcon(ByVal AppIconFile As String, Optional ByVal UseAppIconForF SetAppDbProperty DBPROPNAME_APPICON, dbText, AppIconFile SetAppDbProperty DBPROPNAME_USE_APPICON_FOR_FRMRPT, dbBoolean, UseAppIconForFrmRpt Else - '1. Prüfen ob AppFile-Erweiterung vorhanden ist + '1. Prüfen ob AppFile-Erweiterung vorhanden ist RaiseEvent CheckExtension(EXTENSION_KEY_APPFILE, CheckVar) If CheckVar Then CheckVar = CreateAppFile("AppIcon", AppIconFile) @@ -478,10 +478,10 @@ Public Sub SetApplicationProperty(ByVal PropName As String, ByVal PropValue As V End Sub Private Sub SetAppDbProperty(ByVal PropName As String, ByVal PropType As Long, ByVal PropValue As Variant) - + Dim db As DAO.Database Dim PropCol As DAO.Properties - + Set db = AppDb Set PropCol = db.Properties If DbPropertyExists(PropCol, PropName) Then @@ -499,13 +499,13 @@ Private Sub SetAppDbProperty(ByVal PropName As String, ByVal PropType As Long, B End Sub Private Sub DeleteAppDbProperty(ByVal PropName As String) - + Dim db As DAO.Database Dim PropCol As DAO.Properties Set db = AppDb Set PropCol = db.Properties - + If DbPropertyExists(PropCol, PropName) Then PropCol.Delete PropName End If @@ -513,7 +513,7 @@ Private Sub DeleteAppDbProperty(ByVal PropName As String) End Sub Private Function DbPropertyExists(ByRef PropCol As DAO.Properties, ByVal PropName As String) As Boolean - + Dim Prop As DAO.Property For Each Prop In PropCol @@ -531,7 +531,7 @@ Private Sub WriteApplicationLogEntry(ByVal Msg As String) Dim FileNo As Long LogFile = CurrentProject.Path & "\" & LOG_FILE - + FileNo = FreeFile Open LogFile For Append As FileNo Print #FileNo, Msg @@ -548,7 +548,7 @@ Public Sub WriteLog(ByVal Msg As String, _ Dim EventResumeMessage As Variant RaiseEvent NewAppLog(LogType, Msg, Args, ResumeMode, EventResumeMessage) - + If ResumeMode = 0 And (WriteToFileIfNoEventResponse Or WriteLogToFileIfNoEventResponse Or LogType = AppLogType_Error) Then 'no one has reacted or reported an abort => WriteApplicationLogEntry Msg = Now() & ": " & Msg @@ -652,7 +652,7 @@ Public Function NewerAppVersionExists() As Boolean Dim ResumeMode As ApplicationHandlerResumeModes Dim ResumeMessage As Boolean - + RaiseEvent NewVersionExists(ResumeMode, ResumeMessage) NewerAppVersionExists = ResumeMessage @@ -661,7 +661,7 @@ End Function Private Function CheckVersionUpdate() As Boolean ' True = Update required - + Dim EventResumeMode As ApplicationHandlerResumeModes Dim EventResumeMessage As Variant @@ -710,17 +710,17 @@ Public Function GetExtensionInstance(ByVal ExtensionKey As String, Optional ByVa RaiseEvent ExtensionInstance(ExtensionKey, InstanceKey, ExtRef) Set GetExtensionInstance = ExtRef - + End Function Public Function GetExtensionProperty(ByVal ExtensionKey As String, ByVal PropertyName As String, _ Optional ByVal ValueIfMissing As Variant = Empty) As Variant - + Dim EventResumeMode As ApplicationHandlerResumeModes Dim EventResumeMessage As Variant RaiseEvent ExtensionPropertyLookup(ExtensionKey, PropertyName, EventResumeMode, EventResumeMessage) - + If EventResumeMode = AppResumeMode_Completed Then GetExtensionProperty = EventResumeMessage Else @@ -731,7 +731,7 @@ End Function Public Function UpdateApplication() As Boolean ' True = Close application - + ' => Outsourced to extension: this makes the usage more flexible ' and everyone can choose which update method to follow @@ -764,7 +764,7 @@ End Function Public Sub CallExtensionProcedure(ByVal Key As String, ByVal ProcedureName As String, _ ByRef ResumeMode As ApplicationHandlerResumeModes, ByRef ResumeMessage As Variant, _ ByRef Params() As Variant) - + RaiseEvent ExtensionProcedureCall(Key, ProcedureName, ResumeMode, ResumeMessage, Params) - + End Sub diff --git a/source/codelib/base/ApplicationHandler_AppFile.cls b/source/modules/ApplicationHandler_AppFile.cls similarity index 97% rename from source/codelib/base/ApplicationHandler_AppFile.cls rename to source/modules/ApplicationHandler_AppFile.cls index f4c3baf..7b142aa 100644 --- a/source/codelib/base/ApplicationHandler_AppFile.cls +++ b/source/modules/ApplicationHandler_AppFile.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -7,7 +7,7 @@ Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = False -Attribute VB_Description = "Erweiterung für ApplicationHandler-Klasse: Anwendungsspezifische Dateien verwalten" +Attribute VB_Description = "Erweiterung für ApplicationHandler-Klasse: Anwendungsspezifische Dateien verwalten" '--------------------------------------------------------------------------------------- ' Class: base.ApplicationHandler_File '--------------------------------------------------------------------------------------- @@ -108,10 +108,10 @@ Private Sub GetExtensionPropertyLookup(ByVal PropertyName As String, _ Select Case PropertyName Case EXTENSION_PROPERTY_APPFILETABLENAME ResumeMessage = TABLE_APPFILES - + Case Else 'Property wurde nicht erkannt ResumeMode = AppResumeMode_Error - + End Select End Sub @@ -142,34 +142,34 @@ Public Function CreateAppFile(ByVal FileID As String, ByVal FileName As String) With CodeDb.OpenRecordset("select " & TABLE_FIELD_FILE & " from " & TABLE_APPFILES & " where " & TABLE_FIELD_ID & "='" & Replace(FileID, "'", "''") & "'") If Not .EOF Then - + Set fld = .Fields(0) FieldSize = fld.FieldSize - + If FieldSize > 0 Then ReDim Binfile(FieldSize - 1) Binfile = fld.GetChunk(0, FieldSize) CreateFileFromByteArray FileName, Binfile CreateAppFile = True End If - + End If .Close End With - + End Function Private Sub CreateFileFromByteArray(ByVal FileName As String, ByRef Binfile() As Byte) - + Dim FileNo As Integer - + FileTools.CreateDirectoryIfMissing FileTools.GetDirFromFullFileName(FileName) FileNo = FreeFile Open FileName For Binary As #FileNo Put #FileNo, , Binfile() Close #FileNo - + End Sub '--------------------------------------------------------------------------------------- @@ -200,7 +200,7 @@ Public Function SaveAppFile(ByVal FileID As String, ByVal FileName As String, _ Dim Version As String Dim FileInfo As WinApiFileInfo Dim SelectSql As String - + On Error GoTo HandleErr FileNo = FreeFile @@ -243,20 +243,20 @@ On Error GoTo HandleErr End If rst.Fields(TABLE_FIELD_VERSION) = Version End If - + If Len(ExtFieldName) > 0 Then rst.Fields(ExtFieldName).Value = ExtFieldValue End If - + rst.Update rst.Close Set rst = Nothing - + SaveAppFile = True ExitHere: Exit Function - + HandleErr: Dim TabCreateErrCnt As Long Dim ErrNumber As Long, ErrDescription As String @@ -277,7 +277,7 @@ HandleErr: End Function Private Function CreateAppFileTable() As Boolean - + Dim CreateTableSql As String CreateTableSql = "create table " & TABLE_APPFILES & " ( " & TABLE_FIELD_ID & " varchar(20) primary key, " & _ @@ -302,10 +302,10 @@ Private Sub m_ApplicationHandler_AppFileBeforeCreateFile(ByVal FileID As String, Completed = CreateAppFile(FileID, FileName) If Completed Then ResumeMode = ApplicationHandlerResumeModes.AppResumeMode_Completed - Else 'Fehler rückmelden + Else 'Fehler rückmelden ResumeMode = ApplicationHandlerResumeModes.AppResumeMode_Error End If - + End Sub ' AppFileBeforeSaveFile @@ -322,5 +322,5 @@ Private Sub m_ApplicationHandler_AppFileBeforeSaveFile(ByVal FileID As String, B Else 'resume error ResumeMode = ApplicationHandlerResumeModes.AppResumeMode_Error End If - + End Sub diff --git a/source/codelib/base/ApplicationHandler_ExtensionCollection.cls b/source/modules/ApplicationHandler_ExtensionCollection.cls similarity index 99% rename from source/codelib/base/ApplicationHandler_ExtensionCollection.cls rename to source/modules/ApplicationHandler_ExtensionCollection.cls index 66233f5..eb765b0 100644 --- a/source/codelib/base/ApplicationHandler_ExtensionCollection.cls +++ b/source/modules/ApplicationHandler_ExtensionCollection.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -88,7 +88,7 @@ Public Sub Add(ByVal ExtensionRef As Object) End Sub Public Sub Dispose() - + Dim MaxCnt As Long Dim CheckCnt As Long diff --git a/source/codelib/base/ApplicationHandler_Version.cls b/source/modules/ApplicationHandler_Version.cls similarity index 98% rename from source/codelib/base/ApplicationHandler_Version.cls rename to source/modules/ApplicationHandler_Version.cls index 6299eb5..dacb8fb 100644 --- a/source/codelib/base/ApplicationHandler_Version.cls +++ b/source/modules/ApplicationHandler_Version.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -80,11 +80,11 @@ Private Sub m_ApplicationHandler_ExtensionProcedureCall(ByVal ExtensionKeyToChec If ExtensionKeyToCheck <> EXTENSION_KEY Then Exit Sub End If - + On Error GoTo HandleErr - + ResumeMode = AppResumeMode_Completed - + Select Case ProcedureName Case "NewVersionExists" ResumeMessage = NewVersionExists(ProcParams(0), ProcParams(1)) @@ -93,11 +93,11 @@ On Error GoTo HandleErr End Select Exit Sub - + HandleErr: ResumeMode = AppResumeMode_Error ResumeMessage = Err.Description - + End Sub 'ExtensionPropertyLookup @@ -120,7 +120,7 @@ End Sub Public Function NewVersionExists(Optional ByRef NewVersion As Variant, Optional ByRef VersionRemarks As Variant) As Boolean NewVersionExists = (CheckVersion(NewVersion, VersionRemarks) = VerState_Newer) - + End Function @@ -135,11 +135,11 @@ Private Sub GetExtensionPropertyLookup(ByVal PropertyName As String, _ ResumeMode = AppResumeMode_Completed Select Case PropertyName - + Case Else 'Property was not recognized ResumeMode = AppResumeMode_Error ResumeMessage = "Property '" & PropertyName & "' is not supported" - + End Select End Sub @@ -162,10 +162,10 @@ Public Function CheckVersion(Optional ByRef NewVersion As Variant, Optional ByRe Dim DownloadVersion As String Dim DownloadVersionRemarks As String - + DownloadVersion = GetVersionFromDownloadSource(XmlVersionCheckFile, DownloadVersionRemarks) CheckVersion = CompareVersions(m_ApplicationHandler.Version, DownloadVersion) - + If CheckVersion = VerState_Newer Then NewVersion = DownloadVersion VersionRemarks = DownloadVersionRemarks @@ -184,13 +184,13 @@ End Property Private Function GetVersionFromDownloadSource(ByVal XmlFile As String, ByRef VersionRemarks As String) As String Dim XmlDoc As Object ' MSXML2.DOMDocument60 - + Set XmlDoc = CreateObject("MSXML.DOMDocument") 'New MSXML2.DOMDocument60 XmlDoc.async = False If Not XmlDoc.Load(XmlFile) Then Err.Raise XmlDoc.parseError.errorCode, , XmlDoc.parseError.Reason End If - + GetVersionFromDownloadSource = XmlDoc.getElementsByTagName("version").Item(0).Text VersionRemarks = XmlDoc.getElementsByTagName("remarks").Item(0).Text @@ -204,7 +204,7 @@ Private Function GetVersionNumbers(ByVal VersionString As String) As Long() VersionNumberStrings = Split(VersionString, ".") ReDim VersionNumbers(UBound(VersionNumberStrings)) - + Dim i As Long For i = LBound(VersionNumberStrings) To UBound(VersionNumberStrings) VersionNumbers(i) = Val(VersionNumberStrings(i)) @@ -218,18 +218,18 @@ Private Function CompareVersions(ByVal BaseVersion As String, ByVal NewVersion A Dim BaseVersionNumbers() As Long Dim NewVersionNumbers() As Long - + BaseVersionNumbers = GetVersionNumbers(BaseVersion) NewVersionNumbers = GetVersionNumbers(NewVersion) - + Dim i As Long - + Dim MaxIndex As Long MaxIndex = UBound(NewVersionNumbers) If UBound(BaseVersionNumbers) < MaxIndex Then MaxIndex = UBound(BaseVersionNumbers) End If - + For i = LBound(NewVersionNumbers) To MaxIndex If BaseVersionNumbers(i) <> NewVersionNumbers(i) Then CompareVersions = -1 + 2 * Abs(BaseVersionNumbers(i) > NewVersionNumbers(i)) diff --git a/source/CodeModulSupport.bas b/source/modules/CodeModulSupport.bas similarity index 97% rename from source/CodeModulSupport.bas rename to source/modules/CodeModulSupport.bas index db4f798..eec9b21 100644 --- a/source/CodeModulSupport.bas +++ b/source/modules/CodeModulSupport.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "CodeModulSupport" +Attribute VB_Name = "CodeModulSupport" Option Compare Database Option Explicit @@ -12,14 +12,14 @@ Public Sub CheckConditionalCompilationArgumentsString(ByVal UseLoginForm As Bool Dim TestString As String Dim ArgExists As Boolean Dim i As Long - + ConditionalCompilationArgumentsString = Trim(Nz(Application.GetOption(ConditionalCompilationArgumentsOptionName), vbNullString)) - + If Len(ConditionalCompilationArgumentsString) = 0 And UseLoginForm Then Application.SetOption ConditionalCompilationArgumentsOptionName, CONFIG_USELOGINFORM_ArgName & " = " & Abs(UseLoginForm) Exit Sub End If - + ConditionalCompilationArguments = GetConditionalCompilationArgumentsArray(ConditionalCompilationArgumentsString) For i = LBound(ConditionalCompilationArguments) To UBound(ConditionalCompilationArguments) If Replace(ConditionalCompilationArguments(i), " ", vbNullString) Like CONFIG_USELOGINFORM_ArgName & "=*" Then @@ -28,13 +28,13 @@ Public Sub CheckConditionalCompilationArgumentsString(ByVal UseLoginForm As Bool Exit For End If Next - + If ArgExists Then ConditionalCompilationArgumentsString = Join(ConditionalCompilationArguments, ":") Else ConditionalCompilationArgumentsString = ConditionalCompilationArgumentsString & " : " & CONFIG_USELOGINFORM_ArgName & " = " & Abs(UseLoginForm) End If - + ConditionalCompilationArgumentsString = Trim(ConditionalCompilationArgumentsString) If Left(ConditionalCompilationArgumentsString, 1) = ":" Then ConditionalCompilationArgumentsString = Trim(Mid(ConditionalCompilationArgumentsString, 2)) @@ -44,7 +44,7 @@ Public Sub CheckConditionalCompilationArgumentsString(ByVal UseLoginForm As Bool End If Application.SetOption ConditionalCompilationArgumentsOptionName, ConditionalCompilationArgumentsString - + End Sub Private Function GetConditionalCompilationArgumentsArray(ByVal FullString As String) As String() diff --git a/source/codelib/_codelib/addins/shared/CodeModuleWriter.cls b/source/modules/CodeModuleWriter.cls similarity index 97% rename from source/codelib/_codelib/addins/shared/CodeModuleWriter.cls rename to source/modules/CodeModuleWriter.cls index 8fb4d24..1a93992 100644 --- a/source/codelib/_codelib/addins/shared/CodeModuleWriter.cls +++ b/source/modules/CodeModuleWriter.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -38,14 +38,14 @@ Option Explicit #Else Private m_CodeModule As Object Private m_CurrentVbProject As Object - + Public Enum vbext_ProcKind vbext_pk_Proc = 0 vbext_pk_Let = 1 vbext_pk_Set = 2 vbext_pk_Get = 3 End Enum - + Public Enum vbext_ComponentType vbext_ct_StdModule = 1 vbext_ct_ClassModule = 2 @@ -69,7 +69,7 @@ Public Property Get CodeModule() As Object #End If Set CodeModule = m_CodeModule - + End Property #If VBIDE_EARLYBINDING Then @@ -95,7 +95,7 @@ Public Sub AddCodeToEventProcedure(ByVal EventName As String, ByVal ObjectName A Dim ProcEndLine As Long Dim CodeCheckLineStart As Long Dim CodeCheckLineEnd As Long - + StartLine = FindEventProcedureBodyLine(EventName, ObjectName, ProcEndLine) If StartLine < 0 Then @@ -105,11 +105,11 @@ Public Sub AddCodeToEventProcedure(ByVal EventName As String, ByVal ObjectName A CodeCheckLineEnd = ProcEndLine CodeExists = m_CodeModule.Find(Code, CodeCheckLineStart, 0, CodeCheckLineEnd, 0, True) End If - + If Not CodeExists Then m_CodeModule.InsertLines StartLine + 1, vbNewLine & Code End If - + End Sub Private Function FindEventProcedureBodyLine(ByVal EventName As String, ByVal ObjectName As String, _ @@ -164,7 +164,7 @@ Friend Property Get CurrentVbProject() As Object If m_CurrentVbProject Is Nothing Then Set m_CurrentVbProject = VbeTools.CurrentVbProject End If - + Set CurrentVbProject = m_CurrentVbProject End Property @@ -194,19 +194,19 @@ Public Sub ImportVbComponent(ByVal ComponentType As vbext_ComponentType, ByVal C End If Next - If CodeModuleExists Then ' überprüfen, ob Typen übereinstimmen + If CodeModuleExists Then ' überprüfen, ob Typen übereinstimmen If vbc.Type <> ComponentType Then VbcCol.Remove vbc Set vbc = Nothing CodeModuleExists = False End If End If - + If Not CodeModuleExists Then Set vbc = VbcCol.Add(ComponentType) vbc.Name = CodeModulName End If - + Set cm = vbc.CodeModule cm.DeleteLines 1, cm.CountOfLines cm.AddFromFile ImportFile @@ -218,8 +218,8 @@ Public Sub ImportVbComponent(ByVal ComponentType As vbext_ComponentType, ByVal C 'End DeleteClassHeaderLinesFromCodeModul cm End If - - 'Leerzeilen am Ende säubern + + 'Leerzeilen am Ende säubern Do While Len(Trim$(cm.Lines(cm.CountOfLines, 1))) = 0 And cm.CountOfLines > 1 cm.DeleteLines cm.CountOfLines Loop @@ -240,10 +240,10 @@ Private Function GetComponentTypeFromFile(ByVal FilePath As String) As vbext_Com CheckString = String$(LOF(FileNumber), 0) Get FileNumber, , CheckString Close FileNumber - - 'Pos von VB_Name ermitteln (= Kennzeichen für Standardmodul oder Klasse) + + 'Pos von VB_Name ermitteln (= Kennzeichen für Standardmodul oder Klasse) Pos = InStr(1, CheckString, SEARCHSTRING_ATTRIBUTNAME_BEGIN) - + 'Typ bestimmen If Pos > 0 Then CmType = vbext_ComponentType.vbext_ct_StdModule diff --git a/source/codelib/data/dao/DaoHandler.cls b/source/modules/DaoHandler.cls similarity index 95% rename from source/codelib/data/dao/DaoHandler.cls rename to source/modules/DaoHandler.cls index 0317c79..0e40b6a 100644 --- a/source/codelib/data/dao/DaoHandler.cls +++ b/source/modules/DaoHandler.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -141,7 +141,7 @@ End Sub '--------------------------------------------------------------------------------------- Public Property Get CurrentDb() As DAO.Database If (m_DaoDb Is Nothing) Then - 'Error-Event auslösen und hoffen, dass neue Referenz geliefert wird + 'Error-Event auslösen und hoffen, dass neue Referenz geliefert wird RaiseEvent ErrorMissingCurrentDb("DaoHandler.CurrentDb: unavailable CurrentDb-Database", m_DaoDb) If (m_DaoDb Is Nothing) Then 'Use CurrentDb of the application if DaoHandler "self-instantiating" (VB_PredeclaredId = True) is used. @@ -189,7 +189,7 @@ Public Function Execute(ByVal Query As String, _ End If Me.CurrentDb.Execute Query, Options Execute = Me.CurrentDb.RecordsAffected - + End Function '--------------------------------------------------------------------------------------- @@ -208,7 +208,7 @@ End Function '--------------------------------------------------------------------------------------- Public Function ExecuteParamSql(ByVal SqlText As String, _ ParamArray QueryParams() As Variant) As Long - + Dim qdf As DAO.QueryDef On Error GoTo HandleErr @@ -218,24 +218,24 @@ On Error GoTo HandleErr Else Set qdf = Me.ParamQueryDefSql(SqlText, QueryParams) End If - + ExecuteParamSql = ExecuteQueryDef(qdf) On Error GoTo 0 qdf.Close Set qdf = Nothing - + ExitHere: Exit Function - + HandleErr: If Not (qdf Is Nothing) Then qdf.Close Set qdf = Nothing End If Err.Raise Err.Number, "ExecuteParamSQL:" & Err.Source, Err.Description, Err.HelpFile, Err.HelpContext - + End Function '--------------------------------------------------------------------------------------- @@ -255,11 +255,11 @@ End Function '--------------------------------------------------------------------------------------- Public Function ExecuteQueryDefByName(ByVal QueryName As String, _ ParamArray QueryParams() As Variant) As Long - + Dim qdf As DAO.QueryDef - + On Error GoTo HandleErr - + If IsMissing(QueryParams) Then Set qdf = Me.ParamQueryDefByName(QueryName) Else @@ -272,17 +272,17 @@ On Error GoTo 0 qdf.Close Set qdf = Nothing - + ExitHere: Exit Function - + HandleErr: If Not (qdf Is Nothing) Then qdf.Close Set qdf = Nothing End If Err.Raise Err.Number, "ExecuteParamQdfByName:" & Err.Source, Err.Description, Err.HelpFile, Err.HelpContext - + End Function '--------------------------------------------------------------------------------------- @@ -302,28 +302,28 @@ End Function '--------------------------------------------------------------------------------------- Public Function ExecuteQueryDef(ByVal QdfRef As DAO.QueryDef, _ ParamArray QueryParams() As Variant) As Long - + Dim QdfParamDefs() As Variant - + If Not IsMissing(QueryParams) Then QdfParamDefs = GetParamDefArray(QueryParams) FillQueryDefParameters QdfRef, QdfParamDefs End If - + QdfRef.Execute dbFailOnError - + ExecuteQueryDef = QdfRef.RecordsAffected End Function Private Sub FillQueryDefParameters(ByVal QdfRef As DAO.QueryDef, ByVal QdfParamDefs As Variant) - + Dim ParamDefsArraySize As Long Dim ParamIndex As Variant Dim i As Long ParamDefsArraySize = UBound(QdfParamDefs, 1) - + With QdfRef For i = 0 To ParamDefsArraySize ParamIndex = QdfParamDefs(i, 0) @@ -332,7 +332,7 @@ Private Sub FillQueryDefParameters(ByVal QdfRef As DAO.QueryDef, ByVal QdfParamD End If Next i End With - + End Sub '--------------------------------------------------------------------------------------- @@ -354,13 +354,13 @@ Public Function ParamQueryDefByName(ByVal QueryName As String, ParamArray QueryP Dim qdf As DAO.QueryDef Dim QdfParamDefs() As Variant - + Set qdf = Me.CurrentDb.QueryDefs(QueryName) If Not IsMissing(QueryParams) Then QdfParamDefs = GetParamDefArray(QueryParams) FillQueryDefParameters qdf, QdfParamDefs End If - + Set ParamQueryDefByName = qdf End Function @@ -369,7 +369,7 @@ End Function ' Function: ParamQueryDefSql '--------------------------------------------------------------------------------------- ' -' Temporäres QueryDef-Objekt ink. übergebenen Parameterwerten öffnen +' Temporäres QueryDef-Objekt ink. übergebenen Parameterwerten öffnen ' ' Parameters: ' ParamSqlText - SQL statement for the temporary QueryDef object @@ -390,7 +390,7 @@ Public Function ParamQueryDefSql(ByVal ParamSqlText As String, ParamArray QueryP QdfParamDefs = GetParamDefArray(QueryParams) FillQueryDefParameters qdf, QdfParamDefs End If - + Set ParamQueryDefSql = qdf End Function @@ -419,7 +419,7 @@ Public Function OpenRecordset(ByVal Source As String, _ If (RecordsetOptions And dbSeeChanges) = 0 Then RecordsetOptions = RecordsetOptions + dbSeeChanges End If - + ' Replace0WithIsMissing ... so that IsMissing for Variant data type works on original DAO openrecordset Set OpenRecordset = Me.CurrentDb.OpenRecordset(Source, _ Replace0WithIsMissing(RecordsetType), _ @@ -466,29 +466,29 @@ Public Function OpenRecordsetParamSql(ByVal ParamSqlText As String, _ Dim qdf As DAO.QueryDef Dim QdfParamDefs As Variant ' - + QdfParamDefs = GetParamDefArray(QueryParams) - + On Error GoTo HandleErr - + Set qdf = Me.CurrentDb.CreateQueryDef("", ParamSqlText) Set OpenRecordsetParamSql = OpenRecordsetQueryDef(qdf, QdfParamDefs, RecordsetType, Options, LockEdit) - + On Error GoTo 0 qdf.Close Set qdf = Nothing - + ExitHere: Exit Function - + HandleErr: If Not (qdf Is Nothing) Then qdf.Close Set qdf = Nothing End If Err.Raise Err.Number, "OpenRecordsetParamSQL:" & Err.Source, Err.Description, Err.HelpFile, Err.HelpContext - + End Function '--------------------------------------------------------------------------------------- @@ -529,56 +529,56 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function GetParamDefArray(ParamArray ParamValues() As Variant) As Variant - + Dim i As Long Dim QdfParamDefs() As Variant Dim ArraySize As Long - Dim ParamValueArray As Variant ' !!! nicht als Array deklarieren, da sonst ParamValueArray = ParamValueArray(0) fehltschlägt, wenn ParamValueArray(0) ein Array ist + Dim ParamValueArray As Variant ' !!! nicht als Array deklarieren, da sonst ParamValueArray = ParamValueArray(0) fehltschlägt, wenn ParamValueArray(0) ein Array ist Dim ArrayDimCnt As Long, SubArrayDimCnt As Long - + ArraySize = UBound(ParamValues) If ArraySize = -1 Then - GetParamDefArray = QdfParamDefs 'nicht dimensionierten Array zurückgeben + GetParamDefArray = QdfParamDefs 'nicht dimensionierten Array zurückgeben Exit Function End If - + ParamValueArray = ParamValues ArrayDimCnt = ArrayDimensionCount(ParamValueArray) If ArrayDimCnt = 2 Then GetParamDefArray = ParamValues Exit Function End If - + SubArrayDimCnt = ArrayDimensionCount(ParamValueArray(0)) If SubArrayDimCnt <> -1 Then - + Do While SubArrayDimCnt <> -1 - + ParamValueArray = ParamValueArray(0) - + If SubArrayDimCnt = 2 Then ' !!! /** \todo CHECK SubArrayDimCnt = 2176 .. ist das immer richtig? **/ 'Bereits aufbereiteter 2-dim. Array GetParamDefArray = ParamValueArray Exit Function End If - + SubArrayDimCnt = ArrayDimensionCount(ParamValueArray(0)) - + Loop - + ArraySize = UBound(ParamValueArray) - + End If - + ReDim QdfParamDefs(ArraySize, 1) For i = 0 To ArraySize QdfParamDefs(i, 0) = i QdfParamDefs(i, 1) = ParamValueArray(i) Next - + GetParamDefArray = QdfParamDefs - + End Function Private Function ArrayDimensionCount(ByRef ArrayToCheck As Variant) As Integer @@ -605,17 +605,17 @@ Private Function ArrayDimensionCount(ByRef ArrayToCheck As Variant) As Integer ' End If ' ' ArrayDimensionCount = lngCnt - + Dim ArraySize As Long Dim DimCnt As Long - + DimCnt = 0 - + If Not IsArray(ArrayToCheck) Then ArrayDimensionCount = -1 Exit Function End If - + On Error Resume Next Do @@ -623,13 +623,13 @@ On Error Resume Next ArraySize = UBound(ArrayToCheck, DimCnt) Loop While Err.Number = 0 Err.Clear - + On Error GoTo 0 - + DimCnt = DimCnt - 1 - + ArrayDimensionCount = DimCnt - + End Function '--------------------------------------------------------------------------------------- @@ -646,33 +646,33 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function GetNamedParamDefArray(ParamArray ParamIndexAndValues() As Variant) As Variant - + Dim i As Long Dim QdfParamDefs() As Variant Dim ArraySize As Long - + ArraySize = UBound(ParamIndexAndValues) If ArraySize = -1 Then - GetNamedParamDefArray = QdfParamDefs 'nicht dimensionierten Array zurückgeben + GetNamedParamDefArray = QdfParamDefs 'nicht dimensionierten Array zurückgeben Exit Function End If - - 'Prüfen, ob immer Paare (Index / Wert) möglich sind + + 'Prüfen, ob immer Paare (Index / Wert) möglich sind If (((ArraySize + 1) \ 2) * 2) <> (ArraySize + 1) Then - Err.Raise vbObjectError, "DaoHandler.GetNamedParamDefArray", "ParamArray muss immer Paare für Parameter-Index und Parameter-Wert enthalten." + Err.Raise vbObjectError, "DaoHandler.GetNamedParamDefArray", "ParamArray muss immer Paare für Parameter-Index und Parameter-Wert enthalten." End If - + ArraySize = ArraySize \ 2 - + ReDim QdfParamDefs(ArraySize, 1) For i = 0 To ArraySize QdfParamDefs(i, 0) = ParamIndexAndValues(i * 2) QdfParamDefs(i, 1) = ParamIndexAndValues(i * 2 + 1) Next - + GetNamedParamDefArray = QdfParamDefs - + End Function '--------------------------------------------------------------------------------------- @@ -702,7 +702,7 @@ Public Function OpenRecordsetQueryDefByName(ByVal QueryName As String, _ Dim qdf As DAO.QueryDef On Error GoTo HandleErr - + Set qdf = Me.CurrentDb.QueryDefs(QueryName) Set OpenRecordsetQueryDefByName = OpenRecordsetQueryDef(qdf, QueryParams, RecordsetType, Options, LockEdit) @@ -710,24 +710,24 @@ On Error GoTo 0 qdf.Close Set qdf = Nothing - + ExitHere: Exit Function - + HandleErr: If Not (qdf Is Nothing) Then qdf.Close Set qdf = Nothing End If Err.Raise Err.Number, "OpenQueryDefRecordsetByName:" & Err.Source, Err.Description, Err.HelpFile, Err.HelpContext - + End Function '--------------------------------------------------------------------------------------- ' Function: OpenRecordsetQueryDef '--------------------------------------------------------------------------------------- ' -' Recordset von gespeicherter Abfrage (optional mit Parametern) öffnen +' Recordset von gespeicherter Abfrage (optional mit Parametern) öffnen ' ' Parameters: ' QdfRef - QueryDef reference @@ -746,7 +746,7 @@ Public Function OpenRecordsetQueryDef(ByVal QdfRef As DAO.QueryDef, _ Optional ByVal RecordsetType As DAO.RecordsetTypeEnum, _ Optional ByVal RecordsetOptions As DAO.RecordsetOptionEnum, _ Optional ByVal LockEdit As DAO.LockTypeEnum) As DAO.Recordset - + If Not IsMissing(QueryParams) Then FillQueryDefParameters QdfRef, QueryParams End If @@ -780,30 +780,30 @@ Public Function LookupSql(ByVal SqlText As String, _ Optional ByVal Index As Variant = 0&, _ Optional ByVal ValueIfNull As Variant = Null) As Variant - Dim rst As DAO.Recordset + Dim rst As DAO.Recordset On Error GoTo HandleErr - Set rst = Me.OpenRecordset(SqlText, dbOpenForwardOnly, dbSeeChanges, dbReadOnly) - With rst - If .EOF Then - LookupSql = ValueIfNull - Else - LookupSql = Nz(.Fields(Index), ValueIfNull) - End If - .Close - End With - Set rst = Nothing - + Set rst = Me.OpenRecordset(SqlText, dbOpenForwardOnly, dbSeeChanges, dbReadOnly) + With rst + If .EOF Then + LookupSql = ValueIfNull + Else + LookupSql = Nz(.Fields(Index), ValueIfNull) + End If + .Close + End With + Set rst = Nothing + ExitHere: Exit Function - + HandleErr: If Not (rst Is Nothing) Then rst.Close Set rst = Nothing End If - + Err.Raise Err.Number, "LookupSQL:" & Err.Source, Err.Description, Err.HelpFile, Err.HelpContext End Function @@ -828,30 +828,15 @@ Public Function Lookup(ByVal Expr As String, ByVal Domain As String, _ Optional ByVal Criteria As Variant, _ Optional ByVal ValueIfNull As Variant = Null) As Variant - Dim SelectSql As String - - SelectSql = BuildSelectSql(Expr, Domain, Criteria, False) - Lookup = LookupSql(SelectSql, , ValueIfNull) - -End Function - -Private Function BuildSelectSql(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) - - Dim SelectSql As String + Dim SelectSql As String - SelectSql = "SELECT " - If Distinct Then - SelectSql = SelectSql & "Distinct " - End If - SelectSql = SelectSql & Expr & " FROM (" & Domain & ")" - If Not (VarType(Criteria) = vbError) Then - If Len(Criteria) > 0 Then - SelectSql = SelectSql & " WHERE " & Criteria - End If - End If - - BuildSelectSql = SelectSql + SelectSql = "SELECT " & Expr & " FROM (" & Domain & ")" + If Not (VarType(Criteria) = vbError) Then + If Len(Criteria) > 0 Then + SelectSql = SelectSql & " WHERE " & Criteria + End If + End If + Lookup = LookupSql(SelectSql, , ValueIfNull) End Function @@ -870,18 +855,8 @@ End Function ' Long ' '--------------------------------------------------------------------------------------- -Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) As Long - - If Distinct Then - If Expr <> "*" Then - Domain = "(" & BuildSelectSql(Expr, Domain, Criteria, True) & ")" - Criteria = vbNullString - End If - End If - - Count = Nz(Me.Lookup("Count(" & Expr & ")", Domain, Criteria), 0) - +Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant) As Long + Count = Nz(Me.Lookup("Count(" & Expr & ")", Domain, Criteria), 0) End Function '--------------------------------------------------------------------------------------- @@ -984,7 +959,7 @@ End Function ' Works for Jet only from Jet 4.0 (Access 2000), IdentityTable is only applicable for MSSQL, under MySQL the IDENT_CURRENT function does not exist. ' ( is more suitable regarding use for active DBMS.) '--------------------------------------------------------------------------------------- -Public Function InsertIdentityReturn(ByVal InsertSQL As String) As Variant +Public Function InsertIdentityReturn(ByVal InsertSql As String) As Variant Dim db As DAO.Database Dim rst As DAO.Recordset @@ -993,11 +968,11 @@ Public Function InsertIdentityReturn(ByVal InsertSQL As String) As Variant On Error GoTo HandleErr Set db = Me.CurrentDb - db.Execute InsertSQL + db.Execute InsertSql RecordsAffected = db.RecordsAffected - + If RecordsAffected = 0 Then - InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt + InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt Exit Function End If @@ -1011,7 +986,7 @@ On Error GoTo HandleErr .Close End With Set rst = Nothing - + ExitHere: Exit Function @@ -1054,7 +1029,7 @@ End Function ' ' Parameters: ' Source - Insert data source -' ReturnFieldNameOrIndex - Datenfeld für Wertrückgabe +' ReturnFieldNameOrIndex - Datenfeld für Wertrückgabe ' FieldsAndValues - ParamArray: "Field1", Value1, "Field2", Value2, .... ' ' Returns: @@ -1076,13 +1051,13 @@ Private Function InsertRecordValuesArrayReturnFieldValue( _ Dim FieldNames() As Variant, FieldValues() As Variant Dim rst As DAO.Recordset Dim ErrNo As Long, ErrDesc As String, ErrSource As String - + On Error GoTo HandleErr lngNum = UBound(FieldsAndValues) - LBound(FieldsAndValues) + 1 'hfArraySize(FieldsAndValues) ReDim FieldNames(lngNum \ 2) ReDim FieldValues(lngNum \ 2) - + anz = 0 For i = 0 To (lngNum - 2) Step 2 FieldNames(anz) = FieldsAndValues(i) @@ -1092,29 +1067,29 @@ On Error GoTo HandleErr Set rst = Me.OpenRecordset(Source, dbOpenDynaset) With rst - + .AddNew i = 0 For i = 0 To (anz - 1) .Fields(FieldNames(i)) = FieldValues(i) Next i .Update - + If Len(ReturnField & vbNullString) > 0 Then .Bookmark = .LastModified InsertRecordValuesArrayReturnFieldValue = .Fields(ReturnField) Else InsertRecordValuesArrayReturnFieldValue = True End If - + .Close - + End With Set rst = Nothing ExitHere: Exit Function - + ResumeRaiseError: On Error GoTo 0 Err.Raise ErrNo, ErrSource, ErrDesc @@ -1170,14 +1145,14 @@ Private Function NewRecord_FieldArray(ByVal strSource As String, ByVal ReturnFie lngNum = UBound(DataParams) + 1 ReDim DataFields(lngNum \ 2) ReDim DataValues(lngNum \ 2) - + anz = 0 For i = 0 To (lngNum - 2) Step 2 DataFields(anz) = DataParams(i) DataValues(anz) = DataParams(i + 1) anz = anz + 1 Next i - + Set rst = Me.OpenRecordset(strSource, dbOpenDynaset) On Error GoTo HandleErr @@ -1261,32 +1236,32 @@ On Error GoTo HandleErr Dim fCopyVal() As Variant lngNum = UBound(DataToChange) + 1 - + anz = 0 ReDim strCtl((lngNum \ 2) - 1) ReDim valCtl((lngNum \ 2) - 1) - + For i = 0 To (lngNum - 2) Step 2 strCtl(anz) = DataToChange(i) valCtl(anz) = DataToChange(i + 1) anz = anz + 1 Next i - - 'Recordsetobjekt öffnen + + 'Recordsetobjekt öffnen Set rst = OpenRecordset(Source, dbOpenDynaset) - + If rst.EOF And rst.BOF Then rst.Close Set rst = Nothing CopyRecord_FieldArray = 0 Exit Function End If - + With rst .MoveLast .MoveFirst dsAnz = .RecordCount - + If LastFieldNumber = 0 Then lngLastCopyField = .Fields.Count ElseIf LastFieldNumber < 0 Then @@ -1294,11 +1269,11 @@ On Error GoTo HandleErr Else lngLastCopyField = LastFieldNumber End If - + ReDim fCopyVal(dsAnz, lngLastCopyField) - + If StartFieldNumber > 1 Then Start = StartFieldNumber - 1 Else Start = 0 - + 'Werte einlesen iDS = 0 While Not .EOF @@ -1309,7 +1284,7 @@ On Error GoTo HandleErr iDS = iDS + 1 Wend .MoveLast - + 'Werte kopieren For iDS = 0 To (dsAnz - 1) .AddNew @@ -1321,18 +1296,18 @@ On Error GoTo HandleErr Next i .Update Next iDS - + If Len(ReturnFieldName) > 0 Then .Bookmark = .LastModified CopyRecord_FieldArray = .Fields(ReturnFieldName).Value Else CopyRecord_FieldArray = True End If - + .Close - + End With - + ExitHere: Exit Function @@ -1350,14 +1325,14 @@ On Error Resume Next End If On Error GoTo 0 Err.Raise FncErrNr, "DaoHandler.CopyRecord_FieldArray", FncErrDesc - + End Function '--------------------------------------------------------------------------------------- ' Function: CopyRecords '--------------------------------------------------------------------------------------- ' -' Recordset öffnen und Werte eines Datensatzes anfügen +' Recordset öffnen und Werte eines Datensatzes anfügen ' ' Parameters: ' Source - Data source (table name or SQL statement) @@ -1375,20 +1350,20 @@ End Function Public Function CopyRecords(ByVal Source As String, _ ByVal StartFieldNumber As Long, ByVal LastFieldNumber As Long, _ ParamArray DataToChange() As Variant) As Boolean - + Dim maxIdx As Long Dim vA() As Variant Dim i As Long maxIdx = UBound(DataToChange) ReDim vA(maxIdx) - + For i = 0 To maxIdx vA(i) = DataToChange(i) Next i CopyRecords = CopyRecordsArrayReturnFieldValue(Source, StartFieldNumber, LastFieldNumber, vbNullString, vA) - + End Function '--------------------------------------------------------------------------------------- @@ -1396,7 +1371,7 @@ End Function '--------------------------------------------------------------------------------------- '/** ' -' Datensätze kopieren und Werte ändern +' Datensätze kopieren und Werte ändern ' ' Parameters: ' Source - Data source (table name or SQL statement) @@ -1416,7 +1391,7 @@ Public Function CopyRecordsReturnFieldValue(ByVal Source As String, _ ByVal StartFieldNumber As Long, ByVal LastFieldNumber As Long, _ ByVal ReturnFieldName As String, _ ParamArray DataToChange() As Variant) As Variant - + Dim maxIdx As Long Dim vA() As Variant Dim i As Long @@ -1442,33 +1417,33 @@ On Error GoTo HandleErr Dim lngLastCopyField As Long, dsAnz As Long, Start As Long Dim CopyFieldsAndValues() As Variant Dim ErrNo As Long, ErrDesc As String, ErrSource As String - + lngNum = UBound(UpdateFieldsAndValues) - LBound(UpdateFieldsAndValues) + 1 - + anz = 0 ReDim strCtl((lngNum \ 2) - 1) ReDim valCtl((lngNum \ 2) - 1) - + For i = 0 To (lngNum - 2) Step 2 strCtl(anz) = UpdateFieldsAndValues(i) valCtl(anz) = UpdateFieldsAndValues(i + 1) anz = anz + 1 Next i - + Set rst = Me.OpenRecordset(SqlSource, dbOpenDynaset) - + If rst.EOF And rst.BOF Then rst.Close Set rst = Nothing CopyRecordsArrayReturnFieldValue = 0 Exit Function End If - + With rst .MoveLast .MoveFirst dsAnz = .RecordCount - + If LastFeldID = 0 Then lngLastCopyField = .Fields.Count ElseIf LastFeldID < 0 Then @@ -1476,11 +1451,11 @@ On Error GoTo HandleErr Else lngLastCopyField = LastFeldID End If - + ReDim CopyFieldsAndValues(dsAnz, lngLastCopyField) - + If StartFeldID > 1 Then Start = StartFeldID - 1 Else Start = 0 - + 'Read values iDS = 0 While Not .EOF @@ -1493,7 +1468,7 @@ On Error GoTo HandleErr iDS = iDS + 1 Wend .MoveLast - + 'Copy values For iDS = 0 To (dsAnz - 1) .AddNew @@ -1507,7 +1482,7 @@ On Error GoTo HandleErr Next i .Update Next iDS - + If Len(ReturnField & vbNullString) > 0 Then .Bookmark = .LastModified CopyRecordsArrayReturnFieldValue = .Fields(ReturnField) @@ -1516,11 +1491,11 @@ On Error GoTo HandleErr End If .Close End With - + ExitHere: Set rst = Nothing Exit Function - + ResumeRaiseError: On Error GoTo 0 Err.Raise ErrNo, ErrSource, ErrDesc diff --git a/source/codelib/data/DbConnectionHandler.cls b/source/modules/DbConnectionHandler.cls similarity index 99% rename from source/codelib/data/DbConnectionHandler.cls rename to source/modules/DbConnectionHandler.cls index 9974002..b4c6821 100644 --- a/source/codelib/data/DbConnectionHandler.cls +++ b/source/modules/DbConnectionHandler.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -34,7 +34,7 @@ Attribute VB_Exposed = False Option Compare Text Option Explicit -'Objekte für Datenzugriff +'Objekte für Datenzugriff Private WithEvents m_DaoHandler As DaoHandler Attribute m_DaoHandler.VB_VarHelpID = -1 Private WithEvents m_AdodbHandler As AdodbHandler @@ -154,10 +154,10 @@ Public Sub Dispose() On Error Resume Next ClearObjectReferences - + m_Disposed = True RaiseEvent Disposed - + End Sub Private Sub ClearObjectReferences() @@ -168,17 +168,17 @@ On Error Resume Next m_AdodbHandler.Dispose Set m_AdodbHandler = Nothing End If - + If Not m_DaoHandler Is Nothing Then m_DaoHandler.Dispose Set m_DaoHandler = Nothing End If - + If Not m_OdbcHandler Is Nothing Then m_OdbcHandler.Dispose Set m_OdbcHandler = Nothing End If - + End Sub @@ -374,7 +374,7 @@ Private Sub m_OdbcHandler_ErrorMissingCurrentDb(ByVal Msg As String, ByRef NewCu '1. Try to pass from DAO class: Set NewCurrentDbRef = Me.DAO.CurrentDb - + '2. Trigger event if Me.DAO.CurrentDb also returns nothing If NewCurrentDbRef Is Nothing Then RaiseEvent ErrorMissingCurrentDb(Msg, NewCurrentDbRef) @@ -382,5 +382,5 @@ Private Sub m_OdbcHandler_ErrorMissingCurrentDb(ByVal Msg As String, ByRef NewCu Set Me.DAO.CurrentDb = NewCurrentDbRef End If End If - + End Sub diff --git a/source/codelib/data/DbConnectionInfo.cls b/source/modules/DbConnectionInfo.cls similarity index 98% rename from source/codelib/data/DbConnectionInfo.cls rename to source/modules/DbConnectionInfo.cls index 599ca3b..71c1bb2 100644 --- a/source/codelib/data/DbConnectionInfo.cls +++ b/source/modules/DbConnectionInfo.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -67,7 +67,7 @@ Private Const m_DBMSNAME_MSSQL As String = "MSSQL" Private Const m_DBMSNAME_MYSQL As String = "MySQL" Private Const m_DBMSNAME_ORACLE As String = "ORACLE" Private Const m_DBMSNAME_ODBC As String = "ODBC" - + 'DBMS Provider/Driver Private m_DBODBCDRIVER As String Private m_DBOLEDBPROVIDER As String @@ -96,7 +96,7 @@ Private m_DBOPTIONS_OLEDB As String 'Connection string Private m_OledbConnectionString As String Private m_OdbcConnectionString As String -Private m_DatabaseFile As String 'für dateibasierte DBS +Private m_DatabaseFile As String 'für dateibasierte DBS 'Login form Private m_UseLoginForm As Boolean @@ -209,7 +209,7 @@ Private Declare PtrSafe Function WritePrivateProfileString Lib "kernel32" _ ByVal lpKeyName As Any, _ ByVal lpString As Any, _ ByVal lpFileName As String) As Long - + Private Sub Class_Terminate() On Error Resume Next Dispose @@ -224,12 +224,12 @@ On Error Resume Next RaiseEvent Disposed End Sub - + '################################################### ' ' Group: DBMS Connection Parameters ' - + '--------------------------------------------------------------------------------------- 'Property: ConnectionIdentifier '--------------------------------------------------------------------------------------- @@ -244,16 +244,16 @@ End Property Public Property Let ConnectionIdentifier(ByVal ConnectionIdentifierToUse As String) On Error Resume Next - + ClearConnectionInfo m_ConnectionIdentifier = ConnectionIdentifierToUse - + If Len(m_ConnectionIdentifier) > 0 Then LoadConnectionData RaiseDbmsConnectionChangedEvent:=True Else RaiseEvent DbmsConnectionChanged(vbNullString) End If - + End Property Public Property Get CID() As String @@ -371,15 +371,15 @@ Private Sub m_LoginForm_Cancelled() End Sub Private Sub m_LoginForm_Logon(ByVal LoginName As String, ByVal Password As String, Cancel As Boolean) - + Dim ErrMsg As String m_LoginCancelled = False m_DBUSER = LoginName m_DBUSERPWD = Password - + Call SetConnectionStrings(False) - + If CheckAdoConnection(m_OledbConnectionString, ErrMsg) = False Then If Len(ErrMsg) > 0 Then ErrMsg = vbNewLine & vbNewLine & ErrMsg MsgBox "Verbindung konnte nicht hergestellt werden" & ErrMsg @@ -412,18 +412,18 @@ Private Sub SetConnectionStrings(Optional ByVal bWithConnectionCheck As Boolean ElseIf m_LoginCancelled Then Exit Sub End If - + If m_CONNECTIONMODE = DbmsConnectionModes.DBMS_USERDEF Then 'user-defined string => no determination via dbms class required Exit Sub End If - + myConnectionStrings = Me.ConnectionStrings m_OledbConnectionString = myConnectionStrings.OledbConnectionString m_OdbcConnectionString = myConnectionStrings.OdbcConnectionString m_DatabaseFile = myConnectionStrings.DatabaseFile - + If bWithConnectionCheck Then If CheckConnection(ErrMsg) = False Then If Len(ErrMsg) > 0 Then ErrMsg = vbNewLine & vbNewLine & ErrMsg @@ -451,7 +451,7 @@ Public Property Get DbUser(Optional ByVal WithoutServerCheck As Boolean = False) SetConnectionStrings End If End If - + If m_TRUSTEDCONNECTION Then DbUser = GetDbUserName Else @@ -476,13 +476,13 @@ Private Property Get DbUserPassword() As String SetConnectionStrings End If DbUserPassword = m_DBUSERPWD - + End Property Friend Property Let DbUserPassword(ByVal NewValue As String) m_DBUSERPWD = NewValue - + End Property '--------------------------------------------------------------------------------------- @@ -559,7 +559,7 @@ Friend Property Get OledbConnectionString() As String SetConnectionStrings End If OledbConnectionString = m_OledbConnectionString - + End Property '--------------------------------------------------------------------------------------- @@ -611,7 +611,7 @@ End Property ' '--------------------------------------------------------------------------------------- Public Function CheckConnection(Optional ByRef ErrMsg As String = vbNullString) As Boolean - + Dim checkOk As Boolean checkOk = CheckAdoConnection(OledbConnectionString, ErrMsg) @@ -620,7 +620,7 @@ Public Function CheckConnection(Optional ByRef ErrMsg As String = vbNullString) checkOk = checkOk And CheckOdbcConnection(OdbcConnectionString, ErrMsg) End If End If - + CheckConnection = checkOk End Function @@ -634,12 +634,12 @@ Private Function CheckAdoConnection(ByVal sOleDbConnectionstring As String, ByRe CheckAdoConnection = False Exit Function End If - + Set cnn = CreateObject("ADODB.Connection") With cnn .ConnectionString = sOleDbConnectionstring .ConnectionTimeout = m_CheckConnectionTimeoutSeconds - + On Error Resume Next .Open If Err.Number <> 0 Then @@ -652,7 +652,7 @@ On Error Resume Next CheckAdoConnection = False Exit Function End If - + If .State = adStateOpen Then .Close CheckAdoConnection = True @@ -674,7 +674,7 @@ Private Function CheckOdbcConnection(ByVal sOdbcConnectionstring As String, ByRe CheckOdbcConnection = False Exit Function End If - + On Error Resume Next Set db = DBEngine.OpenDatabase("", dbDriverComplete, True, sOdbcConnectionstring) @@ -690,7 +690,7 @@ On Error Resume Next db.Close End If Set db = Nothing - + CheckOdbcConnection = checkOk End Function @@ -712,7 +712,7 @@ Public Sub ClearConnectionInfo() On Error Resume Next bolRaiseEvent = (Len(m_DBMSNAME & m_OledbConnectionString & m_OdbcConnectionString) > 0) - + m_DBMSNAME = vbNullString m_OledbConnectionString = vbNullString m_OdbcConnectionString = vbNullString @@ -730,18 +730,18 @@ On Error Resume Next m_UseLoginForm = False m_LoginCancelled = False m_DbmsInfoReaded = False - + If bolRaiseEvent Then RaiseEvent DbmsConnectionInfoCleared End If - + End Sub '--------------------------------------------------------------------------------------- ' Function: ChangeDbUserPassword '--------------------------------------------------------------------------------------- ' -' Datenbankpasswort des Benutzers ändern +' Datenbankpasswort des Benutzers ändern ' ' Parameters: ' NewPassword - New passwort @@ -758,7 +758,7 @@ Public Function ChangeDbUserPassword( _ ByVal OldPassword As String, _ Optional ByVal LoginName As String = vbNullString, _ Optional ByRef Msg As String) As Boolean - + Dim bolPwdChanged As Boolean Dim strSQL As String Dim strLoginName As String @@ -766,7 +766,7 @@ Public Function ChangeDbUserPassword( _ Set cnn = New ADODB.Connection cnn.Open OledbConnectionString - + If Len(LoginName) > 0 Then strLoginName = LoginName Else @@ -774,11 +774,11 @@ Public Function ChangeDbUserPassword( _ End If strSQL = "ALTER LOGIN " & strLoginName & " WITH PASSWORD = '" & NewPassword & "'" - + If Len(OldPassword) > 0 Then strSQL = strSQL & " OLD_PASSWORD = '" & OldPassword & "'" End If - + On Error Resume Next With cnn .Errors.Clear @@ -793,17 +793,17 @@ Public Function ChangeDbUserPassword( _ .Close End With Set cnn = Nothing - + If bolPwdChanged Then - + If strLoginName = m_DBUSER Then m_DBUSERPWD = NewPassword SetConnectionStrings RaiseEvent PasswordChanged End If - + End If - + ChangeDbUserPassword = bolPwdChanged End Function @@ -848,9 +848,9 @@ Private Function GetDbUserName() As String On Error GoTo 0 Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.DbUserName", "For '" & m_DBMSNAME & "' the UserName cannot be determined. (Selection not possible.)" End Select - + Set rst = cnn.Execute(strSQL) - + GetDbUserName = Nz(rst.Fields(0), "N/A") rst.Close cnn.Close @@ -859,7 +859,7 @@ End Function Private Function GetOdbcUserInfo(Optional ByVal sUID As String = vbNullString, _ Optional ByVal sPWD As String = vbNullString) As String - + If Len(sUID) = 0 Then If m_DbmsInfoReaded = False Then LoadConnectionData @@ -867,7 +867,7 @@ Private Function GetOdbcUserInfo(Optional ByVal sUID As String = vbNullString, _ sUID = m_DBUSER sPWD = m_DBUSERPWD End If - + Select Case m_DBMSNAME Case m_DBMSNAME_MSSQL GetOdbcUserInfo = getOdbcUserInfo_MSSQL(sUID, sPWD) @@ -904,11 +904,11 @@ Private Function ConnectionStrings_MSJET() As DbmsConnectionStrings strOLEDB = "Provider=" & m_DBOLEDBPROVIDER & ";Data Source=" & strDbFile & ";Mode=Share Deny None;" & strOLEDB strODBC = ";DATABASE=" & strDbFile & strODBC - + tempConnectionStrings.OledbConnectionString = strOLEDB tempConnectionStrings.OdbcConnectionString = strODBC tempConnectionStrings.DatabaseFile = strDbFile - + ConnectionStrings_MSJET = tempConnectionStrings End Function @@ -923,7 +923,7 @@ Private Function ConnectionStrings_MSSQL() As DbmsConnectionStrings If Len(m_PORT) > 0 Then strSrvCon = strSrvCon & "," & m_PORT End If - + If m_TRUSTEDCONNECTION Then strODBC = ";Trusted_Connection=Yes" strOLEDB = ";Integrated Security = SSPI" @@ -954,17 +954,17 @@ Private Function ConnectionStrings_MSSQL() As DbmsConnectionStrings End If strODBC = "DRIVER={" & m_DBODBCDRIVER & "};DATABASE=" & m_DBNAME & ";SERVER=" & strSrvCon & strODBC End If - + tempConnectionStrings.OledbConnectionString = strOLEDB tempConnectionStrings.OdbcConnectionString = "ODBC;" & strODBC - + ConnectionStrings_MSSQL = tempConnectionStrings End Function Private Function GetDataProviderOledbString(ByVal BaseOledbString As String) As String 'Provider=Microsoft.Access.OLEDB.10.0;Data Provider=SQLOLEDB - + GetDataProviderOledbString = Replace(BaseOledbString, "Provider=", "Provider=Microsoft.Access.OLEDB.10.0;Data Provider=") End Function @@ -1000,7 +1000,7 @@ Private Function ConnectionStrings_MySQL() As DbmsConnectionStrings If Len(m_DBOPTIONS_ODBC) > 0 Then strODBC = strODBC & m_DBOPTIONS_ODBC & ";" End If - + If Len(m_DSN) > 0 Then strODBC = "DSN=" & m_DSN & ";" & strODBC Else @@ -1009,7 +1009,7 @@ Private Function ConnectionStrings_MySQL() As DbmsConnectionStrings End If strODBC = "DRIVER={" & m_DBODBCDRIVER & "};DATABASE=" & m_DBNAME & ";SERVER=" & strSrvCon & ";" & strODBC End If - + tempConnectionStrings.OdbcConnectionString = "ODBC;" & strODBC tempConnectionStrings.OledbConnectionString = "Provider=MSDASQL;" & strODBC @@ -1035,17 +1035,17 @@ Private Function ConnectionStrings_ORACLE() As DbmsConnectionStrings strODBC = getOdbcUserInfo_ORACLE(m_DBUSER, m_DBUSERPWD) & ";" strOLEDB = "User ID=" & m_DBUSER & ";Password=" & m_DBUSERPWD & ";" End If - + If Len(m_DBOPTIONS_OLEDB) > 0 Then strOLEDB = strOLEDB & m_DBOPTIONS_OLEDB & ";" End If If Len(m_DBOPTIONS_ODBC) > 0 Then strODBC = strODBC & m_DBOPTIONS_ODBC & ";" End If - + 'Microsoft ODBC for Oracle: strSrvCon = "(DESCRIPTION=(ADDRESS=(COMMUNITY=)(PROTOCOL=TCP)(Host=" & m_DBSERVER & ")(Port=" & m_PORT & "))(CONNECT_DATA=(SID=" & m_DBNAME & ")))" - + If Len(m_DBOLEDBPROVIDER) = 0 Then m_DBOLEDBPROVIDER = "OraOLEDB.Oracle" End If @@ -1059,10 +1059,10 @@ Private Function ConnectionStrings_ORACLE() As DbmsConnectionStrings End If strODBC = "DRIVER={" & m_DBODBCDRIVER & "};SERVER=" & strSrvCon & ";" & strODBC End If - + tempConnectionStrings.OledbConnectionString = strOLEDB tempConnectionStrings.OdbcConnectionString = "ODBC;" & strODBC - + ConnectionStrings_ORACLE = tempConnectionStrings End Function @@ -1077,7 +1077,7 @@ Private Function ConnectionStrings_ODBC() As DbmsConnectionStrings Dim tempConnectionStrings As DbmsConnectionStrings Dim strODBC As String Dim strSrvCon As String - + If Len(m_DBODBCDRIVER) = 0 Then Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NOCONFIG, "ConnectionStrings_ODBC", "No ODBC driver was specified" End If @@ -1096,16 +1096,16 @@ Private Function ConnectionStrings_ODBC() As DbmsConnectionStrings If Len(m_DBOPTIONS_ODBC) > 0 Then strODBC = strODBC & m_DBOPTIONS_ODBC & ";" End If - + If Len(m_DSN) > 0 Then strODBC = "DSN=" & m_DSN & ";" & strODBC Else strODBC = "DRIVER={" & m_DBODBCDRIVER & "};DATABASE=" & m_DBNAME & ";SERVER=" & strSrvCon & ";" & strODBC End If - + tempConnectionStrings.OdbcConnectionString = "ODBC;" & strODBC tempConnectionStrings.OledbConnectionString = "Provider=MSDASQL;" & strODBC - + ConnectionStrings_ODBC = tempConnectionStrings End Function @@ -1124,7 +1124,7 @@ End Function ' '--------------------------------------------------------------------------------------- Public Property Get TableListSqlText() As String - + Select Case m_DBMSNAME Case m_DBMSNAME_MSSQL TableListSqlText = "select T.TABLE_NAME, T.TABLE_SCHEMA, cast(T.TABLE_SCHEMA + '.' + T.TABLE_NAME as varchar(255)) AS TabKey from information_schema.TABLES T Order By T.TABLE_NAME, T.TABLE_SCHEMA" @@ -1139,24 +1139,24 @@ Public Property Get TableListSqlText() As String Case vbNullString TableListSqlText = vbNullString Case Else - Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.TableListSQL", "Für '" & m_DBMSNAME & "' können keine Connectionstrings erzeugt werden. (Auswahl nicht möglich.)" + Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.TableListSQL", "Für '" & m_DBMSNAME & "' können keine Connectionstrings erzeugt werden. (Auswahl nicht möglich.)" End Select End Property Private Function SetLoginData() As Boolean - + Dim cnn As ADODB.Connection Dim cmd As ADODB.Command Dim rst As ADODB.Recordset - + Dim strWindowUser As String strWindowUser = Environ("username") - + Set cnn = New ADODB.Connection cnn.Open ConnectionStrings_MySQL.OledbConnectionString - + Set cmd = New ADODB.Command Set cmd.ActiveConnection = cnn cmd.CommandText = "GetLoginData" @@ -1173,7 +1173,7 @@ Private Function SetLoginData() As Boolean m_DBUSERPWD = rst.Fields(1) SetLoginData = True End If - + rst.Close Set cmd = Nothing cnn.Close @@ -1234,7 +1234,7 @@ Public Property Get DateFormat() As String Case m_DBMSNAME_ODBC DateFormat = "'yyyymmdd hh:nn:ss'" Case Else - Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.DateFormat", "Für '" & m_DBMSNAME & "' kann keine Datumsfromat ermittelt werden." + Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.DateFormat", "Für '" & m_DBMSNAME & "' kann keine Datumsfromat ermittelt werden." End Select End Property @@ -1282,7 +1282,7 @@ Public Property Get BooleanTrueString() As String Case m_DBMSNAME_ODBC BooleanTrueString = "True" Case Else - Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.BooleanTrueString", "Für '" & m_DBMSNAME & "' kann kein True-String ermittelt werden." + Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.BooleanTrueString", "Für '" & m_DBMSNAME & "' kann kein True-String ermittelt werden." End Select End Property @@ -1328,18 +1328,18 @@ End Property Private Sub LoadConnectionData(Optional ByVal WithoutLoginForm As Boolean = False, Optional ByVal RaiseDbmsConnectionChangedEvent As Boolean = False) - + Dim tempConnID As String tempConnID = m_ConnectionIdentifier ClearConnectionInfo - + LoadConnectionDataFromTable - + m_DbmsInfoReaded = True m_SAVEPWD = (Len(m_DBUSERPWD) > 0) And (m_UseLoginForm = False) - + If m_DBMSNAME = "MSJET" Then m_DatabaseFile = m_DBNAME End If @@ -1352,7 +1352,7 @@ Private Sub LoadConnectionData(Optional ByVal WithoutLoginForm As Boolean = Fals If Len(LoginUserName) = 0 Then LoginUserName = m_DBUSER End If - + 'Make m_LoginForm accessible via Property LoginForm and set it in the LoginForm itself: DoCmd.OpenForm LoginFormName, acNormal, , , acFormEdit, acDialog, ObjPtr(Me) & "@" & m_ConnectionIdentifier & "@" & LoginUserName #Else @@ -1360,7 +1360,7 @@ Private Sub LoadConnectionData(Optional ByVal WithoutLoginForm As Boolean = Fals #End If End If End If - + If (tempConnID <> m_ConnectionIdentifier) Or RaiseDbmsConnectionChangedEvent Then RaiseEvent DbmsConnectionChanged(m_ConnectionIdentifier) End If @@ -1372,7 +1372,7 @@ Private Sub LoadConnectionDataFromTable() Dim rst As DAO.Recordset Dim SelectSql As String Dim Loa - + If Len(m_ConnectionIdentifier) = 0 Then 'Select the DS that has been marked as "Active". SelectSql = ActivatedConnDataSelectSql Else @@ -1381,10 +1381,10 @@ Private Sub LoadConnectionDataFromTable() Set rst = CurrentDb.OpenRecordset(SelectSql, dbOpenSnapshot) If rst.EOF Then - + rst.Close Set rst = Nothing - + If Len(m_ConnectionIdentifier) = 0 Then 'no connection has been activated yet If Not TryGetConnectionDataWithConfigForm(rst) Then Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.LoadDbmsConnectionDataFromTable", "Es wurde keine Verbindung aktiviert." @@ -1393,12 +1393,12 @@ Private Sub LoadConnectionDataFromTable() Exit Sub End If Else - Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.LoadDbmsConnectionDataFromTable", "Kein Eintrag für '" & m_ConnectionIdentifier & "' gefunden" + Err.Raise DbConnectionInfoErrorNumbers.ERRNR_NODBMS, "DbConnectionInfo.LoadDbmsConnectionDataFromTable", "Kein Eintrag für '" & m_ConnectionIdentifier & "' gefunden" Exit Sub End If - + End If - + 'Read settings LoadConnectionDataFromRecordset rst rst.Close @@ -1409,20 +1409,20 @@ End Sub Private Function TryGetConnectionDataWithConfigForm(ByRef rst As DAO.Recordset) As Boolean If Len(DbmsConfigFormName) > 0 Then - + If MsgBox("No connection has been activated yet." & vbNewLine & _ "Please check the connection parameters and activate the desired connection.", _ vbInformation + vbOKCancel) = vbOK Then - + DoCmd.OpenForm DbmsConfigFormName, , , , , acDialog 'Abort, if already initialized via form If m_DbmsInfoReaded Then TryGetConnectionDataWithConfigForm = True Exit Function End If - + End If - + Set rst = CurrentDb.OpenRecordset(ActivatedConnDataSelectSql, dbOpenSnapshot) If Not rst.EOF Then m_ConnectionIdentifier = Nz(rst.Fields("CID"), vbNullString) @@ -1432,9 +1432,9 @@ Private Function TryGetConnectionDataWithConfigForm(ByRef rst As DAO.Recordset) Set rst = Nothing TryGetConnectionDataWithConfigForm = False End If - + End If - + End Function Private Sub LoadConnectionDataFromRecordset(ByVal rst As DAO.Recordset) @@ -1447,22 +1447,22 @@ Private Sub LoadConnectionDataFromRecordset(ByVal rst As DAO.Recordset) Exit Sub End If End If - + m_DBMSNAME = Nz(rst.Fields("DBMS"), vbNullString) m_CONNECTIONMODE = Nz(.Fields("dbmsConnectionMode"), 0) '1 = DNS less, 2 = DSN, 4 = custom - + m_DBNAME = .Fields("dbmsDatabase") & vbNullString - + m_DBSERVER = .Fields("dbmsServer") & vbNullString m_PORT = .Fields("dbmsPort") & vbNullString - + m_TRUSTEDCONNECTION = Nz(.Fields("dbmsUseTrustedConnection"), False) m_UseLoginForm = Nz(.Fields("dbmsUseLoginForm"), False) m_DBUSER = .Fields("dbmsUser") & vbNullString m_DBUSERPWD = .Fields("dbmsPwd") & vbNullString - + If Not m_TRUSTEDCONNECTION Then - + 'Try get login data by Event (to get password from vba code) If Len(m_DBUSER) = 0 Or Len(m_DBUSERPWD) = 0 Then RaiseEvent LoginDataRequired(m_DBUSER, m_DBUSERPWD) @@ -1472,34 +1472,34 @@ Private Sub LoadConnectionDataFromRecordset(ByVal rst As DAO.Recordset) End If End If End If - + 'Falls kein Name angegeben ist, Loginform aktivieren If Not (m_UseLoginForm Or m_TRUSTEDCONNECTION) And Len(m_DBUSER) = 0 Then m_UseLoginForm = (m_DBMSNAME <> "MSJET") End If - + End If - + m_DSN = .Fields("dbmsDSN") & vbNullString - + m_DBOLEDBPROVIDER = .Fields("dbmsOleDbProvider") & vbNullString m_DBOPTIONS_OLEDB = .Fields("dbmsOptionsOLEDB") & vbNullString - + m_DBODBCDRIVER = .Fields("dbmsOdbcDriver") & vbNullString m_DBOPTIONS_ODBC = .Fields("dbmsOptionsODBC") & vbNullString - + m_OledbConnectionString = .Fields("dbmsConStrOLEDB") & vbNullString m_OdbcConnectionString = .Fields("dbmsConStrODBC") & vbNullString End With - + End Sub Private Function GetUserNameFromConfigFile() As String Dim ReturnStr As String * 1280 Dim RetVal As Long - + On Error Resume Next RetVal = GetPrivateProfileString("Login", "UserName", vbNullString & vbNullChar, ReturnStr, Len(ReturnStr), CurrentProject.Path & "\" & m_ConnectionIdentifier & ".ini") diff --git a/source/codelib/data/DbConnectionManager.cls b/source/modules/DbConnectionManager.cls similarity index 96% rename from source/codelib/data/DbConnectionManager.cls rename to source/modules/DbConnectionManager.cls index 7de7b58..57319cc 100644 --- a/source/codelib/data/DbConnectionManager.cls +++ b/source/modules/DbConnectionManager.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -69,11 +69,11 @@ End Sub Public Sub Dispose() On Error Resume Next - + If m_Disposed Then Exit Sub DisposePermanentBackendRst - + Set m_DbConnection = Nothing Set m_DbConnectionInfo = Nothing @@ -151,7 +151,7 @@ Public Property Get ConnectionInfo() As DbConnectionInfo m_Disposed = False End If Set ConnectionInfo = m_DbConnectionInfo - + End Property '--------------------------------------------------------------------------------------- @@ -173,19 +173,19 @@ Public Property Get DbConnection() As DbConnectionHandler InitDbConnection End If Set DbConnection = m_DbConnection - + End Property Private Sub InitDbConnection() - + Dim OdbcConnectionString As String Dim OledbConnectionString As String Dim NewSettings As DbConnectionSettings - + If m_DbConnection Is Nothing Then Set m_DbConnection = New DbConnectionHandler End If - + Set NewSettings = DefaultSettings.Clone With Me.ConnectionInfo OdbcConnectionString = .OdbcConnectionString @@ -194,29 +194,29 @@ Private Sub InitDbConnection() NewSettings.SqlWildCardString = .WildCardString NewSettings.SqlBooleanTrueString = .BooleanTrueString End With - + RaiseEvent BeforeInitDbConnection(OdbcConnectionString, OledbConnectionString, NewSettings) - - ' DefaultSettings von NewSettings übernehmen: + + ' DefaultSettings von NewSettings übernehmen: ' Kopieren und nicht Referenz zuweisen, damit Daten passen, falls an anderer Stelle bereits eine Referenz auf DefaultSettings gesetzt wurde DefaultSettings.CopyFrom NewSettings - - Set m_DbConnection.CurrentDb = Application.CurrentDb ' ... nicht unbedingt erforderlich, wird bei Bedarf über Event angefordert + + Set m_DbConnection.CurrentDb = Application.CurrentDb ' ... nicht unbedingt erforderlich, wird bei Bedarf über Event angefordert m_DbConnection.OdbcConnectionString = OdbcConnectionString m_DbConnection.OledbConnectionString = OledbConnectionString - + With DefaultSettings SqlTools.SqlDateFormat = .SqlDateFormat SqlTools.SqlWildCardString = .SqlWildCardString SqlTools.SqlBooleanTrueString = .SqlBooleanTrueString - + m_DbConnection.ADODB.DefaultCursorLocation = .DefaultAdodbCursorLocation - + If .OpenPermanentBackendRecordset Then OpenPermanentBackendRecordset End If - + End With RaiseEvent DbConnectionInitialized @@ -231,15 +231,15 @@ Private Sub OpenPermanentBackendRecordset() On Error GoTo 0 Set m_PermanentBackendRst = Nothing End If - + If Len(ConnectionInfo.DbmsName) = 0 Then Exit Sub End If - + If Len(Me.ConnectionInfo.OdbcConnectionString) > 0 Then Set m_PermanentBackendRst = Me.DbConnection.ODBC.OpenRecordsetPT(Me.ConnectionInfo.PermanentBackendRstSqlText, dbOpenSnapshot) End If - + End Sub @@ -251,20 +251,20 @@ End Sub ' Private Sub m_DbConnectionInfo_DbmsConnectionChanged(ByVal newCID As String) 'DbConnection neu initialisieren lassen - + On Error Resume Next - 'ADO-Verbindung schließen + 'ADO-Verbindung schließen Me.DbConnection.ADODB.Dispose - - 'ODBC-Verbindung schließen + + 'ODBC-Verbindung schließen Me.DbConnection.ODBC.Dispose - - 'Verbindung zum BE öffnen + + 'Verbindung zum BE öffnen If DefaultSettings.OpenPermanentBackendRecordset Then OpenPermanentBackendRecordset End If - + End Sub Private Sub m_DbConnectionInfo_DbmsConnectionInfoCleared() @@ -273,12 +273,12 @@ Private Sub m_DbConnectionInfo_DbmsConnectionInfoCleared() On Error Resume Next - 'ADO-Verbindung schließen + 'ADO-Verbindung schließen Me.DbConnection.ADODB.Dispose - - 'ODBC-Verbindung schließen + + 'ODBC-Verbindung schließen Me.DbConnection.ODBC.Dispose - + End Sub Private Sub m_DbConnectionInfo_Disposed() diff --git a/source/codelib/data/DbConnectionSettings.cls b/source/modules/DbConnectionSettings.cls similarity index 98% rename from source/codelib/data/DbConnectionSettings.cls rename to source/modules/DbConnectionSettings.cls index 398622c..56db37d 100644 --- a/source/codelib/data/DbConnectionSettings.cls +++ b/source/modules/DbConnectionSettings.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -103,15 +103,15 @@ End Function Public Sub CopyFrom(ByVal NewSettings As DbConnectionSettings) With NewSettings - + SqlDateFormat = .SqlDateFormat SqlWildCardString = .SqlWildCardString SqlBooleanTrueString = .SqlBooleanTrueString - + DefaultAdodbCursorLocation = .DefaultAdodbCursorLocation - + OpenPermanentBackendRecordset = .OpenPermanentBackendRecordset - + End With - + End Sub diff --git a/source/codelib/vba/ErrorTrappingObserver.cls b/source/modules/ErrorTrappingObserver.cls similarity index 99% rename from source/codelib/vba/ErrorTrappingObserver.cls rename to source/modules/ErrorTrappingObserver.cls index c95f5f8..560f245 100644 --- a/source/codelib/vba/ErrorTrappingObserver.cls +++ b/source/modules/ErrorTrappingObserver.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END diff --git a/source/codelib/file/FileTools.bas b/source/modules/FileTools.bas similarity index 98% rename from source/codelib/file/FileTools.bas rename to source/modules/FileTools.bas index b12fcdd..9fd2547 100644 --- a/source/codelib/file/FileTools.bas +++ b/source/modules/FileTools.bas @@ -1,5 +1,5 @@ -Attribute VB_Name = "FileTools" -Attribute VB_Description = "Funktionen für Dateioperationen" +Attribute VB_Name = "FileTools" +Attribute VB_Description = "Funktionen für Dateioperationen" '--------------------------------------------------------------------------------------- ' Package: file.FileTools '--------------------------------------------------------------------------------------- @@ -24,14 +24,14 @@ Option Explicit Option Private Module #If USELOCALIZATION_DE = 1 Then -Private Const SELECTBOX_FILE_DIALOG_TITLE As String = "Datei auswählen" -Private Const SELECTBOX_FOLDER_DIALOG_TITLE As String = "Ordner auswählen" -Private Const SELECTBOX_OPENTITLE As String = "auswählen" +Private Const SELECTBOX_FILE_DIALOG_TITLE As String = "Datei auswählen" +Private Const SELECTBOX_FOLDER_DIALOG_TITLE As String = "Ordner auswählen" +Private Const SELECTBOX_OPENTITLE As String = "auswählen" Private Const FILTERSTRING_ALL_FILES As String = "Alle Dateien (*.*)" #Else Private Const SELECTBOX_FILE_DIALOG_TITLE As String = "Select file" Private Const SELECTBOX_FOLDER_DIALOG_TITLE As String = "Select folder" -Private Const SELECTBOX_OPENTITLE As String = "auswählen" +Private Const SELECTBOX_OPENTITLE As String = "auswählen" Private Const FILTERSTRING_ALL_FILES As String = "All Files (*.*)" #End If @@ -57,7 +57,7 @@ Private Declare PtrSafe Function API_GetTempFilename Lib "kernel32" Alias "GetTe ByVal lpPrefixString As String, _ ByVal wUnique As Long, _ ByVal lpTempFileName As String) As Long - + Private Declare PtrSafe Function API_ShellExecuteA Lib "shell32.dll" ( _ ByVal Hwnd As LongPtr, _ ByVal lOperation As String, _ @@ -162,13 +162,13 @@ Private Function WizHook_GetFileName( _ ' 2: Eigenschaften ' 3: Liste ' 4: Miniaturansicht -' 5: Große Symbole +' 5: Große Symbole ' 6: Kleine Symbole 'flags 4: Set Current Dir -' 8: Mehrfachauswahl möglich +' 8: Mehrfachauswahl möglich ' 32: Ordnerauswahldialog -' 64: Wert im Parameter "View" berücksichtigen +' 64: Wert im Parameter "View" berücksichtigen Dim SelectedFileString As String Dim WizHookRetVal As Long @@ -214,25 +214,25 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function UncPath(ByVal Path As String, Optional ByVal IgnoreErrors As Boolean = True) As String - + Dim UNC As String * 512 - + If VBA.Len(Path) = 1 Then Path = Path & ":" - + If WNetGetConnection(VBA.Left$(Path, 2), UNC, VBA.Len(UNC)) Then - + If IgnoreErrors Then UncPath = Path Else Err.Raise 5 ' Invalid procedure call or argument End If - + Else UncPath = VBA.Left$(UNC, VBA.InStr(UNC, vbNullChar) - 1) & VBA.Mid$(Path, 3) - + End If - + End Function '--------------------------------------------------------------------------------------- @@ -282,7 +282,7 @@ Public Function GetNewTempFileName(Optional ByVal PathToUse As String = "", _ Optional ByVal FileExtension As String = "") As String Dim NewTempFileName As String - + If Len(PathToUse) = 0 Then PathToUse = TempPath End If @@ -513,7 +513,7 @@ Public Function DirExists(ByVal FullPath As String) As Boolean DirExists = (VBA.Dir$(FullPath, vbDirectory Or vbReadOnly Or vbHidden Or vbSystem) = ".") VBA.Dir$ "\" ' Avoiding error: issue #109 - + End Function '--------------------------------------------------------------------------------------- @@ -664,7 +664,7 @@ Public Function GetRelativPathFromFullPath(ByVal FullPath As String, _ Optional ByVal DisableDecreaseBaseDir As Boolean = False) As String Dim RelativPath As String - + If FullPath = BaseDir Then GetRelativPathFromFullPath = "." Exit Function @@ -675,7 +675,7 @@ Public Function GetRelativPathFromFullPath(ByVal FullPath As String, _ GetRelativPathFromFullPath = "." Exit Function End If - + If Not DisableDecreaseBaseDir Then RelativPath = TryGetRelativPathWithDecreaseBaseDir(FullPath, BaseDir, EnableRelativePrefix) Else @@ -690,7 +690,7 @@ Public Function GetRelativPathFromFullPath(ByVal FullPath As String, _ End If End If End If - + GetRelativPathFromFullPath = RelativPath End Function @@ -701,7 +701,7 @@ Private Function TryGetRelativPathWithDecreaseBaseDir(ByVal FullPath As String, Dim DecreaseCounter As Long Dim Pos As Long Dim i As Long - + RelativPath = BaseDir Do While InStr(1, FullPath, RelativPath) = 0 @@ -713,7 +713,7 @@ Private Function TryGetRelativPathWithDecreaseBaseDir(ByVal FullPath As String, Exit Do End If Loop - + If Len(RelativPath) > 0 Then RelativPath = Replace(FullPath, RelativPath, vbNullString) For i = 1 To DecreaseCounter @@ -854,7 +854,7 @@ Public Function OpenFile(ByVal FilePath As String, Optional ByVal ReadOnlyMode A Dim FileNotFoundErrorText As String If Len(VBA.Dir(FilePath)) = 0 Then - + #If USELOCALIZATION = 1 Then FileNotFoundErrorText = Replace(L10n.Text(FileNotFoundErrorTextTemplate), "{FilePath}", FilePath) #Else @@ -865,7 +865,7 @@ Public Function OpenFile(ByVal FilePath As String, Optional ByVal ReadOnlyMode A End If OpenFile = ShellExecute(FilePath, "open") - + End Function '--------------------------------------------------------------------------------------- @@ -887,7 +887,7 @@ Public Function OpenFilePath(ByVal FolderPath As String) As Boolean Dim FolderNotFoundErrorText As String If Len(VBA.Dir(FolderPath, vbDirectory)) = 0 Then - + #If USELOCALIZATION = 1 Then FolderNotFoundErrorText = Replace(L10n.Text(FolderNotFoundErrorTextTemplate), "{FolderPath}", FolderPath) #Else @@ -898,7 +898,7 @@ Public Function OpenFilePath(ByVal FolderPath As String) As Boolean End If OpenFilePath = ShellExecute(FolderPath, "open") - + End Function Private Function ShellExecute(ByVal FilePath As String, _ @@ -917,7 +917,7 @@ Private Function ShellExecute(ByVal FilePath As String, _ DeskWin = Application.hWndAccessApp Ret = API_ShellExecuteA(DeskWin, ApiOperation, FilePath, vbNullString, vbNullString, vbNormalFocus) End If - + If Ret = SE_ERR_NOTFOUND Then #If USELOCALIZATION = 1 Then FileNotFoundErrorText = Replace(L10n.Text(FileNotFoundErrorTextTemplate), "{FilePath}", FilePath) @@ -930,16 +930,16 @@ Private Function ShellExecute(ByVal FilePath As String, _ ElseIf Ret = SE_ERR_NOASSOC Then ShellExecute = False Exit Function -' ToDo: "Öffnen mit"-Dialog verwenden: +' ToDo: "Öffnen mit"-Dialog verwenden: 'Wenn die Dateierweiterung noch nicht bekannt ist... - 'wird der "Öffnen mit..."-Dialog angezeigt. + 'wird der "Öffnen mit..."-Dialog angezeigt. ' Directory = Space$(260) ' Ret = GetSystemDirectory(Directory, Len(Directory)) ' Directory = Left$(Directory, Ret) ' Call ShellExecuteA(DeskWin, vbNullString, "RUNDLL32.EXE", "shell32.dll, OpenAs_RunDLL " & _ ' FilePath, Directory, vbNormalFocus) End If - + ShellExecute = True End Function diff --git a/source/codelib/localization/L10nDict.cls b/source/modules/L10nDict.cls similarity index 98% rename from source/codelib/localization/L10nDict.cls rename to source/modules/L10nDict.cls index 9858e10..d9eb7c6 100644 --- a/source/codelib/localization/L10nDict.cls +++ b/source/modules/L10nDict.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -77,11 +77,11 @@ Private Sub FillDict() Dim rst As DAO.Recordset Dim Key As DAO.Field Dim Msg As DAO.Field - + Set m_Dict = CreateObject("Scripting.Dictionary") - + On Error GoTo HandleErr - + Set rst = CodeDb.OpenRecordset("select KeyText, LngText from " & LngDictTableName & " where " & SqlTools.BuildCriteria("LangCode", SQL_Text, SQL_Equal, LangCode), dbOpenForwardOnly) With rst Set Key = .Fields("KeyText") @@ -94,11 +94,11 @@ On Error GoTo HandleErr rst.MoveNext Loop End With - + rst.Close - + RaiseEvent DictionaryRefreshed - + Exit Sub HandleErr: @@ -114,21 +114,21 @@ End Sub Friend Function CreateL10nDictTable() As Boolean Dim CreateTableDDL As String - + On Error GoTo HandleErr - + CreateTableDDL = "create table " & LngDictTableName & "(" & _ " LangCode varchar(2), KeyText varchar(255), LngText varchar(255)" & _ ", CONSTRAINT PK_" & LngDictTableName & " PRIMARY KEY (LangCode, KeyText)" & _ ")" - + CodeProject.Connection.Execute CreateTableDDL Application.RefreshDatabaseWindow - + CreateL10nDictTable = True - + Exit Function - + HandleErr: CreateL10nDictTable = False @@ -176,9 +176,9 @@ End Property Public Function GetUserLanguageID() As Long Dim AccApp As Object - + Set AccApp = Application - + On Error GoTo AccAppInterFaceErr GetUserLanguageID = AccApp.LanguageSettings.LanguageID(2) @@ -206,14 +206,14 @@ Public Function ControlTag(ByVal TagText As String) As String End Function Private Sub AddTextToTable(ByVal BaseText As String) - + Dim LngText As String - + LngText = BaseText If m_LangCode <> BaseLangCode Then LngText = m_LangCode & ":" & LngText End If - + With CodeDb.OpenRecordset(LngDictTableName, dbOpenTable, dbAppendOnly) .AddNew .Fields("LangCode").Value = LangCode @@ -222,13 +222,13 @@ Private Sub AddTextToTable(ByVal BaseText As String) .Update .Close End With - + End Sub Public Sub TranslateControls(ByVal ControlList As Controls) Dim ctl As Control - + For Each ctl In ControlList TranslateControl ctl Next @@ -247,11 +247,11 @@ Private Sub TranslateControl(ByVal CtlRef As Control) TextKeySeparatorString = Chr(1) TagText = CtlRef.Tag - + If Len(TagText) = 0 Then Exit Sub End If - + Pos = InStr(1, TagText, LangSeparatorChar & "LANG:") If Pos > 0 Then TagTextPrefix = Left(TagText, Pos) @@ -275,9 +275,9 @@ Private Sub TranslateControl(ByVal CtlRef As Control) End If End If End With - + SetControlText CtlRef, ControlTextKeys - + End Sub Private Function GetControlTextKeys(ByVal CtlRef As Control) As String() @@ -290,7 +290,7 @@ Private Function GetControlTextKeys(ByVal CtlRef As Control) As String() With CtlRef ControlTipText = .ControlTipText - + Select Case .ControlType Case AcControlType.acLabel CaptionText = .Caption @@ -304,12 +304,12 @@ Private Function GetControlTextKeys(ByVal CtlRef As Control) As String() StatusBarText = .StatusBarText End Select End With - + ControlTextKeys(0) = CaptionText ControlTextKeys(1) = ControlTipText ControlTextKeys(2) = StatusBarText ControlTextKeys(3) = FormatText - + GetControlTextKeys = ControlTextKeys End Function @@ -320,19 +320,19 @@ Private Sub SetControlText(ByVal CtlRef As Control, ByRef ControlTextKeys() As S If Len(ControlTextKeys(0)) > 0 Then .Caption = Text(ControlTextKeys(0)) End If - + If Len(ControlTextKeys(1)) > 0 Then .ControlTipText = Text(ControlTextKeys(1)) End If - + If Len(ControlTextKeys(2)) > 0 Then .StatusBarText = Text(ControlTextKeys(2)) End If - + If Len(ControlTextKeys(3)) > 0 Then .Format = Text(ControlTextKeys(3)) End If - + End With End Sub @@ -342,15 +342,15 @@ Public Function MsgBox(ByVal Prompt As Variant, _ Optional ByVal Title As Variant, _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant) As VbMsgBoxResult - + If Not IsMissing(Prompt) Then Prompt = Me.Text(Prompt) End If - + If Not IsMissing(Title) Then Title = Me.Text(Title) End If - + MsgBox = VBA.MsgBox(Prompt, Buttons, Title, HelpFile, Context) End Function @@ -365,11 +365,11 @@ Public Function InputBox(ByVal Prompt As Variant, _ If Not IsMissing(Prompt) Then Prompt = Me.Text(Prompt) End If - + If Not IsMissing(Title) Then Title = Me.Text(Title) End If - + InputBox = VBA.InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context) End Function diff --git a/source/codelib/localization/L10nTools.bas b/source/modules/L10nTools.bas similarity index 97% rename from source/codelib/localization/L10nTools.bas rename to source/modules/L10nTools.bas index 8c54552..b8c056e 100644 --- a/source/codelib/localization/L10nTools.bas +++ b/source/modules/L10nTools.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "L10nTools" +Attribute VB_Name = "L10nTools" '--------------------------------------------------------------------------------------- ' Package: localization.L10nTools '--------------------------------------------------------------------------------------- @@ -6,7 +6,7 @@ Attribute VB_Name = "L10nTools" ' Localization (L10n) Functions ' ' Author: -' Josef Pötzl +' Josef Pötzl ' ' Remarks: ' Use compiler constant L10nMsgBoxReplacement to overwrite MsgBox and InPutBox functions. diff --git a/source/codelib/data/odbc/OdbcHandler.cls b/source/modules/OdbcHandler.cls similarity index 95% rename from source/codelib/data/odbc/OdbcHandler.cls rename to source/modules/OdbcHandler.cls index bf11e72..d928cfe 100644 --- a/source/codelib/data/odbc/OdbcHandler.cls +++ b/source/modules/OdbcHandler.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -122,7 +122,7 @@ Public Event DbObjectDeleted(ByVal LastDbObjectName As String, ByVal Counter As ' New values can be passed on via the ByRef parameters. ' '--------------------------------------------------------------------------------------- -Public Event HookInsertIdentityReturn(ByRef InsertSQL As String, _ +Public Event HookInsertIdentityReturn(ByRef InsertSql As String, _ ByRef ActiveDb As DAO.Database, _ ByRef IdentitySelectString As String, _ ByRef ResponseMode As Long, ByRef HookResponseMessage As Variant) @@ -149,7 +149,7 @@ Public Sub Dispose() On Error Resume Next Set m_DaoDb = Nothing - + If Not m_DaoDbBE Is Nothing Then m_DaoDbBE.Close Set m_DaoDbBE = Nothing @@ -186,7 +186,7 @@ End Property '--------------------------------------------------------------------------------------- Public Property Get CurrentDb() As DAO.Database If (m_DaoDb Is Nothing) Then - 'Event auslösen, damit neue Referenz geliefert werden kann + 'Event auslösen, damit neue Referenz geliefert werden kann RaiseEvent ErrorMissingCurrentDb("OdbcHandler.CurrentDb: unavailable CurrentDb-Database", m_DaoDb) End If Set CurrentDb = m_DaoDb @@ -203,7 +203,7 @@ End Property ' Database-Referenz zum Backend ' ' Remarks -' DAO.Database wird über DBEngine.OpenDatabase("", dbDriverComplete, False, ) geöffnet. +' DAO.Database wird über DBEngine.OpenDatabase("", dbDriverComplete, False, ) geöffnet. ' '--------------------------------------------------------------------------------------- Public Property Get CurrentDbBE() As DAO.Database @@ -280,7 +280,7 @@ Public Function OpenRecordset(ByVal Source As String, _ Optional ByVal RecordsetType As DAO.RecordsetTypeEnum = dbOpenForwardOnly, _ Optional ByVal RecordsetOptions As DAO.RecordsetOptionEnum = DAO.RecordsetOptionEnum.dbSeeChanges, _ Optional ByVal LockEdit As DAO.LockTypeEnum = DAO.LockTypeEnum.dbOptimistic) As DAO.Recordset - + If (RecordsetOptions And dbSeeChanges) = 0 Then RecordsetOptions = RecordsetOptions + dbSeeChanges End If @@ -320,7 +320,7 @@ Public Function OpenRecordsetPT(ByVal Source As String, _ If (RecordsetOptions And dbSQLPassThrough) = 0 Then RecordsetOptions = RecordsetOptions + dbSQLPassThrough End If - + Set qdf = Me.CurrentDb.CreateQueryDef("") With qdf .Connect = Me.ConnectionString @@ -352,7 +352,7 @@ Public Function Execute(ByVal CommandText As String, _ Optional ByVal Options As DAO.RecordsetOptionEnum) As Long Dim db As DAO.Database - + Set db = Me.CurrentDbBE If (Options And dbSeeChanges) = 0 Then @@ -380,14 +380,14 @@ End Function Public Function ExecutePT(ByVal CommandText As String, _ Optional ByVal Options As DAO.RecordsetOptionEnum = DAO.RecordsetOptionEnum.dbSQLPassThrough _ ) As Long - + Dim db As DAO.Database Dim qdf As DAO.QueryDef If (Options And dbSQLPassThrough) = 0 Then Options = Options + dbSQLPassThrough End If - + Set db = Me.CurrentDb Set qdf = db.CreateQueryDef("") With qdf @@ -398,7 +398,7 @@ Public Function ExecutePT(ByVal CommandText As String, _ .Execute Options .Close End With - + ExecutePT = db.RecordsAffected End Function @@ -441,10 +441,10 @@ On Error GoTo HandleErr .Close End With Set rst = Nothing - + ExitHere: Exit Function - + HandleErr: If Not (rst Is Nothing) Then rst.Close @@ -495,7 +495,7 @@ On Error GoTo HandleErr ExitHere: Exit Function - + HandleErr: If Not (rst Is Nothing) Then rst.Close @@ -526,30 +526,15 @@ Public Function Lookup(ByVal Expr As String, ByVal Domain As String, _ Optional ByVal Criteria As Variant, _ Optional ByVal ValueIfNull As Variant = Null) As Variant - Dim SelectSql As String - - SelectSql = BuildSelectSql(Expr, Domain, Criteria, False) - Lookup = LookupSql(SelectSql, , ValueIfNull) - -End Function - -Private Function BuildSelectSql(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) + Dim SqlText As String - Dim SelectSql As String - - SelectSql = "SELECT " - If Distinct Then - SelectSql = SelectSql & "Distinct " - End If - SelectSql = SelectSql & Expr & " FROM (" & Domain & ")" + SqlText = "SELECT " & Expr & " FROM " & Domain If Not (VarType(Criteria) = vbError) Then If Len(Criteria) > 0 Then - SelectSql = SelectSql & " WHERE " & Criteria + SqlText = SqlText & " WHERE " & Criteria End If End If - - BuildSelectSql = SelectSql + Lookup = Me.LookupSql(SqlText, , ValueIfNull) End Function @@ -568,18 +553,8 @@ End Function ' Long ' '--------------------------------------------------------------------------------------- -Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant, _ - Optional ByVal Distinct As Boolean = False) As Long - - If Distinct Then - If Expr <> "*" Then - Domain = "(" & BuildSelectSql(Expr, Domain, Criteria, True) & ")" - Criteria = vbNullString - End If - End If - +Public Function Count(ByVal Expr As String, ByVal Domain As String, Optional ByVal Criteria As Variant) As Variant Count = Nz(Me.Lookup("Count(" & Expr & ")", Domain, Criteria), 0) - End Function '--------------------------------------------------------------------------------------- @@ -655,7 +630,7 @@ End Function ' Works for Jet only from Jet 4.0 (Access 2000), IdentityTable is only applicable for MSSQL, under MySQL the IDENT_CURRENT function does not exist. ' If HooksEnabled: event HookInsertIdentityReturn will be raised '--------------------------------------------------------------------------------------- -Public Function InsertIdentityReturn(ByVal InsertSQL As String) As Variant +Public Function InsertIdentityReturn(ByVal InsertSql As String) As Variant Dim db As DAO.Database Dim rst As DAO.Recordset @@ -665,25 +640,25 @@ Public Function InsertIdentityReturn(ByVal InsertSQL As String) As Variant Dim HookResponseMessage As Variant Set db = Me.CurrentDbBE - + If m_HooksEnabled Then - RaiseEvent HookInsertIdentityReturn(InsertSQL, db, IdentitySql, HookResponseMode, HookResponseMessage) + RaiseEvent HookInsertIdentityReturn(InsertSql, db, IdentitySql, HookResponseMode, HookResponseMessage) If HookResponseMode <> 0 Then 'Hook ermittelte bereits das Ergebnis InsertIdentityReturn = HookResponseMessage Exit Function End If End If - + On Error GoTo HandleErr - db.Execute InsertSQL, dbFailOnError + db.Execute InsertSql, dbFailOnError RecordsAffected = db.RecordsAffected - + If RecordsAffected = 0 Then - InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt + InsertIdentityReturn = Null 'es wurde kein neuer DS angefügt Exit Function End If - + If Len(IdentitySql) = 0 Then IdentitySql = "SELECT @@Identity" End If @@ -699,7 +674,7 @@ On Error GoTo HandleErr End With Set rst = Nothing Set db = Nothing - + ExitHere: Exit Function @@ -741,13 +716,13 @@ Public Sub LinkTable(ByVal SourceTableName As String, _ Dim tdf As DAO.TableDef Dim Pos As Long Dim NewConnectionString As String - + NewConnectionString = Me.ConnectionString If Len(NewConnectionString) = 0 Then Err.Raise ERRNR_NOCONFIG, _ "LinkTable", "Missing ODBC connection string!" End If - + If Len(LinkedTableName) = 0 Then LinkedTableName = SourceTableName If RemoveSchemaName Then @@ -758,7 +733,7 @@ Public Sub LinkTable(ByVal SourceTableName As String, _ End If LinkedTableName = Replace(LinkedTableName, ".", "_") End If - + Set dbs = Me.CurrentDb dbs.TableDefs.Refresh 'Check if table already exists and is linked. @@ -788,7 +763,7 @@ Public Sub LinkTable(ByVal SourceTableName As String, _ AddTableDefAttribut tdf, dbAttachSavePWD tdf.RefreshLink End If - + Set tdf = Nothing dbs.TableDefs.Refresh Set dbs = Nothing @@ -821,9 +796,9 @@ Public Function RelinkTables(Optional ByVal SavePWD As Boolean = False, _ Err.Raise ERRNR_NOCONFIG, _ "RelinkTable", "Missing ODBC connection string!" End If - + RelinkTablesWorker NewConnectionString, SavePWD, EventPeriod, RelinkedItemCnt - + RelinkTables = RelinkedItemCnt End Function @@ -837,12 +812,12 @@ Private Sub RelinkTablesWorker(ByVal NewConnectionString As String, _ Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim LastTdfName As String - + Set dbs = Me.CurrentDb dbs.TableDefs.Refresh - + For Each tdf In dbs.TableDefs - + If RelinkTableDef(tdf, NewConnectionString, SavePWD) Then RelinkedTableCounter = RelinkedTableCounter + 1 If EventPeriod > 0 Then @@ -852,9 +827,9 @@ Private Sub RelinkTablesWorker(ByVal NewConnectionString As String, _ End If End If End If - + Next tdf - + If EventPeriod > 0 Then If RelinkedTableCounter Mod EventPeriod > 0 Then RaiseEvent DbObjectRelinked(LastTdfName, RelinkedTableCounter) @@ -886,7 +861,7 @@ Public Function RelinkTable(ByVal LinkedTableName As String, _ Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim NewConnectionString As String - + NewConnectionString = Me.ConnectionString If Len(NewConnectionString) = 0 Then Err.Raise ERRNR_NOCONFIG, _ @@ -903,35 +878,35 @@ End Function Private Function RelinkTableDef(ByVal TdfRef As DAO.TableDef, _ ByVal NewConnectionString As String, _ ByVal SavePWD As String) As Boolean - + If Not IsLinkedTable(TdfRef) Then RelinkTableDef = False Exit Function End If - + With TdfRef - + If Left(.Connect, 5) <> "ODBC;" Then Exit Function - + .Connect = NewConnectionString .RefreshLink - + If SavePWD Then AddTableDefAttribut TdfRef, dbAttachSavePWD Else RemoveTableDefAttribut TdfRef, dbAttachSavePWD End If End With - + RelinkTableDef = True - + End Function '--------------------------------------------------------------------------------------- ' Function: RelinkPassThroughQueries '--------------------------------------------------------------------------------------- ' -' Alle Pass-Through-Abfragen neu verknüpfen +' Alle Pass-Through-Abfragen neu verknüpfen ' ' Parameters: ' SavePWD - Save ODBC password in linked table @@ -953,9 +928,9 @@ Public Function RelinkPassThroughQueries(Optional ByVal SavePWD As Boolean = Fal Err.Raise ERRNR_NOCONFIG, _ "RelinkTable", "Missing ODBC connection string!" End If - + RelinkPassThroughQueriesWorker NewConnectionString, SavePWD, EventPeriod, RelinkedItems - + RelinkPassThroughQueries = RelinkedItems End Function @@ -965,18 +940,18 @@ Private Sub RelinkPassThroughQueriesWorker(ByVal NewConnectionString As String, ByVal EventPeriod As Long, _ ByRef RelinkCounter As Long) 'EventPeriod = 0 ... Return is disabled - + Dim dbs As DAO.Database Dim qdf As DAO.QueryDef Dim LastQdfName As String - + Set dbs = Me.CurrentDb dbs.QueryDefs.Refresh - + If Not SavePWD Then NewConnectionString = RemovePasswordFromConnectionString(NewConnectionString) End If - + For Each qdf In dbs.QueryDefs If RelinkPassThroughQueryDef(qdf, NewConnectionString) Then RelinkCounter = RelinkCounter + 1 @@ -989,7 +964,7 @@ Private Sub RelinkPassThroughQueriesWorker(ByVal NewConnectionString As String, End If qdf.Close Next qdf - + If EventPeriod > 0 Then If RelinkCounter Mod EventPeriod > 0 Then RaiseEvent DbObjectRelinked(LastQdfName, RelinkCounter) @@ -1020,16 +995,16 @@ Public Function RelinkPassThroughQuery(ByVal QueryName As String, _ Dim NewConnectionString As String NewConnectionString = Me.ConnectionString - + If Len(NewConnectionString) = 0 Then Err.Raise ERRNR_NOCONFIG, _ "RelinkPassThroughQuery", "Missing ODBC connection string!" End If - + If Not SavePWD Then NewConnectionString = RemovePasswordFromConnectionString(NewConnectionString) End If - + Set dbs = Me.CurrentDb dbs.QueryDefs.Refresh Set qdf = dbs.QueryDefs(QueryName) @@ -1040,15 +1015,15 @@ End Function Private Function RelinkPassThroughQueryDef(ByVal QdfRef As DAO.QueryDef, _ ByVal NewConnectionString As String) As Boolean - + If Not IsPassThroughQuery(QdfRef) Then RelinkPassThroughQueryDef = False Exit Function End If - + QdfRef.Connect = NewConnectionString RelinkPassThroughQueryDef = True - + End Function '--------------------------------------------------------------------------------------- @@ -1068,7 +1043,7 @@ End Function Public Function RelinkTablesAndQueries( _ Optional ByVal SavePWD As Boolean = False, _ Optional ByVal EventPeriod As Long = 0) As Long - + Dim NewConnectionString As String Dim RelinkedCounter As Long @@ -1077,10 +1052,10 @@ Public Function RelinkTablesAndQueries( _ Err.Raise ERRNR_NOCONFIG, _ "RelinkTablesAndQueries", "Missing ODBC connection string!" End If - + 'Tables RelinkTablesWorker NewConnectionString, SavePWD, EventPeriod, RelinkedCounter - + 'Pass through queries RelinkPassThroughQueriesWorker NewConnectionString, SavePWD, EventPeriod, RelinkedCounter @@ -1105,7 +1080,7 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function DeleteOdbcTableDefs(Optional ByVal EventPeriod As Long = 0) As Long - + Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim i As Long @@ -1114,7 +1089,7 @@ Public Function DeleteOdbcTableDefs(Optional ByVal EventPeriod As Long = 0) As L Dim LastDbObjectName As String Set dbs = Me.CurrentDb - + dbs.TableDefs.Refresh TdfCount = dbs.TableDefs.Count - 1 For i = TdfCount To 0 Step -1 @@ -1123,14 +1098,14 @@ Public Function DeleteOdbcTableDefs(Optional ByVal EventPeriod As Long = 0) As L LastDbObjectName = tdf.Name dbs.TableDefs.Delete LastDbObjectName DeleteCounter = DeleteCounter + 1 - If EventPeriod > 0 Then '0 ... Rückgabe ist deaktiviert + If EventPeriod > 0 Then '0 ... Rückgabe ist deaktiviert If DeleteCounter Mod EventPeriod = 0 Then RaiseEvent DbObjectDeleted(LastDbObjectName, DeleteCounter) End If End If End If Next - + DeleteOdbcTableDefs = DeleteCounter End Function @@ -1149,17 +1124,17 @@ Private Sub RemoveTableDefAttribut(ByRef TdfRef As DAO.TableDef, ByRef Attr As T AttributesValue = TdfRef.Attributes If (AttributesValue And Attr) = Attr Then - + If (TdfRef.Attributes And dbAttachedODBC) = dbAttachedODBC Then AttributesValue = AttributesValue - dbAttachedODBC ElseIf (TdfRef.Attributes And dbAttachedTable) = dbAttachedTable Then AttributesValue = AttributesValue - dbAttachedTable End If - + 'Entfernen AttributesValue = AttributesValue - Attr TdfRef.Attributes = AttributesValue - + End If End Sub @@ -1170,14 +1145,14 @@ Private Sub AddTableDefAttribut(ByRef TdfRef As DAO.TableDef, ByRef Attr As Tabl AttributesValue = TdfRef.Attributes If (AttributesValue And Attr) = 0 Then - + If (TdfRef.Attributes And dbAttachedODBC) = dbAttachedODBC Then AttributesValue = AttributesValue Xor dbAttachedODBC ElseIf (TdfRef.Attributes And dbAttachedTable) = dbAttachedTable Then AttributesValue = AttributesValue Xor dbAttachedTable End If - - 'Ergänzen + + 'Ergänzen AttributesValue = AttributesValue Or Attr TdfRef.Attributes = AttributesValue End If @@ -1219,11 +1194,11 @@ Public Function IsPassThroughQuery(ByVal QueryToCheck As DAO.QueryDef) As Boolea End Function Private Function RemovePasswordFromConnectionString(ByVal OdbcConnectionString As String) As String - + Dim OdbcSettings() As String Dim OdbcSetting As String Dim i As Long - + OdbcSettings = Split(OdbcConnectionString, ";") For i = 0 To UBound(OdbcSettings) OdbcSetting = Trim(OdbcSettings(i)) @@ -1234,5 +1209,5 @@ Private Function RemovePasswordFromConnectionString(ByVal OdbcConnectionString A End If Next RemovePasswordFromConnectionString = Join(OdbcSettings, ";") - + End Function diff --git a/source/OdbcHandlerEventBridge.cls b/source/modules/OdbcHandlerEventBridge.cls similarity index 97% rename from source/OdbcHandlerEventBridge.cls rename to source/modules/OdbcHandlerEventBridge.cls index efcd25d..05324d5 100644 --- a/source/OdbcHandlerEventBridge.cls +++ b/source/modules/OdbcHandlerEventBridge.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END diff --git a/source/codelib/misc/QpcStopwatch.cls b/source/modules/QpcStopwatch.cls similarity index 98% rename from source/codelib/misc/QpcStopwatch.cls rename to source/modules/QpcStopwatch.cls index ea0fafa..693194d 100644 --- a/source/codelib/misc/QpcStopwatch.cls +++ b/source/modules/QpcStopwatch.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -44,7 +44,7 @@ Private p_Timer_Start As Currency 'Win API Private Declare PtrSafe Function QueryPerformanceCounter Lib "kernel32" (QPC As Currency) As Boolean Private Declare PtrSafe Function QueryPerformanceFrequency Lib "kernel32" (QPF As Currency) As Boolean - + Private Sub Class_Initialize() p_Timer_Start = 0 p_Timer = 0 @@ -156,12 +156,12 @@ Public Function TimeString(Optional FormatString As String = "hh:nn:ss", _ Dim FormattedTime As String TimeSec = VBA.Round(Me.TimeMSec / 1000, SecDigits) - + FormattedTime = Format(TimeSerial(0, 0, Fix(TimeSec)), FormatString) If SecDigits > 0 Then FormattedTime = FormattedTime & Format(TimeSec - Fix(TimeSec), "." & String(SecDigits, "0")) End If - + TimeString = FormattedTime - + End Function diff --git a/source/codelib/data/SqlTools.cls b/source/modules/SqlTools.cls similarity index 97% rename from source/codelib/data/SqlTools.cls rename to source/modules/SqlTools.cls index 14fb6ac..6793c2f 100644 --- a/source/codelib/data/SqlTools.cls +++ b/source/modules/SqlTools.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -50,7 +50,7 @@ Private Const SQL_DEFAULT_BOOLTRUESTRING As String = "" ' "" => SqlBooleanTrueSt ' Enter value to disable (e.g. "True or 1") Private Const SQL_DEFAULT_WILDCARD As String = "%" ' % = default value, ' set required variations via SqlWildCardString - + Private Const SqlAndConcatString As String = " And " Private Const SqlOrConcatString As String = " Or " @@ -136,7 +136,7 @@ End Function Public Function NewInstance(ByVal NewSqlDateFormat As String, _ ByVal NewSqlBooleanTrueString As String, _ ByVal NewSqlWildCardString As String) As SqlTools - + Dim NewInst As SqlTools Set NewInst = New SqlTools @@ -265,31 +265,31 @@ Public Function BuildCriteria(ByVal FieldName As String, ByVal FieldDataType As Dim FilterValueString As String Dim OperatorString As String Dim Criteria As String - + If (RelationalOperator And [_IgnoreAll]) = [_IgnoreAll] Then Exit Function End If - + If IsMissing(IgnoreValue) Then If Not DisableIgnoreNullValue Then DisableIgnoreNullValue = True End If IgnoreValue = Null End If - + ' Special cases (part 1): If Not IsArray(FilterValue) Then - + If FilterValue = "{NULL}" Or FilterValue = "{LEER}" Or FilterValue = "{EMPTY}" Then FilterValue = Null DisableIgnoreNullValue = True End If - + If FilterValue2 = "{NULL}" Or FilterValue2 = "{LEER}" Or FilterValue2 = "{EMPTY}" Then FilterValue2 = Null DisableIgnoreNullValue = True End If - + If (RelationalOperator And SQL_AllowSqlDirect) = SQL_AllowSqlDirect Then If FilterValue Like "{*@*}" Then ' Idee von Ulrich: Anwender schreibt SQL-Ausdruck Criteria = Replace(Mid(FilterValue, 2, Len(FilterValue) - 2), "@", FieldName) @@ -300,42 +300,42 @@ Public Function BuildCriteria(ByVal FieldName As String, ByVal FieldDataType As Exit Function End If End If - + End If - + If NullFilterOrEmptyFilter(FieldName, FieldDataType, RelationalOperator, Nz(FilterValue, FilterValue2), IgnoreValue, Criteria, DisableIgnoreNullValue) Then BuildCriteria = Criteria Exit Function End If - + If (RelationalOperator And SQL_SplitValueToArray) = SQL_SplitValueToArray Then If InStr(1, FilterValue, ";") > 0 Then FilterValue = Split(CharTrim(FilterValue, ";"), ";") End If RelationalOperator = RelationalOperator Xor SQL_SplitValueToArray End If - + 'Special cases (part 2): If Not IsArray(FilterValue) Then - + If FieldDataType = SQL_Numeric Then - + If FilterValue = "*" And RelationalOperator = SQL_Equal Then BuildCriteria = BuildCriteria(FieldName, FieldDataType, SQL_Not, Null, Null, 0, True) Exit Function End If - + If IsNull(FilterValue2) Then If TryBuildNumericSpecialCasesCriteria(FieldName, FieldDataType, RelationalOperator, FilterValue, IgnoreValue, DisableIgnoreNullValue, Criteria) Then BuildCriteria = Criteria Exit Function End If End If - + ConfigNumericSpecials RelationalOperator, FilterValue, FilterValue2 - + End If - + End If If TryBuildInCriteria(FieldName, FieldDataType, RelationalOperator, FilterValue, IgnoreValue, Criteria) Then @@ -386,7 +386,7 @@ Public Function BuildCriteria(ByVal FieldName As String, ByVal FieldDataType As BuildCriteria = FieldName & OperatorString & FilterValueString Exit Function End If - + OperatorString = GetRelationalOperatorString(RelationalOperator) Criteria = FieldName & " " & OperatorString & " " & FilterValueString @@ -419,7 +419,7 @@ End Function '--------------------------------------------------------------------------------------- Public Function ConvertToSqlText(ByVal Value As Variant, _ ByVal FieldDataType As SqlFieldDataType) As String - + Select Case FieldDataType Case SqlFieldDataType.SQL_Text ConvertToSqlText = TextToSqlText(Value) @@ -432,7 +432,7 @@ Public Function ConvertToSqlText(ByVal Value As Variant, _ Case Else Err.Raise vbObjectError, "SqlTools.ConvertToSqlText", "FieldDataType '" & FieldDataType & "' not supported" End Select - + End Function '--------------------------------------------------------------------------------------- @@ -457,19 +457,19 @@ End Function Public Function TextToSqlText(ByVal Value As Variant, _ Optional ByVal Delimiter As String = SQL_DEFAULT_TEXTDELIMITER, _ Optional ByVal WithoutLeftRightDelim As Boolean = False) As String - + Dim Result As String - + If IsNull(Value) Then TextToSqlText = ResultTextIfNull Exit Function End If - + Result = Replace$(Value, Delimiter, Delimiter & Delimiter) If Not WithoutLeftRightDelim Then Result = Delimiter & Result & Delimiter End If - + TextToSqlText = Result End Function @@ -495,7 +495,7 @@ Public Function DateToSqlText(ByVal Value As Variant, _ DateToSqlText = ResultTextIfNull Exit Function End If - + If Not IsDate(Value) Then Err.Raise vbObjectError, "SqlTools.DateToSqlText", "Der Wert '" & Value & "' vom Parameter Value ist kein Datumswert!" End If @@ -506,7 +506,7 @@ Public Function DateToSqlText(ByVal Value As Variant, _ Err.Raise SqlToolsErrorNumbers.ERRNR_NOCONFIG, "DateToSqlText", "date format is not defined" End If End If - + DateToSqlText = VBA.Format$(Value, FormatString) End Function @@ -536,26 +536,24 @@ Public Function NumberToSqlText(ByVal Value As Variant) As String NumberToSqlText = ResultTextIfNull Exit Function End If - + Value = ConvertToNumeric(Value) - + Result = Trim$(Str$(Value)) If Left(Result, 1) = "." Then Result = "0" & Result End If - + NumberToSqlText = Result - + End Function Friend Function ConvertToNumeric(ByVal Value As Variant) As Variant - + Const CheckNumber As Double = 1.23 - + Dim CheckText As String - Dim DecimalSeparatorToReplace As String - Dim NewDecimalSeparator As String - + If IsNull(Value) Then ConvertToNumeric = Null Exit Function @@ -563,25 +561,26 @@ Friend Function ConvertToNumeric(ByVal Value As Variant) As Variant ConvertToNumeric = Null Exit Function End If - + CheckText = CStr(CheckNumber) If InStr(1, CheckText, ",") > 0 Then - DecimalSeparatorToReplace = "." - NewDecimalSeparator = "," + If InStr(1, Value, ".") > 0 Then + Value = Replace(Value, ".", ",") + Do While Value Like "*,*,*" + Value = Replace(Value, ",", vbNullString, 1, 1) + Loop + End If Else - DecimalSeparatorToReplace = "," - NewDecimalSeparator = "." - End If - - If InStr(1, Value, DecimalSeparatorToReplace) > 0 Then - Value = Replace(Value, DecimalSeparatorToReplace, NewDecimalSeparator) - Do While Value Like "*" & NewDecimalSeparator & "*" & NewDecimalSeparator & "*" - Value = Replace(Value, NewDecimalSeparator, vbNullString, 1, 1) - Loop - End If - + If InStr(1, Value, ",") > 0 Then + Value = Replace(Value, ",", ".") + Do While Value Like "*.*.*" + Value = Replace(Value, ".", vbNullString, 1, 1) + Loop + End If + End If + ConvertToNumeric = CDbl(Value) - + End Function '--------------------------------------------------------------------------------------- @@ -617,7 +616,7 @@ Public Function BooleanToSqlText(ByVal Value As Variant, _ Else BooleanToSqlText = "0" End If - + End Function Private Function ConfigNumericSpecials( _ @@ -632,7 +631,7 @@ Private Function ConfigNumericSpecials( _ RelationalOperator = RelationalOperator Or SQL_LessThan FilterValue = Mid(FilterValue, 2) End If - + If Left(FilterValue, 1) = ">" Then If ((RelationalOperator And SQL_Equal) = SQL_Equal) Then RelationalOperator = RelationalOperator - SQL_Equal @@ -645,7 +644,7 @@ Private Function ConfigNumericSpecials( _ RelationalOperator = RelationalOperator Or SQL_Equal FilterValue = Mid(FilterValue, 2) End If - + If Right(FilterValue, 1) = "*" Then RelationalOperator = RelationalOperator Or SQL_Add_WildCardSuffix ElseIf Right(FilterValue2, 1) = "*" Then @@ -655,7 +654,7 @@ Private Function ConfigNumericSpecials( _ End Function Private Function GetNextDigitNumber(ByVal Z As Variant, Optional AddToAbsoluteValue As Boolean = False) As Double - + Dim TestString As String Dim KommaPos As Long Dim digits As Long @@ -663,18 +662,18 @@ Private Function GetNextDigitNumber(ByVal Z As Variant, Optional AddToAbsoluteVa Const AdditionalDecDigit As String = "1" Const AdditionalDecDigitKorr As Double = 0.1 - + TestString = Trim(CStr(ConvertToNumeric(Replace(CStr(Z), "*", AdditionalDecDigit)))) - + If Left(TestString, 1) = "-" And (Not AddToAbsoluteValue) Then GetNextDigitNumber = CDbl(Replace(CStr(Z), "*", vbNullString)) Exit Function End If - + If Left(TestString, 1) = "-" Then IsNegativ = True End If - + KommaPos = InStrRev(TestString, DecimalMarker) If KommaPos = 0 Then ' next integer If AddToAbsoluteValue And IsNegativ Then @@ -684,31 +683,31 @@ Private Function GetNextDigitNumber(ByVal Z As Variant, Optional AddToAbsoluteVa End If Exit Function End If - + digits = Len(TestString) - KommaPos - 1 - + If Left(TestString, 1) = "-" Then IsNegativ = True End If - + If AddToAbsoluteValue And IsNegativ Then GetNextDigitNumber = CDbl(TestString) + AdditionalDecDigitKorr / 10 ^ digits - AdditionalDecDigitKorr / 10 ^ (digits - 1) Else GetNextDigitNumber = CDbl(TestString) + (1 - AdditionalDecDigitKorr) / 10 ^ digits End If - + End Function Private Property Get DecimalMarker() As String Static DecChar As String Dim X As String - + If Len(DecChar) = 0 Then X = Trim(CStr(1.2)) DecChar = Mid(X, 2, 1) End If - + DecimalMarker = DecChar End Property @@ -716,17 +715,17 @@ End Property Private Function CharTrim(ByVal ValueToTrim As String, ByVal TrimChar As String) As String Dim TrimString As String - + TrimString = " " & TrimChar Do While InStr(1, ValueToTrim, TrimString) ValueToTrim = Replace(ValueToTrim, TrimString, TrimChar) Loop - + TrimString = TrimChar & " " Do While InStr(1, ValueToTrim, TrimString) ValueToTrim = Replace(ValueToTrim, TrimString, TrimChar) Loop - + CharTrim = ValueToTrim End Function @@ -735,7 +734,7 @@ Friend Function GetRelationalOperatorString(ByRef RelationalOperator As SqlRelat Dim OperatorString As String Dim op As SqlRelationalOperators - + If (RelationalOperator And SQL_In) = SQL_In Then OperatorString = OperatorString & "In" If (RelationalOperator And SQL_Not) = SQL_Not Then @@ -744,14 +743,14 @@ Friend Function GetRelationalOperatorString(ByRef RelationalOperator As SqlRelat GetRelationalOperatorString = OperatorString Exit Function End If - + If (RelationalOperator And SQL_Not) = SQL_Not Then - + op = RelationalOperator Xor SQL_Not - - If op = SqlRelationalOperators.SQL_Equal Then ' => "=" zu "<>" .. null berücksichtigen? + + If op = SqlRelationalOperators.SQL_Equal Then ' => "=" zu "<>" .. null berücksichtigen? RelationalOperator = SQL_LessThan + SQL_GreaterThan - ElseIf op = SQL_GreaterThan + SQL_LessThan Then ' => "<>" zu "=" .. null berücksichtigen? + ElseIf op = SQL_GreaterThan + SQL_LessThan Then ' => "<>" zu "=" .. null berücksichtigen? RelationalOperator = SQL_Equal Else RelationalOperator = RelationalOperator Xor SQL_Not @@ -774,7 +773,7 @@ Friend Function GetRelationalOperatorString(ByRef RelationalOperator As SqlRelat If (RelationalOperator And SQL_LessThan) = SQL_LessThan Then OperatorString = OperatorString & "<" End If - + If (RelationalOperator And SQL_GreaterThan) = SQL_GreaterThan Then OperatorString = OperatorString & ">" End If @@ -861,11 +860,11 @@ Private Function TryBuildNumericSpecialCasesCriteria(ByRef FieldName As String, Dim CriteriaBuild As Boolean Dim TempArr() As String - + Const FilterValue2 As Variant = Null FilterValue = Trim(FilterValue) - + If FilterValue Like "[0-9]*..*[0-9]*" Or FilterValue Like "[+-][0-9]*..*[0-9]*" Then TempArr = Split(FilterValue, "..") Criteria = BuildCriteria(FieldName, FieldDataType, SQL_Between, Trim(TempArr(0)), Trim(TempArr(1)), IgnoreValue, DisableIgnoreNullValue) @@ -879,7 +878,7 @@ Private Function TryBuildNumericSpecialCasesCriteria(ByRef FieldName As String, FilterValue = Replace(FilterValue, "--", "-{M}") FilterValue = Replace(FilterValue, "-", "..") FilterValue = Replace(FilterValue, "{M}", "-") - + TempArr = Split(FilterValue, "..") Criteria = BuildCriteria(FieldName, FieldDataType, SQL_Between, Trim(TempArr(0)), Trim(TempArr(1)), IgnoreValue, DisableIgnoreNullValue) CriteriaBuild = True @@ -889,7 +888,7 @@ Private Function TryBuildNumericSpecialCasesCriteria(ByRef FieldName As String, CriteriaBuild = True End If End If - + TryBuildNumericSpecialCasesCriteria = CriteriaBuild End Function @@ -901,9 +900,9 @@ Private Function TryBuildArrayCriteria(ByRef FieldName As String, ByVal FieldDat ByRef Criteria As String) As Boolean Dim itm As Variant Dim ItmCriteria As String - + Dim arrFilterValue() As Variant - + If Not IsArray(FilterValue) Then Exit Function End If @@ -958,7 +957,7 @@ Private Function TryBuildInCriteria(ByRef FieldName As String, ByVal FieldDataTy End If If Len(FilterValueString) > 0 Then - + If RemoveNullFromInValueString(FilterValueString) Then Criteria = FieldName & " Is Null" If Len(FilterValueString) > 0 Then @@ -967,7 +966,7 @@ Private Function TryBuildInCriteria(ByRef FieldName As String, ByVal FieldDataTy Else Criteria = FieldName & OperatorString & "(" & FilterValueString & ")" End If - + End If TryBuildInCriteria = True @@ -980,15 +979,15 @@ Private Function TryBuildBetweenCriteria(ByRef FieldName As String, ByVal FieldD ByRef FilterValue2 As Variant, _ ByRef IgnoreValue As Variant, _ ByRef Criteria As String) As Boolean - + Dim Criteria1 As String Dim Criteria2 As String - + If (RelationalOperator And SQL_Between) = False Then TryBuildBetweenCriteria = False Exit Function End If - + If (RelationalOperator And SQL_Not) = SQL_Not Then 'Reverse condition Criteria1 = BuildCriteria(FieldName, FieldDataType, SQL_LessThan, FilterValue, , IgnoreValue, False) Criteria2 = BuildCriteria(FieldName, FieldDataType, SQL_GreaterThan, FilterValue2, , IgnoreValue, False) @@ -996,7 +995,7 @@ Private Function TryBuildBetweenCriteria(ByRef FieldName As String, ByVal FieldD TryBuildBetweenCriteria = True Exit Function End If - + If FieldDataType = SQL_Numeric Then If FilterValue2 Like "<=*" Then 'cut away FilterValue2 = Mid(FilterValue2, 3) @@ -1049,7 +1048,7 @@ Private Function NullFilterOrEmptyFilter(ByVal FieldName As String, ByVal FieldD ByVal Value As Variant, ByVal IgnoreValue As Variant, _ ByRef NullFilterString As String, _ Optional ByVal DisableIgnoreNullValue As Boolean = False) As Boolean - + If IsObject(IgnoreValue) Then If IgnoreValue Is Nothing Then If IsNull(Value) Then @@ -1065,7 +1064,7 @@ Private Function NullFilterOrEmptyFilter(ByVal FieldName As String, ByVal FieldD Exit Function End If End If - + If IsNull(Value) Then If DisableIgnoreNullValue Then NullFilterString = FieldName & " Is Null" @@ -1095,7 +1094,7 @@ On Error Resume Next Else NullFilterOrEmptyFilter = ValuesAreEqual(FieldDataType, Value, IgnoreValue) End If - + If (RelationalOperator And SQL_Not) = SQL_Not Then NullFilterString = Replace(NullFilterString, "Is Null", "Is Not Null") End If @@ -1103,7 +1102,7 @@ On Error Resume Next End Function Private Function ValuesAreEqual(ByVal FieldDataType As SqlFieldDataType, ByVal Value As Variant, ByVal Value2 As Variant) As Boolean - + If IsArray(Value2) Then ValuesAreEqual = ArrayContains(FieldDataType, Value2, Value) ElseIf IsNull(Value) Then @@ -1128,7 +1127,7 @@ Private Function ValuesAreEqual(ByVal FieldDataType As SqlFieldDataType, ByVal V End Function Private Function ArrayContains(ByVal FieldDataType As SqlFieldDataType, ByVal ArrayToCheck As Variant, ByVal SearchValue As Variant) As Boolean - + Dim i As Long If IsNull(SearchValue) Then @@ -1148,7 +1147,7 @@ Private Function ArrayContains(ByVal FieldDataType As SqlFieldDataType, ByVal Ar End Function Private Function ArrayContainsNull(ByVal ArrayToCheck As Variant) As Boolean - + Dim i As Long For i = LBound(ArrayToCheck) To UBound(ArrayToCheck) @@ -1164,7 +1163,7 @@ End Function Private Function GetValueArrayString(ByVal Value As Variant, ByVal FieldDataType As SqlFieldDataType, _ ByVal Delimiter As String, ByVal IgnoreValue As Variant) As String - + Dim i As Long Dim s As String @@ -1193,22 +1192,22 @@ Private Function RemoveNullFromInValueString(ByRef ValueString As String) As Boo Const NullCheckString As String = ",Null," Dim TestString As String - + TestString = "," & ValueString & "," If Not (InStr(1, TestString, NullCheckString) > 0) Then RemoveNullFromInValueString = False Exit Function End If - + TestString = Replace(TestString, NullCheckString, ",") - + If Len(TestString) > 1 Then ValueString = Mid(TestString, 2, Len(TestString) - 2) Else ValueString = vbNullString End If - + RemoveNullFromInValueString = True End Function diff --git a/source/codelib/text/StringTools.bas b/source/modules/StringTools.bas similarity index 93% rename from source/codelib/text/StringTools.bas rename to source/modules/StringTools.bas index 3255050..f7a88f7 100644 --- a/source/codelib/text/StringTools.bas +++ b/source/modules/StringTools.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "StringTools" +Attribute VB_Name = "StringTools" Attribute VB_Description = "String-Hilfsfunktionen" '--------------------------------------------------------------------------------------- ' Package: text.StringTools @@ -9,10 +9,6 @@ Attribute VB_Description = "String-Hilfsfunktionen" ' Author: ' Josef Poetzl, Sten Schmidt ' -' Remarks: -' Use DisableReplaceVbaStringFunctions = 1 in conditional compilation arguments (in vbe project properties) -' to disable replacement of VBA.Format function -' '--------------------------------------------------------------------------------------- '--------------------------------------------------------------------------------------- @@ -59,22 +55,22 @@ End Enum ' '--------------------------------------------------------------------------------------- Public Function IsNullOrEmpty(ByVal ValueToTest As Variant, Optional ByVal IgnoreSpaces As Boolean = False) As Boolean - + Dim TempValue As String - + If IsNull(ValueToTest) Then IsNullOrEmpty = True Exit Function End If - + TempValue = CStr(ValueToTest) - + If IgnoreSpaces Then TempValue = Trim$(TempValue) End If - + IsNullOrEmpty = (Len(TempValue) = 0) - + End Function '--------------------------------------------------------------------------------------- @@ -96,17 +92,17 @@ Public Function FormatText(ByVal FormatString As String, ParamArray Args() As Va Dim Arg As Variant Dim Temp As String Dim i As Long - + #If USELOCALIZATION = 1 Then FormatString = L10n.Text(FormatString) #End If - + Temp = FormatString For Each Arg In Args Temp = Replace(Temp, "{" & i & "}", CStr(Arg)) i = i + 1 Next - + FormatText = Temp End Function @@ -128,28 +124,20 @@ End Function ' String ' '--------------------------------------------------------------------------------------- -#If DisableReplaceVbaStringFunctions = 0 Then Public Function Format(ByVal Expression As Variant, Optional ByVal FormatString As Variant, _ Optional ByVal FirstDayOfWeek As VbDayOfWeek = vbSunday, _ Optional ByVal FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1) As String - Format = FormatX(Expression, FormatString, FirstDayOfWeek, FirstWeekOfYear) -End Function -#End If - -Public Function FormatX(ByVal Expression As Variant, Optional ByVal FormatString As Variant, _ - Optional ByVal FirstDayOfWeek As VbDayOfWeek = vbSunday, _ - Optional ByVal FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1) As String Dim Hours As Long - + If Not IsDate(Expression) Then - If IsNumeric(Expression) Then ' falls Zeitberechnung übergeben wird, ohne auf CDate zu konvertieren + If IsNumeric(Expression) Then ' falls Zeitberechnung übergeben wird, ohne auf CDate zu konvertieren If InStr(1, Replace(FormatString, "[hh]", "[h]"), "[h]") > 0 Then Expression = CDate(Expression) End If End If End If - + If IsDate(Expression) Then If InStr(1, FormatString, "[h", vbTextCompare) > 0 Then Hours = Fix(Round(CDate(Expression) * 24, 1)) @@ -162,8 +150,8 @@ Public Function FormatX(ByVal Expression As Variant, Optional ByVal FormatString End If End If End If - - FormatX = VBA.Format$(Expression, FormatString, FirstDayOfWeek, FirstWeekOfYear) + + Format = VBA.Format$(Expression, FormatString, FirstDayOfWeek, FirstWeekOfYear) End Function @@ -320,7 +308,7 @@ End Function ' '--------------------------------------------------------------------------------------- Public Function Trim(ByVal Value As String, Optional ByVal TrimType As TrimOption = TrimOption.TrimBoth) As String - + Select Case TrimType Case TrimOption.TrimBoth Trim = VBA.Trim$(Value) @@ -335,7 +323,7 @@ Public Function Trim(ByVal Value As String, Optional ByVal TrimType As TrimOptio Trim = Value Exit Function End Select - + End Function '--------------------------------------------------------------------------------------- @@ -402,7 +390,7 @@ Public Function Replicate(ByVal Value As String, ByVal Number As Long) As String Dim ValueLen As Long Dim TempString As String Dim i As Long - + If Number = 0 Then Replicate = vbNullString Exit Function @@ -410,9 +398,9 @@ Public Function Replicate(ByVal Value As String, ByVal Number As Long) As String Replicate = Value Exit Function End If - + ValueLen = Len(Value) - + If ValueLen = 0 Then Replicate = vbNullString Exit Function @@ -420,13 +408,13 @@ Public Function Replicate(ByVal Value As String, ByVal Number As Long) As String Replicate = String$(Number, Value) Exit Function End If - + TempString = String$(Number * ValueLen, Chr(0)) - + For i = 1 To Number Mid$(TempString, (i - 1) * ValueLen + 1, ValueLen) = Value Next - + Replicate = TempString - + End Function diff --git a/source/codelib/_codelib/addins/shared/VbeTools.cls b/source/modules/VbeTools.cls similarity index 99% rename from source/codelib/_codelib/addins/shared/VbeTools.cls rename to source/modules/VbeTools.cls index 477a780..2e8971b 100644 --- a/source/codelib/_codelib/addins/shared/VbeTools.cls +++ b/source/modules/VbeTools.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -82,7 +82,7 @@ Friend Property Get FindVbProject(ByVal FilePath As String) As Object End If Next End If - + Set FindVbProject = Proj End Property @@ -138,7 +138,7 @@ Public Function CodeModuleExists(ByVal CodeModulName As String, Optional VbProje If VbProjectToScan Is Nothing Then Set VbProjectToScan = CurrentVbProject End If - + Set VbcCol = VbProjectToScan.VBComponents For Each vbc In VbcCol If vbc.Name = CodeModulName Then @@ -146,5 +146,5 @@ Public Function CodeModuleExists(ByVal CodeModulName As String, Optional VbProje Exit For End If Next - + End Function diff --git a/source/codelib/api/winapi/WinApiFileInfo.cls b/source/modules/WinApiFileInfo.cls similarity index 99% rename from source/codelib/api/winapi/WinApiFileInfo.cls rename to source/modules/WinApiFileInfo.cls index 36a9c7b..9f597fd 100644 --- a/source/codelib/api/winapi/WinApiFileInfo.cls +++ b/source/modules/WinApiFileInfo.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -141,38 +141,38 @@ Private Function GetVersion(ByVal FilePath As String, _ GetVersion = False Exit Function End If - + ReDim BufferString(Size) Ret = GetFileVersionInfo(FilePath, 0&, Size, BufferString(0)) If Ret = 0 Then GetVersion = False Exit Function End If - + Ret = VerQueryValue(BufferString(0), "\", VerPointer, VerBufLen) If Ret = 0 Then GetVersion = False Exit Function End If - + Call MoveMemory(FileInfo, VerPointer, Len(FileInfo)) - + With FileInfo - + GetFileInfo.FileVersion = _ Trim$(Str$((.dwFileVersionMS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwFileVersionMS And &HFFFF&)) & "." & _ Trim$(Str$((.dwFileVersionLS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwFileVersionLS And &HFFFF&)) - + GetFileInfo.ProductVersion = _ Trim$(Str$((.dwProductVersionMS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwProductVersionMS And &HFFFF&)) & "." & _ Trim$(Str$((.dwProductVersionLS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwProductVersionLS And &HFFFF&)) - + End With - + GetVersion = True End Function diff --git a/source/codelib/api/winapi/WinApiLayoutTools.cls b/source/modules/WinApiLayoutTools.cls similarity index 99% rename from source/codelib/api/winapi/WinApiLayoutTools.cls rename to source/modules/WinApiLayoutTools.cls index ef80de9..3647fdb 100644 --- a/source/codelib/api/winapi/WinApiLayoutTools.cls +++ b/source/modules/WinApiLayoutTools.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -110,9 +110,9 @@ Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal DC As Long, ByVal Inde ' '--------------------------------------------------------------------------------------- Public Sub SetBackColor(ByVal Hwnd As LongPtr, ByVal Color As Long) - + Dim NewBrush As LongPtr - + 'Create Brush NewBrush = CreateSolidBrush(Color) 'Assign Brush diff --git a/source/codelib/api/winapi/WinApiShortcutMenu.cls b/source/modules/WinApiShortcutMenu.cls similarity index 97% rename from source/codelib/api/winapi/WinApiShortcutMenu.cls rename to source/modules/WinApiShortcutMenu.cls index c3cd540..9aa31a8 100644 --- a/source/codelib/api/winapi/WinApiShortcutMenu.cls +++ b/source/modules/WinApiShortcutMenu.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -20,7 +20,7 @@ Attribute VB_Exposed = False ' ' Remarks: '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -' | Adapted variant from API example by Jörg Ostendorp of AEK10 +' | Adapted variant from API example by Jörg Ostendorp of AEK10 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' '--------------------------------------------------------------------------------------- @@ -132,14 +132,14 @@ Private Declare PtrSafe Function GetWindowRect _ ByVal Hwnd As LongPtr, _ ByRef lpRect As RECT _ ) As LongPtr - + Private Declare PtrSafe Function SetMenuDefaultItem _ Lib "user32" ( _ ByVal hMenu As LongPtr, _ ByVal uItem As LongPtr, _ ByVal fByPos As LongPtr _ ) As LongPtr - + #Else Private m_Helper As Long 'Auxiliary window handle @@ -223,7 +223,7 @@ Private Declare Function GetWindowRect _ ByVal Hwnd As Long, _ ByRef lpRect As RECT _ ) As Long - + Private Declare Function SetMenuDefaultItem _ Lib "user32" ( _ ByVal hMenu As Long, _ @@ -232,7 +232,7 @@ Private Declare Function SetMenuDefaultItem _ ) As Long #End If - + 'Message Private Const WM_COMMAND As Long = &H111 Private Const WM_MOUSELEAVE As Long = &H2A3 @@ -316,7 +316,7 @@ Public Property Get MenuControl() As Access.Control End Property Public Property Set MenuControl(ByRef MnuCtl As Access.Control) - + #If VBA7 Then Dim lngSectionHwnd As LongPtr #Else @@ -325,7 +325,7 @@ Public Property Set MenuControl(ByRef MnuCtl As Access.Control) Dim ParentObj As Object Set m_MenuControl = MnuCtl - + Set ParentObj = m_MenuControl.Parent If TypeOf ParentObj Is Access.Page Then Set ParentObj = ParentObj.Parent.Parent @@ -333,23 +333,23 @@ Public Property Set MenuControl(ByRef MnuCtl As Access.Control) If m_AccessForm Is Nothing Then Set m_AccessForm = ParentObj End If - + Select Case m_Section Case 0 'Detailbereich lngSectionHwnd = WindowTools.GetDetailSection(ParentObj.Hwnd) Case 1 'Kopf lngSectionHwnd = WindowTools.GetHeaderSection(ParentObj.Hwnd) - Case 2 ' Fuß + Case 2 ' Fuß lngSectionHwnd = WindowTools.GetFooterSection(ParentObj.Hwnd) Case Else lngSectionHwnd = WindowTools.GetDetailSection(ParentObj.Hwnd) End Select Set ParentObj = Nothing - + 'DoCmd.Restore '??? wozu ??? 'Hilfsfenster am Ursprung des Detailbereichs erstellen zur Positionsbestimmung 'wenn das Formular gescrollt wird - + m_Helper = CreateWindowEx(0, _ "Static", _ "Helper", _ @@ -357,9 +357,9 @@ Public Property Set MenuControl(ByRef MnuCtl As Access.Control) 0, 0, 0, 0, _ lngSectionHwnd, _ 0, 0, 0) - 'Wenn die Buttons nicht im Detailbereich sondern im Header oder Footer eingefügt werden, + 'Wenn die Buttons nicht im Detailbereich sondern im Header oder Footer eingefügt werden, 'kann auf das Hilsfenter verzichtet werden. Da diese Bereiche nicht gescrollt werden - 'können, können Sie auch direkt zur Positionsbestimmung des Kontextmenüs herangezogen + 'können, können Sie auch direkt zur Positionsbestimmung des Kontextmenüs herangezogen 'werden ' => ??? wie ? @@ -390,10 +390,10 @@ Public Sub AddMenuItem(ByVal MenuItemNumber As Long, ByVal ItemText As String, _ Optional ByVal ItemType As MenuItemStyle = MF_STRING, _ Optional ByVal SubMenu As Long = 0, _ Optional ByVal DefaultItem As Boolean = False) - + m_ItemCnt = m_ItemCnt + 1 ReDim Preserve m_MenuItems(m_ItemCnt) - + With m_MenuItems(m_ItemCnt) .ItemNumber = MenuItemNumber .ItemText = ItemText @@ -408,7 +408,7 @@ End Sub ' Function: OpenMenu '--------------------------------------------------------------------------------------- ' -' Öffnet das Popup-Menü +' Öffnet das Popup-Menü ' ' Parameters: ' X - desired X position ... can be omitted if Control was specified @@ -436,19 +436,19 @@ Public Function OpenMenu(Optional ByVal X As Single = 0, Optional ByVal Y As Sin Dim ButtonTop As Long Dim XPos As Long Dim YPos As Long - + Dim ParentObj As Object Dim AccFormRect As RECT 'Otherwise, nothing is displayed when ENTER is pressed: DoEvents - + 'Create empty menu MenuHwnd = CreatePopupMenu - + 'Add entries Dim i As Long - + For i = 1 To m_ItemCnt With m_MenuItems(i) If .SubMenu > 0 Then @@ -464,17 +464,17 @@ Public Function OpenMenu(Optional ByVal X As Single = 0, Optional ByVal Y As Sin Else AppendMenu MenuHwnd, .ItemType, .ItemNumber, .ItemText End If - + If .DefaultItem Then SetMenuDefaultItem MenuHwnd, .ItemNumber - 1, &H400& - + End With - + Next i 'Determine position '- Auxiliary window (~section window) absolute GetWindowRect m_Helper, RcHelper - + If m_MenuControl Is Nothing Then GetWindowRect m_AccessForm.Hwnd, AccFormRect ButtonLeft = LayoutTools.GetPixelFromTwips(X) + AccFormRect.Left @@ -487,9 +487,9 @@ Public Function OpenMenu(Optional ByVal X As Single = 0, Optional ByVal Y As Sin '- calc with each other XPos = RcHelper.Left + ButtonLeft - 1 YPos = RcHelper.Top + ButtonTop - + 'Show menu - + If m_MenuControl Is Nothing Then Set ParentObj = m_AccessForm Else @@ -498,25 +498,25 @@ Public Function OpenMenu(Optional ByVal X As Single = 0, Optional ByVal Y As Sin Set ParentObj = ParentObj.Parent.Parent End If End If - + TrackPopupMenu MenuHwnd, TPM_BOTTOMALIGN, XPos, YPos, _ ByVal 0&, ParentObj.Hwnd, ByVal 0& - + 'Message-Loop (Attention: for normal forms Application.hWndAccessApp, for POPUPS Form.Hwnd) - + If m_AccessForm.PopUp = True Then Hwnd = m_AccessForm.Hwnd Else Hwnd = Application.hWndAccessApp End If - + Dim RepeatGetMessage As Boolean Do ' Security sleep in case there are problems with windows message. (WM_MOUSELEAVE] RepeatGetMessage = False GetMessage Message, Hwnd, ByVal 0&, ByVal 0& TranslateMessage Message DispatchMessage Message - + 'Evaluate message If Message.Message = WM_COMMAND Then OpenMenu = Message.wParam @@ -526,7 +526,7 @@ Public Function OpenMenu(Optional ByVal X As Single = 0, Optional ByVal Y As Sin OpenMenu = 0 End If Loop While RepeatGetMessage - + 'Destroy menu DestroyMenu MenuHwnd diff --git a/source/codelib/api/winapi/WinApiWindowTools.cls b/source/modules/WinApiWindowTools.cls similarity index 89% rename from source/codelib/api/winapi/WinApiWindowTools.cls rename to source/modules/WinApiWindowTools.cls index 084dd7e..ef1e5cc 100644 --- a/source/codelib/api/winapi/WinApiWindowTools.cls +++ b/source/modules/WinApiWindowTools.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END @@ -19,7 +19,7 @@ Attribute VB_Exposed = False ' Source info: '--------------------------------------------------------------------------------------- '| The procedures GetMDI, GetHeaderSection, GetDetailSection, GetFooterSection and GetControl -'| are taken from the AEK10 lecture by Jörg Ostendorp +'| are taken from the AEK10 lecture by Jörg Ostendorp '--------------------------------------------------------------------------------------- ' '--------------------------------------------------------------------------------------- @@ -149,15 +149,15 @@ End Function Public Function GetControl(ByRef FormRef As Access.Form, ByVal Hwnd As LongPtr, _ ByVal ClassName As String, ByVal ControlName As String) As LongPtr - 'Exitieren mehrere Controls der gleichen Klasse auf einem Formular, z.B. TabControls, besteht das Problem, daß + 'Exitieren mehrere Controls der gleichen Klasse auf einem Formular, z.B. TabControls, besteht das Problem, daß 'deren Reihenfolge nicht definiert ist (anders also als bei den Sektionsfenstern) 'In diesem Fall kann man alle Kindfenster dieser Klasse in einer Schleife durchlaufen - 'und z.B. prüfen, ob die Position des Fensters des zurückgegebenen Handles - 'mit der des Access-Steuerelementes übereinstimmt. - 'Nachfolgend wird hierfür die undokumentierte Funktion accHittest verwendet. + 'und z.B. prüfen, ob die Position des Fensters des zurückgegebenen Handles + 'mit der des Access-Steuerelementes übereinstimmt. + 'Nachfolgend wird hierfür die undokumentierte Funktion accHittest verwendet. 'Dieser werden als Parameter die Screenkoordinaten der linken oberen Ecke eines - 'Steuerelementes übergeben. Befindet sich dort ein Objekt, erhält man dieses als Rückgabewert. - 'Ist der Name des Objektes identisch mit dem übergebenen Steuerelementnamen, so + 'Steuerelementes übergeben. Befindet sich dort ein Objekt, erhält man dieses als Rückgabewert. + 'Ist der Name des Objektes identisch mit dem übergebenen Steuerelementnamen, so 'hat man das Handle ermittelt: On Error Resume Next @@ -169,11 +169,11 @@ On Error Resume Next h = 0 Do - 'Erstes (h=0)/nächstes (h<>0) Control auf dem Sektionsfenster ermitteln + 'Erstes (h=0)/nächstes (h<>0) Control auf dem Sektionsfenster ermitteln h = FindWindowEx(Hwnd, h, ClassName, vbNullString) 'Bildschirmkoordinaten dieses Controls ermitteln - 'dafür die Punktkoordinaten aus dem letzten Durchlauf zurücksetzen, sonst wird addiert! + 'dafür die Punktkoordinaten aus dem letzten Durchlauf zurücksetzen, sonst wird addiert! pt.X = 0 pt.Y = 0 ClientToScreen h, pt @@ -187,7 +187,7 @@ On Error Resume Next End If Loop While h <> 0 - 'Handle zurückgeben + 'Handle zurückgeben GetControl = h End Function diff --git a/source/_ADFInterface.cls b/source/modules/_ADFInterface.cls similarity index 94% rename from source/_ADFInterface.cls rename to source/modules/_ADFInterface.cls index adef9c6..5def765 100644 --- a/source/_ADFInterface.cls +++ b/source/modules/_ADFInterface.cls @@ -1,4 +1,4 @@ -VERSION 1.0 CLASS +VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END diff --git a/source/_ADF_Helper.bas b/source/modules/_ADF_Helper.bas similarity index 87% rename from source/_ADF_Helper.bas rename to source/modules/_ADF_Helper.bas index d5ce302..cad764e 100644 --- a/source/_ADF_Helper.bas +++ b/source/modules/_ADF_Helper.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_ADF_Helper" +Attribute VB_Name = "_ADF_Helper" Option Compare Text Option Explicit diff --git a/source/codelib/_codelib/license.bas b/source/modules/_AccessCodeLib_license.bas similarity index 98% rename from source/codelib/_codelib/license.bas rename to source/modules/_AccessCodeLib_license.bas index 9f34738..a5dab1a 100644 --- a/source/codelib/_codelib/license.bas +++ b/source/modules/_AccessCodeLib_license.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_AccessCodeLib_license" +Attribute VB_Name = "_AccessCodeLib_license" '--------------------------------------------------------------------------------------- ' access-codelib.net Lizenz '--------------------------------------------------------------------------------------- @@ -53,9 +53,9 @@ Option Compare Text Option Explicit Public Function GetAccessCodeLibLicense() As String - + On Error Resume Next - + GetAccessCodeLibLicense = _ "Copyright (c) access-codelib.net" & vbNewLine & _ "All rights reserved." & vbNewLine & vbNewLine & _ diff --git a/source/_config_Application.bas b/source/modules/_config_Application.bas similarity index 94% rename from source/_config_Application.bas rename to source/modules/_config_Application.bas index 301b77f..d96b5a8 100644 --- a/source/_config_Application.bas +++ b/source/modules/_config_Application.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_config_Application" +Attribute VB_Name = "_config_Application" ' '############################################################################# '## ## @@ -70,7 +70,7 @@ Private Const ApplicationStartFormName As String = "frmConfig_DBMS" ' ' Konfigurationseinstellungen initialisieren ' -' Möglichkeit einer Referenzübergabe, damit nicht CurrentApplication genutzt werden muss +' Möglichkeit einer Referenzübergabe, damit nicht CurrentApplication genutzt werden muss ' ' ' @@ -89,7 +89,7 @@ Public Sub InitConfig(Optional oCurrentAppHandler As ApplicationHandler = Nothin ' Globale Variablen einstellen ' 'SqlTools.SQL_DATEFORMAT = "\#yyyy-mm-dd\#" 'JET-SQL - + '---------------------------------------------------------------------------- ' Anwendungsinstanz einstellen ' @@ -98,11 +98,11 @@ Public Sub InitConfig(Optional oCurrentAppHandler As ApplicationHandler = Nothin End If With oCurrentAppHandler - + 'Zur Sicherheit AccDb einstellen Set .AppDb = CodeDb 'muss auf CodeDb zeigen, 'da diese Anwendung als Add-In verwendet wird - + 'Anwendungsname .ApplicationName = APPLICATION_NAME .ApplicationFullName = APPLICATION_FULLNAME @@ -115,8 +115,8 @@ Public Sub InitConfig(Optional oCurrentAppHandler As ApplicationHandler = Nothin .ApplicationStartFormName = ApplicationStartFormName End With - - + + '---------------------------------------------------------------------------- ' Erweiterung: ... ' @@ -128,26 +128,26 @@ Public Sub InitConfig(Optional oCurrentAppHandler As ApplicationHandler = Nothin Set m_Extensions = New ApplicationHandler_ExtensionCollection With m_Extensions Set .ApplicationHandler = oCurrentAppHandler - + ' load extensions .Add New ApplicationHandler_AppFile - + Dim AppHdlVersion As ApplicationHandler_Version Set AppHdlVersion = New ApplicationHandler_Version .Add AppHdlVersion AppHdlVersion.XmlVersionCheckFile = APPLICATION_DOWNLOAD_VERSIONXMLFILE - + End With - + #End If - + End Sub '############################################################################ ' -' Funktionen für die Anwendungswartung -' (werden nur im Anwendungsentwurf benötigt) +' Funktionen für die Anwendungswartung +' (werden nur im Anwendungsentwurf benötigt) ' '---------------------------------------------------------------------------- ' Hilfsfunktion zum Speichern von Dateien in die lokale AppFile-Tabelle diff --git a/source/_doc_dbms_wizard.bas b/source/modules/_doc_dbms_wizard.bas similarity index 75% rename from source/_doc_dbms_wizard.bas rename to source/modules/_doc_dbms_wizard.bas index 7d4b209..01e002d 100644 --- a/source/_doc_dbms_wizard.bas +++ b/source/modules/_doc_dbms_wizard.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_doc_dbms_wizard" +Attribute VB_Name = "_doc_dbms_wizard" '####################################################################################### ' ' Doxygen-Gruppen @@ -12,7 +12,7 @@ Attribute VB_Name = "_doc_dbms_wizard" '/** ' \defgroup grpCodeLib Code-Bibliothek -' Klassen und Module für die Verwendung in den Access-Anwendungen +' Klassen und Module für die Verwendung in den Access-Anwendungen '**/ @@ -39,17 +39,17 @@ Attribute VB_Name = "_doc_dbms_wizard" '/** ' \page wizard_install Installation ' -' Das Access-Add-In wird über den Add-In-Manger durch hinzufügen der Datei DbmsConnectionWizard.mda installiert. +' Das Access-Add-In wird über den Add-In-Manger durch hinzufügen der Datei DbmsConnectionWizard.mda installiert. ' Falls Sie Vista oder Windows 7 verwenden und die Benutzerkontensteuerung (UAC) aktiviert haben, -' starten Sie zuvor Access als Administrator, da für die Registrierung der Assistenten Admin-Rechte notwendig sind. -' Sollten es Ihnen nicht möglich sein, Admin-Rechte zu erhalten, so können Sie das Add-In trotzdem verwenden. -' Es steht Ihnen dann allerdings nur das Menü-Add-In zur Verfügung. +' starten Sie zuvor Access als Administrator, da für die Registrierung der Assistenten Admin-Rechte notwendig sind. +' Sollten es Ihnen nicht möglich sein, Admin-Rechte zu erhalten, so können Sie das Add-In trotzdem verwenden. +' Es steht Ihnen dann allerdings nur das Menü-Add-In zur Verfügung. ' ' ' \page wizard_connection Verbindungsdaten einstellen ' -' Nach der Installation des Access-Add-In steht unter Add-Ins der Eintrag DBMS Connection Wizard zur Verfügung, -' mit dem der Assistent für die Verbindungskonfiguration gestartet werden kann. +' Nach der Installation des Access-Add-In steht unter Add-Ins der Eintrag DBMS Connection Wizard zur Verfügung, +' mit dem der Assistent für die Verbindungskonfiguration gestartet werden kann. ' ' \section sec_wizard_table Tabelle erstellen ' Falls die Tabelle \a usys_DbmsConnection im Frontend fehlt, wird diese vom Assistenten erstellt. @@ -58,7 +58,7 @@ Attribute VB_Name = "_doc_dbms_wizard" ' ' \section sec_wizard_connection Verbindungskonfiguration erstellen ' -' Mit der Schaltfläche "Neue Verbindung" kann eine neue Verbindungskonfiguration angelegt werden. +' Mit der Schaltfläche "Neue Verbindung" kann eine neue Verbindungskonfiguration angelegt werden. ' ' \image html pictures/Neue_Verbindung_erstellen.png "Neue Verbindungskonfiguration erstellen" ' @@ -67,7 +67,7 @@ Attribute VB_Name = "_doc_dbms_wizard" ' \image html pictures/Neue_Verbindung_erstellen_Eingabe.png "Eingeben der Verbindungskennung" ' ' \section sec_wizard_parameter Zugriffsparameter einstellen -' Die Zugriffsparameter werden für jede Verbindungskennung gespeichert. +' Die Zugriffsparameter werden für jede Verbindungskennung gespeichert. ' ' \image html pictures/Verbindungsdaten_einstellen.png "Verbindungsdaten einstellen" ' @@ -107,24 +107,24 @@ Attribute VB_Name = "_doc_dbms_wizard" ' Bei Benutzeranmeldung kann ein Login-formular verwendet werden, um das Passwort abzufragen. (Empfohlene Einstellung, wenn die Windows-Autentifizierung nicht verwendet wird.) ' ' \par DSN -' Die DSN-Kennung, falls eine Verbindung über DSN aufgebaut werden soll +' Die DSN-Kennung, falls eine Verbindung über DSN aufgebaut werden soll ' ' \section sec_wizard_parameter_3 Provider / Driver ' ' \par OLEDB -' Der OLEDB-Provider. Als Standard wird der gängigste Provider zum jeweiligen DBMS voreingestellt. Diese Einstellung kann in der Tabelle usys_DbmsConnection_X geändert werden. -' Falls ein alternativer Provider verwendet wird, muss möglicherweise die Erstellung der Verbindugnszeichenfolge optimiert werden, falls dieser Provider spezielle Parameter benötigt. +' Der OLEDB-Provider. Als Standard wird der gängigste Provider zum jeweiligen DBMS voreingestellt. Diese Einstellung kann in der Tabelle usys_DbmsConnection_X geändert werden. +' Falls ein alternativer Provider verwendet wird, muss möglicherweise die Erstellung der Verbindugnszeichenfolge optimiert werden, falls dieser Provider spezielle Parameter benötigt. ' ' \par ODBC   -' Der ODBC-Treiber für den DOBC-Zugriff analog zum OLDEDB-Provider. +' Der ODBC-Treiber für den DOBC-Zugriff analog zum OLDEDB-Provider. ' ' \subsection sec_wizard_parameter_4 Weitere Optionen ' ' \par OLEDB -' Zusätzliche OLEDB-Optionen. Dieser werden am Ende der OLEDB-Verbindungszeichenfolge angehängt. +' Zusätzliche OLEDB-Optionen. Dieser werden am Ende der OLEDB-Verbindungszeichenfolge angehängt. ' ' \par ODBC   -' Zusätzliche ODBC-Optionen. Dieser werden am Ende der OLEDB-Verbindungszeichenfolge angehängt. +' Zusätzliche ODBC-Optionen. Dieser werden am Ende der OLEDB-Verbindungszeichenfolge angehängt. ' ' \section sec_wizard_parameter_5 Benutzerdefinierter Connectionstring ' \par OLEDB @@ -134,7 +134,7 @@ Attribute VB_Name = "_doc_dbms_wizard" ' Die ODBC-Verbindungszeichenfolge bei benutzerdefinierter Konfiguration ' ' \section sec_wizard_parameter_6 Module und Klassen -' In diesem Abschnitt könnten die im Frontend benötigten Module aus dem Add-In kopiert werden. +' In diesem Abschnitt könnten die im Frontend benötigten Module aus dem Add-In kopiert werden. ' '**/ ' @@ -154,9 +154,9 @@ Attribute VB_Name = "_doc_dbms_wizard" ' @{ **/ ' ' /** -' \page codelib_samples Beispiele für den Datenzugriff +' \page codelib_samples Beispiele für den Datenzugriff ' -' \section sec_codelib_samples Beispiele für den Datenzugriff +' \section sec_codelib_samples Beispiele für den Datenzugriff ' ' \par DAO ' \code DbCon.DAO.OpenRecordset("select ...") \endcode diff --git a/source/codelib/base/_initApplication.bas b/source/modules/_initApplication.bas similarity index 97% rename from source/codelib/base/_initApplication.bas rename to source/modules/_initApplication.bas index 3db9603..72dd547 100644 --- a/source/codelib/base/_initApplication.bas +++ b/source/modules/_initApplication.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_initApplication" +Attribute VB_Name = "_initApplication" '--------------------------------------------------------------------------------------- ' Package: base._initApplication '--------------------------------------------------------------------------------------- diff --git a/source/_initDbConnectionWizard.bas b/source/modules/_initDbConnectionWizard.bas similarity index 92% rename from source/_initDbConnectionWizard.bas rename to source/modules/_initDbConnectionWizard.bas index 00ca2a5..7544808 100644 --- a/source/_initDbConnectionWizard.bas +++ b/source/modules/_initDbConnectionWizard.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "_initDbConnectionWizard" +Attribute VB_Name = "_initDbConnectionWizard" '--------------------------------------------------------------------------------------- ' Modul: _initApplication '--------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ Option Explicit '--------------------------- Private Function InitDbmsConnectionWizard() As Boolean If Application.CurrentDb Is Nothing Then - MsgBox "Bitte öffnen Sie zuerst eine Access-Anwendung.", vbCritical + MsgBox "Bitte öffnen Sie zuerst eine Access-Anwendung.", vbCritical InitDbmsConnectionWizard = False Exit Function End If @@ -65,33 +65,33 @@ Private Sub CheckTemplatesDb() Dim db As DAO.Database Dim tdf As DAO.TableDef - -On Error Resume Next 'falls etwas nicht klappt, einfach übergehen, dann können nur keine Vorlagen verwendet werden - + +On Error Resume Next 'falls etwas nicht klappt, einfach übergehen, dann können nur keine Vorlagen verwendet werden + Set db = CodeDb - + If Not TableDefExists("usys_DbmsConnection", db) Then - + Set tdf = db.CreateTableDef("usys_DbmsConnection") tdf.Connect = ";Database=" & TemplatesDatabaseFile tdf.SourceTableName = "usys_DbmsConnection" db.TableDefs.Append tdf - + ElseIf Len(Dir$(Mid$(db.TableDefs("usys_DbmsConnection").Connect, Len(";Database=") + 1))) = 0 Then - + With db.TableDefs("usys_DbmsConnection") .Connect = ";Database=" & TemplatesDatabaseFile .RefreshLink End With - + End If - + Set db = Nothing End Sub Private Property Get TemplatesDatabaseFile() As String - + Dim db As DAO.Database Dim cnn As ADODB.Connection Dim strDbFile As String @@ -101,7 +101,7 @@ Private Property Get TemplatesDatabaseFile() As String If Len(Dir$(strPath, vbDirectory)) = 0 Then MkDir strPath End If - + strDbFile = CodeDb.Name strDbFile = Mid$(strDbFile, InStrRev(strDbFile, ".")) If Left$(strDbFile, 5) = ".accd" Then @@ -110,7 +110,7 @@ Private Property Get TemplatesDatabaseFile() As String strDbFile = ".mdt" End If strDbFile = strPath & "\ConnectionTemplates" & strDbFile - + If Len(Dir$(strDbFile)) = 0 Then 'Datenbank anlegen @@ -120,7 +120,7 @@ Private Property Get TemplatesDatabaseFile() As String Set db = DBEngine.CreateDatabase(strDbFile, dbLangGeneral) End If db.Close - + 'Tabelle erstellen Set cnn = New ADODB.Connection cnn.ConnectionString = Replace(CodeProject.Connection.ConnectionString, CodeDb.Name, strDbFile) @@ -128,8 +128,8 @@ Private Property Get TemplatesDatabaseFile() As String CreateConnectionTable cnn cnn.Close Set cnn = Nothing - - 'Beispiel-Vorlagen einfügen + + 'Beispiel-Vorlagen einfügen Set db = DBEngine.OpenDatabase(strDbFile, False, False) db.Execute "insert into usys_DbmsConnection (" & DCW_usys_DbmsConnection_Fields & ") select " & DCW_usys_DbmsConnection_Fields & " from [" & CodeDb.Name & "].usys_DbmsConnection_CopyBase" db.Close diff --git a/source/codelib/data/defDbConnection.bas b/source/modules/defDbConnection.bas similarity index 98% rename from source/codelib/data/defDbConnection.bas rename to source/modules/defDbConnection.bas index f13eadf..c6bdee1 100644 --- a/source/codelib/data/defDbConnection.bas +++ b/source/modules/defDbConnection.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "defDbConnection" +Attribute VB_Name = "defDbConnection" '--------------------------------------------------------------------------------------- ' Package: data.defDbConnection '--------------------------------------------------------------------------------------- diff --git a/source/defDbmsConnectionWizard.bas b/source/modules/defDbmsConnectionWizard.bas similarity index 83% rename from source/defDbmsConnectionWizard.bas rename to source/modules/defDbmsConnectionWizard.bas index 2d5ed90..dd84db8 100644 --- a/source/defDbmsConnectionWizard.bas +++ b/source/modules/defDbmsConnectionWizard.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "defDbmsConnectionWizard" +Attribute VB_Name = "defDbmsConnectionWizard" '--------------------------------------------------------------------------------------- ' Modul: defGlobalParam '--------------------------------------------------------------------------------------- @@ -15,8 +15,8 @@ Option Private Module Public Const DCW_AppName As String = "DbmsConnectionWizard" Public Const DCW_AppFullName As String = "DBMS Connection Wizard" -Public Const DCW_Version As String = "1.4.7" -Public Const DCW_VersionDate As String = "2023-11-07" +Public Const DCW_Version As String = "1.4.6" +Public Const DCW_VersionDate As String = "2023-07-03" 'Formulare Public Const DCW_LoginFormName As String = "LoginForm" @@ -30,6 +30,6 @@ Public Const DCW_usys_DbmsConnection_Fields As String = "CID, ActiveConnection, Public Enum DCW_RecordsetModes DCW_ADODB = 1 ' ADOD-Recordset - DCW_DAOBE = 2 ' DAO-Recordset über BE-Database - DCW_DAOPT = 3 ' DAO-Recordset über PT-Abfrage + DCW_DAOBE = 2 ' DAO-Recordset über BE-Database + DCW_DAOPT = 3 ' DAO-Recordset über PT-Abfrage End Enum diff --git a/source/modAccessFunctions.bas b/source/modules/modAccessFunctions.bas similarity index 95% rename from source/modAccessFunctions.bas rename to source/modules/modAccessFunctions.bas index 70be910..8381fd6 100644 --- a/source/modAccessFunctions.bas +++ b/source/modules/modAccessFunctions.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modAccessFunctions" +Attribute VB_Name = "modAccessFunctions" '--------------------------------------------------------------------------------------- ' Package: modAccessFunctionReDefine '--------------------------------------------------------------------------------------- @@ -19,15 +19,15 @@ Public Function MsgBox(ByVal Prompt As Variant, _ Optional ByVal Title As Variant, _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant) As VbMsgBoxResult - + Dim strTitle As String If IsMissing(Title) Then Title = CurrentApplication.ApplicationName End If - + MsgBox = L10n.MsgBox(Prompt, Buttons, Title, HelpFile, Context) - + End Function Public Function InputBox(ByVal Prompt As Variant, _ @@ -36,13 +36,13 @@ Public Function InputBox(ByVal Prompt As Variant, _ Optional ByVal XPos As Variant, Optional ByVal YPos As Variant, _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant) As String - + Dim strTitle As String If IsMissing(Title) Then Title = CurrentApplication.ApplicationName End If - + InputBox = L10n.InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context) - + End Function diff --git a/source/modAccessHelper.bas b/source/modules/modAccessHelper.bas similarity index 97% rename from source/modAccessHelper.bas rename to source/modules/modAccessHelper.bas index 2a7f23c..e504bf7 100644 --- a/source/modAccessHelper.bas +++ b/source/modules/modAccessHelper.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modAccessHelper" +Attribute VB_Name = "modAccessHelper" '--------------------------------------------------------------------------------------- ' Modul: modAccessHelper '--------------------------------------------------------------------------------------- @@ -18,9 +18,9 @@ Public Property Get CurrentVbProject() As Object Dim vbp As Object 'VBProject Dim strCurrentdbFile As String - + On Error Resume Next - + strCurrentdbFile = UncPath(CurrentDb.Name) 'VBProject der Anwendung suchen: @@ -30,7 +30,7 @@ On Error Resume Next Exit For End If Next - + End Property Private Function CheckReferenzes() As Boolean @@ -76,5 +76,5 @@ On Error Resume Next lngVersion = Val(SysCmd(acSysCmdAccessVer)) End If CurrentAccessVersion = lngVersion - + End Function diff --git a/source/modAddIn.bas b/source/modules/modAddIn.bas similarity index 97% rename from source/modAddIn.bas rename to source/modules/modAddIn.bas index 35c3d4e..04a0d79 100644 --- a/source/modAddIn.bas +++ b/source/modules/modAddIn.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modAddIn" +Attribute VB_Name = "modAddIn" Option Compare Text Option Explicit Option Private Module @@ -39,11 +39,11 @@ Public Function CreateConnectionTable(ByRef cnn As ADODB.Connection) As Boolean " [dbmsConStrOLEDB] varchar(255) WITH COMPRESSION," & _ " [Remarks] text WITH COMPRESSION," & _ " CONSTRAINT PK_usys_DbmsConnection PRIMARY KEY ([CID]))" - + cnn.Execute strSQL - + Application.RefreshDatabaseWindow - + CreateConnectionTable = True End Function @@ -64,7 +64,7 @@ End Sub 'Check if login form is available Public Sub CheckLoginForm() - + Dim rst As DAO.Recordset Dim bolMissingForm As Boolean @@ -72,7 +72,7 @@ Public Sub CheckLoginForm() bolMissingForm = rst.EOF rst.Close Set rst = Nothing - + If bolMissingForm Then CodeModulImporter.TransferCodeModul CurrentProject, acForm, DCW_LoginFormName End If @@ -81,29 +81,29 @@ End Sub 'Renew modules + classes Public Function ReplaceCodeModules(ParamArray sModulName() As Variant) As Boolean - + Dim i As Long Dim ArrSize As Long Dim vbp As Object 'VBProject - + Set vbp = CurrentVbProject If Not (vbp Is Nothing) Then ArrSize = UBound(sModulName) For i = 0 To ArrSize - + ' 1. delete If CheckCodeModule(sModulName(i)) Then vbp.VBComponents.Remove vbp.VBComponents(sModulName(i)) End If - + ' 2. check => insert CheckCodeModule sModulName(i), True - + Next ReplaceCodeModules = True End If - + Set vbp = Nothing End Function @@ -111,7 +111,7 @@ End Function 'Check modules and classes for existence. There is no content check! Public Function CheckCodeModules(ParamArray sModulName() As Variant) As Boolean - + Dim i As Long Dim bolModulesExists As Boolean Dim ArrSize As Long @@ -121,7 +121,7 @@ Public Function CheckCodeModules(ParamArray sModulName() As Variant) As Boolean For i = 0 To ArrSize bolModulesExists = bolModulesExists And CheckCodeModule(sModulName(i), False) Next - + CheckCodeModules = bolModulesExists End Function @@ -129,7 +129,7 @@ End Function 'Check module or class for existence. There is no content check! Public Function CheckCodeModule(ByVal sModulName As String, _ Optional ByVal TransferMissingModule As Boolean = False) As Boolean - + Dim rst As DAO.Recordset Dim bolMissingModule As Boolean @@ -137,12 +137,12 @@ Public Function CheckCodeModule(ByVal sModulName As String, _ bolMissingModule = rst.EOF rst.Close Set rst = Nothing - + If bolMissingModule And TransferMissingModule Then CodeModulImporter.TransferCodeModul CurrentProject, acModule, sModulName bolMissingModule = False End If - + CheckCodeModule = Not bolMissingModule End Function diff --git a/source/modAddIn_Files.bas b/source/modules/modAddIn_Files.bas similarity index 96% rename from source/modAddIn_Files.bas rename to source/modules/modAddIn_Files.bas index ebb5ee4..30fac5d 100644 --- a/source/modAddIn_Files.bas +++ b/source/modules/modAddIn_Files.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modAddIn_Files" +Attribute VB_Name = "modAddIn_Files" Option Compare Text Option Explicit Option Private Module @@ -10,7 +10,7 @@ Private Declare PtrSafe Function API_GetTempFilename Lib "kernel32" Alias "GetTe ByVal lpPrefixString As String, _ ByVal wUnique As Long, _ ByVal lpTempFileName As String) As Long - + Private Declare PtrSafe Function GetTempPath Lib "kernel32" Alias "GetTempPathA" ( _ ByVal nBufferLength As Long, _ ByVal lpBuffer As String) As Long @@ -23,7 +23,7 @@ End Sub 'General directory for user settings and changeable data: Public Property Get DbmsConnectionWizardAppDataDirectory() As String - + Dim strPath As String strPath = Environ("Appdata") & "\DbmsConnectionWizard" @@ -41,18 +41,18 @@ Public Property Get AddInHelpFile() As String Dim strVersion As String strHelpFile = DbmsConnectionWizardAppDataDirectory & "\DbmsConnectionWizard.chm" - + Set rst = CodeDb.OpenRecordset("select Version from usys_AppFiles where ID='ChmFile'") If Not rst.EOF Then strVersion = Nz(rst.Fields(0), vbNullString) End If rst.Close Set rst = Nothing - + CheckLibFile "ChmFile", strHelpFile, strVersion - + AddInHelpFile = strHelpFile - + End Property Public Sub OpenHelpFile(Optional ByVal ContextID As Long = 0) @@ -63,7 +63,7 @@ Public Sub OpenHelpFile(Optional ByVal ContextID As Long = 0) WizHook.Key = 51488399 WizHook.WizHelp AddInHelpFile, 1, ContextID End If - + End Sub Public Function CreateAppFile(ByVal sFileID As String, ByVal sFileName As String, _ @@ -89,36 +89,36 @@ Public Function CreateAppFile(ByVal sFileID As String, ByVal sFileName As String ReDim Binfile(lngFieldSize - 1) Binfile = fld.GetChunk(0, lngFieldSize) - + If decode Then CodeDecodeByteArray Binfile, sFileID End If - + #If UseZip Then - + ZipFile = GetTempFileName(, , "zip") f = FreeFile Open ZipFile For Binary As #f Put #f, , Binfile() Close #f - + tempDir = Left$(ZipFile, InStrRev(ZipFile, "\")) TempFile = tempDir & ExtractFromZipFile(ZipFile, tempDir) - + FileCopy TempFile, sFileName Kill TempFile Kill ZipFile - + #Else - + f = FreeFile Open sFileName For Binary As #f Put #f, , Binfile() Close #f - + #End If - + CreateAppFile = True Else CreateAppFile = False @@ -141,16 +141,16 @@ Private Function CheckLibFile(ByVal sFileID As String, ByVal sFileName As String Dim RetVal As Long If Len(Dir$(sFileName)) > 0 Then - + check = True - + If Len(sSavedFileVersion) > 0 Then installedVersionString = modWinAPI_FileInfo.GetFileVersion(sFileName) If Len(installedVersionString) = 0 Then installedVersionString = Format$(Nz(FileDateTime(sFileName), vbNullString), "yyyy.mm.dd") End If - + If sSavedFileVersion <> installedVersionString Then installedVersion = Split(installedVersionString, ".") savedVersion = Split(sSavedFileVersion, ".") @@ -163,14 +163,14 @@ Private Function CheckLibFile(ByVal sFileID As String, ByVal sFileName As String If NewVersion Then RetVal = vbYes - + If RetVal = vbYes Then - + 'Rename file only (delete only after successful recreation) saveFileName = sFileName & ".saved" If Len(Dir$(saveFileName)) > 0 Then Kill saveFileName Name sFileName As saveFileName - + 'Create new file check = CreateAppFile(sFileID, sFileName) If check Then @@ -218,7 +218,7 @@ Private Function SaveAppFile(ByVal sFileID As String, ByVal sFileName As String, Dim ZipFile As String ZipFile = GetTempFileName(, , "zip") AddToZipFile ZipFile, sFileName - + f = FreeFile Open ZipFile For Binary As #f lngFileSize = LOF(f) @@ -227,9 +227,9 @@ Private Function SaveAppFile(ByVal sFileID As String, ByVal sFileName As String, Get #f, , Binfile() End If Close #f - + Kill ZipFile - + #Else f = FreeFile @@ -242,7 +242,7 @@ Private Function SaveAppFile(ByVal sFileID As String, ByVal sFileName As String, Close #f #End If - + If encode Then CodeDecodeByteArray Binfile, sFileID End If @@ -273,30 +273,30 @@ Private Sub SaveModulesInTable() Dim X As Variant Dim i As Long - + X = Array("SqlTools", "defDbConnection", "DbConnectionInfo", "AdodbHandler", "DaoHandler", "OdbcHandler", "DbConnectionHandler", "DbConnectionManager", "modDbConnection") For i = 0 To UBound(X) SaveCodeModulInTable acModule, X(i) Next - + X = Array("LoginForm") For i = 0 To UBound(X) SaveCodeModulInTable acForm, X(i) Next - + End Sub Private Sub SaveCodeModulInTable(ByVal ObjType As AcObjectType, ByVal sModulName As String, _ Optional ByVal encode As Boolean = False) - + Dim strFileName As String strFileName = GetTempFileName Application.SaveAsText ObjType, sModulName, strFileName SaveAppFile sModulName, strFileName, True, encode - + Kill strFileName - + End Sub Public Function GetTempFileName(Optional ByVal TempPath As String = "", _ @@ -306,7 +306,7 @@ Public Function GetTempFileName(Optional ByVal TempPath As String = "", _ Dim strTempFileName As String Dim strTempPath As String Dim lngRet As Long - + If Len(TempPath) = 0 Then strTempFileName = String$(m_conMaxPathLen, 0) lngRet = GetTempPath(m_conMaxPathLen, strTempFileName) @@ -315,21 +315,21 @@ Public Function GetTempFileName(Optional ByVal TempPath As String = "", _ Else strTempPath = TempPath End If - + strTempFileName = String$(m_conMaxPathLen, 0) lngRet = API_GetTempFilename(strTempPath, FilePrefix, 0&, strTempFileName) - + strTempFileName = Left$(strTempFileName, InStr(strTempFileName, Chr$(0)) - 1) - + 'Delete file again, as only name is needed Call Kill(strTempFileName) - + If Len(FileExtension) > 0 Then strTempFileName = Left$(strTempFileName, Len(strTempFileName) - 3) & FileExtension End If - + GetTempFileName = strTempFileName - + End Function Private Sub CodeDecodeByteArray(ByRef TextByteArray() As Byte, ByVal Password As String) @@ -339,7 +339,7 @@ Private Sub CodeDecodeByteArray(ByRef TextByteArray() As Byte, ByVal Password As Dim lSize As Long Dim lenPwd As Long Dim i As Long - + lSize = UBound(TextByteArray) lenPwd = Len(Password) @@ -349,5 +349,5 @@ Private Sub CodeDecodeByteArray(ByRef TextByteArray() As Byte, ByVal Password As Key = Asc(Mid$(Password, lPos, 1)) TextByteArray(i) = (TextByteArray(i) Xor Key) Next i - + End Sub diff --git a/source/codelib/base/modApplication.bas b/source/modules/modApplication.bas similarity index 97% rename from source/codelib/base/modApplication.bas rename to source/modules/modApplication.bas index c8a3e42..1cb71d9 100644 --- a/source/codelib/base/modApplication.bas +++ b/source/modules/modApplication.bas @@ -1,5 +1,5 @@ -Attribute VB_Name = "modApplication" -Attribute VB_Description = "Standard-Prozeduren für die Arbeit mit ApplicationHandler" +Attribute VB_Name = "modApplication" +Attribute VB_Description = "Standard-Prozeduren für die Arbeit mit ApplicationHandler" '--------------------------------------------------------------------------------------- ' Package: base.modApplication '--------------------------------------------------------------------------------------- @@ -121,13 +121,13 @@ Public Sub DisposeCurrentApplicationHandler() Dim CheckCnt As Long, MaxCnt As Long On Error Resume Next - + If Not m_ApplicationHandler Is Nothing Then m_ApplicationHandler.Dispose End If - + Set m_ApplicationHandler = Nothing - + End Sub diff --git a/source/modColors.bas b/source/modules/modColors.bas similarity index 94% rename from source/modColors.bas rename to source/modules/modColors.bas index e7a151a..f4cf8a1 100644 --- a/source/modColors.bas +++ b/source/modules/modColors.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modColors" +Attribute VB_Name = "modColors" Option Compare Text Option Explicit Option Private Module @@ -9,72 +9,72 @@ Private Const m_Ac07_BackgroundDarkHeader As Long = -2147483611 Private Const m_Ac07_BordersGridlines As Long = -2147483609 Public Property Get dcwBackgroundForm() As Long - + If CurrentAccessVersion >= 12 Then dcwBackgroundForm = m_Ac07_BackgroundForm Else dcwBackgroundForm = VBA.SystemColorConstants.vbButtonFace End If - + End Property Public Property Get dcwBackgroundTextboxEdit() As Long - + dcwBackgroundTextboxEdit = VBA.SystemColorConstants.vbWindowBackground End Property ' Public Property Get dcwBackgroundLightHeader() As Long - + If CurrentAccessVersion >= 12 Then dcwBackgroundLightHeader = m_Ac07_BackgroundLightHeader Else dcwBackgroundLightHeader = VBA.SystemColorConstants.vbButtonFace End If - + End Property Public Property Get dcwBackgroundDarkHeader() As Long - + If CurrentAccessVersion >= 12 Then dcwBackgroundDarkHeader = m_Ac07_BackgroundDarkHeader Else dcwBackgroundDarkHeader = VBA.SystemColorConstants.vbButtonFace End If - + End Property Public Property Get dcwInfoLabelBackColor() As Long - + If CurrentAccessVersion >= 12 Then dcwInfoLabelBackColor = m_Ac07_BackgroundLightHeader Else dcwInfoLabelBackColor = &HE6E6E6 End If - + End Property Public Property Get dcwControlBorderColor() As Long - + If CurrentAccessVersion >= 12 Then dcwControlBorderColor = m_Ac07_BordersGridlines Else dcwControlBorderColor = 8421504 End If - + End Property -' Farben für Vorlagen-Anzeige +' Farben für Vorlagen-Anzeige Public Property Get dcwBackgroundFormTemplates() As Long - + dcwBackgroundFormTemplates = &HEDEDF9 End Property Public Property Get dcwBackgroundLightHeaderTemplates() As Long - + dcwBackgroundLightHeaderTemplates = &HEDEDF9 - + End Property diff --git a/source/codelib/data/modDbConnection.bas b/source/modules/modDbConnection.bas similarity index 94% rename from source/codelib/data/modDbConnection.bas rename to source/modules/modDbConnection.bas index 5daed59..32bd6ea 100644 --- a/source/codelib/data/modDbConnection.bas +++ b/source/modules/modDbConnection.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modDbConnection" +Attribute VB_Name = "modDbConnection" '--------------------------------------------------------------------------------------- ' Package: data.modDbConnection '--------------------------------------------------------------------------------------- @@ -102,7 +102,7 @@ End Property ' Function: CheckConnectionStatus '--------------------------------------------------------------------------------------- ' -' Verbindung prüfen (call ) +' Verbindung prüfen (call ) ' ' Return: ' Boolean - True if success @@ -132,7 +132,7 @@ On Error Resume Next m_DbConnectionManager.Dispose End If Set m_DbConnectionManager = Nothing - + End Sub '############################ @@ -152,15 +152,15 @@ End Sub '--------------------------------------------------------------------------------------- Public Function TableDefExists(ByVal TableDefName As String, _ Optional ByVal db As DAO.Database = Nothing) As Boolean -'Schneller wäre der Zugriff auf MSysObject (select .. from MSysObject where Name = 'Tabellenname' AND Type IN (1, 4, 6) -'Eine weitere Alternative wäre das Auswerten über cnn.OpenSchema(adSchemaTables, ...) ... dann werden allerdings keine verknüpften Tabellen geprüft - +'Schneller wäre der Zugriff auf MSysObject (select .. from MSysObject where Name = 'Tabellenname' AND Type IN (1, 4, 6) +'Eine weitere Alternative wäre das Auswerten über cnn.OpenSchema(adSchemaTables, ...) ... dann werden allerdings keine verknüpften Tabellen geprüft + Dim tdf As DAO.TableDef If db Is Nothing Then Set db = CurrentDb End If - + db.TableDefs.Refresh For Each tdf In db.TableDefs If tdf.Name = TableDefName Then @@ -184,13 +184,13 @@ End Function '--------------------------------------------------------------------------------------- Public Function QueryDefExists(ByVal QueryDefName As String, _ Optional ByVal db As DAO.Database = Nothing) As Boolean - + Dim qdf As DAO.QueryDef If db Is Nothing Then Set db = CurrentDb End If - + db.QueryDefs.Refresh For Each qdf In db.QueryDefs If qdf.Name = QueryDefName Then diff --git a/source/codelib/base/modErrorHandler.bas b/source/modules/modErrorHandler.bas similarity index 98% rename from source/codelib/base/modErrorHandler.bas rename to source/modules/modErrorHandler.bas index 326f2d4..895214d 100644 --- a/source/codelib/base/modErrorHandler.bas +++ b/source/modules/modErrorHandler.bas @@ -1,5 +1,5 @@ -Attribute VB_Name = "modErrorHandler" -Attribute VB_Description = "Prozeduren für die Fehlerbehandlung" +Attribute VB_Name = "modErrorHandler" +Attribute VB_Description = "Prozeduren für die Fehlerbehandlung" '--------------------------------------------------------------------------------------- ' Package: base.modErrorHandler '--------------------------------------------------------------------------------------- @@ -169,7 +169,7 @@ Public Function HandleError(ByVal ErrNumber As Long, ByVal ErrSource As String, If ErrHandlerMode = ACLibErrorHandlerMode.[_aclibErr_default] Then ErrHandlerMode = m_DefaultErrorHandlerMode End If - + HandleError = ProcHandleError(ErrNumber, ErrSource, ErrDescription, ErrHandlerMode) End Function @@ -182,23 +182,23 @@ Private Function ProcHandleError(ByRef ErrNumber As Long, ByRef ErrSource As Str Dim NewErrSource As String Dim NewErrDescription As String Dim CurrentErrSource As String - + NewErrDescription = Err.Description CurrentErrSource = Err.Source - + On Error Resume Next - + NewErrSource = ErrSource If Len(NewErrSource) = 0 Then NewErrSource = CurrentErrSource ElseIf CurrentErrSource <> GetApplicationVbProjectName Then NewErrSource = NewErrSource & ERRORSOURCE_DELIMITERSYMBOL & CurrentErrSource End If - + If Len(ErrDescription) > 0 Then NewErrDescription = ErrDescription End If - + 'Output to file If (ErrHandlerMode And ACLibErrorHandlerMode.aclibErrFile) Then PrintToFile ErrNumber, NewErrSource, NewErrDescription @@ -225,22 +225,22 @@ On Error GoTo 0 End Function Public Sub ShowErrorMessage(ByVal ErrNumber As Long, ByRef ErrSource As String, ByRef ErrDescription As String) - + Dim ErrMsgBoxTitle As String Dim Pos As Long Dim TempString As String On Error Resume Next - + Const LineBreakPos As Long = 50 - + Pos = InStr(1, ErrSource, ERRORSOURCE_DELIMITERSYMBOL, vbBinaryCompare) If Pos > 1 Then ErrMsgBoxTitle = Left$(ErrSource, Pos - 1) Else ErrMsgBoxTitle = ErrSource End If - + If Len(ErrSource) > LineBreakPos Then Pos = InStr(LineBreakPos, ErrSource, ERRORSOURCE_DELIMITERSYMBOL) If Pos > 0 Then @@ -252,7 +252,7 @@ On Error Resume Next ErrSource = TempString & ErrSource End If End If - + VBA.MsgBox "Error " & ErrNumber & ": " & vbNewLine & ErrDescription & vbNewLine & vbNewLine & "(" & ErrSource & ")", _ vbCritical + vbSystemModal + vbMsgBoxSetForeground, ErrMsgBoxTitle @@ -260,16 +260,16 @@ End Sub Private Sub PrintToFile(ByRef ErrNumber As Long, ByRef ErrSource As String, _ ByRef ErrDescription As String) - + Dim FileSource As String Dim f As Long Dim WriteToFile As Boolean Dim PathToErrLogFile As String - + On Error Resume Next - + WriteToFile = True - + FileSource = "[" & ErrSource & "]" PathToErrLogFile = ErrorHandlerLogFile If Len(PathToErrLogFile) = 0 Then @@ -281,18 +281,18 @@ On Error Resume Next "yyyy-mm-tt hh:nn:ss "); FileSource; _ " Error "; CStr(ErrNumber); ": "; ErrDescription Close #f - + End Sub Private Function GetApplicationVbProjectName() As String - + Static VbProjectName As String - + Dim DbFile As String Dim vbp As Object - + On Error Resume Next - + If Len(VbProjectName) = 0 Then VbProjectName = Access.VBE.ActiveVBProject.Name DbFile = CurrentDb.Name @@ -306,5 +306,5 @@ On Error Resume Next End If End If GetApplicationVbProjectName = VbProjectName - + End Function diff --git a/source/codelib/api/winapi/modWinAPI.bas b/source/modules/modWinAPI.bas similarity index 92% rename from source/codelib/api/winapi/modWinAPI.bas rename to source/modules/modWinAPI.bas index 45a08fd..7149495 100644 --- a/source/codelib/api/winapi/modWinAPI.bas +++ b/source/modules/modWinAPI.bas @@ -1,14 +1,14 @@ -Attribute VB_Name = "modWinAPI" -Attribute VB_Description = "Gebräuchliche WinAPI-Funktionen" +Attribute VB_Name = "modWinAPI" +Attribute VB_Description = "Gebräuchliche WinAPI-Funktionen" '--------------------------------------------------------------------------------------- ' Module: modWinAPI '--------------------------------------------------------------------------------------- '/** ' -' Gebräuchliche WinAPI-Funktionen +' Gebräuchliche WinAPI-Funktionen ' ' -' Sammlung von API-Deklarationen, die oft benötigt werden +' Sammlung von API-Deklarationen, die oft benötigt werden ' '\ingroup WinAPI '**/ @@ -69,7 +69,7 @@ Public Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ pDest As Any, _ pSource As Any, _ ByVal dwLength As Long) - + Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal Hwnd As Long, _ ByVal wMsg As Long, _ @@ -91,7 +91,7 @@ Private Declare PtrSafe Function ShellExecuteA Lib "shell32.dll" ( _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long - + Private Declare PtrSafe Function GetDesktopWindow Lib "user32" () As Long Private Declare PtrSafe Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" ( _ @@ -116,7 +116,7 @@ Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ pDest As Any, _ pSource As Any, _ ByVal dwLength As Long) - + Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal Hwnd As Long, _ ByVal wMsg As Long, _ @@ -138,7 +138,7 @@ Private Declare Function ShellExecuteA Lib "shell32.dll" ( _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long - + Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" ( _ @@ -165,13 +165,13 @@ Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '--------------------------------------------------------------------------------------- '--------------------------------------------------------------------------------------- -' Function: ShellExecuteOpenFile (Josef Pötzl, 2010-04-19) +' Function: ShellExecuteOpenFile (Josef Pötzl, 2010-04-19) '--------------------------------------------------------------------------------------- '/** ' -' Datei mit ShellExecute öffnen +' Datei mit ShellExecute öffnen ' -' vollständiger Dateiname inkl. Verzeichnis +' vollständiger Dateiname inkl. Verzeichnis ' "open", "print", ... ' Boolean ' @@ -184,7 +184,7 @@ Public Function ShellExecuteOpenFile(ByVal sFile As String, _ Dim lRet As Long Dim sDirectory As String Dim lngDeskWin As Long - + If sFile = vbNullString Then ShellExecuteOpenFile = False Exit Function @@ -192,7 +192,7 @@ Public Function ShellExecuteOpenFile(ByVal sFile As String, _ lngDeskWin = GetDesktopWindow() lRet = ShellExecuteA(lngDeskWin, sAPIOperation, sFile, vbNullString, vbNullString, vbNormalFocus) End If - + If lRet = SE_ERR_NOTFOUND Then 'Datei nicht gefunden MsgBox "Datei nicht gefunden" & vbNewLine & vbNewLine & _ @@ -201,14 +201,14 @@ Public Function ShellExecuteOpenFile(ByVal sFile As String, _ Exit Function ElseIf lRet = SE_ERR_NOASSOC Then 'Wenn die Dateierweiterung noch nicht bekannt ist... - 'wird der "Öffnen mit..."-Dialog angezeigt. + 'wird der "Öffnen mit..."-Dialog angezeigt. sDirectory = Space$(260) lRet = GetSystemDirectory(sDirectory, Len(sDirectory)) sDirectory = Left$(sDirectory, lRet) Call ShellExecuteA(lngDeskWin, vbNullString, "RUNDLL32.EXE", "shell32.dll, OpenAs_RunDLL " & _ sFile, sDirectory, vbNormalFocus) End If - + ShellExecuteOpenFile = True End Function @@ -220,7 +220,7 @@ End Function ' ' Email mit Standard-Programm versenden ' -' Empfänger-Adresse +' Empfänger-Adresse ' Betreff-Zeile ' Email-Text ' Boolean @@ -234,12 +234,12 @@ Public Function ShellExecuteSendMail(ByVal sTo As String, _ Dim lRet As Long Dim strLpFile As String - + If Len(sTo) = 0 Then ShellExecuteSendMail = False Exit Function End If - + If sSubject > vbNullString Then strLpFile = "subject=" & sSubject End If @@ -256,33 +256,33 @@ Public Function ShellExecuteSendMail(ByVal sTo As String, _ strLpFile = "mailto:" & sTo End If - - + + lRet = ShellExecuteA(GetDesktopWindow(), "open", strLpFile, vbNullString, vbNullString, vbNormalFocus) ShellExecuteSendMail = (lRet <> 0) End Function '--------------------------------------------------------------------------------------- -' Function: LaunchAppSynchronous (Josef Pötzl, 2010-04-19) +' Function: LaunchAppSynchronous (Josef Pötzl, 2010-04-19) '--------------------------------------------------------------------------------------- '/** ' -' Anwnedung Synchron ausführen +' Anwnedung Synchron ausführen ' -' Ausführbare Datei +' Ausführbare Datei ' Startparameter der Anwendung ' Fenstermodus ' Boolean ' -' Code hält so lange an, bis die gestartete Anwendung beendet wurde. +' Code hält so lange an, bis die gestartete Anwendung beendet wurde. ' '**/ '--------------------------------------------------------------------------------------- Public Function LaunchAppSynchronous(ByVal strExecutablePathAndName As String, _ Optional ByVal sParam As String = vbNullString, _ Optional ByVal lShowCommand As Long = vbNormalFocus) As Boolean - + 'http://planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=3716&lngWId=1 Dim lngResponse As Long @@ -322,7 +322,7 @@ Private Sub WaitForTermination(ByRef typProcessInfo As PROCESS_INFORMATION) 'to be processed while waiting for the p ' rocess to 'complete. - + Dim lngResponse As Long 'Let the process initialize Call WaitForInputIdle(typProcessInfo.hProcess, INFINITE) @@ -346,31 +346,31 @@ Private Sub WaitForTermination(ByRef typProcessInfo As PROCESS_INFORMATION) End Sub '--------------------------------------------------------------------------------------- -' Sub: SetFormIconFromFile (Josef Pötzl, 2009-12-19) +' Sub: SetFormIconFromFile (Josef Pötzl, 2009-12-19) '--------------------------------------------------------------------------------------- '/** ' -' Spezielles Icon für ein Formular einstellen +' Spezielles Icon für ein Formular einstellen ' ' Referenz zum Access.Form -' Icon-Datei (vollständige Pfadangabe) +' Icon-Datei (vollständige Pfadangabe) ' ' ' '**/ '--------------------------------------------------------------------------------------- Public Sub SetFormIconFromFile(ByRef FormRef As Access.Form, ByVal IconFilePath As String) - -On Error Resume Next ' ... Fehlermeldung würde bei dieser "unwichtigen" Funktion nur stören - + +On Error Resume Next ' ... Fehlermeldung würde bei dieser "unwichtigen" Funktion nur stören + Const ICONPIXELSIZE As Long = 16 - + Dim imageHandle As Long - + imageHandle = LoadImage(0, IconFilePath, IMAGE_ICON, _ ICONPIXELSIZE, ICONPIXELSIZE, LR_LOADFROMFILE) If imageHandle <> 0 Then SendMessage FormRef.Hwnd, WM_MSG_SETICON, WM_PARAM_ICON_SMALL, ByVal imageHandle End If - + End Sub diff --git a/source/modWinAPI_FileInfo.bas b/source/modules/modWinAPI_FileInfo.bas similarity index 96% rename from source/modWinAPI_FileInfo.bas rename to source/modules/modWinAPI_FileInfo.bas index 05dee52..920b2b0 100644 --- a/source/modWinAPI_FileInfo.bas +++ b/source/modules/modWinAPI_FileInfo.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modWinAPI_FileInfo" +Attribute VB_Name = "modWinAPI_FileInfo" Option Compare Text Option Explicit Option Private Module @@ -27,7 +27,7 @@ Private Declare PtrSafe Function GetFileVersionInfo _ ) _ As Long - + Private Declare PtrSafe Function VerQueryValue _ Lib "version.dll" _ Alias "VerQueryValueA" _ @@ -82,38 +82,38 @@ Private Function GetVersion(ByVal sPath As String, _ GetVersion = False Exit Function End If - + ReDim sBuffer(lSize) lRet = GetFileVersionInfo(sPath, 0&, lSize, sBuffer(0)) If lSize = 0 Then GetVersion = False Exit Function End If - + lRet = VerQueryValue(sBuffer(0), "\", lVerPointer, lVerBufLen) If lSize = 0 Then GetVersion = False Exit Function End If - + Call MoveMemory(FileInfo, lVerPointer, Len(FileInfo)) - + With FileInfo - + FInfo.FileVersion = _ Trim$(Str$((.dwFileVersionMS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwFileVersionMS And &HFFFF&)) & "." & _ Trim$(Str$((.dwFileVersionLS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwFileVersionLS And &HFFFF&)) - + FInfo.ProductVersion = _ Trim$(Str$((.dwProductVersionMS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwProductVersionMS And &HFFFF&)) & "." & _ Trim$(Str$((.dwProductVersionLS And &HFFFF0000) \ &H10000)) & "." & _ Trim$(Str$(.dwProductVersionLS And &HFFFF&)) - + End With - + GetVersion = True End Function @@ -121,10 +121,10 @@ End Function '##################################################### ' -' Ergänzung: +' Ergänzung: ' Public Function GetFileVersion(ByVal sFile As String) As String - + Dim VerInfo As FILEINFOOUT If GetVersion(sFile, VerInfo) Then diff --git a/source/codelib/api/winapi/modWinAPI_Mouse.bas b/source/modules/modWinApi_Mouse.bas similarity index 97% rename from source/codelib/api/winapi/modWinAPI_Mouse.bas rename to source/modules/modWinApi_Mouse.bas index 6feae17..fe91893 100644 --- a/source/codelib/api/winapi/modWinAPI_Mouse.bas +++ b/source/modules/modWinApi_Mouse.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modWinApi_Mouse" +Attribute VB_Name = "modWinApi_Mouse" '--------------------------------------------------------------------------------------- ' Package: api.winapi.modWinApi_Mouse '--------------------------------------------------------------------------------------- @@ -55,10 +55,10 @@ End Enum ' '--------------------------------------------------------------------------------------- Public Sub MouseCursor(ByVal CursorType As IDC_MouseCursor) - + Dim CursorPtr As LongPtr - + CursorPtr = LoadCursorBynum(0&, CursorType) SetCursor CursorPtr - + End Sub diff --git a/source/codelib/_codelib/addins/shared/modWizardCodeModulesData.bas b/source/modules/modWizardCodeModulesData.bas similarity index 95% rename from source/codelib/_codelib/addins/shared/modWizardCodeModulesData.bas rename to source/modules/modWizardCodeModulesData.bas index f323e7e..c325f38 100644 --- a/source/codelib/_codelib/addins/shared/modWizardCodeModulesData.bas +++ b/source/modules/modWizardCodeModulesData.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modWizardCodeModulesData" +Attribute VB_Name = "modWizardCodeModulesData" '--------------------------------------------------------------------------------------- ' Package: _codelib.addins.shared.modWizardCodeModulesData '--------------------------------------------------------------------------------------- @@ -22,23 +22,23 @@ Option Explicit Option Private Module Public Property Get SccRev() As String - + With CodeDb.OpenRecordset("select max(SccRev) from usys_AppFiles") If Not .EOF Then SccRev = Nz(.Fields(0).Value, 0) End If .Close End With - + End Property Public Property Get SccRevMin() As String - + With CodeDb.OpenRecordset("select Min(SccRev) from usys_AppFiles") If Not .EOF Then SccRevMin = Nz(.Fields(0).Value, "0") End If .Close End With - + End Property diff --git a/source/modWizardTools.bas b/source/modules/modWizardTools.bas similarity index 90% rename from source/modWizardTools.bas rename to source/modules/modWizardTools.bas index 44f8b84..581b518 100644 --- a/source/modWizardTools.bas +++ b/source/modules/modWizardTools.bas @@ -1,4 +1,4 @@ -Attribute VB_Name = "modWizardTools" +Attribute VB_Name = "modWizardTools" Option Compare Database Option Explicit @@ -6,7 +6,7 @@ Public Function CheckApplicationStartUpMethod() If CurrentDb.Name Like "*.accda" Then MsgBox "The add-in must be installed into the Access add-in directory using the add-in manager. Afterwards it has to be started via the menu entry '" & APPLICATION_NAME & "'.", _ vbExclamation, APPLICATION_NAME & ": Incorrect start" - + Application.Quit End If End Function diff --git a/source/nav-pane-groups.json b/source/nav-pane-groups.json new file mode 100644 index 0000000..5dff1ef --- /dev/null +++ b/source/nav-pane-groups.json @@ -0,0 +1,24 @@ +{ + "Info": { + "Class": "clsDbNavPaneGroup", + "Description": "Navigation Pane Custom Groups" + }, + "Items": { + "Categories": [ + { + "Name": "Benutzerdefiniert", + "Flags": 0, + "Position": 2, + "Groups": [ + { + "Name": "Benutzerdefinierte Gruppe 1", + "Flags": 0, + "Position": 2, + "Objects": [ + ] + } + ] + } + ] + } +} diff --git a/source/proj-properties.json b/source/proj-properties.json new file mode 100644 index 0000000..a113700 --- /dev/null +++ b/source/proj-properties.json @@ -0,0 +1,9 @@ +{ + "Info": { + "Class": "clsDbProjProperty", + "Description": "Project Properties (Access)" + }, + "Items": { + "VCS Source Path": "\\source" + } +} diff --git a/source/project.json b/source/project.json new file mode 100644 index 0000000..00e38af --- /dev/null +++ b/source/project.json @@ -0,0 +1,10 @@ +{ + "Info": { + "Class": "clsDbProject", + "Description": "Project" + }, + "Items": { + "FileFormat": 12, + "RemovePersonalInformation": false + } +} diff --git a/source/queries/usys_DbmsTableNames.json b/source/queries/usys_DbmsTableNames.json new file mode 100644 index 0000000..8d1c037 --- /dev/null +++ b/source/queries/usys_DbmsTableNames.json @@ -0,0 +1,46 @@ +{ + "Info": { + "Class": "clsDbQuery", + "Description": "usys_DbmsTableNames" + }, + "Items": { + "QueryType": 112, + "Connect": "ODBC;", + "QueryProperties": { + "Description": { + "Type": 10, + "Value": "Auflistung der TAbellen und Sichten zum aktiven DBMS (wird in frmConfig_LinkTables verwendet)" + }, + "LogMessages": { + "Type": 1, + "Value": false + } + }, + "DesignLayout": { + "State": 0, + "Window": { + "left": 0, + "top": 40, + "right": 1331, + "bottom": 851 + }, + "DesignerPane": { + "left": -1, + "top": -1, + "right": 1299, + "bottom": 477 + }, + "GridLeft": 0, + "GridTop": 0, + "ColumnsShown": 2058, + "Tables": [ + ] + }, + "Properties": { + "Description": { + "Type": 10, + "Value": "Auflistung der TAbellen und Sichten zum aktiven DBMS (wird in frmConfig_LinkTables verwendet)" + } + } + } +} diff --git a/source/queries/usys_DbmsTableNames.sql b/source/queries/usys_DbmsTableNames.sql new file mode 100644 index 0000000..a14e3a6 --- /dev/null +++ b/source/queries/usys_DbmsTableNames.sql @@ -0,0 +1 @@ +select 1 as X diff --git a/source/relations/MSysAccessStorageSTGREL.json b/source/relations/MSysAccessStorageSTGREL.json new file mode 100644 index 0000000..aac712e --- /dev/null +++ b/source/relations/MSysAccessStorageSTGREL.json @@ -0,0 +1,18 @@ +{ + "Info": { + "Class": "clsDbRelation", + "Description": "Database relationship" + }, + "Items": { + "Name": "MSysAccessStorageSTGREL", + "Attributes": 4096, + "Table": "MSysAccessStorage", + "ForeignTable": "MSysAccessStorage", + "Fields": [ + { + "Name": "Id", + "ForeignName": "ParentId" + } + ] + } +} diff --git a/source/tables/L10n_Dict.xml b/source/tables/L10n_Dict.xml new file mode 100644 index 0000000..461f246 --- /dev/null +++ b/source/tables/L10n_Dict.xml @@ -0,0 +1,820 @@ + + + + DE + &Check Connection + &Verbindung testen + + + DE + &Link table(s) + Tabelle(n) &verknüpfen + + + DE + &New Connection + &Neue Verbindung + + + DE + &Remove linked tables + Verknüpfte Tabellen &löschen + + + DE + &Update existing linked tables + Vorhandene verknüpfte Tabellen &aktualisieren + + + DE + @;" <Enter identifier here>" + @;" <Hier Kennung eingeben>" + + + DE + @;"Only fill in if ConnectionString is not to be generated by code." + @;"nur ausfüllen, wenn ConnectionString nicht per Code erzeugt werden soll" + + + DE + Additional information for the connection strings generated in the DbConnectionInfo class. +The entries are appended to the end of the generated connection strings. + Zusatzangaben für die in der DbConnectionInfo-Klasse erzeugten Connectionstrings. +Die Einträge werden am Ende der generierten Connectionstrings angehängt. + + + DE + all linked tables/queries + alle verknüpften Tabellen/Abfragen + + + DE + All modules are already up to date. +Do you still want to re-import? + Es sind bereits alle Module auf dem neuesten Stand. +Trotzdem neu einlesen? + + + DE + Appended after the ODBC connection string created by code. + Wird hinter dem per Code erstellten ODBC-Connectionstring angehängt + + + DE + Appended after the OLEDB connection string created by code. + Wird hinter dem per Code erstellten OLEDB-Connectionstring angehängt + + + DE + Apply &Filter + &Filter anwenden + + + DE + Check wizard version + Wizard-Version prüfen + + + DE + Classes & Modules + Klassen & Module + + + DE + Codemodules have been updated. + Codemodule wurden aktualisiert. + + + DE + Connection could not be established. + Verbindung konnte nicht hergestellt werden. + + + DE + Connection identifier (double click to edit) + Verbindungskennung (Doppelklick zum Bearbeiten) + + + DE + Connection was successful + Verbindungsaufbau war erfolgreich + + + DE + Create &new linked tables + &Neue verknüpfte Tabellen &erstellen + + + DE + custom + benutzerdefiniert + + + DE + Custom ConnectionString: + Benutzerdefinierter ConnectionString: + + + DE + Custom ODBC connection string (connection string is not created by code) + Benutzerdefinierter ODBC-Connectionstring (Connectionstring wird nicht per Code erstellt) + + + DE + Custom OLEDB connection string (connection string is not created by code) + Benutzerdefinierter OLEDB-Connectionstring (Connectionstring wird nicht per Code erstellt) + + + DE + Database name in the server; for JET: = complete path to the BE + Datenbank-Name im Server; bei JET: = vollständige Pfadangabe zum BE + + + DE + DBMS Connection Wizard: Configure DBMS Connection + DBMS-Connection-Wizard: DBMS-Verbindung konfigurieren + + + DE + DbmsConnectionWizard + DbmsConnectionWizard + + + DE + dsn less + ohne DSN ("dsn less") + + + DE + en&abled + &aktiviert + + + DE + Enter query name + Abfragenamen eingeben + + + DE + Filter list + Liste filtern + + + DE + Ignore all settings and set the connection string manually. + Alle Einstellungen ignorieren und den Connectionstring manuell festlegen. + + + DE + Install modules and classes: + Module u. Klassen installieren: + + + DE + last linked: + zuletzt verknüpft: + + + DE + last removed: + zuletzt entfernt: + + + DE + Latest version is installed + Aktuelle Version ist installiert + + + DE + Link tables + Tabellen verknüpfen + + + DE + linked tables were removed + verknüpfte Tabellen wurden entfernt + + + DE + Linking completed + Verknüpfen abgeschlossen + + + DE + Login name + Loginname + + + DE + Modules and classes updated + Module und Klassen wurden aktualisiert + + + DE + Name of the database user + Name des Datenbankbenutzers + + + DE + Name or IP address of the database server (for MSSQL incl. instance identifier) + Name oder IP-Adresse des Datenbankservers (bei MSSQL inkl. Instanzkennung) + + + DE + Other options: + Weitere Optionen: + + + DE + Password + Passwort + + + DE + Password of the user. As soon as a password is available, the tables incl. password are linked. If this is not desired, the login form should be used. + Kennwort der Benutzers. Sobald ein Kennwort verfügbar ist, werden die Tabellen inkl. Kennwort verknüpft. Falls das nicht erwünscht ist, sollte das Login-Formular verwendet werden. + + + DE + Please choose another name. + Bitte wählen Sie einen anderen Namen. + + + DE + Please enter a table name. + Bitte einen Tabellennamen angeben. + + + DE + Please enter login name and password + Bitte Loginnamen und Kennwort eingeben + + + DE + Please select the DBMS first! + Bitte zuerst das DBMS auswählen! + + + DE + Please specify SQL statement. + Bitte SQL-Anweisung angeben. + + + DE + Remarks: + Anmerkungen: + + + DE + Renew all code modules (existing modules are overwritten) + Alle Codemodule erneuern (vorhandene Module werden überschrieben) + + + DE + Renew all code modules except 'defGlobal_DBMS' (defGlobal_DBMS remains unchanged) + Alle Codemodule außer 'defGlobal_DBMS' erneuern (defGlobal_DBMS bleibt unverändert) + + + DE + Select + Auswählen + + + DE + Select connection + Verbindung wählen + + + DE + Select database file + Datenbankdatei auswählen + + + DE + Select ODBC Driver + ODBC-Treiber auswählen + + + DE + Select OLEDB Provider + OLEDB-Provider auswählen + + + DE + Select table/view &manually + Tabelle/Sicht &manuell auswählen + + + DE + Should all linked tables be deleted? +(The tables are removed only in the frontend.) + Sollen alle verknüpften Tabellen gelöscht werden? +(Die Tabellen werden nur im Frontend entfernt.) + + + DE + Should the selected tables be deleted? +(The tables are removed only in the frontend.) + Sollen die ausgewählten Tabellen gelöscht werden? +(Die Tabellen werden nur im Frontend entfernt.) + + + DE + Should this be changed? + Soll diese geändert werden? + + + DE + Show tables from &database + Tabellen aus &Datenbank anzeigen + + + DE + SQL statement was executed. + SQL-Anweisung wurde ausgeführt. + + + DE + Statement is executed + Anweisung wird ausgeführt + + + DE + Tables/queries were linked + Tabellen/Abfragen wurden verknüpft + + + DE + Test SQL statement + SQL-Anweisung testen + + + DE + The required table 'usys_DbmsConnection' does not exist, should it be created? + Die erforderliche Tabelle 'usys_DbmsConnection' existiert nicht, soll sie erstellt werden? + + + DE + There is already a query named '{0}'. + Es existiert bereits eine Abfrage mit dem Namen '{0}' + + + DE + There is already a table named '{0}'. + Es existiert bereits eine Tabelle mit dem Namen '{0}'. + + + DE + Type: + Typ: + + + DE + Under which name should the query be saved? + Unter welchem Namen soll die Abfrage gespeichert werden? + + + DE + Update code modules in add-in from SCC repository (draft). + Codemodule in Add-In aus SCC-Repository aktualisieren (draft). + + + DE + Update code modules in add-in from SCC repository (master). + Codemodule in Add-In aus SCC-Repository aktualisieren (master). + + + DE + Update linked tables + Verknüpften Tabellen aktualisieren + + + DE + use DSN + mit DSN + + + DE + Use Login Form: + Login-Formular verwenden: + + + DE + Use saved DSN (only works for ODBC connection) + Gespeicherte DSN verwenden (wirkt nur für ODBC-Verbindung) + + + DE + Windows Authentification: + Windows-Authentifizierung: + + + EN + &Check Connection + &Check Connection + + + EN + &Link table(s) + &Link table(s) + + + EN + &New Connection + &New Connection + + + EN + &Remove linked tables + &Remove linked tables + + + EN + &Update existing linked tables + &Update existing linked tables + + + EN + @;" <Enter identifier here>" + @;" <Enter identifier here>" + + + EN + @;"Only fill in if ConnectionString is not to be generated by code." + @;"Only fill in if ConnectionString is not to be generated by code." + + + EN + Additional information for the connection strings generated in the DbConnectionInfo class. +The entries are appended to the end of the generated connection strings. + Additional information for the connection strings generated in the DbConnectionInfo class. +The entries are appended to the end of the generated connection strings. + + + EN + all linked tables/queries + all linked tables/queries + + + EN + All modules are already up to date. +Do you still want to re-import? + Es sind bereits alle Module auf dem neuesten Stand. +Trotzdem neu einlesen? + + + EN + Appended after the ODBC connection string created by code. + Appended after the ODBC connection string created by code. + + + EN + Appended after the OLEDB connection string created by code. + Appended after the OLEDB connection string created by code. + + + EN + Apply &Filter + Apply &Filter + + + EN + Check wizard version + Check wizard version + + + EN + Classes & Modules + Classes & Modules + + + EN + Codemodules have been updated. + Code modules have been updated. + + + EN + Connection could not be established. + Connection could not be established. + + + EN + Connection identifier (double click to edit) + Connection identifier (double click to edit) + + + EN + Connection was successful + Connection was successful + + + EN + Create &new linked tables + Create &new linked tables + + + EN + custom + custom + + + EN + Custom ConnectionString: + Custom ConnectionString: + + + EN + Custom ODBC connection string (connection string is not created by code) + Custom ODBC connection string (connection string is not created by code) + + + EN + Custom OLEDB connection string (connection string is not created by code) + User-defined OLEDB connection string (connection string is not created by code) + + + EN + Database name in the server; for JET: = complete path to the BE + Database name in the server; for JET: = complete path to the BE + + + EN + DBMS Connection Wizard: Configure DBMS Connection + DBMS Connection Wizard: Configure DBMS Connection + + + EN + DbmsConnectionWizard + DbmsConnectionWizard + + + EN + dsn less + dsn less + + + EN + en&abled + en&abled + + + EN + Enter query name + Enter query name + + + EN + Filter list + Filter list + + + EN + Ignore all settings and set the connection string manually. + Ignore all settings and set the connection string manually. + + + EN + Install modules and classes: + Install modules and classes: + + + EN + last linked: + last linked: + + + EN + last removed: + last removed: + + + EN + Latest version is installed + Latest version is installed + + + EN + Link tables + Link tables + + + EN + linked tables were removed + linked tables were removed + + + EN + Linking completed + Linking +completed + + + EN + Login name + Login name + + + EN + Modules and classes updated + Modules and classes updated + + + EN + Name of the database user + Name of the database user + + + EN + Name or IP address of the database server (for MSSQL incl. instance identifier) + Name or IP address of the database server (for MSSQL incl. instance identifier) + + + EN + Other options: + Other options: + + + EN + Password + Password + + + EN + Password of the user. As soon as a password is available, the tables incl. password are linked. If this is not desired, the login form should be used. + Password of the user. As soon as a password is available, the tables incl. password are linked. If this is not desired, the login form should be used. + + + EN + Please choose another name. + Please choose another name. + + + EN + Please enter a table name. + Please enter a table name. + + + EN + Please enter login name and password + Please enter login name and password + + + EN + Please select the DBMS first! + Please select the DBMS first! + + + EN + Please specify SQL statement. + Please specify SQL statement. + + + EN + Remarks: + Remarks: + + + EN + Renew all code modules (existing modules are overwritten) + Renew all code modules (existing modules are overwritten) + + + EN + Renew all code modules except 'defGlobal_DBMS' (defGlobal_DBMS remains unchanged) + Renew all code modules except 'defGlobal_DBMS' (defGlobal_DBMS remains unchanged) + + + EN + Select + Select + + + EN + Select connection + Select connection + + + EN + Select database file + Select database file + + + EN + Select ODBC Driver + Select ODBC Driver + + + EN + Select OLEDB Provider + Select OLEDB Provider + + + EN + Select table/view &manually + Select table/view &manually + + + EN + Should all linked tables be deleted? +(The tables are removed only in the frontend.) + Should all linked tables be deleted? +(The tables are removed only in the frontend.) + + + EN + Should the selected tables be deleted? +(The tables are removed only in the frontend.) + Should the selected tables be deleted? +(The tables are removed only in the frontend.) + + + EN + Should this be changed? + Should this be changed? + + + EN + Show tables from &database + Show tables from &database + + + EN + SQL statement was executed. + SQL statement was executed. + + + EN + Statement is executed + Statement is executed + + + EN + Tables/queries were linked + Tables/queries were linked + + + EN + Test SQL statement + Test SQL statement + + + EN + The required table 'usys_DbmsConnection' does not exist, should it be created? + The required table 'usys_DbmsConnection' does not exist, should it be created? + + + EN + There is already a query named '{0}'. + There is already a query named '{0}'. + + + EN + There is already a table named '{0}'. + There is already a table named '{0}'. + + + EN + Type: + Type: + + + EN + Under which name should the query be saved? + Under which name should the query be saved? + + + EN + Update code modules in add-in from SCC repository (draft). + Update code modules in add-in from SCC repository (draft). + + + EN + Update code modules in add-in from SCC repository (master). + Update code modules in add-in from SCC repository (master). + + + EN + Update linked tables + Update linked tables + + + EN + use DSN + use DSN + + + EN + Use Login Form: + Use Login Form: + + + EN + Use saved DSN (only works for ODBC connection) + Use saved DSN (only works for ODBC connection) + + + EN + Windows Authentification: + Windows Authentification: + + diff --git a/source/tables/USysRegInfo.txt b/source/tables/USysRegInfo.txt new file mode 100644 index 0000000..8075178 --- /dev/null +++ b/source/tables/USysRegInfo.txt @@ -0,0 +1,34 @@ +Subkey Type ValName Value +HKEY_CURRENT_ACCESS_PROFILE\\Menu Add-Ins\\DBMS-Connection-Wizard 0 +HKEY_CURRENT_ACCESS_PROFILE\\Menu Add-Ins\\DBMS-Connection-Wizard 1 Expression =StartDbmsConnectionWizard() +HKEY_CURRENT_ACCESS_PROFILE\\Menu Add-Ins\\DBMS-Connection-Wizard 1 Library |ACCDIR\\DbmsConnectionWizard.accda +HKEY_CURRENT_ACCESS_PROFILE\\Menu Add-Ins\\DBMS-Connection-Wizard 4 BitmapID 339 +HKEY_CURRENT_ACCESS_PROFILE\\Menu Add-Ins\\DBMS-Connection-Wizard 4 Version 1 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 0 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 1 Description ODBC-Verbindungszeichenfolge mittels DBMS-Connection-Wizard einfügen +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 1 Feature DeveloperWizards +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 1 Function InsertOdbcConnectionString +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 1 Library |ACCDIR\\DbmsConnectionWizard.accda +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 4 Can Edit 1 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Property Wizards\\ODBCConnectStr\\DBMS Connectionstring 4 Version 1 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 0 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 1 Description Tabellen mittels DBMS-Connection-Wizard verknüpfen +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 1 Feature DeveloperWizards +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 1 Function StartDbmsConnectionLinkTableWizard +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 1 Library |ACCDIR\\DbmsConnectionWizard.accda +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 4 BitmapID 339 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\DBMS-Tabellen verknüpfen 4 Version 1 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 0 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 1 Description Pass-Through-Abfrage mittels DBMS-Connection-Wizard erstellen +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 1 Feature DeveloperWizards +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 1 Function CreatePassThroughQuery +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 1 Library |ACCDIR\\DbmsConnectionWizard.accda +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 4 BitmapID 325 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Query Wizards\\Pass-Through-Abfrage erstellen 4 Version 1 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 0 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 1 Description Tabellen mittels DBMS-Connection-Wizard verknüpfen +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 1 Feature DeveloperWizards +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 1 Function StartDbmsConnectionLinkTableWizard +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 1 Library |ACCDIR\\DbmsConnectionWizard.accda +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 4 BitmapID 339 +HKEY_CURRENT_ACCESS_PROFILE\\Wizards\\Table Wizards\\DBMS-Tabellen verknüpfen 4 Version 1 diff --git a/source/tables/usys_AppFiles.xml b/source/tables/usys_AppFiles.xml new file mode 100644 index 0000000..b55e1cd --- /dev/null +++ b/source/tables/usys_AppFiles.xml @@ -0,0 +1,11929 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdodbHandler + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkFkb2RiSGFuZGxlciINCkF0dHJp +YnV0ZSBWQl9HbG9iYWxOYW1lU3BhY2UgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX0Ny +ZWF0YWJsZSA9IEZhbHNlDQpBdHRyaWJ1dGUgVkJfUHJlZGVjbGFyZWRJZCA9IFRy +dWUNCkF0dHJpYnV0ZSBWQl9FeHBvc2VkID0gRmFsc2UNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgQ2xhc3M6IGRhdGEuYWRvZGIu +QWRvZGJIYW5kbGVyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonDQonIEFET0RCIGRhdGEgY29ubmVjdGlvbiBtZXRob2RzDQonDQon +IEF1dGhvcjoNCicgICAgIEpvc2VmIFBvZXR6bA0KJw0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonPGNvZGVsaWI+DQonICA8ZmlsZT5kYXRh +L2Fkby9BZG9kYkhhbmRsZXIuY2xzPC9maWxlPg0KJyAgPGxpY2Vuc2U+X2NvZGVs +aWIvbGljZW5zZS5iYXM8L2xpY2Vuc2U+DQonICA8cmVmPjxuYW1lPkFET0RCPC9u +YW1lPjxtYWpvcj4yPC9tYWpvcj48bWlub3I+MTwvbWlub3I+PGd1aWQ+ezAwMDAw +MjAxLTAwMDAtMDAxMC04MDAwLTAwQUEwMDZEMkVBNH08L2d1aWQ+PC9yZWY+DQon +ICA8dGVzdD5fdGVzdC9kYXRhL2Fkby9BZG9kYkhhbmRsZXJUZXN0cy5jbHM8L3Rl +c3Q+DQonPC9jb2RlbGliPg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KT3B0aW9uIENvbXBhcmUgVGV4dA0KT3B0aW9uIEV4cGxp +Y2l0DQoNCidBRE9EQi1Db25uZWN0aW9uDQpQcml2YXRlIG1fQWRvQ29ubmVjdGlv +biBBcyBBRE9EQi5Db25uZWN0aW9uDQoNCidBRE8tQ29ubmVjdGlvbnN0cmluZw0K +UHJpdmF0ZSBtX0Fkb0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQoNCicjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjDQonIEdyb3VwOiBFdmVudHMNCg0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBFdmVudDogRXJyb3JNaXNzaW5nQ3Vy +cmVudENvbm5lY3Rpb24NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicNCicgRXZlbnQgZm9yIG1pc3NpbmcgQURPREIgY29ubmVjdGlv +biByZWZlcmVuY2UNCicgKFBhc3NpbmcgdGhlIEFkb2RiSGFuZGxlciBldmVudDog +PGRhdGEuYWRvZGIuQWRvZGJIYW5kbGVyOjpFcnJvck1pc3NpbmdDdXJyZW50Q29u +bmVjdGlvbj4pDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBNc2cgICAtICBNZXNz +YWdlIGFib3V0IHRoZSBjYXVzZSBvZiB0aGUgZXZlbnQgdHJpZ2dlcmluZy4gKE5v +dCB5ZXQgdXNlZCkNCicgICAgIE5ld0N1cnJlbnRDb25uZWN0aW9uIC0gQURPREIu +Q29ubmVjdGlvbnJlZmVyZW5jZSB0byBiZSB1c2VkIGZvciBDdXJyZW50Q29ubmVj +dGlvbg0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIGFwcHJvcHJpYXRlIEFET0RC +LkRhdGFiYXNlIHJlZmVyZW5jZSBjYW4gYmUgcGFzc2VkIG9uIHZpYSB0aGUgQnlS +ZWYgcGFyYW1ldGVyIE5ld0N1cnJlbnRDb25uZWN0aW9uLg0KJyAgICAgSG93ZXZl +ciwgcGFzc2luZyBvbiBhIHJlZmVyZW5jZSBpcyBub3QgbWFuZGF0b3J5LCBzaW5j +ZSwgaXQgaXMgc3RvcmVkIGluIHRoZSBBZG9kYkhhbmRsZXIgcHJvcGVydHkgPGRh +dGEuYWRvZGIuQWRvZGJIYW5kbGVyOjpDdXJyZW50Q29ubmVjdGlvbj4uDQonICAg +ICBUaGUgY29ubmVjdGlvbiBpcyB0aGVuIGNyZWF0ZWQgZnJvbSB0aGUgPGRhdGEu +YWRvZGIuQWRvZGJIYW5kbGVyOjpDb25uZWN0aW9uU3RyaW5nPg0KJw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50 +IEVycm9yTWlzc2luZ0N1cnJlbnRDb25uZWN0aW9uKEJ5VmFsIE1zZyBBcyBTdHJp +bmcsIEJ5UmVmIE5ld0N1cnJlbnRDb25uZWN0aW9uIEFzIEFET0RCLkNvbm5lY3Rp +b24pDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgRXZlbnQ6IEVycm9yRW1wdHlPbGVkYkNvbm5lY3Rpb25TdHJpbmcNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRXZlbnQg +Zm9yIG1pc3NpbmcgT0xFREIgY29ubmVjdGlvbiBzdHJpbmcNCicNCicgUGFyYW1l +dGVyczoNCicgICAgIE1zZyAgICAgICAgICAgICAgICAgIC0gTWVzc2FnZSBhYm91 +dCB0aGUgY2F1c2Ugb2YgdGhlIGV2ZW50IHRyaWdnZXJpbmcuIChOb3QgeWV0IHVz +ZWQpDQonICAgICBOZXdDb25uZWN0aW9uU3RyaW5nICAtIE9MRURCIENvbm5lY3Rp +b25zdHJpbmcNCicNCicgUmVtYXJrczoNCicgICAgIFRoZSBhcHByb3ByaWF0ZSBP +TEVEQiBjb25uZWN0aW9uIHN0cmluZyBjYW4gYmUgcGFzc2VkIG9uIHZpYSB0aGUg +QnlSZWYgcGFyYW1ldGVyIE5ld0Nvbm5lY3Rpb25TdHJpbmcuDQonDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRXZlbnQg +RXJyb3JFbXB0eUNvbm5lY3Rpb25TdHJpbmcoQnlWYWwgTXNnIEFzIFN0cmluZywg +QnlSZWYgTmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcpDQoNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRXZlbnQ6IEhvb2tJ +bnNlcnRJZGVudGl0eVJldHVybg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJw0KJyBFdmVudCBmb3IgbWlzc2luZyBPTEVEQiBjb25u +ZWN0aW9uIHN0cmluZw0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgSW5zZXJ0U3Fs +ICAgICAgICAgICAgLSBTUUwgdGV4dCBvZiBpbnNlcnQgc3RhdGVtZW50DQonICAg +ICBJZGVudGl0eVRhYmxlICAgICAgICAtIElkZW50aXR5IHRhYmxlDQonICAgICBB +Y3RpdmVDb25uZWN0aW9uICAgICAtIEFET0RCIENvbm5lY3Rpb24gdG8gdXNlDQon +ICAgICBJZGVudGl0eVNlbGVjdFN0cmluZyAtIElucHV0IHN0cmluZyB0byB1c2UN +CicgICAgIEhvb2tSZXNwb25zZU1vZGUgICAgICAgLSByZXN1bWUgYWN0aW9uIGFm +dGVyIGV2ZW50IGNhbGw6IDAgLi4uIGNvZGUgcmVzdW1lIGFmdGVyIGV2ZW50LCAx +IGV4aXQgZnVuY3Rpb24gYWZ0ZXIgZXZlbnQNCicgICAgIEhvb2tSZXNwb25zZU1l +c3NhZ2UgICAgLSByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gKGUuZy4gSW5zZXJ0 +SWRlbnRpdHlSZXR1cm4pIHdoZW4gSG9va1Jlc3VtZU1vZGUgPD4gMA0KJw0KJyBS +ZW1hcmtzOg0KJyAgICAgTmV3IHZhbHVlcyBjYW4gYmUgcGFzc2VkIG9uIHZpYSB0 +aGUgQnlSZWYgcGFyYW1ldGVycy4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBFdmVudCBIb29rSW5zZXJ0SWRlbnRp +dHlSZXR1cm4oQnlSZWYgSW5zZXJ0U1FMIEFzIFN0cmluZywgQnlSZWYgSWRlbnRp +dHlUYWJsZSBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgQnlSZWYgQWN0aXZlQ29ubmVjdGlvbiBBcyBBRE9EQi5Db25u +ZWN0aW9uLCBCeVJlZiBJZGVudGl0eVNlbGVjdFN0cmluZyBBcyBTdHJpbmcsIF8N +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlSZWYgSG9v +a1Jlc3BvbnNlTW9kZSBBcyBMb25nLCBCeVJlZiBIb29rUmVzcG9uc2VNZXNzYWdl +IEFzIFZhcmlhbnQpDQoNClByaXZhdGUgbV9Ib29rc0VuYWJsZWQgQXMgQm9vbGVh +bg0KDQpQcml2YXRlIG1fRGVmYXVsdEN1cnNvckxvY2F0aW9uIEFzIEFET0RCLkN1 +cnNvckxvY2F0aW9uRW51bQ0KDQonIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJyBHcm91cDogQ2xh +c3MgY29udHJvbA0KDQonDQonIEluaXQgLyBUZXJtaW5hdGUNCicgLS0tLS0tLS0t +LS0tLS0tLQ0KUHJpdmF0ZSBTdWIgQ2xhc3NfSW5pdGlhbGl6ZSgpDQogICBtX0Rl +ZmF1bHRDdXJzb3JMb2NhdGlvbiA9IGFkVXNlU2VydmVyDQpFbmQgU3ViDQoNClBy +aXZhdGUgU3ViIENsYXNzX1Rlcm1pbmF0ZSgpDQogICBEaXNwb3NlDQpFbmQgU3Vi +DQoNClB1YmxpYyBTdWIgRGlzcG9zZSgpDQogICBTZXQgbV9BZG9Db25uZWN0aW9u +ID0gTm90aGluZw0KRW5kIFN1Yg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonIFByb3BlcnR5OiBIb29rc0VuYWJsZWQNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgQWN0aXZlIEhv +b2tzDQonDQonIFJlbWFya3M6DQonICAgICBVc2VkIGluIEluc2VydElkZW50aXR5 +UmV0dXJuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IEhvb2tzRW5hYmxlZCgpIEFzIEJvb2xl +YW4NCiAgIEhvb2tzRW5hYmxlZCA9IG1fSG9va3NFbmFibGVkDQpFbmQgUHJvcGVy +dHkNCg0KUHVibGljIFByb3BlcnR5IExldCBIb29rc0VuYWJsZWQoQnlWYWwgTmV3 +VmFsdWUgQXMgQm9vbGVhbikNCiAgIG1fSG9va3NFbmFibGVkID0gTmV3VmFsdWUN +CkVuZCBQcm9wZXJ0eQ0KDQpQdWJsaWMgUHJvcGVydHkgR2V0IERlZmF1bHRDdXJz +b3JMb2NhdGlvbigpIEFzIEFET0RCLkN1cnNvckxvY2F0aW9uRW51bQ0KICAgRGVm +YXVsdEN1cnNvckxvY2F0aW9uID0gbV9EZWZhdWx0Q3Vyc29yTG9jYXRpb24NCkVu +ZCBQcm9wZXJ0eQ0KDQpQdWJsaWMgUHJvcGVydHkgTGV0IERlZmF1bHRDdXJzb3JM +b2NhdGlvbihCeVZhbCBOZXdWYWx1ZSBBcyBBRE9EQi5DdXJzb3JMb2NhdGlvbkVu +dW0pDQogICBtX0RlZmF1bHRDdXJzb3JMb2NhdGlvbiA9IE5ld1ZhbHVlDQpFbmQg +UHJvcGVydHkNCg0KJyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCicgR3JvdXA6IERhdGEgQ29ubmVj +dGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonIFByb3BlcnR5OiBDdXJyZW50Q29ubmVjdGlvbg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBHZXQ6DQonICAgICBDdXJy +ZW50bHkgc2V0IEFET0RCIGNvbm5lY3Rpb24NCicNCicgU2V0Og0KJyAgICAgU2V0 +IG5ldyBBRE9EQiBjb25uZWN0aW9uDQonDQonIFJlbWFya3M6DQonICAgICBJZiB0 +aGVyZSBpcyBubyBBRE9EQiBjb25uZWN0aW9uIHlldCwgYSBuZXcgQURPREIgY29u +bmVjdGlvbiB3aWxsIGJlIGNyZWF0ZWQuDQonICAgICBJbnN0YW50aWF0aW9uIGZs +b3c6DQonICAgICAgICAxLiByYWlzZUV2ZW50ICNFcnJvck1pc3NpbmdDdXJyZW50 +Q29ubmVjdGlvbiAuLi4gaWYgbm8gY29ubmVjdGlvbiB3YXMgcGFzc2VkOg0KJyAg +ICAgICAgMi4gY3JlYXRlIG5ldyBBRE9EQiBjb25uZWN0aW9uIGJhc2VkIG9uIHRo +ZSBPTEVEQiBjb25uZWN0aW9uIHN0cmluZyAodXNlIHByb3BlcnR5IDxkYXRhLmFk +b2RiLkFkb2RiSGFuZGxlcjo6Q29ubmVjdGlvblN0cmluZz4pDQonDQonICAgICBJ +ZiBhIHJlZmVyZW5jZSB0byBhbiBBRE9EQiBjb25uZWN0aW9uIGFscmVhZHkgZXhp +c3RzLCBpdCB3aWxsIGJlIGNoZWNrZWQgaWYgaXQgaXMgY2xvc2VkIGFuZCBvcGVu +ZWQgaWYgbmVjZXNzYXJ5Lg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBDdXJyZW50Q29ubmVj +dGlvbigpIEFzIEFET0RCLkNvbm5lY3Rpb24NCg0KICAgRGltIHN0ckNvbm5TdHJp +bmcgQXMgU3RyaW5nDQoNCiAgIElmIChtX0Fkb0Nvbm5lY3Rpb24gSXMgTm90aGlu +ZykgVGhlbg0KICAgICAgJ1JlcXVlc3QgY29ubmVjdGlvbiB2aWEgZXZlbnQuDQog +ICAgICBSYWlzZUV2ZW50IEVycm9yTWlzc2luZ0N1cnJlbnRDb25uZWN0aW9uKCJV +bmF2YWlsYWJsZSBDdXJyZW50Q29ubmVjdGlvbiIsIG1fQWRvQ29ubmVjdGlvbikN +CiAgICAgIElmIChtX0Fkb0Nvbm5lY3Rpb24gSXMgTm90aGluZykgVGhlbg0KICAg +ICAgICAgJ1NldCBuZXcgY29ubmVjdGlvbiBpZiBubyBjb25uZWN0aW9uIHdhcyBw +YXNzZWQgYnkgZXZlbnQNCiAgICAgICAgIHN0ckNvbm5TdHJpbmcgPSBDb25uZWN0 +aW9uU3RyaW5nDQogICAgICAgICBJZiBMZW4oc3RyQ29ublN0cmluZykgPiAwIFRo +ZW4NCiAgICAgICAgICAgIFNldCBtX0Fkb0Nvbm5lY3Rpb24gPSBOZXcgQURPREIu +Q29ubmVjdGlvbg0KICAgICAgICAgICAgbV9BZG9Db25uZWN0aW9uLk9wZW4gc3Ry +Q29ublN0cmluZw0KICAgICAgICAgRW5kIElmDQogICAgICBFbmQgSWYNCiAgIEVs +c2VJZiAobV9BZG9Db25uZWN0aW9uLlN0YXRlIDw+IE9iamVjdFN0YXRlRW51bS5h +ZFN0YXRlT3BlbikgVGhlbg0KICAgICAgSWYgTGVuKG1fQWRvQ29ubmVjdGlvbi5D +b25uZWN0aW9uU3RyaW5nKSA+IDAgVGhlbg0KICAgICAgICAgbV9BZG9Db25uZWN0 +aW9uLk9wZW4NCiAgICAgIEVsc2UgJyhyZSlvcGVuIGNvbm5lY3Rpb24NCiAgICAg +ICAgIG1fQWRvQ29ubmVjdGlvbi5PcGVuIENvbm5lY3Rpb25TdHJpbmcNCiAgICAg +IEVuZCBJZg0KICAgRW5kIElmDQogICBTZXQgQ3VycmVudENvbm5lY3Rpb24gPSBt +X0Fkb0Nvbm5lY3Rpb24NCg0KRW5kIFByb3BlcnR5DQoNClB1YmxpYyBQcm9wZXJ0 +eSBTZXQgQ3VycmVudENvbm5lY3Rpb24oQnlSZWYgTmV3Q29ubmVjdGlvbiBBcyBB +RE9EQi5Db25uZWN0aW9uKQ0KICAgSWYgTm90IChtX0Fkb0Nvbm5lY3Rpb24gSXMg +Tm90aGluZykgVGhlbg0KICAgICAgSWYgbV9BZG9Db25uZWN0aW9uLlN0YXRlIDw+ +IGFkU3RhdGVDbG9zZWQgVGhlbg0KICAgICAgICAgbV9BZG9Db25uZWN0aW9uLkNs +b3NlDQogICAgICBFbmQgSWYNCiAgICAgIFNldCBtX0Fkb0Nvbm5lY3Rpb24gPSBO +b3RoaW5nDQogICBFbmQgSWYNCiAgIFNldCBtX0Fkb0Nvbm5lY3Rpb24gPSBOZXdD +b25uZWN0aW9uDQpFbmQgUHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogQ29ubmVjdGlvblN0cmlu +Zw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0K +JyBPTEVEQiBjb25uZWN0aW9uIHN0cmluZw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBDb25u +ZWN0aW9uU3RyaW5nKCkgQXMgU3RyaW5nDQogICBJZiBMZW4obV9BZG9Db25uZWN0 +aW9uU3RyaW5nKSA9IDAgVGhlbg0KICAgICAgSWYgTm90IChtX0Fkb0Nvbm5lY3Rp +b24gSXMgTm90aGluZykgVGhlbg0KICAgICAgICAgbV9BZG9Db25uZWN0aW9uU3Ry +aW5nID0gbV9BZG9Db25uZWN0aW9uLkNvbm5lY3Rpb25TdHJpbmcNCiAgICAgIEVu +ZCBJZg0KICAgICAgSWYgTGVuKG1fQWRvQ29ubmVjdGlvblN0cmluZykgPSAwIFRo +ZW4NCiAgICAgICAgIFJhaXNlRXZlbnQgRXJyb3JFbXB0eUNvbm5lY3Rpb25TdHJp +bmcoIkFkb2RiSGFuZGxlci5Db25uZWN0aW9uU3RyaW5nIiwgbV9BZG9Db25uZWN0 +aW9uU3RyaW5nKQ0KICAgICAgRW5kIElmDQogICBFbmQgSWYNCiAgIENvbm5lY3Rp +b25TdHJpbmcgPSBtX0Fkb0Nvbm5lY3Rpb25TdHJpbmcNCkVuZCBQcm9wZXJ0eQ0K +DQpQdWJsaWMgUHJvcGVydHkgTGV0IENvbm5lY3Rpb25TdHJpbmcoQnlWYWwgVmFs +dWUgQXMgU3RyaW5nKQ0KICAgU2V0IEN1cnJlbnRDb25uZWN0aW9uID0gTm90aGlu +Zw0KICAgbV9BZG9Db25uZWN0aW9uU3RyaW5nID0gVmFsdWUNCkVuZCBQcm9wZXJ0 +eQ0KDQonIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIw0KJyBHcm91cDogRGF0YSBPcGVyYXRpb25zDQoN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVu +Y3Rpb246IEV4ZWN1dGUNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicNCicgRXhlY3V0ZSBTUUwgc3RhdGVtZW50DQonDQonIFBhcmFt +ZXRlcnM6DQonICAgICBDb21tYW5kVGV4dCAgICAgICAtIFNRTCBzdGF0ZW1lbnQN +CicgICAgIFJlY29yZHNBZmZlY3RlZCAgIC0gQnlSZWYgcGFyYW1ldGVyIHRvIHJl +dHVybiB0aGUgbnVtYmVyIG9mIHJlY29yZHMgYWZmZWN0ZWQgYnkgdGhlIEV4ZWN1 +dGUgc3RhdGVtZW50Lg0KJyAgICAgT3B0aW9ucyAgICAgICAgICAgLSBhZGRpdGlv +bmFsIG9wdGlvbnMgb2YgdGhlIEFET0RCLkNvbm5lY3Rpb24uRXhlY3V0ZSBtZXRo +b2QNCicNCicgUmV0dXJuczoNCicgICAgIEFET0RCLlJlY29yZHNldA0KJw0KJyBS +ZW1hcmtzOg0KJyAgICAgRW5jYXBzdWxhdGlvbiBvZiB0aGUgQURPREIuQ29ubmVj +dGlvbi5FeGVjdXRlIG1ldGhvZCAocGFyYW1ldGVycyBhcmUgcGFzc2VkIG9uIDE6 +MSkNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +ClB1YmxpYyBGdW5jdGlvbiBFeGVjdXRlKEJ5VmFsIENvbW1hbmRUZXh0IEFzIFN0 +cmluZywgXw0KICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlSZWYgUmVjb3Jkc0Fm +ZmVjdGVkIEFzIExvbmcsIF8NCiAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFs +IE9wdGlvbnMgQXMgQURPREIuRXhlY3V0ZU9wdGlvbkVudW0gPSAtMSkgQXMgQURP +REIuUmVjb3Jkc2V0DQogICBTZXQgRXhlY3V0ZSA9IE1lLkN1cnJlbnRDb25uZWN0 +aW9uLkV4ZWN1dGUoQ29tbWFuZFRleHQsIFJlY29yZHNBZmZlY3RlZCwgT3B0aW9u +cykNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBFeGVjdXRlQ29tbWFuZA0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBFeGVjdXRl +IHNxbCBzdGF0ZW1lbnQgdXNpbmcgQURPREIuQ29tbWFuZA0KJw0KJyBQYXJhbWV0 +ZXJzOg0KJyAgICAgQ21kVGV4dCAgICAgICAgICAgLSBBRE9EQi5Db21tYW5kVGV4 +dCB2YWx1ZQ0KJyAgICAgQ21kVHlwZSAgICAgICAgICAgLSBBRE9EQi5Db21tYW5k +VHlwZSB2YWx1ZQ0KJyAgICAgQ21kUGFyYW1EZWZzICAgICAgLSAyLWRpbWVuc2lv +bmFsIHBhcmFtZXRlciBhcnJheSAoQXJyYXkobiwxKSAuLi4geChuLDApID0gcGFy +YW1ldGVyIG5hbWUsIHgobiwxKSA9IHBhcmFtZXRlciB2YWx1ZSkNCicgICAgIFJl +Y29yZHNBZmZlY3RlZCAgIC0gQnlSZWYgcGFyYW1ldGVyIHRvIHJldHVybiB0aGUg +bnVtYmVyIG9mIHJlY29yZHMgYWZmZWN0ZWQgYnkgdGhlIEV4ZWN1dGUgc3RhdGVt +ZW50Lg0KJyAgICAgT3B0aW9ucyAgICAgICAgICAgLSBhZGRpdGlvbmFsIG9wdGlv +bnMgb2YgdGhlIEFET0RCLkNvbW1hbmQuRXhlY3V0ZSBtZXRob2QNCicNCicgUmV0 +dXJuczoNCicgICAgIEFET0RCLlJlY29yZHNldA0KJw0KJyBSZW1hcmtzOg0KJyAg +ICAgV2l0aCB0aGlzIHZhcmlhbnQsIFNRTCBpbmplY3Rpb24gY2FuIGJlIGF2b2lk +ZWQgdmVyeSBlYXNpbHksDQonICAgICBzaW5jZSB0aGUgcGFyYW1ldGVycyBhcmUg +bm90IGJ1aWx0IGRpcmVjdGx5IGludG8gdGhlIFNRTCBzdGF0ZW1lbnQNCicgICAg +IGFuZCB0aHVzIGEgcGFyYW1ldGVyIHZhbHVlICh3aGljaCBjb21lcyBmcm9tIGEg +dXNlciBpbnB1dCwgZm9yIGV4YW1wbGUpIGNhbm5vdCBpbmplY3QgYW4gU1FMIHN0 +YXRlbWVudC4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBGdW5jdGlvbiBFeGVjdXRlQ29tbWFuZChCeVZhbCBDbWRU +ZXh0IEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IEJ5VmFsIENtZFR5cGUgQXMgQURPREIuQ29tbWFuZFR5cGVFbnVtLCBfDQogICAg +ICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgQ21kUGFyYW1EZWZzIEFz +IFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVJl +ZiBSZWNvcmRzQWZmZWN0ZWQgQXMgTG9uZywgXw0KICAgICAgICAgICAgICAgICAg +ICAgIE9wdGlvbmFsIEJ5VmFsIE9wdGlvbnMgQXMgTG9uZyA9IC0xKSBBcyBBRE9E +Qi5SZWNvcmRzZXQNCiAgICAgICAgICAgICAgICAgICAgICANCiAgIERpbSBjbWQg +QXMgQURPREIuQ29tbWFuZA0KICAgRGltIFBhcmFtRGVmc0FycmF5U2l6ZSBBcyBM +b25nDQogICBEaW0gaSBBcyBMb25nDQogICBEaW0gUGFyYW1OYW1lIEFzIFN0cmlu +Zw0KDQogICBTZXQgY21kID0gTmV3IEFET0RCLkNvbW1hbmQNCiAgIFdpdGggY21k +DQogICANCiAgICAgIFNldCAuQWN0aXZlQ29ubmVjdGlvbiA9IE1lLkN1cnJlbnRD +b25uZWN0aW9uDQogICAgICAuQ29tbWFuZFRleHQgPSBDbWRUZXh0DQogICAgICAu +Q29tbWFuZFR5cGUgPSBDbWRUeXBlDQogICANCiAgICAgIElmIE5vdCBJc01pc3Np +bmcoQ21kUGFyYW1EZWZzKSBUaGVuDQogICAgICAgICBQYXJhbURlZnNBcnJheVNp +emUgPSBVQm91bmQoQ21kUGFyYW1EZWZzLCAxKQ0KICAgICAgICAgRm9yIGkgPSAw +IFRvIFBhcmFtRGVmc0FycmF5U2l6ZQ0KICAgICAgICAgICAgUGFyYW1OYW1lID0g +TnooQ21kUGFyYW1EZWZzKGksIDApLCB2Yk51bGxTdHJpbmcpDQogICAgICAgICAg +ICBJZiBMZW4oUGFyYW1OYW1lKSA+IDAgVGhlbg0KICAgICAgICAgICAgICAgLlBh +cmFtZXRlcnMoUGFyYW1OYW1lKS5WYWx1ZSA9IENtZFBhcmFtRGVmcyhpLCAxKQ0K +ICAgICAgICAgICAgRW5kIElmDQogICAgICAgICBOZXh0IGkNCiAgICAgIEVuZCBJ +Zg0KICAgICAgDQogICAgICBTZXQgRXhlY3V0ZUNvbW1hbmQgPSAuRXhlY3V0ZShS +ZWNvcmRzQWZmZWN0ZWQsICwgT3B0aW9ucykNCiAgICAgIA0KICAgRW5kIFdpdGgN +CiAgIFNldCBjbWQgPSBOb3RoaW5nDQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBP +cGVuUmVjb3Jkc2V0DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonDQonIE9wdGltaXplcyBBRE9EQi5SZWNvcmRzZXQuT3BlbiBtZXRo +b2QNCicNCicgUGFyYW1ldGVyczoNCicgICAgIFNvdXJjZSAgICAgICAgICAgICAg +ICAgIC0gRGF0YSBzb3VyY2UgKGUuZy4gU1FMIHN0YXRlbWVudCkNCicgICAgIEN1 +cnNvclR5cGUgICAgICAgICAgICAgIC0gQURPREIuQ3Vyc29yVHlwZUVudW0gdmFs +dWUNCicgICAgIExvY2tUeXBlICAgICAgICAgICAgICAgIC0gQURPREIuTG9ja1R5 +cGVFbnVtIHZhbHVlDQonICAgICBDdXJzb3JMb2NhdGlvbiAgICAgICAgICAtIEFE +T0RCLkN1cnNvckxvY2F0aW9uRW51bSB2YWx1ZQ0KJyAgICAgRGlzY29ubmVjdGVk +UmVjb3Jkc2V0ICAgLSBUcnVlOiBkaXNjb25uZWN0IGNvbm5lY3Rpb24gZnJvbSBy +ZWNvcmRzZXQgYWZ0ZXIgb3BlbmluZw0KJw0KJyBSZXR1cm5zOg0KJyAgICAgQURP +REIuUmVjb3Jkc2V0DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gT3BlblJlY29yZHNldChCeVZhbCBT +b3VyY2UgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAgICAgICBPcHRpb25h +bCBCeVZhbCBDdXJzb3JUeXBlIEFzIEFET0RCLkN1cnNvclR5cGVFbnVtID0gQURP +REIuQ3Vyc29yVHlwZUVudW0uYWRPcGVuRm9yd2FyZE9ubHksIF8NCiAgICAgICAg +ICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIExvY2tUeXBlIEFzIEFET0RCLkxv +Y2tUeXBlRW51bSA9IEFET0RCLkxvY2tUeXBlRW51bS5hZExvY2tSZWFkT25seSwg +Xw0KICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgQ3Vyc29yTG9j +YXRpb24gQXMgQURPREIuQ3Vyc29yTG9jYXRpb25FbnVtID0gLTEsIF8NCiAgICAg +ICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIERpc2Nvbm5lY3RlZFJlY29y +ZHNldCBBcyBCb29sZWFuID0gRmFsc2UpIEFzIEFET0RCLlJlY29yZHNldA0KDQog +ICBEaW0gcnN0IEFzIEFET0RCLlJlY29yZHNldA0KICAgDQogICBJZiBDdXJzb3JM +b2NhdGlvbiA9IC0xIFRoZW4NCiAgICAgIEN1cnNvckxvY2F0aW9uID0gbV9EZWZh +dWx0Q3Vyc29yTG9jYXRpb24NCiAgIEVuZCBJZg0KICAgDQogICBJZiBEaXNjb25u +ZWN0ZWRSZWNvcmRzZXQgVGhlbg0KICAgICAgSWYgQ3Vyc29yTG9jYXRpb24gPSBh +ZFVzZVNlcnZlciBUaGVuDQogICAgICAgICBDdXJzb3JMb2NhdGlvbiA9IGFkVXNl +Q2xpZW50DQogICAgICBFbmQgSWYNCiAgICAgIElmIEN1cnNvclR5cGUgPSBhZE9w +ZW5Gb3J3YXJkT25seSBUaGVuDQogICAgICAgICBDdXJzb3JUeXBlID0gYWRPcGVu +S2V5c2V0DQogICAgICBFbmQgSWYNCiAgIEVuZCBJZg0KDQogICBTZXQgcnN0ID0g +TmV3IEFET0RCLlJlY29yZHNldA0KICAgV2l0aCByc3QNCiAgICAgIC5DdXJzb3JM +b2NhdGlvbiA9IEN1cnNvckxvY2F0aW9uDQogICAgICAuT3BlbiBTb3VyY2UsIE1l +LkN1cnJlbnRDb25uZWN0aW9uLCBDdXJzb3JUeXBlLCBMb2NrVHlwZQ0KICAgICAg +DQogICAgICBJZiBEaXNjb25uZWN0ZWRSZWNvcmRzZXQgVGhlbg0KICAgICAgICAg +U2V0IC5BY3RpdmVDb25uZWN0aW9uID0gTm90aGluZw0KICAgICAgRW5kIElmDQog +ICAgICANCiAgIEVuZCBXaXRoDQogICBTZXQgT3BlblJlY29yZHNldCA9IHJzdA0K +ICAgDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogT3BlblJlY29yZHNldENvbW1hbmRQ +YXJhbQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +Jw0KJyBPcGVuIHJlY29yZHNldCB1c2luZyBBRE9EQi5Db21tYW5kDQonDQonIFBh +cmFtZXRlcnM6DQonICAgICBDbWRUZXh0ICAgICAgICAgICAgICAgICAtIEFET0RC +LkNvbW1hbmRUZXh0IHZhbHVlDQonICAgICBDbWRUeXBlICAgICAgICAgICAgICAg +ICAtIEFET0RCLkNvbW1hbmRUeXBlIHZhbHVlDQonICAgICBDbWRQYXJhbURlZnMg +ICAgICAgICAgICAtIDItZGltZW5zaW9uYWwgcGFyYW1ldGVyIGFycmF5IChBcnJh +eShuLDEpIC4uLiB4KG4sMCkgPSBwYXJhbWV0ZXIgbmFtZSwgeChuLDEpID0gcGFy +YW1ldGVyIHZhbHVlKQ0KJyAgICAgUmVjb3Jkc0FmZmVjdGVkICAgICAgICAgLSBC +eVJlZiBwYXJhbWV0ZXIgdG8gcmV0dXJuIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBh +ZmZlY3RlZCBieSB0aGUgRXhlY3V0ZSBzdGF0ZW1lbnQuDQonICAgICBPcHRpb25z +ICAgICAgICAgICAgICAgICAtIGFkZGl0aW9uYWwgb3B0aW9ucyBvZiB0aGUgQURP +REIuQ29tbWFuZC5FeGVjdXRlIG1ldGhvZA0KJyAgICAgRGlzY29ubmVjdGVkUmVj +b3Jkc2V0ICAgLSBUcnVlOiBkaXNjb25uZWN0IGNvbm5lY3Rpb24gZnJvbSByZWNv +cmRzZXQgYWZ0ZXIgb3BlbmluZw0KJw0KJyBSZXR1cm5zOg0KJyAgICAgQURPREIu +UmVjb3Jkc2V0DQonDQonIFJlbWFya3M6DQonICAgICBXaXRoIHRoaXMgdmFyaWFu +dCwgU1FMIGluamVjdGlvbiBjYW4gYmUgYXZvaWRlZCB2ZXJ5IGVhc2lseSwNCicg +ICAgIHNpbmNlIHRoZSBwYXJhbWV0ZXJzIGFyZSBub3QgYnVpbHQgZGlyZWN0bHkg +aW50byB0aGUgU1FMIHN0YXRlbWVudA0KJyAgICAgYW5kIHRodXMgYSBwYXJhbWV0 +ZXIgdmFsdWUgKHdoaWNoIGNvbWVzIGZyb20gYSB1c2VyIGlucHV0LCBmb3IgZXhh +bXBsZSkgY2Fubm90IGluamVjdCBhbiBTUUwgc3RhdGVtZW50Lg0KJw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0 +aW9uIE9wZW5SZWNvcmRzZXRDb21tYW5kUGFyYW0oQnlWYWwgQ21kVGV4dCBBcyBT +dHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIEJ5VmFsIENtZFR5cGUgQXMgQURPREIuQ29tbWFuZFR5cGVFbnVtLCBfDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBD +bWRQYXJhbURlZnMgQXMgVmFyaWFudCwgXw0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgT3B0aW9uYWwgQnlSZWYgUmVjb3Jkc0FmZmVjdGVkIEFzIExv +bmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFs +IEJ5VmFsIE9wdGlvbnMgQXMgTG9uZyA9IC0xLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBEaXNjb25uZWN0ZWRSZWNv +cmRzZXQgQXMgQm9vbGVhbiA9IEZhbHNlKSBBcyBBRE9EQi5SZWNvcmRzZXQNCg0K +ICAgRGltIHJzdCBBcyBBRE9EQi5SZWNvcmRzZXQNCiAgIA0KICAgU2V0IHJzdCA9 +IEV4ZWN1dGVDb21tYW5kKENtZFRleHQsIENtZFR5cGUsIENtZFBhcmFtRGVmcywg +UmVjb3Jkc0FmZmVjdGVkLCBPcHRpb25zKQ0KICAgSWYgRGlzY29ubmVjdGVkUmVj +b3Jkc2V0IFRoZW4NCiAgICAgIFNldCByc3QuQWN0aXZlQ29ubmVjdGlvbiA9IE5v +dGhpbmcNCiAgIEVuZCBJZg0KICAgDQogICBTZXQgT3BlblJlY29yZHNldENvbW1h +bmRQYXJhbSA9IHJzdA0KDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogTG9va3VwU1FM +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQon +IExvb2t1cCBBRE9EQi5SZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9y +IERMb29rdXAgKHBhc3NpbmcgYSBTUUwgc3RhdGVtZW50KQ0KJw0KJyBQYXJhbWV0 +ZXJzOg0KJyAgICAgU3FsVGV4dCAgICAgLSBTUUwgc3RhdGVtZW50DQonICAgICBJ +bmRleCAgICAgICAtIEZpZWxkIHNlbGVjdGlvbiBpZiB0aGUgZmlyc3QgZmllbGQg +b2YgdGhlIHJlY29yZHNldCBpcyBub3QgdG8gYmUgcmV0dXJuZWQuDQonICAgICAg +ICAgICAgICAgICAgIFRoZSBpbmRleCBpcyBwYXNzZWQgaW4gdGhlIHNhbWUgd2F5 +IGFzIEFET0RCLlJlY29yZHNldC5GaWVsZHMoaW5kZXgpLg0KJyAgICAgVmFsdWVJ +Zk51bGwgLSBSZXR1cm4gdmFsdWUgaWYgcmVjb3JkIGlzIG1pc3Npbmcgb3IgZGF0 +YSBmaWVsZCB2YWx1ZSBpcyBOdWxsIChkZWZhdWx0OiBOdWxsKS4NCicNCicgUmV0 +dXJuczoNCicgICAgIFZhcmlhbnQgIC0gTnVsbCwgaWYgU1FMIHN0YXRlbWVudCBk +b2VzIG5vdCByZXR1cm4gYSByZWNvcmQuDQonDQonIFJlbWFya3M6DQonICAgICBU +aGUgU1FMIHN0YXRlbWVudCBtdXN0IGJlIHdyaXR0ZW4gaW4gdGhlIFNRTCBkaWFs +ZWN0IG9mIHRoZSBEQk1TIGNvbmNlcm5lZC4NCicNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBMb29rdXBT +cWwoQnlWYWwgU3FsVGV4dCBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAg +T3B0aW9uYWwgQnlWYWwgSW5kZXggQXMgVmFyaWFudCA9IDAmLCBfDQogICAgICAg +ICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIFZhbHVlSWZOdWxsIEFzIFZhcmlhbnQg +PSBOdWxsKSBBcyBWYXJpYW50DQoNCiAgIERpbSByc3QgQXMgQURPREIuUmVjb3Jk +c2V0DQoNCk9uIEVycm9yIEdvVG8gSGFuZGxlRXJyDQoNCiAgIFNldCByc3QgPSBN +ZS5PcGVuUmVjb3Jkc2V0KFNxbFRleHQsIGFkT3BlbkZvcndhcmRPbmx5LCBhZExv +Y2tSZWFkT25seSwgYWRVc2VTZXJ2ZXIpDQogICBXaXRoIHJzdA0KICAgICAgSWYg +LkVPRiBUaGVuDQogICAgICAgICBMb29rdXBTcWwgPSBWYWx1ZUlmTnVsbA0KICAg +ICAgRWxzZQ0KICAgICAgICAgTG9va3VwU3FsID0gTnooLkZpZWxkcyhJbmRleCks +IFZhbHVlSWZOdWxsKQ0KICAgICAgRW5kIElmDQogICAgICAuQ2xvc2UNCiAgIEVu +ZCBXaXRoDQogICBTZXQgcnN0ID0gTm90aGluZw0KDQpFeGl0SGVyZToNCiAgIEV4 +aXQgRnVuY3Rpb24NCiAgIA0KSGFuZGxlRXJyOg0KICAgSWYgTm90IChyc3QgSXMg +Tm90aGluZykgVGhlbg0KICAgICAgcnN0LkNsb3NlDQogICAgICBTZXQgcnN0ID0g +Tm90aGluZw0KICAgRW5kIElmDQoNCiAgIEVyci5SYWlzZSBFcnIuTnVtYmVyLCAi +TG9va3VwU1FMOiIgJiBFcnIuU291cmNlLCBFcnIuRGVzY3JpcHRpb24sIEVyci5I +ZWxwRmlsZSwgRXJyLkhlbHBDb250ZXh0DQoNCkVuZCBGdW5jdGlvbg0KDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9u +OiBMb29rdXANCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCicNCicgQURPREIuUmVjb3Jkc2V0IHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZv +ciBETG9va3VwDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBFeHByICAgICAgICAt +IEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRlZCBleHByZXNzaW9uIChzZWxlY3QgcGFy +dCkNCicgICAgIERvbWFpbiAgICAgIC0gVGFibGUsIHF1ZXJ5IG9yIFNRTCBleHBy +ZXNzaW9uIGZvciBzdWItcXVlcnkgKEZST00gcGFydCkNCicgICAgIENyaXRlcmlh +ICAgIC0gKE9wdGlvbmFsKSBDcml0ZXJpYSBzdHJpbmcgKFdIRVJFIHBhcnQpDQon +ICAgICBWYWx1ZUlmTnVsbCAtIFJldHVybiB2YWx1ZSBpZiByZWNvcmQgaXMgbWlz +c2luZyBvciBkYXRhIGZpZWxkIHZhbHVlIGlzIE51bGwgKGRlZmF1bHQ6IE51bGwp +Lg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVmFyaWFudA0KJw0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIExv +b2t1cChCeVZhbCBFeHByIEFzIFN0cmluZywgQnlWYWwgRG9tYWluIEFzIFN0cmlu +ZywgXw0KICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBDcml0ZXJpYSBBcyBW +YXJpYW50LCBfDQogICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIFZhbHVlSWZO +dWxsIEFzIFZhcmlhbnQgPSBOdWxsKSBBcyBWYXJpYW50DQoNCiAgIERpbSBTZWxl +Y3RTcWwgQXMgU3RyaW5nDQoNCiAgIFNlbGVjdFNxbCA9IEJ1aWxkU2VsZWN0U3Fs +KEV4cHIsIERvbWFpbiwgQ3JpdGVyaWEsIEZhbHNlKQ0KICAgTG9va3VwID0gTWUu +TG9va3VwU3FsKFNlbGVjdFNxbCwgLCBWYWx1ZUlmTnVsbCkNCg0KRW5kIEZ1bmN0 +aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQnVpbGRTZWxlY3RTcWwoQnlWYWwgRXhw +ciBBcyBTdHJpbmcsIEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5 +VmFsIENyaXRlcmlhIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgICAgICAg +ICAgT3B0aW9uYWwgQnlWYWwgRGlzdGluY3QgQXMgQm9vbGVhbiA9IEZhbHNlKQ0K +DQogICBEaW0gU2VsZWN0U3FsIEFzIFN0cmluZw0KDQogICBTZWxlY3RTcWwgPSAi +U0VMRUNUICINCiAgIElmIERpc3RpbmN0IFRoZW4NCiAgICAgIFNlbGVjdFNxbCA9 +IFNlbGVjdFNxbCAmICJEaXN0aW5jdCAiDQogICBFbmQgSWYNCiAgIFNlbGVjdFNx +bCA9IFNlbGVjdFNxbCAmIEV4cHIgJiAiIEZST00gKCIgJiBEb21haW4gJiAiKSIN +CiAgIElmIE5vdCAoVmFyVHlwZShDcml0ZXJpYSkgPSB2YkVycm9yKSBUaGVuDQog +ICAgICBJZiBMZW4oQ3JpdGVyaWEpID4gMCBUaGVuDQogICAgICAgICBTZWxlY3RT +cWwgPSBTZWxlY3RTcWwgJiAiIFdIRVJFICIgJiBDcml0ZXJpYQ0KICAgICAgRW5k +IElmDQogICBFbmQgSWYNCiAgIA0KICAgQnVpbGRTZWxlY3RTcWwgPSBTZWxlY3RT +cWwNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IENvdW50DQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEFET0RCLlJlY29yZHNl +dCByZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgRENvdW50DQonDQonIFBhcmFtZXRl +cnM6DQonICAgICBFeHByICAgICAgICAtIEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRl +ZCBleHByZXNzaW9uIChzZWxlY3QgcGFydCkNCicgICAgIERvbWFpbiAgICAgIC0g +VGFibGUsIHF1ZXJ5IG9yIFNRTCBleHByZXNzaW9uIGZvciBzdWItcXVlcnkgKEZS +T00gcGFydCkNCicgICAgIENyaXRlcmlhICAgIC0gKE9wdGlvbmFsKSBDcml0ZXJp +YSBzdHJpbmcgKFdIRVJFIHBhcnQpDQonDQonIFJldHVybnM6DQonICAgICBMb25n +DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQ +dWJsaWMgRnVuY3Rpb24gQ291bnQoQnlWYWwgRXhwciBBcyBTdHJpbmcsIEJ5VmFs +IERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFzIFZh +cmlhbnQsIF8NCiAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBEaXN0aW5jdCBB +cyBCb29sZWFuID0gRmFsc2UpIEFzIExvbmcNCiAgICAgICAgICAgICANCiAgIElm +IERpc3RpbmN0IFRoZW4NCiAgICAgIElmIEV4cHIgPD4gIioiIFRoZW4NCiAgICAg +ICAgIERvbWFpbiA9ICIoIiAmIEJ1aWxkU2VsZWN0U3FsKEV4cHIsIERvbWFpbiwg +Q3JpdGVyaWEsIFRydWUpICYgIikiDQogICAgICAgICBDcml0ZXJpYSA9IHZiTnVs +bFN0cmluZw0KICAgICAgRW5kIElmDQogICBFbmQgSWYNCiAgIA0KICAgQ291bnQg +PSBOeihNZS5Mb29rdXAoIkNvdW50KCIgJiBFeHByICYgIikiLCBEb21haW4sIENy +aXRlcmlhKSwgMCkNCiAgIA0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IE1heA0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBBRE9E +Qi5SZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERNYXgNCicNCicg +UGFyYW1ldGVyczoNCicgICAgIEV4cHIgICAgICAgIC0gRmllbGQgbmFtZSBvciBj +YWxjdWxhdGVkIGV4cHJlc3Npb24gKHNlbGVjdCBwYXJ0KQ0KJyAgICAgRG9tYWlu +ICAgICAgLSBUYWJsZSwgcXVlcnkgb3IgU1FMIGV4cHJlc3Npb24gZm9yIHN1Yi1x +dWVyeSAoRlJPTSBwYXJ0KQ0KJyAgICAgQ3JpdGVyaWEgICAgLSAoT3B0aW9uYWwp +IENyaXRlcmlhIHN0cmluZyAoV0hFUkUgcGFydCkNCicNCicgUmV0dXJuczoNCicg +ICAgIFZhcmlhbnQNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBNYXgoQnlWYWwgRXhwciBBcyBTdHJp +bmcsIEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRl +cmlhIEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgIE1heCA9IE1lLkxvb2t1cCgi +TWF4KCIgJiBFeHByICYgIikiLCBEb21haW4sIENyaXRlcmlhKQ0KRW5kIEZ1bmN0 +aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgRnVuY3Rpb246IE1pbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KJyBBRE9EQi5SZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVu +Y3Rpb24gZm9yIERNaW4NCicNCicgUGFyYW1ldGVyczoNCicgICAgIEV4cHIgICAg +ICAgIC0gRmllbGQgbmFtZSBvciBjYWxjdWxhdGVkIGV4cHJlc3Npb24gKHNlbGVj +dCBwYXJ0KQ0KJyAgICAgRG9tYWluICAgICAgLSBUYWJsZSwgcXVlcnkgb3IgU1FM +IGV4cHJlc3Npb24gZm9yIHN1Yi1xdWVyeSAoRlJPTSBwYXJ0KQ0KJyAgICAgQ3Jp +dGVyaWEgICAgLSAoT3B0aW9uYWwpIENyaXRlcmlhIHN0cmluZyAoV0hFUkUgcGFy +dCkNCicNCicgUmV0dXJuczoNCicgICAgIFZhcmlhbnQNCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBN +aW4oQnlWYWwgRXhwciBBcyBTdHJpbmcsIEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcs +IE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQN +CiAgIE1pbiA9IE1lLkxvb2t1cCgiTWluKCIgJiBFeHByICYgIikiLCBEb21haW4s +IENyaXRlcmlhKQ0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IFN1bQ0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBBRE9EQi5SZWNv +cmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERTdW0NCicNCicgUGFyYW1l +dGVyczoNCicgICAgIEV4cHIgICAgICAgIC0gRmllbGQgbmFtZSBvciBjYWxjdWxh +dGVkIGV4cHJlc3Npb24gKHNlbGVjdCBwYXJ0KQ0KJyAgICAgRG9tYWluICAgICAg +LSBUYWJsZSwgcXVlcnkgb3IgU1FMIGV4cHJlc3Npb24gZm9yIHN1Yi1xdWVyeSAo +RlJPTSBwYXJ0KQ0KJyAgICAgQ3JpdGVyaWEgICAgLSAoT3B0aW9uYWwpIENyaXRl +cmlhIHN0cmluZyAoV0hFUkUgcGFydCkNCicNCicgUmV0dXJuczoNCicgICAgIFZh +cmlhbnQNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NClB1YmxpYyBGdW5jdGlvbiBTdW0oQnlWYWwgRXhwciBBcyBTdHJpbmcsIEJ5 +VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFz +IFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgIFN1bSA9IE1lLkxvb2t1cCgiU3VtKCIg +JiBFeHByICYgIikiLCBEb21haW4sIENyaXRlcmlhKQ0KRW5kIEZ1bmN0aW9uDQoN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVu +Y3Rpb246IEV4aXN0cw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJw0KJyBDaGVjayBpZiByZWNvcmQgZXhpc3RzDQonDQonIFBhcmFt +ZXRlcnM6DQonICAgICBEb21haW4gICAtIGRhdGEgc291cmNlIChGUk9NIHBhcnQp +DQonICAgICBDcml0ZXJpYSAtIChPcHRpb25hbCkgQ3JpdGVyaWEgc3RyaW5nIChX +SEVSRSBwYXJ0KQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgQm9vbGVhbg0KJw0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1 +bmN0aW9uIEV4aXN0cyhCeVZhbCBEb21haW4gQXMgU3RyaW5nLCBfDQogICAgICAg +ICAgICAgIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFzIFN0cmluZyA9IHZiTnVs +bFN0cmluZykgQXMgQm9vbGVhbg0KDQogICBEaW0gc3RyU1FMIEFzIFN0cmluZw0K +DQogICBzdHJTUUwgPSAiU0VMRUNUIDEgRlJPTSAiICYgRG9tYWluDQogICBJZiBM +ZW4oQ3JpdGVyaWEpID4gMCBUaGVuDQogICAgICBzdHJTUUwgPSBzdHJTUUwgJiAi +IFdIRVJFICIgJiBDcml0ZXJpYQ0KICAgRW5kIElmDQogICBFeGlzdHMgPSAoTG9v +a3VwU3FsKHN0clNRTCwgLCAwKSA9IDEpDQoNCkVuZCBGdW5jdGlvbg0KDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9u +OiBJbnNlcnRJZGVudGl0eVJldHVybg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBFeGVjdXRlIGluc2VydCBTUUwgc3RhdGVt +ZW50IGFuZCByZXR1cm4gbGFzdCBpZGVudGl0eSB2YWx1ZSAoYXV0byB2YWx1ZSkN +CicNCicgUGFyYW1ldGVyczoNCicgICAgIEluc2VydFNRTCAgIC0gSW5zZXJ0IFNR +TCBzdGF0ZW1lbnQNCicNCicgUmV0dXJuczoNCicgICAgIElkZW50aXR5IHZhbHVl +IG9yIE5VTEwgaWYgbm8gcmVjb3JkIHdhcyBhcHBlbmRlZA0KJw0KJyBSZW1hcmtz +Og0KJyAgICAgV29ya3MgZm9yIEpldCBvbmx5IGZyb20gSmV0IDQuMCAoQWNjZXNz +IDIwMDApLCBJZGVudGl0eVRhYmxlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgTVNT +UUwsIHVuZGVyIE15U1FMIHRoZSBJREVOVF9DVVJSRU5UIGZ1bmN0aW9uIGRvZXMg +bm90IGV4aXN0Lg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIEluc2VydElkZW50aXR5UmV0dXJuKEJ5 +VmFsIEluc2VydFNRTCBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIElkZW50aXR5 +VGFibGUgQXMgU3RyaW5nID0gdmJOdWxsU3RyaW5nKSBBcyBWYXJpYW50DQoNCiAg +IERpbSBjbm4gQXMgQURPREIuQ29ubmVjdGlvbg0KICAgRGltIHJzdCBBcyBBRE9E +Qi5SZWNvcmRzZXQNCiAgIERpbSBSZWNvcmRzQWZmZWN0ZWQgQXMgTG9uZw0KICAg +RGltIElkZW50aXR5U3FsIEFzIFN0cmluZw0KICAgDQogICBEaW0gQ3VycmVudEhv +b2tSZXN1bWVNb2RlIEFzIExvbmcNCiAgIERpbSBDdXJyZW50SG9va1Jlc3VtZU1l +c3NhZ2UgQXMgVmFyaWFudA0KDQogICBTZXQgY25uID0gTWUuQ3VycmVudENvbm5l +Y3Rpb24NCiAgIA0KICAgSWYgbV9Ib29rc0VuYWJsZWQgVGhlbg0KICAgICAgUmFp +c2VFdmVudCBIb29rSW5zZXJ0SWRlbnRpdHlSZXR1cm4oSW5zZXJ0U1FMLCBJZGVu +dGl0eVRhYmxlLCBjbm4sIElkZW50aXR5U3FsLCBDdXJyZW50SG9va1Jlc3VtZU1v +ZGUsIEN1cnJlbnRIb29rUmVzdW1lTWVzc2FnZSkNCiAgICAgIElmIEN1cnJlbnRI +b29rUmVzdW1lTW9kZSA8PiAwIFRoZW4gJ0hvb2sgZXJtaXR0ZWx0ZSBiZXJlaXRz +IGRhcyBFcmdlYm5pcw0KICAgICAgICAgSW5zZXJ0SWRlbnRpdHlSZXR1cm4gPSBD +dXJyZW50SG9va1Jlc3VtZU1lc3NhZ2UNCiAgICAgICAgIEV4aXQgRnVuY3Rpb24N +CiAgICAgIEVuZCBJZg0KICAgRW5kIElmDQogICANCiAgIGNubi5FeGVjdXRlIElu +c2VydFNRTCwgUmVjb3Jkc0FmZmVjdGVkDQogICANCiAgIElmIFJlY29yZHNBZmZl +Y3RlZCA9IDAgVGhlbg0KICAgICAgSW5zZXJ0SWRlbnRpdHlSZXR1cm4gPSBOdWxs +ICdlcyB3dXJkZSBrZWluIG5ldWVyIERTIGFuZ2Vm/Gd0DQogICAgICBFeGl0IEZ1 +bmN0aW9uDQogICBFbmQgSWYNCg0KICAgSWYgTGVuKElkZW50aXR5U3FsKSA9IDAg +VGhlbg0KICAgICAgSWYgTGVuKElkZW50aXR5VGFibGUpID4gMCBUaGVuDQogICAg +ICAgICBJZGVudGl0eVNxbCA9ICJTRUxFQ1QgSURFTlRfQ1VSUkVOVCgnIiAmIElk +ZW50aXR5VGFibGUgJiAiJykiICd3ZWdlbiB0cmlnZ2VyIC4uIGZ1bmt0aW9uaWVy +dCBuaWNodCBiZWkgYWxsZW4gREJNUyEhIQ0KICAgICAgRWxzZQ0KICAgICAgICAg +SWRlbnRpdHlTcWwgPSAiU0VMRUNUIEBASWRlbnRpdHkiICd6dWxldHp0IHp1Z2V3 +aWVzZW5lciBBdXRvd2VydA0KICAgICAgRW5kIElmDQogICBFbmQgSWYNCg0KT24g +RXJyb3IgR29UbyBIYW5kbGVFcnINCg0KICAgU2V0IHJzdCA9IGNubi5FeGVjdXRl +KElkZW50aXR5U3FsKQ0KICAgV2l0aCByc3QNCiAgICAgIElmIC5FT0YgVGhlbg0K +ICAgICAgICAgSW5zZXJ0SWRlbnRpdHlSZXR1cm4gPSBOdWxsDQogICAgICBFbHNl +DQogICAgICAgICBJbnNlcnRJZGVudGl0eVJldHVybiA9IC5GaWVsZHMoMCkNCiAg +ICAgIEVuZCBJZg0KICAgICAgLkNsb3NlDQogICBFbmQgV2l0aA0KICAgU2V0IHJz +dCA9IE5vdGhpbmcNCiAgIFNldCBjbm4gPSBOb3RoaW5nDQoNCkV4aXRIZXJlOg0K +ICAgRXhpdCBGdW5jdGlvbg0KDQpIYW5kbGVFcnI6DQogICBJZiBOb3QgKHJzdCBJ +cyBOb3RoaW5nKSBUaGVuDQogICAgICByc3QuQ2xvc2UNCiAgICAgIFNldCByc3Qg +PSBOb3RoaW5nDQogICBFbmQgSWYNCg0KICAgRXJyLlJhaXNlIEVyci5OdW1iZXIs +ICJJbnNlcnRJZGVudGl0eVJldHVybjoiICYgRXJyLlNvdXJjZSwgRXJyLkRlc2Ny +aXB0aW9uLCBFcnIuSGVscEZpbGUsIEVyci5IZWxwQ29udGV4dA0KDQpFbmQgRnVu +Y3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBGdW5jdGlvbjogSW5zZXJ0VmFsdWVzSWRlbnRpdHlSZXR1cm4NCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQ3JlYXRl +IGFuZCBleGVjdXRlIGluc2VydCBTUUwgc3RhdGVtZW50IGFuZCByZXR1cm4gbGFz +dCBpZGVudGl0eSB2YWx1ZSAoYXV0byB2YWx1ZSkNCicNCicgUGFyYW1ldGVyczoN +CicgICAgIFNvdXJjZSAgICAgICAgIC0gVGFibGUgb3JkZXIgcXVlcnkgbmFtZQ0K +JyAgICAgSW5zZXJ0RmllbGRzICAgLSBQYXJhbUFycmF5OiAiRmllbGQxIiwgVmFs +dWUxLCAiRmllbGQyIiwgVmFsdWUyLCAuLi4uDQonDQonIFJldHVybnM6DQonICAg +ICBJZGVudGl0eSB2YWx1ZSBvciBOVUxMIGlmIG5vIHJlY29yZCB3YXMgYXBwZW5k +ZWQNCicNCicgUmVtYXJrczoNCicgICAgIFdvcmtzIGZvciBKZXQgb25seSBmcm9t +IEpldCA0LjAgKEFjY2VzcyAyMDAwKSwgSWRlbnRpdHlUYWJsZSBpcyBvbmx5IGFw +cGxpY2FibGUgZm9yIE1TU1FMLCB1bmRlciBNeVNRTCB0aGUgSURFTlRfQ1VSUkVO +VCBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdC4NCicNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBJbnNlcnRW +YWx1ZXNJZGVudGl0eVJldHVybihCeVZhbCBTb3VyY2UgQXMgU3RyaW5nLCBQYXJh +bUFycmF5IEluc2VydEZpZWxkcygpIEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCg0K +ICAgRGltIHN0ckluc2VydCBBcyBTdHJpbmcNCiAgIERpbSBzdHJWYWx1ZXMgQXMg +U3RyaW5nDQogICBEaW0gaSBBcyBMb25nDQoNCiAgIEZvciBpID0gMCBUbyAoVUJv +dW5kKEluc2VydEZpZWxkcykgLSAxKSBTdGVwIDINCiAgICAgIHN0ckluc2VydCA9 +IHN0ckluc2VydCAmICIsICIgJiBJbnNlcnRGaWVsZHMoaSkNCiAgICAgIHN0clZh +bHVlcyA9IHN0clZhbHVlcyAmICIsICIgJiBJbnNlcnRGaWVsZHMoaSArIDEpDQog +ICBOZXh0IGkNCiAgIHN0ckluc2VydCA9ICJJTlNFUlQgSU5UTyAiICYgU291cmNl +ICYgIiAoIiAmIE1pZChzdHJJbnNlcnQsIDMpICYgIikgVkFMVUVTICgiICYgTWlk +KHN0clZhbHVlcywgMykgJiAiKSINCg0KICAgSW5zZXJ0VmFsdWVzSWRlbnRpdHlS +ZXR1cm4gPSBJbnNlcnRJZGVudGl0eVJldHVybihzdHJJbnNlcnQsIFNvdXJjZSkN +Cg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IFZhbHVlTGlzdA0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBHZW5lcmF0ZSBjb25j +YXQgc3RyaW5nIGZyb20gcmVjb3Jkc2V0IHJlc3VsdA0KJw0KJyBQYXJhbWV0ZXJz +Og0KJyAgICAgU3FsU291cmNlICAgICAgICAgLSBTZWxlY3Qgc3RhdGVtZW50DQon +ICAgICBMaXN0Q29uY2F0U3RyaW5nICAtIChvcHRpb25hbCkgQ2hhcmFjdGVyIHRv +IGpvaW4gcmVzdWx0cywgRGVmYXVsdCA9ICIsICINCicgICAgIFZhbHVlSWZOdWxs +ICAgICAgIC0gKG9wdGlvbmFsKSBWYWx1ZSBpZiBubyByZXN1bHRzLCBEZWZhdWx0 +ID0gTnVsbA0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVmFyaWFudCAgICAgICAgICAg +LSByZXN1bHQgZXhpc3RzOiBzdHJpbmcsIG5vIHJlc3VsdCBleGlzdHM6IFZhbHVl +SWZOdWxsDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpQdWJsaWMgRnVuY3Rpb24gVmFsdWVMaXN0KEJ5VmFsIFNxbFNvdXJjZSBB +cyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIExpc3RDb25jYXRTdHJpbmcgQXMgU3Ry +aW5nID0gIiwgIiwgT3B0aW9uYWwgVmFsdWVJZk51bGwgQXMgVmFyaWFudCA9IE51 +bGwpIEFzIFZhcmlhbnQNCg0KICAgRGltIExpc3RTdHJpbmcgQXMgU3RyaW5nDQoN +CiAgIFdpdGggT3BlblJlY29yZHNldChTcWxTb3VyY2UsIGFkT3BlbktleXNldCwg +YWRMb2NrT3B0aW1pc3RpYywgYWRVc2VDbGllbnQsIFRydWUpDQogICAgICBEbyBX +aGlsZSBOb3QgLkVPRg0KICAgICAgICAgTGlzdFN0cmluZyA9IExpc3RTdHJpbmcg +JiBMaXN0Q29uY2F0U3RyaW5nICYgLkZpZWxkcygwKQ0KICAgICAgICAgLk1vdmVO +ZXh0DQogICAgICBMb29wDQogICAgICAuQ2xvc2UNCiAgIEVuZCBXaXRoDQoNCiAg +IElmIExlbihMaXN0U3RyaW5nKSA+IDAgVGhlbg0KICAgICAgVmFsdWVMaXN0ID0g +TWlkKExpc3RTdHJpbmcsIDMpDQogICBFbHNlDQogICAgICBWYWx1ZUxpc3QgPSBW +YWx1ZUlmTnVsbA0KICAgRW5kIElmDQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBM +b29rdXBTcWxWYWx1ZUNvbGxlY3Rpb24NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicNCicgR2VuZXJhdGUgY29sbGVjdGlvbiBmcm9t +IHJlY29yZHNldCByZXN1bHQNCicNCicgUGFyYW1ldGVyczoNCicgICAgIFNxbFNv +dXJjZSAgICAgICAgIC0gU2VsZWN0IHN0YXRlbWVudA0KJyAgICAgVmFsdWVJZk51 +bGwgICAgICAgLSAob3B0aW9uYWwpIFZhbHVlIGlmIG5vIHJlc3VsdHMsIERlZmF1 +bHQgPSBOdWxsDQonDQonIFJldHVybnM6DQonICAgICBDb2xsZWN0aW9uDQonDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMg +RnVuY3Rpb24gTG9va3VwU3FsVmFsdWVDb2xsZWN0aW9uKEJ5VmFsIFNxbFNvdXJj +ZSBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIFZhbHVlSWZOdWxsIEFzIFZhcmlh +bnQgPSBOdWxsKSBBcyBDb2xsZWN0aW9uDQoNCiAgIERpbSBSZXN1bHRzIEFzIENv +bGxlY3Rpb24NCiAgIERpbSByc3QgQXMgQURPREIuUmVjb3Jkc2V0DQogICBEaW0g +ZmxkIEFzIEFET0RCLkZpZWxkDQoNCiAgIFNldCByc3QgPSBPcGVuUmVjb3Jkc2V0 +KFNxbFNvdXJjZSwgYWRPcGVuS2V5c2V0LCBhZExvY2tPcHRpbWlzdGljLCBhZFVz +ZUNsaWVudCwgVHJ1ZSkNCg0KICAgU2V0IFJlc3VsdHMgPSBOZXcgQ29sbGVjdGlv +bg0KICAgSWYgTm90IHJzdC5FT0YgVGhlbg0KICAgICAgRm9yIEVhY2ggZmxkIElu +IHJzdC5GaWVsZHMNCiAgICAgICAgIFJlc3VsdHMuQWRkIE56KGZsZC5WYWx1ZSwg +VmFsdWVJZk51bGwpLCBmbGQuTmFtZQ0KICAgICAgTmV4dA0KICAgRW5kIElmDQog +ICByc3QuQ2xvc2UNCg0KICAgU2V0IExvb2t1cFNxbFZhbHVlQ29sbGVjdGlvbiA9 +IFJlc3VsdHMNCg0KRW5kIEZ1bmN0aW9uDQo= + + 20231011081056 + data/ado/AdodbHandler.cls + + + ChmFile + 2011.01.18 + SVRTRgMAAABgAAAAAQAAAIfm644HDAAAEP0BfKp70BGeDACgySLm7BH9AXyqe9AR +ngwAoMki5uxgAAAAAAAAABgAAAAAAAAAeAAAAAAAAABUEAAAAAAAAMwQAAAAAAAA +/gEAAAAAAADeJQQAAAAAAAAAAAAAAAAASVRTUAEAAABUAAAACgAAAAAQAAACAAAA +AQAAAP////8AAAAAAAAAAP////8BAAAACQQAAGqSAl0uIdARnfkAoMki5uxUAAAA +////////////////UE1HTH8DAAAAAAAA//////////8BLwAAAAgvI0lEWEhEUgG/ +j2agAAgvI0lUQklUUwAAAAkvI1NUUklOR1MBwNUEqlAILyNTWVNURU0AgzahNggv +I1RPUElDUwG/r2adQAgvI1VSTFNUUgG/4zbxTggvI1VSTFRCTAG/zSaWEAkvI1dJ +TkRPV1MBuNIcgUwLLyRGSWZ0aU1haW4Bu6N5g+ttCS8kT0JKSU5TVAG7jl6VGxUv +JFdXQXNzb2NpYXRpdmVMaW5rcy8AAAAdLyRXV0Fzc29jaWF0aXZlTGlua3MvUHJv +cGVydHkBu45aBBEvJFdXS2V5d29yZExpbmtzLwAAABYvJFdXS2V5d29yZExpbmtz +L0JUcmVlAbjTaIKQTBUvJFdXS2V5d29yZExpbmtzL0RhdGEBuuQ0qQQULyRXV0tl +eXdvcmRMaW5rcy9NYXABu404gQIZLyRXV0tleXdvcmRMaW5rcy9Qcm9wZXJ0eQG7 +jjogDy9hbm5vdGF0ZWQuaHRtbAGHrCenNQkvYmNfcy5wbmcBrItehUEJL2J1Zy5o +dG1sAYXOLpdYIS9jbGFzc19hZG9kYl9oYW5kbGVyLW1lbWJlcnMuaHRtbAGM3SnA +LBkvY2xhc3NfYWRvZGJfaGFuZGxlci5odG1sAYq3S4KlXicvY2xhc3NfYXBwbGlj +YXRpb25faGFuZGxlci1tZW1iZXJzLmh0bWwBjskRtn8fL2NsYXNzX2FwcGxpY2F0 +aW9uX2hhbmRsZXIuaHRtbAGNnVWBqzwfL2NsYXNzX2Rhb19oYW5kbGVyLW1lbWJl +cnMuaHRtbAGRzynFcBcvY2xhc3NfZGFvX2hhbmRsZXIuaHRtbAGPgBCCzxkpL2Ns +YXNzX2RiX2Nvbm5lY3Rpb25faGFuZGxlci1tZW1iZXJzLmh0bWwBk/5nwHIhL2Ns +YXNzX2RiX2Nvbm5lY3Rpb25faGFuZGxlci5odG1sAZKVGYHpTiYvY2xhc3NfZGJf +Y29ubmVjdGlvbl9pbmZvLW1lbWJlcnMuaHRtbAGWk166Jx4vY2xhc3NfZGJfY29u +bmVjdGlvbl9pbmZvLmh0bWwBlL9ZgdQFKS9jbGFzc19kYl9jb25uZWN0aW9uX21h +bmFnZXItbWVtYmVycy5odG1sAZeKd58AIS9jbGFzc19kYl9jb25uZWN0aW9uX21h +bmFnZXIuaHRtbAGWzgW8ci4vY2xhc3NfZm9ybV9fZnJtX2NvbmZpZ19fX2RfYl9t +X3MtbWVtYmVycy5odG1sAZfGX5h6Ji9jbGFzc19mb3JtX19mcm1fY29uZmlnX19f +ZF9iX21fcy5odG1sAZepd5xoIC9jbGFzc19vZGJjX2hhbmRsZXItbWVtYmVycy5o +dG1sAZvTGeAWGC9jbGFzc19vZGJjX2hhbmRsZXIuaHRtbAGX31mD80ApL2NsYXNz +X3dpbl9hcGlfc2hvcnRjdXRfbWVudS1tZW1iZXJzLmh0bWwBnPU1nkghL2NsYXNz +X3dpbl9hcGlfc2hvcnRjdXRfbWVudS5odG1sAZyzL8IGDS9jbGFzc2VzLmh0bWwB +h9NcqywLL2Nsb3NlZC5wbmcBrJIVfgwvZG94eWdlbi5jc3MBt/Qv3W0ML2RveHln +ZW4ucG5nAbPQH55mDy9mdW5jdGlvbnMuaHRtbAGH/wiBkAIUL2Z1bmN0aW9uc19m +dW5jLmh0bWwBiY8KgY12FC9mdW5jdGlvbnNfcmVsYS5odG1sAYqdAJpLEi9ncmFw +aF9sZWdlbmQuaHRtbAGrykexFREvZ3JhcGhfbGVnZW5kLnBuZwG3hibuCREvZ3Jv +dXBfX2Jhc2UuaHRtbAGG4Fq0UxkvZ3JvdXBfX2dycF9jb2RlX2xpYi5odG1sAYaq +JbY1Fy9ncm91cF9fZ3JwX3dpemFyZC5odG1sAYXmBsQfCi9pbmRleC5oaGMBrJMT +zyUKL2luZGV4LmhoawGs4jiErxILL2luZGV4Lmh0bWwBhP43lyUNL21vZHVsZXMu +aHRtbAGHlS2WeiovbmFtZXNwYWNlX19fYWNjZXNzX2NvZGVfbGliX19saWNlbnNl +Lmh0bWwBncVcqholL25hbWVzcGFjZV9fY29uZmlnX19fYXBwbGljYXRpb24uaHRt +bAGd73afCiEvbmFtZXNwYWNlX19pbml0X2FwcGxpY2F0aW9uLmh0bWwBno8ApUcZ +L25hbWVzcGFjZV9zcWxfdG9vbHMuaHRtbAGpgUPLNRkvbmFtZXNwYWNlZGVmX2ds +b2JhbC5odG1sAZ60R6MOIy9uYW1lc3BhY2VkZWZfZ2xvYmFsX19fZF9iX21fcy5o +dG1sAZ7XVbIEFi9uYW1lc3BhY2VtZW1iZXJzLmh0bWwBqcx48wAbL25hbWVzcGFj +ZW1lbWJlcnNfZW51bS5odG1sAautQJ0HGy9uYW1lc3BhY2VtZW1iZXJzX2Z1bmMu +aHRtbAGqv3jtSBgvbmFtZXNwYWNlbW9kX2FfZF9vLmh0bWwBn8ZxgbIZHi9uYW1l +c3BhY2Vtb2RfYXBwbGljYXRpb24uaHRtbAGg+QrCVBgvbmFtZXNwYWNlbW9kX2Rf +YV9vLmh0bWwBobtegYQQIC9uYW1lc3BhY2Vtb2RfZGJfY29ubmVjdGlvbi5odG1s +AaK/bsFpIC9uYW1lc3BhY2Vtb2RfZXJyb3JfaGFuZGxlci5odG1sAaOBV+4XGC9u +YW1lc3BhY2Vtb2RfZmlsZXMuaHRtbAGj726B4gsaL25hbWVzcGFjZW1vZF9vX2Rf +Yl9jLmh0bWwBpdF54SogL25hbWVzcGFjZW1vZF9zX3FfbF9fX3Rvb2xzLmh0bWwB +prMjyWUcL25hbWVzcGFjZW1vZF93aW5fYV9wX2kuaHRtbAGm/QjXayYvbmFtZXNw +YWNlbW9kX3dpbl9hX3BfaV9fX2hhbmRsZXMuaHRtbAGn1HPVGyUvbmFtZXNwYWNl +bW9kX3dpbl9hX3BfaV9fX2xheW91dC5odG1sAaiqDtc1EC9uYW1lc3BhY2VzLmh0 +bWwBnZN9sV8KL25hdl9mLnBuZwGsij+BHwovbmF2X2gucG5nAayJXmEeL05ldWVf +VmVyYmluZHVuZ19lcnN0ZWxsZW4ucG5nAbTeF7EUJi9OZXVlX1ZlcmJpbmR1bmdf +ZXJzdGVsbGVuX0VpbmdhYmUucG5nAbWPK+4VCS9vcGVuLnBuZwGskR92Cy9wYWdl +cy5odG1sAYWVXJZsRC9zdHJ1Y3RkZWZfZ2xvYmFsX19fZF9iX21fc18xXzFfZGJt +c19jb25uZWN0aW9uX3N0cmluZ3MtbWVtYmVycy5odG1sAZ+rG5tWPC9zdHJ1Y3Rk +ZWZfZ2xvYmFsX19fZF9iX21fc18xXzFfZGJtc19jb25uZWN0aW9uX3N0cmluZ3Mu +aHRtbAGfiVmhQgovdGFiX2EucG5nAayEI4EMCi90YWJfYi5wbmcBrIUvgTIKL3Rh +Yl9oLnBuZwGshmGBQAovdGFiX3MucG5nAayIIYE9Dy9UYWJBbmxlZ2VuLnBuZwGz +7wXvEgkvdGFicy5jc3MBq/tciEcKL3RvZG8uaHRtbAGFrEihZiAvVmVyYmluZHVu +Z3NkYXRlbl9laW5zdGVsbGVuLnBuZwG1/UCBiGYPL3dpemFyZGZvcm0ucG5nAbGR +SoK+VRQ6OkRhdGFTcGFjZS9OYW1lTGlzdAAAPCg6OkRhdGFTcGFjZS9TdG9yYWdl +L01TQ29tcHJlc3NlZC9Db250ZW50AKRskIUmLDo6RGF0YVNwYWNlL1N0b3JhZ2Uv +TVNDb21wcmVzc2VkL0NvbnRyb2xEYXRhAGocKTo6RGF0YVNwYWNlL1N0b3JhZ2Uv +TVNDb21wcmVzc2VkL1NwYW5JbmZvAGIILzo6RGF0YVNwYWNlL1N0b3JhZ2UvTVND +b21wcmVzc2VkL1RyYW5zZm9ybS9MaXN0ADwmXzo6RGF0YVNwYWNlL1N0b3JhZ2Uv +TVNDb21wcmVzc2VkL1RyYW5zZm9ybS97N0ZDMjg5NDAtOUQzMS0xMUQwLTlCMjct +MDBBMEM5MUU5QzdDfS9JbnN0YW5jZURhdGEvAAAAaTo6RGF0YVNwYWNlL1N0b3Jh +Z2UvTVNDb21wcmVzc2VkL1RyYW5zZm9ybS97N0ZDMjg5NDAtOUQzMS0xMUQwLTlC +MjctMDBBMEM5MUU5QzdDfS9JbnN0YW5jZURhdGEvUmVzZXRUYWJsZQCBBoIwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwt0ChsKWwnRCA0I +WgevBuoFgwX/BJUE4gMCAzcCiQENAY4APgBkAB4AAgAMAFUAbgBjAG8AbQBwAHIA +ZQBzAHMAZQBkAAAADABNAFMAQwBvAG0AcAByAGUAcwBzAGUAZAAAAHsANwBGAEMA +MgA4ADkANAAwAC0AOQBEADMAMQAtADEAMQBEADAA1D8QAAAAAAAGAAAATFpYQwIA +AAACAAAAAgAAAAEAAAAAAAAAAgAAACEAAAAIAAAAKAAAANQ/EAAAAAAApgIEAAAA +AAAAgAAAAAAAAAAAAAAAAAAAkhAAAAAAAADuGwAAAAAAABwxAAAAAAAAmD4AAAAA +AABqUQAAAAAAAMhcAAAAAAAAvHAAAAAAAAAIegAAAAAAABqLAAAAAAAAbJQAAAAA +AAByqQAAAAAAADSuAAAAAAAAWL8AAAAAAADQyQAAAAAAAA7fAAAAAAAARucAAAAA +AADM+wAAAAAAAMQFAQAAAAAAbhkBAAAAAACaJAEAAAAAAIo4AQAAAAAAkEQBAAAA +AABAXAEAAAAAALZnAQAAAAAAeKwBAAAAAABQIwIAAAAAADyhAgAAAAAASBkDAAAA +AAAgMgMAAAAAAL5dAwAAAAAA9rgDAAAAAAAq7gMAAAAAAAMAAAAKAAQAhQc2TQkA +FgBISEEgVmVyc2lvbiA0Ljc0Ljg3MDIABAAkAAcEAAAAAAAAAQAAAAEAAAAAAAAA +XA/rjle3ywEAAAAAAAAAAAIACwBpbmRleC5odG1sAAMAFwBEQk1TIENvbm5lY3Rp +b24gV2l6YXJkAAYAFQBkYm1zY29ubmVjdGlvbndpemFyZAAFAAUAbWFpbgAHAAQA +G9f/GAwABAAAAAAADQAAEFQjU03Yi8wCAQAAAOwAAAAAAAAA/////wAAAAAAAAAA +////////////////////////////////ShUAAP////8AAAAAAQAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAQAAAAAABAQAgAAADND +QDQAAG9lXpRxAZDPP3nu9yzkLGEnsiQzJ1JMYwJI+5/crG6bu9Xbut+PwPcIzwjA +AADNzBkRAYAvQJWElgAQ5FeLyYQy4U14SIixMbYBDHgAggDJth2lJMGJxLr7Axpj +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 +tcnbSZHEghvaT/KGI3kSGtcfrAPoRoPPR7bZfp8kjz5PB/6b1Gv+DgEK2avXXlnr +Y6H5ZpK/9skaF4PLv9iXJba20oU0byN/QLoaHpMAOox23UTJl2CrDauJi2FSQ1B2 +0nEe0N4GY6N7CnZV7E0F0o22hoMwvMr707zPuHUtyJzbpEVFVRC/M6rlSCqa8POc +vy4ugAnjuGaNDF42lZrwW7yq/Zpbci9RTNRwms90tJ9JVjWXDddXugqBIETfNmFs +cznXkTT42fm3jJVfF4kXZ7R7LVWM776PIGWpGtnJwJ+/dke+yEgFluVmlLXbM8y3 +j647AV0slBqp5y+aoWM77xvu31h1yWQIZgbic/HqUUt1U+UCzl22ZlPQgbmLjxgG +CEcrQDUGQmkKnMLSADYIxaZVYRCSxZpzBHW45vd7X/FfA5MT0eAvxdYmAHdDrqf7 +k91ex7umwMzkJ/7yCbPBICxEmZgITsjhkigoR4wggQQIhwERTnMnohge/NlzV0L/ +ye1HHhf/HCLlkUH9OJwSQ6MIWiyBSDmOrGNTDHSJtIyCKBKOnsqhXZOsfgUCGUEM +1XI0SywtM9lPBbRJVQK0V3+1t/hGNOzUMZzox+qeMskc4rmbAl2LVhUm1e+rzJY4 +p1/MXePWV+u256GAOqnDud2GkyoY3eNtLd70Xz+PvQhJfDH1VjCw5ypU7WV2i15Z +mg6RZ5Xr6VqzWQlhWHab/HfX4Ch/m08+oHoMmtpkfq3JI/ER+GTJktS7S47SkTEL +KjESPZ55qxp0vEhLqMZAiTxaVM5EvCRklWrvgqTSO5x6Ii+NCQpJD+swvpRNFZUk +WOB+JjZeL0LvErw9uhwXILUqTnaMOBRYClZV6U3Ml1doURfzw08f0qppcOxzbmv8 +O++7H+hezb90nMOYzn6/8/rL7281S9biiiY7QNMHByty9JV1l7MGVvlvO05OB6Rh +ATJLWJlGr/4FOqRusw1tBuO09RJpqyZp5WXF1zIKotUQiKylUFiIJKJdo4MNCKCc +WMxSWdfpN9V4IKO1r/j9M1EeuUt5tN0frjwc8/+RW/1nXG6vpun8g14rDu/31zF4 +bOH88XQ9VrsEuuUMe/NcA7d8LgeFiC+XtcTw9fjacRobcfkFIglXNgYLGNDr7/Tk +jqCFNs0cUZysmChkenALMrq7m0bZxBaOyJb4U2J8UwVFiCj8AALmIVDtWUGkw1oQ +iEE48TL2S573h83xV+xf2EC12lZcPptvqymx4dvqabeMSVfGVWev+di1+VlVm8/Y ++l95K7DYSfPYK4augNJqNqddo+BLRp2vNNdBNDcQUocChaq1usT3gXVB6H2hdoiK +v47a6Xzzfd+XTVXJ/35OXYEG1wH0dVy5SKZSDE6oInasZNX0wFT3flVblVGgt3wo +DtUv26rgat60fCIP1yTjCVWJxpi1ZgtO/1Gq6KlvIT5zk282yf2s5h7P+z0Iqe6M +HbBf7z28easS668VNypxsjpzotqV7V5Z70Xx6PcW4QFmdPibjR+uLh3kU+nXH2TV +D9UNEfu590bxe1mgBUjNO4y53K2vt/u8dl/+i7rJZWL4Wd5gNhIi7eJUrBI2O+vN +o95UaE1y/96xp9QWmvFelF7hn6Y+Y973rlNZKuT4dmtTHSVrdOVJ9MVWXrW70Xfx +JseftCKuO88P093qlux+5duIRdR14R8Yecfl6wHvyp9P92u5OtIktoi3ijrqIlPp +64qF2VcX8UUzvuRvKv6vPu+srO8H7nbudHTeeOSrUHVbTKe3ry4KOHwvrd5IfNSQ +HC3sFLMOBR5G2++8vdEMhdxZf6afDx2r+t23FXs5XfwRfxGj3bjDQjhKkvTzYVpa +m0VvRV9cB1afgBoibilyzWXrEOx5sdhLx3OLOhlyK5fc4+InUyAb50ewFeyia8h/ +lLcUSrvh9ezMa7e3TX0xnOli0q/07YHbtS7d7S19UH4tyjpbRMj7KuA7+O7MYfD/ +DbKLgfOeKVtn/3d+GZJgMGvaIRFifGTPHqgdUcqioPfMap6IDS2dnChbm0Tt1fhn +ad9S3F+Y3b54885cLzWMunDafWPd30OVu4TcVOnSOtJ/sshvAruoe5683JrGsxnB +bWpFN/bkIzhfLdcYtTKxZrfqp9xJcvEOHWfgjP2HixZu1L7bK55zRILA7iCfe5r+ +KMmFvyX50MqQHq04aQrnrmn2UWrBK3Fb4Al8PH2voGZb9UB6WAY109KNFr/vTNs/ +qwrtSIIqZKzvLEpbMf7qd8dv2r1NcRDJvfHfK/NgSi3HFVgacLaGlVSstTSHHAqk +6QF+f3uVdvNLPsFucoYJ4ftawVW9YhYN/ZaqOR9RDd5mUFe0/nQQj5alLAD3kbxj +ukRc0ohcLbmyKWPx8+GG+Pcr0sQoVMrZKz7ZhpK/wd7yhd3snLAjo7WZxWONVv5k +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 +sDIBAl2a1tcnx4AJHWjdW5uH3tEtQ5bJzCWo7heby1TtiNaN168ls66ywvV6uNVN +dRokRBXku8pNjUYd8QXIPQttU7ZVPVM9p3PieTnzk+8vP2hsw5oBlPwOrSbPhqPe +Vpl40YWaVN3F2DY3p6Ni/8Fya1nfFElVnN1NO1GLXHP0rKOSbAeYSZPe/byJrtgk +0nwe/6TmGT43dimzcLBRJjzZclMhPJwcWRPWN1L2A0UPYeNbrMUimed2WVqitmTb +DA9nDfPxj3Wy5D9EHH58oHVz4lXcIFVNPJts60STbN4wBMmewJnUGtEHhzx7hNHI +jQzH4cazNOy9s1UBL3ks9vCnFcswX6P7VKhaix0Xw8UKh7KCR1ZmzuHiRlhivVaN +xYlz4jlO8kVKytfhFy1P3zTESVzUloNTHiHTT2QTerHKDaCDIuwC+YWRNKKR6UnZ +EShSCUmzT/4mCh8xWnJWZp6SKaSpcpVZuCHnH+Cytag6kulwLkzuaIhysbSdSZOY +pv4Xpkgky3LtsfUYiHhU/IrE3XoPTKbLRwzm2UbE2EnFlYilcF5rQdo492e4Mdna +3bm1drpqO63LiRrYXEWlhP957eaQtZZqR7Lmq+8Uds6dqUNopWIKk2aYDfEPfavY +1JiOLAenSkpy1T2bNpolu1TsZ2zduL3vOTVP7SZm9kOom0dFh6gMZ2syWS6/8ybk +D+g2wifRlLi9XBlUueAy5U4arVjtq/ekp+eQKXLXLMfHcnIsLMfHcqszX/7yrfx1 +5auqM9IEM6awGRY8y6pz+EmXpqA82n79DMQsjmFwi6GTXAlaAYN5BRCDhcJ4CX9C +cuspuY/sYed+6bqlj/9nw61yb6OVW9pZTcqfTu89/5OkmUjVlr3rSVv5Zm3ZJtjj +QBQxiBd3nxGMAAwL+SMYrSUY8QJ+EGP7Jt3i+dCLqnXbSaQzVKmXSdcT6Xca3tJF +b8N4+pqI/m8XP/KOiIsoWVUmy21//rJsEpjDxFzrhkkVAkFsFMbeccpRFxT/nNL2 +g39OcZ670TKWIqeC/HUeFFYUKBYwYhA+gYLpzJD7ZEHuioF8hZeXthwNpwVJ835Q +lsmJussEuPyzbcDP8RE4Fi6jlSS74AwIQrDiBlbwyDXblXYAeNIdiVa7l2phRVW1 +eOMhNv0u6q/KQqmabXvB9yemrku5LSAByrsW8V4T5rVQpFSkXZlLzQyPLx1bo1T0 +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 +CLPQ4zmz/QnIqmKWtHtjz+jP1NQj0baMHeV5Ykl5gfeXV6Q2khDnmbpxupe+G/LX +QgNL6qtSiSjPVrUBuC9qLtrJ3EkYXaFyfuW6EObR1Dp+q0hUxfEaooWI1XQ/DgbX +9QSL1KOjnfuTv3aYcigT0/c4glV54m46T0jKl2E3OKgZiDtY3/dj1zgfmYD5iLFt +Z5qItyEismmF+t8Z8VRe35EVA60JVw3559pm+6zVxy5vENNESrHIb/F2GAjFvnB5 +QQW8fLvl+rxuQEHwS7s98Phe39C5Knwn8rlwLZppmMiFsssefJF8kZRtwqChk7s7 +iHuMmo0UvHEP2m86fohowfT5H8t/1Rw0TlHDveYu3vBaWB6EgzqJgz+45KvoKuZ2 +B3OnDVU2eIYesBQHdCcL0J2PcxJV31Mwhsf8NX8h9IsYKithtFvHE15006bbbrYa +7YmcIJQa2XnM4mC59027KOqNfuajou1or9TZAUbZs/BMVpg3huy09huun3yGfBq+ +64yIrYOGrdpz9h4Pihepb1jbsjLcWImu3XqaiHtJhum7c3o8bf73uRvGnw9rHqZa +kz2TZ8FX8F0MqDExrZgabrKmqhSqk9RZqa8Y7pB57DdZvQrEpUk9nRo9gJGRRDnR +giWjgBpW7mAOdFa0ChWoV8iqMsKmyRP8oZ5g8F8R/gHFz5TD242H5D+YBR98/N0j +j18vyiqKa9HvRpHkD816/+wB2sTcYxjsUTujQkwQHRqj4dIe44533fLsHtcDCEMk +T/jG9jmUJGT4NIFooeU0oFVyY+DH4zxUbeYwc+aU51f/XvnjvfCPoXubtGnHPVoq +klY+1L2JXJvmq3vd3C+6IOiTrONidWIsLAth5eEoIUmWEQIYRIaMchI5R1C+Rj3M +pszmf7gusqDmk6zjVZH9epR0A6sLuuVI2Y7SqqqRsPpr2d7Se/rNPH+hWOVzHslO +LXpclwx3i/Aov1I0YK8Oi3WId7CxJBAuSV1x9JHWnuhVBGVFxHowBVyV1i1HabHP +RHIz1i/PLsK0yc1+LP4gxPfZAU8ipJXjaEYuCJhiMxwJvtjWG6Hc1UQhCxf6IwA9 +idyv6gPpKR6NyNkIDKPpQbArm6UJCHqeMY9vTxz0jB9xctnet58U23DhFWcXxHqI +aZcu3+UJPszdI5lE7QbeZyfrrOZSgkPa3LFh86a5Z8jiIpv2N+d6+9UZM1z+a2Fe +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 +g+x2eN1IyDoypSg2vCZeAowR4wUACAAAjBTAkdgBqzvNsypG97vsdK+5PHgACkiq +kIlpW2orL23LvNqz7TJKnKKgxD/f954fOD/16cTMSouOx4Z6HYbCUzfenj96Vv5t ++oOxucSf1f/1XBXG0oQlwdbEwQW15X0fSVX9WFh3WklVSavnl31T63RllbQuQfd6 +rtmh/Zb++FsvxbXjxHT1dWQVlHSEdRF1BdVVxYpOSkpCaSpZOnERYTEBYSohOdlH +FBDJe4Sk5INfCScI/kq3jj8O/1R/Z0rS6kpask2HYGGH7WX1daV1Zb/VGNpaPiJ6 +TibdKIz8iYgoMTSJi4S45t+T0snIx7xSkMakkfmQ0U1q2orh0rqaqe5eO4YqvKiY +Jqpz+Uly+rpxSu0eQ0RJ6TvJ770fgCQl3SWgxJCAgIzfl7xIyqFqgqGiAoNaauju +O+erqnR5mHRMQJxE9pkkCSQJu9unEIZ5J92yewph+G5yorVfr3x3dMq7umHvTsl/ +8LG3X/vTgFLvjyQoKPnxqfdf8kqPmqPXkv+ofnM09S/300UzR/n7N7f776tJUrLe +lj5IlvBBfh4CEgQSEuJiYn2P9yNS8toPHTHVZKrOsrrS4qe6xt3lOenXMDUsleaj +d6/ktN3tzH4kjZmcJyWp4YQpYt7+vFReX3Q+9rNx1LTFtTAftZ8C5hdhB6LwvYyI +d5cSslESrf9F5ispAnWCb05NJCf9IQCkrmK6r9dq/OlvJd15e+P/KDCiRkq7R6Cn +QdJJ9kTEhAkKHyZK/UoApJtkC7z+9G139ErJb8R+35v+UnvL7qbfxN8OnBq+mXsD +GeHtPwMg83K9P1LiSVRXYVxd3/uJsvO3748oZ05/+U/3JZGhfCZBbgT2RCk+CZqN +QVn1DqREgeIC8oRiz6Q76653wKKpmtL7z3MWIX8/fyeK9icB96FJ9ZKSkZABfHIy +/0jKwsM8/m4+RFE+tef9JgCkl3aF6CWqaXw1vnEx9kMBq3s7UhJmaoPtqP++P5wI +d5NvciiDSiX2848S/JL2UweQevW9//r7/uFe9vKXRkhIQExQ6JOUKRMn3e5p+8MJ +CeSlpGEeyEn/vZflQuHUyQnyq08BvmtdX8spZH/EFEaipO2NxCTEaYg+WkIyUdZf +IijzJEIc+JWuQK/+um7Xanr1fqBknb1bEBOTkXlv5N0nlQvVECaTj3XvTCElIkkn +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 +kMFlMGvryOz18/SLg1m5xzGLezh6iZr5r6yyWv34bYxk7OpZvgHOAlHxjQuHKjy/ +aJTNb/dUh1aEW5mqKpXgNUaoSnOZ9eX2xY9reGZQO6XxlwnCe74gkUbgOo05gjZE +PLFspq5jOk2EMnDQ5/iQ17hrEMK7NdYZDiq+Ab+pXyboY4pt9k5krdMuo5bvBmID +jViO587XIgkFNFuK4RE18KUZH5WBhKmfrdblRWrLer1l5Yb8qH7WOTufCquBOGGz +olkupNc5qyiaId4AlI0oyh7KpvKnDEulw5+bGs1ncys7DFLkjigtqyM431rdh5bj +IlgjF2o0dsTKvfor1zSUz1mlYbFbud+lYGh0+MfkIJkcU/cxwZR4QnKtvhmeBZRV +7wWNYChuAEcT0mUccKmOjQl2orFNp55cXv7C7xkL5gA9st2u1aGfK5xMGb4JsrPo +qEQ9CFwYq7fbVl12Rbv4aBXNGHPL0CqrBJmr1bYSfqj2WSs/u/eYL1sOaBTF+5k8 +GvZb0pyZO2mC/V2NfVbdFD721q2nZvz1koZuIZZxNBMg+rf9oBjLCGwW1Oc2BwJm +mzajiIO2tiM+JnAOxFXhI1WOaStw/mes5KzeepP+tref8NRvNSyKmp4UnDBryDuj +EQhApy3dwgIM5OQzrjVR2sTWy6YLMYKqzMnkrOioMczJ6mLqBYk6VuR+YK7c5zDL +/OaRC+YL5PTjVP4QZFVAvNMRP16DKsHB0qBDu1HK6iNweHTM62Hr56Y2ZnHiiENc +wqpSHrbNcNo4Wu7q0uoQWXwmCWQ6dtwMUT2k/tJobDEepTGSLldfymXWD0++OoiK +5jRbNI18wv1EMl3FammhXRE7+Cg8NmHs0MnXup5alu93Qch5uTQq57z7ecj02ZxX +xGoQxZV7HGrO/uKDyJ1ir5ZBRI1xOh5L4i/9MuTEe+Jb3UHzfPJYW9mxpsYV6EMv +U6Z9ih5dUNO/FZZbbyiKK29TtgjuL5z3TnLpBxnLR67vJgjE+/b1EViMg7L+aqzl +T1e/weUHMby0R+deq3dMOZ4Rxl5I8Ll3PIkQJIXGCrY//5ZRcV+Ed1p8xVTmNF+5 +az3MoXepK33F7c6kizSLOsgD6U5R0Lr7B14ZeWneGXxn+KCMvKuLkqriw+mbzutO +R3i6z41wVhl9vcNb7NyAMo+7MsepUyw0+AL628yUEB1owxk8EHeuuz4XExTspdsk +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 +0GzVM9lIH8DRhcGzs0Bbm60uJa1DgZJHjutj5eg8RSmyR0YlGywoBn9bakq2Uz/2 +5x3Yo/VOGorVuO7OTQugpfSg+lzhjJroUVzyqcgkhaoju3N+gQM5I1H0oQsvA1Tl +5azOYWEvi5yMHVsg7++uhHn2CConPRHiRA4CZtcdG/yYvoB4eNxkjk4sVkKw/Z9k +7K5qgO30ksb2wMxtUd9dceLNhsbeETbY9tGpb8ASNzvpegkS8Fqz0m1czQeeN6jb +Baur9UatuhzKWThwN5z5bZD5GnJ+Krs3vISGAiNj3Z+U7r5OZA390NgklmsVZlJd +wxZqDaIFADKFNrsu012vPNW0s0hpiYu7rI7PV3O1sJcfu9TCpKUxujWp6erK6TYz +mo0ove32vSQZZBQlODgt8jgo20F9+LuMHdYzFPtpVk8jA0cMOdFfKXlMZ+UXsnKG +JygNuhG65nlgsRQhVw3OvGg8NB7Yk0/k9Pc8zj3CWkmiau7X48li0U3NQGtt7s5b +Vy26Ok3Mk69VE5vbdpTGFjU9DdysFhwf9Wa4C825GC4HiJt/7hQ5VVUKt1UHn7Yd +/gZm2qJ9OTqjOO81dlq5dVd1euMOlBPNvNHOBqpUWsxXm61tscsR2GZtmRdcEPRE +CrYY8i+W6tZ85Z3+3KYm3uZwxJKqNazmDhwJlerKAGwsavC1hU3ZlHzYJwwIvAco +TXeVa7yrHBdmvrzjjnhMrMymIhxp+KzNY1znBsrJ5W14fo+iCy93Q7KnUvJiAy9O +sVqa/qurJh7SdE7V7R1SeQPSA6kB6VCeaSvGRzM3c3t25jVELs6D+hoXLYGwKR32 +BgcGfisDG0HnPMt10Sm+Hhy25cgltZaUwy+11scRP6J+KqOsnFjguW5OeZdusiKJ +htwF+dIsh4ZjKzeCc3nyWGvVGleAUYbrBqWED6UAgj6i0Iz4/nJS5QQD+/JQC0uw +zRX3piPGq2jB4uAyy1+x5JQr0Q7g323cOesmhqw4T+uauFDYSDTUkkNNZsJIyvEm +OtkeRePE46jtY0f3mqFILarOthPCLCOt5gxBcfEgddT69BbSUYTqoKomMurlwq9l +4IEa5cewBIgJdrIOJ5jxm4Z/v0EsCXBHOsruMC3/r0XnPQyZoGZIFom4iRLEMqFt +bl5fuaTI1HC+U+CLnjFqnSOo7sZfczuvTE9zW4OwZOGbtTHLymyhwE1uJ2K71aal +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 +hQvhwrhwLlwLF8+FIMw= + + + + DaoHandler + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkRhb0hhbmRsZXIiDQpBdHRyaWJ1 +dGUgVkJfR2xvYmFsTmFtZVNwYWNlID0gRmFsc2UNCkF0dHJpYnV0ZSBWQl9DcmVh +dGFibGUgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX1ByZWRlY2xhcmVkSWQgPSBUcnVl +DQpBdHRyaWJ1dGUgVkJfRXhwb3NlZCA9IEZhbHNlDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIENsYXNzOiBkYXRhLmRhby5EYW9I +YW5kbGVyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonDQonIERBTyBkYXRhIGNvbm5lY3Rpb24gbWV0aG9kcw0KJw0KJyBBdXRob3I6 +DQonICAgICBKb3NlZiBQb2V0emwNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJzxjb2RlbGliPg0KJyAgPGZpbGU+ZGF0YS9kYW8vRGFv +SGFuZGxlci5jbHM8L2ZpbGU+DQonICA8bGljZW5zZT5fY29kZWxpYi9saWNlbnNl +LmJhczwvbGljZW5zZT4NCicgIDxyZWY+PG5hbWU+REFPPC9uYW1lPjxtYWpvcj41 +PC9tYWpvcj48bWlub3I+MDwvbWlub3I+PGd1aWQ+ezAwMDI1RTAxLTAwMDAtMDAw +MC1DMDAwLTAwMDAwMDAwMDA0Nn08L2d1aWQ+PC9yZWY+DQonICA8dGVzdD5fdGVz +dC9kYXRhL2Rhby9EYW9IYW5kbGVyVGVzdHMuY2xzPC90ZXN0Pg0KJzwvY29kZWxp +Yj4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +Ck9wdGlvbiBDb21wYXJlIFRleHQNCk9wdGlvbiBFeHBsaWNpdA0KDQojSWYgVkJB +NyBUaGVuDQogICBQcml2YXRlIERlY2xhcmUgUHRyU2FmZSBTdWIgQ29weU1lbW9y +eSBMaWIgImtlcm5lbDMyIiBBbGlhcyAiUnRsTW92ZU1lbW9yeSIgKEJ5UmVmIERl +c3QgQXMgQW55LCBCeVJlZiBTb3VyY2UgQXMgQW55LCBCeVZhbCBCeXRlcyBBcyBM +b25nKQ0KI0Vsc2UNCiAgIFByaXZhdGUgRGVjbGFyZSBTdWIgQ29weU1lbW9yeSBM +aWIgImtlcm5lbDMyIiBBbGlhcyAiUnRsTW92ZU1lbW9yeSIgKEJ5UmVmIERlc3Qg +QXMgQW55LCBCeVJlZiBTb3VyY2UgQXMgQW55LCBCeVZhbCBCeXRlcyBBcyBMb25n +KQ0KI0VuZCBJZg0KDQonREFPIERhdGFiYXNlDQpQcml2YXRlIG1fRGFvRGIgQXMg +REFPLkRhdGFiYXNlDQoNCidEZWZhdWx0IHZhbHVlcyBmb3Igb3B0aW9uYWwgREFP +IGVudW0gcGFyYW1ldGVycywgZS5nLiBpbiBPcGVuUmVjb3Jkc2V0Lg0KJyAoaWYg +dGhlc2UgYXJlIG5vdCBzZXQsIERBTyBzdGFuZGFyZCBhcHBsaWVzKQ0KUHJpdmF0 +ZSBtX1JlY29yZHNldFR5cGVFbnVtRGVmYXVsdCBBcyBEQU8uUmVjb3Jkc2V0VHlw +ZUVudW0NClByaXZhdGUgbV9SZWNvcmRzZXRPcHRpb25FbnVtRGVmYXVsdCBBcyBE +QU8uUmVjb3Jkc2V0T3B0aW9uRW51bQ0KUHJpdmF0ZSBtX0xvY2tUeXBlRW51bURl +ZmF1bHQgQXMgREFPLkxvY2tUeXBlRW51bQ0KDQonIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJyBH +cm91cDogRXZlbnRzDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicgRXZlbnQ6IEVycm9yTWlzc2luZ0N1cnJlbnREYg0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBFdmVudCBmb3Ig +bWlzc2luZyBDdXJyZW50RGIgcmVmZXJlbmNlDQonDQonIFBhcmFtZXRlcnM6DQon +ICAgICBNc2cgICAgICAgICAgICAgLSBNZXNzYWdlIGFib3V0IHRoZSBjYXVzZSBv +ZiB0aGUgZXZlbnQgdHJpZ2dlcmluZy4gKE5vdCB5ZXQgdXNlZCkNCicgICAgIE5l +d0N1cnJlbnREYlJlZiAtIERBTy5EYXRhYmFzZSByZWZlcmVuY2UgdG8gYmUgdXNl +ZCBmb3IgQ3VycmVudERiDQonDQonIFJlbWFya3M6DQonICAgICBUaGUgcmVxdWly +ZWQgREFPLkRhdGFiYXNlIHJlZmVyZW5jZSBjYW4gYmUgcGFzc2VkIG9uIHZpYSB0 +aGUgQnlSZWYgcGFyYW1ldGVyIE5ld0N1cnJlbnREYlJlZi4NCicNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBFdmVudCBF +cnJvck1pc3NpbmdDdXJyZW50RGIoQnlWYWwgTXNnIEFzIFN0cmluZywgQnlSZWYg +TmV3Q3VycmVudERiUmVmIEFzIERBTy5EYXRhYmFzZSkNCg0KDQonIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIw0KJyBHcm91cDogQ2xhc3MgY29udHJvbA0KDQonDQonIEluaXQgLyBUZXJt +aW5hdGUNCicgLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJ1ByaXZhdGUgU3ViIENsYXNz +X0luaXRpYWxpemUoKQ0KJycNCidFbmQgU3ViDQoNClByaXZhdGUgU3ViIENsYXNz +X1Rlcm1pbmF0ZSgpDQogICBEaXNwb3NlDQpFbmQgU3ViDQoNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgU3ViOiBEaXNwb3NlDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIFJl +bW92ZSBvYmplY3QgcmVmZXJlbmNlcw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFN1YiBEaXNwb3NlKCkNCiAgIFNl +dCBtX0Rhb0RiID0gTm90aGluZw0KICAgbV9SZWNvcmRzZXRUeXBlRW51bURlZmF1 +bHQgPSAwDQogICBtX1JlY29yZHNldE9wdGlvbkVudW1EZWZhdWx0ID0gMA0KICAg +bV9Mb2NrVHlwZUVudW1EZWZhdWx0ID0gMA0KRW5kIFN1Yg0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogSW5pdFJlY29y +ZHNldEVudW1EZWZhdWx0VmFsdWVzDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonDQonIFNldCBkZWZhdWx0IHZhbHVlcyBmb3IgcmVj +b3Jkc2V0IGVudW1zLCB3aGljaCBhcmUgdXNlZCB3aGVuIHBhcmFtZXRlcnMgY2Fu +bm90IGJlIHNldC4NCicNCicgUGFyYW1ldGVyczoNCicgICAgIFJlY29yZHNldFR5 +cGUgIC0gIERBTy5SZWNvcmRzZXRUeXBlRW51bQ0KJyAgICAgT3B0aW9ucyAgICAg +ICAgLSAgREFPLlJlY29yZHNldE9wdGlvbkVudW0NCicgICAgIExvY2tFZGl0ICAg +ICAgIC0gIERBTy5Mb2NrVHlwZUVudW0NCicNCicgUmVtYXJrczoNCicgICAgIElm +IDAgaXMgc2V0LCBzdGFuZGFyZCBvZiBEQU8gaXMgdXNlZCAoMCBwYXJhbWV0ZXJz +IGFyZSBwYXNzZWQgb24gdG8gREFPIGFzICJJc01pc3NpbmciIHZhcmlhbnQgdmFs +dWUpLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KUHVibGljIFN1YiBJbml0UmVjb3Jkc2V0RW51bURlZmF1bHRWYWx1ZXMoIF8N +CiAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5UmVmIFJlY29yZHNl +dFR5cGUgQXMgREFPLlJlY29yZHNldFR5cGVFbnVtLCBfDQogICAgICAgICAgICAg +ICAgICAgICAgICBPcHRpb25hbCBCeVJlZiBPcHRpb25zIEFzIERBTy5SZWNvcmRz +ZXRPcHRpb25FbnVtLCBfDQogICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25h +bCBCeVJlZiBMb2NrRWRpdCBBcyBEQU8uTG9ja1R5cGVFbnVtKQ0KDQogICBtX1Jl +Y29yZHNldFR5cGVFbnVtRGVmYXVsdCA9IFJlY29yZHNldFR5cGUNCiAgIG1fUmVj +b3Jkc2V0T3B0aW9uRW51bURlZmF1bHQgPSBPcHRpb25zDQogICBtX0xvY2tUeXBl +RW51bURlZmF1bHQgPSBMb2NrRWRpdA0KDQpFbmQgU3ViDQoNCicjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjDQonIEdyb3VwOiBEYXRhIENvbm5lY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogQ3VycmVudERi +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQon +IEN1cnJlbnREYkMgdmFyaWFudA0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLkRh +dGFiYXNlDQonDQonIFJlbWFya3M6DQonICAgICBDdXJyZW50RGJDIHZhcmlhbnQg +d2hpY2gsIHVubGlrZSB0aGUgb3JpZ2luYWwgdmVyc2lvbiBieSBNaWNoYWVsIEth +cGxhbiwNCicgICAgIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgc2V0IHRoZSBEQU8g +ZGF0YWJhc2UgcmVmZXJlbmNlIHRvIEFjY2Vzcy5BcHBsaWNhdGlvbi5DdXJyZW50 +RGIsDQonICAgICBidXQgcmVxdWVzdHMgaXQgdmlhIGFuIGV2ZW50IGlmIG5vIHJl +ZmVyZW5jZSBleGlzdHMgeWV0Lg0KJyAgICAgVGhpcyBhbGxvd3MgYW55IGRhdGFi +YXNlIHJlZmVyZW5jZSB0byBiZSBwYXNzZWQgdmlhIHRoZSBtYWluIGFwcGxpY2F0 +aW9uLg0KJyAgICAgKGUuZy4gaWYgYSB0ZW1wIGRhdGFiYXNlIGlzIHRvIHNlcnZl +IGFzIEN1cnJlbnREYikuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IEN1cnJlbnREYigpIEFz +IERBTy5EYXRhYmFzZQ0KICAgIElmIChtX0Rhb0RiIElzIE5vdGhpbmcpIFRoZW4N +CiAgICAgICAgJ0Vycm9yLUV2ZW50IGF1c2z2c2VuIHVuZCBob2ZmZW4sIGRhc3Mg +bmV1ZSBSZWZlcmVueiBnZWxpZWZlcnQgd2lyZA0KICAgICAgICBSYWlzZUV2ZW50 +IEVycm9yTWlzc2luZ0N1cnJlbnREYigiRGFvSGFuZGxlci5DdXJyZW50RGI6IHVu +YXZhaWxhYmxlIEN1cnJlbnREYi1EYXRhYmFzZSIsIG1fRGFvRGIpDQogICAgICAg +IElmIChtX0Rhb0RiIElzIE5vdGhpbmcpIFRoZW4NCiAgICAgICAgJ1VzZSBDdXJy +ZW50RGIgb2YgdGhlIGFwcGxpY2F0aW9uIGlmIERhb0hhbmRsZXIgInNlbGYtaW5z +dGFudGlhdGluZyIgKFZCX1ByZWRlY2xhcmVkSWQgPSBUcnVlKSBpcyB1c2VkLg0K +ICAgICAgICAnQXR0ZW50aW9uISAuLi4gdGhpcyBjaGVjayBtYXkgaGF2ZSB0aGUg +ZGlzYWR2YW50YWdlIHRoYXQgZnJvbSBoZXJlIG9uIFZCX1ByZWRlY2xhcmVkSWQg +dGFrZXMgZWZmZWN0LA0KICAgICAgICAnICAgICAgICAgICAgICAgYWx0aG91Z2gg +aXQgbWF5IG5vdCBiZSBuZWVkZWQuDQogICAgICAgIElmIE1lIElzIERhb0hhbmRs +ZXIgVGhlbiAnYXBwbGllcyBvbmx5IGlmIGluc3RhbmNlIGlzIGlkZW50aWNhbCB0 +byBWQl9QcmVkZWNsYXJlZElkIGluc3RhbmNlDQogICAgICAgICcgICAgICAgICAg +ICAgICAgICAgICAgICAgRXZlcnkgb3RoZXIgaW5zdGFuY2Ugb2YgRGFvSGFuZGxl +ciBoYXMgZGlmZmVyZW50IG1lbW9yeSBhZGRyZXNzIChPYmpQdHIoTWUpIDw+IE9i +alB0cihEYW9IYW5kbGVyKSkuDQogICAgICAgICAgIFNldCBNZS5DdXJyZW50RGIg +PSBBcHBsaWNhdGlvbi5DdXJyZW50RGINCiAgICAgICAgRW5kIElmDQogICAgICAg +IEVuZCBJZg0KICAgIEVuZCBJZg0KICAgIFNldCBDdXJyZW50RGIgPSBtX0Rhb0Ri +DQpFbmQgUHJvcGVydHkNCg0KUHVibGljIFByb3BlcnR5IFNldCBDdXJyZW50RGIo +QnlSZWYgTmV3Q3VycmVudERiIEFzIERBTy5EYXRhYmFzZSkNCiAgICBTZXQgbV9E +YW9EYiA9IE5ld0N1cnJlbnREYg0KRW5kIFByb3BlcnR5DQoNCkZyaWVuZCBQcm9w +ZXJ0eSBHZXQgQ3VycmVudERiUmVmZXJlbmNlT25seSgpIEFzIERBTy5EYXRhYmFz +ZQ0KICAgIFNldCBDdXJyZW50RGJSZWZlcmVuY2VPbmx5ID0gbV9EYW9EYg0KRW5k +IFByb3BlcnR5DQoNCicjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQonIEdyb3VwOiBEYXRhIE9wZXJh +dGlvbnMNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBGdW5jdGlvbjogRXhlY3V0ZQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBFeGVjdXRlIFNRTCBzdGF0ZW1lbnQNCicN +CicgUGFyYW1ldGVyczoNCicgICAgIENvbW1hbmRUZXh0IC0gU1FMIHN0YXRlbWVu +dCAoU3RyaW5nKQ0KJyAgICAgT3B0aW9ucyAgICAgLSBEQU8uUmVjb3Jkc2V0T3B0 +aW9uRW51bQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgUmVjb3Jkc0FmZmVjdGVkIChM +b25nKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KUHVibGljIEZ1bmN0aW9uIEV4ZWN1dGUoQnlWYWwgUXVlcnkgQXMgU3RyaW5n +LCBfDQogICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBPcHRpb25zIEFzIERB +Ty5SZWNvcmRzZXRPcHRpb25FbnVtKSBBcyBMb25nDQoNCiAgICBJZiAoT3B0aW9u +cyBBbmQgZGJTZWVDaGFuZ2VzKSA9IDAgVGhlbg0KICAgICAgICBPcHRpb25zID0g +T3B0aW9ucyArIGRiU2VlQ2hhbmdlcw0KICAgIEVuZCBJZg0KICAgIE1lLkN1cnJl +bnREYi5FeGVjdXRlIFF1ZXJ5LCBPcHRpb25zDQogICAgRXhlY3V0ZSA9IE1lLkN1 +cnJlbnREYi5SZWNvcmRzQWZmZWN0ZWQNCiANCkVuZCBGdW5jdGlvbg0KDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9u +OiBFeGVjdXRlUGFyYW1TUUwNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicNCicgRXhlY3V0ZSBTUUwgc3RhdGVtZW50IHdpdGggcGFy +YW1ldGVycw0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgU3FsVGV4dCAgICAgLSBT +UUwgc3RhdGVtZW50DQonICAgICBRdWVyeVBhcmFtcyAtIFZhbHVlcyBpbiBzdWl0 +YWJsZSBvcmRlciBhcyBQYXJhbUFycmF5IG9yIGFzIGFycmF5IG9yIDItZGltZW5z +aW9uYWwgcGFyYW1ldGVyIGFycmF5IChBcnJheShuLDEpIC4uLiB4KG4sMCkgPSBw +YXJhbWV0ZXIgbmFtZSwgeChuLDEpID0gcGFyYW1ldGVyIHZhbHVlKSAuLi4gZ2Vu +ZXJhdGVhYmxlIHdpdGggR2V0UGFyYW1EZWZBcnJheSBvciBHZXROYW1lZFBhcmFt +RGVmQXJyYXkNCicNCicgUmV0dXJuczoNCicgICAgIFJlY29yZHNBZmZlY3RlZCAo +TG9uZykNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NClB1YmxpYyBGdW5jdGlvbiBFeGVjdXRlUGFyYW1TcWwoQnlWYWwgU3FsVGV4 +dCBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFt +QXJyYXkgUXVlcnlQYXJhbXMoKSBBcyBWYXJpYW50KSBBcyBMb25nDQogDQogICBE +aW0gcWRmIEFzIERBTy5RdWVyeURlZg0KDQpPbiBFcnJvciBHb1RvIEhhbmRsZUVy +cg0KDQogICBJZiBJc01pc3NpbmcoUXVlcnlQYXJhbXMpIFRoZW4NCiAgICAgIFNl +dCBxZGYgPSBNZS5QYXJhbVF1ZXJ5RGVmU3FsKFNxbFRleHQpDQogICBFbHNlDQog +ICAgICBTZXQgcWRmID0gTWUuUGFyYW1RdWVyeURlZlNxbChTcWxUZXh0LCBRdWVy +eVBhcmFtcykNCiAgIEVuZCBJZg0KICAgDQogICBFeGVjdXRlUGFyYW1TcWwgPSBF +eGVjdXRlUXVlcnlEZWYocWRmKQ0KDQpPbiBFcnJvciBHb1RvIDANCg0KICAgcWRm +LkNsb3NlDQogICBTZXQgcWRmID0gTm90aGluZw0KICAgDQpFeGl0SGVyZToNCiAg +IEV4aXQgRnVuY3Rpb24NCiAgIA0KSGFuZGxlRXJyOg0KICAgSWYgTm90IChxZGYg +SXMgTm90aGluZykgVGhlbg0KICAgICAgcWRmLkNsb3NlDQogICAgICBTZXQgcWRm +ID0gTm90aGluZw0KICAgRW5kIElmDQogICBFcnIuUmFpc2UgRXJyLk51bWJlciwg +IkV4ZWN1dGVQYXJhbVNRTDoiICYgRXJyLlNvdXJjZSwgRXJyLkRlc2NyaXB0aW9u +LCBFcnIuSGVscEZpbGUsIEVyci5IZWxwQ29udGV4dA0KIA0KRW5kIEZ1bmN0aW9u +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +RnVuY3Rpb246IEV4ZWN1dGVRdWVyeURlZkJ5TmFtZQ0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBFeGVjdXRlIHNhdmVkIHF1 +ZXJ5IChvcHRpb25hbGx5IHdpdGggcGFyYW1ldGVycykNCicNCicgUGFyYW1ldGVy +czoNCicgICAgIFF1ZXJ5TmFtZSAgIC0gUXVlcnlEZWYgbmFtZQ0KJyAgICAgUXVl +cnlQYXJhbXMgLSBWYWx1ZXMgaW4gc3VpdGFibGUgb3JkZXIgYXMgUGFyYW1BcnJh +eSBvciBhcyBhcnJheQ0KJyAgICAgICAgICAgICAgICAgICBvciAyLWRpbWVuc2lv +bmFsIHBhcmFtZXRlciBhcnJheSAoQXJyYXkobiwxKSAuLi4geChuLDApID0gcGFy +YW1ldGVyIG5hbWUsIHgobiwxKSA9IHBhcmFtZXRlciB2YWx1ZSkgLi4uIGdlbmVy +YXRlYWJsZSB3aXRoIEdldFBhcmFtRGVmQXJyYXkgb3IgR2V0TmFtZWRQYXJhbURl +ZkFycmF5DQonDQonIFJldHVybnM6DQonICAgICBSZWNvcmRzQWZmZWN0ZWQgKExv +bmcpDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQpQdWJsaWMgRnVuY3Rpb24gRXhlY3V0ZVF1ZXJ5RGVmQnlOYW1lKEJ5VmFsIFF1 +ZXJ5TmFtZSBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIFBhcmFtQXJyYXkgUXVlcnlQYXJhbXMoKSBBcyBWYXJpYW50KSBBcyBM +b25nDQogICANCiAgIERpbSBxZGYgQXMgREFPLlF1ZXJ5RGVmDQogDQpPbiBFcnJv +ciBHb1RvIEhhbmRsZUVycg0KIA0KICAgSWYgSXNNaXNzaW5nKFF1ZXJ5UGFyYW1z +KSBUaGVuDQogICAgICBTZXQgcWRmID0gTWUuUGFyYW1RdWVyeURlZkJ5TmFtZShR +dWVyeU5hbWUpDQogICBFbHNlDQogICAgICBTZXQgcWRmID0gTWUuUGFyYW1RdWVy +eURlZkJ5TmFtZShRdWVyeU5hbWUsIFF1ZXJ5UGFyYW1zKQ0KICAgRW5kIElmDQoN +CiAgIEV4ZWN1dGVRdWVyeURlZkJ5TmFtZSA9IEV4ZWN1dGVRdWVyeURlZihxZGYp +DQoNCk9uIEVycm9yIEdvVG8gMA0KDQogICBxZGYuQ2xvc2UNCiAgIFNldCBxZGYg +PSBOb3RoaW5nDQogICANCkV4aXRIZXJlOg0KICAgRXhpdCBGdW5jdGlvbg0KICAg +DQpIYW5kbGVFcnI6DQogICBJZiBOb3QgKHFkZiBJcyBOb3RoaW5nKSBUaGVuDQog +ICAgICBxZGYuQ2xvc2UNCiAgICAgIFNldCBxZGYgPSBOb3RoaW5nDQogICBFbmQg +SWYNCiAgIEVyci5SYWlzZSBFcnIuTnVtYmVyLCAiRXhlY3V0ZVBhcmFtUWRmQnlO +YW1lOiIgJiBFcnIuU291cmNlLCBFcnIuRGVzY3JpcHRpb24sIEVyci5IZWxwRmls +ZSwgRXJyLkhlbHBDb250ZXh0DQogDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogRXhl +Y3V0ZVF1ZXJ5RGVmDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonDQonIEZpbGwgUXVlcnlEZWYgb2JqZWN0IHdpdGggcGFyYW1ldGVy +IHZhbHVlcyBhbmQgdGhlbiBleGVjdXRlIGl0DQonDQonIFBhcmFtZXRlcnM6DQon +ICAgICBRZGZSZWYgICAgICAtIFF1ZXJ5RGVmIHJlZmVyZW5jZQ0KJyAgICAgUXVl +cnlQYXJhbXMgLSBWYWx1ZXMgaW4gc3VpdGFibGUgb3JkZXIgYXMgUGFyYW1BcnJh +eSBvciBhcyBhcnJheQ0KJyAgICAgICAgICAgICAgICAgICBvciAyLWRpbWVuc2lv +bmFsIHBhcmFtZXRlciBhcnJheSAoQXJyYXkobiwxKSAuLi4geChuLDApID0gcGFy +YW1ldGVyIG5hbWUsIHgobiwxKSA9IHBhcmFtZXRlciB2YWx1ZSkgLi4uIGdlbmVy +YXRlYWJsZSB3aXRoIEdldFBhcmFtRGVmQXJyYXkgb3IgR2V0TmFtZWRQYXJhbURl +ZkFycmF5DQonDQonIFJldHVybnM6DQonICAgICBSZWNvcmRzQWZmZWN0ZWQgKExv +bmcpDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQpQdWJsaWMgRnVuY3Rpb24gRXhlY3V0ZVF1ZXJ5RGVmKEJ5VmFsIFFkZlJlZiBB +cyBEQU8uUXVlcnlEZWYsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1B +cnJheSBRdWVyeVBhcmFtcygpIEFzIFZhcmlhbnQpIEFzIExvbmcNCiANCiAgIERp +bSBRZGZQYXJhbURlZnMoKSBBcyBWYXJpYW50DQogICANCiAgIElmIE5vdCBJc01p +c3NpbmcoUXVlcnlQYXJhbXMpIFRoZW4NCiAgICAgIFFkZlBhcmFtRGVmcyA9IEdl +dFBhcmFtRGVmQXJyYXkoUXVlcnlQYXJhbXMpDQogICAgICBGaWxsUXVlcnlEZWZQ +YXJhbWV0ZXJzIFFkZlJlZiwgUWRmUGFyYW1EZWZzDQogICBFbmQgSWYNCiAgIA0K +ICAgUWRmUmVmLkV4ZWN1dGUgZGJGYWlsT25FcnJvcg0KICAgDQogICBFeGVjdXRl +UXVlcnlEZWYgPSBRZGZSZWYuUmVjb3Jkc0FmZmVjdGVkDQoNCkVuZCBGdW5jdGlv +bg0KDQpQcml2YXRlIFN1YiBGaWxsUXVlcnlEZWZQYXJhbWV0ZXJzKEJ5VmFsIFFk +ZlJlZiBBcyBEQU8uUXVlcnlEZWYsIEJ5VmFsIFFkZlBhcmFtRGVmcyBBcyBWYXJp +YW50KQ0KICAgDQogICBEaW0gUGFyYW1EZWZzQXJyYXlTaXplIEFzIExvbmcNCiAg +IERpbSBQYXJhbUluZGV4IEFzIFZhcmlhbnQNCiAgIERpbSBpIEFzIExvbmcNCg0K +ICAgUGFyYW1EZWZzQXJyYXlTaXplID0gVUJvdW5kKFFkZlBhcmFtRGVmcywgMSkN +CiAgIA0KICAgV2l0aCBRZGZSZWYNCiAgICAgIEZvciBpID0gMCBUbyBQYXJhbURl +ZnNBcnJheVNpemUNCiAgICAgICAgIFBhcmFtSW5kZXggPSBRZGZQYXJhbURlZnMo +aSwgMCkNCiAgICAgICAgIElmIExlbihQYXJhbUluZGV4KSA+IDAgVGhlbg0KICAg +ICAgICAgICAgLlBhcmFtZXRlcnMoUGFyYW1JbmRleCkuVmFsdWUgPSBRZGZQYXJh +bURlZnMoaSwgMSkNCiAgICAgICAgIEVuZCBJZg0KICAgICAgTmV4dCBpDQogICBF +bmQgV2l0aA0KICAgDQpFbmQgU3ViDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IFBhcmFtUXVlcnlEZWZCeU5h +bWUNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +CicgT3BlbiBzYXZlZCBxdWVyeSBhcyBRdWVyeURlZiBvYmplY3QgaW5jbC4gcGFz +c2VkIHBhcmFtZXRlciB2YWx1ZXMNCicNCicgUGFyYW1ldGVyczoNCicgICAgIFF1 +ZXJ5TmFtZSAgIC0gbmFtZSBvZiBxdWVyeSB3aXRoIHBhcmFtZXRlcnMNCicgICAg +IFF1ZXJ5UGFyYW1zIC0gVmFsdWVzIGluIHN1aXRhYmxlIG9yZGVyIGFzIFBhcmFt +QXJyYXkgb3IgYXMgYXJyYXkNCicgICAgICAgICAgICAgICAgICAgb3IgMi1kaW1l +bnNpb25hbCBwYXJhbWV0ZXIgYXJyYXkgKEFycmF5KG4sMSkgLi4uIHgobiwwKSA9 +IHBhcmFtZXRlciBuYW1lLCB4KG4sMSkgPSBwYXJhbWV0ZXIgdmFsdWUpIC4uLiBn +ZW5lcmF0ZWFibGUgd2l0aCBHZXRQYXJhbURlZkFycmF5IG9yIEdldE5hbWVkUGFy +YW1EZWZBcnJheQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLlF1ZXJ5RGVmDQon +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJs +aWMgRnVuY3Rpb24gUGFyYW1RdWVyeURlZkJ5TmFtZShCeVZhbCBRdWVyeU5hbWUg +QXMgU3RyaW5nLCBQYXJhbUFycmF5IFF1ZXJ5UGFyYW1zKCkgQXMgVmFyaWFudCkg +QXMgREFPLlF1ZXJ5RGVmDQoNCiAgIERpbSBxZGYgQXMgREFPLlF1ZXJ5RGVmDQog +ICBEaW0gUWRmUGFyYW1EZWZzKCkgQXMgVmFyaWFudA0KIA0KICAgU2V0IHFkZiA9 +IE1lLkN1cnJlbnREYi5RdWVyeURlZnMoUXVlcnlOYW1lKQ0KICAgSWYgTm90IElz +TWlzc2luZyhRdWVyeVBhcmFtcykgVGhlbg0KICAgICAgUWRmUGFyYW1EZWZzID0g +R2V0UGFyYW1EZWZBcnJheShRdWVyeVBhcmFtcykNCiAgICAgIEZpbGxRdWVyeURl +ZlBhcmFtZXRlcnMgcWRmLCBRZGZQYXJhbURlZnMNCiAgIEVuZCBJZg0KICAgDQog +ICBTZXQgUGFyYW1RdWVyeURlZkJ5TmFtZSA9IHFkZg0KDQpFbmQgRnVuY3Rpb24N +Cg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBG +dW5jdGlvbjogUGFyYW1RdWVyeURlZlNxbA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBUZW1wb3LkcmVzIFF1ZXJ5RGVmLU9i +amVrdCBpbmsuIPxiZXJnZWJlbmVuIFBhcmFtZXRlcndlcnRlbiD2ZmZuZW4NCicN +CicgUGFyYW1ldGVyczoNCicgICAgIFBhcmFtU3FsVGV4dCAgIC0gU1FMIHN0YXRl +bWVudCBmb3IgdGhlIHRlbXBvcmFyeSBRdWVyeURlZiBvYmplY3QNCicgICAgIFF1 +ZXJ5UGFyYW1zICAgIC0gVmFsdWVzIGluIHN1aXRhYmxlIG9yZGVyIGFzIFBhcmFt +QXJyYXkgb3IgYXMgYXJyYXkNCicgICAgICAgICAgICAgICAgICAgICAgb3IgMi1k +aW1lbnNpb25hbCBwYXJhbWV0ZXIgYXJyYXkgKEFycmF5KG4sMSkgLi4uIHgobiww +KSA9IHBhcmFtZXRlciBuYW1lLCB4KG4sMSkgPSBwYXJhbWV0ZXIgdmFsdWUpIC4u +LiBnZW5lcmF0ZWFibGUgd2l0aCBHZXRQYXJhbURlZkFycmF5IG9yIEdldE5hbWVk +UGFyYW1EZWZBcnJheQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLlF1ZXJ5RGVm +DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQ +dWJsaWMgRnVuY3Rpb24gUGFyYW1RdWVyeURlZlNxbChCeVZhbCBQYXJhbVNxbFRl +eHQgQXMgU3RyaW5nLCBQYXJhbUFycmF5IFF1ZXJ5UGFyYW1zKCkgQXMgVmFyaWFu +dCkgQXMgREFPLlF1ZXJ5RGVmDQoNCiAgIERpbSBxZGYgQXMgREFPLlF1ZXJ5RGVm +DQogICBEaW0gUWRmUGFyYW1EZWZzKCkgQXMgVmFyaWFudA0KDQogICBTZXQgcWRm +ID0gTWUuQ3VycmVudERiLkNyZWF0ZVF1ZXJ5RGVmKCIiLCBQYXJhbVNxbFRleHQp +DQogICBJZiBOb3QgSXNNaXNzaW5nKFF1ZXJ5UGFyYW1zKSBUaGVuDQogICAgICBR +ZGZQYXJhbURlZnMgPSBHZXRQYXJhbURlZkFycmF5KFF1ZXJ5UGFyYW1zKQ0KICAg +ICAgRmlsbFF1ZXJ5RGVmUGFyYW1ldGVycyBxZGYsIFFkZlBhcmFtRGVmcw0KICAg +RW5kIElmDQogICANCiAgIFNldCBQYXJhbVF1ZXJ5RGVmU3FsID0gcWRmDQoNCkVu +ZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonIEZ1bmN0aW9uOiBPcGVuUmVjb3Jkc2V0DQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIE9wZW4gREFPLlJlY29y +ZHNldA0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgU291cmNlICAgICAgICAgICAg +LSBTUUwgc3RhdGVtZW50IG9yIHRhYmxlIG9yIHF1ZXJ5IG5hbWUNCicgICAgIFJl +Y29yZHNldFR5cGUgICAgIC0gREFPLlJlY29yZHNldFR5cGVFbnVtIChTdGFuZGFy +ZDogZGJPcGVuRHluYXNldCkNCicgICAgIFJlY29yZHNldE9wdGlvbnMgIC0gREFP +LlJlY29yZHNldE9wdGlvbkVudW0gKFN0YW5kYXJkOiBkYlNlZUNoYW5nZXMpDQon +ICAgICBMb2NrRWRpdCAgICAgICAgICAtIERBTy5Mb2NrVHlwZUVudW0gKFN0YW5k +YXJkOiBkYk9wdGltaXN0aWMpDQonDQonIFJldHVybnM6DQonICAgICBEQU8uUmVj +b3Jkc2V0DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpQdWJsaWMgRnVuY3Rpb24gT3BlblJlY29yZHNldChCeVZhbCBTb3VyY2Ug +QXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZh +bCBSZWNvcmRzZXRUeXBlIEFzIERBTy5SZWNvcmRzZXRUeXBlRW51bSA9IGRiT3Bl +bkR5bmFzZXQsIF8NCiAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFs +IFJlY29yZHNldE9wdGlvbnMgQXMgREFPLlJlY29yZHNldE9wdGlvbkVudW0gPSBE +QU8uUmVjb3Jkc2V0T3B0aW9uRW51bS5kYlNlZUNoYW5nZXMsIF8NCiAgICAgICAg +ICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIExvY2tFZGl0IEFzIERBTy5Mb2Nr +VHlwZUVudW0pIEFzIERBTy5SZWNvcmRzZXQNCg0KICAgSWYgKFJlY29yZHNldE9w +dGlvbnMgQW5kIGRiU2VlQ2hhbmdlcykgPSAwIFRoZW4NCiAgICAgIFJlY29yZHNl +dE9wdGlvbnMgPSBSZWNvcmRzZXRPcHRpb25zICsgZGJTZWVDaGFuZ2VzDQogICBF +bmQgSWYNCiAgIA0KICAgJyBSZXBsYWNlMFdpdGhJc01pc3NpbmcgLi4uIHNvIHRo +YXQgSXNNaXNzaW5nIGZvciBWYXJpYW50IGRhdGEgdHlwZSB3b3JrcyBvbiBvcmln +aW5hbCBEQU8gb3BlbnJlY29yZHNldA0KICAgU2V0IE9wZW5SZWNvcmRzZXQgPSBN +ZS5DdXJyZW50RGIuT3BlblJlY29yZHNldChTb3VyY2UsIF8NCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVwbGFjZTBX +aXRoSXNNaXNzaW5nKFJlY29yZHNldFR5cGUpLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcGxhY2UwV2l0aElz +TWlzc2luZyhSZWNvcmRzZXRPcHRpb25zKSwgXw0KICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBsYWNlMFdpdGhJc01p +c3NpbmcoTG9ja0VkaXQpKQ0KDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5j +dGlvbiBSZXBsYWNlMFdpdGhJc01pc3NpbmcoQnlWYWwgQ2hlY2tWYWx1ZSBBcyBM +b25nKSBBcyBWYXJpYW50DQogICBJZiBDaGVja1ZhbHVlID0gMCBUaGVuDQogICAg +ICBSZXBsYWNlMFdpdGhJc01pc3NpbmcgPSBHZXRJc01pc3NpbmcoKQ0KICAgRWxz +ZQ0KICAgICAgUmVwbGFjZTBXaXRoSXNNaXNzaW5nID0gQ2hlY2tWYWx1ZQ0KICAg +RW5kIElmDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBHZXRJc01p +c3NpbmcoT3B0aW9uYWwgQnlWYWwgRG9Ob3RGaWxsVGhpc1BhcmFtIEFzIFZhcmlh +bnQpIEFzIFZhcmlhbnQNCiAgIEdldElzTWlzc2luZyA9IERvTm90RmlsbFRoaXNQ +YXJhbQ0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IE9wZW5SZWNvcmRzZXRQYXJhbVNR +TA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0K +JyBPcGVuIHBhcmFtZXRlciBTUUwgc3RhdGVtZW50ICh1c2VzIHRlbXBvcmFyeSBR +dWVyeURlZikNCicNCicgUGFyYW1ldGVyczoNCicgICAgIFBhcmFtU3FsVGV4dCAg +ICAgIC0gU1FMIHN0YXRlbWVudCB3aXRoIHBhcmFtZXRlcnMgKHBhcmFtZXRlciBk +ZWNsYXJhdGlvbikNCicgICAgIFJlY29yZHNldFR5cGUgICAgIC0gREFPLlJlY29y +ZHNldFR5cGVFbnVtIChTdGFuZGFyZDogZGJPcGVuRHluYXNldCkNCicgICAgIFJl +Y29yZHNldE9wdGlvbnMgIC0gREFPLlJlY29yZHNldE9wdGlvbkVudW0gKFN0YW5k +YXJkOiBkYlNlZUNoYW5nZXMpDQonICAgICBMb2NrRWRpdCAgICAgICAgICAtIERB +Ty5Mb2NrVHlwZUVudW0gKFN0YW5kYXJkOiBkYk9wdGltaXN0aWMpDQonICAgICBR +dWVyeVBhcmFtcyAgICAgICAtIFZhbHVlcyBpbiBzdWl0YWJsZSBvcmRlciBhcyBQ +YXJhbUFycmF5IG9yIGFzIGFycmF5DQonICAgICAgICAgICAgICAgICAgICAgICAg +IG9yIDItZGltZW5zaW9uYWwgcGFyYW1ldGVyIGFycmF5IChBcnJheShuLDEpIC4u +LiB4KG4sMCkgPSBwYXJhbWV0ZXIgbmFtZSwgeChuLDEpID0gcGFyYW1ldGVyIHZh +bHVlKSAuLi4gZ2VuZXJhdGVhYmxlIHdpdGggR2V0UGFyYW1EZWZBcnJheSBvciBH +ZXROYW1lZFBhcmFtRGVmQXJyYXkNCicNCicgUmV0dXJuczoNCicgICAgIERBTy5S +ZWNvcmRzZXQNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBGdW5jdGlvbiBPcGVuUmVjb3Jkc2V0UGFyYW1TcWwoQnlW +YWwgUGFyYW1TcWxUZXh0IEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAg +ICAgQnlWYWwgUmVjb3Jkc2V0VHlwZSBBcyBEQU8uUmVjb3Jkc2V0VHlwZUVudW0s +IF8NCiAgICAgICAgICAgICAgICAgICAgIEJ5VmFsIE9wdGlvbnMgQXMgREFPLlJl +Y29yZHNldE9wdGlvbkVudW0sIF8NCiAgICAgICAgICAgICAgICAgICAgIEJ5VmFs +IExvY2tFZGl0IEFzIERBTy5Mb2NrVHlwZUVudW0sIF8NCiAgICAgICAgICAgICAg +ICAgICAgIFBhcmFtQXJyYXkgUXVlcnlQYXJhbXMoKSBBcyBWYXJpYW50KSBBcyBE +QU8uUmVjb3Jkc2V0DQoNCiAgIERpbSBxZGYgQXMgREFPLlF1ZXJ5RGVmDQogICBE +aW0gUWRmUGFyYW1EZWZzIEFzIFZhcmlhbnQgJw0KICAgDQogICBRZGZQYXJhbURl +ZnMgPSBHZXRQYXJhbURlZkFycmF5KFF1ZXJ5UGFyYW1zKQ0KICAgDQpPbiBFcnJv +ciBHb1RvIEhhbmRsZUVycg0KICAgDQogICBTZXQgcWRmID0gTWUuQ3VycmVudERi +LkNyZWF0ZVF1ZXJ5RGVmKCIiLCBQYXJhbVNxbFRleHQpDQogICBTZXQgT3BlblJl +Y29yZHNldFBhcmFtU3FsID0gT3BlblJlY29yZHNldFF1ZXJ5RGVmKHFkZiwgUWRm +UGFyYW1EZWZzLCBSZWNvcmRzZXRUeXBlLCBPcHRpb25zLCBMb2NrRWRpdCkNCiAg +IA0KT24gRXJyb3IgR29UbyAwDQoNCiAgIHFkZi5DbG9zZQ0KICAgU2V0IHFkZiA9 +IE5vdGhpbmcNCiAgIA0KRXhpdEhlcmU6DQogICBFeGl0IEZ1bmN0aW9uDQogICAN +CkhhbmRsZUVycjoNCiAgIElmIE5vdCAocWRmIElzIE5vdGhpbmcpIFRoZW4NCiAg +ICAgIHFkZi5DbG9zZQ0KICAgICAgU2V0IHFkZiA9IE5vdGhpbmcNCiAgIEVuZCBJ +Zg0KICAgRXJyLlJhaXNlIEVyci5OdW1iZXIsICJPcGVuUmVjb3Jkc2V0UGFyYW1T +UUw6IiAmIEVyci5Tb3VyY2UsIEVyci5EZXNjcmlwdGlvbiwgRXJyLkhlbHBGaWxl +LCBFcnIuSGVscENvbnRleHQNCiANCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBPcGVu +UmVjb3Jkc2V0UGFyYW1TcWwyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonDQonIE9wZW4gcGFyYW1ldGVyIFNRTCBzdGF0ZW1lbnQg +KGxpa2UgT3BlblJlY29yZHNldFBhcmFtU1FMLCBidXQgd2l0aCBkZWZhdWx0IHZh +bHVlcyBmb3IgUmVjb3Jkc2V0VHlwZSwgUmVjb3Jkc2V0T3B0aW9ucyBhbmQgTG9j +a0VkaXQpDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBQYXJhbVNxbFRleHQgICAt +IFNRTCBzdGF0ZW1lbnQgd2l0aCBwYXJhbWV0ZXJzIChwYXJhbWV0ZXIgZGVjbGFy +YXRpb24pDQonICAgICBRdWVyeVBhcmFtcyAgICAtIFZhbHVlcyBpbiBzdWl0YWJs +ZSBvcmRlciBhcyBQYXJhbUFycmF5IG9yIGFzIGFycmF5DQonICAgICAgICAgICAg +ICAgICAgICAgIG9yIDItZGltZW5zaW9uYWwgcGFyYW1ldGVyIGFycmF5IChBcnJh +eShuLDEpIC4uLiB4KG4sMCkgPSBwYXJhbWV0ZXIgbmFtZSwgeChuLDEpID0gcGFy +YW1ldGVyIHZhbHVlKSAuLi4gZ2VuZXJhdGVhYmxlIHdpdGggR2V0UGFyYW1EZWZB +cnJheSBvciBHZXROYW1lZFBhcmFtRGVmQXJyYXknDQonDQonIFJldHVybnM6DQon +ICAgICBEQU8uUmVjb3Jkc2V0DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gT3BlblJlY29yZHNldFBh +cmFtU3FsMihCeVZhbCBQYXJhbVNxbFRleHQgQXMgU3RyaW5nLCBfDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJhbUFycmF5IFF1ZXJ5 +UGFyYW1zKCkgQXMgVmFyaWFudCkgQXMgREFPLlJlY29yZHNldA0KDQogICBTZXQg +T3BlblJlY29yZHNldFBhcmFtU3FsMiA9IE9wZW5SZWNvcmRzZXRQYXJhbVNxbChQ +YXJhbVNxbFRleHQsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIG1fUmVjb3Jkc2V0VHlwZUVudW1EZWZhdWx0 +LCBtX1JlY29yZHNldE9wdGlvbkVudW1EZWZhdWx0LCBtX0xvY2tUeXBlRW51bURl +ZmF1bHQsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIFF1ZXJ5UGFyYW1zKQ0KDQpFbmQgRnVuY3Rpb24NCg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5j +dGlvbjogR2V0UGFyYW1EZWZBcnJheQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBDcmVhdGVzIDItZGltZW5zaW9uYWwgcGFy +YW1ldGVyIGFycmF5IChlLmcuIGZvciBPcGVuUmVjb3Jkc2V0UXVlcnlEZWYpDQon +DQonIFBhcmFtZXRlcnM6DQonICAgICBQYXJhbVZhbHVlcyAtIFBhcm1ldGVyIHZh +bHVlcyBpbiBtYXRjaGluZyBvcmRlciAod2l0aG91dCBpbmRleCBpZGVudGlmaWVy +ISkNCicNCicgUmV0dXJuczoNCicgICAgIFZhcmlhbnQgKEFycmF5KQ0KJw0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1 +bmN0aW9uIEdldFBhcmFtRGVmQXJyYXkoUGFyYW1BcnJheSBQYXJhbVZhbHVlcygp +IEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgIA0KICAgRGltIGkgQXMgTG9uZw0K +ICAgRGltIFFkZlBhcmFtRGVmcygpIEFzIFZhcmlhbnQNCiAgIERpbSBBcnJheVNp +emUgQXMgTG9uZw0KICAgRGltIFBhcmFtVmFsdWVBcnJheSBBcyBWYXJpYW50ICAn +ICEhISBuaWNodCBhbHMgQXJyYXkgZGVrbGFyaWVyZW4sIGRhIHNvbnN0IFBhcmFt +VmFsdWVBcnJheSA9IFBhcmFtVmFsdWVBcnJheSgwKSBmZWhsdHNjaGzkZ3QsIHdl +bm4gUGFyYW1WYWx1ZUFycmF5KDApIGVpbiBBcnJheSBpc3QNCiAgIERpbSBBcnJh +eURpbUNudCBBcyBMb25nLCBTdWJBcnJheURpbUNudCBBcyBMb25nDQogICANCiAg +IEFycmF5U2l6ZSA9IFVCb3VuZChQYXJhbVZhbHVlcykNCiAgIElmIEFycmF5U2l6 +ZSA9IC0xIFRoZW4NCiAgICAgIEdldFBhcmFtRGVmQXJyYXkgPSBRZGZQYXJhbURl +ZnMgJ25pY2h0IGRpbWVuc2lvbmllcnRlbiBBcnJheSB6dXL8Y2tnZWJlbg0KICAg +ICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIFBhcmFtVmFsdWVB +cnJheSA9IFBhcmFtVmFsdWVzDQogICBBcnJheURpbUNudCA9IEFycmF5RGltZW5z +aW9uQ291bnQoUGFyYW1WYWx1ZUFycmF5KQ0KICAgSWYgQXJyYXlEaW1DbnQgPSAy +IFRoZW4NCiAgICAgIEdldFBhcmFtRGVmQXJyYXkgPSBQYXJhbVZhbHVlcw0KICAg +ICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIFN1YkFycmF5RGlt +Q250ID0gQXJyYXlEaW1lbnNpb25Db3VudChQYXJhbVZhbHVlQXJyYXkoMCkpDQog +ICBJZiBTdWJBcnJheURpbUNudCA8PiAtMSBUaGVuDQogICANCiAgICAgIERvIFdo +aWxlIFN1YkFycmF5RGltQ250IDw+IC0xDQogICAgICANCiAgICAgICAgIFBhcmFt +VmFsdWVBcnJheSA9IFBhcmFtVmFsdWVBcnJheSgwKQ0KICAgICAgDQogICAgICAg +ICBJZiBTdWJBcnJheURpbUNudCA9IDIgVGhlbiAgJyAhISEgLyoqIFx0b2RvIENI +RUNLIFN1YkFycmF5RGltQ250ID0gMjE3NiAuLiBpc3QgZGFzIGltbWVyIHJpY2h0 +aWc/ICoqLw0KICAgICAgICAgJ0JlcmVpdHMgYXVmYmVyZWl0ZXRlciAyLWRpbS4g +QXJyYXkNCiAgICAgICAgICAgICAgICAgIEdldFBhcmFtRGVmQXJyYXkgPSBQYXJh +bVZhbHVlQXJyYXkNCiAgICAgICAgICAgICAgICAgIEV4aXQgRnVuY3Rpb24NCiAg +ICAgICAgIEVuZCBJZg0KICAgICAgICAgDQogICAgICAgICBTdWJBcnJheURpbUNu +dCA9IEFycmF5RGltZW5zaW9uQ291bnQoUGFyYW1WYWx1ZUFycmF5KDApKQ0KICAg +ICAgICAgDQogICAgICBMb29wDQogICAgICANCiAgICAgIEFycmF5U2l6ZSA9IFVC +b3VuZChQYXJhbVZhbHVlQXJyYXkpDQogICAgICANCiAgIEVuZCBJZg0KICAgDQog +ICBSZURpbSBRZGZQYXJhbURlZnMoQXJyYXlTaXplLCAxKQ0KDQogICBGb3IgaSA9 +IDAgVG8gQXJyYXlTaXplDQogICAgICBRZGZQYXJhbURlZnMoaSwgMCkgPSBpDQog +ICAgICBRZGZQYXJhbURlZnMoaSwgMSkgPSBQYXJhbVZhbHVlQXJyYXkoaSkNCiAg +IE5leHQNCiAgIA0KICAgR2V0UGFyYW1EZWZBcnJheSA9IFFkZlBhcmFtRGVmcw0K +ICAgDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBBcnJheURpbWVu +c2lvbkNvdW50KEJ5UmVmIEFycmF5VG9DaGVjayBBcyBWYXJpYW50KSBBcyBJbnRl +Z2VyDQonIHNpZWhlIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZGUtZGUvbGli +cmFyeS9iYjk3ODkwMi5hc3B4IC4uIEZ1bmt0aW9uaWVydCBuaWNodCwgd2VubiBB +cnJheSBpbiBWYXJpYW50IGVpbmdlYmV0dGV0IGlzdA0KDQonICAgRGltIGxuZ0Nu +dCBBcyBJbnRlZ2VyDQonICAgRGltIGxwU0FEZXNjcmlwdG9yIEFzIExvbmcsIGxw +U2FmZUFycmF5IEFzIExvbmcNCicNCidPbiBFcnJvciBSZXN1bWUgTmV4dA0KJw0K +JyAgIElmIE5vdCBJc0FycmF5KEFycmF5VG9DaGVjaykgVGhlbg0KJyAgICAgIEFy +cmF5RGltZW5zaW9uQ291bnQgPSAtMQ0KJyAgICAgIEV4aXQgRnVuY3Rpb24NCicg +ICBFbmQgSWYNCicNCicgICAnIEFkcmVzc2UgZGVzIFNBRkVBUlJBWS1EZXNrcmlw +dG9ycyBob2xlbg0KJyAgIENvcHlNZW1vcnkgbHBTQURlc2NyaXB0b3IsIEJ5VmFs +IFZhclB0cihBcnJheVRvQ2hlY2spICsgOCwgNA0KJyAgICcgQWRyZXNzZSBkZXIg +U0FGRUFSUkFZLVN0cnVrdHVyIGhvbGVuDQonICAgQ29weU1lbW9yeSBscFNhZmVB +cnJheSwgQnlWYWwgbHBTQURlc2NyaXB0b3IsIDQNCicNCicgICBJZiBscFNhZmVB +cnJheSA8PiAwIFRoZW4NCicgICAgICAnIERpZSBlcnN0ZW4gendlaSBCeXRlcyBl +bnRoYWx0ZW4gZGllIEFuemFobCBkZXIgRGltZW5zaW9uZW46DQonICAgICAgQ29w +eU1lbW9yeSBsbmdDbnQsIEJ5VmFsIGxwU2FmZUFycmF5LCAyDQonICAgRW5kIElm +DQonDQonICAgQXJyYXlEaW1lbnNpb25Db3VudCA9IGxuZ0NudA0KICAgDQogICBE +aW0gQXJyYXlTaXplIEFzIExvbmcNCiAgIERpbSBEaW1DbnQgQXMgTG9uZw0KICAg +DQogICBEaW1DbnQgPSAwDQogICANCiAgIElmIE5vdCBJc0FycmF5KEFycmF5VG9D +aGVjaykgVGhlbg0KICAgICAgQXJyYXlEaW1lbnNpb25Db3VudCA9IC0xDQogICAg +ICBFeGl0IEZ1bmN0aW9uDQogICBFbmQgSWYNCiAgIA0KT24gRXJyb3IgUmVzdW1l +IE5leHQNCg0KICAgRG8NCiAgICAgIERpbUNudCA9IERpbUNudCArIDENCiAgICAg +IEFycmF5U2l6ZSA9IFVCb3VuZChBcnJheVRvQ2hlY2ssIERpbUNudCkNCiAgIExv +b3AgV2hpbGUgRXJyLk51bWJlciA9IDANCiAgIEVyci5DbGVhcg0KICAgDQpPbiBF +cnJvciBHb1RvIDANCiAgIA0KICAgRGltQ250ID0gRGltQ250IC0gMQ0KICAgDQog +ICBBcnJheURpbWVuc2lvbkNvdW50ID0gRGltQ250DQogICANCkVuZCBGdW5jdGlv +bg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQon +IEZ1bmN0aW9uOiBHZXROYW1lZFBhcmFtRGVmQXJyYXkNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQ3JlYXRlcyAyLWRpbWVu +c2lvbmFsIHBhcmFtZXRlciBhcnJheSAoZS5nLiBmb3IgT3BlblJlY29yZHNldFF1 +ZXJ5RGVmKQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgUGFyYW1WYWx1ZXMgLSBQ +YXJhbWV0ZXIgcGFpcnM6IGFsdGVybmF0aW5nIHBhcmFtZXRlciBpbmRleCBhbmQg +cGFyYW1ldGVyIHZhbHVlDQonDQonIFJldHVybnM6DQonICAgICBWYXJpYW50IChB +cnJheSkNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NClB1YmxpYyBGdW5jdGlvbiBHZXROYW1lZFBhcmFtRGVmQXJyYXkoUGFyYW1B +cnJheSBQYXJhbUluZGV4QW5kVmFsdWVzKCkgQXMgVmFyaWFudCkgQXMgVmFyaWFu +dA0KICAgDQogICBEaW0gaSBBcyBMb25nDQogICBEaW0gUWRmUGFyYW1EZWZzKCkg +QXMgVmFyaWFudA0KICAgRGltIEFycmF5U2l6ZSBBcyBMb25nDQogICANCiAgIEFy +cmF5U2l6ZSA9IFVCb3VuZChQYXJhbUluZGV4QW5kVmFsdWVzKQ0KICAgSWYgQXJy +YXlTaXplID0gLTEgVGhlbg0KICAgICAgR2V0TmFtZWRQYXJhbURlZkFycmF5ID0g +UWRmUGFyYW1EZWZzICduaWNodCBkaW1lbnNpb25pZXJ0ZW4gQXJyYXkgenVy/GNr +Z2ViZW4NCiAgICAgIEV4aXQgRnVuY3Rpb24NCiAgIEVuZCBJZg0KICAgDQogICAn +UHL8ZmVuLCBvYiBpbW1lciBQYWFyZSAoSW5kZXggLyBXZXJ0KSBt9mdsaWNoIHNp +bmQNCiAgIElmICgoKEFycmF5U2l6ZSArIDEpIFwgMikgKiAyKSA8PiAoQXJyYXlT +aXplICsgMSkgVGhlbg0KICAgICAgRXJyLlJhaXNlIHZiT2JqZWN0RXJyb3IsICJE +YW9IYW5kbGVyLkdldE5hbWVkUGFyYW1EZWZBcnJheSIsICJQYXJhbUFycmF5IG11 +c3MgaW1tZXIgUGFhcmUgZvxyIFBhcmFtZXRlci1JbmRleCB1bmQgUGFyYW1ldGVy +LVdlcnQgZW50aGFsdGVuLiINCiAgIEVuZCBJZg0KICAgDQogICBBcnJheVNpemUg +PSBBcnJheVNpemUgXCAyDQogICANCiAgIFJlRGltIFFkZlBhcmFtRGVmcyhBcnJh +eVNpemUsIDEpDQoNCiAgIEZvciBpID0gMCBUbyBBcnJheVNpemUNCiAgICAgIFFk +ZlBhcmFtRGVmcyhpLCAwKSA9IFBhcmFtSW5kZXhBbmRWYWx1ZXMoaSAqIDIpDQog +ICAgICBRZGZQYXJhbURlZnMoaSwgMSkgPSBQYXJhbUluZGV4QW5kVmFsdWVzKGkg +KiAyICsgMSkNCiAgIE5leHQNCiAgIA0KICAgR2V0TmFtZWRQYXJhbURlZkFycmF5 +ID0gUWRmUGFyYW1EZWZzDQogICANCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBPcGVu +UmVjb3Jkc2V0UXVlcnlEZWZCeU5hbWUNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicNCicgT3BlbiByZWNvcmRzZXQgZnJvbSBzYXZl +ZCBxdWVyeSAob3B0aW9uYWxseSB3aXRoIHBhcmFtZXRlcnMpDQonDQonIFBhcmFt +ZXRlcnM6DQonICAgICBRdWVyeU5hbWUgICAgICAgICAtIE5hbWUgb2YgdGhlIHNh +dmVkIHF1ZXJ5DQonICAgICBRdWVyeVBhcmFtcyAgICAgICAtIFZhbHVlcyBpbiBz +dWl0YWJsZSBvcmRlciBhcyBQYXJhbUFycmF5IG9yIGFzIGFycmF5DQonICAgICAg +ICAgICAgICAgICAgICAgICAgIG9yIDItZGltZW5zaW9uYWwgcGFyYW1ldGVyIGFy +cmF5IChBcnJheShuLDEpIC4uLiB4KG4sMCkgPSBwYXJhbWV0ZXIgbmFtZSwgeChu +LDEpID0gcGFyYW1ldGVyIHZhbHVlKSAuLi4gZ2VuZXJhdGVhYmxlIHdpdGggR2V0 +UGFyYW1EZWZBcnJheSBvciBHZXROYW1lZFBhcmFtRGVmQXJyYXknDQonICAgICBS +ZWNvcmRzZXRUeXBlICAgICAtIERBTy5SZWNvcmRzZXRUeXBlRW51bSAoU3RhbmRh +cmQ6IGRiT3BlbkR5bmFzZXQpDQonICAgICBSZWNvcmRzZXRPcHRpb25zICAtIERB +Ty5SZWNvcmRzZXRPcHRpb25FbnVtIChTdGFuZGFyZDogZGJTZWVDaGFuZ2VzKQ0K +JyAgICAgTG9ja0VkaXQgICAgICAgICAgLSBEQU8uTG9ja1R5cGVFbnVtIChTdGFu +ZGFyZDogZGJPcHRpbWlzdGljKQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLlJl +Y29yZHNldA0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIEZ1bmN0aW9uIE9wZW5SZWNvcmRzZXRRdWVyeURlZkJ5TmFt +ZShCeVZhbCBRdWVyeU5hbWUgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIFF1ZXJ5UGFyYW1zIEFzIFZhcmlh +bnQsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlW +YWwgUmVjb3Jkc2V0VHlwZSBBcyBEQU8uUmVjb3Jkc2V0VHlwZUVudW0sIF8NCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgT3B0aW9u +cyBBcyBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bSwgXw0KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBMb2NrRWRpdCBBcyBEQU8uTG9j +a1R5cGVFbnVtKSBBcyBEQU8uUmVjb3Jkc2V0DQoNCiAgIERpbSBxZGYgQXMgREFP +LlF1ZXJ5RGVmDQoNCk9uIEVycm9yIEdvVG8gSGFuZGxlRXJyDQogDQogICBTZXQg +cWRmID0gTWUuQ3VycmVudERiLlF1ZXJ5RGVmcyhRdWVyeU5hbWUpDQogICBTZXQg +T3BlblJlY29yZHNldFF1ZXJ5RGVmQnlOYW1lID0gT3BlblJlY29yZHNldFF1ZXJ5 +RGVmKHFkZiwgUXVlcnlQYXJhbXMsIFJlY29yZHNldFR5cGUsIE9wdGlvbnMsIExv +Y2tFZGl0KQ0KDQpPbiBFcnJvciBHb1RvIDANCg0KICAgcWRmLkNsb3NlDQogICBT +ZXQgcWRmID0gTm90aGluZw0KICAgDQpFeGl0SGVyZToNCiAgIEV4aXQgRnVuY3Rp +b24NCiAgIA0KSGFuZGxlRXJyOg0KICAgSWYgTm90IChxZGYgSXMgTm90aGluZykg +VGhlbg0KICAgICAgcWRmLkNsb3NlDQogICAgICBTZXQgcWRmID0gTm90aGluZw0K +ICAgRW5kIElmDQogICBFcnIuUmFpc2UgRXJyLk51bWJlciwgIk9wZW5RdWVyeURl +ZlJlY29yZHNldEJ5TmFtZToiICYgRXJyLlNvdXJjZSwgRXJyLkRlc2NyaXB0aW9u +LCBFcnIuSGVscEZpbGUsIEVyci5IZWxwQ29udGV4dA0KIA0KRW5kIEZ1bmN0aW9u +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +RnVuY3Rpb246IE9wZW5SZWNvcmRzZXRRdWVyeURlZg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBSZWNvcmRzZXQgdm9uIGdl +c3BlaWNoZXJ0ZXIgQWJmcmFnZSAob3B0aW9uYWwgbWl0IFBhcmFtZXRlcm4pIPZm +Zm5lbg0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgUWRmUmVmICAgICAgICAgICAg +LSBRdWVyeURlZiByZWZlcmVuY2UNCicgICAgIFF1ZXJ5UGFyYW1zICAgICAgIC0g +VmFsdWVzIGluIHN1aXRhYmxlIG9yZGVyIGFzIFBhcmFtQXJyYXkgb3IgYXMgYXJy +YXkNCicgICAgICAgICAgICAgICAgICAgICAgICAgb3IgMi1kaW1lbnNpb25hbCBw +YXJhbWV0ZXIgYXJyYXkgKEFycmF5KG4sMSkgLi4uIHgobiwwKSA9IHBhcmFtZXRl +ciBuYW1lLCB4KG4sMSkgPSBwYXJhbWV0ZXIgdmFsdWUpIC4uLiBnZW5lcmF0ZWFi +bGUgd2l0aCBHZXRQYXJhbURlZkFycmF5IG9yIEdldE5hbWVkUGFyYW1EZWZBcnJh +eScNCicgICAgIFJlY29yZHNldFR5cGUgICAgIC0gREFPLlJlY29yZHNldFR5cGVF +bnVtIChTdGFuZGFyZDogZGJPcGVuRHluYXNldCkNCicgICAgIFJlY29yZHNldE9w +dGlvbnMgIC0gREFPLlJlY29yZHNldE9wdGlvbkVudW0gKFN0YW5kYXJkOiBkYlNl +ZUNoYW5nZXMpDQonICAgICBMb2NrRWRpdCAgICAgICAgICAtIERBTy5Mb2NrVHlw +ZUVudW0gKFN0YW5kYXJkOiBkYk9wdGltaXN0aWMpDQonDQonIFJldHVybnM6DQon +ICAgICBEQU8uUmVjb3Jkc2V0DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gT3BlblJlY29yZHNldFF1 +ZXJ5RGVmKEJ5VmFsIFFkZlJlZiBBcyBEQU8uUXVlcnlEZWYsIF8NCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgUXVlcnlQYXJhbXMg +QXMgVmFyaWFudCwgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRp +b25hbCBCeVZhbCBSZWNvcmRzZXRUeXBlIEFzIERBTy5SZWNvcmRzZXRUeXBlRW51 +bSwgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZh +bCBSZWNvcmRzZXRPcHRpb25zIEFzIERBTy5SZWNvcmRzZXRPcHRpb25FbnVtLCBf +DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIExv +Y2tFZGl0IEFzIERBTy5Mb2NrVHlwZUVudW0pIEFzIERBTy5SZWNvcmRzZXQNCiAN +CiAgIElmIE5vdCBJc01pc3NpbmcoUXVlcnlQYXJhbXMpIFRoZW4NCiAgICAgIEZp +bGxRdWVyeURlZlBhcmFtZXRlcnMgUWRmUmVmLCBRdWVyeVBhcmFtcw0KICAgRW5k +IElmDQoNCiAgIFNldCBPcGVuUmVjb3Jkc2V0UXVlcnlEZWYgPSBRZGZSZWYuT3Bl +blJlY29yZHNldChSZXBsYWNlMFdpdGhJc01pc3NpbmcoUmVjb3Jkc2V0VHlwZSks +IF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICBSZXBsYWNlMFdpdGhJc01pc3NpbmcoUmVjb3Jkc2V0T3B0aW9ucyksIF8N +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICBSZXBsYWNlMFdpdGhJc01pc3NpbmcoTG9ja0VkaXQpKQ0KDQpFbmQgRnVuY3Rp +b24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +JyBGdW5jdGlvbjogTG9va3VwU1FMDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonDQonIExvb2t1cCBEQU8uUmVjb3Jkc2V0IHJlcGxh +Y2VtZW50IGZ1bmN0aW9uIGZvciBETG9va3VwIChwYXNzaW5nIGEgU1FMIHN0YXRl +bWVudCkNCicNCicgUGFyYW1ldGVyczoNCicgICAgIFNxbFRleHQgICAgIC0gU1FM +IHN0YXRlbWVudA0KJyAgICAgSW5kZXggICAgICAgLSBGaWVsZCBzZWxlY3Rpb24g +aWYgdGhlIGZpcnN0IGZpZWxkIG9mIHRoZSByZWNvcmRzZXQgaXMgbm90IHRvIGJl +IHJldHVybmVkLg0KJyAgICAgICAgICAgICAgICAgICBUaGUgaW5kZXggaXMgcGFz +c2VkIGluIHRoZSBzYW1lIHdheSBhcyBEQU8uUmVjb3Jkc2V0LkZpZWxkcyhpbmRl +eCkuDQonICAgICBWYWx1ZUlmTnVsbCAtIFJldHVybiB2YWx1ZSBpZiByZWNvcmQg +aXMgbWlzc2luZyBvciBkYXRhIGZpZWxkIHZhbHVlIGlzIE51bGwgKGRlZmF1bHQ6 +IE51bGwpLg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVmFyaWFudCAgLSBOdWxsLCBp +ZiBTUUwgc3RhdGVtZW50IGRvZXMgbm90IHJldHVybiBhIHJlY29yZC4NCicNCicg +UmVtYXJrczoNCicgICAgIFRoZSBTUUwgc3RhdGVtZW50IG11c3QgYmUgd3JpdHRl +biBpbiB0aGUgSmV0L0FDRSBTUUwgZGlhbGVjdC4NCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBMb29r +dXBTcWwoQnlWYWwgU3FsVGV4dCBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAg +ICAgT3B0aW9uYWwgQnlWYWwgSW5kZXggQXMgVmFyaWFudCA9IDAmLCBfDQogICAg +ICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIFZhbHVlSWZOdWxsIEFzIFZhcmlh +bnQgPSBOdWxsKSBBcyBWYXJpYW50DQoNCiAgIERpbSByc3QgQXMgREFPLlJlY29y +ZHNldA0KDQpPbiBFcnJvciBHb1RvIEhhbmRsZUVycg0KDQogICBTZXQgcnN0ID0g +TWUuT3BlblJlY29yZHNldChTcWxUZXh0LCBkYk9wZW5Gb3J3YXJkT25seSwgZGJT +ZWVDaGFuZ2VzLCBkYlJlYWRPbmx5KQ0KICAgV2l0aCByc3QNCiAgICAgIElmIC5F +T0YgVGhlbg0KICAgICAgICAgTG9va3VwU3FsID0gVmFsdWVJZk51bGwNCiAgICAg +IEVsc2UNCiAgICAgICAgIExvb2t1cFNxbCA9IE56KC5GaWVsZHMoSW5kZXgpLCBW +YWx1ZUlmTnVsbCkNCiAgICAgIEVuZCBJZg0KICAgICAgLkNsb3NlDQogICBFbmQg +V2l0aA0KICAgU2V0IHJzdCA9IE5vdGhpbmcNCiAgIA0KRXhpdEhlcmU6DQogICBF +eGl0IEZ1bmN0aW9uDQogICANCkhhbmRsZUVycjoNCiAgIElmIE5vdCAocnN0IElz +IE5vdGhpbmcpIFRoZW4NCiAgICAgIHJzdC5DbG9zZQ0KICAgICAgU2V0IHJzdCA9 +IE5vdGhpbmcNCiAgIEVuZCBJZg0KICAgDQogICBFcnIuUmFpc2UgRXJyLk51bWJl +ciwgIkxvb2t1cFNRTDoiICYgRXJyLlNvdXJjZSwgRXJyLkRlc2NyaXB0aW9uLCBF +cnIuSGVscEZpbGUsIEVyci5IZWxwQ29udGV4dA0KDQpFbmQgRnVuY3Rpb24NCg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5j +dGlvbjogTG9va3VwDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonDQonIERBTy5SZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24g +Zm9yIERMb29rdXANCicNCicgUGFyYW1ldGVyczoNCicgICAgIEV4cHIgICAgICAg +IC0gRmllbGQgbmFtZSBvciBjYWxjdWxhdGVkIGV4cHJlc3Npb24gKHNlbGVjdCBw +YXJ0KQ0KJyAgICAgRG9tYWluICAgICAgLSBUYWJsZSwgcXVlcnkgb3IgU1FMIGV4 +cHJlc3Npb24gZm9yIHN1Yi1xdWVyeSAoRlJPTSBwYXJ0KQ0KJyAgICAgQ3JpdGVy +aWEgICAgLSAoT3B0aW9uYWwpIENyaXRlcmlhIHN0cmluZyAoV0hFUkUgcGFydCkN +CicgICAgIFZhbHVlSWZOdWxsIC0gUmV0dXJuIHZhbHVlIGlmIHJlY29yZCBpcyBt +aXNzaW5nIG9yIGRhdGEgZmllbGQgdmFsdWUgaXMgTnVsbCAoZGVmYXVsdDogTnVs +bCkuDQonDQonIFJldHVybnM6DQonICAgICBWYXJpYW50DQonDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24g +TG9va3VwKEJ5VmFsIEV4cHIgQXMgU3RyaW5nLCBCeVZhbCBEb21haW4gQXMgU3Ry +aW5nLCBfDQogICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFz +IFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgVmFsdWVJ +Zk51bGwgQXMgVmFyaWFudCA9IE51bGwpIEFzIFZhcmlhbnQNCg0KICAgRGltIFNl +bGVjdFNxbCBBcyBTdHJpbmcNCg0KICAgU2VsZWN0U3FsID0gQnVpbGRTZWxlY3RT +cWwoRXhwciwgRG9tYWluLCBDcml0ZXJpYSwgRmFsc2UpDQogICBMb29rdXAgPSBM +b29rdXBTcWwoU2VsZWN0U3FsLCAsIFZhbHVlSWZOdWxsKQ0KDQpFbmQgRnVuY3Rp +b24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBCdWlsZFNlbGVjdFNxbChCeVZhbCBFeHBy +IEFzIFN0cmluZywgQnlWYWwgRG9tYWluIEFzIFN0cmluZywgT3B0aW9uYWwgQnlW +YWwgQ3JpdGVyaWEgQXMgVmFyaWFudCwgXw0KICAgICAgICAgICAgICAgICAgICAg +ICBPcHRpb25hbCBCeVZhbCBEaXN0aW5jdCBBcyBCb29sZWFuID0gRmFsc2UpDQoN +CiAgIERpbSBTZWxlY3RTcWwgQXMgU3RyaW5nDQoNCiAgIFNlbGVjdFNxbCA9ICJT +RUxFQ1QgIg0KICAgSWYgRGlzdGluY3QgVGhlbg0KICAgICAgU2VsZWN0U3FsID0g +U2VsZWN0U3FsICYgIkRpc3RpbmN0ICINCiAgIEVuZCBJZg0KICAgU2VsZWN0U3Fs +ID0gU2VsZWN0U3FsICYgRXhwciAmICIgRlJPTSAoIiAmIERvbWFpbiAmICIpIg0K +ICAgSWYgTm90IChWYXJUeXBlKENyaXRlcmlhKSA9IHZiRXJyb3IpIFRoZW4NCiAg +ICAgIElmIExlbihDcml0ZXJpYSkgPiAwIFRoZW4NCiAgICAgICAgIFNlbGVjdFNx +bCA9IFNlbGVjdFNxbCAmICIgV0hFUkUgIiAmIENyaXRlcmlhDQogICAgICBFbmQg +SWYNCiAgIEVuZCBJZg0KICAgDQogICBCdWlsZFNlbGVjdFNxbCA9IFNlbGVjdFNx +bA0KDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogQ291bnQNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgREFPLlJlY29yZHNldCBy +ZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgRENvdW50DQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBFeHByICAgICAgICAtIEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRlZCBl +eHByZXNzaW9uIChzZWxlY3QgcGFydCkNCicgICAgIERvbWFpbiAgICAgIC0gVGFi +bGUsIHF1ZXJ5IG9yIFNRTCBleHByZXNzaW9uIGZvciBzdWItcXVlcnkgKEZST00g +cGFydCkNCicgICAgIENyaXRlcmlhICAgIC0gKG9wdGlvbmFsKSBDcml0ZXJpYSBz +dHJpbmcgKFdIRVJFIHBhcnQpDQonDQonIFJldHVybnM6DQonICAgICBMb25nDQon +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJs +aWMgRnVuY3Rpb24gQ291bnQoQnlWYWwgRXhwciBBcyBTdHJpbmcsIEJ5VmFsIERv +bWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFzIFZhcmlh +bnQsIF8NCiAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBEaXN0aW5jdCBBcyBC +b29sZWFuID0gRmFsc2UpIEFzIExvbmcNCiAgICAgICAgICAgICANCiAgIElmIERp +c3RpbmN0IFRoZW4NCiAgICAgIElmIEV4cHIgPD4gIioiIFRoZW4NCiAgICAgICAg +IERvbWFpbiA9ICIoIiAmIEJ1aWxkU2VsZWN0U3FsKEV4cHIsIERvbWFpbiwgQ3Jp +dGVyaWEsIFRydWUpICYgIikiDQogICAgICAgICBDcml0ZXJpYSA9IHZiTnVsbFN0 +cmluZw0KICAgICAgRW5kIElmDQogICBFbmQgSWYNCiAgICAgICAgICAgICANCiAg +IENvdW50ID0gTnooTWUuTG9va3VwKCJDb3VudCgiICYgRXhwciAmICIpIiwgRG9t +YWluLCBDcml0ZXJpYSksIDApDQogICANCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBN +YXgNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +CicgREFPLlJlY29yZHNldCByZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgRE1heA0K +Jw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgRXhwciAgICAgICAgLSBGaWVsZCBuYW1l +IG9yIGNhbGN1bGF0ZWQgZXhwcmVzc2lvbiAoc2VsZWN0IHBhcnQpDQonICAgICBE +b21haW4gICAgICAtIFRhYmxlLCBxdWVyeSBvciBTUUwgZXhwcmVzc2lvbiBmb3Ig +c3ViLXF1ZXJ5IChGUk9NIHBhcnQpDQonICAgICBDcml0ZXJpYSAgICAtIChPcHRp +b25hbCkgQ3JpdGVyaWEgc3RyaW5nIChXSEVSRSBwYXJ0KQ0KJw0KJyBSZXR1cm5z +Og0KJyAgICAgVmFyaWFudA0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIE1heChCeVZhbCBFeHByIEFz +IFN0cmluZywgQnlWYWwgRG9tYWluIEFzIFN0cmluZywgT3B0aW9uYWwgQnlWYWwg +Q3JpdGVyaWEgQXMgVmFyaWFudCkgQXMgVmFyaWFudA0KICAgIE1heCA9IE1lLkxv +b2t1cCgiTWF4KCIgJiBFeHByICYgIikiLCBEb21haW4sIENyaXRlcmlhKQ0KRW5k +IEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NCicgRnVuY3Rpb246IE1pbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBEQU8uUmVjb3Jkc2V0IHJlcGxhY2VtZW50 +IGZ1bmN0aW9uIGZvciBETWluDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBFeHBy +ICAgICAgICAtIEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRlZCBleHByZXNzaW9uIChz +ZWxlY3QgcGFydCkNCicgICAgIERvbWFpbiAgICAgIC0gVGFibGUsIHF1ZXJ5IG9y +IFNRTCBleHByZXNzaW9uIGZvciBzdWItcXVlcnkgKEZST00gcGFydCkNCicgICAg +IENyaXRlcmlhICAgIC0gKE9wdGlvbmFsKSBDcml0ZXJpYSBzdHJpbmcgKFdIRVJF +IHBhcnQpDQonDQonIFJldHVybnM6DQonICAgICBWYXJpYW50DQonDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rp +b24gTWluKEJ5VmFsIEV4cHIgQXMgU3RyaW5nLCBCeVZhbCBEb21haW4gQXMgU3Ry +aW5nLCBPcHRpb25hbCBCeVZhbCBDcml0ZXJpYSBBcyBWYXJpYW50KSBBcyBWYXJp +YW50DQogICAgTWluID0gTWUuTG9va3VwKCJNaW4oIiAmIEV4cHIgJiAiKSIsIERv +bWFpbiwgQ3JpdGVyaWEpDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogU3VtDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIERBTy5S +ZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERTdW0NCicNCicgUGFy +YW1ldGVyczoNCicgICAgIEV4cHIgICAgICAgIC0gRmllbGQgbmFtZSBvciBjYWxj +dWxhdGVkIGV4cHJlc3Npb24gKHNlbGVjdCBwYXJ0KQ0KJyAgICAgRG9tYWluICAg +ICAgLSBUYWJsZSwgcXVlcnkgb3IgU1FMIGV4cHJlc3Npb24gZm9yIHN1Yi1xdWVy +eSAoRlJPTSBwYXJ0KQ0KJyAgICAgQ3JpdGVyaWEgICAgLSAoT3B0aW9uYWwpIENy +aXRlcmlhIHN0cmluZyAoV0hFUkUgcGFydCkNCicNCicgUmV0dXJuczoNCicgICAg +IFZhcmlhbnQNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBGdW5jdGlvbiBTdW0oQnlWYWwgRXhwciBBcyBTdHJpbmcs +IEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlh +IEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgICBTdW0gPSBNZS5Mb29rdXAoIlN1 +bSgiICYgRXhwciAmICIpIiwgRG9tYWluLCBDcml0ZXJpYSkNCkVuZCBGdW5jdGlv +bg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQon +IEZ1bmN0aW9uOiBFeGlzdHMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicNCicgQ2hlY2sgaWYgcmVjb3JkIGV4aXN0cw0KJw0KJyBQ +YXJhbWV0ZXJzOg0KJyAgICAgRG9tYWluICAgLSBkYXRhIHNvdXJjZSAoRlJPTSBw +YXJ0KQ0KJyAgICAgQ3JpdGVyaWEgLSAoT3B0aW9uYWwpIENyaXRlcmlhIHN0cmlu +ZyAoV0hFUkUgcGFydCkNCicNCicgUmV0dXJuczoNCicgICAgIEJvb2xlYW4NCicN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1Ymxp +YyBGdW5jdGlvbiBFeGlzdHMoQnlWYWwgRG9tYWluIEFzIFN0cmluZywgXw0KICAg +ICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBDcml0ZXJpYSBBcyBTdHJpbmcgPSB2 +Yk51bGxTdHJpbmcpIEFzIEJvb2xlYW4NCg0KICAgRGltIHN0clNRTCBBcyBTdHJp +bmcNCg0KICAgc3RyU1FMID0gIlNFTEVDVCBUcnVlIEZST00gIiAmIERvbWFpbg0K +ICAgSWYgTGVuKENyaXRlcmlhKSA+IDAgVGhlbg0KICAgICAgc3RyU1FMID0gc3Ry +U1FMICYgIiBXSEVSRSAiICYgQ3JpdGVyaWENCiAgIEVuZCBJZg0KICAgRXhpc3Rz +ID0gKExvb2t1cFNxbChzdHJTUUwsICwgRmFsc2UpID0gVHJ1ZSkNCg0KRW5kIEZ1 +bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCicgRnVuY3Rpb246IEluc2VydElkZW50aXR5UmV0dXJuDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEV4ZWN1dGUgaW5z +ZXJ0IFNRTCBzdGF0ZW1lbnQgYW5kIHJldHVybiBsYXN0IGlkZW50aXR5IHZhbHVl +IChhdXRvIHZhbHVlKQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgSW5zZXJ0U1FM +ICAgLSBJbnNlcnQgU1FMIHN0YXRlbWVudA0KJw0KJyBSZXR1cm5zOg0KJyAgICAg +SWRlbnRpdHkgdmFsdWUgb3IgTlVMTCBpZiBubyByZWNvcmQgd2FzIGFwcGVuZGVk +DQonDQonIFJlbWFya3M6DQonICAgICBXb3JrcyBmb3IgSmV0IG9ubHkgZnJvbSBK +ZXQgNC4wIChBY2Nlc3MgMjAwMCksIElkZW50aXR5VGFibGUgaXMgb25seSBhcHBs +aWNhYmxlIGZvciBNU1NRTCwgdW5kZXIgTXlTUUwgdGhlIElERU5UX0NVUlJFTlQg +ZnVuY3Rpb24gZG9lcyBub3QgZXhpc3QuDQonICAgICAoPGRhdGEuYWRvZGIuQWRv +ZGJIYW5kbGVyOjpJbnNlcnRJZGVudGl0eVJldHVybj4gaXMgbW9yZSBzdWl0YWJs +ZSByZWdhcmRpbmcgdXNlIGZvciBhY3RpdmUgREJNUy4pDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gSW5z +ZXJ0SWRlbnRpdHlSZXR1cm4oQnlWYWwgSW5zZXJ0U1FMIEFzIFN0cmluZykgQXMg +VmFyaWFudA0KDQogICAgRGltIGRiIEFzIERBTy5EYXRhYmFzZQ0KICAgIERpbSBy +c3QgQXMgREFPLlJlY29yZHNldA0KICAgIERpbSBSZWNvcmRzQWZmZWN0ZWQgQXMg +TG9uZw0KDQpPbiBFcnJvciBHb1RvIEhhbmRsZUVycg0KDQogICAgU2V0IGRiID0g +TWUuQ3VycmVudERiDQogICAgZGIuRXhlY3V0ZSBJbnNlcnRTUUwNCiAgICBSZWNv +cmRzQWZmZWN0ZWQgPSBkYi5SZWNvcmRzQWZmZWN0ZWQNCiAgICANCiAgICBJZiBS +ZWNvcmRzQWZmZWN0ZWQgPSAwIFRoZW4NCiAgICAgICAgSW5zZXJ0SWRlbnRpdHlS +ZXR1cm4gPSBOdWxsICdlcyB3dXJkZSBrZWluIG5ldWVyIERTIGFuZ2Vm/Gd0DQog +ICAgICAgIEV4aXQgRnVuY3Rpb24NCiAgICBFbmQgSWYNCg0KICAgIFNldCByc3Qg +PSBkYi5PcGVuUmVjb3Jkc2V0KCJTRUxFQ1QgQEBJZGVudGl0eSIpICd6dWxldHp0 +IHp1Z2V3aWVzZW5lciBBdXRvd2VydCAuLi4gZnVua3Rpb25pZXJ0IG5pY2h0IG1p +dCBNeVNRTC1UYWJlbGxlbiENCiAgICBXaXRoIHJzdA0KICAgICAgICBJZiAuRU9G +IFRoZW4NCiAgICAgICAgICAgIEluc2VydElkZW50aXR5UmV0dXJuID0gTnVsbA0K +ICAgICAgICBFbHNlDQogICAgICAgICAgICBJbnNlcnRJZGVudGl0eVJldHVybiA9 +IC5GaWVsZHMoMCkNCiAgICAgICAgRW5kIElmDQogICAgICAgIC5DbG9zZQ0KICAg +IEVuZCBXaXRoDQogICAgU2V0IHJzdCA9IE5vdGhpbmcNCiAgICANCkV4aXRIZXJl +Og0KICAgRXhpdCBGdW5jdGlvbg0KDQpIYW5kbGVFcnI6DQogICBJZiBOb3QgKHJz +dCBJcyBOb3RoaW5nKSBUaGVuDQogICAgICByc3QuQ2xvc2UNCiAgICAgIFNldCBy +c3QgPSBOb3RoaW5nDQogICBFbmQgSWYNCg0KICAgRXJyLlJhaXNlIEVyci5OdW1i +ZXIsICJJbnNlcnRJZGVudGl0eVJldHVybjoiICYgRXJyLlNvdXJjZSwgRXJyLkRl +c2NyaXB0aW9uLCBFcnIuSGVscEZpbGUsIEVyci5IZWxwQ29udGV4dA0KDQpFbmQg +RnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJyBGdW5jdGlvbjogSW5zZXJ0VmFsdWVzDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIE9wZW4gcmVjb3Jkc2V0IGFu +ZCBhcHBlbmQgdmFsdWVzDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBTb3VyY2Ug +ICAgICAgICAgICAtIEluc2VydCBkYXRhIHNvdXJjZQ0KJyAgICAgRmllbGRzQW5k +VmFsdWVzICAgLSBQYXJhbUFycmF5OiAiRmllbGQxIiwgVmFsdWUxLCAiRmllbGQy +IiwgVmFsdWUyLCAuLi4uDQonDQonIFJldHVybnM6DQonICAgICBUcnVlIGlmIGZ1 +bGx5IGV4ZWN1dGVkDQonDQonIFJlbWFya3M6DQonICAgICBTaW5jZSBhIHJlY29y +ZHNldCBpcyB1c2VkIGZvciBpbnNlcnRpb24sIHRoZXJlIGlzIG5vIGRhdGEgdHlw +ZSBjaGVjayBpbiB0aGUgY29kZSAtPiB3YXRjaCBvdXQgZm9yIGltcGxpY2l0IGNv +bnZlcnNpb24uDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gSW5zZXJ0VmFsdWVzKEJ5VmFsIFNvdXJj +ZSBBcyBTdHJpbmcsIFBhcmFtQXJyYXkgRmllbGRzQW5kVmFsdWVzKCkgQXMgVmFy +aWFudCkgQXMgQm9vbGVhbg0KICAgSW5zZXJ0VmFsdWVzID0gSW5zZXJ0UmVjb3Jk +VmFsdWVzQXJyYXlSZXR1cm5GaWVsZFZhbHVlKFNvdXJjZSwgdmJOdWxsU3RyaW5n +LCBGaWVsZHNBbmRWYWx1ZXMpDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogSW5zZXJ0 +VmFsdWVzUmV0dXJuRmllbGRWYWx1ZQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBSb3BlbiBlY29yZHNldCBhbmQgYXBwZW5k +IHZhbHVlcywgcmV0dXJucyB2YWx1ZSBvZiBhIGRlZmluZWQgZGF0YSBmaWVsZA0K +Jw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgU291cmNlICAgICAgICAgICAgICAgICAg +LSBJbnNlcnQgZGF0YSBzb3VyY2UNCicgICAgIFJldHVybkZpZWxkTmFtZU9ySW5k +ZXggIC0gRGF0ZW5mZWxkIGb8ciBXZXJ0cvxja2dhYmU8L3BhcmFtPg0KJyAgICAg +RmllbGRzQW5kVmFsdWVzICAgICAgICAgLSBQYXJhbUFycmF5OiAiRmllbGQxIiwg +VmFsdWUxLCAiRmllbGQyIiwgVmFsdWUyLCAuLi4uDQonDQonIFJldHVybnM6DQon +ICAgICBWYWx1ZSBmcm9tIGRhdGEgZmllbGQNCicNCicgUmVtYXJrczoNCicgICAg +IFNpbmNlIGEgcmVjb3Jkc2V0IGlzIHVzZWQgZm9yIGluc2VydGlvbiwgdGhlcmUg +aXMgbm8gZGF0YSB0eXBlIGNoZWNrIGluIHRoZSBjb2RlIC0+IHdhdGNoIG91dCBm +b3IgaW1wbGljaXQgY29udmVyc2lvbi4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBJbnNlcnRWYWx1 +ZXNSZXR1cm5GaWVsZFZhbHVlKEJ5VmFsIFNvdXJjZSBBcyBTdHJpbmcsIEJ5VmFs +IFJldHVybkZpZWxkTmFtZU9ySW5kZXggQXMgVmFyaWFudCwgUGFyYW1BcnJheSBG +aWVsZHNBbmRWYWx1ZXMoKSBBcyBWYXJpYW50KSBBcyBWYXJpYW50DQogICBJbnNl +cnRWYWx1ZXNSZXR1cm5GaWVsZFZhbHVlID0gSW5zZXJ0UmVjb3JkVmFsdWVzQXJy +YXlSZXR1cm5GaWVsZFZhbHVlKFNvdXJjZSwgUmV0dXJuRmllbGROYW1lT3JJbmRl +eCwgRmllbGRzQW5kVmFsdWVzKQ0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVu +Y3Rpb24gSW5zZXJ0UmVjb3JkVmFsdWVzQXJyYXlSZXR1cm5GaWVsZFZhbHVlKCBf +DQogICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBTb3VyY2UgQXMgU3RyaW5n +LCBCeVZhbCBSZXR1cm5GaWVsZCBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAg +ICAgICAgICAgICBCeVZhbCBGaWVsZHNBbmRWYWx1ZXMgQXMgVmFyaWFudCkgQXMg +VmFyaWFudA0KDQogICAgRGltIGxuZ051bSBBcyBMb25nLCBsbmdBbnogQXMgTG9u +ZywgaSBBcyBMb25nLCBhbnogQXMgTG9uZw0KICAgIERpbSBGaWVsZE5hbWVzKCkg +QXMgVmFyaWFudCwgRmllbGRWYWx1ZXMoKSBBcyBWYXJpYW50DQogICAgRGltIHJz +dCBBcyBEQU8uUmVjb3Jkc2V0DQogICAgRGltIEVyck5vIEFzIExvbmcsIEVyckRl +c2MgQXMgU3RyaW5nLCBFcnJTb3VyY2UgQXMgU3RyaW5nDQogDQpPbiBFcnJvciBH +b1RvIEhhbmRsZUVycg0KDQogICAgbG5nTnVtID0gVUJvdW5kKEZpZWxkc0FuZFZh +bHVlcykgLSBMQm91bmQoRmllbGRzQW5kVmFsdWVzKSArIDEgJ2hmQXJyYXlTaXpl +KEZpZWxkc0FuZFZhbHVlcykNCiAgICBSZURpbSBGaWVsZE5hbWVzKGxuZ051bSBc +IDIpDQogICAgUmVEaW0gRmllbGRWYWx1ZXMobG5nTnVtIFwgMikNCiAgICANCiAg +ICBhbnogPSAwDQogICAgRm9yIGkgPSAwIFRvIChsbmdOdW0gLSAyKSBTdGVwIDIN +CiAgICAgIEZpZWxkTmFtZXMoYW56KSA9IEZpZWxkc0FuZFZhbHVlcyhpKQ0KICAg +ICAgRmllbGRWYWx1ZXMoYW56KSA9IEZpZWxkc0FuZFZhbHVlcyhpICsgMSkNCiAg +ICAgIGFueiA9IGFueiArIDENCiAgICBOZXh0IGkNCg0KICAgIFNldCByc3QgPSBN +ZS5PcGVuUmVjb3Jkc2V0KFNvdXJjZSwgZGJPcGVuRHluYXNldCkNCiAgICBXaXRo +IHJzdA0KICAgIA0KICAgICAgLkFkZE5ldw0KICAgICAgaSA9IDANCiAgICAgIEZv +ciBpID0gMCBUbyAoYW56IC0gMSkNCiAgICAgICAgIC5GaWVsZHMoRmllbGROYW1l +cyhpKSkgPSBGaWVsZFZhbHVlcyhpKQ0KICAgICAgTmV4dCBpDQogICAgICAuVXBk +YXRlDQogICAgICANCiAgICAgIElmIExlbihSZXR1cm5GaWVsZCAmIHZiTnVsbFN0 +cmluZykgPiAwIFRoZW4NCiAgICAgICAgICAuQm9va21hcmsgPSAuTGFzdE1vZGlm +aWVkDQogICAgICAgICAgSW5zZXJ0UmVjb3JkVmFsdWVzQXJyYXlSZXR1cm5GaWVs +ZFZhbHVlID0gLkZpZWxkcyhSZXR1cm5GaWVsZCkNCiAgICAgIEVsc2UNCiAgICAg +ICAgICBJbnNlcnRSZWNvcmRWYWx1ZXNBcnJheVJldHVybkZpZWxkVmFsdWUgPSBU +cnVlDQogICAgICBFbmQgSWYNCiAgICAgIA0KICAgICAgLkNsb3NlDQogICAgICAN +CiAgICBFbmQgV2l0aA0KICAgIFNldCByc3QgPSBOb3RoaW5nDQoNCkV4aXRIZXJl +Og0KICAgIEV4aXQgRnVuY3Rpb24NCiAgICANClJlc3VtZVJhaXNlRXJyb3I6DQpP +biBFcnJvciBHb1RvIDANCiAgIEVyci5SYWlzZSBFcnJObywgRXJyU291cmNlLCBF +cnJEZXNjDQoNCkhhbmRsZUVycjoNCiAgICBFcnJObyA9IEVyci5OdW1iZXINCiAg +ICBFcnJEZXNjID0gRXJyLkRlc2NyaXB0aW9uDQogICAgRXJyU291cmNlID0gIklu +c2VydFJlY29yZFZhbHVlc0FycmF5UmV0dXJuRmllbGRWYWx1ZSAoIiAmIEVyci5T +b3VyY2UgJiAiKSINCg0KICAgIElmIE5vdCAocnN0IElzIE5vdGhpbmcpIFRoZW4N +CiAgICAgICAgcnN0LkNsb3NlDQogICAgRW5kIElmDQogICAgU2V0IHJzdCA9IE5v +dGhpbmcNCiAgICBSZXN1bWUgUmVzdW1lUmFpc2VFcnJvcg0KDQpFbmQgRnVuY3Rp +b24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +JyBGdW5jdGlvbjogTmV3UmVjb3JkDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonDQonIEFwcGVuZCByZWNvcmQgdmlhIHJlY29yZHNl +dCBhbmQgc2V0IGZpZWxkIHZhbHVlcy4NCicNCicgUGFyYW1ldGVyczoNCicgICAg +IFNvdXJjZSAgICAgICAgICAgICAgICAgIC0gRGF0YSBzb3VyY2UgKHRhYmxlIG5h +bWUgb3IgU1FMIHN0YXRlbWVudCkNCicgICAgIFJldHVybkZpZWxkTmFtZSAgICAg +ICAgIC0gRmllbGQgbmFtZSB3aG9zZSB2YWx1ZSBpcyB0byBiZSByZXR1cm5lZCAo +ZS5nLiBhdXRvbnVtYmVyIGZpZWxkKS4NCicgICAgIEZpZWxkc0FuZFZhbHVlcyAg +ICAgICAgIC0gbmV3IGRhdGEgLi4uIFBhcmFtQXJyYXk6ICJGaWVsZDEiLCBWYWx1 +ZTEsICJGaWVsZDIiLCBWYWx1ZTIsIC4uLi4NCicNCicgUmV0dXJuczoNCicgICAg +IFZhbHVlIGZyb20gUmV0dXJuRmllbGROYW1lLCBvciBUcnVlL0ZhbHNlIGlmIG5v +IFJldHVybkZpZWxkTmFtZSB3YXMgc3BlY2lmaWVkLg0KJw0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIE5l +d1JlY29yZChCeVZhbCBTb3VyY2UgQXMgU3RyaW5nLCBCeVZhbCBSZXR1cm5GaWVs +ZE5hbWUgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAgIFBhcmFtQXJyYXkg +RmllbGRzQW5kVmFsdWVzKCkgQXMgVmFyaWFudCkgQXMgVmFyaWFudA0KDQogICBE +aW0gdkEoKSBBcyBWYXJpYW50DQogICB2QSA9IENvbnZlcnRQYXJhbUFycmF5VG9W +YXJpYW50QXJyYXkoRmllbGRzQW5kVmFsdWVzKQ0KICAgTmV3UmVjb3JkID0gTmV3 +UmVjb3JkX0ZpZWxkQXJyYXkoU291cmNlLCBSZXR1cm5GaWVsZE5hbWUsIHZBKQ0K +DQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBDb252ZXJ0UGFyYW1B +cnJheVRvVmFyaWFudEFycmF5KEJ5VmFsIEFycmF5VG9Db252ZXJ0IEFzIFZhcmlh +bnQpIEFzIFZhcmlhbnQoKQ0KICAgQ29udmVydFBhcmFtQXJyYXlUb1ZhcmlhbnRB +cnJheSA9IEFycmF5VG9Db252ZXJ0DQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBG +dW5jdGlvbiBOZXdSZWNvcmRfRmllbGRBcnJheShCeVZhbCBzdHJTb3VyY2UgQXMg +U3RyaW5nLCBCeVZhbCBSZXR1cm5GaWVsZE5hbWUgQXMgU3RyaW5nLCBfDQogICAg +ICAgICAgICAgICAgICAgICAgIEJ5UmVmIERhdGFQYXJhbXMoKSBBcyBWYXJpYW50 +KSBBcyBWYXJpYW50DQoNCiAgICBEaW0gbG5nTnVtIEFzIExvbmcsIGkgQXMgTG9u +ZywgYW56IEFzIExvbmcNCiAgICBEaW0gRGF0YUZpZWxkcygpIEFzIFZhcmlhbnQs +IERhdGFWYWx1ZXMoKSBBcyBWYXJpYW50DQogICAgRGltIHJzdCBBcyBEQU8uUmVj +b3Jkc2V0DQoNCiAgICBsbmdOdW0gPSBVQm91bmQoRGF0YVBhcmFtcykgKyAxDQog +ICAgUmVEaW0gRGF0YUZpZWxkcyhsbmdOdW0gXCAyKQ0KICAgIFJlRGltIERhdGFW +YWx1ZXMobG5nTnVtIFwgMikNCiAgICANCiAgICBhbnogPSAwDQogICAgRm9yIGkg +PSAwIFRvIChsbmdOdW0gLSAyKSBTdGVwIDINCiAgICAgIERhdGFGaWVsZHMoYW56 +KSA9IERhdGFQYXJhbXMoaSkNCiAgICAgIERhdGFWYWx1ZXMoYW56KSA9IERhdGFQ +YXJhbXMoaSArIDEpDQogICAgICBhbnogPSBhbnogKyAxDQogICAgTmV4dCBpDQog +ICAgDQogICAgU2V0IHJzdCA9IE1lLk9wZW5SZWNvcmRzZXQoc3RyU291cmNlLCBk +Yk9wZW5EeW5hc2V0KQ0KDQpPbiBFcnJvciBHb1RvIEhhbmRsZUVycg0KICAgIFdp +dGggcnN0DQogICAgICAuQWRkTmV3DQogICAgICBpID0gMA0KICAgICAgRm9yIGkg +PSAwIFRvIChhbnogLSAxKQ0KICAgICAgICAgLkZpZWxkcyhEYXRhRmllbGRzKGkp +KSA9IERhdGFWYWx1ZXMoaSkNCiAgICAgIE5leHQgaQ0KDQogICAgICAuVXBkYXRl +DQogICAgICBJZiBMZW4oUmV0dXJuRmllbGROYW1lKSA+IDAgVGhlbg0KICAgICAg +ICAgIC5Cb29rbWFyayA9IC5MYXN0TW9kaWZpZWQNCiAgICAgICAgICBOZXdSZWNv +cmRfRmllbGRBcnJheSA9IC5GaWVsZHMoUmV0dXJuRmllbGROYW1lKS5WYWx1ZQ0K +ICAgICAgRWxzZQ0KICAgICAgICAgIE5ld1JlY29yZF9GaWVsZEFycmF5ID0gVHJ1 +ZQ0KICAgICAgRW5kIElmDQogICAgICAuQ2xvc2UNCiAgICBFbmQgV2l0aA0KICAg +IFNldCByc3QgPSBOb3RoaW5nDQoNCkV4aXRIZXJlOg0KICAgIEV4aXQgRnVuY3Rp +b24NCg0KSGFuZGxlRXJyOg0KICAgRGltIEZuY0Vyck5yIEFzIExvbmcNCiAgIERp +bSBGbmNFcnJEZXNjIEFzIFN0cmluZw0KDQogICBGbmNFcnJOciA9IEVyci5OdW1i +ZXINCiAgIEZuY0VyckRlc2MgPSBFcnIuRGVzY3JpcHRpb24NCiAgIEVyci5DbGVh +cg0KT24gRXJyb3IgUmVzdW1lIE5leHQNCiAgICBJZiBOb3QgKHJzdCBJcyBOb3Ro +aW5nKSBUaGVuDQogICAgICAgIHJzdC5DbG9zZQ0KICAgICAgICBTZXQgcnN0ID0g +Tm90aGluZw0KICAgIEVuZCBJZg0KT24gRXJyb3IgR29UbyAwDQogICBFcnIuUmFp +c2UgRm5jRXJyTnIsICJOZXdSZWNvcmRfRmllbGRBcnJheSIsIEZuY0VyckRlc2MN +Cg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IENvcHlSZWNvcmQNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQ29weSBkYXRhIHNl +dCBhbmQgY2hhbmdlIGluZGl2aWR1YWwgdmFsdWVzDQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBTb3VyY2UgICAgICAgICAgICAtIERhdGEgc291cmNlICh0YWJsZSBu +YW1lIG9yIFNRTCBzdGF0ZW1lbnQpDQonICAgICBTdGFydEZpZWxkTnVtYmVyICAt +IERhdGEgZmllbGQgbnVtYmVyICg9ZmllbGQgaW5kZXgrMSkgZnJvbSB3aGljaCB0 +aGUgZGF0YSBpcyBjb3BpZWQNCicgICAgIExhc3RGaWVsZE51bWJlciAgIC0gRGF0 +YSBmaWVsZCBudW1iZXIgKD1maWVsZCBpbmRleCsxKSB1cCB0byB3aGljaCB0aGUg +ZGF0YSBhcmUgY29waWVkLiBBIG5lZ2F0aXZlIHZhbHVlIGNvdW50cyBmcm9tIGJl +aGluZC4NCicgICAgIFJldHVybkZpZWxkTmFtZSAgIC0gRmllbGQgbmFtZSB3aG9z +ZSB2YWx1ZSBpcyB0byBiZSByZXR1cm5lZCAoZS5nLiBhdXRvIG51bWJlciBmaWVs +ZCkuDQonICAgICBEYXRhVG9DaGFuZ2UgICAgICAtIGRhdGEgdG8gYmUgY2hhbmdl +ZCAuLi4gYWx0ZXJuYXRpbmc6IGZpZWxkIG5hbWUsIGZpZWxkIHZhbHVlIC0gUGFy +YW1BcnJheTogIkZpZWxkMSIsIFZhbHVlMSwgIkZpZWxkMiIsIFZhbHVlMiwgLi4u +Lg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVmFsdWUgZnJvbSBSZXR1cm5GaWVsZE5h +bWUsIG9yIFRydWUvRmFsc2UgaWYgbm8gUmV0dXJuRmllbGROYW1lIHdhcyBzcGVj +aWZpZWQuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpQdWJsaWMgRnVuY3Rpb24gQ29weVJlY29yZChCeVZhbCBTb3VyY2UgQXMg +U3RyaW5nLCBfDQogICAgICAgICAgICAgICAgIEJ5VmFsIFN0YXJ0RmllbGROdW1i +ZXIgQXMgTG9uZywgQnlWYWwgTGFzdEZpZWxkTnVtYmVyIEFzIExvbmcsIF8NCiAg +ICAgICAgICAgICAgICAgQnlWYWwgUmV0dXJuRmllbGROYW1lIEFzIFN0cmluZywg +Xw0KICAgICAgICAgICAgICAgICBQYXJhbUFycmF5IERhdGFUb0NoYW5nZSgpIEFz +IFZhcmlhbnQpIEFzIFZhcmlhbnQNCg0KICAgIERpbSB2QSgpIEFzIFZhcmlhbnQN +CiAgICB2QSA9IENvbnZlcnRQYXJhbUFycmF5VG9WYXJpYW50QXJyYXkoRGF0YVRv +Q2hhbmdlKQ0KDQogICAgQ29weVJlY29yZCA9IENvcHlSZWNvcmRfRmllbGRBcnJh +eShTb3VyY2UsIFN0YXJ0RmllbGROdW1iZXIsIExhc3RGaWVsZE51bWJlciwgUmV0 +dXJuRmllbGROYW1lLCB2QSkNCg0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVu +Y3Rpb24gQ29weVJlY29yZF9GaWVsZEFycmF5KEJ5VmFsIFNvdXJjZSBBcyBTdHJp +bmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlWYWwgU3Rh +cnRGaWVsZE51bWJlciBBcyBMb25nLCBCeVZhbCBMYXN0RmllbGROdW1iZXIgQXMg +TG9uZywgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBS +ZXR1cm5GaWVsZE5hbWUgQXMgU3RyaW5nLCBCeVJlZiBEYXRhVG9DaGFuZ2UoKSBB +cyBWYXJpYW50KSBBcyBWYXJpYW50DQoNCk9uIEVycm9yIEdvVG8gSGFuZGxlRXJy +DQoNCiAgIERpbSBsbmdOdW0gQXMgTG9uZywgaSBBcyBMb25nLCBpRFMgQXMgTG9u +ZywgYW56IEFzIExvbmcNCiAgIERpbSBzdHJDdGwoKSBBcyBWYXJpYW50LCB2YWxD +dGwoKSBBcyBWYXJpYW50DQogICBEaW0gcnN0IEFzIERBTy5SZWNvcmRzZXQNCiAg +IERpbSBsbmdMYXN0Q29weUZpZWxkIEFzIExvbmcsIGRzQW56IEFzIExvbmcsIFN0 +YXJ0IEFzIExvbmcNCiAgIERpbSBmQ29weVZhbCgpIEFzIFZhcmlhbnQNCg0KICAg +bG5nTnVtID0gVUJvdW5kKERhdGFUb0NoYW5nZSkgKyAxDQogIA0KICAgYW56ID0g +MA0KICAgUmVEaW0gc3RyQ3RsKChsbmdOdW0gXCAyKSAtIDEpDQogICBSZURpbSB2 +YWxDdGwoKGxuZ051bSBcIDIpIC0gMSkNCiAgIA0KICAgRm9yIGkgPSAwIFRvIChs +bmdOdW0gLSAyKSBTdGVwIDINCiAgICAgc3RyQ3RsKGFueikgPSBEYXRhVG9DaGFu +Z2UoaSkNCiAgICAgdmFsQ3RsKGFueikgPSBEYXRhVG9DaGFuZ2UoaSArIDEpDQog +ICAgIGFueiA9IGFueiArIDENCiAgIE5leHQgaQ0KICANCiAgICdSZWNvcmRzZXRv +Ympla3Qg9mZmbmVuDQogICBTZXQgcnN0ID0gT3BlblJlY29yZHNldChTb3VyY2Us +IGRiT3BlbkR5bmFzZXQpDQogICANCiAgIElmIHJzdC5FT0YgQW5kIHJzdC5CT0Yg +VGhlbg0KICAgICAgICAgcnN0LkNsb3NlDQogICAgICAgICBTZXQgcnN0ID0gTm90 +aGluZw0KICAgICAgICAgQ29weVJlY29yZF9GaWVsZEFycmF5ID0gMA0KICAgICAg +ICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogIA0KICAgV2l0aCByc3QNCiAg +ICAgIC5Nb3ZlTGFzdA0KICAgICAgLk1vdmVGaXJzdA0KICAgICAgZHNBbnogPSAu +UmVjb3JkQ291bnQNCiAgICAgIA0KICAgICAgSWYgTGFzdEZpZWxkTnVtYmVyID0g +MCBUaGVuDQogICAgICAgICAgbG5nTGFzdENvcHlGaWVsZCA9IC5GaWVsZHMuQ291 +bnQNCiAgICAgIEVsc2VJZiBMYXN0RmllbGROdW1iZXIgPCAwIFRoZW4NCiAgICAg +ICAgICBsbmdMYXN0Q29weUZpZWxkID0gLkZpZWxkcy5Db3VudCArIExhc3RGaWVs +ZE51bWJlcg0KICAgICAgRWxzZQ0KICAgICAgICAgIGxuZ0xhc3RDb3B5RmllbGQg +PSBMYXN0RmllbGROdW1iZXINCiAgICAgIEVuZCBJZg0KICAgICAgDQogICAgICBS +ZURpbSBmQ29weVZhbChkc0FueiwgbG5nTGFzdENvcHlGaWVsZCkNCiAgICAgIA0K +ICAgICAgSWYgU3RhcnRGaWVsZE51bWJlciA+IDEgVGhlbiBTdGFydCA9IFN0YXJ0 +RmllbGROdW1iZXIgLSAxIEVsc2UgU3RhcnQgPSAwDQogICAgICANCiAgICAgICdX +ZXJ0ZSBlaW5sZXNlbg0KICAgICAgaURTID0gMA0KICAgICAgV2hpbGUgTm90IC5F +T0YNCiAgICAgICAgICBGb3IgaSA9IFN0YXJ0IFRvIGxuZ0xhc3RDb3B5RmllbGQg +LSAxDQogICAgICAgICAgICBmQ29weVZhbChpRFMsIGkpID0gLkZpZWxkcyhpKS5W +YWx1ZQ0KICAgICAgICAgIE5leHQgaQ0KICAgICAgICAgIC5Nb3ZlTmV4dA0KICAg +ICAgICAgIGlEUyA9IGlEUyArIDENCiAgICAgIFdlbmQNCiAgICAgIC5Nb3ZlTGFz +dA0KIA0KICAgICAgJ1dlcnRlIGtvcGllcmVuDQogICAgICBGb3IgaURTID0gMCBU +byAoZHNBbnogLSAxKQ0KICAgICAgICAgLkFkZE5ldw0KICAgICAgICAgRm9yIGkg +PSBTdGFydCBUbyAobG5nTGFzdENvcHlGaWVsZCAtIDEpDQogICAgICAgICAgIC5G +aWVsZHMoaSkgPSBmQ29weVZhbChpRFMsIGkpDQogICAgICAgICBOZXh0IGkNCiAg +ICAgICAgIEZvciBpID0gMCBUbyAoYW56IC0gMSkNCiAgICAgICAgICAgLkZpZWxk +cyhzdHJDdGwoaSkpID0gdmFsQ3RsKGkpDQogICAgICAgICBOZXh0IGkNCiAgICAg +ICAgIC5VcGRhdGUNCiAgICAgIE5leHQgaURTDQogICAgICAgDQogICAgICBJZiBM +ZW4oUmV0dXJuRmllbGROYW1lKSA+IDAgVGhlbg0KICAgICAgICAgIC5Cb29rbWFy +ayA9IC5MYXN0TW9kaWZpZWQNCiAgICAgICAgICBDb3B5UmVjb3JkX0ZpZWxkQXJy +YXkgPSAuRmllbGRzKFJldHVybkZpZWxkTmFtZSkuVmFsdWUNCiAgICAgIEVsc2UN +CiAgICAgICAgICBDb3B5UmVjb3JkX0ZpZWxkQXJyYXkgPSBUcnVlDQogICAgICBF +bmQgSWYNCiAgICAgIA0KICAgICAgLkNsb3NlDQogICAgICANCiAgRW5kIFdpdGgN +CiAgDQpFeGl0SGVyZToNCiAgICBFeGl0IEZ1bmN0aW9uDQoNCkhhbmRsZUVycjoN +CiAgIERpbSBGbmNFcnJOciBBcyBMb25nDQogICBEaW0gRm5jRXJyRGVzYyBBcyBT +dHJpbmcNCg0KICAgRm5jRXJyTnIgPSBFcnIuTnVtYmVyDQogICBGbmNFcnJEZXNj +ID0gRXJyLkRlc2NyaXB0aW9uDQogICBFcnIuQ2xlYXINCk9uIEVycm9yIFJlc3Vt +ZSBOZXh0DQogICAgSWYgTm90IChyc3QgSXMgTm90aGluZykgVGhlbg0KICAgICAg +ICByc3QuQ2xvc2UNCiAgICAgICAgU2V0IHJzdCA9IE5vdGhpbmcNCiAgICBFbmQg +SWYNCk9uIEVycm9yIEdvVG8gMA0KICAgRXJyLlJhaXNlIEZuY0Vyck5yLCAiRGFv +SGFuZGxlci5Db3B5UmVjb3JkX0ZpZWxkQXJyYXkiLCBGbmNFcnJEZXNjDQogICAN +CkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBDb3B5UmVjb3Jkcw0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBSZWNvcmRzZXQg9mZm +bmVuIHVuZCBXZXJ0ZSBlaW5lcyBEYXRlbnNhdHplcyBhbmb8Z2VuDQonDQonIFBh +cmFtZXRlcnM6DQonICAgICBTb3VyY2UgICAgICAgICAgICAtIERhdGEgc291cmNl +ICh0YWJsZSBuYW1lIG9yIFNRTCBzdGF0ZW1lbnQpDQonICAgICBTdGFydEZpZWxk +TnVtYmVyICAtIERhdGEgZmllbGQgbnVtYmVyICg9ZmllbGQgaW5kZXgrMSkgZnJv +bSB3aGljaCB0aGUgZGF0YSBpcyBjb3BpZWQNCicgICAgIExhc3RGaWVsZE51bWJl +ciAgIC0gRGF0YSBmaWVsZCBudW1iZXIgKD1maWVsZCBpbmRleCsxKSB1cCB0byB3 +aGljaCB0aGUgZGF0YSBhcmUgY29waWVkLiBBIG5lZ2F0aXZlIHZhbHVlIGNvdW50 +cyBmcm9tIGJlaGluZC4NCicgICAgIERhdGFUb0NoYW5nZSAgICAgIC0gZGF0YSB0 +byBiZSBjaGFuZ2VkIC4uLiBhbHRlcm5hdGluZzogZmllbGQgbmFtZSwgZmllbGQg +dmFsdWUgLSBQYXJhbUFycmF5OiAiRmllbGQxIiwgVmFsdWUxLCAiRmllbGQyIiwg +VmFsdWUyLCAuLi4uDQonDQonIFJldHVybnM6DQonICAgICBCb29sZWFuIC0gVHJ1 +ZSBpZiBzdWNjZXNzDQonDQonIFJlbWFya3M6DQonICAgICBTaW5jZSBhIHJlY29y +ZHNldCBpcyB1c2VkIGZvciBpbnNlcnRpb24sIHRoZXJlIGlzIG5vIGRhdGEgdHlw +ZSBjaGVjayBpbiB0aGUgY29kZSAtPiB3YXRjaCBvdXQgZm9yIGltcGxpY2l0IGNv +bnZlcnNpb24uDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gQ29weVJlY29yZHMoQnlWYWwgU291cmNl +IEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5VmFs +IFN0YXJ0RmllbGROdW1iZXIgQXMgTG9uZywgQnlWYWwgTGFzdEZpZWxkTnVtYmVy +IEFzIExvbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJhbUFy +cmF5IERhdGFUb0NoYW5nZSgpIEFzIFZhcmlhbnQpIEFzIEJvb2xlYW4NCiAgICAN +CiAgICBEaW0gbWF4SWR4IEFzIExvbmcNCiAgICBEaW0gdkEoKSBBcyBWYXJpYW50 +DQogICAgRGltIGkgQXMgTG9uZw0KDQogICAgbWF4SWR4ID0gVUJvdW5kKERhdGFU +b0NoYW5nZSkNCiAgICBSZURpbSB2QShtYXhJZHgpDQogICAgDQogICAgRm9yIGkg +PSAwIFRvIG1heElkeA0KICAgICAgICB2QShpKSA9IERhdGFUb0NoYW5nZShpKQ0K +ICAgIE5leHQgaQ0KDQogICAgQ29weVJlY29yZHMgPSBDb3B5UmVjb3Jkc0FycmF5 +UmV0dXJuRmllbGRWYWx1ZShTb3VyY2UsIFN0YXJ0RmllbGROdW1iZXIsIExhc3RG +aWVsZE51bWJlciwgdmJOdWxsU3RyaW5nLCB2QSkNCiANCkVuZCBGdW5jdGlvbg0K +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1 +bmN0aW9uOiBDb3B5UmVjb3Jkc1JldHVybkZpZWxkVmFsdWUNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicvKioNCicgPHN1bW1hcnk+ +DQonIERhdGVuc+R0emUga29waWVyZW4gdW5kIFdlcnRlIORuZGVybg0KJw0KJyBQ +YXJhbWV0ZXJzOg0KJyAgICAgU291cmNlICAgICAgICAgICAgLSBEYXRhIHNvdXJj +ZSAodGFibGUgbmFtZSBvciBTUUwgc3RhdGVtZW50KQ0KJyAgICAgU3RhcnRGaWVs +ZE51bWJlciAgLSBEYXRhIGZpZWxkIG51bWJlciAoPWZpZWxkIGluZGV4KzEpIGZy +b20gd2hpY2ggdGhlIGRhdGEgaXMgY29waWVkDQonICAgICBMYXN0RmllbGROdW1i +ZXIgICAtIERhdGEgZmllbGQgbnVtYmVyICg9ZmllbGQgaW5kZXgrMSkgdXAgdG8g +d2hpY2ggdGhlIGRhdGEgYXJlIGNvcGllZC4gQSBuZWdhdGl2ZSB2YWx1ZSBjb3Vu +dHMgZnJvbSBiZWhpbmQuDQonICAgICBSZXR1cm5GaWVsZE5hbWUgICAtIEZpZWxk +IG5hbWUgd2hvc2UgdmFsdWUgaXMgdG8gYmUgcmV0dXJuZWQgKGUuZy4gYXV0byBu +dW1iZXIgZmllbGQpLg0KJyAgICAgRGF0YVRvQ2hhbmdlICAgICAgLSBkYXRhIHRv +IGJlIGNoYW5nZWQgLi4uIGFsdGVybmF0aW5nOiBmaWVsZCBuYW1lLCBmaWVsZCB2 +YWx1ZSAtIFBhcmFtQXJyYXk6ICJGaWVsZDEiLCBWYWx1ZTEsICJGaWVsZDIiLCBW +YWx1ZTIsIC4uLi4NCicNCicgUmV0dXJuczoNCicgICAgIFZhbHVlIGZyb20gUmV0 +dXJuRmllbGROYW1lLCBvciBUcnVlL0ZhbHNlIGlmIG5vIFJldHVybkZpZWxkTmFt +ZSB3YXMgc3BlY2lmaWVkLg0KJw0KJyBSZW1hcmtzOg0KJyAgICAgU2luY2UgYSBy +ZWNvcmRzZXQgaXMgdXNlZCBmb3IgaW5zZXJ0aW9uLCB0aGVyZSBpcyBubyBkYXRh +IHR5cGUgY2hlY2sgaW4gdGhlIGNvZGUgLT4gd2F0Y2ggb3V0IGZvciBpbXBsaWNp +dCBjb252ZXJzaW9uLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIENvcHlSZWNvcmRzUmV0dXJuRmll +bGRWYWx1ZShCeVZhbCBTb3VyY2UgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAg +ICAgICAgICAgICAgICBCeVZhbCBTdGFydEZpZWxkTnVtYmVyIEFzIExvbmcsIEJ5 +VmFsIExhc3RGaWVsZE51bWJlciBBcyBMb25nLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICBCeVZhbCBSZXR1cm5GaWVsZE5hbWUgQXMgU3RyaW5nLCBfDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJhbUFycmF5IERhdGFUb0NoYW5n +ZSgpIEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgICANCiAgICBEaW0gbWF4SWR4 +IEFzIExvbmcNCiAgICBEaW0gdkEoKSBBcyBWYXJpYW50DQogICAgRGltIGkgQXMg +TG9uZw0KDQogICAgbWF4SWR4ID0gVUJvdW5kKERhdGFUb0NoYW5nZSkNCiAgICBS +ZURpbSB2QShtYXhJZHgpDQogICAgRm9yIGkgPSAwIFRvIG1heElkeA0KICAgICAg +ICB2QShpKSA9IERhdGFUb0NoYW5nZShpKQ0KICAgIE5leHQgaQ0KICAgIENvcHlS +ZWNvcmRzUmV0dXJuRmllbGRWYWx1ZSA9IENvcHlSZWNvcmRzQXJyYXlSZXR1cm5G +aWVsZFZhbHVlKFNvdXJjZSwgU3RhcnRGaWVsZE51bWJlciwgTGFzdEZpZWxkTnVt +YmVyLCBSZXR1cm5GaWVsZE5hbWUsIHZBKQ0KDQpFbmQgRnVuY3Rpb24NCg0KUHJp +dmF0ZSBGdW5jdGlvbiBDb3B5UmVjb3Jkc0FycmF5UmV0dXJuRmllbGRWYWx1ZShC +eVZhbCBTcWxTb3VyY2UgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAgICAg +ICAgICAgICBCeVZhbCBTdGFydEZlbGRJRCBBcyBMb25nLCBCeVZhbCBMYXN0RmVs +ZElEIEFzIExvbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5VmFs +IFJldHVybkZpZWxkIEFzIFN0cmluZywgQnlSZWYgVXBkYXRlRmllbGRzQW5kVmFs +dWVzKCkgQXMgVmFyaWFudCkgQXMgVmFyaWFudA0KDQpPbiBFcnJvciBHb1RvIEhh +bmRsZUVycg0KDQogICBEaW0gbG5nTnVtIEFzIExvbmcsIGxuZ0FueiBBcyBMb25n +LCBpIEFzIExvbmcsIGlEUyBBcyBMb25nLCBhbnogQXMgTG9uZw0KICAgRGltIHN0 +ckN0bCgpIEFzIFZhcmlhbnQsIHZhbEN0bCgpIEFzIFZhcmlhbnQNCiAgIERpbSBy +c3QgQXMgT2JqZWN0DQogICBEaW0gbG5nTGFzdENvcHlGaWVsZCBBcyBMb25nLCBk +c0FueiBBcyBMb25nLCBTdGFydCBBcyBMb25nDQogICBEaW0gQ29weUZpZWxkc0Fu +ZFZhbHVlcygpIEFzIFZhcmlhbnQNCiAgIERpbSBFcnJObyBBcyBMb25nLCBFcnJE +ZXNjIEFzIFN0cmluZywgRXJyU291cmNlIEFzIFN0cmluZw0KICAgDQogICBsbmdO +dW0gPSBVQm91bmQoVXBkYXRlRmllbGRzQW5kVmFsdWVzKSAtIExCb3VuZChVcGRh +dGVGaWVsZHNBbmRWYWx1ZXMpICsgMQ0KICANCiAgIGFueiA9IDANCiAgIFJlRGlt +IHN0ckN0bCgobG5nTnVtIFwgMikgLSAxKQ0KICAgUmVEaW0gdmFsQ3RsKChsbmdO +dW0gXCAyKSAtIDEpDQogIA0KICAgRm9yIGkgPSAwIFRvIChsbmdOdW0gLSAyKSBT +dGVwIDINCiAgICAgc3RyQ3RsKGFueikgPSBVcGRhdGVGaWVsZHNBbmRWYWx1ZXMo +aSkNCiAgICAgdmFsQ3RsKGFueikgPSBVcGRhdGVGaWVsZHNBbmRWYWx1ZXMoaSAr +IDEpDQogICAgIGFueiA9IGFueiArIDENCiAgIE5leHQgaQ0KICANCiAgIFNldCBy +c3QgPSBNZS5PcGVuUmVjb3Jkc2V0KFNxbFNvdXJjZSwgZGJPcGVuRHluYXNldCkN +CiAgDQogICBJZiByc3QuRU9GIEFuZCByc3QuQk9GIFRoZW4NCiAgICAgICAgIHJz +dC5DbG9zZQ0KICAgICAgICAgU2V0IHJzdCA9IE5vdGhpbmcNCiAgICAgICAgIENv +cHlSZWNvcmRzQXJyYXlSZXR1cm5GaWVsZFZhbHVlID0gMA0KICAgICAgICAgRXhp +dCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgICBXaXRoIHJzdA0KICAgICAg +Lk1vdmVMYXN0DQogICAgICAuTW92ZUZpcnN0DQogICAgICBkc0FueiA9IC5SZWNv +cmRDb3VudA0KICAgICAgDQogICAgICBJZiBMYXN0RmVsZElEID0gMCBUaGVuDQog +ICAgICAgICAgbG5nTGFzdENvcHlGaWVsZCA9IC5GaWVsZHMuQ291bnQNCiAgICAg +IEVsc2VJZiBMYXN0RmVsZElEIDwgMCBUaGVuDQogICAgICAgICAgbG5nTGFzdENv +cHlGaWVsZCA9IC5GaWVsZHMuQ291bnQgKyBMYXN0RmVsZElEDQogICAgICBFbHNl +DQogICAgICAgICAgbG5nTGFzdENvcHlGaWVsZCA9IExhc3RGZWxkSUQNCiAgICAg +IEVuZCBJZg0KICAgICAgDQogICAgICBSZURpbSBDb3B5RmllbGRzQW5kVmFsdWVz +KGRzQW56LCBsbmdMYXN0Q29weUZpZWxkKQ0KICAgICAgDQogICAgICBJZiBTdGFy +dEZlbGRJRCA+IDEgVGhlbiBTdGFydCA9IFN0YXJ0RmVsZElEIC0gMSBFbHNlIFN0 +YXJ0ID0gMA0KICAgICAgDQogICAgICAnUmVhZCB2YWx1ZXMNCiAgICAgIGlEUyA9 +IDANCiAgICAgIFdoaWxlIE5vdCAuRU9GDQogICAgICAgICAgRm9yIGkgPSBTdGFy +dCBUbyBsbmdMYXN0Q29weUZpZWxkIC0gMQ0KICAgICAgICAgICAgICBJZiAuRmll +bGRzKGkpLlR5cGUgPD4gZGJCaW5hcnkgVGhlbg0KICAgICAgICAgICAgICAgICAg +Q29weUZpZWxkc0FuZFZhbHVlcyhpRFMsIGkpID0gLkZpZWxkcyhpKS5WYWx1ZQ0K +ICAgICAgICAgICAgICBFbmQgSWYNCiAgICAgICAgICBOZXh0IGkNCiAgICAgICAg +ICAuTW92ZU5leHQNCiAgICAgICAgICBpRFMgPSBpRFMgKyAxDQogICAgICBXZW5k +DQogICAgICAuTW92ZUxhc3QNCiAgIA0KICAgICAgJ0NvcHkgdmFsdWVzDQogICAg +ICBGb3IgaURTID0gMCBUbyAoZHNBbnogLSAxKQ0KICAgICAgICAgIC5BZGROZXcN +CiAgICAgICAgICBGb3IgaSA9IFN0YXJ0IFRvIChsbmdMYXN0Q29weUZpZWxkIC0g +MSkNCiAgICAgICAgICAgICAgSWYgLkZpZWxkcyhpKS5UeXBlIDw+IGRiQmluYXJ5 +IFRoZW4NCiAgICAgICAgICAgICAgICAgIC5GaWVsZHMoaSkgPSBDb3B5RmllbGRz +QW5kVmFsdWVzKGlEUywgaSkNCiAgICAgICAgICAgICAgRW5kIElmDQogICAgICAg +ICAgTmV4dCBpDQogICAgICAgICAgRm9yIGkgPSAwIFRvIChhbnogLSAxKQ0KICAg +ICAgICAgICAgLkZpZWxkcyhzdHJDdGwoaSkpID0gdmFsQ3RsKGkpDQogICAgICAg +ICAgTmV4dCBpDQogICAgICAgICAgLlVwZGF0ZQ0KICAgICAgTmV4dCBpRFMNCiAg +ICAgIA0KICAgICAgSWYgTGVuKFJldHVybkZpZWxkICYgdmJOdWxsU3RyaW5nKSA+ +IDAgVGhlbg0KICAgICAgICAgIC5Cb29rbWFyayA9IC5MYXN0TW9kaWZpZWQNCiAg +ICAgICAgICBDb3B5UmVjb3Jkc0FycmF5UmV0dXJuRmllbGRWYWx1ZSA9IC5GaWVs +ZHMoUmV0dXJuRmllbGQpDQogICAgICBFbHNlDQogICAgICAgICAgQ29weVJlY29y +ZHNBcnJheVJldHVybkZpZWxkVmFsdWUgPSBUcnVlDQogICAgICBFbmQgSWYNCiAg +ICAgIC5DbG9zZQ0KICAgRW5kIFdpdGgNCiAgDQpFeGl0SGVyZToNCiAgICBTZXQg +cnN0ID0gTm90aGluZw0KICAgIEV4aXQgRnVuY3Rpb24NCiAgICANClJlc3VtZVJh +aXNlRXJyb3I6DQpPbiBFcnJvciBHb1RvIDANCiAgIEVyci5SYWlzZSBFcnJObywg +RXJyU291cmNlLCBFcnJEZXNjDQoNCkhhbmRsZUVycjoNCiAgICBFcnJObyA9IEVy +ci5OdW1iZXINCiAgICBFcnJEZXNjID0gRXJyLkRlc2NyaXB0aW9uDQogICAgRXJy +U291cmNlID0gIkNvcHlSZWNvcmRzQXJyYXlSZXR1cm5GaWVsZFZhbHVlICgiICYg +RXJyLlNvdXJjZSAmICIpIg0KDQogICAgSWYgTm90IChyc3QgSXMgTm90aGluZykg +VGhlbg0KICAgICAgICByc3QuQ2xvc2UNCiAgICBFbmQgSWYNCiAgICBTZXQgcnN0 +ID0gTm90aGluZw0KICAgIFJlc3VtZSBSZXN1bWVSYWlzZUVycm9yDQoNCkVuZCBG +dW5jdGlvbg0K + + 20231011081056 + data/dao/DaoHandler.cls + + + DbConnectionHandler + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkRiQ29ubmVjdGlvbkhhbmRsZXIi +DQpBdHRyaWJ1dGUgVkJfR2xvYmFsTmFtZVNwYWNlID0gRmFsc2UNCkF0dHJpYnV0 +ZSBWQl9DcmVhdGFibGUgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX1ByZWRlY2xhcmVk +SWQgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX0V4cG9zZWQgPSBGYWxzZQ0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBDbGFzczogZGF0 +YS5EYkNvbm5lY3Rpb25IYW5kbGVyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonIERhdGFiYXNlIGNvbm5lY3Rpb24gdmlhIEFET0RC +IG9yIERBTyAoaW5jbC4gT0RCQykNCicNCicgU3RhbmRhcmRpc2VzIEFETyBhbmQg +REFPIG1ldGhvZHMNCicNCicgQXV0aG9yOg0KJyAgICAgSm9zZWYgUG9ldHpsDQon +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCic8Y29kZWxp +Yj4NCicgIDxmaWxlPmRhdGEvRGJDb25uZWN0aW9uSGFuZGxlci5jbHM8L2ZpbGU+ +DQonICA8bGljZW5zZT5fY29kZWxpYi9saWNlbnNlLmJhczwvbGljZW5zZT4NCicg +IDx1c2U+ZGF0YS9kYW8vRGFvSGFuZGxlci5jbHM8L3VzZT4NCicgIDx1c2U+ZGF0 +YS9hZG8vQWRvZGJIYW5kbGVyLmNsczwvdXNlPg0KJyAgPHVzZT5kYXRhL29kYmMv +T2RiY0hhbmRsZXIuY2xzPC91c2U+DQonICA8cmVmPjxuYW1lPkRBTzwvbmFtZT48 +bWFqb3I+NTwvbWFqb3I+PG1pbm9yPjA8L21pbm9yPjxndWlkPnswMDAyNUUwMS0w +MDAwLTAwMDAtQzAwMC0wMDAwMDAwMDAwNDZ9PC9ndWlkPjwvcmVmPg0KJyAgPHJl +Zj48bmFtZT5BRE9EQjwvbmFtZT48bWFqb3I+MjwvbWFqb3I+PG1pbm9yPjE8L21p +bm9yPjxndWlkPnswMDAwMDIwMS0wMDAwLTAwMTAtODAwMC0wMEFBMDA2RDJFQTR9 +PC9ndWlkPjwvcmVmPg0KJzwvY29kZWxpYj4NCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCk9wdGlvbiBDb21wYXJlIFRleHQNCk9w +dGlvbiBFeHBsaWNpdA0KDQonT2JqZWt0ZSBm/HIgRGF0ZW56dWdyaWZmDQpQcml2 +YXRlIFdpdGhFdmVudHMgbV9EYW9IYW5kbGVyIEFzIERhb0hhbmRsZXINCkF0dHJp +YnV0ZSBtX0Rhb0hhbmRsZXIuVkJfVmFySGVscElEID0gLTENClByaXZhdGUgV2l0 +aEV2ZW50cyBtX0Fkb2RiSGFuZGxlciBBcyBBZG9kYkhhbmRsZXINCkF0dHJpYnV0 +ZSBtX0Fkb2RiSGFuZGxlci5WQl9WYXJIZWxwSUQgPSAtMQ0KUHJpdmF0ZSBXaXRo +RXZlbnRzIG1fT2RiY0hhbmRsZXIgQXMgT2RiY0hhbmRsZXINCkF0dHJpYnV0ZSBt +X09kYmNIYW5kbGVyLlZCX1ZhckhlbHBJRCA9IC0xDQoNCicgR3JvdXA6IEV2ZW50 +cw0KJyBFcnJvciBldmVudHMgZm9yIHBvc3NpYmxlIGVycm9yIGhhbmRsaW5nIHZp +YSB0aGUgZnJvbnRlbmQgYXBwbGljYXRpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBFdmVudDogRXJyb3JNaXNzaW5nQ3Vy +cmVudERiDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonIEV2ZW50IGZvciBtaXNzaW5nIEN1cnJlbnREYiByZWZlcmVuY2UNCicgKFBh +c3NpbmcgdGhlIDxkYXRhLmRhby5EYW9IYW5kbGVyPiBvciA8ZGF0YS5vZGJjLk9k +YmNIYW5kbGVyPiBldmVudDogRXJyb3JNaXNzaW5nQ3VycmVudERiKQ0KJw0KJyBQ +YXJhbWV0ZXJzOg0KJyAgICAgTXNnICAgLSAgTWVzc2FnZSBhYm91dCB0aGUgY2F1 +c2Ugb2YgdGhlIGV2ZW50IHRyaWdnZXJpbmcuIChOb3QgeWV0IHVzZWQpDQonICAg +ICBOZXdDdXJyZW50RGJSZWYgLSBEQU8uRGF0YWJhc2UgcmVmZXJlbmNlIHRvIGJl +IHVzZWQgZm9yIEN1cnJlbnREYg0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIHJl +cXVpcmVkIERBTy5EYXRhYmFzZSByZWZlcmVuY2UgY2FuIGJlIHBhc3NlZCBvbiB2 +aWEgdGhlIEJ5UmVmIHBhcmFtZXRlciBOZXdDdXJyZW50RGJSZWYuDQonDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRXZl +bnQgRXJyb3JNaXNzaW5nQ3VycmVudERiKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIEJ5 +UmVmIE5ld0N1cnJlbnREYlJlZiBBcyBEQU8uRGF0YWJhc2UpDQoNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRXZlbnQ6IEVycm9y +TWlzc2luZ0N1cnJlbnRDb25uZWN0aW9uDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEV2ZW50IGZvciBtaXNzaW5nIEFET0RC +IGNvbm5lY3Rpb24gcmVmZXJlbmNlDQonIChQYXNzaW5nIHRoZSBBZG9kYkhhbmRs +ZXIgZXZlbnQ6IDxkYXRhLmFkb2RiLkFkb2RiSGFuZGxlcjo6RXJyb3JNaXNzaW5n +Q3VycmVudENvbm5lY3Rpb24+KQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgTXNn +ICAgLSAgTWVzc2FnZSBhYm91dCB0aGUgY2F1c2Ugb2YgdGhlIGV2ZW50IHRyaWdn +ZXJpbmcuIChOb3QgeWV0IHVzZWQpDQonICAgICBOZXdDdXJyZW50Q29ubmVjdGlv +biAtIEFET0RCLkNvbm5lY3Rpb25yZWZlcmVuY2UgdG8gYmUgdXNlZCBmb3IgQ3Vy +cmVudENvbm5lY3Rpb24NCicNCicgUmVtYXJrczoNCicgICAgIFRoZSBhcHByb3By +aWF0ZSBBRE9EQi5EYXRhYmFzZSByZWZlcmVuY2UgY2FuIGJlIHBhc3NlZCBvbiB2 +aWEgdGhlIEJ5UmVmIHBhcmFtZXRlciBOZXdDdXJyZW50Q29ubmVjdGlvbi4NCicg +ICAgIEhvd2V2ZXIsIHBhc3Npbmcgb24gYSByZWZlcmVuY2UgaXMgbm90IG1hbmRh +dG9yeSwgc2luY2UsIGl0IGlzIHN0b3JlZCBpbiB0aGUgQWRvZGJIYW5kbGVyIHBy +b3BlcnR5IDxkYXRhLmFkb2RiLkFkb2RiSGFuZGxlcjo6Q3VycmVudENvbm5lY3Rp +b24+Lg0KJyAgICAgVGhlIGNvbm5lY3Rpb24gaXMgdGhlbiBjcmVhdGVkIGZyb20g +dGhlIDxkYXRhLmFkb2RiLkFkb2RiSGFuZGxlcjo6Q29ubmVjdGlvblN0cmluZz4N +CicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1 +YmxpYyBFdmVudCBFcnJvck1pc3NpbmdDdXJyZW50Q29ubmVjdGlvbihCeVZhbCBN +c2cgQXMgU3RyaW5nLCBCeVJlZiBOZXdDdXJyZW50Q29ubmVjdGlvbiBBcyBBRE9E +Qi5Db25uZWN0aW9uKQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIEV2ZW50OiBFcnJvckVtcHR5T2xlZGJDb25uZWN0aW9uU3Ry +aW5nDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQon +DQonIEV2ZW50IGZvciBtaXNzaW5nIE9MRURCIGNvbm5lY3Rpb24gc3RyaW5nDQon +IChQYXNzaW5nIHRoZSBBZG9kYkhhbmRsZXIgZXZlbnQ6IDxkYXRhLmFkb2RiLkFk +b2RiSGFuZGxlcjo6RXJyb3JFbXB0eU9sZWRiQ29ubmVjdGlvblN0cmluZz4gKQ0K +Jw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgTXNnICAgICAgICAgICAgICAgICAgLSBN +ZXNzYWdlIGFib3V0IHRoZSBjYXVzZSBvZiB0aGUgZXZlbnQgdHJpZ2dlcmluZy4g +KE5vdCB5ZXQgdXNlZCkNCicgICAgIE5ld0Nvbm5lY3Rpb25TdHJpbmcgIC0gT0xF +REIgQ29ubmVjdGlvbnN0cmluZw0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIGFw +cHJvcHJpYXRlIE9MRURCIGNvbm5lY3Rpb24gc3RyaW5nIGNhbiBiZSBwYXNzZWQg +b24gdmlhIHRoZSBCeVJlZiBwYXJhbWV0ZXIgTmV3Q29ubmVjdGlvblN0cmluZy4N +CicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1 +YmxpYyBFdmVudCBFcnJvckVtcHR5T2xlZGJDb25uZWN0aW9uU3RyaW5nKEJ5VmFs +IE1zZyBBcyBTdHJpbmcsIEJ5UmVmIE5ld0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3Ry +aW5nKQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonIEV2ZW50OiBFcnJvckVtcHR5T2RiY0Nvbm5lY3Rpb25TdHJpbmcNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRXZlbnQg +Zm9yIG1pc3NpbmcgT0RCQyBjb25uZWN0aW9uIHN0cmluZw0KJyAoUGFzc2luZyB0 +aGUgT2RiY0hhbmRsZXIgZXZlbnQ6IDxkYXRhLm9kYmMuT2RiY0hhbmRsZXI6OkVy +cm9yRW1wdHlDb25uZWN0aW9uU3RyaW5nPikNCicNCicgUGFyYW1ldGVyczoNCicg +ICAgIE1zZyAgICAgICAgICAgICAgICAgIC0gTWVzc2FnZSBhYm91dCB0aGUgY2F1 +c2Ugb2YgdGhlIGV2ZW50IHRyaWdnZXJpbmcuIChOb3QgeWV0IHVzZWQpDQonICAg +ICBOZXdDb25uZWN0aW9uU3RyaW5nICAtIE9EQkMtQ29ubmVjdGlvbnN0cmluZw0K +Jw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIGFwcHJvcHJpYXRlIE9EQkMgY29ubmVj +dGlvbiBzdHJpbmcgY2FuIGJlIHBhc3NlZCBvbiB2aWEgdGhlIEJ5UmVmIHBhcmFt +ZXRlciBOZXdDb25uZWN0aW9uU3RyaW5nLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IEVycm9yRW1wdHlP +ZGJjQ29ubmVjdGlvblN0cmluZyhCeVZhbCBNc2cgQXMgU3RyaW5nLCBCeVJlZiBO +ZXdDb25uZWN0aW9uU3RyaW5nIEFzIFN0cmluZykNCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBFdmVudDogRGlzcG9zZWQNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRXZl +bnQgbWVzc2FnZSB3aGVuIG9iamVjdCByZWZlcmVuY2VzIGhhdmUgYmVlbiByZW1v +dmVkDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQpQdWJsaWMgRXZlbnQgRGlzcG9zZWQoKQ0KDQoNCicgR3JvdXA6IERpc3Bvc2Ug +c3VwcG9ydA0KDQpQcml2YXRlIG1fRGlzcG9zZWQgQXMgQm9vbGVhbg0KDQonDQon +IEluaXQgLyBUZXJtaW5hdGUNCicgLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJ1ByaXZh +dGUgU3ViIENsYXNzX0luaXRpYWxpemUoKQ0KJycNCidFbmQgU3ViDQoNClByaXZh +dGUgU3ViIENsYXNzX1Rlcm1pbmF0ZSgpDQogICBEaXNwb3NlDQpFbmQgU3ViDQoN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgU3Vi +OiBEaXNwb3NlDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIFJlbW92ZSBvYmplY3QgcmVmZXJlbmNlcw0KJw0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFN1YiBEaXNw +b3NlKCkNCg0KICAgSWYgbV9EaXNwb3NlZCBUaGVuIEV4aXQgU3ViDQoNCk9uIEVy +cm9yIFJlc3VtZSBOZXh0DQoNCiAgIENsZWFyT2JqZWN0UmVmZXJlbmNlcw0KICAg +DQogICBtX0Rpc3Bvc2VkID0gVHJ1ZQ0KICAgUmFpc2VFdmVudCBEaXNwb3NlZA0K +ICAgDQpFbmQgU3ViDQoNClByaXZhdGUgU3ViIENsZWFyT2JqZWN0UmVmZXJlbmNl +cygpDQoNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQoNCiAgIElmIE5vdCBtX0Fkb2Ri +SGFuZGxlciBJcyBOb3RoaW5nIFRoZW4NCiAgICAgIG1fQWRvZGJIYW5kbGVyLkRp +c3Bvc2UNCiAgICAgIFNldCBtX0Fkb2RiSGFuZGxlciA9IE5vdGhpbmcNCiAgIEVu +ZCBJZg0KICAgDQogICBJZiBOb3QgbV9EYW9IYW5kbGVyIElzIE5vdGhpbmcgVGhl +bg0KICAgICAgbV9EYW9IYW5kbGVyLkRpc3Bvc2UNCiAgICAgIFNldCBtX0Rhb0hh +bmRsZXIgPSBOb3RoaW5nDQogICBFbmQgSWYNCiAgIA0KICAgSWYgTm90IG1fT2Ri +Y0hhbmRsZXIgSXMgTm90aGluZyBUaGVuDQogICAgICBtX09kYmNIYW5kbGVyLkRp +c3Bvc2UNCiAgICAgIFNldCBtX09kYmNIYW5kbGVyID0gTm90aGluZw0KICAgRW5k +IElmDQogICANCkVuZCBTdWINCg0KDQonIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjDQonIEdyb3VwOiBEQU8gZGF0YSBjb25uZWN0aW9uDQon +IERBTyBhY2Nlc3MgbWV0aG9kcw0KJyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIFByb3BlcnR5OiBEQU8NCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgSW5zdGFuY2Ugb2YgPGRhdGEuZGFv +LkRhb0hhbmRsZXI+DQonDQonIFJldHVybnM6DQonICAgICA8ZGF0YS5kYW8uRGFv +SGFuZGxlcj4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgREFPKCkgQXMgRGFvSGFuZGxlcg0K +ICAgSWYgbV9EYW9IYW5kbGVyIElzIE5vdGhpbmcgVGhlbg0KICAgICAgU2V0IG1f +RGFvSGFuZGxlciA9IE5ldyBEYW9IYW5kbGVyDQogICBFbmQgSWYNCiAgIFNldCBE +QU8gPSBtX0Rhb0hhbmRsZXINCkVuZCBQcm9wZXJ0eQ0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFByb3BlcnR5OiBDdXJyZW50 +RGINCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +CicgQ3VycmVudERiID0gPGRhdGEuZGFvLkRhb0hhbmRsZXI6OkN1cnJlbnREYj4N +CicNCicgUmV0dXJuczoNCicgICAgIERBTy5EYXRhYmFzZQ0KJw0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5 +IEdldCBDdXJyZW50RGIoKSBBcyBEQU8uRGF0YWJhc2UNCiAgIFNldCBDdXJyZW50 +RGIgPSBNZS5EQU8uQ3VycmVudERiDQpFbmQgUHJvcGVydHkNCg0KUHVibGljIFBy +b3BlcnR5IFNldCBDdXJyZW50RGIoQnlSZWYgTmV3Q3VycmVudERiIEFzIERBTy5E +YXRhYmFzZSkNCiAgIFNldCBNZS5EQU8uQ3VycmVudERiID0gTmV3Q3VycmVudERi +DQpFbmQgUHJvcGVydHkNCg0KDQonIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjDQonIEdyb3VwOiBBRE9EQiBkYXRhIGNvbm5lY3Rpb24NCicg +QURPREIgYWNjZXNzIG1ldGhvZHMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogQURPREINCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgSW5zdGFuY2Ugb2YgPGRhdGEu +YWRvZGIuQWRvZGJIYW5kbGVyPg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgPGRhdGEu +YWRvZGIuQWRvZGJIYW5kbGVyPg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBBRE9EQigpIEFz +IEFkb2RiSGFuZGxlcg0KICAgSWYgbV9BZG9kYkhhbmRsZXIgSXMgTm90aGluZyBU +aGVuDQogICAgICBTZXQgbV9BZG9kYkhhbmRsZXIgPSBOZXcgQWRvZGJIYW5kbGVy +DQogICBFbmQgSWYNCiAgIFNldCBBRE9EQiA9IG1fQWRvZGJIYW5kbGVyDQpFbmQg +UHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJyBQcm9wZXJ0eTogQ3VycmVudENvbm5lY3Rpb24NCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQURPREIgY29ubmVj +dGlvbiB0byB0aGUgY3VycmVudCBEQk1TIGNvbm5lY3Rpb24gPSA8ZGF0YS5hZG9k +Yi5BZG9kYkhhbmRsZXI6OkN1cnJlbnRDb25uZWN0aW9uPg0KJw0KJyBSZXR1cm5z +Og0KJyAgICAgQURPREIuQ29ubmVjdGlvbg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBDdXJy +ZW50Q29ubmVjdGlvbigpIEFzIEFET0RCLkNvbm5lY3Rpb24NCiAgIFNldCBDdXJy +ZW50Q29ubmVjdGlvbiA9IE1lLkFET0RCLkN1cnJlbnRDb25uZWN0aW9uDQpFbmQg +UHJvcGVydHkNCg0KUHVibGljIFByb3BlcnR5IFNldCBDdXJyZW50Q29ubmVjdGlv +bihCeVJlZiBOZXdDb25uZWN0aW9uIEFzIEFET0RCLkNvbm5lY3Rpb24pDQogICBT +ZXQgTWUuQURPREIuQ3VycmVudENvbm5lY3Rpb24gPSBOZXdDb25uZWN0aW9uDQpF +bmQgUHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJyBQcm9wZXJ0eTogT2xlZGJDb25uZWN0aW9uU3RyaW5nDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIE9sZWRi +Q29ubmVjdGlvblN0cmluZyA9IDxkYXRhLmFkb2RiLkFkb2RiSGFuZGxlcjo6Q29u +bmVjdGlvblN0cmluZz4NCicNCicgUmV0dXJuczoNCicgICAgIFN0cmluZw0KJw0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRnJpZW5k +IFByb3BlcnR5IEdldCBPbGVkYkNvbm5lY3Rpb25TdHJpbmcoKSBBcyBTdHJpbmcN +CiAgIE9sZWRiQ29ubmVjdGlvblN0cmluZyA9IE1lLkFET0RCLkNvbm5lY3Rpb25T +dHJpbmcNCkVuZCBQcm9wZXJ0eQ0KDQpQdWJsaWMgUHJvcGVydHkgTGV0IE9sZWRi +Q29ubmVjdGlvblN0cmluZyhCeVZhbCBOZXdDb25uZWN0aW9uU3RyaW5nIEFzIFN0 +cmluZykNCiAgIE1lLkFET0RCLkNvbm5lY3Rpb25TdHJpbmcgPSBOZXdDb25uZWN0 +aW9uU3RyaW5nDQpFbmQgUHJvcGVydHkNCg0KDQonIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQonIEdyb3VwOiBPREJDIGRhdGEgY29ubmVj +dGlvbg0KJyBPREJDIGFjY2VzcyBtZXRob2RzDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IE9EQkMNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgSW5zdGFuY2Ugb2Yg +PGRhdGEub2RiYy5PZGJjSGFuZGxlcj4NCicNCicgUmV0dXJuczoNCicgICAgIDxk +YXRhLm9kYmMuT2RiY0hhbmRsZXI+DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IE9EQkMoKSBB +cyBPZGJjSGFuZGxlcg0KICAgSWYgbV9PZGJjSGFuZGxlciBJcyBOb3RoaW5nIFRo +ZW4NCiAgICAgU2V0IG1fT2RiY0hhbmRsZXIgPSBOZXcgT2RiY0hhbmRsZXINCiAg +IEVuZCBJZg0KICAgU2V0IE9EQkMgPSBtX09kYmNIYW5kbGVyDQpFbmQgUHJvcGVy +dHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +JyBQcm9wZXJ0eTogT2RiY0Nvbm5lY3Rpb25TdHJpbmcNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgT2RiY0Nvbm5lY3Rpb25T +dHJpbmcgPSA8ZGF0YS5vZGJjLk9kYmNIYW5kbGVyOjpDb25uZWN0aW9uU3RyaW5n +Pg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgU3RyaW5nDQonDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGcmllbmQgUHJvcGVydHkgR2V0 +IE9kYmNDb25uZWN0aW9uU3RyaW5nKCkgQXMgU3RyaW5nDQogICBPZGJjQ29ubmVj +dGlvblN0cmluZyA9IE1lLk9EQkMuQ29ubmVjdGlvblN0cmluZw0KRW5kIFByb3Bl +cnR5DQoNClB1YmxpYyBQcm9wZXJ0eSBMZXQgT2RiY0Nvbm5lY3Rpb25TdHJpbmco +QnlWYWwgTmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcpDQogICBNZS5PREJD +LkNvbm5lY3Rpb25TdHJpbmcgPSBOZXdDb25uZWN0aW9uU3RyaW5nDQpFbmQgUHJv +cGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBQcm9wZXJ0eTogQ3VycmVudERiQkUNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQ3VycmVudERiQkUgPSA8ZGF0YS5v +ZGJjLk9kYmNIYW5kbGVyOjpDdXJyZW50RGJCRT4NCicNCicgUmV0dXJuczoNCicg +ICAgIERBTy5EYXRhYmFzZSBvZiBPREJDIGRhdGFiYXNlDQonDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkg +R2V0IEN1cnJlbnREYkJFKCkgQXMgREFPLkRhdGFiYXNlDQogICBTZXQgQ3VycmVu +dERiQkUgPSBNZS5PREJDLkN1cnJlbnREYkJFDQpFbmQgUHJvcGVydHkNCg0KUHVi +bGljIFByb3BlcnR5IFNldCBDdXJyZW50RGJCRShCeVJlZiBOZXdEYiBBcyBEQU8u +RGF0YWJhc2UpDQogICBJZiBOb3QgKE5ld0RiIElzIE5vdGhpbmcpIFRoZW4NCiAg +ICAgIFNldCBNZS5PREJDLkN1cnJlbnREYkJFID0gTmV3RGINCiAgIEVuZCBJZg0K +RW5kIFByb3BlcnR5DQoNCg0KJyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIw0KJw0KJyBEYXRhIGFjY2VzcyBldmVudHMNCicgLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KDQonIEFkb2RiSGFuZGxlciBldmVudHMNCicgLS0tLS0tLS0t +LS0tLS0tLS0tLS0NClByaXZhdGUgU3ViIG1fQWRvZGJIYW5kbGVyX0Vycm9yTWlz +c2luZ0N1cnJlbnRDb25uZWN0aW9uKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIEJ5UmVm +IE5ld0N1cnJlbnRDb25uZWN0aW9uIEFzIEFET0RCLkNvbm5lY3Rpb24pDQogICBS +YWlzZUV2ZW50IEVycm9yTWlzc2luZ0N1cnJlbnRDb25uZWN0aW9uKE1zZywgTmV3 +Q3VycmVudENvbm5lY3Rpb24pDQpFbmQgU3ViDQoNClByaXZhdGUgU3ViIG1fQWRv +ZGJIYW5kbGVyX0Vycm9yRW1wdHlDb25uZWN0aW9uU3RyaW5nKEJ5VmFsIE1zZyBB +cyBTdHJpbmcsIEJ5UmVmIE5ld0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nKQ0K +ICAgUmFpc2VFdmVudCBFcnJvckVtcHR5T2xlZGJDb25uZWN0aW9uU3RyaW5nKE1z +ZywgTmV3Q29ubmVjdGlvblN0cmluZykNCkVuZCBTdWINCg0KJyBEYW9IYW5kbGVy +IGV2ZW50cw0KJyAtLS0tLS0tLS0tLS0tLS0tLS0NClByaXZhdGUgU3ViIG1fRGFv +SGFuZGxlcl9FcnJvck1pc3NpbmdDdXJyZW50RGIoQnlWYWwgTXNnIEFzIFN0cmlu +ZywgQnlSZWYgTmV3Q3VycmVudERiUmVmIEFzIERBTy5EYXRhYmFzZSkNCiAgIFJh +aXNlRXZlbnQgRXJyb3JNaXNzaW5nQ3VycmVudERiKE1zZywgTmV3Q3VycmVudERi +UmVmKQ0KRW5kIFN1Yg0KDQonIE9kYmNIYW5kbGVyIGV2ZW50cw0KJyAtLS0tLS0t +LS0tLS0tLS0tLS0NClByaXZhdGUgU3ViIG1fT2RiY0hhbmRsZXJfRXJyb3JFbXB0 +eUNvbm5lY3Rpb25TdHJpbmcoQnlWYWwgTXNnIEFzIFN0cmluZywgQnlSZWYgTmV3 +Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcpDQogICBSYWlzZUV2ZW50IEVycm9y +RW1wdHlPZGJjQ29ubmVjdGlvblN0cmluZyhNc2csIE5ld0Nvbm5lY3Rpb25TdHJp +bmcpDQpFbmQgU3ViDQoNClByaXZhdGUgU3ViIG1fT2RiY0hhbmRsZXJfRXJyb3JN +aXNzaW5nQ3VycmVudERiKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIEJ5UmVmIE5ld0N1 +cnJlbnREYlJlZiBBcyBEQU8uRGF0YWJhc2UpDQoNCiAgICcxLiBUcnkgdG8gcGFz +cyBmcm9tIERBTyBjbGFzczoNCiAgIFNldCBOZXdDdXJyZW50RGJSZWYgPSBNZS5E +QU8uQ3VycmVudERiDQogICANCiAgICcyLiBUcmlnZ2VyIGV2ZW50IGlmIE1lLkRB +Ty5DdXJyZW50RGIgYWxzbyByZXR1cm5zIG5vdGhpbmcNCiAgIElmIE5ld0N1cnJl +bnREYlJlZiBJcyBOb3RoaW5nIFRoZW4NCiAgICAgIFJhaXNlRXZlbnQgRXJyb3JN +aXNzaW5nQ3VycmVudERiKE1zZywgTmV3Q3VycmVudERiUmVmKQ0KICAgICAgSWYg +Tm90IE5ld0N1cnJlbnREYlJlZiBJcyBOb3RoaW5nIFRoZW4NCiAgICAgICAgIFNl +dCBNZS5EQU8uQ3VycmVudERiID0gTmV3Q3VycmVudERiUmVmDQogICAgICBFbmQg +SWYNCiAgIEVuZCBJZg0KICAgDQpFbmQgU3ViDQo= + + 20231011081056 + data/DbConnectionHandler.cls + + + DbConnectionInfo + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkRiQ29ubmVjdGlvbkluZm8iDQpB +dHRyaWJ1dGUgVkJfR2xvYmFsTmFtZVNwYWNlID0gRmFsc2UNCkF0dHJpYnV0ZSBW +Ql9DcmVhdGFibGUgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX1ByZWRlY2xhcmVkSWQg +PSBGYWxzZQ0KQXR0cmlidXRlIFZCX0V4cG9zZWQgPSBGYWxzZQ0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBDbGFzczogZGF0YS5E +YkNvbm5lY3Rpb25JbmZvDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIEF1eGlsaWFyeSBjbGFzcyBmb3Igc2V0dGluZyB0aGUgY29u +bmVjdGlvbiBwYXJhbWV0ZXJzDQonDQonIEF1dGhvcjoNCicgICAgIEpvc2VmIFBv +ZXR6bA0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVXNlcyB0YWJsZSB1c3lzX0RibXND +b25uZWN0aW9uIChjcmVhdGUgdGFibGUgd2l0aCBEQk1TIENvbm5lY3Rpb24gV2l6 +YXJkKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQon +PGNvZGVsaWI+DQonICA8ZmlsZT5kYXRhL0RiQ29ubmVjdGlvbkluZm8uY2xzPC9m +aWxlPg0KJyAgPGxpY2Vuc2U+X2NvZGVsaWIvbGljZW5zZS5iYXM8L2xpY2Vuc2U+ +DQonICA8cmVmPjxuYW1lPkRBTzwvbmFtZT48bWFqb3I+NTwvbWFqb3I+PG1pbm9y +PjA8L21pbm9yPjxndWlkPnswMDAyNUUwMS0wMDAwLTAwMDAtQzAwMC0wMDAwMDAw +MDAwNDZ9PC9ndWlkPjwvcmVmPg0KJyAgPHVzZT5kYXRhL2RlZkRiQ29ubmVjdGlv +bi5iYXM8L3VzZT4NCic8L2NvZGVsaWI+DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonDQpPcHRpb24gQ29tcGFyZSBUZXh0DQpPcHRp +b24gRXhwbGljaXQNCg0KUHJpdmF0ZSBFbnVtIERiQ29ubmVjdGlvbkluZm9FcnJv +ck51bWJlcnMNCiAgIEVSUk5SX05PREJNUyA9IHZiT2JqZWN0RXJyb3IgKyAxDQog +ICBFUlJOUl9OT0NPTkZJRyA9IHZiT2JqZWN0RXJyb3IgKyAyDQogICBFUlJOUl9J +TkFDVElWRSA9IHZiT2JqZWN0RXJyb3IgKyAzDQpFbmQgRW51bQ0KDQpQcml2YXRl +IENvbnN0IENvbm5EYXRhU2VsZWN0U3FsIEFzIFN0cmluZyA9IF8NCiAgICAgICAg +ICAgICAgICAgICAgICJTRUxFQ1QgQ0lELCBEQk1TLCBkYm1zQ29ubmVjdGlvbk1v +ZGUsIGRibXNEYXRhYmFzZSwgZGJtc1VzZVRydXN0ZWRDb25uZWN0aW9uLCBkYm1z +VXNlciwgZGJtc1B3ZCwgZGJtc1VzZUxvZ2luRm9ybSwgIiAmIF8NCiAgICAgICAg +ICAgICAgICAgICAgICIgZGJtc1NlcnZlciwgZGJtc1BvcnQsIGRibXNPbGVEYlBy +b3ZpZGVyLCBkYm1zT2RiY0RyaXZlciwgZGJtc09wdGlvbnNPTEVEQiwgZGJtc09w +dGlvbnNPREJDLCIgJiBfDQogICAgICAgICAgICAgICAgICAgICAiIGRibXNEU04s +IGRibXNDb25TdHJPTEVEQiwgZGJtc0NvblN0ck9EQkMgRlJPTSB1c3lzX0RibXND +b25uZWN0aW9uIg0KDQpQcml2YXRlIENvbnN0IEFjdGl2YXRlZENvbm5EYXRhU2Vs +ZWN0U3FsIEFzIFN0cmluZyA9IF8NCiAgICAgICAgICAgICAgICAgICAgIENvbm5E +YXRhU2VsZWN0U3FsICYgIiBXSEVSRSBBY3RpdmVDb25uZWN0aW9uPS0xIg0KDQpQ +cml2YXRlIENvbnN0IFNlbGVjdENvbm5lY3Rpb25JZGVudGlmaWVyQ29ubkRhdGFT +ZWxlY3RTcWwgQXMgU3RyaW5nID0gXw0KICAgICAgICAgICAgICAgICAgICAgQ29u +bkRhdGFTZWxlY3RTcWwgJiAiIFdIRVJFIENJRD17Q29ubmVjdGlvbklkZW50aWZp +ZXJ9Ig0KDQoNClByaXZhdGUgQ29uc3QgbV9EZWZhdWx0TG9naW5Gb3JtTmFtZSBB +cyBTdHJpbmcgPSAiTG9naW5Gb3JtIg0KUHJpdmF0ZSBtX0xvZ2luRm9ybU5hbWUg +QXMgU3RyaW5nDQpQcml2YXRlIG1fRGJtc0NvbmZpZ0Zvcm1OYW1lIEFzIFN0cmlu +Zw0KDQpQcml2YXRlIENvbnN0IG1fQ2hlY2tDb25uZWN0aW9uVGltZW91dFNlY29u +ZHMgQXMgTG9uZyA9IDUgJ0Nvbm5lY3Rpb24gdGltZW91dCBbc2VjXSBmb3IgY29u +bmVjdGlvbiBjaGVjayAoZGVmYXVsdCB3b3VsZCBiZSAxNSBzZWMpDQoNCidDb25u +ZWN0aW9uIGlkZW50aWZpZXINClByaXZhdGUgbV9Db25uZWN0aW9uSWRlbnRpZmll +ciBBcyBTdHJpbmcNCg0KJ0RCTVMgTmFtZQ0KUHJpdmF0ZSBtX0RCTVNOQU1FIEFz +IFN0cmluZw0KDQpQcml2YXRlIENvbnN0IG1fREJNU05BTUVfTVNKRVQgQXMgU3Ry +aW5nID0gIk1TSkVUIg0KUHJpdmF0ZSBDb25zdCBtX0RCTVNOQU1FX01TU1FMIEFz +IFN0cmluZyA9ICJNU1NRTCINClByaXZhdGUgQ29uc3QgbV9EQk1TTkFNRV9NWVNR +TCBBcyBTdHJpbmcgPSAiTXlTUUwiDQpQcml2YXRlIENvbnN0IG1fREJNU05BTUVf +T1JBQ0xFIEFzIFN0cmluZyA9ICJPUkFDTEUiDQpQcml2YXRlIENvbnN0IG1fREJN +U05BTUVfT0RCQyBBcyBTdHJpbmcgPSAiT0RCQyINCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgDQonREJNUyBQcm92aWRlci9Ecml2ZXINClByaXZhdGUgbV9E +Qk9EQkNEUklWRVIgQXMgU3RyaW5nDQpQcml2YXRlIG1fREJPTEVEQlBST1ZJREVS +IEFzIFN0cmluZw0KDQonRGF0YWJhc2UgU2VydmVyIChOb3RlOiBpbmNsLiBpbnN0 +YW5jZSBvZiBTUUwgc2VydmVyICYgY28uKQ0KUHJpdmF0ZSBtX0RCU0VSVkVSIEFz +IFN0cmluZw0KDQonUG9ydCAoZS5nLiB0byBpZGVudGlmeSBleGlzdGluZyBzZXJ2 +ZXIgaW5zdGFuY2VzKQ0KUHJpdmF0ZSBtX1BPUlQgQXMgU3RyaW5nDQoNCidEYXRh +YmFzZSBOYW1lDQpQcml2YXRlIG1fREJOQU1FIEFzIFN0cmluZyAgJ3JlcXVpcmVk +IQ0KDQonQ29ubmVjdGlvbiBtb2RlcyAoMSAuLiBETlMgbGVzcywgMiAuLiB3aXRo +IERTTiwgMTI4IC4uIHVzZWRlZmluZWQgY29ubmVjdGlvbiBzdHJpbmcpDQpQcml2 +YXRlIG1fQ09OTkVDVElPTk1PREUgQXMgRGJtc0Nvbm5lY3Rpb25Nb2Rlcw0KDQon +VXNlciBpZGVudGlmaWVyDQpQcml2YXRlIG1fREJVU0VSIEFzIFN0cmluZw0KUHJp +dmF0ZSBtX0RCVVNFUlBXRCBBcyBTdHJpbmcNClByaXZhdGUgbV9UUlVTVEVEQ09O +TkVDVElPTiBBcyBCb29sZWFuDQoNCidPdGhlciBPcHRpb25zDQpQcml2YXRlIG1f +REJPUFRJT05TX09EQkMgQXMgU3RyaW5nDQpQcml2YXRlIG1fREJPUFRJT05TX09M +RURCIEFzIFN0cmluZw0KDQonQ29ubmVjdGlvbiBzdHJpbmcNClByaXZhdGUgbV9P +bGVkYkNvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQpQcml2YXRlIG1fT2RiY0Nv +bm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQpQcml2YXRlIG1fRGF0YWJhc2VGaWxl +IEFzIFN0cmluZyAnZvxyIGRhdGVpYmFzaWVydGUgREJTDQoNCidMb2dpbiBmb3Jt +DQpQcml2YXRlIG1fVXNlTG9naW5Gb3JtIEFzIEJvb2xlYW4NClByaXZhdGUgbV9T +QVZFUFdEIEFzIEJvb2xlYW4NCg0KI0lmIENPTkZJR19VU0VMT0dJTkZPUk0gPSAx +IFRoZW4NClByaXZhdGUgV2l0aEV2ZW50cyBtX0xvZ2luRm9ybSBBcyBGb3JtX0xv +Z2luRm9ybQ0KQXR0cmlidXRlIG1fTG9naW5Gb3JtLlZCX1ZhckhlbHBJRCA9IC0x +DQojRW5kIElmDQoNClByaXZhdGUgbV9Mb2dpbkNhbmNlbGxlZCBBcyBCb29sZWFu +DQoNCidEU04NClByaXZhdGUgbV9EU04gQXMgU3RyaW5nDQoNCidPdGhlciBhdXhp +bGlhcnkgdmFyaWFibGVzOg0KUHJpdmF0ZSBtX0RibXNJbmZvUmVhZGVkIEFzIEJv +b2xlYW4NCg0KJyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIw0KJw0KJyBHcm91cDogRXZlbnRzDQonDQoNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCidFdmVudDogRGJtc0Nv +bm5lY3Rpb25DaGFuZ2VkDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonDQonIEV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gY2hhbmdl +cw0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgTmV3Q29ubmVjdGlvbklkZW50aWZp +ZXIgLSBuZXcgdXNlZCBjb25uZWN0aW9uIGlkZW50aWZpZXIgKGZyb20gdGFibGUg +ZGF0YSBmaWVsZCBDSUQpDQonDQonIFJlbWFya3M6DQonICAgICBDYW4gYmUgdXNl +ZnVsIGlmIGRpc3BsYXlzIGFyZSB1cGRhdGVkIGRlcGVuZGluZyBvbiB0aGUgY29u +bmVjdGlvbiwgZXRjLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IERibXNDb25uZWN0aW9uQ2hhbmdlZChC +eVZhbCBOZXdDb25uZWN0aW9uSWRlbnRpZmllciBBcyBTdHJpbmcpDQoNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCidFdmVudDogRGJt +c0Nvbm5lY3Rpb25JbmZvQ2xlYXJlZA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBFdmVudCByYWlzZWQgd2hlbiB0aGUgY29u +bmVjdGlvbiBwYXJhbWV0ZXJzIGhhdmUgYmVlbiByZXNldA0KJw0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IERi +bXNDb25uZWN0aW9uSW5mb0NsZWFyZWQoKQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonRXZlbnQ6IERibXNJbmZvTWVzc2FnZQ0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBJ +bmZvcm1hdGlvbiBzaGFyaW5nIGV2ZW50DQonDQonIFBhcmFtZXRlcnM6DQonICAg +ICBTb3VyY2UgICAgICAgICAtIFNvdXJjZSBvZiB0aGUgbWVzc2FnZQ0KJyAgICAg +TXNnICAgICAgICAgICAgLSBNZXNzYWdlDQonICAgICBNc2dTdHlsZSAgICAgICAt +IFZiTXNnQm94U3R5bGUNCicNCicgUmVtYXJrczoNCicgICAgIFVzZWQgdG8gcGFz +cyBvbiBpbmZvIChzaW1pbGFyIHRvIGRlYnVnLnByaW50KQ0KJw0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IERi +bXNJbmZvTWVzc2FnZShCeVZhbCBTb3VyY2UgQXMgU3RyaW5nLCBCeVZhbCBNc2cg +QXMgU3RyaW5nLCBCeVZhbCBNc2dTdHlsZSBBcyBWYk1zZ0JveFN0eWxlKQ0KDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonRXZlbnQ6 +IExvZ2luRGF0YVJlcXVpcmVkDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonDQonIEV2ZW50IHJhaXNlZCB3aGVuIHVzZXJuYW1lIGFu +ZCBwYXNzd29yZCByZXF1aXJlZA0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIGV2 +ZW50IGlzIHVzZWZ1bCB0byBzZXQgYSBwYXNzd29yZCBieSBjb2RlDQonICAgICBz +byB0aGF0IGl0IGlzIG5vdCBzdG9yZWQgaW4gdGhlIHRhYmxlIGFuZCBpcyBlYXNp +bHkgcmVhZGFibGUuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQpQdWJsaWMgRXZlbnQgTG9naW5EYXRhUmVxdWlyZWQoQnlSZWYg +VXNlck5hbWUgQXMgU3RyaW5nLCBCeVJlZiBQYXNzd29yZCBBcyBTdHJpbmcpDQoN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCidFdmVu +dDogUGFzc3dvcmRDaGFuZ2VkDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonDQonIEV2ZW50IHJhaXNlZCB3aGVuIHRoZSBwYXNzd29y +ZCBoYXMgYmVlbiBjaGFuZ2VkDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRXZlbnQgUGFzc3dvcmRDaGFuZ2VkKCkN +Cg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJ0V2 +ZW50OiBEaXNwb3NlZA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJw0KJyBFdmVudCByYWlzZWQgd2hlbiBkaXNwb3NlZA0KJw0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2 +ZW50IERpc3Bvc2VkKCkNCg0KDQonQVBJDQpQcml2YXRlIERlY2xhcmUgUHRyU2Fm +ZSBGdW5jdGlvbiBHZXRQcml2YXRlUHJvZmlsZVN0cmluZyBMaWIgImtlcm5lbDMy +IiBfDQogIEFsaWFzICJHZXRQcml2YXRlUHJvZmlsZVN0cmluZ0EiICggXw0KICBC +eVZhbCBscEFwcGxpY2F0aW9uTmFtZSBBcyBTdHJpbmcsIF8NCiAgQnlWYWwgbHBL +ZXlOYW1lIEFzIEFueSwgXw0KICBCeVZhbCBscERlZmF1bHQgQXMgU3RyaW5nLCBf +DQogIEJ5VmFsIGxwUmV0dXJuZWRTdHJpbmcgQXMgU3RyaW5nLCBfDQogIEJ5VmFs +IG5TaXplIEFzIExvbmcsIF8NCiAgQnlWYWwgbHBGaWxlTmFtZSBBcyBTdHJpbmcp +IEFzIExvbmcNCg0KUHJpdmF0ZSBEZWNsYXJlIFB0clNhZmUgRnVuY3Rpb24gV3Jp +dGVQcml2YXRlUHJvZmlsZVN0cmluZyBMaWIgImtlcm5lbDMyIiBfDQogIEFsaWFz +ICJXcml0ZVByaXZhdGVQcm9maWxlU3RyaW5nQSIgKCBfDQogIEJ5VmFsIGxwQXBw +bGljYXRpb25OYW1lIEFzIFN0cmluZywgXw0KICBCeVZhbCBscEtleU5hbWUgQXMg +QW55LCBfDQogIEJ5VmFsIGxwU3RyaW5nIEFzIEFueSwgXw0KICBCeVZhbCBscEZp +bGVOYW1lIEFzIFN0cmluZykgQXMgTG9uZw0KICANClByaXZhdGUgU3ViIENsYXNz +X1Rlcm1pbmF0ZSgpDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0KICAgRGlzcG9zZQ0K +RW5kIFN1Yg0KDQpQcml2YXRlIFN1YiBEaXNwb3NlKCkNCk9uIEVycm9yIFJlc3Vt +ZSBOZXh0DQojSWYgQ09ORklHX1VTRUxPR0lORk9STSA9IDEgVGhlbg0KICAgSWYg +Tm90IChtX0xvZ2luRm9ybSBJcyBOb3RoaW5nKSBUaGVuIFNldCBtX0xvZ2luRm9y +bSA9IE5vdGhpbmcNCiNFbmQgSWYNCiAgIG1fRGJtc0luZm9SZWFkZWQgPSBGYWxz +ZQ0KICAgUmFpc2VFdmVudCBEaXNwb3NlZA0KRW5kIFN1Yg0KDQogIA0KJyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K +Jw0KJyBHcm91cDogREJNUyBDb25uZWN0aW9uIFBhcmFtZXRlcnMNCicNCiAgDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonUHJvcGVy +dHk6IENvbm5lY3Rpb25JZGVudGlmaWVyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIENvbm5lY3Rpb24gaWRlbnRpZmllciAt +IHZhbHVlIGZyb20gZGF0YSBmaWVsZCBDSUQNCicNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgQ29u +bmVjdGlvbklkZW50aWZpZXIoKSBBcyBTdHJpbmcNCk9uIEVycm9yIFJlc3VtZSBO +ZXh0DQogICBDb25uZWN0aW9uSWRlbnRpZmllciA9IG1fQ29ubmVjdGlvbklkZW50 +aWZpZXINCkVuZCBQcm9wZXJ0eQ0KDQpQdWJsaWMgUHJvcGVydHkgTGV0IENvbm5l +Y3Rpb25JZGVudGlmaWVyKEJ5VmFsIENvbm5lY3Rpb25JZGVudGlmaWVyVG9Vc2Ug +QXMgU3RyaW5nKQ0KT24gRXJyb3IgUmVzdW1lIE5leHQNCiAgIA0KICAgQ2xlYXJD +b25uZWN0aW9uSW5mbw0KICAgbV9Db25uZWN0aW9uSWRlbnRpZmllciA9IENvbm5l +Y3Rpb25JZGVudGlmaWVyVG9Vc2UNCiAgIA0KICAgSWYgTGVuKG1fQ29ubmVjdGlv +bklkZW50aWZpZXIpID4gMCBUaGVuDQogICAgICBMb2FkQ29ubmVjdGlvbkRhdGEg +UmFpc2VEYm1zQ29ubmVjdGlvbkNoYW5nZWRFdmVudDo9VHJ1ZQ0KICAgRWxzZQ0K +ICAgICAgUmFpc2VFdmVudCBEYm1zQ29ubmVjdGlvbkNoYW5nZWQodmJOdWxsU3Ry +aW5nKQ0KICAgRW5kIElmDQogICANCkVuZCBQcm9wZXJ0eQ0KDQpQdWJsaWMgUHJv +cGVydHkgR2V0IENJRCgpIEFzIFN0cmluZw0KICAgU3RvcCAnRGVwcmVjYXRlZDog +dXNlIENvbm5lY3Rpb25JZGVudGlmaWVyDQogICBDSUQgPSBDb25uZWN0aW9uSWRl +bnRpZmllcg0KRW5kIFByb3BlcnR5DQoNClB1YmxpYyBQcm9wZXJ0eSBMZXQgQ0lE +KEJ5VmFsIFNlbGVjdENJRCBBcyBTdHJpbmcpDQogICBTdG9wICdEZXByZWNhdGVk +OiB1c2UgQ29ubmVjdGlvbklkZW50aWZpZXINCiAgIENvbm5lY3Rpb25JZGVudGlm +aWVyID0gU2VsZWN0Q0lEDQpFbmQgUHJvcGVydHkNCg0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonUHJvcGVydHk6IERibXNOYW1l +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQon +IE5hbWUgb2YgREJNUyAoTVNKRVQsIE1TU1FMLCBNeVNRTCwgT1JBQ0xFLCBPREJD +KQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +UHVibGljIFByb3BlcnR5IEdldCBEYm1zTmFtZSgpIEFzIFN0cmluZw0KT24gRXJy +b3IgUmVzdW1lIE5leHQNCiAgIElmIFN0clB0cihtX0RCTVNOQU1FKSA9IDAgVGhl +bg0KICAgICAgTG9hZENvbm5lY3Rpb25EYXRhDQogICBFbmQgSWYNCiAgIERibXNO +YW1lID0gbV9EQk1TTkFNRQ0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCidQcm9wZXJ0eTogRGJTZXJ2ZXIN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicg +TmFtZSBvZiBEYXRhYmFzZSBTZXJ2ZXINCicNCicgUmVtYXJrczoNCicgICAgIElu +Y2wuIGluc3RhbmNlIG9mIFNRTCBTZXJ2ZXIgJiBjby4NCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBH +ZXQgRGJTZXJ2ZXIoKSBBcyBTdHJpbmcNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQog +ICBEYlNlcnZlciA9IG1fREJTRVJWRVINCkVuZCBQcm9wZXJ0eQ0KDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonUHJvcGVydHk6IERi +TmFtZQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +Jw0KJyBOYW1lIG9mIERhdGFiYXNlDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IERiTmFtZSgp +IEFzIFN0cmluZw0KT24gRXJyb3IgUmVzdW1lIE5leHQNCiAgIERiTmFtZSA9IG1f +REJOQU1FDQpFbmQgUHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogRGF0YWJhc2VGaWxlDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEZpbGUg +bmFtZSBpbmNsLiBwYXRoIG9mIGEgZmlsZS1iYXNlZCBiYWNrZW5kDQonDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJv +cGVydHkgR2V0IERhdGFiYXNlRmlsZSgpIEFzIFN0cmluZw0KDQogICBJZiBMZW4o +bV9EYXRhYmFzZUZpbGUpID0gMCBUaGVuDQogICAgICBTZXRDb25uZWN0aW9uU3Ry +aW5ncw0KICAgRW5kIElmDQogICBEYXRhYmFzZUZpbGUgPSBtX0RhdGFiYXNlRmls +ZQ0KDQpFbmQgUHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogVXNlTG9naW5Gb3JtDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIFNldHRpbmcg +ZnJvbSB0aGUgY29ubmVjdGlvbiBwYXJhbWV0ZXJzIHdoZXRoZXIgdG8gdXNlIHRo +ZSBsb2dpbiBmb3JtIHdoZW4gbG9nZ2luZyBpbi4NCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQg +VXNlTG9naW5Gb3JtKCkgQXMgQm9vbGVhbg0KDQogICBJZiBOb3QgbV9EYm1zSW5m +b1JlYWRlZCBUaGVuDQogICAgICBTZXRDb25uZWN0aW9uU3RyaW5ncw0KICAgRW5k +IElmDQogICBVc2VMb2dpbkZvcm0gPSBtX1VzZUxvZ2luRm9ybQ0KDQpFbmQgUHJv +cGVydHkNCg0KDQojSWYgQ09ORklHX1VTRUxPR0lORk9STSA9IDEgVGhlbg0KDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonUHJvcGVy +dHk6IExvZ2luRm9ybQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJw0KJyBGb3JtIHJlZmVyZW5jZSB0byBMb2dpbkZvcm0NCicNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQ +cm9wZXJ0eSBHZXQgTG9naW5Gb3JtKCkgQXMgRm9ybQ0KT24gRXJyb3IgUmVzdW1l +IE5leHQNCiAgIFNldCBMb2dpbkZvcm0gPSBtX0xvZ2luRm9ybQ0KRW5kIFByb3Bl +cnR5DQoNClB1YmxpYyBQcm9wZXJ0eSBTZXQgTG9naW5Gb3JtKEJ5VmFsIE5ld1Jl +ZiBBcyBGb3JtKQ0KT24gRXJyb3IgUmVzdW1lIE5leHQNCiAgIFNldCBtX0xvZ2lu +Rm9ybSA9IE5ld1JlZg0KRW5kIFByb3BlcnR5DQoNClByaXZhdGUgU3ViIG1fTG9n +aW5Gb3JtX0NhbmNlbGxlZCgpDQoNCiAgIFJhaXNlRXZlbnQgRGJtc0luZm9NZXNz +YWdlKG1fREJNU05BTUUsICJMb2dpbiB3YXMgY2FuY2VsZWQiLCB2YkV4Y2xhbWF0 +aW9uKQ0KICAgU2V0IG1fTG9naW5Gb3JtID0gTm90aGluZw0KICAgQ2xlYXJDb25u +ZWN0aW9uSW5mbw0KICAgbV9Mb2dpbkNhbmNlbGxlZCA9IFRydWUNCg0KRW5kIFN1 +Yg0KDQpQcml2YXRlIFN1YiBtX0xvZ2luRm9ybV9Mb2dvbihCeVZhbCBMb2dpbk5h +bWUgQXMgU3RyaW5nLCBCeVZhbCBQYXNzd29yZCBBcyBTdHJpbmcsIENhbmNlbCBB +cyBCb29sZWFuKQ0KICAgDQogICBEaW0gRXJyTXNnIEFzIFN0cmluZw0KDQogICBt +X0xvZ2luQ2FuY2VsbGVkID0gRmFsc2UNCiAgIG1fREJVU0VSID0gTG9naW5OYW1l +DQogICBtX0RCVVNFUlBXRCA9IFBhc3N3b3JkDQogICANCiAgIENhbGwgU2V0Q29u +bmVjdGlvblN0cmluZ3MoRmFsc2UpDQogICANCiAgIElmIENoZWNrQWRvQ29ubmVj +dGlvbihtX09sZWRiQ29ubmVjdGlvblN0cmluZywgRXJyTXNnKSA9IEZhbHNlIFRo +ZW4NCiAgICAgIElmIExlbihFcnJNc2cpID4gMCBUaGVuIEVyck1zZyA9IHZiTmV3 +TGluZSAmIHZiTmV3TGluZSAmIEVyck1zZw0KICAgICAgTXNnQm94ICJWZXJiaW5k +dW5nIGtvbm50ZSBuaWNodCBoZXJnZXN0ZWxsdCB3ZXJkZW4iICYgRXJyTXNnDQog +ICAgICBtX0xvZ2luQ2FuY2VsbGVkID0gVHJ1ZQ0KICAgICAgQ2FuY2VsID0gVHJ1 +ZQ0KICAgICAgRXhpdCBTdWINCiAgIEVuZCBJZg0KDQogICBJZiBMZW4obV9EQlVT +RVIpID4gMCBUaGVuDQogICAgICBDdXJyZW50RGIuRXhlY3V0ZSAiVVBEQVRFIChz +ZWxlY3QgKiBmcm9tIHVzeXNfRGJtc0Nvbm5lY3Rpb24gV0hFUkUgREJNUz0nIiAm +IG1fREJNU05BTUUgJiAiJykgU0VUIGRibXNVc2VyID0gJyIgJiBtX0RCVVNFUiAm +ICInIiAnIHRoYW5rcyB0byBNU0ZUIChodHRwczovL3N1cHBvcnQub2ZmaWNlLmNv +bS9lbi11cy9hcnRpY2xlL2FjY2Vzcy1lcnJvci1xdWVyeS1pcy1jb3JydXB0LWZh +ZDIwNWE1LTlmZDQtNDlmMS1iZTgzLWYyMTYzNmNhZWRlYykNCiAgICAgIFNhdmVV +c2VyTmFtZVRvQ29uZmlnRmlsZSBtX0RCVVNFUg0KICAgRW5kIElmDQoNCiAgIFNl +dCBtX0xvZ2luRm9ybSA9IE5vdGhpbmcNCg0KRW5kIFN1Yg0KDQojRW5kIElmDQoN +ClByaXZhdGUgU3ViIFNldENvbm5lY3Rpb25TdHJpbmdzKE9wdGlvbmFsIEJ5VmFs +IGJXaXRoQ29ubmVjdGlvbkNoZWNrIEFzIEJvb2xlYW4gPSBUcnVlKQ0KDQogICBE +aW0gbXlDb25uZWN0aW9uU3RyaW5ncyBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MN +CiAgIERpbSBFcnJNc2cgQXMgU3RyaW5nDQoNCiAgIElmIE5vdCBtX0RibXNJbmZv +UmVhZGVkIFRoZW4NCiAgICAgIExvYWRDb25uZWN0aW9uRGF0YQ0KICAgICAgSWYg +bV9Mb2dpbkNhbmNlbGxlZCBPciAoKExlbihtX0RCU0VSVkVSKSArIExlbihtX0RC +TkFNRSkpID0gMCkgVGhlbg0KICAgICAgICAgRXhpdCBTdWINCiAgICAgIEVuZCBJ +Zg0KICAgRWxzZUlmIG1fTG9naW5DYW5jZWxsZWQgVGhlbg0KICAgICAgRXhpdCBT +dWINCiAgIEVuZCBJZg0KICAgDQogICBJZiBtX0NPTk5FQ1RJT05NT0RFID0gRGJt +c0Nvbm5lY3Rpb25Nb2Rlcy5EQk1TX1VTRVJERUYgVGhlbg0KICAgICAgJ3VzZXIt +ZGVmaW5lZCBzdHJpbmcgPT4gbm8gZGV0ZXJtaW5hdGlvbiB2aWEgZGJtcyBjbGFz +cyByZXF1aXJlZA0KICAgICAgRXhpdCBTdWINCiAgIEVuZCBJZg0KICAgDQogICBt +eUNvbm5lY3Rpb25TdHJpbmdzID0gTWUuQ29ubmVjdGlvblN0cmluZ3MNCg0KICAg +bV9PbGVkYkNvbm5lY3Rpb25TdHJpbmcgPSBteUNvbm5lY3Rpb25TdHJpbmdzLk9s +ZWRiQ29ubmVjdGlvblN0cmluZw0KICAgbV9PZGJjQ29ubmVjdGlvblN0cmluZyA9 +IG15Q29ubmVjdGlvblN0cmluZ3MuT2RiY0Nvbm5lY3Rpb25TdHJpbmcNCiAgIG1f +RGF0YWJhc2VGaWxlID0gbXlDb25uZWN0aW9uU3RyaW5ncy5EYXRhYmFzZUZpbGUN +CiAgIA0KICAgSWYgYldpdGhDb25uZWN0aW9uQ2hlY2sgVGhlbg0KICAgSWYgQ2hl +Y2tDb25uZWN0aW9uKEVyck1zZykgPSBGYWxzZSBUaGVuDQogICAgICBJZiBMZW4o +RXJyTXNnKSA+IDAgVGhlbiBFcnJNc2cgPSB2Yk5ld0xpbmUgJiB2Yk5ld0xpbmUg +JiBFcnJNc2cNCiAgICAgIE1zZ0JveCAiQ29ubmVjdGlvbiBjb3VsZCBub3QgYmUg +ZXN0YWJsaXNoZWQiICYgRXJyTXNnLCB2YkV4Y2xhbWF0aW9uDQogICAgICBDbGVh +ckNvbm5lY3Rpb25JbmZvDQogICBFbmQgSWYNCiAgIEVuZCBJZg0KDQpFbmQgU3Vi +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +UHJvcGVydHk6IERiVXNlcg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KJyBOYW1lIGRlcyBEYXRlbmJhbmtiZW51dHplcnMNCicN +CicgUGFyYW1ldGVyczoNCicgICAgIFdpdGhvdXRTZXJ2ZXJDaGVjayAgIC0gIFRy +dWUgPSBEbyBub3QgY2hlY2sgd2hldGhlciBjb25uZWN0aW9uIGRhdGEgaGFzIGFs +cmVhZHkgYmVlbiByZWFkIGluLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBEYlVzZXIoT3B0 +aW9uYWwgQnlWYWwgV2l0aG91dFNlcnZlckNoZWNrIEFzIEJvb2xlYW4gPSBGYWxz +ZSkgQXMgU3RyaW5nDQoNCiAgIElmIE5vdCBXaXRob3V0U2VydmVyQ2hlY2sgVGhl +bg0KICAgSWYgTm90IG1fRGJtc0luZm9SZWFkZWQgVGhlbg0KICAgICAgU2V0Q29u +bmVjdGlvblN0cmluZ3MNCiAgIEVuZCBJZg0KICAgRW5kIElmDQogICANCiAgIElm +IG1fVFJVU1RFRENPTk5FQ1RJT04gVGhlbg0KICAgICAgRGJVc2VyID0gR2V0RGJV +c2VyTmFtZQ0KICAgRWxzZQ0KICAgICAgRGJVc2VyID0gbV9EQlVTRVINCiAgIEVu +ZCBJZg0KDQpFbmQgUHJvcGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogRGJVc2VyUGFzc3dvcmQNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgUGFz +c3dvcmQgb2YgdGhlIGRhdGFiYXNlIHVzZXINCicNCicgUmVtYXJrczoNCicgICAg +IFRoZSBwYXNzd29yZCBzaG91bGQgbm9ybWFsbHkgbmV2ZXIgbmVlZCB0byBiZSBy +ZXF1ZXN0ZWQgYW5kIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHNoYXJpbmcgd2l0 +aGluIHRoZSBjbGFzcyBzdHJ1Y3R1cmUuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQcml2YXRlIFByb3BlcnR5IEdldCBEYlVz +ZXJQYXNzd29yZCgpIEFzIFN0cmluZw0KDQogICBJZiBOb3QgbV9EYm1zSW5mb1Jl +YWRlZCBUaGVuDQogICAgICBTZXRDb25uZWN0aW9uU3RyaW5ncw0KICAgRW5kIElm +DQogICBEYlVzZXJQYXNzd29yZCA9IG1fREJVU0VSUFdEDQogDQpFbmQgUHJvcGVy +dHkNCg0KRnJpZW5kIFByb3BlcnR5IExldCBEYlVzZXJQYXNzd29yZChCeVZhbCBO +ZXdWYWx1ZSBBcyBTdHJpbmcpDQoNCiAgIG1fREJVU0VSUFdEID0gTmV3VmFsdWUN +CiANCkVuZCBQcm9wZXJ0eQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonIFByb3BlcnR5OiBTYXZlUGFzc3dvcmQNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgU2V0dGluZyBm +cm9tIHRoZSBjb25uZWN0aW9uIHBhcmFtZXRlcnMgd2hldGhlciBwYXNzd29yZCBz +aG91bGQgYmUgc2F2ZWQgZm9yIGxpbmtlZCB0YWJsZXMNCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBH +ZXQgU2F2ZVBhc3N3b3JkKCkgQXMgQm9vbGVhbg0KDQogICBJZiBOb3QgbV9EYm1z +SW5mb1JlYWRlZCBUaGVuDQogICAgICBTZXRDb25uZWN0aW9uU3RyaW5ncw0KICAg +RW5kIElmDQogICBTYXZlUGFzc3dvcmQgPSBtX1NBVkVQV0QNCg0KRW5kIFByb3Bl +cnR5DQoNCicjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMNCicNCicgR3JvdXA6IERCTVMgQ29ubmVjdGlvbg0KJw0KDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFByb3Bl +cnR5OiBDb25uZWN0aW9uU3RyaW5ncw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBPREJDIGFuZCBPTEVEQiBDb25uZWN0aW9u +c3RyaW5nDQonDQonIFJldHVybnM6DQonICAgICA8ZGF0YS5kZWZEYkNvbm5lY3Rp +b246OkRibXNDb25uZWN0aW9uU3RyaW5ncz4NCicNCicgUmVtYXJrczoNCicgICAg +IFRoaXMgcHJvY2VkdXJlIG11c3QgYmUgZXh0ZW5kZWQgaWYgb3RoZXIgREJNU3Mg +KHN1Y2ggYXMgT3JhY2xlKSBhcmUgdG8gYmUgdXNlZC4NCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZyaWVuZCBQcm9wZXJ0eSBH +ZXQgQ29ubmVjdGlvblN0cmluZ3MoKSBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MN +Cg0KICAgSWYgbV9EYm1zSW5mb1JlYWRlZCA9IEZhbHNlIFRoZW4NCiAgICAgIExv +YWRDb25uZWN0aW9uRGF0YQ0KICAgRW5kIElmDQoNCiAgIFNlbGVjdCBDYXNlIG1f +REJNU05BTUUNCiAgICAgIENhc2UgbV9EQk1TTkFNRV9NU1NRTA0KICAgICAgICAg +Q29ubmVjdGlvblN0cmluZ3MgPSBDb25uZWN0aW9uU3RyaW5nc19NU1NRTA0KICAg +ICAgQ2FzZSBtX0RCTVNOQU1FX01TSkVUDQogICAgICAgICBDb25uZWN0aW9uU3Ry +aW5ncyA9IENvbm5lY3Rpb25TdHJpbmdzX01TSkVUDQogICAgICBDYXNlIG1fREJN +U05BTUVfTVlTUUwNCiAgICAgICAgIENvbm5lY3Rpb25TdHJpbmdzID0gQ29ubmVj +dGlvblN0cmluZ3NfTXlTUUwNCiAgICAgIENhc2UgbV9EQk1TTkFNRV9PUkFDTEUN +CiAgICAgICAgIENvbm5lY3Rpb25TdHJpbmdzID0gQ29ubmVjdGlvblN0cmluZ3Nf +T1JBQ0xFDQogICAgICBDYXNlIG1fREJNU05BTUVfT0RCQw0KICAgICAgICAgQ29u +bmVjdGlvblN0cmluZ3MgPSBDb25uZWN0aW9uU3RyaW5nc19PREJDDQogICAgICBD +YXNlIEVsc2UNCiAgICAgICAgIEVyci5SYWlzZSBEYkNvbm5lY3Rpb25JbmZvRXJy +b3JOdW1iZXJzLkVSUk5SX05PREJNUywgIkNvbm5lY3Rpb25TdHJpbmdzIiwgIkNv +bm5lY3Rpb24gc3RyaW5ncyBjYW5ub3QgYmUgY3JlYXRlZCBmb3IgJyIgJiBtX0RC +TVNOQU1FICYgIicuIChTZWxlY3Rpb24gbm90IHBvc3NpYmxlLikiDQogICBFbmQg +U2VsZWN0DQoNCkVuZCBQcm9wZXJ0eQ0KDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IE9sZWRiQ29ubmVjdGlv +blN0cmluZw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJw0KJyBPbGVkYkNvbm5lY3Rpb25TdHJpbmcNCicNCicgUmV0dXJuczoNCicg +ICAgIFN0cmluZw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KRnJpZW5kIFByb3BlcnR5IEdldCBPbGVkYkNvbm5lY3Rpb25TdHJp +bmcoKSBBcyBTdHJpbmcNCg0KICAgSWYgTGVuKG1fT2xlZGJDb25uZWN0aW9uU3Ry +aW5nKSA9IDAgVGhlbg0KICAgICAgU2V0Q29ubmVjdGlvblN0cmluZ3MNCiAgIEVu +ZCBJZg0KICAgT2xlZGJDb25uZWN0aW9uU3RyaW5nID0gbV9PbGVkYkNvbm5lY3Rp +b25TdHJpbmcNCiAgIA0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IE9kYmNDb25uZWN0 +aW9uU3RyaW5nDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIE9kYmNDb25uZWN0aW9uU3RyaW5nDQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBXaXRob3V0VXNlckluZm8gLSBGYWxzZSA9IHVzZXIgSUQgaW5jbC4g +cGFzc3dvcmQgaXMgY29udGFpbmVkIGluIHRoZSBPREJDIGNvbm5lY3Rpb24gc3Ry +aW5nLA0KJyAgICAgICAgICAgICAgICAgICAgICAgVHJ1ZSA9IHdpdGhvdXQgdXNl +ciBkYXRhDQonDQonIFJldHVybnM6DQonICAgICBTdHJpbmcNCicNCicgUmVtYXJr +czoNCicgICAgIFNldHRpbmcgdGhlIHBhcmFtZXRlciBXaXRob3V0VXNlckluZm8g +aXMgbm9ybWFsbHkgbm90IG5lY2Vzc2FyeSwNCicgICAgIGJ1dCBjYW4gYmUgaGVs +cGZ1bCBpZiB0aGUgT0RCQyBjb25uZWN0aW9uIHN0cmluZyBpcyByZXF1aXJlZCB3 +aXRob3V0IGEgcGFzc3dvcmQuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpGcmllbmQgUHJvcGVydHkgR2V0IE9kYmNDb25uZWN0 +aW9uU3RyaW5nKE9wdGlvbmFsIEJ5VmFsIFdpdGhvdXRVc2VySW5mbyBBcyBCb29s +ZWFuID0gRmFsc2UpIEFzIFN0cmluZw0KDQogICBJZiBMZW4obV9PZGJjQ29ubmVj +dGlvblN0cmluZykgPSAwIFRoZW4NCiAgICAgIFNldENvbm5lY3Rpb25TdHJpbmdz +DQogICBFbmQgSWYNCiAgIElmIFdpdGhvdXRVc2VySW5mbyBUaGVuDQogICAgICBP +ZGJjQ29ubmVjdGlvblN0cmluZyA9IFJlcGxhY2UobV9PZGJjQ29ubmVjdGlvblN0 +cmluZywgR2V0T2RiY1VzZXJJbmZvKCksICIiKQ0KICAgRWxzZQ0KICAgICAgT2Ri +Y0Nvbm5lY3Rpb25TdHJpbmcgPSBtX09kYmNDb25uZWN0aW9uU3RyaW5nDQogICBF +bmQgSWYNCg0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IENoZWNrQ29ubmVjdGlvbg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBD +aGVjayBjb25uZWN0aW9uIHRvIHNlcnZlciBhbmQgZGF0YWJhc2UNCicNCicgUGFy +YW1ldGVyczoNCicgICAgIEVyck1zZyAgICAgIC0gRXJyb3IgbWVzc2FnZSBmcm9t +IEFET0RCIG9yIE9EQkMgY29ubmVjdGlvbg0KJw0KJyBSZXR1cm5zOg0KJyAgICAg +Qm9vbGVhbiAgICAgLSBUcnVlID0gQWRvLSBhbmQgT0RCQy1jb25uZWN0aW9uIGNv +dWxkIGJlIGVzdGFibGlzaGVkDQonDQonIFJlbWFya3M6DQonICAgICBUaGUgZmly +c3QgdGVzdCBpcyB0byBlc3RhYmxpc2ggdGhlIEFETyBjb25uZWN0aW9uLg0KJyAg +ICAgQXMgc29vbiBhcyB0aGlzIGlzIHN1Y2Nlc3NmdWwsIHRoZSBPREJDIGNvbm5l +Y3Rpb24gaXMgdGVzdGVkLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIENoZWNrQ29ubmVjdGlvbihP +cHRpb25hbCBCeVJlZiBFcnJNc2cgQXMgU3RyaW5nID0gdmJOdWxsU3RyaW5nKSBB +cyBCb29sZWFuDQogICANCiAgIERpbSBjaGVja09rIEFzIEJvb2xlYW4NCg0KICAg +Y2hlY2tPayA9IENoZWNrQWRvQ29ubmVjdGlvbihPbGVkYkNvbm5lY3Rpb25TdHJp +bmcsIEVyck1zZykNCiAgIElmIGNoZWNrT2sgVGhlbiAnIHRlc3QgT0RCQyB0ZXN0 +ZW4gKGlmIEFETyBjb25uZWN0aW9uIGRvbid0IGZhaWxlZCkNCiAgICAgIElmIG1f +REJNU05BTUUgPD4gIk1TSkVUIiBUaGVuDQogICAgICAgICBjaGVja09rID0gY2hl +Y2tPayBBbmQgQ2hlY2tPZGJjQ29ubmVjdGlvbihPZGJjQ29ubmVjdGlvblN0cmlu +ZywgRXJyTXNnKQ0KICAgICAgRW5kIElmDQogICBFbmQgSWYNCiAgIA0KICAgQ2hl +Y2tDb25uZWN0aW9uID0gY2hlY2tPaw0KDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0 +ZSBGdW5jdGlvbiBDaGVja0Fkb0Nvbm5lY3Rpb24oQnlWYWwgc09sZURiQ29ubmVj +dGlvbnN0cmluZyBBcyBTdHJpbmcsIEJ5UmVmIE1zZyBBcyBTdHJpbmcpIEFzIEJv +b2xlYW4NCg0KICAgRGltIGNubiBBcyBPYmplY3QgJ0FET0RCLkNvbm5lY3Rpb24N +CiAgIERpbSBpIEFzIExvbmcNCg0KICAgSWYgTGVuKHNPbGVEYkNvbm5lY3Rpb25z +dHJpbmcpID0gMCBUaGVuDQogICAgICBDaGVja0Fkb0Nvbm5lY3Rpb24gPSBGYWxz +ZQ0KICAgICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIFNldCBj +bm4gPSBDcmVhdGVPYmplY3QoIkFET0RCLkNvbm5lY3Rpb24iKQ0KICAgV2l0aCBj +bm4NCiAgICAgIC5Db25uZWN0aW9uU3RyaW5nID0gc09sZURiQ29ubmVjdGlvbnN0 +cmluZw0KICAgICAgLkNvbm5lY3Rpb25UaW1lb3V0ID0gbV9DaGVja0Nvbm5lY3Rp +b25UaW1lb3V0U2Vjb25kcw0KICAgICAgDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0K +ICAgICAgLk9wZW4NCiAgICAgIElmIEVyci5OdW1iZXIgPD4gMCBUaGVuDQogICAg +ICAgICBNc2cgPSBNc2cgJiAiVXJzYWNoZSAoT0xFREIpOiINCiAgICAgICAgIEZv +ciBpID0gMCBUbyBjbm4uRXJyb3JzLkNvdW50IC0gMQ0KICAgICAgICAgICAgTXNn +ID0gTXNnICYgdmJOZXdMaW5lICYgY25uLkVycm9ycyhpKS5EZXNjcmlwdGlvbg0K +ICAgICAgICAgTmV4dA0KICAgICAgICAgY25uLkVycm9ycy5DbGVhcg0KICAgICAg +ICAgRXJyLkNsZWFyDQogICAgICAgICBDaGVja0Fkb0Nvbm5lY3Rpb24gPSBGYWxz +ZQ0KICAgICAgICAgRXhpdCBGdW5jdGlvbg0KICAgICAgRW5kIElmDQogICAgICAN +CiAgICAgIElmIC5TdGF0ZSA9IGFkU3RhdGVPcGVuIFRoZW4NCiAgICAgICAgIC5D +bG9zZQ0KICAgICAgICAgQ2hlY2tBZG9Db25uZWN0aW9uID0gVHJ1ZQ0KICAgICAg +RWxzZQ0KICAgICAgICAgQ2hlY2tBZG9Db25uZWN0aW9uID0gRmFsc2UNCiAgICAg +IEVuZCBJZg0KICAgRW5kIFdpdGgNCiAgIFNldCBjbm4gPSBOb3RoaW5nDQoNCkVu +ZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0aW9uIENoZWNrT2RiY0Nvbm5lY3Rp +b24oQnlWYWwgc09kYmNDb25uZWN0aW9uc3RyaW5nIEFzIFN0cmluZywgQnlSZWYg +TXNnIEFzIFN0cmluZykgQXMgQm9vbGVhbg0KDQogICBEaW0gZGIgQXMgREFPLkRh +dGFiYXNlDQogICBEaW0gY2hlY2tPayBBcyBCb29sZWFuDQogICBEaW0gaSBBcyBM +b25nDQoNCiAgIElmIExlbihzT2RiY0Nvbm5lY3Rpb25zdHJpbmcpID0gMCBUaGVu +DQogICAgICBDaGVja09kYmNDb25uZWN0aW9uID0gRmFsc2UNCiAgICAgIEV4aXQg +RnVuY3Rpb24NCiAgIEVuZCBJZg0KICAgDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0K +DQogICBTZXQgZGIgPSBEQkVuZ2luZS5PcGVuRGF0YWJhc2UoIiIsIGRiRHJpdmVy +Q29tcGxldGUsIFRydWUsIHNPZGJjQ29ubmVjdGlvbnN0cmluZykNCiAgIElmIEVy +ci5OdW1iZXIgPD4gMCBUaGVuDQogICAgICBNc2cgPSBNc2cgJiAiVXJzYWNoZSAo +T0RCQyk6Ig0KICAgICAgRm9yIGkgPSAwIFRvIERCRW5naW5lLkVycm9ycy5Db3Vu +dCAtIDENCiAgICAgICAgIE1zZyA9IE1zZyAmIHZiTmV3TGluZSAmIERCRW5naW5l +LkVycm9ycyhpKS5EZXNjcmlwdGlvbg0KICAgICAgTmV4dA0KICAgICAgRXJyLkNs +ZWFyDQogICAgICBjaGVja09rID0gRmFsc2UNCiAgIEVsc2UNCiAgICAgIGNoZWNr +T2sgPSBUcnVlDQogICAgICBkYi5DbG9zZQ0KICAgRW5kIElmDQogICBTZXQgZGIg +PSBOb3RoaW5nDQogICANCiAgIENoZWNrT2RiY0Nvbm5lY3Rpb24gPSBjaGVja09r +DQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonIFN1YjogQ2xlYXJDb25uZWN0aW9uSW5mbw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBEZWxldGUg +c2V0IGNvbm5lY3Rpb24gcGFyYW1ldGVycw0KJw0KJyBSZW1hcmtzOg0KJyAgICAg +UmVxdWlyZXMgcmUtcmVhZGluZyBmcm9tIHRhYmxlIHdoZW4gY29ubmVjdGlvbiBk +YXRhIGlzIHJlcXVlc3RlZC4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NClB1YmxpYyBTdWIgQ2xlYXJDb25uZWN0aW9uSW5mbygp +DQoNCiAgIERpbSBib2xSYWlzZUV2ZW50IEFzIEJvb2xlYW4NCg0KT24gRXJyb3Ig +UmVzdW1lIE5leHQNCg0KICAgYm9sUmFpc2VFdmVudCA9IChMZW4obV9EQk1TTkFN +RSAmIG1fT2xlZGJDb25uZWN0aW9uU3RyaW5nICYgbV9PZGJjQ29ubmVjdGlvblN0 +cmluZykgPiAwKQ0KICAgDQogICBtX0RCTVNOQU1FID0gdmJOdWxsU3RyaW5nDQog +ICBtX09sZWRiQ29ubmVjdGlvblN0cmluZyA9IHZiTnVsbFN0cmluZw0KICAgbV9P +ZGJjQ29ubmVjdGlvblN0cmluZyA9IHZiTnVsbFN0cmluZw0KICAgbV9EYXRhYmFz +ZUZpbGUgPSB2Yk51bGxTdHJpbmcNCiAgIG1fREJPTEVEQlBST1ZJREVSID0gdmJO +dWxsU3RyaW5nDQogICBtX0RCT0RCQ0RSSVZFUiA9IHZiTnVsbFN0cmluZw0KICAg +bV9EQlNFUlZFUiA9IHZiTnVsbFN0cmluZw0KICAgbV9QT1JUID0gdmJOdWxsU3Ry +aW5nDQogICBtX0RCTkFNRSA9IHZiTnVsbFN0cmluZw0KICAgbV9EQlVTRVIgPSB2 +Yk51bGxTdHJpbmcNCiAgIG1fREJVU0VSUFdEID0gdmJOdWxsU3RyaW5nDQogICBt +X0RCT1BUSU9OU19PREJDID0gdmJOdWxsU3RyaW5nDQogICBtX0RCT1BUSU9OU19P +TEVEQiA9IHZiTnVsbFN0cmluZw0KICAgbV9UUlVTVEVEQ09OTkVDVElPTiA9IEZh +bHNlDQogICBtX1VzZUxvZ2luRm9ybSA9IEZhbHNlDQogICBtX0xvZ2luQ2FuY2Vs +bGVkID0gRmFsc2UNCiAgIG1fRGJtc0luZm9SZWFkZWQgPSBGYWxzZQ0KICAgDQog +ICBJZiBib2xSYWlzZUV2ZW50IFRoZW4NCiAgICAgIFJhaXNlRXZlbnQgRGJtc0Nv +bm5lY3Rpb25JbmZvQ2xlYXJlZA0KICAgRW5kIElmDQogICANCkVuZCBTdWINCg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5j +dGlvbjogQ2hhbmdlRGJVc2VyUGFzc3dvcmQNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRGF0ZW5iYW5rcGFzc3dvcnQgZGVz +IEJlbnV0emVycyDkbmRlcm4NCicNCicgUGFyYW1ldGVyczoNCicgICAgIE5ld1Bh +c3N3b3JkIC0gTmV3IHBhc3N3b3J0DQonICAgICBPbGRQYXNzd29yZCAtIG9sZCBw +YXNzd29ydA0KJyAgICAgTG9naW5OYW1lICAgLSBMb2dpbiBuYW1lIChJZiBubyBs +b2dpbiBuYW1lIGlzIHBhc3NlZCwgdGhlIGN1cnJlbnQgbG9naW4gbmFtZSBpcyB1 +c2VkKS4NCicgICAgIE1zZyAgICAgICAgIC0gQnlSZWYgcGFyYW1ldGVyIHRvIHJl +dHVybiBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZSBwYXNzd29yZCBjb3VsZCBub3Qg +YmUgY2hhbmdlZA0KJw0KJyBSZXR1cm5zOg0KJyAgICAgQm9vbGVhbiAgICAgLSBU +cnVlID0gUGFzc3dvcmQgaGFzIGJlZW4gY2hhbmdlZA0KJw0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIENo +YW5nZURiVXNlclBhc3N3b3JkKCBfDQogICAgICAgICAgICAgICBCeVZhbCBOZXdQ +YXNzd29yZCBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgIEJ5VmFsIE9sZFBh +c3N3b3JkIEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlW +YWwgTG9naW5OYW1lIEFzIFN0cmluZyA9IHZiTnVsbFN0cmluZywgXw0KICAgICAg +ICAgICAgICAgT3B0aW9uYWwgQnlSZWYgTXNnIEFzIFN0cmluZykgQXMgQm9vbGVh +bg0KICAgDQogICBEaW0gYm9sUHdkQ2hhbmdlZCBBcyBCb29sZWFuDQogICBEaW0g +c3RyU1FMIEFzIFN0cmluZw0KICAgRGltIHN0ckxvZ2luTmFtZSBBcyBTdHJpbmcN +CiAgIERpbSBjbm4gQXMgQURPREIuQ29ubmVjdGlvbg0KDQogICBTZXQgY25uID0g +TmV3IEFET0RCLkNvbm5lY3Rpb24NCiAgIGNubi5PcGVuIE9sZWRiQ29ubmVjdGlv +blN0cmluZw0KICAgDQogICBJZiBMZW4oTG9naW5OYW1lKSA+IDAgVGhlbg0KICAg +ICAgc3RyTG9naW5OYW1lID0gTG9naW5OYW1lDQogICBFbHNlDQogICAgICBzdHJM +b2dpbk5hbWUgPSBtX0RCVVNFUg0KICAgRW5kIElmDQoNCiAgIHN0clNRTCA9ICJB +TFRFUiBMT0dJTiAiICYgc3RyTG9naW5OYW1lICYgIiBXSVRIIFBBU1NXT1JEID0g +JyIgJiBOZXdQYXNzd29yZCAmICInIg0KICAgDQogICBJZiBMZW4oT2xkUGFzc3dv +cmQpID4gMCBUaGVuDQogICAgICBzdHJTUUwgPSBzdHJTUUwgJiAiIE9MRF9QQVNT +V09SRCA9ICciICYgT2xkUGFzc3dvcmQgJiAiJyINCiAgIEVuZCBJZg0KICAgDQog +ICBPbiBFcnJvciBSZXN1bWUgTmV4dA0KICAgV2l0aCBjbm4NCiAgICAgIC5FcnJv +cnMuQ2xlYXINCiAgICAgIC5FeGVjdXRlIHN0clNRTA0KICAgICAgSWYgLkVycm9y +cy5Db3VudCA+IDAgVGhlbg0KICAgICAgICAgYm9sUHdkQ2hhbmdlZCA9IEZhbHNl +DQogICAgICAgICBNc2cgPSAuRXJyb3JzKDApLkRlc2NyaXB0aW9uDQogICAgICAg +ICAuRXJyb3JzLkNsZWFyDQogICAgICBFbHNlDQogICAgICAgICBib2xQd2RDaGFu +Z2VkID0gVHJ1ZQ0KICAgICAgRW5kIElmDQogICAgICAuQ2xvc2UNCiAgIEVuZCBX +aXRoDQogICBTZXQgY25uID0gTm90aGluZw0KICAgDQogICBJZiBib2xQd2RDaGFu +Z2VkIFRoZW4NCiAgIA0KICAgICAgSWYgc3RyTG9naW5OYW1lID0gbV9EQlVTRVIg +VGhlbg0KICAgICAgICAgbV9EQlVTRVJQV0QgPSBOZXdQYXNzd29yZA0KICAgICAg +ICAgU2V0Q29ubmVjdGlvblN0cmluZ3MNCiAgICAgICAgIFJhaXNlRXZlbnQgUGFz +c3dvcmRDaGFuZ2VkDQogICAgICBFbmQgSWYNCiAgICAgIA0KICAgRW5kIElmDQog +ICANCiAgIENoYW5nZURiVXNlclBhc3N3b3JkID0gYm9sUHdkQ2hhbmdlZA0KDQpF +bmQgRnVuY3Rpb24NCg0KJyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +Iw0KJw0KJyBHcm91cDogRE1CUyBzcGVjaWZpYw0KJw0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFByb3BlcnR5OiBQZXJtYW5l +bnRCYWNrZW5kUnN0U3FsVGV4dA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJw0KJyBTZWxlY3Qgc3RhdGVtZW50IGZvciBPREJDIHJl +Y29yZHNldCBjb25uZWN0aW9uIHRvIG1haW50YWluIGNvbm5lY3Rpb24NCicNCicg +UmVtYXJrczoNCicgICAgIFRoaXMgcHJvY2VkdXJlIG11c3QgYmUgZXh0ZW5kZWQg +aWYgb3RoZXIgREJNU3MgKHN1Y2ggYXMgT3JhY2xlKSBhcmUgdG8gYmUgdXNlZC4N +CicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1 +YmxpYyBQcm9wZXJ0eSBHZXQgUGVybWFuZW50QmFja2VuZFJzdFNxbFRleHQoKSBB +cyBTdHJpbmcNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQogICBQZXJtYW5lbnRCYWNr +ZW5kUnN0U3FsVGV4dCA9ICJzZWxlY3QgMSINCkVuZCBQcm9wZXJ0eQ0KDQpQcml2 +YXRlIEZ1bmN0aW9uIEdldERiVXNlck5hbWUoKSBBcyBTdHJpbmcNCg0KICAgRGlt +IGNubiBBcyBBRE9EQi5Db25uZWN0aW9uDQogICBEaW0gcnN0IEFzIEFET0RCLlJl +Y29yZHNldA0KICAgRGltIHN0clNRTCBBcyBTdHJpbmcNCg0KICAgU2V0IGNubiA9 +IE5ldyBBRE9EQi5Db25uZWN0aW9uDQogICBjbm4uT3BlbiBNZS5PbGVkYkNvbm5l +Y3Rpb25TdHJpbmcNCg0KICAgU2VsZWN0IENhc2UgbV9EQk1TTkFNRQ0KICAgICAg +Q2FzZSBtX0RCTVNOQU1FX01TU1FMDQogICAgICAgICBzdHJTUUwgPSAic2VsZWN0 +IGN1cnJlbnRfdXNlciINCiAgICAgIENhc2UgbV9EQk1TTkFNRV9NWVNRTA0KICAg +ICAgICAgc3RyU1FMID0gInNlbGVjdCBjdXJyZW50X3VzZXIiDQogICAgICBDYXNl +IG1fREJNU05BTUVfT1JBQ0xFDQogICAgICAgICBzdHJTUUwgPSAic2VsZWN0IHVz +ZXIgZnJvbSBkdWFsIg0KICAgICAgQ2FzZSBFbHNlDQogICAgICAgICBPbiBFcnJv +ciBHb1RvIDANCiAgICAgICAgIEVyci5SYWlzZSBEYkNvbm5lY3Rpb25JbmZvRXJy +b3JOdW1iZXJzLkVSUk5SX05PREJNUywgIkRiQ29ubmVjdGlvbkluZm8uRGJVc2Vy +TmFtZSIsICJGb3IgJyIgJiBtX0RCTVNOQU1FICYgIicgdGhlIFVzZXJOYW1lIGNh +bm5vdCBiZSBkZXRlcm1pbmVkLiAoU2VsZWN0aW9uIG5vdCBwb3NzaWJsZS4pIg0K +ICAgRW5kIFNlbGVjdA0KICAgDQogICBTZXQgcnN0ID0gY25uLkV4ZWN1dGUoc3Ry +U1FMKQ0KICAgDQogICBHZXREYlVzZXJOYW1lID0gTnoocnN0LkZpZWxkcygwKSwg +Ik4vQSIpDQogICByc3QuQ2xvc2UNCiAgIGNubi5DbG9zZQ0KDQpFbmQgRnVuY3Rp +b24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBHZXRPZGJjVXNlckluZm8oT3B0aW9uYWwg +QnlWYWwgc1VJRCBBcyBTdHJpbmcgPSB2Yk51bGxTdHJpbmcsIF8NCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIHNQV0QgQXMg +U3RyaW5nID0gdmJOdWxsU3RyaW5nKSBBcyBTdHJpbmcNCiAgIA0KICAgSWYgTGVu +KHNVSUQpID0gMCBUaGVuDQogICAgICBJZiBtX0RibXNJbmZvUmVhZGVkID0gRmFs +c2UgVGhlbg0KICAgICAgICAgTG9hZENvbm5lY3Rpb25EYXRhDQogICAgICBFbmQg +SWYNCiAgICAgIHNVSUQgPSBtX0RCVVNFUg0KICAgICAgc1BXRCA9IG1fREJVU0VS +UFdEDQogICBFbmQgSWYNCiAgIA0KICAgU2VsZWN0IENhc2UgbV9EQk1TTkFNRQ0K +ICAgICAgQ2FzZSBtX0RCTVNOQU1FX01TU1FMDQogICAgICAgICBHZXRPZGJjVXNl +ckluZm8gPSBnZXRPZGJjVXNlckluZm9fTVNTUUwoc1VJRCwgc1BXRCkNCiAgICAg +IENhc2UgbV9EQk1TTkFNRV9NWVNRTA0KICAgICAgICAgR2V0T2RiY1VzZXJJbmZv +ID0gZ2V0T2RiY1VzZXJJbmZvX015U1FMKHNVSUQsIHNQV0QpDQogICAgICBDYXNl +IG1fREJNU05BTUVfT1JBQ0xFDQogICAgICAgICBHZXRPZGJjVXNlckluZm8gPSBn +ZXRPZGJjVXNlckluZm9fT1JBQ0xFKHNVSUQsIHNQV0QpDQogICAgICBDYXNlIEVs +c2UNCiAgICAgICAgIE9uIEVycm9yIEdvVG8gMA0KICAgICAgICAgRXJyLlJhaXNl +IERiQ29ubmVjdGlvbkluZm9FcnJvck51bWJlcnMuRVJSTlJfTk9EQk1TLCAiRGJD +b25uZWN0aW9uSW5mby5nZXRPZGJjVXNlckluZm8iLCAiTm8gT2RiY1VzZXJJbmZv +IGNhbiBiZSBjcmVhdGVkIGZvciAnIiAmIG1fREJNU05BTUUgJiAiJy4gKFNlbGVj +dGlvbiBub3QgcG9zc2libGUuKSINCiAgIEVuZCBTZWxlY3QNCg0KRW5kIEZ1bmN0 +aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQ29ubmVjdGlvblN0cmluZ3NfTVNKRVQo +KSBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MNCg0KICAgRGltIHRlbXBDb25uZWN0 +aW9uU3RyaW5ncyBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MNCiAgIERpbSBzdHJP +REJDIEFzIFN0cmluZywgc3RyT0xFREIgQXMgU3RyaW5nDQogICBEaW0gc3RyRGJG +aWxlIEFzIFN0cmluZw0KDQogICBzdHJEYkZpbGUgPSBtX0RCTkFNRQ0KDQogICBJ +ZiBMZW4obV9EQk9QVElPTlNfT0xFREIpID4gMCBUaGVuDQogICAgICBzdHJPTEVE +QiA9IHN0ck9MRURCICYgIjsiICYgbV9EQk9QVElPTlNfT0xFREINCiAgIEVuZCBJ +Zg0KICAgSWYgTGVuKG1fREJPUFRJT05TX09EQkMpID4gMCBUaGVuDQogICAgICBz +dHJPREJDID0gc3RyT0RCQyAmICI7IiAmIG1fREJPUFRJT05TX09EQkMNCiAgIEVu +ZCBJZg0KDQogICBJZiBMZW4obV9EQk9MRURCUFJPVklERVIpID0gMCBUaGVuDQog +ICAgICBtX0RCT0xFREJQUk9WSURFUiA9IEN1cnJlbnRQcm9qZWN0LkNvbm5lY3Rp +b24uUHJvdmlkZXINCiAgIEVuZCBJZg0KDQogICBzdHJPTEVEQiA9ICJQcm92aWRl +cj0iICYgbV9EQk9MRURCUFJPVklERVIgJiAiO0RhdGEgU291cmNlPSIgJiBzdHJE +YkZpbGUgJiAiO01vZGU9U2hhcmUgRGVueSBOb25lOyIgJiBzdHJPTEVEQg0KDQog +ICBzdHJPREJDID0gIjtEQVRBQkFTRT0iICYgc3RyRGJGaWxlICYgc3RyT0RCQw0K +ICAgDQogICB0ZW1wQ29ubmVjdGlvblN0cmluZ3MuT2xlZGJDb25uZWN0aW9uU3Ry +aW5nID0gc3RyT0xFREINCiAgIHRlbXBDb25uZWN0aW9uU3RyaW5ncy5PZGJjQ29u +bmVjdGlvblN0cmluZyA9IHN0ck9EQkMNCiAgIHRlbXBDb25uZWN0aW9uU3RyaW5n +cy5EYXRhYmFzZUZpbGUgPSBzdHJEYkZpbGUNCiAgIA0KICAgQ29ubmVjdGlvblN0 +cmluZ3NfTVNKRVQgPSB0ZW1wQ29ubmVjdGlvblN0cmluZ3MNCg0KRW5kIEZ1bmN0 +aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQ29ubmVjdGlvblN0cmluZ3NfTVNTUUwo +KSBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MNCg0KICAgRGltIHRlbXBDb25uZWN0 +aW9uU3RyaW5ncyBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MNCiAgIERpbSBzdHJP +REJDIEFzIFN0cmluZywgc3RyT0xFREIgQXMgU3RyaW5nDQogICBEaW0gc3RyU3J2 +Q29uIEFzIFN0cmluZw0KDQogICBzdHJTcnZDb24gPSBtX0RCU0VSVkVSDQogICBJ +ZiBMZW4obV9QT1JUKSA+IDAgVGhlbg0KICAgICAgc3RyU3J2Q29uID0gc3RyU3J2 +Q29uICYgIiwiICYgbV9QT1JUDQogICBFbmQgSWYNCiAgIA0KICAgSWYgbV9UUlVT +VEVEQ09OTkVDVElPTiBUaGVuDQogICAgICBzdHJPREJDID0gIjtUcnVzdGVkX0Nv +bm5lY3Rpb249WWVzIg0KICAgICAgc3RyT0xFREIgPSAiO0ludGVncmF0ZWQgU2Vj +dXJpdHkgPSBTU1BJIg0KICAgRWxzZUlmIExlbihtX0RCVVNFUikgPiAwIFRoZW4g +J1ZlcmJpbmR1bmcgbWl0IFVzZXIgKyBQd2QNCiAgICAgIHN0ck9EQkMgPSAiO1Ry +dXN0ZWRfQ29ubmVjdGlvbj1ObzsiICYgZ2V0T2RiY1VzZXJJbmZvX01TU1FMKG1f +REJVU0VSLCBtX0RCVVNFUlBXRCkNCiAgICAgIHN0ck9MRURCID0gIjtVc2VyIElE +PSIgJiBtX0RCVVNFUiAmICI7UGFzc3dvcmQ9IiIiICYgbV9EQlVTRVJQV0QgJiAi +IiIiDQogICBFbmQgSWYNCg0KICAgSWYgTGVuKG1fREJPUFRJT05TX09MRURCKSA+ +IDAgVGhlbg0KICAgICAgc3RyT0xFREIgPSBzdHJPTEVEQiAmICI7IiAmIG1fREJP +UFRJT05TX09MRURCDQogICBFbmQgSWYNCiAgIElmIExlbihtX0RCT1BUSU9OU19P +REJDKSA+IDAgVGhlbg0KICAgICAgc3RyT0RCQyA9IHN0ck9EQkMgJiAiOyIgJiBt +X0RCT1BUSU9OU19PREJDDQogICBFbmQgSWYNCg0KICAgSWYgTGVuKG1fREJPTEVE +QlBST1ZJREVSKSA9IDAgVGhlbg0KICAgICAgbV9EQk9MRURCUFJPVklERVIgPSAi +U1FMT0xFREIiDQogICBFbmQgSWYNCg0KICAgc3RyT0xFREIgPSAiUHJvdmlkZXI9 +IiAmIG1fREJPTEVEQlBST1ZJREVSICYgIjtEYXRhIFNvdXJjZT0iICYgc3RyU3J2 +Q29uICYgIjtJbml0aWFsIENhdGFsb2c9IiAmIG1fREJOQU1FICYgc3RyT0xFREIN +CiAgICdzdHJPTEVEQiA9IEdldERhdGFQcm92aWRlck9sZWRiU3RyaW5nKHN0ck9M +RURCKQ0KDQogICBJZiBMZW4obV9EU04pID4gMCBUaGVuDQogICAgICBzdHJPREJD +ID0gIkRTTj0iICYgbV9EU04gJiBzdHJPREJDDQogICBFbHNlDQogICAgICBJZiBM +ZW4obV9EQk9EQkNEUklWRVIpID0gMCBUaGVuDQogICAgICAgIG1fREJPREJDRFJJ +VkVSID0gIlNRTCBTZXJ2ZXIiDQogICAgICBFbmQgSWYNCiAgICAgIHN0ck9EQkMg +PSAiRFJJVkVSPXsiICYgbV9EQk9EQkNEUklWRVIgJiAifTtEQVRBQkFTRT0iICYg +bV9EQk5BTUUgJiAiO1NFUlZFUj0iICYgc3RyU3J2Q29uICYgc3RyT0RCQw0KICAg +RW5kIElmDQogICANCiAgIHRlbXBDb25uZWN0aW9uU3RyaW5ncy5PbGVkYkNvbm5l +Y3Rpb25TdHJpbmcgPSBzdHJPTEVEQg0KICAgdGVtcENvbm5lY3Rpb25TdHJpbmdz +Lk9kYmNDb25uZWN0aW9uU3RyaW5nID0gIk9EQkM7IiAmIHN0ck9EQkMNCiAgIA0K +ICAgQ29ubmVjdGlvblN0cmluZ3NfTVNTUUwgPSB0ZW1wQ29ubmVjdGlvblN0cmlu +Z3MNCg0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gR2V0RGF0YVBy +b3ZpZGVyT2xlZGJTdHJpbmcoQnlWYWwgQmFzZU9sZWRiU3RyaW5nIEFzIFN0cmlu +ZykgQXMgU3RyaW5nDQonUHJvdmlkZXI9TWljcm9zb2Z0LkFjY2Vzcy5PTEVEQi4x +MC4wO0RhdGEgUHJvdmlkZXI9U1FMT0xFREINCiAgIA0KICAgR2V0RGF0YVByb3Zp +ZGVyT2xlZGJTdHJpbmcgPSBSZXBsYWNlKEJhc2VPbGVkYlN0cmluZywgIlByb3Zp +ZGVyPSIsICJQcm92aWRlcj1NaWNyb3NvZnQuQWNjZXNzLk9MRURCLjEwLjA7RGF0 +YSBQcm92aWRlcj0iKQ0KDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlv +biBnZXRPZGJjVXNlckluZm9fTVNTUUwoc1VJRCBBcyBTdHJpbmcsIHNQV0QgQXMg +U3RyaW5nKSBBcyBTdHJpbmcNCk9uIEVycm9yIEdvVG8gMA0KICAgZ2V0T2RiY1Vz +ZXJJbmZvX01TU1FMID0gIlVJRD0iICYgc1VJRCAmICI7UFdEPXsiICYgc1BXRCAm +ICJ9Ig0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQ29ubmVjdGlv +blN0cmluZ3NfTXlTUUwoKSBBcyBEYm1zQ29ubmVjdGlvblN0cmluZ3MNCg0KICAg +RGltIHRlbXBDb25uZWN0aW9uU3RyaW5ncyBBcyBEYm1zQ29ubmVjdGlvblN0cmlu +Z3MNCiAgIERpbSBzdHJPREJDIEFzIFN0cmluZw0KICAgRGltIHN0clNydkNvbiBB +cyBTdHJpbmcNCg0KICAgSWYgbV9UUlVTVEVEQ09OTkVDVElPTiBUaGVuICdIb3cg +d291bGQgdGhpcyB3b3JrIHdpdGggTXlTUUw/DQogICAgICBtX1RSVVNURURDT05O +RUNUSU9OID0gRmFsc2UNCiAgICAgIElmIFNldExvZ2luRGF0YSBUaGVuDQogICAg +ICAgICBzdHJPREJDID0gZ2V0T2RiY1VzZXJJbmZvX015U1FMKG1fREJVU0VSLCBt +X0RCVVNFUlBXRCkgJiAiOyINCiAgICAgIEVsc2UNCiAgICAgICAgIE9uIEVycm9y +IEdvVG8gMA0KICAgICAgICAgRXJyLlJhaXNlIEVSUk5SX0lOQUNUSVZFLCAiQ29u +bmVjdGlvblN0cmluZ3NfTXlTUUwiLCAiVGhlIFdpbmRvd3MgdXNlciB3YXMgbm90 +IHJlbGVhc2VkIGZvciB0aGUgZGF0YWJhc2UhIg0KICAgICAgRW5kIElmDQogICBF +bHNlICdWZXJiaW5kdW5nIG1pdCBVc2VyICsgUHdkDQogICAgICBzdHJPREJDID0g +Z2V0T2RiY1VzZXJJbmZvX015U1FMKG1fREJVU0VSLCBtX0RCVVNFUlBXRCkgJiAi +OyINCiAgIEVuZCBJZg0KDQogICBzdHJTcnZDb24gPSBtX0RCU0VSVkVSDQogICBJ +ZiBMZW4obV9QT1JUKSA+IDAgVGhlbg0KICAgICBzdHJTcnZDb24gPSBzdHJTcnZD +b24gJiAiO1BPUlQ9IiAmIG1fUE9SVA0KICAgRW5kIElmDQoNCiAgIElmIExlbiht +X0RCT1BUSU9OU19PREJDKSA+IDAgVGhlbg0KICAgICBzdHJPREJDID0gc3RyT0RC +QyAmIG1fREJPUFRJT05TX09EQkMgJiAiOyINCiAgIEVuZCBJZg0KICAgDQogICBJ +ZiBMZW4obV9EU04pID4gMCBUaGVuDQogICAgICBzdHJPREJDID0gIkRTTj0iICYg +bV9EU04gJiAiOyIgJiBzdHJPREJDDQogICBFbHNlDQogICAgICBJZiBMZW4obV9E +Qk9EQkNEUklWRVIpID0gMCBUaGVuDQogICAgICAgIG1fREJPREJDRFJJVkVSID0g +Ik15U1FMIE9EQkMgNS4xIERyaXZlciINCiAgICAgIEVuZCBJZg0KICAgICAgc3Ry +T0RCQyA9ICJEUklWRVI9eyIgJiBtX0RCT0RCQ0RSSVZFUiAmICJ9O0RBVEFCQVNF +PSIgJiBtX0RCTkFNRSAmICI7U0VSVkVSPSIgJiBzdHJTcnZDb24gJiAiOyIgJiBz +dHJPREJDDQogICBFbmQgSWYNCiAgIA0KICAgdGVtcENvbm5lY3Rpb25TdHJpbmdz +Lk9kYmNDb25uZWN0aW9uU3RyaW5nID0gIk9EQkM7IiAmIHN0ck9EQkMNCiAgIHRl +bXBDb25uZWN0aW9uU3RyaW5ncy5PbGVkYkNvbm5lY3Rpb25TdHJpbmcgPSAiUHJv +dmlkZXI9TVNEQVNRTDsiICYgc3RyT0RCQw0KDQogICBDb25uZWN0aW9uU3RyaW5n +c19NeVNRTCA9IHRlbXBDb25uZWN0aW9uU3RyaW5ncw0KDQpFbmQgRnVuY3Rpb24N +Cg0KUHJpdmF0ZSBGdW5jdGlvbiBnZXRPZGJjVXNlckluZm9fTXlTUUwoc1VJRCBB +cyBTdHJpbmcsIHNQV0QgQXMgU3RyaW5nKSBBcyBTdHJpbmcNCk9uIEVycm9yIEdv +VG8gMA0KICAgZ2V0T2RiY1VzZXJJbmZvX015U1FMID0gIlVJRD0iICYgc1VJRCAm +ICI7UFdEPSIgJiBzUFdEDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlv +biBDb25uZWN0aW9uU3RyaW5nc19PUkFDTEUoKSBBcyBEYm1zQ29ubmVjdGlvblN0 +cmluZ3MNCg0KICAgRGltIHRlbXBDb25uZWN0aW9uU3RyaW5ncyBBcyBEYm1zQ29u +bmVjdGlvblN0cmluZ3MNCiAgIERpbSBzdHJPREJDIEFzIFN0cmluZywgc3RyT0xF +REIgQXMgU3RyaW5nDQogICBEaW0gc3RyU3J2Q29uIEFzIFN0cmluZw0KDQogICBJ +ZiBtX1RSVVNURURDT05ORUNUSU9OIFRoZW4gJ0hvdyBkb2VzIHRoaXMgd29yayB3 +aXRoIE9yYWNsZT8NCiAgICAgc3RyT0RCQyA9ICJUcnVzdGVkX0Nvbm5lY3Rpb249 +WWVzOyINCiAgICAgc3RyT0xFREIgPSAiSW50ZWdyYXRlZCBTZWN1cml0eSA9IFNT +UEk7Ig0KICAgRWxzZSAnVmVyYmluZHVuZyBtaXQgVXNlciArIFB3ZA0KICAgICBz +dHJPREJDID0gZ2V0T2RiY1VzZXJJbmZvX09SQUNMRShtX0RCVVNFUiwgbV9EQlVT +RVJQV0QpICYgIjsiDQogICAgIHN0ck9MRURCID0gIlVzZXIgSUQ9IiAmIG1fREJV +U0VSICYgIjtQYXNzd29yZD0iICYgbV9EQlVTRVJQV0QgJiAiOyINCiAgIEVuZCBJ +Zg0KICAgDQogICBJZiBMZW4obV9EQk9QVElPTlNfT0xFREIpID4gMCBUaGVuDQog +ICAgIHN0ck9MRURCID0gc3RyT0xFREIgJiBtX0RCT1BUSU9OU19PTEVEQiAmICI7 +Ig0KICAgRW5kIElmDQogICBJZiBMZW4obV9EQk9QVElPTlNfT0RCQykgPiAwIFRo +ZW4NCiAgICAgc3RyT0RCQyA9IHN0ck9EQkMgJiBtX0RCT1BUSU9OU19PREJDICYg +IjsiDQogICBFbmQgSWYNCiAgIA0KICAgJ01pY3Jvc29mdCBPREJDIGZvciBPcmFj +bGU6DQogICBzdHJTcnZDb24gPSAiKERFU0NSSVBUSU9OPShBRERSRVNTPShDT01N +VU5JVFk9KShQUk9UT0NPTD1UQ1ApKEhvc3Q9IiAmIG1fREJTRVJWRVIgJiAiKShQ +b3J0PSIgJiBtX1BPUlQgJiAiKSkoQ09OTkVDVF9EQVRBPShTSUQ9IiAmIG1fREJO +QU1FICYgIikpKSINCiAgICAgIA0KICAgSWYgTGVuKG1fREJPTEVEQlBST1ZJREVS +KSA9IDAgVGhlbg0KICAgICAgbV9EQk9MRURCUFJPVklERVIgPSAiT3JhT0xFREIu +T3JhY2xlIg0KICAgRW5kIElmDQogICBzdHJPTEVEQiA9ICJQcm92aWRlcj0iICYg +bV9EQk9MRURCUFJPVklERVIgJiAiO0RhdGEgU291cmNlPSIgJiBzdHJTcnZDb24g +JiAiOyIgJiBzdHJPTEVEQg0KDQogICBJZiBMZW4obV9EU04pID4gMCBUaGVuDQog +ICAgICBzdHJPREJDID0gIkRTTj0iICYgbV9EU04gJiAiOyIgJiBzdHJPREJDDQog +ICBFbHNlDQogICAgICBJZiBMZW4obV9EQk9EQkNEUklWRVIpID0gMCBUaGVuDQog +ICAgICAgIG1fREJPREJDRFJJVkVSID0gIk1pY3Jvc29mdCBPREJDIGZvciBPcmFj +bGUiICciT3JhY2xlIGluIE9yYURiMTBnX2hvbWUxIiBvciAiTWljcm9zb2Z0IE9E +QkMgZm9yIE9yYWNsZSINCiAgICAgIEVuZCBJZg0KICAgICAgc3RyT0RCQyA9ICJE +UklWRVI9eyIgJiBtX0RCT0RCQ0RSSVZFUiAmICJ9O1NFUlZFUj0iICYgc3RyU3J2 +Q29uICYgIjsiICYgc3RyT0RCQw0KICAgRW5kIElmDQogICANCiAgIHRlbXBDb25u +ZWN0aW9uU3RyaW5ncy5PbGVkYkNvbm5lY3Rpb25TdHJpbmcgPSBzdHJPTEVEQg0K +ICAgdGVtcENvbm5lY3Rpb25TdHJpbmdzLk9kYmNDb25uZWN0aW9uU3RyaW5nID0g +Ik9EQkM7IiAmIHN0ck9EQkMNCiAgIA0KICAgQ29ubmVjdGlvblN0cmluZ3NfT1JB +Q0xFID0gdGVtcENvbm5lY3Rpb25TdHJpbmdzDQoNCkVuZCBGdW5jdGlvbg0KDQpQ +cml2YXRlIEZ1bmN0aW9uIGdldE9kYmNVc2VySW5mb19PUkFDTEUoc1VJRCBBcyBT +dHJpbmcsIHNQV0QgQXMgU3RyaW5nKSBBcyBTdHJpbmcNCk9uIEVycm9yIEdvVG8g +MA0KICAgZ2V0T2RiY1VzZXJJbmZvX09SQUNMRSA9ICJVSUQ9IiAmIHNVSUQgJiAi +O1BXRD0iICYgc1BXRA0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24g +Q29ubmVjdGlvblN0cmluZ3NfT0RCQygpIEFzIERibXNDb25uZWN0aW9uU3RyaW5n +cw0KDQogICBEaW0gdGVtcENvbm5lY3Rpb25TdHJpbmdzIEFzIERibXNDb25uZWN0 +aW9uU3RyaW5ncw0KICAgRGltIHN0ck9EQkMgQXMgU3RyaW5nDQogICBEaW0gc3Ry +U3J2Q29uIEFzIFN0cmluZw0KICAgDQogICBJZiBMZW4obV9EQk9EQkNEUklWRVIp +ID0gMCBUaGVuDQogICAgICBFcnIuUmFpc2UgRGJDb25uZWN0aW9uSW5mb0Vycm9y +TnVtYmVycy5FUlJOUl9OT0NPTkZJRywgIkNvbm5lY3Rpb25TdHJpbmdzX09EQkMi +LCAiTm8gT0RCQyBkcml2ZXIgd2FzIHNwZWNpZmllZCINCiAgIEVuZCBJZg0KDQog +ICBJZiBtX1RSVVNURURDT05ORUNUSU9OIFRoZW4NCiAgICAgc3RyT0RCQyA9ICJU +cnVzdGVkX0Nvbm5lY3Rpb249WWVzOyINCiAgIEVsc2UgJ1ZlcmJpbmR1bmcgbWl0 +IFVzZXIgKyBQd2QNCiAgICAgIHN0ck9EQkMgPSBnZXRPZGJjVXNlckluZm9fT0RC +QyhtX0RCVVNFUiwgbV9EQlVTRVJQV0QpICYgIjsiDQogICBFbmQgSWYNCg0KICAg +c3RyU3J2Q29uID0gbV9EQlNFUlZFUg0KICAgSWYgTGVuKG1fUE9SVCkgPiAwIFRo +ZW4NCiAgICAgc3RyU3J2Q29uID0gc3RyU3J2Q29uICYgIjtQT1JUPSIgJiBtX1BP +UlQNCiAgIEVuZCBJZg0KDQogICBJZiBMZW4obV9EQk9QVElPTlNfT0RCQykgPiAw +IFRoZW4NCiAgICAgc3RyT0RCQyA9IHN0ck9EQkMgJiBtX0RCT1BUSU9OU19PREJD +ICYgIjsiDQogICBFbmQgSWYNCiAgIA0KICAgSWYgTGVuKG1fRFNOKSA+IDAgVGhl +bg0KICAgICAgc3RyT0RCQyA9ICJEU049IiAmIG1fRFNOICYgIjsiICYgc3RyT0RC +Qw0KICAgRWxzZQ0KICAgICAgc3RyT0RCQyA9ICJEUklWRVI9eyIgJiBtX0RCT0RC +Q0RSSVZFUiAmICJ9O0RBVEFCQVNFPSIgJiBtX0RCTkFNRSAmICI7U0VSVkVSPSIg +JiBzdHJTcnZDb24gJiAiOyIgJiBzdHJPREJDDQogICBFbmQgSWYNCiAgIA0KICAg +dGVtcENvbm5lY3Rpb25TdHJpbmdzLk9kYmNDb25uZWN0aW9uU3RyaW5nID0gIk9E +QkM7IiAmIHN0ck9EQkMNCiAgIHRlbXBDb25uZWN0aW9uU3RyaW5ncy5PbGVkYkNv +bm5lY3Rpb25TdHJpbmcgPSAiUHJvdmlkZXI9TVNEQVNRTDsiICYgc3RyT0RCQw0K +ICAgDQogICBDb25uZWN0aW9uU3RyaW5nc19PREJDID0gdGVtcENvbm5lY3Rpb25T +dHJpbmdzDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBnZXRPZGJj +VXNlckluZm9fT0RCQyhzVUlEIEFzIFN0cmluZywgc1BXRCBBcyBTdHJpbmcpIEFz +IFN0cmluZw0KICAgZ2V0T2RiY1VzZXJJbmZvX09EQkMgPSAiVUlEPSIgJiBzVUlE +ICYgIjtQV0Q9IiAmIHNQV0QNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFByb3BlcnR5OiBUYWJsZUxp +c3RTcWxUZXh0DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIFNRTCBzdGF0ZW1lbnQgaW4gdGhlIFNRTCBkaWFsZWN0IG9mIHRo +ZSBEQk1TIHRvIGxpc3QgdGhlIHRhYmxlcyBjb250YWluZWQgaW4gdGhlIERCUy4N +CicNCicgUmVtYXJrczoNCicgICAgIFRoaXMgcHJvY2VkdXJlIG11c3QgYmUgZXh0 +ZW5kZWQgaWYgZnVydGhlciBEQk1TIGFyZSB0byBiZSB1c2VkLg0KJw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3Bl +cnR5IEdldCBUYWJsZUxpc3RTcWxUZXh0KCkgQXMgU3RyaW5nDQogICANCiAgIFNl +bGVjdCBDYXNlIG1fREJNU05BTUUNCiAgICAgIENhc2UgbV9EQk1TTkFNRV9NU1NR +TA0KICAgICAgICAgVGFibGVMaXN0U3FsVGV4dCA9ICJzZWxlY3QgVC5UQUJMRV9O +QU1FLCBULlRBQkxFX1NDSEVNQSwgY2FzdChULlRBQkxFX1NDSEVNQSArICcuJyAr +IFQuVEFCTEVfTkFNRSBhcyB2YXJjaGFyKDI1NSkpIEFTIFRhYktleSBmcm9tIGlu +Zm9ybWF0aW9uX3NjaGVtYS5UQUJMRVMgVCBPcmRlciBCeSBULlRBQkxFX05BTUUs +IFQuVEFCTEVfU0NIRU1BIg0KICAgICAgQ2FzZSBtX0RCTVNOQU1FX01ZU1FMDQog +ICAgICAgICBUYWJsZUxpc3RTcWxUZXh0ID0gIlNFTEVDVCBULlRBQkxFX05BTUUs +IE5VTEwgQVMgVEFCTEVfU0NIRU1BLCBULlRBQkxFX05BTUUgQVMgVGFiS2V5IEZS +T00gaW5mb3JtYXRpb25fc2NoZW1hLmBUQUJMRVNgIFQgV0hFUkUgVC5UQUJMRV9T +Q0hFTUE9JyIgJiBEYk5hbWUgJiAiJyBPcmRlciBCeSBULlRBQkxFX05BTUUiDQog +ICAgICBDYXNlIG1fREJNU05BTUVfT1JBQ0xFDQogICAgICAgICBUYWJsZUxpc3RT +cWxUZXh0ID0gIlNFTEVDVCBULlROQU1FIEFTIFRBQkxFX05BTUUsIE5VTEwgQVMg +VEFCTEVfU0NIRU1BLCBULlROQU1FIEFTIFRhYktleSBGUk9NIFRBQiBUIE9yZGVy +IEJ5IFQuVE5BTUUiDQogICAgICBDYXNlIG1fREJNU05BTUVfTVNKRVQNCiAgICAg +ICAgIFRhYmxlTGlzdFNxbFRleHQgPSAic2VsZWN0IFQuTkFNRSBBUyBUQUJMRV9O +QU1FLCBOVUxMIEFTIFRBQkxFX1NDSEVNQSwgVC5OQU1FIEFTIFRhYktleSBmcm9t +IFsiICYgTWUuRGF0YWJhc2VGaWxlICYgIl0uTVN5c09iamVjdHMgVCBXSEVSRSBU +eXBlPTEgQU5EIChULk5hbWUgPCAnTXN5cycgT1IgVC5OYW1lID49ICdNc3l0Jykg +T3JkZXIgQnkgVC5OQU1FIg0KICAgICAgQ2FzZSBtX0RCTVNOQU1FX09EQkMNCiAg +ICAgICAgIFRhYmxlTGlzdFNxbFRleHQgPSB2Yk51bGxTdHJpbmcNCiAgICAgIENh +c2UgdmJOdWxsU3RyaW5nDQogICAgICAgICBUYWJsZUxpc3RTcWxUZXh0ID0gdmJO +dWxsU3RyaW5nDQogICAgICBDYXNlIEVsc2UNCiAgICAgICAgIEVyci5SYWlzZSBE +YkNvbm5lY3Rpb25JbmZvRXJyb3JOdW1iZXJzLkVSUk5SX05PREJNUywgIkRiQ29u +bmVjdGlvbkluZm8uVGFibGVMaXN0U1FMIiwgIkb8ciAnIiAmIG1fREJNU05BTUUg +JiAiJyBr9m5uZW4ga2VpbmUgQ29ubmVjdGlvbnN0cmluZ3MgZXJ6ZXVndCB3ZXJk +ZW4uIChBdXN3YWhsIG5pY2h0IG32Z2xpY2guKSINCiAgIEVuZCBTZWxlY3QNCg0K +RW5kIFByb3BlcnR5DQoNClByaXZhdGUgRnVuY3Rpb24gU2V0TG9naW5EYXRhKCkg +QXMgQm9vbGVhbg0KICAgDQogICBEaW0gY25uIEFzIEFET0RCLkNvbm5lY3Rpb24N +CiAgIERpbSBjbWQgQXMgQURPREIuQ29tbWFuZA0KICAgRGltIHJzdCBBcyBBRE9E +Qi5SZWNvcmRzZXQNCiAgIA0KICAgRGltIHN0cldpbmRvd1VzZXIgQXMgU3RyaW5n +DQoNCiAgIHN0cldpbmRvd1VzZXIgPSBFbnZpcm9uKCJ1c2VybmFtZSIpDQogICAN +CiAgIFNldCBjbm4gPSBOZXcgQURPREIuQ29ubmVjdGlvbg0KICAgY25uLk9wZW4g +Q29ubmVjdGlvblN0cmluZ3NfTXlTUUwuT2xlZGJDb25uZWN0aW9uU3RyaW5nDQog +ICANCiAgIFNldCBjbWQgPSBOZXcgQURPREIuQ29tbWFuZA0KICAgU2V0IGNtZC5B +Y3RpdmVDb25uZWN0aW9uID0gY25uDQogICBjbWQuQ29tbWFuZFRleHQgPSAiR2V0 +TG9naW5EYXRhIg0KICAgY21kLkNvbW1hbmRUeXBlID0gYWRDbWRTdG9yZWRQcm9j +DQogICBjbWQuUGFyYW1ldGVycy5BcHBlbmQgY21kLkNyZWF0ZVBhcmFtZXRlcigi +d2luZG93c3VzZXIiLCBhZFZhckNoYXIsIGFkUGFyYW1JbnB1dCwgMjU1KQ0KICAg +Y21kLlBhcmFtZXRlcnMoMCkgPSBzdHJXaW5kb3dVc2VyDQogICBTZXQgcnN0ID0g +Y21kLkV4ZWN1dGUNCiAgIElmIHJzdC5FT0YgVGhlbg0KICAgICAgbV9EQlVTRVIg +PSBzdHJXaW5kb3dVc2VyDQogICAgICBtX0RCVVNFUlBXRCA9IHZiTnVsbFN0cmlu +Zw0KICAgICAgU2V0TG9naW5EYXRhID0gRmFsc2UNCiAgIEVsc2UNCiAgICAgIG1f +REJVU0VSID0gcnN0LkZpZWxkcygwKQ0KICAgICAgbV9EQlVTRVJQV0QgPSByc3Qu +RmllbGRzKDEpDQogICAgICBTZXRMb2dpbkRhdGEgPSBUcnVlDQogICBFbmQgSWYN +CiAgIA0KICAgcnN0LkNsb3NlDQogICBTZXQgY21kID0gTm90aGluZw0KICAgY25u +LkNsb3NlDQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBQYXJzZVRhYmxlTmFtZQ0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBB +dXhpbGlhcnkgcHJvY2VkdXJlIGZvciBhZGp1c3RpbmcgdGhlIHRhYmxlIG5hbWUN +CicNCicgUGFyYW1ldGVyczoNCicgICAgIFRhYmxlTmFtZSAgLSAgVGFibGUgbmFt +ZSB0byBwYXJzZQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVGFibGUgbmFtZSBmb3Ig +dGhlIHNwZWNpZmljIERCTVMNCicNCicgUmVtYXJrczoNCicgICAgIFdpdGggc29t +ZSBEQk1TLCB0aGUgbmFtZSBtdXN0IGJlIGNhc2Utc2Vuc2l0aXZlIG9yIGJyYWNr +ZXRlZCB3aXRoIHNwZWNpYWwgY2hhcmFjdGVycy4NCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBQYXJz +ZVRhYmxlTmFtZShCeVZhbCBUYWJsZU5hbWUgQXMgU3RyaW5nKSBBcyBTdHJpbmcN +CiAgIFNlbGVjdCBDYXNlIG1fREJNU05BTUUNCiAgICAgIENhc2UgbV9EQk1TTkFN +RV9NU0pFVA0KICAgICAgICAgUGFyc2VUYWJsZU5hbWUgPSAiWyIgJiBUYWJsZU5h +bWUgJiAiXSINCiAgICAgIENhc2UgbV9EQk1TTkFNRV9NU1NRTCAnIE5vIGNoYW5n +ZSByZXF1aXJlZCAtIGZvciBzYWZldHksIGVuY2xvc2UgaW4gaW52ZXJ0ZWQgY29t +bWFzIHNvIHRoYXQgdGFibGUgbmFtZXMgd2l0aCBzcGFjZXMgY2FuIGFsc28gYmUg +dXNlZC4NCiAgICAgICAgIFBhcnNlVGFibGVOYW1lID0gIiIiIiAmIFRhYmxlTmFt +ZSAmICIiIiINCiAgICAgIENhc2UgbV9EQk1TTkFNRV9NWVNRTCAnYnJhY2tldCBp +biAiYCIgZm9yIHNhZmV0eS4NCiAgICAgICAgIFBhcnNlVGFibGVOYW1lID0gImAi +ICYgVGFibGVOYW1lICYgImAiDQogICAgICBDYXNlIG1fREJNU05BTUVfT1JBQ0xF +DQogICAgICAgICBQYXJzZVRhYmxlTmFtZSA9ICIiIiIgJiBUYWJsZU5hbWUgJiAi +IiIiDQogICAgICBDYXNlIEVsc2UNCiAgICAgICAgIFBhcnNlVGFibGVOYW1lID0g +VGFibGVOYW1lDQogICBFbmQgU2VsZWN0DQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTog +RGF0ZUZvcm1hdA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJw0KJyBEQk1TIHNwZWNpZmljIGRhdGUgZm9ybWF0DQonDQonIFJldHVy +bnM6DQonICAgICBGb3JtYXQgc3RyaW5nDQonDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IERhdGVG +b3JtYXQoKSBBcyBTdHJpbmcNCiAgIFNlbGVjdCBDYXNlIG1fREJNU05BTUUNCiAg +ICAgIENhc2UgbV9EQk1TTkFNRV9NU0pFVA0KICAgICAgICAgRGF0ZUZvcm1hdCA9 +ICJcI3l5eXktbW0tZGQgaGg6bm46c3NcIyINCiAgICAgIENhc2UgbV9EQk1TTkFN +RV9NU1NRTA0KICAgICAgICAgRGF0ZUZvcm1hdCA9ICIneXl5eW1tZGQgaGg6bm46 +c3MnIg0KICAgICAgQ2FzZSBtX0RCTVNOQU1FX01ZU1FMDQogICAgICAgICBEYXRl +Rm9ybWF0ID0gIid5eXl5LW1tLWRkIGhoOm5uOnNzJyINCiAgICAgIENhc2UgbV9E +Qk1TTkFNRV9PUkFDTEUNCiAgICAgICAgIERhdGVGb3JtYXQgPSAiJ3l5eXltbWRk +IGhoOm5uOnNzJyINCiAgICAgIENhc2UgbV9EQk1TTkFNRV9PREJDDQogICAgICAg +ICBEYXRlRm9ybWF0ID0gIid5eXl5bW1kZCBoaDpubjpzcyciDQogICAgICBDYXNl +IEVsc2UNCiAgICAgICAgIEVyci5SYWlzZSBEYkNvbm5lY3Rpb25JbmZvRXJyb3JO +dW1iZXJzLkVSUk5SX05PREJNUywgIkRiQ29ubmVjdGlvbkluZm8uRGF0ZUZvcm1h +dCIsICJG/HIgJyIgJiBtX0RCTVNOQU1FICYgIicga2FubiBrZWluZSBEYXR1bXNm +cm9tYXQgZXJtaXR0ZWx0IHdlcmRlbi4iDQogICBFbmQgU2VsZWN0DQpFbmQgUHJv +cGVydHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBQcm9wZXJ0eTogV2lsZENhcmRTdHJpbmcNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgREJNUyBzcGVjaWZpYyB3aWxk +Y2FyZCAobGlrZSAqKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBXaWxkQ2FyZFN0cmluZygp +IEFzIFN0cmluZw0KICAgU2VsZWN0IENhc2UgbV9EQk1TTkFNRQ0KICAgICAgQ2Fz +ZSBtX0RCTVNOQU1FX01TSkVUDQogICAgICAgICBXaWxkQ2FyZFN0cmluZyA9ICIq +Ig0KICAgICAgQ2FzZSBtX0RCTVNOQU1FX01TU1FMDQogICAgICAgICBXaWxkQ2Fy +ZFN0cmluZyA9ICIlIg0KICAgICAgQ2FzZSBtX0RCTVNOQU1FX01ZU1FMDQogICAg +ICAgICBXaWxkQ2FyZFN0cmluZyA9ICIlIg0KICAgICAgQ2FzZSBtX0RCTVNOQU1F +X09SQUNMRQ0KICAgICAgICAgV2lsZENhcmRTdHJpbmcgPSAiJSINCiAgICAgIENh +c2UgbV9EQk1TTkFNRV9PREJDDQogICAgICAgICBXaWxkQ2FyZFN0cmluZyA9ICIl +Ig0KICAgICAgQ2FzZSBFbHNlDQogICAgICAgICBXaWxkQ2FyZFN0cmluZyA9ICIl +Ig0KICAgRW5kIFNlbGVjdA0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IEJvb2xlYW5U +cnVlU3RyaW5nDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIERCTVMgc3BlY2lmaWMgc3RyaW5nIGZvciB0cnVlDQonDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgUHJv +cGVydHkgR2V0IEJvb2xlYW5UcnVlU3RyaW5nKCkgQXMgU3RyaW5nDQogICBTZWxl +Y3QgQ2FzZSBtX0RCTVNOQU1FDQogICAgICBDYXNlIG1fREJNU05BTUVfTVNKRVQN +CiAgICAgICAgIEJvb2xlYW5UcnVlU3RyaW5nID0gIlRydWUiDQogICAgICBDYXNl +IG1fREJNU05BTUVfTVNTUUwNCiAgICAgICAgIEJvb2xlYW5UcnVlU3RyaW5nID0g +IjEiDQogICAgICBDYXNlIG1fREJNU05BTUVfTVlTUUwNCiAgICAgICAgIEJvb2xl +YW5UcnVlU3RyaW5nID0gIjEiDQogICAgICBDYXNlIG1fREJNU05BTUVfT1JBQ0xF +DQogICAgICAgICBCb29sZWFuVHJ1ZVN0cmluZyA9ICIxIg0KICAgICAgQ2FzZSBt +X0RCTVNOQU1FX09EQkMNCiAgICAgICAgIEJvb2xlYW5UcnVlU3RyaW5nID0gIlRy +dWUiDQogICAgICBDYXNlIEVsc2UNCiAgICAgICAgIEVyci5SYWlzZSBEYkNvbm5l +Y3Rpb25JbmZvRXJyb3JOdW1iZXJzLkVSUk5SX05PREJNUywgIkRiQ29ubmVjdGlv +bkluZm8uQm9vbGVhblRydWVTdHJpbmciLCAiRvxyICciICYgbV9EQk1TTkFNRSAm +ICInIGthbm4ga2VpbiBUcnVlLVN0cmluZyBlcm1pdHRlbHQgd2VyZGVuLiINCiAg +IEVuZCBTZWxlY3QNCkVuZCBQcm9wZXJ0eQ0KDQojSWYgQ09ORklHX1VTRUxPR0lO +Rk9STSA9IDEgVGhlbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJyBQcm9wZXJ0eTogTG9naW5Gb3JtTmFtZQ0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBOYW1lIG9mIHRoZSBs +b2dpbiBmb3JtDQonDQonIFJlbWFya3M6DQonICAgICBFeGFtcGxlIGZyb20gQUNM +aWI6IHVzZXIvbG9naW4vTG9naW5Gb3JtLmZybQ0KJw0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBM +b2dpbkZvcm1OYW1lKCkgQXMgU3RyaW5nDQogICBJZiBMZW4obV9Mb2dpbkZvcm1O +YW1lKSA9IDAgVGhlbg0KICAgICAgTG9naW5Gb3JtTmFtZSA9IG1fRGVmYXVsdExv +Z2luRm9ybU5hbWUNCiAgIEVsc2UNCiAgICAgIExvZ2luRm9ybU5hbWUgPSBtX0xv +Z2luRm9ybU5hbWUNCiAgIEVuZCBJZg0KRW5kIFByb3BlcnR5DQoNClB1YmxpYyBQ +cm9wZXJ0eSBMZXQgTG9naW5Gb3JtTmFtZShCeVZhbCBOZXdWYWx1ZSBBcyBTdHJp +bmcpDQogICAgbV9Mb2dpbkZvcm1OYW1lID0gTmV3VmFsdWUNCkVuZCBQcm9wZXJ0 +eQ0KDQojRW5kIElmDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicgUHJvcGVydHk6IERibXNDb25maWdGb3JtTmFtZQ0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBOYW1lIG9m +IHRoZSBEQk1TIGNvbmZpZ3VyYXRpb24gZm9ybQ0KJw0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBE +Ym1zQ29uZmlnRm9ybU5hbWUoKSBBcyBTdHJpbmcNCiAgIERibXNDb25maWdGb3Jt +TmFtZSA9IG1fRGJtc0NvbmZpZ0Zvcm1OYW1lDQpFbmQgUHJvcGVydHkNCg0KUHVi +bGljIFByb3BlcnR5IExldCBEYm1zQ29uZmlnRm9ybU5hbWUoQnlWYWwgTmV3VmFs +dWUgQXMgU3RyaW5nKQ0KICAgIG1fRGJtc0NvbmZpZ0Zvcm1OYW1lID0gTmV3VmFs +dWUNCkVuZCBQcm9wZXJ0eQ0KDQoNClByaXZhdGUgU3ViIExvYWRDb25uZWN0aW9u +RGF0YShPcHRpb25hbCBCeVZhbCBXaXRob3V0TG9naW5Gb3JtIEFzIEJvb2xlYW4g +PSBGYWxzZSwgT3B0aW9uYWwgQnlWYWwgUmFpc2VEYm1zQ29ubmVjdGlvbkNoYW5n +ZWRFdmVudCBBcyBCb29sZWFuID0gRmFsc2UpDQogICANCiAgIERpbSB0ZW1wQ29u +bklEIEFzIFN0cmluZw0KDQogICB0ZW1wQ29ubklEID0gbV9Db25uZWN0aW9uSWRl +bnRpZmllcg0KDQogICBDbGVhckNvbm5lY3Rpb25JbmZvDQogICANCiAgIExvYWRD +b25uZWN0aW9uRGF0YUZyb21UYWJsZQ0KICAgDQogICBtX0RibXNJbmZvUmVhZGVk +ID0gVHJ1ZQ0KICAgbV9TQVZFUFdEID0gKExlbihtX0RCVVNFUlBXRCkgPiAwKSBB +bmQgKG1fVXNlTG9naW5Gb3JtID0gRmFsc2UpDQogICANCiAgIElmIG1fREJNU05B +TUUgPSAiTVNKRVQiIFRoZW4NCiAgICAgIG1fRGF0YWJhc2VGaWxlID0gbV9EQk5B +TUUNCiAgIEVuZCBJZg0KDQogICBJZiBOb3QgV2l0aG91dExvZ2luRm9ybSBUaGVu +DQogICBJZiBtX1VzZUxvZ2luRm9ybSBUaGVuICdyZXN1bHRzIGluIGxvZ2luLCB0 +aGVyZWZvcmUgZG8gbm90IHVzZSBmb3IgcHJlLXNldHRpbmdzISAoPT53aXRob3V0 +TG9naW5Gb3JtPXRydWUpDQojSWYgQ09ORklHX1VTRUxPR0lORk9STSA9IDEgVGhl +bg0KICAgICAgRGltIExvZ2luVXNlck5hbWUgQXMgU3RyaW5nDQogICAgICBMb2dp +blVzZXJOYW1lID0gR2V0VXNlck5hbWVGcm9tQ29uZmlnRmlsZQ0KICAgICAgSWYg +TGVuKExvZ2luVXNlck5hbWUpID0gMCBUaGVuDQogICAgICAgICBMb2dpblVzZXJO +YW1lID0gbV9EQlVTRVINCiAgICAgIEVuZCBJZg0KICAgDQogICAgICAnTWFrZSBt +X0xvZ2luRm9ybSBhY2Nlc3NpYmxlIHZpYSBQcm9wZXJ0eSBMb2dpbkZvcm0gYW5k +IHNldCBpdCBpbiB0aGUgTG9naW5Gb3JtIGl0c2VsZjoNCiAgICAgIERvQ21kLk9w +ZW5Gb3JtIExvZ2luRm9ybU5hbWUsIGFjTm9ybWFsLCAsICwgYWNGb3JtRWRpdCwg +YWNEaWFsb2csIE9ialB0cihNZSkgJiAiQCIgJiBtX0Nvbm5lY3Rpb25JZGVudGlm +aWVyICYgIkAiICYgTG9naW5Vc2VyTmFtZQ0KI0Vsc2UNCiAgIEVyci5SYWlzZSB2 +Yk9iamVjdEVycm9yLCAiRGJDb25uZWN0aW9uSW5mbyIsICJDT05GSUdfVVNFTE9H +SU5GT1JNIGluIFByb2pla3RlaWdlbnNjaGFmdGVuIG5pY2h0IGdlc2V0enQhIg0K +I0VuZCBJZg0KICAgRW5kIElmDQogICBFbmQgSWYNCiAgIA0KICAgSWYgKHRlbXBD +b25uSUQgPD4gbV9Db25uZWN0aW9uSWRlbnRpZmllcikgT3IgUmFpc2VEYm1zQ29u +bmVjdGlvbkNoYW5nZWRFdmVudCBUaGVuDQogICAgICBSYWlzZUV2ZW50IERibXND +b25uZWN0aW9uQ2hhbmdlZChtX0Nvbm5lY3Rpb25JZGVudGlmaWVyKQ0KICAgRW5k +IElmDQoNCkVuZCBTdWINCg0KUHJpdmF0ZSBTdWIgTG9hZENvbm5lY3Rpb25EYXRh +RnJvbVRhYmxlKCkNCg0KICAgRGltIHJzdCBBcyBEQU8uUmVjb3Jkc2V0DQogICBE +aW0gU2VsZWN0U3FsIEFzIFN0cmluZw0KICAgRGltIExvYQ0KICAgDQogICBJZiBM +ZW4obV9Db25uZWN0aW9uSWRlbnRpZmllcikgPSAwIFRoZW4gJ1NlbGVjdCB0aGUg +RFMgdGhhdCBoYXMgYmVlbiBtYXJrZWQgYXMgIkFjdGl2ZSIuDQogICAgICBTZWxl +Y3RTcWwgPSBBY3RpdmF0ZWRDb25uRGF0YVNlbGVjdFNxbA0KICAgRWxzZQ0KICAg +ICAgU2VsZWN0U3FsID0gUmVwbGFjZShTZWxlY3RDb25uZWN0aW9uSWRlbnRpZmll +ckNvbm5EYXRhU2VsZWN0U3FsLCAie0Nvbm5lY3Rpb25JZGVudGlmaWVyfSIsIFNx +bFRvb2xzLlRleHRUb1NxbFRleHQobV9Db25uZWN0aW9uSWRlbnRpZmllcikpDQog +ICBFbmQgSWYNCg0KICAgU2V0IHJzdCA9IEN1cnJlbnREYi5PcGVuUmVjb3Jkc2V0 +KFNlbGVjdFNxbCwgZGJPcGVuU25hcHNob3QpDQogICBJZiByc3QuRU9GIFRoZW4N +CiAgICAgIA0KICAgICAgcnN0LkNsb3NlDQogICAgICBTZXQgcnN0ID0gTm90aGlu +Zw0KICAgICAgDQogICAgICBJZiBMZW4obV9Db25uZWN0aW9uSWRlbnRpZmllcikg +PSAwIFRoZW4gJ25vIGNvbm5lY3Rpb24gaGFzIGJlZW4gYWN0aXZhdGVkIHlldA0K +ICAgICAgICAgSWYgTm90IFRyeUdldENvbm5lY3Rpb25EYXRhV2l0aENvbmZpZ0Zv +cm0ocnN0KSBUaGVuDQogICAgICAgICAgICBFcnIuUmFpc2UgRGJDb25uZWN0aW9u +SW5mb0Vycm9yTnVtYmVycy5FUlJOUl9OT0RCTVMsICJEYkNvbm5lY3Rpb25JbmZv +LkxvYWREYm1zQ29ubmVjdGlvbkRhdGFGcm9tVGFibGUiLCAiRXMgd3VyZGUga2Vp +bmUgVmVyYmluZHVuZyBha3RpdmllcnQuIg0KICAgICAgICAgICAgRXhpdCBTdWIN +CiAgICAgICAgIEVsc2VJZiBtX0RibXNJbmZvUmVhZGVkIFRoZW4NCiAgICAgICAg +ICAgIEV4aXQgU3ViDQogICAgICAgICBFbmQgSWYNCiAgICAgIEVsc2UNCiAgICAg +ICAgIEVyci5SYWlzZSBEYkNvbm5lY3Rpb25JbmZvRXJyb3JOdW1iZXJzLkVSUk5S +X05PREJNUywgIkRiQ29ubmVjdGlvbkluZm8uTG9hZERibXNDb25uZWN0aW9uRGF0 +YUZyb21UYWJsZSIsICJLZWluIEVpbnRyYWcgZvxyICciICYgbV9Db25uZWN0aW9u +SWRlbnRpZmllciAmICInIGdlZnVuZGVuIg0KICAgICAgICAgRXhpdCBTdWINCiAg +ICAgIEVuZCBJZg0KICAgICAgDQogICBFbmQgSWYNCiAgIA0KICAgJ1JlYWQgc2V0 +dGluZ3MNCiAgIExvYWRDb25uZWN0aW9uRGF0YUZyb21SZWNvcmRzZXQgcnN0DQog +ICByc3QuQ2xvc2UNCiAgIFNldCByc3QgPSBOb3RoaW5nDQoNCkVuZCBTdWINCg0K +UHJpdmF0ZSBGdW5jdGlvbiBUcnlHZXRDb25uZWN0aW9uRGF0YVdpdGhDb25maWdG +b3JtKEJ5UmVmIHJzdCBBcyBEQU8uUmVjb3Jkc2V0KSBBcyBCb29sZWFuDQoNCiAg +IElmIExlbihEYm1zQ29uZmlnRm9ybU5hbWUpID4gMCBUaGVuDQogICANCiAgICAg +IElmIE1zZ0JveCgiTm8gY29ubmVjdGlvbiBoYXMgYmVlbiBhY3RpdmF0ZWQgeWV0 +LiIgJiB2Yk5ld0xpbmUgJiBfDQogICAgICAgICAgICAgICAgIlBsZWFzZSBjaGVj +ayB0aGUgY29ubmVjdGlvbiBwYXJhbWV0ZXJzIGFuZCBhY3RpdmF0ZSB0aGUgZGVz +aXJlZCBjb25uZWN0aW9uLiIsIF8NCiAgICAgICAgICAgICAgICAgICAgIHZiSW5m +b3JtYXRpb24gKyB2Yk9LQ2FuY2VsKSA9IHZiT0sgVGhlbg0KICAgICAgICAgICAg +ICAgICAgICAgDQogICAgICAgICBEb0NtZC5PcGVuRm9ybSBEYm1zQ29uZmlnRm9y +bU5hbWUsICwgLCAsICwgYWNEaWFsb2cNCiAgICAgICAgICdBYm9ydCwgaWYgYWxy +ZWFkeSBpbml0aWFsaXplZCB2aWEgZm9ybQ0KICAgICAgICAgSWYgbV9EYm1zSW5m +b1JlYWRlZCBUaGVuDQogICAgICAgICAgICBUcnlHZXRDb25uZWN0aW9uRGF0YVdp +dGhDb25maWdGb3JtID0gVHJ1ZQ0KICAgICAgICAgICAgRXhpdCBGdW5jdGlvbg0K +ICAgICAgICAgRW5kIElmDQogICAgICAgICANCiAgICAgIEVuZCBJZg0KICAgICAg +DQogICAgICBTZXQgcnN0ID0gQ3VycmVudERiLk9wZW5SZWNvcmRzZXQoQWN0aXZh +dGVkQ29ubkRhdGFTZWxlY3RTcWwsIGRiT3BlblNuYXBzaG90KQ0KICAgICAgSWYg +Tm90IHJzdC5FT0YgVGhlbg0KICAgICAgICAgbV9Db25uZWN0aW9uSWRlbnRpZmll +ciA9IE56KHJzdC5GaWVsZHMoIkNJRCIpLCB2Yk51bGxTdHJpbmcpDQogICAgICAg +ICBUcnlHZXRDb25uZWN0aW9uRGF0YVdpdGhDb25maWdGb3JtID0gVHJ1ZQ0KICAg +ICAgRWxzZQ0KICAgICAgICAgcnN0LkNsb3NlDQogICAgICAgICBTZXQgcnN0ID0g +Tm90aGluZw0KICAgICAgICAgVHJ5R2V0Q29ubmVjdGlvbkRhdGFXaXRoQ29uZmln +Rm9ybSA9IEZhbHNlDQogICAgICBFbmQgSWYNCiAgICAgIA0KICAgRW5kIElmDQog +ICANCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIFN1YiBMb2FkQ29ubmVjdGlvbkRh +dGFGcm9tUmVjb3Jkc2V0KEJ5VmFsIHJzdCBBcyBEQU8uUmVjb3Jkc2V0KQ0KDQog +ICBXaXRoIHJzdA0KICAgICAgSWYgTGVuKG1fQ29ubmVjdGlvbklkZW50aWZpZXIp +ID0gMCBUaGVuDQogICAgICAgICBtX0Nvbm5lY3Rpb25JZGVudGlmaWVyID0gTnoo +cnN0LkZpZWxkcygiQ0lEIiksIHZiTnVsbFN0cmluZykNCiAgICAgICAgIElmIExl +bihtX0Nvbm5lY3Rpb25JZGVudGlmaWVyKSA9IDAgVGhlbg0KICAgICAgICAgICAg +RXJyLlJhaXNlIERiQ29ubmVjdGlvbkluZm9FcnJvck51bWJlcnMuRVJSTlJfTk9E +Qk1TLCAiRGJDb25uZWN0aW9uSW5mby5yZWFkREJNU3Byb3AiLCAiTm8gY29ubmVj +dGlvbiB3YXMgcGFzc2VkLiINCiAgICAgICAgICAgIEV4aXQgU3ViDQogICAgICAg +ICBFbmQgSWYNCiAgICAgIEVuZCBJZg0KICAgICAgDQogICAgICBtX0RCTVNOQU1F +ID0gTnoocnN0LkZpZWxkcygiREJNUyIpLCB2Yk51bGxTdHJpbmcpDQogICAgICBt +X0NPTk5FQ1RJT05NT0RFID0gTnooLkZpZWxkcygiZGJtc0Nvbm5lY3Rpb25Nb2Rl +IiksIDApICcxID0gRE5TIGxlc3MsIDIgPSBEU04sIDQgPSBjdXN0b20NCiAgIA0K +ICAgICAgbV9EQk5BTUUgPSAuRmllbGRzKCJkYm1zRGF0YWJhc2UiKSAmIHZiTnVs +bFN0cmluZw0KICAgICAgDQogICAgICBtX0RCU0VSVkVSID0gLkZpZWxkcygiZGJt +c1NlcnZlciIpICYgdmJOdWxsU3RyaW5nDQogICAgICBtX1BPUlQgPSAuRmllbGRz +KCJkYm1zUG9ydCIpICYgdmJOdWxsU3RyaW5nDQogICAgICANCiAgICAgIG1fVFJV +U1RFRENPTk5FQ1RJT04gPSBOeiguRmllbGRzKCJkYm1zVXNlVHJ1c3RlZENvbm5l +Y3Rpb24iKSwgRmFsc2UpDQogICAgICBtX1VzZUxvZ2luRm9ybSA9IE56KC5GaWVs +ZHMoImRibXNVc2VMb2dpbkZvcm0iKSwgRmFsc2UpDQogICAgICBtX0RCVVNFUiA9 +IC5GaWVsZHMoImRibXNVc2VyIikgJiB2Yk51bGxTdHJpbmcNCiAgICAgIG1fREJV +U0VSUFdEID0gLkZpZWxkcygiZGJtc1B3ZCIpICYgdmJOdWxsU3RyaW5nDQogICAg +ICANCiAgICAgIElmIE5vdCBtX1RSVVNURURDT05ORUNUSU9OIFRoZW4NCiAgICAg +IA0KICAgICAgICAgJ1RyeSBnZXQgbG9naW4gZGF0YSBieSBFdmVudCAodG8gZ2V0 +IHBhc3N3b3JkIGZyb20gdmJhIGNvZGUpDQogICAgICAgICBJZiBMZW4obV9EQlVT +RVIpID0gMCBPciBMZW4obV9EQlVTRVJQV0QpID0gMCBUaGVuDQogICAgICAgICAg +ICBSYWlzZUV2ZW50IExvZ2luRGF0YVJlcXVpcmVkKG1fREJVU0VSLCBtX0RCVVNF +UlBXRCkNCiAgICAgICAgICAgIElmIG1fVXNlTG9naW5Gb3JtIFRoZW4NCiAgICAg +ICAgICAgICAgIElmIExlbihtX0RCVVNFUikgPiAwIEFuZCBMZW4obV9EQlVTRVJQ +V0QpID4gMCBUaGVuDQogICAgICAgICAgICAgICAgICBtX1VzZUxvZ2luRm9ybSA9 +IEZhbHNlDQogICAgICAgICAgICAgICBFbmQgSWYNCiAgICAgICAgICAgIEVuZCBJ +Zg0KICAgICAgICAgRW5kIElmDQogICAgICAgICANCiAgICAgICAgICdGYWxscyBr +ZWluIE5hbWUgYW5nZWdlYmVuIGlzdCwgTG9naW5mb3JtIGFrdGl2aWVyZW4NCiAg +ICAgICAgIElmIE5vdCAobV9Vc2VMb2dpbkZvcm0gT3IgbV9UUlVTVEVEQ09OTkVD +VElPTikgQW5kIExlbihtX0RCVVNFUikgPSAwIFRoZW4NCiAgICAgICAgICAgIG1f +VXNlTG9naW5Gb3JtID0gKG1fREJNU05BTUUgPD4gIk1TSkVUIikNCiAgICAgICAg +IEVuZCBJZg0KICAgICAgDQogICAgICBFbmQgSWYNCiAgICAgIA0KICAgICAgbV9E +U04gPSAuRmllbGRzKCJkYm1zRFNOIikgJiB2Yk51bGxTdHJpbmcNCiAgICAgIA0K +ICAgICAgbV9EQk9MRURCUFJPVklERVIgPSAuRmllbGRzKCJkYm1zT2xlRGJQcm92 +aWRlciIpICYgdmJOdWxsU3RyaW5nDQogICAgICBtX0RCT1BUSU9OU19PTEVEQiA9 +IC5GaWVsZHMoImRibXNPcHRpb25zT0xFREIiKSAmIHZiTnVsbFN0cmluZw0KICAg +ICAgDQogICAgICBtX0RCT0RCQ0RSSVZFUiA9IC5GaWVsZHMoImRibXNPZGJjRHJp +dmVyIikgJiB2Yk51bGxTdHJpbmcNCiAgICAgIG1fREJPUFRJT05TX09EQkMgPSAu +RmllbGRzKCJkYm1zT3B0aW9uc09EQkMiKSAmIHZiTnVsbFN0cmluZw0KICAgICAg +DQogICAgICBtX09sZWRiQ29ubmVjdGlvblN0cmluZyA9IC5GaWVsZHMoImRibXND +b25TdHJPTEVEQiIpICYgdmJOdWxsU3RyaW5nDQogICAgICBtX09kYmNDb25uZWN0 +aW9uU3RyaW5nID0gLkZpZWxkcygiZGJtc0NvblN0ck9EQkMiKSAmIHZiTnVsbFN0 +cmluZw0KDQogICBFbmQgV2l0aA0KICAgDQpFbmQgU3ViDQoNClByaXZhdGUgRnVu +Y3Rpb24gR2V0VXNlck5hbWVGcm9tQ29uZmlnRmlsZSgpIEFzIFN0cmluZw0KDQog +ICBEaW0gUmV0dXJuU3RyIEFzIFN0cmluZyAqIDEyODANCiAgIERpbSBSZXRWYWwg +QXMgTG9uZw0KICAgDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0KDQogICBSZXRWYWwg +PSBHZXRQcml2YXRlUHJvZmlsZVN0cmluZygiTG9naW4iLCAiVXNlck5hbWUiLCB2 +Yk51bGxTdHJpbmcgJiB2Yk51bGxDaGFyLCBSZXR1cm5TdHIsIExlbihSZXR1cm5T +dHIpLCBDdXJyZW50UHJvamVjdC5QYXRoICYgIlwiICYgbV9Db25uZWN0aW9uSWRl +bnRpZmllciAmICIuaW5pIikNCiAgIEdldFVzZXJOYW1lRnJvbUNvbmZpZ0ZpbGUg +PSBUcmltKExlZnQoUmV0dXJuU3RyLCBSZXRWYWwpKQ0KDQpFbmQgRnVuY3Rpb24N +Cg0KUHJpdmF0ZSBTdWIgU2F2ZVVzZXJOYW1lVG9Db25maWdGaWxlKEJ5VmFsIFVz +ZXJOYW1lIEFzIFN0cmluZykNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQogICBXcml0 +ZVByaXZhdGVQcm9maWxlU3RyaW5nICJMb2dpbiIsICJVc2VyTmFtZSIsIFVzZXJO +YW1lLCBDdXJyZW50UHJvamVjdC5QYXRoICYgIlwiICYgbV9Db25uZWN0aW9uSWRl +bnRpZmllciAmICIuaW5pIg0KRW5kIFN1Yg0K + + 20231011081056 + data/DbConnectionInfo.cls + + + DbConnectionManager + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkRiQ29ubmVjdGlvbk1hbmFnZXIi +DQpBdHRyaWJ1dGUgVkJfR2xvYmFsTmFtZVNwYWNlID0gRmFsc2UNCkF0dHJpYnV0 +ZSBWQl9DcmVhdGFibGUgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX1ByZWRlY2xhcmVk +SWQgPSBGYWxzZQ0KQXR0cmlidXRlIFZCX0V4cG9zZWQgPSBGYWxzZQ0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBDbGFzczogZGF0 +YS5EYkNvbm5lY3Rpb25NYW5hZ2VyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonDQonIENsYXNzIGZvciBpbnN0YW50aWF0aW9uLCB0 +ZXJtaW5hdGlvbiBhbmQgYmFzaWMgY29udHJvbCBvZiBkYXRhIGFjY2VzcyBjbGFz +c2VzDQonDQonIEF1dGhvcjoNCicgICAgIEpvc2VmIFBvZXR6bA0KJw0KJyBSZW1h +cmtzOg0KJyAgICAgVGhpcyBjbGFzcyByZWFjdHMgdG8gdGhlIGV2ZW50cyBvZiB0 +aGUgPGRhdGEuRGJDb25uZWN0aW9uSW5mbz4gYW5kIDxkYXRhLkRiQ29ubmVjdGlv +bkhhbmRsZXI+IGluc3RhbmNlLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonPGNvZGVsaWI+DQonICA8ZmlsZT5kYXRhL0RiQ29ubmVj +dGlvbk1hbmFnZXIuY2xzPC9maWxlPg0KJyAgPGxpY2Vuc2U+X2NvZGVsaWIvbGlj +ZW5zZS5iYXM8L2xpY2Vuc2U+DQonICA8dXNlPmRhdGEvRGJDb25uZWN0aW9uSW5m +by5jbHM8L3VzZT4NCicgIDx1c2U+ZGF0YS9EYkNvbm5lY3Rpb25IYW5kbGVyLmNs +czwvdXNlPg0KJyAgPHVzZT5kYXRhL0RiQ29ubmVjdGlvblNldHRpbmdzLmNsczwv +dXNlPg0KJyAgPHVzZT5kYXRhL1NxbFRvb2xzLmNsczwvdXNlPg0KJyAgPHJlZj48 +bmFtZT5EQU88L25hbWU+PG1ham9yPjEyPC9tYWpvcj48bWlub3I+MDwvbWlub3I+ +PGd1aWQ+ezRBQzlFMURBLTVCQUQtNEFDNy04NkUzLTI0RjRDRENFQ0EyOH08L2d1 +aWQ+PC9yZWY+DQonPC9jb2RlbGliPg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KT3B0aW9uIENvbXBhcmUgVGV4dA0KT3B0aW9u +IEV4cGxpY2l0DQoNCidDb25uZWN0aW9uIHBhcmFtZXRlcnMNClByaXZhdGUgV2l0 +aEV2ZW50cyBtX0RiQ29ubmVjdGlvbkluZm8gQXMgRGJDb25uZWN0aW9uSW5mbw0K +QXR0cmlidXRlIG1fRGJDb25uZWN0aW9uSW5mby5WQl9WYXJIZWxwSUQgPSAtMQ0K +DQonREIgY29ubmVjdGlvbg0KUHJpdmF0ZSBXaXRoRXZlbnRzIG1fRGJDb25uZWN0 +aW9uIEFzIERiQ29ubmVjdGlvbkhhbmRsZXINCkF0dHJpYnV0ZSBtX0RiQ29ubmVj +dGlvbi5WQl9WYXJIZWxwSUQgPSAtMQ0KDQpQdWJsaWMgRXZlbnQgQmVmb3JlSW5p +dERiQ29ubmVjdGlvbihCeVJlZiBPZGJjQ29ubmVjdGlvblN0cmluZyBBcyBTdHJp +bmcsIEJ5UmVmIE9sZWRiQ29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcsIEJ5UmVm +IFNldHRpbmdzIEFzIERiQ29ubmVjdGlvblNldHRpbmdzKQ0KUHVibGljIEV2ZW50 +IERiQ29ubmVjdGlvbkluaXRpYWxpemVkKCkNCg0KUHJpdmF0ZSBtX0RlZmF1bHRE +YkNvbm5lY2lvblNldHRpbmdzIEFzIERiQ29ubmVjdGlvblNldHRpbmdzDQpQcml2 +YXRlIG1fUGVybWFuZW50QmFja2VuZFJzdCBBcyBEQU8uUmVjb3Jkc2V0DQpQcml2 +YXRlIG1fRGlzcG9zZWQgQXMgQm9vbGVhbg0KDQpQcml2YXRlIG1fRGJtc1VzZXJO +YW1lIEFzIFN0cmluZw0KUHJpdmF0ZSBtX0RibXNVc2VyUGFzc3dvcmQgQXMgU3Ry +aW5nDQoNClByaXZhdGUgU3ViIENsYXNzX1Rlcm1pbmF0ZSgpDQpPbiBFcnJvciBS +ZXN1bWUgTmV4dA0KICAgRGlzcG9zZQ0KRW5kIFN1Yg0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogRGlzcG9zZQ0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBSZW1v +dmUgb2JqZWN0IHJlZmVyZW5jZXMNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBTdWIgRGlzcG9zZSgpDQoNCk9uIEVy +cm9yIFJlc3VtZSBOZXh0DQogICANCiAgIElmIG1fRGlzcG9zZWQgVGhlbiBFeGl0 +IFN1Yg0KDQogICBEaXNwb3NlUGVybWFuZW50QmFja2VuZFJzdA0KICAgDQogICBT +ZXQgbV9EYkNvbm5lY3Rpb24gPSBOb3RoaW5nDQogICBTZXQgbV9EYkNvbm5lY3Rp +b25JbmZvID0gTm90aGluZw0KDQogICBtX0Rpc3Bvc2VkID0gKDAgPSBFcnIuTnVt +YmVyKQ0KDQpFbmQgU3ViDQoNClB1YmxpYyBTdWIgU2V0VXNlckRhdGEoQnlWYWwg +VXNlck5hbWUgQXMgU3RyaW5nLCBCeVZhbCBQYXNzd29yZCBBcyBTdHJpbmcpDQog +ICBtX0RibXNVc2VyTmFtZSA9IFVzZXJOYW1lDQogICBtX0RibXNVc2VyUGFzc3dv +cmQgPSBQYXNzd29yZA0KRW5kIFN1Yg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBDaGVja0Nvbm5lY3Rpb25T +dGF0dXMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicNCicgVGVzdCB3aGV0aGVyIGEgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNo +ZWQNCicNCicgUmV0dXJuczoNCicgICAgIEJvb2xlYW4gLSBUcnVlIGlmIHN1Y2Nl +c3MNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +ClB1YmxpYyBGdW5jdGlvbiBDaGVja0Nvbm5lY3Rpb25TdGF0dXMoKSBBcyBCb29s +ZWFuDQoNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQoNCiAgIENoZWNrQ29ubmVjdGlv +blN0YXR1cyA9IENvbm5lY3Rpb25JbmZvLkNoZWNrQ29ubmVjdGlvbg0KDQpFbmQg +RnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJyBQcm9wZXJ0eTogRGVmYXVsdFNldHRpbmdzDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIFRlc3Qgd2hldGhlciBh +IGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkDQonDQonIFJldHVybnM6DQon +ICAgICA8ZGF0YS5EYkNvbm5lY3Rpb25TZXR0aW5ncz4NCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBH +ZXQgRGVmYXVsdFNldHRpbmdzKCkgQXMgRGJDb25uZWN0aW9uU2V0dGluZ3MNCiAg +IElmIG1fRGVmYXVsdERiQ29ubmVjaW9uU2V0dGluZ3MgSXMgTm90aGluZyBUaGVu +DQogICAgICBTZXQgbV9EZWZhdWx0RGJDb25uZWNpb25TZXR0aW5ncyA9IE5ldyBE +YkNvbm5lY3Rpb25TZXR0aW5ncw0KICAgICAgbV9EZWZhdWx0RGJDb25uZWNpb25T +ZXR0aW5ncy5EZWZhdWx0QWRvZGJDdXJzb3JMb2NhdGlvbiA9IGFkVXNlU2VydmVy +DQogICAgICBtX0RlZmF1bHREYkNvbm5lY2lvblNldHRpbmdzLk9wZW5QZXJtYW5l +bnRCYWNrZW5kUmVjb3Jkc2V0ID0gVHJ1ZQ0KICAgRW5kIElmDQogICBTZXQgRGVm +YXVsdFNldHRpbmdzID0gbV9EZWZhdWx0RGJDb25uZWNpb25TZXR0aW5ncw0KRW5k +IFByb3BlcnR5DQoNClByaXZhdGUgU3ViIERpc3Bvc2VQZXJtYW5lbnRCYWNrZW5k +UnN0KCkNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQogICBJZiBOb3QgKG1fUGVybWFu +ZW50QmFja2VuZFJzdCBJcyBOb3RoaW5nKSBUaGVuDQogICAgICBtX1Blcm1hbmVu +dEJhY2tlbmRSc3QuQ2xvc2UNCiAgICAgIFNldCBtX1Blcm1hbmVudEJhY2tlbmRS +c3QgPSBOb3RoaW5nDQogICBFbmQgSWYNCkVuZCBTdWINCg0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTogQ29ubmVj +dGlvbkluZm8NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCicNCicgRGJDb25uZWN0aW9uSW5mbyBpbnN0YW5jZQ0KJw0KJyBSZXR1cm5z +Og0KJyAgICAgPGRhdGEuRGJDb25uZWN0aW9uSW5mbz4NCicNCicgUmVtYXJrczoN +CicgICAgIFVzZWQgdG8gb3V0cHV0IGluZm9ybWF0aW9uIG9uIHRoZSBkYXRhYmFz +ZSBjb25uZWN0aW9uDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQpQdWJsaWMgUHJvcGVydHkgR2V0IENvbm5lY3Rpb25JbmZvKCkg +QXMgRGJDb25uZWN0aW9uSW5mbw0KDQogICBJZiBtX0RiQ29ubmVjdGlvbkluZm8g +SXMgTm90aGluZyBUaGVuDQogICAgICBTZXQgbV9EYkNvbm5lY3Rpb25JbmZvID0g +TmV3IERiQ29ubmVjdGlvbkluZm8NCiAgICAgIG1fRGlzcG9zZWQgPSBGYWxzZQ0K +ICAgRW5kIElmDQogICBTZXQgQ29ubmVjdGlvbkluZm8gPSBtX0RiQ29ubmVjdGlv +bkluZm8NCiAgIA0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IERiQ29ubmVjdGlvbg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBE +YkNvbm5lY3Rpb25IYW5kbGVyIGluc3RhbmNlID0gVG9wIGxldmVsIG9mIHRoZSBk +YXRhIGFjY2VzcyBzdHJ1Y3R1cmUNCicNCicgUmV0dXJuczoNCicgICAgIDxkYXRh +LkRiQ29ubmVjdGlvbkhhbmRsZXI+DQonDQonIFJlbWFya3M6DQonICAgICBFbmNh +cHN1bGF0ZXMgQURPREIgYW5kIERBTyBtZXRob2RzIGFzIHdlbGwgYXMgT0RCQyBh +Y2Nlc3Nlcw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBEYkNvbm5lY3Rpb24oKSBBcyBEYkNv +bm5lY3Rpb25IYW5kbGVyDQoNCiAgIElmIG1fRGJDb25uZWN0aW9uIElzIE5vdGhp +bmcgVGhlbg0KICAgICAgSW5pdERiQ29ubmVjdGlvbg0KICAgRW5kIElmDQogICBT +ZXQgRGJDb25uZWN0aW9uID0gbV9EYkNvbm5lY3Rpb24NCiAgIA0KRW5kIFByb3Bl +cnR5DQoNClByaXZhdGUgU3ViIEluaXREYkNvbm5lY3Rpb24oKQ0KICAgDQogICBE +aW0gT2RiY0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQogICBEaW0gT2xlZGJD +b25uZWN0aW9uU3RyaW5nIEFzIFN0cmluZw0KICAgRGltIE5ld1NldHRpbmdzIEFz +IERiQ29ubmVjdGlvblNldHRpbmdzDQogICANCiAgIElmIG1fRGJDb25uZWN0aW9u +IElzIE5vdGhpbmcgVGhlbg0KICAgICAgU2V0IG1fRGJDb25uZWN0aW9uID0gTmV3 +IERiQ29ubmVjdGlvbkhhbmRsZXINCiAgIEVuZCBJZg0KICAgDQogICBTZXQgTmV3 +U2V0dGluZ3MgPSBEZWZhdWx0U2V0dGluZ3MuQ2xvbmUNCiAgIFdpdGggTWUuQ29u +bmVjdGlvbkluZm8NCiAgICAgIE9kYmNDb25uZWN0aW9uU3RyaW5nID0gLk9kYmND +b25uZWN0aW9uU3RyaW5nDQogICAgICBPbGVkYkNvbm5lY3Rpb25TdHJpbmcgPSAu +T2xlZGJDb25uZWN0aW9uU3RyaW5nDQogICAgICBOZXdTZXR0aW5ncy5TcWxEYXRl +Rm9ybWF0ID0gLkRhdGVGb3JtYXQNCiAgICAgIE5ld1NldHRpbmdzLlNxbFdpbGRD +YXJkU3RyaW5nID0gLldpbGRDYXJkU3RyaW5nDQogICAgICBOZXdTZXR0aW5ncy5T +cWxCb29sZWFuVHJ1ZVN0cmluZyA9IC5Cb29sZWFuVHJ1ZVN0cmluZw0KICAgRW5k +IFdpdGgNCiAgIA0KICAgUmFpc2VFdmVudCBCZWZvcmVJbml0RGJDb25uZWN0aW9u +KE9kYmNDb25uZWN0aW9uU3RyaW5nLCBPbGVkYkNvbm5lY3Rpb25TdHJpbmcsIE5l +d1NldHRpbmdzKQ0KICAgDQogICAnIERlZmF1bHRTZXR0aW5ncyB2b24gTmV3U2V0 +dGluZ3Mg/GJlcm5laG1lbjoNCiAgICcgS29waWVyZW4gdW5kIG5pY2h0IFJlZmVy +ZW56IHp1d2Vpc2VuLCBkYW1pdCBEYXRlbiBwYXNzZW4sIGZhbGxzIGFuIGFuZGVy +ZXIgU3RlbGxlIGJlcmVpdHMgZWluZSBSZWZlcmVueiBhdWYgRGVmYXVsdFNldHRp +bmdzIGdlc2V0enQgd3VyZGUNCiAgIERlZmF1bHRTZXR0aW5ncy5Db3B5RnJvbSBO +ZXdTZXR0aW5ncw0KICAgDQogICBTZXQgbV9EYkNvbm5lY3Rpb24uQ3VycmVudERi +ID0gQXBwbGljYXRpb24uQ3VycmVudERiICcgLi4uIG5pY2h0IHVuYmVkaW5ndCBl +cmZvcmRlcmxpY2gsIHdpcmQgYmVpIEJlZGFyZiD8YmVyIEV2ZW50IGFuZ2Vmb3Jk +ZXJ0DQogICBtX0RiQ29ubmVjdGlvbi5PZGJjQ29ubmVjdGlvblN0cmluZyA9IE9k +YmNDb25uZWN0aW9uU3RyaW5nDQogICBtX0RiQ29ubmVjdGlvbi5PbGVkYkNvbm5l +Y3Rpb25TdHJpbmcgPSBPbGVkYkNvbm5lY3Rpb25TdHJpbmcNCiAgIA0KICAgV2l0 +aCBEZWZhdWx0U2V0dGluZ3MNCg0KICAgICAgU3FsVG9vbHMuU3FsRGF0ZUZvcm1h +dCA9IC5TcWxEYXRlRm9ybWF0DQogICAgICBTcWxUb29scy5TcWxXaWxkQ2FyZFN0 +cmluZyA9IC5TcWxXaWxkQ2FyZFN0cmluZw0KICAgICAgU3FsVG9vbHMuU3FsQm9v +bGVhblRydWVTdHJpbmcgPSAuU3FsQm9vbGVhblRydWVTdHJpbmcNCiAgICAgIA0K +ICAgICAgIG1fRGJDb25uZWN0aW9uLkFET0RCLkRlZmF1bHRDdXJzb3JMb2NhdGlv +biA9IC5EZWZhdWx0QWRvZGJDdXJzb3JMb2NhdGlvbg0KICAgICAgDQogICAgICBJ +ZiAuT3BlblBlcm1hbmVudEJhY2tlbmRSZWNvcmRzZXQgVGhlbg0KICAgICAgICAg +T3BlblBlcm1hbmVudEJhY2tlbmRSZWNvcmRzZXQNCiAgICAgIEVuZCBJZg0KICAg +ICAgDQogICBFbmQgV2l0aA0KDQogICBSYWlzZUV2ZW50IERiQ29ubmVjdGlvbklu +aXRpYWxpemVkDQoNCkVuZCBTdWINCg0KUHJpdmF0ZSBTdWIgT3BlblBlcm1hbmVu +dEJhY2tlbmRSZWNvcmRzZXQoKQ0KDQogICBJZiBOb3QgKG1fUGVybWFuZW50QmFj +a2VuZFJzdCBJcyBOb3RoaW5nKSBUaGVuDQogICBPbiBFcnJvciBSZXN1bWUgTmV4 +dA0KICAgICAgbV9QZXJtYW5lbnRCYWNrZW5kUnN0LkNsb3NlDQogICBPbiBFcnJv +ciBHb1RvIDANCiAgICAgIFNldCBtX1Blcm1hbmVudEJhY2tlbmRSc3QgPSBOb3Ro +aW5nDQogICBFbmQgSWYNCiAgIA0KICAgSWYgTGVuKENvbm5lY3Rpb25JbmZvLkRi +bXNOYW1lKSA9IDAgVGhlbg0KICAgICAgRXhpdCBTdWINCiAgIEVuZCBJZg0KICAg +DQogICBJZiBMZW4oTWUuQ29ubmVjdGlvbkluZm8uT2RiY0Nvbm5lY3Rpb25TdHJp +bmcpID4gMCBUaGVuDQogICAgICBTZXQgbV9QZXJtYW5lbnRCYWNrZW5kUnN0ID0g +TWUuRGJDb25uZWN0aW9uLk9EQkMuT3BlblJlY29yZHNldFBUKE1lLkNvbm5lY3Rp +b25JbmZvLlBlcm1hbmVudEJhY2tlbmRSc3RTcWxUZXh0LCBkYk9wZW5TbmFwc2hv +dCkNCiAgIEVuZCBJZg0KICAgDQpFbmQgU3ViDQoNCg0KJyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCicNCicgRXZlbnQgaGFuZGxpbmcN +CicNCicgRGJDb25uZWN0aW9uaW5mbw0KJw0KUHJpdmF0ZSBTdWIgbV9EYkNvbm5l +Y3Rpb25JbmZvX0RibXNDb25uZWN0aW9uQ2hhbmdlZChCeVZhbCBuZXdDSUQgQXMg +U3RyaW5nKQ0KICAgJ0RiQ29ubmVjdGlvbiBuZXUgaW5pdGlhbGlzaWVyZW4gbGFz +c2VuDQogICANCk9uIEVycm9yIFJlc3VtZSBOZXh0DQoNCiAgICdBRE8tVmVyYmlu +ZHVuZyBzY2hsaWXfZW4NCiAgIE1lLkRiQ29ubmVjdGlvbi5BRE9EQi5EaXNwb3Nl +DQogICANCiAgICdPREJDLVZlcmJpbmR1bmcgc2NobGll32VuDQogICBNZS5EYkNv +bm5lY3Rpb24uT0RCQy5EaXNwb3NlDQogICANCiAgICdWZXJiaW5kdW5nIHp1bSBC +RSD2ZmZuZW4NCiAgIElmIERlZmF1bHRTZXR0aW5ncy5PcGVuUGVybWFuZW50QmFj +a2VuZFJlY29yZHNldCBUaGVuDQogICAgICBPcGVuUGVybWFuZW50QmFja2VuZFJl +Y29yZHNldA0KICAgRW5kIElmDQogICANCkVuZCBTdWINCg0KUHJpdmF0ZSBTdWIg +bV9EYkNvbm5lY3Rpb25JbmZvX0RibXNDb25uZWN0aW9uSW5mb0NsZWFyZWQoKQ0K +DQonPT4gVmVyYmluZHVuZ3NpbnN0YW56ZW4gZW50ZmVybmVuDQoNCk9uIEVycm9y +IFJlc3VtZSBOZXh0DQoNCiAgICdBRE8tVmVyYmluZHVuZyBzY2hsaWXfZW4NCiAg +IE1lLkRiQ29ubmVjdGlvbi5BRE9EQi5EaXNwb3NlDQogICANCiAgICdPREJDLVZl +cmJpbmR1bmcgc2NobGll32VuDQogICBNZS5EYkNvbm5lY3Rpb24uT0RCQy5EaXNw +b3NlDQogICANCkVuZCBTdWINCg0KUHJpdmF0ZSBTdWIgbV9EYkNvbm5lY3Rpb25J +bmZvX0Rpc3Bvc2VkKCkNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQogICBTZXQgbV9E +YkNvbm5lY3Rpb25JbmZvID0gTm90aGluZw0KRW5kIFN1Yg0KDQpQcml2YXRlIFN1 +YiBtX0RiQ29ubmVjdGlvbkluZm9fTG9naW5EYXRhUmVxdWlyZWQoVXNlck5hbWUg +QXMgU3RyaW5nLCBQYXNzd29yZCBBcyBTdHJpbmcpDQogICBJZiBMZW4obV9EYm1z +VXNlck5hbWUpID4gMCBUaGVuDQogICAgICBVc2VyTmFtZSA9IG1fRGJtc1VzZXJO +YW1lDQogICAgICBQYXNzd29yZCA9IG1fRGJtc1VzZXJQYXNzd29yZA0KICAgRW5k +IElmDQpFbmQgU3ViDQoNClByaXZhdGUgU3ViIG1fRGJDb25uZWN0aW9uSW5mb19Q +YXNzd29yZENoYW5nZWQoKQ0KDQogICBNc2dCb3ggIkEgcmVzdGFydCBpcyByZXF1 +aXJlZCBmb3IgdGhlIE9EQkMgY29ubmVjdGlvbiBvZiB0aGUgbGlua2VkIHRhYmxl +cyEiICYgdmJOZXdMaW5lICYgXw0KICAgICAgICAgICJUaGUgY29ubmVjdGlvbiB2 +aWEgQURPREIvT0xFREIgcmVzcG9uZHMgdG8gdGhlIG5ldyBwYXNzd29yZCBmcm9t +IG5vdyBvbi4iDQoNCiAgICdEYkNvbm5lY3Rpb24gbmV1IGVpbnN0ZWxsZW4NCiAg +IEluaXREYkNvbm5lY3Rpb24NCg0KRW5kIFN1Yg0KDQonDQonIERiQ29ubmVjdGlv +bg0KJw0KUHJpdmF0ZSBTdWIgbV9EYkNvbm5lY3Rpb25fRGlzcG9zZWQoKQ0KT24g +RXJyb3IgUmVzdW1lIE5leHQNCiAgIFNldCBtX0RiQ29ubmVjdGlvbiA9IE5vdGhp +bmcNCkVuZCBTdWINCg0KUHJpdmF0ZSBTdWIgbV9EYkNvbm5lY3Rpb25fRXJyb3JF +bXB0eU9kYmNDb25uZWN0aW9uU3RyaW5nKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIE5l +d0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nKQ0KICAgTmV3Q29ubmVjdGlvblN0 +cmluZyA9IE1lLkNvbm5lY3Rpb25JbmZvLk9kYmNDb25uZWN0aW9uU3RyaW5nDQpF +bmQgU3ViDQoNClByaXZhdGUgU3ViIG1fRGJDb25uZWN0aW9uX0Vycm9yRW1wdHlP +bGVkYkNvbm5lY3Rpb25TdHJpbmcoQnlWYWwgTXNnIEFzIFN0cmluZywgTmV3Q29u +bmVjdGlvblN0cmluZyBBcyBTdHJpbmcpDQogICBOZXdDb25uZWN0aW9uU3RyaW5n +ID0gTWUuQ29ubmVjdGlvbkluZm8uT2xlZGJDb25uZWN0aW9uU3RyaW5nDQpFbmQg +U3ViDQoNClByaXZhdGUgU3ViIG1fRGJDb25uZWN0aW9uX0Vycm9yTWlzc2luZ0N1 +cnJlbnRDb25uZWN0aW9uKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIE5ld0N1cnJlbnRD +b25uZWN0aW9uIEFzIEFET0RCLkNvbm5lY3Rpb24pDQonIE5vIHJlc2V0IHJlcXVp +cmVkLCBjb25uZWN0aW9uIGlzIHNldCB2aWEgT2xlZGJDb25uZWN0aW9uU3RyaW5n +Lg0KJyBTaG91bGQgdGhpcyBhbHNvIGJlIG1pc3NpbmcsIEVycm9yRW1wdHlPbGVk +YkNvbm5lY3Rpb25TdHJpbmcgaXMgdHJpZ2dlcmVkLg0KRW5kIFN1Yg0KDQpQcml2 +YXRlIFN1YiBtX0RiQ29ubmVjdGlvbl9FcnJvck1pc3NpbmdDdXJyZW50RGIoQnlW +YWwgTXNnIEFzIFN0cmluZywgTmV3Q3VycmVudERiUmVmIEFzIERBTy5EYXRhYmFz +ZSkNCiAgIFNldCBOZXdDdXJyZW50RGJSZWYgPSBBcHBsaWNhdGlvbi5DdXJyZW50 +RGINCkVuZCBTdWINCg== + + 20231011081056 + data/DbConnectionManager.cls + + + DbConnectionSettings + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIkRiQ29ubmVjdGlvblNldHRpbmdz +Ig0KQXR0cmlidXRlIFZCX0dsb2JhbE5hbWVTcGFjZSA9IEZhbHNlDQpBdHRyaWJ1 +dGUgVkJfQ3JlYXRhYmxlID0gRmFsc2UNCkF0dHJpYnV0ZSBWQl9QcmVkZWNsYXJl +ZElkID0gRmFsc2UNCkF0dHJpYnV0ZSBWQl9FeHBvc2VkID0gRmFsc2UNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgQ2xhc3M6IGRh +dGEuRGJDb25uZWN0aW9uU2V0dGluZ3MNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQXV4aWxpYXJ5IGNsYXNzIGZvciBjYWNo +aW5nIHRoZSBjb25uZWN0aW9uIHBhcmFtZXRlcnMNCicNCicgQXV0aG9yOg0KJyAg +ICAgSm9zZWYgUG9ldHpsDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCic8Y29kZWxpYj4NCicgIDxmaWxlPmRhdGEvRGJDb25uZWN0aW9u +U2V0dGluZ3MuY2xzPC9maWxlPg0KJyAgPGxpY2Vuc2U+X2NvZGVsaWIvbGljZW5z +ZS5iYXM8L2xpY2Vuc2U+DQonICA8cmVmPjxuYW1lPkFET0RCPC9uYW1lPjxtYWpv +cj4yPC9tYWpvcj48bWlub3I+MTwvbWlub3I+PGd1aWQ+ezAwMDAwMjAxLTAwMDAt +MDAxMC04MDAwLTAwQUEwMDZEMkVBNH08L2d1aWQ+PC9yZWY+DQonPC9jb2RlbGli +Pg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0K +T3B0aW9uIENvbXBhcmUgRGF0YWJhc2UNCk9wdGlvbiBFeHBsaWNpdA0KDQonU3Fs +VG9vbHMgcGFyYW1ldGVyDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IFNxbERhdGVGb3JtYXQNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRGF0ZSBmb3Jt +YXQgc3RyaW5nDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQpQdWJsaWMgU3FsRGF0ZUZvcm1hdCBBcyBTdHJpbmcNCg0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0eTog +U3FsV2lsZENhcmRTdHJpbmcNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicNCicgU1FMIHdpbGRjYXJkDQonDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgU3FsV2lsZENhcmRT +dHJpbmcgQXMgU3RyaW5nDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IFNxbEJvb2xlYW5UcnVlU3RyaW5nDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIFNR +TCBzdHJpbmcgZm9yIGJvb2xlYW4gdHJ1ZQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFNxbEJvb2xlYW5UcnVlU3Ry +aW5nIEFzIFN0cmluZw0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIFByb3BlcnR5OiBEZWZhdWx0QWRvZGJDdXJzb3JMb2NhdGlv +bg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0K +JyBEZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBmb3IgQURPREIuQ3Vyc29yTG9jYXRp +b25FbnVtDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQpQdWJsaWMgRGVmYXVsdEFkb2RiQ3Vyc29yTG9jYXRpb24gQXMgQURPREIu +Q3Vyc29yTG9jYXRpb25FbnVtDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IE9wZW5QZXJtYW5lbnRCYWNrZW5k +UmVjb3Jkc2V0DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIE9wZW4gcGVybWFuZW50IGJhY2tlbmQgcmVjb3Jkc2V0IGlmIGNv +bm5lY3RlZA0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIE9wZW5QZXJtYW5lbnRCYWNrZW5kUmVjb3Jkc2V0IEFzIEJv +b2xlYW4NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBQcm9wZXJ0eTogQ2xvbmUNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NCicNCicgQ2xvbmUgb2YgY3VycmVudCBjb25maWcNCicN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1Ymxp +YyBGdW5jdGlvbiBDbG9uZSgpIEFzIERiQ29ubmVjdGlvblNldHRpbmdzDQogICBE +aW0gTmV3T2JqZWN0IEFzIERiQ29ubmVjdGlvblNldHRpbmdzDQogICBTZXQgTmV3 +T2JqZWN0ID0gTmV3IERiQ29ubmVjdGlvblNldHRpbmdzDQogICBOZXdPYmplY3Qu +Q29weUZyb20gTWUNCiAgIFNldCBDbG9uZSA9IE5ld09iamVjdA0KRW5kIEZ1bmN0 +aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgUHJvcGVydHk6IENvcHlGcm9tDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQonDQonIENvcHkgRGJDb25uZWN0aW9uU2V0dGluZ3MN +CicNCicgUGFyYW1ldGVyczoNCicgICAgIE5ld1NldHRpbmdzIC0gRGJDb25uZWN0 +aW9uU2V0dGluZ3MgdG8gY29weQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFN1YiBDb3B5RnJvbShCeVZhbCBOZXdT +ZXR0aW5ncyBBcyBEYkNvbm5lY3Rpb25TZXR0aW5ncykNCg0KICAgV2l0aCBOZXdT +ZXR0aW5ncw0KICAgICAgDQogICAgICBTcWxEYXRlRm9ybWF0ID0gLlNxbERhdGVG +b3JtYXQNCiAgICAgIFNxbFdpbGRDYXJkU3RyaW5nID0gLlNxbFdpbGRDYXJkU3Ry +aW5nDQogICAgICBTcWxCb29sZWFuVHJ1ZVN0cmluZyA9IC5TcWxCb29sZWFuVHJ1 +ZVN0cmluZw0KICAgICAgDQogICAgICBEZWZhdWx0QWRvZGJDdXJzb3JMb2NhdGlv +biA9IC5EZWZhdWx0QWRvZGJDdXJzb3JMb2NhdGlvbg0KICAgICAgDQogICAgICBP +cGVuUGVybWFuZW50QmFja2VuZFJlY29yZHNldCA9IC5PcGVuUGVybWFuZW50QmFj +a2VuZFJlY29yZHNldA0KICAgICAgDQogICBFbmQgV2l0aA0KICAgDQpFbmQgU3Vi +DQo= + + 20231011081056 + data/DbConnectionSettings.cls + + + LoginForm + //5WAGUAcgBzAGkAbwBuACAAPQAyADEADQAKAFYAZQByAHMAaQBvAG4AUgBlAHEA +dQBpAHIAZQBkACAAPQAyADAADQAKAFAAdQBiAGwAaQBzAGgATwBwAHQAaQBvAG4A +IAA9ADEADQAKAEMAaABlAGMAawBzAHUAbQAgAD0ALQAxADkAMgA1ADAAMQA0ADYA +NwAyAA0ACgBCAGUAZwBpAG4AIABGAG8AcgBtAA0ACgAgACAAIAAgAEEAbABsAG8A +dwBGAGkAbAB0AGUAcgBzACAAPQAgAE4AbwB0AEQAZQBmAGEAdQBsAHQADQAKACAA +IAAgACAAUABvAHAAVQBwACAAPQAgAE4AbwB0AEQAZQBmAGEAdQBsAHQADQAKACAA +IAAgACAAUgBlAGMAbwByAGQAUwBlAGwAZQBjAHQAbwByAHMAIAA9ACAATgBvAHQA +RABlAGYAYQB1AGwAdAANAAoAIAAgACAAIABDAG8AbgB0AHIAbwBsAEIAbwB4ACAA +PQAgAE4AbwB0AEQAZQBmAGEAdQBsAHQADQAKACAAIAAgACAAQQB1AHQAbwBDAGUA +bgB0AGUAcgAgAD0AIABOAG8AdABEAGUAZgBhAHUAbAB0AA0ACgAgACAAIAAgAE4A +YQB2AGkAZwBhAHQAaQBvAG4AQgB1AHQAdABvAG4AcwAgAD0AIABOAG8AdABEAGUA +ZgBhAHUAbAB0AA0ACgAgACAAIAAgAEQAaQB2AGkAZABpAG4AZwBMAGkAbgBlAHMA +IAA9ACAATgBvAHQARABlAGYAYQB1AGwAdAANAAoAIAAgACAAIABEAGUAZgBhAHUA +bAB0AFYAaQBlAHcAIAA9ADAADQAKACAAIAAgACAAUwBjAHIAbwBsAGwAQgBhAHIA +cwAgAD0AMAANAAoAIAAgACAAIABWAGkAZQB3AHMAQQBsAGwAbwB3AGUAZAAgAD0A +MQANAAoAIAAgACAAIABUAGEAYgB1AGwAYQByAEYAYQBtAGkAbAB5ACAAPQAxADIA +NAANAAoAIAAgACAAIABCAG8AcgBkAGUAcgBTAHQAeQBsAGUAIAA9ADMADQAKACAA +IAAgACAAUABpAGMAdAB1AHIAZQBBAGwAaQBnAG4AbQBlAG4AdAAgAD0AMgANAAoA +IAAgACAAIABEAGEAdABhAHMAaABlAGUAdABHAHIAaQBkAGwAaQBuAGUAcwBCAGUA +aABhAHYAaQBvAHIAIAA9ADMADQAKACAAIAAgACAAQwB5AGMAbABlACAAPQAxAA0A +CgAgACAAIAAgAEcAcgBpAGQAWQAgAD0AMQAwAA0ACgAgACAAIAAgAFcAaQBkAHQA +aAAgAD0AMwA5ADEAMQANAAoAIAAgACAAIABEAGEAdABhAHMAaABlAGUAdABGAG8A +bgB0AEgAZQBpAGcAaAB0ACAAPQAxADAADQAKACAAIAAgACAASQB0AGUAbQBTAHUA +ZgBmAGkAeAAgAD0ANgANAAoAIAAgACAAIABMAGUAZgB0ACAAPQAxADEAOQA1ADUA +DQAKACAAIAAgACAAVABvAHAAIAA9ADMAMQAwADUADQAKACAAIAAgACAAUgBpAGcA +aAB0ACAAPQAxADcAMQA3ADUADQAKACAAIAAgACAAQgBvAHQAdABvAG0AIAA9ADcA +MwAwADUADQAKACAAIAAgACAARABhAHQAYQBzAGgAZQBlAHQARwByAGkAZABsAGkA +bgBlAHMAQwBvAGwAbwByACAAPQAxADIANgAzADIAMgA1ADYADQAKACAAIAAgACAA +TwBuAFUAbgBsAG8AYQBkACAAPQAiAFsARQB2AGUAbgB0ACAAUAByAG8AYwBlAGQA +dQByAGUAXQAiAA0ACgAgACAAIAAgAFIAZQBjAFMAcgBjAEQAdAAgAD0AIABCAGUA +ZwBpAG4ADQAKACAAIAAgACAAIAAgACAAIAAwAHgANgA4ADUANgA4AGUAYgAxADkA +ZQBlADIAZQAyADQAMAANAAoAIAAgACAAIABFAG4AZAANAAoAIAAgACAAIABHAFUA +SQBEACAAPQAgAEIAZQBnAGkAbgANAAoAIAAgACAAIAAgACAAIAAgADAAeABlAGQA +MABhAGQANgBiAGYANwAxAGEAMwA3AGUANAA5AGIANgBmAGEAYQA1ADMAMwAxADYA +MwBmADgAYgA3ADkADQAKACAAIAAgACAARQBuAGQADQAKACAAIAAgACAATgBhAG0A +ZQBNAGEAcAAgAD0AIABCAGUAZwBpAG4ADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MABhAGMAYwAwAGUANQA1ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MABjADAAMAAwADAAMAAwADAANQAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAANAAoAIAAgACAAIABFAG4AZAANAAoAIAAgACAA +IABDAGEAcAB0AGkAbwBuACAAPQAiAEwAbwBnAGkAbgAiAA0ACgAgACAAIAAgAEQA +YQB0AGEAcwBoAGUAZQB0AEYAbwBuAHQATgBhAG0AZQAgAD0AIgBBAHIAaQBhAGwA +IgANAAoAIAAgACAAIABQAHIAdABNAGkAcAAgAD0AIABCAGUAZwBpAG4ADQAKACAA +IAAgACAAIAAgACAAIAAwAHgAYQBlADAANQAwADAAMAAwAGEAZQAwADUAMAAwADAA +MABhAGUAMAA1ADAAMAAwADAAYQBlADAANQAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAyADAAMQBjADAAMAAwADAAZQAwADEAMAAwADAAMAAwADAAMQAwADAAMAAwADAA +MAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAxADAAMAAwADAAMAAwADYA +OAAwADEAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYQAxADAANwAwADAAMAAwADAA +MQAwADAAMAAwADAAMAAwADEAMAAwADAAMAAwADAADQAKACAAIAAgACAARQBuAGQA +DQAKACAAIAAgACAAUAByAHQARABlAHYATQBvAGQAZQAgAD0AIABCAGUAZwBpAG4A +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADUAMwA0AGUAMAAxADcAZAA0ADAA +OABkADAAMABmAGYAZgBmAGYAZgBmAGYAMAAwADAAMAAwADAAMAAwADcAZQAwAGUA +NwBhADAAMAAwADQANQA0ADQAZQAwADEAYwAwAGEAOAAwAGQAMAAwADMAZQBkADgA +NABmADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAxADAANAAwADAA +MAA2ADkAYwAwADAANAA0ADAAMwA1ADMAZQBmADgAMAAwADEAMAAxADAAMAAwADkA +MAAwADkAYQAwAGIAMwA0ADAAOAA2ADQAMAAwADAAMQAwADAAMABmADAAMAA1ADgA +MAAyADAAMgAwADAAMAAxADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +NQA4ADAAMgAwADMAMAAwADAAMQAwADAANAAxADMANAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADEAOABiAGIAYQAwADEAMAA1AGMANQA0ADQAZQAwADEA +MgBjADUAMwA0AGUAMAAxADEAYwAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAYgA4ADgAZQA5ADMANgBjADIAYwA1ADMAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADEA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMQAwADAAMAAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAyADAAMAAwADAAMAAwADAAMQAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUAMAA1ADIA +NAA5ADUANgAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAZQAyADMAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAxADgA +MAAwADAAMAAwADAAMAAwADAAMAAxADAAMgA3ADEAMAAyADcAMQAwADIANwAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAxADAAMgA3ADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAANwAwADAAMAA0ADQAMAAzADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADMAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMQAwADAAMAA1ADAAMwA0ADAAMwAwADAAMgA4ADgAOAAwADQA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAxADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MgA0ADAAMQBkAGYAOABjADAAMwAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAA1ADAAMAAwADQAMAAwAGYAZgAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAgACwADQAKACAAIAAgACAA +IAAgACAAIAAwAHgAMAAxADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADcAMAAwADAAMAAwADAAMAA1ADMA +NABkADUANAA0AGEAMAAwADAAMAAwADAAMAAwADEAMAAwADAANgAwADAAMAAgACwA +DQAKACAAIAAgACAAIAAgACAAIAAwAHgANAA2ADAAMAA3ADIAMAAwADYANQAwADAA +NgA1ADAAMAA1ADAAMAAwADQANAAwADAANAA2ADAAMAA1AGYAMAAwADUAOAAwADAA +NQAwADAAMAAwADAAMAAwADUAMgA2ADUANwAzADYAZgA2AGMANwA1ADcANAA2ADkA +NgBmADYAZQAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgAMAAwADMANgAzADAA +MwAwADYANAA3ADAANgA5ADAAMAA1ADAANgAxADYANwA2ADUANQAzADYAOQA3AGEA +NgA1ADAAMAA0AGMANgA1ADcANAA3ADQANgA1ADcAMgAwADAANQAwADYAMQA2ADcA +NgA1ADUAMgA2ADUANgA3ADYAOQAgACwADQAKACAAIAAgACAAIAAgACAAIAAwAHgA +NgBmADYAZQAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAANAAoAIAAgACAAIABFAG4A +ZAANAAoAIAAgACAAIABQAHIAdABEAGUAdgBOAGEAbQBlAHMAIAA9ACAAQgBlAGcA +aQBuAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAOAAwADAAMQAzADAAMAAxAGIA +MAAwADAAMQAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADQANgA3ADIA +NgA1ADYANQA1ADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADQANAA0ADYA +NQA4ADUAMAAzADEAMwBhADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAA +MAB4ADAAMAAwADAAMAAwAA0ACgAgACAAIAAgAEUAbgBkAA0ACgAgACAAIAAgAE8A +bgBMAG8AYQBkACAAPQAiAFsARQB2AGUAbgB0ACAAUAByAG8AYwBlAGQAdQByAGUA +XQAiAA0ACgAgACAAIAAgAEYAaQBsAHQAZQByAE8AbgBMAG8AYQBkACAAPQAwAA0A +CgAgACAAIAAgAEEAbABsAG8AdwBMAGEAeQBvAHUAdABWAGkAZQB3ACAAPQAwAA0A +CgAgACAAIAAgAEQAYQB0AGEAcwBoAGUAZQB0AEcAcgBpAGQAbABpAG4AZQBzAEMA +bwBsAG8AcgAxADIAIAA9ADEAMgA2ADMAMgAyADUANgANAAoAIAAgACAAIABQAHIA +dABEAGUAdgBNAG8AZABlAFcAIAA9ACAAQgBlAGcAaQBuAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAANABmADAAMQAzADIAMAAwADAAMAAwADAAYwAwADAA +MABkADcAMABmADAAMAAwADAAZAA3ADAAZgAwAGEAMAAwADAAMAAwADAAMAAxADAA +MAAwADAAMAAwADAAMAAwADEAMAAwADAAMQA1ADAAMAAzADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADEAOAAxADUAZAA3ADAAZgBjADAAYQA4ADAA +ZAAwADAANwBmADAAMAAwADAAMAAwADEAOAAxADUAZAA3ADAAZgAyADAAMQA1AGQA +NwAwAGYANwA4AGQAZQA0AGYAMAAxADAAMAAwADAAMAAwADAAMAAzAGUAMAAyADAA +MAAzAGMAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMQAwADQAMAAwADAA +NgBkAGMAMAAwADQANAAwADMANQAzAGUAZgA4ADAAMAAxADAAMQAwADAAMAA5ADAA +MAA5AGEAMABiADMANAAwADgANgA0ADAAMAAwADEAMAAwADAAZgAwADAANQA4ADAA +MgAwADIAMAAwADAAMQAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADUA +OAAwADIAMAAzADAAMAAwADEAMAAwADQAMQAwADAAMwA0ADAAMAAwADAAMAAwAGMA +NABkAGUANABmADAAMQAwADAAMAAwADAAMAAwADAANQA0AGIAOAA0AGYAMAAxADIA +MABhAGUAMgA5ADcANwA4ADMAOQAxADcANgBmAGYAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4AGYAZQBmAGYAZgBmAGYAZgAxADgAYgA1ADQAZgAwADEAYQBjADYA +ZQAyADYANwA3ADMAYwAwADAAMAAwADAAMAA0ADgAMAAwADAAMAAwADAAYwA4ADAA +MgBkADcAMABmAGUAOABiADQANABmADAAMQAzADgAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAZAA3ADAAZgBiADAAMAA0ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAxADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADEAMAAwADAA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMgAwADAAMAAwADAA +MAAwADEAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAA1ADAANQAyADQAOQA1ADYAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4AGUA +MgAzADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMQA4ADAAMAAwADAAMAAwADAAMAAwADAAMQAwADIANwAxADAAMgA3ADEA +MAAyADcAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMQAwADIA +NwAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADcAMAAwADAANAA0ADAA +MwAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAzADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADEAMAAwADAANQAwADMANAAwADMAMAAwADIA +OAA4ADgAMAA0ADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMQAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADIANAAwADEAZABmADgAYwAwADMAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAANQAwADAAMAA0ADAAMABmAGYAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0A +CgAgACAAIAAgACAAIAAgACAAMAB4ADAAMQAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAA3ADAAMAAwADAA +MAAwADAANQAzADQAZAA1ADQANABhADAAMAAwADAAMAAwADAAMAAxADAAMAAwADYA +MAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADQANgAwADAANwAyADAA +MAA2ADUAMAAwADYANQAwADAANQAwADAAMAA0ADQAMAAwADQANgAwADAANQBmADAA +MAA1ADgAMAAwADUAMAAwADAAMAAwADAAMAA1ADIANgA1ADcAMwA2AGYANgBjADcA +NQA3ADQANgA5ADYAZgA2AGUAIAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAA +MAAzADYAMwAwADMAMAA2ADQANwAwADYAOQAwADAANQAwADYAMQA2ADcANgA1ADUA +MwA2ADkANwBhADYANQAwADAANABjADYANQA3ADQANwA0ADYANQA3ADIAMAAwADUA +MAA2ADEANgA3ADYANQA1ADIANgA1ADYANwA2ADkAIAAsAA0ACgAgACAAIAAgACAA +IAAgACAAMAB4ADYAZgA2AGUAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAADQAKACAA +IAAgACAARQBuAGQADQAKACAAIAAgACAAUAByAHQARABlAHYATgBhAG0AZQBzAFcA +IAA9ACAAQgBlAGcAaQBuAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAANAAwADAA +MABmADAAMAAxADcAMAAwADAAMQAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAIAAsAA0ACgAgACAAIAAgACAAIAAgACAA +MAB4ADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAANAA2ADAAMAA3ADIAMAAwADYANQAwADAANgA1ADAAMAA1ADAA +MAAwADQANAAwADAANAA2ADAAMAA1ADgAMAAwADUAMAAwADAAIAAsAA0ACgAgACAA +IAAgACAAIAAgACAAMAB4ADMAMQAwADAAMwBhADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +IAAsAA0ACgAgACAAIAAgACAAIAAgACAAMAB4ADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA +MAAwAA0ACgAgACAAIAAgAEUAbgBkAA0ACgAgACAAIAAgAE4AbwBTAGEAdgBlAEMA +VABJAFcAaABlAG4ARABpAHMAYQBiAGwAZQBkACAAPQAxAA0ACgAgACAAIAAgAEIA +ZQBnAGkAbgANAAoAIAAgACAAIAAgACAAIAAgAEIAZQBnAGkAbgAgAEwAYQBiAGUA +bAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQgBhAGMAawBTAHQAeQBsAGUA +IAA9ADAADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEYAbwBuAHQATgBhAG0A +ZQAgAD0AIgBUAGEAaABvAG0AYQAiAA0ACgAgACAAIAAgACAAIAAgACAARQBuAGQA +DQAKACAAIAAgACAAIAAgACAAIABCAGUAZwBpAG4AIABDAG8AbQBtAGEAbgBkAEIA +dQB0AHQAbwBuAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABXAGkAZAB0AGgA +IAA9ADEANwAwADEADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAZQBpAGcA +aAB0ACAAPQAyADgAMwANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBvAG4A +dABTAGkAegBlACAAPQA4AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABGAG8A +bgB0AFcAZQBpAGcAaAB0ACAAPQA0ADAAMAANAAoAIAAgACAAIAAgACAAIAAgACAA +IAAgACAARgBvAHIAZQBDAG8AbABvAHIAIAA9AC0AMgAxADQANwA0ADgAMwA2ADMA +MAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBvAG4AdABOAGEAbQBlACAA +PQAiAFQAYQBoAG8AbQBhACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEIA +bwByAGQAZQByAEwAaQBuAGUAUwB0AHkAbABlACAAPQAwAA0ACgAgACAAIAAgACAA +IAAgACAARQBuAGQADQAKACAAIAAgACAAIAAgACAAIABCAGUAZwBpAG4AIABUAGUA +eAB0AEIAbwB4AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABGAEUATABpAG4A +ZQBCAHIAZQBhAGsAIAA9ACAATgBvAHQARABlAGYAYQB1AGwAdAANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAUwBwAGUAYwBpAGEAbABFAGYAZgBlAGMAdAAgAD0A +MgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAATwBsAGQAQgBvAHIAZABlAHIA +UwB0AHkAbABlACAAPQAwAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABCAG8A +cgBkAGUAcgBMAGkAbgBlAFMAdAB5AGwAZQAgAD0AMAANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAVwBpAGQAdABoACAAPQAxADcAMAAxAA0ACgAgACAAIAAgACAA +IAAgACAAIAAgACAAIABMAGEAYgBlAGwAWAAgAD0ALQAxADcAMAAxAA0ACgAgACAA +IAAgACAAIAAgACAAIAAgACAAIABGAG8AbgB0AE4AYQBtAGUAIAA9ACIAVABhAGgA +bwBtAGEAIgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQQBzAGkAYQBuAEwA +aQBuAGUAQgByAGUAYQBrACAAPQAyADUANQANAAoAIAAgACAAIAAgACAAIAAgAEUA +bgBkAA0ACgAgACAAIAAgACAAIAAgACAAQgBlAGcAaQBuACAAUwBlAGMAdABpAG8A +bgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAASABlAGkAZwBoAHQAIAA9ADEA +NwAwADEADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEIAYQBjAGsAQwBvAGwA +bwByACAAPQAtADIAMQA0ADcANAA4ADMANgAzADMADQAKACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAE4AYQBtAGUAIAA9ACIARABlAHQAYQBpAGwAYgBlAHIAZQBpAGMA +aAAiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABHAFUASQBEACAAPQAgAEIA +ZQBnAGkAbgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAwAHgA +ZgBkAGQANgBlADEAOQBkADkANQBkAGYAZAA0ADQAZABhAGEANABlAGIANgA1ADEA +ZgAyAGQAMAA1ADcANwA4AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIABFAG4A +ZAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQgBlAGcAaQBuAA0ACgAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEIAZQBnAGkAbgAgAFQAZQB4AHQA +QgBvAHgADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IABBAGwAbABvAHcAQQB1AHQAbwBDAG8AcgByAGUAYwB0ACAAPQAgAE4AbwB0AEQA +ZQBmAGEAdQBsAHQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABTAHAAZQBjAGkAYQBsAEUAZgBmAGUAYwB0ACAAPQAwAA0ACgAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAATwB2AGUAcgBsAGEA +cABGAGwAYQBnAHMAIAA9ADgANQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAEkATQBFAFMAZQBuAHQAZQBuAGMAZQBNAG8AZABlACAA +PQAzAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +TABlAGYAdAAgAD0AMQA1ADgAMwANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAFQAbwBwACAAPQAyADIANQANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFcAaQBkAHQAaAAgAD0AMgAxADUA +NAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgA +ZQBpAGcAaAB0ACAAPQAyADUANQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAEYAbwBuAHQAUwBpAHoAZQAgAD0AOQANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEIAYQBjAGsAQwBvAGwA +bwByACAAPQAtADIAMQA0ADcANAA4ADMANgA0ADMADQAKACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIABGAG8AcgBlAEMAbwBsAG8AcgAgAD0A +LQAyADEANAA3ADQAOAAzADYANAAwAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAATgBhAG0AZQAgAD0AIgB0AHgAdABVAEkARAAiAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARwBVAEkA +RAAgAD0AIABCAGUAZwBpAG4ADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgADAAeAA5AGYAMwAxAGMAYQAxAGIAZgBjADUA +NABiADUANABmAGEANwBhADcAYQAxADMANQA3ADcAZQBjAGUAOABlADkADQAKACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABFAG4AZAANAAoA +DQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABCAGUA +ZwBpAG4ADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAEIAZQBnAGkAbgAgAEwAYQBiAGUAbAANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABPAHYA +ZQByAGwAYQBwAEYAbABhAGcAcwAgAD0AOAA1AA0ACgAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEwAZQBmAHQA +IAA9ADEANgA1AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAFQAbwBwACAAPQAyADIANQANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IABXAGkAZAB0AGgAIAA9ADEAMgA5ADMADQAKACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASABlAGkAZwBoAHQA +IAA9ADIANQA1AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAEYAbwBuAHQAUwBpAHoAZQAgAD0AOQANAAoA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABOAGEAbQBlACAAPQAiAGwAYQBiAEwAbwBnAGkAbgBOAGEAbQBlACIA +DQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAQwBhAHAAdABpAG8AbgAgAD0AIgBMAG8AZwBpAG4AIABuAGEA +bQBlACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAVABhAGcAIAA9ACIATABBAE4ARwA6ACIADQAKACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAARwBVAEkARAAgAD0AIABCAGUAZwBpAG4ADQAKACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAwAHgAZABmADUAYgA3ADAAZgAzAGUAMwBmADMAZgA0ADQANQA4AGMAMQA0AGQA +OQAwADAAZAAzADIANwA5AGYAOQBiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEUAbgBkAA0ACgAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABFAG4A +ZAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEUA +bgBkAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEUAbgBkAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEIAZQBnAGkAbgAgAFQA +ZQB4AHQAQgBvAHgADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABBAGwAbABvAHcAQQB1AHQAbwBDAG8AcgByAGUAYwB0ACAAPQAgAE4A +bwB0AEQAZQBmAGEAdQBsAHQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIABTAHAAZQBjAGkAYQBsAEUAZgBmAGUAYwB0ACAAPQAwAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAATwB2AGUA +cgBsAGEAcABGAGwAYQBnAHMAIAA9ADgANQANAAoAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAEkATQBFAFMAZQBuAHQAZQBuAGMAZQBNAG8A +ZABlACAAPQAzAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAATABlAGYAdAAgAD0AMQA1ADgAMwANAAoAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAFQAbwBwACAAPQA2ADIAMQANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFcAaQBkAHQAaAAgAD0A +MgAxADUANAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgAEgAZQBpAGcAaAB0ACAAPQAyADUANQANAAoAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAEYAbwBuAHQAUwBpAHoAZQAgAD0AOQANAAoA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFQAYQBiAEkA +bgBkAGUAeAAgAD0AMQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAEIAYQBjAGsAQwBvAGwAbwByACAAPQAtADIAMQA0ADcANAA4ADMA +NgA0ADMADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IABGAG8AcgBlAEMAbwBsAG8AcgAgAD0ALQAyADEANAA3ADQAOAAzADYANAAwAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAATgBhAG0A +ZQAgAD0AIgB0AHgAdABQAHcAZAAiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAASQBuAHAAdQB0AE0AYQBzAGsAIAA9ACIAUABhAHMA +cwB3AG8AcgBkACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABHAFUASQBEACAAPQAgAEIAZQBnAGkAbgANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAMAB4AGEAMwA3ADkA +NQBiADIAMwBhADAAMAAyADcANAA0ADMAYgBkADcANQA3AGEANQAyAGMAYgBmAGYA +MwAwAGUANgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgAEUAbgBkAA0ACgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAEIAZQBnAGkAbgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAQgBlAGcAaQBuACAATABhAGIAZQBsAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAE8AdgBlAHIAbABhAHAARgBsAGEAZwBzACAAPQA4ADUADQAKACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAATABlAGYAdAAgAD0AMQA2ADUADQAKACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAVABvAHAAIAA9ADYA +MgAxAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAFcAaQBkAHQAaAAgAD0AMQAyADkAMwANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IABIAGUAaQBnAGgAdAAgAD0AMgA1ADUADQAKACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBvAG4AdABTAGkA +egBlACAAPQA5AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgAE4AYQBtAGUAIAA9ACIAbABhAGIAUABhAHMA +cwB3AG8AcgBkACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAQwBhAHAAdABpAG8AbgAgAD0AIgBQAGEA +cwBzAHcAbwByAGQAIgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIABUAGEAZwAgAD0AIgBMAEEATgBHADoA +IgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIABHAFUASQBEACAAPQAgAEIAZQBnAGkAbgANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgADAAeABlADMAMQA2ADcANgA1AGMAOAAxAGEANgBlADUANAA1AGIA +OAA2ADIAMwA4ADkAMwBkADQAOABkADQAYQBiAGQADQAKACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARQBuAGQA +DQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgAEUAbgBkAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAARQBuAGQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +RQBuAGQADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQgBlAGcA +aQBuACAAQwBvAG0AbQBhAG4AZABCAHUAdAB0AG8AbgANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEQAZQBmAGEAdQBsAHQAIAA9ACAA +TgBvAHQARABlAGYAYQB1AGwAdAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAE8AdgBlAHIAbABhAHAARgBsAGEAZwBzACAAPQA4ADUA +DQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABBAGMA +YwBlAHMAcwBLAGUAeQAgAD0ANwA5AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAATABlAGYAdAAgAD0AMQA3ADAADQAKACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABUAG8AcAAgAD0AMQAxADMA +MwANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFcA +aQBkAHQAaAAgAD0AMQA0ADEAOAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgAEgAZQBpAGcAaAB0ACAAPQA0ADEAOAANAAoAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFQAYQBiAEkAbgBkAGUA +eAAgAD0AMgANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgAE4AYQBtAGUAIAA9ACIAYwBtAGQATABvAGcAaQBuACIADQAKACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABDAGEAcAB0AGkAbwBuACAA +PQAiACYATwBLACIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABPAG4AQwBsAGkAYwBrACAAPQAiAFsARQB2AGUAbgB0ACAAUAByAG8A +YwBlAGQAdQByAGUAXQAiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAARwBVAEkARAAgAD0AIABCAGUAZwBpAG4ADQAKACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADAAeAAwAGMA +NQBhADYANwAwADkANwBmAGIAMwBmAGEANABkAGEAMAA5ADgANwA3AGMAMAA1ADcA +NQA2ADkAZQA4ADgADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABFAG4AZAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgAFUAbgBpAGMAbwBkAGUAQQBjAGMAZQBzAHMASwBlAHkAIAA9ADcA +OQANAAoADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IABXAGUAYgBJAG0AYQBnAGUAUABhAGQAZABpAG4AZwBMAGUAZgB0ACAAPQAyAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAVwBlAGIA +SQBtAGEAZwBlAFAAYQBkAGQAaQBuAGcAVABvAHAAIAA9ADIADQAKACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABXAGUAYgBJAG0AYQBnAGUA +UABhAGQAZABpAG4AZwBSAGkAZwBoAHQAIAA9ADEADQAKACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIABXAGUAYgBJAG0AYQBnAGUAUABhAGQA +ZABpAG4AZwBCAG8AdAB0AG8AbQAgAD0AMQANAAoAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIABFAG4AZAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABCAGUAZwBpAG4AIABDAG8AbQBtAGEAbgBkAEIAdQB0AHQAbwBuAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQwBhAG4A +YwBlAGwAIAA9ACAATgBvAHQARABlAGYAYQB1AGwAdAANAAoAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAE8AdgBlAHIAbABhAHAARgBsAGEA +ZwBzACAAPQA4ADUADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABBAGMAYwBlAHMAcwBLAGUAeQAgAD0ANgA1AA0ACgAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAATABlAGYAdAAgAD0AMgAzADIA +NAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFQA +bwBwACAAPQAxADEAMwAzAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAVwBpAGQAdABoACAAPQAxADQAMQA4AA0ACgAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASABlAGkAZwBoAHQAIAA9ADQA +MQA4AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +VABhAGIASQBuAGQAZQB4ACAAPQAzAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAATgBhAG0AZQAgAD0AIgBjAG0AZABDAGEAbgBjAGUA +bAAiAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +QwBhAHAAdABpAG8AbgAgAD0AIgAmAEEAYgBiAHIAZQBjAGgAZQBuACIADQAKACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABPAG4AQwBsAGkA +YwBrACAAPQAiAFsARQB2AGUAbgB0ACAAUAByAG8AYwBlAGQAdQByAGUAXQAiAA0A +CgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARwBVAEkA +RAAgAD0AIABCAGUAZwBpAG4ADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgADAAeAA1ADkAZAA5ADEAYwA1AGQAYQAzADcA +MwBjAGYANABjADgANQA3ADIAMwAwAGYAZAAzADMAYwAxAGIAMwBjADgADQAKACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABFAG4AZAANAAoA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFUAbgBpAGMA +bwBkAGUAQQBjAGMAZQBzAHMASwBlAHkAIAA9ADYANQANAAoADQAKACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABXAGUAYgBJAG0AYQBnAGUA +UABhAGQAZABpAG4AZwBMAGUAZgB0ACAAPQAyAA0ACgAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIAAgACAAIAAgACAAVwBlAGIASQBtAGEAZwBlAFAAYQBkAGQA +aQBuAGcAVABvAHAAIAA9ADIADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIAAgACAAIABXAGUAYgBJAG0AYQBnAGUAUABhAGQAZABpAG4AZwBSAGkA +ZwBoAHQAIAA9ADEADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA +IAAgACAAIABXAGUAYgBJAG0AYQBnAGUAUABhAGQAZABpAG4AZwBCAG8AdAB0AG8A +bQAgAD0AMQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABFAG4A +ZAANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAARQBuAGQADQAKACAAIAAgACAA +IAAgACAAIABFAG4AZAANAAoAIAAgACAAIABFAG4AZAANAAoARQBuAGQADQAKAEMA +bwBkAGUAQgBlAGgAaQBuAGQARgBvAHIAbQANAAoAQQB0AHQAcgBpAGIAdQB0AGUA +IABWAEIAXwBHAGwAbwBiAGEAbABOAGEAbQBlAFMAcABhAGMAZQAgAD0AIABGAGEA +bABzAGUADQAKAEEAdAB0AHIAaQBiAHUAdABlACAAVgBCAF8AQwByAGUAYQB0AGEA +YgBsAGUAIAA9ACAAVAByAHUAZQANAAoAQQB0AHQAcgBpAGIAdQB0AGUAIABWAEIA +XwBQAHIAZQBkAGUAYwBsAGEAcgBlAGQASQBkACAAPQAgAFQAcgB1AGUADQAKAEEA +dAB0AHIAaQBiAHUAdABlACAAVgBCAF8ARQB4AHAAbwBzAGUAZAAgAD0AIABGAGEA +bABzAGUADQAKACcALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ADQAKACcA +IABGAG8AcgBtADoAIABMAG8AZwBpAG4ARgBvAHIAbQANAAoAJwAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAJwAvACoAKgANAAoAJwAgAFUAcwBlAHIA +IABsAG8AZwBpAG4AIABmAG8AcgBtAA0ACgAnACoAKgAvAA0ACgAnAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0A +LQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgAnADwAYwBvAGQAZQBsAGkAYgA+AA0A +CgAnACAAIAA8AGYAaQBsAGUAPgB1AHMAZQByAC8AbABvAGcAaQBuAC8ATABvAGcA +aQBuAEYAbwByAG0ALgBmAHIAbQA8AC8AZgBpAGwAZQA+AA0ACgAnACAAIAA8AGwA +aQBjAGUAbgBzAGUAPgBfAGMAbwBkAGUAbABpAGIALwBsAGkAYwBlAG4AcwBlAC4A +YgBhAHMAPAAvAGwAaQBjAGUAbgBzAGUAPgANAAoAJwA8AC8AYwBvAGQAZQBsAGkA +YgA+AA0ACgAnAA0ACgBPAHAAdABpAG8AbgAgAEMAbwBtAHAAYQByAGUAIABEAGEA +dABhAGIAYQBzAGUADQAKAE8AcAB0AGkAbwBuACAARQB4AHAAbABpAGMAaQB0AA0A +CgANAAoAIwBJAGYAIABVAFMARQBMAE8AQwBBAEwASQBaAEEAVABJAE8ATgAgAD0A +IAAxACAAVABoAGUAbgANAAoAUAByAGkAdgBhAHQAZQAgAFcAaQB0AGgARQB2AGUA +bgB0AHMAIABtAF8ATAAxADAAbgBEAGkAYwB0ACAAQQBzACAATAAxADAAbgBEAGkA +YwB0AA0ACgBBAHQAdAByAGkAYgB1AHQAZQAgAG0AXwBMADEAMABuAEQAaQBjAHQA +LgBWAEIAXwBWAGEAcgBIAGUAbABwAEkARAAgAD0AIAAtADEADQAKACMARQBuAGQA +IABJAGYADQAKAA0ACgBQAHUAYgBsAGkAYwAgAEUAdgBlAG4AdAAgAEwAbwBnAG8A +bgAoAEIAeQBWAGEAbAAgAEwAbwBnAGkAbgBOAGEAbQBlACAAQQBzACAAUwB0AHIA +aQBuAGcALAAgAEIAeQBWAGEAbAAgAFAAYQBzAHMAdwBvAHIAZAAgAEEAcwAgAFMA +dAByAGkAbgBnACwAIABCAHkAUgBlAGYAIABDAGEAbgBjAGUAbAAgAEEAcwAgAEIA +bwBvAGwAZQBhAG4AKQANAAoAUAB1AGIAbABpAGMAIABFAHYAZQBuAHQAIABDAGEA +bgBjAGUAbABsAGUAZAAoACkADQAKAA0ACgBQAHUAYgBsAGkAYwAgAG0AXwBDAGwA +bwBzAGUARgBvAHIAbQBPAEsAIABBAHMAIABCAG8AbwBsAGUAYQBuAA0ACgANAAoA +UAByAGkAdgBhAHQAZQAgAEQAZQBjAGwAYQByAGUAIABQAHQAcgBTAGEAZgBlACAA +UwB1AGIAIABDAG8AcAB5AE0AZQBtAG8AcgB5ACAATABpAGIAIAAiAGsAZQByAG4A +ZQBsADMAMgAiACAAQQBsAGkAYQBzACAAIgBSAHQAbABNAG8AdgBlAE0AZQBtAG8A +cgB5ACIAIAAoAEQAZQBzAHQAIABBAHMAIABBAG4AeQAsACAAUwByAGMAIABBAHMA +IABBAG4AeQAsACAAQgB5AFYAYQBsACAATABlAG4AZwB0AGgAIABBAHMAIABMAG8A +bgBnACkADQAKAA0ACgBQAHIAaQB2AGEAdABlACAAUwB1AGIAIABjAG0AZABDAGEA +bgBjAGUAbABfAEMAbABpAGMAawAoACkADQAKAE8AbgAgAEUAcgByAG8AcgAgAFIA +ZQBzAHUAbQBlACAATgBlAHgAdAANAAoAIAAgACAAUgBhAGkAcwBlAEUAdgBlAG4A +dAAgAEMAYQBuAGMAZQBsAGwAZQBkAA0ACgAgACAAIABtAF8AQwBsAG8AcwBlAEYA +bwByAG0ATwBLACAAPQAgAFQAcgB1AGUADQAKACAAIAAgAEQAbwBDAG0AZAAuAEMA +bABvAHMAZQAgAGEAYwBGAG8AcgBtACwAIABNAGUALgBOAGEAbQBlAA0ACgBFAG4A +ZAAgAFMAdQBiAA0ACgANAAoAUAByAGkAdgBhAHQAZQAgAFMAdQBiACAAYwBtAGQA +TABvAGcAaQBuAF8AQwBsAGkAYwBrACgAKQANAAoADQAKACAAIAAgAEQAaQBtACAA +cwB0AHIATABvAGcAaQBuAE4AYQBtAGUAIABBAHMAIABTAHQAcgBpAG4AZwANAAoA +IAAgACAARABpAG0AIABzAHQAcgBMAG8AZwBpAG4AUABhAHMAcwB3AG8AcgBkACAA +QQBzACAAUwB0AHIAaQBuAGcADQAKACAAIAAgAEQAaQBtACAAYgBvAGwAQwBhAG4A +YwBlAGwAIABBAHMAIABCAG8AbwBsAGUAYQBuAA0ACgANAAoAIAAgACAAcwB0AHIA +TABvAGcAaQBuAE4AYQBtAGUAIAA9ACAATQBlAC4AdAB4AHQAVQBJAEQAIAAmACAA +dgBiAE4AdQBsAGwAUwB0AHIAaQBuAGcADQAKACAAIAAgAHMAdAByAEwAbwBnAGkA +bgBQAGEAcwBzAHcAbwByAGQAIAA9ACAATQBlAC4AdAB4AHQAUAB3AGQAIAAmACAA +dgBiAE4AdQBsAGwAUwB0AHIAaQBuAGcADQAKACAAIAAgAA0ACgAgACAAIABJAGYA +IABMAGUAbgAoAHMAdAByAEwAbwBnAGkAbgBOAGEAbQBlACkAIAAqACAATABlAG4A +KABzAHQAcgBMAG8AZwBpAG4AUABhAHMAcwB3AG8AcgBkACkAIAA9ACAAMAAgAFQA +aABlAG4ADQAKACAAIAAgACAAIAAgAE0AcwBnAEIAbwB4ACAAIgBQAGwAZQBhAHMA +ZQAgAGUAbgB0AGUAcgAgAGwAbwBnAGkAbgAgAG4AYQBtAGUAIABhAG4AZAAgAHAA +YQBzAHMAdwBvAHIAZAAiAA0ACgAgACAAIAAgACAAIABJAGYAIABMAGUAbgAoAHMA +dAByAEwAbwBnAGkAbgBOAGEAbQBlACkAIAA9ACAAMAAgAFQAaABlAG4ADQAKACAA +IAAgACAAIAAgACAAIAAgAE0AZQAuAHQAeAB0AFUASQBEAC4AUwBlAHQARgBvAGMA +dQBzAA0ACgAgACAAIAAgACAAIABFAGwAcwBlAA0ACgAgACAAIAAgACAAIAAgACAA +IABNAGUALgB0AHgAdABQAHcAZAAuAFMAZQB0AEYAbwBjAHUAcwANAAoAIAAgACAA +IAAgACAARQBuAGQAIABJAGYADQAKACAAIAAgACAAIAAgAEUAeABpAHQAIABTAHUA +YgANAAoAIAAgACAARQBuAGQAIABJAGYADQAKACAAIAAgAA0ACgAgACAAIABSAGEA +aQBzAGUARQB2AGUAbgB0ACAATABvAGcAbwBuACgAcwB0AHIATABvAGcAaQBuAE4A +YQBtAGUALAAgAHMAdAByAEwAbwBnAGkAbgBQAGEAcwBzAHcAbwByAGQALAAgAGIA +bwBsAEMAYQBuAGMAZQBsACkADQAKACAAIAAgAEkAZgAgAGIAbwBsAEMAYQBuAGMA +ZQBsACAAVABoAGUAbgANAAoAIAAgACAAIAAgACAATQBlAC4AdAB4AHQAUAB3AGQA +LgBTAGUAdABGAG8AYwB1AHMADQAKACAAIAAgACAAIAAgAEUAeABpAHQAIABTAHUA +YgANAAoAIAAgACAARQBuAGQAIABJAGYADQAKACAAIAAgACAAIAAgAA0ACgAgACAA +IABtAF8AQwBsAG8AcwBlAEYAbwByAG0ATwBLACAAPQAgAFQAcgB1AGUADQAKACAA +IAAgAEQAbwBDAG0AZAAuAEMAbABvAHMAZQAgAGEAYwBGAG8AcgBtACwAIABNAGUA +LgBOAGEAbQBlAA0ACgANAAoARQBuAGQAIABTAHUAYgANAAoADQAKAFAAcgBpAHYA +YQB0AGUAIABTAHUAYgAgAEYAbwByAG0AXwBMAG8AYQBkACgAKQANAAoAIAAgACAA +DQAKACAAIAAgAEQAaQBtACAAQQByAGcAcwAoACkAIABBAHMAIABTAHQAcgBpAG4A +ZwANAAoAIAAgACAARABpAG0AIABMAG8AZwBpAG4ARgBvAHIAbQBCAHIAaQBkAGcA +ZQBQAHQAcgAgAEEAcwAgAEwAbwBuAGcAUAB0AHIADQAKAA0ACgAjAEkAZgAgAFUA +UwBFAEwATwBDAEEATABJAFoAQQBUAEkATwBOACAAPQAgADEAIABUAGgAZQBuAA0A +CgAgACAAIABMADEAMABuAC4AVAByAGEAbgBzAGwAYQB0AGUAQwBvAG4AdAByAG8A +bABzACAATQBlAC4AQwBvAG4AdAByAG8AbABzAA0ACgAgACAAIABTAGUAdAAgAG0A +XwBMADEAMABuAEQAaQBjAHQAIAA9ACAATAAxADAAbgANAAoAIwBFAG4AZAAgAEkA +ZgANAAoADQAKACAAIAAgAEkAZgAgAEwAZQBuACgATQBlAC4ATwBwAGUAbgBBAHIA +ZwBzACkAIAA+ACAAMAAgAFQAaABlAG4AIAAnAE8AcABlAG4AQQByAGcAcwA9ACAA +IgBPAGIAagBQAHQAcgBAAEMAYQBwAHQAaQBvAG4AQABTAHQAYQBuAGQAYQByAGQA +VQBzAGUAcgAiAA0ACgAgACAAIAAgACAAIABBAHIAZwBzACAAPQAgAFMAcABsAGkA +dAAoAE0AZQAuAE8AcABlAG4AQQByAGcAcwAsACAAIgBAACIAKQANAAoAIAAgACAA +IAAgACAADQAKACAAIAAgACAAIAAgAEwAbwBnAGkAbgBGAG8AcgBtAEIAcgBpAGQA +ZwBlAFAAdAByACAAPQAgAFYAYQBsACgAQQByAGcAcwAoADAAKQApAA0ACgANAAoA +IAAgACAAIAAgACAATQBlAC4AQwBhAHAAdABpAG8AbgAgAD0AIABBAHIAZwBzACgA +MQApAA0ACgAgACAAIAAgACAAIABJAGYAIABVAEIAbwB1AG4AZAAoAEEAcgBnAHMA +KQAgAD4AIAAxACAAVABoAGUAbgANAAoAIAAgACAAIAAgACAAIAAgACAATQBlAC4A +dAB4AHQAVQBJAEQALgBWAGEAbAB1AGUAIAA9ACAAQQByAGcAcwAoADIAKQANAAoA +IAAgACAAIAAgACAARQBsAHMAZQANAAoAIAAgACAAIAAgACAAIAAgACAATQBlAC4A +dAB4AHQAVQBJAEQALgBWAGEAbAB1AGUAIAA9ACAAdgBiAE4AdQBsAGwAUwB0AHIA +aQBuAGcADQAKACAAIAAgACAAIAAgAEUAbgBkACAASQBmAA0ACgAgACAAIAAgACAA +IAANAAoAIAAgACAAIAAgACAASQBmACAATABlAG4AKABNAGUALgB0AHgAdABVAEkA +RAAuAFYAYQBsAHUAZQApACAAPgAgADAAIABUAGgAZQBuAA0ACgAgACAAIAAgACAA +IAAgACAAIABNAGUALgB0AHgAdABQAHcAZAAuAFMAZQB0AEYAbwBjAHUAcwANAAoA +IAAgACAAIAAgACAARQBuAGQAIABJAGYADQAKAA0ACgAgACAAIABFAG4AZAAgAEkA +ZgANAAoADQAKACAAIAAgAEQAaQBtACAAdABlAG0AcABPAGIAagAgAEEAcwAgAE8A +YgBqAGUAYwB0AA0ACgAgACAAIABTAGUAdAAgAHQAZQBtAHAATwBiAGoAIAA9ACAA +RwBlAHQATwBiAGoAZQBjAHQARgByAG8AbQBPAGIAagBQAHQAcgAoAEwAbwBnAGkA +bgBGAG8AcgBtAEIAcgBpAGQAZwBlAFAAdAByACkADQAKACAAIAAgAEkAZgAgAE4A +bwB0ACAAKAB0AGUAbQBwAE8AYgBqACAASQBzACAATgBvAHQAaABpAG4AZwApACAA +VABoAGUAbgANAAoAIAAgACAAIAAgACAAUwBlAHQAIAB0AGUAbQBwAE8AYgBqAC4A +TABvAGcAaQBuAEYAbwByAG0AIAA9ACAATQBlACAAJwBUAGgAaQBzACAAbQBhAGsA +ZQBzACAAdABoAGUAIABlAHYAZQBuAHQAcwAgAHAAbwBzAHMAaQBiAGwAZQAgAGQA +ZQBzAHAAaQB0AGUAIABkAGkAYQBsAG8AZwB1AGUAIABtAG8AZABlAA0ACgAgACAA +IABFAG4AZAAgAEkAZgANAAoADQAKAEUAbgBkACAAUwB1AGIADQAKAA0ACgBQAHIA +aQB2AGEAdABlACAAUwB1AGIAIABGAG8AcgBtAF8AVQBuAGwAbwBhAGQAKABDAGEA +bgBjAGUAbAAgAEEAcwAgAEkAbgB0AGUAZwBlAHIAKQANAAoATwBuACAARQByAHIA +bwByACAAUgBlAHMAdQBtAGUAIABOAGUAeAB0AA0ACgAgACAAIABJAGYAIABOAG8A +dAAgAG0AXwBDAGwAbwBzAGUARgBvAHIAbQBPAEsAIABUAGgAZQBuACAAUgBhAGkA +cwBlAEUAdgBlAG4AdAAgAEMAYQBuAGMAZQBsAGwAZQBkAA0ACgAjAEkAZgAgAFUA +UwBFAEwATwBDAEEATABJAFoAQQBUAEkATwBOACAAPQAgADEAIABUAGgAZQBuAA0A +CgAgACAAIABTAGUAdAAgAG0AXwBMADEAMABuAEQAaQBjAHQAIAA9ACAATgBvAHQA +aABpAG4AZwANAAoAIwBFAG4AZAAgAEkAZgANAAoARQBuAGQAIABTAHUAYgANAAoA +DQAKAFAAcgBpAHYAYQB0AGUAIABGAHUAbgBjAHQAaQBvAG4AIABHAGUAdABPAGIA +agBlAGMAdABGAHIAbwBtAE8AYgBqAFAAdAByACgAbABQAHQAcgAgAEEAcwAgAEwA +bwBuAGcAUAB0AHIAKQAgAEEAcwAgAE8AYgBqAGUAYwB0AA0ACgANAAoAIAAgACAA +RABpAG0AIABvAGIAagAgAEEAcwAgAE8AYgBqAGUAYwB0AA0ACgAgACAAIABDAG8A +cAB5AE0AZQBtAG8AcgB5ACAAbwBiAGoALAAgAGwAUAB0AHIALAAgADQADQAKACAA +IAAgAFMAZQB0ACAARwBlAHQATwBiAGoAZQBjAHQARgByAG8AbQBPAGIAagBQAHQA +cgAgAD0AIABvAGIAagANAAoAIAAgACAAQwBvAHAAeQBNAGUAbQBvAHIAeQAgAG8A +YgBqACwAIAAwACYALAAgADQADQAKACAAIAAgAA0ACgBFAG4AZAAgAEYAdQBuAGMA +dABpAG8AbgANAAoADQAKACMASQBmACAAVQBTAEUATABPAEMAQQBMAEkAWgBBAFQA +SQBPAE4AIAA9ACAAMQAgAFQAaABlAG4ADQAKAFAAcgBpAHYAYQB0AGUAIABTAHUA +YgAgAG0AXwBMADEAMABuAEQAaQBjAHQAXwBMAGEAbgBnAHUAYQBnAGUAQwBoAGEA +bgBnAGUAZAAoACkADQAKACAAIAAgAEwAMQAwAG4ALgBUAHIAYQBuAHMAbABhAHQA +ZQBDAG8AbgB0AHIAbwBsAHMAIABNAGUALgBDAG8AbgB0AHIAbwBsAHMADQAKAEUA +bgBkACAAUwB1AGIADQAKACMARQBuAGQAIABJAGYA + + 20231011081056 + user/login/LoginForm.frm + + + OdbcHandler + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIk9kYmNIYW5kbGVyIg0KQXR0cmli +dXRlIFZCX0dsb2JhbE5hbWVTcGFjZSA9IEZhbHNlDQpBdHRyaWJ1dGUgVkJfQ3Jl +YXRhYmxlID0gRmFsc2UNCkF0dHJpYnV0ZSBWQl9QcmVkZWNsYXJlZElkID0gVHJ1 +ZQ0KQXR0cmlidXRlIFZCX0V4cG9zZWQgPSBGYWxzZQ0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBDbGFzczogZGF0YS5vZGJjLk9k +YmNIYW5kbGVyDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIE9EQkMgZGF0YSBjb25uZWN0aW9uIG1ldGhvZHMNCicNCicgQXV0 +aG9yOg0KJyAgICAgSm9zZWYgUG9ldHpsDQonDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCic8Y29kZWxpYj4NCicgIDxmaWxlPmRhdGEvb2Ri +Yy9PZGJjSGFuZGxlci5jbHM8L2ZpbGU+DQonICA8bGljZW5zZT5fY29kZWxpYi9s +aWNlbnNlLmJhczwvbGljZW5zZT4NCicgIDxyZWY+PG5hbWU+REFPPC9uYW1lPjxt +YWpvcj41PC9tYWpvcj48bWlub3I+MDwvbWlub3I+PGd1aWQ+ezAwMDI1RTAxLTAw +MDAtMDAwMC1DMDAwLTAwMDAwMDAwMDA0Nn08L2d1aWQ+PC9yZWY+DQonICA8dGVz +dD5fdGVzdC9kYXRhL29kYmMvT2RiY0hhbmRsZXJIb29rVGVzdHMuY2xzPC90ZXN0 +Pg0KJzwvY29kZWxpYj4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicNCk9wdGlvbiBDb21wYXJlIFRleHQNCk9wdGlvbiBFeHBsaWNp +dA0KDQpQcml2YXRlIENvbnN0IEVSUk5SX05PQ09ORklHIEFzIExvbmcgPSB2Yk9i +amVjdEVycm9yICsgMTAwMg0KDQonT0RCQyBjb25uZWN0aW9uIHN0cmluZw0KUHJp +dmF0ZSBtX09kYmNDb25uZWN0aW9uU3RyaW5nIEFzIFN0cmluZw0KDQonREFPIERh +dGFiYXNlDQpQcml2YXRlIG1fRGFvRGIgQXMgREFPLkRhdGFiYXNlICAgICdsb2Nh +bCBkYXRhYmFzZSBpbnN0YW5jZSAuLi4gZS5nLiB0byBjcmVhdGUgVGVtcC1RdWVy +eURlZg0KUHJpdmF0ZSBtX0Rhb0RiQkUgQXMgREFPLkRhdGFiYXNlICAnQmFja2Vu +ZCAoZGF0YWJhc2UgaW5zdGFuY2UgdmlhIE9EQkMgY29ubmVjdGlvbikNCg0KJyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMNCicgR3JvdXA6IEV2ZW50cw0KDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEV2ZW50OiBFcnJvck1pc3NpbmdD +dXJyZW50RGINCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NCicgRXZlbnQgZm9yIG1pc3NpbmcgQ3VycmVudERiIHJlZmVyZW5jZQ0KJw0K +JyBQYXJhbWV0ZXJzOg0KJyAgICAgTXNnICAgICAgICAgICAgIC0gTWVzc2FnZSBh +Ym91dCB0aGUgY2F1c2Ugb2YgdGhlIGV2ZW50IHRyaWdnZXJpbmcuIChOb3QgeWV0 +IHVzZWQpDQonICAgICBOZXdDdXJyZW50RGJSZWYgLSBEQU8uRGF0YWJhc2UgcmVm +ZXJlbmNlIHRvIGJlIHVzZWQgZm9yIEN1cnJlbnREYg0KJw0KJyBSZW1hcmtzOg0K +JyAgICAgVGhlIHJlcXVpcmVkIERBTy5EYXRhYmFzZSByZWZlcmVuY2UgY2FuIGJl +IHBhc3NlZCBvbiB2aWEgdGhlIEJ5UmVmIHBhcmFtZXRlciBOZXdDdXJyZW50RGJS +ZWYuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQpQdWJsaWMgRXZlbnQgRXJyb3JNaXNzaW5nQ3VycmVudERiKEJ5VmFsIE1zZyBB +cyBTdHJpbmcsIEJ5UmVmIE5ld0N1cnJlbnREYlJlZiBBcyBEQU8uRGF0YWJhc2Up +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +RXZlbnQ6IEVycm9yRW1wdHlDb25uZWN0aW9uU3RyaW5nDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEV2ZW50IGZvciBtaXNz +aW5nIE9EQkMgY29ubmVjdGlvbiBzdHJpbmcNCicNCicgUGFyYW1ldGVyczoNCicg +ICAgIE1zZyAgICAgICAgICAgICAgICAgIC0gTWVzc2FnZSBhYm91dCB0aGUgY2F1 +c2Ugb2YgdGhlIGV2ZW50IHRyaWdnZXJpbmcuIChOb3QgeWV0IHVzZWQpDQonICAg +ICBOZXdDb25uZWN0aW9uU3RyaW5nICAtIE9EQkMgQ29ubmVjdGlvbnN0cmluZw0K +Jw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIGFwcHJvcHJpYXRlIE9EQkMgY29ubmVj +dGlvbiBzdHJpbmcgY2FuIGJlIHBhc3NlZCBvbiB2aWEgdGhlIEJ5UmVmIHBhcmFt +ZXRlciBOZXdDb25uZWN0aW9uU3RyaW5nLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IEVycm9yRW1wdHlD +b25uZWN0aW9uU3RyaW5nKEJ5VmFsIE1zZyBBcyBTdHJpbmcsIEJ5UmVmIE5ld0Nv +bm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nKQ0KDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEV2ZW50OiBEYk9iamVjdFJlbGlua2Vk +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQon +IEluZm8gYWJvdXQgdGhlIGxhc3QgbGlua2VkIGVsZW1lbnQNCicNCicgUGFyYW1l +dGVyczoNCicgICAgIExhc3REYk9iamVjdE5hbWUgIC0gdGhlIGxhc3QgbGlua2Vk +IHRhYmxlIG9yIHZpZXcNCicgICAgIENvdW50ZXIgICAgICAgICAgIC0gTnVtYmVy +IG9mIGxpbmtlZCBlbGVtZW50cyBzaW5jZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQN +CicNCicgUmVtYXJrczoNCicgICAgIFVzZWQgaW4gdGhlIFJlbGlua1RhYmxlc0Fu +ZFF1ZXJpZXMgbWV0aG9kLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IERiT2JqZWN0UmVsaW5rZWQoQnlW +YWwgTGFzdERiT2JqZWN0TmFtZSBBcyBTdHJpbmcsIEJ5VmFsIENvdW50ZXIgQXMg +TG9uZykNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJyBFdmVudDogRGJPYmplY3REZWxldGVkDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEluZm8gYWJvdXQgdGhlIGxhc3Qg +ZGVsZXRlZCBlbGVtZW50DQonDQonIFBhcmFtZXRlcnM6DQonICAgICBMYXN0RGJP +YmplY3ROYW1lICAtIHRoZSBsYXN0IGRlbGV0ZWQgdGFibGUgb3Igdmlldw0KJyAg +ICAgQ291bnRlciAgICAgICAgICAgLSBOdW1iZXIgb2YgZGVsZXRlZCBlbGVtZW50 +cyBzaW5jZSB0aGUgbWV0aG9kIHdhcyBjYWxsZWQNCicNCicgUmVtYXJrczoNCicg +ICAgIFVzZWQgaW4gdGhlIFJlbGlua1RhYmxlc0FuZFF1ZXJpZXMgbWV0aG9kLg0K +Jw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVi +bGljIEV2ZW50IERiT2JqZWN0RGVsZXRlZChCeVZhbCBMYXN0RGJPYmplY3ROYW1l +IEFzIFN0cmluZywgQnlWYWwgQ291bnRlciBBcyBMb25nKQ0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEV2ZW50OiBIb29rSW5z +ZXJ0SWRlbnRpdHlSZXR1cm4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicNCicgRXZlbnQgZm9yIG1pc3NpbmcgT0xFREIgY29ubmVj +dGlvbiBzdHJpbmcNCicNCicgUGFyYW1ldGVyczoNCicgICAgIEluc2VydFNxbCAg +ICAgICAgICAgIC0gU1FMIHRleHQgb2YgaW5zZXJ0IHN0YXRlbWVudA0KJyAgICAg +QWN0aXZlRGIgICAgICAgICAgICAgLSBBRE9EQiBDb25uZWN0aW9uIHRvIHVzZQ0K +JyAgICAgSWRlbnRpdHlTZWxlY3RTdHJpbmcgLSBJbnB1dCBzdHJpbmcgdG8gdXNl +DQonICAgICBIb29rUmVzcG9uc2VNb2RlICAgICAtIHJlc3VtZSBhY3Rpb24gYWZ0 +ZXIgZXZlbnQgY2FsbDogMCAuLi4gY29kZSByZXN1bWUgYWZ0ZXIgZXZlbnQsIDEg +ZXhpdCBmdW5jdGlvbiBhZnRlciBldmVudA0KJyAgICAgSG9va1Jlc3BvbnNlTWVz +c2FnZSAgLSByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gKGUuZy4gSW5zZXJ0SWRl +bnRpdHlSZXR1cm4pIHdoZW4gSG9va1Jlc3BvbnNlTW9kZSA8PiAwDQonDQonIFJl +bWFya3M6DQonICAgICBOZXcgdmFsdWVzIGNhbiBiZSBwYXNzZWQgb24gdmlhIHRo +ZSBCeVJlZiBwYXJhbWV0ZXJzLg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEV2ZW50IEhvb2tJbnNlcnRJZGVudGl0 +eVJldHVybihCeVJlZiBJbnNlcnRTUUwgQXMgU3RyaW5nLCBfDQogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVmIEFjdGl2ZURiIEFzIERB +Ty5EYXRhYmFzZSwgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICBCeVJlZiBJZGVudGl0eVNlbGVjdFN0cmluZyBBcyBTdHJpbmcsIF8NCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlSZWYgUmVzcG9u +c2VNb2RlIEFzIExvbmcsIEJ5UmVmIEhvb2tSZXNwb25zZU1lc3NhZ2UgQXMgVmFy +aWFudCkNCg0KUHJpdmF0ZSBtX0hvb2tzRW5hYmxlZCBBcyBCb29sZWFuDQoNCicj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjDQonIEdyb3VwOiBDbGFzcyBjb250cm9sDQoNCicNCicgSW5p +dCAvIFRlcm1pbmF0ZQ0KJyAtLS0tLS0tLS0tLS0tLS0tDQonDQonUHJpdmF0ZSBT +dWIgQ2xhc3NfSW5pdGlhbGl6ZSgpDQonJw0KJ0VuZCBTdWINCg0KUHJpdmF0ZSBT +dWIgQ2xhc3NfVGVybWluYXRlKCkNCiAgIERpc3Bvc2UNCkVuZCBTdWINCg0KUHVi +bGljIFN1YiBEaXNwb3NlKCkNCg0KT24gRXJyb3IgUmVzdW1lIE5leHQNCg0KICAg +U2V0IG1fRGFvRGIgPSBOb3RoaW5nDQogICANCiAgIElmIE5vdCBtX0Rhb0RiQkUg +SXMgTm90aGluZyBUaGVuDQogICAgICBtX0Rhb0RiQkUuQ2xvc2UNCiAgICAgIFNl +dCBtX0Rhb0RiQkUgPSBOb3RoaW5nDQogICBFbmQgSWYNCg0KRW5kIFN1Yg0KDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFByb3Bl +cnR5OiBIb29rc0VuYWJsZWQNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgQWN0aXZlIEhvb2tzDQonDQonIFJlbWFya3M6DQonICAg +ICBVc2VkIGluIEluc2VydElkZW50aXR5UmV0dXJuDQonDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGcmllbmQgUHJvcGVydHkgR2V0 +IEhvb2tzRW5hYmxlZCgpIEFzIEJvb2xlYW4NCiAgIEhvb2tzRW5hYmxlZCA9IG1f +SG9va3NFbmFibGVkDQpFbmQgUHJvcGVydHkNCg0KRnJpZW5kIFByb3BlcnR5IExl +dCBIb29rc0VuYWJsZWQoQnlWYWwgTmV3VmFsdWUgQXMgQm9vbGVhbikNCiAgIG1f +SG9va3NFbmFibGVkID0gTmV3VmFsdWUNCkVuZCBQcm9wZXJ0eQ0KDQonIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIw0KJyBHcm91cDogRGF0YSBDb25uZWN0aW9uDQoNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IEN1cnJl +bnREYg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +Jw0KJyBEQU8uRGF0YWJhc2UtSW5zdGFueiBkZXMgRnJvbnRlbmRzIGJ6dy4gamVu +ZXIgSmV0LURCIGluIGRlciBkaWUgUGFzcy1UaHJvdWdoLUFiZnJhZ2VuIGVyc3Rl +bGx0IHdlcmRlbiBzb2xsZW4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgQ3VycmVudERiKCkg +QXMgREFPLkRhdGFiYXNlDQogICBJZiAobV9EYW9EYiBJcyBOb3RoaW5nKSBUaGVu +DQogICAgICAnRXZlbnQgYXVzbPZzZW4sIGRhbWl0IG5ldWUgUmVmZXJlbnogZ2Vs +aWVmZXJ0IHdlcmRlbiBrYW5uDQogICAgICBSYWlzZUV2ZW50IEVycm9yTWlzc2lu +Z0N1cnJlbnREYigiT2RiY0hhbmRsZXIuQ3VycmVudERiOiB1bmF2YWlsYWJsZSBD +dXJyZW50RGItRGF0YWJhc2UiLCBtX0Rhb0RiKQ0KICAgRW5kIElmDQogICBTZXQg +Q3VycmVudERiID0gbV9EYW9EYg0KRW5kIFByb3BlcnR5DQoNClB1YmxpYyBQcm9w +ZXJ0eSBTZXQgQ3VycmVudERiKEJ5UmVmIE5ld0N1cnJlbnREYiBBcyBEQU8uRGF0 +YWJhc2UpDQogICBTZXQgbV9EYW9EYiA9IE5ld0N1cnJlbnREYg0KRW5kIFByb3Bl +cnR5DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgUHJvcGVydHk6IEN1cnJlbnREYkJFDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIERhdGFiYXNlLVJlZmVyZW56IHp1bSBC +YWNrZW5kDQonDQonIFJlbWFya3MNCicgICAgIERBTy5EYXRhYmFzZSB3aXJkIPxi +ZXIgREJFbmdpbmUuT3BlbkRhdGFiYXNlKCIiLCBkYkRyaXZlckNvbXBsZXRlLCBG +YWxzZSwgPENvbm5lY3Rpb25TdHJpbmc+KSBnZfZmZm5ldC4NCicNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0 +eSBHZXQgQ3VycmVudERiQkUoKSBBcyBEQU8uRGF0YWJhc2UNCiAgIERpbSB0ZW1w +T2RiQ29ubmVjdGlvbnN0cmluZyBBcyBTdHJpbmcNCiAgIElmIChtX0Rhb0RiQkUg +SXMgTm90aGluZykgVGhlbg0KICAgICAgdGVtcE9kYkNvbm5lY3Rpb25zdHJpbmcg +PSBDb25uZWN0aW9uU3RyaW5nDQogICAgICBJZiBMZW4odGVtcE9kYkNvbm5lY3Rp +b25zdHJpbmcpID4gMCBUaGVuDQogICAgICAgICBTZXQgbV9EYW9EYkJFID0gREJF +bmdpbmUuT3BlbkRhdGFiYXNlKCIiLCBkYkRyaXZlckNvbXBsZXRlLCBGYWxzZSwg +dGVtcE9kYkNvbm5lY3Rpb25zdHJpbmcpDQogICAgICBFbmQgSWYNCiAgIEVuZCBJ +Zg0KICAgU2V0IEN1cnJlbnREYkJFID0gbV9EYW9EYkJFDQpFbmQgUHJvcGVydHkN +Cg0KUHVibGljIFByb3BlcnR5IFNldCBDdXJyZW50RGJCRShCeVJlZiBOZXdDdXJy +ZW50RGJCRSBBcyBEQU8uRGF0YWJhc2UpDQogICBDbG9zZURhb0RiQkUNCiAgIFNl +dCBtX0Rhb0RiQkUgPSBOZXdDdXJyZW50RGJCRQ0KICAgSWYgTm90IChOZXdDdXJy +ZW50RGJCRSBJcyBOb3RoaW5nKSBUaGVuDQogICAgICBtX09kYmNDb25uZWN0aW9u +U3RyaW5nID0gTmV3Q3VycmVudERiQkUuQ29ubmVjdA0KICAgRW5kIElmDQpFbmQg +UHJvcGVydHkNCg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonIFByb3BlcnR5OiBDb25uZWN0aW9uU3RyaW5nDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIE9EQkMgQ29ubmVj +dGlvbiBzdHJpbmcNCicNCicgUmVtYXJrczoNCicgICAgIEV4YW1wbGUgLSAiT0RC +QztEUklWRVI9e1NRTCBTZXJ2ZXJ9O0RBVEFCQVNFPXRlc3RkYjtTRVJWRVI9KGxv +Y2FsKVxTUUwyMDA1O1RydXN0ZWRfQ29ubmVjdGlvbj1ZZXM7Ig0KJw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3Bl +cnR5IEdldCBDb25uZWN0aW9uU3RyaW5nKCkgQXMgU3RyaW5nDQogICBJZiBMZW4o +bV9PZGJjQ29ubmVjdGlvblN0cmluZykgPSAwIFRoZW4NCiAgICAgIElmIE5vdCAo +bV9EYW9EYkJFIElzIE5vdGhpbmcpIFRoZW4NCk9uIEVycm9yIFJlc3VtZSBOZXh0 +DQogICAgICAgICBtX09kYmNDb25uZWN0aW9uU3RyaW5nID0gbV9EYW9EYkJFLkNv +bm5lY3QNCk9uIEVycm9yIEdvVG8gMA0KICAgICAgRW5kIElmDQogICAgICBJZiBM +ZW4obV9PZGJjQ29ubmVjdGlvblN0cmluZykgPSAwIFRoZW4NCiAgICAgICAgIFJh +aXNlRXZlbnQgRXJyb3JFbXB0eUNvbm5lY3Rpb25TdHJpbmcoIk9kYmNIYW5kbGVy +LkNvbm5lY3Rpb25TdHJpbmciLCBtX09kYmNDb25uZWN0aW9uU3RyaW5nKQ0KICAg +ICAgRW5kIElmDQogICBFbmQgSWYNCiAgIENvbm5lY3Rpb25TdHJpbmcgPSBtX09k +YmNDb25uZWN0aW9uU3RyaW5nDQpFbmQgUHJvcGVydHkNCg0KUHVibGljIFByb3Bl +cnR5IExldCBDb25uZWN0aW9uU3RyaW5nKEJ5VmFsIFZhbHVlIEFzIFN0cmluZykN +CiAgIElmIG1fT2RiY0Nvbm5lY3Rpb25TdHJpbmcgPSBWYWx1ZSBUaGVuDQogICAg +ICBFeGl0IFByb3BlcnR5DQogICBFbmQgSWYNCiAgIENsb3NlRGFvRGJCRQ0KICAg +bV9PZGJjQ29ubmVjdGlvblN0cmluZyA9IFZhbHVlDQpFbmQgUHJvcGVydHkNCg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5j +dGlvbjogT3BlblJlY29yZHNldA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KJw0KJyBPcGVuIERBTy5SZWNvcmRzZXQNCicNCicgUGFy +YW1ldGVyczoNCicgICAgIFNvdXJjZSAgICAgICAgICAgIC0gU1FMIHN0YXRlbWVu +dCBvciB0YWJsZSBvciBxdWVyeSBuYW1lDQonICAgICBSZWNvcmRzZXRUeXBlICAg +ICAtIERBTy5SZWNvcmRzZXRUeXBlRW51bSAoU3RhbmRhcmQ6IGRiT3BlbkR5bmFz +ZXQpDQonICAgICBSZWNvcmRzZXRPcHRpb25zICAtIERBTy5SZWNvcmRzZXRPcHRp +b25FbnVtIChTdGFuZGFyZDogZGJTZWVDaGFuZ2VzKQ0KJyAgICAgTG9ja0VkaXQg +ICAgICAgICAgLSBEQU8uTG9ja1R5cGVFbnVtIChTdGFuZGFyZDogZGJPcHRpbWlz +dGljKQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLlJlY29yZHNldA0KJw0KJyBS +ZW1hcmtzOg0KJyAgICAgVXNlcyA8Q3VycmVudERiQkU+IHRvIG9wZW4gdGhlIHJl +Y29yZHNldC4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NClB1YmxpYyBGdW5jdGlvbiBPcGVuUmVjb3Jkc2V0KEJ5VmFsIFNvdXJjZSBB +cyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFs +IFJlY29yZHNldFR5cGUgQXMgREFPLlJlY29yZHNldFR5cGVFbnVtID0gZGJPcGVu +Rm9yd2FyZE9ubHksIF8NCiAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5 +VmFsIFJlY29yZHNldE9wdGlvbnMgQXMgREFPLlJlY29yZHNldE9wdGlvbkVudW0g +PSBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bS5kYlNlZUNoYW5nZXMsIF8NCiAgICAg +ICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIExvY2tFZGl0IEFzIERBTy5M +b2NrVHlwZUVudW0gPSBEQU8uTG9ja1R5cGVFbnVtLmRiT3B0aW1pc3RpYykgQXMg +REFPLlJlY29yZHNldA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICANCiAgIElmIChSZWNvcmRzZXRPcHRpb25zIEFuZCBkYlNlZUNoYW5n +ZXMpID0gMCBUaGVuDQogICAgICBSZWNvcmRzZXRPcHRpb25zID0gUmVjb3Jkc2V0 +T3B0aW9ucyArIGRiU2VlQ2hhbmdlcw0KICAgRW5kIElmDQogICBTZXQgT3BlblJl +Y29yZHNldCA9IE1lLkN1cnJlbnREYkJFLk9wZW5SZWNvcmRzZXQoU291cmNlLCBS +ZWNvcmRzZXRUeXBlLCBSZWNvcmRzZXRPcHRpb25zLCBMb2NrRWRpdCkNCg0KRW5k +IEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NCicgRnVuY3Rpb246IE9wZW5SZWNvcmRzZXRQVA0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBPcGVuIFBhc3MgVGhy +b3VnaCBEQU8uUmVjb3Jkc2V0DQonDQonIFBhcmFtZXRlcnM6DQonICAgICBTb3Vy +Y2UgICAgICAgICAgICAtIFNRTCBzdGF0ZW1lbnQgb3IgdGFibGUgb3IgcXVlcnkg +bmFtZQ0KJyAgICAgUmVjb3Jkc2V0VHlwZSAgICAgLSBEQU8uUmVjb3Jkc2V0VHlw +ZUVudW0gKFN0YW5kYXJkOiBkYk9wZW5EeW5hc2V0KQ0KJyAgICAgUmVjb3Jkc2V0 +T3B0aW9ucyAgLSBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bSAoU3RhbmRhcmQ6IGRi +U2VlQ2hhbmdlcytkYlNRTFBhc3NUaHJvdWdoKQ0KJyAgICAgTG9ja0VkaXQgICAg +ICAgICAgLSBEQU8uTG9ja1R5cGVFbnVtIChTdGFuZGFyZDogZGJPcHRpbWlzdGlj +KQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgREFPLlJlY29yZHNldA0KJw0KJyBSZW1h +cmtzOg0KJyAgICAgVXNlcyA8Q3VycmVudERiQkU+IHRvIG9wZW4gdGhlIHJlY29y +ZHNldC4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +ClB1YmxpYyBGdW5jdGlvbiBPcGVuUmVjb3Jkc2V0UFQoQnlWYWwgU291cmNlIEFz +IFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgUmVj +b3Jkc2V0VHlwZSBBcyBEQU8uUmVjb3Jkc2V0VHlwZUVudW0gPSBkYk9wZW5Gb3J3 +YXJkT25seSwgXw0KICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgUmVj +b3Jkc2V0T3B0aW9ucyBBcyBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bSA9IERBTy5S +ZWNvcmRzZXRPcHRpb25FbnVtLmRiU2VlQ2hhbmdlcyBPciBEQU8uUmVjb3Jkc2V0 +T3B0aW9uRW51bS5kYlNRTFBhc3NUaHJvdWdoLCBfDQogICAgICAgICAgICAgICAg +ICBPcHRpb25hbCBCeVZhbCBMb2NrRWRpdCBBcyBEQU8uTG9ja1R5cGVFbnVtID0g +REFPLkxvY2tUeXBlRW51bS5kYk9wdGltaXN0aWMpIEFzIERBTy5SZWNvcmRzZXQN +Cg0KICAgRGltIHFkZiBBcyBEQU8uUXVlcnlEZWYNCiAgIERpbSByc3QgQXMgREFP +LlJlY29yZHNldA0KDQogICBJZiAoUmVjb3Jkc2V0T3B0aW9ucyBBbmQgZGJTZWVD +aGFuZ2VzKSA9IDAgVGhlbg0KICAgICBSZWNvcmRzZXRPcHRpb25zID0gUmVjb3Jk +c2V0T3B0aW9ucyArIGRiU2VlQ2hhbmdlcw0KICAgRW5kIElmDQogICBJZiAoUmVj +b3Jkc2V0T3B0aW9ucyBBbmQgZGJTUUxQYXNzVGhyb3VnaCkgPSAwIFRoZW4NCiAg +ICAgUmVjb3Jkc2V0T3B0aW9ucyA9IFJlY29yZHNldE9wdGlvbnMgKyBkYlNRTFBh +c3NUaHJvdWdoDQogICBFbmQgSWYNCiAgIA0KICAgU2V0IHFkZiA9IE1lLkN1cnJl +bnREYi5DcmVhdGVRdWVyeURlZigiIikNCiAgIFdpdGggcWRmDQogICAgIC5Db25u +ZWN0ID0gTWUuQ29ubmVjdGlvblN0cmluZw0KICAgICAuT0RCQ1RpbWVvdXQgPSAw +DQogICAgIC5TUUwgPSBTb3VyY2UNCiAgICAgU2V0IHJzdCA9IC5PcGVuUmVjb3Jk +c2V0KFJlY29yZHNldFR5cGUsIFJlY29yZHNldE9wdGlvbnMsIExvY2tFZGl0KQ0K +ICAgICAuQ2xvc2UNCiAgIEVuZCBXaXRoDQoNCiAgIFNldCBPcGVuUmVjb3Jkc2V0 +UFQgPSByc3QNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IEV4ZWN1dGUNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRXhlY3V0 +ZSBTUUwgc3RhdGVtZW50IChDdXJyZW50RGJCRS5FeGVjdXRlKQ0KJw0KJyBQYXJh +bWV0ZXJzOg0KJyAgICAgQ29tbWFuZFRleHQgLSBTUUwgc3RhdGVtZW50IChTdHJp +bmcpDQonICAgICBPcHRpb25zICAgICAtIERBTy5SZWNvcmRzZXRPcHRpb25FbnVt +DQonDQonIFJldHVybnM6DQonICAgICBSZWNvcmRzQWZmZWN0ZWQgKExvbmcpDQon +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJs +aWMgRnVuY3Rpb24gRXhlY3V0ZShCeVZhbCBDb21tYW5kVGV4dCBBcyBTdHJpbmcs +IF8NCiAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIE9wdGlvbnMgQXMgREFP +LlJlY29yZHNldE9wdGlvbkVudW0pIEFzIExvbmcNCg0KICAgRGltIGRiIEFzIERB +Ty5EYXRhYmFzZQ0KICAgDQogICBTZXQgZGIgPSBNZS5DdXJyZW50RGJCRQ0KDQog +ICBJZiAoT3B0aW9ucyBBbmQgZGJTZWVDaGFuZ2VzKSA9IDAgVGhlbg0KICAgICAg +T3B0aW9ucyA9IE9wdGlvbnMgKyBkYlNlZUNoYW5nZXMNCiAgIEVuZCBJZg0KICAg +ZGIuRXhlY3V0ZSBDb21tYW5kVGV4dCwgT3B0aW9ucw0KICAgRXhlY3V0ZSA9IGRi +LlJlY29yZHNBZmZlY3RlZA0KDQpFbmQgRnVuY3Rpb24NCg0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogRXhlY3V0ZVBU +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJw0KJyBF +eGVjdXRlIFNRTCBzdGF0ZW1lbnQgd2l0aCBQYXNzIFRyb3VnaCBRdWVyeQ0KJw0K +JyBQYXJhbWV0ZXJzOg0KJyAgICAgQ29tbWFuZFRleHQgLSBTUUwgc3RhdGVtZW50 +IChTdHJpbmcpDQonICAgICBPcHRpb25zICAgICAtIERBTy5SZWNvcmRzZXRPcHRp +b25FbnVtIChEZWZhdWx0OiBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bS5kYlNRTFBh +c3NUaHJvdWdoKQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgUmVjb3Jkc0FmZmVjdGVk +IChMb25nKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIEZ1bmN0aW9uIEV4ZWN1dGVQVChCeVZhbCBDb21tYW5kVGV4 +dCBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwg +T3B0aW9ucyBBcyBEQU8uUmVjb3Jkc2V0T3B0aW9uRW51bSA9IERBTy5SZWNvcmRz +ZXRPcHRpb25FbnVtLmRiU1FMUGFzc1Rocm91Z2ggXw0KICAgICAgICAgICAgICAg +ICAgICAgICAgICkgQXMgTG9uZw0KICAgICAgICAgDQogICBEaW0gZGIgQXMgREFP +LkRhdGFiYXNlDQogICBEaW0gcWRmIEFzIERBTy5RdWVyeURlZg0KDQogICBJZiAo +T3B0aW9ucyBBbmQgZGJTUUxQYXNzVGhyb3VnaCkgPSAwIFRoZW4NCiAgICAgT3B0 +aW9ucyA9IE9wdGlvbnMgKyBkYlNRTFBhc3NUaHJvdWdoDQogICBFbmQgSWYNCiAg +IA0KICAgU2V0IGRiID0gTWUuQ3VycmVudERiDQogICBTZXQgcWRmID0gZGIuQ3Jl +YXRlUXVlcnlEZWYoIiIpDQogICBXaXRoIHFkZg0KICAgICAuQ29ubmVjdCA9IE1l +LkNvbm5lY3Rpb25TdHJpbmcNCiAgICAgLk9EQkNUaW1lb3V0ID0gMA0KICAgICAu +U1FMID0gQ29tbWFuZFRleHQNCiAgICAgLlJldHVybnNSZWNvcmRzID0gRmFsc2UN +CiAgICAgLkV4ZWN1dGUgT3B0aW9ucw0KICAgICAuQ2xvc2UNCiAgIEVuZCBXaXRo +DQogICANCiAgIEV4ZWN1dGVQVCA9IGRiLlJlY29yZHNBZmZlY3RlZA0KDQpFbmQg +RnVuY3Rpb24NCg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonIEZ1bmN0aW9uOiBMb29rdXBTUUwNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgTG9va3VwIERBTy5SZWNvcmRz +ZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERMb29rdXAgKHBhc3NpbmcgYSBT +UUwgc3RhdGVtZW50KSB2aWEgQ3VycmVudERiQkUNCicNCicgUGFyYW1ldGVyczoN +CicgICAgIFNxbFRleHQgICAgIC0gU1FMIHN0YXRlbWVudA0KJyAgICAgSW5kZXgg +ICAgICAgLSBGaWVsZCBzZWxlY3Rpb24gaWYgdGhlIGZpcnN0IGZpZWxkIG9mIHRo +ZSByZWNvcmRzZXQgaXMgbm90IHRvIGJlIHJldHVybmVkLg0KJyAgICAgICAgICAg +ICAgICAgICBUaGUgaW5kZXggaXMgcGFzc2VkIGluIHRoZSBzYW1lIHdheSBhcyBB +RE9EQi5SZWNvcmRzZXQuRmllbGRzKGluZGV4KS4NCicgICAgIFZhbHVlSWZOdWxs +IC0gUmV0dXJuIHZhbHVlIGlmIHJlY29yZCBpcyBtaXNzaW5nIG9yIGRhdGEgZmll +bGQgdmFsdWUgaXMgTnVsbCAoZGVmYXVsdDogTnVsbCkuDQonDQonIFJldHVybnM6 +DQonICAgICBWYXJpYW50ICAtIE51bGwsIGlmIFNRTCBzdGF0ZW1lbnQgZG9lcyBu +b3QgcmV0dXJuIGEgcmVjb3JkLg0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIFNR +TCBzdGF0ZW1lbnQgbXVzdCBiZSB3cml0dGVuIGluIHRoZSBKZXQvQUNFIFNRTCBk +aWFsZWN0Lg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIEZ1bmN0aW9uIExvb2t1cFNxbChCeVZhbCBTcWxUZXh0IEFz +IFN0cmluZywgXw0KICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBJbmRl +eCBBcyBWYXJpYW50ID0gMCYsIF8NCiAgICAgICAgICAgICAgICAgT3B0aW9uYWwg +QnlWYWwgVmFsdWVJZk51bGwgQXMgVmFyaWFudCA9IE51bGwpIEFzIFZhcmlhbnQN +Cg0KICAgRGltIHJzdCBBcyBEQU8uUmVjb3Jkc2V0DQoNCk9uIEVycm9yIEdvVG8g +SGFuZGxlRXJyDQoNCiAgIFNldCByc3QgPSBNZS5PcGVuUmVjb3Jkc2V0KFNxbFRl +eHQsIGRiT3BlbkZvcndhcmRPbmx5LCBkYlNlZUNoYW5nZXMsIGRiUmVhZE9ubHkp +DQogICBXaXRoIHJzdA0KICAgICAgSWYgLkVPRiBUaGVuDQogICAgICAgICBMb29r +dXBTcWwgPSBWYWx1ZUlmTnVsbA0KICAgICAgRWxzZQ0KICAgICAgICAgTG9va3Vw +U3FsID0gTnooLkZpZWxkcyhJbmRleCksIFZhbHVlSWZOdWxsKQ0KICAgICAgRW5k +IElmDQogICAgICAuQ2xvc2UNCiAgIEVuZCBXaXRoDQogICBTZXQgcnN0ID0gTm90 +aGluZw0KICAgDQpFeGl0SGVyZToNCiAgIEV4aXQgRnVuY3Rpb24NCiAgIA0KSGFu +ZGxlRXJyOg0KICAgSWYgTm90IChyc3QgSXMgTm90aGluZykgVGhlbg0KICAgICAg +cnN0LkNsb3NlDQogICAgICBTZXQgcnN0ID0gTm90aGluZw0KICAgRW5kIElmDQoN +CiAgIEVyci5SYWlzZSBFcnIuTnVtYmVyLCAiTG9va3VwU3FsUFQ6IiAmIEVyci5T +b3VyY2UsIEVyci5EZXNjcmlwdGlvbiwgRXJyLkhlbHBGaWxlLCBFcnIuSGVscENv +bnRleHQNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IExvb2t1cFNxbFBUDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIExvb2t1 +cCBEQU8uUmVjb3Jkc2V0IHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciBETG9va3Vw +IChwYXNzaW5nIGEgU1FMIHN0YXRlbWVudCkgdmlhIFBhc3MgVGhyb3VnaCBRdWVy +eQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgU3FsVGV4dCAgICAgLSBTUUwgc3Rh +dGVtZW50DQonICAgICBJbmRleCAgICAgICAtIEZpZWxkIHNlbGVjdGlvbiBpZiB0 +aGUgZmlyc3QgZmllbGQgb2YgdGhlIHJlY29yZHNldCBpcyBub3QgdG8gYmUgcmV0 +dXJuZWQuDQonICAgICAgICAgICAgICAgICAgIFRoZSBpbmRleCBpcyBwYXNzZWQg +aW4gdGhlIHNhbWUgd2F5IGFzIEFET0RCLlJlY29yZHNldC5GaWVsZHMoaW5kZXgp +Lg0KJyAgICAgVmFsdWVJZk51bGwgLSBSZXR1cm4gdmFsdWUgaWYgcmVjb3JkIGlz +IG1pc3Npbmcgb3IgZGF0YSBmaWVsZCB2YWx1ZSBpcyBOdWxsIChkZWZhdWx0OiBO +dWxsKS4NCicNCicgUmV0dXJuczoNCicgICAgIFZhcmlhbnQgIC0gTnVsbCwgaWYg +U1FMIHN0YXRlbWVudCBkb2VzIG5vdCByZXR1cm4gYSByZWNvcmQuDQonDQonIFJl +bWFya3M6DQonICAgICBUaGUgU1FMIHN0YXRlbWVudCBtdXN0IGJlIHdyaXR0ZW4g +aW4gdGhlIFNRTCBkaWFsZWN0IG9mIGJhY2tlbmQgKGUuIGcuIFQtU1FMIGZvciBT +UUwtU2VydmVyKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIExvb2t1cFNxbFBUKEJ5VmFsIFNxbFRl +eHQgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlW +YWwgSW5kZXggQXMgVmFyaWFudCA9IDAmLCBfDQogICAgICAgICAgICAgICAgICAg +T3B0aW9uYWwgQnlWYWwgVmFsdWVJZk51bGwgQXMgVmFyaWFudCA9IE51bGwpIEFz +IFZhcmlhbnQNCg0KICAgRGltIHJzdCBBcyBEQU8uUmVjb3Jkc2V0DQoNCk9uIEVy +cm9yIEdvVG8gSGFuZGxlRXJyDQoNCiAgIFNldCByc3QgPSBNZS5PcGVuUmVjb3Jk +c2V0UFQoU3FsVGV4dCwgZGJPcGVuRm9yd2FyZE9ubHksIGRiU2VlQ2hhbmdlcywg +ZGJSZWFkT25seSkNCiAgIFdpdGggcnN0DQogICAgICBJZiAuRU9GIFRoZW4NCiAg +ICAgICAgIExvb2t1cFNxbFBUID0gVmFsdWVJZk51bGwNCiAgICAgIEVsc2UNCiAg +ICAgICAgIExvb2t1cFNxbFBUID0gTnooLkZpZWxkcyhJbmRleCksIFZhbHVlSWZO +dWxsKQ0KICAgICAgRW5kIElmDQogICAgICAuQ2xvc2UNCiAgIEVuZCBXaXRoDQog +ICBTZXQgcnN0ID0gTm90aGluZw0KDQpFeGl0SGVyZToNCiAgIEV4aXQgRnVuY3Rp +b24NCiAgIA0KSGFuZGxlRXJyOg0KICAgSWYgTm90IChyc3QgSXMgTm90aGluZykg +VGhlbg0KICAgICAgcnN0LkNsb3NlDQogICAgICBTZXQgcnN0ID0gTm90aGluZw0K +ICAgRW5kIElmDQoNCiAgIEVyci5SYWlzZSBFcnIuTnVtYmVyLCAiTG9va3VwU3Fs +UFQ6IiAmIEVyci5Tb3VyY2UsIEVyci5EZXNjcmlwdGlvbiwgRXJyLkhlbHBGaWxl +LCBFcnIuSGVscENvbnRleHQNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IExvb2t1 +cA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0K +JyBEQU8uUmVjb3Jkc2V0IHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciBETG9va3Vw +ICh2aWEgQ3VycmVudERiQkUpDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBFeHBy +ICAgICAgICAtIEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRlZCBleHByZXNzaW9uIChz +ZWxlY3QgcGFydCkNCicgICAgIERvbWFpbiAgICAgIC0gVGFibGUsIHF1ZXJ5IG9y +IFNRTCBleHByZXNzaW9uIGZvciBzdWItcXVlcnkgKEZST00gcGFydCkNCicgICAg +IENyaXRlcmlhICAgIC0gKE9wdGlvbmFsKSBDcml0ZXJpYSBzdHJpbmcgKFdIRVJF +IHBhcnQpDQonICAgICBWYWx1ZUlmTnVsbCAtIFJldHVybiB2YWx1ZSBpZiByZWNv +cmQgaXMgbWlzc2luZyBvciBkYXRhIGZpZWxkIHZhbHVlIGlzIE51bGwgKGRlZmF1 +bHQ6IE51bGwpLg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgVmFyaWFudA0KJw0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1 +bmN0aW9uIExvb2t1cChCeVZhbCBFeHByIEFzIFN0cmluZywgQnlWYWwgRG9tYWlu +IEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBDcml0 +ZXJpYSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFs +IFZhbHVlSWZOdWxsIEFzIFZhcmlhbnQgPSBOdWxsKSBBcyBWYXJpYW50DQoNCiAg +IERpbSBTZWxlY3RTcWwgQXMgU3RyaW5nDQoNCiAgIFNlbGVjdFNxbCA9IEJ1aWxk +U2VsZWN0U3FsKEV4cHIsIERvbWFpbiwgQ3JpdGVyaWEsIEZhbHNlKQ0KICAgTG9v +a3VwID0gTG9va3VwU3FsKFNlbGVjdFNxbCwgLCBWYWx1ZUlmTnVsbCkNCg0KRW5k +IEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQnVpbGRTZWxlY3RTcWwoQnlW +YWwgRXhwciBBcyBTdHJpbmcsIEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlv +bmFsIEJ5VmFsIENyaXRlcmlhIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAg +ICAgICAgICAgT3B0aW9uYWwgQnlWYWwgRGlzdGluY3QgQXMgQm9vbGVhbiA9IEZh +bHNlKQ0KDQogICBEaW0gU2VsZWN0U3FsIEFzIFN0cmluZw0KDQogICBTZWxlY3RT +cWwgPSAiU0VMRUNUICINCiAgIElmIERpc3RpbmN0IFRoZW4NCiAgICAgIFNlbGVj +dFNxbCA9IFNlbGVjdFNxbCAmICJEaXN0aW5jdCAiDQogICBFbmQgSWYNCiAgIFNl +bGVjdFNxbCA9IFNlbGVjdFNxbCAmIEV4cHIgJiAiIEZST00gKCIgJiBEb21haW4g +JiAiKSINCiAgIElmIE5vdCAoVmFyVHlwZShDcml0ZXJpYSkgPSB2YkVycm9yKSBU +aGVuDQogICAgICBJZiBMZW4oQ3JpdGVyaWEpID4gMCBUaGVuDQogICAgICAgICBT +ZWxlY3RTcWwgPSBTZWxlY3RTcWwgJiAiIFdIRVJFICIgJiBDcml0ZXJpYQ0KICAg +ICAgRW5kIElmDQogICBFbmQgSWYNCiAgIA0KICAgQnVpbGRTZWxlY3RTcWwgPSBT +ZWxlY3RTcWwNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IENvdW50DQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIERBTy5SZWNv +cmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERDb3VudCAodmlhIEN1cnJl +bnREYkJFKQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgRXhwciAgICAgICAgLSBG +aWVsZCBuYW1lIG9yIGNhbGN1bGF0ZWQgZXhwcmVzc2lvbiAoc2VsZWN0IHBhcnQp +DQonICAgICBEb21haW4gICAgICAtIFRhYmxlLCBxdWVyeSBvciBTUUwgZXhwcmVz +c2lvbiBmb3Igc3ViLXF1ZXJ5IChGUk9NIHBhcnQpDQonICAgICBDcml0ZXJpYSAg +ICAtIChvcHRpb25hbCkgQ3JpdGVyaWEgc3RyaW5nIChXSEVSRSBwYXJ0KQ0KJw0K +JyBSZXR1cm5zOg0KJyAgICAgTG9uZw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIENvdW50KEJ5VmFs +IEV4cHIgQXMgU3RyaW5nLCBCeVZhbCBEb21haW4gQXMgU3RyaW5nLCBPcHRpb25h +bCBCeVZhbCBDcml0ZXJpYSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgT3B0 +aW9uYWwgQnlWYWwgRGlzdGluY3QgQXMgQm9vbGVhbiA9IEZhbHNlKSBBcyBMb25n +DQogICAgICAgICAgICAgDQogICBJZiBEaXN0aW5jdCBUaGVuDQogICAgICBJZiBF +eHByIDw+ICIqIiBUaGVuDQogICAgICAgICBEb21haW4gPSAiKCIgJiBCdWlsZFNl +bGVjdFNxbChFeHByLCBEb21haW4sIENyaXRlcmlhLCBUcnVlKSAmICIpIg0KICAg +ICAgICAgQ3JpdGVyaWEgPSB2Yk51bGxTdHJpbmcNCiAgICAgIEVuZCBJZg0KICAg +RW5kIElmDQogICAgICAgICAgICAgDQogICBDb3VudCA9IE56KE1lLkxvb2t1cCgi +Q291bnQoIiAmIEV4cHIgJiAiKSIsIERvbWFpbiwgQ3JpdGVyaWEpLCAwKQ0KICAg +DQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogTWF4DQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIERBTy5SZWNvcmRzZXQgcmVwbGFj +ZW1lbnQgZnVuY3Rpb24gZm9yIERNYXggKHZpYSBDdXJyZW50RGJCRSkNCicNCicg +UGFyYW1ldGVyczoNCicgICAgIEV4cHIgICAgICAgIC0gRmllbGQgbmFtZSBvciBj +YWxjdWxhdGVkIGV4cHJlc3Npb24gKHNlbGVjdCBwYXJ0KQ0KJyAgICAgRG9tYWlu +ICAgICAgLSBUYWJsZSwgcXVlcnkgb3IgU1FMIGV4cHJlc3Npb24gZm9yIHN1Yi1x +dWVyeSAoRlJPTSBwYXJ0KQ0KJyAgICAgQ3JpdGVyaWEgICAgLSAoT3B0aW9uYWwp +IENyaXRlcmlhIHN0cmluZyAoV0hFUkUgcGFydCkNCicNCicgUmV0dXJuczoNCicg +ICAgIFZhcmlhbnQNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBNYXgoQnlWYWwgRXhwciBBcyBTdHJp +bmcsIEJ5VmFsIERvbWFpbiBBcyBTdHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRl +cmlhIEFzIFZhcmlhbnQpIEFzIFZhcmlhbnQNCiAgIE1heCA9IE1lLkxvb2t1cCgi +TWF4KCIgJiBFeHByICYgIikiLCBEb21haW4sIENyaXRlcmlhKQ0KRW5kIEZ1bmN0 +aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgRnVuY3Rpb246IE1pbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KJyBEQU8uUmVjb3Jkc2V0IHJlcGxhY2VtZW50IGZ1bmN0 +aW9uIGZvciBETWluICh2aWEgQ3VycmVudERiQkUpDQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBFeHByICAgICAgICAtIEZpZWxkIG5hbWUgb3IgY2FsY3VsYXRlZCBl +eHByZXNzaW9uIChzZWxlY3QgcGFydCkNCicgICAgIERvbWFpbiAgICAgIC0gVGFi +bGUsIHF1ZXJ5IG9yIFNRTCBleHByZXNzaW9uIGZvciBzdWItcXVlcnkgKEZST00g +cGFydCkNCicgICAgIENyaXRlcmlhICAgIC0gKE9wdGlvbmFsKSBDcml0ZXJpYSBz +dHJpbmcgKFdIRVJFIHBhcnQpDQonDQonIFJldHVybnM6DQonICAgICBWYXJpYW50 +DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQ +dWJsaWMgRnVuY3Rpb24gTWluKEJ5VmFsIEV4cHIgQXMgU3RyaW5nLCBCeVZhbCBE +b21haW4gQXMgU3RyaW5nLCBPcHRpb25hbCBCeVZhbCBDcml0ZXJpYSBBcyBWYXJp +YW50KSBBcyBWYXJpYW50DQogICAgTWluID0gTWUuTG9va3VwKCJNaW4oIiAmIEV4 +cHIgJiAiKSIsIERvbWFpbiwgQ3JpdGVyaWEpDQpFbmQgRnVuY3Rpb24NCg0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlv +bjogU3VtDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonDQonIERBTy5SZWNvcmRzZXQgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIERT +dW0gKHZpYSBDdXJyZW50RGJCRSkNCicNCicgUGFyYW1ldGVyczoNCicgICAgIEV4 +cHIgICAgICAgIC0gRmllbGQgbmFtZSBvciBjYWxjdWxhdGVkIGV4cHJlc3Npb24g +KHNlbGVjdCBwYXJ0KQ0KJyAgICAgRG9tYWluICAgICAgLSBUYWJsZSwgcXVlcnkg +b3IgU1FMIGV4cHJlc3Npb24gZm9yIHN1Yi1xdWVyeSAoRlJPTSBwYXJ0KQ0KJyAg +ICAgQ3JpdGVyaWEgICAgLSAoT3B0aW9uYWwpIENyaXRlcmlhIHN0cmluZyAoV0hF +UkUgcGFydCkNCicNCicgUmV0dXJuczoNCicgICAgIFZhcmlhbnQNCicNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5j +dGlvbiBTdW0oQnlWYWwgRXhwciBBcyBTdHJpbmcsIEJ5VmFsIERvbWFpbiBBcyBT +dHJpbmcsIE9wdGlvbmFsIEJ5VmFsIENyaXRlcmlhIEFzIFZhcmlhbnQpIEFzIFZh +cmlhbnQNCiAgIFN1bSA9IE1lLkxvb2t1cCgiU3VtKCIgJiBFeHByICYgIikiLCBE +b21haW4sIENyaXRlcmlhKQ0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IEluc2VydElk +ZW50aXR5UmV0dXJuDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonDQonIEV4ZWN1dGUgaW5zZXJ0IFNRTCBzdGF0ZW1lbnQgYW5kIHJl +dHVybiBsYXN0IGlkZW50aXR5IHZhbHVlICh2aWEgQ3VycmVudERiQkUpDQonDQon +IFBhcmFtZXRlcnM6DQonICAgICBJbnNlcnRTUUwgICAtIEluc2VydCBTUUwgc3Rh +dGVtZW50DQonDQonIFJldHVybnM6DQonICAgICBJZGVudGl0eSB2YWx1ZSBvciBO +VUxMIGlmIG5vIHJlY29yZCB3YXMgYXBwZW5kZWQNCicNCicgUmVtYXJrczoNCicg +ICAgIFdvcmtzIGZvciBKZXQgb25seSBmcm9tIEpldCA0LjAgKEFjY2VzcyAyMDAw +KSwgSWRlbnRpdHlUYWJsZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIE1TU1FMLCB1 +bmRlciBNeVNRTCB0aGUgSURFTlRfQ1VSUkVOVCBmdW5jdGlvbiBkb2VzIG5vdCBl +eGlzdC4NCicgICAgIElmIEhvb2tzRW5hYmxlZDogZXZlbnQgSG9va0luc2VydElk +ZW50aXR5UmV0dXJuIHdpbGwgYmUgcmFpc2VkDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gSW5zZXJ0SWRl +bnRpdHlSZXR1cm4oQnlWYWwgSW5zZXJ0U1FMIEFzIFN0cmluZykgQXMgVmFyaWFu +dA0KDQogICBEaW0gZGIgQXMgREFPLkRhdGFiYXNlDQogICBEaW0gcnN0IEFzIERB +Ty5SZWNvcmRzZXQNCiAgIERpbSBSZWNvcmRzQWZmZWN0ZWQgQXMgTG9uZw0KICAg +RGltIElkZW50aXR5U3FsIEFzIFN0cmluZw0KICAgRGltIEhvb2tSZXNwb25zZU1v +ZGUgQXMgTG9uZw0KICAgRGltIEhvb2tSZXNwb25zZU1lc3NhZ2UgQXMgVmFyaWFu +dA0KDQogICBTZXQgZGIgPSBNZS5DdXJyZW50RGJCRQ0KICAgDQogICBJZiBtX0hv +b2tzRW5hYmxlZCBUaGVuDQogICAgICBSYWlzZUV2ZW50IEhvb2tJbnNlcnRJZGVu +dGl0eVJldHVybihJbnNlcnRTUUwsIGRiLCBJZGVudGl0eVNxbCwgSG9va1Jlc3Bv +bnNlTW9kZSwgSG9va1Jlc3BvbnNlTWVzc2FnZSkNCiAgICAgIElmIEhvb2tSZXNw +b25zZU1vZGUgPD4gMCBUaGVuICdIb29rIGVybWl0dGVsdGUgYmVyZWl0cyBkYXMg +RXJnZWJuaXMNCiAgICAgICAgIEluc2VydElkZW50aXR5UmV0dXJuID0gSG9va1Jl +c3BvbnNlTWVzc2FnZQ0KICAgICAgICAgRXhpdCBGdW5jdGlvbg0KICAgICAgRW5k +IElmDQogICBFbmQgSWYNCiAgIA0KT24gRXJyb3IgR29UbyBIYW5kbGVFcnINCg0K +ICAgZGIuRXhlY3V0ZSBJbnNlcnRTUUwsIGRiRmFpbE9uRXJyb3INCiAgIFJlY29y +ZHNBZmZlY3RlZCA9IGRiLlJlY29yZHNBZmZlY3RlZA0KICAgDQogICBJZiBSZWNv +cmRzQWZmZWN0ZWQgPSAwIFRoZW4NCiAgICAgIEluc2VydElkZW50aXR5UmV0dXJu +ID0gTnVsbCAnZXMgd3VyZGUga2VpbiBuZXVlciBEUyBhbmdlZvxndA0KICAgICAg +RXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIElmIExlbihJZGVudGl0 +eVNxbCkgPSAwIFRoZW4NCiAgICAgIElkZW50aXR5U3FsID0gIlNFTEVDVCBAQElk +ZW50aXR5Ig0KICAgRW5kIElmDQoNCiAgIFNldCByc3QgPSBkYi5PcGVuUmVjb3Jk +c2V0KElkZW50aXR5U3FsKSAnenVsZXR6dCB6dWdld2llc2VuZXIgQXV0b3dlcnQg +LyAuLi4gZnVua3Rpb25pZXJ0IG5pY2h0IGJlaSBNeVNRTCENCiAgIFdpdGggcnN0 +DQogICAgICBJZiAuRU9GIFRoZW4NCiAgICAgICAgIEluc2VydElkZW50aXR5UmV0 +dXJuID0gTnVsbA0KICAgICAgRWxzZQ0KICAgICAgICAgSW5zZXJ0SWRlbnRpdHlS +ZXR1cm4gPSAuRmllbGRzKDApDQogICAgICBFbmQgSWYNCiAgICAgIC5DbG9zZQ0K +ICAgRW5kIFdpdGgNCiAgIFNldCByc3QgPSBOb3RoaW5nDQogICBTZXQgZGIgPSBO +b3RoaW5nDQogICAgDQpFeGl0SGVyZToNCiAgIEV4aXQgRnVuY3Rpb24NCg0KSGFu +ZGxlRXJyOg0KICAgSWYgTm90IChyc3QgSXMgTm90aGluZykgVGhlbg0KICAgICAg +cnN0LkNsb3NlDQogICAgICBTZXQgcnN0ID0gTm90aGluZw0KICAgRW5kIElmDQoN +CiAgIEVyci5SYWlzZSBFcnIuTnVtYmVyLCAiSW5zZXJ0SWRlbnRpdHlSZXR1cm46 +IiAmIEVyci5Tb3VyY2UsIEVyci5EZXNjcmlwdGlvbiwgRXJyLkhlbHBGaWxlLCBF +cnIuSGVscENvbnRleHQNCg0KRW5kIEZ1bmN0aW9uDQoNCicjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +DQonIEdyb3VwOiBMaW5rZWQgVGFibGUgU3VwcG9ydA0KDQonLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogTGlua1RhYmxlDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIExp +bmsgYmFja2VuZCB0YWJsZSBpbiBBY2Nlc3MgZnJvbnRlbmQNCicNCicgUGFyYW1l +dGVyczoNCicgICAgIFNvdXJjZVRhYmxlTmFtZSAgIC0gVGFibGUgb3IgdmlldyBp +biB0aGUgYmFja2VuZA0KJyAgICAgTGlua2VkVGFibGVOYW1lICAgLSBUYWJsZSBp +biBmcm9udGVuZA0KJyAgICAgU2F2ZVBXRCAgICAgICAgICAgLSBTYXZlIE9EQkMg +cGFzc3dvcmQgaW4gbGlua2VkIHRhYmxlDQonICAgICBSZW1vdmVTY2hlbWFOYW1l +ICAtIFJlbW92ZSBzY2hlbWEgaWRlbnRpZmllcg0KJw0KJyBSZW1hcmtzOg0KJyAg +ICAgSWYgdGhlcmUgaXMgYSAyLXBhcnQgdGFibGUgaWRlbnRpZmllciBsaWtlICJk +Ym8uVGFibGUxMjMiIGluIHRoZSBCRSBhbmQgYlJlbW92ZVNjaGVtYU5hbWUgaXMg +c2V0IHRvIGZhbHNlLCB0aGUgZG90IGlzIHJlcGxhY2VkIGJ5ICJfIi4NCicNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBT +dWIgTGlua1RhYmxlKEJ5VmFsIFNvdXJjZVRhYmxlTmFtZSBBcyBTdHJpbmcsIF8N +CiAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIExpbmtlZFRhYmxlTmFtZSBBcyBT +dHJpbmcgPSB2Yk51bGxTdHJpbmcsIF8NCiAgICAgICAgICAgIE9wdGlvbmFsIEJ5 +VmFsIFNhdmVQV0QgQXMgQm9vbGVhbiA9IEZhbHNlLCBfDQogICAgICAgICAgICBP +cHRpb25hbCBCeVZhbCBSZW1vdmVTY2hlbWFOYW1lIEFzIEJvb2xlYW4gPSBUcnVl +KQ0KDQogICBEaW0gZGJzIEFzIERBTy5EYXRhYmFzZQ0KICAgRGltIHRkZiBBcyBE +QU8uVGFibGVEZWYNCiAgIERpbSBQb3MgQXMgTG9uZw0KICAgRGltIE5ld0Nvbm5l +Y3Rpb25TdHJpbmcgQXMgU3RyaW5nDQogICANCiAgIE5ld0Nvbm5lY3Rpb25TdHJp +bmcgPSBNZS5Db25uZWN0aW9uU3RyaW5nDQogICBJZiBMZW4oTmV3Q29ubmVjdGlv +blN0cmluZykgPSAwIFRoZW4NCiAgICAgIEVyci5SYWlzZSBFUlJOUl9OT0NPTkZJ +RywgXw0KICAgICAgICAgICAgICAiTGlua1RhYmxlIiwgIk1pc3NpbmcgT0RCQyBj +b25uZWN0aW9uIHN0cmluZyEiDQogICBFbmQgSWYNCiAgIA0KICAgSWYgTGVuKExp +bmtlZFRhYmxlTmFtZSkgPSAwIFRoZW4NCiAgICAgIExpbmtlZFRhYmxlTmFtZSA9 +IFNvdXJjZVRhYmxlTmFtZQ0KICAgICAgSWYgUmVtb3ZlU2NoZW1hTmFtZSBUaGVu +DQogICAgICAgICBQb3MgPSBJblN0cigxLCBMaW5rZWRUYWJsZU5hbWUsICIuIikN +CiAgICAgICAgIElmIFBvcyA+IDAgVGhlbg0KICAgICAgICAgICAgTGlua2VkVGFi +bGVOYW1lID0gTWlkJChMaW5rZWRUYWJsZU5hbWUsIFBvcyArIDEpICcgdXNlIG9u +bHkgdGV4dCBhZnRlciBwb2ludA0KICAgICAgICAgRW5kIElmDQogICAgICBFbmQg +SWYNCiAgICAgIExpbmtlZFRhYmxlTmFtZSA9IFJlcGxhY2UoTGlua2VkVGFibGVO +YW1lLCAiLiIsICJfIikNCiAgIEVuZCBJZg0KICAgDQogICBTZXQgZGJzID0gTWUu +Q3VycmVudERiDQogICBkYnMuVGFibGVEZWZzLlJlZnJlc2gNCiAgICdDaGVjayBp +ZiB0YWJsZSBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbGlua2VkLg0KJyBUT0RPOiBy +ZWZhY3RvciBmb3ItZWFjaA0KICAgRm9yIEVhY2ggdGRmIEluIGRicy5UYWJsZURl +ZnMNCiAgICAgIElmIHRkZi5OYW1lID0gTGlua2VkVGFibGVOYW1lIFRoZW4NCiAg +ICAgICAgIElmIHRkZi5Tb3VyY2VUYWJsZU5hbWUgPSBTb3VyY2VUYWJsZU5hbWUg +VGhlbg0KICAgICAgICAgICAgUmVsaW5rVGFibGVEZWYgdGRmLCBOZXdDb25uZWN0 +aW9uU3RyaW5nLCBTYXZlUFdEDQogICAgICAgICAgICBFeGl0IFN1Yg0KICAgICAg +ICAgRWxzZQ0KICAgICAgICAgICAgSWYgTXNnQm94KCJUaGUgU291cmNlVGFibGVO +YW1lIG9mIHRoZSBleGlzdGluZyB0YWJsZSAnIiAmIExpbmtlZFRhYmxlTmFtZSAm +ICInIGlzICciICYgdGRmLlNvdXJjZVRhYmxlTmFtZSAmICInIGFuZCBub3QgJyIg +JiBTb3VyY2VUYWJsZU5hbWUgJiAiJyIgJiB2Yk5ld0xpbmUgJiBfDQogICAgICAg +ICAgICAgICAgICAgICAgIlNob3VsZCB0aGUgZXhpc3RpbmcgdGFibGUgYmUgbGlu +a2VkIHRvIHRoZSBuZXcgZGF0YSBvcmlnaW4/IiwgdmJDcml0aWNhbCArIHZiWWVz +Tm8gKyB2YkRlZmF1bHRCdXR0b24yKSA9IHZiWWVzIFRoZW4NCiAgICAgICAgICAg +ICAgIGRicy5UYWJsZURlZnMuRGVsZXRlIHRkZi5OYW1lDQogICAgICAgICAgICBF +bHNlDQogICAgICAgICAgICAgICBFeGl0IFN1Yg0KICAgICAgICAgICAgRW5kIElm +DQogICAgICAgICBFbmQgSWYNCiAgICAgICAgIEV4aXQgRm9yDQogICAgICBFbmQg +SWYNCiAgIE5leHQgdGRmDQoNCiAgIFNldCB0ZGYgPSBkYnMuQ3JlYXRlVGFibGVE +ZWYoTGlua2VkVGFibGVOYW1lKQ0KICAgdGRmLlNvdXJjZVRhYmxlTmFtZSA9IFNv +dXJjZVRhYmxlTmFtZQ0KICAgdGRmLkNvbm5lY3QgPSBOZXdDb25uZWN0aW9uU3Ry +aW5nDQogICBkYnMuVGFibGVEZWZzLkFwcGVuZCB0ZGYNCiAgIElmIFNhdmVQV0Qg +VGhlbg0KICAgICAgQWRkVGFibGVEZWZBdHRyaWJ1dCB0ZGYsIGRiQXR0YWNoU2F2 +ZVBXRA0KICAgICAgdGRmLlJlZnJlc2hMaW5rDQogICBFbmQgSWYNCiAgIA0KICAg +U2V0IHRkZiA9IE5vdGhpbmcNCiAgIGRicy5UYWJsZURlZnMuUmVmcmVzaA0KICAg +U2V0IGRicyA9IE5vdGhpbmcNCg0KRW5kIFN1Yg0KDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBSZWxpbmtUYWJs +ZXMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +CicgUmVsaW5rIGV4aXN0aW5nIHRhYmxlcw0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAg +ICAgU2F2ZVBXRCAgICAgLSBTYXZlIE9EQkMgcGFzc3dvcmQgaW4gbGlua2VkIHRh +YmxlDQonICAgICBFdmVudFBlcmlvZCAtIE51bWJlciBvZiBsaW5rZWQgZWxlbWVu +dHMgd2hlbiB0aGUgRGJPYmplY3RSZWxpbmtlZCBldmVudCBpcyB0byBiZSBjYWxs +ZWQuIChEZWZhdWx0OiAwIC4uLiBubyBldmVudCBjYWxsKS4NCicNCicgUmV0dXJu +czoNCicgICAgIExvbmcgIC0gTnVtYmVyIG9mIGxpbmtlZCB0YWJsZXMNCicNCict +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBG +dW5jdGlvbiBSZWxpbmtUYWJsZXMoT3B0aW9uYWwgQnlWYWwgU2F2ZVBXRCBBcyBC +b29sZWFuID0gRmFsc2UsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +T3B0aW9uYWwgQnlWYWwgRXZlbnRQZXJpb2QgQXMgTG9uZyA9IDApIEFzIExvbmcN +CidFdmVudFBlcmlvZCA9IDAgLi4uIFJldHVybiBpcyBkaXNhYmxlZA0KDQogICBE +aW0gTmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcNCiAgIERpbSBSZWxpbmtl +ZEl0ZW1DbnQgQXMgTG9uZw0KDQogICBOZXdDb25uZWN0aW9uU3RyaW5nID0gTWUu +Q29ubmVjdGlvblN0cmluZw0KICAgSWYgTGVuKE5ld0Nvbm5lY3Rpb25TdHJpbmcp +ID0gMCBUaGVuDQogICAgICBFcnIuUmFpc2UgRVJSTlJfTk9DT05GSUcsIF8NCiAg +ICAgICAgICAgICAgIlJlbGlua1RhYmxlIiwgIk1pc3NpbmcgT0RCQyBjb25uZWN0 +aW9uIHN0cmluZyEiDQogICBFbmQgSWYNCiAgIA0KICAgUmVsaW5rVGFibGVzV29y +a2VyIE5ld0Nvbm5lY3Rpb25TdHJpbmcsIFNhdmVQV0QsIEV2ZW50UGVyaW9kLCBS +ZWxpbmtlZEl0ZW1DbnQNCiAgIA0KICAgUmVsaW5rVGFibGVzID0gUmVsaW5rZWRJ +dGVtQ250DQoNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIFN1YiBSZWxpbmtUYWJs +ZXNXb3JrZXIoQnlWYWwgTmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcsIF8N +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBTYXZlUFdEIEFz +IEJvb2xlYW4sIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZh +bCBFdmVudFBlcmlvZCBBcyBMb25nLCBfDQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgQnlSZWYgUmVsaW5rZWRUYWJsZUNvdW50ZXIgQXMgTG9uZykNCidF +dmVudFBlcmlvZCA9IDAgLi4uIFJldHVybiBpcyBkaXNhYmxlZA0KDQogICBEaW0g +ZGJzIEFzIERBTy5EYXRhYmFzZQ0KICAgRGltIHRkZiBBcyBEQU8uVGFibGVEZWYN +CiAgIERpbSBMYXN0VGRmTmFtZSBBcyBTdHJpbmcNCiAgIA0KICAgU2V0IGRicyA9 +IE1lLkN1cnJlbnREYg0KICAgZGJzLlRhYmxlRGVmcy5SZWZyZXNoDQogICANCiAg +IEZvciBFYWNoIHRkZiBJbiBkYnMuVGFibGVEZWZzDQogICANCiAgICAgIElmIFJl +bGlua1RhYmxlRGVmKHRkZiwgTmV3Q29ubmVjdGlvblN0cmluZywgU2F2ZVBXRCkg +VGhlbg0KICAgICAgICAgUmVsaW5rZWRUYWJsZUNvdW50ZXIgPSBSZWxpbmtlZFRh +YmxlQ291bnRlciArIDENCiAgICAgICAgIElmIEV2ZW50UGVyaW9kID4gMCBUaGVu +DQogICAgICAgICAgICBMYXN0VGRmTmFtZSA9IHRkZi5OYW1lDQogICAgICAgICAg +ICBJZiBSZWxpbmtlZFRhYmxlQ291bnRlciBNb2QgRXZlbnRQZXJpb2QgPSAwIFRo +ZW4NCiAgICAgICAgICAgICAgIFJhaXNlRXZlbnQgRGJPYmplY3RSZWxpbmtlZChM +YXN0VGRmTmFtZSwgUmVsaW5rZWRUYWJsZUNvdW50ZXIpDQogICAgICAgICAgICBF +bmQgSWYNCiAgICAgICAgIEVuZCBJZg0KICAgICAgRW5kIElmDQogICANCiAgIE5l +eHQgdGRmDQogICANCiAgIElmIEV2ZW50UGVyaW9kID4gMCBUaGVuDQogICAgICBJ +ZiBSZWxpbmtlZFRhYmxlQ291bnRlciBNb2QgRXZlbnRQZXJpb2QgPiAwIFRoZW4N +CiAgICAgICAgIFJhaXNlRXZlbnQgRGJPYmplY3RSZWxpbmtlZChMYXN0VGRmTmFt +ZSwgUmVsaW5rZWRUYWJsZUNvdW50ZXIpDQogICAgICBFbmQgSWYNCiAgIEVuZCBJ +Zg0KDQpFbmQgU3ViDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicgU3ViOiBSZWxpbmtUYWJsZQ0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBSZWxpbmsgbGlua2VkIHRhYmxl +IHdpdGggcG9zc2libGUgY2hhbmdlIG9mIHNlcnZlciBkYXRhDQonDQonIFBhcmFt +ZXRlcnM6DQonICAgICBMaW5rZWRUYWJsZU5hbWUgICAtIFRhYmxlIGluIGZyb250 +ZW5kDQonICAgICBTYXZlUFdEICAgICAgICAgICAtIFNhdmUgT0RCQyBwYXNzd29y +ZCBpbiBsaW5rZWQgdGFibGUNCicNCicgUmV0dXJuczoNCicgICAgIEJvb2xlYW4g +IC0gc3VjY2Vzcw0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVGhlIFRhYmxlRGVmIHBy +b3BlcnR5IFNvdXJjZVRhYmxlTmFtZSBpcyBub3QgY2hhbmdlZC4NCicNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5j +dGlvbiBSZWxpbmtUYWJsZShCeVZhbCBMaW5rZWRUYWJsZU5hbWUgQXMgU3RyaW5n +LCBfDQogICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgU2F2ZVBXRCBB +cyBCb29sZWFuID0gRmFsc2UpIEFzIEJvb2xlYW4NCg0KICAgRGltIGRicyBBcyBE +QU8uRGF0YWJhc2UNCiAgIERpbSB0ZGYgQXMgREFPLlRhYmxlRGVmDQogICBEaW0g +TmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcNCiAgIA0KICAgTmV3Q29ubmVj +dGlvblN0cmluZyA9IE1lLkNvbm5lY3Rpb25TdHJpbmcNCiAgIElmIExlbihOZXdD +b25uZWN0aW9uU3RyaW5nKSA9IDAgVGhlbg0KICAgICAgRXJyLlJhaXNlIEVSUk5S +X05PQ09ORklHLCBfDQogICAgICAgICAgICAgICJSZWxpbmtUYWJsZSIsICJNaXNz +aW5nIE9EQkMgY29ubmVjdGlvbiBzdHJpbmchIg0KICAgRW5kIElmDQoNCiAgIFNl +dCBkYnMgPSBNZS5DdXJyZW50RGINCiAgIGRicy5UYWJsZURlZnMuUmVmcmVzaA0K +ICAgU2V0IHRkZiA9IGRicy5UYWJsZURlZnMoTGlua2VkVGFibGVOYW1lKQ0KICAg +UmVsaW5rVGFibGUgPSBSZWxpbmtUYWJsZURlZih0ZGYsIE5ld0Nvbm5lY3Rpb25T +dHJpbmcsIFNhdmVQV0QpDQoNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0 +aW9uIFJlbGlua1RhYmxlRGVmKEJ5VmFsIFRkZlJlZiBBcyBEQU8uVGFibGVEZWYs +IF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlWYWwgTmV3Q29u +bmVjdGlvblN0cmluZyBBcyBTdHJpbmcsIF8NCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgQnlWYWwgU2F2ZVBXRCBBcyBTdHJpbmcpIEFzIEJvb2xlYW4N +CiAgIA0KICAgSWYgTm90IElzTGlua2VkVGFibGUoVGRmUmVmKSBUaGVuDQogICAg +ICBSZWxpbmtUYWJsZURlZiA9IEZhbHNlDQogICAgICBFeGl0IEZ1bmN0aW9uDQog +ICBFbmQgSWYNCiAgIA0KICAgV2l0aCBUZGZSZWYNCiAgIA0KICAgICAgSWYgTGVm +dCguQ29ubmVjdCwgNSkgPD4gIk9EQkM7IiBUaGVuIEV4aXQgRnVuY3Rpb24NCiAg +IA0KICAgICAgLkNvbm5lY3QgPSBOZXdDb25uZWN0aW9uU3RyaW5nDQogICAgICAu +UmVmcmVzaExpbmsNCiAgICAgIA0KICAgICAgSWYgU2F2ZVBXRCBUaGVuDQogICAg +ICAgICBBZGRUYWJsZURlZkF0dHJpYnV0IFRkZlJlZiwgZGJBdHRhY2hTYXZlUFdE +DQogICAgICBFbHNlDQogICAgICAgICBSZW1vdmVUYWJsZURlZkF0dHJpYnV0IFRk +ZlJlZiwgZGJBdHRhY2hTYXZlUFdEDQogICAgICBFbmQgSWYNCiAgIEVuZCBXaXRo +DQogICANCiAgIFJlbGlua1RhYmxlRGVmID0gVHJ1ZQ0KICAgDQpFbmQgRnVuY3Rp +b24NCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +JyBGdW5jdGlvbjogUmVsaW5rUGFzc1Rocm91Z2hRdWVyaWVzDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEFsbGUgUGFzcy1U +aHJvdWdoLUFiZnJhZ2VuIG5ldSB2ZXJrbvxwZmVuDQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBTYXZlUFdEICAgICAtIFNhdmUgT0RCQyBwYXNzd29yZCBpbiBsaW5r +ZWQgdGFibGUNCicgICAgIEV2ZW50UGVyaW9kIC0gTnVtYmVyIG9mIGxpbmtlZCBl +bGVtZW50cyB3aGVuIHRoZSBEYk9iamVjdFJlbGlua2VkIGV2ZW50IGlzIHRvIGJl +IGNhbGxlZC4gKERlZmF1bHQ6IDAgLi4uIG5vIGV2ZW50IGNhbGwpLg0KJw0KJyBS +ZXR1cm5zOg0KJyAgICAgTG9uZyAgICAgICAgLSBOdW1iZXIgb2YgbGlua2VkIHBh +c3MgdGhyb3VnaCBxdWVyaWVzDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gUmVsaW5rUGFzc1Rocm91 +Z2hRdWVyaWVzKE9wdGlvbmFsIEJ5VmFsIFNhdmVQV0QgQXMgQm9vbGVhbiA9IEZh +bHNlLCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IE9wdGlvbmFsIEJ5VmFsIEV2ZW50UGVyaW9kIEFzIExvbmcgPSAwKSBBcyBMb25n +DQonRXZlbnRQZXJpb2QgPSAwIC4uLiBSZXR1cm4gaXMgZGlzYWJsZWQNCg0KICAg +RGltIE5ld0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQogICBEaW0gUmVsaW5r +ZWRJdGVtcyBBcyBMb25nDQoNCiAgIE5ld0Nvbm5lY3Rpb25TdHJpbmcgPSBNZS5D +b25uZWN0aW9uU3RyaW5nDQogICBJZiBMZW4oTmV3Q29ubmVjdGlvblN0cmluZykg +PSAwIFRoZW4NCiAgICAgIEVyci5SYWlzZSBFUlJOUl9OT0NPTkZJRywgXw0KICAg +ICAgICAgICAgICAiUmVsaW5rVGFibGUiLCAiTWlzc2luZyBPREJDIGNvbm5lY3Rp +b24gc3RyaW5nISINCiAgIEVuZCBJZg0KICAgDQogICBSZWxpbmtQYXNzVGhyb3Vn +aFF1ZXJpZXNXb3JrZXIgTmV3Q29ubmVjdGlvblN0cmluZywgU2F2ZVBXRCwgRXZl +bnRQZXJpb2QsIFJlbGlua2VkSXRlbXMNCiAgIA0KICAgUmVsaW5rUGFzc1Rocm91 +Z2hRdWVyaWVzID0gUmVsaW5rZWRJdGVtcw0KDQpFbmQgRnVuY3Rpb24NCg0KUHJp +dmF0ZSBTdWIgUmVsaW5rUGFzc1Rocm91Z2hRdWVyaWVzV29ya2VyKEJ5VmFsIE5l +d0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBTYXZlUFdEIEFzIEJvb2xl +YW4sIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IEJ5VmFsIEV2ZW50UGVyaW9kIEFzIExvbmcsIF8NCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVmIFJlbGlua0NvdW50ZXIgQXMg +TG9uZykNCidFdmVudFBlcmlvZCA9IDAgLi4uIFJldHVybiBpcyBkaXNhYmxlZA0K +ICAgDQogICBEaW0gZGJzIEFzIERBTy5EYXRhYmFzZQ0KICAgRGltIHFkZiBBcyBE +QU8uUXVlcnlEZWYNCiAgIERpbSBMYXN0UWRmTmFtZSBBcyBTdHJpbmcNCiAgIA0K +ICAgU2V0IGRicyA9IE1lLkN1cnJlbnREYg0KICAgZGJzLlF1ZXJ5RGVmcy5SZWZy +ZXNoDQogICANCiAgIElmIE5vdCBTYXZlUFdEIFRoZW4NCiAgICAgIE5ld0Nvbm5l +Y3Rpb25TdHJpbmcgPSBSZW1vdmVQYXNzd29yZEZyb21Db25uZWN0aW9uU3RyaW5n +KE5ld0Nvbm5lY3Rpb25TdHJpbmcpDQogICBFbmQgSWYNCiAgIA0KICAgRm9yIEVh +Y2ggcWRmIEluIGRicy5RdWVyeURlZnMNCiAgICAgIElmIFJlbGlua1Bhc3NUaHJv +dWdoUXVlcnlEZWYocWRmLCBOZXdDb25uZWN0aW9uU3RyaW5nKSBUaGVuDQogICAg +ICAgICBSZWxpbmtDb3VudGVyID0gUmVsaW5rQ291bnRlciArIDENCiAgICAgICAg +IElmIEV2ZW50UGVyaW9kID4gMCBUaGVuDQogICAgICAgICAgICBMYXN0UWRmTmFt +ZSA9IHFkZi5OYW1lDQogICAgICAgICAgICBJZiBSZWxpbmtDb3VudGVyIE1vZCBF +dmVudFBlcmlvZCA9IDAgVGhlbg0KICAgICAgICAgICAgICAgUmFpc2VFdmVudCBE +Yk9iamVjdFJlbGlua2VkKExhc3RRZGZOYW1lLCBSZWxpbmtDb3VudGVyKQ0KICAg +ICAgICAgICAgRW5kIElmDQogICAgICAgICBFbmQgSWYNCiAgICAgIEVuZCBJZg0K +ICAgICAgcWRmLkNsb3NlDQogICBOZXh0IHFkZg0KICAgDQogICBJZiBFdmVudFBl +cmlvZCA+IDAgVGhlbg0KICAgICAgSWYgUmVsaW5rQ291bnRlciBNb2QgRXZlbnRQ +ZXJpb2QgPiAwIFRoZW4NCiAgICAgICAgIFJhaXNlRXZlbnQgRGJPYmplY3RSZWxp +bmtlZChMYXN0UWRmTmFtZSwgUmVsaW5rQ291bnRlcikNCiAgICAgIEVuZCBJZg0K +ICAgRW5kIElmDQoNCkVuZCBTdWINCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJyBTdWI6IFJlbGlua1Bhc3NUaHJvdWdoUXVlcnkN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicg +UmVsaW5rIHBhc3MgdGhyb3VnaCBxdWVyeQ0KJw0KJyBQYXJhbWV0ZXJzOg0KJyAg +ICAgUXVlcnlOYW1lICAgLSBUYWJsZSBpbiBmcm9udGVuZA0KJyAgICAgU2F2ZVBX +RCAgICAgLSBTYXZlIE9EQkMgcGFzc3dvcmQgaW4gcGFzcyB0aHJvdWcgcXVlcnkN +CicNCicgUmV0dXJuczoNCicgICAgIEJvb2xlYW4gIC0gc3VjY2Vzcw0KJw0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1 +bmN0aW9uIFJlbGlua1Bhc3NUaHJvdWdoUXVlcnkoQnlWYWwgUXVlcnlOYW1lIEFz +IFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9u +YWwgQnlWYWwgU2F2ZVBXRCBBcyBCb29sZWFuID0gRmFsc2UpIEFzIEJvb2xlYW4N +Cg0KICAgRGltIGRicyBBcyBEQU8uRGF0YWJhc2UNCiAgIERpbSBxZGYgQXMgREFP +LlF1ZXJ5RGVmDQogICBEaW0gTmV3Q29ubmVjdGlvblN0cmluZyBBcyBTdHJpbmcN +Cg0KICAgTmV3Q29ubmVjdGlvblN0cmluZyA9IE1lLkNvbm5lY3Rpb25TdHJpbmcN +CiAgIA0KICAgSWYgTGVuKE5ld0Nvbm5lY3Rpb25TdHJpbmcpID0gMCBUaGVuDQog +ICAgICBFcnIuUmFpc2UgRVJSTlJfTk9DT05GSUcsIF8NCiAgICAgICAgICAgICAg +IlJlbGlua1Bhc3NUaHJvdWdoUXVlcnkiLCAiTWlzc2luZyBPREJDIGNvbm5lY3Rp +b24gc3RyaW5nISINCiAgIEVuZCBJZg0KICAgDQogICBJZiBOb3QgU2F2ZVBXRCBU +aGVuDQogICAgICBOZXdDb25uZWN0aW9uU3RyaW5nID0gUmVtb3ZlUGFzc3dvcmRG +cm9tQ29ubmVjdGlvblN0cmluZyhOZXdDb25uZWN0aW9uU3RyaW5nKQ0KICAgRW5k +IElmDQogICANCiAgIFNldCBkYnMgPSBNZS5DdXJyZW50RGINCiAgIGRicy5RdWVy +eURlZnMuUmVmcmVzaA0KICAgU2V0IHFkZiA9IGRicy5RdWVyeURlZnMoUXVlcnlO +YW1lKQ0KICAgUmVsaW5rUGFzc1Rocm91Z2hRdWVyeSA9IFJlbGlua1Bhc3NUaHJv +dWdoUXVlcnlEZWYocWRmLCBOZXdDb25uZWN0aW9uU3RyaW5nKQ0KICAgcWRmLkNs +b3NlDQoNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0aW9uIFJlbGlua1Bh +c3NUaHJvdWdoUXVlcnlEZWYoQnlWYWwgUWRmUmVmIEFzIERBTy5RdWVyeURlZiwg +Xw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5 +VmFsIE5ld0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nKSBBcyBCb29sZWFuDQog +ICANCiAgIElmIE5vdCBJc1Bhc3NUaHJvdWdoUXVlcnkoUWRmUmVmKSBUaGVuDQog +ICAgICBSZWxpbmtQYXNzVGhyb3VnaFF1ZXJ5RGVmID0gRmFsc2UNCiAgICAgIEV4 +aXQgRnVuY3Rpb24NCiAgIEVuZCBJZg0KICAgDQogICBRZGZSZWYuQ29ubmVjdCA9 +IE5ld0Nvbm5lY3Rpb25TdHJpbmcNCiAgIFJlbGlua1Bhc3NUaHJvdWdoUXVlcnlE +ZWYgPSBUcnVlDQogICANCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogUmVsaW5rVGFibGVzQW5k +UXVlcmllcw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LQ0KJw0KJyBSZWxpbmsgYWxsIGxpbmtlZCB0YWJsZXMgYW5kIHBhc3MtdGhyb3Vn +aCBxdWVyaWVzDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBTYXZlUFdEICAgICAt +IFNhdmUgT0RCQyBwYXNzd29yZCBpbiBsaW5rZWQgdGFibGUNCicgICAgIEV2ZW50 +UGVyaW9kIC0gTnVtYmVyIG9mIGxpbmtlZCBlbGVtZW50cyB3aGVuIHRoZSBEYk9i +amVjdFJlbGlua2VkIGV2ZW50IGlzIHRvIGJlIGNhbGxlZC4gKERlZmF1bHQ6IDAg +Li4uIG5vIGV2ZW50IGNhbGwpLg0KJw0KJyBSZXR1cm5zOg0KJyAgICAgTG9uZyAg +LSBOdW1iZXIgb2YgbGlua2VkIHRhYmxlcyBhbmQgcXVlcmllcw0KJw0KJy0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0 +aW9uIFJlbGlua1RhYmxlc0FuZFF1ZXJpZXMoIF8NCiAgICAgICAgICAgICAgICAg +ICAgICAgIE9wdGlvbmFsIEJ5VmFsIFNhdmVQV0QgQXMgQm9vbGVhbiA9IEZhbHNl +LCBfDQogICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBFdmVu +dFBlcmlvZCBBcyBMb25nID0gMCkgQXMgTG9uZw0KICAgDQogICBEaW0gTmV3Q29u +bmVjdGlvblN0cmluZyBBcyBTdHJpbmcNCiAgIERpbSBSZWxpbmtlZENvdW50ZXIg +QXMgTG9uZw0KDQogICBOZXdDb25uZWN0aW9uU3RyaW5nID0gTWUuQ29ubmVjdGlv +blN0cmluZw0KICAgSWYgTGVuKE5ld0Nvbm5lY3Rpb25TdHJpbmcpID0gMCBUaGVu +DQogICAgICBFcnIuUmFpc2UgRVJSTlJfTk9DT05GSUcsIF8NCiAgICAgICAgICAg +ICAgIlJlbGlua1RhYmxlc0FuZFF1ZXJpZXMiLCAiTWlzc2luZyBPREJDIGNvbm5l +Y3Rpb24gc3RyaW5nISINCiAgIEVuZCBJZg0KICAgDQogICAnVGFibGVzDQogICBS +ZWxpbmtUYWJsZXNXb3JrZXIgTmV3Q29ubmVjdGlvblN0cmluZywgU2F2ZVBXRCwg +RXZlbnRQZXJpb2QsIFJlbGlua2VkQ291bnRlcg0KICAgDQogICAnUGFzcyB0aHJv +dWdoIHF1ZXJpZXMNCiAgIFJlbGlua1Bhc3NUaHJvdWdoUXVlcmllc1dvcmtlciBO +ZXdDb25uZWN0aW9uU3RyaW5nLCBTYXZlUFdELCBFdmVudFBlcmlvZCwgUmVsaW5r +ZWRDb3VudGVyDQoNCiAgIFJlbGlua1RhYmxlc0FuZFF1ZXJpZXMgPSBSZWxpbmtl +ZENvdW50ZXINCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IERlbGV0ZU9kYmNUYWJs +ZURlZnMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicNCicgRGVsZXRlIGFsbCBsaW5rZWQgdGFibGUgaW4gdGhlIGZyb250ZW5kLiAo +SGFzIG5vIGVmZmVjdCBvbiB0aGUgYmFja2VuZCB0YWJsZXMpLg0KJw0KJyBQYXJh +bWV0ZXJzOg0KJyAgICAgRXZlbnRQZXJpb2QgLSBOdW1iZXIgb2YgbGlua2VkIGVs +ZW1lbnRzIHdoZW4gdGhlIERiT2JqZWN0UmVsaW5rZWQgZXZlbnQgaXMgdG8gYmUg +Y2FsbGVkLiAoRGVmYXVsdDogMCAuLi4gbm8gZXZlbnQgY2FsbCkuDQonDQonIFJl +dHVybnM6DQonICAgICBMb25nICAtIE51bWJlciBvZiBkZWxldGVkIHRhYmxlcw0K +Jw0KJyBSZW1hcmtzOg0KJyAgICAgRGVwZW5kaW5nIG9uIHRoZSBzZXR0aW5nIG9m +IEV2ZW50UGVyaW9kIHRoZSBldmVudCBEYk9iamVjdERlbGV0ZWQgaXMgdHJpZ2dl +cmVkDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQpQdWJsaWMgRnVuY3Rpb24gRGVsZXRlT2RiY1RhYmxlRGVmcyhPcHRpb25hbCBC +eVZhbCBFdmVudFBlcmlvZCBBcyBMb25nID0gMCkgQXMgTG9uZw0KICAgDQogICBE +aW0gZGJzIEFzIERBTy5EYXRhYmFzZQ0KICAgRGltIHRkZiBBcyBEQU8uVGFibGVE +ZWYNCiAgIERpbSBpIEFzIExvbmcNCiAgIERpbSBUZGZDb3VudCBBcyBMb25nDQog +ICBEaW0gRGVsZXRlQ291bnRlciBBcyBMb25nDQogICBEaW0gTGFzdERiT2JqZWN0 +TmFtZSBBcyBTdHJpbmcNCg0KICAgU2V0IGRicyA9IE1lLkN1cnJlbnREYg0KICAg +ICAgDQogICBkYnMuVGFibGVEZWZzLlJlZnJlc2gNCiAgIFRkZkNvdW50ID0gZGJz +LlRhYmxlRGVmcy5Db3VudCAtIDENCiAgIEZvciBpID0gVGRmQ291bnQgVG8gMCBT +dGVwIC0xDQogICAgICBTZXQgdGRmID0gZGJzLlRhYmxlRGVmcyhpKQ0KICAgICAg +SWYgSXNMaW5rZWRUYWJsZSh0ZGYpIFRoZW4NCiAgICAgICAgIExhc3REYk9iamVj +dE5hbWUgPSB0ZGYuTmFtZQ0KICAgICAgICAgZGJzLlRhYmxlRGVmcy5EZWxldGUg +TGFzdERiT2JqZWN0TmFtZQ0KICAgICAgICAgRGVsZXRlQ291bnRlciA9IERlbGV0 +ZUNvdW50ZXIgKyAxDQogICAgICAgICBJZiBFdmVudFBlcmlvZCA+IDAgVGhlbiAn +MCAuLi4gUvxja2dhYmUgaXN0IGRlYWt0aXZpZXJ0DQogICAgICAgICAgICBJZiBE +ZWxldGVDb3VudGVyIE1vZCBFdmVudFBlcmlvZCA9IDAgVGhlbg0KICAgICAgICAg +ICAgICAgUmFpc2VFdmVudCBEYk9iamVjdERlbGV0ZWQoTGFzdERiT2JqZWN0TmFt +ZSwgRGVsZXRlQ291bnRlcikNCiAgICAgICAgICAgIEVuZCBJZg0KICAgICAgICAg +RW5kIElmDQogICAgICBFbmQgSWYNCiAgIE5leHQNCiAgIA0KICAgRGVsZXRlT2Ri +Y1RhYmxlRGVmcyA9IERlbGV0ZUNvdW50ZXINCg0KRW5kIEZ1bmN0aW9uDQoNClBy +aXZhdGUgU3ViIENsb3NlRGFvRGJCRSgpDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0K +ICAgSWYgTm90IChtX0Rhb0RiQkUgSXMgTm90aGluZykgVGhlbg0KICAgICAgbV9E +YW9EYkJFLkNsb3NlDQogICAgICBTZXQgbV9EYW9EYkJFID0gTm90aGluZw0KICAg +RW5kIElmDQpFbmQgU3ViDQoNClByaXZhdGUgU3ViIFJlbW92ZVRhYmxlRGVmQXR0 +cmlidXQoQnlSZWYgVGRmUmVmIEFzIERBTy5UYWJsZURlZiwgQnlSZWYgQXR0ciBB +cyBUYWJsZURlZkF0dHJpYnV0ZUVudW0pDQoNCiAgIERpbSBBdHRyaWJ1dGVzVmFs +dWUgQXMgTG9uZw0KDQogICBBdHRyaWJ1dGVzVmFsdWUgPSBUZGZSZWYuQXR0cmli +dXRlcw0KICAgSWYgKEF0dHJpYnV0ZXNWYWx1ZSBBbmQgQXR0cikgPSBBdHRyIFRo +ZW4NCiAgIA0KICAgICAgSWYgKFRkZlJlZi5BdHRyaWJ1dGVzIEFuZCBkYkF0dGFj +aGVkT0RCQykgPSBkYkF0dGFjaGVkT0RCQyBUaGVuDQogICAgICAgICBBdHRyaWJ1 +dGVzVmFsdWUgPSBBdHRyaWJ1dGVzVmFsdWUgLSBkYkF0dGFjaGVkT0RCQw0KICAg +ICAgRWxzZUlmIChUZGZSZWYuQXR0cmlidXRlcyBBbmQgZGJBdHRhY2hlZFRhYmxl +KSA9IGRiQXR0YWNoZWRUYWJsZSBUaGVuDQogICAgICAgICBBdHRyaWJ1dGVzVmFs +dWUgPSBBdHRyaWJ1dGVzVmFsdWUgLSBkYkF0dGFjaGVkVGFibGUNCiAgICAgIEVu +ZCBJZg0KICAgICAgDQogICAgICAnRW50ZmVybmVuDQogICAgICBBdHRyaWJ1dGVz +VmFsdWUgPSBBdHRyaWJ1dGVzVmFsdWUgLSBBdHRyDQogICAgICBUZGZSZWYuQXR0 +cmlidXRlcyA9IEF0dHJpYnV0ZXNWYWx1ZQ0KICAgICAgDQogICBFbmQgSWYNCg0K +RW5kIFN1Yg0KDQpQcml2YXRlIFN1YiBBZGRUYWJsZURlZkF0dHJpYnV0KEJ5UmVm +IFRkZlJlZiBBcyBEQU8uVGFibGVEZWYsIEJ5UmVmIEF0dHIgQXMgVGFibGVEZWZB +dHRyaWJ1dGVFbnVtKQ0KDQogICBEaW0gQXR0cmlidXRlc1ZhbHVlIEFzIExvbmcN +Cg0KICAgQXR0cmlidXRlc1ZhbHVlID0gVGRmUmVmLkF0dHJpYnV0ZXMNCiAgIElm +IChBdHRyaWJ1dGVzVmFsdWUgQW5kIEF0dHIpID0gMCBUaGVuDQogICANCiAgICAg +IElmIChUZGZSZWYuQXR0cmlidXRlcyBBbmQgZGJBdHRhY2hlZE9EQkMpID0gZGJB +dHRhY2hlZE9EQkMgVGhlbg0KICAgICAgICAgQXR0cmlidXRlc1ZhbHVlID0gQXR0 +cmlidXRlc1ZhbHVlIFhvciBkYkF0dGFjaGVkT0RCQw0KICAgICAgRWxzZUlmIChU +ZGZSZWYuQXR0cmlidXRlcyBBbmQgZGJBdHRhY2hlZFRhYmxlKSA9IGRiQXR0YWNo +ZWRUYWJsZSBUaGVuDQogICAgICAgICBBdHRyaWJ1dGVzVmFsdWUgPSBBdHRyaWJ1 +dGVzVmFsdWUgWG9yIGRiQXR0YWNoZWRUYWJsZQ0KICAgICAgRW5kIElmDQogICAN +CiAgICAgICdFcmfkbnplbg0KICAgICAgQXR0cmlidXRlc1ZhbHVlID0gQXR0cmli +dXRlc1ZhbHVlIE9yIEF0dHINCiAgICAgIFRkZlJlZi5BdHRyaWJ1dGVzID0gQXR0 +cmlidXRlc1ZhbHVlDQogICBFbmQgSWYNCg0KRW5kIFN1Yg0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBJc0xp +bmtlZFRhYmxlDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tDQonDQonIENoZWNrIGlmIFRhYmxlRGVmIGlzIGEgbGlua2VkIHRhYmxlDQon +DQonIFBhcmFtZXRlcnM6DQonICAgICBUYWJsZVRvQ2hlY2sgICAtIFRhYmxlRGVm +IHJlZmVyZW5jZSB0byBBY2Nlc3MgdGFibGUgaW4gZnJvbnRlbmQNCicNCicgUmV0 +dXJuczoNCicgICAgIEJvb2xlYW4NCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBJc0xpbmtlZFRhYmxl +KEJ5VmFsIFRhYmxlVG9DaGVjayBBcyBEQU8uVGFibGVEZWYpIEFzIEJvb2xlYW4N +CiAgIElzTGlua2VkVGFibGUgPSAoTGVuKFRyaW0kKFRhYmxlVG9DaGVjay5Db25u +ZWN0KSkgPiAwKQ0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IElzUGFzc1Rocm91Z2hR +dWVyeQ0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +Jw0KJyBDaGVjayBpZiBRdWVyeURlZiBpcyBhIHBhc3MgdGhyb3VnaCBxdWVyeQ0K +Jw0KJyBQYXJhbWV0ZXJzOg0KJyAgICAgUXVlcnlUb0NoZWNrICAgLSBRdWVyeURl +ZiByZWZlcmVuY2UgdG8gQWNjZXNzIHF1ZXJ5IGluIGZyb250ZW5kDQonDQonIFJl +dHVybnM6DQonICAgICBCb29sZWFuDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gSXNQYXNzVGhyb3Vn +aFF1ZXJ5KEJ5VmFsIFF1ZXJ5VG9DaGVjayBBcyBEQU8uUXVlcnlEZWYpIEFzIEJv +b2xlYW4NCiAgIElzUGFzc1Rocm91Z2hRdWVyeSA9IChMZW4oVHJpbSQoUXVlcnlU +b0NoZWNrLkNvbm5lY3QpKSA+IDApDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBG +dW5jdGlvbiBSZW1vdmVQYXNzd29yZEZyb21Db25uZWN0aW9uU3RyaW5nKEJ5VmFs +IE9kYmNDb25uZWN0aW9uU3RyaW5nIEFzIFN0cmluZykgQXMgU3RyaW5nDQogICAN +CiAgIERpbSBPZGJjU2V0dGluZ3MoKSBBcyBTdHJpbmcNCiAgIERpbSBPZGJjU2V0 +dGluZyBBcyBTdHJpbmcNCiAgIERpbSBpIEFzIExvbmcNCiAgIA0KICAgT2RiY1Nl +dHRpbmdzID0gU3BsaXQoT2RiY0Nvbm5lY3Rpb25TdHJpbmcsICI7IikNCiAgIEZv +ciBpID0gMCBUbyBVQm91bmQoT2RiY1NldHRpbmdzKQ0KICAgICAgT2RiY1NldHRp +bmcgPSBUcmltKE9kYmNTZXR0aW5ncyhpKSkNCiAgICAgIElmIExlZnQoT2RiY1Nl +dHRpbmcsIDQpID0gIlBXRD0iIFRoZW4NCiAgICAgICAgIE9kYmNTZXR0aW5ncyhp +KSA9IHZiTnVsbFN0cmluZw0KICAgICAgRWxzZUlmIExlZnQoT2RiY1NldHRpbmcs +IDQpID0gIlVJRD0iIFRoZW4NCiAgICAgICAgIE9kYmNTZXR0aW5ncyhpKSA9IHZi +TnVsbFN0cmluZw0KICAgICAgRW5kIElmDQogICBOZXh0DQogICBSZW1vdmVQYXNz +d29yZEZyb21Db25uZWN0aW9uU3RyaW5nID0gSm9pbihPZGJjU2V0dGluZ3MsICI7 +IikNCiAgIA0KRW5kIEZ1bmN0aW9uDQo= + + 20231011081056 + data/odbc/OdbcHandler.cls + + + SqlTools + VkVSU0lPTiAxLjAgQ0xBU1MNCkJFR0lODQogIE11bHRpVXNlID0gLTEgICdUcnVl +DQpFTkQNCkF0dHJpYnV0ZSBWQl9OYW1lID0gIlNxbFRvb2xzIg0KQXR0cmlidXRl +IFZCX0dsb2JhbE5hbWVTcGFjZSA9IEZhbHNlDQpBdHRyaWJ1dGUgVkJfQ3JlYXRh +YmxlID0gRmFsc2UNCkF0dHJpYnV0ZSBWQl9QcmVkZWNsYXJlZElkID0gVHJ1ZQ0K +QXR0cmlidXRlIFZCX0V4cG9zZWQgPSBGYWxzZQ0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBDbGFzczogZGF0YS5zcWwuU3FsVG9v +bHMNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +RnVuY3Rpb25zIHRvIGJ1aWxkIHNxbCBzdHJpbmdzDQonDQonIEF1dGhvcjoNCicg +ICAgIEpvc2VmIFBvZXR6bA0KJw0KJyBSZW1hcmtzOg0KJyAgICAgIkF0dHJpYnV0 +ZSBWQl9QcmVkZWNsYXJlZElkID0gVHJ1ZSIgdG8gZW5hYmxlIHVzaW5nIFNxbFRv +b2xzIHdpdGhvdXQgZXhwbGljaXQgaW5zdGFudGlhdGlvbi4NCicNCicgV2Fybmlu +ZzoNCicNCid8ICAgIERvbid0IGZvcmdldCB0byBzZXQgcGFyYW1ldGVycyBmb3Ig +ZGF0ZSBmb3JtYXQsIGJvb2xlYW4gYW5kIHdpbGRjYXJkIGZvciB0aGUgREJNUy4N +CicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJzxjb2Rl +bGliPg0KJyAgPGZpbGU+ZGF0YS9TcWxUb29scy5jbHM8L2ZpbGU+DQonICA8bGlj +ZW5zZT5fY29kZWxpYi9saWNlbnNlLmJhczwvbGljZW5zZT4NCicgIDxyZXBsYWNl +PmRhdGEvU3FsVG9vbHMuYmFzPC9yZXBsYWNlPg0KJyAgPHRlc3Q+X3Rlc3QvZGF0 +YS9TcWxUb29sc1Rlc3RzLmNsczwvdGVzdD4NCicgIDx0ZXN0Pl90ZXN0L2RhdGEv +U3FsVG9vbHNCdWlsZENyaXRlcmlhVGVzdHMuY2xzPC90ZXN0Pg0KJzwvY29kZWxp +Yj4NCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicN +Ck9wdGlvbiBDb21wYXJlIFRleHQNCk9wdGlvbiBFeHBsaWNpdA0KDQpQcml2YXRl +IEVudW0gU3FsVG9vbHNFcnJvck51bWJlcnMNCiAgIEVSUk5SX05PQ09ORklHID0g +dmJPYmplY3RFcnJvciArIDENCkVuZCBFbnVtDQoNCicgRGVmYXVsdCB2YWx1ZXMg +Zm9yIG1ldGhvZCBwYXJhbWV0ZXJzDQpQcml2YXRlIENvbnN0IFNRTF9ERUZBVUxU +X1RFWFRERUxJTUlURVIgQXMgU3RyaW5nID0gIiciDQpQcml2YXRlIENvbnN0IFNR +TF9ERUZBVUxUX0RBVEVGT1JNQVQgQXMgU3RyaW5nID0gIiIgICAgICcgIiIgPT4g +U3FsRGF0ZUZvcm1hdCBwcm9wZXJ0eSB3aWxsIHVzZS4NCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBUbyBk +aXNhYmxlLCBlbnRlciB2YWx1ZSAoZS5nLiAiXCN5eXl5LW1tXC1kZFwjIiksDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICcgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVm +YXVsdCBlbnRyeS4NClByaXZhdGUgQ29uc3QgU1FMX0RFRkFVTFRfQk9PTFRSVUVT +VFJJTkcgQXMgU3RyaW5nID0gIiIgJyAiIiA9PiBTcWxCb29sZWFuVHJ1ZVN0cmlu +ZyBpcyB1c2VkLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAnIEVudGVyIHZhbHVlIHRvIGRpc2FibGUgKGUu +Zy4gIlRydWUgb3IgMSIpDQpQcml2YXRlIENvbnN0IFNRTF9ERUZBVUxUX1dJTERD +QVJEIEFzIFN0cmluZyA9ICIlIiAgICAgICcgJSA9IGRlZmF1bHQgdmFsdWUsDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICcgc2V0IHJlcXVpcmVkIHZhcmlhdGlvbnMgdmlhIFNxbFdpbGRDYXJk +U3RyaW5nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICANClByaXZhdGUgQ29uc3QgU3FsQW5kQ29uY2F0U3RyaW5nIEFz +IFN0cmluZyA9ICIgQW5kICINClByaXZhdGUgQ29uc3QgU3FsT3JDb25jYXRTdHJp +bmcgQXMgU3RyaW5nID0gIiBPciAiDQoNClByaXZhdGUgbV9TcWxEYXRlRm9ybWF0 +IEFzIFN0cmluZw0KUHJpdmF0ZSBtX1NxbEJvb2xlYW5UcnVlU3RyaW5nIEFzIFN0 +cmluZw0KUHJpdmF0ZSBtX1NxbFdpbGRDYXJkU3RyaW5nIEFzIFN0cmluZw0KDQpQ +cml2YXRlIENvbnN0IFJlc3VsdFRleHRJZk51bGwgQXMgU3RyaW5nID0gIk51bGwi +DQoNClB1YmxpYyBFbnVtIFNxbFJlbGF0aW9uYWxPcGVyYXRvcnMNCiAgIFtfSWdu +b3JlQWxsXSA9ICZIODAwMDAwMDANCiAgIFNRTF9Ob3QgPSAxDQogICBTUUxfRXF1 +YWwgPSAyDQogICBTUUxfTGVzc1RoYW4gPSA0DQogICBTUUxfR3JlYXRlclRoYW4g +PSA4DQogICBTUUxfTGlrZSA9IDI1Ng0KICAgU1FMX0JldHdlZW4gPSA1MTINCiAg +IFNRTF9JbiA9IDEwMjQNCiAgIFNRTF9BZGRfV2lsZENhcmRTdWZmaXggPSAyMDQ4 +DQogICBTUUxfQWRkX1dpbGRDYXJkUHJlZml4ID0gNDA5Ng0KICAgU1FMX1NwbGl0 +VmFsdWVUb0FycmF5ID0gODE5Mg0KICAgU1FMX0FsbG93U3FsRGlyZWN0ID0gMTYz +ODQNCiAgIFNRTF9Vc2VMaWtlQmVoYXZpb3IgPSA2NTUzNg0KRW5kIEVudW0NCg0K +UHVibGljIEVudW0gU3FsRmllbGREYXRhVHlwZQ0KICAgU1FMX0Jvb2xlYW4gPSAx +DQogICBTUUxfTnVtZXJpYyA9IDINCiAgIFNRTF9UZXh0ID0gMw0KICAgU1FMX0Rh +dGUgPSA0DQpFbmQgRW51bQ0KDQpQdWJsaWMgRW51bSBTcWxMb2dpY2FsT3BlcmF0 +b3INCiAgIFtfU1FMX0RlZmF1bHRdID0gMA0KICAgU1FMX0FuZCA9IDENCiAgIFNR +TF9PciA9IDINCiAgIFNRTF9Db21tYVNlcGFyYXRvciA9IDMNCkVuZCBFbnVtDQoN +CicjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQonIEdyb3VwOiBD +bGFzcyBzdXBwb3J0DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicgRnVuY3Rpb246IENsb25lDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIENyZWF0ZSBhIG5ldyBpbnN0YW5j +ZSB3aXRoIGJhc2ljIHNldHRpbmdzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLg0K +Jw0KJyBQYXJhbWV0ZXJzOg0KJw0KJyAgICAgTmV3U3FsRGF0ZUZvcm1hdCAtIHVz +ZSB0aGlzIGRhdGUgZm9ybWF0IGluc3RlYWQgb2YgYmFzZSBpbnN0YW5jZQ0KJyAg +ICAgTmV3U3FsQm9vbGVhblRydWVTdHJpbmcgLSB1c2UgdGhpcyB0ZXh0IGZvciB0 +cnVlIGluc3RlYWQgb2YgYmFzZSBpbnN0YW5jZQ0KJyAgICAgTmV3U3FsV2lsZENh +cmRTdHJpbmcgLSB1c2UgdGhpcyB3aWxkY2FyZCBzdHJpbmcgaW5zdGVhZCBvZiBi +YXNlIGluc3RhbmNlDQonDQonIFJldHVybnM6DQonDQonICAgICBTcWxUb29scyBp +bnN0YW5jZSB3aXRoIGNvbmZpZyBmb3JtIGJhc2UNCicNCicgU2VlIEFsc286DQon +ICAgICBOZXdJbnN0YW5jZQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIEZ1bmN0aW9uIENsb25lKE9wdGlvbmFsIEJ5 +VmFsIE5ld1NxbERhdGVGb3JtYXQgQXMgU3RyaW5nID0gU1FMX0RFRkFVTFRfREFU +RUZPUk1BVCwgXw0KICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFs +IE5ld1NxbEJvb2xlYW5UcnVlU3RyaW5nIEFzIFN0cmluZyA9IFNRTF9ERUZBVUxU +X0JPT0xUUlVFU1RSSU5HLCBfDQogICAgICAgICAgICAgICAgICAgICAgT3B0aW9u +YWwgQnlWYWwgTmV3U3FsV2lsZENhcmRTdHJpbmcgQXMgU3RyaW5nID0gU1FMX0RF +RkFVTFRfV0lMRENBUkQpIEFzIFNxbFRvb2xzDQoNCg0KICAgSWYgTGVuKE5ld1Nx +bERhdGVGb3JtYXQpID0gMCBUaGVuIE5ld1NxbERhdGVGb3JtYXQgPSBNZS5TcWxE +YXRlRm9ybWF0DQogICBJZiBMZW4oTmV3U3FsQm9vbGVhblRydWVTdHJpbmcpID0g +MCBUaGVuIE5ld1NxbEJvb2xlYW5UcnVlU3RyaW5nID0gTWUuU3FsQm9vbGVhblRy +dWVTdHJpbmcNCiAgIElmIExlbihOZXdTcWxXaWxkQ2FyZFN0cmluZykgPSAwIFRo +ZW4gTmV3U3FsV2lsZENhcmRTdHJpbmcgPSBNZS5TcWxXaWxkQ2FyZFN0cmluZw0K +DQogICBTZXQgQ2xvbmUgPSBOZXdJbnN0YW5jZShOZXdTcWxEYXRlRm9ybWF0LCBO +ZXdTcWxCb29sZWFuVHJ1ZVN0cmluZywgTmV3U3FsV2lsZENhcmRTdHJpbmcpDQoN +CkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBOZXdJbnN0YW5jZQ0KJy0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBDcmVhdGUgYSBuZXcg +aW5zdGFuY2UNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBGdW5jdGlvbiBOZXdJbnN0YW5jZShCeVZhbCBOZXdTcWxE +YXRlRm9ybWF0IEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIEJ5VmFsIE5ld1NxbEJvb2xlYW5UcnVlU3RyaW5nIEFzIFN0cmluZywgXw0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5VmFsIE5ld1NxbFdpbGRDYXJk +U3RyaW5nIEFzIFN0cmluZykgQXMgU3FsVG9vbHMNCiAgIA0KICAgRGltIE5ld0lu +c3QgQXMgU3FsVG9vbHMNCg0KICAgU2V0IE5ld0luc3QgPSBOZXcgU3FsVG9vbHMN +CiAgIFdpdGggTmV3SW5zdA0KICAgICAgLlNxbERhdGVGb3JtYXQgPSBOZXdTcWxE +YXRlRm9ybWF0DQogICAgICAuU3FsQm9vbGVhblRydWVTdHJpbmcgPSBOZXdTcWxC +b29sZWFuVHJ1ZVN0cmluZw0KICAgICAgLlNxbFdpbGRDYXJkU3RyaW5nID0gTmV3 +U3FsV2lsZENhcmRTdHJpbmcNCiAgIEVuZCBXaXRoDQoNCiAgIFNldCBOZXdJbnN0 +YW5jZSA9IE5ld0luc3QNCg0KRW5kIEZ1bmN0aW9uDQoNCg0KJyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCicgR3JvdXA6IFNRTCBkaWFsZWN0IHBy +ZWZlcmVuY2VzDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NCicgUHJvcGVydHk6IERBTw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBTcWxUb29scyBpbnN0YW5jZSBjb25maWd1 +cmVkIGZvciBEQU8tU1FMIChKZXQvQUNFKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBEQU8o +KSBBcyBTcWxUb29scw0KICAgU2V0IERBTyA9IE1lLk5ld0luc3RhbmNlKCJcI3l5 +eXktbW0tZGQgaGg6bm46c3NcIyIsICJUcnVlIiwgIioiKQ0KRW5kIFByb3BlcnR5 +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +UHJvcGVydHk6IFRTcWwNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicNCicgU3FsVG9vbHMgaW5zdGFuY2UgY29uZmlndXJlZCBmb3Ig +VC1TUUwNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgVFNxbCgpIEFzIFNxbFRvb2xzDQogICBT +ZXQgVFNxbCA9IE1lLk5ld0luc3RhbmNlKCIneXl5eW1tZGQgaGg6bm46c3MnIiwg +IjEiLCAiJSIpDQpFbmQgUHJvcGVydHkNCg0KJyBDb25maWd1cmF0aW9uIGZvciBT +UUwgZGlhbGVjdA0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQonIFByb3BlcnR5OiBTcWxXaWxkQ2FyZFN0cmluZw0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBXaWxkY2FyZCBj +aGFyYWN0ZXIgZm9yIGxpa2UNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgU3FsV2lsZENhcmRT +dHJpbmcoKSBBcyBTdHJpbmcNCiAgIElmIExlbihtX1NxbFdpbGRDYXJkU3RyaW5n +KSA+IDAgVGhlbg0KICAgICAgU3FsV2lsZENhcmRTdHJpbmcgPSBtX1NxbFdpbGRD +YXJkU3RyaW5nDQogICBFbHNlDQogICAgICBTcWxXaWxkQ2FyZFN0cmluZyA9IFNR +TF9ERUZBVUxUX1dJTERDQVJEDQogICBFbmQgSWYNCkVuZCBQcm9wZXJ0eQ0KDQpQ +dWJsaWMgUHJvcGVydHkgTGV0IFNxbFdpbGRDYXJkU3RyaW5nKEJ5VmFsIE5ld1Zh +bHVlIEFzIFN0cmluZykNCiAgIG1fU3FsV2lsZENhcmRTdHJpbmcgPSBOZXdWYWx1 +ZQ0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IFNxbERhdGVGb3JtYXQNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicNCicgRm9ybWF0IGZv +ciBkYXRlIHZhbHVlcw0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBTcWxEYXRlRm9ybWF0KCkg +QXMgU3RyaW5nDQogICBJZiBMZW4obV9TcWxEYXRlRm9ybWF0KSA+IDAgVGhlbg0K +ICAgICAgU3FsRGF0ZUZvcm1hdCA9IG1fU3FsRGF0ZUZvcm1hdA0KICAgRWxzZQ0K +ICAgICAgU3FsRGF0ZUZvcm1hdCA9IFNRTF9ERUZBVUxUX0RBVEVGT1JNQVQNCiAg +IEVuZCBJZg0KRW5kIFByb3BlcnR5DQoNClB1YmxpYyBQcm9wZXJ0eSBMZXQgU3Fs +RGF0ZUZvcm1hdChCeVZhbCBOZXdWYWx1ZSBBcyBTdHJpbmcpDQogICBtX1NxbERh +dGVGb3JtYXQgPSBOZXdWYWx1ZQ0KRW5kIFByb3BlcnR5DQoNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6IFNxbEJv +b2xlYW5UcnVlU3RyaW5nDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQonDQonIEJvb2xlYW4gc3RyaW5nIGluIFNRTCBzdGF0ZW1lbnQN +CicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1 +YmxpYyBQcm9wZXJ0eSBHZXQgU3FsQm9vbGVhblRydWVTdHJpbmcoKSBBcyBTdHJp +bmcNCiAgIElmIExlbihtX1NxbEJvb2xlYW5UcnVlU3RyaW5nKSA+IDAgVGhlbg0K +ICAgICAgU3FsQm9vbGVhblRydWVTdHJpbmcgPSBtX1NxbEJvb2xlYW5UcnVlU3Ry +aW5nDQogICBFbHNlDQogICAgICBTcWxCb29sZWFuVHJ1ZVN0cmluZyA9IFNRTF9E +RUZBVUxUX0JPT0xUUlVFU1RSSU5HDQogICBFbmQgSWYNCkVuZCBQcm9wZXJ0eQ0K +DQpQdWJsaWMgUHJvcGVydHkgTGV0IFNxbEJvb2xlYW5UcnVlU3RyaW5nKEJ5VmFs +IE5ld1ZhbHVlIEFzIFN0cmluZykNCiAgIG1fU3FsQm9vbGVhblRydWVTdHJpbmcg +PSBOZXdWYWx1ZQ0KRW5kIFByb3BlcnR5DQoNCicjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjDQonIEdyb3VwOiBCdWlsZENyaXRlcmlhDQoNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246 +IEJ1aWxkQ3JpdGVyaWENCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0NCicNCicgQ3JlYXRlIFNRTCBjcml0ZXJpYSBzdHJpbmcNCicNCicg +UGFyYW1ldGVyczoNCicgICAgIEZpZWxkTmFtZSAgICAgICAgICAgIC0gRmllbGQg +bmFtZSBpbiB0aGUgZGF0YSBzb3VyY2UgdG8gYmUgZmlsdGVyZWQNCicgICAgIFJl +bGF0aW9uYWxPcGVyYXRvciAgIC0gUmVsYXRpb25hbCBvcGVyYXRvciAoPSwgPD0s +IGV0Yy4pDQonICAgICBGaWx0ZXJWYWx1ZSAgICAgICAgICAtIEZpbHRlciB2YWx1 +ZSAoY2FuIGJlIGEgc2luZ2xlIHZhbHVlIG9yIGFuIGFycmF5IG9mIHZhbHVlcykN +CicgICAgIEZpbHRlclZhbHVlMiAgICAgICAgIC0gT3B0aW9uYWwgMm5kIGZpbHRl +ciB2YWx1ZSAoZm9yIEJldHdlZW4pDQonICAgICBJZ25vcmVWYWx1ZSAgICAgICAg +ICAtIFRoZSB2YWx1ZSBmb3Igd2hpY2ggbm8gZmlsdGVyIGNvbmRpdGlvbiBpcyB0 +byBiZSBjcmVhdGVkLiAoQXJyYXkgdHJhbnNmZXIgb2YgdmFsdWVzIHBvc3NpYmxl +KQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgU1FMIGNyaXRlcmlhIHN0cmluZw0KJw0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUHVibGlj +IEZ1bmN0aW9uIEJ1aWxkQ3JpdGVyaWEoQnlWYWwgRmllbGROYW1lIEFzIFN0cmlu +ZywgQnlWYWwgRmllbGREYXRhVHlwZSBBcyBTcWxGaWVsZERhdGFUeXBlLCBfDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBSZWxhdGlvbmFsT3Bl +cmF0b3IgQXMgU3FsUmVsYXRpb25hbE9wZXJhdG9ycywgXw0KICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgQnlWYWwgRmlsdGVyVmFsdWUgQXMgVmFyaWFudCwg +Xw0KICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWwgQnlWYWwgRmlsdGVyVmFs +dWUyIEFzIFZhcmlhbnQgPSBOdWxsLCBfDQogICAgICAgICAgICAgICAgICAgICBP +cHRpb25hbCBCeVZhbCBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAg +ICAgICAgICAgICAgICBPcHRpb25hbCBCeVZhbCBEaXNhYmxlSWdub3JlTnVsbFZh +bHVlIEFzIEJvb2xlYW4gPSBGYWxzZSkgQXMgU3RyaW5nDQoNCiAgIERpbSBGaWx0 +ZXJWYWx1ZVN0cmluZyBBcyBTdHJpbmcNCiAgIERpbSBPcGVyYXRvclN0cmluZyBB +cyBTdHJpbmcNCiAgIERpbSBDcml0ZXJpYSBBcyBTdHJpbmcNCiAgIA0KICAgSWYg +KFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgW19JZ25vcmVBbGxdKSA9IFtfSWdub3Jl +QWxsXSBUaGVuDQogICAgICBFeGl0IEZ1bmN0aW9uDQogICBFbmQgSWYNCiAgIA0K +ICAgSWYgSXNNaXNzaW5nKElnbm9yZVZhbHVlKSBUaGVuDQogICAgICBJZiBOb3Qg +RGlzYWJsZUlnbm9yZU51bGxWYWx1ZSBUaGVuDQogICAgICAgICBEaXNhYmxlSWdu +b3JlTnVsbFZhbHVlID0gVHJ1ZQ0KICAgICAgRW5kIElmDQogICAgICBJZ25vcmVW +YWx1ZSA9IE51bGwNCiAgIEVuZCBJZg0KICAgDQogICAnIFNwZWNpYWwgY2FzZXMg +KHBhcnQgMSk6DQogICBJZiBOb3QgSXNBcnJheShGaWx0ZXJWYWx1ZSkgVGhlbg0K +ICAgDQogICAgICBJZiBGaWx0ZXJWYWx1ZSA9ICJ7TlVMTH0iIE9yIEZpbHRlclZh +bHVlID0gIntMRUVSfSIgT3IgRmlsdGVyVmFsdWUgPSAie0VNUFRZfSIgVGhlbg0K +ICAgICAgICAgRmlsdGVyVmFsdWUgPSBOdWxsDQogICAgICAgICBEaXNhYmxlSWdu +b3JlTnVsbFZhbHVlID0gVHJ1ZQ0KICAgICAgRW5kIElmDQogICAgICANCiAgICAg +IElmIEZpbHRlclZhbHVlMiA9ICJ7TlVMTH0iIE9yIEZpbHRlclZhbHVlMiA9ICJ7 +TEVFUn0iIE9yIEZpbHRlclZhbHVlMiA9ICJ7RU1QVFl9IiBUaGVuDQogICAgICAg +ICBGaWx0ZXJWYWx1ZTIgPSBOdWxsDQogICAgICAgICBEaXNhYmxlSWdub3JlTnVs +bFZhbHVlID0gVHJ1ZQ0KICAgICAgRW5kIElmDQogICAgICANCiAgICAgIElmIChS +ZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9BbGxvd1NxbERpcmVjdCkgPSBTUUxf +QWxsb3dTcWxEaXJlY3QgVGhlbg0KICAgICAgICAgSWYgRmlsdGVyVmFsdWUgTGlr +ZSAieypAKn0iIFRoZW4gJyBJZGVlIHZvbiBVbHJpY2g6IEFud2VuZGVyIHNjaHJl +aWJ0IFNRTC1BdXNkcnVjaw0KICAgICAgICAgICAgQ3JpdGVyaWEgPSBSZXBsYWNl +KE1pZChGaWx0ZXJWYWx1ZSwgMiwgTGVuKEZpbHRlclZhbHVlKSAtIDIpLCAiQCIs +IEZpZWxkTmFtZSkNCiAgICAgICAgICAgIElmIChSZWxhdGlvbmFsT3BlcmF0b3Ig +QW5kIFNRTF9Ob3QpID0gU1FMX05vdCBUaGVuDQogICAgICAgICAgICAgICBDcml0 +ZXJpYSA9ICJOb3QgIiAmIENyaXRlcmlhDQogICAgICAgICAgICBFbmQgSWYNCiAg +ICAgICAgICAgIEJ1aWxkQ3JpdGVyaWEgPSBDcml0ZXJpYQ0KICAgICAgICAgICAg +RXhpdCBGdW5jdGlvbg0KICAgICAgICAgRW5kIElmDQogICAgICBFbmQgSWYNCiAg +ICAgIA0KICAgRW5kIElmDQogICANCiAgIElmIE51bGxGaWx0ZXJPckVtcHR5Rmls +dGVyKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgUmVsYXRpb25hbE9wZXJhdG9y +LCBOeihGaWx0ZXJWYWx1ZSwgRmlsdGVyVmFsdWUyKSwgSWdub3JlVmFsdWUsIENy +aXRlcmlhLCBEaXNhYmxlSWdub3JlTnVsbFZhbHVlKSBUaGVuDQogICAgICBCdWls +ZENyaXRlcmlhID0gQ3JpdGVyaWENCiAgICAgIEV4aXQgRnVuY3Rpb24NCiAgIEVu +ZCBJZg0KICAgDQogICBJZiAoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfU3Bs +aXRWYWx1ZVRvQXJyYXkpID0gU1FMX1NwbGl0VmFsdWVUb0FycmF5IFRoZW4NCiAg +ICAgIElmIEluU3RyKDEsIEZpbHRlclZhbHVlLCAiOyIpID4gMCBUaGVuDQogICAg +ICAgICBGaWx0ZXJWYWx1ZSA9IFNwbGl0KENoYXJUcmltKEZpbHRlclZhbHVlLCAi +OyIpLCAiOyIpDQogICAgICBFbmQgSWYNCiAgICAgIFJlbGF0aW9uYWxPcGVyYXRv +ciA9IFJlbGF0aW9uYWxPcGVyYXRvciBYb3IgU1FMX1NwbGl0VmFsdWVUb0FycmF5 +DQogICBFbmQgSWYNCiAgIA0KICAgJ1NwZWNpYWwgY2FzZXMgKHBhcnQgMik6DQog +ICBJZiBOb3QgSXNBcnJheShGaWx0ZXJWYWx1ZSkgVGhlbg0KICAgICANCiAgICAg +IElmIEZpZWxkRGF0YVR5cGUgPSBTUUxfTnVtZXJpYyBUaGVuDQogICAgICANCiAg +ICAgICAgIElmIEZpbHRlclZhbHVlID0gIioiIEFuZCBSZWxhdGlvbmFsT3BlcmF0 +b3IgPSBTUUxfRXF1YWwgVGhlbg0KICAgICAgICAgICAgQnVpbGRDcml0ZXJpYSA9 +IEJ1aWxkQ3JpdGVyaWEoRmllbGROYW1lLCBGaWVsZERhdGFUeXBlLCBTUUxfTm90 +LCBOdWxsLCBOdWxsLCAwLCBUcnVlKQ0KICAgICAgICAgICAgRXhpdCBGdW5jdGlv +bg0KICAgICAgICAgRW5kIElmDQogICAgICAgICANCiAgICAgICAgIElmIElzTnVs +bChGaWx0ZXJWYWx1ZTIpIFRoZW4NCiAgICAgICAgICAgIElmIFRyeUJ1aWxkTnVt +ZXJpY1NwZWNpYWxDYXNlc0NyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlw +ZSwgUmVsYXRpb25hbE9wZXJhdG9yLCBGaWx0ZXJWYWx1ZSwgSWdub3JlVmFsdWUs +IERpc2FibGVJZ25vcmVOdWxsVmFsdWUsIENyaXRlcmlhKSBUaGVuDQogICAgICAg +ICAgICAgICBCdWlsZENyaXRlcmlhID0gQ3JpdGVyaWENCiAgICAgICAgICAgICAg +IEV4aXQgRnVuY3Rpb24NCiAgICAgICAgICAgIEVuZCBJZg0KICAgICAgICAgRW5k +IElmDQogICAgICAgICANCiAgICAgICAgIENvbmZpZ051bWVyaWNTcGVjaWFscyBS +ZWxhdGlvbmFsT3BlcmF0b3IsIEZpbHRlclZhbHVlLCBGaWx0ZXJWYWx1ZTINCiAg +ICAgICAgIA0KICAgICAgRW5kIElmDQogICAgICANCiAgIEVuZCBJZg0KDQogICBJ +ZiBUcnlCdWlsZEluQ3JpdGVyaWEoRmllbGROYW1lLCBGaWVsZERhdGFUeXBlLCBS +ZWxhdGlvbmFsT3BlcmF0b3IsIEZpbHRlclZhbHVlLCBJZ25vcmVWYWx1ZSwgQ3Jp +dGVyaWEpIFRoZW4NCiAgICAgIEJ1aWxkQ3JpdGVyaWEgPSBDcml0ZXJpYQ0KICAg +ICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQoNCiAgIElmIFRyeUJ1aWxkQXJy +YXlDcml0ZXJpYShGaWVsZE5hbWUsIEZpZWxkRGF0YVR5cGUsIFJlbGF0aW9uYWxP +cGVyYXRvciwgRmlsdGVyVmFsdWUsIElnbm9yZVZhbHVlLCBDcml0ZXJpYSkgVGhl +bg0KICAgICAgQnVpbGRDcml0ZXJpYSA9IENyaXRlcmlhDQogICAgICBFeGl0IEZ1 +bmN0aW9uDQogICBFbmQgSWYNCg0KICAgSWYgVHJ5QnVpbGRCZXR3ZWVuQ3JpdGVy +aWEoRmllbGROYW1lLCBGaWVsZERhdGFUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3Is +IEZpbHRlclZhbHVlLCBGaWx0ZXJWYWx1ZTIsIElnbm9yZVZhbHVlLCBDcml0ZXJp +YSkgVGhlbg0KICAgICAgQnVpbGRDcml0ZXJpYSA9IENyaXRlcmlhDQogICAgICBF +eGl0IEZ1bmN0aW9uDQogICBFbmQgSWYNCg0KICAgSWYgKFJlbGF0aW9uYWxPcGVy +YXRvciBBbmQgU1FMX0xpa2UpID0gU1FMX0xpa2UgVGhlbg0KICAgICAgSWYgU3Fs +V2lsZENhcmRTdHJpbmcgPD4gIioiIFRoZW4NCiAgICAgICAgIElmIEluU3RyKDEs +IEZpbHRlclZhbHVlLCAiKiIpID4gMCBUaGVuDQogICAgICAgICAgICBGaWx0ZXJW +YWx1ZSA9IFJlcGxhY2UoRmlsdGVyVmFsdWUsICJbKl0iLCAiQEBAfHx8U1RBUnx8 +fEBAQCIpDQogICAgICAgICAgICBGaWx0ZXJWYWx1ZSA9IFJlcGxhY2UoRmlsdGVy +VmFsdWUsICIqIiwgU3FsV2lsZENhcmRTdHJpbmcpDQogICAgICAgICAgICBGaWx0 +ZXJWYWx1ZSA9IFJlcGxhY2UoRmlsdGVyVmFsdWUsICJAQEB8fHxTVEFSfHx8QEBA +IiwgIioiKQ0KICAgICAgICAgRW5kIElmDQogICAgICBFbmQgSWYNCiAgIEVuZCBJ +Zg0KDQogICBJZiAoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfQWRkX1dpbGRD +YXJkU3VmZml4KSA9IFNRTF9BZGRfV2lsZENhcmRTdWZmaXggVGhlbg0KICAgICAg +SWYgVHJ5QnVpbGRXaWxkQ2FyZFN1ZmZpeE9yUHJlQnVpbGRQYXJhbXMoRmllbGRO +YW1lLCBGaWVsZERhdGFUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IsIEZpbHRlclZh +bHVlLCBGaWx0ZXJWYWx1ZTIsIElnbm9yZVZhbHVlLCBDcml0ZXJpYSkgVGhlbg0K +ICAgICAgICAgQnVpbGRDcml0ZXJpYSA9IENyaXRlcmlhDQogICAgICAgICBFeGl0 +IEZ1bmN0aW9uDQogICAgICBFbmQgSWYNCiAgIEVuZCBJZg0KDQogICBJZiAoUmVs +YXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfQWRkX1dpbGRDYXJkUHJlZml4KSA9IFNR +TF9BZGRfV2lsZENhcmRQcmVmaXggVGhlbg0KICAgICAgSWYgKFJlbGF0aW9uYWxP +cGVyYXRvciBBbmQgU1FMX0xpa2UpID0gU1FMX0xpa2UgVGhlbg0KICAgICAgICAg +RmlsdGVyVmFsdWUgPSBTcWxXaWxkQ2FyZFN0cmluZyAmIEZpbHRlclZhbHVlDQog +ICAgICBFbmQgSWYNCiAgIEVuZCBJZg0KDQogICBGaWx0ZXJWYWx1ZVN0cmluZyA9 +IENvbnZlcnRUb1NxbFRleHQoRmlsdGVyVmFsdWUsIEZpZWxkRGF0YVR5cGUpDQoN +CiAgIElmIChSZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9MaWtlKSA9IFNRTF9M +aWtlIFRoZW4NCiAgICAgIE9wZXJhdG9yU3RyaW5nID0gIiBMaWtlICINCiAgICAg +IElmIChSZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9Ob3QpID0gU1FMX05vdCBU +aGVuDQogICAgICAgICBPcGVyYXRvclN0cmluZyA9ICIgTm90IiAmIE9wZXJhdG9y +U3RyaW5nDQogICAgICBFbmQgSWYNCiAgICAgIEJ1aWxkQ3JpdGVyaWEgPSBGaWVs +ZE5hbWUgJiBPcGVyYXRvclN0cmluZyAmIEZpbHRlclZhbHVlU3RyaW5nDQogICAg +ICBFeGl0IEZ1bmN0aW9uDQogICBFbmQgSWYNCiAgIA0KICAgT3BlcmF0b3JTdHJp +bmcgPSBHZXRSZWxhdGlvbmFsT3BlcmF0b3JTdHJpbmcoUmVsYXRpb25hbE9wZXJh +dG9yKQ0KDQogICBDcml0ZXJpYSA9IEZpZWxkTmFtZSAmICIgIiAmIE9wZXJhdG9y +U3RyaW5nICYgIiAiICYgRmlsdGVyVmFsdWVTdHJpbmcNCg0KICAgSWYgKFJlbGF0 +aW9uYWxPcGVyYXRvciBBbmQgU1FMX05vdCkgPSBTUUxfTm90IFRoZW4NCiAgICAg +ICc/OiB3aWxsIHRoaXMgbGluZSBiZSByZWFjaGVkPw0KICAgICAgQ3JpdGVyaWEg +PSAiTm90ICIgJiBDcml0ZXJpYQ0KICAgRW5kIElmDQoNCiAgIEJ1aWxkQ3JpdGVy +aWEgPSBDcml0ZXJpYQ0KDQpFbmQgRnVuY3Rpb24NCg0KJyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMNCicgR3JvdXA6IENvbnZlcnQgdG8gU1FMDQoN +CictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVu +Y3Rpb246IENvbnZlcnRUb1NxbFRleHQNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NCicNCicgQ29udmVydCB2YWx1ZXMgdG8gc3RyaW5n +IGZvciBTUUwgc3RhdGVtZW50IGFzc2VtYmxlZCBieSBWQkEuDQonDQonIFBhcmFt +ZXRlcnM6DQonICAgICBWYWx1ZSAgICAgICAgICAtIFZhbHVlIHRvIGNvbnZlcnQN +CicgICAgIEZpZWxkRGF0YVR5cGUgIC0gRGF0YSB0eXBlIG9mIHRoZSB2YWx1ZSB0 +byBiZSBjb252ZXJ0ZWQNCicNCicgUmV0dXJuczoNCicgICAgIFN0cmluZyAgIC0g +U1FMIGNvbmZvcm0gc3RyaW5nDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gQ29udmVydFRvU3FsVGV4 +dChCeVZhbCBWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBCeVZhbCBGaWVsZERhdGFUeXBlIEFzIFNxbEZpZWxkRGF0 +YVR5cGUpIEFzIFN0cmluZw0KICAgICAgICAgICAgICAgICAgICAgDQogICBTZWxl +Y3QgQ2FzZSBGaWVsZERhdGFUeXBlDQogICAgICBDYXNlIFNxbEZpZWxkRGF0YVR5 +cGUuU1FMX1RleHQNCiAgICAgICAgIENvbnZlcnRUb1NxbFRleHQgPSBUZXh0VG9T +cWxUZXh0KFZhbHVlKQ0KICAgICAgQ2FzZSBTcWxGaWVsZERhdGFUeXBlLlNRTF9O +dW1lcmljDQogICAgICAgICBDb252ZXJ0VG9TcWxUZXh0ID0gTnVtYmVyVG9TcWxU +ZXh0KFZhbHVlKQ0KICAgICAgQ2FzZSBTcWxGaWVsZERhdGFUeXBlLlNRTF9EYXRl +DQogICAgICAgICBDb252ZXJ0VG9TcWxUZXh0ID0gRGF0ZVRvU3FsVGV4dChWYWx1 +ZSkNCiAgICAgIENhc2UgU3FsRmllbGREYXRhVHlwZS5TUUxfQm9vbGVhbg0KICAg +ICAgICAgQ29udmVydFRvU3FsVGV4dCA9IEJvb2xlYW5Ub1NxbFRleHQoVmFsdWUp +DQogICAgICBDYXNlIEVsc2UNCiAgICAgICAgIEVyci5SYWlzZSB2Yk9iamVjdEVy +cm9yLCAiU3FsVG9vbHMuQ29udmVydFRvU3FsVGV4dCIsICJGaWVsZERhdGFUeXBl +ICciICYgRmllbGREYXRhVHlwZSAmICInIG5vdCBzdXBwb3J0ZWQiDQogICBFbmQg +U2VsZWN0DQogICANCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBUZXh0VG9TcWxUZXh0 +DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQon +IFByZXBhcmUgdGV4dCBmb3IgU1FMIHN0YXRlbWVudA0KJw0KJyBQYXJhbWV0ZXJz +Og0KJyAgICAgVmFsdWUgICAgICAgICAgICAgICAgICAgLSBWYWx1ZSB0byBjb252 +ZXJ0DQonICAgICBEZWxpbWl0ZXIgICAgICAgICAgICAgICAtIERlbGltaXRlciBm +b3IgdGV4dCB2YWx1ZXMuIChJbiBtb3N0IERCTVMgJyBpcyB1c2VkIGFzIGEgZGVs +aW1pdGVyKS4NCicgICAgIFdpdGhvdXRMZWZ0UmlnaHREZWxpbSAgIC0gT25seSBk +b3VibGUgdGhlIGJvdW5kYXJ5IGRyYXdpbmcgd2l0aGluIHRoZSB2YWx1ZXMsIGJ1 +dCBkbyBub3Qgc2V0IHRoZSBib3VuZGFyeS4NCicNCicgUmV0dXJuczoNCicgICAg +IFN0cmluZw0KJw0KJyBFeGFtcGxlOg0KJyAgICAgICAgc3RyU1FMID0gInNlbGVj +dCAuLi4gZnJvbSB0YWJlbGxlIHdoZXJlIEZlbGQgPSAiICYgVGV4dFRvU3FsVGV4 +dCgiYWInY2QiKQ0KJyAgICAgPT4gc3RyU1FMID0gInNlbGVjdCAuLi4gZnJvbSB0 +YWJlbGxlIHdoZXJlIEZlbGQgPSAnYWInJ2NkJyINCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBUZXh0 +VG9TcWxUZXh0KEJ5VmFsIFZhbHVlIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAg +ICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIERlbGltaXRlciBBcyBTdHJpbmcgPSBT +UUxfREVGQVVMVF9URVhUREVMSU1JVEVSLCBfDQogICAgICAgICAgICAgICAgICAg +ICBPcHRpb25hbCBCeVZhbCBXaXRob3V0TGVmdFJpZ2h0RGVsaW0gQXMgQm9vbGVh +biA9IEZhbHNlKSBBcyBTdHJpbmcNCiAgIA0KICAgRGltIFJlc3VsdCBBcyBTdHJp +bmcNCiAgIA0KICAgSWYgSXNOdWxsKFZhbHVlKSBUaGVuDQogICAgICBUZXh0VG9T +cWxUZXh0ID0gUmVzdWx0VGV4dElmTnVsbA0KICAgICAgRXhpdCBGdW5jdGlvbg0K +ICAgRW5kIElmDQogICANCiAgIFJlc3VsdCA9IFJlcGxhY2UkKFZhbHVlLCBEZWxp +bWl0ZXIsIERlbGltaXRlciAmIERlbGltaXRlcikNCiAgIElmIE5vdCBXaXRob3V0 +TGVmdFJpZ2h0RGVsaW0gVGhlbg0KICAgICAgUmVzdWx0ID0gRGVsaW1pdGVyICYg +UmVzdWx0ICYgRGVsaW1pdGVyDQogICBFbmQgSWYNCiAgIA0KICAgVGV4dFRvU3Fs +VGV4dCA9IFJlc3VsdA0KDQpFbmQgRnVuY3Rpb24NCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBGdW5jdGlvbjogRGF0ZVRvU3Fs +VGV4dA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +Jw0KJyBDb252ZXJ0IGRhdGUgdmFsdWUgdG8gc3RyaW5nIGZvciBTUUwgc3RhdGVt +ZW50IGFzc2VtYmxlZCBieSBWQkEuDQonDQonIFBhcmFtZXRlcnM6DQonICAgICBW +YWx1ZSAgICAgICAgICAtIFZhbHVlIHRvIGNvbnZlcnQNCicgICAgIEZvcm1hdFN0 +cmluZyAgIC0gRGF0ZSBmb3JtYXQgKGRlcGVuZHMgb24gREJNUyEpDQonDQonIFJl +dHVybnM6DQonICAgICBTdHJpbmcNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBEYXRlVG9TcWxUZXh0 +KEJ5VmFsIFZhbHVlIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgICAgICAg +IE9wdGlvbmFsIEJ5VmFsIEZvcm1hdFN0cmluZyBBcyBTdHJpbmcgPSBTUUxfREVG +QVVMVF9EQVRFRk9STUFUKSBBcyBTdHJpbmcNCg0KICAgSWYgSXNOdWxsKFZhbHVl +KSBUaGVuDQogICAgICBEYXRlVG9TcWxUZXh0ID0gUmVzdWx0VGV4dElmTnVsbA0K +ICAgICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIElmIE5vdCBJ +c0RhdGUoVmFsdWUpIFRoZW4NCiAgICAgIEVyci5SYWlzZSB2Yk9iamVjdEVycm9y +LCAiU3FsVG9vbHMuRGF0ZVRvU3FsVGV4dCIsICJEZXIgV2VydCAnIiAmIFZhbHVl +ICYgIicgdm9tIFBhcmFtZXRlciBWYWx1ZSBpc3Qga2VpbiBEYXR1bXN3ZXJ0ISIN +CiAgIEVuZCBJZg0KDQogICBJZiBMZW4oRm9ybWF0U3RyaW5nKSA9IDAgVGhlbg0K +ICAgICAgRm9ybWF0U3RyaW5nID0gU3FsRGF0ZUZvcm1hdA0KICAgICAgSWYgTGVu +KEZvcm1hdFN0cmluZykgPSAwIFRoZW4NCiAgICAgICAgIEVyci5SYWlzZSBTcWxU +b29sc0Vycm9yTnVtYmVycy5FUlJOUl9OT0NPTkZJRywgIkRhdGVUb1NxbFRleHQi +LCAiZGF0ZSBmb3JtYXQgaXMgbm90IGRlZmluZWQiDQogICAgICBFbmQgSWYNCiAg +IEVuZCBJZg0KICAgDQogICBEYXRlVG9TcWxUZXh0ID0gVkJBLkZvcm1hdCQoVmFs +dWUsIEZvcm1hdFN0cmluZykNCg0KRW5kIEZ1bmN0aW9uDQoNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgRnVuY3Rpb246IE51bWJl +clRvU3FsVGV4dA0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJw0KJyBDb252ZXJ0IG51bWVyaWMgdmFsdWUgdG8gc3RyaW5nIGZvciBT +UUwgc3RhdGVtZW50IGFzc2VtYmxlZCBieSBWQkEuDQonDQonIFBhcmFtZXRlcnM6 +DQonICAgICBWYWx1ZSAgICAgICAgICAtIFZhbHVlIHRvIGNvbnZlcnQNCicgICAg +IEZvcm1hdFN0cmluZyAgIC0gRGF0ZSBmb3JtYXQgKGRlcGVuZHMgb24gREJNUyEp +DQonDQonIFJldHVybnM6DQonICAgICBTdHJpbmcNCicNCicgUmVtYXJrczoNCicg +ICAgIFN0ciBmdW5jdGlvbiBlbnN1cmVzICIuIi4NCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBGdW5jdGlvbiBOdW1i +ZXJUb1NxbFRleHQoQnlWYWwgVmFsdWUgQXMgVmFyaWFudCkgQXMgU3RyaW5nDQoN +CiAgIERpbSBSZXN1bHQgQXMgU3RyaW5nDQoNCiAgIElmIElzTnVsbChWYWx1ZSkg +VGhlbg0KICAgICAgTnVtYmVyVG9TcWxUZXh0ID0gUmVzdWx0VGV4dElmTnVsbA0K +ICAgICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIFZhbHVlID0g +Q29udmVydFRvTnVtZXJpYyhWYWx1ZSkNCiAgIA0KICAgUmVzdWx0ID0gVHJpbSQo +U3RyJChWYWx1ZSkpDQogICBJZiBMZWZ0KFJlc3VsdCwgMSkgPSAiLiIgVGhlbg0K +ICAgICAgUmVzdWx0ID0gIjAiICYgUmVzdWx0DQogICBFbmQgSWYNCiAgIA0KICAg +TnVtYmVyVG9TcWxUZXh0ID0gUmVzdWx0DQogICANCkVuZCBGdW5jdGlvbg0KDQpG +cmllbmQgRnVuY3Rpb24gQ29udmVydFRvTnVtZXJpYyhCeVZhbCBWYWx1ZSBBcyBW +YXJpYW50KSBBcyBWYXJpYW50DQogICANCiAgIENvbnN0IENoZWNrTnVtYmVyIEFz +IERvdWJsZSA9IDEuMjMNCiAgIA0KICAgRGltIENoZWNrVGV4dCBBcyBTdHJpbmcN +CiAgIERpbSBEZWNpbWFsU2VwYXJhdG9yVG9SZXBsYWNlIEFzIFN0cmluZw0KICAg +RGltIE5ld0RlY2ltYWxTZXBhcmF0b3IgQXMgU3RyaW5nDQogICANCiAgIElmIElz +TnVsbChWYWx1ZSkgVGhlbg0KICAgICAgQ29udmVydFRvTnVtZXJpYyA9IE51bGwN +CiAgICAgIEV4aXQgRnVuY3Rpb24NCiAgIEVsc2VJZiBDU3RyKFZhbHVlKSA9IHZi +TnVsbFN0cmluZyBUaGVuDQogICAgICBDb252ZXJ0VG9OdW1lcmljID0gTnVsbA0K +ICAgICAgRXhpdCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIENoZWNrVGV4 +dCA9IENTdHIoQ2hlY2tOdW1iZXIpDQogICBJZiBJblN0cigxLCBDaGVja1RleHQs +ICIsIikgPiAwIFRoZW4NCiAgICAgIERlY2ltYWxTZXBhcmF0b3JUb1JlcGxhY2Ug +PSAiLiINCiAgICAgIE5ld0RlY2ltYWxTZXBhcmF0b3IgPSAiLCINCiAgIEVsc2UN +CiAgICAgIERlY2ltYWxTZXBhcmF0b3JUb1JlcGxhY2UgPSAiLCINCiAgICAgIE5l +d0RlY2ltYWxTZXBhcmF0b3IgPSAiLiINCiAgIEVuZCBJZg0KICAgDQogICBJZiBJ +blN0cigxLCBWYWx1ZSwgRGVjaW1hbFNlcGFyYXRvclRvUmVwbGFjZSkgPiAwIFRo +ZW4NCiAgICAgICBWYWx1ZSA9IFJlcGxhY2UoVmFsdWUsIERlY2ltYWxTZXBhcmF0 +b3JUb1JlcGxhY2UsIE5ld0RlY2ltYWxTZXBhcmF0b3IpDQogICAgICAgRG8gV2hp +bGUgVmFsdWUgTGlrZSAiKiIgJiBOZXdEZWNpbWFsU2VwYXJhdG9yICYgIioiICYg +TmV3RGVjaW1hbFNlcGFyYXRvciAmICIqIg0KICAgICAgICAgIFZhbHVlID0gUmVw +bGFjZShWYWx1ZSwgTmV3RGVjaW1hbFNlcGFyYXRvciwgdmJOdWxsU3RyaW5nLCAx +LCAxKQ0KICAgICAgIExvb3ANCiAgICBFbmQgSWYNCiAgIA0KICAgQ29udmVydFRv +TnVtZXJpYyA9IENEYmwoVmFsdWUpDQogICANCkVuZCBGdW5jdGlvbg0KDQonLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9u +OiBCb29sZWFuVG9TcWxUZXh0DQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tDQonDQonIFByZXBhcmUgQm9vbGVhbiBmb3IgU1FMIHRleHQN +CicNCicgUGFyYW1ldGVyczoNCicgICAgIFZhbHVlICAgICAgICAgIC0gVmFsdWUg +dG8gY29udmVydA0KJyAgICAgVHJ1ZVN0cmluZyAgIC0gICBTdHJpbmcgZm9yIHRy +dWUgdmFsdWUgKG9wdGlvbmFsKQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgU3RyaW5n +DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQ +dWJsaWMgRnVuY3Rpb24gQm9vbGVhblRvU3FsVGV4dChCeVZhbCBWYWx1ZSBBcyBW +YXJpYW50LCBfDQogICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbCBCeVZh +bCBUcnVlU3RyaW5nIEFzIFN0cmluZyA9IFNRTF9ERUZBVUxUX0JPT0xUUlVFU1RS +SU5HKSBBcyBTdHJpbmcNCg0KICAgSWYgSXNOdWxsKFZhbHVlKSBUaGVuDQogICAg +ICBCb29sZWFuVG9TcWxUZXh0ID0gUmVzdWx0VGV4dElmTnVsbA0KICAgICAgRXhp +dCBGdW5jdGlvbg0KICAgRW5kIElmDQoNCiAgIElmIENCb29sKFZhbHVlKSA9IFRy +dWUgVGhlbiAnIENCb29sKFZhbHVlKSB0byByYWlzZSBlcnJvciAxMyAodHlwZSBt +aXNtYXRjaCkgaWYgVmFsdWUgaXMgbm90IGEgYm9vbGVhbg0KICAgICAgSWYgTGVu +KFRydWVTdHJpbmcpID0gMCBUaGVuDQogICAgICAgICBUcnVlU3RyaW5nID0gU3Fs +Qm9vbGVhblRydWVTdHJpbmcNCiAgICAgICAgIElmIExlbihUcnVlU3RyaW5nKSA9 +IDAgVGhlbg0KICAgICAgICAgICAgRXJyLlJhaXNlIFNxbFRvb2xzRXJyb3JOdW1i +ZXJzLkVSUk5SX05PQ09ORklHLCAiQm9vbGVhblRvU3FsVGV4dCIsICJib29sZWFu +IHN0cmluZyBmb3IgdHJ1ZSBpcyBub3QgZGVmaW5lZCINCiAgICAgICAgIEVuZCBJ +Zg0KICAgICAgRW5kIElmDQogICAgICBCb29sZWFuVG9TcWxUZXh0ID0gVHJ1ZVN0 +cmluZw0KICAgRWxzZQ0KICAgICAgQm9vbGVhblRvU3FsVGV4dCA9ICIwIg0KICAg +RW5kIElmDQogICANCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0aW9uIENv +bmZpZ051bWVyaWNTcGVjaWFscyggXw0KICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgQnlSZWYgUmVsYXRpb25hbE9wZXJhdG9yIEFzIFNxbFJlbGF0aW9uYWxP +cGVyYXRvcnMsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVm +IEZpbHRlclZhbHVlIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIEJ5UmVmIEZpbHRlclZhbHVlMiBBcyBWYXJpYW50KQ0KDQogICBJ +ZiBMZWZ0KEZpbHRlclZhbHVlLCAxKSA9ICI8IiBUaGVuDQogICAgICBJZiAoKFJl +bGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX0VxdWFsKSA9IFNRTF9FcXVhbCkgVGhl +bg0KICAgICAgICAgUmVsYXRpb25hbE9wZXJhdG9yID0gUmVsYXRpb25hbE9wZXJh +dG9yIC0gU1FMX0VxdWFsDQogICAgICBFbmQgSWYNCiAgICAgIFJlbGF0aW9uYWxP +cGVyYXRvciA9IFJlbGF0aW9uYWxPcGVyYXRvciBPciBTUUxfTGVzc1RoYW4NCiAg +ICAgIEZpbHRlclZhbHVlID0gTWlkKEZpbHRlclZhbHVlLCAyKQ0KICAgRW5kIElm +DQogICANCiAgIElmIExlZnQoRmlsdGVyVmFsdWUsIDEpID0gIj4iIFRoZW4NCiAg +ICAgIElmICgoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfRXF1YWwpID0gU1FM +X0VxdWFsKSBUaGVuDQogICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3IgPSBSZWxh +dGlvbmFsT3BlcmF0b3IgLSBTUUxfRXF1YWwNCiAgICAgIEVuZCBJZg0KICAgICAg +UmVsYXRpb25hbE9wZXJhdG9yID0gUmVsYXRpb25hbE9wZXJhdG9yIE9yIFNRTF9H +cmVhdGVyVGhhbg0KICAgICAgRmlsdGVyVmFsdWUgPSBNaWQoRmlsdGVyVmFsdWUs +IDIpDQogICBFbmQgSWYNCg0KICAgSWYgTGVmdChGaWx0ZXJWYWx1ZSwgMSkgPSAi +PSIgVGhlbg0KICAgICAgUmVsYXRpb25hbE9wZXJhdG9yID0gUmVsYXRpb25hbE9w +ZXJhdG9yIE9yIFNRTF9FcXVhbA0KICAgICAgRmlsdGVyVmFsdWUgPSBNaWQoRmls +dGVyVmFsdWUsIDIpDQogICBFbmQgSWYNCiAgIA0KICAgSWYgUmlnaHQoRmlsdGVy +VmFsdWUsIDEpID0gIioiIFRoZW4NCiAgICAgIFJlbGF0aW9uYWxPcGVyYXRvciA9 +IFJlbGF0aW9uYWxPcGVyYXRvciBPciBTUUxfQWRkX1dpbGRDYXJkU3VmZml4DQog +ICBFbHNlSWYgUmlnaHQoRmlsdGVyVmFsdWUyLCAxKSA9ICIqIiBUaGVuDQogICAg +ICBSZWxhdGlvbmFsT3BlcmF0b3IgPSBSZWxhdGlvbmFsT3BlcmF0b3IgT3IgU1FM +X0FkZF9XaWxkQ2FyZFN1ZmZpeA0KICAgRW5kIElmDQoNCkVuZCBGdW5jdGlvbg0K +DQpQcml2YXRlIEZ1bmN0aW9uIEdldE5leHREaWdpdE51bWJlcihCeVZhbCBaIEFz +IFZhcmlhbnQsIE9wdGlvbmFsIEFkZFRvQWJzb2x1dGVWYWx1ZSBBcyBCb29sZWFu +ID0gRmFsc2UpIEFzIERvdWJsZQ0KICAgDQogICBEaW0gVGVzdFN0cmluZyBBcyBT +dHJpbmcNCiAgIERpbSBLb21tYVBvcyBBcyBMb25nDQogICBEaW0gZGlnaXRzIEFz +IExvbmcNCiAgIERpbSBJc05lZ2F0aXYgQXMgQm9vbGVhbg0KDQogICBDb25zdCBB +ZGRpdGlvbmFsRGVjRGlnaXQgQXMgU3RyaW5nID0gIjEiDQogICBDb25zdCBBZGRp +dGlvbmFsRGVjRGlnaXRLb3JyIEFzIERvdWJsZSA9IDAuMQ0KICAgDQogICBUZXN0 +U3RyaW5nID0gVHJpbShDU3RyKENvbnZlcnRUb051bWVyaWMoUmVwbGFjZShDU3Ry +KFopLCAiKiIsIEFkZGl0aW9uYWxEZWNEaWdpdCkpKSkNCiAgIA0KICAgSWYgTGVm +dChUZXN0U3RyaW5nLCAxKSA9ICItIiBBbmQgKE5vdCBBZGRUb0Fic29sdXRlVmFs +dWUpIFRoZW4NCiAgICAgIEdldE5leHREaWdpdE51bWJlciA9IENEYmwoUmVwbGFj +ZShDU3RyKFopLCAiKiIsIHZiTnVsbFN0cmluZykpDQogICAgICBFeGl0IEZ1bmN0 +aW9uDQogICBFbmQgSWYNCiAgIA0KICAgSWYgTGVmdChUZXN0U3RyaW5nLCAxKSA9 +ICItIiBUaGVuDQogICAgICBJc05lZ2F0aXYgPSBUcnVlDQogICBFbmQgSWYNCiAg +IA0KICAgS29tbWFQb3MgPSBJblN0clJldihUZXN0U3RyaW5nLCBEZWNpbWFsTWFy +a2VyKQ0KICAgSWYgS29tbWFQb3MgPSAwIFRoZW4gJyBuZXh0IGludGVnZXINCiAg +ICAgIElmIEFkZFRvQWJzb2x1dGVWYWx1ZSBBbmQgSXNOZWdhdGl2IFRoZW4NCiAg +ICAgICAgIEdldE5leHREaWdpdE51bWJlciA9IENEYmwoUmVwbGFjZShDU3RyKFop +LCAiKiIsIHZiTnVsbFN0cmluZykpIC0gMQ0KICAgICAgRWxzZQ0KICAgICAgICAg +R2V0TmV4dERpZ2l0TnVtYmVyID0gQ0RibChSZXBsYWNlKENTdHIoWiksICIqIiwg +dmJOdWxsU3RyaW5nKSkgKyAxDQogICAgICBFbmQgSWYNCiAgICAgIEV4aXQgRnVu +Y3Rpb24NCiAgIEVuZCBJZg0KICAgDQogICBkaWdpdHMgPSBMZW4oVGVzdFN0cmlu +ZykgLSBLb21tYVBvcyAtIDENCiAgIA0KICAgSWYgTGVmdChUZXN0U3RyaW5nLCAx +KSA9ICItIiBUaGVuDQogICAgICBJc05lZ2F0aXYgPSBUcnVlDQogICBFbmQgSWYN +CiAgIA0KICAgSWYgQWRkVG9BYnNvbHV0ZVZhbHVlIEFuZCBJc05lZ2F0aXYgVGhl +bg0KICAgICAgR2V0TmV4dERpZ2l0TnVtYmVyID0gQ0RibChUZXN0U3RyaW5nKSAr +IEFkZGl0aW9uYWxEZWNEaWdpdEtvcnIgLyAxMCBeIGRpZ2l0cyAtIEFkZGl0aW9u +YWxEZWNEaWdpdEtvcnIgLyAxMCBeIChkaWdpdHMgLSAxKQ0KICAgRWxzZQ0KICAg +ICAgR2V0TmV4dERpZ2l0TnVtYmVyID0gQ0RibChUZXN0U3RyaW5nKSArICgxIC0g +QWRkaXRpb25hbERlY0RpZ2l0S29ycikgLyAxMCBeIGRpZ2l0cw0KICAgRW5kIElm +DQogICANCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIFByb3BlcnR5IEdldCBEZWNp +bWFsTWFya2VyKCkgQXMgU3RyaW5nDQoNCiAgIFN0YXRpYyBEZWNDaGFyIEFzIFN0 +cmluZw0KICAgRGltIFggQXMgU3RyaW5nDQogICANCiAgIElmIExlbihEZWNDaGFy +KSA9IDAgVGhlbg0KICAgICAgWCA9IFRyaW0oQ1N0cigxLjIpKQ0KICAgICAgRGVj +Q2hhciA9IE1pZChYLCAyLCAxKQ0KICAgRW5kIElmDQogICANCiAgIERlY2ltYWxN +YXJrZXIgPSBEZWNDaGFyDQoNCkVuZCBQcm9wZXJ0eQ0KDQpQcml2YXRlIEZ1bmN0 +aW9uIENoYXJUcmltKEJ5VmFsIFZhbHVlVG9UcmltIEFzIFN0cmluZywgQnlWYWwg +VHJpbUNoYXIgQXMgU3RyaW5nKSBBcyBTdHJpbmcNCg0KICAgRGltIFRyaW1TdHJp +bmcgQXMgU3RyaW5nDQogICANCiAgIFRyaW1TdHJpbmcgPSAiICIgJiBUcmltQ2hh +cg0KICAgRG8gV2hpbGUgSW5TdHIoMSwgVmFsdWVUb1RyaW0sIFRyaW1TdHJpbmcp +DQogICAgICBWYWx1ZVRvVHJpbSA9IFJlcGxhY2UoVmFsdWVUb1RyaW0sIFRyaW1T +dHJpbmcsIFRyaW1DaGFyKQ0KICAgTG9vcA0KICAgDQogICBUcmltU3RyaW5nID0g +VHJpbUNoYXIgJiAiICINCiAgIERvIFdoaWxlIEluU3RyKDEsIFZhbHVlVG9Ucmlt +LCBUcmltU3RyaW5nKQ0KICAgICAgVmFsdWVUb1RyaW0gPSBSZXBsYWNlKFZhbHVl +VG9UcmltLCBUcmltU3RyaW5nLCBUcmltQ2hhcikNCiAgIExvb3ANCiAgIA0KICAg +Q2hhclRyaW0gPSBWYWx1ZVRvVHJpbQ0KDQpFbmQgRnVuY3Rpb24NCg0KRnJpZW5k +IEZ1bmN0aW9uIEdldFJlbGF0aW9uYWxPcGVyYXRvclN0cmluZyhCeVJlZiBSZWxh +dGlvbmFsT3BlcmF0b3IgQXMgU3FsUmVsYXRpb25hbE9wZXJhdG9ycykgQXMgU3Ry +aW5nDQoNCiAgIERpbSBPcGVyYXRvclN0cmluZyBBcyBTdHJpbmcNCiAgIERpbSBv +cCBBcyBTcWxSZWxhdGlvbmFsT3BlcmF0b3JzDQogICANCiAgIElmIChSZWxhdGlv +bmFsT3BlcmF0b3IgQW5kIFNRTF9JbikgPSBTUUxfSW4gVGhlbg0KICAgICAgT3Bl +cmF0b3JTdHJpbmcgPSBPcGVyYXRvclN0cmluZyAmICJJbiINCiAgICAgIElmIChS +ZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9Ob3QpID0gU1FMX05vdCBUaGVuDQog +ICAgICAgICBPcGVyYXRvclN0cmluZyA9ICJOb3QgIiAmIE9wZXJhdG9yU3RyaW5n +DQogICAgICBFbmQgSWYNCiAgICAgIEdldFJlbGF0aW9uYWxPcGVyYXRvclN0cmlu +ZyA9IE9wZXJhdG9yU3RyaW5nDQogICAgICBFeGl0IEZ1bmN0aW9uDQogICBFbmQg +SWYNCiAgIA0KICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX05vdCkg +PSBTUUxfTm90IFRoZW4NCiAgICAgIA0KICAgICAgb3AgPSBSZWxhdGlvbmFsT3Bl +cmF0b3IgWG9yIFNRTF9Ob3QNCiAgICAgIA0KICAgICAgSWYgb3AgPSBTcWxSZWxh +dGlvbmFsT3BlcmF0b3JzLlNRTF9FcXVhbCBUaGVuICcgPT4gIj0iIHp1ICI8PiIg +Li4gbnVsbCBiZXL8Y2tzaWNodGlnZW4/DQogICAgICAgICBSZWxhdGlvbmFsT3Bl +cmF0b3IgPSBTUUxfTGVzc1RoYW4gKyBTUUxfR3JlYXRlclRoYW4NCiAgICAgIEVs +c2VJZiBvcCA9IFNRTF9HcmVhdGVyVGhhbiArIFNRTF9MZXNzVGhhbiBUaGVuICcg +PT4gIjw+IiB6dSAiPSIgLi4gbnVsbCBiZXL8Y2tzaWNodGlnZW4/DQogICAgICAg +ICBSZWxhdGlvbmFsT3BlcmF0b3IgPSBTUUxfRXF1YWwNCiAgICAgIEVsc2UNCiAg +ICAgICAgIFJlbGF0aW9uYWxPcGVyYXRvciA9IFJlbGF0aW9uYWxPcGVyYXRvciBY +b3IgU1FMX05vdA0KICAgICAgICAgSWYgKG9wIEFuZCBTUUxfRXF1YWwpID0gU1FM +X0VxdWFsIFRoZW4NCiAgICAgICAgICAgIFJlbGF0aW9uYWxPcGVyYXRvciA9IFJl +bGF0aW9uYWxPcGVyYXRvciBYb3IgU1FMX0VxdWFsDQogICAgICAgICBFbHNlDQog +ICAgICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3IgPSBSZWxhdGlvbmFsT3BlcmF0 +b3IgT3IgU1FMX0VxdWFsDQogICAgICAgICBFbmQgSWYNCiAgICAgICAgIElmIChv +cCBBbmQgU1FMX0xlc3NUaGFuKSA9IFNRTF9MZXNzVGhhbiBUaGVuDQogICAgICAg +ICAgICBSZWxhdGlvbmFsT3BlcmF0b3IgPSBSZWxhdGlvbmFsT3BlcmF0b3IgWG9y +IFNRTF9MZXNzVGhhbg0KICAgICAgICAgICAgUmVsYXRpb25hbE9wZXJhdG9yID0g +UmVsYXRpb25hbE9wZXJhdG9yIE9yIFNRTF9HcmVhdGVyVGhhbg0KICAgICAgICAg +RW5kIElmDQogICAgICAgICBJZiAob3AgQW5kIFNRTF9HcmVhdGVyVGhhbikgPSBT +UUxfR3JlYXRlclRoYW4gVGhlbg0KICAgICAgICAgICAgUmVsYXRpb25hbE9wZXJh +dG9yID0gUmVsYXRpb25hbE9wZXJhdG9yIFhvciBTUUxfR3JlYXRlclRoYW4NCiAg +ICAgICAgICAgIFJlbGF0aW9uYWxPcGVyYXRvciA9IFJlbGF0aW9uYWxPcGVyYXRv +ciBPciBTUUxfTGVzc1RoYW4NCiAgICAgICAgIEVuZCBJZg0KICAgICAgRW5kIElm +DQogICBFbmQgSWYNCg0KICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FM +X0xlc3NUaGFuKSA9IFNRTF9MZXNzVGhhbiBUaGVuDQogICAgICBPcGVyYXRvclN0 +cmluZyA9IE9wZXJhdG9yU3RyaW5nICYgIjwiDQogICBFbmQgSWYNCiAgIA0KICAg +SWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX0dyZWF0ZXJUaGFuKSA9IFNR +TF9HcmVhdGVyVGhhbiBUaGVuDQogICAgICBPcGVyYXRvclN0cmluZyA9IE9wZXJh +dG9yU3RyaW5nICYgIj4iDQogICBFbmQgSWYNCg0KICAgSWYgKFJlbGF0aW9uYWxP +cGVyYXRvciBBbmQgU1FMX0VxdWFsKSA9IFNRTF9FcXVhbCBUaGVuDQogICAgICBP +cGVyYXRvclN0cmluZyA9IE9wZXJhdG9yU3RyaW5nICYgIj0iDQogICBFbmQgSWYN +Cg0KICAgR2V0UmVsYXRpb25hbE9wZXJhdG9yU3RyaW5nID0gT3BlcmF0b3JTdHJp +bmcNCg0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gVHJ5QnVpbGRX +aWxkQ2FyZFN1ZmZpeE9yUHJlQnVpbGRQYXJhbXMoQnlWYWwgRmllbGROYW1lIEFz +IFN0cmluZywgQnlWYWwgRmllbGREYXRhVHlwZSBBcyBTcWxGaWVsZERhdGFUeXBl +LCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJl +ZiBSZWxhdGlvbmFsT3BlcmF0b3IgQXMgU3FsUmVsYXRpb25hbE9wZXJhdG9ycywg +Xw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlSZWYg +RmlsdGVyVmFsdWUgQXMgVmFyaWFudCwgXw0KICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgQnlSZWYgRmlsdGVyVmFsdWUyIEFzIFZhcmlhbnQs +IF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVm +IElnbm9yZVZhbHVlIEFzIFZhcmlhbnQsIF8NCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIEJ5UmVmIENyaXRlcmlhIEFzIFN0cmluZykgQXMg +Qm9vbGVhbg0KDQogICBEaW0gQ3JpdGVyaWExIEFzIFN0cmluZw0KICAgRGltIENy +aXRlcmlhMiBBcyBTdHJpbmcNCg0KICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBB +bmQgU1FMX0xpa2UpID0gU1FMX0xpa2UgVGhlbg0KICAgICAgRmlsdGVyVmFsdWUg +PSBGaWx0ZXJWYWx1ZSAmIFNxbFdpbGRDYXJkU3RyaW5nDQogICBFbHNlSWYgKEZp +ZWxkRGF0YVR5cGUgQW5kIFNRTF9EYXRlKSA9IFNRTF9EYXRlIFRoZW4NCiAgICAg +IElmIChSZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9MZXNzVGhhbikgPSAwIFRo +ZW4gJyBubyA8IHRoZXJlZm9yZTogID4sID49IG9yIG9ubHkgPQ0KICAgICAgICAg +SWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX0dyZWF0ZXJUaGFuKSA9IFNR +TF9HcmVhdGVyVGhhbiBUaGVuDQogICAgICAgICAgICAnIGNoYW5nZSBub3RoaW5n +IC4uLiA+PSBEYXRhVmFsdWUgIC8gU1FMX0FkZF9XaWxkQ2FyZFN1ZmZpeCBpcyBu +b3QgbG9naWNhbA0KICAgICAgICAgRWxzZSAnIENvbnNpZGVyIHRoZSB3aG9sZSBk +YXkgLi4uIEZpZWxkTmFtZSA+PSBEYXRlVmFsdWUgYW5kIEZpZWxkTmFtZSA8IERh +dGVBZGQoImQiLCAxLCBGaWx0ZXJWYWx1ZSkpDQogICAgICAgICAgICBDcml0ZXJp +YSA9IEJ1aWxkQ3JpdGVyaWEoRmllbGROYW1lLCBGaWVsZERhdGFUeXBlLCBTUUxf +R3JlYXRlclRoYW4gKyBTUUxfRXF1YWwsIEZpbHRlclZhbHVlLCAsICwgRmFsc2Up +ICYgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNxbEFuZENvbmNhdFN0 +cmluZyAmIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsZENyaXRl +cmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgU1FMX0xlc3NUaGFuLCBEYXRl +QWRkKCJkIiwgMSwgQ0RhdGUoQ0xuZyhGaWx0ZXJWYWx1ZSkpKSwgLCAsIEZhbHNl +KQ0KICAgICAgICAgICAgVHJ5QnVpbGRXaWxkQ2FyZFN1ZmZpeE9yUHJlQnVpbGRQ +YXJhbXMgPSBUcnVlDQogICAgICAgICAgICBFeGl0IEZ1bmN0aW9uDQogICAgICAg +ICBFbmQgSWYNCiAgICAgIEVsc2UNCiAgICAgICAgIElmIChSZWxhdGlvbmFsT3Bl +cmF0b3IgQW5kIFNRTF9FcXVhbCkgPSBTUUxfRXF1YWwgVGhlbg0KICAgICAgICAg +ICAgUmVsYXRpb25hbE9wZXJhdG9yID0gUmVsYXRpb25hbE9wZXJhdG9yIC0gU1FM +X0VxdWFsDQogICAgICAgICBFbmQgSWYNCiAgICAgICAgIEZpbHRlclZhbHVlID0g +RGF0ZUFkZCgiZCIsIDEsIENEYXRlKENMbmcoRmlsdGVyVmFsdWUpKSkNCiAgICAg +IEVuZCBJZg0KICAgRWxzZUlmIChGaWVsZERhdGFUeXBlIEFuZCBTUUxfTnVtZXJp +YykgPSBTUUxfTnVtZXJpYyBUaGVuDQogICAgICBJZiAoUmVsYXRpb25hbE9wZXJh +dG9yIEFuZCBTUUxfTGVzc1RoYW4pID0gMCBUaGVuICcgbm8gPCBkYWhlcjogID4s +ID49IG9yIG9ubHkgPQ0KICAgICAgICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBB +bmQgU1FMX0dyZWF0ZXJUaGFuKSA9IFNRTF9HcmVhdGVyVGhhbiBUaGVuDQogICAg +ICAgICAgICBJZiBGaWx0ZXJWYWx1ZSBMaWtlICIqWywuXSpbKl0iIFRoZW4NCiAg +ICAgICAgICAgICAgIEZpbHRlclZhbHVlID0gUmVwbGFjZShGaWx0ZXJWYWx1ZSwg +IioiLCAwKQ0KICAgICAgICAgICAgRWxzZUlmIEZpbHRlclZhbHVlIExpa2UgIipb +Kl0iIFRoZW4NCiAgICAgICAgICAgICAgIEZpbHRlclZhbHVlID0gUmVwbGFjZShG +aWx0ZXJWYWx1ZSwgIioiLCB2Yk51bGxTdHJpbmcpDQogICAgICAgICAgICBFbmQg +SWYNCiAgICAgICAgICAgICcgY2hhbmdlIG5vdGhpbmcgPT4gPj0gTnVtYmVyICAv +IFNRTF9BZGRfV2lsZENhcmRTdWZmaXggaXMgbm90IGxvZ2ljYWwNCiAgICAgICAg +IEVsc2UgJyBDb25zaWRlciBmb2xsb3dpbmcgZGVjaW1hbCB2YWx1ZXMgLi4uIEZp +ZWxkTmFtZSA+PSBOdW1iZXIgYW5kIEZpZWxkTmFtZSA8IChOdW1iZXIgKyB4KQ0K +ICAgICAgICAgICAgSWYgRmlsdGVyVmFsdWUgTGlrZSAiLSpbKl0iIFRoZW4NCiAg +ICAgICAgICAgICAgIElmIEZpbHRlclZhbHVlIExpa2UgIipbLC5dKlsqXSIgVGhl +bg0KICAgICAgICAgICAgICAgICAgRmlsdGVyVmFsdWUyID0gUmVwbGFjZShGaWx0 +ZXJWYWx1ZSwgIioiLCAwKQ0KICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAg +ICAgICAgICAgRmlsdGVyVmFsdWUyID0gUmVwbGFjZShGaWx0ZXJWYWx1ZSwgIioi +LCB2Yk51bGxTdHJpbmcpDQogICAgICAgICAgICAgICBFbmQgSWYNCiAgICAgICAg +ICAgICAgIENyaXRlcmlhMSA9IEJ1aWxkQ3JpdGVyaWEoRmllbGROYW1lLCBGaWVs +ZERhdGFUeXBlLCBTUUxfR3JlYXRlclRoYW4sIEdldE5leHREaWdpdE51bWJlcihG +aWx0ZXJWYWx1ZSwgVHJ1ZSksICwgTnVsbCwgRmFsc2UpDQogICAgICAgICAgICAg +ICBDcml0ZXJpYTIgPSBCdWlsZENyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRh +VHlwZSwgU1FMX0xlc3NUaGFuICsgU1FMX0VxdWFsLCBGaWx0ZXJWYWx1ZTIsICwg +TnVsbCwgRmFsc2UpDQogICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICBD +cml0ZXJpYTEgPSBCdWlsZENyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlw +ZSwgU1FMX0dyZWF0ZXJUaGFuICsgU1FMX0VxdWFsLCBGaWx0ZXJWYWx1ZSwgLCBO +dWxsLCBGYWxzZSkNCiAgICAgICAgICAgICAgIENyaXRlcmlhMiA9IEJ1aWxkQ3Jp +dGVyaWEoRmllbGROYW1lLCBGaWVsZERhdGFUeXBlLCBTUUxfTGVzc1RoYW4sIEdl +dE5leHREaWdpdE51bWJlcihGaWx0ZXJWYWx1ZSksICwgTnVsbCwgRmFsc2UpDQog +ICAgICAgICAgICBFbmQgSWYNCiAgICAgICAgICAgIENyaXRlcmlhID0gQ3JpdGVy +aWExICYgU3FsQW5kQ29uY2F0U3RyaW5nICYgQ3JpdGVyaWEyDQogICAgICAgICAg +ICBUcnlCdWlsZFdpbGRDYXJkU3VmZml4T3JQcmVCdWlsZFBhcmFtcyA9IFRydWUN +CiAgICAgICAgICAgIEV4aXQgRnVuY3Rpb24NCiAgICAgICAgIEVuZCBJZg0KICAg +ICAgRWxzZQ0KICAgICAgICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FM +X0VxdWFsKSA9IFNRTF9FcXVhbCBUaGVuDQogICAgICAgICAgICBSZWxhdGlvbmFs +T3BlcmF0b3IgPSBSZWxhdGlvbmFsT3BlcmF0b3IgLSBTUUxfRXF1YWwNCiAgICAg +ICAgIEVuZCBJZg0KICAgICAgICAgRmlsdGVyVmFsdWUgPSBHZXROZXh0RGlnaXRO +dW1iZXIoRmlsdGVyVmFsdWUpDQogICAgICBFbmQgSWYNCiAgIEVuZCBJZg0KDQpF +bmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBUcnlCdWlsZE51bWVyaWNT +cGVjaWFsQ2FzZXNDcml0ZXJpYShCeVJlZiBGaWVsZE5hbWUgQXMgU3RyaW5nLCBC +eVZhbCBGaWVsZERhdGFUeXBlIEFzIFNxbEZpZWxkRGF0YVR5cGUsIF8NCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVmIFJlbGF0aW9u +YWxPcGVyYXRvciBBcyBTcWxSZWxhdGlvbmFsT3BlcmF0b3JzLCBfDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJlZiBGaWx0ZXJWYWx1 +ZSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICBCeVJlZiBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJlZiBEaXNhYmxlSWdu +b3JlTnVsbFZhbHVlIEFzIEJvb2xlYW4sIF8NCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIEJ5UmVmIENyaXRlcmlhIEFzIFN0cmluZykgQXMg +Qm9vbGVhbg0KDQogICBEaW0gQ3JpdGVyaWFCdWlsZCBBcyBCb29sZWFuDQogICBE +aW0gVGVtcEFycigpIEFzIFN0cmluZw0KICAgDQogICBDb25zdCBGaWx0ZXJWYWx1 +ZTIgQXMgVmFyaWFudCA9IE51bGwNCg0KICAgRmlsdGVyVmFsdWUgPSBUcmltKEZp +bHRlclZhbHVlKQ0KICAgICAgICAgICAgDQogICBJZiBGaWx0ZXJWYWx1ZSBMaWtl +ICJbMC05XSouLipbMC05XSoiIE9yIEZpbHRlclZhbHVlIExpa2UgIlsrLV1bMC05 +XSouLipbMC05XSoiIFRoZW4NCiAgICAgIFRlbXBBcnIgPSBTcGxpdChGaWx0ZXJW +YWx1ZSwgIi4uIikNCiAgICAgIENyaXRlcmlhID0gQnVpbGRDcml0ZXJpYShGaWVs +ZE5hbWUsIEZpZWxkRGF0YVR5cGUsIFNRTF9CZXR3ZWVuLCBUcmltKFRlbXBBcnIo +MCkpLCBUcmltKFRlbXBBcnIoMSkpLCBJZ25vcmVWYWx1ZSwgRGlzYWJsZUlnbm9y +ZU51bGxWYWx1ZSkNCiAgICAgIENyaXRlcmlhQnVpbGQgPSBUcnVlDQogICBFbHNl +SWYgRmlsdGVyVmFsdWUgTGlrZSAiWzAtOV0qLSpbMC05XSoiIE9yIEZpbHRlclZh +bHVlIExpa2UgIlsrLV1bMC05XSotKlswLTldKiIgVGhlbiAgICAnIGNvbnZlcnQg +dG8gYS4uYg0KICAgICAgSWYgTGVmdChGaWx0ZXJWYWx1ZSwgMSkgPSAiLSIgVGhl +bg0KICAgICAgICAgRmlsdGVyVmFsdWUgPSAie019IiAmIE1pZChGaWx0ZXJWYWx1 +ZSwgMikNCiAgICAgIEVuZCBJZg0KICAgICAgRmlsdGVyVmFsdWUgPSBSZXBsYWNl +KEZpbHRlclZhbHVlLCAiICAiLCAiICIpDQogICAgICBGaWx0ZXJWYWx1ZSA9IFJl +cGxhY2UoRmlsdGVyVmFsdWUsICItIC0iLCAiLS0iKQ0KICAgICAgRmlsdGVyVmFs +dWUgPSBSZXBsYWNlKEZpbHRlclZhbHVlLCAiLS0iLCAiLXtNfSIpDQogICAgICBG +aWx0ZXJWYWx1ZSA9IFJlcGxhY2UoRmlsdGVyVmFsdWUsICItIiwgIi4uIikNCiAg +ICAgIEZpbHRlclZhbHVlID0gUmVwbGFjZShGaWx0ZXJWYWx1ZSwgIntNfSIsICIt +IikNCiAgICAgIA0KICAgICAgVGVtcEFyciA9IFNwbGl0KEZpbHRlclZhbHVlLCAi +Li4iKQ0KICAgICAgQ3JpdGVyaWEgPSBCdWlsZENyaXRlcmlhKEZpZWxkTmFtZSwg +RmllbGREYXRhVHlwZSwgU1FMX0JldHdlZW4sIFRyaW0oVGVtcEFycigwKSksIFRy +aW0oVGVtcEFycigxKSksIElnbm9yZVZhbHVlLCBEaXNhYmxlSWdub3JlTnVsbFZh +bHVlKQ0KICAgICAgQ3JpdGVyaWFCdWlsZCA9IFRydWUNCiAgIEVsc2VJZiBGaWx0 +ZXJWYWx1ZSBMaWtlICIqWzAtOV0iICYgRGVjaW1hbE1hcmtlciAmICIqWypdIiBU +aGVuDQogICAgICBJZiAoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfQWRkX1dp +bGRDYXJkU3VmZml4KSA9IDAgVGhlbg0KICAgICAgICAgQ3JpdGVyaWEgPSBCdWls +ZENyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgUmVsYXRpb25hbE9w +ZXJhdG9yICsgU1FMX0FkZF9XaWxkQ2FyZFN1ZmZpeCwgRmlsdGVyVmFsdWUsIEZp +bHRlclZhbHVlMiwgSWdub3JlVmFsdWUsIERpc2FibGVJZ25vcmVOdWxsVmFsdWUp +DQogICAgICAgICBDcml0ZXJpYUJ1aWxkID0gVHJ1ZQ0KICAgICAgRW5kIElmDQog +ICBFbmQgSWYNCiAgIA0KICAgVHJ5QnVpbGROdW1lcmljU3BlY2lhbENhc2VzQ3Jp +dGVyaWEgPSBDcml0ZXJpYUJ1aWxkDQoNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRl +IEZ1bmN0aW9uIFRyeUJ1aWxkQXJyYXlDcml0ZXJpYShCeVJlZiBGaWVsZE5hbWUg +QXMgU3RyaW5nLCBCeVZhbCBGaWVsZERhdGFUeXBlIEFzIFNxbEZpZWxkRGF0YVR5 +cGUsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5 +UmVmIFJlbGF0aW9uYWxPcGVyYXRvciBBcyBTcWxSZWxhdGlvbmFsT3BlcmF0b3Jz +LCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJl +ZiBGaWx0ZXJWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICBCeVJlZiBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50 +LCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJl +ZiBDcml0ZXJpYSBBcyBTdHJpbmcpIEFzIEJvb2xlYW4NCiAgIERpbSBpdG0gQXMg +VmFyaWFudA0KICAgRGltIEl0bUNyaXRlcmlhIEFzIFN0cmluZw0KICAgDQogICBE +aW0gYXJyRmlsdGVyVmFsdWUoKSBBcyBWYXJpYW50DQogICANCiAgIElmIE5vdCBJ +c0FycmF5KEZpbHRlclZhbHVlKSBUaGVuDQogICAgICBFeGl0IEZ1bmN0aW9uDQog +ICBFbmQgSWYNCg0KICAgJ0Nvbm5lY3QgY3JpdGVyaWEgdmlhIE9yDQogICBGb3Ig +RWFjaCBpdG0gSW4gRmlsdGVyVmFsdWUNCiAgICAgIEl0bUNyaXRlcmlhID0gQnVp +bGRDcml0ZXJpYShGaWVsZE5hbWUsIEZpZWxkRGF0YVR5cGUsIFJlbGF0aW9uYWxP +cGVyYXRvciwgaXRtLCAsIElnbm9yZVZhbHVlLCBGYWxzZSkNCiAgICAgIElmIExl +bihJdG1Dcml0ZXJpYSkgPiAwIFRoZW4NCiAgICAgICAgIENyaXRlcmlhID0gQ3Jp +dGVyaWEgJiBTcWxPckNvbmNhdFN0cmluZyAmIEl0bUNyaXRlcmlhDQogICAgICBF +bmQgSWYNCiAgIE5leHQNCiAgIElmIExlbihDcml0ZXJpYSkgPiAwIFRoZW4NCiAg +ICAgIENyaXRlcmlhID0gTWlkKENyaXRlcmlhLCBMZW4oU3FsT3JDb25jYXRTdHJp +bmcpICsgMSkgJyAxLiBPciB3ZWdzY2huZWlkZW4NCiAgIEVuZCBJZg0KDQogICBU +cnlCdWlsZEFycmF5Q3JpdGVyaWEgPSBUcnVlDQoNCkVuZCBGdW5jdGlvbg0KDQpQ +cml2YXRlIEZ1bmN0aW9uIFRyeUJ1aWxkSW5Dcml0ZXJpYShCeVJlZiBGaWVsZE5h +bWUgQXMgU3RyaW5nLCBCeVZhbCBGaWVsZERhdGFUeXBlIEFzIFNxbEZpZWxkRGF0 +YVR5cGUsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5 +UmVmIFJlbGF0aW9uYWxPcGVyYXRvciBBcyBTcWxSZWxhdGlvbmFsT3BlcmF0b3Jz +LCBfDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJlZiBG +aWx0ZXJWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICBCeVJlZiBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50LCBfDQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJlZiBDcml0ZXJp +YSBBcyBTdHJpbmcpIEFzIEJvb2xlYW4NCg0KICAgRGltIE9wZXJhdG9yU3RyaW5n +IEFzIFN0cmluZw0KICAgRGltIEZpbHRlclZhbHVlU3RyaW5nIEFzIFN0cmluZw0K +DQogICBJZiAoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfSW4pID0gMCBUaGVu +DQogICAgICBFeGl0IEZ1bmN0aW9uDQogICBFbmQgSWYNCg0KICAgSWYgSXNBcnJh +eShGaWx0ZXJWYWx1ZSkgVGhlbg0KICAgICAgRmlsdGVyVmFsdWVTdHJpbmcgPSBH +ZXRWYWx1ZUFycmF5U3RyaW5nKEZpbHRlclZhbHVlLCBGaWVsZERhdGFUeXBlLCAi +LCIsIElnbm9yZVZhbHVlKQ0KICAgRWxzZUlmIFZhclR5cGUoRmlsdGVyVmFsdWUp +ID0gdmJTdHJpbmcgVGhlbg0KICAgICAgSWYgRmllbGREYXRhVHlwZSA9IFNRTF9U +ZXh0IFRoZW4NCiAgICAgICAgIElmIExlZnQoRmlsdGVyVmFsdWUsIDEpID0gIici +IFRoZW4gJyBJcyBhbHJlYWR5IGFzIFNRTCB0ZXh0IGluIHRoZSBGaWx0ZXJTdHJp +bmcNCiAgICAgICAgICAgIEZpbHRlclZhbHVlU3RyaW5nID0gRmlsdGVyVmFsdWUN +CiAgICAgICAgIEVsc2UNCiAgICAgICAgICAgIEZpbHRlclZhbHVlU3RyaW5nID0g +Q29udmVydFRvU3FsVGV4dChGaWx0ZXJWYWx1ZSwgRmllbGREYXRhVHlwZSkNCiAg +ICAgICAgIEVuZCBJZg0KICAgICAgRWxzZQ0KICAgICAgICAgRmlsdGVyVmFsdWVT +dHJpbmcgPSBGaWx0ZXJWYWx1ZSAnIFZhbHVlIGlzIGFscmVhZHkgaW4gdGhlIGxp +c3RpbmcgYXMgYSBzdHJpbmcNCiAgICAgIEVuZCBJZg0KICAgRWxzZQ0KICAgICAg +RmlsdGVyVmFsdWVTdHJpbmcgPSBDb252ZXJ0VG9TcWxUZXh0KEZpbHRlclZhbHVl +LCBGaWVsZERhdGFUeXBlKQ0KICAgRW5kIElmDQoNCiAgIE9wZXJhdG9yU3RyaW5n +ID0gIiBJbiAiDQogICBJZiAoUmVsYXRpb25hbE9wZXJhdG9yIEFuZCBTUUxfTm90 +KSA9IFNRTF9Ob3QgVGhlbg0KICAgICAgT3BlcmF0b3JTdHJpbmcgPSAiIE5vdCIg +JiBPcGVyYXRvclN0cmluZw0KICAgRW5kIElmDQoNCiAgIElmIExlbihGaWx0ZXJW +YWx1ZVN0cmluZykgPiAwIFRoZW4NCiAgIA0KICAgICAgSWYgUmVtb3ZlTnVsbEZy +b21JblZhbHVlU3RyaW5nKEZpbHRlclZhbHVlU3RyaW5nKSBUaGVuDQogICAgICAg +ICBDcml0ZXJpYSA9IEZpZWxkTmFtZSAmICIgSXMgTnVsbCINCiAgICAgICAgIElm +IExlbihGaWx0ZXJWYWx1ZVN0cmluZykgPiAwIFRoZW4NCiAgICAgICAgICAgIENy +aXRlcmlhID0gQ3JpdGVyaWEgJiAiIE9yICIgJiBGaWVsZE5hbWUgJiBPcGVyYXRv +clN0cmluZyAmICIoIiAmIEZpbHRlclZhbHVlU3RyaW5nICYgIikiDQogICAgICAg +ICBFbmQgSWYNCiAgICAgIEVsc2UNCiAgICAgICAgIENyaXRlcmlhID0gRmllbGRO +YW1lICYgT3BlcmF0b3JTdHJpbmcgJiAiKCIgJiBGaWx0ZXJWYWx1ZVN0cmluZyAm +ICIpIg0KICAgICAgRW5kIElmDQogICAgDQogICBFbmQgSWYNCg0KICAgVHJ5QnVp +bGRJbkNyaXRlcmlhID0gVHJ1ZQ0KDQpFbmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBG +dW5jdGlvbiBUcnlCdWlsZEJldHdlZW5Dcml0ZXJpYShCeVJlZiBGaWVsZE5hbWUg +QXMgU3RyaW5nLCBCeVZhbCBGaWVsZERhdGFUeXBlIEFzIFNxbEZpZWxkRGF0YVR5 +cGUsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +QnlSZWYgUmVsYXRpb25hbE9wZXJhdG9yIEFzIFNxbFJlbGF0aW9uYWxPcGVyYXRv +cnMsIF8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +QnlSZWYgRmlsdGVyVmFsdWUgQXMgVmFyaWFudCwgXw0KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICBCeVJlZiBGaWx0ZXJWYWx1ZTIgQXMg +VmFyaWFudCwgXw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICBCeVJlZiBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50LCBfDQogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVmIENyaXRlcmlhIEFz +IFN0cmluZykgQXMgQm9vbGVhbg0KICAgDQogICBEaW0gQ3JpdGVyaWExIEFzIFN0 +cmluZw0KICAgRGltIENyaXRlcmlhMiBBcyBTdHJpbmcNCiAgIA0KICAgSWYgKFJl +bGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX0JldHdlZW4pID0gRmFsc2UgVGhlbg0K +ICAgICAgVHJ5QnVpbGRCZXR3ZWVuQ3JpdGVyaWEgPSBGYWxzZQ0KICAgICAgRXhp +dCBGdW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIElmIChSZWxhdGlvbmFsT3Bl +cmF0b3IgQW5kIFNRTF9Ob3QpID0gU1FMX05vdCBUaGVuICdSZXZlcnNlIGNvbmRp +dGlvbg0KICAgICAgQ3JpdGVyaWExID0gQnVpbGRDcml0ZXJpYShGaWVsZE5hbWUs +IEZpZWxkRGF0YVR5cGUsIFNRTF9MZXNzVGhhbiwgRmlsdGVyVmFsdWUsICwgSWdu +b3JlVmFsdWUsIEZhbHNlKQ0KICAgICAgQ3JpdGVyaWEyID0gQnVpbGRDcml0ZXJp +YShGaWVsZE5hbWUsIEZpZWxkRGF0YVR5cGUsIFNRTF9HcmVhdGVyVGhhbiwgRmls +dGVyVmFsdWUyLCAsIElnbm9yZVZhbHVlLCBGYWxzZSkNCiAgICAgIENyaXRlcmlh +ID0gQ3JpdGVyaWExICYgU3FsQW5kQ29uY2F0U3RyaW5nICYgQ3JpdGVyaWEyDQog +ICAgICBUcnlCdWlsZEJldHdlZW5Dcml0ZXJpYSA9IFRydWUNCiAgICAgIEV4aXQg +RnVuY3Rpb24NCiAgIEVuZCBJZg0KICAgDQogICBJZiBGaWVsZERhdGFUeXBlID0g +U1FMX051bWVyaWMgVGhlbg0KICAgICAgSWYgRmlsdGVyVmFsdWUyIExpa2UgIjw9 +KiIgVGhlbiAnY3V0IGF3YXkNCiAgICAgICAgIEZpbHRlclZhbHVlMiA9IE1pZChG +aWx0ZXJWYWx1ZTIsIDMpDQogICAgICBFbHNlSWYgRmlsdGVyVmFsdWUyIExpa2Ug +IjwqIiBUaGVuDQogICAgICAgICBGaWx0ZXJWYWx1ZTIgPSBNaWQoRmlsdGVyVmFs +dWUyLCAyKQ0KICAgICAgICAgQ3JpdGVyaWExID0gQnVpbGRDcml0ZXJpYShGaWVs +ZE5hbWUsIEZpZWxkRGF0YVR5cGUsIFNRTF9HcmVhdGVyVGhhbiArIFNRTF9FcXVh +bCwgRmlsdGVyVmFsdWUsICwgTnVsbCwgRmFsc2UpDQogICAgICAgICBDcml0ZXJp +YTIgPSBCdWlsZENyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgU1FM +X0xlc3NUaGFuLCBGaWx0ZXJWYWx1ZTIsICwgTnVsbCwgRmFsc2UpDQogICAgICAg +ICBDcml0ZXJpYSA9IENyaXRlcmlhMSAmIFNxbEFuZENvbmNhdFN0cmluZyAmIENy +aXRlcmlhMg0KICAgICAgICAgVHJ5QnVpbGRCZXR3ZWVuQ3JpdGVyaWEgPSBUcnVl +DQogICAgICAgICBFeGl0IEZ1bmN0aW9uDQogICAgICBFbmQgSWYNCiAgIEVuZCBJ +Zg0KDQogICBJZiBJc051bGwoRmlsdGVyVmFsdWUyKSBPciBJc01pc3NpbmcoRmls +dGVyVmFsdWUyKSBPciBWYWx1ZXNBcmVFcXVhbChGaWVsZERhdGFUeXBlLCBGaWx0 +ZXJWYWx1ZTIsIElnbm9yZVZhbHVlKSBUaGVuDQogICAgICBSZWxhdGlvbmFsT3Bl +cmF0b3IgPSBTUUxfR3JlYXRlclRoYW4gKyBTUUxfRXF1YWwNCiAgIEVsc2VJZiBJ +c051bGwoRmlsdGVyVmFsdWUpIE9yIFZhbHVlc0FyZUVxdWFsKEZpZWxkRGF0YVR5 +cGUsIEZpbHRlclZhbHVlLCBJZ25vcmVWYWx1ZSkgVGhlbg0KICAgICAgUmVsYXRp +b25hbE9wZXJhdG9yID0gU1FMX0xlc3NUaGFuICsgU1FMX0VxdWFsDQogICAgICBG +aWx0ZXJWYWx1ZSA9IEZpbHRlclZhbHVlMg0KICAgICAgRmlsdGVyVmFsdWUyID0g +R2V0Q2hlY2tlZElnbm9yZVZhbHVlKElnbm9yZVZhbHVlKQ0KICAgRWxzZUlmIChG +aWVsZERhdGFUeXBlIEFuZCBTUUxfRGF0ZSkgPSBTUUxfRGF0ZSBBbmQgKFJlbGF0 +aW9uYWxPcGVyYXRvciBBbmQgU1FMX0FkZF9XaWxkQ2FyZFN1ZmZpeCkgVGhlbg0K +ICAgICAgQ3JpdGVyaWExID0gQnVpbGRDcml0ZXJpYShGaWVsZE5hbWUsIEZpZWxk +RGF0YVR5cGUsIFNRTF9HcmVhdGVyVGhhbiArIFNRTF9FcXVhbCwgRmlsdGVyVmFs +dWUsICwgTnVsbCwgRmFsc2UpDQogICAgICBDcml0ZXJpYTIgPSBCdWlsZENyaXRl +cmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgU1FMX0xlc3NUaGFuICsgU1FM +X0VxdWFsICsgU1FMX0FkZF9XaWxkQ2FyZFN1ZmZpeCwgRmlsdGVyVmFsdWUyLCAs +IE51bGwsIEZhbHNlKQ0KICAgICAgQ3JpdGVyaWEgPSBDcml0ZXJpYTEgJiBTcWxB +bmRDb25jYXRTdHJpbmcgJiBDcml0ZXJpYTINCiAgICAgIFRyeUJ1aWxkQmV0d2Vl +bkNyaXRlcmlhID0gVHJ1ZQ0KICAgICAgRXhpdCBGdW5jdGlvbg0KICAgRWxzZUlm +IChGaWVsZERhdGFUeXBlIEFuZCBTUUxfTnVtZXJpYykgPSBTUUxfTnVtZXJpYyBB +bmQgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX0FkZF9XaWxkQ2FyZFN1ZmZp +eCkgVGhlbg0KICAgICAgQ3JpdGVyaWExID0gQnVpbGRDcml0ZXJpYShGaWVsZE5h +bWUsIEZpZWxkRGF0YVR5cGUsIFNRTF9HcmVhdGVyVGhhbiArIFNRTF9FcXVhbCwg +RmlsdGVyVmFsdWUsICwgTnVsbCwgRmFsc2UpDQogICAgICBDcml0ZXJpYTIgPSBC +dWlsZENyaXRlcmlhKEZpZWxkTmFtZSwgRmllbGREYXRhVHlwZSwgU1FMX0xlc3NU +aGFuICsgU1FMX0VxdWFsICsgU1FMX0FkZF9XaWxkQ2FyZFN1ZmZpeCwgRmlsdGVy +VmFsdWUyLCAsIE51bGwsIEZhbHNlKQ0KICAgICAgQ3JpdGVyaWEgPSBDcml0ZXJp +YTEgJiBTcWxBbmRDb25jYXRTdHJpbmcgJiBDcml0ZXJpYTINCiAgICAgIFRyeUJ1 +aWxkQmV0d2VlbkNyaXRlcmlhID0gVHJ1ZQ0KICAgICAgRXhpdCBGdW5jdGlvbg0K +ICAgRWxzZQ0KICAgICAgQ3JpdGVyaWEgPSBGaWVsZE5hbWUgJiAiIEJldHdlZW4g +IiAmIENvbnZlcnRUb1NxbFRleHQoRmlsdGVyVmFsdWUsIEZpZWxkRGF0YVR5cGUp +ICYgU3FsQW5kQ29uY2F0U3RyaW5nICYgQ29udmVydFRvU3FsVGV4dChGaWx0ZXJW +YWx1ZTIsIEZpZWxkRGF0YVR5cGUpDQogICAgICBUcnlCdWlsZEJldHdlZW5Dcml0 +ZXJpYSA9IFRydWUNCiAgICAgIEV4aXQgRnVuY3Rpb24NCiAgIEVuZCBJZg0KDQpF +bmQgRnVuY3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBHZXRDaGVja2VkSWdub3Jl +VmFsdWUoQnlWYWwgSWdub3JlVmFsdWUgQXMgVmFyaWFudCkgQXMgVmFyaWFudA0K +ICAgSWYgSXNBcnJheShJZ25vcmVWYWx1ZSkgVGhlbg0KICAgICAgR2V0Q2hlY2tl +ZElnbm9yZVZhbHVlID0gSWdub3JlVmFsdWUoTEJvdW5kKElnbm9yZVZhbHVlKSkN +CiAgIEVsc2UNCiAgICAgIEdldENoZWNrZWRJZ25vcmVWYWx1ZSA9IElnbm9yZVZh +bHVlDQogICBFbmQgSWYNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0aW9u +IE51bGxGaWx0ZXJPckVtcHR5RmlsdGVyKEJ5VmFsIEZpZWxkTmFtZSBBcyBTdHJp +bmcsIEJ5VmFsIEZpZWxkRGF0YVR5cGUgQXMgU3FsRmllbGREYXRhVHlwZSwgXw0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBS +ZWxhdGlvbmFsT3BlcmF0b3IgQXMgU3FsUmVsYXRpb25hbE9wZXJhdG9ycywgXw0K +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeVZhbCBW +YWx1ZSBBcyBWYXJpYW50LCBCeVZhbCBJZ25vcmVWYWx1ZSBBcyBWYXJpYW50LCBf +DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5UmVm +IE51bGxGaWx0ZXJTdHJpbmcgQXMgU3RyaW5nLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIE9wdGlvbmFsIEJ5VmFsIERpc2FibGVJZ25vcmVOdWxs +VmFsdWUgQXMgQm9vbGVhbiA9IEZhbHNlKSBBcyBCb29sZWFuDQogICANCiAgIElm +IElzT2JqZWN0KElnbm9yZVZhbHVlKSBUaGVuDQogICBJZiBJZ25vcmVWYWx1ZSBJ +cyBOb3RoaW5nIFRoZW4NCiAgICAgIElmIElzTnVsbChWYWx1ZSkgVGhlbg0KICAg +ICAgICAgSWYgKFJlbGF0aW9uYWxPcGVyYXRvciBBbmQgU1FMX05vdCkgPSBTUUxf +Tm90IFRoZW4NCiAgICAgICAgICAgIE51bGxGaWx0ZXJTdHJpbmcgPSBGaWVsZE5h +bWUgJiAiIElzIE5vdCBOdWxsIg0KICAgICAgICAgRWxzZQ0KICAgICAgICAgICAg +TnVsbEZpbHRlclN0cmluZyA9IEZpZWxkTmFtZSAmICIgSXMgTnVsbCINCiAgICAg +ICAgIEVuZCBJZg0KICAgICAgICAgTnVsbEZpbHRlck9yRW1wdHlGaWx0ZXIgPSBU +cnVlDQogICAgICBFbHNlDQogICAgICAgICBOdWxsRmlsdGVyT3JFbXB0eUZpbHRl +ciA9IEZhbHNlDQogICAgICBFbmQgSWYNCiAgICAgIEV4aXQgRnVuY3Rpb24NCiAg +IEVuZCBJZg0KICAgRW5kIElmDQogICANCiAgIElmIElzTnVsbChWYWx1ZSkgVGhl +bg0KICAgICAgSWYgRGlzYWJsZUlnbm9yZU51bGxWYWx1ZSBUaGVuDQogICAgICAg +ICBOdWxsRmlsdGVyU3RyaW5nID0gRmllbGROYW1lICYgIiBJcyBOdWxsIg0KICAg +ICAgRWxzZUlmIE5vdCBWYWx1ZXNBcmVFcXVhbChGaWVsZERhdGFUeXBlLCBWYWx1 +ZSwgSWdub3JlVmFsdWUpIFRoZW4NCiAgICAgICAgIE51bGxGaWx0ZXJTdHJpbmcg +PSBGaWVsZE5hbWUgJiAiIElzIE51bGwiDQogICAgICBFbmQgSWYNCiAgICAgIE51 +bGxGaWx0ZXJPckVtcHR5RmlsdGVyID0gVHJ1ZQ0KICAgRWxzZUlmIElzQXJyYXko +VmFsdWUpIFRoZW4NCiAgICAgIERpbSBDaGVja0FycmF5KCkgQXMgVmFyaWFudA0K +T24gRXJyb3IgUmVzdW1lIE5leHQNCiAgICAgIENoZWNrQXJyYXkgPSBWYWx1ZQ0K +ICAgICAgSWYgRXJyLk51bWJlciA9IDAgVGhlbg0KICAgICAgSWYgKDAgLyAxKSAr +IChOb3QgTm90IENoZWNrQXJyYXkpID0gMCBUaGVuDQogICAgICAgICBOdWxsRmls +dGVyT3JFbXB0eUZpbHRlciA9IFRydWUNCiAgICAgICAgIEV4aXQgRnVuY3Rpb24N +CiAgICAgIEVuZCBJZg0KICAgICAgRWxzZQ0KICAgICAgICAgRXJyLkNsZWFyDQog +ICAgICAgICBEaW0gQXJyYXlTaXplIEFzIExvbmcNCiAgICAgICAgIEFycmF5U2l6 +ZSA9IFVCb3VuZChWYWx1ZSkNCiAgICAgICAgIElmIEVyci5OdW1iZXIgPD4gMCBU +aGVuDQogICAgICAgICAgICBFcnIuQ2xlYXINCiAgICAgICAgICAgIE51bGxGaWx0 +ZXJPckVtcHR5RmlsdGVyID0gVHJ1ZQ0KICAgICAgICAgICAgRXhpdCBGdW5jdGlv +bg0KICAgICAgICAgRW5kIElmDQogICAgICBFbmQgSWYNCiAgIEVsc2UNCiAgICAg +IE51bGxGaWx0ZXJPckVtcHR5RmlsdGVyID0gVmFsdWVzQXJlRXF1YWwoRmllbGRE +YXRhVHlwZSwgVmFsdWUsIElnbm9yZVZhbHVlKQ0KICAgRW5kIElmDQogICANCiAg +IElmIChSZWxhdGlvbmFsT3BlcmF0b3IgQW5kIFNRTF9Ob3QpID0gU1FMX05vdCBU +aGVuDQogICAgICAgICBOdWxsRmlsdGVyU3RyaW5nID0gUmVwbGFjZShOdWxsRmls +dGVyU3RyaW5nLCAiSXMgTnVsbCIsICJJcyBOb3QgTnVsbCIpDQogICBFbmQgSWYN +Cg0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gVmFsdWVzQXJlRXF1 +YWwoQnlWYWwgRmllbGREYXRhVHlwZSBBcyBTcWxGaWVsZERhdGFUeXBlLCBCeVZh +bCBWYWx1ZSBBcyBWYXJpYW50LCBCeVZhbCBWYWx1ZTIgQXMgVmFyaWFudCkgQXMg +Qm9vbGVhbg0KICAgDQogICBJZiBJc0FycmF5KFZhbHVlMikgVGhlbg0KICAgICAg +VmFsdWVzQXJlRXF1YWwgPSBBcnJheUNvbnRhaW5zKEZpZWxkRGF0YVR5cGUsIFZh +bHVlMiwgVmFsdWUpDQogICBFbHNlSWYgSXNOdWxsKFZhbHVlKSBUaGVuDQogICAg +ICBWYWx1ZXNBcmVFcXVhbCA9IElzTnVsbChWYWx1ZTIpDQogICBFbHNlSWYgSXNO +dWxsKFZhbHVlMikgVGhlbg0KICAgICAgVmFsdWVzQXJlRXF1YWwgPSBGYWxzZQ0K +ICAgRWxzZQ0KICAgICAgU2VsZWN0IENhc2UgRmllbGREYXRhVHlwZQ0KICAgICAg +ICAgQ2FzZSBTcWxGaWVsZERhdGFUeXBlLlNRTF9UZXh0DQogICAgICAgICAgICBW +YWx1ZXNBcmVFcXVhbCA9IChWQkEuU3RyQ29tcChWYWx1ZSwgVmFsdWUyLCB2YlRl +eHRDb21wYXJlKSA9IDApDQogICAgICAgICBDYXNlIFNxbEZpZWxkRGF0YVR5cGUu +U1FMX051bWVyaWMNCiAgICAgICAgICAgIFZhbHVlc0FyZUVxdWFsID0gKENEYmwo +VmFsdWUpID0gQ0RibChWYWx1ZTIpKQ0KICAgICAgICAgQ2FzZSBTcWxGaWVsZERh +dGFUeXBlLlNRTF9EYXRlDQogICAgICAgICAgICBWYWx1ZXNBcmVFcXVhbCA9IChD +RGF0ZShWYWx1ZSkgPSBDRGF0ZShWYWx1ZTIpKQ0KICAgICAgICAgQ2FzZSBTcWxG +aWVsZERhdGFUeXBlLlNRTF9Cb29sZWFuDQogICAgICAgICAgICBWYWx1ZXNBcmVF +cXVhbCA9IChDQm9vbChWYWx1ZSkgPSBDQm9vbChWYWx1ZTIpKQ0KICAgICAgICAg +Q2FzZSBFbHNlDQogICAgICAgICAgICBWYWx1ZXNBcmVFcXVhbCA9IChWYWx1ZSA9 +IFZhbHVlMikNCiAgICAgIEVuZCBTZWxlY3QNCiAgIEVuZCBJZg0KDQpFbmQgRnVu +Y3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBBcnJheUNvbnRhaW5zKEJ5VmFsIEZp +ZWxkRGF0YVR5cGUgQXMgU3FsRmllbGREYXRhVHlwZSwgQnlWYWwgQXJyYXlUb0No +ZWNrIEFzIFZhcmlhbnQsIEJ5VmFsIFNlYXJjaFZhbHVlIEFzIFZhcmlhbnQpIEFz +IEJvb2xlYW4NCiAgIA0KICAgRGltIGkgQXMgTG9uZw0KDQogICBJZiBJc051bGwo +U2VhcmNoVmFsdWUpIFRoZW4NCiAgICAgIEFycmF5Q29udGFpbnMgPSBBcnJheUNv +bnRhaW5zTnVsbChBcnJheVRvQ2hlY2spDQogICAgICBFeGl0IEZ1bmN0aW9uDQog +ICBFbmQgSWYNCg0KICAgRm9yIGkgPSBMQm91bmQoQXJyYXlUb0NoZWNrKSBUbyBV +Qm91bmQoQXJyYXlUb0NoZWNrKQ0KICAgICAgSWYgVmFsdWVzQXJlRXF1YWwoRmll +bGREYXRhVHlwZSwgQXJyYXlUb0NoZWNrKGkpLCBTZWFyY2hWYWx1ZSkgVGhlbg0K +ICAgICAgICAgQXJyYXlDb250YWlucyA9IFRydWUNCiAgICAgICAgIEV4aXQgRnVu +Y3Rpb24NCiAgICAgIEVuZCBJZg0KICAgTmV4dA0KDQogICBBcnJheUNvbnRhaW5z +ID0gRmFsc2UNCg0KRW5kIEZ1bmN0aW9uDQoNClByaXZhdGUgRnVuY3Rpb24gQXJy +YXlDb250YWluc051bGwoQnlWYWwgQXJyYXlUb0NoZWNrIEFzIFZhcmlhbnQpIEFz +IEJvb2xlYW4NCiAgIA0KICAgRGltIGkgQXMgTG9uZw0KDQogICBGb3IgaSA9IExC +b3VuZChBcnJheVRvQ2hlY2spIFRvIFVCb3VuZChBcnJheVRvQ2hlY2spDQogICAg +ICBJZiBJc051bGwoQXJyYXlUb0NoZWNrKGkpKSBUaGVuDQogICAgICAgICBBcnJh +eUNvbnRhaW5zTnVsbCA9IFRydWUNCiAgICAgICAgIEV4aXQgRnVuY3Rpb24NCiAg +ICAgIEVuZCBJZg0KICAgTmV4dA0KDQogICBBcnJheUNvbnRhaW5zTnVsbCA9IEZh +bHNlDQoNCkVuZCBGdW5jdGlvbg0KDQpQcml2YXRlIEZ1bmN0aW9uIEdldFZhbHVl +QXJyYXlTdHJpbmcoQnlWYWwgVmFsdWUgQXMgVmFyaWFudCwgQnlWYWwgRmllbGRE +YXRhVHlwZSBBcyBTcWxGaWVsZERhdGFUeXBlLCBfDQogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgQnlWYWwgRGVsaW1pdGVyIEFzIFN0cmluZywg +QnlWYWwgSWdub3JlVmFsdWUgQXMgVmFyaWFudCkgQXMgU3RyaW5nDQogICANCiAg +IERpbSBpIEFzIExvbmcNCiAgIERpbSBzIEFzIFN0cmluZw0KDQogICBGb3IgaSA9 +IExCb3VuZChWYWx1ZSkgVG8gVUJvdW5kKFZhbHVlKQ0KICAgICAgSWYgSXNBcnJh +eShJZ25vcmVWYWx1ZSkgVGhlbg0KICAgICAgICAgSWYgQXJyYXlDb250YWlucyhG +aWVsZERhdGFUeXBlLCBJZ25vcmVWYWx1ZSwgVmFsdWUoaSkpIFRoZW4NCiAgICAg +ICAgIEVsc2UNCiAgICAgICAgICAgIHMgPSBzICYgRGVsaW1pdGVyICYgQ29udmVy +dFRvU3FsVGV4dChWYWx1ZShpKSwgRmllbGREYXRhVHlwZSkNCiAgICAgICAgIEVu +ZCBJZg0KICAgICAgRWxzZQ0KICAgICAgICAgSWYgVmFsdWUoaSkgPSBJZ25vcmVW +YWx1ZSBUaGVuDQogICAgICAgICBFbHNlSWYgSXNOdWxsKFZhbHVlKGkpKSBBbmQg +SXNOdWxsKElnbm9yZVZhbHVlKSBUaGVuDQogICAgICAgICBFbHNlDQogICAgICAg +ICAgICBzID0gcyAmIERlbGltaXRlciAmIENvbnZlcnRUb1NxbFRleHQoVmFsdWUo +aSksIEZpZWxkRGF0YVR5cGUpDQogICAgICAgICBFbmQgSWYNCiAgICAgIEVuZCBJ +Zg0KICAgTmV4dA0KICAgSWYgTGVuKHMpID4gMCBBbmQgTGVuKERlbGltaXRlcikg +PiAwIFRoZW4NCiAgICAgIHMgPSBNaWQocywgTGVuKERlbGltaXRlcikgKyAxKQ0K +ICAgRW5kIElmDQogICBHZXRWYWx1ZUFycmF5U3RyaW5nID0gcw0KDQpFbmQgRnVu +Y3Rpb24NCg0KUHJpdmF0ZSBGdW5jdGlvbiBSZW1vdmVOdWxsRnJvbUluVmFsdWVT +dHJpbmcoQnlSZWYgVmFsdWVTdHJpbmcgQXMgU3RyaW5nKSBBcyBCb29sZWFuDQoN +CiAgIENvbnN0IE51bGxDaGVja1N0cmluZyBBcyBTdHJpbmcgPSAiLE51bGwsIg0K +ICAgRGltIFRlc3RTdHJpbmcgQXMgU3RyaW5nDQogICANCiAgIFRlc3RTdHJpbmcg +PSAiLCIgJiBWYWx1ZVN0cmluZyAmICIsIg0KDQogICBJZiBOb3QgKEluU3RyKDEs +IFRlc3RTdHJpbmcsIE51bGxDaGVja1N0cmluZykgPiAwKSBUaGVuDQogICAgICBS +ZW1vdmVOdWxsRnJvbUluVmFsdWVTdHJpbmcgPSBGYWxzZQ0KICAgICAgRXhpdCBG +dW5jdGlvbg0KICAgRW5kIElmDQogICANCiAgIFRlc3RTdHJpbmcgPSBSZXBsYWNl +KFRlc3RTdHJpbmcsIE51bGxDaGVja1N0cmluZywgIiwiKQ0KICAgDQogICBJZiBM +ZW4oVGVzdFN0cmluZykgPiAxIFRoZW4NCiAgICAgIFZhbHVlU3RyaW5nID0gTWlk +KFRlc3RTdHJpbmcsIDIsIExlbihUZXN0U3RyaW5nKSAtIDIpDQogICBFbHNlDQog +ICAgICBWYWx1ZVN0cmluZyA9IHZiTnVsbFN0cmluZw0KICAgRW5kIElmDQogICAN +CiAgIFJlbW92ZU51bGxGcm9tSW5WYWx1ZVN0cmluZyA9IFRydWUNCg0KRW5kIEZ1 +bmN0aW9uDQo= + + 20231011081056 + data/SqlTools.cls + + + defDbConnection + QXR0cmlidXRlIFZCX05hbWUgPSAiZGVmRGJDb25uZWN0aW9uIg0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQYWNrYWdlOiBkYXRh +LmRlZkRiQ29ubmVjdGlvbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KJyBTZXQgb2YgZ2xvYmFsIHR5cGVzLCBlbnVtcyBldGMu +IGZvciB0aGUgRGJDb25uZWN0aW9uIGNsYXNzZXMNCicNCictLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJzxjb2RlbGliPg0KJyAgPGZpbGU+ZGF0 +YS9kZWZEYkNvbm5lY3Rpb24uYmFzPC9maWxlPg0KJyAgPGxpY2Vuc2U+X2NvZGVs +aWIvbGljZW5zZS5iYXM8L2xpY2Vuc2U+DQonPC9jb2RlbGliPg0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KT3B0aW9uIENvbXBh +cmUgRGF0YWJhc2UNCk9wdGlvbiBFeHBsaWNpdA0KDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEdyb3VwOiBUeXBlcw0KJw0KDQon +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIFR5cGU6 +IERibXNDb25uZWN0aW9uU3RyaW5ncw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBUeXBlIGZvciB0aGUgc2ltdWx0YW5lb3Vz +IHRyYW5zZmVyIG9mIHRoZSBjb25uZWN0aW9uIHN0cmluZ3MNCicNCicgICAgIE9s +ZWRiQ29ubmVjdGlvblN0cmluZyAgIC0gT0xFREIgY29ubmVjdGlvbnN0cmluZyBm +b3IgQURPREIgY29ubmVjdGlvbg0KJyAgICAgT2RiY0Nvbm5lY3Rpb25TdHJpbmcg +ICAgLSBPREJDIGNvbm5lY3Rpb25zdHJpbmcgZm9yIERBTyBjb25uZWN0aW9uDQon +ICAgICBEYXRhYmFzZUZpbGUgICAgICAgICAgICAtIERhdGFiYXNlIGZpbGUgbmFt +ZSBpbmNsLiBwYXRoIGlmIGEgZmlsZSBiYWNrZW5kIGlzIHVzZWQNCicNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBUeXBl +IERibXNDb25uZWN0aW9uU3RyaW5ncw0KICAgT2xlZGJDb25uZWN0aW9uU3RyaW5n +IEFzIFN0cmluZw0KICAgT2RiY0Nvbm5lY3Rpb25TdHJpbmcgQXMgU3RyaW5nDQog +ICBEYXRhYmFzZUZpbGUgQXMgU3RyaW5nDQpFbmQgVHlwZQ0KDQoNCictLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgR3JvdXA6IEVudW1z +DQonDQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N +CicgRW51bTogRGJtc0Nvbm5lY3Rpb25Nb2Rlcw0KJy0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyAgICAgRE1CU19EU05sZXNzICAg +LSAoMSkgICAgd2l0aG91dCBEU04NCicgICAgIERNQlNfRFNOICAgICAgIC0gKDIp +ICAgIHdpdGggRFNODQonICAgICBEQk1TX1VTRVJERUYgICAtICgxMjgpICBVc2Vy +LWRlZmluZWQgY29ubmVjdGlvbiBzdHJpbmdzDQonDQonLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQdWJsaWMgRW51bSBEYm1zQ29ubmVj +dGlvbk1vZGVzDQogICBETUJTX0RTTmxlc3MgPSAxICAgJ29obmUgRFNODQogICBE +TUJTX0RTTiA9IDIgICAgICAgJ21pdCBEU04NCiAgIERCTVNfVVNFUkRFRiA9IDEy +OCAnYmVudXR6ZXJkZWZpbmllcnRlIENvbm5lY3Rpb25zdHJpbmdzDQpFbmQgRW51 +bQ0K + + 20231011081056 + data/defDbConnection.bas + + + modDbConnection + QXR0cmlidXRlIFZCX05hbWUgPSAibW9kRGJDb25uZWN0aW9uIg0KJy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQYWNrYWdlOiBkYXRh +Lm1vZERiQ29ubmVjdGlvbg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQ0KJw0KJyBDb2xsZWN0aW9uIG9mIHByb2NlZHVyZXMgZm9yIHRo +ZSBEYkNvbm5lY3Rpb25NYW5hZ2VyIGNsYXNzDQonDQonIEF1dGhvcjoNCicgICAg +IEpvc2VmIFBvZXR6bA0KJw0KJyBSZW1hcmtzOg0KJyAgICAgVXNlZCB0byBpbnN0 +YW50aWF0ZSBEYkNvbm5lY3Rpb25NYW5hZ2VyIGFuZCBhY2Nlc3MgdGhlIG1haW4g +ZWxlbWVudHMgb2YgRGJDb25uZWN0aW9uTWFuYWdlci4NCicNCictLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJzxjb2RlbGliPg0KJyAgPGZpbGU+ +ZGF0YS9tb2REYkNvbm5lY3Rpb24uYmFzPC9maWxlPg0KJyAgPGxpY2Vuc2U+X2Nv +ZGVsaWIvbGljZW5zZS5iYXM8L2xpY2Vuc2U+DQonICA8dXNlPmRhdGEvRGJDb25u +ZWN0aW9uTWFuYWdlci5jbHM8L3VzZT4NCic8L2NvZGVsaWI+DQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonDQpPcHRpb24gQ29tcGFy +ZSBUZXh0DQpPcHRpb24gRXhwbGljaXQNCk9wdGlvbiBQcml2YXRlIE1vZHVsZQ0K +DQpQcml2YXRlIG1fRGJDb25uZWN0aW9uTWFuYWdlciBBcyBEYkNvbm5lY3Rpb25N +YW5hZ2VyICcgSGF1cHRzdGV1ZXJ1bmcNCg0KJyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIw0KJyBHcm91cDogRmFjdG9yaWVzDQoNCictLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicgUHJvcGVydHk6 +IERiQ29uDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +DQonDQonIEFjY2VzcyB0byBEYkNvbm5lY3Rpb24gb2YgdGhlIG1haW4gRGJDb25u +ZWN0aW9uTWFuYWdlciBpbnN0YW5jZQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgRGJD +b25uZWN0aW9uSGFuZGxlcg0KJw0KJyBSZW1hcmtzOg0KJyAgICAgU2ltcGxpZmll +cyB0aGUgY2FsbCwgYXMgdGhlIHdyaXRpbmcgb2YgdGhlIERiQ29ubmVjdGlvbk1h +bmFnZXIgaW5zdGFuY2UgdmFyaWFibGVzIGlzIG9taXR0ZWQuDQonICAgICBUaGUg +Zmlyc3QgYWNjZXNzIGNyZWF0ZXMgdGhlIGluc3RhbmNlIG9mIHRoZSBEYkNvbm5l +Y3Rpb25NYW5hZ2VyIGNsYXNzIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3Qu +DQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQ +dWJsaWMgUHJvcGVydHkgR2V0IERiQ29uKCkgQXMgRGJDb25uZWN0aW9uSGFuZGxl +cg0KDQogICBJZiBtX0RiQ29ubmVjdGlvbk1hbmFnZXIgSXMgTm90aGluZyBUaGVu +DQogICAgICBTZXQgbV9EYkNvbm5lY3Rpb25NYW5hZ2VyID0gTmV3IERiQ29ubmVj +dGlvbk1hbmFnZXINCiAgIEVuZCBJZg0KICAgU2V0IERiQ29uID0gbV9EYkNvbm5l +Y3Rpb25NYW5hZ2VyLkRiQ29ubmVjdGlvbg0KDQpFbmQgUHJvcGVydHkNCg0KJy0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJyBQcm9wZXJ0 +eTogQ3VycmVudENvbm5lY3Rpb25JbmZvDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonDQonIEFjY2VzcyB0byBEYkNvbm5lY3Rpb25J +bmZvIG9mIHRoZSBtYWluIERiQ29ubmVjdGlvbk1hbmFnZXIgaW5zdGFuY2UNCicN +CicgUmV0dXJuczoNCicgICAgIDxkYXRhLkRiQ29ubmVjdGlvbkluZm8+DQonDQon +IFJlbWFya3M6DQonICAgICBTaW1wbGlmaWVzIHRoZSBjYWxsLCBhcyB0aGUgd3Jp +dGluZyBvZiB0aGUgRGJDb25uZWN0aW9uTWFuYWdlciBpbnN0YW5jZSB2YXJpYWJs +ZXMgaXMgb21pdHRlZC4NCicgICAgIFRoZSBmaXJzdCBhY2Nlc3MgY3JlYXRlcyB0 +aGUgaW5zdGFuY2Ugb2YgdGhlIERiQ29ubmVjdGlvbk1hbmFnZXIgY2xhc3MgaWYg +aXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4NCicNCictLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClB1YmxpYyBQcm9wZXJ0eSBHZXQgQ3Vy +cmVudENvbm5lY3Rpb25JbmZvKCkgQXMgRGJDb25uZWN0aW9uSW5mbw0KDQogICBJ +ZiBtX0RiQ29ubmVjdGlvbk1hbmFnZXIgSXMgTm90aGluZyBUaGVuDQogICAgICBT +ZXQgbV9EYkNvbm5lY3Rpb25NYW5hZ2VyID0gTmV3IERiQ29ubmVjdGlvbk1hbmFn +ZXINCiAgIEVuZCBJZg0KICAgU2V0IEN1cnJlbnRDb25uZWN0aW9uSW5mbyA9IG1f +RGJDb25uZWN0aW9uTWFuYWdlci5Db25uZWN0aW9uSW5mbw0KDQpFbmQgUHJvcGVy +dHkNCg0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K +JyBQcm9wZXJ0eTogRGJDb25uZWN0aW9uTWFuYWdlcg0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBBY2Nlc3MgdG8gRGJDb25u +ZWN0aW9uTWFuYWdlciBpbnN0YW5jZQ0KJw0KJyBSZXR1cm5zOg0KJyAgICAgRGJD +b25uZWN0aW9uTWFuYWdlcg0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQ0KUHVibGljIFByb3BlcnR5IEdldCBEYkNvbm5lY3Rpb25N +YW5hZ2VyKCkgQXMgRGJDb25uZWN0aW9uTWFuYWdlcg0KDQogICBJZiBtX0RiQ29u +bmVjdGlvbk1hbmFnZXIgSXMgTm90aGluZyBUaGVuDQogICAgICBTZXQgbV9EYkNv +bm5lY3Rpb25NYW5hZ2VyID0gTmV3IERiQ29ubmVjdGlvbk1hbmFnZXINCiAgIEVu +ZCBJZg0KICAgU2V0IERiQ29ubmVjdGlvbk1hbmFnZXIgPSBtX0RiQ29ubmVjdGlv +bk1hbmFnZXINCg0KRW5kIFByb3BlcnR5DQoNCicjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMNCicgR3JvdXA6IEdsb2JhbCBQcm9jZWR1cmVz +DQoNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCicg +RnVuY3Rpb246IENoZWNrQ29ubmVjdGlvblN0YXR1cw0KJy0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBWZXJiaW5kdW5nIHBy/GZl +biAoY2FsbCA8ZGF0YS5EYkNvbm5lY3Rpb25NYW5hZ2VyLkNoZWNrQ29ubmVjdGlv +blN0YXR1cz4pDQonDQonIFJldHVybjoNCicgICAgIEJvb2xlYW4gLSBUcnVlIGlm +IHN1Y2Nlc3MNCicNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0NClB1YmxpYyBGdW5jdGlvbiBDaGVja0Nvbm5lY3Rpb25TdGF0dXMoKSBB +cyBCb29sZWFuDQoNCiAgIElmIG1fRGJDb25uZWN0aW9uTWFuYWdlciBJcyBOb3Ro +aW5nIFRoZW4NCiAgICAgIFNldCBtX0RiQ29ubmVjdGlvbk1hbmFnZXIgPSBOZXcg +RGJDb25uZWN0aW9uTWFuYWdlcg0KICAgRW5kIElmDQogICBDaGVja0Nvbm5lY3Rp +b25TdGF0dXMgPSBtX0RiQ29ubmVjdGlvbk1hbmFnZXIuQ2hlY2tDb25uZWN0aW9u +U3RhdHVzDQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tDQonIFN1YjogRGlzcG9zZURiQ29ubmVjdGlvbg0K +Jy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJw0KJyBE +aXNwb3NlIERiQ29ubmVjdGlvbiBvYmplY3RzIChpbmNsLiBEYkNvbm5lY3Rpb25N +YW5hZ2VyKQ0KJw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KUHVibGljIFN1YiBEaXNwb3NlRGJDb25uZWN0aW9uKCkNCg0KT24gRXJy +b3IgUmVzdW1lIE5leHQNCg0KICAgSWYgTm90IChtX0RiQ29ubmVjdGlvbk1hbmFn +ZXIgSXMgTm90aGluZykgVGhlbg0KICAgICAgbV9EYkNvbm5lY3Rpb25NYW5hZ2Vy +LkRpc3Bvc2UNCiAgIEVuZCBJZg0KICAgU2V0IG1fRGJDb25uZWN0aW9uTWFuYWdl +ciA9IE5vdGhpbmcNCiAgIA0KRW5kIFN1Yg0KDQonIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIw0KJw0KJyBTdXBwb3J0IGZ1bmN0aW9ucw0KDQonLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBUYWJs +ZURlZkV4aXN0cw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQ0KJw0KJyBDaGVjayBpZiBUYWJsZURlZiBleGlzdHMNCicNCicgUGFyYW1l +dGVyczoNCicgICAgIFRhYmxlRGVmTmFtZSAgIC0gKFN0cmluZykgVGFibGVEZWYg +bmFtZQ0KJyAgICAgZGIgICAgICAgICAgICAgLSAoREFPLkRhdGFiYXNlKSBEYXRh +YmFzZSB0byB1c2UgKG9wdGlvbmFsOiBpZiBub3RoaW5nIEN1cnJlbnREYiB3aWxs +IGJlIHVzZWQpDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gVGFibGVEZWZFeGlzdHMoQnlWYWwgVGFi +bGVEZWZOYW1lIEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAgIE9w +dGlvbmFsIEJ5VmFsIGRiIEFzIERBTy5EYXRhYmFzZSA9IE5vdGhpbmcpIEFzIEJv +b2xlYW4NCidTY2huZWxsZXIgd+RyZSBkZXIgWnVncmlmZiBhdWYgTVN5c09iamVj +dCAoc2VsZWN0IC4uIGZyb20gTVN5c09iamVjdCB3aGVyZSBOYW1lID0gJ1RhYmVs +bGVubmFtZScgQU5EIFR5cGUgSU4gKDEsIDQsIDYpDQonRWluZSB3ZWl0ZXJlIEFs +dGVybmF0aXZlIHfkcmUgZGFzIEF1c3dlcnRlbiD8YmVyIGNubi5PcGVuU2NoZW1h +KGFkU2NoZW1hVGFibGVzLCAuLi4pIC4uLiBkYW5uIHdlcmRlbiBhbGxlcmRpbmdz +IGtlaW5lIHZlcmtu/HBmdGVuIFRhYmVsbGVuIGdlcHL8ZnQNCiAgIA0KICAgRGlt +IHRkZiBBcyBEQU8uVGFibGVEZWYNCg0KICAgSWYgZGIgSXMgTm90aGluZyBUaGVu +DQogICAgICBTZXQgZGIgPSBDdXJyZW50RGINCiAgIEVuZCBJZg0KICAgDQogICBk +Yi5UYWJsZURlZnMuUmVmcmVzaA0KICAgRm9yIEVhY2ggdGRmIEluIGRiLlRhYmxl +RGVmcw0KICAgICAgSWYgdGRmLk5hbWUgPSBUYWJsZURlZk5hbWUgVGhlbg0KICAg +ICAgICAgVGFibGVEZWZFeGlzdHMgPSBUcnVlDQogICAgICAgICBFeGl0IEZvcg0K +ICAgICAgRW5kIElmDQogICBOZXh0DQoNCkVuZCBGdW5jdGlvbg0KDQonLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQonIEZ1bmN0aW9uOiBR +dWVyeURlZkV4aXN0cw0KJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQ0KJw0KJyBDaGVjayBpZiBRdWVyeURlZiBleGlzdHMNCicNCicgUGFy +YW1ldGVyczoNCicgICAgIFF1ZXJ5RGVmTmFtZSAgIC0gKFN0cmluZykgUXVlcnlE +ZWYgbmFtZQ0KJyAgICAgZGIgICAgICAgICAgICAgLSAoREFPLkRhdGFiYXNlKSBE +YXRhYmFzZSB0byB1c2UgKG9wdGlvbmFsOiBpZiBub3RoaW5nIEN1cnJlbnREYiB3 +aWxsIGJlIHVzZWQpDQonDQonLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tDQpQdWJsaWMgRnVuY3Rpb24gUXVlcnlEZWZFeGlzdHMoQnlWYWwg +UXVlcnlEZWZOYW1lIEFzIFN0cmluZywgXw0KICAgICAgICAgICAgICAgICAgICAg +IE9wdGlvbmFsIEJ5VmFsIGRiIEFzIERBTy5EYXRhYmFzZSA9IE5vdGhpbmcpIEFz +IEJvb2xlYW4NCiAgIA0KICAgRGltIHFkZiBBcyBEQU8uUXVlcnlEZWYNCg0KICAg +SWYgZGIgSXMgTm90aGluZyBUaGVuDQogICAgICBTZXQgZGIgPSBDdXJyZW50RGIN +CiAgIEVuZCBJZg0KICAgDQogICBkYi5RdWVyeURlZnMuUmVmcmVzaA0KICAgRm9y +IEVhY2ggcWRmIEluIGRiLlF1ZXJ5RGVmcw0KICAgICAgSWYgcWRmLk5hbWUgPSBR +dWVyeURlZk5hbWUgVGhlbg0KICAgICAgICAgUXVlcnlEZWZFeGlzdHMgPSBUcnVl +DQogICAgICAgICBFeGl0IEZvcg0KICAgICAgRW5kIElmDQogICBOZXh0DQoNCkVu +ZCBGdW5jdGlvbg0K + + 20231011081056 + data/modDbConnection.bas + + + diff --git a/source/tables/usys_DbmsConnection_X.xml b/source/tables/usys_DbmsConnection_X.xml new file mode 100644 index 0000000..d4dd1d7 --- /dev/null +++ b/source/tables/usys_DbmsConnection_X.xml @@ -0,0 +1,109 @@ + + + + MSJET + 1 + 4 + Microsoft.Jet.OLEDB.4.0 + 1 + 0 + 0 + 255 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + MSSQL + 1 + 1 + SQL Server + SQLOLEDB + 7 + 251 + 251 + 255 + 255 + 255 + 255 + 255 + 249 + 251 + 2 + 4 + 4 + 251 + 249 + + + MySQL + 1 + 2 + MySQL ODBC 5.1 Driver + 7 + 249 + 249 + 255 + 255 + 0 + 255 + 255 + 249 + 0 + 2 + 4 + 4 + 0 + 249 + + + ODBC + 1 + 255 + 7 + 251 + 251 + 255 + 255 + 255 + 255 + 255 + 249 + 0 + 3 + 4 + 4 + 0 + 249 + + + ORACLE + 1 + 3 + Microsoft ODBC for Oracle + OraOLEDB.Oracle + 7 + 251 + 251 + 255 + 255 + 255 + 255 + 255 + 249 + 251 + 2 + 4 + 4 + 251 + 249 + + diff --git a/source/tables/usys_DbmsConnection_X_Driver.xml b/source/tables/usys_DbmsConnection_X_Driver.xml new file mode 100644 index 0000000..bca4366 --- /dev/null +++ b/source/tables/usys_DbmsConnection_X_Driver.xml @@ -0,0 +1,87 @@ + + + + 1 + MSSQL + ODBC + SQL Server + + + 2 + MSSQL + OLEDB + SQLOLEDB + + + 3 + MySQL + ODBC + MySQL ODBC 5.1 Driver + + + 4 + ORACLE + ODBC + Microsoft ODBC for Oracle + + + 5 + ORACLE + OLEDB + OraOLEDB.Oracle + + + 6 + MySQL + ODBC + MySQL ODBC 3.51 Driver + + + 7 + MSSQL + ODBC + SQL Native Client + + + 8 + MSSQL + OLEDB + MSOLEDBSQL + + + 9 + MSSQL + ODBC + ODBC Driver 17 for SQL Server + + + 10 + MSSQL + OLEDB + SQLNCLI + + + 11 + MSJET + OLEDB + Microsoft.Jet.OLEDB.4.0 + + + 12 + MSJET + OLEDB + Microsoft.ACE.OLEDB.12.0 + + + 13 + MSSQL + ODBC + SQL Server Native Client 11.0 + + + 14 + MSSQL + OLEDB + SQLNCLI11 + + diff --git a/source/tbldefs/L10n_Dict.sql b/source/tbldefs/L10n_Dict.sql new file mode 100644 index 0000000..e9b8f9a --- /dev/null +++ b/source/tbldefs/L10n_Dict.sql @@ -0,0 +1,6 @@ +CREATE TABLE [L10n_Dict] ( + [LangCode] VARCHAR (2), + [KeyText] VARCHAR (255), + [LngText] VARCHAR (255), + CONSTRAINT [PK_L10n_Dict] PRIMARY KEY ([LangCode], [KeyText]) +) diff --git a/source/tbldefs/L10n_Dict.xml b/source/tbldefs/L10n_Dict.xml new file mode 100644 index 0000000..c8b24e5 --- /dev/null +++ b/source/tbldefs/L10n_Dict.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/USysRegInfo.json b/source/tbldefs/USysRegInfo.json new file mode 100644 index 0000000..de6bc30 --- /dev/null +++ b/source/tbldefs/USysRegInfo.json @@ -0,0 +1,9 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "USysRegInfo Metadata" + }, + "Items": { + "Hidden": true + } +} diff --git a/source/tbldefs/USysRegInfo.sql b/source/tbldefs/USysRegInfo.sql new file mode 100644 index 0000000..35e1b05 --- /dev/null +++ b/source/tbldefs/USysRegInfo.sql @@ -0,0 +1,6 @@ +CREATE TABLE [USysRegInfo] ( + [Subkey] VARCHAR (255), + [Type] LONG, + [ValName] VARCHAR (255), + [Value] VARCHAR (255) +) diff --git a/source/tbldefs/USysRegInfo.xml b/source/tbldefs/USysRegInfo.xml new file mode 100644 index 0000000..d405f10 --- /dev/null +++ b/source/tbldefs/USysRegInfo.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/tab1DS.json b/source/tbldefs/tab1DS.json new file mode 100644 index 0000000..94829a8 --- /dev/null +++ b/source/tbldefs/tab1DS.json @@ -0,0 +1,15 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "tab1DS Metadata" + }, + "Items": { + "Properties": { + "Description": { + "Type": 10, + "Value": "Tabelle mit einem DS (ist in Abfragen hilfeich)" + } + }, + "Hidden": true + } +} diff --git a/source/tbldefs/tab1DS.sql b/source/tbldefs/tab1DS.sql new file mode 100644 index 0000000..fc823ac --- /dev/null +++ b/source/tbldefs/tab1DS.sql @@ -0,0 +1,4 @@ +CREATE TABLE [tab1DS] ( + [id] BIT CONSTRAINT [PrimaryKey] PRIMARY KEY UNIQUE NOT NULL, + [ShowInfoForm] BIT +) diff --git a/source/tbldefs/tab1DS.xml b/source/tbldefs/tab1DS.xml new file mode 100644 index 0000000..528c283 --- /dev/null +++ b/source/tbldefs/tab1DS.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/usys_AppFiles.json b/source/tbldefs/usys_AppFiles.json new file mode 100644 index 0000000..60641f1 --- /dev/null +++ b/source/tbldefs/usys_AppFiles.json @@ -0,0 +1,9 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "usys_AppFiles Metadata" + }, + "Items": { + "Hidden": true + } +} diff --git a/source/tbldefs/usys_AppFiles.sql b/source/tbldefs/usys_AppFiles.sql new file mode 100644 index 0000000..3dbf372 --- /dev/null +++ b/source/tbldefs/usys_AppFiles.sql @@ -0,0 +1,7 @@ +CREATE TABLE [usys_AppFiles] ( + [id] VARCHAR (20) CONSTRAINT [PrimaryKey] PRIMARY KEY UNIQUE NOT NULL, + [version] VARCHAR (10), + [file] LONGBINARY, + [SccRev] VARCHAR (20), + [url] VARCHAR (255) +) diff --git a/source/tbldefs/usys_AppFiles.xml b/source/tbldefs/usys_AppFiles.xml new file mode 100644 index 0000000..28cb170 --- /dev/null +++ b/source/tbldefs/usys_AppFiles.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/usys_DbmsConnection.sql b/source/tbldefs/usys_DbmsConnection.sql new file mode 100644 index 0000000..37d2e50 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection.sql @@ -0,0 +1,21 @@ +CREATE TABLE [usys_DbmsConnection] ( + [CID] VARCHAR (20) CONSTRAINT [PK_usys_DbmsConnection] PRIMARY KEY UNIQUE NOT NULL, + [ActiveConnection] BIT, + [DBMS] VARCHAR (20), + [dbmsConnectionMode] BYTE, + [dbmsOleDbProvider] VARCHAR (255), + [dbmsOdbcDriver] VARCHAR (255), + [dbmsServer] VARCHAR (255), + [dbmsPort] VARCHAR (20), + [dbmsDatabase] VARCHAR (255), + [dbmsUseTrustedConnection] BIT, + [dbmsUseLoginForm] BIT, + [dbmsUser] VARCHAR (255), + [dbmsPwd] VARCHAR (255), + [dbmsOptionsODBC] VARCHAR (255), + [dbmsOptionsOLEDB] VARCHAR (255), + [dbmsDSN] VARCHAR (255), + [dbmsConStrODBC] VARCHAR (255), + [dbmsConStrOLEDB] VARCHAR (255), + [Remarks] LONGTEXT +) diff --git a/source/tbldefs/usys_DbmsConnection.xml b/source/tbldefs/usys_DbmsConnection.xml new file mode 100644 index 0000000..03778a8 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/usys_DbmsConnection_CopyBase.json b/source/tbldefs/usys_DbmsConnection_CopyBase.json new file mode 100644 index 0000000..e9790c3 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_CopyBase.json @@ -0,0 +1,15 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "usys_DbmsConnection_CopyBase Metadata" + }, + "Items": { + "Properties": { + "Description": { + "Type": 10, + "Value": "Verbindungseintellungen" + } + }, + "Hidden": true + } +} diff --git a/source/tbldefs/usys_DbmsConnection_CopyBase.sql b/source/tbldefs/usys_DbmsConnection_CopyBase.sql new file mode 100644 index 0000000..cf49569 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_CopyBase.sql @@ -0,0 +1,21 @@ +CREATE TABLE [usys_DbmsConnection_CopyBase] ( + [CID] VARCHAR (10) CONSTRAINT [PrimaryKey] PRIMARY KEY UNIQUE NOT NULL, + [activeConnection] BIT, + [DBMS] VARCHAR (15), + [dbmsConnectionMode] BYTE, + [dbmsOleDbProvider] VARCHAR (255), + [dbmsOdbcDriver] VARCHAR (255), + [dbmsServer] VARCHAR (255), + [dbmsPort] VARCHAR (20), + [dbmsDatabase] VARCHAR (255), + [dbmsUseTrustedConnection] BIT, + [dbmsUseLoginForm] BIT, + [dbmsUser] VARCHAR (255), + [dbmsPwd] VARCHAR (255), + [dbmsOptionsODBC] VARCHAR (255), + [dbmsOptionsOLEDB] VARCHAR (255), + [dbmsDSN] VARCHAR (255), + [dbmsConStrODBC] VARCHAR (255), + [dbmsConStrOLEDB] VARCHAR (255), + [Remarks] LONGTEXT +) diff --git a/source/tbldefs/usys_DbmsConnection_CopyBase.xml b/source/tbldefs/usys_DbmsConnection_CopyBase.xml new file mode 100644 index 0000000..f127285 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_CopyBase.xml @@ -0,0 +1,488 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/usys_DbmsConnection_X.json b/source/tbldefs/usys_DbmsConnection_X.json new file mode 100644 index 0000000..459081a --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X.json @@ -0,0 +1,15 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "usys_DbmsConnection_X Metadata" + }, + "Items": { + "Properties": { + "Description": { + "Type": 10, + "Value": "Einstellungen des Layouts zur Parametereingabe von je DBMS" + } + }, + "Hidden": true + } +} diff --git a/source/tbldefs/usys_DbmsConnection_X.sql b/source/tbldefs/usys_DbmsConnection_X.sql new file mode 100644 index 0000000..4303a0f --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X.sql @@ -0,0 +1,24 @@ +CREATE TABLE [usys_DbmsConnection_X] ( + [DBMS] VARCHAR (15) CONSTRAINT [PrimaryKey] PRIMARY KEY UNIQUE NOT NULL, + [dbmsEnabled] BIT, + [seq] BYTE, + [DriverODBC] VARCHAR (255), + [DriverOLEDB] VARCHAR (255), + [DriverRemarks] VARCHAR (255), + [XdbmsConnectionModes] LONG, + [XdbmsServer] BYTE, + [XdbmsPort] BYTE, + [XdbmsDatabase] BYTE, + [XdbmsUseLoginForm] BYTE, + [XdbmsUseTrustedConnection] BYTE, + [XdbmsUser] BYTE, + [XdbmsPwd] BYTE, + [XdbmsOptionsODBC] BYTE, + [XdbmsOptionsOLEDB] BYTE, + [XdbmsDSN] BYTE, + [XdbmsConStrODBC] BYTE, + [XdbmsConStrOLEDB] BYTE, + [XdbmsOledbProvider] BYTE, + [XdbmsOdbcDriver] BYTE, + [XdbmsTableListSQL] LONGTEXT +) diff --git a/source/tbldefs/usys_DbmsConnection_X.xml b/source/tbldefs/usys_DbmsConnection_X.xml new file mode 100644 index 0000000..ae157ea --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X.xml @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/tbldefs/usys_DbmsConnection_X_Driver.json b/source/tbldefs/usys_DbmsConnection_X_Driver.json new file mode 100644 index 0000000..72057b6 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X_Driver.json @@ -0,0 +1,9 @@ +{ + "Info": { + "Class": "clsDbTableDef", + "Description": "usys_DbmsConnection_X_Driver Metadata" + }, + "Items": { + "Hidden": true + } +} diff --git a/source/tbldefs/usys_DbmsConnection_X_Driver.sql b/source/tbldefs/usys_DbmsConnection_X_Driver.sql new file mode 100644 index 0000000..ddeb9c5 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X_Driver.sql @@ -0,0 +1,6 @@ +CREATE TABLE [usys_DbmsConnection_X_Driver] ( + [id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY UNIQUE NOT NULL, + [DBMS] VARCHAR (255), + [ConMode] VARCHAR (255), + [Driver] VARCHAR (255) +) diff --git a/source/tbldefs/usys_DbmsConnection_X_Driver.xml b/source/tbldefs/usys_DbmsConnection_X_Driver.xml new file mode 100644 index 0000000..64bc443 --- /dev/null +++ b/source/tbldefs/usys_DbmsConnection_X_Driver.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/themes/1_Office Theme.thmx b/source/themes/1_Office Theme.thmx new file mode 100644 index 0000000000000000000000000000000000000000..53dd1919c62b826088a90459b86b00b036c4ae6d GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/source/vbe-project.json b/source/vbe-project.json new file mode 100644 index 0000000..0aabc80 --- /dev/null +++ b/source/vbe-project.json @@ -0,0 +1,17 @@ +{ + "Info": { + "Class": "clsDbVbeProject", + "Description": "VBE Project" + }, + "Items": { + "Name": "DbmsConnectionWizard", + "Description": "", + "FileName": "DbmsConnectionWizard.accdb", + "HelpFile": "", + "HelpContextId": 0, + "ConditionalCompilationArguments": "USELOCALIZATION = 1 : CONFIG_USELOGINFORM = 1", + "Mode": 0, + "Protection": 0, + "Type": 100 + } +} diff --git a/source/vbe-references.json b/source/vbe-references.json new file mode 100644 index 0000000..5db299a --- /dev/null +++ b/source/vbe-references.json @@ -0,0 +1,20 @@ +{ + "Info": { + "Class": "clsDbVbeReference", + "Description": "VBE References" + }, + "Items": { + "ADODB": { + "GUID": "{00000201-0000-0010-8000-00AA006D2EA4}", + "Version": "2.1" + }, + "DAO": { + "GUID": "{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}", + "Version": "12.0" + }, + "VBIDE": { + "GUID": "{0002E157-0000-0000-C000-000000000046}", + "Version": "5.3" + } + } +} diff --git a/source/vcs-agent-docs/forms-reports.md b/source/vcs-agent-docs/forms-reports.md new file mode 100644 index 0000000..a6f0b2d --- /dev/null +++ b/source/vcs-agent-docs/forms-reports.md @@ -0,0 +1,105 @@ +# Form and Report Layout Files + +Covers `.form` and `.report` files (legacy projects use `.bas`) and their companion +`.json`. For the `.cls` code-behind, see `vba-modules.md`. + +## The SaveAsText format + +These files use Access's `SaveAsText` format. It is not VBA, and it is largely +undocumented: + +``` +Version =21 <- Access version marker +VersionRequired =20 +Begin Form <- Form or Report + RecordSelectors = NotDefault + Caption ="My Form Title" + Begin + Begin Label <- A control + Left =1234 + Top =567 + Width =2000 + Height =300 + Name ="lblTitle" + Caption ="Welcome" + End + Begin CommandButton + Name ="cmdOK" + Caption ="OK" + OnClick ="[Event Procedure]" + End + End +End +CodeBehindForm <- VBA section, when layout is not split +Attribute VB_Name = "Form_frmMyForm" +``` + +## What is safe to change + +Property edits are safe wherever you can infer the expected format from +neighboring values: caption text inside quotes, geometry such as `Left`, `Top`, +`Width`, and `Height`, colors, and font sizes. On forms (export format 5.1.0+), +layout-group geometry is rewritten to a 60-twip grid, so a track edit rewrites +sibling cells; do not drop `Left`/`Top`/`Width`/`Height` or `EmptyCell` spacers. +`LayoutCached*` is omitted on export. Guessing at a property whose format you +cannot infer breaks the layout or fails the import, so leave those alone, along +with the `Version` lines at the top. Keep `Begin`/`End` balanced throughout. + +## Adding, removing, and renaming controls + +Structural edits work if you copy rather than compose. The property set Access +expects for a control type is not something to invent, so use an existing +control of the same type in the same file as your template. + +To add a control: + +1. Copy an entire `Begin ` ... `End` block, including any nested + `Begin`/`End` subtree. An attached label lives *inside* its text box, combo + box, or check box, and an option group's buttons live inside the group. +2. Paste it into the intended section's inner `Begin` block. Appending at the + end of the section is the safest placement. +3. Give the new control, and every nested control copied with it, a `Name` that + is unique within the file. +4. Set the geometry. Raise the form `Width` and section `Height` if the new + control extends past them. On a Layout-view form, keep `LayoutGroup`, + `GroupTable`, and `RowStart`/`ColumnEnd` consistent with the row you copied. +5. Set `TabIndex` to a value not already used in that section. `TabIndex`, not + file order, determines tab order. +6. If you kept an event property such as `OnClick ="[Event Procedure]"`, add the + handler to the `.cls` code-behind. Access binds handlers by control name, so + `Private Sub cmdSave_Click()` pairs with `Name ="cmdSave"`. + +To remove a control, delete its whole block including nested children, then +remove its event handlers and any references to it from the `.cls`. + +Renaming means updating every reference to the old name: handler procedure names +and code in the `.cls`, and any key for that control in the companion `.json`. + +## Conditional formatting + +With **Decode conditional formatting to JSON** enabled (export format 5.0.0 and +later), the opaque `ConditionalFormat` and `ConditionalFormat14` hex blocks are +stripped out of each control and stored as readable rules in the companion `.json`, +under `Items.ConditionalFormatting` keyed by control name. Edit the rules there +rather than the hex. + +With the option disabled, the binary blocks stay inline in the layout file. Either +way the add-in rebuilds them on import. + +On import the JSON wins. If a control has a JSON entry, any stale inline block for +that control is stripped before the rebuilt block is injected, which keeps repeated +imports idempotent. A control with an inline block but no JSON entry is left +untouched. + +The binary layout and the exact boundary of what survives a decode/rebuild cycle +are documented in +[docs/access-conditional-format.md](https://github.com/joyfullservice/msaccess-vcs-addin/blob/dev/docs/access-conditional-format.md). + +## Recovering from a bad edit + +If a form or report looks wrong after import, the usual causes are an unbalanced +`Begin`/`End` pair or a mangled property value. Restore the `.form` or `.report` +file from git and redo the change in smaller steps. + +To check a structural edit, ask for a re-export after the merge build. A +`git diff` on the file then shows what Access normalized or dropped. diff --git a/source/vcs-agent-docs/queries.md b/source/vcs-agent-docs/queries.md new file mode 100644 index 0000000..1bc6a5c --- /dev/null +++ b/source/vcs-agent-docs/queries.md @@ -0,0 +1,53 @@ +# Query Source Files + +Each query in `queries/` is exported as two files: a `.sql` holding the statement, +and a `.json` holding everything that SQL cannot express. + +## Editing query logic + +Edit the `.sql`. It is the sole source of truth for the query's SQL text, and +changing it is the normal way to change what a query does. + +```sql +SELECT + CustomerID, + CustomerName, + Email +FROM tblCustomers +WHERE Active = True +ORDER BY CustomerName; +``` + +On import the add-in reads both files, generates a temporary `.qdef` in memory, and +hands it to `LoadFromText`. When the SQL is designer-compatible and the `.json` +carries layout data, the query imports in Design View format with table positions +preserved; otherwise it imports as SQL View. Making the SQL incompatible with the +designer — adding a `UNION` or a subquery, for example — causes the layout data to +be ignored and logs a warning, which is expected rather than an error. + +## The companion `.json` + +| Key | Meaning | +|-----|---------| +| `QueryType` | 0 Select, 16 Crosstab, 32 Delete, 48 Update, 64 Append | +| `Connect` | Connection string for pass-through queries, usually an `env:` reference | +| `QueryProperties` | Non-default query properties from the `LvProp` binary blob | +| `Columns` | Column metadata, sorted alphabetically for deterministic output | +| `DesignLayout` | Table positions and window dimensions; present only for queries last saved in Design View | +| `Description` | Object description from DAO document properties | +| `Hidden` | True when the query is hidden in the Navigation Pane | + +Edit these values directly when you need to change a property the SQL cannot carry. +Keep the file valid JSON. + +Pass-through `Connect` values use `env:` references rather than raw ODBC strings; +see `troubleshooting.md` for how those resolve. + +## Legacy files + +Older projects may still contain `.qdef` or `.bas` query files. Import still +accepts them. On export format 4.1.2 the `.bas` file is the import source; a +paired `.sql` is applied only when **Force import of original SQL for queries** +is enabled. To make `.sql` the source of truth, switch to export format 5.0+ +and run a full export — that writes `.sql` plus `.json` and removes the legacy +files. diff --git a/source/vcs-agent-docs/testing.md b/source/vcs-agent-docs/testing.md new file mode 100644 index 0000000..201e79b --- /dev/null +++ b/source/vcs-agent-docs/testing.md @@ -0,0 +1,110 @@ +# Automated Testing + +The add-in includes a test runner that discovers and executes tests in whatever +database is open. Tests assert with `TestAssert`, a drop-in replacement for +`Debug.Assert`. Nothing in the project needs a compile-time reference to the add-in. + +## Setup + +Run `VCS.InstallTestAssertModule` from the Immediate Window to inject the +`modTestAssert` module. `VCS.MigrateDebugAssert` converts existing `Debug.Assert` +calls in bulk. + +## Writing tests + +A test is a parameterless `Public Sub` in a test module: + +```vba +Option Compare Database +Option Explicit +Option Private Module +'@Folder("Tests") + +Public Sub TestDoubleInput() + TestAssert MyFunction(42) = 84, "MyFunction should double input" + TestAssert MyFunction(0) = 0, "Zero input returns zero" +End Sub +``` + +The second `TestAssert` argument is optional context that identifies which +assertion failed, which matters inside loops and shared helpers. + +A module counts as a test module if it carries `'@Folder("...Tests...")` (in +projects using `@Folder` at all) or its name contains `Test`. Within it, only +parameterless `Public Sub` procedures are registered, and only if the module has a +`TestAssert` call. To exclude a helper, make it `Private` or give it a parameter. + +**Class modules** work the same way and add per-test setup and teardown: every test +method gets a fresh instance, so `Class_Initialize` runs before it and +`Class_Terminate` after. Use parameterless `Public Sub` or `Public Function`. Name +test modules `modTest*` or `clsTest*`, and mark standard ones +`Option Private Module`. + +## Prompts during a run + +A run is unattended: a `MsgBox`, `InputBox`, or modal form in code a test reaches +stalls it until someone clicks. `modTestAssert.TestRunActive` is true for the whole +run, so guard anything that waits for a person: + +```vba +If Not TestRunActive Then MsgBox "Import complete.", vbInformation +``` + +Prefer guarding a prompt whose absence changes nothing; where a prompt decides +something, branch to the answer an unattended run should get. A `modTestAssert` +installed before this feature will not have the flag. + +## Running tests + +Run `?VCS.RunTests` from the Immediate Window, or use **Tools > Run Tests** on the +ribbon. After a completed run the runner can re-run only the failures. + +`RunTests` takes an optional `ParamArray` of filters. Each argument resolves in +priority order: exact module name, then suite or `@Folder` value (matching the full +path or its final segment, so `"SQL"` matches `"Tests.SQL"`), then procedure name or +full `Module.Procedure` key, then tag. Prefix an argument with `-` to exclude it. +Inclusions combine with OR, exclusions with AND, and a list containing only +exclusions starts from all tests. + +```vba +?VCS.RunTests("-slow") ' Everything except slow-tagged tests +?VCS.RunTests("Reporting", "-slow") ' The Reporting suite, skipping slow tests +?VCS.RunTests("TestInvoiceTotal") ' One specific procedure +``` + +`RunTests` returns a JSON summary with per-test status, assertion detail, and tags. + +## Tagging + +`'@Tag("name")` annotations categorize tests and are case-insensitive. A +module-level tag sits in the first ~30 lines, before any procedure, and applies to +every test in the module. A procedure-level tag sits at the very top of the +procedure body, before any executable line including `Dim`. The two sets merge. + +## Global suite hooks + +`modTestAssert` may define two optional once-per-run hooks: + +```vba +Public Sub GlobalTestSetup() ' Before the first test, when at least one is selected +Public Sub GlobalTestTeardown() ' After all tests; the results JSON already exists +``` + +`VCS.InstallTestAssertModule` writes empty stubs with inline guidance; if absent +the runner skips them silently. They do not run when no tests are discovered or a +filter matches nothing. An error inside a hook is non-fatal — it goes to the +console, the run continues, and teardown still executes. Per-test +`Class_Initialize` and `Class_Terminate` nest inside these hooks unchanged. + +## Where results land + +| File | Contents | +|------|----------| +| `logs/TestResults_.json` | Per-run results with per-assertion detail | +| `logs/TestRun_.log` | Full console output including timing | +| `test-results/test-state.json` | Merged current state; a partial run updates only the tests it executed and flags the rest `stale` | +| `test-results/test-results.xml` | JUnit XML projection of the state file | +| `test-results/test-results.html` | Self-contained HTML dashboard | + +Both folders are gitignored, so search tools will not find them. See +`troubleshooting.md` for how to list and read them. diff --git a/source/vcs-agent-docs/troubleshooting.md b/source/vcs-agent-docs/troubleshooting.md new file mode 100644 index 0000000..b4103c2 --- /dev/null +++ b/source/vcs-agent-docs/troubleshooting.md @@ -0,0 +1,94 @@ +# Troubleshooting and Logs + +## Reading the logs + +Every operation writes a timestamped log to the `logs/` subfolder. Check the most +recent one first; it carries the detailed output, timing, and error messages. + +| Pattern | Operation | +|---------|-----------| +| `Export_.log` | Export | +| `Build_.log` | Full build | +| `Merge_.log` | Merge build **and** single-object import | +| `TestRun_.log` | Test run console output | + +A single-object import that seems to have produced no log wrote a `Merge_*.log`. + +**`logs/` and `test-results/` are gitignored**, so tools that respect `.gitignore` +— glob, grep, and semantic search — will silently skip them. Use the shell: + +```powershell +Get-ChildItem -Path "logs" | Sort-Object LastWriteTime -Descending | Select-Object -First 3 +Get-ChildItem -Path "test-results" +``` + +## Import fails with no clear error + +Almost always the encoding changed. Confirm the file still begins with the bytes +`EF BB BF` and re-save it as UTF-8 with BOM. + +## Import fails or objects are corrupted after an edit + +Check the line endings. The file needs CRLF (`0D 0A`), not bare LF. Restore it from +git or re-save with CRLF. + +## Unresolved Git conflict markers + +After a `git merge`, `git stash pop`, or branch switch, a source file may still +contain lines starting with `<<<<<<<` or `>>>>>>>`. The add-in skips that file and +logs: + +`Unresolved Git conflict markers in '' (line N). Resolve the conflict in this +file, then merge again.` + +Open the named file, resolve every conflict section, remove the marker lines, save, +and run merge again. + +## "Object not found" after import + +The `Attribute VB_Name` inside the file no longer matches the filename, usually +because the file was renamed without updating the name stored in it. Make them +agree, without the extension. + +## VBA compile error after import + +Typical causes are a syntax error introduced by an edit, a missing declaration, or +a reference to something that does not exist. + +The compile tools available over MCP report only success or failure — never the +failing module or line. When `vcs_compile_vba` returns `success: false`, or +`vcs_check_vba_compiled` returns `compiled: false`: + +1. Stop. Do not edit more source files or guess at a fix. +2. Ask the user to open the database in Access, open the VBA editor, and choose + **Debug > Compile**. Access jumps to the first error. +3. Ask them to paste the few lines around it. The snippet is usually enough; the + error text is optional. +4. Propose a targeted fix, then re-import and re-compile. + +Working in Access directly, the highlighted line after **Debug > Compile** tells +you the same thing. + +## XML parse error + +Invalid syntax such as an unclosed tag, or an unescaped special character. Validate +the structure and check how special characters are encoded. + +## Build prompts for SQL authentication + +Linked tables and pass-through queries store `env:conn_*` references rather than raw +ODBC strings, in `tbldefs/*.json`, the `Connect` value in `queries/*.json`, and +`db-connection.json`. At build time the add-in resolves each reference against the +`.env` file at this folder's root, which is per-developer and gitignored. + +A prompt means the key is missing from the resolved configuration or the server is +unreachable. Search the build log for `Connection key not found in .env file:`. + +`db-connection.json` only **primes** Access's ODBC cache during import, running one +temporary query per connection so later linked-table imports reuse the cached +credentials. It stores `env:` keys, not connection strings, so do not treat it as a +registry of connections. + +Per-environment layering through an `APP_ENV` selector is supported and documented +in the +[Connections wiki page](https://github.com/joyfullservice/msaccess-vcs-addin/wiki/Connections). diff --git a/source/vcs-agent-docs/vba-modules.md b/source/vcs-agent-docs/vba-modules.md new file mode 100644 index 0000000..3da8b3d --- /dev/null +++ b/source/vcs-agent-docs/vba-modules.md @@ -0,0 +1,101 @@ +# VBA Module Source Files + +Covers `.bas` and `.cls` files in `modules/`, and the `.cls` code-behind files in +`forms/` and `reports/`. + +## Standard modules (`.bas`) + +``` +Attribute VB_Name = "ModuleName" <- Required: must match the filename +'--------------------------------------------------------------------------------------- +' Module : ModuleName <- Optional comment header +' Purpose : Description here +'--------------------------------------------------------------------------------------- +Option Compare Database <- Optional +Option Explicit <- Optional + +Public Sub MySub() + ' Code starts after any Option statements +End Sub +``` + +Add and edit procedures, functions, and declarations freely. Leave the +`Attribute VB_Name` line alone; it must equal the filename without its extension. + +`Option` statements are not required. Some projects omit them entirely, so match +whatever the surrounding modules do rather than adding them. + +## Class modules (`.cls`) + +``` +VERSION 1.0 CLASS <- Required header block +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ClassName" <- Required: must match the filename +Attribute VB_GlobalNameSpace = False <- Required (legacy, but must be present) +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = False <- True gives the class a default instance +Attribute VB_Exposed = False <- True exposes it to other projects +Option Compare Database <- Optional +Option Explicit <- Optional + +Private m_Value As String + +Public Property Get Value() As String +Attribute Value.VB_Description = "Returns the value" <- Member attribute + Value = m_Value +End Property +``` + +Edit the code and comment headers. Leave the `VERSION` block and the module-level +`Attribute VB_*` lines exactly as they are. + +## Member attributes + +Attributes can also appear **inside** procedures and properties, carrying metadata +that the VBA editor hides but the Object Browser displays. They go on the line +immediately after the `Sub`, `Function`, or `Property` declaration: + +```vba +Public Function GetItem(Index As Long) As Variant +Attribute GetItem.VB_Description = "Returns item at specified index" +Attribute GetItem.VB_UserMemId = 0 + GetItem = m_Items(Index) +End Function +``` + +| Attribute | Effect | +|-----------|--------| +| `Attribute [Member].VB_Description = "text"` | Description shown in the Object Browser | +| `Attribute [Member].VB_UserMemId = 0` | Makes this the class's default member | +| `Attribute [Member].VB_UserMemId = -4` | Returns an enumerator, enabling `For Each` | + +Reword the description text if it is wrong. Do not change the attribute syntax or +the member name it refers to; the name must match the procedure it sits under. + +## Form and report code-behind + +When the **Split Layout from VBA** option is on, a form's or report's code lives in +its own `.cls` beside the layout file: + +``` +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Form_frmMyForm" <- Must be "Form_" (or "Report_") + object name +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = True +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False +Option Compare Database + +Private Sub Form_Load() + ' Event handler code +End Sub +``` + +Edit event handlers and procedures here as you would in any class module. When the +option is off, the code is instead inside the `.form` or `.report` file under a +`CodeBehindForm` line. diff --git a/source/vcs-index.idx b/source/vcs-index.idx new file mode 100644 index 0000000000000000000000000000000000000000..3394ebde8ff5202d8d5c922208514943a1f15420 GIT binary patch literal 14004 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 JJJcB={2#@?Rnh

    K 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şc>S}Fu1G@sYySuhd#i|1O1bJ< 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�!s$Oo|@y_UH-1g)Ygr% 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ξ=rLATokdqzVEA^k07s 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