@net7/components 4.5.7 → 4.5.8

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.
@@ -3,17 +3,18 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
3
3
  // endpoint: 'https://backend.dph.netseven.work/api/public/tei',
4
4
  // endpoint: 'http://localhost:8080/exist/apps/tei-publisher',
5
5
  endpoint: 'https://teipublisher9.muruca.cloud/exist/apps/tei-publisher',
6
+ // endpoint: 'https://backend.dse.ispf.netseven.work/api/tei',
6
7
  docs: [
7
8
  {
8
- xml: 'playground/sn30__1_cleaned_v2.xml',
9
+ xml: 'playground/SN_44_Ultima.xml',
9
10
  // xml: 'playground/pericopi.xml',
10
11
  id: 'document1',
11
12
  },
12
- {
13
- xml: 'playground/SN_44_Ultima.xml',
14
- // xml: 'playground/postille.xml',
15
- id: 'document2',
16
- }
13
+ /* {
14
+ xml: 'playground/SN_44_Ultima.xml',
15
+ // xml: 'playground/postille.xml',
16
+ id: 'document2',
17
+ } */
17
18
  ],
18
19
  mainDoc: {
19
20
  odd: 'ISPF_ODD',
@@ -29,15 +30,43 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
29
30
  emit: 'transcription',
30
31
  },
31
32
  panels: [
33
+ /* {
34
+ id: '44',
35
+ doc_id: 'document2',
36
+ enabled: true,
37
+ title: 'SN-44',
38
+ type: 'text',
39
+ odd: 'ISPF_ODD',
40
+ // odd: '',
41
+ view: 'page',
42
+ } , */
32
43
  {
33
- id: '44',
34
- doc_id: 'document2',
44
+ id: 'facsimile',
35
45
  enabled: true,
36
- title: 'SN-44',
37
- type: 'text',
38
- odd: 'ISPF_ODD',
39
- // odd: '',
40
- view: 'page',
46
+ title: 'Facsimile',
47
+ type: 'facsimile',
48
+ facsimile: {
49
+ enabled: true,
50
+ // uri: 'https://iiif.muruca.cloud/iiif/2/%2Fispf%2Fsn_45%2F',
51
+ // uri: 'https://backend.dse.ispf.netseven.work/iiif/9/2/',
52
+ uri: 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2F',
53
+ // uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcsjrrzqv0i.jpg/info.json'
54
+ // uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcSJrRZQv0i.JPG/info.json'
55
+ scans: [
56
+ /* 'Ms_XIII_D_79_000_pyramidal.ptif',
57
+ 'Ms_XIII_D_79_001_pyramidal.ptif',
58
+ 'Ms_XIII_D_79_002_pyramidal.ptif', */
59
+ ],
60
+ options: {
61
+ height: '700px',
62
+ defaultZoomLevel: 0,
63
+ showNavigator: true,
64
+ showNavigationControl: true,
65
+ showHomeControl: true,
66
+ showRotationControl: false,
67
+ showFullPageControl: true,
68
+ },
69
+ },
41
70
  }
42
71
  ],
