@mtgame/core 0.0.18 → 0.0.20

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.
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
- import { HttpClient } from '@angular/common/http';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { Game } from '../models/game';
6
6
  import { GameUser } from '../models/game-user';
@@ -41,6 +41,22 @@ let HockeyGameApi = class HockeyGameApi {
41
41
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(map(result => HockeyGameLog.toFront(result))).toPromise();
42
42
  });
43
43
  }
44
+ downloadProtocol(gameId, format) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {
47
+ params: new HttpParams().set('file_type', format),
48
+ responseType: 'blob'
49
+ }).toPromise();
50
+ });
51
+ }
52
+ downloadApplication(gameId, format, type) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {
55
+ params: new HttpParams().set('file_type', format).set('application_type', type),
56
+ responseType: 'blob'
57
+ }).toPromise();
58
+ });
59
+ }
44
60
  };
45
61
  HockeyGameApi.ctorParameters = () => [
46
62
  { type: HttpClient },
@@ -51,4 +67,4 @@ HockeyGameApi = __decorate([
51
67
  Injectable({ providedIn: 'root' })
52
68
  ], HockeyGameApi);
53
69
  export { HockeyGameApi };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL2hvY2tleS1nYW1lLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUcvRSxJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBQ3hCLFlBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV0QyxDQUFDO0lBRUssT0FBTyxDQUFDLE1BQWM7O1lBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsa0NBQWtDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM3RyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ3BDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLE1BQWM7O1lBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLE1BQU0sU0FBUyxDQUFDLENBQUMsSUFBSSxDQUM1RyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ3hDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssZ0JBQWdCLENBQUMsTUFBYzs7WUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDNUgsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ3ZELENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssZ0JBQWdCLENBQUMsTUFBYzs7WUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDNUgsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ25ELENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLE1BQWM7O1lBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsa0NBQWtDLE1BQU0sUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNsSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzdDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7WUFsQ3VCLFVBQVU7WUFDUCxhQUFhOzs7QUFIM0IsYUFBYTtJQUR6QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7R0FDcEIsYUFBYSxDQW9DekI7U0FwQ1ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW1lIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZS11c2VyJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lTG9nIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLWxvZyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEhvY2tleUdhbWVBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ob2NrZXlfZ2FtZS8ke2dhbWVJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJzKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2dhbWUvJHtnYW1lSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWVVc2VyLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbVN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVRlYW1TdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L3RlYW1fc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVUZWFtU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlclN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVN0YXRpc3RpY1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlHYW1lU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9ncyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZUxvZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS9sb2dzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVMb2cudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL2hvY2tleS1nYW1lLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFHL0UsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQUN4QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVLLE9BQU8sQ0FBQyxNQUFjOztZQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0csR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNwQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FB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bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW1lIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZS11c2VyJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lTG9nIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLWxvZyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEhvY2tleUdhbWVBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ob2NrZXlfZ2FtZS8ke2dhbWVJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJzKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2dhbWUvJHtnYW1lSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWVVc2VyLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbVN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVRlYW1TdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L3RlYW1fc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVUZWFtU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlclN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVN0YXRpc3RpY1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlHYW1lU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9ncyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZUxvZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS9sb2dzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVMb2cudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBkb3dubG9hZFByb3RvY29sKGdhbWVJZDogbnVtYmVyLCBmb3JtYXQ6ICdwZGYnfCd4bHN4Jyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS9nYW1lX3Byb3RvY29sL2AsIHtcbiAgICAgIHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2ZpbGVfdHlwZScsIGZvcm1hdCksXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH0pLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRBcHBsaWNhdGlvbihnYW1lSWQ6IG51bWJlciwgZm9ybWF0OiAncGRmJ3wneGxzeCcsIHR5cGU6ICdnYW1lX3VzZXInfCd0b3VybmFtZW50X3VzZXInKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L2dhbWVfYXBwbGljYXRpb25fZmlsZS9gLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdmaWxlX3R5cGUnLCBmb3JtYXQpLnNldCgnYXBwbGljYXRpb25fdHlwZScsIHR5cGUpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -41,12 +41,18 @@ export function enumField(enumClass) {
41
41
  export function penaltyTypeField() {
42
42
  return {
43
43
  toFront: (data) => {
44
+ if (!data) {
45
+ return null;
46
+ }
44
47
  if (typeof data === 'object') {
45
48
  return data;
46
49
  }
47
50
  return HockeyPenaltyTypes.find(item => item.id === data);
48
51
  },
49
52
  toBack: (data) => {
53
+ if (!data) {
54
+ return null;
55
+ }
50
56
  if (typeof data === 'object') {
51
57
  return data.id;
52
58
  }
@@ -222,4 +228,4 @@ function toBack(modelType, instance, path) {
222
228
  }
223
229
  return data;
224
230
  }
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDO0FBYTdDLE1BQU0sT0FBZ0IsU0FBUztJQUM3QixZQUFZLElBQTJCO1FBQ3JDLElBQUksSUFBSSxFQUFFO1lBQ1IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQVE7UUFDcEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBTUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUFTO0lBQ2pDLE9BQU87UUFDTCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvY2tleVBlbmFsdHlUeXBlcyB9IGZyb20gJy4uL2xvY2FsaXphdGlvbi9ob2NrZXktcGVuYWx0eS10eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVkgPSAnX21hcHBpbmdfZmllbGRzXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfUkVMQVRJT05fS0VZID0gJ19yZWxhdGlvbl8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0ZST05UX0tFWSA9ICdfdG9fZnJvbnRfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9UT19CQUNLX0tFWSA9ICdfdG9fYmFja18nO1xuXG50eXBlIFBhcnNlckludGVyZmFjZSA9IChkdG86IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSkgPT4gYW55O1xuXG5pbnRlcmZhY2UgTW9kZWxUeXBlSW50ZXJmYWNlIHtcbiAgbmV3KGRhdGE/OiBhbnkpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsSW50ZXJmYWNlIHtcbiAgdG9Gcm9udChkdG86IGFueSk6IGFueTtcbiAgdG9CYWNrKGR0bzogYW55KTogYW55O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1vZGVsIHtcbiAgY29uc3RydWN0b3IoZGF0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGRhdGEpKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgdG9Gcm9udChkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b0JhY2soZHRvOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuaW50ZXJmYWNlIEdyYXBoUGF0aEludGVyZmFjZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1GaWVsZChlbnVtQ2xhc3MpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAodmFsdWUpID0+IHtcbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBlbmFsdHlUeXBlRmllbGQoKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKGRhdGEpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gSG9ja2V5UGVuYWx0eVR5cGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBkYXRhKTtcbiAgICB9LFxuICAgIHRvQmFjazogKGRhdGEpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGEuaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RmllbGQobW9kZWxDbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICByZXR1cm4gbW9kZWxDbGFzcy50b0Zyb250KHZhbHVlKTtcbiAgICB9LFxuICAgIHRvQmFjazogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtb2RlbENsYXNzLnRvQmFjayh2YWx1ZSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgc3RhdGljIHRvRnJvbnQoZGF0ZTogYW55KTogYW55IHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICBzdGF0aWMgdG9CYWNrKGRhdGU6IERhdGUpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBkYXRlVXRjID0gbmV3IERhdGUoRGF0ZS5VVEMoXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRhdGVVdGMudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUZpZWxkIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgc3RhdGljIHRvRnJvbnQoZGF0ZTogYW55KTogYW55IHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICBzdGF0aWMgdG9CYWNrKGRhdGU6IERhdGUpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBkYXRlVXRjID0gbmV3IERhdGUoRGF0ZS5VVEMoXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVsSW5zdGFuY2UoXG4gIGNvbmZpZzoge1xuICAgIG1hcHBpbmdGaWVsZHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIHJlbGF0aW9uPzogeyBba2V5OiBzdHJpbmddOiBCYXNlTW9kZWwgfVxuICB9XG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSkgPT4ge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIGlmIChjb25maWcubWFwcGluZ0ZpZWxkcykge1xuICAgICAgICB0YXJnZXRbTU9ERUxfTUFQUElOR19GSUVMRFNfS0VZXSA9IGNvbmZpZy5tYXBwaW5nRmllbGRzO1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5yZWxhdGlvbikge1xuICAgICAgICB0YXJnZXRbTU9ERUxfUkVMQVRJT05fS0VZXSA9IGNvbmZpZy5yZWxhdGlvbjtcbiAgICAgIH1cbiAgICAgIHRhcmdldFtNT0RFTF9UT19GUk9OVF9LRVldID0gKGR0bzogYW55LCBwYXRoOiBHcmFwaFBhdGhJbnRlcmZhY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHRvRnJvbnQodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICAgIHRhcmdldFtNT0RFTF9UT19CQUNLX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9CYWNrKHRhcmdldCwgZHRvLCBwYXRoKTtcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgVG9Gcm9udEhvb2sgPSAodGFyZ2V0OiBNb2RlbFR5cGVJbnRlcmZhY2UsIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxGdW5jdGlvbj4pID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZU1ldGhvZCA9IHRhcmdldFtNT0RFTF9UT19GUk9OVF9LRVldIGFzIFBhcnNlckludGVyZmFjZTtcbiAgICAgIGlmIChwYXJzZU1ldGhvZCkge1xuICAgICAgICByZXR1cm4gcGFyc2VNZXRob2QoYXJnc1swXSwgKGFyZ3MubGVuZ3RoID4gMSA/IGFyZ3NbMV0gOiB1bmRlZmluZWQpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFRvQmFja0hvb2sgPSAodGFyZ2V0OiBNb2RlbFR5cGVJbnRlcmZhY2UsIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxGdW5jdGlvbj4pID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZU1ldGhvZCA9IHRhcmdldFtNT0RFTF9UT19CQUNLX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZXh0cmFjdFZhbHVlKGtleSwgZGF0YSkge1xuICBpZiAoIWRhdGEpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qga2V5UGFydHMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgaWYgKGtleVBhcnRzLmxlbmd0aCA9PT0gMSkge1xuICAgIGlmIChrZXkgaW4gZGF0YSkge1xuICAgICAgcmV0dXJuIGRhdGFba2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGsgb2Yga2V5UGFydHMpIHtcbiAgICBpZiAoZGF0YSAmJiBrIGluIGRhdGEpIHtcbiAgICAgIGRhdGEgPSBkYXRhW2tdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiB0b0Zyb250KG1vZGVsVHlwZTogTW9kZWxUeXBlSW50ZXJmYWNlLCBkYXRhOiBhbnksIHBhdGg/OiBHcmFwaFBhdGhJbnRlcmZhY2UpOiBhbnkge1xuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gdG9Gcm9udChtb2RlbFR5cGUsIGl0ZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgaW5zdGFuY2UgPSBuZXcgbW9kZWxUeXBlKCk7XG5cbiAgLy8gTWFwcGluZyBmaWVsZHNcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXh0cmFjdFZhbHVlKGJhY2tGaWVsZCwgZGF0YSk7XG4gICAgICBpZiAocmVsYXRpb24gJiYgcmVsYXRpb24uaGFzT3duUHJvcGVydHkoZnJvbnRGaWVsZCkpIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSByZWxhdGlvbltmcm9udEZpZWxkXS50b0Zyb250KHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluc3RhbmNlW2Zyb250RmllbGRdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiB0b0JhY2sobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGluc3RhbmNlOiBhbnksIHBhdGg/OiBHcmFwaFBhdGhJbnRlcmZhY2UpOiBhbnkge1xuICBpZiAoIWluc3RhbmNlKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgcmVjdXJzaW9uIGlzIHJlcXVpcmVkXG4gIGlmIChBcnJheS5pc0FycmF5KGluc3RhbmNlKSkge1xuICAgIHJldHVybiBpbnN0YW5jZS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gdG9CYWNrKG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBkYXRhID0ge307XG4gIGNvbnN0IG1hcHBpbmdGaWVsZHMgPSBtb2RlbFR5cGVbTU9ERUxfTUFQUElOR19GSUVMRFNfS0VZXSBhcyBzdHJpbmdbXTtcbiAgY29uc3QgcmVsYXRpb24gPSBtb2RlbFR5cGVbTU9ERUxfUkVMQVRJT05fS0VZXSBhcyB7IFtrZXk6IHN0cmluZ106IE1vZGVsSW50ZXJmYWNlIH07XG4gIGlmIChtYXBwaW5nRmllbGRzKSB7XG4gICAgZm9yIChjb25zdCBiYWNrRmllbGQgb2YgT2JqZWN0LmtleXMobWFwcGluZ0ZpZWxkcykpIHtcbiAgICAgIGNvbnN0IGZyb250RmllbGQgPSBtYXBwaW5nRmllbGRzW2JhY2tGaWVsZF07XG4gICAgICBpZiAocmVsYXRpb24gJiYgcmVsYXRpb24uaGFzT3duUHJvcGVydHkoZnJvbnRGaWVsZCkgJiYgaW5zdGFuY2VbZnJvbnRGaWVsZF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSByZWxhdGlvbltmcm9udEZpZWxkXS50b0JhY2soaW5zdGFuY2VbZnJvbnRGaWVsZF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YVtiYWNrRmllbGRdID0gaW5zdGFuY2VbZnJvbnRGaWVsZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDO0FBYTdDLE1BQU0sT0FBZ0IsU0FBUztJQUM3QixZQUFZLElBQTJCO1FBQ3JDLElBQUksSUFBSSxFQUFFO1lBQ1IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQVE7UUFDcEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBTUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUFTO0lBQ2pDLE9BQU87UUFDTCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hCLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU87UUFDTCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFVBQVU7SUFDbEMsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQVM7SUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTO1FBQ3RCLElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNuQixDQUFDO1lBQ0YsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFDMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTO1FBQ3RCLElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNuQixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsTUFHQztJQUVELE9BQU8sQ0FBQyxNQUEwQixFQUFFLEVBQUU7UUFDcEMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7YUFDekQ7WUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ25CLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDOUM7WUFDRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQVEsRUFBRSxJQUF3QixFQUFFLEVBQUU7Z0JBQ2xFLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBd0IsRUFBRSxFQUFFO2dCQUNqRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQTBCLEVBQUUsR0FBb0IsRUFBRSxVQUE2QyxFQUFFLEVBQUU7SUFDN0gsT0FBTztRQUNMLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFvQixDQUFDO1lBQ2xFLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDdEU7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQTBCLEVBQUUsR0FBb0IsRUFBRSxVQUE2QyxFQUFFLEVBQUU7SUFDNUgsT0FBTztRQUNMLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFvQixDQUFDO1lBQ2pFLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdCO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixTQUFTLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSTtJQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7SUFFRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRTtRQUN4QixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEI7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxTQUE2QixFQUFFLElBQVMsRUFBRSxJQUF5QjtJQUNsRixpQ0FBaUM7SUFDakMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFFakMsaUJBQWlCO0lBQ2pCLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBYSxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBc0MsQ0FBQztJQUNwRixJQUFJLGFBQWEsRUFBRTtRQUNqQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDbEQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbkQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUQ7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQzthQUM5QjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsU0FBNkIsRUFBRSxRQUFhLEVBQUUsSUFBeUI7SUFDckYsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsaUNBQWlDO0lBQ2pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7SUFDaEIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixDQUFhLENBQUM7SUFDdEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFzQyxDQUFDO0lBQ3BGLElBQUksYUFBYSxFQUFFO1FBQ2pCLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNsRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUN6RixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUNyRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvY2tleVBlbmFsdHlUeXBlcyB9IGZyb20gJy4uL2xvY2FsaXphdGlvbi9ob2NrZXktcGVuYWx0eS10eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVkgPSAnX21hcHBpbmdfZmllbGRzXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfUkVMQVRJT05fS0VZID0gJ19yZWxhdGlvbl8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0ZST05UX0tFWSA9ICdfdG9fZnJvbnRfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9UT19CQUNLX0tFWSA9ICdfdG9fYmFja18nO1xuXG50eXBlIFBhcnNlckludGVyZmFjZSA9IChkdG86IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSkgPT4gYW55O1xuXG5pbnRlcmZhY2UgTW9kZWxUeXBlSW50ZXJmYWNlIHtcbiAgbmV3KGRhdGE/OiBhbnkpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsSW50ZXJmYWNlIHtcbiAgdG9Gcm9udChkdG86IGFueSk6IGFueTtcbiAgdG9CYWNrKGR0bzogYW55KTogYW55O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1vZGVsIHtcbiAgY29uc3RydWN0b3IoZGF0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGRhdGEpKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgdG9Gcm9udChkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b0JhY2soZHRvOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuaW50ZXJmYWNlIEdyYXBoUGF0aEludGVyZmFjZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1GaWVsZChlbnVtQ2xhc3MpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAodmFsdWUpID0+IHtcbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBlbmFsdHlUeXBlRmllbGQoKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKGRhdGEpID0+IHtcbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gSG9ja2V5UGVuYWx0eVR5cGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBkYXRhKTtcbiAgICB9LFxuICAgIHRvQmFjazogKGRhdGEpID0+IHtcbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGEuaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RmllbGQobW9kZWxDbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICByZXR1cm4gbW9kZWxDbGFzcy50b0Zyb250KHZhbHVlKTtcbiAgICB9LFxuICAgIHRvQmFjazogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtb2RlbENsYXNzLnRvQmFjayh2YWx1ZSk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgc3RhdGljIHRvRnJvbnQoZGF0ZTogYW55KTogYW55IHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICBzdGF0aWMgdG9CYWNrKGRhdGU6IERhdGUpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBkYXRlVXRjID0gbmV3IERhdGUoRGF0ZS5VVEMoXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRhdGVVdGMudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUZpZWxkIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgc3RhdGljIHRvRnJvbnQoZGF0ZTogYW55KTogYW55IHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICBzdGF0aWMgdG9CYWNrKGRhdGU6IERhdGUpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICBjb25zdCBkYXRlVXRjID0gbmV3IERhdGUoRGF0ZS5VVEMoXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVsSW5zdGFuY2UoXG4gIGNvbmZpZzoge1xuICAgIG1hcHBpbmdGaWVsZHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIHJlbGF0aW9uPzogeyBba2V5OiBzdHJpbmddOiBCYXNlTW9kZWwgfVxuICB9XG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSkgPT4ge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIGlmIChjb25maWcubWFwcGluZ0ZpZWxkcykge1xuICAgICAgICB0YXJnZXRbTU9ERUxfTUFQUElOR19GSUVMRFNfS0VZXSA9IGNvbmZpZy5tYXBwaW5nRmllbGRzO1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5yZWxhdGlvbikge1xuICAgICAgICB0YXJnZXRbTU9ERUxfUkVMQVRJT05fS0VZXSA9IGNvbmZpZy5yZWxhdGlvbjtcbiAgICAgIH1cbiAgICAgIHRhcmdldFtNT0RFTF9UT19GUk9OVF9LRVldID0gKGR0bzogYW55LCBwYXRoOiBHcmFwaFBhdGhJbnRlcmZhY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHRvRnJvbnQodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICAgIHRhcmdldFtNT0RFTF9UT19CQUNLX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9CYWNrKHRhcmdldCwgZHRvLCBwYXRoKTtcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgVG9Gcm9udEhvb2sgPSAodGFyZ2V0OiBNb2RlbFR5cGVJbnRlcmZhY2UsIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxGdW5jdGlvbj4pID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZU1ldGhvZCA9IHRhcmdldFtNT0RFTF9UT19GUk9OVF9LRVldIGFzIFBhcnNlckludGVyZmFjZTtcbiAgICAgIGlmIChwYXJzZU1ldGhvZCkge1xuICAgICAgICByZXR1cm4gcGFyc2VNZXRob2QoYXJnc1swXSwgKGFyZ3MubGVuZ3RoID4gMSA/IGFyZ3NbMV0gOiB1bmRlZmluZWQpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFRvQmFja0hvb2sgPSAodGFyZ2V0OiBNb2RlbFR5cGVJbnRlcmZhY2UsIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxGdW5jdGlvbj4pID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZU1ldGhvZCA9IHRhcmdldFtNT0RFTF9UT19CQUNLX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZXh0cmFjdFZhbHVlKGtleSwgZGF0YSkge1xuICBpZiAoIWRhdGEpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qga2V5UGFydHMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgaWYgKGtleVBhcnRzLmxlbmd0aCA9PT0gMSkge1xuICAgIGlmIChrZXkgaW4gZGF0YSkge1xuICAgICAgcmV0dXJuIGRhdGFba2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGsgb2Yga2V5UGFydHMpIHtcbiAgICBpZiAoZGF0YSAmJiBrIGluIGRhdGEpIHtcbiAgICAgIGRhdGEgPSBkYXRhW2tdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiB0b0Zyb250KG1vZGVsVHlwZTogTW9kZWxUeXBlSW50ZXJmYWNlLCBkYXRhOiBhbnksIHBhdGg/OiBHcmFwaFBhdGhJbnRlcmZhY2UpOiBhbnkge1xuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gdG9Gcm9udChtb2RlbFR5cGUsIGl0ZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgaW5zdGFuY2UgPSBuZXcgbW9kZWxUeXBlKCk7XG5cbiAgLy8gTWFwcGluZyBmaWVsZHNcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXh0cmFjdFZhbHVlKGJhY2tGaWVsZCwgZGF0YSk7XG4gICAgICBpZiAocmVsYXRpb24gJiYgcmVsYXRpb24uaGFzT3duUHJvcGVydHkoZnJvbnRGaWVsZCkpIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSByZWxhdGlvbltmcm9udEZpZWxkXS50b0Zyb250KHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluc3RhbmNlW2Zyb250RmllbGRdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiB0b0JhY2sobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGluc3RhbmNlOiBhbnksIHBhdGg/OiBHcmFwaFBhdGhJbnRlcmZhY2UpOiBhbnkge1xuICBpZiAoIWluc3RhbmNlKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgcmVjdXJzaW9uIGlzIHJlcXVpcmVkXG4gIGlmIChBcnJheS5pc0FycmF5KGluc3RhbmNlKSkge1xuICAgIHJldHVybiBpbnN0YW5jZS5tYXAoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gdG9CYWNrKG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBkYXRhID0ge307XG4gIGNvbnN0IG1hcHBpbmdGaWVsZHMgPSBtb2RlbFR5cGVbTU9ERUxfTUFQUElOR19GSUVMRFNfS0VZXSBhcyBzdHJpbmdbXTtcbiAgY29uc3QgcmVsYXRpb24gPSBtb2RlbFR5cGVbTU9ERUxfUkVMQVRJT05fS0VZXSBhcyB7IFtrZXk6IHN0cmluZ106IE1vZGVsSW50ZXJmYWNlIH07XG4gIGlmIChtYXBwaW5nRmllbGRzKSB7XG4gICAgZm9yIChjb25zdCBiYWNrRmllbGQgb2YgT2JqZWN0LmtleXMobWFwcGluZ0ZpZWxkcykpIHtcbiAgICAgIGNvbnN0IGZyb250RmllbGQgPSBtYXBwaW5nRmllbGRzW2JhY2tGaWVsZF07XG4gICAgICBpZiAocmVsYXRpb24gJiYgcmVsYXRpb24uaGFzT3duUHJvcGVydHkoZnJvbnRGaWVsZCkgJiYgaW5zdGFuY2VbZnJvbnRGaWVsZF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSByZWxhdGlvbltmcm9udEZpZWxkXS50b0JhY2soaW5zdGFuY2VbZnJvbnRGaWVsZF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YVtiYWNrRmllbGRdID0gaW5zdGFuY2VbZnJvbnRGaWVsZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __decorate, __generator } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
- import { HttpClient } from '@angular/common/http';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { Game } from '../models/game';
6
6
  import { GameUser } from '../models/game-user';
@@ -51,6 +51,26 @@ var HockeyGameApi = /** @class */ (function () {
51
51
  });
52
52
  });
53
53
  };
