@webex/plugin-encryption 3.8.0

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.
Files changed (68) hide show
  1. package/.eslintrc.js +6 -0
  2. package/LICENSE +2 -0
  3. package/README.md +88 -0
  4. package/babel.config.js +13 -0
  5. package/browsers.js +97 -0
  6. package/coverage/clover.xml +176 -0
  7. package/coverage/coverage-final.json +3 -0
  8. package/coverage/jest-html-reporters-attach/jest-report/index.js +58 -0
  9. package/coverage/jest-html-reporters-attach/jest-report/result.js +1 -0
  10. package/coverage/jest-report.html +1 -0
  11. package/coverage/junit/coverage-junit.xml +27 -0
  12. package/coverage/lcov-report/base.css +224 -0
  13. package/coverage/lcov-report/block-navigation.js +87 -0
  14. package/coverage/lcov-report/constants.ts.html +100 -0
  15. package/coverage/lcov-report/favicon.png +0 -0
  16. package/coverage/lcov-report/index.html +131 -0
  17. package/coverage/lcov-report/index.ts.html +562 -0
  18. package/coverage/lcov-report/prettify.css +1 -0
  19. package/coverage/lcov-report/prettify.js +2 -0
  20. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. package/coverage/lcov-report/sorter.js +196 -0
  22. package/coverage/lcov.info +215 -0
  23. package/developer-quickstart.md +104 -0
  24. package/dist/config.js +10 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/constants.js +6 -0
  27. package/dist/constants.js.map +1 -0
  28. package/dist/cypher/constants.js +12 -0
  29. package/dist/cypher/constants.js.map +1 -0
  30. package/dist/cypher/cypher.types.js +6 -0
  31. package/dist/cypher/cypher.types.js.map +1 -0
  32. package/dist/cypher/index.js +141 -0
  33. package/dist/cypher/index.js.map +1 -0
  34. package/dist/cypher/types.js +6 -0
  35. package/dist/cypher/types.js.map +1 -0
  36. package/dist/encryption/constants.js +12 -0
  37. package/dist/encryption/constants.js.map +1 -0
  38. package/dist/encryption/encryption.types.js +6 -0
  39. package/dist/encryption/encryption.types.js.map +1 -0
  40. package/dist/encryption/index.js +84 -0
  41. package/dist/encryption/index.js.map +1 -0
  42. package/dist/index.js +17 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/types/config.d.ts +4 -0
  45. package/dist/types/constants.d.ts +1 -0
  46. package/dist/types/cypher/constants.d.ts +5 -0
  47. package/dist/types/cypher/cypher.types.d.ts +25 -0
  48. package/dist/types/cypher/index.d.ts +53 -0
  49. package/dist/types/cypher/types.d.ts +25 -0
  50. package/dist/types/encryption/constants.d.ts +5 -0
  51. package/dist/types/encryption/encryption.types.d.ts +25 -0
  52. package/dist/types/encryption/index.d.ts +27 -0
  53. package/dist/types/index.d.ts +4 -0
  54. package/dist/types/types.d.ts +40 -0
  55. package/dist/types.js +6 -0
  56. package/dist/types.js.map +1 -0
  57. package/jest.config.js +44 -0
  58. package/junit.xml +27 -0
  59. package/package.json +57 -0
  60. package/process +1 -0
  61. package/src/config.ts +3 -0
  62. package/src/cypher/constants.ts +5 -0
  63. package/src/cypher/index.ts +159 -0
  64. package/src/cypher/types.ts +28 -0
  65. package/src/index.ts +13 -0
  66. package/src/types.ts +45 -0
  67. package/test/unit/spec/cypher/index.ts +146 -0
  68. package/tsconfig.json +18 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/LICENSE ADDED