43
72
  /* download: {
@@ -66,4 +95,4 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
66
95
  }
67
96
  },
68
97
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTJCO0lBQ25FLHlEQUF5RDtJQUN6RCxnRUFBZ0U7SUFDaEUsOERBQThEO0lBQzlELFFBQVEsRUFBRSw2REFBNkQ7SUFHdkUsSUFBSSxFQUFFO1FBQ0o7WUFDRSxHQUFHLEVBQUUsbUNBQW1DO1lBQ3hDLGtDQUFrQztZQUNsQyxFQUFFLEVBQUUsV0FBVztTQUNoQjtRQUNFO1lBQ0QsR0FBRyxFQUFFLDZCQUE2QjtZQUNsQyxrQ0FBa0M7WUFDbEMsRUFBRSxFQUFFLFdBQVc7U0FDaEI7S0FDRjtJQUVELE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRSxVQUFVO1FBQ2YsV0FBVztRQUNYLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxNQUFNO0tBQ2I7SUFFRCxRQUFRO0lBQ1IsSUFBSSxFQUFFO1FBQ0osRUFBRSxFQUFFLE1BQU07UUFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSx5QkFBeUI7UUFDdEMsU0FBUyxFQUFFLGVBQWU7UUFDMUIsSUFBSSxFQUFFLGVBQWU7S0FDdEI7SUFFRCxNQUFNLEVBQUU7UUFDSjtZQUNBLEVBQUUsRUFBRSxJQUFJO1lBQ1IsTUFBTSxFQUFFLFdBQVc7WUFDbkIsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxNQUFNO1lBQ1osR0FBRyxFQUFFLFVBQVU7WUFDZixXQUFXO1lBQ1gsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0lBR0g7Ozs7V0FJTztJQUVMLFNBQVM7SUFDVCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLEdBQUcsRUFBRSxtQkFBbUI7UUFDeEIsT0FBTyxFQUFFLFlBQVk7S0FDdEI7SUFFRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUU7WUFDTixTQUFTLEVBQ1Q7WUFDQSx3REFBd0Q7YUFDdkQ7U0FDRjtRQUNELEdBQUcsRUFBRTtZQUNILE9BQU8sRUFBRSxJQUFJO1NBQ2Q7UUFDRCxJQUFJLEVBQUU7WUFDSixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYWxsZWxUZXh0Vmlld2VyRGF0YSB9IGZyb20gJy4vcGFyYWxsZWwtdGV4dC12aWV3ZXInO1xuXG5leHBvcnQgY29uc3QgUEFSQUxMRUxfVEVYVF9WSUVXRVJfRFBIX01PQ0s6IFBhcmFsbGVsVGV4dFZpZXdlckRhdGEgPSB7XG4gIC8vIGVuZHBvaW50OiAnaHR0cHM6Ly9iYWNrZW5kLmRwaC5uZXRzZXZlbi53b3JrL2FwaS90ZWknLFxuICAvLyBlbmRwb2ludDogJ2h0dHBzOi8vYmFja2VuZC5kcGgubmV0c2V2ZW4ud29yay9hcGkvcHVibGljL3RlaScsXG4gIC8vIGVuZHBvaW50OiAnaHR0cDovL2xvY2FsaG9zdDo4MDgwL2V4aXN0L2FwcHMvdGVpLXB1Ymxpc2hlcicsXG4gIGVuZHBvaW50OiAnaHR0cHM6Ly90ZWlwdWJsaXNoZXI5Lm11cnVjYS5jbG91ZC9leGlzdC9hcHBzL3RlaS1wdWJsaXNoZXInLFxuXG5cbiAgZG9jczogW1xuICAgIHtcbiAgICAgIHhtbDogJ3BsYXlncm91bmQvc24zMF9fMV9jbGVhbmVkX3YyLnhtbCcsXG4gICAgICAvLyB4bWw6ICdwbGF5Z3JvdW5kL3Blcmljb3BpLnhtbCcsXG4gICAgICBpZDogJ2RvY3VtZW50MScsXG4gICAgfSxcbiAgICAgICB7XG4gICAgICB4bWw6ICdwbGF5Z3JvdW5kL1NOXzQ0X1VsdGltYS54bWwnLFxuICAgICAgLy8geG1sOiAncGxheWdyb3VuZC9wb3N0aWxsZS54bWwnLFxuICAgICAgaWQ6ICdkb2N1bWVudDInLFxuICAgIH0gICBcbiAgXSxcblxuICBtYWluRG9jOiB7XG4gICAgb2RkOiAnSVNQRl9PREQnLFxuICAgIC8vIG9kZDogJycsXG4gICAgZG9jX2lkOiAnZG9jdW1lbnQxJyxcbiAgICB2aWV3OiAncGFnZScsXG4gIH0sXG5cbiAgLy8gR3JpZCBcbiAgZ3JpZDoge1xuICAgIGlkOiAnZ3JpZCcsXG4gICAgcGFuZWxzOiBbMF0sIC8vIEluaXRpYWwgcGFuZWxzIHRvIHNob3dcbiAgICBzdWJzY3JpYmU6ICd0cmFuc2NyaXB0aW9uJyxcbiAgICBlbWl0OiAndHJhbnNjcmlwdGlvbicsXG4gIH0sXG5cbiAgcGFuZWxzOiBbXG4gICAgICB7XG4gICAgICBpZDogJzQ0JyxcbiAgICAgIGRvY19pZDogJ2RvY3VtZW50MicsICBcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICB0aXRsZTogJ1NOLTQ0JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIG9kZDogJ0lTUEZfT0REJyxcbiAgICAgIC8vIG9kZDogJycsXG4gICAgICB2aWV3OiAncGFnZScsXG4gICAgfSAgXG4gIF0sXG4gXG5cbi8qICAgZG93bmxvYWQ6IHtcbiAgICBsYWJlbDogJ0Rvd25sb2FkJyxcbiAgICBmaWxlOiAnaHR0cDovL3N0YWdpbmcudGVpcHVibGlzaGVyLm5ldHNldmVuLml0L2V4aXN0L2FwcHMvdGVpLXB1Ymxpc2hlci9hcGkvZG9jdW1lbnQvbWFtYnJpbm8lMkZzbTFfc291cmNlX2RlZl8xNjQ3MzM0MzkzLnhtbCcsXG4gICAgZm9ybWF0OiAnWE1MJyxcbiAgfSwgKi9cblxuICAvLyBMYWJlbHNcbiAgbGFiZWxzOiB7XG4gICAgdmlldzogJ1BsYWluIFJlYWRpbmcgVmlldycsXG4gICAgYWRkQ29sdW1uOiAnQWRkIENvbHVtbicsXG4gICAgdG9jOiAnVGFibGUgb2YgQ29udGVudHMnLFxuICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgfSxcblxuICBsaWJPcHRpb25zOiB7XG4gICAgcGJQYWdlOiB7XG4gICAgICB1cmxJZ25vcmU6IFxuICAgICAgW1xuICAgICAgLy8gIFwiaGlnaGxpZ2h0MSxvZGQsdmlldyxwYXRoLHNlbGVjdG9ycyxoaWdobGlnaHQsdmlldzJcIlxuICAgICAgXSxcbiAgICB9LFxuICAgIHRvYzoge1xuICAgICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIGRpc2FibGVBZGRDb2x1bW46IHRydWUsXG4gICAgfVxuICB9LFxufTtcbiAgIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTJCO0lBQ25FLHlEQUF5RDtJQUN6RCxnRUFBZ0U7SUFDaEUsOERBQThEO0lBQzdELFFBQVEsRUFBRSw2REFBNkQ7SUFDeEUsZ0VBQWdFO0lBR2hFLElBQUksRUFBRTtRQUNKO1lBQ0UsR0FBRyxFQUFFLDZCQUE2QjtZQUNsQyxrQ0FBa0M7WUFDbEMsRUFBRSxFQUFFLFdBQVc7U0FDaEI7UUFDTDs7OzttQkFJVztLQUNSO0lBRUQsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLFVBQVU7UUFDZixXQUFXO1FBQ1gsTUFBTSxFQUFFLFdBQVc7UUFDbkIsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUVELFFBQVE7SUFDUixJQUFJLEVBQUU7UUFDSixFQUFFLEVBQUUsTUFBTTtRQUNWLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlCQUF5QjtRQUN0QyxTQUFTLEVBQUUsZUFBZTtRQUMxQixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUVELE1BQU0sRUFBRTtRQUNWOzs7Ozs7Ozs7bUJBU1c7UUFFTDtZQUNFLEVBQUUsRUFBRSxXQUFXO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsV0FBVztZQUNqQixTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLElBQUk7Z0JBQ2YsOERBQThEO2dCQUM5RCwyREFBMkQ7Z0JBQzNELEdBQUcsRUFBRywrRUFBK0U7Z0JBQ3JGLG1JQUFtSTtnQkFDbkksbUlBQW1JO2dCQUNuSSxLQUFLLEVBQUU7Z0JBQ2Y7OytEQUUrQztpQkFDdEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxPQUFPO29CQUNmLGdCQUFnQixFQUFFLENBQUM7b0JBQ25CLGFBQWEsRUFBRSxJQUFJO29CQUNuQixxQkFBcUIsRUFBRSxJQUFJO29CQUMzQixlQUFlLEVBQUUsSUFBSTtvQkFDckIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsbUJBQW1CLEVBQUUsSUFBSTtpQkFDMUI7YUFDRjtTQUNGO0tBQ0Y7SUFHSDs7OztXQUlPO0lBR0wsU0FBUztJQUNULE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUVELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRTtZQUNOLFNBQVMsRUFDVDtZQUNBLHdEQUF3RDthQUN2RDtTQUNGO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsT0FBTyxFQUFFLElBQUk7U0FDZDtRQUNELElBQUksRUFBRTtZQUNKLGdCQUFnQixFQUFFLElBQUk7U0FDdkI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIH0gZnJvbSAnLi9wYXJhbGxlbC10ZXh0LXZpZXdlcic7XG5cbmV4cG9ydCBjb25zdCBQQVJBTExFTF9URVhUX1ZJRVdFUl9EUEhfTU9DSzogUGFyYWxsZWxUZXh0Vmlld2VyRGF0YSA9IHtcbiAgLy8gZW5kcG9pbnQ6ICdodHRwczovL2JhY2tlbmQuZHBoLm5ldHNldmVuLndvcmsvYXBpL3RlaScsXG4gIC8vIGVuZHBvaW50OiAnaHR0cHM6Ly9iYWNrZW5kLmRwaC5uZXRzZXZlbi53b3JrL2FwaS9wdWJsaWMvdGVpJyxcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vbG9jYWxob3N0OjgwODAvZXhpc3QvYXBwcy90ZWktcHVibGlzaGVyJyxcbiAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZWlwdWJsaXNoZXI5Lm11cnVjYS5jbG91ZC9leGlzdC9hcHBzL3RlaS1wdWJsaXNoZXInLFxuICAvLyAgIGVuZHBvaW50OiAnaHR0cHM6Ly9iYWNrZW5kLmRzZS5pc3BmLm5ldHNldmVuLndvcmsvYXBpL3RlaScsXG5cblxuICBkb2NzOiBbXG4gICAge1xuICAgICAgeG1sOiAncGxheWdyb3VuZC9TTl80NF9VbHRpbWEueG1sJyxcbiAgICAgIC8vIHhtbDogJ3BsYXlncm91bmQvcGVyaWNvcGkueG1sJyxcbiAgICAgIGlkOiAnZG9jdW1lbnQxJyxcbiAgICB9LFxuLyogICAgICAgIHtcbiAgICAgIHhtbDogJ3BsYXlncm91bmQvU05fNDRfVWx0aW1hLnhtbCcsXG4gICAgICAvLyB4bWw6ICdwbGF5Z3JvdW5kL3Bvc3RpbGxlLnhtbCcsXG4gICAgICBpZDogJ2RvY3VtZW50MicsXG4gICAgfSAgICAqL1xuICBdLFxuXG4gIG1haW5Eb2M6IHtcbiAgICBvZGQ6ICdJU1BGX09ERCcsXG4gICAgLy8gb2RkOiAnJyxcbiAgICBkb2NfaWQ6ICdkb2N1bWVudDEnLFxuICAgIHZpZXc6ICdwYWdlJyxcbiAgfSxcblxuICAvLyBHcmlkIFxuICBncmlkOiB7XG4gICAgaWQ6ICdncmlkJyxcbiAgICBwYW5lbHM6IFswXSwgLy8gSW5pdGlhbCBwYW5lbHMgdG8gc2hvd1xuICAgIHN1YnNjcmliZTogJ3RyYW5zY3JpcHRpb24nLFxuICAgIGVtaXQ6ICd0cmFuc2NyaXB0aW9uJyxcbiAgfSxcblxuICBwYW5lbHM6IFtcbi8qICAgICB7XG4gICAgICBpZDogJzQ0JyxcbiAgICAgIGRvY19pZDogJ2RvY3VtZW50MicsICBcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICB0aXRsZTogJ1NOLTQ0JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIG9kZDogJ0lTUEZfT0REJyxcbiAgICAgIC8vIG9kZDogJycsXG4gICAgICB2aWV3OiAncGFnZScsXG4gICAgfSAgLCAqL1xuXG4gICAgICB7XG4gICAgICAgIGlkOiAnZmFjc2ltaWxlJyxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdGYWNzaW1pbGUnLFxuICAgICAgICB0eXBlOiAnZmFjc2ltaWxlJyxcbiAgICAgICAgZmFjc2ltaWxlOiB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgLy8gdXJpOiAnaHR0cHM6Ly9paWlmLm11cnVjYS5jbG91ZC9paWlmLzIvJTJGaXNwZiUyRnNuXzQ1JTJGJyxcbiAgICAgICAgLy8gdXJpOiAnaHR0cHM6Ly9iYWNrZW5kLmRzZS5pc3BmLm5ldHNldmVuLndvcmsvaWlpZi85LzIvJyxcbiAgICAgICAgdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGJyxcbiAgICAgICAgLy8gdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGbXMteGlpaS1kLTc5LTAwMC1ydmNzanJyenF2MGkuanBnL2luZm8uanNvbidcbiAgICAgICAgLy8gdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGbXMteGlpaS1kLTc5LTAwMC1ydmNTSnJSWlF2MGkuSlBHL2luZm8uanNvbidcbiAgICAgICAgc2NhbnM6IFtcbi8qICAgICAgICAgICAnTXNfWElJSV9EXzc5XzAwMF9weXJhbWlkYWwucHRpZicsXG4gICAgICAgICAgJ01zX1hJSUlfRF83OV8wMDFfcHlyYW1pZGFsLnB0aWYnLFxuICAgICAgICAgICdNc19YSUlJX0RfNzlfMDAyX3B5cmFtaWRhbC5wdGlmJywgKi9cbiAgICAgICAgXSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGhlaWdodDogJzcwMHB4JyxcbiAgICAgICAgICBkZWZhdWx0Wm9vbUxldmVsOiAwLFxuICAgICAgICAgIHNob3dOYXZpZ2F0b3I6IHRydWUsXG4gICAgICAgICAgc2hvd05hdmlnYXRpb25Db250cm9sOiB0cnVlLFxuICAgICAgICAgIHNob3dIb21lQ29udHJvbDogdHJ1ZSxcbiAgICAgICAgICBzaG93Um90YXRpb25Db250cm9sOiBmYWxzZSxcbiAgICAgICAgICBzaG93RnVsbFBhZ2VDb250cm9sOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9ICBcbiAgXSxcbiBcblxuLyogICBkb3dubG9hZDoge1xuICAgIGxhYmVsOiAnRG93bmxvYWQnLFxuICAgIGZpbGU6ICdodHRwOi8vc3RhZ2luZy50ZWlwdWJsaXNoZXIubmV0c2V2ZW4uaXQvZXhpc3QvYXBwcy90ZWktcHVibGlzaGVyL2FwaS9kb2N1bWVudC9tYW1icmlubyUyRnNtMV9zb3VyY2VfZGVmXzE2NDczMzQzOTMueG1sJyxcbiAgICBmb3JtYXQ6ICdYTUwnLFxuICB9LCAqL1xuICBcblxuICAvLyBMYWJlbHNcbiAgbGFiZWxzOiB7XG4gICAgdmlldzogJ1BsYWluIFJlYWRpbmcgVmlldycsXG4gICAgYWRkQ29sdW1uOiAnQWRkIENvbHVtbicsXG4gICAgdG9jOiAnVGFibGUgb2YgQ29udGVudHMnLFxuICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgfSxcblxuICBsaWJPcHRpb25zOiB7XG4gICAgcGJQYWdlOiB7XG4gICAgICB1cmxJZ25vcmU6IFxuICAgICAgW1xuICAgICAgLy8gIFwiaGlnaGxpZ2h0MSxvZGQsdmlldyxwYXRoLHNlbGVjdG9ycyxoaWdobGlnaHQsdmlldzJcIlxuICAgICAgXSxcbiAgICB9LFxuICAgIHRvYzoge1xuICAgICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIGRpc2FibGVBZGRDb2x1bW46IHRydWUsXG4gICAgfVxuICB9LFxufTtcbiAgIl19
@@ -36,14 +36,14 @@ export class ParallelTextViewerComponent {
36
36
  }
37
37
  }
38
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, decorators: [{
42
42
  type: Component,
43
- args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
43
+ args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
44
44
  }], propDecorators: { data: [{
45
45
  type: Input
46
46
  }], emit: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBNkt6RCxNQUFNLE9BQU8sMkJBQTJCO2FBSy9CLFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUztJQUd2QixRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDeEMsQ0FBQyxDQUFDLFlBQVksQ0FDWixLQUFLLEVBQUUsR0FBRyxRQUNWLG9EQUFvRCxDQUNyRCxDQUFDO1lBQ0YsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVksRUFBRSxHQUFXO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBekNVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHVHQ2hMeEMsa3FYQThSQTs7NEZEOUdhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSTFCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFSQUxMRUwtVEVYVC1WSUVXRVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBJbnRlcmZhY2UgZm9yIFRleHRWaWV3ZXJDb21wb25lbnQncyBcImRhdGFcIlxuICogQHByb3BlcnR5IGVuZHBvaW50IChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBkb2MgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGZhY3NpbWlsZSAob3B0aW9uYWwpXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVsQ29uZmlnIHtcbiAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgIFxuICBlbmFibGVkOiBib29sZWFuOyAgICAgICAgIFxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgXG4gIHR5cGU6ICd0ZXh0JyB8ICdmYWNzaW1pbGUnOyBcbiAgXG4gIC8vIHRlc3RvXG4gIG9kZD86IHN0cmluZztcbiAgZG9jX2lkPzogc3RyaW5nO1xuICB2aWV3Pzogc3RyaW5nO1xuICB4cGF0aD86IHN0cmluZztcbiAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcblxuXG4gIC8vIGZhY3NpbWlsZVxuICBmYWNzaW1pbGU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdXJpOiBzdHJpbmc7XG4gICAgc2NhbnM/OiBzdHJpbmdbXTtcbiAgICBvcHRpb25zPzoge1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgICAgZGVmYXVsdFpvb21MZXZlbD86IG51bWJlcjtcbiAgICAgIHNob3dIb21lQ29udHJvbD86IGJvb2xlYW47XG4gICAgICBzaG93RnVsbFBhZ2VDb250cm9sPzogYm9vbGVhbjtcbiAgICAgIHNob3dSb3RhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgICAgc2hvd05hdmlnYXRvcj86IGJvb2xlYW47XG4gICAgICBzaG93TmF2aWdhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgIH07XG4gIH07IFxuXG4gIHBhcmFtcz86IEFycmF5PFxuICB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9XG4gID47XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIHtcbiAgLypcbiAgICogVEVJIFB1Ymxpc2hlciBzZXJ2ZXIgZW5kcG9pbnRcbiAgICovXG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIFxuICAvKlxuICAgKiBEb2N1bWVudHMgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZG9jczoge1xuICAgIHhtbDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7ICBcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgcm9vdFBhdGg/OiBzdHJpbmc7XG4gICAgXG4gIH1bXTtcblxuICBtYWluRG9jOiB7XG4gICAgZG9jX2lkOiBzdHJpbmc7XG4gICAgb2RkOiBzdHJpbmc7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBzdHJpbmc7XG4gICAgdHJhbnNsYXRpb24/OiBib29sZWFuO1xuICAgIGRvd25sb2FkPzogc3RyaW5nO1xuICAgIHJvb3RQYXRoPzogc3RyaW5nO1xuICAgIG1hcEZ1bmN0aW9uPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICB4cGF0aD86IHN0cmluZztcbiAgICBkaXNhYmxlSGlzdG9yeT86IGJvb2xlYW47XG4gICAgYXBwYXJhdHVzPzoge1xuICAgICAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gICAgICByb290UGF0aD86IHN0cmluZztcbiAgICAgIG9kZDogc3RyaW5nO1xuICAgICAgY2hhbm5lbD86IHN0cmluZztcbiAgICAgIHZpZXc6IHN0cmluZztcbiAgICAgIHBhcmFtcz86IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgc3RhbmRhbG9uZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuICAvKlxuICAgKiBHcmlkIGNvbmZpZ3VyYXRpb24gZm9yIHBhcmFsbGVsIGxheW91dFxuICAgKi9cbiAgZ3JpZD86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBwYW5lbHM/OiBudW1iZXJbXTsgXG4gICAgc3Vic2NyaWJlPzogc3RyaW5nO1xuICAgIGVtaXQ/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFBhbmVscz86IHN0cmluZztcbiAgICBjb2x1bW5XaWR0aHM/OiBzdHJpbmc7XG4gIH07XG5cbiAgLypcbiAgICogQ29uZmlndXJhemlvbmUgcGFubmVsbGkgc2Vjb25kYXJpXG4gICAqL1xuICAvKlxuICAgKiBBcnJheSBnZW5lcmljbyBwZXIgcGFuZWxzXG4gICAqL1xuICBwYW5lbHM/OiBQYW5lbENvbmZpZ1tdO1xuICAvKlxuICAgKiBET1dOTE9BRCBGSUxFU1xuICAgKi9cbiAgZG93bmxvYWQ/OiB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmlsZT86IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHNjcm9sbFN5bmMgb3B0aW9uXG4gICAqL1xuICBzY3JvbGxTeW5jPzogYm9vbGVhbjtcbiAgLypcblxuICAvKlxuICAgKiBMQUJFTFMgZm9yIFRPT0xCQVJcbiAgICovXG4gIGxhYmVscz86IHtcbiAgICB2aWV3Pzogc3RyaW5nO1xuICAgIGFkZENvbHVtbj86IHN0cmluZztcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIHR5cGU/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBpbmRleD86IHtcbiAgICAgIHNob3c/OiBzdHJpbmc7XG4gICAgICBoaWRlPzogc3RyaW5nO1xuICAgIH07XG4gICAgdG9jPzogc3RyaW5nO1xuICAgIGxvYWRpbmc/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHRvZ2dsZSBjb2x1bW5cbiAgICovXG4gIHRvZ2dsZUNvbHVtbj86IGJvb2xlYW47XG4gIFxuICBcblxuICBsaWJPcHRpb25zPzoge1xuICAgIHBiUGFnZT86IHtcbiAgICAgIHVybElnbm9yZT86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgdG9jPzoge1xuICAgICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgICBncmlkPzoge1xuICAgICAgZGlzYWJsZUFkZENvbHVtbj86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctcGFyYWxsZWwtdGV4dC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE6IFBhcmFsbGVsVGV4dFZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHN0YXRpYyBfbG9hZGVkID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIVBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3NyYycsIGAke2Jhc2VIcmVmICBcbiAgICAgICAgfS9hc3NldHMvcGItY29tcG9uZW50cy9kaXN0L3BiLWNvbXBvbmVudHMtYnVuZGxlLmpzYFxuICAgICAgKTtcbiAgICAgIHMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ21vZHVsZScpO1xuICAgICAgcy5vbmxvYWQgPSB0aGlzLm9uU2NyaXB0TG9hZGVkO1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5SW5kZXgoKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ3RvZ2dsZWNvbHVtbicpO1xuICB9XG5cbiAgb25TY3JpcHRMb2FkZWQoKSB7XG4gICAgUGFyYWxsZWxUZXh0Vmlld2VyQ29tcG9uZW50Ll9sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjsgICAgIFxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9wZW5Eb3dubG9hZChldmVudDogRXZlbnQsIHVybDogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cbn0iLCI8ZGl2XG4gIGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXIge3tkYXRhPy5jbGFzc2VzIHx8ICcnfX1cIlxuICAqbmdJZj1cImRhdGEgJiYgZGF0YS5lbmRwb2ludFwiXG4+XG4gIDxwYi1wYWdlIFxuICAgIFthdHRyLmVuZHBvaW50XT1cImRhdGEuZW5kcG9pbnRcIiBcbiAgICBhcGktdmVyc2lvbj1cIjEuMC4wXCIgXG4gICAgdXJsLXBhdGg9XCJxdWVyeVwiXG4gICAgW2F0dHIudXJsLWlnbm9yZV09XCJkYXRhLmxpYk9wdGlvbnM/LnBiUGFnZT8udXJsSWdub3JlPy5qb2luKCcsJykgfHwgJ29kZCx2aWV3LHBhdGgsc2VsZWN0b3JzLGhpZ2hsaWdodCx2aWV3MidcIlxuICA+XG4gICAgPCEtLSBQQiBET0NVTUVOVC0tPlxuICAgIDxwYi1kb2N1bWVudFxuICAgICAgKm5nRm9yPVwibGV0IGRvYyBvZiBkYXRhLmRvY3M7IGluZGV4IGFzICRpXCJcbiAgICAgIFthdHRyLnBhdGhdPVwiZG9jLnhtbFwiXG4gICAgICBbYXR0ci5vZGRdPVwiZG9jLm9kZFwiXG4gICAgICBbYXR0ci5pZF09XCJkb2MuaWRcIlxuICAgICAgW2F0dHIudmlld109XCJkb2Mudmlld1wiXG4gICAgICBbYXR0ci5kaXNhYmxlLWhpc3RvcnldPVwiZG9jLmRpc2FibGVIaXN0b3J5ID09PSB0cnVlID8gJycgOiBudWxsXCJcbiAgICAgIFthdHRyLnJvb3QtcGF0aF09XCJkb2Mucm9vdFBhdGhcIlxuICAgID5cbiAgICA8L3BiLWRvY3VtZW50PlxuXG4gICAgPGFwcC1kcmF3ZXItbGF5b3V0IGZvcmNlLW5hcnJvdz1cImZvcmNlLW5hcnJvd1wiIG5hcnJvdz1cIlwiPlxuICAgICAgPGFwcC1oZWFkZXItbGF5b3V0PlxuICAgICAgICA8YXBwLWhlYWRlclxuICAgICAgICAgIGZpeGVkPVwiZml4ZWRcIlxuICAgICAgICAgIGRhdGEtdGVtcGxhdGU9XCJicm93c2U6Zml4LWxpbmtzXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjM5OTk5NHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXRvb2xiYXJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhclwiXG4gICAgICAgICAgICBzdGlja3k9XCJzdGlja3lcIlxuICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFRPQyBidXR0b24gLS0+XG4gICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ0b2NUb2dnbGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRvYy10b2dnbGVcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6dmlldy1saXN0XCJcbiAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBQbGFpbiByZWFkaW5nIHZpZXctLT5cbiAgICAgICAgICAgIDxwYi10b2dnbGUtZmVhdHVyZVxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcz8ubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICAgICAgbmFtZT1cImhpZ2hsaWdodDFcIlxuICAgICAgICAgICAgICBzZWxlY3Rvcj1cInRlaS1hcHAscGItcG9wb3ZlcixwYi1oaWdobGlnaHQsLnF1b3RlLHBiLWFsdGVybmF0ZVwiXG4gICAgICAgICAgICAgIGRlZmF1bHQ9XCJvZmZcIlxuICAgICAgICAgICAgICBhY3Rpb249XCJkaXNhYmxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy52aWV3XCI+XG4gICAgICAgICAgICAgICAge3tkYXRhLmxhYmVscy52aWV3fX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnZpZXdcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5wbGFpblwiPlBsYWluIFJlYWRpbmcgVmlldzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLXRvZ2dsZS1mZWF0dXJlPlxuXG4gICAgICAgICAgICA8IS0tIFpvb20gQ29udHJvbHMgLS0+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJpblwiXG4gICAgICAgICAgICAgIGljb249XCJpY29uczp6b29tLWluXCJcbiAgICAgICAgICAgID48L3BiLXpvb20+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJvdXRcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6em9vbS1vdXRcIlxuICAgICAgICAgICAgPjwvcGItem9vbT5cblxuICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIENvbnRyb2xzIC0tPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cImJhY2t3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9wYi1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJmb3J3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItbmF2aWdhdGlvbj5cblxuICAgICAgICAgICAgPCEtLSBQdWxzYW50ZSBhZ2dpdW5naSBwYW5uZWxsbyAtLT5cbiAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YS5saWJPcHRpb25zPy5ncmlkPy5kaXNhYmxlQWRkQ29sdW1uXCJcbiAgICAgICAgICAgICAgYWN0aW9uPVwiYWRkXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1hZGRcIiBcbiAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgXG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9XCJcIiBcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249XCIwXCIgXG4gICAgICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpcm9uLWljb24gaWNvbj1cImljb25zOmFkZFwiPjwvaXJvbi1pY29uPiBcbiAgICAgICAgICAgICAgICB7eyBkYXRhLmxhYmVscz8uYWRkQ29sdW1uIHx8ICdBZ2dpdW5naSBjb2xvbm5hJyB9fVxuICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItZ3JpZC1hY3Rpb24+XG5cbiAgICAgICAgICAgIDwhLS0gUHVsc2FudGUgZG93bmxvYWQgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5kb3dubG9hZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXJfX3Rvb2xiYXItY29udGFpbmVyLWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8cGItZG93bmxvYWRcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImRhdGEuZG93bmxvYWQuZm9ybWF0IHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgIFt1cmxdPVwiZGF0YS5kb3dubG9hZC5maWxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIGRpYWxvZz1cImRvd25sb2FkRGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRG93bmxvYWQoJGV2ZW50LCBkYXRhLmRvd25sb2FkLmZpbGUpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJkYXRhLmRvd25sb2FkLmxhYmVsICYmIGRhdGEuZG93bmxvYWQuZm9ybWF0ID8gZGF0YS5kb3dubG9hZC5sYWJlbCArICcgJyArIGRhdGEuZG93bmxvYWQuZm9ybWF0IDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5kb3dubG9hZC5sYWJlbCAmJiBkYXRhLmRvd25sb2FkLmZvcm1hdCA/IGRhdGEuZG93bmxvYWQubGFiZWwgKyAnICcgKyBkYXRhLmRvd25sb2FkLmZvcm1hdCA6ICdEb3dubG9hZCd9fVxuICAgICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1kb3dubG9hZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPHBiLXByb2dyZXNzXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBpbmRldGVybWluYXRlPVwiXCJcbiAgICAgICAgICAgICAgYm90dG9tLWl0ZW09XCJib3R0b20taXRlbVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCJcbiAgICAgICAgICAgID48L3BiLXByb2dyZXNzPlxuICAgICAgICAgIDwvYXBwLXRvb2xiYXI+XG4gICAgICAgIDwvYXBwLWhlYWRlcj5cblxuICAgICAgICA8IS0tIE1haW4gQ29udGVudCB3aXRoIFBhcmFsbGVsIEdyaWQgLS0+XG4gICAgICAgIDxtYWluIGNsYXNzPVwiY29udGVudC1ib2R5XCI+XG4gICAgICAgICAgPHBiLWdyaWQgXG4gICAgICAgICAgICBbaWRdPVwiZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCdcIlxuICAgICAgICAgICAgW2F0dHIucGFuZWxzXT1cImRhdGEuZ3JpZD8ucGFuZWxzID8gJ1snICsgZGF0YS5ncmlkLnBhbmVscy5qb2luKCcsJykgKyAnXScgOiAnWzBdJ1wiXG4gICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBNYWluIHBiLS0+XG4gICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgaWQ9XCJ0cmFuc2NyaXB0aW9uLXZpZXdcIlxuICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwiZGF0YS5tYWluRG9jLmRvY19pZCB8fCBkYXRhLmRvY3NbMF0uaWRcIlxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIub2RkXT1cImRhdGEubWFpbkRvYy5vZGRcIlxuICAgICAgICAgICAgICBbYXR0ci52aWV3XT1cImRhdGEubWFpbkRvYy52aWV3XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICBhcHBlbmQtZm9vdG5vdGVzPVwiYXBwZW5kLWZvb3Rub3Rlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3BiLXZpZXc+XG5cbiAgICAgICAgICAgIDwhLS0gVGVtcGxhdGUgLS0+XG4gICAgICAgICAgICA8dGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxwYi1wYW5lbCBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFJpbW96aW9uZSBjb2xvbm5hIC0tPlxuICAgICAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgICAgIFthdHRyLmdyaWRdPVwiJyMnICsgKGRhdGEuZ3JpZD8uaWQgfHwgJ2dyaWQnKVwiIFxuICAgICAgICAgICAgICAgICAgc2xvdD1cInRvb2xiYXJcIiBcbiAgICAgICAgICAgICAgICAgIGFjdGlvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249XCJpY29uczpjbG9zZVwiPjwvcGFwZXItaWNvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1ncmlkLWFjdGlvbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gUGFubmVsbGkgc2Vjb25kYXJpIC0tPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhbmVsIG9mIGRhdGEucGFuZWxzXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuZW5hYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYW5lbC50eXBlXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgW2F0dHIudGl0bGVdPVwicGFuZWwudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cInBhbmVsLmlkICsgJy12aWV3J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwicGFuZWwuZG9jX2lkIHx8IGRhdGEuZG9jc1swXS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5vZGRdPVwicGFuZWwub2RkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnZpZXddPVwicGFuZWwudmlldyB8fCAnc2luZ2xlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci54cGF0aF09XCJwYW5lbC54cGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXBdPVwicGFuZWwubWFwRnVuY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZS1oaXN0b3J5PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGItcGFyYW0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwYXJhbSBvZiBwYW5lbC5wYXJhbXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cInBhcmFtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJwYXJhbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9wYi1wYXJhbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L3BiLXZpZXc+XG4gICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY3NpbWlsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIFthdHRyLnRpdGxlXT1cInBhbmVsLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBiLWZhY3NpbWlsZVxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGFuZWwuZmFjc2ltaWxlPy5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5iYXNlLXVyaV09XCJwYW5lbC5mYWNzaW1pbGUudXJpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBiLWZhY3NpbWlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uaGVpZ2h0IHx8ICc2MDBweCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRlZmF1bHQtem9vbS1sZXZlbF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uZGVmYXVsdFpvb21MZXZlbCB8fCAwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LW5hdmlnYXRvcl09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uc2hvd05hdmlnYXRvciA/ICdzaG93LW5hdmlnYXRvcicgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LW5hdmlnYXRpb24tY29udHJvbF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uc2hvd05hdmlnYXRpb25Db250cm9sID8gJ3Nob3ctbmF2aWdhdGlvbi1jb250cm9sJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctaG9tZS1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93SG9tZUNvbnRyb2wgPyAnc2hvdy1ob21lLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc2hvdy1yb3RhdGlvbi1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93Um90YXRpb25Db250cm9sID8gJ3Nob3ctcm90YXRpb24tY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LWZ1bGwtcGFnZS1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93RnVsbFBhZ2VDb250cm9sID8gJ3Nob3ctZnVsbC1wYWdlLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NjYW5zXT1cInBhbmVsLmZhY3NpbWlsZS5zY2Fuc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9wYi1mYWNzaW1pbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwvcGItcGFuZWw+XG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxuICAgICAgICAgIDwvcGItZ3JpZD5cbiAgICAgICAgPC9tYWluPlxuXG4gICAgICAgIDwhLS0gVE9DIERyYXdlciAtLT5cbiAgICAgICAgPHBiLWRyYXdlclxuICAgICAgICAgIHRvZ2dsZT1cInRvY1RvZ2dsZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0b2NEcmF3ZXJcIlxuICAgICAgICAgIGVtaXQ9XCJ0b2NcIlxuICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyYXdlci1jb250ZW50XCI+XG4gICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy50b2NcIj5cbiAgICAgICAgICAgICAgICB7e2RhdGEubGFiZWxzLnRvY319XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEubGFiZWxzIHx8ICFkYXRhLmxhYmVscy50b2NcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5jb250ZW50c1wiPkNvbnRlbnRzPC9wYi1pMThuPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8cGItbG9hZFxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcyAmJiBkYXRhLmRvY3MubGVuZ3RoID4gMCAmJiAhZGF0YS5saWJPcHRpb25zPy50b2M/LmRpc2FibGVcIlxuICAgICAgICAgICAgICBpZD1cInRvY1wiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGggPyAoZGF0YS5tYWluRG9jLnJvb3RQYXRoICsgJy8nICsgZGF0YS5tYWluRG9jLmRvY19pZCArICcvY29udGVudHM/dGFyZ2V0PXRyYW5zY3JpcHRpb24maWNvbnM9dHJ1ZScpIDogJ2FwaS9kb2N1bWVudC97ZG9jfS9jb250ZW50cz90YXJnZXQ9dHJhbnNjcmlwdGlvbiZpY29ucz10cnVlJ1wiXG4gICAgICAgICAgICAgIFthdHRyLnNyY109XCJkYXRhLm1haW5Eb2MuZG9jX2lkXCJcbiAgICAgICAgICAgICAgc3Vic2NyaWJlPVwidG9jXCJcbiAgICAgICAgICAgICAgZW1pdD1cInRvY1wiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImV4cGFuZFwiXG4gICAgICAgICAgICAgIGF1dG89XCJhdXRvXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubGFiZWxzICYmIGRhdGEubGFiZWxzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICB7e2RhdGEubGFiZWxzLmxvYWRpbmd9fVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhLmxhYmVscyB8fCAhZGF0YS5sYWJlbHMubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxwYi1pMThuIGtleT1cImRpYWxvZ3MubG9hZGluZ1wiPkxvYWRpbmc8L3BiLWkxOG4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9wYi1sb2FkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3BiLWRyYXdlcj5cbiAgICAgIDwvYXBwLWhlYWRlci1sYXlvdXQ+XG4gICAgPC9hcHAtZHJhd2VyLWxheW91dD5cbiAgPC9wYi1wYWdlPlxuPC9kaXY+XG5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBNkt6RCxNQUFNLE9BQU8sMkJBQTJCO2FBSy9CLFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUztJQUd2QixRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDeEMsQ0FBQyxDQUFDLFlBQVksQ0FDWixLQUFLLEVBQUUsR0FBRyxRQUNWLG9EQUFvRCxDQUNyRCxDQUFDO1lBQ0YsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVksRUFBRSxHQUFXO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBekNVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHVHQ2hMeEMsbTNYQW9TQTs7NEZEcEhhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSTFCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFSQUxMRUwtVEVYVC1WSUVXRVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBJbnRlcmZhY2UgZm9yIFRleHRWaWV3ZXJDb21wb25lbnQncyBcImRhdGFcIlxuICogQHByb3BlcnR5IGVuZHBvaW50IChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBkb2MgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGZhY3NpbWlsZSAob3B0aW9uYWwpXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVsQ29uZmlnIHtcbiAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgIFxuICBlbmFibGVkOiBib29sZWFuOyAgICAgICAgIFxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgXG4gIHR5cGU6ICd0ZXh0JyB8ICdmYWNzaW1pbGUnOyBcbiAgXG4gIC8vIHRlc3RvXG4gIG9kZD86IHN0cmluZztcbiAgZG9jX2lkPzogc3RyaW5nO1xuICB2aWV3Pzogc3RyaW5nO1xuICB4cGF0aD86IHN0cmluZztcbiAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcblxuXG4gIC8vIGZhY3NpbWlsZVxuICBmYWNzaW1pbGU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdXJpOiBzdHJpbmc7XG4gICAgc2NhbnM/OiBzdHJpbmdbXTtcbiAgICBvcHRpb25zPzoge1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgICAgZGVmYXVsdFpvb21MZXZlbD86IG51bWJlcjtcbiAgICAgIHNob3dIb21lQ29udHJvbD86IGJvb2xlYW47XG4gICAgICBzaG93RnVsbFBhZ2VDb250cm9sPzogYm9vbGVhbjtcbiAgICAgIHNob3dSb3RhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgICAgc2hvd05hdmlnYXRvcj86IGJvb2xlYW47XG4gICAgICBzaG93TmF2aWdhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgIH07XG4gIH07IFxuXG4gIHBhcmFtcz86IEFycmF5PFxuICB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9XG4gID47XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIHtcbiAgLypcbiAgICogVEVJIFB1Ymxpc2hlciBzZXJ2ZXIgZW5kcG9pbnRcbiAgICovXG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIFxuICAvKlxuICAgKiBEb2N1bWVudHMgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZG9jczoge1xuICAgIHhtbDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7ICBcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgcm9vdFBhdGg/OiBzdHJpbmc7XG4gICAgXG4gIH1bXTtcblxuICBtYWluRG9jOiB7XG4gICAgZG9jX2lkOiBzdHJpbmc7XG4gICAgb2RkOiBzdHJpbmc7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBzdHJpbmc7XG4gICAgdHJhbnNsYXRpb24/OiBib29sZWFuO1xuICAgIGRvd25sb2FkPzogc3RyaW5nO1xuICAgIHJvb3RQYXRoPzogc3RyaW5nO1xuICAgIG1hcEZ1bmN0aW9uPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICB4cGF0aD86IHN0cmluZztcbiAgICBkaXNhYmxlSGlzdG9yeT86IGJvb2xlYW47XG4gICAgYXBwYXJhdHVzPzoge1xuICAgICAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gICAgICByb290UGF0aD86IHN0cmluZztcbiAgICAgIG9kZDogc3RyaW5nO1xuICAgICAgY2hhbm5lbD86IHN0cmluZztcbiAgICAgIHZpZXc6IHN0cmluZztcbiAgICAgIHBhcmFtcz86IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgc3RhbmRhbG9uZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuICAvKlxuICAgKiBHcmlkIGNvbmZpZ3VyYXRpb24gZm9yIHBhcmFsbGVsIGxheW91dFxuICAgKi9cbiAgZ3JpZD86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBwYW5lbHM/OiBudW1iZXJbXTsgXG4gICAgc3Vic2NyaWJlPzogc3RyaW5nO1xuICAgIGVtaXQ/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFBhbmVscz86IHN0cmluZztcbiAgICBjb2x1bW5XaWR0aHM/OiBzdHJpbmc7XG4gIH07XG5cbiAgLypcbiAgICogQ29uZmlndXJhemlvbmUgcGFubmVsbGkgc2Vjb25kYXJpXG4gICAqL1xuICAvKlxuICAgKiBBcnJheSBnZW5lcmljbyBwZXIgcGFuZWxzXG4gICAqL1xuICBwYW5lbHM/OiBQYW5lbENvbmZpZ1tdO1xuICAvKlxuICAgKiBET1dOTE9BRCBGSUxFU1xuICAgKi9cbiAgZG93bmxvYWQ/OiB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmlsZT86IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHNjcm9sbFN5bmMgb3B0aW9uXG4gICAqL1xuICBzY3JvbGxTeW5jPzogYm9vbGVhbjtcbiAgLypcblxuICAvKlxuICAgKiBMQUJFTFMgZm9yIFRPT0xCQVJcbiAgICovXG4gIGxhYmVscz86IHtcbiAgICB2aWV3Pzogc3RyaW5nO1xuICAgIGFkZENvbHVtbj86IHN0cmluZztcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIHR5cGU/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBpbmRleD86IHtcbiAgICAgIHNob3c/OiBzdHJpbmc7XG4gICAgICBoaWRlPzogc3RyaW5nO1xuICAgIH07XG4gICAgdG9jPzogc3RyaW5nO1xuICAgIGxvYWRpbmc/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHRvZ2dsZSBjb2x1bW5cbiAgICovXG4gIHRvZ2dsZUNvbHVtbj86IGJvb2xlYW47XG4gIFxuICBcblxuICBsaWJPcHRpb25zPzoge1xuICAgIHBiUGFnZT86IHtcbiAgICAgIHVybElnbm9yZT86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgdG9jPzoge1xuICAgICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgICBncmlkPzoge1xuICAgICAgZGlzYWJsZUFkZENvbHVtbj86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctcGFyYWxsZWwtdGV4dC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE6IFBhcmFsbGVsVGV4dFZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHN0YXRpYyBfbG9hZGVkID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIVBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3NyYycsIGAke2Jhc2VIcmVmICBcbiAgICAgICAgfS9hc3NldHMvcGItY29tcG9uZW50cy9kaXN0L3BiLWNvbXBvbmVudHMtYnVuZGxlLmpzYFxuICAgICAgKTtcbiAgICAgIHMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ21vZHVsZScpO1xuICAgICAgcy5vbmxvYWQgPSB0aGlzLm9uU2NyaXB0TG9hZGVkO1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5SW5kZXgoKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ3RvZ2dsZWNvbHVtbicpO1xuICB9XG5cbiAgb25TY3JpcHRMb2FkZWQoKSB7XG4gICAgUGFyYWxsZWxUZXh0Vmlld2VyQ29tcG9uZW50Ll9sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjsgICAgIFxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9wZW5Eb3dubG9hZChldmVudDogRXZlbnQsIHVybDogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cbn0iLCI8ZGl2XG4gIGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXIge3tkYXRhPy5jbGFzc2VzIHx8ICcnfX1cIlxuICAqbmdJZj1cImRhdGEgJiYgZGF0YS5lbmRwb2ludFwiXG4+XG4gIDxwYi1wYWdlIFxuICAgIFthdHRyLmVuZHBvaW50XT1cImRhdGEuZW5kcG9pbnRcIiBcbiAgICBhcGktdmVyc2lvbj1cIjEuMC4wXCIgXG4gICAgdXJsLXBhdGg9XCJxdWVyeVwiXG4gICAgW2F0dHIudXJsLWlnbm9yZV09XCJkYXRhLmxpYk9wdGlvbnM/LnBiUGFnZT8udXJsSWdub3JlPy5qb2luKCcsJykgfHwgJ29kZCx2aWV3LHBhdGgsc2VsZWN0b3JzLGhpZ2hsaWdodCx2aWV3MidcIlxuICA+XG4gICAgPCEtLSBQQiBET0NVTUVOVC0tPlxuICAgIDxwYi1kb2N1bWVudFxuICAgICAgKm5nRm9yPVwibGV0IGRvYyBvZiBkYXRhLmRvY3M7IGluZGV4IGFzICRpXCJcbiAgICAgIFthdHRyLnBhdGhdPVwiZG9jLnhtbFwiXG4gICAgICBbYXR0ci5vZGRdPVwiZG9jLm9kZFwiXG4gICAgICBbYXR0ci5pZF09XCJkb2MuaWRcIlxuICAgICAgW2F0dHIudmlld109XCJkb2Mudmlld1wiXG4gICAgICBbYXR0ci5kaXNhYmxlLWhpc3RvcnldPVwiZG9jLmRpc2FibGVIaXN0b3J5ID09PSB0cnVlID8gJycgOiBudWxsXCJcbiAgICAgIFthdHRyLnJvb3QtcGF0aF09XCJkb2Mucm9vdFBhdGhcIlxuICAgID5cbiAgICA8L3BiLWRvY3VtZW50PlxuXG4gICAgPGFwcC1kcmF3ZXItbGF5b3V0IGZvcmNlLW5hcnJvdz1cImZvcmNlLW5hcnJvd1wiIG5hcnJvdz1cIlwiPlxuICAgICAgPGFwcC1oZWFkZXItbGF5b3V0PlxuICAgICAgICA8YXBwLWhlYWRlclxuICAgICAgICAgIGZpeGVkPVwiZml4ZWRcIlxuICAgICAgICAgIGRhdGEtdGVtcGxhdGU9XCJicm93c2U6Zml4LWxpbmtzXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjM5OTk5NHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXRvb2xiYXJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhclwiXG4gICAgICAgICAgICBzdGlja3k9XCJzdGlja3lcIlxuICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFRPQyBidXR0b24gLS0+XG4gICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ0b2NUb2dnbGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRvYy10b2dnbGVcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6dmlldy1saXN0XCJcbiAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBQbGFpbiByZWFkaW5nIHZpZXctLT5cbiAgICAgICAgICAgIDxwYi10b2dnbGUtZmVhdHVyZVxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcz8ubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICAgICAgbmFtZT1cImhpZ2hsaWdodDFcIlxuICAgICAgICAgICAgICBzZWxlY3Rvcj1cInRlaS1hcHAscGItcG9wb3ZlcixwYi1oaWdobGlnaHQsLnF1b3RlLHBiLWFsdGVybmF0ZVwiXG4gICAgICAgICAgICAgIGRlZmF1bHQ9XCJvZmZcIlxuICAgICAgICAgICAgICBhY3Rpb249XCJkaXNhYmxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy52aWV3XCI+XG4gICAgICAgICAgICAgICAge3tkYXRhLmxhYmVscy52aWV3fX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnZpZXdcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5wbGFpblwiPlBsYWluIFJlYWRpbmcgVmlldzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLXRvZ2dsZS1mZWF0dXJlPlxuXG4gICAgICAgICAgICA8IS0tIFpvb20gQ29udHJvbHMgLS0+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJpblwiXG4gICAgICAgICAgICAgIGljb249XCJpY29uczp6b29tLWluXCJcbiAgICAgICAgICAgID48L3BiLXpvb20+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJvdXRcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6em9vbS1vdXRcIlxuICAgICAgICAgICAgPjwvcGItem9vbT5cblxuICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIENvbnRyb2xzIC0tPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cImJhY2t3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9wYi1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJmb3J3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItbmF2aWdhdGlvbj5cblxuICAgICAgICAgICAgPCEtLSBQdWxzYW50ZSBhZ2dpdW5naSBwYW5uZWxsbyAtLT5cbiAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YS5saWJPcHRpb25zPy5ncmlkPy5kaXNhYmxlQWRkQ29sdW1uXCJcbiAgICAgICAgICAgICAgYWN0aW9uPVwiYWRkXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1hZGRcIiBcbiAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgXG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9XCJcIiBcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249XCIwXCIgXG4gICAgICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpcm9uLWljb24gaWNvbj1cImljb25zOmFkZFwiPjwvaXJvbi1pY29uPiBcbiAgICAgICAgICAgICAgICB7eyBkYXRhLmxhYmVscz8uYWRkQ29sdW1uIHx8ICdBZ2dpdW5naSBjb2xvbm5hJyB9fVxuICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItZ3JpZC1hY3Rpb24+XG5cbiAgICAgICAgICAgIDwhLS0gUHVsc2FudGUgZG93bmxvYWQgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5kb3dubG9hZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXJfX3Rvb2xiYXItY29udGFpbmVyLWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8cGItZG93bmxvYWRcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImRhdGEuZG93bmxvYWQuZm9ybWF0IHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgIFt1cmxdPVwiZGF0YS5kb3dubG9hZC5maWxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIGRpYWxvZz1cImRvd25sb2FkRGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRG93bmxvYWQoJGV2ZW50LCBkYXRhLmRvd25sb2FkLmZpbGUpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJkYXRhLmRvd25sb2FkLmxhYmVsICYmIGRhdGEuZG93bmxvYWQuZm9ybWF0ID8gZGF0YS5kb3dubG9hZC5sYWJlbCArICcgJyArIGRhdGEuZG93bmxvYWQuZm9ybWF0IDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5kb3dubG9hZC5sYWJlbCAmJiBkYXRhLmRvd25sb2FkLmZvcm1hdCA/IGRhdGEuZG93bmxvYWQubGFiZWwgKyAnICcgKyBkYXRhLmRvd25sb2FkLmZvcm1hdCA6ICdEb3dubG9hZCd9fVxuICAgICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1kb3dubG9hZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPHBiLXByb2dyZXNzXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBpbmRldGVybWluYXRlPVwiXCJcbiAgICAgICAgICAgICAgYm90dG9tLWl0ZW09XCJib3R0b20taXRlbVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCJcbiAgICAgICAgICAgID48L3BiLXByb2dyZXNzPlxuICAgICAgICAgIDwvYXBwLXRvb2xiYXI+XG4gICAgICAgIDwvYXBwLWhlYWRlcj5cblxuICAgICAgICA8IS0tIE1haW4gQ29udGVudCB3aXRoIFBhcmFsbGVsIEdyaWQgLS0+XG4gICAgICAgIDxtYWluIGNsYXNzPVwiY29udGVudC1ib2R5XCI+XG4gICAgICAgICAgPHBiLWdyaWQgXG4gICAgICAgICAgICBbaWRdPVwiZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCdcIlxuICAgICAgICAgICAgW2F0dHIucGFuZWxzXT1cImRhdGEuZ3JpZD8ucGFuZWxzID8gJ1snICsgZGF0YS5ncmlkLnBhbmVscy5qb2luKCcsJykgKyAnXScgOiAnWzBdJ1wiXG4gICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBNYWluIHBiLS0+XG4gICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgaWQ9XCJ0cmFuc2NyaXB0aW9uLXZpZXdcIlxuICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwiZGF0YS5tYWluRG9jLmRvY19pZCB8fCBkYXRhLmRvY3NbMF0uaWRcIlxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIub2RkXT1cImRhdGEubWFpbkRvYy5vZGRcIlxuICAgICAgICAgICAgICBbYXR0ci52aWV3XT1cImRhdGEubWFpbkRvYy52aWV3XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICBhcHBlbmQtZm9vdG5vdGVzPVwiYXBwZW5kLWZvb3Rub3Rlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFBhcmFtIHBlciByaWNlcmNhIGF2YW56YXRhIC0tPlxuICAgICAgICAgICAgPHBiLXBhcmFtXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEubWFpbkRvYy51cmxcIlxuICAgICAgICAgICAgbmFtZT1cInVybFwiXG4gICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJkYXRhLm1haW5Eb2MudXJsXCJcbiAgICAgICAgICA+PC9wYi1wYXJhbT5cbiAgICAgICAgICAgIDwvcGItdmlldz5cblxuICAgICAgICAgICAgPCEtLSBUZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPHBiLXBhbmVsIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gUmltb3ppb25lIGNvbG9ubmEgLS0+XG4gICAgICAgICAgICAgICAgPHBiLWdyaWQtYWN0aW9uIFxuICAgICAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCIgXG4gICAgICAgICAgICAgICAgICBzbG90PVwidG9vbGJhclwiIFxuICAgICAgICAgICAgICAgICAgYWN0aW9uPVwicmVtb3ZlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj1cImljb25zOmNsb3NlXCI+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3BiLWdyaWQtYWN0aW9uPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBQYW5uZWxsaSBzZWNvbmRhcmkgLS0+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgZGF0YS5wYW5lbHNcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbC5lbmFibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhbmVsLnR5cGVcIj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBbYXR0ci50aXRsZV09XCJwYW5lbC50aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYi12aWV3IFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwicGFuZWwuaWQgKyAnLXZpZXcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNyY109XCJwYW5lbC5kb2NfaWQgfHwgZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm9kZF09XCJwYW5lbC5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudmlld109XCJwYW5lbC52aWV3IHx8ICdzaW5nbGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnhwYXRoXT1cInBhbmVsLnhwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1hcF09XCJwYW5lbC5tYXBGdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudXJsXT1cImRhdGEubWFpbkRvYy5yb290UGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlLWhpc3Rvcnk9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYi1wYXJhbSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhcmFtIG9mIHBhbmVsLnBhcmFtcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwicGFyYW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInBhcmFtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BiLXBhcmFtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvcGItdmlldz5cbiAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjc2ltaWxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgW2F0dHIudGl0bGVdPVwicGFuZWwudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGItZmFjc2ltaWxlXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYW5lbC5mYWNzaW1pbGU/LmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmJhc2UtdXJpXT1cInBhbmVsLmZhY3NpbWlsZS51cmlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGItZmFjc2ltaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5oZWlnaHQgfHwgJzYwMHB4J1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGVmYXVsdC16b29tLWxldmVsXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5kZWZhdWx0Wm9vbUxldmVsIHx8IDBcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctbmF2aWdhdG9yXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93TmF2aWdhdG9yID8gJ3Nob3ctbmF2aWdhdG9yJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctbmF2aWdhdGlvbi1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93TmF2aWdhdGlvbkNvbnRyb2wgPyAnc2hvdy1uYXZpZ2F0aW9uLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc2hvdy1ob21lLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dIb21lQ29udHJvbCA/ICdzaG93LWhvbWUtY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LXJvdGF0aW9uLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dSb3RhdGlvbkNvbnRyb2wgPyAnc2hvdy1yb3RhdGlvbi1jb250cm9sJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctZnVsbC1wYWdlLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dGdWxsUGFnZUNvbnRyb2wgPyAnc2hvdy1mdWxsLXBhZ2UtY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2NhbnNdPVwicGFuZWwuZmFjc2ltaWxlLnNjYW5zXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3BiLWZhY3NpbWlsZT5cbiAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPC9wYi1wYW5lbD5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgPC9wYi1ncmlkPlxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgPCEtLSBUT0MgRHJhd2VyIC0tPlxuICAgICAgICA8cGItZHJhd2VyXG4gICAgICAgICAgdG9nZ2xlPVwidG9jVG9nZ2xlXCJcbiAgICAgICAgICBjbGFzcz1cInRvY0RyYXdlclwiXG4gICAgICAgICAgZW1pdD1cInRvY1wiXG4gICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubGFiZWxzICYmIGRhdGEubGFiZWxzLnRvY1wiPlxuICAgICAgICAgICAgICAgIHt7ZGF0YS5sYWJlbHMudG9jfX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnRvY1wiPlxuICAgICAgICAgICAgICAgIDxwYi1pMThuIGtleT1cImRvY3VtZW50LmNvbnRlbnRzXCI+Q29udGVudHM8L3BiLWkxOG4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxwYi1sb2FkXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5kb2NzICYmIGRhdGEuZG9jcy5sZW5ndGggPiAwICYmICFkYXRhLmxpYk9wdGlvbnM/LnRvYz8uZGlzYWJsZVwiXG4gICAgICAgICAgICAgIGlkPVwidG9jXCJcbiAgICAgICAgICAgICAgW2F0dHIudXJsXT1cImRhdGEubWFpbkRvYy5yb290UGF0aCA/IChkYXRhLm1haW5Eb2Mucm9vdFBhdGggKyAnLycgKyBkYXRhLm1haW5Eb2MuZG9jX2lkICsgJy9jb250ZW50cz90YXJnZXQ9dHJhbnNjcmlwdGlvbiZpY29ucz10cnVlJykgOiAnYXBpL2RvY3VtZW50L3tkb2N9L2NvbnRlbnRzP3RhcmdldD10cmFuc2NyaXB0aW9uJmljb25zPXRydWUnXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3JjXT1cImRhdGEubWFpbkRvYy5kb2NfaWRcIlxuICAgICAgICAgICAgICBzdWJzY3JpYmU9XCJ0b2NcIlxuICAgICAgICAgICAgICBlbWl0PVwidG9jXCJcbiAgICAgICAgICAgICAgZXhwYW5kPVwiZXhwYW5kXCJcbiAgICAgICAgICAgICAgYXV0bz1cImF1dG9cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5sYWJlbHMgJiYgZGF0YS5sYWJlbHMubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIHt7ZGF0YS5sYWJlbHMubG9hZGluZ319XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEubGFiZWxzIHx8ICFkYXRhLmxhYmVscy5sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPHBiLWkxOG4ga2V5PVwiZGlhbG9ncy5sb2FkaW5nXCI+TG9hZGluZzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLWxvYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcGItZHJhd2VyPlxuICAgICAgPC9hcHAtaGVhZGVyLWxheW91dD5cbiAgICA8L2FwcC1kcmF3ZXItbGF5b3V0PlxuICA8L3BiLXBhZ2U+XG48L2Rpdj5cblxuIl19
@@ -2434,11 +2434,11 @@ class ParallelTextViewerComponent {
2434
2434
  }
2435
2435
  }
2436
2436
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2437
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
2437
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
2438
2438
  }
2439
2439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, decorators: [{
2440
2440
  type: Component,
2441
- args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
2441
+ args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
2442
2442
  }], propDecorators: { data: [{
2443
2443
  type: Input
2444
2444
  }], emit: [{
@@ -6770,17 +6770,18 @@ const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
6770
6770
  // endpoint: 'https://backend.dph.netseven.work/api/public/tei',
6771
6771
  // endpoint: 'http://localhost:8080/exist/apps/tei-publisher',
6772
6772
  endpoint: 'https://teipublisher9.muruca.cloud/exist/apps/tei-publisher',
6773
+ // endpoint: 'https://backend.dse.ispf.netseven.work/api/tei',
6773
6774
  docs: [
6774
6775
  {
6775
- xml: 'playground/sn30__1_cleaned_v2.xml',
6776
+ xml: 'playground/SN_44_Ultima.xml',
6776
6777
  // xml: 'playground/pericopi.xml',
6777
6778
  id: 'document1',
6778
6779
  },
6779
- {
6780
- xml: 'playground/SN_44_Ultima.xml',
6781
- // xml: 'playground/postille.xml',
6782
- id: 'document2',
6783
- }
6780
+ /* {
6781
+ xml: 'playground/SN_44_Ultima.xml',
6782
+ // xml: 'playground/postille.xml',
6783
+ id: 'document2',
6784
+ } */
6784
6785
  ],
