maxmind 2.10.0 → 2.12.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.
- package/.github/main.workflow +16 -0
- package/LICENSE +1 -1
- package/README.md +45 -2
- package/examples/README.md +2 -0
- package/index.d.ts +118 -114
- package/lib/bigint.js +2 -2
- package/lib/metadata.js +1 -1
- package/package.json +6 -5
- package/tslint.json +4 -0
- package/.nyc_output/b65d0aee5ae72eefe674695f0b3cc653.json +0 -1
- package/.nyc_output/c194a11003d542e533dda0e03e1c0249.json +0 -1
- package/.nyc_output/e5178fde26f4197a251893de3577725e.json +0 -1
- package/scripts/lint +0 -20
- package/scripts/release +0 -17
- package/scripts/test +0 -24
- package/test/data/.git +0 -1
- package/test/data/.gitattributes +0 -1
- package/test/data/.gitconfig +0 -2
- package/test/data/.perltidyallrc +0 -11
- package/test/data/.tidyallrc +0 -7
- package/test/data/LICENSE +0 -4
- package/test/data/MaxMind-DB-spec.md +0 -558
- package/test/data/README.md +0 -4
- package/test/data/perltidyrc +0 -12
- package/test/data/source-data/GeoIP2-Anonymous-IP-Test.json +0 -32
- package/test/data/source-data/GeoIP2-City-Test.json +0 -12376
- package/test/data/source-data/GeoIP2-Connection-Type-Test.json +0 -102
- package/test/data/source-data/GeoIP2-Country-Test.json +0 -10975
- package/test/data/source-data/GeoIP2-Domain-Test.json +0 -452
- package/test/data/source-data/GeoIP2-Enterprise-Test.json +0 -96
- package/test/data/source-data/GeoIP2-ISP-Test.json +0 -12585
- package/test/data/source-data/GeoIP2-Precision-City-Test.json +0 -12456
- package/test/data/source-data/GeoIP2-Precision-ISP-Test.json +0 -12593
- package/test/data/source-data/README +0 -13
- package/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
- package/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Precision-City-Test.mmdb +0 -0
- package/test/data/test-data/GeoIP2-Precision-ISP-Test.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
- package/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
- package/test/data/test-data/README.md +0 -26
- package/test/data/test-data/maps-with-pointers.raw +0 -0
- package/test/data/test-data/write-test-data.pl +0 -561
- package/test/data/tidyall.ini +0 -5
- package/test/databases/GeoIP2-City-Test.mmdb.gz +0 -0
- package/test/databases/broken.dat +0 -0
- package/test/databases/legacy.dat +0 -0
- package/test/decoder.js +0 -78
- package/test/e2e.js +0 -146
- package/test/index.js +0 -176
- package/test/ip.js +0 -89
- package/test/is-gzip.js +0 -21
- package/test/reader.js +0 -124
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
workflow "New workflow" {
|
|
2
|
+
on = "push"
|
|
3
|
+
resolves = ["Deps", "Lint"]
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
action "Deps" {
|
|
7
|
+
uses = "actions/npm@de7a3705a9510ee12702e124482fad6af249991b"
|
|
8
|
+
runs = "npm install"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
action "Lint" {
|
|
12
|
+
uses = "actions/npm@de7a3705a9510ee12702e124482fad6af249991b"
|
|
13
|
+
runs = "npm run lint"
|
|
14
|
+
needs = "Deps"
|
|
15
|
+
}
|
|
16
|
+
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@ node-maxmind [ than other libraries. Module has 100% test coverage with comprehensive test suite. It natively works with binary Maxmind database format and doesn't require any "CSV - {specific lib format}" conversions as some other modules do. Maxmind binary databases are highly optimized for size and performance so there's no point
|
|
5
|
+
Vanilla Javascript module for Geo IP lookup using Maxmind binary databases (aka mmdb or geoip2).
|
|
6
|
+
Fastest Maxmind lookup library available - up to [17,000% faster](https://github.com/runk/node-maxmind-benchmark) than other libraries. Module has 100% test coverage with comprehensive test suite. It natively works with binary Maxmind database format and doesn't require any "CSV - {specific lib format}" conversions as some other modules do. Maxmind binary databases are highly optimized for size and performance so there's no point using other formats.
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
## GEO databases
|
|
@@ -20,6 +20,8 @@ npm i maxmind
|
|
|
20
20
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
|
+
### JavaScript
|
|
24
|
+
|
|
23
25
|
```javascript
|
|
24
26
|
var maxmind = require('maxmind');
|
|
25
27
|
|
|
@@ -43,6 +45,47 @@ var orgLookup = maxmind.openSync('/path/to/GeoOrg.mmdb');
|
|
|
43
45
|
var organization = orgLookup.get('66.6.44.4');
|
|
44
46
|
```
|
|
45
47
|
|
|
48
|
+
### TypeScript
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import * as maxmind from 'maxmind';
|
|
52
|
+
|
|
53
|
+
maxmind.open<maxmind.CityResponse>('/path/to/GeoLite2-City.mmdb', (err, cityLookup) => {
|
|
54
|
+
let city = cityLookup.get('8.8.8.8'); // inferred type maxmind.CityResponse
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
// sync version
|
|
59
|
+
|
|
60
|
+
let cityLookup = maxmind.openSync<maxmind.CityResponse>('/path/to/GeoLite2-City.mmdb');
|
|
61
|
+
let city = cityLookup.get('8.8.8.8'); // inferred type maxmind.CityResponse
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
// use Reader class directly
|
|
65
|
+
|
|
66
|
+
let cityLookup: maxmind.Reader<maxmind.CityResponse> = null;
|
|
67
|
+
myLib.downloadFromCloudToStream(someCloudMaxmindDbUrl, (err, buffer) => {
|
|
68
|
+
if (!err) {
|
|
69
|
+
cityLookup = new maxmind.Reader(buffer);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
if (cityLookup) {
|
|
74
|
+
let city = cityLookup.get('8.8.8.8'); // inferred type maxmind.CityResponse
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Supported response types:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
- CountryResponse
|
|
82
|
+
- CityResponse
|
|
83
|
+
- AnonymousIPResponse
|
|
84
|
+
- AsnResponse
|
|
85
|
+
- ConnectionTypeResponse
|
|
86
|
+
- DomainResponse
|
|
87
|
+
- IspResponse
|
|
88
|
+
```
|
|
46
89
|
|
|
47
90
|
## V6 Support
|
|
48
91
|
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface OpenOpts {
|
|
2
2
|
cache?: {
|
|
3
3
|
max: number,
|
|
4
4
|
};
|
|
@@ -7,81 +7,82 @@ export interface IOpenOpts {
|
|
|
7
7
|
watchForUpdatesHook?: () => void;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export interface
|
|
11
|
-
de?: string;
|
|
12
|
-
en: string;
|
|
13
|
-
es?: string;
|
|
14
|
-
fr?: string;
|
|
15
|
-
ja?: string;
|
|
16
|
-
'pt-BR'?: string;
|
|
17
|
-
ru?: string;
|
|
18
|
-
'zh-CN'?: string;
|
|
10
|
+
export interface Names {
|
|
11
|
+
readonly de?: string;
|
|
12
|
+
readonly en: string;
|
|
13
|
+
readonly es?: string;
|
|
14
|
+
readonly fr?: string;
|
|
15
|
+
readonly ja?: string;
|
|
16
|
+
readonly 'pt-BR'?: string;
|
|
17
|
+
readonly ru?: string;
|
|
18
|
+
readonly 'zh-CN'?: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export interface
|
|
22
|
-
confidence?: number;
|
|
23
|
-
geoname_id: number;
|
|
24
|
-
names:
|
|
21
|
+
export interface CityRecord {
|
|
22
|
+
readonly confidence?: number;
|
|
23
|
+
readonly geoname_id: number;
|
|
24
|
+
readonly names: Names;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export interface
|
|
28
|
-
code: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA';
|
|
29
|
-
geoname_id: number;
|
|
30
|
-
names:
|
|
27
|
+
export interface ContinentRecord {
|
|
28
|
+
readonly code: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA';
|
|
29
|
+
readonly geoname_id: number;
|
|
30
|
+
readonly names: Names;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export interface
|
|
34
|
-
geoname_id: number;
|
|
35
|
-
is_in_european_union?: boolean;
|
|
36
|
-
iso_code: string;
|
|
37
|
-
names:
|
|
33
|
+
export interface RegisteredCountryRecord {
|
|
34
|
+
readonly geoname_id: number;
|
|
35
|
+
readonly is_in_european_union?: boolean;
|
|
36
|
+
readonly iso_code: string;
|
|
37
|
+
readonly names: Names;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export interface
|
|
41
|
-
confidence?: number;
|
|
40
|
+
export interface CountryRecord extends RegisteredCountryRecord {
|
|
41
|
+
readonly confidence?: number;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export interface
|
|
45
|
-
accuracy_radius
|
|
46
|
-
average_income?: number;
|
|
47
|
-
latitude
|
|
48
|
-
longitude
|
|
49
|
-
metro_code?: number;
|
|
50
|
-
population_density?: number;
|
|
51
|
-
time_zone?: string;
|
|
44
|
+
export interface LocationRecord {
|
|
45
|
+
readonly accuracy_radius: number;
|
|
46
|
+
readonly average_income?: number;
|
|
47
|
+
readonly latitude: number;
|
|
48
|
+
readonly longitude: number;
|
|
49
|
+
readonly metro_code?: number;
|
|
50
|
+
readonly population_density?: number;
|
|
51
|
+
readonly time_zone?: string;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
export interface
|
|
55
|
-
code
|
|
56
|
-
confidence?: number;
|
|
54
|
+
export interface PostalRecord {
|
|
55
|
+
readonly code: string;
|
|
56
|
+
readonly confidence?: number;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
export interface
|
|
60
|
-
type: string;
|
|
59
|
+
export interface RepresentedCountryRecord extends RegisteredCountryRecord {
|
|
60
|
+
readonly type: string;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
export interface
|
|
64
|
-
confidence?: number;
|
|
65
|
-
geoname_id
|
|
66
|
-
iso_code
|
|
67
|
-
names
|
|
63
|
+
export interface SubdivisionsRecord {
|
|
64
|
+
readonly confidence?: number;
|
|
65
|
+
readonly geoname_id: number;
|
|
66
|
+
readonly iso_code: string;
|
|
67
|
+
readonly names: Names;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
export interface
|
|
71
|
-
autonomous_system_number?: number;
|
|
72
|
-
autonomous_system_organization?: string;
|
|
73
|
-
domain?: string;
|
|
74
|
-
ip_address
|
|
75
|
-
is_anonymous?: boolean;
|
|
76
|
-
is_anonymous_proxy?: boolean;
|
|
77
|
-
is_anonymous_vpn?: boolean;
|
|
78
|
-
is_hosting_provider?: boolean;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
70
|
+
export interface TraitsRecord {
|
|
71
|
+
readonly autonomous_system_number?: number;
|
|
72
|
+
readonly autonomous_system_organization?: string;
|
|
73
|
+
readonly domain?: string;
|
|
74
|
+
ip_address?: string;
|
|
75
|
+
readonly is_anonymous?: boolean;
|
|
76
|
+
readonly is_anonymous_proxy?: boolean;
|
|
77
|
+
readonly is_anonymous_vpn?: boolean;
|
|
78
|
+
readonly is_hosting_provider?: boolean;
|
|
79
|
+
readonly is_legitimate_proxy?: boolean;
|
|
80
|
+
readonly is_public_proxy?: boolean;
|
|
81
|
+
readonly is_satellite_provider?: boolean;
|
|
82
|
+
readonly is_tor_exit_node?: boolean;
|
|
83
|
+
readonly isp?: string;
|
|
84
|
+
readonly organization?: string;
|
|
85
|
+
readonly user_type?: 'business'
|
|
85
86
|
| 'cafe'
|
|
86
87
|
| 'cellular'
|
|
87
88
|
| 'college'
|
|
@@ -98,82 +99,85 @@ export interface ITraits {
|
|
|
98
99
|
| 'traveler';
|
|
99
100
|
}
|
|
100
101
|
|
|
101
|
-
export interface
|
|
102
|
-
continent?:
|
|
103
|
-
country?:
|
|
104
|
-
registered_country?:
|
|
105
|
-
represented_country?:
|
|
106
|
-
traits?:
|
|
102
|
+
export interface CountryResponse {
|
|
103
|
+
readonly continent?: ContinentRecord;
|
|
104
|
+
readonly country?: CountryRecord;
|
|
105
|
+
readonly registered_country?: RegisteredCountryRecord;
|
|
106
|
+
readonly represented_country?: RepresentedCountryRecord;
|
|
107
|
+
readonly traits?: TraitsRecord;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
export interface
|
|
110
|
-
city?:
|
|
111
|
-
location?:
|
|
112
|
-
postal?:
|
|
113
|
-
subdivisions?:
|
|
110
|
+
export interface CityResponse extends CountryResponse {
|
|
111
|
+
readonly city?: CityRecord;
|
|
112
|
+
readonly location?: LocationRecord;
|
|
113
|
+
readonly postal?: PostalRecord;
|
|
114
|
+
readonly subdivisions?: SubdivisionsRecord[];
|
|
114
115
|
}
|
|
115
116
|
|
|
116
|
-
export interface
|
|
117
|
-
ip_address
|
|
118
|
-
is_anonymous?: boolean;
|
|
119
|
-
is_anonymous_proxy?: boolean;
|
|
120
|
-
is_anonymous_vpn?: boolean;
|
|
121
|
-
is_hosting_provider?: boolean;
|
|
122
|
-
is_public_proxy?: boolean;
|
|
123
|
-
is_tor_exit_node?: boolean;
|
|
117
|
+
export interface AnonymousIPResponse {
|
|
118
|
+
ip_address?: string;
|
|
119
|
+
readonly is_anonymous?: boolean;
|
|
120
|
+
readonly is_anonymous_proxy?: boolean;
|
|
121
|
+
readonly is_anonymous_vpn?: boolean;
|
|
122
|
+
readonly is_hosting_provider?: boolean;
|
|
123
|
+
readonly is_public_proxy?: boolean;
|
|
124
|
+
readonly is_tor_exit_node?: boolean;
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
export interface
|
|
127
|
-
autonomous_system_number: number;
|
|
128
|
-
autonomous_system_organization: string;
|
|
129
|
-
ip_address
|
|
127
|
+
export interface AsnResponse {
|
|
128
|
+
readonly autonomous_system_number: number;
|
|
129
|
+
readonly autonomous_system_organization: string;
|
|
130
|
+
ip_address?: string;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
export interface
|
|
133
|
-
connection_type: string;
|
|
134
|
-
ip_address
|
|
133
|
+
export interface ConnectionTypeResponse {
|
|
134
|
+
readonly connection_type: string;
|
|
135
|
+
ip_address?: string;
|
|
135
136
|
}
|
|
136
137
|
|
|
137
|
-
export interface
|
|
138
|
-
domain: string;
|
|
139
|
-
ip_address
|
|
138
|
+
export interface DomainResponse {
|
|
139
|
+
readonly domain: string;
|
|
140
|
+
ip_address?: string;
|
|
140
141
|
}
|
|
141
142
|
|
|
142
|
-
export interface
|
|
143
|
-
isp: string;
|
|
144
|
-
organization: string;
|
|
143
|
+
export interface IspResponse extends AsnResponse {
|
|
144
|
+
readonly isp: string;
|
|
145
|
+
readonly organization: string;
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
export
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
ipVersion: number;
|
|
155
|
-
nodeCount: number;
|
|
156
|
-
recordSize: number;
|
|
157
|
-
nodeByteSize: number;
|
|
158
|
-
searchTreeSize: number;
|
|
159
|
-
treeDepth: number;
|
|
160
|
-
}
|
|
148
|
+
export type Response = CountryResponse
|
|
149
|
+
| CityResponse
|
|
150
|
+
| AnonymousIPResponse
|
|
151
|
+
| AsnResponse
|
|
152
|
+
| ConnectionTypeResponse
|
|
153
|
+
| DomainResponse
|
|
154
|
+
| IspResponse;
|
|
161
155
|
|
|
162
|
-
export interface
|
|
163
|
-
|
|
164
|
-
|
|
156
|
+
export interface Metadata {
|
|
157
|
+
readonly binaryFormatMajorVersion: number;
|
|
158
|
+
readonly binaryFormatMinorVersion: number;
|
|
159
|
+
readonly buildEpoch: Date;
|
|
160
|
+
readonly databaseType: string;
|
|
161
|
+
readonly languages: string[];
|
|
162
|
+
readonly description: any;
|
|
163
|
+
readonly ipVersion: number;
|
|
164
|
+
readonly nodeCount: number;
|
|
165
|
+
readonly recordSize: number;
|
|
166
|
+
readonly nodeByteSize: number;
|
|
167
|
+
readonly searchTreeSize: number;
|
|
168
|
+
readonly treeDepth: number;
|
|
165
169
|
}
|
|
166
170
|
|
|
167
|
-
export class Reader
|
|
168
|
-
public metadata:
|
|
169
|
-
public get: (ipAddress: string) =>
|
|
170
|
-
constructor(buffer: Buffer, opts?:
|
|
171
|
+
export class Reader<T extends Response = any> {
|
|
172
|
+
public metadata: Metadata;
|
|
173
|
+
public get: (ipAddress: string) => T | null;
|
|
174
|
+
constructor(buffer: Buffer, opts?: OpenOpts);
|
|
171
175
|
}
|
|
172
176
|
|
|
173
|
-
export type openCb = (err: Error, cb:
|
|
177
|
+
export type openCb<T extends Response = any> = (err: Error, cb: Reader<T>) => void;
|
|
174
178
|
|
|
175
|
-
export function open(filepath: string, opts?:
|
|
179
|
+
export function open<T extends Response = any>(filepath: string, opts?: OpenOpts | openCb<T>, cb?: openCb<T>): void;
|
|
176
180
|
|
|
177
|
-
export function openSync(filepath: string, opts?:
|
|
181
|
+
export function openSync<T extends Response = any>(filepath: string, opts?: OpenOpts): Reader<T>;
|
|
178
182
|
|
|
179
183
|
export function validate(ipAddress: string): boolean;
|
package/lib/bigint.js
CHANGED
|
@@ -7,7 +7,7 @@ var bigInt = require('big-integer');
|
|
|
7
7
|
/* istanbul ignore file */
|
|
8
8
|
module.exports = (typeof BigInt === 'undefined') ?
|
|
9
9
|
function polyfill(offset, size) {
|
|
10
|
-
var buffer =
|
|
10
|
+
var buffer = Buffer.alloc(size);
|
|
11
11
|
this.db.copy(buffer, 0, offset, offset + size);
|
|
12
12
|
|
|
13
13
|
var integer = 0;
|
|
@@ -20,7 +20,7 @@ module.exports = (typeof BigInt === 'undefined') ?
|
|
|
20
20
|
return integer.toString();
|
|
21
21
|
} :
|
|
22
22
|
function native(offset, size) {
|
|
23
|
-
var buffer =
|
|
23
|
+
var buffer = Buffer.alloc(size);
|
|
24
24
|
this.db.copy(buffer, 0, offset, offset + size);
|
|
25
25
|
|
|
26
26
|
var integer = BigInt(0); // eslint-disable-line no-undef
|
package/lib/metadata.js
CHANGED
|
@@ -4,7 +4,7 @@ var assert = require('assert');
|
|
|
4
4
|
var Decoder = require('./decoder');
|
|
5
5
|
var utils = require('./utils');
|
|
6
6
|
|
|
7
|
-
var METADATA_START_MARKER =
|
|
7
|
+
var METADATA_START_MARKER = Buffer.from('ABCDEF4D61784D696E642E636F6D', 'hex');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
module.exports = Metadata;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maxmind",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"homepage": "https://github.com/runk/node-maxmind",
|
|
5
5
|
"description": "IP lookup using Maxmind databases",
|
|
6
6
|
"keywords": [
|
|
@@ -24,18 +24,19 @@
|
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"big-integer": "^1.6.31",
|
|
27
|
-
"tiny-lru": "^
|
|
27
|
+
"tiny-lru": "^6.0.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
+
"@types/node": "10.12.20",
|
|
30
31
|
"eslint": "2.13.1",
|
|
31
32
|
"github-publish-release": "5.0.1",
|
|
32
33
|
"ip-address": "5.8.9",
|
|
33
34
|
"istanbul": "0.4.5",
|
|
34
35
|
"mocha": "5.2.0",
|
|
35
36
|
"nyc": "13.1.0",
|
|
36
|
-
"sinon": "7.
|
|
37
|
-
"tslint": "5.
|
|
38
|
-
"typescript": "3.1
|
|
37
|
+
"sinon": "7.2.3",
|
|
38
|
+
"tslint": "5.12.1",
|
|
39
|
+
"typescript": "3.3.1"
|
|
39
40
|
},
|
|
40
41
|
"repository": {
|
|
41
42
|
"type": "git",
|
package/tslint.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"/Users/dmitry/projects/node-maxmind/lib/decoder.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/decoder.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":30}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":35}},"2":{"start":{"line":5,"column":10},"end":{"line":5,"column":29}},"3":{"start":{"line":6,"column":12},"end":{"line":6,"column":30}},"4":{"start":{"line":8,"column":12},"end":{"line":25,"column":1}},"5":{"start":{"line":27,"column":25},"end":{"line":27,"column":45}},"6":{"start":{"line":30,"column":2},"end":{"line":30,"column":42}},"7":{"start":{"line":34,"column":0},"end":{"line":34,"column":25}},"8":{"start":{"line":37,"column":2},"end":{"line":37,"column":50}},"9":{"start":{"line":38,"column":2},"end":{"line":38,"column":36}},"10":{"start":{"line":40,"column":2},"end":{"line":40,"column":20}},"11":{"start":{"line":41,"column":2},"end":{"line":41,"column":32}},"12":{"start":{"line":42,"column":2},"end":{"line":42,"column":42}},"13":{"start":{"line":43,"column":2},"end":{"line":43,"column":35}},"14":{"start":{"line":47,"column":0},"end":{"line":69,"column":2}},"15":{"start":{"line":49,"column":15},"end":{"line":49,"column":32}},"16":{"start":{"line":50,"column":11},"end":{"line":50,"column":31}},"17":{"start":{"line":52,"column":2},"end":{"line":55,"column":3}},"18":{"start":{"line":53,"column":4},"end":{"line":53,"column":47}},"19":{"start":{"line":54,"column":4},"end":{"line":54,"column":64}},"20":{"start":{"line":57,"column":2},"end":{"line":65,"column":3}},"21":{"start":{"line":58,"column":4},"end":{"line":58,"column":30}},"22":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"23":{"start":{"line":60,"column":6},"end":{"line":60,"column":83}},"24":{"start":{"line":63,"column":4},"end":{"line":63,"column":22}},"25":{"start":{"line":64,"column":4},"end":{"line":64,"column":13}},"26":{"start":{"line":67,"column":13},"end":{"line":67,"column":52}},"27":{"start":{"line":68,"column":2},"end":{"line":68,"column":58}},"28":{"start":{"line":72,"column":0},"end":{"line":81,"column":2}},"29":{"start":{"line":73,"column":15},"end":{"line":73,"column":37}},"30":{"start":{"line":74,"column":2},"end":{"line":76,"column":3}},"31":{"start":{"line":75,"column":4},"end":{"line":75,"column":18}},"32":{"start":{"line":78,"column":15},"end":{"line":78,"column":34}},"33":{"start":{"line":79,"column":2},"end":{"line":79,"column":33}},"34":{"start":{"line":80,"column":2},"end":{"line":80,"column":16}},"35":{"start":{"line":84,"column":0},"end":{"line":124,"column":2}},"36":{"start":{"line":85,"column":18},"end":{"line":85,"column":31}},"37":{"start":{"line":96,"column":2},"end":{"line":121,"column":3}},"38":{"start":{"line":98,"column":6},"end":{"line":98,"column":64}},"39":{"start":{"line":100,"column":6},"end":{"line":100,"column":42}},"40":{"start":{"line":102,"column":6},"end":{"line":102,"column":62}},"41":{"start":{"line":104,"column":6},"end":{"line":104,"column":64}},"42":{"start":{"line":106,"column":6},"end":{"line":106,"column":44}},"43":{"start":{"line":108,"column":6},"end":{"line":108,"column":54}},"44":{"start":{"line":110,"column":6},"end":{"line":110,"column":63}},"45":{"start":{"line":112,"column":6},"end":{"line":112,"column":63}},"46":{"start":{"line":114,"column":6},"end":{"line":114,"column":62}},"47":{"start":{"line":116,"column":6},"end":{"line":116,"column":63}},"48":{"start":{"line":118,"column":6},"end":{"line":118,"column":62}},"49":{"start":{"line":120,"column":6},"end":{"line":120,"column":62}},"50":{"start":{"line":123,"column":2},"end":{"line":123,"column":67}},"51":{"start":{"line":127,"column":0},"end":{"line":166,"column":2}},"52":{"start":{"line":138,"column":13},"end":{"line":138,"column":28}},"53":{"start":{"line":146,"column":2},"end":{"line":147,"column":32}},"54":{"start":{"line":147,"column":4},"end":{"line":147,"column":32}},"55":{"start":{"line":151,"column":2},"end":{"line":152,"column":52}},"56":{"start":{"line":152,"column":4},"end":{"line":152,"column":52}},"57":{"start":{"line":156,"column":2},"end":{"line":157,"column":73}},"58":{"start":{"line":157,"column":4},"end":{"line":157,"column":73}},"59":{"start":{"line":162,"column":2},"end":{"line":165,"column":4}},"60":{"start":{"line":169,"column":0},"end":{"line":171,"column":2}},"61":{"start":{"line":170,"column":2},"end":{"line":170,"column":46}},"62":{"start":{"line":174,"column":0},"end":{"line":213,"column":2}},"63":{"start":{"line":181,"column":21},"end":{"line":181,"column":40}},"64":{"start":{"line":183,"column":16},"end":{"line":183,"column":65}},"65":{"start":{"line":184,"column":15},"end":{"line":184,"column":16}},"66":{"start":{"line":190,"column":2},"end":{"line":209,"column":3}},"67":{"start":{"line":191,"column":4},"end":{"line":191,"column":58}},"68":{"start":{"line":195,"column":9},"end":{"line":209,"column":3}},"69":{"start":{"line":196,"column":4},"end":{"line":196,"column":79}},"70":{"start":{"line":200,"column":9},"end":{"line":209,"column":3}},"71":{"start":{"line":201,"column":4},"end":{"line":201,"column":100}},"72":{"start":{"line":208,"column":4},"end":{"line":208,"column":48}},"73":{"start":{"line":211,"column":2},"end":{"line":211,"column":28}},"74":{"start":{"line":212,"column":2},"end":{"line":212,"column":42}},"75":{"start":{"line":216,"column":0},"end":{"line":227,"column":2}},"76":{"start":{"line":218,"column":14},"end":{"line":218,"column":16}},"77":{"start":{"line":220,"column":2},"end":{"line":224,"column":3}},"78":{"start":{"line":221,"column":4},"end":{"line":221,"column":30}},"79":{"start":{"line":222,"column":4},"end":{"line":222,"column":24}},"80":{"start":{"line":223,"column":4},"end":{"line":223,"column":26}},"81":{"start":{"line":226,"column":2},"end":{"line":226,"column":31}},"82":{"start":{"line":230,"column":0},"end":{"line":232,"column":2}},"83":{"start":{"line":231,"column":2},"end":{"line":231,"column":20}},"84":{"start":{"line":235,"column":0},"end":{"line":237,"column":2}},"85":{"start":{"line":236,"column":2},"end":{"line":236,"column":44}},"86":{"start":{"line":240,"column":0},"end":{"line":242,"column":2}},"87":{"start":{"line":241,"column":2},"end":{"line":241,"column":43}},"88":{"start":{"line":245,"column":0},"end":{"line":259,"column":2}},"89":{"start":{"line":248,"column":12},"end":{"line":248,"column":14}},"90":{"start":{"line":250,"column":2},"end":{"line":256,"column":3}},"91":{"start":{"line":251,"column":4},"end":{"line":251,"column":30}},"92":{"start":{"line":252,"column":4},"end":{"line":252,"column":20}},"93":{"start":{"line":253,"column":4},"end":{"line":253,"column":34}},"94":{"start":{"line":254,"column":4},"end":{"line":254,"column":24}},"95":{"start":{"line":255,"column":4},"end":{"line":255,"column":25}},"96":{"start":{"line":258,"column":2},"end":{"line":258,"column":29}},"97":{"start":{"line":262,"column":0},"end":{"line":265,"column":2}},"98":{"start":{"line":263,"column":2},"end":{"line":263,"column":26}},"99":{"start":{"line":263,"column":17},"end":{"line":263,"column":26}},"100":{"start":{"line":264,"column":2},"end":{"line":264,"column":43}},"101":{"start":{"line":268,"column":0},"end":{"line":279,"column":2}},"102":{"start":{"line":269,"column":2},"end":{"line":277,"column":3}},"103":{"start":{"line":270,"column":12},"end":{"line":270,"column":21}},"104":{"start":{"line":271,"column":12},"end":{"line":271,"column":35}},"105":{"start":{"line":272,"column":12},"end":{"line":272,"column":75}},"106":{"start":{"line":273,"column":12},"end":{"line":273,"column":96}},"107":{"start":{"line":274,"column":12},"end":{"line":274,"column":117}},"108":{"start":{"line":275,"column":12},"end":{"line":275,"column":52}},"109":{"start":{"line":276,"column":13},"end":{"line":276,"column":53}},"110":{"start":{"line":278,"column":2},"end":{"line":278,"column":11}},"111":{"start":{"line":282,"column":0},"end":{"line":293,"column":2}},"112":{"start":{"line":283,"column":15},"end":{"line":283,"column":31}},"113":{"start":{"line":284,"column":2},"end":{"line":284,"column":49}},"114":{"start":{"line":286,"column":16},"end":{"line":286,"column":17}},"115":{"start":{"line":287,"column":22},"end":{"line":287,"column":30}},"116":{"start":{"line":288,"column":2},"end":{"line":290,"column":3}},"117":{"start":{"line":289,"column":4},"end":{"line":289,"column":90}},"118":{"start":{"line":292,"column":2},"end":{"line":292,"column":28}},"119":{"start":{"line":296,"column":0},"end":{"line":298,"column":2}},"120":{"start":{"line":297,"column":2},"end":{"line":297,"column":50}}},"fnMap":{"0":{"name":"cursor","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":15}},"loc":{"start":{"line":29,"column":31},"end":{"line":31,"column":1}},"line":29},"1":{"name":"Decoder","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":16}},"loc":{"start":{"line":36,"column":39},"end":{"line":44,"column":1}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":47,"column":27},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":44},"end":{"line":69,"column":1}},"line":47},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":31},"end":{"line":72,"column":32}},"loc":{"start":{"line":72,"column":48},"end":{"line":81,"column":1}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":33},"end":{"line":84,"column":34}},"loc":{"start":{"line":84,"column":62},"end":{"line":124,"column":1}},"line":84},"5":{"name":"(anonymous_5)","decl":{"start":{"line":127,"column":37},"end":{"line":127,"column":38}},"loc":{"start":{"line":127,"column":64},"end":{"line":166,"column":1}},"line":127},"6":{"name":"(anonymous_6)","decl":{"start":{"line":169,"column":32},"end":{"line":169,"column":33}},"loc":{"start":{"line":169,"column":55},"end":{"line":171,"column":1}},"line":169},"7":{"name":"(anonymous_7)","decl":{"start":{"line":174,"column":34},"end":{"line":174,"column":35}},"loc":{"start":{"line":174,"column":61},"end":{"line":213,"column":1}},"line":174},"8":{"name":"(anonymous_8)","decl":{"start":{"line":216,"column":32},"end":{"line":216,"column":33}},"loc":{"start":{"line":216,"column":55},"end":{"line":227,"column":1}},"line":216},"9":{"name":"(anonymous_9)","decl":{"start":{"line":230,"column":34},"end":{"line":230,"column":35}},"loc":{"start":{"line":230,"column":49},"end":{"line":232,"column":1}},"line":230},"10":{"name":"(anonymous_10)","decl":{"start":{"line":235,"column":33},"end":{"line":235,"column":34}},"loc":{"start":{"line":235,"column":50},"end":{"line":237,"column":1}},"line":235},"11":{"name":"(anonymous_11)","decl":{"start":{"line":240,"column":32},"end":{"line":240,"column":33}},"loc":{"start":{"line":240,"column":49},"end":{"line":242,"column":1}},"line":240},"12":{"name":"(anonymous_12)","decl":{"start":{"line":245,"column":30},"end":{"line":245,"column":31}},"loc":{"start":{"line":245,"column":53},"end":{"line":259,"column":1}},"line":245},"13":{"name":"(anonymous_13)","decl":{"start":{"line":262,"column":32},"end":{"line":262,"column":33}},"loc":{"start":{"line":262,"column":55},"end":{"line":265,"column":1}},"line":262},"14":{"name":"(anonymous_14)","decl":{"start":{"line":268,"column":31},"end":{"line":268,"column":32}},"loc":{"start":{"line":268,"column":54},"end":{"line":279,"column":1}},"line":268},"15":{"name":"(anonymous_15)","decl":{"start":{"line":282,"column":34},"end":{"line":282,"column":35}},"loc":{"start":{"line":282,"column":57},"end":{"line":293,"column":1}},"line":282},"16":{"name":"(anonymous_16)","decl":{"start":{"line":296,"column":33},"end":{"line":296,"column":34}},"loc":{"start":{"line":296,"column":56},"end":{"line":298,"column":1}},"line":296}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":20},"end":{"line":38,"column":35}},"type":"binary-expr","locations":[{"start":{"line":38,"column":20},"end":{"line":38,"column":30}},{"start":{"line":38,"column":34},"end":{"line":38,"column":35}}],"line":38},"1":{"loc":{"start":{"line":40,"column":9},"end":{"line":40,"column":19}},"type":"binary-expr","locations":[{"start":{"line":40,"column":9},"end":{"line":40,"column":13}},{"start":{"line":40,"column":17},"end":{"line":40,"column":19}}],"line":40},"2":{"loc":{"start":{"line":41,"column":15},"end":{"line":41,"column":31}},"type":"binary-expr","locations":[{"start":{"line":41,"column":15},"end":{"line":41,"column":25}},{"start":{"line":41,"column":29},"end":{"line":41,"column":31}}],"line":41},"3":{"loc":{"start":{"line":42,"column":19},"end":{"line":42,"column":41}},"type":"binary-expr","locations":[{"start":{"line":42,"column":19},"end":{"line":42,"column":33}},{"start":{"line":42,"column":37},"end":{"line":42,"column":41}}],"line":42},"4":{"loc":{"start":{"line":52,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":52,"column":2},"end":{"line":55,"column":3}},{"start":{"line":52,"column":2},"end":{"line":55,"column":3}}],"line":52},"5":{"loc":{"start":{"line":57,"column":2},"end":{"line":65,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":65,"column":3}},{"start":{"line":57,"column":2},"end":{"line":65,"column":3}}],"line":57},"6":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{"line":59,"column":4},"end":{"line":61,"column":5}}],"line":59},"7":{"loc":{"start":{"line":74,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":2},"end":{"line":76,"column":3}},{"start":{"line":74,"column":2},"end":{"line":76,"column":3}}],"line":74},"8":{"loc":{"start":{"line":96,"column":2},"end":{"line":121,"column":3}},"type":"switch","locations":[{"start":{"line":97,"column":4},"end":{"line":98,"column":64}},{"start":{"line":99,"column":4},"end":{"line":100,"column":42}},{"start":{"line":101,"column":4},"end":{"line":102,"column":62}},{"start":{"line":103,"column":4},"end":{"line":104,"column":64}},{"start":{"line":105,"column":4},"end":{"line":106,"column":44}},{"start":{"line":107,"column":4},"end":{"line":108,"column":54}},{"start":{"line":109,"column":4},"end":{"line":110,"column":63}},{"start":{"line":111,"column":4},"end":{"line":112,"column":63}},{"start":{"line":113,"column":4},"end":{"line":114,"column":62}},{"start":{"line":115,"column":4},"end":{"line":116,"column":63}},{"start":{"line":117,"column":4},"end":{"line":118,"column":62}},{"start":{"line":119,"column":4},"end":{"line":120,"column":62}}],"line":96},"9":{"loc":{"start":{"line":146,"column":2},"end":{"line":147,"column":32}},"type":"if","locations":[{"start":{"line":146,"column":2},"end":{"line":147,"column":32}},{"start":{"line":146,"column":2},"end":{"line":147,"column":32}}],"line":146},"10":{"loc":{"start":{"line":151,"column":2},"end":{"line":152,"column":52}},"type":"if","locations":[{"start":{"line":151,"column":2},"end":{"line":152,"column":52}},{"start":{"line":151,"column":2},"end":{"line":152,"column":52}}],"line":151},"11":{"loc":{"start":{"line":156,"column":2},"end":{"line":157,"column":73}},"type":"if","locations":[{"start":{"line":156,"column":2},"end":{"line":157,"column":73}},{"start":{"line":156,"column":2},"end":{"line":157,"column":73}}],"line":156},"12":{"loc":{"start":{"line":190,"column":2},"end":{"line":209,"column":3}},"type":"if","locations":[{"start":{"line":190,"column":2},"end":{"line":209,"column":3}},{"start":{"line":190,"column":2},"end":{"line":209,"column":3}}],"line":190},"13":{"loc":{"start":{"line":195,"column":9},"end":{"line":209,"column":3}},"type":"if","locations":[{"start":{"line":195,"column":9},"end":{"line":209,"column":3}},{"start":{"line":195,"column":9},"end":{"line":209,"column":3}}],"line":195},"14":{"loc":{"start":{"line":200,"column":9},"end":{"line":209,"column":3}},"type":"if","locations":[{"start":{"line":200,"column":9},"end":{"line":209,"column":3}},{"start":{"line":200,"column":9},"end":{"line":209,"column":3}}],"line":200},"15":{"loc":{"start":{"line":263,"column":2},"end":{"line":263,"column":26}},"type":"if","locations":[{"start":{"line":263,"column":2},"end":{"line":263,"column":26}},{"start":{"line":263,"column":2},"end":{"line":263,"column":26}}],"line":263},"16":{"loc":{"start":{"line":269,"column":2},"end":{"line":277,"column":3}},"type":"switch","locations":[{"start":{"line":270,"column":4},"end":{"line":270,"column":21}},{"start":{"line":271,"column":4},"end":{"line":271,"column":35}},{"start":{"line":272,"column":4},"end":{"line":272,"column":75}},{"start":{"line":273,"column":4},"end":{"line":273,"column":96}},{"start":{"line":274,"column":4},"end":{"line":274,"column":117}},{"start":{"line":275,"column":4},"end":{"line":275,"column":52}},{"start":{"line":276,"column":4},"end":{"line":276,"column":53}}],"line":269}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0,0,0,0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0,0,0,0]}},"/Users/dmitry/projects/node-maxmind/lib/ip.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/ip.js","statementMap":{"0":{"start":{"line":3,"column":10},"end":{"line":3,"column":24}},"1":{"start":{"line":6,"column":16},"end":{"line":15,"column":1}},"2":{"start":{"line":7,"column":2},"end":{"line":7,"column":24}},"3":{"start":{"line":9,"column":11},"end":{"line":9,"column":26}},"4":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"5":{"start":{"line":11,"column":9},"end":{"line":11,"column":24}},"6":{"start":{"line":12,"column":9},"end":{"line":12,"column":24}},"7":{"start":{"line":14,"column":2},"end":{"line":14,"column":26}},"8":{"start":{"line":18,"column":16},"end":{"line":61,"column":1}},"9":{"start":{"line":19,"column":13},"end":{"line":19,"column":61}},"10":{"start":{"line":24,"column":12},"end":{"line":27,"column":3}},"11":{"start":{"line":25,"column":4},"end":{"line":25,"column":37}},"12":{"start":{"line":26,"column":4},"end":{"line":26,"column":41}},"13":{"start":{"line":30,"column":2},"end":{"line":34,"column":3}},"14":{"start":{"line":31,"column":4},"end":{"line":33,"column":7}},"15":{"start":{"line":32,"column":6},"end":{"line":32,"column":53}},"16":{"start":{"line":36,"column":14},"end":{"line":36,"column":31}},"17":{"start":{"line":37,"column":11},"end":{"line":37,"column":19}},"18":{"start":{"line":38,"column":12},"end":{"line":38,"column":20}},"19":{"start":{"line":40,"column":2},"end":{"line":47,"column":3}},"20":{"start":{"line":41,"column":4},"end":{"line":41,"column":29}},"21":{"start":{"line":42,"column":4},"end":{"line":46,"column":5}},"22":{"start":{"line":43,"column":6},"end":{"line":43,"column":38}},"23":{"start":{"line":44,"column":6},"end":{"line":44,"column":31}},"24":{"start":{"line":45,"column":6},"end":{"line":45,"column":37}},"25":{"start":{"line":50,"column":2},"end":{"line":58,"column":3}},"26":{"start":{"line":51,"column":4},"end":{"line":51,"column":30}},"27":{"start":{"line":52,"column":17},"end":{"line":52,"column":41}},"28":{"start":{"line":53,"column":4},"end":{"line":57,"column":5}},"29":{"start":{"line":54,"column":6},"end":{"line":54,"column":38}},"30":{"start":{"line":55,"column":6},"end":{"line":55,"column":42}},"31":{"start":{"line":56,"column":6},"end":{"line":56,"column":48}},"32":{"start":{"line":60,"column":2},"end":{"line":60,"column":14}},"33":{"start":{"line":64,"column":0},"end":{"line":66,"column":2}},"34":{"start":{"line":65,"column":2},"end":{"line":65,"column":66}},"35":{"start":{"line":69,"column":0},"end":{"line":78,"column":2}},"36":{"start":{"line":71,"column":15},"end":{"line":71,"column":23}},"37":{"start":{"line":74,"column":15},"end":{"line":74,"column":28}},"38":{"start":{"line":77,"column":2},"end":{"line":77,"column":45}},"39":{"start":{"line":81,"column":0},"end":{"line":84,"column":2}},"40":{"start":{"line":82,"column":16},"end":{"line":82,"column":28}},"41":{"start":{"line":83,"column":2},"end":{"line":83,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":17}},"loc":{"start":{"line":6,"column":29},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":16},"end":{"line":18,"column":17}},"loc":{"start":{"line":18,"column":29},"end":{"line":61,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":12},"end":{"line":24,"column":13}},"loc":{"start":{"line":24,"column":24},"end":{"line":27,"column":3}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":50},"end":{"line":31,"column":51}},"loc":{"start":{"line":31,"column":78},"end":{"line":33,"column":5}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":17}},"loc":{"start":{"line":64,"column":29},"end":{"line":66,"column":1}},"line":64},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":16},"end":{"line":69,"column":17}},"loc":{"start":{"line":69,"column":42},"end":{"line":78,"column":1}},"line":69},"6":{"name":"(anonymous_6)","decl":{"start":{"line":81,"column":19},"end":{"line":81,"column":20}},"loc":{"start":{"line":81,"column":32},"end":{"line":84,"column":1}},"line":81}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":11},"end":{"line":26,"column":40}},"type":"cond-expr","locations":[{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},{"start":{"line":26,"column":33},"end":{"line":26,"column":40}}],"line":26},"1":{"loc":{"start":{"line":30,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":34,"column":3}},{"start":{"line":30,"column":2},"end":{"line":34,"column":3}}],"line":30},"2":{"loc":{"start":{"line":40,"column":2},"end":{"line":47,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":47,"column":3}},{"start":{"line":40,"column":2},"end":{"line":47,"column":3}}],"line":40},"3":{"loc":{"start":{"line":50,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":58,"column":3}},{"start":{"line":50,"column":2},"end":{"line":58,"column":3}}],"line":50},"4":{"loc":{"start":{"line":65,"column":9},"end":{"line":65,"column":65}},"type":"cond-expr","locations":[{"start":{"line":65,"column":36},"end":{"line":65,"column":49}},{"start":{"line":65,"column":52},"end":{"line":65,"column":65}}],"line":65},"5":{"loc":{"start":{"line":83,"column":9},"end":{"line":83,"column":39}},"type":"binary-expr","locations":[{"start":{"line":83,"column":9},"end":{"line":83,"column":22}},{"start":{"line":83,"column":26},"end":{"line":83,"column":39}}],"line":83}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}},"/Users/dmitry/projects/node-maxmind/lib/is-gzip.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/is-gzip.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":9,"column":2}},"1":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":17}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":63}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":17},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":31},"end":{"line":9,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},{"start":{"line":4,"column":2},"end":{"line":6,"column":3}}],"line":4},"1":{"loc":{"start":{"line":4,"column":6},"end":{"line":4,"column":28}},"type":"binary-expr","locations":[{"start":{"line":4,"column":6},"end":{"line":4,"column":10}},{"start":{"line":4,"column":14},"end":{"line":4,"column":28}}],"line":4},"2":{"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":62}},"type":"binary-expr","locations":[{"start":{"line":8,"column":9},"end":{"line":8,"column":24}},{"start":{"line":8,"column":28},"end":{"line":8,"column":43}},{"start":{"line":8,"column":47},"end":{"line":8,"column":62}}],"line":8}},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0]}},"/Users/dmitry/projects/node-maxmind/lib/metadata.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/metadata.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":30}},"1":{"start":{"line":4,"column":14},"end":{"line":4,"column":34}},"2":{"start":{"line":5,"column":12},"end":{"line":5,"column":30}},"3":{"start":{"line":7,"column":28},"end":{"line":7,"column":77}},"4":{"start":{"line":10,"column":0},"end":{"line":10,"column":26}},"5":{"start":{"line":13,"column":15},"end":{"line":13,"column":33}},"6":{"start":{"line":14,"column":16},"end":{"line":14,"column":39}},"7":{"start":{"line":15,"column":17},"end":{"line":15,"column":45}},"8":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"9":{"start":{"line":18,"column":4},"end":{"line":18,"column":105}},"10":{"start":{"line":21,"column":2},"end":{"line":21,"column":71}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":71}},"12":{"start":{"line":23,"column":2},"end":{"line":23,"column":58}},"13":{"start":{"line":24,"column":2},"end":{"line":24,"column":45}},"14":{"start":{"line":25,"column":2},"end":{"line":25,"column":38}},"15":{"start":{"line":26,"column":2},"end":{"line":26,"column":42}},"16":{"start":{"line":27,"column":2},"end":{"line":27,"column":39}},"17":{"start":{"line":28,"column":2},"end":{"line":28,"column":39}},"18":{"start":{"line":30,"column":2},"end":{"line":30,"column":41}},"19":{"start":{"line":31,"column":2},"end":{"line":31,"column":80}},"20":{"start":{"line":33,"column":2},"end":{"line":33,"column":42}},"21":{"start":{"line":34,"column":2},"end":{"line":34,"column":59}},"22":{"start":{"line":37,"column":2},"end":{"line":37,"column":51}},"23":{"start":{"line":41,"column":0},"end":{"line":50,"column":2}},"24":{"start":{"line":42,"column":14},"end":{"line":42,"column":15}},"25":{"start":{"line":43,"column":11},"end":{"line":43,"column":43}},"26":{"start":{"line":44,"column":12},"end":{"line":44,"column":25}},"27":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"28":{"start":{"line":47,"column":4},"end":{"line":47,"column":78}},"29":{"start":{"line":49,"column":2},"end":{"line":49,"column":23}},"30":{"start":{"line":53,"column":0},"end":{"line":66,"column":2}},"31":{"start":{"line":54,"column":29},"end":{"line":54,"column":31}},"32":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"33":{"start":{"line":57,"column":16},"end":{"line":57,"column":58}},"34":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"35":{"start":{"line":61,"column":6},"end":{"line":61,"column":18}},"36":{"start":{"line":65,"column":2},"end":{"line":65,"column":15}}},"fnMap":{"0":{"name":"Metadata","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":17}},"loc":{"start":{"line":12,"column":22},"end":{"line":38,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":32}},"loc":{"start":{"line":41,"column":44},"end":{"line":50,"column":1}},"line":41},"2":{"name":"(anonymous_2)","decl":{"start":{"line":53,"column":36},"end":{"line":53,"column":37}},"loc":{"start":{"line":53,"column":49},"end":{"line":66,"column":1}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{"line":17,"column":2},"end":{"line":19,"column":3}}],"line":17},"1":{"loc":{"start":{"line":18,"column":20},"end":{"line":18,"column":103}},"type":"cond-expr","locations":[{"start":{"line":18,"column":46},"end":{"line":18,"column":70}},{"start":{"line":18,"column":73},"end":{"line":18,"column":103}}],"line":18},"2":{"loc":{"start":{"line":46,"column":9},"end":{"line":46,"column":37}},"type":"binary-expr","locations":[{"start":{"line":46,"column":9},"end":{"line":46,"column":22}},{"start":{"line":46,"column":26},"end":{"line":46,"column":37}}],"line":46},"3":{"loc":{"start":{"line":47,"column":13},"end":{"line":47,"column":77}},"type":"cond-expr","locations":[{"start":{"line":47,"column":67},"end":{"line":47,"column":68}},{"start":{"line":47,"column":71},"end":{"line":47,"column":77}}],"line":47},"4":{"loc":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},{"start":{"line":60,"column":4},"end":{"line":62,"column":5}}],"line":60},"5":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":64}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":24}},{"start":{"line":60,"column":28},"end":{"line":60,"column":44}},{"start":{"line":60,"column":48},"end":{"line":60,"column":64}}],"line":60}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0]}},"/Users/dmitry/projects/node-maxmind/lib/reader.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/reader.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":36}},"1":{"start":{"line":4,"column":14},"end":{"line":4,"column":34}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":12},"end":{"line":6,"column":30}},"4":{"start":{"line":8,"column":34},"end":{"line":8,"column":36}},"5":{"start":{"line":11,"column":0},"end":{"line":11,"column":24}},"6":{"start":{"line":14,"column":2},"end":{"line":14,"column":20}},"7":{"start":{"line":15,"column":2},"end":{"line":15,"column":22}},"8":{"start":{"line":18,"column":0},"end":{"line":29,"column":2}},"9":{"start":{"line":19,"column":2},"end":{"line":19,"column":15}},"10":{"start":{"line":21,"column":2},"end":{"line":21,"column":40}},"11":{"start":{"line":22,"column":2},"end":{"line":26,"column":4}},"12":{"start":{"line":28,"column":2},"end":{"line":28,"column":51}},"13":{"start":{"line":31,"column":0},"end":{"line":46,"column":2}},"14":{"start":{"line":32,"column":2},"end":{"line":45,"column":3}},"15":{"start":{"line":34,"column":6},"end":{"line":34,"column":41}},"16":{"start":{"line":35,"column":6},"end":{"line":35,"column":43}},"17":{"start":{"line":36,"column":6},"end":{"line":36,"column":12}},"18":{"start":{"line":38,"column":6},"end":{"line":38,"column":41}},"19":{"start":{"line":39,"column":6},"end":{"line":39,"column":43}},"20":{"start":{"line":40,"column":6},"end":{"line":40,"column":12}},"21":{"start":{"line":42,"column":6},"end":{"line":42,"column":41}},"22":{"start":{"line":43,"column":6},"end":{"line":43,"column":43}},"23":{"start":{"line":44,"column":6},"end":{"line":44,"column":12}},"24":{"start":{"line":49,"column":0},"end":{"line":52,"column":2}},"25":{"start":{"line":50,"column":16},"end":{"line":50,"column":49}},"26":{"start":{"line":51,"column":2},"end":{"line":51,"column":59}},"27":{"start":{"line":55,"column":0},"end":{"line":96,"column":2}},"28":{"start":{"line":56,"column":19},"end":{"line":56,"column":42}},"29":{"start":{"line":57,"column":18},"end":{"line":57,"column":41}},"30":{"start":{"line":62,"column":19},"end":{"line":62,"column":92}},"31":{"start":{"line":71,"column":19},"end":{"line":71,"column":29}},"32":{"start":{"line":74,"column":2},"end":{"line":95,"column":3}},"33":{"start":{"line":75,"column":4},"end":{"line":75,"column":51}},"34":{"start":{"line":76,"column":4},"end":{"line":76,"column":53}},"35":{"start":{"line":78,"column":4},"end":{"line":80,"column":32}},"36":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"37":{"start":{"line":85,"column":6},"end":{"line":85,"column":27}},"38":{"start":{"line":88,"column":11},"end":{"line":94,"column":5}},"39":{"start":{"line":89,"column":6},"end":{"line":89,"column":21}},"40":{"start":{"line":93,"column":6},"end":{"line":93,"column":18}},"41":{"start":{"line":99,"column":22},"end":{"line":105,"column":1}},"42":{"start":{"line":100,"column":2},"end":{"line":104,"column":4}},"43":{"start":{"line":107,"column":21},"end":{"line":113,"column":1}},"44":{"start":{"line":108,"column":2},"end":{"line":112,"column":4}},"45":{"start":{"line":116,"column":21},"end":{"line":123,"column":1}},"46":{"start":{"line":117,"column":2},"end":{"line":122,"column":4}},"47":{"start":{"line":125,"column":22},"end":{"line":132,"column":1}},"48":{"start":{"line":126,"column":2},"end":{"line":131,"column":4}},"49":{"start":{"line":134,"column":21},"end":{"line":136,"column":1}},"50":{"start":{"line":135,"column":2},"end":{"line":135,"column":44}},"51":{"start":{"line":138,"column":22},"end":{"line":140,"column":1}},"52":{"start":{"line":139,"column":2},"end":{"line":139,"column":48}},"53":{"start":{"line":143,"column":0},"end":{"line":153,"column":2}},"54":{"start":{"line":151,"column":17},"end":{"line":151,"column":81}},"55":{"start":{"line":152,"column":2},"end":{"line":152,"column":49}}},"fnMap":{"0":{"name":"Reader","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":15}},"loc":{"start":{"line":13,"column":26},"end":{"line":16,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":24},"end":{"line":18,"column":25}},"loc":{"start":{"line":18,"column":43},"end":{"line":29,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":37},"end":{"line":31,"column":38}},"loc":{"start":{"line":31,"column":58},"end":{"line":46,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":23},"end":{"line":49,"column":24}},"loc":{"start":{"line":49,"column":43},"end":{"line":52,"column":1}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":37},"end":{"line":55,"column":38}},"loc":{"start":{"line":55,"column":57},"end":{"line":96,"column":1}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":99,"column":22},"end":{"line":99,"column":23}},"loc":{"start":{"line":99,"column":39},"end":{"line":105,"column":1}},"line":99},"6":{"name":"(anonymous_6)","decl":{"start":{"line":107,"column":21},"end":{"line":107,"column":22}},"loc":{"start":{"line":107,"column":38},"end":{"line":113,"column":1}},"line":107},"7":{"name":"(anonymous_7)","decl":{"start":{"line":116,"column":21},"end":{"line":116,"column":22}},"loc":{"start":{"line":116,"column":38},"end":{"line":123,"column":1}},"line":116},"8":{"name":"(anonymous_8)","decl":{"start":{"line":125,"column":22},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":39},"end":{"line":132,"column":1}},"line":125},"9":{"name":"(anonymous_9)","decl":{"start":{"line":134,"column":21},"end":{"line":134,"column":22}},"loc":{"start":{"line":134,"column":38},"end":{"line":136,"column":1}},"line":134},"10":{"name":"(anonymous_10)","decl":{"start":{"line":138,"column":22},"end":{"line":138,"column":23}},"loc":{"start":{"line":138,"column":39},"end":{"line":140,"column":1}},"line":138},"11":{"name":"(anonymous_11)","decl":{"start":{"line":143,"column":38},"end":{"line":143,"column":39}},"loc":{"start":{"line":143,"column":56},"end":{"line":153,"column":1}},"line":143}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":19}},"type":"binary-expr","locations":[{"start":{"line":14,"column":9},"end":{"line":14,"column":13}},{"start":{"line":14,"column":17},"end":{"line":14,"column":19}}],"line":14},"1":{"loc":{"start":{"line":32,"column":2},"end":{"line":45,"column":3}},"type":"switch","locations":[{"start":{"line":33,"column":4},"end":{"line":36,"column":12}},{"start":{"line":37,"column":4},"end":{"line":40,"column":12}},{"start":{"line":41,"column":4},"end":{"line":44,"column":12}}],"line":32},"2":{"loc":{"start":{"line":51,"column":9},"end":{"line":51,"column":58}},"type":"cond-expr","locations":[{"start":{"line":51,"column":19},"end":{"line":51,"column":51}},{"start":{"line":51,"column":54},"end":{"line":51,"column":58}}],"line":51},"3":{"loc":{"start":{"line":62,"column":19},"end":{"line":62,"column":92}},"type":"cond-expr","locations":[{"start":{"line":62,"column":80},"end":{"line":62,"column":88}},{"start":{"line":62,"column":91},"end":{"line":62,"column":92}}],"line":62},"4":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":76}},"type":"binary-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":49}},{"start":{"line":62,"column":53},"end":{"line":62,"column":76}}],"line":62},"5":{"loc":{"start":{"line":78,"column":14},"end":{"line":80,"column":31}},"type":"cond-expr","locations":[{"start":{"line":79,"column":6},"end":{"line":79,"column":32}},{"start":{"line":80,"column":6},"end":{"line":80,"column":31}}],"line":78},"6":{"loc":{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":94,"column":5}},{"start":{"line":84,"column":4},"end":{"line":94,"column":5}}],"line":84},"7":{"loc":{"start":{"line":88,"column":11},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":11},"end":{"line":94,"column":5}},{"start":{"line":88,"column":11},"end":{"line":94,"column":5}}],"line":88}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}},"/Users/dmitry/projects/node-maxmind/lib/utils.js":{"path":"/Users/dmitry/projects/node-maxmind/lib/utils.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":5,"column":2}},"1":{"start":{"line":4,"column":2},"end":{"line":4,"column":22}},"2":{"start":{"line":7,"column":0},"end":{"line":9,"column":2}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":34}},"4":{"start":{"line":11,"column":0},"end":{"line":13,"column":2}},"5":{"start":{"line":12,"column":2},"end":{"line":12,"column":46}},"6":{"start":{"line":15,"column":0},"end":{"line":19,"column":72}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":18},"end":{"line":3,"column":19}},"loc":{"start":{"line":3,"column":33},"end":{"line":5,"column":1}},"line":3},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":18},"end":{"line":7,"column":19}},"loc":{"start":{"line":7,"column":36},"end":{"line":9,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":18},"end":{"line":11,"column":19}},"loc":{"start":{"line":11,"column":39},"end":{"line":13,"column":1}},"line":11}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"f":{"0":0,"1":0,"2":0},"b":{}}}
|