@patternfly/quickstarts 6.0.0-alpha.1 → 6.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalog/QuickStartTile.d.ts +3 -0
- package/dist/catalog/QuickStartTileHeader.d.ts +12 -0
- package/dist/catalog/index.d.ts +1 -1
- package/dist/index.es.js +31 -20
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +32 -20
- package/dist/index.js.map +1 -1
- package/dist/quickstarts-base.css +63 -60
- package/dist/quickstarts-full.es.js +737 -78
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.css +6 -0
- package/dist/quickstarts-standalone.min.css +1 -1
- package/dist/quickstarts.css +63 -60
- package/dist/quickstarts.min.css +1 -1
- package/dist/utils/quick-start-context.d.ts +2 -0
- package/package.json +4 -5
- package/src/QuickStartController.tsx +1 -1
- package/src/QuickStartPanelContent.tsx +3 -3
- package/src/catalog/QuickStartTile.tsx +19 -7
- package/src/catalog/QuickStartTileHeader.scss +4 -0
- package/src/catalog/QuickStartTileHeader.tsx +31 -4
- package/src/catalog/index.ts +1 -1
- package/src/controller/QuickStartTaskHeader.tsx +4 -2
- package/src/utils/quick-start-context.tsx +2 -0
|
@@ -11000,6 +11000,7 @@ const QuickStartContextDefaults = {
|
|
|
11000
11000
|
markdown: null,
|
|
11001
11001
|
loading: false,
|
|
11002
11002
|
alwaysShowTaskReview: true,
|
|
11003
|
+
focusOnQuickStart: true,
|
|
11003
11004
|
};
|
|
11004
11005
|
const QuickStartContext = createContext(QuickStartContextDefaults);
|
|
11005
11006
|
const getResource = (resource, options, resourceBundle, lng) => {
|
|
@@ -26228,72 +26229,77 @@ function getDefaultOpts (simple) {
|
|
|
26228
26229
|
},
|
|
26229
26230
|
smartIndentationFix: {
|
|
26230
26231
|
defaultValue: false,
|
|
26231
|
-
|
|
26232
|
+
describe: 'Tries to smartly fix indentation in es6 strings',
|
|
26232
26233
|
type: 'boolean'
|
|
26233
26234
|
},
|
|
26234
26235
|
disableForced4SpacesIndentedSublists: {
|
|
26235
26236
|
defaultValue: false,
|
|
26236
|
-
|
|
26237
|
+
describe: 'Disables the requirement of indenting nested sublists by 4 spaces',
|
|
26237
26238
|
type: 'boolean'
|
|
26238
26239
|
},
|
|
26239
26240
|
simpleLineBreaks: {
|
|
26240
26241
|
defaultValue: false,
|
|
26241
|
-
|
|
26242
|
+
describe: 'Parses simple line breaks as <br> (GFM Style)',
|
|
26242
26243
|
type: 'boolean'
|
|
26243
26244
|
},
|
|
26244
26245
|
requireSpaceBeforeHeadingText: {
|
|
26245
26246
|
defaultValue: false,
|
|
26246
|
-
|
|
26247
|
+
describe: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',
|
|
26247
26248
|
type: 'boolean'
|
|
26248
26249
|
},
|
|
26249
26250
|
ghMentions: {
|
|
26250
26251
|
defaultValue: false,
|
|
26251
|
-
|
|
26252
|
+
describe: 'Enables github @mentions',
|
|
26252
26253
|
type: 'boolean'
|
|
26253
26254
|
},
|
|
26254
26255
|
ghMentionsLink: {
|
|
26255
26256
|
defaultValue: 'https://github.com/{u}',
|
|
26256
|
-
|
|
26257
|
+
describe: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',
|
|
26257
26258
|
type: 'string'
|
|
26258
26259
|
},
|
|
26259
26260
|
encodeEmails: {
|
|
26260
26261
|
defaultValue: true,
|
|
26261
|
-
|
|
26262
|
+
describe: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',
|
|
26262
26263
|
type: 'boolean'
|
|
26263
26264
|
},
|
|
26264
26265
|
openLinksInNewWindow: {
|
|
26265
26266
|
defaultValue: false,
|
|
26266
|
-
|
|
26267
|
+
describe: 'Open all links in new windows',
|
|
26267
26268
|
type: 'boolean'
|
|
26268
26269
|
},
|
|
26269
26270
|
backslashEscapesHTMLTags: {
|
|
26270
26271
|
defaultValue: false,
|
|
26271
|
-
|
|
26272
|
+
describe: 'Support for HTML Tag escaping. ex: \<div>foo\</div>',
|
|
26272
26273
|
type: 'boolean'
|
|
26273
26274
|
},
|
|
26274
26275
|
emoji: {
|
|
26275
26276
|
defaultValue: false,
|
|
26276
|
-
|
|
26277
|
+
describe: 'Enable emoji support. Ex: `this is a :smile: emoji`',
|
|
26277
26278
|
type: 'boolean'
|
|
26278
26279
|
},
|
|
26279
26280
|
underline: {
|
|
26280
26281
|
defaultValue: false,
|
|
26281
|
-
|
|
26282
|
+
describe: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`',
|
|
26283
|
+
type: 'boolean'
|
|
26284
|
+
},
|
|
26285
|
+
ellipsis: {
|
|
26286
|
+
defaultValue: true,
|
|
26287
|
+
describe: 'Replaces three dots with the ellipsis unicode character',
|
|
26282
26288
|
type: 'boolean'
|
|
26283
26289
|
},
|
|
26284
26290
|
completeHTMLDocument: {
|
|
26285
26291
|
defaultValue: false,
|
|
26286
|
-
|
|
26292
|
+
describe: 'Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags',
|
|
26287
26293
|
type: 'boolean'
|
|
26288
26294
|
},
|
|
26289
26295
|
metadata: {
|
|
26290
26296
|
defaultValue: false,
|
|
26291
|
-
|
|
26297
|
+
describe: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',
|
|
26292
26298
|
type: 'boolean'
|
|
26293
26299
|
},
|
|
26294
26300
|
splitAdjacentBlockquotes: {
|
|
26295
26301
|
defaultValue: false,
|
|
26296
|
-
|
|
26302
|
+
describe: 'Split adjacent blockquote blocks',
|
|
26297
26303
|
type: 'boolean'
|
|
26298
26304
|
}
|
|
26299
26305
|
};
|
|
@@ -26501,7 +26507,7 @@ showdown.subParser = function (name, func) {
|
|
|
26501
26507
|
* Gets or registers an extension
|
|
26502
26508
|
* @static
|
|
26503
26509
|
* @param {string} name
|
|
26504
|
-
* @param {object|function=} ext
|
|
26510
|
+
* @param {object|object[]|function=} ext
|
|
26505
26511
|
* @returns {*}
|
|
26506
26512
|
*/
|
|
26507
26513
|
showdown.extension = function (name, ext) {
|
|
@@ -26820,6 +26826,20 @@ showdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash
|
|
|
26820
26826
|
return text;
|
|
26821
26827
|
};
|
|
26822
26828
|
|
|
26829
|
+
/**
|
|
26830
|
+
* Unescape HTML entities
|
|
26831
|
+
* @param txt
|
|
26832
|
+
* @returns {string}
|
|
26833
|
+
*/
|
|
26834
|
+
showdown.helper.unescapeHTMLEntities = function (txt) {
|
|
26835
|
+
|
|
26836
|
+
return txt
|
|
26837
|
+
.replace(/"/g, '"')
|
|
26838
|
+
.replace(/</g, '<')
|
|
26839
|
+
.replace(/>/g, '>')
|
|
26840
|
+
.replace(/&/g, '&');
|
|
26841
|
+
};
|
|
26842
|
+
|
|
26823
26843
|
var rgxFindMatchPos = function (str, left, right, flags) {
|
|
26824
26844
|
var f = flags || '',
|
|
26825
26845
|
g = f.indexOf('g') > -1,
|
|
@@ -27024,11 +27044,35 @@ showdown.helper.encodeEmailAddress = function (mail) {
|
|
|
27024
27044
|
return mail;
|
|
27025
27045
|
};
|
|
27026
27046
|
|
|
27047
|
+
/**
|
|
27048
|
+
*
|
|
27049
|
+
* @param str
|
|
27050
|
+
* @param targetLength
|
|
27051
|
+
* @param padString
|
|
27052
|
+
* @returns {string}
|
|
27053
|
+
*/
|
|
27054
|
+
showdown.helper.padEnd = function padEnd (str, targetLength, padString) {
|
|
27055
|
+
/*jshint bitwise: false*/
|
|
27056
|
+
// eslint-disable-next-line space-infix-ops
|
|
27057
|
+
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
|
|
27058
|
+
/*jshint bitwise: true*/
|
|
27059
|
+
padString = String(padString || ' ');
|
|
27060
|
+
if (str.length > targetLength) {
|
|
27061
|
+
return String(str);
|
|
27062
|
+
} else {
|
|
27063
|
+
targetLength = targetLength - str.length;
|
|
27064
|
+
if (targetLength > padString.length) {
|
|
27065
|
+
padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
|
|
27066
|
+
}
|
|
27067
|
+
return String(str) + padString.slice(0,targetLength);
|
|
27068
|
+
}
|
|
27069
|
+
};
|
|
27070
|
+
|
|
27027
27071
|
/**
|
|
27028
27072
|
* POLYFILLS
|
|
27029
27073
|
*/
|
|
27030
27074
|
// use this instead of builtin is undefined for IE8 compatibility
|
|
27031
|
-
if (typeof(console) === 'undefined') {
|
|
27075
|
+
if (typeof (console) === 'undefined') {
|
|
27032
27076
|
console = {
|
|
27033
27077
|
warn: function (msg) {
|
|
27034
27078
|
alert(msg);
|
|
@@ -28229,8 +28273,8 @@ showdown.helper.emojis = {
|
|
|
28229
28273
|
'zzz':'\ud83d\udca4',
|
|
28230
28274
|
|
|
28231
28275
|
/* special emojis :P */
|
|
28232
|
-
'octocat': '<img
|
|
28233
|
-
'showdown': '<img width="20" height="20" align="absmiddle" src="data:image/png;base64,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/GMzLdsAAECtaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTAtMjRUMTM6MzE6MzArMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+UyAtPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD5TIC08L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6N2NkMzQxNzctOWYyZi0yNDRiLWEyYjQtMzU1MzJkY2Y1MWJiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6M2E1YzgxYmYtYjhiNy0xMWU3LTk0NDktYTQ2MzdlZjJkNjMzPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTEwLTI0VDEzOjMxOjMwKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjdjZDM0MTc3LTlmMmYtMjQ0Yi1hMmI0LTM1NTMyZGNmNTFiYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjYwQzVBRTY1RjY5Q0U0MTE5NDVBODU1RTNCQ0E3RUVCPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pse7bzcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA1JJREFUeNrsm1+OmlAUhz+aeS9dwZggJn1AnRUMO6jpBgZXULuC2hWUWUGZBTSxKyiuoA4mfUBMnB04K5g+9DihRBHlyh/lJLwIXLgf99xzzu9etZeXFy7Z3nDh1gBoAFy4XeVtQNO0zNcapmUDfUBPnFoBfhQGq6IBaHmjwD4Ahmk5wAD4kKG5J8CNwsAFaHe6DvA9cc0wCgOv8gDka3vA9RHNPgo0D7hNnJtGYWBXxgV2dH4MfMnRRA+Y1WIO2NJ5F/ikoKm3tYsChmkNFHW+fmHQMC1dfHaXPQP3wM1yMdc2B/AOGALTWobBmI1Shu0UGCwX83XyRBQGawHntTtdG5gUNfxVu4CTNqNv6/wWGL7kCc+1AmCYVisl3I2ydD4GYZUCs7IjoLXrxHIx9w9tLAqDCfBwDrXAY457x+cAoCfuwRGjYFUnAGk+PsjR7s8Dn1VeLWCYVlpDw+VivjVHSHt+u9PVJbzGzZXQWTkAkz0V31fATUaEsjVJlQBs4FeGcteLgzgbAALBA+4y3voAeJL8nA0AHfClnM1qm1HhnYUidCSE+KzvSSJUTwAxCOMcpfETMFYpfRUKIAbCFhC3OTJJJwqDWS0BxED0JZ4Pjix1P2+E0loCSMBwyK4S/xc1ojBwag8gMU84cvTKGgmlAYhngu1O9xAXuVE5J1QCQCz3bwHuHvdQui5QKQAxEO6eEKpsFCgTRSXkvdoxSlBMCxhJJbgrrbZRtHCiShN0pRB6PeQ3ckBw2K0oKXMBVYJIP+Nvh9qulFivGoBt1lLQxowT2ykBXCfnhZIglgYACWmqXQv+baioBYCeiCQHm+QEg1O7RhF7hO4OhSAhcJKSFU7qBGADwZeqMMuXn6TUBw8qlaMrirNb4LdhWlP+SWD+cjFfxTpuS2GUpik+o3jFSEkqbJiWn0P0OMSGqlWiOu0TvD+FRHZKAE+oW+cfRmEwqlsesJJEJs8y91QqP+9UL6lqEtz2gpuNEY5sm9sIHln2DRa2aFKGJtiXkZEMiWtgVvRKUSUFkSKt2S7fAGgAXLYpmQQXf36MUChTZdUa2u8/rkvPA6Tz30r4eH3ybcBS5gJ6SaNXb+aABkA1AMxKenclBZLW/He4cYEGwEXb3wEASelexk6LIIIAAAAASUVORK5CYII=">'
|
|
28276
|
+
'octocat': '<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',
|
|
28277
|
+
'showdown': '<span style="font-family: \'Anonymous Pro\', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;">S</span>'
|
|
28234
28278
|
};
|
|
28235
28279
|
|
|
28236
28280
|
/**
|
|
@@ -28279,10 +28323,10 @@ showdown.Converter = function (converterOptions) {
|
|
|
28279
28323
|
*/
|
|
28280
28324
|
setConvFlavor = setFlavor,
|
|
28281
28325
|
|
|
28282
|
-
|
|
28283
|
-
|
|
28284
|
-
|
|
28285
|
-
|
|
28326
|
+
/**
|
|
28327
|
+
* Metadata of the document
|
|
28328
|
+
* @type {{parsed: {}, raw: string, format: string}}
|
|
28329
|
+
*/
|
|
28286
28330
|
metadata = {
|
|
28287
28331
|
parsed: {},
|
|
28288
28332
|
raw: '',
|
|
@@ -28341,7 +28385,7 @@ showdown.Converter = function (converterOptions) {
|
|
|
28341
28385
|
'Please inform the developer that the extension should be updated!');
|
|
28342
28386
|
legacyExtensionLoading(showdown.extensions[ext], ext);
|
|
28343
28387
|
return;
|
|
28344
|
-
|
|
28388
|
+
// END LEGACY SUPPORT CODE
|
|
28345
28389
|
|
|
28346
28390
|
} else if (!showdown.helper.isUndefined(extensions[ext])) {
|
|
28347
28391
|
ext = extensions[ext];
|
|
@@ -28521,8 +28565,8 @@ showdown.Converter = function (converterOptions) {
|
|
|
28521
28565
|
text = text.replace(/\r\n/g, '\n'); // DOS to Unix
|
|
28522
28566
|
text = text.replace(/\r/g, '\n'); // Mac to Unix
|
|
28523
28567
|
|
|
28524
|
-
// Stardardize line spaces
|
|
28525
|
-
text = text.replace(/\u00A0/g, '
|
|
28568
|
+
// Stardardize line spaces
|
|
28569
|
+
text = text.replace(/\u00A0/g, ' ');
|
|
28526
28570
|
|
|
28527
28571
|
if (options.smartIndentationFix) {
|
|
28528
28572
|
text = rTrimInputText(text);
|
|
@@ -28577,6 +28621,112 @@ showdown.Converter = function (converterOptions) {
|
|
|
28577
28621
|
return text;
|
|
28578
28622
|
};
|
|
28579
28623
|
|
|
28624
|
+
/**
|
|
28625
|
+
* Converts an HTML string into a markdown string
|
|
28626
|
+
* @param src
|
|
28627
|
+
* @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.
|
|
28628
|
+
* @returns {string}
|
|
28629
|
+
*/
|
|
28630
|
+
this.makeMarkdown = this.makeMd = function (src, HTMLParser) {
|
|
28631
|
+
|
|
28632
|
+
// replace \r\n with \n
|
|
28633
|
+
src = src.replace(/\r\n/g, '\n');
|
|
28634
|
+
src = src.replace(/\r/g, '\n'); // old macs
|
|
28635
|
+
|
|
28636
|
+
// due to an edge case, we need to find this: > <
|
|
28637
|
+
// to prevent removing of non silent white spaces
|
|
28638
|
+
// ex: <em>this is</em> <strong>sparta</strong>
|
|
28639
|
+
src = src.replace(/>[ \t]+</, '>¨NBSP;<');
|
|
28640
|
+
|
|
28641
|
+
if (!HTMLParser) {
|
|
28642
|
+
if (window && window.document) {
|
|
28643
|
+
HTMLParser = window.document;
|
|
28644
|
+
} else {
|
|
28645
|
+
throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');
|
|
28646
|
+
}
|
|
28647
|
+
}
|
|
28648
|
+
|
|
28649
|
+
var doc = HTMLParser.createElement('div');
|
|
28650
|
+
doc.innerHTML = src;
|
|
28651
|
+
|
|
28652
|
+
var globals = {
|
|
28653
|
+
preList: substitutePreCodeTags(doc)
|
|
28654
|
+
};
|
|
28655
|
+
|
|
28656
|
+
// remove all newlines and collapse spaces
|
|
28657
|
+
clean(doc);
|
|
28658
|
+
|
|
28659
|
+
// some stuff, like accidental reference links must now be escaped
|
|
28660
|
+
// TODO
|
|
28661
|
+
// doc.innerHTML = doc.innerHTML.replace(/\[[\S\t ]]/);
|
|
28662
|
+
|
|
28663
|
+
var nodes = doc.childNodes,
|
|
28664
|
+
mdDoc = '';
|
|
28665
|
+
|
|
28666
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
28667
|
+
mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);
|
|
28668
|
+
}
|
|
28669
|
+
|
|
28670
|
+
function clean (node) {
|
|
28671
|
+
for (var n = 0; n < node.childNodes.length; ++n) {
|
|
28672
|
+
var child = node.childNodes[n];
|
|
28673
|
+
if (child.nodeType === 3) {
|
|
28674
|
+
if (!/\S/.test(child.nodeValue) && !/^[ ]+$/.test(child.nodeValue)) {
|
|
28675
|
+
node.removeChild(child);
|
|
28676
|
+
--n;
|
|
28677
|
+
} else {
|
|
28678
|
+
child.nodeValue = child.nodeValue.split('\n').join(' ');
|
|
28679
|
+
child.nodeValue = child.nodeValue.replace(/(\s)+/g, '$1');
|
|
28680
|
+
}
|
|
28681
|
+
} else if (child.nodeType === 1) {
|
|
28682
|
+
clean(child);
|
|
28683
|
+
}
|
|
28684
|
+
}
|
|
28685
|
+
}
|
|
28686
|
+
|
|
28687
|
+
// find all pre tags and replace contents with placeholder
|
|
28688
|
+
// we need this so that we can remove all indentation from html
|
|
28689
|
+
// to ease up parsing
|
|
28690
|
+
function substitutePreCodeTags (doc) {
|
|
28691
|
+
|
|
28692
|
+
var pres = doc.querySelectorAll('pre'),
|
|
28693
|
+
presPH = [];
|
|
28694
|
+
|
|
28695
|
+
for (var i = 0; i < pres.length; ++i) {
|
|
28696
|
+
|
|
28697
|
+
if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {
|
|
28698
|
+
var content = pres[i].firstChild.innerHTML.trim(),
|
|
28699
|
+
language = pres[i].firstChild.getAttribute('data-language') || '';
|
|
28700
|
+
|
|
28701
|
+
// if data-language attribute is not defined, then we look for class language-*
|
|
28702
|
+
if (language === '') {
|
|
28703
|
+
var classes = pres[i].firstChild.className.split(' ');
|
|
28704
|
+
for (var c = 0; c < classes.length; ++c) {
|
|
28705
|
+
var matches = classes[c].match(/^language-(.+)$/);
|
|
28706
|
+
if (matches !== null) {
|
|
28707
|
+
language = matches[1];
|
|
28708
|
+
break;
|
|
28709
|
+
}
|
|
28710
|
+
}
|
|
28711
|
+
}
|
|
28712
|
+
|
|
28713
|
+
// unescape html entities in content
|
|
28714
|
+
content = showdown.helper.unescapeHTMLEntities(content);
|
|
28715
|
+
|
|
28716
|
+
presPH.push(content);
|
|
28717
|
+
pres[i].outerHTML = '<precode language="' + language + '" precodenum="' + i.toString() + '"></precode>';
|
|
28718
|
+
} else {
|
|
28719
|
+
presPH.push(pres[i].innerHTML);
|
|
28720
|
+
pres[i].innerHTML = '';
|
|
28721
|
+
pres[i].setAttribute('prenum', i.toString());
|
|
28722
|
+
}
|
|
28723
|
+
}
|
|
28724
|
+
return presPH;
|
|
28725
|
+
}
|
|
28726
|
+
|
|
28727
|
+
return mdDoc;
|
|
28728
|
+
};
|
|
28729
|
+
|
|
28580
28730
|
/**
|
|
28581
28731
|
* Set an option of this Converter instance
|
|
28582
28732
|
* @param {string} key
|
|
@@ -28660,12 +28810,12 @@ showdown.Converter = function (converterOptions) {
|
|
|
28660
28810
|
var ext = extension[a];
|
|
28661
28811
|
for (var i = 0; i < langExtensions.length; ++i) {
|
|
28662
28812
|
if (langExtensions[i] === ext) {
|
|
28663
|
-
langExtensions
|
|
28813
|
+
langExtensions.splice(i, 1);
|
|
28664
28814
|
}
|
|
28665
28815
|
}
|
|
28666
|
-
for (var ii = 0; ii < outputModifiers.length; ++
|
|
28816
|
+
for (var ii = 0; ii < outputModifiers.length; ++ii) {
|
|
28667
28817
|
if (outputModifiers[ii] === ext) {
|
|
28668
|
-
outputModifiers
|
|
28818
|
+
outputModifiers.splice(ii, 1);
|
|
28669
28819
|
}
|
|
28670
28820
|
}
|
|
28671
28821
|
}
|
|
@@ -28778,7 +28928,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28778
28928
|
// to external links. Hash links (#) open in same page
|
|
28779
28929
|
if (options.openLinksInNewWindow && !/^#/.test(url)) {
|
|
28780
28930
|
// escaped _
|
|
28781
|
-
result += ' target="¨E95Eblank"';
|
|
28931
|
+
result += ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
28782
28932
|
}
|
|
28783
28933
|
|
|
28784
28934
|
result += '>' + linkText + '</a>';
|
|
@@ -28796,7 +28946,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28796
28946
|
|
|
28797
28947
|
// normal cases
|
|
28798
28948
|
text = text.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
|
|
28799
|
-
|
|
28949
|
+
writeAnchorTag);
|
|
28800
28950
|
|
|
28801
28951
|
// handle reference-style shortcuts: [link text]
|
|
28802
28952
|
// These must come last in case you've also got [link test][1]
|
|
@@ -28805,7 +28955,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28805
28955
|
|
|
28806
28956
|
// Lastly handle GithubMentions if option is enabled
|
|
28807
28957
|
if (options.ghMentions) {
|
|
28808
|
-
text = text.replace(/(^|\s)(\\)?(@([a-z\d
|
|
28958
|
+
text = text.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gmi, function (wm, st, escape, mentions, username) {
|
|
28809
28959
|
if (escape === '\\') {
|
|
28810
28960
|
return st + mentions;
|
|
28811
28961
|
}
|
|
@@ -28817,7 +28967,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28817
28967
|
var lnk = options.ghMentionsLink.replace(/\{u}/g, username),
|
|
28818
28968
|
target = '';
|
|
28819
28969
|
if (options.openLinksInNewWindow) {
|
|
28820
|
-
target = ' target="¨E95Eblank"';
|
|
28970
|
+
target = ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
28821
28971
|
}
|
|
28822
28972
|
return st + '<a href="' + lnk + '"' + target + '>' + mentions + '</a>';
|
|
28823
28973
|
});
|
|
@@ -28850,7 +29000,7 @@ var simpleURLRegex = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'
|
|
|
28850
29000
|
append = trailingPunctuation;
|
|
28851
29001
|
}
|
|
28852
29002
|
if (options.openLinksInNewWindow) {
|
|
28853
|
-
target = ' target="¨E95Eblank"';
|
|
29003
|
+
target = ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
28854
29004
|
}
|
|
28855
29005
|
return lmc + '<a href="' + link + '"' + target + '>' + lnkTxt + '</a>' + append + tmc;
|
|
28856
29006
|
};
|
|
@@ -29044,7 +29194,7 @@ showdown.subParser('codeSpans', function (text, options, globals) {
|
|
|
29044
29194
|
|
|
29045
29195
|
text = globals.converter._dispatch('codeSpans.before', text, options, globals);
|
|
29046
29196
|
|
|
29047
|
-
if (typeof(text) === 'undefined') {
|
|
29197
|
+
if (typeof (text) === 'undefined') {
|
|
29048
29198
|
text = '';
|
|
29049
29199
|
}
|
|
29050
29200
|
text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
|
|
@@ -29064,7 +29214,7 @@ showdown.subParser('codeSpans', function (text, options, globals) {
|
|
|
29064
29214
|
});
|
|
29065
29215
|
|
|
29066
29216
|
/**
|
|
29067
|
-
*
|
|
29217
|
+
* Create a full HTML document from the processed markdown
|
|
29068
29218
|
*/
|
|
29069
29219
|
showdown.subParser('completeHTMLDocument', function (text, options, globals) {
|
|
29070
29220
|
|
|
@@ -29160,6 +29310,10 @@ showdown.subParser('detab', function (text, options, globals) {
|
|
|
29160
29310
|
|
|
29161
29311
|
showdown.subParser('ellipsis', function (text, options, globals) {
|
|
29162
29312
|
|
|
29313
|
+
if (!options.ellipsis) {
|
|
29314
|
+
return text;
|
|
29315
|
+
}
|
|
29316
|
+
|
|
29163
29317
|
text = globals.converter._dispatch('ellipsis.before', text, options, globals);
|
|
29164
29318
|
|
|
29165
29319
|
text = text.replace(/\.\.\./g, '…');
|
|
@@ -29170,8 +29324,9 @@ showdown.subParser('ellipsis', function (text, options, globals) {
|
|
|
29170
29324
|
});
|
|
29171
29325
|
|
|
29172
29326
|
/**
|
|
29173
|
-
*
|
|
29174
|
-
*
|
|
29327
|
+
* Turn emoji codes into emojis
|
|
29328
|
+
*
|
|
29329
|
+
* List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis
|
|
29175
29330
|
*/
|
|
29176
29331
|
showdown.subParser('emoji', function (text, options, globals) {
|
|
29177
29332
|
|
|
@@ -29233,7 +29388,7 @@ showdown.subParser('encodeBackslashEscapes', function (text, options, globals) {
|
|
|
29233
29388
|
text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);
|
|
29234
29389
|
|
|
29235
29390
|
text = text.replace(/\\(\\)/g, showdown.helper.escapeCharactersCallback);
|
|
29236
|
-
text = text.replace(/\\([`*_{}\[\]()
|
|
29391
|
+
text = text.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, showdown.helper.escapeCharactersCallback);
|
|
29237
29392
|
|
|
29238
29393
|
text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);
|
|
29239
29394
|
return text;
|
|
@@ -29309,7 +29464,7 @@ showdown.subParser('githubCodeBlocks', function (text, options, globals) {
|
|
|
29309
29464
|
|
|
29310
29465
|
text += '¨0';
|
|
29311
29466
|
|
|
29312
|
-
text = text.replace(/(?:^|\n)(```+|~~~+)([^\s`~]*)\n([\s\S]*?)\n\1/g, function (wholeMatch, delim, language, codeblock) {
|
|
29467
|
+
text = text.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g, function (wholeMatch, delim, language, codeblock) {
|
|
29313
29468
|
var end = (options.omitExtraWLInCodeBlocks) ? '' : '\n';
|
|
29314
29469
|
|
|
29315
29470
|
// First parse the github code block
|
|
@@ -29450,7 +29605,7 @@ showdown.subParser('hashHTMLBlocks', function (text, options, globals) {
|
|
|
29450
29605
|
|
|
29451
29606
|
//2. Split the text in that position
|
|
29452
29607
|
var subTexts = showdown.helper.splitAtIndex(text, opTagPos),
|
|
29453
|
-
|
|
29608
|
+
//3. Match recursively
|
|
29454
29609
|
newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');
|
|
29455
29610
|
|
|
29456
29611
|
// prevent an infinite loop
|
|
@@ -29565,13 +29720,13 @@ showdown.subParser('headers', function (text, options, globals) {
|
|
|
29565
29720
|
|
|
29566
29721
|
var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),
|
|
29567
29722
|
|
|
29568
|
-
|
|
29569
|
-
|
|
29570
|
-
|
|
29571
|
-
|
|
29572
|
-
|
|
29573
|
-
|
|
29574
|
-
|
|
29723
|
+
// Set text-style headers:
|
|
29724
|
+
// Header 1
|
|
29725
|
+
// ========
|
|
29726
|
+
//
|
|
29727
|
+
// Header 2
|
|
29728
|
+
// --------
|
|
29729
|
+
//
|
|
29575
29730
|
setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
|
|
29576
29731
|
setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm;
|
|
29577
29732
|
|
|
@@ -29762,7 +29917,7 @@ showdown.subParser('images', function (text, options, globals) {
|
|
|
29762
29917
|
url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);
|
|
29763
29918
|
var result = '<img src="' + url + '" alt="' + altText + '"';
|
|
29764
29919
|
|
|
29765
|
-
if (title) {
|
|
29920
|
+
if (title && showdown.helper.isString(title)) {
|
|
29766
29921
|
title = title
|
|
29767
29922
|
.replace(/"/g, '"')
|
|
29768
29923
|
//title = showdown.helper.escapeCharacters(title, '*_', false);
|
|
@@ -29823,10 +29978,10 @@ showdown.subParser('italicsAndBold', function (text, options, globals) {
|
|
|
29823
29978
|
|
|
29824
29979
|
// Parse underscores
|
|
29825
29980
|
if (options.literalMidWordUnderscores) {
|
|
29826
|
-
text = text.replace(/\b___(\S[\s\S]
|
|
29981
|
+
text = text.replace(/\b___(\S[\s\S]*?)___\b/g, function (wm, txt) {
|
|
29827
29982
|
return parseInside (txt, '<strong><em>', '</em></strong>');
|
|
29828
29983
|
});
|
|
29829
|
-
text = text.replace(/\b__(\S[\s\S]
|
|
29984
|
+
text = text.replace(/\b__(\S[\s\S]*?)__\b/g, function (wm, txt) {
|
|
29830
29985
|
return parseInside (txt, '<strong>', '</strong>');
|
|
29831
29986
|
});
|
|
29832
29987
|
text = text.replace(/\b_(\S[\s\S]*?)_\b/g, function (wm, txt) {
|
|
@@ -29847,13 +30002,13 @@ showdown.subParser('italicsAndBold', function (text, options, globals) {
|
|
|
29847
30002
|
|
|
29848
30003
|
// Now parse asterisks
|
|
29849
30004
|
if (options.literalMidWordAsterisks) {
|
|
29850
|
-
text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]
|
|
30005
|
+
text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29851
30006
|
return parseInside (txt, lead + '<strong><em>', '</em></strong>');
|
|
29852
30007
|
});
|
|
29853
|
-
text = text.replace(/([^*]|^)\B\*\*(\S[\s\S]
|
|
30008
|
+
text = text.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29854
30009
|
return parseInside (txt, lead + '<strong>', '</strong>');
|
|
29855
30010
|
});
|
|
29856
|
-
text = text.replace(/([^*]|^)\B\*(\S[\s\S]
|
|
30011
|
+
text = text.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29857
30012
|
return parseInside (txt, lead + '<em>', '</em>');
|
|
29858
30013
|
});
|
|
29859
30014
|
} else {
|
|
@@ -30307,14 +30462,19 @@ showdown.subParser('strikethrough', function (text, options, globals) {
|
|
|
30307
30462
|
*/
|
|
30308
30463
|
showdown.subParser('stripLinkDefinitions', function (text, options, globals) {
|
|
30309
30464
|
|
|
30310
|
-
var regex = /^ {0,3}\[(
|
|
30311
|
-
base64Regex = /^ {0,3}\[(
|
|
30465
|
+
var regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,
|
|
30466
|
+
base64Regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;
|
|
30312
30467
|
|
|
30313
30468
|
// attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
|
|
30314
30469
|
text += '¨0';
|
|
30315
30470
|
|
|
30316
30471
|
var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {
|
|
30472
|
+
|
|
30473
|
+
// if there aren't two instances of linkId it must not be a reference link so back out
|
|
30317
30474
|
linkId = linkId.toLowerCase();
|
|
30475
|
+
if (text.toLowerCase().split(linkId).length - 1 < 2) {
|
|
30476
|
+
return wholeMatch;
|
|
30477
|
+
}
|
|
30318
30478
|
if (url.match(/^data:.+?\/.+?;base64,/)) {
|
|
30319
30479
|
// remove newlines
|
|
30320
30480
|
globals.gUrls[linkId] = url.replace(/\s/g, '');
|
|
@@ -30360,7 +30520,7 @@ showdown.subParser('tables', function (text, options, globals) {
|
|
|
30360
30520
|
}
|
|
30361
30521
|
|
|
30362
30522
|
var tableRgx = /^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,
|
|
30363
|
-
|
|
30523
|
+
//singeColTblRgx = /^ {0,3}\|.+\|\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n(?: {0,3}\|.+\|\n)+(?:\n\n|¨0)/gm;
|
|
30364
30524
|
singeColTblRgx = /^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;
|
|
30365
30525
|
|
|
30366
30526
|
function parseStyles (sLine) {
|
|
@@ -30502,11 +30662,17 @@ showdown.subParser('underline', function (text, options, globals) {
|
|
|
30502
30662
|
text = globals.converter._dispatch('underline.before', text, options, globals);
|
|
30503
30663
|
|
|
30504
30664
|
if (options.literalMidWordUnderscores) {
|
|
30505
|
-
text = text.replace(/\
|
|
30665
|
+
text = text.replace(/\b___(\S[\s\S]*?)___\b/g, function (wm, txt) {
|
|
30666
|
+
return '<u>' + txt + '</u>';
|
|
30667
|
+
});
|
|
30668
|
+
text = text.replace(/\b__(\S[\s\S]*?)__\b/g, function (wm, txt) {
|
|
30506
30669
|
return '<u>' + txt + '</u>';
|
|
30507
30670
|
});
|
|
30508
30671
|
} else {
|
|
30509
|
-
text = text.replace(/
|
|
30672
|
+
text = text.replace(/___(\S[\s\S]*?)___/g, function (wm, m) {
|
|
30673
|
+
return (/\S$/.test(m)) ? '<u>' + m + '</u>' : wm;
|
|
30674
|
+
});
|
|
30675
|
+
text = text.replace(/__(\S[\s\S]*?)__/g, function (wm, m) {
|
|
30510
30676
|
return (/\S$/.test(m)) ? '<u>' + m + '</u>' : wm;
|
|
30511
30677
|
});
|
|
30512
30678
|
}
|
|
@@ -30534,6 +30700,474 @@ showdown.subParser('unescapeSpecialChars', function (text, options, globals) {
|
|
|
30534
30700
|
return text;
|
|
30535
30701
|
});
|
|
30536
30702
|
|
|
30703
|
+
showdown.subParser('makeMarkdown.blockquote', function (node, globals) {
|
|
30704
|
+
|
|
30705
|
+
var txt = '';
|
|
30706
|
+
if (node.hasChildNodes()) {
|
|
30707
|
+
var children = node.childNodes,
|
|
30708
|
+
childrenLength = children.length;
|
|
30709
|
+
|
|
30710
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30711
|
+
var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30712
|
+
|
|
30713
|
+
if (innerTxt === '') {
|
|
30714
|
+
continue;
|
|
30715
|
+
}
|
|
30716
|
+
txt += innerTxt;
|
|
30717
|
+
}
|
|
30718
|
+
}
|
|
30719
|
+
// cleanup
|
|
30720
|
+
txt = txt.trim();
|
|
30721
|
+
txt = '> ' + txt.split('\n').join('\n> ');
|
|
30722
|
+
return txt;
|
|
30723
|
+
});
|
|
30724
|
+
|
|
30725
|
+
showdown.subParser('makeMarkdown.codeBlock', function (node, globals) {
|
|
30726
|
+
|
|
30727
|
+
var lang = node.getAttribute('language'),
|
|
30728
|
+
num = node.getAttribute('precodenum');
|
|
30729
|
+
return '```' + lang + '\n' + globals.preList[num] + '\n```';
|
|
30730
|
+
});
|
|
30731
|
+
|
|
30732
|
+
showdown.subParser('makeMarkdown.codeSpan', function (node) {
|
|
30733
|
+
|
|
30734
|
+
return '`' + node.innerHTML + '`';
|
|
30735
|
+
});
|
|
30736
|
+
|
|
30737
|
+
showdown.subParser('makeMarkdown.emphasis', function (node, globals) {
|
|
30738
|
+
|
|
30739
|
+
var txt = '';
|
|
30740
|
+
if (node.hasChildNodes()) {
|
|
30741
|
+
txt += '*';
|
|
30742
|
+
var children = node.childNodes,
|
|
30743
|
+
childrenLength = children.length;
|
|
30744
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30745
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30746
|
+
}
|
|
30747
|
+
txt += '*';
|
|
30748
|
+
}
|
|
30749
|
+
return txt;
|
|
30750
|
+
});
|
|
30751
|
+
|
|
30752
|
+
showdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {
|
|
30753
|
+
|
|
30754
|
+
var headerMark = new Array(headerLevel + 1).join('#'),
|
|
30755
|
+
txt = '';
|
|
30756
|
+
|
|
30757
|
+
if (node.hasChildNodes()) {
|
|
30758
|
+
txt = headerMark + ' ';
|
|
30759
|
+
var children = node.childNodes,
|
|
30760
|
+
childrenLength = children.length;
|
|
30761
|
+
|
|
30762
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30763
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30764
|
+
}
|
|
30765
|
+
}
|
|
30766
|
+
return txt;
|
|
30767
|
+
});
|
|
30768
|
+
|
|
30769
|
+
showdown.subParser('makeMarkdown.hr', function () {
|
|
30770
|
+
|
|
30771
|
+
return '---';
|
|
30772
|
+
});
|
|
30773
|
+
|
|
30774
|
+
showdown.subParser('makeMarkdown.image', function (node) {
|
|
30775
|
+
|
|
30776
|
+
var txt = '';
|
|
30777
|
+
if (node.hasAttribute('src')) {
|
|
30778
|
+
txt += ' + '>';
|
|
30780
|
+
if (node.hasAttribute('width') && node.hasAttribute('height')) {
|
|
30781
|
+
txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');
|
|
30782
|
+
}
|
|
30783
|
+
|
|
30784
|
+
if (node.hasAttribute('title')) {
|
|
30785
|
+
txt += ' "' + node.getAttribute('title') + '"';
|
|
30786
|
+
}
|
|
30787
|
+
txt += ')';
|
|
30788
|
+
}
|
|
30789
|
+
return txt;
|
|
30790
|
+
});
|
|
30791
|
+
|
|
30792
|
+
showdown.subParser('makeMarkdown.links', function (node, globals) {
|
|
30793
|
+
|
|
30794
|
+
var txt = '';
|
|
30795
|
+
if (node.hasChildNodes() && node.hasAttribute('href')) {
|
|
30796
|
+
var children = node.childNodes,
|
|
30797
|
+
childrenLength = children.length;
|
|
30798
|
+
txt = '[';
|
|
30799
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30800
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30801
|
+
}
|
|
30802
|
+
txt += '](';
|
|
30803
|
+
txt += '<' + node.getAttribute('href') + '>';
|
|
30804
|
+
if (node.hasAttribute('title')) {
|
|
30805
|
+
txt += ' "' + node.getAttribute('title') + '"';
|
|
30806
|
+
}
|
|
30807
|
+
txt += ')';
|
|
30808
|
+
}
|
|
30809
|
+
return txt;
|
|
30810
|
+
});
|
|
30811
|
+
|
|
30812
|
+
showdown.subParser('makeMarkdown.list', function (node, globals, type) {
|
|
30813
|
+
|
|
30814
|
+
var txt = '';
|
|
30815
|
+
if (!node.hasChildNodes()) {
|
|
30816
|
+
return '';
|
|
30817
|
+
}
|
|
30818
|
+
var listItems = node.childNodes,
|
|
30819
|
+
listItemsLenght = listItems.length,
|
|
30820
|
+
listNum = node.getAttribute('start') || 1;
|
|
30821
|
+
|
|
30822
|
+
for (var i = 0; i < listItemsLenght; ++i) {
|
|
30823
|
+
if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {
|
|
30824
|
+
continue;
|
|
30825
|
+
}
|
|
30826
|
+
|
|
30827
|
+
// define the bullet to use in list
|
|
30828
|
+
var bullet = '';
|
|
30829
|
+
if (type === 'ol') {
|
|
30830
|
+
bullet = listNum.toString() + '. ';
|
|
30831
|
+
} else {
|
|
30832
|
+
bullet = '- ';
|
|
30833
|
+
}
|
|
30834
|
+
|
|
30835
|
+
// parse list item
|
|
30836
|
+
txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);
|
|
30837
|
+
++listNum;
|
|
30838
|
+
}
|
|
30839
|
+
|
|
30840
|
+
// add comment at the end to prevent consecutive lists to be parsed as one
|
|
30841
|
+
txt += '\n<!-- -->\n';
|
|
30842
|
+
return txt.trim();
|
|
30843
|
+
});
|
|
30844
|
+
|
|
30845
|
+
showdown.subParser('makeMarkdown.listItem', function (node, globals) {
|
|
30846
|
+
|
|
30847
|
+
var listItemTxt = '';
|
|
30848
|
+
|
|
30849
|
+
var children = node.childNodes,
|
|
30850
|
+
childrenLenght = children.length;
|
|
30851
|
+
|
|
30852
|
+
for (var i = 0; i < childrenLenght; ++i) {
|
|
30853
|
+
listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30854
|
+
}
|
|
30855
|
+
// if it's only one liner, we need to add a newline at the end
|
|
30856
|
+
if (!/\n$/.test(listItemTxt)) {
|
|
30857
|
+
listItemTxt += '\n';
|
|
30858
|
+
} else {
|
|
30859
|
+
// it's multiparagraph, so we need to indent
|
|
30860
|
+
listItemTxt = listItemTxt
|
|
30861
|
+
.split('\n')
|
|
30862
|
+
.join('\n ')
|
|
30863
|
+
.replace(/^ {4}$/gm, '')
|
|
30864
|
+
.replace(/\n\n+/g, '\n\n');
|
|
30865
|
+
}
|
|
30866
|
+
|
|
30867
|
+
return listItemTxt;
|
|
30868
|
+
});
|
|
30869
|
+
|
|
30870
|
+
|
|
30871
|
+
|
|
30872
|
+
showdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {
|
|
30873
|
+
|
|
30874
|
+
spansOnly = spansOnly || false;
|
|
30875
|
+
|
|
30876
|
+
var txt = '';
|
|
30877
|
+
|
|
30878
|
+
// edge case of text without wrapper paragraph
|
|
30879
|
+
if (node.nodeType === 3) {
|
|
30880
|
+
return showdown.subParser('makeMarkdown.txt')(node, globals);
|
|
30881
|
+
}
|
|
30882
|
+
|
|
30883
|
+
// HTML comment
|
|
30884
|
+
if (node.nodeType === 8) {
|
|
30885
|
+
return '<!--' + node.data + '-->\n\n';
|
|
30886
|
+
}
|
|
30887
|
+
|
|
30888
|
+
// process only node elements
|
|
30889
|
+
if (node.nodeType !== 1) {
|
|
30890
|
+
return '';
|
|
30891
|
+
}
|
|
30892
|
+
|
|
30893
|
+
var tagName = node.tagName.toLowerCase();
|
|
30894
|
+
|
|
30895
|
+
switch (tagName) {
|
|
30896
|
+
|
|
30897
|
+
//
|
|
30898
|
+
// BLOCKS
|
|
30899
|
+
//
|
|
30900
|
+
case 'h1':
|
|
30901
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\n\n'; }
|
|
30902
|
+
break;
|
|
30903
|
+
case 'h2':
|
|
30904
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\n\n'; }
|
|
30905
|
+
break;
|
|
30906
|
+
case 'h3':
|
|
30907
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\n\n'; }
|
|
30908
|
+
break;
|
|
30909
|
+
case 'h4':
|
|
30910
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\n\n'; }
|
|
30911
|
+
break;
|
|
30912
|
+
case 'h5':
|
|
30913
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\n\n'; }
|
|
30914
|
+
break;
|
|
30915
|
+
case 'h6':
|
|
30916
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\n\n'; }
|
|
30917
|
+
break;
|
|
30918
|
+
|
|
30919
|
+
case 'p':
|
|
30920
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\n\n'; }
|
|
30921
|
+
break;
|
|
30922
|
+
|
|
30923
|
+
case 'blockquote':
|
|
30924
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\n\n'; }
|
|
30925
|
+
break;
|
|
30926
|
+
|
|
30927
|
+
case 'hr':
|
|
30928
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\n\n'; }
|
|
30929
|
+
break;
|
|
30930
|
+
|
|
30931
|
+
case 'ol':
|
|
30932
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\n\n'; }
|
|
30933
|
+
break;
|
|
30934
|
+
|
|
30935
|
+
case 'ul':
|
|
30936
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\n\n'; }
|
|
30937
|
+
break;
|
|
30938
|
+
|
|
30939
|
+
case 'precode':
|
|
30940
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\n\n'; }
|
|
30941
|
+
break;
|
|
30942
|
+
|
|
30943
|
+
case 'pre':
|
|
30944
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\n\n'; }
|
|
30945
|
+
break;
|
|
30946
|
+
|
|
30947
|
+
case 'table':
|
|
30948
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\n\n'; }
|
|
30949
|
+
break;
|
|
30950
|
+
|
|
30951
|
+
//
|
|
30952
|
+
// SPANS
|
|
30953
|
+
//
|
|
30954
|
+
case 'code':
|
|
30955
|
+
txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);
|
|
30956
|
+
break;
|
|
30957
|
+
|
|
30958
|
+
case 'em':
|
|
30959
|
+
case 'i':
|
|
30960
|
+
txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);
|
|
30961
|
+
break;
|
|
30962
|
+
|
|
30963
|
+
case 'strong':
|
|
30964
|
+
case 'b':
|
|
30965
|
+
txt = showdown.subParser('makeMarkdown.strong')(node, globals);
|
|
30966
|
+
break;
|
|
30967
|
+
|
|
30968
|
+
case 'del':
|
|
30969
|
+
txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);
|
|
30970
|
+
break;
|
|
30971
|
+
|
|
30972
|
+
case 'a':
|
|
30973
|
+
txt = showdown.subParser('makeMarkdown.links')(node, globals);
|
|
30974
|
+
break;
|
|
30975
|
+
|
|
30976
|
+
case 'img':
|
|
30977
|
+
txt = showdown.subParser('makeMarkdown.image')(node, globals);
|
|
30978
|
+
break;
|
|
30979
|
+
|
|
30980
|
+
default:
|
|
30981
|
+
txt = node.outerHTML + '\n\n';
|
|
30982
|
+
}
|
|
30983
|
+
|
|
30984
|
+
// common normalization
|
|
30985
|
+
// TODO eventually
|
|
30986
|
+
|
|
30987
|
+
return txt;
|
|
30988
|
+
});
|
|
30989
|
+
|
|
30990
|
+
showdown.subParser('makeMarkdown.paragraph', function (node, globals) {
|
|
30991
|
+
|
|
30992
|
+
var txt = '';
|
|
30993
|
+
if (node.hasChildNodes()) {
|
|
30994
|
+
var children = node.childNodes,
|
|
30995
|
+
childrenLength = children.length;
|
|
30996
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30997
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30998
|
+
}
|
|
30999
|
+
}
|
|
31000
|
+
|
|
31001
|
+
// some text normalization
|
|
31002
|
+
txt = txt.trim();
|
|
31003
|
+
|
|
31004
|
+
return txt;
|
|
31005
|
+
});
|
|
31006
|
+
|
|
31007
|
+
showdown.subParser('makeMarkdown.pre', function (node, globals) {
|
|
31008
|
+
|
|
31009
|
+
var num = node.getAttribute('prenum');
|
|
31010
|
+
return '<pre>' + globals.preList[num] + '</pre>';
|
|
31011
|
+
});
|
|
31012
|
+
|
|
31013
|
+
showdown.subParser('makeMarkdown.strikethrough', function (node, globals) {
|
|
31014
|
+
|
|
31015
|
+
var txt = '';
|
|
31016
|
+
if (node.hasChildNodes()) {
|
|
31017
|
+
txt += '~~';
|
|
31018
|
+
var children = node.childNodes,
|
|
31019
|
+
childrenLength = children.length;
|
|
31020
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
31021
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
31022
|
+
}
|
|
31023
|
+
txt += '~~';
|
|
31024
|
+
}
|
|
31025
|
+
return txt;
|
|
31026
|
+
});
|
|
31027
|
+
|
|
31028
|
+
showdown.subParser('makeMarkdown.strong', function (node, globals) {
|
|
31029
|
+
|
|
31030
|
+
var txt = '';
|
|
31031
|
+
if (node.hasChildNodes()) {
|
|
31032
|
+
txt += '**';
|
|
31033
|
+
var children = node.childNodes,
|
|
31034
|
+
childrenLength = children.length;
|
|
31035
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
31036
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
31037
|
+
}
|
|
31038
|
+
txt += '**';
|
|
31039
|
+
}
|
|
31040
|
+
return txt;
|
|
31041
|
+
});
|
|
31042
|
+
|
|
31043
|
+
showdown.subParser('makeMarkdown.table', function (node, globals) {
|
|
31044
|
+
|
|
31045
|
+
var txt = '',
|
|
31046
|
+
tableArray = [[], []],
|
|
31047
|
+
headings = node.querySelectorAll('thead>tr>th'),
|
|
31048
|
+
rows = node.querySelectorAll('tbody>tr'),
|
|
31049
|
+
i, ii;
|
|
31050
|
+
for (i = 0; i < headings.length; ++i) {
|
|
31051
|
+
var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),
|
|
31052
|
+
allign = '---';
|
|
31053
|
+
|
|
31054
|
+
if (headings[i].hasAttribute('style')) {
|
|
31055
|
+
var style = headings[i].getAttribute('style').toLowerCase().replace(/\s/g, '');
|
|
31056
|
+
switch (style) {
|
|
31057
|
+
case 'text-align:left;':
|
|
31058
|
+
allign = ':---';
|
|
31059
|
+
break;
|
|
31060
|
+
case 'text-align:right;':
|
|
31061
|
+
allign = '---:';
|
|
31062
|
+
break;
|
|
31063
|
+
case 'text-align:center;':
|
|
31064
|
+
allign = ':---:';
|
|
31065
|
+
break;
|
|
31066
|
+
}
|
|
31067
|
+
}
|
|
31068
|
+
tableArray[0][i] = headContent.trim();
|
|
31069
|
+
tableArray[1][i] = allign;
|
|
31070
|
+
}
|
|
31071
|
+
|
|
31072
|
+
for (i = 0; i < rows.length; ++i) {
|
|
31073
|
+
var r = tableArray.push([]) - 1,
|
|
31074
|
+
cols = rows[i].getElementsByTagName('td');
|
|
31075
|
+
|
|
31076
|
+
for (ii = 0; ii < headings.length; ++ii) {
|
|
31077
|
+
var cellContent = ' ';
|
|
31078
|
+
if (typeof cols[ii] !== 'undefined') {
|
|
31079
|
+
cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);
|
|
31080
|
+
}
|
|
31081
|
+
tableArray[r].push(cellContent);
|
|
31082
|
+
}
|
|
31083
|
+
}
|
|
31084
|
+
|
|
31085
|
+
var cellSpacesCount = 3;
|
|
31086
|
+
for (i = 0; i < tableArray.length; ++i) {
|
|
31087
|
+
for (ii = 0; ii < tableArray[i].length; ++ii) {
|
|
31088
|
+
var strLen = tableArray[i][ii].length;
|
|
31089
|
+
if (strLen > cellSpacesCount) {
|
|
31090
|
+
cellSpacesCount = strLen;
|
|
31091
|
+
}
|
|
31092
|
+
}
|
|
31093
|
+
}
|
|
31094
|
+
|
|
31095
|
+
for (i = 0; i < tableArray.length; ++i) {
|
|
31096
|
+
for (ii = 0; ii < tableArray[i].length; ++ii) {
|
|
31097
|
+
if (i === 1) {
|
|
31098
|
+
if (tableArray[i][ii].slice(-1) === ':') {
|
|
31099
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';
|
|
31100
|
+
} else {
|
|
31101
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');
|
|
31102
|
+
}
|
|
31103
|
+
} else {
|
|
31104
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);
|
|
31105
|
+
}
|
|
31106
|
+
}
|
|
31107
|
+
txt += '| ' + tableArray[i].join(' | ') + ' |\n';
|
|
31108
|
+
}
|
|
31109
|
+
|
|
31110
|
+
return txt.trim();
|
|
31111
|
+
});
|
|
31112
|
+
|
|
31113
|
+
showdown.subParser('makeMarkdown.tableCell', function (node, globals) {
|
|
31114
|
+
|
|
31115
|
+
var txt = '';
|
|
31116
|
+
if (!node.hasChildNodes()) {
|
|
31117
|
+
return '';
|
|
31118
|
+
}
|
|
31119
|
+
var children = node.childNodes,
|
|
31120
|
+
childrenLength = children.length;
|
|
31121
|
+
|
|
31122
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
31123
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);
|
|
31124
|
+
}
|
|
31125
|
+
return txt.trim();
|
|
31126
|
+
});
|
|
31127
|
+
|
|
31128
|
+
showdown.subParser('makeMarkdown.txt', function (node) {
|
|
31129
|
+
|
|
31130
|
+
var txt = node.nodeValue;
|
|
31131
|
+
|
|
31132
|
+
// multiple spaces are collapsed
|
|
31133
|
+
txt = txt.replace(/ +/g, ' ');
|
|
31134
|
+
|
|
31135
|
+
// replace the custom ¨NBSP; with a space
|
|
31136
|
+
txt = txt.replace(/¨NBSP;/g, ' ');
|
|
31137
|
+
|
|
31138
|
+
// ", <, > and & should replace escaped html entities
|
|
31139
|
+
txt = showdown.helper.unescapeHTMLEntities(txt);
|
|
31140
|
+
|
|
31141
|
+
// escape markdown magic characters
|
|
31142
|
+
// emphasis, strong and strikethrough - can appear everywhere
|
|
31143
|
+
// we also escape pipe (|) because of tables
|
|
31144
|
+
// and escape ` because of code blocks and spans
|
|
31145
|
+
txt = txt.replace(/([*_~|`])/g, '\\$1');
|
|
31146
|
+
|
|
31147
|
+
// escape > because of blockquotes
|
|
31148
|
+
txt = txt.replace(/^(\s*)>/g, '\\$1>');
|
|
31149
|
+
|
|
31150
|
+
// hash character, only troublesome at the beginning of a line because of headers
|
|
31151
|
+
txt = txt.replace(/^#/gm, '\\#');
|
|
31152
|
+
|
|
31153
|
+
// horizontal rules
|
|
31154
|
+
txt = txt.replace(/^(\s*)([-=]{3,})(\s*)$/, '$1\\$2$3');
|
|
31155
|
+
|
|
31156
|
+
// dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer
|
|
31157
|
+
txt = txt.replace(/^( {0,3}\d+)\./gm, '$1\\.');
|
|
31158
|
+
|
|
31159
|
+
// +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)
|
|
31160
|
+
txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\$2');
|
|
31161
|
+
|
|
31162
|
+
// images and links, ] followed by ( is problematic, so we escape it
|
|
31163
|
+
txt = txt.replace(/]([\s]*)\(/g, '\\]$1\\(');
|
|
31164
|
+
|
|
31165
|
+
// reference URIs must also be escaped
|
|
31166
|
+
txt = txt.replace(/^ {0,3}\[([\S \t]*?)]:/gm, '\\[$1]:');
|
|
31167
|
+
|
|
31168
|
+
return txt;
|
|
31169
|
+
});
|
|
31170
|
+
|
|
30537
31171
|
var root = this;
|
|
30538
31172
|
|
|
30539
31173
|
// AMD Loader
|
|
@@ -31020,28 +31654,47 @@ exports["default"] = exports.OutlinedClockIcon;
|
|
|
31020
31654
|
|
|
31021
31655
|
var OutlinedClockIcon = /*@__PURE__*/getDefaultExportFromCjs(outlinedClockIcon);
|
|
31022
31656
|
|
|
31657
|
+
var outlinedBookmarkIcon = createCommonjsModule(function (module, exports) {
|
|
31658
|
+
exports.__esModule = true;
|
|
31659
|
+
exports.OutlinedBookmarkIconConfig = {
|
|
31660
|
+
name: 'OutlinedBookmarkIcon',
|
|
31661
|
+
height: 512,
|
|
31662
|
+
width: 384,
|
|
31663
|
+
svgPath: 'M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z',
|
|
31664
|
+
yOffset: 0,
|
|
31665
|
+
xOffset: 0,
|
|
31666
|
+
};
|
|
31667
|
+
exports.OutlinedBookmarkIcon = createIcon_1.createIcon(exports.OutlinedBookmarkIconConfig);
|
|
31668
|
+
exports["default"] = exports.OutlinedBookmarkIcon;
|
|
31669
|
+
});
|
|
31670
|
+
|
|
31671
|
+
var OutlinedBookmarkIcon = /*@__PURE__*/getDefaultExportFromCjs(outlinedBookmarkIcon);
|
|
31672
|
+
|
|
31023
31673
|
const statusColorMap = {
|
|
31024
31674
|
[QuickStartStatus.COMPLETE]: 'green',
|
|
31025
31675
|
[QuickStartStatus.IN_PROGRESS]: 'purple',
|
|
31026
31676
|
[QuickStartStatus.NOT_STARTED]: 'grey',
|
|
31027
31677
|
};
|
|
31028
|
-
const QuickStartTileHeader = ({ status, duration, name, type, quickStartId, }) => {
|
|
31678
|
+
const QuickStartTileHeader = ({ status, duration, name, type, quickStartId, action, }) => {
|
|
31029
31679
|
const { getResource } = React.useContext(QuickStartContext);
|
|
31030
31680
|
const statusLocaleMap = {
|
|
31031
31681
|
[QuickStartStatus.COMPLETE]: getResource('Complete'),
|
|
31032
31682
|
[QuickStartStatus.IN_PROGRESS]: getResource('In progress'),
|
|
31033
31683
|
[QuickStartStatus.NOT_STARTED]: getResource('Not started'),
|
|
31034
31684
|
};
|
|
31685
|
+
const ActionIcon = (action === null || action === void 0 ? void 0 : action.icon) || OutlinedBookmarkIcon;
|
|
31035
31686
|
return (React.createElement("div", { className: "pfext-quick-start-tile-header" },
|
|
31036
|
-
React.createElement(
|
|
31037
|
-
React.createElement(
|
|
31687
|
+
React.createElement(Flex, { flexWrap: { default: 'nowrap' } },
|
|
31688
|
+
React.createElement(Title, { headingLevel: "h3", "data-test": "title", id: quickStartId },
|
|
31689
|
+
React.createElement(QuickStartMarkdownView, { content: name })),
|
|
31690
|
+
action && (React.createElement(Button, Object.assign({ "aria-label": action['aria-label'], icon: React.createElement(ActionIcon, null), variant: "plain", onClick: action.onClick }, action.buttonProps)))),
|
|
31038
31691
|
React.createElement("div", { className: "pfext-quick-start-tile-header__status" },
|
|
31039
31692
|
type && (React.createElement(Label, { className: "pfext-quick-start-tile-header--margin", color: type.color }, type.text)),
|
|
31040
31693
|
duration && (React.createElement(Label, { variant: "outline", "data-test": "duration", icon: React.createElement(OutlinedClockIcon, null), className: "pfext-quick-start-tile-header--margin" }, getResource('{{duration, number}} minutes', duration).replace('{{duration, number}}', duration))),
|
|
31041
31694
|
status !== QuickStartStatus.NOT_STARTED && (React.createElement(Label, { variant: "outline", color: statusColorMap[status], icon: React.createElement(StatusIcon, { status: status }), "data-test": "status" }, statusLocaleMap[status])))));
|
|
31042
31695
|
};
|
|
31043
31696
|
|
|
31044
|
-
const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, }) => {
|
|
31697
|
+
const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, action, }) => {
|
|
31045
31698
|
const { metadata: { name: id }, spec: { icon, tasks, displayName, description, durationMinutes, prerequisites, link, type }, } = quickStart;
|
|
31046
31699
|
const { setActiveQuickStart, footer } = React.useContext(QuickStartContext);
|
|
31047
31700
|
const ref = React.useRef(null);
|
|
@@ -31065,26 +31718,31 @@ const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, })
|
|
|
31065
31718
|
const handleClick = (e) => {
|
|
31066
31719
|
var _a;
|
|
31067
31720
|
if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
|
|
31068
|
-
if (link) {
|
|
31069
|
-
window.open(link.href);
|
|
31070
|
-
}
|
|
31071
|
-
else {
|
|
31721
|
+
if (!link) {
|
|
31072
31722
|
setActiveQuickStart(id, tasks === null || tasks === void 0 ? void 0 : tasks.length);
|
|
31073
31723
|
}
|
|
31074
31724
|
onClick();
|
|
31075
31725
|
}
|
|
31076
31726
|
};
|
|
31077
|
-
|
|
31078
|
-
|
|
31727
|
+
const linkProps = link
|
|
31728
|
+
? {
|
|
31729
|
+
href: link.href,
|
|
31730
|
+
target: '_blank',
|
|
31731
|
+
rel: 'noreferrer',
|
|
31732
|
+
}
|
|
31733
|
+
: {};
|
|
31734
|
+
return (React.createElement("div", { ref: ref, onClick: handleClick },
|
|
31735
|
+
React.createElement(CatalogTile, Object.assign({ id: id + '-catalog-tile', style: {
|
|
31079
31736
|
cursor: 'pointer',
|
|
31080
|
-
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type, quickStartId: id
|
|
31737
|
+
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type, quickStartId: id, action: action }), onKeyDown: (event) => {
|
|
31081
31738
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
31082
31739
|
setActiveQuickStart(id, tasks === null || tasks === void 0 ? void 0 : tasks.length);
|
|
31083
31740
|
onClick();
|
|
31084
31741
|
}
|
|
31085
|
-
},
|
|
31086
|
-
//
|
|
31087
|
-
|
|
31742
|
+
} }, linkProps, { "data-test": `tile ${id}`, description: React.createElement(QuickStartTileDescription, { description: description, prerequisites: prerequisites }), footer: footerComponent, tabIndex: 0,
|
|
31743
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
31744
|
+
// @ts-ignore-next-line
|
|
31745
|
+
isSelectableRaised: true }))));
|
|
31088
31746
|
};
|
|
31089
31747
|
|
|
31090
31748
|
const QuickStartCatalog = ({ quickStarts }) => {
|
|
@@ -31327,12 +31985,13 @@ var ArrowRightIcon = /*@__PURE__*/getDefaultExportFromCjs(arrowRightIcon);
|
|
|
31327
31985
|
|
|
31328
31986
|
const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, isActiveTask, onTaskSelect, children, }) => {
|
|
31329
31987
|
const titleRef = React.useRef(null);
|
|
31988
|
+
const { focusOnQuickStart } = React.useContext(QuickStartContext);
|
|
31330
31989
|
React.useEffect(() => {
|
|
31331
|
-
if (isActiveTask) {
|
|
31990
|
+
if (focusOnQuickStart && isActiveTask) {
|
|
31332
31991
|
// Focus the WizardNavItem button element that contains the title
|
|
31333
31992
|
titleRef.current.parentNode.focus();
|
|
31334
31993
|
}
|
|
31335
|
-
}, [isActiveTask]);
|
|
31994
|
+
}, [focusOnQuickStart, isActiveTask]);
|
|
31336
31995
|
css('pfext-quick-start-task-header__title', {
|
|
31337
31996
|
'pfext-quick-start-task-header__title-success': taskStatus === QuickStartTaskStatus.SUCCESS,
|
|
31338
31997
|
'pfext-quick-start-task-header__title-failed': taskStatus === (QuickStartTaskStatus.FAILED || QuickStartTaskStatus.VISITED),
|
|
@@ -31499,7 +32158,7 @@ const QuickStartController = ({ quickStart, nextQuickStarts, contentRef, footerC
|
|
|
31499
32158
|
const getQuickStartActiveTask = React.useCallback(() => {
|
|
31500
32159
|
let activeTaskNumber = 0;
|
|
31501
32160
|
while (activeTaskNumber !== totalTasks &&
|
|
31502
|
-
activeQuickStartState[`taskStatus${activeTaskNumber}`]
|
|
32161
|
+
activeQuickStartState[`taskStatus${activeTaskNumber}`] === QuickStartTaskStatus.SUCCESS) {
|
|
31503
32162
|
activeTaskNumber++;
|
|
31504
32163
|
}
|
|
31505
32164
|
return activeTaskNumber;
|
|
@@ -31542,7 +32201,7 @@ const useScrollTopOnTaskNumberChange = (node, taskNumber) => {
|
|
|
31542
32201
|
const QuickStartPanelContent = (_a) => {
|
|
31543
32202
|
var { quickStarts = [], handleClose, activeQuickStartID, appendTo, isResizable = true, showClose = true, headerVariant = '' } = _a, props = __rest(_a, ["quickStarts", "handleClose", "activeQuickStartID", "appendTo", "isResizable", "showClose", "headerVariant"]);
|
|
31544
32203
|
const titleRef = React.useRef(null);
|
|
31545
|
-
const { getResource, activeQuickStartState } = React.useContext(QuickStartContext);
|
|
32204
|
+
const { getResource, activeQuickStartState, focusOnQuickStart } = React.useContext(QuickStartContext);
|
|
31546
32205
|
const [contentRef, setContentRef] = React.useState();
|
|
31547
32206
|
const shadows = useScrollShadows(contentRef);
|
|
31548
32207
|
const quickStart = quickStarts.find((qs) => qs.metadata.name === activeQuickStartID);
|
|
@@ -31567,10 +32226,10 @@ const QuickStartPanelContent = (_a) => {
|
|
|
31567
32226
|
return Number.parseInt(taskNumber) + 1;
|
|
31568
32227
|
};
|
|
31569
32228
|
React.useEffect(() => {
|
|
31570
|
-
if (quickStart) {
|
|
32229
|
+
if (focusOnQuickStart && quickStart) {
|
|
31571
32230
|
titleRef.current.focus();
|
|
31572
32231
|
}
|
|
31573
|
-
}, [quickStart]);
|
|
32232
|
+
}, [focusOnQuickStart, quickStart]);
|
|
31574
32233
|
const content = quickStart ? (React.createElement(DrawerPanelContent, Object.assign({ isResizable: isResizable, className: "pfext-quick-start__base", "data-testid": `qs-drawer-${camelize(quickStart.spec.displayName)}`, "data-qs": `qs-step-${getStep()}`, "data-test": "quickstart drawer" }, props),
|
|
31575
32234
|
React.createElement("div", { className: headerClasses },
|
|
31576
32235
|
React.createElement(DrawerHead, null,
|