ngx-kel-agent 0.4.8 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -26
- package/esm2020/lib/agent-message.service.mjs +18 -0
- package/esm2020/lib/agent.service.mjs +93 -170
- package/esm2020/lib/hamlib-messages.mjs +2 -0
- package/esm2020/lib/hamlib.service.mjs +48 -0
- package/esm2020/lib/wsjtx-messages.mjs +2 -0
- package/esm2020/lib/wsjtx.service.mjs +247 -0
- package/esm2020/public-api.mjs +8 -2
- package/fesm2015/ngx-kel-agent.mjs +376 -160
- package/fesm2015/ngx-kel-agent.mjs.map +1 -1
- package/fesm2020/ngx-kel-agent.mjs +376 -155
- package/fesm2020/ngx-kel-agent.mjs.map +1 -1
- package/lib/agent-message.service.d.ts +9 -0
- package/lib/agent.service.d.ts +114 -27
- package/lib/hamlib-messages.d.ts +10 -0
- package/lib/hamlib.service.d.ts +16 -0
- package/lib/{messages.d.ts → wsjtx-messages.d.ts} +152 -16
- package/lib/wsjtx.service.d.ts +62 -0
- package/package.json +4 -4
- package/public-api.d.ts +5 -1
- package/esm2020/lib/messages.mjs +0 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
|
|
2
|
+
import { WsjtxClear, WsjtxClose, WsjtxConfigure, WsjtxDecode, WsjtxFreeText, WsjtxHeartbeat, WsjtxHighlightCallsign, WsjtxLoggedAdif, WsjtxQsoLogged, WsjtxStatus, WsjtxWsprDecode } from './wsjtx-messages';
|
|
3
|
+
import { AgentMessageService } from './agent-message.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class WsjtxService {
|
|
6
|
+
private messages;
|
|
7
|
+
/** Whether we're getting any messages from WSJT-X. */
|
|
8
|
+
readonly connected$: BehaviorSubject<boolean>;
|
|
9
|
+
/** Subject for listening to WSJT-X "Heartbeat" messages. */
|
|
10
|
+
readonly heartbeat$: ReplaySubject<WsjtxHeartbeat | null>;
|
|
11
|
+
/** Subject for listening to WSJT-X "Status" messages. */
|
|
12
|
+
readonly status$: ReplaySubject<WsjtxStatus | null>;
|
|
13
|
+
/** Subject for listening to WSJT-X "Decode" messages. */
|
|
14
|
+
readonly decode$: Subject<WsjtxDecode>;
|
|
15
|
+
/** Subject for listening to WSJT-X "Clear" messages. */
|
|
16
|
+
readonly clear$: Subject<WsjtxClear>;
|
|
17
|
+
/** Subject for listening to WSJT-X "QsoLogged" messages. */
|
|
18
|
+
readonly qsoLogged$: Subject<WsjtxQsoLogged>;
|
|
19
|
+
/** Subject for listening to WSJT-X "Close" messages. */
|
|
20
|
+
readonly close$: Subject<WsjtxClose>;
|
|
21
|
+
/** Subject for listening to WSJT-X "WsprDecode" messages. */
|
|
22
|
+
readonly wsprDecode$: Subject<WsjtxWsprDecode>;
|
|
23
|
+
/** Subject for listening to WSJT-X "LoggedAdif" messages. */
|
|
24
|
+
readonly loggedAdif$: Subject<WsjtxLoggedAdif>;
|
|
25
|
+
private wsjtxId;
|
|
26
|
+
constructor(messages: AgentMessageService);
|
|
27
|
+
private setupBehaviors;
|
|
28
|
+
private handleMessage;
|
|
29
|
+
/** Send a command to WSJT-X to clear the Band Activity window. */
|
|
30
|
+
clearBandActivity(): void;
|
|
31
|
+
/** Send a command to WSJT-X to clear the Rx Frequency window. */
|
|
32
|
+
clearRxFreqWindow(): void;
|
|
33
|
+
/** Send a command to WSJT-X to clear the Band Activity and Rx Frequency windows. */
|
|
34
|
+
clearAll(): void;
|
|
35
|
+
/** Send a command to WSJT-X to replay messages. Useful for a fresh client that wants to hear
|
|
36
|
+
* previous WSJT-X decodes. */
|
|
37
|
+
replay(): void;
|
|
38
|
+
/** Send a command to WSJT-X to halt any transmissions immediately. */
|
|
39
|
+
haltTxNow(): void;
|
|
40
|
+
/** Send a command to WSJT-X to stop auto-transmitting after finishing the current round. */
|
|
41
|
+
haltTxAfterCurrent(): void;
|
|
42
|
+
/** Send a command to WSJT-X to reply to the given decode. The message must include CQ or QRZ. */
|
|
43
|
+
reply(decode: WsjtxDecode): void;
|
|
44
|
+
/** Send a command to WSJT-X to reply to the given decode. The message must include CQ or QRZ. */
|
|
45
|
+
highlightCallsign(highlightMsg: WsjtxHighlightCallsign): void;
|
|
46
|
+
/**
|
|
47
|
+
* Send a command to WSJT-X to transmit the given free text. If the text is too long to be
|
|
48
|
+
* encoded in a single message, it may be silently truncated. */
|
|
49
|
+
sendFreeText(freeText: WsjtxFreeText): void;
|
|
50
|
+
/** Send a command to WSJT-X to set the local station's Maidenhead grid. This is temporary,
|
|
51
|
+
* lasting only as long as WSJT-X is running. */
|
|
52
|
+
setLocation(grid: string): void;
|
|
53
|
+
/** Send a command to WSJT-X to switch to the named configuration. */
|
|
54
|
+
switchConfiguration(configName: string): void;
|
|
55
|
+
/** Send a command to WSJT-X to set the given configuration parameters. */
|
|
56
|
+
configure(config: WsjtxConfigure): void;
|
|
57
|
+
/** Given a decode message, format a string the same way as displayed in the WSJT-X Band
|
|
58
|
+
* Activity/Rx Frequency windows. */
|
|
59
|
+
static formatDecode(msg: WsjtxDecode): string;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WsjtxService, never>;
|
|
61
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WsjtxService>;
|
|
62
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-kel-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"homepage": "https://github.com/k0swe/ngx-kel-agent/tree/main/projects/ngx-kel-agent#readme",
|
|
6
6
|
"repository": {
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"wsjtx"
|
|
16
16
|
],
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@angular/common": "
|
|
19
|
-
"@angular/core": "
|
|
20
|
-
"rxjs": "
|
|
18
|
+
"@angular/common": ">=12 <14",
|
|
19
|
+
"@angular/core": ">=12 <14",
|
|
20
|
+
"rxjs": ">=6 <8"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"tslib": "2.3.1"
|
package/public-api.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export * from './lib/agent.service';
|
|
2
|
-
export * from './lib/
|
|
2
|
+
export * from './lib/agent-message.service';
|
|
3
|
+
export * from './lib/hamlib-messages';
|
|
4
|
+
export * from './lib/hamlib.service';
|
|
5
|
+
export * from './lib/wsjtx-messages';
|
|
6
|
+
export * from './lib/wsjtx.service';
|
package/esm2020/lib/messages.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gta2VsLWFnZW50L3NyYy9saWIvbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGhlYXJ0YmVhdCAgbWVzc2FnZSBzaGFsbCBiZSAgc2VudCBvbiBhIHBlcmlvZGljICBiYXNpcyBldmVyeVxuICogICAgMTUgICBzZWNvbmRzLiAgVGhpc1xuICogICAgbWVzc2FnZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IHNlcnZlcnMgdG8gZGV0ZWN0IHRoZSBwcmVzZW5jZVxuICogICAgb2YgYSAgY2xpZW50IGFuZCBhbHNvICB0aGUgdW5leHBlY3RlZCBkaXNhcHBlYXJhbmNlIG9mICBhIGNsaWVudFxuICogICAgYW5kICBieSBjbGllbnRzICB0byBsZWFybiAgdGhlIHNjaGVtYSAgbmVnb3RpYXRlZCBieSAgdGhlIHNlcnZlclxuICogICAgYWZ0ZXIgaXQgcmVjZWl2ZXMgIHRoZSBpbml0aWFsIGhlYXJ0YmVhdCBtZXNzYWdlICBmcm9tIGEgY2xpZW50LlxuICpcbiAqIFNlZVxuICogW1dTSlQtWCBzb3VyY2VdKGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Avd3NqdC93c2p0eC9jaS84Zjk5ZmNjZWZmYzc2Yzk4NjQxM2UyMmVkMjViOTNlZjNmYzY2ZjFlL3RyZWUvTmV0d29yay9OZXR3b3JrTWVzc2FnZS5ocHAjbDExMCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3NqdHhIZWFydGJlYXQge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBXU0pULVggY2xpZW50J3Mgc3VwcG9ydGVkIHNjaGVtYSB2ZXJzaW9uICovXG4gIG1heFNjaGVtYVZlcnNpb246IG51bWJlcjtcbiAgLyoqIFdTSlQtWCBjbGllbnQncyBjb21taXQgaGFzaCAqL1xuICByZXZpc2lvbjogc3RyaW5nO1xuICAvKiogV1NKVC1YIGNsaWVudCdzIHNlbWFudGljIHZlcnNpb24gKi9cbiAgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdTSlQtWCAgc2VuZHMgdGhpcyAgc3RhdHVzIG1lc3NhZ2UgIHdoZW4gdmFyaW91cyAgaW50ZXJuYWwgc3RhdGVcbiAqIGNoYW5nZXMgdG8gYWxsb3cgdGhlIHNlcnZlciB0byAgdHJhY2sgdGhlIHJlbGV2YW50IHN0YXRlIG9mIGVhY2hcbiAqIGNsaWVudCB3aXRob3V0IHRoZSBuZWVkIGZvciAgcG9sbGluZyBjb21tYW5kcy5cbiAqXG4gKiBTZWVcbiAqIFtXU0pULVggc291cmNlXShodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL3dzanQvd3NqdHgvY2kvOGY5OWZjY2VmZmM3NmM5ODY0MTNlMjJlZDI1YjkzZWYzZmM2NmYxZS90cmVlL05ldHdvcmsvTmV0d29ya01lc3NhZ2UuaHBwI2wxNDEpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdzanR4U3RhdHVzIHtcbiAgY29uZmlnTmFtZTogc3RyaW5nO1xuICAvKiogTG9jYWwgc3RhdGlvbidzIGNhbGxzaWduICovXG4gIGRlQ2FsbDogc3RyaW5nO1xuICAvKiogTG9jYWwgc3RhdGlvbidzIE1haWRlbmhlYWQgZ3JpZCAqL1xuICBkZUdyaWQ6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgV1NKVC1YIGlzIGN1cnJlbnRseSBkZWNvZGluZyAqL1xuICBkZWNvZGluZzogYm9vbGVhbjtcbiAgLyoqIFRoZSBjb25uZWN0ZWQgdHJhbnNjZWl2ZXIncyBkaWFsIGZyZXF1ZW5jeSBpbiBoZXJ0eiAqL1xuICBkaWFsRnJlcXVlbmN5OiBudW1iZXI7XG4gIC8qKiBSZW1vdGUgc3RhdGlvbidzIGNhbGxzaWduICovXG4gIGR4Q2FsbDogc3RyaW5nO1xuICAvKiogUmVtb3RlIHN0YXRpb24ncyBNYWlkZW5oZWFkIGdyaWQgKi9cbiAgZHhHcmlkOiBzdHJpbmc7XG4gIGZhc3RNb2RlOiBib29sZWFuO1xuICBmcmVxdWVuY3lUb2xlcmFuY2U6IG51bWJlcjtcbiAgLyoqIFdTSlQtWCBjbGllbnQgbmFtZSAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGhlIHJlY2VpdmUgcHJvdG9jb2wgdGhhdCBXU0pULVggaXMgZGVjb2RpbmcgKi9cbiAgbW9kZTogc3RyaW5nO1xuICAvKiogVGhlIGxvY2FsIHN0YXRpb24ncyBzaWduYWwgcmVwb3J0IGZvciB0aGUgcmVtb3RlIHN0YXRpb24gKi9cbiAgcmVwb3J0OiBzdHJpbmc7XG4gIC8qKiBUaGUgbGlzdGVuaW5nIGZyZXF1ZW5jeSBpbiBoZXJ0eiBhYm92ZSB0aGUgZGlhbCBmcmVxdWVuY3kgKi9cbiAgcnhEZWx0YUZyZXE6IG51bWJlcjtcbiAgLyoqIElmIG5vbi16ZXJvLCBXU0pULVggaXMgaW4gYSBzcGVjaWFsIG1vZGUgbGlrZSBGb3gvSG91bmQgb3IgRmllbGQgRGF5ICovXG4gIHNwZWNpYWxNb2RlOiBudW1iZXI7XG4gIHN1Ym1vZGU6IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgV1NKVC1YIGlzIHRyYW5zbWl0dGluZyAqL1xuICB0cmFuc21pdHRpbmc6IGJvb2xlYW47XG4gIC8qKiBUaGUgdHJhbnNtaXQgZnJlcXVlbmN5IGluIGhlcnR6IGFib3ZlIHRoZSBkaWFsIGZyZXF1ZW5jeSAqL1xuICB0eERlbHRhRnJlcTogbnVtYmVyO1xuICAvKiogV2hldGhlciBXU0pULVggaXMgYWxsb3dlZCB0byB0cmFuc21pdCBkdXJpbmcgdGhlIG5leHQgd2luZG93ICovXG4gIHR4RW5hYmxlZDogYm9vbGVhbjtcbiAgdHhNb2RlOiBzdHJpbmc7XG4gIHR4UnhQZXJpb2Q6IG51bWJlcjtcbiAgdHhXYXRjaGRvZzogYm9vbGVhbjtcbiAgLyoqIFRoZSBtZXNzYWdlIGJlaW5nIHRyYW5zbWl0dGVkICovXG4gIHR4TWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBkZWNvZGUgbWVzc2FnZSBpcyBzZW50IHdoZW4gIGEgbmV3IGRlY29kZSBpcyBjb21wbGV0ZWQsIGluXG4gKiB0aGlzIGNhc2UgdGhlICdOZXcnIGZpZWxkIGlzIHRydWUuIEl0IGlzIGFsc28gdXNlZCBpbiByZXNwb25zZVxuICogdG8gIGEgXCJSZXBsYXlcIiAgbWVzc2FnZSB3aGVyZSAgZWFjaCAgb2xkIGRlY29kZSAgaW4gdGhlICBcIkJhbmRcbiAqIGFjdGl2aXR5XCIgd2luZG93LCB0aGF0ICBoYXMgbm90IGJlZW4gZXJhc2VkLCBpcyAgc2VudCBpbiBvcmRlclxuICogYXMgYSBvbmUgb2YgdGhlc2UgbWVzc2FnZXMgIHdpdGggdGhlICdOZXcnIGZpZWxkIHNldCB0byBmYWxzZS5cbiAqXG4gKiBTZWVcbiAqIFtXU0pULVggc291cmNlXShodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL3dzanQvd3NqdHgvY2kvOGY5OWZjY2VmZmM3NmM5ODY0MTNlMjJlZDI1YjkzZWYzZmM2NmYxZS90cmVlL05ldHdvcmsvTmV0d29ya01lc3NhZ2UuaHBwI2wyMDYpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdzanR4RGVjb2RlIHtcbiAgLyoqIFRoZSBkZWNvZGUncyBmcmVxdWVuY3kgaW4gaGVydHogYWJvdmUgdGhlIGRpYWwgZnJlcXVlbmN5ICovXG4gIGRlbHRhRnJlcXVlbmN5OiBudW1iZXI7XG4gIC8qKiBUaGUgcGVyY2VpdmVkIGNsb2NrIGRpZmZlcmVudGlhbCBiZXR3ZWVuIHRoZSBsb2NhbCBzdGF0aW9uIGFuZCByZW1vdGUgc3RhdGlvbiwgaW4gc2Vjb25kcy4gKi9cbiAgZGVsdGFUaW1lOiBudW1iZXI7XG4gIC8qKiBXU0pULVggY2xpZW50IG5hbWUgKi9cbiAgaWQ6IHN0cmluZztcbiAgbG93Q29uZmlkZW5jZTogYm9vbGVhbjtcbiAgLyoqIFRoZSBtZXNzYWdlIHBheWxvYWQgY29udGFpbmVkIGluIHRoZSBkZWNvZGUgKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKiogVGhlIHByb3RvY29sIG9mIHRoZSBkZWNvZGVkIG1lc3NhZ2UgKi9cbiAgbW9kZTogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgZGVjb2RlIGlzIG5ldyBvciByZXBsYXllZCAqL1xuICBuZXc6IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBkZWNvZGUgY2FtZSBmcm9tIHBsYXliYWNrIG9mIGEgcmVjb3JkaW5nICovXG4gIG9mZkFpcjogYm9vbGVhbjtcbiAgLyoqIExvY2FsIHN0YXRpb24ncyBwZXJjZWl2ZWQgc2lnbmFsIHRvIG5vaXNlIHJhdGlvICovXG4gIHNucjogbnVtYmVyO1xuICAvKiogQ2xvY2sgdGltZSBpbiBtaWxsaXNlY29uZHMgc2luY2UgbWlkbmlnaHQgKi9cbiAgdGltZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoaXMgbWVzc2FnZSBpcyAgc2VuZCB3aGVuIGFsbCBwcmlvciBcIkRlY29kZVwiICBtZXNzYWdlcyBpbiB0aGVcbiAqIFwiQmFuZCBBY3Rpdml0eVwiICB3aW5kb3cgaGF2ZSBiZWVuIGRpc2NhcmRlZCAgYW5kIHRoZXJlZm9yZSBhcmVcbiAqIG5vIGxvbmcgYXZhaWxhYmxlIGZvciBhY3Rpb25pbmcgIHdpdGggYSBcIlJlcGx5XCIgbWVzc2FnZS5cbiAqXG4gKiBTZWVcbiAqIFtXU0pULVggc291cmNlXShodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL3dzanQvd3NqdHgvY2kvOGY5OWZjY2VmZmM3NmM5ODY0MTNlMjJlZDI1YjkzZWYzZmM2NmYxZS90cmVlL05ldHdvcmsvTmV0d29ya01lc3NhZ2UuaHBwI2wyMzIpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdzanR4Q2xlYXIge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBXaGljaCB3aW5kb3cgdG8gY2xlYXIgKHNlbmQgb25seSkuIFNlbmQgMCB0byBjbGVhciBCYW5kIEFjdGl2aXR5LCAxIHRvIGNsZWFyIFJ4IEZyZXF1ZW5jeSwgKi9cbiAgLyoqIG9yIDIgdG8gY2xlYXIgYm90aC4gKi9cbiAgd2luZG93OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIFFTTyBsb2dnZWQgbWVzc2FnZSBpcyBzZW50IHdoZW4gdGhlIFdTSlQtWCB1c2VyIGFjY2VwdHMgdGhlIFwiTG9nICBRU09cIiBkaWFsb2cgYnkgY2xpY2tpbmdcbiAqIHRoZSBcIk9LXCIgYnV0dG9uLlxuICpcbiAqIFNlZVxuICogW1dTSlQtWCBzb3VyY2VdKGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Avd3NqdC93c2p0eC9jaS84Zjk5ZmNjZWZmYzc2Yzk4NjQxM2UyMmVkMjViOTNlZjNmYzY2ZjFlL3RyZWUvTmV0d29yay9OZXR3b3JrTWVzc2FnZS5ocHAjbDI5MykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3NqdHhRc29Mb2dnZWQge1xuICBjb21tZW50czogc3RyaW5nO1xuICBkYXRlVGltZU9mZjogRGF0ZTtcbiAgZGF0ZVRpbWVPbjogRGF0ZTtcbiAgLyoqIHJlbW90ZSBzdGF0aW9uJ3MgY2FsbHNpZ24gKi9cbiAgZHhDYWxsOiBzdHJpbmc7XG4gIC8qKiByZW1vdGUgc3RhdGlvbidzIE1haWRlbmhlYWQgZ3JpZCAqL1xuICBkeEdyaWQ6IHN0cmluZztcbiAgLyoqIGNvbnRlc3QgZXhjaGFuZ2UgcmVjZWl2ZWQgKi9cbiAgZXhjaGFuZ2VSZWNlaXZlZDogc3RyaW5nO1xuICAvKiogY29udGVzdCBleGNoYW5nZSBzZW50ICovXG4gIGV4Y2hhbmdlU2VudDogc3RyaW5nO1xuICBtb2RlOiBzdHJpbmc7XG4gIC8qKiBsb2NhbCBzdGF0aW9uJ3MgY2FsbHNpZ24gKi9cbiAgbXlDYWxsOiBzdHJpbmc7XG4gIC8qKiBsb2NhbCBzdGF0aW9uJ3MgTWFpZGVuaGVhZCBncmlkICovXG4gIG15R3JpZDogc3RyaW5nO1xuICAvKiogcmVtb3RlIHN0YXRpb24ncyBvcGVyYXRvcidzIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogcmVtb3RlIHN0YXRpb25zIG9wZXJhdG9yJ3MgY2FsbHNpZ24gKGlmIGRpZmZlcmVudCBmcm9tIHN0YXRpb24pICovXG4gIG9wZXJhdG9yQ2FsbDogc3RyaW5nO1xuICAvKiogc2lnbmFsIHJlcG9ydCByZWNlaXZlZCAqL1xuICByZXBvcnRSZWNlaXZlZDogc3RyaW5nO1xuICAvKiogc2lnbmFsIHJlcG9ydCBzZW50ICovXG4gIHJlcG9ydFNlbnQ6IHN0cmluZztcbiAgLyoqIGZyZXF1ZW5jeSBpbiBoZXJ0eiAqL1xuICB0eEZyZXF1ZW5jeTogbnVtYmVyO1xuICAvKiogcG93ZXIgaW4gd2F0dHMgKi9cbiAgdHhQb3dlcjogc3RyaW5nO1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2UgaXMgIHNlbnQgYnkgIGEgY2xpZW50IGltbWVkaWF0ZWx5ICBwcmlvciB0byAgaXQgc2h1dHRpbmdcbiAqIGRvd24gZ3JhY2VmdWxseS5cbiAqXG4gKiBTZWVcbiAqIFtXU0pULVggc291cmNlXShodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL3dzanQvd3NqdHgvY2kvOGY5OWZjY2VmZmM3NmM5ODY0MTNlMjJlZDI1YjkzZWYzZmM2NmYxZS90cmVlL05ldHdvcmsvTmV0d29ya01lc3NhZ2UuaHBwI2wzMTgpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdzanR4Q2xvc2Uge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2hlbiBhIHNlcnZlciBzdGFydHMgaXQgbWF5ICBiZSB1c2VmdWwgZm9yIGl0IHRvIGRldGVybWluZSB0aGVcbiAqIHN0YXRlICBvZiBwcmVleGlzdGluZyAgY2xpZW50cy4gU2VuZGluZyAgdGhpcyBtZXNzYWdlICB0byBlYWNoXG4gKiBjbGllbnQgYXMgaXQgaXMgZGlzY292ZXJlZCAgd2lsbCBjYXVzZSB0aGF0IGNsaWVudCAoV1NKVC1YKSB0b1xuICogc2VuZCBhIFwiRGVjb2RlXCIgbWVzc2FnZSBmb3IgZWFjaCBkZWNvZGUgY3VycmVudGx5IGluIGl0cyBcIkJhbmRcbiAqIGFjdGl2aXR5XCIgIHdpbmRvdy4gRWFjaCAgXCJEZWNvZGVcIiBtZXNzYWdlICBzZW50IHdpbGwgIGhhdmUgdGhlXG4gKiBcIk5ld1wiIGZsYWcgc2V0IHRvIGZhbHNlIHNvIHRoYXQgdGhleSBjYW4gYmUgZGlzdGluZ3Vpc2hlZCBmcm9tXG4gKiBuZXcgZGVjb2Rlcy4gQWZ0ZXIgIGFsbCB0aGUgb2xkIGRlY29kZXMgaGF2ZSAgYmVlbiBicm9hZGNhc3QgYVxuICogXCJTdGF0dXNcIiBtZXNzYWdlICBpcyBhbHNvIGJyb2FkY2FzdC4gIElmIHRoZSBzZXJ2ZXIgIHdpc2hlcyB0b1xuICogZGV0ZXJtaW5lICB0aGUgIHN0YXR1cyAgb2YgIGEgbmV3bHkgIGRpc2NvdmVyZWQgIGNsaWVudDsgIHRoaXNcbiAqIG1lc3NhZ2Ugc2hvdWxkIGJlIHVzZWQuXG4gKlxuICogU2VlXG4gKiBbV1NKVC1YIHNvdXJjZV0oaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC93c2p0L3dzanR4L2NpL3dzanR4LTIuNS4yL3RyZWUvTmV0d29yay9OZXR3b3JrTWVzc2FnZS5ocHAjbDMyOCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3NqdHhSZXBsYXkge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHNlcnZlciBtYXkgc3RvcCBhIGNsaWVudCBmcm9tIHRyYW5zbWl0dGluZyBtZXNzYWdlcyBlaXRoZXJcbiAqIGltbWVkaWF0ZWx5IG9yIGF0ICB0aGUgZW5kIG9mIHRoZSAgY3VycmVudCB0cmFuc21pc3Npb24gcGVyaW9kXG4gKiB1c2luZyB0aGlzIG1lc3NhZ2UuXG4gKlxuICogU2VlXG4gKiBbV1NKVC1YIHNvdXJjZV0oaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC93c2p0L3dzanR4L2NpL3dzanR4LTIuNS4yL3RyZWUvTmV0d29yay9OZXR3b3JrTWVzc2FnZS5ocHAjbDM0MykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3NqdHhIYWx0VHgge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBJZiBgZmFsc2VgLCBzdG9wIHRoZSBvbmdvaW5nIHRyYW5zbWlzc2lvbiBpbW1lZGlhdGVseS4gSWYgYHRydWVgLCB0aGlzIGRvZXNuJ3QgaGFsdCB0aGVcbiAgICogY3VycmVudCB0cmFuc21pc3Npb24sIGl0IGp1c3QgZGlzYWJsZXMgV1NKVC1YIGZyb20gdHJhbnNtaXR0aW5nIGFmdGVyIHRoZSBjdXJyZW50IHJvdW5kLiAqL1xuICBhdXRvVHhPbmx5OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBkZWNvZGUgbWVzc2FnZSBpcyBzZW50IHdoZW4gIGEgbmV3IGRlY29kZSBpcyBjb21wbGV0ZWQsIGluXG4gKiB0aGlzIGNhc2UgdGhlICdOZXcnIGZpZWxkIGlzIHRydWUuXG4gKlxuICogU2VlXG4gKiBbV1NKVC1YIHNvdXJjZV0oaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC93c2p0L3dzanR4L2NpLzhmOTlmY2NlZmZjNzZjOTg2NDEzZTIyZWQyNWI5M2VmM2ZjNjZmMWUvdHJlZS9OZXR3b3JrL05ldHdvcmtNZXNzYWdlLmhwcCNsMzgxKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXc2p0eFdzcHJEZWNvZGUge1xuICAvKiogV1NKVC1YIGNsaWVudCBuYW1lICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBkZWNvZGUgaXMgbmV3IG9yIHJlcGxheWVkICovXG4gIG5ldzogYm9vbGVhbjtcbiAgLyoqIENsb2NrIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHNpbmNlIG1pZG5pZ2h0ICovXG4gIHRpbWU6IG51bWJlcjtcbiAgLyoqIExvY2FsIHN0YXRpb24ncyBwZXJjZWl2ZWQgc2lnbmFsIHRvIG5vaXNlIHJhdGlvICovXG4gIHNucjogbnVtYmVyO1xuICAvKiogVGhlIHBlcmNlaXZlZCBjbG9jayBkaWZmZXJlbnRpYWwgYmV0d2VlbiB0aGUgbG9jYWwgc3RhdGlvbiBhbmQgcmVtb3RlIHN0YXRpb24sIGluIHNlY29uZHMuICovXG4gIGRlbHRhVGltZTogbnVtYmVyO1xuICBmcmVxdWVuY3k6IG51bWJlcjtcbiAgZHJpZnQ6IG51bWJlcjtcbiAgLyoqIHJlbW90ZSBzdGF0aW9uJ3MgY2FsbHNpZ24gKi9cbiAgY2FsbHNpZ246IHN0cmluZztcbiAgLyoqIHJlbW90ZSBzdGF0aW9uJ3MgTWFpZGVuaGVhZCBncmlkICovXG4gIGdyaWQ6IHN0cmluZztcbiAgLyoqIHBvd2VyIGluIGRCbSAqL1xuICBwb3dlcjogbnVtYmVyO1xuICAvKiogd2hldGhlciB0aGUgZGVjb2RlIGNhbWUgZnJvbSBwbGF5YmFjayBvZiBhIHJlY29yZGluZyAqL1xuICBvZmZBaXI6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlICBsb2dnZWQgQURJRiAgbWVzc2FnZSBpcyAgc2VudCB0byAgdGhlIHNlcnZlcihzKSAgd2hlbiB0aGVcbiAqIFdTSlQtWCB1c2VyIGFjY2VwdHMgdGhlIFwiTG9nICBRU09cIiBkaWFsb2cgYnkgY2xpY2tpbmcgdGhlIFwiT0tcIlxuICogYnV0dG9uLlxuICpcbiAqIFNlZVxuICogW1dTSlQtWCBzb3VyY2VdKGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Avd3NqdC93c2p0eC9jaS84Zjk5ZmNjZWZmYzc2Yzk4NjQxM2UyMmVkMjViOTNlZjNmYzY2ZjFlL3RyZWUvTmV0d29yay9OZXR3b3JrTWVzc2FnZS5ocHAjbDQyMSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV3NqdHhMb2dnZWRBZGlmIHtcbiAgLyoqIFdTSlQtWCBjbGllbnQgbmFtZSAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogQURJRiBlbmNvZGVkIFFTTyBkYXRhICovXG4gIGFkaWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYW1saWJSaWdTdGF0ZSB7XG4gIC8qKiBUcmFuc2NlaXZlciBtb2RlbCBuYW1lICovXG4gIG1vZGVsOiBzdHJpbmc7XG4gIC8qKiBEaWFsIGZyZXF1ZW5jeSBvZiB0aGUgXCJjdXJyZW50XCIgVkZPIGluIEh6ICovXG4gIGZyZXF1ZW5jeTogbnVtYmVyO1xuICAvKiogTW9kZSBuYW1lIG9mIHRoZSBcImN1cnJlbnRcIiBWRk8gKi9cbiAgbW9kZTogc3RyaW5nO1xuICAvKiogV2lkdGggb2YgdGhlIGN1cnJlbnQgcGFzc2JhbmQgZmlsdGVyIGluIEh6ICovXG4gIHBhc3NiYW5kV2lkdGhIejogbnVtYmVyO1xufVxuIl19
|