6785
6786
  mainDoc: {
6786
6787
  odd: 'ISPF_ODD',
@@ -6796,15 +6797,43 @@ const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
6796
6797
  emit: 'transcription',
6797
6798
  },
6798
6799
  panels: [
6800
+ /* {
6801
+ id: '44',
6802
+ doc_id: 'document2',
6803
+ enabled: true,
6804
+ title: 'SN-44',
6805
+ type: 'text',
6806
+ odd: 'ISPF_ODD',
6807
+ // odd: '',
6808
+ view: 'page',
6809
+ } , */
6799
6810
  {
6800
- id: '44',
6801
- doc_id: 'document2',
6811
+ id: 'facsimile',
6802
6812
  enabled: true,
6803
- title: 'SN-44',
6804
- type: 'text',
6805
- odd: 'ISPF_ODD',
6806
- // odd: '',
6807
- view: 'page',
6813
+ title: 'Facsimile',
6814
+ type: 'facsimile',
6815
+ facsimile: {
6816
+ enabled: true,
6817
+ // uri: 'https://iiif.muruca.cloud/iiif/2/%2Fispf%2Fsn_45%2F',
6818
+ // uri: 'https://backend.dse.ispf.netseven.work/iiif/9/2/',
6819
+ uri: 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2F',
6820
+ // uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcsjrrzqv0i.jpg/info.json'
6821
+ // uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcSJrRZQv0i.JPG/info.json'
6822
+ scans: [
6823
+ /* 'Ms_XIII_D_79_000_pyramidal.ptif',
6824
+ 'Ms_XIII_D_79_001_pyramidal.ptif',
6825
+ 'Ms_XIII_D_79_002_pyramidal.ptif', */
6826
+ ],
6827
+ options: {
6828
+ height: '700px',
6829
+ defaultZoomLevel: 0,
6830
+ showNavigator: true,
6831
+ showNavigationControl: true,
6832
+ showHomeControl: true,
6833
+ showRotationControl: false,
6834
+ showFullPageControl: true,
6835
+ },
6836
+ },
6808
6837
  }
6809
6838
  ],
6810
6839
  /* download: {