@@ -0,0 +1,2 @@
1
+ All contents are licensed under the Cisco EULA
2
+ (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)
package/README.md ADDED
@@ -0,0 +1,88 @@
1
+ # @webex/plugin-encryption
2
+
3
+ [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
+
5
+ > Encryption plugin for the Cisco Webex JS SDK.
6
+
7
+ - [Install](#install)
8
+ - [Usage](#usage)
9
+ - [Development](#development)
10
+ - [Sample Code](#sample-code)
11
+ - [Contribute](#contribute)
12
+ - [Maintainers](#maintainers)
13
+ - [License](#license)
14
+
15
+ # WARNING: This plugin is currently under active development
16
+
17
+ ## Install
18
+
19
+ ```bash
20
+ npm install --save @webex/plugin-encryption
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ This is a plugin for the Cisco Webex JS SDK . Please see our [developer portal](https://developer.webex.com/) and the [API reference](https://webex.github.io/webex-js-sdk/plugin-encryption/) for full details.
26
+
27
+ ## API Docs and Sample App
28
+
29
+ - API Reference: [https://webex.github.io/webex-js-sdk/plugin-encryption/](https://webex.github.io/webex-js-sdk/plugin-encryption/)
30
+ - Hosted Sample App: [https://webex.github.io/webex-js-sdk/samples/plugin-encryption/](https://webex.github.io/webex-js-sdk/samples/plugin-encryption/)
31
+ - See [https://github.com/webex/webex-js-sdk/tree/next/docs/samples/plugin-encryption](https://github.com/webex/webex-js-sdk/tree/next/docs/samples/plugin-encryption) for a reference implementation
32
+
33
+ ## Sample Code
34
+
35
+ ```typescript
36
+ import Webex from 'webex/plugin-encryption';
37
+
38
+ const webex = Webex.init({
39
+ credentials: {
40
+ access_token
41
+ }
42
+ });
43
+
44
+ webex.once('ready', () => {
45
+ webex.cypher.register().then(() => {
46
+ try {
47
+ const attachmentURL = 'https:/myfileurl.xyz/zzz/fileid?keyUri=somekeyuri&JWE=somejwe';
48
+ const options = {
49
+ useFileService: false,
50
+ jwe: somejwe, // Provide the JWE here if not already present in the attachmentURL
51
+ keyUri: someKeyUri, // Provide the keyURI here if not already present in the attachmentURL
52
+ };
53
+ const decryptedFileBuf = await webex.cypher.downloadAndDecryptFile(attachmentURL, options);
54
+ // Do something with the decrypted file buffer
55
+ } catch (error) {
56
+ // Handle error
57
+ }
58
+ }).catch((err) => {
59
+ // Handle error
60
+ });
61
+ });
62
+
63
+ webex.cypher.deregister().then(() => {
64
+ // Do deregistration at your App's teardown
65
+ });
66
+ ```
67
+
68
+ #### Development
69
+
70
+ To use `webpack-dev-server` to load this package, run `yarn run samples:serve`.
71
+
72
+ Files placed in the `docs/samples/plugin-encryption` folder will be served statically.
73
+
74
+ Files in the `src/@webex/plugin-encryption` folder will be compiled, bundled, and served as a static asset at `encryption.js` inside that directory.
75
+
76
+ ## Maintainers
77
+
78
+ This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
79
+
80
+ ## Contribute
81
+
82
+ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/next/CONTRIBUTING.md) for more details.
83
+
84
+ ## License
85
+
86
+ This project is licensed under the Cisco General Terms - see the [LICENSE](https://github.com/webex/webex-js-sdk/blob/next/LICENSE.md) for details.
87
+
88
+ © 2016-2025 Cisco and/or its affiliates. All Rights Reserved.
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "targets": {
7
+ "node": "current"
8
+ }
9
+ }
10
+ ],
11
+ "@babel/preset-typescript"
12
+ ],
13
+ }
package/browsers.js ADDED
@@ -0,0 +1,97 @@
1
+ /*!
2
+ * Copyright (c) 2015-2025 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+
5
+ // eslint-disable-next-line strict
6
+
7
+ /* eslint camelcase: [0] */
8
+ module.exports = function createBrowsers() {
9
+ if (process.env.SC_TUNNEL_IDENTIFIER || process.env.SAUCE) {
10
+ return {
11
+ sl_chrome_latest_macOS_Catalina: {
12
+ base: 'SauceLabs',
13
+ platform: 'macOS 10.15',
14
+ browserName: 'Chrome',
15
+ version: 'latest',
16
+ extendedDebugging: true,
17
+ 'goog:chromeOptions': {
18
+ args: [
19
+ '--disable-features=WebRtcHideLocalIpsWithMdns',
20
+ '--use-fake-device-for-media-stream',
21
+ '--use-fake-ui-for-media-stream',
22
+ ],
23
+ },
24
+ flags: [
25
+ '--disable-features=WebRtcHideLocalIpsWithMdns',
26
+ '--use-fake-device-for-media-stream',
27
+ '--use-fake-ui-for-media-stream',
28
+ ],
29
+ },
30
+ sl_edge_latest_Win_10: {
31
+ base: 'SauceLabs',
32
+ platform: 'Windows 10',
33
+ browserName: 'MicrosoftEdge',
34
+ version: 'latest',
35
+ extendedDebugging: true,
36
+ 'ms:edgeOptions': {
37
+ args: [
38
+ '--disable-features=WebRtcHideLocalIpsWithMdns',
39
+ '--use-fake-device-for-media-stream',
40
+ '--use-fake-ui-for-media-stream',
41
+ ],
42
+ },
43
+ },
44
+ sl_safari_latest_macOS_Catalina: {
45
+ base: 'SauceLabs',
46
+ platform: 'macOS 10.15',
47
+ browserName: 'Safari',
48
+ version: 'latest',
49
+ 'webkit:WebRTC': {
50
+ DisableInsecureMediaCapture: true,
51
+ },
52
+ },
53
+ sl_firefox_macOS_Catalina: {
54
+ base: 'SauceLabs',
55
+ platform: 'macOS 10.15',
56
+ browserName: 'Firefox',
57
+ extendedDebugging: true,
58
+ 'moz:firefoxOptions': {
59
+ args: ['-start-debugger-server', '9222'],
60
+ prefs: {
61
+ 'devtools.chrome.enabled': true,
62
+ 'devtools.debugger.prompt-connection': false,
63
+ 'devtools.debugger.remote-enabled': true,
64
+ 'dom.webnotifications.enabled': false,
65
+ 'media.webrtc.hw.h264.enabled': true,
66
+ 'media.getusermedia.screensharing.enabled': true,
67
+ 'media.navigator.permission.disabled': true,
68
+ 'media.navigator.streams.fake': true,
69
+ 'media.peerconnection.video.h264_enabled': true,
70
+ },
71
+ },
72
+ },
73
+ };
74
+ }
75
+
76
+ return {
77
+ firefox_h264: {
78
+ base: 'FirefoxHeadless',
79
+ prefs: {
80
+ 'dom.webnotifications.enabled': false,
81
+ 'media.webrtc.hw.h264.enabled': true,
82
+ 'media.getusermedia.screensharing.enabled': true,
83
+ 'media.navigator.permission.disabled': true,
84
+ 'media.navigator.streams.fake': true,
85
+ 'media.peerconnection.video.h264_enabled': true,
86
+ },
87
+ },
88
+ ChromeH264: {
89
+ base: 'ChromeHeadless',
90
+ flags: [
91
+ '--disable-features=WebRtcHideLocalIpsWithMdns',
92
+ '--use-fake-device-for-media-stream',
93
+ '--use-fake-ui-for-media-stream',
94
+ ],
95
+ },
96
+ };
97
+ };
@@ -0,0 +1,176 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <coverage generated="1746524366233" clover="3.2.0">
3
+ <project timestamp="1746524366233" name="All files">
4
+ <metrics statements="164" coveredstatements="159" conditionals="23" coveredconditionals="22" methods="5" coveredmethods="5" elements="192" coveredelements="186" complexity="0" loc="164" ncloc="164" packages="1" files="2" classes="2"/>
5
+ <file name="constants.ts" path="/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/constants.ts">
6
+ <metrics statements="5" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
7
+ <line num="1" count="1" type="stmt"/>
8
+ <line num="2" count="1" type="stmt"/>
9
+ <line num="3" count="1" type="stmt"/>
10
+ <line num="4" count="1" type="stmt"/>
11
+ <line num="5" count="1" type="stmt"/>
12
+ </file>
13
+ <file name="index.ts" path="/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/index.ts">
14
+ <metrics statements="159" coveredstatements="154" conditionals="23" coveredconditionals="22" methods="5" coveredmethods="5"/>
15
+ <line num="1" count="1" type="stmt"/>
16
+ <line num="2" count="1" type="stmt"/>
17
+ <line num="3" count="1" type="stmt"/>
18
+ <line num="4" count="1" type="stmt"/>
19
+ <line num="5" count="1" type="stmt"/>
20
+ <line num="6" count="1" type="stmt"/>
21
+ <line num="7" count="1" type="stmt"/>
22
+ <line num="8" count="1" type="stmt"/>
23
+ <line num="9" count="1" type="stmt"/>
24
+ <line num="10" count="1" type="stmt"/>
25
+ <line num="11" count="1" type="stmt"/>
26
+ <line num="12" count="1" type="cond" truecount="1" falsecount="0"/>
27
+ <line num="13" count="22" type="stmt"/>
28
+ <line num="14" count="1" type="stmt"/>
29
+ <line num="15" count="1" type="stmt"/>
30
+ <line num="16" count="1" type="stmt"/>
31
+ <line num="17" count="1" type="stmt"/>
32
+ <line num="18" count="1" type="stmt"/>
33
+ <line num="19" count="1" type="stmt"/>
34
+ <line num="20" count="1" type="stmt"/>
35
+ <line num="21" count="1" type="stmt"/>
36
+ <line num="22" count="1" type="stmt"/>
37
+ <line num="23" count="1" type="stmt"/>
38
+ <line num="24" count="1" type="stmt"/>
39
+ <line num="25" count="1" type="cond" truecount="1" falsecount="0"/>
40
+ <line num="26" count="22" type="stmt"/>
41
+ <line num="27" count="22" type="stmt"/>
42
+ <line num="28" count="22" type="stmt"/>
43
+ <line num="29" count="1" type="stmt"/>
44
+ <line num="30" count="1" type="stmt"/>
45
+ <line num="31" count="1" type="stmt"/>
46
+ <line num="32" count="1" type="stmt"/>
47
+ <line num="33" count="1" type="stmt"/>
48
+ <line num="34" count="1" type="cond" truecount="1" falsecount="0"/>
49
+ <line num="35" count="3" type="cond" truecount="1" falsecount="0"/>
50
+ <line num="36" count="1" type="stmt"/>
51
+ <line num="37" count="1" type="stmt"/>
52
+ <line num="38" count="1" type="stmt"/>
53
+ <line num="39" count="1" type="cond" truecount="1" falsecount="0"/>
54
+ <line num="40" count="2" type="stmt"/>
55
+ <line num="41" count="2" type="stmt"/>
56
+ <line num="42" count="2" type="stmt"/>
57
+ <line num="43" count="2" type="cond" truecount="1" falsecount="0"/>
58
+ <line num="44" count="1" type="stmt"/>
59
+ <line num="45" count="1" type="stmt"/>
60
+ <line num="46" count="2" type="stmt"/>
61
+ <line num="47" count="2" type="cond" truecount="1" falsecount="0"/>
62
+ <line num="48" count="1" type="stmt"/>
63
+ <line num="49" count="1" type="stmt"/>
64
+ <line num="50" count="1" type="stmt"/>
65
+ <line num="51" count="2" type="stmt"/>
66
+ <line num="52" count="2" type="stmt"/>
67
+ <line num="53" count="1" type="stmt"/>
68
+ <line num="54" count="1" type="stmt"/>
69
+ <line num="55" count="1" type="stmt"/>
70
+ <line num="56" count="1" type="stmt"/>
71
+ <line num="57" count="1" type="stmt"/>
72
+ <line num="58" count="1" type="cond" truecount="1" falsecount="0"/>
73
+ <line num="59" count="3" type="cond" truecount="1" falsecount="0"/>
74
+ <line num="60" count="1" type="stmt"/>
75
+ <line num="61" count="1" type="stmt"/>
76
+ <line num="62" count="1" type="stmt"/>
77
+ <line num="63" count="1" type="cond" truecount="1" falsecount="0"/>
78
+ <line num="64" count="2" type="stmt"/>
79
+ <line num="65" count="2" type="stmt"/>
80
+ <line num="66" count="2" type="stmt"/>
81
+ <line num="67" count="2" type="cond" truecount="1" falsecount="0"/>
82
+ <line num="68" count="1" type="stmt"/>
83
+ <line num="69" count="1" type="stmt"/>
84
+ <line num="70" count="2" type="stmt"/>
85
+ <line num="71" count="2" type="cond" truecount="1" falsecount="0"/>
86
+ <line num="72" count="1" type="stmt"/>
87
+ <line num="73" count="1" type="stmt"/>
88
+ <line num="74" count="1" type="stmt"/>
89
+ <line num="75" count="2" type="stmt"/>
90
+ <line num="76" count="2" type="stmt"/>
91
+ <line num="77" count="1" type="stmt"/>
92
+ <line num="78" count="1" type="stmt"/>
93
+ <line num="79" count="1" type="stmt"/>
94
+ <line num="80" count="1" type="stmt"/>
95
+ <line num="81" count="1" type="stmt"/>
96
+ <line num="82" count="1" type="stmt"/>
97
+ <line num="83" count="1" type="stmt"/>
98
+ <line num="84" count="1" type="stmt"/>
99
+ <line num="85" count="1" type="stmt"/>
100
+ <line num="86" count="1" type="stmt"/>
101
+ <line num="87" count="1" type="stmt"/>
102
+ <line num="88" count="1" type="stmt"/>
103
+ <line num="89" count="1" type="stmt"/>
104
+ <line num="90" count="1" type="stmt"/>
105
+ <line num="91" count="1" type="stmt"/>
106
+ <line num="92" count="1" type="stmt"/>
107
+ <line num="93" count="1" type="stmt"/>
108
+ <line num="94" count="1" type="stmt"/>
109
+ <line num="95" count="1" type="stmt"/>
110
+ <line num="96" count="1" type="stmt"/>
111
+ <line num="97" count="1" type="stmt"/>
112
+ <line num="98" count="1" type="cond" truecount="1" falsecount="0"/>
113
+ <line num="99" count="5" type="stmt"/>
114
+ <line num="100" count="5" type="stmt"/>
115
+ <line num="101" count="5" type="stmt"/>
116
+ <line num="102" count="5" type="stmt"/>
117
+ <line num="103" count="5" type="stmt"/>
118
+ <line num="104" count="5" type="stmt"/>
119
+ <line num="105" count="5" type="stmt"/>
120
+ <line num="106" count="5" type="stmt"/>
121
+ <line num="107" count="5" type="stmt"/>
122
+ <line num="108" count="5" type="stmt"/>
123
+ <line num="109" count="5" type="stmt"/>
124
+ <line num="110" count="5" type="stmt"/>
125
+ <line num="111" count="5" type="stmt"/>
126
+ <line num="112" count="5" type="stmt"/>
127
+ <line num="113" count="5" type="stmt"/>
128
+ <line num="114" count="5" type="stmt"/>
129
+ <line num="115" count="5" type="stmt"/>
130
+ <line num="116" count="5" type="stmt"/>
131
+ <line num="117" count="5" type="stmt"/>
132
+ <line num="118" count="5" type="stmt"/>
133
+ <line num="119" count="5" type="cond" truecount="1" falsecount="0"/>
134
+ <line num="120" count="5" type="cond" truecount="1" falsecount="0"/>
135
+ <line num="121" count="5" type="cond" truecount="0" falsecount="1"/>
136
+ <line num="122" count="0" type="stmt"/>
137
+ <line num="123" count="0" type="stmt"/>
138
+ <line num="124" count="0" type="stmt"/>
139
+ <line num="125" count="0" type="stmt"/>
140
+ <line num="126" count="0" type="stmt"/>
141
+ <line num="127" count="5" type="stmt"/>
142
+ <line num="128" count="5" type="stmt"/>
143
+ <line num="129" count="5" type="cond" truecount="2" falsecount="0"/>
144
+ <line num="130" count="2" type="stmt"/>
145
+ <line num="131" count="2" type="stmt"/>
146
+ <line num="132" count="2" type="stmt"/>
147
+ <line num="133" count="5" type="stmt"/>
148
+ <line num="134" count="5" type="stmt"/>
149
+ <line num="135" count="5" type="cond" truecount="2" falsecount="0"/>
150
+ <line num="136" count="1" type="stmt"/>
151
+ <line num="137" count="1" type="stmt"/>
152
+ <line num="138" count="1" type="stmt"/>
153
+ <line num="139" count="1" type="cond" truecount="1" falsecount="0"/>
154
+ <line num="140" count="4" type="stmt"/>
155
+ <line num="141" count="4" type="stmt"/>
156
+ <line num="142" count="4" type="stmt"/>
157
+ <line num="143" count="4" type="cond" truecount="1" falsecount="0"/>
158
+ <line num="144" count="3" type="stmt"/>
159
+ <line num="145" count="3" type="stmt"/>
160
+ <line num="146" count="3" type="stmt"/>
161
+ <line num="147" count="5" type="cond" truecount="1" falsecount="0"/>
162
+ <line num="148" count="1" type="stmt"/>
163
+ <line num="149" count="1" type="stmt"/>
164
+ <line num="150" count="1" type="stmt"/>
165
+ <line num="151" count="1" type="stmt"/>
166
+ <line num="152" count="1" type="stmt"/>
167
+ <line num="153" count="1" type="stmt"/>
168
+ <line num="154" count="1" type="stmt"/>
169
+ <line num="155" count="1" type="stmt"/>
170
+ <line num="156" count="5" type="stmt"/>
171
+ <line num="157" count="1" type="stmt"/>
172
+ <line num="158" count="1" type="stmt"/>
173
+ <line num="159" count="1" type="stmt"/>
174
+ </file>
175
+ </project>
176
+ </coverage>
@@ -0,0 +1,3 @@
1
+ {"/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/constants.ts": {"path":"/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":61}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":54}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"branchMap":{},"b":{},"fnMap":{},"f":{}}
2
+ ,"/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/index.ts": {"path":"/Users/bhabalan/dev/webex-js-sdk/packages/@webex/plugin-encryption/src/cypher/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":46}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":34}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":3}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":39}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":9}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":57}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":30}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":36}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":21}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":41}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":4}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":82}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":4}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":13}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":83}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":95}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":31}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":19}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":58}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":82}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":29}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":20}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":85}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":38}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":17}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":19}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":85}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":31}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":8}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":25}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":85}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":9}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":28}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":29}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":22}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":27}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":87}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":31}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":38}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":19}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":19}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":87}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":32}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":8}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":25}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":87}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":20}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":9}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":54}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":4}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":67}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":74}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":90}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":62}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":4}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":13}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":18}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":91}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":43}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":29}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":88}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":97}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":7}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":92}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":84}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":8}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":38}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":20}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":66}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":27}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":774}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":113}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":61}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":69}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":63}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":103}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":43}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":58}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":80}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":63}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":78}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":35}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":32}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":9}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":35}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":59}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":53}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":21}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":87}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":22}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":98}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":8}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":73}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":26}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":30}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":24}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":5}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":67}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":26}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":22}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":112}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":8}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":9}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":39}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":80}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":71}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":86}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":21}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":38}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":87}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":32}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":10}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":8}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":34}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":26}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":3}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":1}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":22}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":22,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":22,"26":22,"27":22,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":3,"35":1,"36":1,"37":1,"38":1,"39":2,"40":2,"41":2,"42":2,"43":1,"44":1,"45":2,"46":2,"47":1,"48":1,"49":1,"50":2,"51":2,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":3,"59":1,"60":1,"61":1,"62":1,"63":2,"64":2,"65":2,"66":2,"67":1,"68":1,"69":2,"70":2,"71":1,"72":1,"73":1,"74":2,"75":2,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":5,"99":5,"100":5,"101":5,"102":5,"103":5,"104":5,"105":5,"106":5,"107":5,"108":5,"109":5,"110":5,"111":5,"112":5,"113":5,"114":5,"115":5,"116":5,"117":5,"118":5,"119":5,"120":5,"121":0,"122":0,"123":0,"124":0,"125":0,"126":5,"127":5,"128":5,"129":2,"130":2,"131":2,"132":5,"133":5,"134":5,"135":1,"136":1,"137":1,"138":1,"139":4,"140":4,"141":4,"142":4,"143":3,"144":3,"145":3,"146":5,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":5,"156":1,"157":1,"158":1},"branchMap":{"0":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":11},"end":{"line":14,"column":20}},"locations":[{"start":{"line":12,"column":11},"end":{"line":14,"column":20}}]},"1":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":28,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":28,"column":3}}]},"2":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":2},"end":{"line":52,"column":3}},"locations":[{"start":{"line":34,"column":2},"end":{"line":52,"column":3}}]},"3":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":25},"end":{"line":39,"column":5}},"locations":[{"start":{"line":35,"column":25},"end":{"line":39,"column":5}}]},"4":{"type":"branch","line":39,"loc":{"start":{"line":39,"column":4},"end":{"line":52,"column":3}},"locations":[{"start":{"line":39,"column":4},"end":{"line":52,"column":3}}]},"5":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":12},"end":{"line":46,"column":7}},"locations":[{"start":{"line":43,"column":12},"end":{"line":46,"column":7}}]},"6":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":14},"end":{"line":51,"column":7}},"locations":[{"start":{"line":47,"column":14},"end":{"line":51,"column":7}}]},"7":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":2},"end":{"line":76,"column":3}},"locations":[{"start":{"line":58,"column":2},"end":{"line":76,"column":3}}]},"8":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":26},"end":{"line":63,"column":5}},"locations":[{"start":{"line":59,"column":26},"end":{"line":63,"column":5}}]},"9":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":4},"end":{"line":76,"column":3}},"locations":[{"start":{"line":63,"column":4},"end":{"line":76,"column":3}}]},"10":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":12},"end":{"line":70,"column":7}},"locations":[{"start":{"line":67,"column":12},"end":{"line":70,"column":7}}]},"11":{"type":"branch","line":71,"loc":{"start":{"line":71,"column":14},"end":{"line":75,"column":7}},"locations":[{"start":{"line":71,"column":14},"end":{"line":75,"column":7}}]},"12":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":2},"end":{"line":156,"column":3}},"locations":[{"start":{"line":98,"column":2},"end":{"line":156,"column":3}}]},"13":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":45},"end":{"line":119,"column":58}},"locations":[{"start":{"line":119,"column":45},"end":{"line":119,"column":58}}]},"14":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":39},"end":{"line":120,"column":52}},"locations":[{"start":{"line":120,"column":39},"end":{"line":120,"column":52}}]},"15":{"type":"branch","line":121,"loc":{"start":{"line":121,"column":6},"end":{"line":126,"column":5}},"locations":[{"start":{"line":121,"column":6},"end":{"line":126,"column":5}}]},"16":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":15},"end":{"line":129,"column":23}},"locations":[{"start":{"line":129,"column":15},"end":{"line":129,"column":23}}]},"17":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":25},"end":{"line":132,"column":5}},"locations":[{"start":{"line":129,"column":25},"end":{"line":132,"column":5}}]},"18":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":15},"end":{"line":135,"column":23}},"locations":[{"start":{"line":135,"column":15},"end":{"line":135,"column":23}}]},"19":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":25},"end":{"line":139,"column":5}},"locations":[{"start":{"line":135,"column":25},"end":{"line":139,"column":5}}]},"20":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":4},"end":{"line":143,"column":80}},"locations":[{"start":{"line":139,"column":4},"end":{"line":143,"column":80}}]},"21":{"type":"branch","line":143,"loc":{"start":{"line":143,"column":79},"end":{"line":147,"column":6}},"locations":[{"start":{"line":143,"column":79},"end":{"line":147,"column":6}}]},"22":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":6},"end":{"line":155,"column":5}},"locations":[{"start":{"line":147,"column":6},"end":{"line":155,"column":5}}]}},"b":{"0":[22],"1":[22],"2":[3],"3":[1],"4":[2],"5":[1],"6":[1],"7":[3],"8":[1],"9":[2],"10":[1],"11":[1],"12":[5],"13":[2],"14":[2],"15":[0],"16":[3],"17":[2],"18":[4],"19":[1],"20":[4],"21":[3],"22":[1]},"fnMap":{"0":{"name":"<instance_members_initializer>","decl":{"start":{"line":12,"column":11},"end":{"line":14,"column":20}},"loc":{"start":{"line":12,"column":11},"end":{"line":14,"column":20}},"line":12},"1":{"name":"Cypher","decl":{"start":{"line":25,"column":2},"end":{"line":28,"column":3}},"loc":{"start":{"line":25,"column":2},"end":{"line":28,"column":3}},"line":25},"2":{"name":"register","decl":{"start":{"line":34,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":34,"column":2},"end":{"line":52,"column":3}},"line":34},"3":{"name":"deregister","decl":{"start":{"line":58,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":58,"column":2},"end":{"line":76,"column":3}},"line":58},"4":{"name":"downloadAndDecryptFile","decl":{"start":{"line":98,"column":2},"end":{"line":156,"column":3}},"loc":{"start":{"line":98,"column":2},"end":{"line":156,"column":3}},"line":98}},"f":{"0":22,"1":22,"2":3,"3":3,"4":5}}
3
+ }