@adobe/exc-app 0.2.39 → 0.2.42

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.
@@ -0,0 +1,257 @@
1
+ /*************************************************************************
2
+ * Copyright 2020 Adobe
3
+ * All Rights Reserved.
4
+ *
5
+ * NOTICE: Adobe permits you to use, modify, and distribute this file in
6
+ * accordance with the terms of the Adobe license agreement accompanying
7
+ * it. If you have received this file from a source other than Adobe,
8
+ * then your use, modification, or distribution of it requires the prior
9
+ * written permission of Adobe.
10
+ **************************************************************************/
11
+ import type MetricsConfiguration from './metrics/Configuration';
12
+ /**
13
+ * ImsOrg Interface
14
+ */
15
+ interface ImsOrg {
16
+ /**
17
+ * ImsOrg Name - Label
18
+ */
19
+ label: string;
20
+ /**
21
+ * ImsOrg ID - Value
22
+ */
23
+ value: string;
24
+ }
25
+ /**
26
+ * ImsOrg Interface
27
+ */
28
+ interface ImsInfo {
29
+ /**
30
+ * ImsOrg - ID
31
+ */
32
+ imsOrg?: string;
33
+ /**
34
+ * ImsOrg Name - Label
35
+ */
36
+ imsOrgName?: string;
37
+ /**
38
+ * ImsOrg Profile
39
+ */
40
+ imsProfile?: Record<string, any>;
41
+ /**
42
+ * ImsToken
43
+ */
44
+ imsToken?: string;
45
+ /**
46
+ * locale
47
+ */
48
+ locale?: string;
49
+ /**
50
+ * tenant
51
+ */
52
+ tenant?: string;
53
+ }
54
+ /**
55
+ * User Sandbox Interface
56
+ */
57
+ interface Sandbox {
58
+ /**
59
+ * Whether it is the default sandbox
60
+ */
61
+ isDefault: boolean;
62
+ /**
63
+ * Sandbox ID
64
+ */
65
+ name: string;
66
+ /**
67
+ * Region
68
+ */
69
+ region: string;
70
+ /**
71
+ * Current state
72
+ */
73
+ state: string;
74
+ /**
75
+ * Sandbox Display Title
76
+ */
77
+ title: string;
78
+ /**
79
+ * Environment type
80
+ */
81
+ type: string;
82
+ }
83
+ /**
84
+ * External Runtime Configuration Interface
85
+ */
86
+ export interface RuntimeConfiguration {
87
+ /**
88
+ * OMEGA Launch script properties
89
+ */
90
+ analytics?: {
91
+ /**
92
+ * OMEGA script for respective env
93
+ */
94
+ script: string;
95
+ /**
96
+ * solution specific OMEGA code
97
+ */
98
+ solution: string;
99
+ };
100
+ /**
101
+ * App Container
102
+ */
103
+ appContainer: string;
104
+ /**
105
+ * Solution appId
106
+ */
107
+ appId: string;
108
+ /**
109
+ * Unified Shell API Gateway URL
110
+ */
111
+ apiGatewayUrl: string;
112
+ /**
113
+ * Solution iframe src url
114
+ */
115
+ baseFrameUrl: string;
116
+ /**
117
+ * Base URL
118
+ */
119
+ baseUrl: string;
120
+ /**
121
+ * List all properties changed in this configuration compared to the previous one sent
122
+ */
123
+ changedProperties: (keyof RuntimeConfiguration)[];
124
+ /**
125
+ * If discovery URL
126
+ */
127
+ discovery: boolean;
128
+ /**
129
+ * Unified Shell's environment
130
+ */
131
+ environment: string;
132
+ /**
133
+ * Query params
134
+ */
135
+ externalQueryParams: string;
136
+ /**
137
+ * Gainsight configuration.
138
+ */
139
+ gainsight?: {
140
+ enabled: boolean;
141
+ productKey: string;
142
+ };
143
+ /**
144
+ * Solution History type
145
+ */
146
+ historyType: 'HASH' | 'HISTORY' | 'SERVER';
147
+ /**
148
+ * Solution's list of multiple subdomains
149
+ */
150
+ hosts?: string[];
151
+ /**
152
+ * IMS Client ID
153
+ */
154
+ imsClientId: string;
155
+ /**
156
+ * IMS Information
157
+ */
158
+ imsInfo: ImsInfo;
159
+ /**
160
+ * Current IMS Org ID
161
+ */
162
+ imsOrg: string;
163
+ /**
164
+ * ImsOrg Interface
165
+ */
166
+ imsOrgs: Array<Record<string, ImsOrg>>;
167
+ /**
168
+ * Current IMS Org Name
169
+ */
170
+ imsOrgName: string;
171
+ /**
172
+ * User IMS Profile
173
+ */
174
+ imsProfile?: {
175
+ authId: string;
176
+ displayName: string;
177
+ session: string;
178
+ userId: string;
179
+ };
180
+ /**
181
+ * IMS Token
182
+ */
183
+ imsToken: string;
184
+ /**
185
+ * User Locale
186
+ */
187
+ locale: string;
188
+ /**
189
+ * Solution metricsAppId
190
+ */
191
+ metricsAppId?: string;
192
+ /**
193
+ * AdobeMetricsRuntime Configuration
194
+ */
195
+ metricsConfig: MetricsConfiguration;
196
+ /**
197
+ * Metrics environment (may differ from environment)
198
+ */
199
+ metricsEnv?: string;
200
+ /**
201
+ * Current Sandbox
202
+ */
203
+ sandbox?: Sandbox;
204
+ /**
205
+ * Shell Height
206
+ */
207
+ shellHeight: number;
208
+ /**
209
+ * Shell Info
210
+ */
211
+ shellInfo?: Record<string, any>;
212
+ /**
213
+ * Is Side Nav collapsed?
214
+ */
215
+ shellSideNavCollapsed?: boolean;
216
+ /**
217
+ * Is Side Nav enabled?
218
+ */
219
+ shellSideNavPresent: boolean;
220
+ /**
221
+ * Side Nav width
222
+ */
223
+ shellSideNavWidth: number;
224
+ /**
225
+ * SPA pipeline app id
226
+ */
227
+ spaAppId?: string;
228
+ /**
229
+ * Sub Org
230
+ */
231
+ subOrg?: Record<string, any>;
232
+ /**
233
+ * Tenant ID
234
+ */
235
+ tenant: string;
236
+ /**
237
+ * @deprecated Solution GraphQL tenantAppId
238
+ */
239
+ tenantAppId?: string;
240
+ /**
241
+ * Adobe IO gateway URL used as a fallback in GQL call
242
+ */
243
+ ioGatewayUrl?: string;
244
+ /**
245
+ * Map of Adobe Io region specific endpoints.
246
+ */
247
+ ioRegionSpecificMap?: Record<string, string>;
248
+ /**
249
+ * Clients can pass in their local GQL endpoint
250
+ */
251
+ gqlEndpoint?: string;
252
+ /**
253
+ * XQL gateway used for AEP specific queries
254
+ */
255
+ xqlGatewayUrl?: string;
256
+ }
257
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RuntimeConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeConfiguration.js","sourceRoot":"","sources":["RuntimeConfiguration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,260 @@
1
+ /*************************************************************************
2
+ * Copyright 2020 Adobe
3
+ * All Rights Reserved.
4
+ *
5
+ * NOTICE: Adobe permits you to use, modify, and distribute this file in
6
+ * accordance with the terms of the Adobe license agreement accompanying
7
+ * it. If you have received this file from a source other than Adobe,
8
+ * then your use, modification, or distribution of it requires the prior
9
+ * written permission of Adobe.
10
+ **************************************************************************/
11
+ import type MetricsConfiguration from './metrics/Configuration';
12
+
13
+ /**
14
+ * ImsOrg Interface
15
+ */
16
+ interface ImsOrg {
17
+ /**
18
+ * ImsOrg Name - Label
19
+ */
20
+ label: string;
21
+ /**
22
+ * ImsOrg ID - Value
23
+ */
24
+ value: string;
25
+ }
26
+
27
+ /**
28
+ * ImsOrg Interface
29
+ */
30
+ interface ImsInfo {
31
+ /**
32
+ * ImsOrg - ID
33
+ */
34
+ imsOrg?: string;
35
+ /**
36
+ * ImsOrg Name - Label
37
+ */
38
+ imsOrgName?: string;
39
+ /**
40
+ * ImsOrg Profile
41
+ */
42
+ imsProfile?: Record<string, any>;
43
+ /**
44
+ * ImsToken
45
+ */
46
+ imsToken?: string;
47
+ /**
48
+ * locale
49
+ */
50
+ locale?: string;
51
+ /**
52
+ * tenant
53
+ */
54
+ tenant?: string;
55
+ }
56
+
57
+ /**
58
+ * User Sandbox Interface
59
+ */
60
+ interface Sandbox {
61
+ /**
62
+ * Whether it is the default sandbox
63
+ */
64
+ isDefault: boolean;
65
+ /**
66
+ * Sandbox ID
67
+ */
68
+ name: string;
69
+ /**
70
+ * Region
71
+ */
72
+ region: string;
73
+ /**
74
+ * Current state
75
+ */
76
+ state: string;
77
+ /**
78
+ * Sandbox Display Title
79
+ */
80
+ title: string;
81
+ /**
82
+ * Environment type
83
+ */
84
+ type: string;
85
+ }
86
+
87
+ /**
88
+ * External Runtime Configuration Interface
89
+ */
90
+ export interface RuntimeConfiguration {
91
+ /**
92
+ * OMEGA Launch script properties
93
+ */
94
+ analytics?: {
95
+ /**
96
+ * OMEGA script for respective env
97
+ */
98
+ script: string;
99
+ /**
100
+ * solution specific OMEGA code
101
+ */
102
+ solution: string;
103
+ };
104
+ /**
105
+ * App Container
106
+ */
107
+ appContainer: string;
108
+ /**
109
+ * Solution appId
110
+ */
111
+ appId: string;
112
+ /**
113
+ * Unified Shell API Gateway URL
114
+ */
115
+ apiGatewayUrl: string;
116
+ /**
117
+ * Solution iframe src url
118
+ */
119
+ baseFrameUrl: string;
120
+ /**
121
+ * Base URL
122
+ */
123
+ baseUrl: string;
124
+ /**
125
+ * List all properties changed in this configuration compared to the previous one sent
126
+ */
127
+ changedProperties: (keyof RuntimeConfiguration)[],
128
+ /**
129
+ * If discovery URL
130
+ */
131
+ discovery: boolean;
132
+ /**
133
+ * Unified Shell's environment
134
+ */
135
+ environment: string;
136
+ /**
137
+ * Query params
138
+ */
139
+ externalQueryParams: string;
140
+ /**
141
+ * Gainsight configuration.
142
+ */
143
+ gainsight?: {
144
+ enabled: boolean;
145
+ productKey: string;
146
+ };
147
+ /**
148
+ * Solution History type
149
+ */
150
+ historyType: 'HASH' | 'HISTORY' | 'SERVER';
151
+ /**
152
+ * Solution's list of multiple subdomains
153
+ */
154
+ hosts?: string[];
155
+ /**
156
+ * IMS Client ID
157
+ */
158
+ imsClientId: string;
159
+ /**
160
+ * IMS Information
161
+ */
162
+ imsInfo: ImsInfo;
163
+ /**
164
+ * Current IMS Org ID
165
+ */
166
+ imsOrg: string;
167
+ /**
168
+ * ImsOrg Interface
169
+ */
170
+ imsOrgs: Array<Record<string, ImsOrg>>;
171
+ /**
172
+ * Current IMS Org Name
173
+ */
174
+ imsOrgName: string;
175
+ /**
176
+ * User IMS Profile
177
+ */
178
+ imsProfile?: {
179
+ authId: string;
180
+ displayName: string;
181
+ session: string;
182
+ userId: string;
183
+ };
184
+ /**
185
+ * IMS Token
186
+ */
187
+ imsToken: string;
188
+ /**
189
+ * User Locale
190
+ */
191
+ locale: string;
192
+ /**
193
+ * Solution metricsAppId
194
+ */
195
+ metricsAppId?: string;
196
+ /**
197
+ * AdobeMetricsRuntime Configuration
198
+ */
199
+ metricsConfig: MetricsConfiguration;
200
+ /**
201
+ * Metrics environment (may differ from environment)
202
+ */
203
+ metricsEnv?: string;
204
+ /**
205
+ * Current Sandbox
206
+ */
207
+ sandbox?: Sandbox;
208
+ /**
209
+ * Shell Height
210
+ */
211
+ shellHeight: number;
212
+ /**
213
+ * Shell Info
214
+ */
215
+ shellInfo?: Record<string, any>;
216
+ /**
217
+ * Is Side Nav collapsed?
218
+ */
219
+ shellSideNavCollapsed?: boolean;
220
+ /**
221
+ * Is Side Nav enabled?
222
+ */
223
+ shellSideNavPresent: boolean;
224
+ /**
225
+ * Side Nav width
226
+ */
227
+ shellSideNavWidth: number;
228
+ /**
229
+ * SPA pipeline app id
230
+ */
231
+ spaAppId?: string;
232
+ /**
233
+ * Sub Org
234
+ */
235
+ subOrg?: Record<string, any>;
236
+ /**
237
+ * Tenant ID
238
+ */
239
+ tenant: string;
240
+ /**
241
+ * @deprecated Solution GraphQL tenantAppId
242
+ */
243
+ tenantAppId?: string;
244
+ /**
245
+ * Adobe IO gateway URL used as a fallback in GQL call
246
+ */
247
+ ioGatewayUrl?: string;
248
+ /**
249
+ * Map of Adobe Io region specific endpoints.
250
+ */
251
+ ioRegionSpecificMap?: Record<string, string>;
252
+ /**
253
+ * Clients can pass in their local GQL endpoint
254
+ */
255
+ gqlEndpoint?: string;
256
+ /**
257
+ * XQL gateway used for AEP specific queries
258
+ */
259
+ xqlGatewayUrl?: string;
260
+ }
@@ -0,0 +1,79 @@
1
+ /* eslint-disable */
2
+ var jumpToCode = (function init() {
3
+ // Classes of code we would like to highlight in the file view
4
+ var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
+
6
+ // Elements to highlight in the file listing view
7
+ var fileListingElements = ['td.pct.low'];
8
+
9
+ // We don't want to select elements that are direct descendants of another match
10
+ var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
+
12
+ // Selecter that finds elements on the page to which we can jump
13
+ var selector =
14
+ fileListingElements.join(', ') +
15
+ ', ' +
16
+ notSelector +
17
+ missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
+
19
+ // The NodeList of matching elements
20
+ var missingCoverageElements = document.querySelectorAll(selector);
21
+
22
+ var currentIndex;
23
+
24
+ function toggleClass(index) {
25
+ missingCoverageElements
26
+ .item(currentIndex)
27
+ .classList.remove('highlighted');
28
+ missingCoverageElements.item(index).classList.add('highlighted');
29
+ }
30
+
31
+ function makeCurrent(index) {
32
+ toggleClass(index);
33
+ currentIndex = index;
34
+ missingCoverageElements.item(index).scrollIntoView({
35
+ behavior: 'smooth',
36
+ block: 'center',
37
+ inline: 'center'
38
+ });
39
+ }
40
+
41
+ function goToPrevious() {
42
+ var nextIndex = 0;
43
+ if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
+ nextIndex = missingCoverageElements.length - 1;
45
+ } else if (missingCoverageElements.length > 1) {
46
+ nextIndex = currentIndex - 1;
47
+ }
48
+
49
+ makeCurrent(nextIndex);
50
+ }
51
+
52
+ function goToNext() {
53
+ var nextIndex = 0;
54
+
55
+ if (
56
+ typeof currentIndex === 'number' &&
57
+ currentIndex < missingCoverageElements.length - 1
58
+ ) {
59
+ nextIndex = currentIndex + 1;
60
+ }
61
+
62
+ makeCurrent(nextIndex);
63
+ }
64
+
65
+ return function jump(event) {
66
+ switch (event.which) {
67
+ case 78: // n
68
+ case 74: // j
69
+ goToNext();
70
+ break;
71
+ case 66: // b
72
+ case 75: // k
73
+ case 80: // p
74
+ goToPrevious();
75
+ break;
76
+ }
77
+ };
78
+ })();
79
+ window.addEventListener('keydown', jumpToCode);
@@ -0,0 +1,2 @@
1
+ /* eslint-disable */
2
+ window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);