conflict-detection.min.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. /*!
  2. * Font Awesome Free 5.11.2 by @fontawesome - https://fontawesome.com
  3. * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
  4. */
  5. var e, t;
  6. e = this, t = function(e) {
  7. "use strict";
  8. function t(e) {
  9. return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
  10. return typeof e;
  11. } : function(e) {
  12. return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
  13. })(e);
  14. }
  15. function a(r) {
  16. for (var e = 1; e < arguments.length; e++) {
  17. var i = null != arguments[e] ? arguments[e] : {}, t = Object.keys(i);
  18. "function" == typeof Object.getOwnPropertySymbols && (t = t.concat(Object.getOwnPropertySymbols(i).filter(function(e) {
  19. return Object.getOwnPropertyDescriptor(i, e).enumerable;
  20. }))), t.forEach(function(e) {
  21. var t, n, o;
  22. t = r, o = i[n = e], n in t ? Object.defineProperty(t, n, {
  23. value: o,
  24. enumerable: !0,
  25. configurable: !0,
  26. writable: !0
  27. }) : t[n] = o;
  28. });
  29. }
  30. return r;
  31. }
  32. var n = {}, o = {};
  33. try {
  34. "undefined" != typeof window && (n = window), "undefined" != typeof document && (o = document);
  35. } catch (e) {}
  36. var r = (n.navigator || {}).userAgent, i = void 0 === r ? "" : r, l = n, u = o, c = !!l.document, s = !!u.documentElement && !!u.head && "function" == typeof u.addEventListener && "function" == typeof u.createElement, f = (~i.indexOf("MSIE") || i.indexOf("Trident/"),
  37. []), d = !1;
  38. function m(e) {
  39. s && (d ? setTimeout(e, 0) : f.push(e));
  40. }
  41. s && ((d = (u.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(u.readyState)) || u.addEventListener("DOMContentLoaded", function e() {
  42. u.removeEventListener("DOMContentLoaded", e), d = 1, f.map(function(e) {
  43. return e();
  44. });
  45. }));
  46. var h = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};
  47. var g, p = (function(c) {
  48. !function(e) {
  49. function u(e, t) {
  50. var n = (65535 & e) + (65535 & t);
  51. return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n;
  52. }
  53. function a(e, t, n, o, r, i) {
  54. return u((c = u(u(t, e), u(o, i))) << (a = r) | c >>> 32 - a, n);
  55. var c, a;
  56. }
  57. function d(e, t, n, o, r, i, c) {
  58. return a(t & n | ~t & o, e, t, r, i, c);
  59. }
  60. function m(e, t, n, o, r, i, c) {
  61. return a(t & o | n & ~o, e, t, r, i, c);
  62. }
  63. function h(e, t, n, o, r, i, c) {
  64. return a(t ^ n ^ o, e, t, r, i, c);
  65. }
  66. function g(e, t, n, o, r, i, c) {
  67. return a(n ^ (t | ~o), e, t, r, i, c);
  68. }
  69. function s(e, t) {
  70. var n, o, r, i, c;
  71. e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t;
  72. var a = 1732584193, s = -271733879, f = -1732584194, l = 271733878;
  73. for (n = 0; n < e.length; n += 16) s = g(s = g(s = g(s = g(s = h(s = h(s = h(s = h(s = m(s = m(s = m(s = m(s = d(s = d(s = d(s = d(r = s, f = d(i = f, l = d(c = l, a = d(o = a, s, f, l, e[n], 7, -680876936), s, f, e[n + 1], 12, -389564586), a, s, e[n + 2], 17, 606105819), l, a, e[n + 3], 22, -1044525330), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 4], 7, -176418897), s, f, e[n + 5], 12, 1200080426), a, s, e[n + 6], 17, -1473231341), l, a, e[n + 7], 22, -45705983), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 8], 7, 1770035416), s, f, e[n + 9], 12, -1958414417), a, s, e[n + 10], 17, -42063), l, a, e[n + 11], 22, -1990404162), f = d(f, l = d(l, a = d(a, s, f, l, e[n + 12], 7, 1804603682), s, f, e[n + 13], 12, -40341101), a, s, e[n + 14], 17, -1502002290), l, a, e[n + 15], 22, 1236535329), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 1], 5, -165796510), s, f, e[n + 6], 9, -1069501632), a, s, e[n + 11], 14, 643717713), l, a, e[n], 20, -373897302), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 5], 5, -701558691), s, f, e[n + 10], 9, 38016083), a, s, e[n + 15], 14, -660478335), l, a, e[n + 4], 20, -405537848), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 9], 5, 568446438), s, f, e[n + 14], 9, -1019803690), a, s, e[n + 3], 14, -187363961), l, a, e[n + 8], 20, 1163531501), f = m(f, l = m(l, a = m(a, s, f, l, e[n + 13], 5, -1444681467), s, f, e[n + 2], 9, -51403784), a, s, e[n + 7], 14, 1735328473), l, a, e[n + 12], 20, -1926607734), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 5], 4, -378558), s, f, e[n + 8], 11, -2022574463), a, s, e[n + 11], 16, 1839030562), l, a, e[n + 14], 23, -35309556), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 1], 4, -1530992060), s, f, e[n + 4], 11, 1272893353), a, s, e[n + 7], 16, -155497632), l, a, e[n + 10], 23, -1094730640), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 13], 4, 681279174), s, f, e[n], 11, -358537222), a, s, e[n + 3], 16, -722521979), l, a, e[n + 6], 23, 76029189), f = h(f, l = h(l, a = h(a, s, f, l, e[n + 9], 4, -640364487), s, f, e[n + 12], 11, -421815835), a, s, e[n + 15], 16, 530742520), l, a, e[n + 2], 23, -995338651), f = g(f, l = g(l, a = g(a, s, f, l, e[n], 6, -198630844), s, f, e[n + 7], 10, 1126891415), a, s, e[n + 14], 15, -1416354905), l, a, e[n + 5], 21, -57434055), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 12], 6, 1700485571), s, f, e[n + 3], 10, -1894986606), a, s, e[n + 10], 15, -1051523), l, a, e[n + 1], 21, -2054922799), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 8], 6, 1873313359), s, f, e[n + 15], 10, -30611744), a, s, e[n + 6], 15, -1560198380), l, a, e[n + 13], 21, 1309151649), f = g(f, l = g(l, a = g(a, s, f, l, e[n + 4], 6, -145523070), s, f, e[n + 11], 10, -1120210379), a, s, e[n + 2], 15, 718787259), l, a, e[n + 9], 21, -343485551),
  74. a = u(a, o), s = u(s, r), f = u(f, i), l = u(l, c);
  75. return [ a, s, f, l ];
  76. }
  77. function f(e) {
  78. var t, n = "", o = 32 * e.length;
  79. for (t = 0; t < o; t += 8) n += String.fromCharCode(e[t >> 5] >>> t % 32 & 255);
  80. return n;
  81. }
  82. function l(e) {
  83. var t, n = [];
  84. for (n[(e.length >> 2) - 1] = void 0, t = 0; t < n.length; t += 1) n[t] = 0;
  85. var o = 8 * e.length;
  86. for (t = 0; t < o; t += 8) n[t >> 5] |= (255 & e.charCodeAt(t / 8)) << t % 32;
  87. return n;
  88. }
  89. function o(e) {
  90. var t, n, o = "0123456789abcdef", r = "";
  91. for (n = 0; n < e.length; n += 1) t = e.charCodeAt(n), r += o.charAt(t >>> 4 & 15) + o.charAt(15 & t);
  92. return r;
  93. }
  94. function n(e) {
  95. return unescape(encodeURIComponent(e));
  96. }
  97. function r(e) {
  98. return f(s(l(t = n(e)), 8 * t.length));
  99. var t;
  100. }
  101. function i(e, t) {
  102. return function(e, t) {
  103. var n, o, r = l(e), i = [], c = [];
  104. for (i[15] = c[15] = void 0, 16 < r.length && (r = s(r, 8 * e.length)), n = 0; n < 16; n += 1) i[n] = 909522486 ^ r[n],
  105. c[n] = 1549556828 ^ r[n];
  106. return o = s(i.concat(l(t)), 512 + 8 * t.length), f(s(c.concat(o), 640));
  107. }(n(e), n(t));
  108. }
  109. function t(e, t, n) {
  110. return t ? n ? i(t, e) : o(i(t, e)) : n ? r(e) : o(r(e));
  111. }
  112. c.exports ? c.exports = t : e.md5 = t;
  113. }(h);
  114. }(g = {
  115. exports: {}
  116. }, g.exports), g.exports);
  117. function v(e) {
  118. if (null !== e && "object" === t(e)) return e.src ? p(e.src) : e.href ? p(e.href) : e.innerText && "" !== e.innerText ? p(e.innerText) : void 0;
  119. }
  120. var y = "fa-kits-diag", b = "fa-kits-node-under-test", w = "data-md5", x = "data-fa-detection-ignore", A = "data-fa-detection-timeout", T = "data-fa-detection-results-collection-max-wait";
  121. function D(e) {
  122. var t = e.fn, c = void 0 === t ? function() {
  123. return !0;
  124. } : t, n = e.initialDuration, o = void 0 === n ? 1 : n, r = e.maxDuration, a = void 0 === r ? l.FontAwesomeDetection.timeout : r, i = e.showProgress, s = void 0 !== i && i, f = e.progressIndicator;
  125. return new Promise(function(r, i) {
  126. !function n(e, o) {
  127. setTimeout(function() {
  128. var e = c();
  129. if (s && console.info(f), e) r(e); else {
  130. var t = 250 + o;
  131. t <= a ? n(250, t) : i("timeout");
  132. }
  133. }, e);
  134. }(o, 0);
  135. });
  136. }
  137. function E(e) {
  138. var t = e.nodesTested, n = e.nodesFound;
  139. l.FontAwesomeDetection = l.FontAwesomeDetection || {}, l.FontAwesomeDetection.nodesTested = t,
  140. l.FontAwesomeDetection.nodesFound = n, l.FontAwesomeDetection.detectionDone = !0;
  141. }
  142. function C() {
  143. var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : function() {}, n = {
  144. conflict: {},
  145. noConflict: {}
  146. };
  147. l.onmessage = function(e) {
  148. "file://" !== l.location.origin && e.origin !== l.location.origin || e && e.data && ("fontawesome-conflict" === e.data.type ? n.conflict[e.data.md5] = e.data : "no-conflict" === e.data.type && (n.noConflict[e.data.md5] = e.data));
  149. };
  150. var e = function(t) {
  151. for (var c = Array.from(u.scripts).filter(function(e) {
  152. return !e.hasAttribute(x) && e !== t;
  153. }), a = {}, e = function(e) {
  154. var t = u.createElement("iframe");
  155. t.setAttribute("style", "display:none;");
  156. var n = u.createElement("script");
  157. n.setAttribute("id", b);
  158. var o = v(c[e]);
  159. n.setAttribute(w, o), a[o] = c[e], "" !== c[e].src && (n.src = c[e].src), "" !== c[e].innerText && (n.innerText = c[e].innerText),
  160. n.async = !0;
  161. var r = u.createElement("script");
  162. r.setAttribute("id", y);
  163. var i = "file://" === l.location.origin ? "*" : l.location.origin;
  164. r.innerText = "(".concat(function(n, o, r) {
  165. parent.FontAwesomeDetection.__pollUntil({
  166. fn: function() {
  167. return !!window.FontAwesomeConfig;
  168. }
  169. }).then(function() {
  170. var e = document.getElementById(n);
  171. parent.postMessage({
  172. type: "fontawesome-conflict",
  173. technology: "js",
  174. src: e.src,
  175. innerText: e.innerText,
  176. tagName: e.tagName,
  177. md5: o
  178. }, r);
  179. }).catch(function(e) {
  180. var t = document.getElementById(n);
  181. "timeout" === e ? parent.postMessage({
  182. type: "no-conflict",
  183. src: t.src,
  184. innerText: t.innerText,
  185. tagName: t.tagName,
  186. md5: o
  187. }, r) : console.error(e);
  188. });
  189. }.toString(), ")('").concat(b, "', '").concat(o, "', '").concat(i, "');"), t.onload = function() {
  190. t.contentDocument.head.appendChild(r), t.contentDocument.head.appendChild(n);
  191. }, m(function() {
  192. return u.body.appendChild(t);
  193. });
  194. }, n = 0; n < c.length; n++) e(n);
  195. return a;
  196. }(u.currentScript), o = function() {
  197. var e = Array.from(u.getElementsByTagName("link")).filter(function(e) {
  198. return !e.hasAttribute(x);
  199. }), t = Array.from(u.getElementsByTagName("style")).filter(function(e) {
  200. return !(e.hasAttribute(x) || l.FontAwesomeConfig && e.innerText.match(new RegExp("svg:not\\(:root\\)\\.".concat(l.FontAwesomeConfig.replacementClass))));
  201. });
  202. function n(e, t) {
  203. var n = u.createElement("iframe");
  204. n.setAttribute("style", "visibility: hidden; position: absolute; height: 0; width: 0;");
  205. var o = "fa-test-icon-" + t, r = u.createElement("i");
  206. r.setAttribute("class", "fa fa-coffee"), r.setAttribute("id", o);
  207. var i = u.createElement("script");
  208. i.setAttribute("id", y);
  209. var c = "file://" === l.location.origin ? "*" : l.location.origin;
  210. i.innerText = "(".concat(function(n, o, r, i) {
  211. parent.FontAwesomeDetection.__pollUntil({
  212. fn: function() {
  213. var e = document.getElementById(o), t = window.getComputedStyle(e).getPropertyValue("font-family");
  214. return !(!t.match(/FontAwesome/) && !t.match(/Font Awesome 5/));
  215. }
  216. }).then(function() {
  217. var e = document.getElementById(n);
  218. parent.postMessage({
  219. type: "fontawesome-conflict",
  220. technology: "webfont",
  221. href: e.href,
  222. innerText: e.innerText,
  223. tagName: e.tagName,
  224. md5: r
  225. }, i);
  226. }).catch(function(e) {
  227. var t = document.getElementById(n);
  228. "timeout" === e ? parent.postMessage({
  229. type: "no-conflict",
  230. technology: "webfont",
  231. href: t.src,
  232. innerText: t.innerText,
  233. tagName: t.tagName,
  234. md5: r
  235. }, i) : console.error(e);
  236. });
  237. }.toString(), ")('").concat(b, "', '").concat(o || "foo", "', '").concat(t, "', '").concat(c, "');"),
  238. n.onload = function() {
  239. n.contentDocument.head.appendChild(i), n.contentDocument.head.appendChild(e), n.contentDocument.body.appendChild(r);
  240. }, m(function() {
  241. return u.body.appendChild(n);
  242. });
  243. }
  244. for (var o = {}, r = 0; r < e.length; r++) {
  245. var i = u.createElement("link");
  246. i.setAttribute("id", b), i.setAttribute("href", e[r].href), i.setAttribute("rel", e[r].rel);
  247. var c = v(e[r]);
  248. i.setAttribute(w, c), o[c] = e[r], n(i, c);
  249. }
  250. for (var a = 0; a < t.length; a++) {
  251. var s = u.createElement("style");
  252. s.setAttribute("id", b);
  253. var f = v(t[a]);
  254. s.setAttribute(w, f), s.innerText = t[a].innerText, o[f] = t[a], n(s, f);
  255. }
  256. return o;
  257. }(), r = a({}, e, o), i = Object.keys(e).length + Object.keys(o).length, c = l.FontAwesomeDetection.timeout + l.FontAwesomeDetection.resultsCollectionMaxWait;
  258. console.group("Font Awesome Detector"), 0 === i ? (console.info("%cAll Good!", "color: green; font-size: large"),
  259. console.info("We didn't find anything that needs testing for conflicts. Ergo, no conflicts.")) : (console.info("Testing ".concat(i, " possible conflicts.")),
  260. console.info("We'll wait about ".concat(Math.round(l.FontAwesomeDetection.timeout / 10) / 100, " seconds while testing these and\n") + "then up to another ".concat(Math.round(l.FontAwesomeDetection.resultsCollectionMaxWait / 10) / 100, " to allow the browser time\n") + "to accumulate the results. But we'll probably be outta here way before then.\n\n"),
  261. console.info("You can adjust those durations by assigning values to these attributes on the <script> element that loads this detection:"),
  262. console.info("\t%c".concat(A, "%c: milliseconds to wait for each test before deciding whether it's a conflict."), "font-weight: bold;", "font-size: normal;"),
  263. console.info("\t%c".concat(T, "%c: milliseconds to wait for the browser to accumulate test results before giving up."), "font-weight: bold;", "font-size: normal;"),
  264. D({
  265. maxDuration: c,
  266. showProgress: !0,
  267. progressIndicator: "waiting...",
  268. fn: function() {
  269. return Object.keys(n.conflict).length + Object.keys(n.noConflict).length >= i;
  270. }
  271. }).then(function() {
  272. console.info("DONE!"), E({
  273. nodesTested: n,
  274. nodesFound: r
  275. }), t({
  276. nodesTested: n,
  277. nodesFound: r
  278. }), console.groupEnd();
  279. }).catch(function(e) {
  280. "timeout" === e ? console.info("TIME OUT! We waited until we got tired. Here's what we found:") : (console.info("Whoops! We hit an error:", e),
  281. console.info("Here's what we'd found up until that error:")), E({
  282. nodesTested: n,
  283. nodesFound: r
  284. }), t({
  285. nodesTested: n,
  286. nodesFound: r
  287. }), console.groupEnd();
  288. }));
  289. }
  290. var F = l.FontAwesomeDetection || {}, O = a({}, {
  291. report: function(e) {
  292. var t = e.nodesTested, n = e.nodesFound, o = {};
  293. for (var r in n) t.conflict[r] || t.noConflict[r] || (o[r] = n[r]);
  294. var i = Object.keys(t.conflict).length;
  295. if (0 < i) {
  296. console.info("%cConflict".concat(1 < i ? "s" : "", " found:"), "color: darkred; font-size: large");
  297. var c = {};
  298. for (var a in t.conflict) {
  299. var s = t.conflict[a];
  300. c[a] = {
  301. tagName: s.tagName,
  302. "src/href": s.src || s.href || "n/a",
  303. "innerText excerpt": s.innerText && "" !== s.innerText ? s.innerText.slice(0, 200) + "..." : "(empty)"
  304. };
  305. }
  306. console.table(c);
  307. }
  308. var f = Object.keys(t.noConflict).length;
  309. if (0 < f) {
  310. console.info("%cNo conflict".concat(1 < f ? "s" : "", " found with ").concat(1 == f ? "this" : "these", ":"), "color: green; font-size: large");
  311. var l = {};
  312. for (var u in t.noConflict) {
  313. var d = t.noConflict[u];
  314. l[u] = {
  315. tagName: d.tagName,
  316. "src/href": d.src || d.href || "n/a",
  317. "innerText excerpt": d.innerText && "" !== d.innerText ? d.innerText.slice(0, 200) + "..." : "(empty)"
  318. };
  319. }
  320. console.table(l);
  321. }
  322. var m = Object.keys(o).length;
  323. if (0 < m) {
  324. console.info("%cLeftovers--we timed out before collecting test results for ".concat(1 == m ? "this" : "these", ":"), "color: blue; font-size: large");
  325. var h = {};
  326. for (var g in o) {
  327. var p = o[g];
  328. h[g] = {
  329. tagName: p.tagName,
  330. "src/href": p.src || p.href || "n/a",
  331. "innerText excerpt": p.innerText && "" !== p.innerText ? p.innerText.slice(0, 200) + "..." : "(empty)"
  332. };
  333. }
  334. console.table(h);
  335. }
  336. },
  337. timeout: +(u.currentScript.getAttribute(A) || "2000"),
  338. resultsCollectionMaxWait: +(u.currentScript.getAttribute(T) || "5000")
  339. }, F, {
  340. __pollUntil: D,
  341. md5ForNode: v,
  342. detectionDone: !1,
  343. nodesTested: null,
  344. nodesFound: null
  345. });
  346. l.FontAwesomeDetection = O;
  347. var N = function() {
  348. try {
  349. return "production" === process.env.NODE_ENV;
  350. } catch (e) {
  351. return !1;
  352. }
  353. }();
  354. !function(e) {
  355. try {
  356. e();
  357. } catch (e) {
  358. if (!N) throw e;
  359. }
  360. }(function() {
  361. c && s && C(window.FontAwesomeDetection.report);
  362. }), e.conflictDetection = C, Object.defineProperty(e, "__esModule", {
  363. value: !0
  364. });
  365. }, "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define([ "exports" ], t) : t(e["fontawesome-free-conflict-detection"] = {});