54
+ HockeyGameApi.prototype.downloadProtocol = function (gameId, format) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ return __generator(this, function (_a) {
57
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_hockey_game/" + gameId + "/game_protocol/", {
58
+ params: new HttpParams().set('file_type', format),
59
+ responseType: 'blob'
60
+ }).toPromise()];
61
+ });
62
+ });
63
+ };
64
+ HockeyGameApi.prototype.downloadApplication = function (gameId, format, type) {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ return __generator(this, function (_a) {
67
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_hockey_game/" + gameId + "/game_application_file/", {
68
+ params: new HttpParams().set('file_type', format).set('application_type', type),
69
+ responseType: 'blob'
70
+ }).toPromise()];
71
+ });
72
+ });
73
+ };
54
74
  HockeyGameApi.ctorParameters = function () { return [
55
75
  { type: HttpClient },
56
76
  { type: ConfigService }
@@ -62,4 +82,4 @@ var HockeyGameApi = /** @class */ (function () {
62
82
  return HockeyGameApi;
63
83
  }());
64
84
  export { HockeyGameApi };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL2hvY2tleS1nYW1lLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUcvRTtJQUNFLHVCQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVLLCtCQUFPLEdBQWIsVUFBYyxNQUFjOzs7Z0JBQzFCLHNCQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1Q0FBa0MsTUFBTSxNQUFHLENBQUMsQ0FBQyxJQUFJLENBQzdHLEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQXBCLENBQW9CLENBQUMsQ0FDcEMsQ0FBQyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2Y7SUFFSyxnQ0FBUSxHQUFkLFVBQWUsTUFBYzs7O2dCQUMzQixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZ0NBQTJCLE1BQU0sWUFBUyxDQUFDLENBQUMsSUFBSSxDQUM1RyxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQ3hDLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUssd0NBQWdCLEdBQXRCLFVBQXVCLE1BQWM7OztnQkFDbkMsc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVDQUFrQyxNQUFNLHFCQUFrQixDQUFDLENBQUMsSUFBSSxDQUM1SCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQXZDLENBQXVDLENBQUMsQ0FDdkQsQ0FBQyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2Y7SUFFSyx3Q0FBZ0IsR0FBdEIsVUFBdUIsTUFBYzs7O2dCQUNuQyxzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUNBQWtDLE1BQU0scUJBQWtCLENBQUMsQ0FBQyxJQUFJLENBQzVILEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQyxDQUNuRCxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLCtCQUFPLEdBQWIsVUFBYyxNQUFjOzs7Z0JBQzFCLHNCQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1Q0FBa0MsTUFBTSxXQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQTdCLENBQTZCLENBQUMsQ0FDN0MsQ0FBQyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2Y7O2dCQWpDcUIsVUFBVTtnQkFDUCxhQUFhOzs7SUFIM0IsYUFBYTtRQUR6QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7T0FDcEIsYUFBYSxDQW9DekI7d0JBL0NEO0NBK0NDLEFBcENELElBb0NDO1NBcENZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUtdXNlcic7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG9ja2V5R2FtZUxvZyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktZ2FtZS1sb2cnO1xuaW1wb3J0IHsgSG9ja2V5R2FtZVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktZ2FtZS1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgSG9ja2V5R2FtZVRlYW1TdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvaG9ja2V5LWdhbWUtdGVhbS1zdGF0aXN0aWMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBIb2NrZXlHYW1lQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEdhbWU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VycyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZVVzZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9nYW1lLyR7Z2FtZUlkfS91c2Vycy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBHYW1lVXNlci50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1TdGF0aXN0aWMoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEhvY2tleUdhbWVUZWFtU3RhdGlzdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS90ZWFtX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlHYW1lVGVhbVN0YXRpc3RpYy50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJTdGF0aXN0aWMoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEhvY2tleUdhbWVTdGF0aXN0aWNbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ob2NrZXlfZ2FtZS8ke2dhbWVJZH0vdXNlcl9zdGF0aXN0aWMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gSG9ja2V5R2FtZVN0YXRpc3RpYy50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvZ3MoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEhvY2tleUdhbWVMb2dbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ob2NrZXlfZ2FtZS8ke2dhbWVJZH0vbG9ncy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlHYW1lTG9nLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9ja2V5LWdhbWUtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL2hvY2tleS1nYW1lLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFHL0U7SUFDRSx1QkFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFSywrQkFBTyxHQUFiLFVBQWMsTUFBYzs7O2dCQUMxQixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUNBQWtDLE1BQU0sTUFBRyxDQUFDLENBQUMsSUFBSSxDQUM3RyxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFwQixDQUFvQixDQUFDLENBQ3BDLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUss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ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW1lIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZS11c2VyJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lTG9nIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLWxvZyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2hvY2tleS1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBIb2NrZXlHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ob2NrZXktZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEhvY2tleUdhbWVBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ob2NrZXlfZ2FtZS8ke2dhbWVJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJzKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2dhbWUvJHtnYW1lSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWVVc2VyLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbVN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVRlYW1TdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L3RlYW1fc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVUZWFtU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlclN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZVN0YXRpc3RpY1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBIb2NrZXlHYW1lU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9ncyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8SG9ja2V5R2FtZUxvZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS9sb2dzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEhvY2tleUdhbWVMb2cudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBkb3dubG9hZFByb3RvY29sKGdhbWVJZDogbnVtYmVyLCBmb3JtYXQ6ICdwZGYnfCd4bHN4Jyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2hvY2tleV9nYW1lLyR7Z2FtZUlkfS9nYW1lX3Byb3RvY29sL2AsIHtcbiAgICAgIHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2ZpbGVfdHlwZScsIGZvcm1hdCksXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH0pLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRBcHBsaWNhdGlvbihnYW1lSWQ6IG51bWJlciwgZm9ybWF0OiAncGRmJ3wneGxzeCcsIHR5cGU6ICdnYW1lX3VzZXInfCd0b3VybmFtZW50X3VzZXInKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfaG9ja2V5X2dhbWUvJHtnYW1lSWR9L2dhbWVfYXBwbGljYXRpb25fZmlsZS9gLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdmaWxlX3R5cGUnLCBmb3JtYXQpLnNldCgnYXBwbGljYXRpb25fdHlwZScsIHR5cGUpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -55,12 +55,18 @@ export function enumField(enumClass) {
55
55
  export function penaltyTypeField() {
56
56
  return {
57
57
  toFront: function (data) {
58
+ if (!data) {
59
+ return null;
60
+ }
58
61
  if (typeof data === 'object') {
59
62
  return data;
60
63
  }
61
64
  return HockeyPenaltyTypes.find(function (item) { return item.id === data; });
62
65
  },
63
66
  toBack: function (data) {
67
+ if (!data) {
68
+ return null;
69
+ }
64
70
  if (typeof data === 'object') {
65
71
  return data.id;
66
72
  }
@@ -289,4 +295,4 @@ function toBack(modelType, instance, path) {
289
295
  }
290
296
  return data;
291
297
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQWE3QztJQUNFLG1CQUFZLElBQTJCOztRQUNyQyxJQUFJLElBQUksRUFBRTs7Z0JBQ1IsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBaEMsSUFBTSxHQUFHLFdBQUE7b0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7Ozs7Ozs7OztTQUNGO0lBQ0gsQ0FBQztJQUVNLGlCQUFPLEdBQWQsVUFBZSxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxnQkFBTSxHQUFiLFVBQWMsR0FBUTtRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOztBQU1ELE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBUztJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQUMsS0FBSztZQUNiLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxD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QkFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9ja2V5UGVuYWx0eVR5cGVzIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2hvY2tleS1wZW5hbHR5LXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1PREVMX01BUFBJTkdfRklFTERTX0tFWSA9ICdfbWFwcGluZ19maWVsZHNfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9SRUxBVElPTl9LRVkgPSAnX3JlbGF0aW9uXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfVE9fRlJPTlRfS0VZID0gJ190b19mcm9udF8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0JBQ0tfS0VZID0gJ190b19iYWNrXyc7XG5cbnR5cGUgUGFyc2VySW50ZXJmYWNlID0gKGR0bzogYW55LCBwYXRoPzogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiBhbnk7XG5cbmludGVyZmFjZSBNb2RlbFR5cGVJbnRlcmZhY2Uge1xuICBuZXcoZGF0YT86IGFueSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxJbnRlcmZhY2Uge1xuICB0b0Zyb250KGR0bzogYW55KTogYW55O1xuICB0b0JhY2soZHRvOiBhbnkpOiBhbnk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0Zyb250KGR0bzogYW55KTogYW55IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvQmFjayhkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR3JhcGhQYXRoSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b0JhY2s6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVuYWx0eVR5cGVGaWVsZCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBIb2NrZXlQZW5hbHR5VHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGRhdGEpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YS5pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWVsZChtb2RlbENsYXNzKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtb2RlbENsYXNzLnRvRnJvbnQodmFsdWUpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1vZGVsQ2xhc3MudG9CYWNrKHZhbHVlKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZVV0Yy50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kZWxJbnN0YW5jZShcbiAgY29uZmlnOiB7XG4gICAgbWFwcGluZ0ZpZWxkcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgcmVsYXRpb24/OiB7IFtrZXk6IHN0cmluZ106IEJhc2VNb2RlbCB9XG4gIH1cbikge1xuICByZXR1cm4gKHRhcmdldDogTW9kZWxUeXBlSW50ZXJmYWNlKSA9PiB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgaWYgKGNvbmZpZy5tYXBwaW5nRmllbGRzKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldID0gY29uZmlnLm1hcHBpbmdGaWVsZHM7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnJlbGF0aW9uKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9SRUxBVElPTl9LRVldID0gY29uZmlnLnJlbGF0aW9uO1xuICAgICAgfVxuICAgICAgdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9Gcm9udCh0YXJnZXQsIGR0bywgcGF0aCk7XG4gICAgICB9O1xuICAgICAgdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSA9IChkdG86IGFueSwgcGF0aDogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiB0b0JhY2sodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBUb0Zyb250SG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdLCAoYXJncy5sZW5ndGggPiAxID8gYXJnc1sxXSA6IHVuZGVmaW5lZCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgVG9CYWNrSG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSBhcyBQYXJzZXJJbnRlcmZhY2U7XG4gICAgICBpZiAocGFyc2VNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlTWV0aG9kKGFyZ3NbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0VmFsdWUoa2V5LCBkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBrZXlQYXJ0cyA9IGtleS5zcGxpdCgnLicpO1xuICBpZiAoa2V5UGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgaWYgKGtleSBpbiBkYXRhKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgayBvZiBrZXlQYXJ0cykge1xuICAgIGlmIChkYXRhICYmIGsgaW4gZGF0YSkge1xuICAgICAgZGF0YSA9IGRhdGFba107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIHRvRnJvbnQobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGRhdGE6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIC8vIENoZWNrIGlmIHJlY3Vyc2lvbiBpcyByZXF1aXJlZFxuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0Zyb250KG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBpbnN0YW5jZSA9IG5ldyBtb2RlbFR5cGUoKTtcblxuICAvLyBNYXBwaW5nIGZpZWxkc1xuICBjb25zdCBtYXBwaW5nRmllbGRzID0gbW9kZWxUeXBlW01PREVMX01BUFBJTkdfRklFTERTX0tFWV0gYXMgc3RyaW5nW107XG4gIGNvbnN0IHJlbGF0aW9uID0gbW9kZWxUeXBlW01PREVMX1JFTEFUSU9OX0tFWV0gYXMgeyBba2V5OiBzdHJpbmddOiBNb2RlbEludGVyZmFjZSB9O1xuICBpZiAobWFwcGluZ0ZpZWxkcykge1xuICAgIGZvciAoY29uc3QgYmFja0ZpZWxkIG9mIE9iamVjdC5rZXlzKG1hcHBpbmdGaWVsZHMpKSB7XG4gICAgICBjb25zdCBmcm9udEZpZWxkID0gbWFwcGluZ0ZpZWxkc1tiYWNrRmllbGRdO1xuICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWUoYmFja0ZpZWxkLCBkYXRhKTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSkge1xuICAgICAgICBpbnN0YW5jZVtmcm9udEZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvRnJvbnQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIHRvQmFjayhtb2RlbFR5cGU6IE1vZGVsVHlwZUludGVyZmFjZSwgaW5zdGFuY2U6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIGlmICghaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5zdGFuY2UpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0JhY2sobW9kZWxUeXBlLCBpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSB7fTtcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSAmJiBpbnN0YW5jZVtmcm9udEZpZWxkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGFbYmFja0ZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvQmFjayhpbnN0YW5jZVtmcm9udEZpZWxkXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSBpbnN0YW5jZVtmcm9udEZpZWxkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQWE3QztJQUNFLG1CQUFZLElBQTJCOztRQUNyQyxJQUFJLElBQUksRUFBRTs7Z0JBQ1IsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBaEMsSUFBTSxHQUFHLFdBQUE7b0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7Ozs7Ozs7OztTQUNGO0lBQ0gsQ0FBQztJQUVNLGlCQUFPLEdBQWQsVUFBZSxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxnQkFBTSxHQUFiLFVBQWMsR0FBUTtRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOztBQU1ELE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBUztJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQUMsS0FBSztZQUNiLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxD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QUFDLENBQUM7Z0JBQzVDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9ja2V5UGVuYWx0eVR5cGVzIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2hvY2tleS1wZW5hbHR5LXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1PREVMX01BUFBJTkdfRklFTERTX0tFWSA9ICdfbWFwcGluZ19maWVsZHNfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9SRUxBVElPTl9LRVkgPSAnX3JlbGF0aW9uXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfVE9fRlJPTlRfS0VZID0gJ190b19mcm9udF8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0JBQ0tfS0VZID0gJ190b19iYWNrXyc7XG5cbnR5cGUgUGFyc2VySW50ZXJmYWNlID0gKGR0bzogYW55LCBwYXRoPzogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiBhbnk7XG5cbmludGVyZmFjZSBNb2RlbFR5cGVJbnRlcmZhY2Uge1xuICBuZXcoZGF0YT86IGFueSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxJbnRlcmZhY2Uge1xuICB0b0Zyb250KGR0bzogYW55KTogYW55O1xuICB0b0JhY2soZHRvOiBhbnkpOiBhbnk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0Zyb250KGR0bzogYW55KTogYW55IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvQmFjayhkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR3JhcGhQYXRoSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b0JhY2s6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVuYWx0eVR5cGVGaWVsZCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBIb2NrZXlQZW5hbHR5VHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGRhdGEpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YS5pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWVsZChtb2RlbENsYXNzKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtb2RlbENsYXNzLnRvRnJvbnQodmFsdWUpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1vZGVsQ2xhc3MudG9CYWNrKHZhbHVlKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZVV0Yy50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kZWxJbnN0YW5jZShcbiAgY29uZmlnOiB7XG4gICAgbWFwcGluZ0ZpZWxkcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgcmVsYXRpb24/OiB7IFtrZXk6IHN0cmluZ106IEJhc2VNb2RlbCB9XG4gIH1cbikge1xuICByZXR1cm4gKHRhcmdldDogTW9kZWxUeXBlSW50ZXJmYWNlKSA9PiB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgaWYgKGNvbmZpZy5tYXBwaW5nRmllbGRzKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldID0gY29uZmlnLm1hcHBpbmdGaWVsZHM7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnJlbGF0aW9uKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9SRUxBVElPTl9LRVldID0gY29uZmlnLnJlbGF0aW9uO1xuICAgICAgfVxuICAgICAgdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9Gcm9udCh0YXJnZXQsIGR0bywgcGF0aCk7XG4gICAgICB9O1xuICAgICAgdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSA9IChkdG86IGFueSwgcGF0aDogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiB0b0JhY2sodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBUb0Zyb250SG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdLCAoYXJncy5sZW5ndGggPiAxID8gYXJnc1sxXSA6IHVuZGVmaW5lZCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgVG9CYWNrSG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSBhcyBQYXJzZXJJbnRlcmZhY2U7XG4gICAgICBpZiAocGFyc2VNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlTWV0aG9kKGFyZ3NbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0VmFsdWUoa2V5LCBkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBrZXlQYXJ0cyA9IGtleS5zcGxpdCgnLicpO1xuICBpZiAoa2V5UGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgaWYgKGtleSBpbiBkYXRhKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgayBvZiBrZXlQYXJ0cykge1xuICAgIGlmIChkYXRhICYmIGsgaW4gZGF0YSkge1xuICAgICAgZGF0YSA9IGRhdGFba107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIHRvRnJvbnQobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGRhdGE6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIC8vIENoZWNrIGlmIHJlY3Vyc2lvbiBpcyByZXF1aXJlZFxuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0Zyb250KG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBpbnN0YW5jZSA9IG5ldyBtb2RlbFR5cGUoKTtcblxuICAvLyBNYXBwaW5nIGZpZWxkc1xuICBjb25zdCBtYXBwaW5nRmllbGRzID0gbW9kZWxUeXBlW01PREVMX01BUFBJTkdfRklFTERTX0tFWV0gYXMgc3RyaW5nW107XG4gIGNvbnN0IHJlbGF0aW9uID0gbW9kZWxUeXBlW01PREVMX1JFTEFUSU9OX0tFWV0gYXMgeyBba2V5OiBzdHJpbmddOiBNb2RlbEludGVyZmFjZSB9O1xuICBpZiAobWFwcGluZ0ZpZWxkcykge1xuICAgIGZvciAoY29uc3QgYmFja0ZpZWxkIG9mIE9iamVjdC5rZXlzKG1hcHBpbmdGaWVsZHMpKSB7XG4gICAgICBjb25zdCBmcm9udEZpZWxkID0gbWFwcGluZ0ZpZWxkc1tiYWNrRmllbGRdO1xuICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWUoYmFja0ZpZWxkLCBkYXRhKTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSkge1xuICAgICAgICBpbnN0YW5jZVtmcm9udEZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvRnJvbnQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIHRvQmFjayhtb2RlbFR5cGU6IE1vZGVsVHlwZUludGVyZmFjZSwgaW5zdGFuY2U6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIGlmICghaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5zdGFuY2UpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0JhY2sobW9kZWxUeXBlLCBpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSB7fTtcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSAmJiBpbnN0YW5jZVtmcm9udEZpZWxkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGFbYmFja0ZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvQmFjayhpbnN0YW5jZVtmcm9udEZpZWxkXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSBpbnN0YW5jZVtmcm9udEZpZWxkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
@@ -102,12 +102,18 @@ function enumField(enumClass) {
102
102
  function penaltyTypeField() {
103
103
  return {
104
104
  toFront: (data) => {
105
+ if (!data) {
106
+ return null;
107
+ }
105
108
  if (typeof data === 'object') {
106
109
  return data;
107
110
  }
108
111
  return HockeyPenaltyTypes.find(item => item.id === data);
109
112
  },
110
113
  toBack: (data) => {
114
+ if (!data) {
115
+ return null;
116
+ }
111
117
  if (typeof data === 'object') {
112
118
  return data.id;
113
119
  }
@@ -2222,6 +2228,22 @@ let HockeyGameApi = class HockeyGameApi {
2222
2228
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(map(result => HockeyGameLog.toFront(result))).toPromise();
2223
2229
  });
2224
2230
  }
2231
+ downloadProtocol(gameId, format) {
2232
+ return __awaiter(this, void 0, void 0, function* () {
2233
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {
2234
+ params: new HttpParams().set('file_type', format),
2235
+ responseType: 'blob'
2236
+ }).toPromise();
2237
+ });
2238
+ }
2239
+ downloadApplication(gameId, format, type) {
2240
+ return __awaiter(this, void 0, void 0, function* () {
2241
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {
2242
+ params: new HttpParams().set('file_type', format).set('application_type', type),
2243
+ responseType: 'blob'
2244
+ }).toPromise();
2245
+ });
2246
+ }
2225
2247
  };
2226
2248
  HockeyGameApi.ctorParameters = () => [
2227
2249
  { type: HttpClient },