diff --git a/iframe.html b/iframe.html index 4c6834f35..c02f862df 100644 --- a/iframe.html +++ b/iframe.html @@ -527,4 +527,4 @@ import './2114.ca9bcca4.iframe.bundle.js'; - import './main.1e40b216.iframe.bundle.js'; \ No newline at end of file + import './main.ef89d967.iframe.bundle.js'; \ No newline at end of file diff --git a/main.1e40b216.iframe.bundle.js.map b/main.1e40b216.iframe.bundle.js.map deleted file mode 100644 index 678ee284c..000000000 --- a/main.1e40b216.iframe.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.1e40b216.iframe.bundle.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AASA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AA5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAOA;AANA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAMA;AAGA;AAAA;AAAA;AAGA;AAGA;AAEA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AACA;;AAIA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AA3QA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AA8PA;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AArGA;AACA;AAAA;AAAA;AAuGA;AACA;AAKA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAMA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAKA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AACA;AAAA;;AAGA;AACA;AACA;AACA;AAAA;AAEA;;AAIA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AApLA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAWA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAGA;AAAA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAKA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AApcA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AA8bA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA;AAGA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAGA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AAEA;AAAA;AAEA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAzDA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AA5CA;AA8DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgJA;AACA;AAMA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;;AAEA;AACA;AAEA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAxUA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAOA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AAAA;AACA;AACA;AAFA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AA3IA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;;AAEA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAGA;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AAEA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AAAA;AAAA;AAGA;AAIA;AAEA;AACA;AAIA;AAGA;AAAA;AACA;AAEA;AACA;AAGA;AAAA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AA3BA;AACA;AAAA;AAAA;AAAA;AAhfA;AAWA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AArQA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AAUA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AAKA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AAEA;AAIA;AAKA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AAEA;AAOA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAOA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAMA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAMA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAzgBA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAWA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAUA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AACA;AAEA;AAMA;AACA;AACA;AAEA;AAOA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AA9NA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AAMA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AAIA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AAPA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AAEA;AAMA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAMA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AAAA;AAAA;AAAA;AAhUA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAQA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAGA;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7VA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AA/BA;AAAA;AAAA;AAgCA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAfA;AAAA;AAAA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAMA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAxBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAGA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AA7BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AANA;AAAA;AAAA;AAAA;AAQA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAKA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AA3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AArCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAGA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AASA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;;;;;;;;;AC5aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAGA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAGA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA;AAmBA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;AC1FA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAFA;AAGA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAPA;AAAA;AAQA;AAAA;AAAA;AACA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AAOA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AANA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AACA;AACA;AAAA;AAAA;AAAA;AA/BA;AACA;AAAA;AAAA;AAgCA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AArBA;AACA;AAAA;AAAA;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;;AAEA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AAEA;AAIA;AAGA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAKA;AAAA;AAJA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AACA;AAOA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAIA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AAOA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAKA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAIA;AACA;AAKA;AAKA;AAIA;AACA;AACA;AACA;;;;ACnyBA;AAEA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAOA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AAQA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AAEA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAQA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAbA;AACA;AAAA;AAAA;AAAA;AAgBA;AAMA;AACA;AAMA;AAEA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAIA;AAIA;AAIA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;;AAEA;AAKA;AACA;;AAEA;AACA;;AAOA;AACA;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAeA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAfA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAeA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAlKA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAsJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AAAA;AACA;AACA;AAKA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAKA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AASA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AA7GA;AACA;AAAA;AAAA;AA8GA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAQA;AAQA;AAAA;AAAA;AA1CA;AA6CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAQA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAMA;AAOA;AACA;AAEA;AAAA;AACA;AAEA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAKA;AAJA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAGA;AAEA;AAEA;AAEA;AAGA;AAMA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAJA;AAAA;AAAA;AAAA;AAQA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAJA;AAAA;AAAA;AAAA;AAQA;AAEA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAKA;AACA;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AAQA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAHA;AACA;AAAA;AACA;AAEA;AACA;AAGA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC14BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAGA;AAKA;AACA;AACA;AAGA;AACA;;;;;;;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAMA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAMA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;;AAEA;AAGA;AADA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAvDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AA6CA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAOA;AACA;AACA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvQA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;;;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACx1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA","sources":["webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Badge/Badge.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Badge/Badge.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withLayout/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withExtensions/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Base/Base.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Column/Column.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Column/Column.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Icon/Icon.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Icon/Icon.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Marquee/Marquee.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Marquee/Marquee.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Row/Row.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Row/Row.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/TextBox/TextBox.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/TextBox/TextBox.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/metrics.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/events.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components-theme-base/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/fonts.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/constants.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/theme-manager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/logger.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/global-update-manager/GlobalUpdateManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/Speech.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/abbreviations.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withHandleKey/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withTags/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/utils.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/cache.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/StyleManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withUpdates/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/shaders/FadeShader.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/textures/CustomImageTexture.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/utils/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/pool/index.js","webpack://lightning-ui-docs/./.storybook/utils/registerEvents.js","webpack://lightning-ui-docs/./index.js","webpack://lightning-ui-docs/./.storybook/addons/decorators/withLightning.js","webpack://lightning-ui-docs/./.storybook/preview.js","webpack://lightning-ui-docs/../../../node_modules/@storybook/core/dist/theming/ sync","webpack://lightning-ui-docs/../../@lightningjs/ui-components-test-utils/src/docs/ lazy ^\\.\\/.*$ include: (?678b","webpack://lightning-ui-docs/../../@lightningjs/ui-components-test-utils/src/docs/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/ lazy ^\\.\\/.*$ include: (?cb14","webpack://lightning-ui-docs/./src/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/./storybook-stories.js","webpack://lightning-ui-docs/./storybook-config-entry.js","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CHANNELS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CLIENT_LOGGER__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CORE_EVENTS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_GLOBAL__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_PREVIEW_API__\""],"sourcesContent":["/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => {\n return {\n contentSpacing: theme.spacer.xs,\n offsetY: 1,\n paddingX: theme.spacer.md,\n paddingY: theme.spacer.xs,\n radius: theme.radius.sm,\n strokeWidth: theme.stroke.sm,\n textStyle: {\n ...theme.typography.tag1,\n textAlign: 'center'\n }\n };\n};\n\nexport const tone = theme => ({\n neutral: {\n backgroundColor: theme.color.fillInverseSecondary,\n iconColor: theme.color.textNeutral,\n textStyle: { textColor: theme.color.textNeutral },\n strokeColor: theme.color.strokeNeutralSecondary\n },\n inverse: {\n backgroundColor: theme.color.fillNeutralSecondary,\n iconColor: theme.color.textInverse,\n textStyle: { textColor: theme.color.textInverse },\n strokeColor: theme.color.strokeInverseSecondary\n },\n brand: {\n backgroundColor: theme.color.fillBrand,\n iconColor: theme.color.textNeutral,\n textStyle: { textColor: theme.color.textNeutral },\n strokeColor: theme.color.strokeInverseSecondary\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Base from '../Base';\nimport Icon from '../Icon';\nimport { getHexColor, getMaxRoundRadius } from '../../utils';\nimport * as styles from './Badge.styles';\nimport lng from '@lightningjs/core';\n\nexport default class Badge extends Base {\n static _template() {\n return {\n Text: {\n mountY: 0.5\n },\n Icon: {\n type: Icon,\n mountY: 0.5,\n signals: {\n itemChanged: '_updateLayout'\n }\n }\n };\n }\n\n static get __componentName() {\n return 'Badge';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get properties() {\n return ['title', 'icon', 'iconAlign', 'iconWidth', 'iconHeight'];\n }\n\n static get tags() {\n return ['Background', 'Text', 'Icon'];\n }\n\n _init() {\n this._Text.on('txLoaded', this._updateLayout.bind(this));\n super._init();\n }\n\n _update() {\n this._updateText();\n this._updateIcon();\n this._updateLayout();\n this._updateVisibility();\n }\n\n _updateVisibility() {\n this.alpha = this.title || this.icon ? 1 : 0;\n }\n\n _updateLayout() {\n this._updateWidth();\n this._updateBackground();\n this._updatePositions();\n this.signal('loadedBadge', this);\n }\n\n _updateBackground() {\n const height =\n Math.max(this._Text.renderHeight, this._Icon.h) + this.style.paddingY * 2;\n\n this.patch({\n h: height,\n texture: lng.Tools.getRoundRect(\n this.w,\n height,\n getMaxRoundRadius(this.style.radius, this.w, height),\n this.style.strokeWidth,\n this.style.strokeColor,\n true,\n this.style.backgroundColor\n )\n });\n }\n\n _updateText() {\n if (this._Text) {\n this._Text.patch({\n text: {\n ...this.style.textStyle,\n text: this.title || ''\n }\n });\n }\n }\n\n _updateIcon() {\n this._Icon.patch({\n icon: this.icon,\n w: this.iconWidth,\n h: this.iconHeight,\n style: {\n color: getHexColor(this.style.iconColor)\n }\n });\n }\n\n _updateWidth() {\n let width = 0;\n if (this.title && this.icon) {\n width =\n this._Text.renderWidth +\n this._Icon.finalW +\n this.style.contentSpacing +\n this.style.paddingX * 2;\n } else if (this.title) {\n width = this._Text.renderWidth + this.style.paddingX * 2;\n } else if (this.icon) {\n width = this._Icon.finalW + this.style.paddingX * 2;\n }\n\n this.w = width;\n }\n\n _updatePositions() {\n this._Icon.y = this.h / 2;\n\n if (this.iconAlign === 'left' && this.title && this.icon) {\n this._Icon.x = this.style.paddingX;\n this._Text.x =\n this._Icon.x + this._Icon.finalW + this.style.contentSpacing;\n } else if (this.iconAlign === 'right' && this.title && this.icon) {\n this._Text.x = this.style.paddingX;\n this._Icon.x =\n this._Text.x + this._Text.renderWidth + this.style.contentSpacing;\n } else {\n this._Text.x = this.style.paddingX;\n this._Icon.x = this.style.paddingX;\n }\n\n this._Text.y = this._h / 2 + this.style.offsetY;\n }\n\n _getIconHeight() {\n if (this.icon) {\n return !this._Icon.finalH && this._Text\n ? this._Text.text.lineHeight\n : this._Icon.finalH;\n }\n return 0;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n return this._announce || this.title;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\nimport { stringifyCompare, getDimensions } from '../../utils';\n\nexport default function withLayout(Base) {\n return class extends Base {\n _construct() {\n super._construct && super._construct();\n this._previousDimensionData = null; // Store the previous dimension data to compare next time _updateItemLayout is called\n }\n\n get itemLayout() {\n return this._itemLayout;\n }\n\n set itemLayout(v) {\n const componentName =\n this.constructor._componentName || this.constructor.name;\n let itemLayout;\n if (v) {\n itemLayout = JSON.parse(\n JSON.stringify(v, (k, v) => {\n if (k !== 'circle' && v < 0) {\n context.error(\n `itemLayout for ${componentName} received an invalid value of ${v} for ${k}`\n );\n return;\n } else if (k === 'circle') {\n return Boolean(v);\n }\n return v;\n })\n );\n }\n\n if (!stringifyCompare(this._itemLayout, itemLayout)) {\n if (itemLayout && !itemLayout.upCount) {\n this._originalW = this.w;\n this._originalH = this.h;\n this._itemLayout = {\n w: this._originalW,\n h: this._originalH,\n ...itemLayout\n };\n } else {\n this._itemLayout = itemLayout;\n }\n\n this._updateItemLayout();\n }\n }\n\n _allowUpdate() {\n const {\n w = '',\n h = '',\n circle = '',\n ratioX = '',\n ratioY = '',\n upCount = ''\n } = this._itemLayout || {};\n // Store a string representation of all values from previous update to compare and decide if layout should change\n const layoutString =\n Object.values(context.theme.layout).join('') +\n `${w}${h}${circle ? 1 : 0}${ratioX}${ratioY}${upCount}`;\n if (layoutString !== this._previousDimensionData) {\n this._previousDimensionData = layoutString;\n return true;\n }\n return false;\n }\n\n _updateItemLayout() {\n if (!this._allowUpdate()) return;\n const { w, h } = getDimensions(this.theme, this._itemLayout);\n if (h || w) {\n // If there is not enough information passed in args to calculate item size\n const width = context.theme.layout.screenW;\n const height = context.theme.layout.screenH;\n const calculatedWidth = w || h * (width / height);\n const calculatedHeight = h || w * (height / width);\n this.w =\n this._itemLayout && this._itemLayout.circle\n ? calculatedHeight\n : calculatedWidth; // Width must be set first in order for Cards to be displayed properly\n this.h = calculatedHeight;\n if (this._itemLayout && this._itemLayout.circle && this.style.radius) {\n this._circleSet = true;\n this._originalRadius = this.style.radius;\n this.style = {\n ...this.style,\n radius: calculatedHeight / 2\n };\n } else if (this._circleSet) {\n // Restore to it's original state\n this.style = {\n ...this.style,\n radius: this._originalRadius\n };\n this._originalRadius = undefined;\n this._circleSet = false;\n }\n this.queueRequestUpdate && this.queueRequestUpdate();\n this.fireAncestors('$itemChanged');\n }\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\n\nconst SUFFIX = '__original';\n\nexport default function withExtensions(Base) {\n if (Base.prototype.constructor._withExtensionsApplied) {\n return Base;\n }\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n static get __componentName() {\n if (!super.__componentName) {\n throw new Error(\n `A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`\n );\n }\n return super.__componentName;\n }\n\n static get _withExtensionsApplied() {\n // Extensions should only be applied once per class. This prevents it running multiple times. Ex. Surface -> Tile\n return true;\n }\n\n /**\n * Climb the prototype chain to establish what component's extension rules this component should also inherit\n * @returns {set} // set of strings\n */\n get _prototypeChain() {\n if (this.__prototypeChain) return this.__prototypeChain;\n const prototypeChain = new Set();\n let proto = this;\n do {\n proto = Object.getPrototypeOf(proto);\n if (null !== proto && typeof proto === 'object') {\n try {\n if (proto.constructor.__componentName)\n prototypeChain.add(proto.constructor.__componentName);\n } catch (error) {\n // Catch error when __componentName is not set in Base component\n }\n }\n } while (proto);\n this.__prototypeChain = prototypeChain;\n return prototypeChain;\n }\n\n /**\n * Get all valid extensions from the current theme\n * @returns {object[]} // Array of objects\n */\n get _extensions() {\n const extensions = context && context.theme && context.theme.extensions;\n if (\n !extensions ||\n !Array.isArray(extensions) ||\n (Array.isArray(extensions) && !extensions.length)\n )\n return [];\n return (\n extensions\n .filter(\n ({ targetComponent, extension }) =>\n (typeof targetComponent === 'string' ||\n Array.isArray(targetComponent)) &&\n typeof extension === 'function'\n )\n .slice()\n .reverse() || [] // Array is reversed to ensure extensions are executed in the proper order top -> bottom\n );\n }\n\n /**\n * Get all extensions to apply to this component\n * @return {class[]} // Array of classes\n */\n get _componentExtensions() {\n return this._extensions\n .filter(({ targetComponent }) => {\n // check to see if extension should be applied to this component\n if (typeof targetComponent === 'string') {\n return (\n targetComponent === this.constructor.__componentName ||\n this._prototypeChain.has(targetComponent)\n );\n } else if (Array.isArray(targetComponent)) {\n return targetComponent.find(pattern => {\n if (pattern.startsWith('/') && pattern.endsWith('/')) {\n const ComponentRegExp = new RegExp(pattern.slice(1, -1));\n return Array.from(this._prototypeChain).some(name =>\n ComponentRegExp.test(name)\n );\n } else {\n return this._prototypeChain.has(pattern);\n }\n });\n }\n return false;\n })\n .reduce((acc, { extension }) => {\n acc.push(extension);\n return acc;\n }, []);\n }\n\n /**\n * Check if theme extension mixins have already been applied\n * @return {boolean}\n */\n get _extensionApplied() {\n return (\n this._currentComponentExtensionLength === this._appliedExtensionLength\n );\n }\n\n _construct() {\n this._appliedExtensionLength = 0; // After the extensions are applied we store the length of all to determine later on if they have been applied before\n this._extendedList = {};\n this._extensionInstance = {}; // This will hold the extension instance once created\n this._setupExtensionBound = this._setupExtension.bind(this);\n context.on('themeUpdate', this._setupExtensionBound);\n this._currentComponentExtensionLength =\n this._calculateComponentExtensionLength();\n this._createExtension();\n super._construct();\n }\n\n _detach() {\n super._detach();\n context.off('themeUpdate', this._setupExtensionBound);\n }\n\n _setupExtension() {\n this._currentComponentExtensionLength =\n this._calculateComponentExtensionLength();\n this._createExtension.call(this);\n }\n\n _resetComponent() {\n this._extensionInstance._extensionCleanup &&\n this._extensionInstance._extensionCleanup.call(this);\n\n (Object.keys(this._extendedList) || []).forEach(prop => {\n delete this[prop];\n delete this[prop + SUFFIX];\n });\n\n this._extensionInstance = {};\n this._extendedList = {};\n }\n\n _calculateComponentExtensionLength() {\n const extensionLength = this._componentExtensions.reduce(\n (acc, extensionMixin) => {\n acc += extensionMixin.toString().length;\n return acc;\n },\n 0\n );\n return extensionLength;\n }\n\n _createExtension() {\n if (this._extensionApplied) return;\n this._resetComponent();\n const ExtendedClass = this._createExtensionClass();\n const instance = new ExtendedClass();\n this._extendedList = this._createExtensionAliases(instance);\n this._extensionInstance = instance;\n this._setComponentAliases(this._extendedList);\n }\n\n /**\n * Create the extension class\n * @return {class}\n */\n _createExtensionClass() {\n /**\n *\n * This class will sit at the bottom of the prototype stack and redirect all calls to the original to prevent an infinite loop\n *\n */\n function ExtensionBase() {}\n\n /** Create a new class the represents the extensions */\n const ExtendedClass = this._componentExtensions.reduce(\n (acc, extension) => {\n // Get the length of the extension and store the value. This will be used to determine if the mixin has been changed and needs to be re-applied\n return extension(acc);\n },\n ExtensionBase\n );\n\n // Store the length of the extension to be applied\n this._appliedExtensionLength = this._calculateComponentExtensionLength();\n\n return ExtendedClass;\n }\n\n _createExtensionAliases(obj) {\n // Find the prototype to be replaced\n let baseProto = obj;\n for (let i = 0; i < this._componentExtensions.length + 1; i++) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n /**\n * We will create alias for all the methods, getters, setters that will be overwritten by the extension layer\n * Create a list of properties to alias\n */\n\n const extended = {};\n\n const extensionOverrides = this._componentExtensions.reduce(\n (acc, extension) => {\n const extensionClass = new extension(class FakeClass {});\n const instance = new extensionClass();\n // Get the descriptors\n const originalComponentDescriptors = Object.getOwnPropertyDescriptors(\n Object.getPrototypeOf(instance)\n );\n Object.keys(originalComponentDescriptors).forEach(prop => {\n if (['constructor'].includes(prop)) return;\n if (\n originalComponentDescriptors[prop].get ||\n originalComponentDescriptors[prop].set\n ) {\n extended[prop] = { type: 'accessor' };\n acc[prop] = {\n get: function () {\n return this[prop + SUFFIX];\n },\n set: function (v) {\n this[prop + SUFFIX] = v;\n }\n };\n return;\n }\n extended[prop] = { type: 'method' };\n acc[prop] = {\n value: function () {\n this[prop + SUFFIX] && this[prop + SUFFIX]();\n }\n };\n });\n return acc;\n },\n {}\n );\n\n Object.defineProperties(baseProto, extensionOverrides);\n Object.setPrototypeOf(baseProto, this); // Set the bottom level prototype === the component\n\n return extended;\n }\n\n _setComponentAliases(aliasObj) {\n Object.keys(aliasObj).forEach(prop => {\n // Create an alias for the existing component property to save the original value\n this[prop + SUFFIX] = this[prop];\n if (aliasObj[prop].type === 'method') {\n this[prop] = this._extensionInstance[prop];\n } else if (aliasObj[prop].type === 'accessor') {\n Object.defineProperty(this, prop, {\n configurable: true, // Allow accessors to be updated on theme change\n get() {\n return this._extensionInstance[prop];\n },\n set(v) {\n this._extensionInstance[prop] = v;\n }\n });\n }\n });\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport context from '../../globals/context/index';\nimport withUpdates from '../../mixins/withUpdates';\nimport withTags from '../../mixins/withTags';\nimport withHandleKey from '../../mixins/withHandleKey';\nimport withLayout from '../../mixins/withLayout';\nimport withThemeStyles from '../../mixins/withThemeStyles';\nimport withExtensions from '../../mixins/withExtensions';\nimport { isComponentOnScreen } from '../../utils';\n\nclass Base extends lng.Component {\n static get __componentName() {\n return 'Base';\n }\n\n _construct() {\n this.constructor.__componentName; // Check that __componentName is set\n this.skipPlinko = false;\n this.centerInParent = false;\n if (!this.loaded) this.loaded = Promise.resolve(); // By default this is a resolved promise. Components can use _resetLoadedPromise if they require the functionality\n }\n\n _init() {\n this.queueRequestUpdate();\n }\n\n _resetLoadedPromise() {\n this.loaded = new Promise((resolve, reject) => {\n this._resolveLoadedPromise = resolve;\n this._rejectLoadedPromise = reject;\n });\n }\n\n _update() {}\n\n _focus() {\n this._updateShouldSmooth();\n this.queueRequestUpdate();\n }\n\n _unfocus() {\n this.queueRequestUpdate();\n }\n\n _updateShouldSmooth() {\n if (this.shouldSmooth === undefined) this.shouldSmooth = true;\n }\n\n /**\n * This method accepts a target component, patch object, and optional smooth object.\n * If the component is visible, it will smooth in the smooth object, or fall back to\n * the patch object, if not it will apply the patch.\n *\n * @param {component reference} ref tag ref of target component\n * @param {object} patch object of properties to patch to target\n * @param {object} smooth object of properties to smooth to target\n */\n applySmooth(ref, patch, smooth) {\n if (this.shouldSmooth) {\n ref.smooth = smooth || patch;\n } else {\n ref.patch(patch);\n }\n }\n\n // keep announce methods out of the update lifecycle (do not put in properties array)\n // announce methods do not need to re-render component\n get announce() {\n return this._announce;\n }\n\n set announce(announce) {\n this._announce = announce;\n }\n\n get announceContext() {\n return this._announceContext;\n }\n\n set announceContext(announce) {\n this._announceContext = announce;\n }\n\n get shouldSmooth() {\n return this._shouldSmooth;\n }\n\n set shouldSmooth(shouldSmooth) {\n this._shouldSmooth = shouldSmooth;\n }\n\n get _isDisabledMode() {\n return this.mode === 'disabled';\n }\n\n get _isUnfocusedMode() {\n return this.mode === 'unfocused';\n }\n\n get _isFocusedMode() {\n return this.mode === 'focused';\n }\n\n isFullyOnScreen(offsets) {\n return isComponentOnScreen(this, offsets);\n }\n\n getFocusScale() {\n return context.theme.layout.focusScale;\n }\n\n getUnfocusScale() {\n return 1;\n }\n}\n\nfunction withMixins(baseComponent) {\n return withExtensions(\n withLayout(\n withThemeStyles(withUpdates(withTags(withHandleKey(baseComponent))))\n )\n );\n}\n\nexport default withMixins(Base);\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n itemSpacing: theme.layout.gutterY,\n scrollIndex: 0,\n itemTransition: {\n ...theme.animation.standardEntrance,\n duration: theme.animation.duration.fast\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport NavigationManager from '../NavigationManager';\nimport { getY } from '../../utils';\nimport * as styles from './Column.styles';\n\nexport default class Column extends NavigationManager {\n static get __componentName() {\n return 'Column';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n return {\n ...super._template(),\n direction: 'column'\n };\n }\n\n _isOnScreenForScrolling(child) {\n if (!child) return false;\n\n const y = getY(child);\n if (!Number.isFinite(y)) return false;\n const itemsTransitionY = this.getTransitionYTargetValue();\n const columnY = this.core.renderContext.py;\n let itemY = columnY + itemsTransitionY + y;\n let yModifier;\n\n // This section here takes the difference between a possible target value\n // and subtracts it from the current child x. That value then is subtracted from the initial\n // itemX value calculated on the core renderContext px value to more accurately\n // calculate the item's location on screen when it's own x value will be updating.\n if (child.transition('y')) {\n yModifier = child.y - child.transition('y').targetValue;\n itemY = itemY - yModifier;\n }\n return itemY >= columnY && itemY + child.h <= columnY + this.h;\n }\n\n _shouldScroll() {\n if (this.alwaysScroll) {\n return true;\n }\n let shouldScroll = false;\n if (!this.neverScroll) {\n const isCompletelyOnScreen = this._isOnScreenForScrolling(this.selected);\n const lastChild = this.Items.childList.last;\n shouldScroll =\n lastChild &&\n (this.shouldScrollUp() ||\n this.shouldScrollDown() ||\n !isCompletelyOnScreen);\n }\n\n if (this.selectedIndex < this.scrollIndex) {\n shouldScroll = false;\n }\n\n return shouldScroll;\n }\n\n _getScrollY() {\n let itemsContainerY;\n let itemIndex = this.selectedIndex - this.scrollIndex;\n itemIndex = itemIndex < 0 ? 0 : itemIndex;\n if (itemIndex === this._firstFocusableIndex()) {\n itemIndex = 0;\n }\n\n if (this.Items.children[itemIndex]) {\n itemsContainerY = this.Items.children[itemIndex].transition('y')\n ? -this.Items.children[itemIndex].transition('y').targetValue +\n this.itemPosY\n : -this.Items.children[itemIndex].y + this.itemPosY;\n }\n\n return itemsContainerY;\n }\n\n _render(next, prev) {\n this._prevLastScrollIndex = this._lastScrollIndex;\n\n if (\n this.plinko &&\n prev &&\n prev.selected &&\n !(this.items.indexOf(prev) === 0 && prev.skipPlinko)\n ) {\n const prevPlinko = this.checkSkipPlinko(prev, next);\n next.selectedIndex = this._getIndexOfItemNear(next, prevPlinko || prev);\n } else if (next && !next.selectedIndex) {\n next.selectedIndex = 0;\n }\n\n let itemsContainerY;\n if (!this.Items.children.length) {\n itemsContainerY = this.itemPosY;\n } else if (this._shouldScroll()) {\n itemsContainerY = this._getScrollY();\n }\n\n if (itemsContainerY !== undefined) {\n this.updatePositionOnAxis(this.Items, itemsContainerY);\n }\n\n this.onScreenEffect(this.onScreenItems);\n }\n\n _performRender() {\n this._render(this.selected, this.prevSelected);\n }\n\n checkSkipPlinko(prev, next) {\n // If previous doesn't have skip plinko or previous is the first or last item\n if (\n !prev ||\n !prev.skipPlinko ||\n [0, this.items.length - 1].includes(this.items.indexOf(prev))\n ) {\n return null;\n }\n\n const prevIndex = this.items.indexOf(prev);\n const direction = prevIndex - this.items.indexOf(next);\n const up = direction > 0;\n\n // Grab all items below prev if up or all items before prev if down\n const prevItems = up\n ? this.items.slice(prevIndex).map(i => ({\n skipPlinko: i.skipPlinko,\n index: this.items.indexOf(i)\n }))\n : this.items\n .slice(0, prevIndex + 1)\n .map(i => ({\n skipPlinko: i.skipPlinko,\n index: this.items.indexOf(i)\n }))\n .reverse();\n\n // first item that has skipPlinko but the previous does not\n // Start at the index prev\n const endOfMultiSkipPlinkos = prevItems.find(\n i => i.skipPlinko && !this.items[i.index + direction].skipPlinko\n );\n const prevPlinkoIndex = endOfMultiSkipPlinkos\n ? endOfMultiSkipPlinkos.index + direction\n : prevIndex + direction; // +/- 1, item index before prev\n\n return this.items[prevPlinkoIndex];\n }\n\n get _itemsY() {\n return getY(this.Items);\n }\n\n $removeItem(item) {\n if (item) {\n const wasSelected = item === this.selected;\n this.Items.childList.remove(item);\n this.queueRequestUpdate();\n\n if (wasSelected || this.selectedIndex >= this.items.length) {\n // eslint-disable-next-line no-self-assign\n this.selectedIndex = this._selectedIndex;\n }\n\n if (!this.items.length) {\n this.fireAncestors('$columnEmpty');\n }\n }\n }\n\n $columnChanged() {\n this.queueRequestUpdate();\n }\n\n _isOnScreen(child) {\n if (!child) return false;\n\n return this._isComponentVerticallyVisible(child);\n }\n\n // can be overridden\n onScreenEffect() {}\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * FocusManager Component\n *\n * Container to set focus on elements with key[Up/Down] or key[Left/Right]\n */\nimport Base from '../Base';\nimport {\n getX,\n getY,\n isComponentOnScreen,\n getShortestDistance\n} from '../../utils';\n\nexport default class FocusManager extends Base {\n static get __componentName() {\n return 'FocusManager';\n }\n\n static get tags() {\n return ['Items'];\n }\n\n static get properties() {\n return ['direction', 'wrapSelected'];\n }\n\n _construct() {\n super._construct();\n this._selectedIndex = 0;\n this._itemPosX = 0;\n this._itemPosY = 0;\n this.direction = this.direction || 'row';\n }\n\n _init() {\n this._checkSkipFocus();\n }\n\n get Items() {\n if (!this.tag('Items')) {\n this.patch({ Items: {} });\n }\n return this._Items;\n }\n\n _setDirection(direction) {\n const state = {\n none: 'None',\n column: 'Column',\n row: 'Row'\n }[direction];\n\n if (state) {\n this._setState(state);\n }\n return direction;\n }\n\n _getItems() {\n return this._Items.children;\n }\n\n get items() {\n return this.Items.children;\n }\n\n set items(items) {\n this._resetItems();\n this._selectedIndex = 0;\n this.appendItems(items);\n this._checkSkipFocus();\n }\n\n set itemPosX(x) {\n this.Items.x = this._itemPosX = x;\n }\n\n get itemPosX() {\n return this._itemPosX;\n }\n\n set itemPosY(y) {\n this.Items.y = this._itemPosY = y;\n }\n\n get itemPosY() {\n return this._itemPosY;\n }\n\n _resetItems() {\n this.Items.childList.clear();\n this.Items.patch({\n w: 0,\n h: 0,\n x: this.itemPosX,\n y: this.itemPosY\n });\n\n // This fixes an issue when trying to call set items if there are already items held in _lazyItems.\n // Going to follow up on a review of this feature.\n if (this._lazyItems) {\n this._lazyItems = null;\n }\n }\n\n _appendLazyItem(item) {\n this.appendItems([item]);\n }\n\n appendItems(items = []) {\n this.Items.childList.a(items);\n this._refocus();\n }\n\n appendItemsAt(items = [], idx) {\n const addIndex = Number.isInteger(idx) ? idx : this.Items.children.length;\n this.shouldSmooth = false;\n this._lastAppendedIdx = addIndex;\n\n items.forEach((item, itemIdx) => {\n this.Items.childList.addAt(\n {\n ...item,\n parentFocus: this.hasFocus()\n },\n addIndex + itemIdx\n );\n });\n\n if (this.selectedIndex >= this._lastAppendedIdx) {\n this._selectedIndex += items.length;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n prependItems(items) {\n this.appendItemsAt(items, 0);\n }\n\n removeItemAt(index) {\n this.shouldSmooth = false;\n this.Items.childList.removeAt(index);\n\n if (\n this.selectedIndex > index ||\n this.selectedIndex === this.Items.children.length\n ) {\n this._selectedIndex--;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n _checkSkipFocus() {\n // If the first item has skip focus when appended get the next focusable item\n const initialSelection = this.Items.children[this.selectedIndex];\n if (initialSelection && initialSelection.skipFocus) {\n this.selectNext(false);\n }\n }\n\n get selected() {\n return this.Items.children[this.selectedIndex];\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n set selectedIndex(index) {\n this.prevSelected = this.selected;\n if (\n !this.Items.children.length ||\n !this.Items.children[index] ||\n !this.Items.children[index].skipFocus\n ) {\n if (index !== this._selectedIndex) {\n this._selectedIndex = index;\n }\n if (this.selected) {\n this._selectedChange(this.selected, this.prevSelected);\n }\n // Don't call refocus until after a new render in case of a situation like Plinko nav\n // where we don't want to focus the previously selected item and need to get the new one first\n this._refocus();\n }\n }\n\n _selectedChange(selected, prevSelected) {\n this._render(selected, prevSelected);\n this.signal('selectedChange', selected, prevSelected);\n }\n\n // Override\n _render() {}\n\n _firstFocusableIndex() {\n if (!this.items.length) return 0;\n const firstItem = this.items\n .reduce((acc, item, idx) => {\n if (!item.skipFocus) {\n acc.push({ ...item, originalIdx: idx });\n }\n return acc;\n }, [])\n .shift();\n\n return firstItem.originalIdx;\n }\n\n _lastFocusableIndex() {\n if (!this.items.length) return 0;\n const lastItem = this.items\n .reduce((acc, item, idx) => {\n if (!item.skipFocus) {\n acc.push({ ...item, originalIdx: idx });\n }\n return acc;\n }, [])\n .pop();\n\n return lastItem.originalIdx;\n }\n\n selectPrevious() {\n this.shouldSmooth = true;\n const hasFocusable = !!(this.items || []).filter(i => !i.skipFocus).length;\n if ((this.selectedIndex === 0 && !this.wrapSelected) || !hasFocusable) {\n return false;\n }\n\n const previousItemIndex = this.items\n .map(item => !!item.skipFocus)\n .lastIndexOf(false, this._selectedIndex - 1);\n\n if (previousItemIndex > -1) {\n this.selectedIndex = previousItemIndex;\n return true;\n } else if (this.wrapSelected) {\n this.selectedIndex = this._lastFocusableIndex();\n return true;\n }\n return false;\n }\n\n selectNext(shouldSmoothOverride) {\n if (this._lazyItems && this._lazyItems.length) {\n this._appendLazyItem(this._lazyItems.splice(0, 1)[0]);\n }\n this.shouldSmooth = shouldSmoothOverride ?? true;\n\n const hasFocusable = !!(this.items || []).filter(i => !i.skipFocus).length;\n if (\n (this.selectedIndex === this.Items.children.length - 1 &&\n !this.wrapSelected) ||\n !hasFocusable\n ) {\n return false;\n }\n\n const nextIndex = this.items.findIndex(\n (item, idx) => !item.skipFocus && idx > this._selectedIndex\n );\n\n if (nextIndex > -1) {\n this.selectedIndex = nextIndex;\n return true;\n } else if (this.wrapSelected) {\n this.selectedIndex = this._firstFocusableIndex();\n return true;\n }\n return false;\n }\n\n _getIndexOfItemNear(selected, prev) {\n const prevItem = prev.selected;\n\n if (!selected || !selected.items || !selected.items.length || !prevItem) {\n return 0;\n }\n\n const [itemX, itemY] = prevItem.core.getAbsoluteCoords(0, 0);\n const prevMiddle = [itemX + prevItem.w / 2, itemY + prevItem.h / 2];\n\n // Get all item center points from selected\n const selectedCoordArray = selected.items\n .map((item, index) => {\n return {\n index,\n distance: !item.skipFocus\n ? getShortestDistance(prevMiddle, item)\n : null\n };\n })\n .filter(item => {\n // Remove all indexes that don't have a distance (skipFocus)\n return null !== item.distance;\n })\n .sort(function (a, b) {\n return a.distance - b.distance;\n });\n return selectedCoordArray[0].index;\n }\n\n /**\n * TODO: Update Base to remove the focus/unfocus calls and add a second \"BaseComponent\" that does have them\n *\n * Layout Components (Column, Row, BoardRows, etc.) would extend only Base,\n * need to confirm this applies to InlineContnet and ScrollWrapper??\n * Element/Pattern Components (Tile, Badge, etc.) would extend \"BaseComponent\" that does have focus/unfocus overrides\n */\n _focus() {\n super._focus();\n this.items.forEach(item => (item.parentFocus = true));\n }\n _unfocus() {\n super._unfocus();\n this.items.forEach(item => (item.parentFocus = false));\n }\n\n _updateShouldSmooth() {}\n\n _getFocused() {\n const { selected } = this;\n // Make sure we're focused on a component\n if (selected) {\n if (selected.focusRef) {\n return selected.tag(selected.focusRef);\n } else if (selected.cparent) {\n return selected;\n }\n }\n return this;\n }\n\n _updateTransitionTarget(element, property, newValue) {\n if (\n element &&\n element.transition(property) &&\n !element.transition(property).isRunning() &&\n element.transition(property).targetValue !== newValue\n ) {\n element.transition(property).updateTargetValue(newValue);\n }\n }\n\n /**\n * Return list of items that are currently fully and partially on screen\n * @returns {Array} Array of matching lng.Component objects or empty array\n */\n get onScreenItems() {\n return this.Items.children.filter(child => this._isOnScreen(child));\n }\n\n _isOnScreenCompletely(child) {\n // 'isFullyOnScreen' method has been added to the Base class.\n // in case child does _not_ extend Base, 'isComponentOnScreen'\n // from the 'util' module will be invoked. The same method is\n // invoked by Base class\n return child.isFullyOnScreen\n ? child.isFullyOnScreen()\n : isComponentOnScreen(child);\n }\n\n get fullyOnScreenItems() {\n return this.Items.children.reduce((rv, item) => {\n if (item instanceof FocusManager) {\n return [\n ...rv,\n ...item.Items.children.filter(this._isOnScreenCompletely)\n ];\n } else if (this._isOnScreenCompletely(item)) {\n return [...rv, item];\n } else {\n return rv;\n }\n }, []);\n }\n\n _isOnScreen() {\n throw new Error(\"'_isOnScreen' must be implemented by 'row'/'column'\");\n }\n\n _isComponentHorizontallyVisible(child) {\n // get child's destination X; If child is moving to a destination,\n // get the value of where child will end up\n const x = getX(child);\n if (!Number.isFinite(x)) return false;\n\n // to calculate the target absolute X position of the item, we need to use\n // 1) the entire component's absolute position,\n // 2) the target animation value of the items container, and\n // 3) the target value of the item itself\n const transitionX = this.getTransitionXTargetValue();\n // get absolute position of FocusManager on screen\n const px = this.core.renderContext.px;\n const itemX = px + transitionX + x;\n\n // _scissor consists of [ left position (x), top position (y), width, height ]\n const [leftBounds = null, , clipWidth = null] = this.core._scissor || [];\n const stageW = this.stage.w / this.stage.getRenderPrecision();\n const { w } = child;\n\n const withinLeftStageBounds = itemX >= 0;\n const withinRightStageBounds = itemX + w <= stageW;\n // short circuit\n if (!withinLeftStageBounds || !withinRightStageBounds) return false;\n\n let withinLeftClippingBounds = true;\n let withinRightClippingBounds = true;\n if (Number.isFinite(leftBounds)) {\n withinLeftClippingBounds =\n Math.round(itemX + w) >= Math.round(leftBounds);\n withinRightClippingBounds =\n Math.round(itemX) <= Math.round(leftBounds + clipWidth);\n }\n\n return withinLeftClippingBounds && withinRightClippingBounds;\n }\n\n _isComponentVerticallyVisible(child) {\n // get child's destination Y; If child is moving to a destination,\n // get the value of where child will end up\n const y = getY(child);\n if (!Number.isFinite(y)) return false;\n\n // to calculate the target absolute Y position of the item, we need to use\n // 1) the entire component's absolute position,\n // 2) the target animation value of the items container, and\n // 3) the target value of the item itself\n const transitionY = this.getTransitionYTargetValue();\n\n // get absolute position of FocusManager on screen\n const py = this.core.renderContext.py;\n\n // _scissor consists of [ left position (x), top position (y), width, height ]\n const [, topBounds = null, , clipHeight = null] = this.core._scissor || [];\n const { h } = child;\n\n const itemY = py + transitionY + y;\n const stageH = this.stage.h / this.stage.getRenderPrecision();\n const withinTopStageBounds = itemY + h >= 0;\n const withingBottomStageBounds = itemY <= stageH;\n\n // short circuit\n if (!withinTopStageBounds || !withingBottomStageBounds) return false;\n\n let withinTopClippingBounds = true;\n let withinBottomClippingBounds = true;\n if (Number.isFinite(topBounds)) {\n withinTopClippingBounds = Math.round(itemY + h) > Math.round(topBounds);\n withinBottomClippingBounds =\n Math.round(itemY) < Math.round(topBounds + clipHeight);\n }\n\n return withinTopClippingBounds && withinBottomClippingBounds;\n }\n\n getTransitionXTargetValue() {\n return this.Items.transition('x').targetValue;\n }\n\n getTransitionYTargetValue() {\n return this.Items.transition('y').targetValue;\n }\n\n static _states() {\n return [\n class None extends this {},\n class Row extends this {\n _handleLeft() {\n return typeof this.onLeft === 'function'\n ? this.onLeft(this)\n : this.selectPrevious();\n }\n\n _handleRight() {\n return typeof this.onRight === 'function'\n ? this.onRight(this)\n : this.selectNext();\n }\n },\n\n class Column extends this {\n _handleUp() {\n return typeof this.onUp === 'function'\n ? this.onUp(this)\n : this.selectPrevious();\n }\n\n _handleDown() {\n return typeof this.onDown === 'function'\n ? this.onDown(this)\n : this.selectNext();\n }\n }\n ];\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n propertyTextStyle: {\n ...theme.typography.headline1,\n textColor: theme.color.textNeutral\n },\n valueTextStyle: {\n ...theme.typography.body1,\n textColor: theme.color.textNeutral\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Base from '../Base';\nimport context from '../../globals/context/index';\nimport Column from '../Column';\nimport Row from '../Row';\nimport TextBox from '../TextBox';\nimport { getWidthByColumnSpan } from '../../utils';\nimport * as styles from './GridOverlay.styles';\n\nclass Spacer extends Base {\n static get __componentName() {\n return 'Spacer';\n }\n\n static _template() {\n return {\n Line: {\n h: Spacer._lineThickness,\n rect: true,\n mountY: 0.5,\n TickLeft: {\n ...Spacer._tick,\n x: Spacer._lineThickness * -1\n },\n TickRight: Spacer._tick\n }\n };\n }\n\n static get properties() {\n return ['lineColor'];\n }\n\n static get tags() {\n return ['Line', 'TickLeft', 'TickRight'];\n }\n\n static get _lineThickness() {\n return 3;\n }\n\n static get _tickLength() {\n return 25;\n }\n\n static get _tick() {\n return {\n rect: true,\n mountY: 0.5,\n w: Spacer._lineThickness,\n h: Spacer._tickLength,\n y: Spacer._lineThickness / 2\n };\n }\n\n _update() {\n this._Line.w = this.w;\n this._TickRight.x = this._Line.w;\n\n if (this.lineColor) {\n this._Line.color =\n this._TickLeft.color =\n this._TickRight.color =\n this.lineColor;\n }\n\n this.rotation = this.vertical ? Math.PI / 2 : 0;\n this.signal('spacerLoaded');\n }\n}\n\nexport default class GridOverlay extends Base {\n static get __componentName() {\n return 'GridOverlay';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n const textRow = {\n type: Row,\n autoResizeHeight: true,\n Items: {\n Property: {\n type: TextBox,\n signals: {\n textBoxChanged: '_update'\n }\n },\n Value: {\n type: TextBox,\n signals: {\n textBoxChanged: '_update'\n },\n centerInParent: true\n }\n }\n };\n\n return {\n Columns: {\n alpha: 0.001,\n type: Row\n },\n Margins: {\n alpha: 0.001,\n Horizontal: {\n Left: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n },\n Right: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n Vertical: {\n Top: { type: Spacer, vertical: true }\n }\n },\n Safe: {\n alpha: 0.001,\n Horizontal: {\n Left: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n },\n Right: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n Vertical: {\n Top: { type: Spacer, vertical: true },\n Bottom: { type: Spacer, vertical: true }\n }\n },\n Gutters: {\n alpha: 0.001,\n Horizontal: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n TextPanel: {\n alpha: 0.001,\n type: Column,\n autoResizeHeight: true,\n Items: {\n ScreenW: textRow,\n ScreenH: textRow,\n ColumnCount: textRow,\n MarginX: textRow,\n MarginY: textRow,\n GutterX: textRow,\n GutterY: textRow,\n Safe: textRow\n }\n }\n };\n }\n\n static get properties() {\n return [\n 'showColumns',\n 'showMargins',\n 'showSafe',\n 'showGutters',\n 'showText'\n ];\n }\n\n static get tags() {\n return [\n 'Columns',\n 'Margins',\n { name: 'MarginHorizontal', path: 'Margins.Horizontal' },\n { name: 'MarginLeft', path: 'Margins.Horizontal.Left' },\n { name: 'MarginRight', path: 'Margins.Horizontal.Right' },\n { name: 'MarginVertical', path: 'Margins.Vertical' },\n { name: 'MarginTop', path: 'Margins.Vertical.Top' },\n 'Safe',\n { name: 'SafeHorizontal', path: 'Safe.Horizontal' },\n { name: 'SafeLeft', path: 'Safe.Horizontal.Left' },\n { name: 'SafeRight', path: 'Safe.Horizontal.Right' },\n { name: 'SafeVertical', path: 'Safe.Vertical' },\n { name: 'SafeTop', path: 'Safe.Vertical.Top' },\n { name: 'SafeBottom', path: 'Safe.Vertical.Bottom' },\n 'Gutters',\n { name: 'GutterHorizontal', path: 'Gutters.Horizontal' },\n 'TextPanel',\n { name: 'TextScreenW', path: 'TextPanel.Items.ScreenW' },\n { name: 'TextScreenH', path: 'TextPanel.Items.ScreenH' },\n { name: 'TextColumnCount', path: 'TextPanel.Items.ColumnCount' },\n { name: 'TextMarginX', path: 'TextPanel.Items.MarginX' },\n { name: 'TextMarginY', path: 'TextPanel.Items.MarginY' },\n { name: 'TextGutterX', path: 'TextPanel.Items.GutterX' },\n { name: 'TextGutterY', path: 'TextPanel.Items.GutterY' },\n { name: 'TextSafe', path: 'TextPanel.Items.Safe' }\n ];\n }\n\n _construct() {\n super._construct();\n this._showColumns =\n this._showMargins =\n this._showSafe =\n this._showGutters =\n this._showText =\n true;\n }\n\n _update() {\n this._updateGlobalThemeProps();\n this._updateMargins();\n this._updateSafe();\n this._updateColumns();\n this._updateGutters();\n this._updateText();\n this._updateVisibility();\n }\n\n _updateVisibility() {\n this._Columns.smooth = { alpha: Number(this.showColumns) };\n this._Margins.smooth = { alpha: Number(this.showMargins) };\n this._Safe.smooth = { alpha: Number(this.showSafe) };\n this._Gutters.smooth = { alpha: Number(this.showGutters) };\n this._TextPanel.smooth = { alpha: Number(this.showText) };\n }\n\n _updateGlobalThemeProps() {\n const { layout, color } = context.theme;\n const {\n screenW,\n screenH,\n columnCount,\n marginX,\n marginY,\n gutterX,\n gutterY,\n safe\n } = layout;\n\n this._screenW = screenW;\n this._screenH = screenH;\n this._columnCount = columnCount;\n this._marginX = marginX;\n this._marginY = marginY;\n this._safe = safe;\n this._gutterX = gutterX;\n this._gutterY = gutterY;\n\n this._columnColor = color.interactiveNeutralFocusSoft;\n this._marginColor = color.green;\n this._safeColor = color.red;\n this._gutterColor = color.blue;\n }\n\n _updateMargins() {\n const marginPatch = { lineColor: this._marginColor };\n\n // Horizontal\n const marginHorizontalPatch = { ...marginPatch, w: this._marginX };\n this._MarginHorizontal.y = this._screenH / 2;\n this._MarginLeft.patch(marginHorizontalPatch);\n this._MarginRight.patch(marginHorizontalPatch);\n this._MarginRight.x = this._screenW - this._marginX;\n\n // Vertical\n const marginVerticalPatch = { ...marginPatch, w: this._marginY };\n this._MarginVertical.x = this._marginX - marginVerticalPatch.w / 2;\n this._MarginTop.patch(marginVerticalPatch);\n this._MarginTop.patch(marginVerticalPatch);\n this._MarginTop.y = marginVerticalPatch.w / 2;\n }\n\n _updateSafe() {\n const safePatch = { lineColor: this._safeColor, w: this._safe };\n\n // Horizontal\n this._SafeHorizontal.y = this._screenH / 4;\n this._SafeLeft.patch(safePatch);\n this._SafeRight.patch(safePatch);\n this._SafeRight.x = this._screenW - this._safe;\n\n // Vertical\n this._SafeVertical.x = (this._screenW - safePatch.w) / 2;\n this._SafeVertical.y = safePatch.w / 2;\n this._SafeTop.patch(safePatch);\n this._SafeBottom.patch(safePatch);\n this._SafeBottom.y = this._screenH - this._safe;\n }\n\n _updateColumns() {\n this._Columns.patch({\n w: this._screenW,\n h: this._screenH,\n x: this._marginX,\n style: {\n itemSpacing: this._gutterX\n },\n items: this._columnRects\n });\n }\n\n get _columnRects() {\n return Array.apply(null, { length: this._columnCount }).map(() => ({\n rect: true,\n w: getWidthByColumnSpan(this.theme, 1),\n h: this._screenH,\n color: this._columnColor\n }));\n }\n\n _updateGutters() {\n const gutterPatch = { lineColor: this._gutterColor, w: this._gutterY };\n\n // Horizontal\n this._GutterHorizontal.patch({\n ...gutterPatch,\n x: (this._screenW - gutterPatch.w) / 2,\n y: this._screenH / 4\n });\n }\n\n _updatePropertyTextStyle(textPanelName, color) {\n // clone the object so as not to mutate it\n const style = { textStyle: { ...this.style.propertyTextStyle } };\n if (color) {\n style.textStyle.textColor = color;\n }\n textPanelName.Items.tag('Property').style = style;\n }\n\n _updateValueTextStyle(textPanelName) {\n textPanelName.Items.tag('Value').style = {\n textStyle: this.style.valueTextStyle\n };\n }\n\n _updateText() {\n const prop = 'Property';\n const val = 'Value';\n\n this._TextPanel.x =\n this._screenW - this._marginX - getWidthByColumnSpan(this.theme, 3);\n this._TextPanel.y = this._safe;\n\n this._TextScreenW.Items.tag(prop).content = 'Screen Width';\n this._TextScreenW.Items.tag(val).content = `${this._screenW}px`;\n this._updatePropertyTextStyle(this._TextScreenW);\n this._updateValueTextStyle(this._TextScreenW);\n\n this._TextScreenH.Items.tag(prop).content = 'Screen Height';\n this._TextScreenH.Items.tag(val).content = `${this._screenH}px`;\n this._updatePropertyTextStyle(this._TextScreenH);\n this._updateValueTextStyle(this._TextScreenH);\n\n this._TextColumnCount.Items.tag(prop).content = 'Columns';\n this._TextColumnCount.Items.tag(val).content = `${\n this._columnCount\n }, ${Math.round(getWidthByColumnSpan(this.theme, 1))}px each`;\n this._updatePropertyTextStyle(this._TextColumnCount);\n this._updateValueTextStyle(this._TextColumnCount);\n\n this._TextMarginX.Items.tag(prop).content = 'Margin-X';\n this._TextMarginX.Items.tag(val).content = `${this._marginX}px`;\n this._updatePropertyTextStyle(this._TextMarginX, this._marginColor);\n this._updateValueTextStyle(this._TextMarginX);\n\n this._TextMarginY.Items.tag(prop).content = 'Margin-Y';\n this._TextMarginY.Items.tag(val).content = `${this._marginY}px`;\n this._updatePropertyTextStyle(this._TextMarginY, this._marginColor);\n this._updateValueTextStyle(this._TextMarginY);\n\n this._TextGutterX.Items.tag(prop).content = 'Gutter-X';\n this._TextGutterX.Items.tag(val).content = `${this._gutterX}px`;\n this._updatePropertyTextStyle(this._TextGutterX, this._gutterColor);\n this._updateValueTextStyle(this._TextGutterX);\n\n this._TextGutterY.Items.tag(prop).content = 'Gutter-Y';\n this._TextGutterY.Items.tag(val).content = `${this._gutterY}px`;\n this._updatePropertyTextStyle(this._TextGutterY, this._gutterColor);\n this._updateValueTextStyle(this._TextGutterY);\n\n this._TextSafe.Items.tag(prop).content = 'Safe';\n this._TextSafe.Items.tag(val).content = `${this._safe}px`;\n this._updatePropertyTextStyle(this._TextSafe, this._safeColor);\n this._updateValueTextStyle(this._TextSafe);\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const tone = theme => ({\n neutral: { color: theme.color.fillNeutral },\n inverse: { color: theme.color.fillInverse },\n brand: { color: theme.color.fillBrand }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport Base from '../Base';\nimport * as styles from './Icon.styles';\nimport context from '../../globals/context/index';\nimport { getValidColor } from '../../utils';\nimport CustomImageTexture from '../../textures/CustomImageTexture';\n\n/**\n * Icon component that displays different types of icons, supporting SVGs and images.\n * @extends Base\n */\nexport default class Icon extends Base {\n /**\n * Returns the name of the component for theming support.\n * @returns {string} The name of the component.\n */\n static get __componentName() {\n return 'Icon';\n }\n\n /**\n * Returns the theme styles for the Icon component.\n * @returns {object} The theme styles object.\n */\n static get __themeStyle() {\n return styles;\n }\n\n /**\n * Returns the list of properties that can be set on the Icon component. Used by withUpdates\n * @returns {Array} An array of property names.\n */\n static get properties() {\n return ['icon', 'fixed', 'color'];\n }\n\n _init() {\n /**\n * Event listener for the 'txLoaded' event to handle icon texture loading.\n *\n * @listens 'txLoaded'\n */\n this.on('txLoaded', () => {\n if (!this.fixed) {\n this._notify.bind(this)(); // Notify parent component of the item change if not fixed.\n }\n });\n\n /**\n * Event listener for the 'txError' event to handle icon texture loading errors.\n *\n * @listens 'txError'\n * @param {Error} error - The error object containing information about the loading error.\n */\n this.on('txError', this._handleTxtError.bind(this));\n }\n\n /**\n * Returns the color to be used for the icon.\n *\n * @private\n * @returns {string} The color value.\n */\n _getColor() {\n return this._color || this.style.color;\n }\n\n /**\n * Notifies the parent and ancestors of item changes in the Icon component.\n *\n * @private\n */\n _notify() {\n this.w = this.finalW;\n this.h = this.finalH;\n this.signal('itemChanged', this); // Emit 'itemChanged' signal to notify parent.\n this.fireAncestors('$itemChanged'); // Emit '$itemChanged' signal to notify ancestors.\n }\n\n /**\n * Handles the error when loading the icon texture.\n *\n * @private\n * @param {Error} error - The error object containing information about the loading error.\n */\n _handleTxtError() {\n context.error(`Unable to load icon ${this._icon}`);\n this._icon = null;\n this.texture = null;\n }\n\n /**\n * Updates the Icon component based on the provided icon.\n *\n * @private\n */\n _update() {\n if (!this._icon) {\n this.texture = null; // If there's no icon, clear the texture.\n return;\n }\n this.patch(this._iconPatch); // Apply the icon patch.\n }\n\n /**\n * Generates the patch based on the icon type (SVG, image, etc.) and other properties.\n *\n * @private\n * @returns {object} The patch object to update the Icon component.\n */\n get _iconPatch() {\n const [isSvgTag, isSvgURI] = [/^$/, /\\.svg$/].map(regex =>\n RegExp.prototype.test.bind(regex)\n );\n let texture;\n const svgTag = isSvgTag(this.icon);\n const svgURI = isSvgURI(this.icon);\n\n if (svgTag) {\n texture = lng.Tools.getSvgTexture(\n `data:image/svg+xml,${encodeURIComponent(this.icon)}`,\n this.w,\n this.h\n );\n } else if (svgURI) {\n texture = lng.Tools.getSvgTexture(this.icon, this.w, this.h);\n } else {\n texture = {\n type: CustomImageTexture,\n w: this.w,\n h: this.h,\n src: this.icon\n };\n }\n\n const color = getValidColor(this._color || this.style.color);\n const shader =\n this.radius || this.style.radius\n ? {\n radius: this.radius || this.style.radius,\n type: lng.shaders.RoundedRectangle\n }\n : undefined;\n\n return {\n texture,\n shader,\n ...(color\n ? { colorUl: color, colorUr: color, colorBl: color, colorBr: color }\n : {})\n };\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n textY: 0,\n iconWidth: theme.spacer.xxl + theme.spacer.xs,\n iconHeight: theme.spacer.xxl + theme.spacer.xs,\n contentSpacing: theme.spacer.md,\n marginBottom: 0,\n strikethroughRatio: 0.08,\n strikethroughColor: theme.color.textNeutral,\n textStyle: {\n ...theme.typography.body1\n },\n maxLines: 1,\n justify: 'flex-start'\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\nimport lng from '@lightningjs/core';\nimport Icon from '../Icon';\nimport Badge from '../Badge';\nimport { parseInlineContent, flatten, measureTextWidth } from '../../utils';\nimport Base from '../Base';\nimport * as styles from './InlineContent.styles';\n\nconst isText = item => typeof item === 'string' || !!item.text;\nconst isIcon = item => !!item.icon;\nconst isBadge = item => !!item.badge;\n\nexport default class InlineContent extends Base {\n static get properties() {\n return [\n 'content',\n 'contentProperties',\n 'badgeY',\n 'badgeProperties',\n 'justify',\n 'contentWrap',\n 'customStyleMappings',\n 'maxLines',\n 'maxLinesSuffix'\n ];\n }\n\n static get __componentName() {\n return 'InlineContent';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get aliasStyles() {\n return [\n { prev: 'iconH', curr: 'iconHeight' },\n { prev: 'iconW', curr: 'iconWidth' }\n ];\n }\n\n _construct() {\n super._construct();\n // use the same default value as Lightning's Text Texture default\n this._maxLinesSuffix = '..';\n }\n\n _update() {\n this._updateContent();\n this._waitForComponentLoad();\n }\n\n _updateContent() {\n this.childList.clear();\n\n // if wrapping with max lines, hide content until it has rerendered with maxLines and truncation calculated\n if (this._shouldTruncate) {\n this.alpha = 0.001;\n }\n if (this._parsedContent && this._parsedContent.length) {\n this.patch({\n flex: {\n direction: 'row',\n wrap: !!this.contentWrap,\n justifyContent:\n this.justify != undefined ? this.justify : this.style.justify\n }\n });\n\n this._parsedContent.forEach((item, index) => {\n const isLast = index === this._parsedContent.length - 1;\n const base = {\n flexItem: {\n ...this.contentProperties,\n marginBottom: isLast ? 0 : this._marginBottom,\n marginRight: isLast\n ? 0\n : this.contentProperties.marginRight || this.style.contentSpacing\n }\n };\n\n // text not separated by icons/badges are grouped together\n if (isText(item)) {\n const nextItem = this._parsedContent[index + 1];\n if (\n (nextItem && isText(nextItem)) ||\n (this.contentWrap &&\n nextItem &&\n nextItem.newline &&\n this._parsedContent[index + 2] &&\n isText(this._parsedContent[index + 2]))\n ) {\n base.flexItem.marginRight = 0;\n }\n this.childList.a(this._createText(base, item));\n } else if (isIcon(item)) {\n this.childList.a(this._createIcon(base, item));\n } else if (isBadge(item)) {\n this.childList.a(this._createBadge(base, item.badge));\n } else if (item.newline && this.contentWrap) {\n this.childList.a({ h: 0, w: this.w });\n }\n });\n }\n }\n\n _waitForComponentLoad() {\n if (this.children.length) {\n Promise.all(\n this.children.map(\n child =>\n new Promise(resolve => {\n // resolve immediately for new line elements since they do not render a texture\n if (child.h === 0 && child.w === this.w) {\n resolve();\n } else {\n child.on('txLoaded', resolve);\n }\n })\n )\n ).finally(() => this._contentLoaded());\n } else {\n this.h = 0;\n this._contentLoaded();\n }\n }\n\n _notifyAncestors() {\n this.fireAncestors('$loadedInlineContent', this);\n this.signal('loadedInlineContent', this.finalW, this.multiLineHeight);\n }\n\n _contentLoaded() {\n // TODO: FIX --figure out an alternative to using setTimeout\n // perhaps have to wait until Lightning Flexboxes can emit a signal (like textures) when they've finished loading\n if (this.children.length) {\n setTimeout(() => {\n this.multiLineHeight = this.finalH;\n if (\n this.flex &&\n this.flex._layout &&\n this.flex._layout._lineLayouter &&\n this.flex._layout._lineLayouter._lines\n ) {\n let totalHeight = 0;\n this.flex._layout._lineLayouter._lines.forEach(line => {\n totalHeight += Object.entries(line.items)\n .slice(line.startIndex, line.endIndex + 1)\n .sort((a, b) => {\n return b[1].h - a[1].h;\n })[0][1].h;\n });\n this.multiLineHeight = totalHeight;\n\n if (this._shouldTruncate) {\n this._renderMaxLines();\n }\n\n this._notifyAncestors();\n } else {\n this._contentLoaded();\n }\n }, 10);\n } else {\n this._notifyAncestors();\n }\n }\n\n _renderMaxLines() {\n const childrenDimensions = this._calcChildrenDimensions();\n\n this.childList.clear();\n let renderedLastElement = false;\n childrenDimensions.forEach((child, index) => {\n if (renderedLastElement) {\n return;\n }\n\n const nextChild = childrenDimensions[index + 1];\n\n if (!nextChild) {\n this.childList.add(child.component);\n return;\n }\n\n const isOnLastLine = child.line === this.maxLines;\n\n const isLastBeforeMaxLines =\n isOnLastLine && nextChild.line > this.maxLines;\n\n const canRenderLastWithSuffix =\n isLastBeforeMaxLines && child.hasSpaceForSuffix;\n\n const isLastWithSpaceForSuffix =\n isOnLastLine && child.hasSpaceForSuffix && !nextChild.hasSpaceForSuffix;\n\n /**\n * This is the last element to render, with a suffix, if the element is:\n * - the last element to render (and has not reached the maxLines yet)\n * - the last element that fits within maxLines, including with the width of the maxLinesSuffix appended to it\n */\n const isLast =\n !nextChild || canRenderLastWithSuffix || isLastWithSpaceForSuffix;\n\n if (child.line <= this.maxLines) {\n if (isLast && index !== childrenDimensions.length - 1) {\n this.childList.add(this._addSuffix(child));\n renderedLastElement = true;\n } else {\n this.childList.add(child.component);\n }\n }\n });\n this.alpha = 1;\n }\n\n _calcChildrenDimensions() {\n const suffixW = measureTextWidth({\n ...this.style.textStyle,\n text: this.maxLinesSuffix\n });\n let contentEndX = 0;\n let line = 1;\n\n return this.children.reduce((acc, child) => {\n const component = child;\n let type, content, w;\n const isNewLineElement = child.w == this.w && child.h === 0;\n\n if (isNewLineElement) {\n line++;\n contentEndX = 0;\n const data = {\n type: 'linebreak',\n component,\n content,\n line,\n hasSpaceForSuffix: true\n };\n\n acc.push(data);\n return acc;\n }\n\n if (isText(child)) {\n type = 'text';\n content = child.text.text;\n w = child.texture.getRenderWidth();\n } else if (isIcon(child)) {\n type = 'icon';\n w = child.w;\n } else if (child.constructor.__componentName === 'Badge') {\n type = 'badge';\n w = child.w;\n }\n\n contentEndX += w;\n contentEndX += child.flexItem.marginRight;\n\n if (Math.ceil(contentEndX) >= this.w) {\n line++;\n contentEndX = w;\n }\n\n const hasSpaceForSuffix = Math.ceil(contentEndX) + suffixW <= this.w;\n\n const data = {\n type,\n component,\n content,\n line,\n hasSpaceForSuffix\n };\n\n acc.push(data);\n return acc;\n }, []);\n }\n\n _addSuffix({ type, component, content }) {\n const negatedRightMargin = component.flexItem.marginRight * -1;\n let suffix;\n if (type === 'text') {\n // We need to grab the current styling of the text to ensure that any\n // custom styling is applied to the suffix\n const { fontFace, fontSize, fontStyle, lineHeight, verticalAlign } =\n component.text;\n suffix = this._createText(\n { flexItem: this.contentProperties },\n {\n text: `${content.trim()}${this.maxLinesSuffix}`,\n style: {\n fontFace,\n fontSize,\n fontStyle,\n lineHeight,\n verticalAlign\n }\n }\n );\n } else {\n this.childList.add(component);\n suffix = this._createText(\n {\n flexItem: {\n ...this.contentProperties,\n marginLeft: negatedRightMargin\n }\n },\n this.maxLinesSuffix\n );\n }\n return suffix;\n }\n\n _createIcon(base, iconProps) {\n const y =\n (this.textHeight > this.style.textStyle.lineHeight\n ? this.textHeight\n : this.style.textStyle.lineHeight) - this.style.iconHeight;\n return {\n ...base,\n type: Icon,\n y: y,\n w: this.style.iconWidth,\n h: this.style.iconHeight,\n signals: {\n itemChanged: '_updateIconPosition'\n },\n ...iconProps\n };\n }\n\n _createText(base, text) {\n const textOverrideStyles =\n typeof text.style === 'string'\n ? this.customStyleMappings[text.style]\n : text.style;\n const textComponent = {\n ...base,\n y: this.textY !== undefined ? this.textY : this.style.textY,\n h:\n textOverrideStyles?.lineHeight ||\n textOverrideStyles?.fontSize ||\n this.textHeight,\n text: {\n ...this.style.textStyle,\n ...textOverrideStyles,\n text: text.text || text\n }\n };\n if (textOverrideStyles?.textDecoration === 'line-through') {\n const textWidth = measureTextWidth({\n ...this.style.textStyle,\n ...textOverrideStyles,\n text: text.text || text\n });\n const strikethroughLine = {\n rect: true,\n w: textWidth,\n color:\n this.style.strikethroughColor ||\n textOverrideStyles?.textColor ||\n this.style.textStyle.textColor,\n h: textComponent.h * this.style.strikethroughRatio,\n y: textComponent.h / 2,\n mountY: 1\n };\n return {\n type: lng.Component,\n w: textWidth + textComponent.flexItem.marginRight,\n h: textComponent.h,\n children: [{ ...textComponent }, { ...strikethroughLine }]\n };\n }\n return textComponent;\n }\n\n _createBadge(base, badge) {\n return {\n ...base,\n y: this.badgeY || 0,\n ...this.badgeProperties,\n type: Badge,\n title: badge,\n signals: {\n loadedBadge: '_loadedBadge'\n }\n };\n }\n\n _updateIconPosition(icon) {\n icon.y = this.style.textStyle.lineHeight - icon.h;\n }\n\n _loadedBadge(badge) {\n if (this.badgeY === undefined) {\n badge.y = this.style.textStyle.lineHeight - badge.h;\n }\n }\n\n /**\n * RegEx Lookbehinds do not work in WPE Browser, but we want the space\n * at the end of the previous string to prevent weird wrapping,\n * so we need to separate on spaces, then re-attach to the previous string\n *\n * @param { array } parsedContent\n *\n * @return { array }\n */\n _formatSpaces(parsedContent) {\n // retain the white space next to the appropriate word, then filter by the empty string,\n // otherwise all whitespace is stripped and the flexItem's marginRight adds its own space\n // which can be a different space size than the text would apply between words\n const whitespace = /(.+?\\s+)/;\n return flatten(\n (parsedContent || []).reduce((acc, item) => {\n let parsed = item;\n if (isText(item)) {\n if (typeof item === 'object') {\n const formattedWords = item.text\n .split(whitespace) // split after whitespace character (which adds empty strings)\n .map(word => word && { ...item, text: word }); // check for empty string before adding\n acc.push(...formattedWords);\n return acc;\n }\n parsed = item.split(whitespace);\n }\n acc.push(parsed);\n return acc;\n }, [])\n )\n .map((item, index, arr) => {\n if (item === ' ') return false;\n if (arr[index + 1] === ' ') return item + ' ';\n return item;\n })\n .filter(Boolean);\n }\n\n _setContent(content) {\n if (content !== this._content) {\n this._content = content;\n let parsedContent = this._content;\n if (content && !Array.isArray(content)) {\n parsedContent = parseInlineContent(content);\n }\n\n this._parsedContent = this._formatSpaces(parsedContent);\n }\n return content;\n }\n\n _setBadgeProperties(badgeProperties) {\n if (typeof badgeProperties === 'object') {\n return badgeProperties;\n }\n }\n\n _getBadgeProperties() {\n return this._badgeProperties || {};\n }\n\n _setContentProperties(contentProperties) {\n if (typeof contentProperties === 'object') {\n return contentProperties;\n }\n }\n\n _getContentProperties() {\n return this._contentProperties || {};\n }\n\n _setCustomStyleMappings(customStyleMappings) {\n if (typeof customStyleMappings === 'object') {\n return customStyleMappings;\n }\n }\n\n _getCustomStyleMappings() {\n return this._customStyleMappings || {};\n }\n\n _setMaxLines(maxLines) {\n // only accept positive numbers\n // round down any decimals to whole numbers\n return maxLines >= 1 ? Math.floor(maxLines) : 0;\n }\n\n get textHeight() {\n return this.style.textStyle.lineHeight || this.style.textStyle.fontSize;\n }\n\n get _marginBottom() {\n if (this.contentProperties.marginBottom !== undefined) {\n return this.contentProperties.marginBottom;\n }\n if (this.style.marginBottom) {\n return this.style.marginBottom;\n }\n return 0;\n }\n\n get _shouldTruncate() {\n return this.contentWrap && this.maxLines;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n if (this._announce) {\n return this._announce;\n }\n const announce =\n this._parsedContent &&\n this._parsedContent.reduce((announce, item) => {\n if (typeof item === 'string') {\n announce += item;\n } else if (item.announce) {\n announce += item.announce;\n } else if (item.text) {\n announce += item.text;\n if (item.style?.textDecoration === 'line-through') {\n announce += 'strikethrough';\n }\n } else if (item.title) {\n announce += item.title;\n } else if (item.badge) {\n announce += item.badge;\n }\n return announce + ' ';\n }, '');\n return announce ? announce.replace(/\\s+(?=\\s)|\\s$/g, '') : '';\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n fadeWidth: 100,\n offset: theme.spacer.xxl,\n shouldSmooth: false,\n textStyle: theme.typography.body1\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as styles from './Marquee.styles';\nimport FadeShader from '../../shaders/FadeShader';\nimport utils from '../../utils';\nimport Base from '../Base';\n\nexport default class Marquee extends Base {\n static _template() {\n return {\n ContentClipper: {\n boundsMargin: [], // overwrite boundsMargin so text won't de-render if moved offscreen\n ContentBox: {\n Content: {},\n ContentLoopTexture: {}\n }\n }\n };\n }\n\n static get __componentName() {\n return 'Marquee';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get tags() {\n return [\n 'ContentClipper',\n {\n name: 'ContentBox',\n path: 'ContentClipper.ContentBox'\n },\n {\n name: 'Content',\n path: 'ContentClipper.ContentBox.Content'\n },\n {\n name: 'ContentLoopTexture',\n path: 'ContentClipper.ContentBox.ContentLoopTexture'\n }\n ];\n }\n\n static get properties() {\n return [\n 'autoStart',\n 'title',\n 'contentTexture',\n 'color',\n 'centerAlign',\n 'delay',\n 'repeat',\n 'overrideLoopX'\n ];\n }\n\n static get aliasStyles() {\n return [{ prev: 'fadeW', curr: 'fadeWidth' }];\n }\n\n _construct() {\n super._construct();\n this._scrolling = false;\n this._autoStart = false;\n this._centerAlign = false;\n }\n\n _init() {\n this._Content.on('txLoaded', this._updateContentTexture.bind(this));\n super._init();\n }\n\n _updateContentTexture() {\n const restartScrolling = this._restartScrolling;\n this.stopScrolling();\n\n if (!this._currentTexture.h) {\n this._ContentClipper.h =\n this._currentTexture.text && this._currentTexture.text.lineHeight\n ? this._currentTexture.text.lineHeight\n : this._Content.finalH;\n }\n // in case the metadata width gets larger on focus and the text goes from being clipped to not\n if (this._shouldClip) {\n this._updateShader();\n } else {\n this._ContentClipper.shader = null;\n this._positionTexture();\n }\n\n restartScrolling && this.startScrolling();\n this.signal('marqueeContentLoaded');\n }\n\n _update() {\n this._updateColor();\n this._updateTexture();\n this._updateShader();\n this._restartScrolling && this.startScrolling();\n }\n\n get _restartScrolling() {\n return this.autoStart || this._scrolling || this._shouldTryScrolling;\n }\n\n _updateColor() {\n if (this.color) {\n this._Content.smooth = { color: utils.getValidColor(this.color) };\n }\n }\n\n get _currentTexture() {\n return this._Content.text || this._Content.texture || {};\n }\n\n _updateTexture() {\n const content = { rtt: true };\n if (this.contentTexture) {\n content.texture = this.contentTexture;\n } else if (this.title) {\n content.text = {\n ...this.style.textStyle,\n ...this.title,\n text: this.textContent\n };\n }\n\n this.patch({\n ContentClipper: {\n w: this.w + 14,\n ContentBox: {\n Content: content,\n ContentLoopTexture: {}\n }\n }\n });\n this.signal('marqueeContentLoaded'); // TODO: Check if this extra signal is needed since the txLoaded event should emit it already?\n }\n\n _updateShader() {\n this._ContentClipper.patch({\n w: this.w > 0 ? this.w + this.style.fadeWidth / 2 : 0,\n shader: {\n type: FadeShader,\n positionLeft: 0,\n positionRight: this.style.fadeWidth\n },\n rtt: true\n });\n }\n\n _updateAnimation() {\n this._scrollAnimation && this._scrollAnimation.stopNow();\n this._scrollAnimation = this.animation({\n duration: this._loopWidth / 50,\n delay: isNaN(this.delay) ? 1.5 : this.delay,\n repeat: isNaN(this.repeat) ? -1 : this.repeat,\n actions: [\n {\n t: 'ContentBox',\n p: 'x',\n v: {\n sm: 0,\n 0: { v: 0 },\n 0.5: { v: -(this._loopWidth + this.style.offset) }\n }\n },\n {\n t: 'ContentClipper',\n p: 'shader.positionLeft',\n v: {\n sm: 0,\n 0: { v: 0 },\n 0.1: { v: this.style.fadeWidth },\n 0.4: { v: this.style.fadeWidth },\n 0.5: { v: 0 }\n }\n }\n ]\n });\n }\n\n _positionTexture() {\n const x = this._shouldCenter() ? (this.w - this._textRenderedW) / 2 : 0;\n if (this.style.shouldSmooth) {\n this._ContentBox.smooth = { x };\n } else {\n this._ContentBox.x = x;\n }\n }\n\n startScrolling() {\n this._Content.off('txLoaded', this.startScrolling.bind(this));\n\n this._shouldTryScrolling = true;\n if (this._textRenderedW === 0) {\n // can switch to .once in LUI5.0 requiring higher Lightning Core version\n this._Content.on('txLoaded', this.startScrolling.bind(this));\n }\n if (this._shouldClip) {\n this._scrolling = true;\n this._ContentLoopTexture.x = this._loopWidth + this.style.offset;\n this._ContentLoopTexture.texture = this._Content.getTexture();\n this._updateAnimation();\n this._scrollAnimation.start();\n } else {\n this._scrolling = false;\n }\n }\n\n stopScrolling() {\n this._shouldTryScrolling = false;\n this._scrolling = false;\n if (this._scrollAnimation) {\n this._scrollAnimation.stopNow();\n this._ContentLoopTexture.texture = null;\n }\n }\n\n get _shouldClip() {\n // using fadeWidth / 4 so that if something like the last character is slightly\n // faded out but still visible, we don't unnecessarily scroll\n return this._textRenderedW > this.w - this.style.fadeWidth / 4;\n }\n\n _shouldCenter() {\n return (\n this._centerAlign ||\n (this._Content.text && this._Content.text.textAlign === 'center')\n );\n }\n\n _setAutoStart(autoStart) {\n // if the component is changed from autoStarting to not,\n // cancel the current scrolling behavior,\n // otherwise the component can continue to scroll from its previous state\n if (this.autoStart && !autoStart) {\n // Calling this ensures that the animation is stopped, and the texture\n // is properly positioned if it needs to be centered. Otherwise, if it\n // is un-clipped text, it is positioned at 0.\n this._updateContentTexture();\n }\n return autoStart;\n }\n\n _setCenterAlign(center) {\n // The Content texture needs to be updated if centerAlign\n // is changed, but we need the new value first.\n this._centerAlign = center;\n this._updateContentTexture();\n return center;\n }\n\n get textContent() {\n return this.title?.text ?? this.title ?? '';\n }\n\n get _loopWidth() {\n return this.overrideLoopX || this._textRenderedW;\n }\n\n get _textRenderedW() {\n return this._Content.renderWidth;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n return this._announce || (this.title && this.title.text);\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n alwaysScroll: false,\n itemSpacing: theme.layout.gutterX,\n itemTransition: theme.animation.utility,\n neverScroll: false,\n scrollIndex: 0\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport FocusManager from '../FocusManager';\nimport { getX, getY, getH, getW, max, watchForUpdates } from '../../utils';\nimport * as styles from './NavigationManager.styles';\n\nconst directionPropNames = {\n row: {\n axis: 'x',\n crossAxis: 'y',\n lengthDimension: 'w',\n crossDimension: 'h',\n innerLengthDimension: 'innerW',\n innerCrossDimension: 'innerH'\n },\n column: {\n axis: 'y',\n crossAxis: 'x',\n lengthDimension: 'h',\n crossDimension: 'w',\n innerLengthDimension: 'innerH',\n innerCrossDimension: 'innerW'\n }\n};\n\nexport default class NavigationManager extends FocusManager {\n static get __componentName() {\n return 'NavigationManager';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get properties() {\n return [\n ...super.properties,\n 'alwaysScroll',\n 'neverScroll',\n 'scrollIndex',\n 'autoResizeWidth',\n 'autoResizeHeight',\n 'lazyUpCount',\n 'lazyUpCountBuffer',\n 'waitForDimensions'\n ];\n }\n\n _construct() {\n super._construct();\n this.shouldSmooth = false;\n this._lazyUpCountBuffer = 2;\n }\n\n _init() {\n const { lengthDimension, axis } = this._directionPropNames;\n\n if (!this[lengthDimension]) {\n this._initComponentSize();\n }\n\n this.Items.transition(axis).on(\n 'finish',\n this._transitionListener.bind(this)\n );\n\n super._init();\n }\n\n _initComponentSize() {\n const { lengthDimension } = this._directionPropNames;\n if (\n this?.parent.parent instanceof NavigationManager &&\n this?.parent.parent[lengthDimension]\n ) {\n // component is a child item in a NavigationManager (or subclass of NavigationManager)\n this[lengthDimension] = this.parent.parent[lengthDimension];\n } else {\n // find closest parent in render tree with lengthDimension property set(w for Row, h for Column)\n let parent = this.parent;\n while (parent && !parent[lengthDimension]) {\n parent = parent.parent;\n }\n this[lengthDimension] =\n (parent && parent[lengthDimension]) ||\n this.stage.h / this.stage.getRenderPrecision();\n }\n }\n\n _update() {\n this._updateLayout();\n }\n\n _updateLayout() {\n const { lengthDimension, crossDimension, crossAxis, innerCrossDimension } =\n this._directionPropNames;\n let nextPosition = 0;\n let maxCrossDimensionSize = 0;\n let maxInnerCrossDimensionSize = 0;\n const childrenToCenter = [];\n const loadingChildren = [];\n\n for (let i = 0; i < this.Items.children.length; i++) {\n const child = this.Items.children[i];\n\n if (child.requestEarlyUpdate) {\n const updateDidRun = child.requestEarlyUpdate();\n if (!updateDidRun && (child.w === 0 || child.h === 0)) {\n child._updateLayout && child._updateLayout();\n }\n }\n const childCrossDimensionSize = this._calcCrossDimensionSize(child);\n\n if (\n this.waitForDimensions &&\n (!childCrossDimensionSize || !child[lengthDimension])\n ) {\n loadingChildren.push(child);\n }\n\n maxCrossDimensionSize = max(\n maxCrossDimensionSize,\n childCrossDimensionSize\n );\n maxInnerCrossDimensionSize = max(\n maxInnerCrossDimensionSize,\n child[innerCrossDimension] || 0\n );\n\n this.updatePositionOnAxis(child, nextPosition);\n\n nextPosition += child[lengthDimension];\n\n if (i < this.Items.children.length - 1) {\n const extraItemSpacing = child.extraItemSpacing || 0;\n nextPosition += this.style.itemSpacing + extraItemSpacing;\n }\n\n if (child.centerInParent) {\n // if the child is another NavigationManager, check the cross dimension size of the item container\n const childCrossDimensionSize =\n (child.Items && child.Items[crossDimension]) || child[crossDimension];\n // only center the child if it is within the bounds of this NavigationManager\n // center based off innerCrossDimension in cases where elements with\n // innerCrossDimension exist in Items (ex. Tile with metadata)\n if (\n childCrossDimensionSize < this[crossDimension] ||\n !this.Items[innerCrossDimension]\n ) {\n childrenToCenter.push({ childIdx: i, childCrossDimensionSize });\n }\n } else {\n child[crossAxis] = 0;\n }\n }\n\n const itemChanged =\n this.Items[crossDimension] !== maxCrossDimensionSize ||\n this.Items[lengthDimension] !== nextPosition;\n\n if (this.waitForDimensions) {\n this.Items.alpha = loadingChildren.length ? 0.001 : 1;\n }\n\n this.Items.patch({\n [crossDimension]: maxCrossDimensionSize,\n [innerCrossDimension]:\n maxInnerCrossDimensionSize || maxCrossDimensionSize,\n [lengthDimension]: nextPosition + (this._totalAddedWidth || 0)\n });\n\n this._autoResize();\n this._centerItemsInParent(childrenToCenter);\n this._updateLastScrollIndex();\n\n if (itemChanged) {\n this._performRender();\n this.fireAncestors('$itemChanged');\n }\n }\n\n _centerItemsInParent(items) {\n const { crossDimension, crossAxis, innerCrossDimension } =\n this._directionPropNames;\n if (items.length) {\n const sizes = [\n this.Items[crossDimension],\n this.Items[innerCrossDimension]\n ];\n // If a subclass of NavigationManager only contains a row or column of items:\n // then also consider the h or w of that component when centering items .\n // Subclasses that add other components outside of the Items array (ex. TitleRow)\n // likely increase the h or w of the component and centering should be with respect to only the Items element.\n if (this.children.length === 1) {\n sizes.push(this[crossDimension]);\n }\n\n const crossDimensionSize = Math.max(...sizes);\n items.forEach(({ childIdx, childCrossDimensionSize }) => {\n this.Items.children[childIdx][crossAxis] =\n (crossDimensionSize - childCrossDimensionSize) / 2;\n });\n }\n }\n\n _autoResize() {\n if (this.autoResizeWidth) {\n this.w = this.Items.w;\n }\n if (this.autoResizeHeight) {\n this.h = this.Items.h;\n }\n }\n\n _updateLastScrollIndex() {\n const { axis, lengthDimension } = this._directionPropNames;\n if (this.alwaysScroll) {\n this._lastScrollIndex = this.Items.children.length - 1;\n return;\n }\n\n const itemPos = this._isRow ? this.itemPosX : this.itemPosY;\n const scrollOffset =\n (this.Items.children[this.scrollIndex] || {\n [axis]: 0\n })[axis] + itemPos;\n const lastChild = this.Items.childList.last;\n const endOfLastChild = lastChild\n ? this._calcAxisPosition(lastChild) + lastChild[lengthDimension]\n : 0;\n if (endOfLastChild > this[lengthDimension]) {\n let lastScrollIndex;\n for (let i = this.Items.children.length - 1; i >= 0; i--) {\n const childPosition = this._calcAxisPosition(this.Items.children[i]);\n const canScrollToChild =\n childPosition + this[lengthDimension] - scrollOffset > endOfLastChild;\n if (canScrollToChild) {\n lastScrollIndex = i;\n } else {\n break;\n }\n }\n this._lastScrollIndex = lastScrollIndex;\n return;\n }\n\n // TODO: This conditional originated in Column (prior to NavigationManager refactor).\n // What scenario would this ever be true?\n // Add a comment to describe it when that is identified.\n if (this._lastScrollIndex > this.items.length) {\n this._lastScrollIndex = this.items.length - 1;\n }\n }\n\n _calcCrossDimensionSize(comp) {\n if (this._isRow) {\n return getH(comp);\n }\n\n if (this._isColumn) {\n return getW(comp);\n }\n }\n\n _calcAxisPosition(comp) {\n if (this._isRow) {\n return getX(comp);\n }\n\n if (this._isColumn) {\n return getY(comp);\n }\n }\n\n _transitionListener() {\n this.shouldSmooth = false;\n this.transitionDone();\n }\n\n _withAfterUpdate(element) {\n return watchForUpdates({\n element,\n watchProps: [\n this._directionPropNames.crossAxis,\n 'w',\n 'h',\n 'innerW',\n 'innerH'\n ],\n sideEffect: this.queueRequestUpdate.bind(this)\n });\n }\n\n // can be overwritten\n _performRender() {}\n\n _appendItem(item, shouldSmoothOverride) {\n this.shouldSmooth = shouldSmoothOverride ?? false;\n item.parentFocus = this.hasFocus();\n item = this.Items.childList.a(item);\n\n const { crossDimension } = this._directionPropNames;\n // do not set a h/w if the item already has one defined\n // as this will trigger withThemeStyles's dimension \"setByUser\" flag\n if (!item[crossDimension]) {\n const itemCrossSize = this._isRow ? this.renderHeight : this.renderWidth;\n item[crossDimension] = item[crossDimension] || itemCrossSize;\n }\n\n item = this._withAfterUpdate(item);\n return item;\n }\n\n _appendLazyItem(item) {\n const { lengthDimension, axis } = this._directionPropNames;\n const lastChild = this._Items.children[this.items.length - 1];\n const nextPosition =\n lastChild[lengthDimension] +\n lastChild[axis] +\n (lastChild.extraItemSpacing || 0) +\n this.style.itemSpacing;\n\n const appended = this._appendItem(item, true);\n\n // Update w/o recalculating whole layout\n appended[axis] = nextPosition;\n this._Items[lengthDimension] += nextPosition + item[lengthDimension];\n }\n\n $itemChanged() {\n this.queueRequestUpdate();\n }\n\n appendItems(items = []) {\n this.shouldSmooth = false;\n\n if (this._lazyItems) {\n this._lazyItems.push(...items);\n return;\n }\n\n if (items.length > this.lazyUpCount + this.lazyUpCountBuffer) {\n this._lazyItems = items.splice(this.lazyUpCount + this.lazyUpCountBuffer);\n }\n items.forEach(item => this._appendItem(item));\n\n this.requestUpdate();\n this._refocus();\n }\n\n appendItemsAt(items = [], idx) {\n if (this._lazyItems && idx > this.items.length - 1) {\n const addAtIdx = idx - this.items.length;\n this._lazyItems.splice(addAtIdx, 0, ...items);\n return;\n }\n\n const { crossDimension, lengthDimension, innerLengthDimension } =\n this._directionPropNames;\n const addIndex = Number.isInteger(idx) ? idx : this.Items.children.length;\n this.shouldSmooth = false;\n this._lastAppendedIdx = addIndex;\n this._totalAddedLength = 0;\n\n items.forEach((item, itemIdx) => {\n const newItem = {\n ...this._withAfterUpdate(item),\n parentFocus: this.hasFocus()\n };\n // do not set a h/w if the item already has one defined\n // as this will trigger withThemeStyles's dimension \"setByUser\" flag\n if (!item[crossDimension]) {\n newItem[crossDimension] =\n item[crossDimension] || this.Items[crossDimension];\n }\n this.Items.childList.addAt(newItem, addIndex + itemIdx);\n const itemLength =\n item[lengthDimension] || item[innerLengthDimension] || 0;\n const extraItemSpacing = item.extraItemSpacing || 0;\n this._totalAddedLength +=\n itemLength + this.style.itemSpacing + extraItemSpacing;\n });\n\n if (this.selectedIndex >= this._lastAppendedIdx) {\n this._selectedPastAdded = true;\n this._selectedIndex += items.length;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n updatePositionOnAxis(item, position) {\n const { axis } = this._directionPropNames;\n this.applySmooth(\n item,\n { [axis]: position },\n { [axis]: [position, this.style.itemTransition] }\n );\n\n if (!this.shouldSmooth) {\n this._updateTransitionTarget(item, axis, position);\n }\n }\n\n scrollTo(index, duration = this.style.itemTransition.duration * 100) {\n if (index == undefined) {\n return;\n }\n\n if (duration === 0) {\n this.selectedIndex = index;\n return;\n }\n\n for (let i = 0; i !== Math.abs(this.selectedIndex - index); i++) {\n setTimeout(() => {\n this.selectedIndex > index ? this.selectPrevious() : this.selectNext();\n }, duration * i);\n }\n }\n\n // can be overridden\n transitionDone() {}\n\n shouldScrollLeft() {\n return this._isRow && this._canScrollBack;\n }\n\n shouldScrollRight() {\n return this._isRow && this._canScrollNext;\n }\n\n shouldScrollUp() {\n return this._isColumn && this._canScrollBack;\n }\n\n shouldScrollDown() {\n return this._isColumn && this._canScrollNext;\n }\n\n get _directionPropNames() {\n return directionPropNames[this.direction];\n }\n\n get _canScrollBack() {\n let shouldScroll = false;\n\n if (this._lastScrollIndex) {\n shouldScroll = this.selectedIndex < this._lastScrollIndex;\n if (\n this._prevLastScrollIndex !== undefined &&\n this._prevLastScrollIndex !== this._lastScrollIndex\n ) {\n shouldScroll = true;\n }\n } else {\n shouldScroll = this.selectedIndex >= this.scrollIndex;\n }\n\n const itemsStartCoord = this._isRow ? this._itemsX : this._itemsY;\n return (\n itemsStartCoord < (this._isRow ? this.itemPosX : this.itemPosY) &&\n shouldScroll\n );\n }\n\n get _canScrollNext() {\n const { axis, lengthDimension } = this._directionPropNames;\n const lastChild = this.Items.childList.last;\n let endOfItemsPosition;\n\n if (this._isRow) {\n endOfItemsPosition = Math.abs(this._itemsX - this.w);\n }\n if (this._isColumn) {\n endOfItemsPosition = Math.abs(this._itemsY - this.h);\n }\n\n return (\n this.selectedIndex > this.scrollIndex &&\n // end of Items container < end of last item\n endOfItemsPosition < lastChild[axis] + lastChild[lengthDimension]\n );\n }\n\n get _isColumn() {\n return this.direction === 'column';\n }\n\n get _isRow() {\n return this.direction === 'row';\n }\n\n get _itemsX() {\n return getX(this.Items);\n }\n\n get _itemsY() {\n return getY(this.Items);\n }\n\n _getAlwaysScroll() {\n return this._alwaysScroll !== undefined\n ? this._alwaysScroll\n : this.style.alwaysScroll;\n }\n\n _getNeverScroll() {\n if (this.alwaysScroll) {\n return false;\n }\n return this._neverScroll !== undefined\n ? this._neverScroll\n : this.style.neverScroll;\n }\n\n _setScrollIndex(index) {\n return index >= 0 ? index : 0;\n }\n\n _getScrollIndex() {\n return this._scrollIndex !== undefined\n ? this._scrollIndex\n : this.style.scrollIndex;\n }\n\n _setLazyUpCountBuffer(buffer) {\n if (buffer < 0) {\n console.warn(\n 'lazyUpCountBuffer must be greater than or equal to 0. Setting to 0.'\n );\n buffer = 0;\n }\n return buffer;\n }\n\n isFullyOnScreen({ offsetX = 0, offsetY = 0 } = {}) {\n // if the NavigationManager is nested in another Focus Manager\n // (like a Row inside of a Column),\n // the `isComponentOnScreen` method needs to account for\n // how much the Items container is moving as it scrolls\n const focusmanager = this.parent?.parent;\n if (focusmanager instanceof FocusManager) {\n offsetX += focusmanager.Items.transition('x').targetValue || 0;\n offsetY += focusmanager.Items.transition('y').targetValue || 0;\n }\n return super.isFullyOnScreen({ offsetX, offsetY });\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n itemSpacing: theme.layout.gutterX,\n scrollIndex: 0,\n alwaysScroll: false,\n neverScroll: false,\n itemTransition: {\n ...theme.animation.standardEntrance,\n duration: theme.animation.duration.fast\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport NavigationManager from '../NavigationManager';\nimport * as styles from './Row.styles';\nimport { getX } from '../../utils';\n\nexport default class Row extends NavigationManager {\n static get __componentName() {\n return 'Row';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n return {\n ...super._template(),\n direction: 'row'\n };\n }\n\n static get properties() {\n return [\n ...super.properties,\n 'lazyScroll',\n 'startLazyScrollIndex',\n 'stopLazyScrollIndex'\n ];\n }\n\n // Since this is a Row, scrolling should be done only when focused item (this.selected) is fully visible horizontally\n // as scrolling is happening along X axis. So, if we have a row that has height greater than screen's height, it still\n // can scroll. Method below the '_isComponentHorizontallyVisible' does not take \"full\" visibility into an account.\n // At the same time, 'isFullyOnScreen' method on the Base class or utils method checks that element is fully visible\n // both vertically and horizontally.\n // At a later time, we should investigate this further.\n _isOnScreenForScrolling(child) {\n if (!child) return false;\n\n const x = getX(child);\n if (!Number.isFinite(x)) return false;\n const itemsTransitionX = this.getTransitionXTargetValue();\n const rowX = this.core.renderContext.px;\n let itemX = rowX + itemsTransitionX + x;\n let xModifier;\n\n // This section here takes the difference between a possible target value\n // and subtracts it from the current child x. That value then is subtracted from the initial\n // itemX value calculated on the core renderContext px value to more accurately\n // calculate the item's location on screen when it's own x value will be updating.\n if (child.transition('x')) {\n xModifier = child.x - child.transition('x').targetValue;\n itemX = itemX - xModifier;\n }\n return itemX >= rowX && itemX + child.w <= rowX + this.w;\n }\n\n _shouldScroll() {\n const prevIndex = this.Items.childList.getIndex(this.prevSelected);\n if (\n this.alwaysScroll ||\n (this.lazyScroll &&\n (this.selectedIndex < this.startLazyScrollIndex ||\n this.selectedIndex > this.stopLazyScrollIndex ||\n (prevIndex < this.startLazyScrollIndex &&\n this.selectedIndex === this.startLazyScrollIndex) ||\n (prevIndex > this.stopLazyScrollIndex &&\n this.selectedIndex === this.stopLazyScrollIndex)))\n ) {\n return true;\n }\n\n let shouldScroll = this._selectedPastAdded;\n if (!shouldScroll && !this.neverScroll) {\n const isCompletelyOnScreen = this._isOnScreenForScrolling(this.selected);\n\n if (this.lazyScroll) {\n shouldScroll = !isCompletelyOnScreen;\n } else {\n const lastChild = this.Items.childList.last;\n shouldScroll =\n lastChild &&\n (this.shouldScrollLeft() ||\n this.shouldScrollRight() ||\n !isCompletelyOnScreen);\n }\n }\n return shouldScroll;\n }\n\n _getPrependedOffset() {\n this._selectedPastAdded = false;\n return this.Items.x - this._totalAddedWidth;\n }\n\n _getLazyScrollX(prev) {\n const prevIndex = this.Items.childList.getIndex(this.prevSelected);\n if (this._selectedPastAdded) {\n return this._getPrependedOffset();\n }\n\n if (this.selectedIndex <= this.startLazyScrollIndex) {\n // if navigating on items before start lazy scroll index, use normal scroll logic\n return this._getScrollX();\n } else if (\n this.selectedIndex >= this.stopLazyScrollIndex &&\n this.selectedIndex < prevIndex\n ) {\n // if navigating left on items after stop lazy scroll index\n const currItemsX = this.Items.x;\n\n return (\n currItemsX +\n (this.prevSelected.w +\n this.style.itemSpacing +\n (this.selected.extraItemSpacing || 0))\n );\n } else if (prev && this.selectedIndex > this.stopLazyScrollIndex) {\n // if navigating right on items after stop lazy scroll index\n const prevX = prev.x;\n\n return (\n -prevX +\n this.prevSelected.w +\n this.style.itemSpacing +\n (this.selected.extraItemSpacing || 0) +\n this.itemPosX\n );\n } else if (prev) {\n // otherwise, no start/stop indexes, perform normal lazy scroll\n let itemsContainerX;\n const prevIndex = this.Items.childList.getIndex(prev);\n\n const selectedX = this.selected.x;\n\n if (prevIndex === -1) {\n // No matches found in childList, start set x to 0\n return;\n }\n if (prevIndex > this.selectedIndex) {\n itemsContainerX = -selectedX + this.itemPosX;\n } else if (prevIndex < this.selectedIndex) {\n itemsContainerX = this.w - selectedX - this.selected.w;\n }\n\n return itemsContainerX;\n }\n // if no prev item or start/stop index, default to normal scroll logic\n return this._getScrollX();\n }\n\n _getScrollX() {\n if (this._selectedPastAdded) {\n return this._getPrependedOffset();\n }\n let itemsContainerX;\n let itemIndex = this.selectedIndex - this.scrollIndex;\n itemIndex = itemIndex < 0 ? 0 : itemIndex;\n if (itemIndex === this._firstFocusableIndex()) {\n itemIndex = 0;\n }\n\n if (this.Items.children[itemIndex]) {\n itemsContainerX = this.Items.children[itemIndex].transition('x')\n ? -this.Items.children[itemIndex].transition('x').targetValue +\n this.itemPosX\n : -this.Items.children[itemIndex].x + this.itemPosX;\n }\n\n return itemsContainerX;\n }\n\n _render(next, prev) {\n if (this.plinko && prev && prev.selected) {\n next.selectedIndex = this._getIndexOfItemNear(next, prev);\n }\n\n this._prevLastScrollIndex = this._lastScrollIndex;\n\n let itemsContainerX;\n if (!this.Items.children.length) {\n itemsContainerX = this.itemPosX;\n } else if (this._shouldScroll()) {\n itemsContainerX =\n this.lazyScroll && prev\n ? this._getLazyScrollX(prev)\n : this._getScrollX();\n }\n\n if (itemsContainerX !== undefined) {\n this.updatePositionOnAxis(this.Items, itemsContainerX);\n }\n\n this.onScreenEffect(this.onScreenItems);\n }\n\n _performRender() {\n this._render(this.selected, this.prevSelected);\n }\n\n _isOnScreen(child) {\n if (!child) return false;\n\n return this._isComponentHorizontallyVisible(child);\n }\n\n // can be overridden\n onScreenEffect() {}\n\n get _totalAddedWidth() {\n return this._totalAddedLength;\n }\n\n _getLazyScroll() {\n if (this.alwaysScroll) {\n return false;\n }\n return this._lazyScroll !== undefined\n ? this._lazyScroll\n : this.style.lazyScroll;\n }\n\n _getNeverScroll() {\n if (this.alwaysScroll || this.lazyScroll) {\n return false;\n }\n return this._neverScroll !== undefined\n ? this._neverScroll\n : this.style.neverScroll;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n offsetY: theme.spacer.xxs,\n offsetX: 0,\n textStyle: theme.typography.body1\n});\n\nexport const tone = theme => ({\n neutral: {\n textStyle: { textColor: theme.color.fillNeutral }\n },\n inverse: {\n textStyle: { textColor: theme.color.fillInverse }\n },\n brand: {\n textStyle: { textColor: theme.color.fillBrand }\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport * as styles from './TextBox.styles';\nimport Base from '../Base';\nimport InlineContent from '../InlineContent';\nimport Marquee from '../Marquee';\nimport context from '../../globals/context/index';\nimport utils from '../../utils';\n\n/**\n *\n * Get defaults directly from @lightningjs/core to ensure correct fallback values\n *\n */\nconst lightningTextDefaults = Object.entries(\n Object.getOwnPropertyDescriptors(lng.textures.TextTexture.prototype)\n).reduce((acc, [prop]) => {\n const value = lng.textures.TextTexture.prototype[prop];\n if (prop.startsWith('_') || ['undefined', 'function'].includes(typeof value))\n return acc;\n return {\n [prop]: value,\n ...acc\n };\n}, {});\n\nexport default class TextBox extends Base {\n static _template() {\n return {\n alpha: 0.001\n };\n }\n\n static get __componentName() {\n return 'TextBox';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get tags() {\n return ['InlineContent', 'Marquee', 'Text'];\n }\n\n static get properties() {\n return [\n ...InlineContent.properties,\n 'content',\n 'fixed',\n 'marquee',\n 'marqueeProps',\n 'hideOnLoad'\n ];\n }\n\n _setDimensions(w, h) {\n let width = w;\n let height = h;\n if (!this._isInlineContent) {\n width = this._Text.texture.getRenderWidth();\n height = this._Text.texture.getRenderHeight();\n }\n\n const sizeChanged = this.w !== width || this.h !== height;\n\n if (width && height && sizeChanged) {\n this.h = height;\n if (!this.fixed) {\n this.w = width;\n }\n\n // Position updates can produce flash of poorly positioned content, hide the element until measurements are made.\n if (!this.hideOnLoad && this.alpha < 1) {\n this.alpha = 1;\n }\n\n this._notifyAncestors();\n }\n }\n\n _setContent(content) {\n this._isInlineContent = false;\n if (Array.isArray(content) || utils.isMarkupString(content)) {\n this._isInlineContent = true;\n }\n if ('string' !== typeof content && !this._isInlineContent) {\n return '';\n }\n return content;\n }\n\n get title() {\n return this._content;\n }\n\n _notifyAncestors(w = this.w, h = this.h) {\n this.fireAncestors('$itemChanged');\n this.signal('textBoxChanged', { w, h });\n }\n\n _construct() {\n super._construct();\n this._marqueeContentListenerAttached = false;\n this._marqueeOverrideLoopX = undefined;\n this._resetMarqueePromise();\n }\n\n _update() {\n if (!this.content) {\n // If content is not defined hide the component, but do NOT set visibility\n // as a parent component may need to control that (i.e. Control Button)\n\n // guard to make sure _notifyAncestors is not called numerous times for components like Input\n if (this._Text || this._InlineContent) {\n this.w = this.h = 0;\n this._notifyAncestors(); // need to alert parents that the width and height are now 0\n // makes sure that elements are removed\n this._updateMarquee();\n this.patch({ Text: undefined, InlineContent: undefined });\n }\n\n return;\n }\n this._isInlineContent ? this._updateInlineContent() : this._updateText();\n this._updateMarquee();\n }\n\n _updateInlineContent() {\n this.patch({ Text: undefined });\n\n const inlineContentPatch = InlineContent.properties.reduce(\n (acc, prop) => {\n if (this[prop] != undefined) {\n acc[prop] = this[prop];\n }\n return acc;\n },\n // ensure all styles are passed down as well\n {\n style: {\n ...this.style,\n textStyle: this._textStyleSet\n }\n }\n );\n\n if (this._textStyleSet.wordWrapWidth) {\n inlineContentPatch.w = this._textStyleSet.wordWrapWidth;\n inlineContentPatch.rtt = true;\n }\n if (this._textStyleSet.maxLines) {\n inlineContentPatch.maxLines = this._textStyleSet.maxLines;\n }\n if (this._textStyleSet.maxLinesSuffix) {\n inlineContentPatch.maxLinesSuffix = this._textStyleSet.maxLinesSuffix;\n }\n\n this.patch({\n alpha: 1,\n InlineContent: {\n type: InlineContent,\n w: this.w,\n ...inlineContentPatch,\n signals: {\n loadedInlineContent: '_setDimensions'\n }\n }\n });\n }\n\n _updateText() {\n this.patch({ InlineContent: undefined });\n\n if (!this._Text) {\n this.patch({ Text: {} });\n this._Text.on('txLoaded', this._setDimensions.bind(this));\n }\n\n const fontStyle = this._textStyleSet;\n\n if (this._Text) {\n this._Text.patch({\n y: this.style.offsetY,\n x: this.style.offsetX,\n text: {\n ...lightningTextDefaults, // order matters this should always be first\n ...fontStyle\n }\n });\n }\n }\n\n // keep this out of the update lifecycle\n set marqueeOverrideLoopX(v) {\n this._marqueeOverrideLoopX = v;\n if (this._Marquee) this._Marquee.overrideLoopX = this._marqueeOverrideLoopX;\n this._resolveAwaitMarqueeOverrideX();\n }\n\n get marqueeOverrideLoopX() {\n return this._marqueeOverrideLoopX;\n }\n\n _resetMarqueePromise() {\n this._awaitMarqueeOverrideX = new Promise((resolve, reject) => {\n this._resolveAwaitMarqueeOverrideX = resolve;\n this._rejectAwaitMarqueeOverrideX = reject;\n });\n }\n\n _loadedMarqueeContent() {\n this.signal('willMarquee', this._Marquee);\n }\n\n _updateMarquee() {\n if (this._Marquee && !this.marquee) {\n this._toggleMarquee(this._contentTag);\n }\n\n if (this.marquee) {\n this._resetMarqueePromise();\n const marqueePatch = {\n ...this.marqueeProps,\n w: this._textStyleSet.wordWrapWidth || this.w,\n h: this.h,\n y: this.style.offsetY,\n x: this.style.offsetX,\n signals: {\n marqueeContentLoaded: '_loadedMarqueeContent'\n }\n };\n\n if (!this._Marquee) {\n marqueePatch.type = Marquee;\n }\n\n if (this._isInlineContent) {\n this._InlineContent.w = 0; // ensure we're copying the full, unwrapped inlineContent\n marqueePatch.title = undefined;\n marqueePatch.contentTexture = this._contentTag.getTexture();\n marqueePatch.w = this._textStyleSet.wordWrapWidth || this.w;\n } else {\n marqueePatch.contentTexture = undefined;\n marqueePatch.title = {\n text: this._contentTag.text.text,\n ...this._textStyleSet,\n wordWrapWidth: 0, // ensures that the text will marquee and not wrap\n maxLines: 1\n };\n }\n\n this.patch({\n Marquee: marqueePatch\n });\n if (!this._marqueeContentListenerAttached) {\n this._marqueeContentListenerAttached = true;\n }\n if ('undefined' !== typeof this._marqueeOverrideLoopX) {\n this._awaitMarqueeOverrideX.then(() => {\n this._toggleMarquee(this._contentTag);\n });\n } else {\n this._toggleMarquee(this._contentTag);\n }\n }\n }\n\n _getMarqueeProps() {\n return this._marqueeProps ?? {};\n }\n\n get _textStyleSet() {\n const fontStyle = {\n ...this.theme.typography.body1,\n ...(null !== this.style.textStyle &&\n 'object' === typeof this.style.textStyle &&\n Object.keys(this.style.textStyle)\n ? this.style.textStyle\n : this.theme.typography[this.style.textStyle])\n };\n\n this.constructor.properties.forEach(prop => {\n if ('fontStyle' !== prop && 'undefined' !== typeof this[`_${prop}`]) {\n const key = 'content' === prop ? 'text' : prop;\n fontStyle[key] = this[`_${prop}`];\n }\n });\n\n if (\n this.w &&\n !this._isInlineContent &&\n !this.style.textStyle.wordWrapWidth &&\n this.fixed\n ) {\n fontStyle.wordWrapWidth = this.w;\n }\n\n return fontStyle;\n }\n\n get _contentTag() {\n return this._isInlineContent ? this._InlineContent : this._Text;\n }\n\n _toggleMarquee(contentTag) {\n // do not just return if there is no contentTag, we may still need to alpha the Marquee\n if (this.marquee) {\n if (contentTag) {\n contentTag.alpha = 0.001;\n }\n if (this._Marquee) {\n this._Marquee.alpha = 1;\n this._Marquee.startScrolling();\n }\n } else {\n if (contentTag) {\n contentTag.alpha = 1;\n }\n if (this._Marquee) {\n this._Marquee.alpha = 0.001;\n this._Marquee.stopScrolling();\n }\n }\n }\n\n toggleMarquee() {\n this._toggleMarquee(this._contentTag);\n }\n\n get announce() {\n return (\n this._announce ||\n (this._isInlineContent && this._InlineContent\n ? this._InlineContent.announce\n : this.content)\n );\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n set smooth(v) {\n context.warn(\n 'warning: value smoothing is known to cause bugs with the TextBox - patch updated values instead.'\n );\n super.smooth = v;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport logger from './logger';\nclass Metrics {\n constructor() {\n this._keyMetricsCallback = undefined;\n }\n\n get keyMetricsCallback() {\n return this._keyMetricsCallback;\n }\n\n set keyMetricsCallback(value) {\n if (-1 < ['undefined', 'function'].indexOf(typeof value)) {\n this._keyMetricsCallback = value;\n return;\n }\n logger.warn(\n `context keyMetricsCallback expected a function. Received ${typeof value}`\n );\n }\n}\n\nconst metricsInstance = new Metrics();\n\nexport { metricsInstance as default, Metrics };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\n\nconst eventEmitterInstance = new lng.EventEmitter();\n\nexport default eventEmitterInstance;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport default {\n name: 'Base Lightning TV',\n alpha: {\n primary: 1,\n secondary: 0.7,\n tertiary: 0.1,\n inactive: 0.5,\n full: 1,\n none: 0,\n alpha1: 0.1,\n alpha2: 0.3,\n alpha3: 0.5,\n alpha4: 0.7,\n alpha5: 0.9\n },\n animation: {\n duration: {\n none: 0,\n xfast: 0.1,\n fast: 0.25,\n normal: 0.5,\n slow: 0.75,\n xslow: 0.9\n },\n delay: {\n none: 0,\n xfast: 0.01,\n fast: 0.025,\n normal: 0.05,\n slow: 0.075,\n xslow: 0.09\n },\n expressive: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n expressiveEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n expressiveExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standard: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standardEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standardExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utility: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utilityEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utilityExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n }\n },\n asset: {\n arrowLeft:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAi0lEQVRIDWNgGAWjIfD//38JID5Fk5AAGqwKxPeA+D/VLQCaaQLEr0CGgwBVLQCa5wbEn0EGwwDVLAAaGA3Ev2AGw2iqWAA0rBiI/8EMRaYptgBoWDeygehsci1gIlcjWfqArqZdEMFcBLSEdpGMZAntkimSJbTLaEiW0K6oQLKEdoUdzJJRemiHAAD4n+yzPWCs7QAAAABJRU5ErkJggg==',\n arrowRight:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAg0lEQVRIDWNgGAWjIYArBP7//38KiCVwyVMsDjQcBO4BsSrFhmEzAGw8hHgFpEywqaFIDMkCEPMzELtRZCC6ZjQLQNxfQByNro5sPhYLQEL/gLiYbEORNeKwACbcDVPLBGMMOhrmVDSapkFE00imaTKlaUajaVFB28Ju0CXrUQfhDAEAEgHss6NhpLQAAAAASUVORK5CYII=',\n backspaceOutline:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC',\n check:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgBvdPdDcIgEAfwoy8Nb45QN3AGF2s36Ahu4gpuIDoBfSgfpdoTlCbEWEMh6T8hFzjyg5AAkBHOcQe5UWqspRx435sDpMYj6IYQwwVSEiJ2MKVUBWuzLSLl2HL+uxmNCGFO8yaL7RHxve6qRZoAuS4hxac8735elWVx7jrtMKL1o0Gcat9jhExHSukN/kUIFZ7MpDRtzE1isDRkAUtDvrA8ZI597FUf8gWH9P0b4gko9wAAAABJRU5ErkJggg=='\n },\n color: {\n white: ['#ffffff', 1],\n black: ['#000000', 1],\n grey: ['#929096', 1],\n red: ['#e74c3c', 1],\n orange: ['#dc7633', 1],\n yellow: ['#f7dc6f', 1],\n green: ['#2Ecc71', 1],\n blue: ['#93a9fd', 1],\n purple: ['#663399', 1],\n palette: {\n 'grey-05': ['#f8f7fa', 1],\n 'grey-40': ['#929096', 1],\n 'grey-70': ['#48474b', 1],\n 'grey-90': ['#181819', 1],\n 'blue-20': ['#becffe', 1],\n 'blue-40': ['#93a9fd', 1],\n 'blue-90': ['#000033', 1]\n },\n material: ['#181819', 1],\n materialBrand: ['#000033', 1],\n overlay: ['#181819', 0.7],\n textNeutral: ['#f8f7fa', 1],\n textNeutralSecondary: ['#f8f7fa', 0.7],\n textNeutralTertiary: ['#f8f7fa', 0.1],\n textNeutralDisabled: ['#f8f7fa', 0.5],\n textInverse: ['#181819', 1],\n textInverseSecondary: ['#181819', 0.7],\n textInverseTertiary: ['#181819', 0.1],\n textInverseDisabled: ['#181819', 0.5],\n textBrand: ['#93a9fd', 1],\n textBrandSecondary: ['#93a9fd', 0.7],\n textBrandTertiary: ['#93a9fd', 0.1],\n textBrandDisabled: ['#93a9fd', 0.5],\n textPositive: ['#2Ecc71', 1],\n textNegative: ['#e74c3c', 1],\n textInfo: ['#93a9fd', 1],\n textCaution: ['#dc7633', 1],\n fillTransparent: ['#ffffff', 0],\n fillNeutral: ['#f8f7fa', 1],\n fillNeutralSecondary: ['#f8f7fa', 0.7],\n fillNeutralTertiary: ['#f8f7fa', 0.1],\n fillNeutralDisabled: ['#f8f7fa', 0.5],\n fillInverse: ['#181819', 1],\n fillInverseSecondary: ['#181819', 0.7],\n fillInverseTertiary: ['#181819', 0.1],\n fillInverseDisabled: ['#181819', 0.5],\n fillBrand: ['#93a9fd', 1],\n fillBrandSecondary: ['#93a9fd', 0.7],\n fillBrandTertiary: ['#93a9fd', 0.1],\n fillBrandDisabled: ['#93a9fd', 0.5],\n fillPositive: ['#2Ecc71', 1],\n fillNegative: ['#e74c3c', 1],\n fillInfo: ['#93a9fd', 1],\n fillCaution: ['#dc7633', 1],\n strokeNeutral: ['#f8f7fa', 1],\n strokeNeutralSecondary: ['#f8f7fa', 0.7],\n strokeNeutralTertiary: ['#f8f7fa', 0.1],\n strokeNeutralDisabled: ['#f8f7fa', 0.5],\n strokeInverse: ['#181819', 1],\n strokeInverseSecondary: ['#181819', 0.7],\n strokeInverseTertiary: ['#181819', 0.1],\n strokeInverseDisabled: ['#181819', 0.5],\n strokeBrand: ['#93a9fd', 1],\n strokeBrandSecondary: ['#93a9fd', 0.7],\n strokeBrandTertiary: ['#93a9fd', 0.1],\n strokeBrandDisabled: ['#93a9fd', 0.5],\n strokePositive: ['#2Ecc71', 1],\n strokeNegative: ['#e74c3c', 1],\n strokeInfo: ['#93a9fd', 1],\n strokeCaution: ['#dc7633', 1],\n interactiveNeutral: ['#ffffff', 0.1],\n interactiveNeutralFocus: ['#ffffff', 1],\n interactiveNeutralFocusSoft: ['#ffffff', 0.1],\n interactiveInverse: ['#48474b', undefined],\n interactiveInverseFocus: ['#48474b', 1],\n interactiveInverseFocusSoft: ['#48474b', 0.1],\n interactiveBrand: ['#becffe', 0.1],\n interactiveBrandFocus: ['#becffe', 1],\n interactiveBrandFocusSoft: ['#becffe', 0.1],\n shadowNeutral: ['#000000', 0.7],\n shadowNeutralFocus: ['#000000', 0.7],\n shadowNeutralFocusSoft: ['#000000', 0.7],\n shadowNeutralText: ['#000000', 1],\n shadowInverse: ['#000000', 0.7],\n shadowInverseFocus: ['#000000', 0.7],\n shadowInverseFocusSoft: ['#000000', 0.7],\n shadowInverseText: ['#000000', 1],\n shadowBrand: ['#000000', 0.7],\n shadowBrandFocus: ['#000000', 0.7],\n shadowBrandFocusSoft: ['#000000', 0.7],\n shadowBrandText: ['#000000', 1]\n },\n componentConfig: {\n Keyboard: {\n style: {\n keyProps: {\n delete: {\n title: null,\n icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC'\n }\n }\n }\n }\n },\n font: [],\n layout: {\n columnCount: 10,\n focusScale: 1.2,\n gutterX: 20,\n gutterY: 20,\n marginX: 150,\n marginY: 150,\n safe: 50,\n screenW: 1920,\n screenH: 1080\n },\n radius: { none: 0, xs: 2, sm: 4, md: 8, lg: 16, xl: 24 },\n spacer: {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 8,\n md: 10,\n lg: 20,\n xl: 30,\n xxl: 40,\n xxxl: 50\n },\n stroke: { none: 0, sm: 2, md: 4, lg: 6, xl: 8 },\n typography: {\n display1: {\n fontFamily: 'Arial',\n fontSize: 75,\n lineHeight: 85,\n fontStyle: '500',\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n display2: {\n fontFamily: 'Arial',\n fontSize: 50,\n lineHeight: 60,\n fontStyle: '500',\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline1: {\n fontFamily: 'Arial',\n fontSize: 35,\n fontStyle: '500',\n lineHeight: 48,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline2: {\n fontFamily: 'Arial',\n fontSize: 30,\n fontStyle: '500',\n lineHeight: 40,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline3: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '500',\n lineHeight: 36,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body1: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '300',\n lineHeight: 40,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body2: {\n fontFamily: 'Arial',\n fontSize: 22,\n fontStyle: '300',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body3: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '300',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n button1: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n button2: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n callout1: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n caption1: {\n fontFamily: 'Arial',\n fontSize: 15,\n fontStyle: '500',\n lineHeight: 24,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n tag1: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 24,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n footnote1: {\n fontFamily: 'Arial',\n fontSize: 22,\n fontStyle: '300',\n lineHeight: 30,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n }\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport logger from './logger';\n\nlet customFontFaces = [];\n\n/**\n * Function to get a list of all custom fonts that have been loaded using the FontFace Web API from the theme\n * @return {Array}\n */\nexport function getCustomFontFaces() {\n return customFontFaces;\n}\n\n/**\n * Function to load all the fonts from the theme\n */\nexport const fontLoader = fonts => {\n const promises = [];\n // Loop through all fonts in the array and attempt to load them using the FontFace Web API\n for (let i = 0; i < fonts.length; i++) {\n const { family, src, descriptors } = fonts[i];\n // If url(s) are specified format them according to the spec https://developer.mozilla.org/en-US/docs/Web/API/FontFace\n const fontSrc =\n src && Array.isArray(src) && src.length\n ? // loop through each string and format it in a way that's readable for the FontFace API\n src\n .map(url => {\n // if the url is a local font then the src is just the string provided in the array\n // otherwise, format the url string like url()\n return url.substr(0, 5) === 'local' ? url : `url(${url})`; // Local system fonts are supported by passing a string starting with local. ex local(Impact)\n })\n .join(',')\n : 'url(' + src + ')';\n const fontFace = new FontFace(family, fontSrc, descriptors || {});\n logger.info('Loading font', family);\n document.fonts.add(fontFace);\n // Push all pending promises into an array, theme manager will wait on everything to resolve before triggering another update cycle\n promises.push(\n new Promise(resolve => {\n fontFace\n .load()\n .then(() => {\n customFontFaces.push(fontFace);\n resolve(family);\n })\n .catch(err => {\n resolve(new Error(`${family}: ${err.message}`)); // Even if a font fails to load resolve it with an error so the theme doesn't fail to update all other values\n });\n })\n );\n }\n return Promise.all(promises).then(fontsLoaded => {\n // After the promise has resolved log the appropriate success and error messages\n const loaded = fontsLoaded\n .filter(font => !(font instanceof Error))\n .join(', ');\n\n if (loaded) {\n logger.log(`Fonts loaded: ${loaded}`);\n }\n\n const failed = fontsLoaded\n .filter(font => font instanceof Error)\n .map(item => item.message)\n .join(', ');\n\n if (failed) {\n logger.error(`Unable to load fonts: ${failed}`);\n }\n });\n};\n\n/**\n * Async function to remove all the fonts loaded by the theme. Useful if a theme is switched at runtime\n */\nexport const cleanupFonts = async fonts => {\n if (document.fonts && 'delete' in document.fonts) {\n if (!customFontFaces.length) return;\n customFontFaces = customFontFaces.filter(fontFace => {\n if (!fonts.find(font => font.family === fontFace.family)) {\n logger.info('Removing font', fontFace.family);\n document.fonts.delete(fontFace);\n return false;\n } else {\n return fontFace;\n }\n });\n } else {\n logger.info('Unable to remove manually-added fonts');\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const THEME_KEY_REPLACER = {\n fontFamily: 'fontFace'\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n clone,\n getValFromObjPath,\n getHexColor,\n getValidColor\n} from '../../utils/index';\nimport baseTheme from '@lightningjs/ui-components-theme-base';\nimport logger from './logger';\nimport events from './events';\nimport { fontLoader, cleanupFonts } from './fonts';\nimport { THEME_KEY_REPLACER } from './constants';\n\nconst merge = {\n all: objArray => {\n let result = {};\n for (let i = 0; i < objArray.length; i++) {\n result = clone(result, objArray[i]);\n }\n return result;\n }\n};\n\nconst base64Cache = [];\n\nconst isSubTheme = themeName => 'subTheme' === themeName.slice(0, 8);\n\n/**\n * Extracts the MIME type from a Data URI.\n *\n * @param {string} dataUri - The Data URI string.\n * @returns {string|null} The extracted MIME type, or null if not found.\n */\nfunction getMimeTypeFromDataUri(dataUri) {\n const matches = dataUri.match(/^data:(.*?);base64,/);\n if (matches && matches.length === 2) {\n return matches[1];\n }\n return null;\n}\n\n/**\n * Checks if a string represents a Base64-encoded image and extracts the MIME type.\n *\n * @param {string} str - The string to check.\n * @returns {{ isImage: boolean, mimeType: string|null }} An object indicating whether the string is an image and the extracted MIME type.\n */\nfunction checkBase64EncodedImage(str) {\n const regex = /^data:image\\/(jpeg|jpg|png|gif);base64,/;\n const isImage = regex.test(str);\n const mimeType = isImage ? getMimeTypeFromDataUri(str.match(regex)[0]) : null;\n\n return {\n isImage,\n mimeType\n };\n}\n\n/**\n * Converts a Base64-encoded image to a Blob URL.\n * Note: Make sure to handle potential memory leaks caused by the browser's image caching.\n *\n * @param {string} base64String - The Base64-encoded image string.\n * @param {string} mimeType - The MIME type of the image.\n * @returns {string|null} The Blob URL representing the converted image, or null if conversion fails.\n */\nfunction base64ToBlobURL(base64String, mimeType) {\n const byteCharacters = atob(\n base64String.substring(base64String.indexOf(',') + 1)\n );\n const byteArrays = [];\n\n try {\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\n const slice = byteCharacters.slice(offset, offset + 512);\n const byteNumbers = new Array(slice.length);\n\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: mimeType });\n const blobURL = URL.createObjectURL(blob);\n\n return blobURL;\n } catch (error) {\n logger.info('Unable to convert base64 image to URL');\n return null;\n }\n}\n\nclass ThemeManager {\n constructor() {\n this._cache = new Map();\n if (typeof window === 'undefined') return;\n if (!window.LUI) {\n window.LUI = {};\n }\n if (!window.LUI.themeManagerInstances) {\n window.LUI.themeManagerInstances = [{ themeManager: this, events }];\n } else {\n window.LUI.themeManagerInstances.push({ themeManager: this, events });\n }\n }\n\n // Handle separate instances of context across the application and keep them in sync\n _setCache(key, payload) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ themeManager }) => {\n if (themeManager) themeManager._cache.set(key, payload);\n });\n }\n\n _deleteCache(key) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ themeManager }) => {\n if (themeManager) themeManager._cache.delete(key);\n });\n }\n\n _emit(key, payload) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ events }) => {\n events.emit(key, payload);\n });\n }\n\n getTheme() {\n if (this._cache.has('theme')) {\n return this._cache.get('theme');\n }\n\n const theme = this._processTheme.call(this);\n this._setCache('theme', theme);\n return theme;\n }\n\n async setTheme(themeConfig) {\n let value;\n if (Array.isArray(themeConfig)) {\n value = merge.all(themeConfig);\n } else {\n value = themeConfig;\n }\n\n if ('object' !== typeof value || null === value) {\n logger.warn(`context theme expected an object. Received ${typeof value}`);\n return;\n }\n\n this._clearCache();\n const theme = this._processTheme.call(this, [value], value.extensions);\n this._setCache('theme', theme);\n await cleanupFonts(theme.font);\n if (theme.font && theme.font.length) {\n await this._loadFonts(theme.font);\n }\n this._refreshSubThemes();\n this._emit('themeExtensionsUpdate');\n this._emit('themeUpdate'); // Notify components that an update cycle is required\n return theme;\n }\n\n getSubTheme(subThemeName) {\n if (this._cache.has(`subTheme${subThemeName}`)) {\n return this._cache.get(`subTheme${subThemeName}`).result;\n }\n return;\n }\n\n async setSubTheme(subThemeName, value, triggerUpdate = true) {\n if (!subThemeName) {\n logger.warn('Sub theme name not specified');\n return;\n }\n if ('string' !== typeof subThemeName) {\n logger.warn(\n `Sub theme name must be a string. Received an ${typeof subThemeName}`\n );\n return;\n }\n if ('object' !== typeof value || !Object.keys(value).length) {\n logger.warn(\n `Could not set subTheme ${subThemeName}, value should be an object with properties. Received an ${typeof value}`\n );\n return;\n }\n const globalTheme = this.getTheme();\n const subTheme = this._processTheme.call(this, [globalTheme, value]);\n if (subTheme.font && subTheme.font.length) {\n await this._loadFonts(subTheme.font);\n }\n this._setCache(`subTheme${subThemeName}`, {\n original: value,\n result: subTheme\n });\n\n if (triggerUpdate) this._emit(`themeUpdate${subThemeName}`);\n return subTheme;\n }\n\n _refreshSubThemes() {\n // Triggered when global theme is updated\n [...this._cache.keys()].forEach(key => {\n if ('string' === typeof key && isSubTheme(key)) {\n const cache = this._cache.get(key);\n if (cache.original)\n this.updateSubTheme(key.replace(/^subTheme/, ''), cache.original);\n }\n });\n }\n\n async _loadFonts(fontArray) {\n try {\n await fontLoader(fontArray);\n } catch (err) {\n logger.error(`Unable to load font: ${err}`);\n }\n }\n\n /**\n * Merge values with current theme\n */\n async updateTheme(themeConfig) {\n let value;\n if (Array.isArray(themeConfig)) {\n value = merge.all(themeConfig);\n } else {\n value = themeConfig;\n }\n\n let currentTheme = {};\n\n if (this._cache.has('theme')) {\n currentTheme = this._cache.get('theme');\n }\n this._clearCache();\n const theme = this._processTheme.call(\n this,\n [currentTheme, value],\n value.extensions || currentTheme.extensions\n );\n this._setCache('theme', theme);\n if (theme.font && theme.font.length) {\n await this._loadFonts(theme.font);\n }\n this._refreshSubThemes();\n if (value.extensions) this._emit('themeExtensionsUpdate');\n this._emit('themeUpdate'); // Notify components that an update cycle is required\n return theme;\n }\n\n _clearCache() {\n // Clean up any base64 image that were converted to blobs using createObjectURL\n base64Cache.filter(image => {\n if (window.URL && typeof window.URL.revokeObjectURL === 'function')\n URL.revokeObjectURL(image);\n return false;\n });\n\n this._cache.forEach((value, key) => {\n if ('string' !== typeof key || !isSubTheme(key)) {\n this._deleteCache(key);\n }\n });\n // Regenerate sub themes\n this._cache.forEach((value, key) => {\n if ('string' === typeof key && isSubTheme(key)) {\n this.setSubTheme(key.replace('subTheme', ''), value.original, false); // Dont trigger the update...the parent theme will trigger\n }\n });\n }\n\n async updateSubTheme(subThemeName, value, triggerUpdate = true) {\n if (!subThemeName) {\n logger.warn('Sub theme name not specified');\n return;\n }\n if ('object' !== typeof value || !Object.keys(value).length) {\n logger.warn(\n `Could not update subTheme ${subThemeName} due to invalid value`\n );\n return;\n }\n\n const globalTheme = this.getTheme();\n let currentTheme = {};\n\n if (this._cache.has(`subTheme${subThemeName}`)) {\n currentTheme = this._cache.get(`subTheme${subThemeName}`).original;\n }\n\n const subTheme = this._processTheme.call(this, [\n globalTheme,\n currentTheme,\n value\n ]);\n\n if (subTheme.font && subTheme.font.length) {\n await this._loadFonts(subTheme.font);\n }\n\n this._setCache(`subTheme${subThemeName}`, {\n original: clone(currentTheme, value),\n result: subTheme\n });\n\n if (triggerUpdate) this._emit(`themeUpdate${subThemeName}`);\n\n return subTheme;\n }\n\n removeSubTheme(subThemeName) {\n if (this._cache.has(`subTheme${subThemeName}`)) {\n this._deleteCache(`subTheme${subThemeName}`);\n }\n this._emit(`themeUpdate${subThemeName}`);\n }\n\n _getComponentUUID(id) {\n return `componentStyle${id}`;\n }\n\n _processTheme(themeArray = [], extensions) {\n if (!Array.isArray(themeArray)) {\n throw new Error(\n `context processTheme expected an array. Received ${typeof themeArray}`\n );\n }\n\n const theme = merge.all([baseTheme, ...themeArray]);\n\n // Parse all colors in theme\n const themeFunctions = {};\n const themeString = JSON.stringify(theme, (key, originalValue) => {\n let value = originalValue;\n // Replacer\n if (value && typeof value === 'object') {\n const replacement = originalValue;\n for (var k in value) {\n if (Object.hasOwnProperty.call(value, k) && THEME_KEY_REPLACER[k]) {\n replacement[k && THEME_KEY_REPLACER[k]] = value[k];\n delete replacement[k]; // Removes the original key that was replaced. example: fontFamily is replaced by fontFace so fontFamily is removed from the theme\n }\n }\n\n value = replacement;\n }\n // Base64 encoded values can cause memory leaks convert to an image\n const { isImage, mimeType } = checkBase64EncodedImage(value);\n if (\n window.URL &&\n typeof window.URL.createObjectURL === 'function' &&\n isImage\n ) {\n // base64Cache\n try {\n const blobURL = base64ToBlobURL(value, mimeType);\n base64Cache.push(blobURL);\n return blobURL;\n } catch (error) {\n return value;\n }\n }\n\n if (\n Array.isArray(value) &&\n 2 === value.length &&\n !value[0].targetComponent &&\n value[0].length &&\n typeof value[0] === 'string' &&\n value[0].substr(0, 1) === '#' &&\n typeof value[1] === 'number'\n ) {\n // Better check to filter out extensions?\n return getHexColor(value[0], value[1]);\n } else if (\n 'extensions' === key ||\n 'function' === typeof value ||\n ('object' === typeof value &&\n value !== null &&\n 'Object' !== value.constructor.name &&\n !Array.isArray(value))\n ) {\n // Functions will not stringify, they will be merged after\n themeFunctions[key] = value;\n return;\n } else if ('string' === typeof value && value.includes('theme.')) {\n const themeValue = getValFromObjPath({ theme }, value);\n if (themeValue) {\n return themeValue;\n } else {\n return value;\n }\n } else {\n const validColor = getValidColor(value);\n if (validColor) {\n return validColor;\n }\n return value;\n }\n });\n\n return { ...JSON.parse(themeString), ...themeFunctions, extensions };\n }\n}\n\nconst themeManagerInstance = new ThemeManager();\n\nexport { themeManagerInstance as default, ThemeManager };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { capitalizeFirstLetter } from '../../utils';\nimport logger from './logger';\nimport metrics from './metrics';\nimport events from './events';\nimport themeManager from './theme-manager';\n\n/**\n * Class to create a context object. Context is a singleton that will hold settings and logic to be used across all Lightning UI components.\n */\n\n/**\n * @typedef ThemeObject\n * @type {any}\n */\nclass Context {\n /**\n * @type {ThemeObject}\n */\n get theme() {\n return themeManager.getTheme();\n }\n /**\n * theme cannot be set directly\n */\n set theme(value) {\n logger.warn(\n 'Context.theme must be set using context.setTheme or context.updateTheme'\n );\n }\n /**\n * @type {object}\n */\n get keyMetricsCallback() {\n return metrics.keyMetricsCallback;\n }\n /**\n * keyMetricsCallback cannot be set directly\n */\n set keyMetricsCallback(value) {\n logger.warn(\n 'Context.keyMetricsCallback must be set using context.setKeyMetricsCallback'\n );\n }\n /**\n * @type {boolean}\n */\n get debug() {\n return logger.debug;\n }\n\n set debug(value) {\n logger.debug = value;\n }\n /**\n * @type {function}\n * @param {string} name\n * @param {function} callback\n */\n on() {\n return events.on(...arguments);\n }\n /**\n * @type {function}\n */\n off() {\n return events.off(...arguments);\n }\n /**\n * @type {function}\n * @param {string} name\n * @param {string|object|number|boolean} payload\n */\n emit() {\n return events.emit(...arguments);\n }\n /**\n * @property {function}\n * @return {void}\n */\n log(...args) {\n logger.log(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n info(...args) {\n logger.info(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n warn(...args) {\n logger.warn(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n error(...args) {\n logger.error(args);\n }\n /**\n * @property {object|array}\n * @return {object}\n */\n setTheme(value) {\n return themeManager.setTheme(value);\n }\n /**\n * @property {object|array}}\n * @return {object}\n */\n updateTheme(value) {\n return themeManager.updateTheme(value);\n }\n /**\n * @property {string}\n * @return {object}\n */\n getSubTheme(subThemeName) {\n return themeManager.getSubTheme(subThemeName);\n }\n /**\n * Expects an object where properties are child theme names. Values will be merged with the global themeManager.\n * @property {object}\n */\n setSubThemes(subThemesObj) {\n if ('object' !== typeof subThemesObj) {\n logger.warn('subThemes must be an object');\n return;\n }\n for (const subTheme in subThemesObj) {\n themeManager.setSubTheme(subTheme, subThemesObj[subTheme]);\n }\n }\n /**\n * @property {string}\n * @return {object}\n */\n setSubTheme(subThemeName, value) {\n return themeManager.setSubTheme(subThemeName, value);\n }\n /**\n * @property {string}\n * @return {object}\n */\n updateSubTheme(subThemeName, value) {\n return themeManager.updateSubTheme(subThemeName, value);\n }\n /**\n * @property {string}\n * @return {void}\n */\n removeSubTheme(subThemeName) {\n themeManager.removeSubTheme(subThemeName);\n }\n /**\n * @property {function}\n * @return {void}\n */\n setLogCallback(value) {\n logger.logCallback = value;\n }\n /**\n * @property {function}\n * @return {void}\n */\n setKeyMetricsCallback(value) {\n metrics.keyMetricsCallback = value;\n }\n /**\n * @property {function}\n * @return {object}\n */\n config(config = {}) {\n const configKeys = Object.keys(config);\n for (let i = 0; i < configKeys.length; i++) {\n const setMethod = this['set' + capitalizeFirstLetter(configKeys[i])];\n if (setMethod) {\n setMethod(config[configKeys[i]]);\n }\n }\n return this;\n }\n}\n\nconst contextInstance = new Context();\n\nexport { contextInstance as default, Context };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nclass Logger {\n constructor() {\n this._logCallback = undefined;\n this._prefix = 'LightningUI';\n this._debug = false;\n }\n\n get debug() {\n return this._debug;\n }\n\n set debug(value) {\n this._debug = Boolean(value);\n }\n\n get logCallback() {\n return this._logCallback;\n }\n\n set logCallback(value) {\n if ('function' !== typeof value) {\n this.warn(\n `logCallback value must be a function, instead received ${typeof value}`\n );\n return;\n }\n this._logCallback = value;\n }\n\n log(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'log', payload: args });\n }\n if (this.debug) {\n // eslint-disable-next-line\n console.log(this._prefix, ...args);\n }\n }\n\n info(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'info', payload: args });\n }\n if (this.debug) {\n // eslint-disable-next-line\n console.info(this._prefix, ...args);\n }\n }\n\n warn(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'warn', payload: args });\n }\n if (this.debug) {\n console.warn(this._prefix, ...args);\n }\n }\n\n error(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'error', payload: args });\n }\n if (this.debug) {\n console.error(this._prefix, ...args);\n }\n }\n}\n\nconst loggerInstance = new Logger();\n\nexport { loggerInstance as default, Logger };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../context';\n\nclass GlobalUpdateManager {\n constructor() {\n this._updateThemeSet = new Set();\n this._requestUpdateSet = new Set();\n this._timeout = null;\n this._runUpdatesTimeoutHandler = this._runUpdatesTimeoutHandler.bind(this);\n }\n\n _runUpdatesTimeoutHandler() {\n this._timeout = null;\n this._updateThemeSet.forEach(component => {\n try {\n component._updateThemeComponent();\n } catch (e) {\n context.error('Error updating component themes', e);\n }\n });\n this._updateThemeSet.clear();\n\n this._requestUpdateSet.forEach(component => {\n try {\n component.requestUpdate();\n } catch (e) {\n context.error('Error updating component', e);\n }\n });\n this._requestUpdateSet.clear();\n }\n\n /**\n * Force all updates now\n *\n * @returns\n */\n flush() {\n // If there is no timeout then there is definately nothing to update\n if (!this._timeout) return;\n clearTimeout(this._timeout);\n this._runUpdatesTimeoutHandler();\n }\n\n addUpdateTheme(component) {\n this._updateThemeSet.add(component);\n if (!this._timeout) {\n this._timeout = setTimeout(this._runUpdatesTimeoutHandler, 0);\n }\n }\n\n deleteUpdateTheme(component) {\n // Don't bother checking and clearing the timeout if one is active\n // Not worth the overhead. More than likely it needs to run again anyway.\n this._updateThemeSet.delete(component);\n }\n\n addRequestUpdate(component) {\n this._requestUpdateSet.add(component);\n if (!this._timeout) {\n this._timeout = setTimeout(this._runUpdatesTimeoutHandler, 0);\n }\n }\n\n deleteRequestUpdate(component) {\n // See note in deleteRequestUpdate()\n this._requestUpdateSet.delete(component);\n }\n\n hasQueuedRequestFor(component) {\n return this._requestUpdateSet.has(component);\n }\n}\n\nexport const updateManager = new GlobalUpdateManager();\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/* global SpeechSynthesisErrorEvent */\nfunction flattenStrings(series = []) {\n const flattenedSeries = [];\n\n for (var i = 0; i < series.length; i++) {\n if (typeof series[i] === 'string' && !series[i].includes('PAUSE-')) {\n flattenedSeries.push(series[i]);\n } else {\n break;\n }\n }\n // add a \"word boundary\" to ensure the Announcer doesn't automatically try to\n // interpret strings that look like dates but are not actually dates\n // for example, if \"Rising Sun\" and \"1993\" are meant to be two separate lines,\n // when read together, \"Sun 1993\" is interpretted as \"Sunday 1993\"\n return [flattenedSeries.join(',\\b ')].concat(series.slice(i));\n}\n\nfunction delay(pause) {\n return new Promise(resolve => {\n setTimeout(resolve, pause);\n });\n}\n\n/**\n * Speak a string\n *\n * @param {string} phrase Phrase to speak\n * @param {SpeechSynthesisUtterance[]} utterances An array which the new SpeechSynthesisUtterance instance representing this utterance will be appended\n * @return {Promise} Promise resolved when the utterance has finished speaking, and rejected if there's an error\n */\nfunction speak(phrase, utterances, lang = 'en-US') {\n const synth = window.speechSynthesis;\n return new Promise((resolve, reject) => {\n const utterance = new SpeechSynthesisUtterance(phrase);\n utterance.lang = lang;\n utterance.onend = () => {\n resolve();\n };\n utterance.onerror = e => {\n reject(e);\n };\n utterances.push(utterance);\n synth.speak(utterance);\n });\n}\n\nfunction speakSeries(series, lang, root = true) {\n const synth = window.speechSynthesis;\n const remainingPhrases = flattenStrings(\n Array.isArray(series) ? series : [series]\n );\n const nestedSeriesResults = [];\n /*\n We hold this array of SpeechSynthesisUtterances in order to prevent them from being\n garbage collected prematurely on STB hardware which can cause the 'onend' events of\n utterances to not fire consistently.\n */\n const utterances = [];\n let active = true;\n\n const seriesChain = (async () => {\n try {\n while (active && remainingPhrases.length) {\n const phrase = await Promise.resolve(remainingPhrases.shift());\n if (!active) {\n // Exit\n // Need to check this after the await in case it was cancelled in between\n break;\n } else if (typeof phrase === 'string' && phrase.includes('PAUSE-')) {\n // Pause it\n let pause = phrase.split('PAUSE-')[1] * 1000;\n if (isNaN(pause)) {\n pause = 0;\n }\n await delay(pause);\n } else if (typeof phrase === 'string' && phrase.length) {\n // Speak it\n const totalRetries = 3;\n let retriesLeft = totalRetries;\n while (active && retriesLeft > 0) {\n try {\n await speak(phrase, utterances, lang);\n retriesLeft = 0;\n } catch (e) {\n // eslint-disable-next-line no-undef\n if (e instanceof SpeechSynthesisErrorEvent) {\n if (e.error === 'network') {\n retriesLeft--;\n console.warn(\n `Speech synthesis network error. Retries left: ${retriesLeft}`\n );\n await delay(500 * (totalRetries - retriesLeft));\n } else if (\n e.error === 'canceled' ||\n e.error === 'interrupted'\n ) {\n // Cancel or interrupt error (ignore)\n retriesLeft = 0;\n } else {\n throw new Error(`SpeechSynthesisErrorEvent: ${e.error}`);\n }\n } else {\n throw e;\n }\n }\n }\n } else if (typeof phrase === 'function') {\n const seriesResult = speakSeries(phrase(), lang, false);\n nestedSeriesResults.push(seriesResult);\n await seriesResult.series;\n } else if (Array.isArray(phrase)) {\n // Speak it (recursively)\n const seriesResult = speakSeries(phrase, lang, false);\n nestedSeriesResults.push(seriesResult);\n await seriesResult.series;\n }\n }\n } finally {\n active = false;\n }\n })();\n return {\n series: seriesChain,\n get active() {\n return active;\n },\n append: toSpeak => {\n remainingPhrases.push(toSpeak);\n },\n cancel: () => {\n if (!active) {\n return;\n }\n if (root) {\n synth.cancel();\n }\n nestedSeriesResults.forEach(nestedSeriesResults => {\n nestedSeriesResults.cancel();\n });\n active = false;\n }\n };\n}\n\nlet currentSeries;\nexport default function (toSpeak, lang) {\n currentSeries && currentSeries.cancel();\n currentSeries = speakSeries(toSpeak, lang);\n return currentSeries;\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// Don't wrap patterns with word boundaries (\\b) or set any RegExp flags.\n// Each pattern will be wrapped with \\b and use the global (g) flag when created as a capture group in combined pattern.\nconst defaultAbbreviations = [\n { pattern: 'TV-14', replacer: 'Rated TV-14' },\n { pattern: 'CC', replacer: 'Closed Captions available' },\n { pattern: 'HD', replacer: 'High Definition available' },\n { pattern: /ENG(?!\\+)/, replacer: 'English Available' },\n { pattern: /ENG\\+ES/, replacer: 'Available in English and Spanish' },\n { pattern: 'AD', replacer: 'Audio Description available' },\n { pattern: 'RT', replacer: 'Rotten Tomatoes' },\n {\n pattern: /(S)+(\\d+)+(E)+(\\d+)+/,\n replacer: (match, p1, p2, p3, p4) => `Season ${p2} Episode ${p4}`\n }\n];\n\nexport const defaultAbbrevConfig = generateAbbrevConfig(defaultAbbreviations);\n\nfunction wrapWithBoundary(str) {\n return `\\\\b${str}\\\\b`;\n}\n\nfunction getNumberOfCaptureGroups(regExp) {\n return new RegExp(regExp.toString() + '|').exec('').length - 1;\n}\n\n/**\n * @typedef {object} AbbreviationConfig\n * @property {object} abbreviationsPattern - combined RegExp pattern of all abbreviations separated into capture groups\n * @property {object} stringPatternMap - object to look up replacers values based on string matches (uses matched string to look up)\n * @property {object} regExpPatternMap - object to look up replacers values based on RegExp matches (uses index of matched capture group to look up)\n */\n\n/**\n * Generates abbreviation config object to be passed to withAnnouncer for abbreviation translation\n * @param {object[]} abbreviations - array of custom abbreviation objects to generate config off of\n * @param {string|object} abbreviations[].pattern - pattern to match abbreviation\n * @param {string|function} abbreviations[].replacer - string or RegEx replacer function to replace matched abbreviation with\n * @param {boolean} extendDefault - if true, extend the default abbreviations config with custom abbreviations\n * @returns {AbbreviationConfig} - configuration that may be passed to withAnnouncer as abbreviations in options parameter\n */\nexport function generateAbbrevConfig(\n abbreviations = defaultAbbreviations,\n extendDefault\n) {\n const abbrev = extendDefault\n ? [...defaultAbbreviations, ...abbreviations]\n : abbreviations;\n const stringPatternMap = {}; // map of exact strings to the associated replacer\n const regExpPatternMap = {}; // map of RegExp patterns to the associated replacer\n let abbreviationsPattern = ''; // string of final RegExp pattern with each pattern as a capture group\n let patternGroupOffset = 0; // incremented for each capture group found in RegExp patterns passed in\n\n // If the pattern is a RegExp pattern: key RegExp pattern with its index in passed in abbreviations array parameter.\n // The capture group for this pattern will be at this position (idx) in the combined RegExp pattern.\n // When a string is matched, the index of the matched capture group can be used to look up the correct replacer.\n //\n // Else (the pattern is a string): it can be keyed by it's pattern.\n // When a string is matched, the string matcher can be used to look up the correct replacer.\n abbrev.forEach(({ pattern, replacer }, idx) => {\n let stringPattern;\n if (pattern instanceof RegExp) {\n const patternMapIdx = idx + patternGroupOffset;\n regExpPatternMap[patternMapIdx] = { pattern, replacer };\n stringPattern = wrapWithBoundary(pattern.source);\n patternGroupOffset += getNumberOfCaptureGroups(pattern);\n } else {\n stringPatternMap[pattern] = { replacer };\n stringPattern = wrapWithBoundary(pattern);\n }\n\n // create single string for final RegExp - each pattern will be a capture group\n abbreviationsPattern =\n abbreviationsPattern === ''\n ? `(${stringPattern})`\n : `${abbreviationsPattern}|(${stringPattern})`;\n });\n\n abbreviationsPattern = new RegExp(abbreviationsPattern, 'g');\n return { abbreviationsPattern, stringPatternMap, regExpPatternMap };\n}\n\n/**\n * Translates abbreviations in a string into their associated words\n * @param {string} phrase - phrase to be translated\n * @param {object} - abbreviationsPattern, stringPatternMap and regExpPatternMap\n * @returns {string} - phrase where abbreviations have been replaced with words\n */\nexport const translateAbbrev = (phrase, translationConfig) => {\n const { abbreviationsPattern, stringPatternMap, regExpPatternMap } =\n translationConfig;\n\n const translated = phrase.replace(\n abbreviationsPattern,\n (matched, ...args) => {\n // replace exact string match with replacement string\n if (stringPatternMap[matched]) {\n return stringPatternMap[matched].replacer;\n }\n\n // else match was found using a more complex RegExp pattern\n // find replacer by index of matching capture group\n const patternIdx = args.findIndex(arg => !!arg);\n const { pattern, replacer } = regExpPatternMap[patternIdx];\n\n // replace matched string with replacer string\n if (typeof replacer === 'string') {\n return replacer;\n }\n\n // use replace again for replacer function it can utilize substring matches in its scope\n if (typeof replacer === 'function') {\n return matched.replace(pattern, replacer);\n }\n }\n );\n return translated;\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Speech from './Speech';\nimport { translateAbbrev } from './abbreviations';\nimport { debounce } from '../../utils';\n\nexport { generateAbbrevConfig, defaultAbbrevConfig } from './abbreviations';\n\nconst fiveMinutes = 300 * 1000;\n\nfunction elmName(elm) {\n return elm.ref || elm.constructor.name;\n}\n\nconst defaultOptions = {\n voiceOutDelay: 500,\n abbreviationsConfig: {}\n};\n\nexport default function withAnnouncer(Base, speak = Speech, options = {}) {\n const announcerOptions = { ...defaultOptions, ...options };\n\n return class extends Base {\n _construct() {\n this._announceEndedTimeout;\n this._currentlySpeaking = '';\n super._construct && super._construct();\n }\n\n _voiceOut(toAnnounce) {\n if (this._voiceOutDisabled) {\n return;\n }\n let toSpeak = toAnnounce;\n if (announcerOptions.abbreviationsConfig.abbreviationsPattern) {\n toSpeak = Array.isArray(toAnnounce)\n ? toAnnounce.map(phrase =>\n translateAbbrev(phrase, announcerOptions.abbreviationsConfig)\n )\n : translateAbbrev(toAnnounce, announcerOptions.abbreviationsConfig);\n }\n const speech = speak(toSpeak, options.language);\n // event using speech synthesis api promise\n if (speech && speech.series) {\n speech.series.then(() => {\n this.stage.emit('announceEnded');\n });\n }\n\n // event in case speech synthesis api is flakey,\n // assume the ammount of time it takes to read each word\n const toAnnounceStr = Array.isArray(toSpeak)\n ? toSpeak.concat().join(' ')\n : toSpeak;\n const toAnnounceWords = toAnnounceStr.split(' ');\n const timeoutDelay =\n toAnnounceWords.length * announcerOptions.voiceOutDelay;\n clearTimeout(this._announceEndedTimeout);\n this._announceEndedTimeout = setTimeout(() => {\n this.stage.emit('announceTimeoutEnded');\n }, timeoutDelay);\n\n return speech;\n }\n\n _build() {\n super._build && super._build();\n\n this._debounceAnnounceFocusChanges = debounce(\n this._announceFocusChanges.bind(this),\n Number.isInteger(this.announcerFocusDebounce)\n ? this.announcerFocusDebounce\n : 400\n );\n\n this.announcerTimeout = Number.isInteger(this.announcerTimeout)\n ? this.announcerTimeout\n : fiveMinutes;\n\n this._resetFocusTimer = debounce(() => {\n // Reset focus path for full announce\n this._lastFocusPath = undefined;\n }, this.announcerTimeout);\n }\n\n _firstEnable() {\n super._firstEnable && super._firstEnable();\n\n // Lightning only calls Focus Change on second focus\n this._focusChange();\n }\n\n _disable() {\n clearTimeout(this._announceEndedTimeout);\n this.stage.emit('announceEnded');\n this.stage.emit('announceTimeoutEnded');\n }\n\n set announcerEnabled(val) {\n this._announcerEnabled = val;\n this._focusChange();\n }\n\n get announcerEnabled() {\n return this._announcerEnabled;\n }\n\n _focusChange() {\n if (!this._resetFocusTimer) {\n return;\n }\n\n this._resetFocusTimer();\n this.$announcerCancel();\n this._debounceAnnounceFocusChanges();\n }\n\n _announceFocusChanges() {\n const focusPath = this.application.focusPath || [];\n const lastFocusPath = this._lastFocusPath || [];\n const loaded = focusPath.every(elm => !elm.loading);\n const focusDiff = focusPath.filter(elm => !lastFocusPath.includes(elm));\n\n if (!loaded) {\n this._debounceAnnounceFocusChanges();\n return;\n }\n\n this._lastFocusPath = focusPath.slice(0);\n // Provide hook for focus diff for things like TextBanner\n this.focusDiffHook = focusDiff;\n\n if (!this.announcerEnabled) {\n return;\n }\n\n let toAnnounce = focusDiff.reduce((acc, elm) => {\n if (elm.announce) {\n acc.push([elmName(elm), 'Announce', elm.announce]);\n } else if (elm.title) {\n acc.push([elmName(elm), 'Title', elm.title || '']);\n }\n return acc;\n }, []);\n\n focusDiff.reverse().reduce((acc, elm) => {\n if (elm.announceContext) {\n acc.push([elmName(elm), 'Context', elm.announceContext]);\n } else {\n acc.push([elmName(elm), 'No Context', '']);\n }\n return acc;\n }, toAnnounce);\n\n if (this.debug) {\n console.table(toAnnounce);\n }\n\n toAnnounce = toAnnounce.reduce((acc, a) => {\n const txt = a[2];\n txt && acc.push(txt);\n return acc;\n }, []);\n\n if (toAnnounce.length) {\n this.$announcerCancel();\n this._currentlySpeaking = this._voiceOut(\n toAnnounce.reduce((acc, val) => acc.concat(val), [])\n );\n }\n }\n\n $announce(toAnnounce, { append = false, notification = false } = {}) {\n if (!toAnnounce || !toAnnounce.trim().length) {\n return;\n }\n if (this.announcerEnabled) {\n this._debounceAnnounceFocusChanges.flush();\n if (\n append &&\n this._currentlySpeaking &&\n this._currentlySpeaking.active\n ) {\n this._currentlySpeaking.append(toAnnounce);\n } else {\n this.$announcerCancel();\n this._currentlySpeaking = this._voiceOut(toAnnounce);\n }\n\n if (notification) {\n this._voiceOutDisabled = true;\n this._currentlySpeaking.series.finally(() => {\n this._voiceOutDisabled = false;\n this.$announcerRefresh();\n });\n }\n }\n }\n\n $announcerCancel() {\n this._currentlySpeaking && this._currentlySpeaking.cancel();\n }\n\n $announcerRefresh(depth) {\n if (depth) {\n this._lastFocusPath = this._lastFocusPath.slice(0, depth);\n } else {\n this._lastFocusPath = undefined;\n }\n this._resetFocusTimer();\n this._focusChange();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\n\nexport default function withHandleKey(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _handleKey(keyEvent) {\n return this._processEvent(keyEvent);\n }\n\n _handleKeyRelease(keyEvent) {\n return this._processEvent(keyEvent, 'Release');\n }\n\n _processEvent(keyEvent, suffix = '') {\n const keyMap = this.stage.application.__keymap || {};\n let key = keyMap[keyEvent.keyCode];\n if (!key) {\n key = keyEvent.key;\n }\n if (key && typeof this[`on${key}${suffix}`] === 'function') {\n this._invokeKeyPayloadCallback(key + suffix);\n return this[`on${key}${suffix}`].call(this, this, keyEvent);\n }\n return false;\n }\n\n _invokeKeyPayloadCallback(key) {\n if (\n this.metricsPayload &&\n typeof context.keyMetricsCallback === 'function'\n ) {\n context.keyMetricsCallback(key, this.metricsPayload);\n }\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nfunction getPropertyDescriptor(path) {\n return {\n get() {\n return this.tag(path);\n },\n configurable: true,\n enumerable: true\n };\n}\n\nexport default function withTags(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _construct() {\n const prototype = Object.getPrototypeOf(this);\n if (!prototype._withTagsInitialized) {\n const tags = this.constructor.tags || [];\n tags.forEach(tag => {\n if (typeof tag === 'object') {\n var { name, path } = tag;\n } else {\n var name = tag; // eslint-disable-line no-redeclare\n var path = tag; // eslint-disable-line no-redeclare\n }\n const key = '_' + name;\n const descriptor = getPropertyDescriptor(path);\n Object.defineProperty(prototype, key, descriptor);\n });\n prototype._withTagsInitialized = true;\n }\n super._construct && super._construct();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { clone, getValFromObjPath, getHexColor } from '../../utils';\nimport log from '../../globals/context/logger';\n\n/**\nGiven a character, return its ASCII value multiplied by its position.\n *\n@param {string} char - The character to process.\n@param {number} index - The position of the character in the string.\n@returns {number} - The ASCII value of the character multiplied by its position.\n */\nexport const getCharacterValue = (char, index) => {\n return char.charCodeAt(0) * (index + 1);\n};\n\n/**\n * Recursively sorts an object by its keys. If an object has nested objects as values,\n * it will sort those nested objects as well.\n *\n * @param {Object} obj - The object to be sorted.\n * @returns {Object} A new object that is a sorted version of the input object.\n */\nexport const sortObject = obj => {\n const sortedObj = {};\n Object.keys(obj)\n .sort()\n .forEach(key => {\n if (\n typeof obj[key] === 'object' &&\n obj[key] !== null &&\n !Array.isArray(obj[key])\n ) {\n sortedObj[key] = sortObject(obj[key]); // Recursive call for nested objects\n } else {\n sortedObj[key] = obj[key];\n }\n });\n return sortedObj;\n};\n\n/**\nGiven an object, return a sum of the ASCII values of all characters in its\nJSON stringified representation, each multiplied by its position.\n*\n@param {object} obj - The object to process.\n@returns {number} - The sum of ASCII values, each multiplied by its position.\n*/\nexport const getCharacterSum = obj => {\n const sortedObj = sortObject(obj);\n const str = JSON.stringify(sortedObj).replace(/[{}:\",\\s]/g, ''); // Remove brackets, colons, and whitespace\n let sum = 0;\n for (let i = 0; i < str.length; i++) {\n sum += getCharacterValue(str[i], i);\n }\n return sum;\n};\n\n/**\nGiven an object, return a \"hash\" of the object, which is a combination of\nthe length of its JSON stringified representation and the sum of the ASCII\nvalues of all characters in that string, each multiplied by its position.\n*\n@param {object} obj - The object to process.\n@returns {string} - The hash of the object.\n*/\nexport const getHash = obj => {\n const str = JSON.stringify(obj);\n return str.length + '-' + getCharacterSum(obj);\n};\n\n/**\n * Recursively executes functions within an object or array structure, passing them a given context.\n * @param {Function|Object|Array} objOrFunction - The object, array, or function to process.\n * @param {*} theme - The context to pass to any encountered functions.\n * @returns {*} The processed structure with functions executed.\n */\nexport function executeWithContextRecursive(objOrFunction, theme) {\n if (typeof objOrFunction === 'function') {\n // If the input is a function, execute it with the theme as a parameter\n const result = objOrFunction(theme);\n return executeWithContextRecursive(result, theme);\n } else if (Array.isArray(objOrFunction)) {\n // If the input is an array, iterate through its elements and apply the function recursively.\n return objOrFunction.map(item => executeWithContextRecursive(item, theme));\n } else if (typeof objOrFunction === 'object' && objOrFunction !== null) {\n // If the input is an object (and not null), iterate through its properties and apply the function recursively.\n const result = {};\n for (const key in objOrFunction) {\n if (objOrFunction.hasOwnProperty(key)) {\n result[key] = executeWithContextRecursive(objOrFunction[key], theme);\n }\n }\n return result;\n } else {\n // Return the value as is if it's neither a function, an object, nor an array.\n return objOrFunction;\n }\n}\n\n/**\n * Checks if a value is a plain object.\n *\n * @param {*} value - The value to check.\n * @returns {boolean} - True if the value is a plain object, false otherwise.\n */\nexport function isPlainObject(value) {\n return (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value) &&\n !(value instanceof Date) &&\n !(value instanceof RegExp) &&\n !(value instanceof Function) &&\n !(value instanceof Error)\n );\n}\n\n/**\n * Returns the subTheme property of the first parent object that has one, or undefined if none exist.\n *\n * @param {object} obj - The object to search for a subTheme property.\n * @returns {(String | Undefined)} - The value of the subTheme property, or undefined if none exists.\n */\nexport const getSubTheme = obj => {\n while (obj && (!obj.subTheme || typeof obj.subTheme !== 'string')) {\n obj = obj.p;\n }\n return obj ? obj.subTheme : undefined;\n};\n\n/**\n * Returns the component configuration object for the given object based on its prototype chain.\n *\n * @param {object} obj - The object to get the component configuration for.\n * @returns {object} - The component configuration object.\n */\nexport const getComponentConfig = obj => {\n if (!isPlainObject(obj)) return {};\n return obj?.theme?.componentConfig?.[obj.constructor.__componentName] || {};\n};\n\n/**\n * Returns an array of the names of all components in the prototype chain of the given object.\n * @param {object} obj - The object to get the prototype chain from.\n * @returns {string[]} - An array of component names.\n */\nexport const getPrototypeChain = obj => {\n if (!isPlainObject(obj)) return [];\n const prototypeChain = new Set();\n let proto = obj;\n\n if (obj.constructor && obj.constructor.__componentName) {\n prototypeChain.add(obj.constructor.__componentName);\n }\n\n /**\n * Traverse the prototype chain and add component names to the set\n */\n do {\n proto = Object.getPrototypeOf(proto);\n if (proto !== null && typeof proto === 'object') {\n // Add only components that support theming\n if (proto.constructor.__componentName) {\n prototypeChain.add(proto.constructor.__componentName);\n }\n }\n } while (proto);\n\n // Convert the set to an array and return it\n return Array.from(prototypeChain);\n};\n\n/**\n * Recursively removes properties from an object that are themselves empty objects.\n * Does not remove arrays, non-plain objects, or non-empty objects.\n *\n * @param {Object} obj - The object to clean of empty objects.\n * @returns {Object} The cleaned object.\n */\nexport function removeEmptyObjects(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && isPlainObject(obj[key])) {\n removeEmptyObjects(obj[key]); // Recurse into the object\n\n // After recursion, if the object is empty, delete it from the parent\n if (Object.keys(obj[key]).length === 0) {\n delete obj[key];\n }\n }\n }\n\n return obj; // Always return obj, even if it's empty\n}\n\n// This map will store hashes of objects to detect duplicates.\n\nexport function createSharedReferences(obj = {}) {\n const seenObjects = new Map();\n\n // Generates a hash for an object.\n // Sorting keys ensures consistent hash regardless of property order.\n function hash(object) {\n return JSON.stringify(object, Object.keys(object).sort());\n }\n\n function process(currentObj) {\n for (const key in currentObj) {\n if (currentObj.hasOwnProperty(key)) {\n const value = currentObj[key];\n if (typeof value === 'object' && value !== null) {\n // Ensure it's an object\n const valueHash = hash(value);\n if (seenObjects.has(valueHash)) {\n // If we've seen this object before, replace the current reference\n // with the original reference.\n currentObj[key] = seenObjects.get(valueHash);\n } else {\n seenObjects.set(valueHash, value);\n process(value); // Recursively process this object\n }\n }\n }\n }\n }\n\n process(obj);\n\n return obj;\n}\n\n/**\n * Combines the provided properties and returns a list of unique properties.\n *\n * @param {string[]} defaultProps - Default property names.\n * @param {Object} additionalProps - Object whose keys are additional property names.\n * @param {string[]} subProps - Sub property names.\n * @returns {string[]} - Array of unique property names.\n */\nexport function getUniqueProperties(defaultProps = []) {\n if (!Array.isArray(defaultProps)) {\n throw new TypeError('Expected defaultProps to be an array of strings.');\n }\n\n return [...new Set(defaultProps)];\n}\n\n/**\n * Generate the payload by cloning and merging multiple objects.\n *\n * @param {Object} base - The base object to start with.\n * @param {Object} defaultStyle - Default styles provided by the user.\n * @param {string} toneItem - The current tone being processed.\n * @param {string} modeItem - The current mode being processed.\n * @param {Object} tone - Tone configurations.\n * @param {Object} mode - Mode configurations.\n * @returns {Object} - The merged payload.\n */\nexport function generatePayload(\n base,\n defaultStyle,\n toneItem,\n modeItem,\n tone,\n mode\n) {\n let payload = clone(defaultStyle, base);\n payload = clone(payload, tone?.[toneItem]);\n payload = clone(payload, mode?.[modeItem]);\n payload = clone(payload, tone?.[toneItem]?.mode?.[modeItem] || {});\n payload = clone(payload, mode?.[modeItem]?.tone?.[toneItem] || {});\n return payload;\n}\n\n/**\n * Recursively searches for and returns all the property keys nested within the specified key in the object.\n *\n * @param {Object} obj - The object to search through.\n * @param {string} keyToFind - The key whose nested keys are to be found.\n * @returns {string[]} An array containing all nested property keys under the specified key.\n */\nfunction findNestedKeys(obj, keyToFind) {\n const nestedKeys = [];\n\n /**\n * Inner function to recursively search for nested keys.\n *\n * @param {Object} obj - The nested object to search through.\n */\n function searchNestedKeys(obj) {\n if (typeof obj === 'object' && obj !== null) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n nestedKeys.push(key); // Add the nested key to the array\n }\n }\n }\n }\n\n /**\n * Outer function to initiate search when the specified key is found.\n *\n * @param {Object} obj - The object to search through.\n */\n function searchForKey(obj) {\n if (typeof obj === 'object' && obj !== null) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (key === keyToFind) {\n searchNestedKeys(obj[key]); // Start searching for nested keys\n break; // Once the specified key is found, we don't need to look further at this level\n }\n searchForKey(obj[key]); // Continue searching for the specified key\n }\n }\n }\n }\n\n searchForKey(obj); // Initialize the search with the object\n return nestedKeys; // Return the array of nested keys\n}\n\n/**\n * Generates a solution based on the provided configurations.\n *\n * @param {Object} options - The configuration options for generating the solution.\n * @param {Object} [options.base={}] - Base object.\n * @param {Object} [options.tone={}] - Tone configurations.\n * @param {Object} [options.mode={}] - Mode configurations.\n * @param {Object} [options.defaultStyle={}] - Default styles provided by the user.\n * @returns {Object} - The generated solution with shared references and merged identical properties.\n */\nexport const generateSolution = (\n { base = {}, tone = {}, mode = {}, defaultStyle = {} },\n modeKeys = [],\n toneKeys = []\n) => {\n const solution = {};\n\n const uniqueModes = getUniqueProperties([\n 'focused',\n 'disabled',\n ...modeKeys,\n 'unfocused' // Unfocused must be at the end for proper fallback since base === 'unfocused' in many cases\n ]);\n\n const uniqueTones = getUniqueProperties([\n 'neutral',\n 'inverse',\n 'brand',\n ...toneKeys\n ]);\n\n for (const modeItem of uniqueModes) {\n for (const toneItem of uniqueTones) {\n const payload = generatePayload(\n base,\n defaultStyle,\n toneItem,\n modeItem,\n tone,\n mode\n );\n solution[`${modeItem}_${toneItem}`] = payload;\n }\n }\n\n return solution;\n};\n\nconst DEFAULT_KEYS = [\n // ORDER MATTERS\n 'unfocused_neutral',\n 'unfocused_inverse',\n 'unfocused_brand',\n 'focused_neutral',\n 'focused_inverse',\n 'focused_brand',\n 'disabled_neutral',\n 'disabled_inverse',\n 'disabled_brand'\n];\n\n/**\n * Enforce a contract on an input object by ensuring that it contains a set of specified keys\n * and, if not, substituting them with values from fallback keys in a predefined order.\n *\n * @param {Object} inputObj - The input object to enforce the contract on.\n * @returns {Object} - An object that adheres to the contract, with missing keys replaced by fallback values.\n */\nexport function enforceContract(inputObj) {\n const result = {};\n for (const key of [...DEFAULT_KEYS, ...Object.keys(inputObj)]) {\n if (!inputObj.hasOwnProperty(key)) {\n // Find the first fallback property that exists in inputObj\n const fallbackKey = DEFAULT_KEYS.find(fallback =>\n inputObj.hasOwnProperty(fallback)\n );\n if (fallbackKey) {\n const fallback = inputObj[fallbackKey];\n result[key] = typeof fallback !== 'object' ? {} : fallback;\n } else {\n result[key] = {};\n }\n } else {\n if (typeof inputObj[key] !== 'object') {\n // If the value is not an object, replace it with an empty object\n result[key] = {};\n } else {\n result[key] = inputObj[key];\n }\n }\n }\n return result;\n}\n\n/**\n * Generates the source style object for a given component by merging base, mode, and tone styles from the component's style chain\n * @param {object} component - The component for which to generate the style source\n * @returns {object} - The source style object for the component\n */\nexport const generateComponentStyleSource = ({\n theme = {},\n styleChain = [],\n inlineStyle = {},\n alias = []\n} = {}) => {\n if (typeof theme !== 'object') {\n throw new Error('Expected theme to be an object');\n }\n\n if (!Array.isArray(styleChain)) {\n throw new Error('Expected styleChain to be an array');\n }\n\n if (typeof inlineStyle !== 'object') {\n throw new Error('Expected inlineStyle to be an object');\n }\n\n if (!Array.isArray(alias)) {\n throw new Error('Expected alias to be an array');\n }\n\n /**\n * Component default styles\n */\n const componentDefault = styleChain.map(({ style }) => {\n if (\n typeof style === 'object' &&\n !style.base &&\n !style.mode &&\n !style.tone &&\n !style.default\n ) {\n return { base: style };\n } else {\n const { base = {}, mode = {}, tone = {} } = style;\n\n let componentConfigDefaultStyle;\n if (style) {\n const defaultStyle = JSON.parse(JSON.stringify(style));\n delete defaultStyle.base;\n delete defaultStyle.tone;\n delete defaultStyle.mode;\n componentConfigDefaultStyle = defaultStyle; // Anything in the root level of style\n }\n\n return {\n defaultStyle: componentConfigDefaultStyle || {},\n base,\n mode,\n tone\n };\n }\n });\n\n /**\n * Local / Instance level styles\n * DefaultStyle will apply to the next level in the hierarchy\n */\n let localDefaultStyle;\n if (inlineStyle) {\n const defaultStyle = JSON.parse(JSON.stringify(inlineStyle));\n delete defaultStyle.base;\n delete defaultStyle.tone;\n delete defaultStyle.mode;\n localDefaultStyle = defaultStyle; // Anything in the root level of style\n }\n\n const local = {\n defaultStyle: localDefaultStyle || {},\n base: inlineStyle?.base || {},\n mode: inlineStyle?.mode || {},\n tone: inlineStyle?.tone || {}\n };\n\n // Merge all the styles together into one array to loop\n const merged = [...componentDefault, local];\n\n // Execute all style functions with the theme\n const parsedStyles = merged.map(style => {\n return executeWithContextRecursive(style, theme);\n });\n\n // Find all the keys that are in mode/tone as well as nested under mode and tone this will help generate the final solution\n const modeKeys = findNestedKeys(parsedStyles, 'mode');\n const toneKeys = findNestedKeys(parsedStyles, 'tone');\n\n // Merge all the styles together into one object\n const solution = parsedStyles.reduce((acc, style) => {\n return clone(acc, generateSolution(style, modeKeys, toneKeys));\n }, {});\n\n const final = formatStyleObj(\n removeEmptyObjects(colorParser({ theme }, solution)) || {},\n alias\n );\n\n const cleanObj = createSharedReferences(final);\n\n return enforceContract(cleanObj);\n};\n\n/**\n * Parse and process a style object to replace theme strings and process color arrays.\n * @param {object} targetObject - In most cases, this will be a theme object.\n * @param {object} styleObj - The input style object to be processed.\n * @returns {object} The processed style object with theme strings replaced and color arrays processed.\n */\nexport const colorParser = (targetObject, styleObj) => {\n // Check if targetObject is an object\n if (typeof targetObject !== 'object' || targetObject === null) {\n throw new TypeError('targetObject must be an object.');\n }\n\n // Check if styleObj is an object\n if (typeof styleObj !== 'object' || styleObj === null) {\n throw new TypeError('styleObj must be an object.');\n }\n\n // Process style object and remove unnecessary properties\n const processedStyle = JSON.stringify(styleObj, (_, value) => {\n if (-1 < ['tone', 'mode'].indexOf(_)) return value; // Remove any tone/mode or mode/tone properties as they have already been processed\n\n // Handle theme strings, e.g., 'theme.radius.md'\n if (typeof value === 'string' && value.startsWith('theme.')) {\n // Retrieve the value from the target object using the theme path\n return getValFromObjPath(targetObject, value); // If no theme value exists, the property will be removed\n }\n\n function isValidColor(num) {\n return num >= 0 && num <= 0xffffffff;\n }\n\n // Handle color arrays, e.g., ['#663399', 1] or [255, 0.5]\n if (\n Array.isArray(value) &&\n value.length === 2 &&\n ((typeof value[0] === 'string' && value[0].startsWith('#')) ||\n (typeof value[0] === 'number' && isValidColor(value[0]))) &&\n typeof value[1] === 'number'\n ) {\n // Return processed hex color or the original value if processing fails\n return getHexColor(value[0], value[1]) || value;\n }\n\n // Return all other values as-is\n return value;\n });\n\n return JSON.parse(processedStyle || {});\n};\n\n/**\n * Generates the final style object for a component using its style source.\n * @param {object} component - The component for which to generate a style object.\n * @param {object} componentStyleSource - The style source object for the component.\n * @returns {object} - The generated style object.\n */\nexport const generateStyle = (component, componentStyleSource = {}) => {\n if (!isPlainObject(component)) return {};\n const { mode = 'unfocused', tone = 'neutral' } = component;\n return (\n componentStyleSource[`${mode}_${tone}`] ||\n componentStyleSource['unfocused_neutral'] ||\n {}\n );\n};\n\n/**\n * Generates a name by concatenating the names of constructors in the prototype chain.\n * @param {object} obj - The object for which to generate the name.\n * @returns {string} - The generated name.\n */\nexport function generateNameFromPrototypeChain(obj, name = '') {\n if (!obj) return name;\n const proto = Object.getPrototypeOf(obj);\n if (!proto || !proto.constructor) return name;\n const componentName = `${name ? name + '.' : ''}${\n proto?.constructor?.__componentName || ''\n }`\n .replace(/\\.*$/, '')\n .trim();\n const result = generateNameFromPrototypeChain(proto, componentName);\n return result;\n}\n/**\n * Creates a cache object to store the results of getStyleChainMemoized function calls.\n * @type {object}\n */\nconst styleChainCache = {};\n\n/**\n * Flush the memoization cache for styleChain\n *\n */\nexport const clearStyleChainCache = () => {\n for (const key in styleChainCache) {\n if (styleChainCache.hasOwnProperty(key)) {\n delete styleChainCache[key];\n }\n }\n};\n\n/**\n * Memoized version of getStyleChain function. Retrieves the style chain for a component by traversing its prototype chain.\n * @param {object} componentObj - The component object to get the style chain from.\n * @returns {{ style: (object | function) }[]} - An array of style objects containing either an object of styles or a function to return an object of styles.\n */\nexport const getStyleChainMemoized = componentObj => {\n /**\n * Create a cache key based on the stringified component object.\n * @type {string}\n */\n\n const cacheKey = generateNameFromPrototypeChain(componentObj);\n\n // Check if the result is already in the cache\n if (styleChainCache[cacheKey]) {\n return styleChainCache[cacheKey];\n }\n\n /**\n * Compute the style chain using the getStyleChain function.\n * @type {{ style: (object | function) }[]}\n */\n const styleChain = getStyleChain(componentObj);\n\n // Cache the result for future use\n styleChainCache[cacheKey] = styleChain;\n\n // Return the style chain\n return styleChain;\n};\n\n/**\n * Traverse up the prototype chain to create an array of all the styles that are present in the Components ancestors\n * @param {object} componentObj - The component object to get the style chain from.\n * @returns {{ style: (object | function) }[]} - An array of style objects containing either an object of styles or a function to return an object of styles.\n */\nexport const getStyleChain = componentObj => {\n const styleMap = new Map(); // Use a Map to store styles as JSON strings\n let proto;\n\n do {\n proto = !proto ? componentObj : Object.getPrototypeOf(proto);\n if (proto?.constructor === Object) break; // Stop traversing the prototype chain if we reach the Object prototype\n if (\n proto &&\n typeof proto === 'object' &&\n proto.hasOwnProperty('constructor')\n ) {\n // ComponentConfig Level\n const { style: componentConfigStyle } = getComponentConfig(proto);\n if (Object.keys(componentConfigStyle || {}).length) {\n if (!styleMap.has(componentConfigStyle)) {\n styleMap.set(componentConfigStyle, { style: componentConfigStyle });\n }\n }\n\n // Access the __themeStyle property from the current prototype's constructor\n const themeStyle =\n proto.constructor.hasOwnProperty('__themeStyle') &&\n proto.constructor.__themeStyle;\n\n if (Object.keys(themeStyle || {}).length) {\n if (!styleMap.has(themeStyle)) {\n styleMap.set(themeStyle, { style: { ...themeStyle } });\n }\n } else if (typeof themeStyle === 'function') {\n // If the style is a function, add it to the styleMap\n if (!styleMap.has(themeStyle)) {\n styleMap.set(themeStyle, { style: themeStyle });\n }\n }\n\n // Access the __mixinStyle property from the current prototype's constructor\n const mixinStyle =\n proto.constructor.hasOwnProperty('__mixinStyle') &&\n proto.constructor.__mixinStyle;\n\n if (Object.keys(mixinStyle || {}).length) {\n if (!styleMap.has(mixinStyle)) {\n styleMap.set(mixinStyle, { style: mixinStyle });\n }\n }\n }\n } while (proto);\n\n // Convert the values of the Map (unique styles) back to an array\n const uniqueStyles = Array.from(styleMap.values());\n\n // Return an array of unique style objects with a \"style\" property\n return uniqueStyles.map(style => style).reverse();\n};\n\n/**\n * Formats a style object by applying a series of formatter functions.\n *\n * @param {object} originalObj - The original style object to be formatted.\n * @param {array} [aliasStyles=[]] - An array of alias styles to be used during formatting.\n * @returns {object} The formatted style object after applying all formatter functions.\n */\nexport const formatStyleObj = (originalObj, aliasStyles = []) => {\n if (typeof originalObj !== 'object' || originalObj === null) {\n throw new Error('The originalObj parameter must be an object.');\n }\n\n const formatters = new Set();\n\n // Adding a key-value pair to the 'formatters' Set.\n // This pattern is used so more formatters can be easily added if required at a later time\n formatters.add([replaceAliasValues, [aliasStyles]]);\n\n // Generating an array from the 'formatters' Set\n const formattersArray = Array.from(formatters);\n\n // Using reduce to apply functions from 'formattersArray' to 'finalStyle'\n // Each function takes 'obj' (initially 'finalStyle') as input and applies transformations\n // The result of the previous function is passed as input to the next function\n // The final transformed style is assigned to 'this._style'\n return formattersArray.reduce(\n (obj, [func, args]) => func(obj, ...args),\n originalObj\n );\n};\n\n/**\n * Replaces alias values in the provided style object with their corresponding aliases.\n * @param {object} value - The style object to process.\n * @param {Array} [aliasStyles=[]] - Optional array of alias styles to apply.\n * @returns {object} The style object with alias values replaced.\n */\nexport const replaceAliasValues = (value, aliasStyles = []) => {\n if (typeof value !== 'object' || value === null) {\n throw new Error('Value must be an object');\n }\n\n if (!Array.isArray(aliasStyles)) {\n throw new Error('Alias styles must be an array');\n }\n\n let str = JSON.stringify(value);\n const aliasProps = [\n { prev: 'height', curr: 'h', skipWarn: true },\n { prev: 'width', curr: 'w', skipWarn: true },\n ...(aliasStyles || [])\n ];\n\n aliasProps.forEach(alias => {\n if (\n alias &&\n typeof alias.prev === 'string' &&\n typeof alias.curr === 'string'\n ) {\n !alias.skipWarn &&\n str.search(`\"${alias.prev}\":`) >= 0 &&\n log.warn(\n `The style property \"${alias.prev}\" is deprecated and will be removed in a future release. Please use \"${alias.curr}\" instead.`\n );\n str = str.replace(\n new RegExp(`\"${alias.prev}\":`, 'gi'),\n `\"${alias.curr}\":`\n );\n }\n });\n return JSON.parse(str);\n};\n","import context from '../../globals/context/index';\n\nconst themeStyleCache = new Map();\n\ncontext.on('themeUpdate', () => {\n themeStyleCache.clear();\n});\n\nexport default themeStyleCache;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n generateComponentStyleSource,\n getStyleChainMemoized,\n clearStyleChainCache,\n generateStyle,\n getHash\n} from './utils';\nimport context from '../../globals/context/index';\nimport { clone } from '../../utils/index';\nimport cache from './cache';\nimport lng from '@lightningjs/core';\n\nexport default class StyleManager extends lng.EventEmitter {\n /**\n * Create a Style Manager instance.\n * @param {object} options - The options object.\n * @param {object} options.component - The LightningJS component instance.\n */\n constructor({ component = {} } = {}) {\n super(...arguments);\n this.init(component);\n }\n\n init(component) {\n this.isActive = true;\n this.component = component;\n this.setupListeners();\n this._style = {}; // This will be the source of truth for the style manager\n // Initial update is not debounced\n this.update();\n }\n\n setupListeners() {\n // Bind the _onThemeUpdate method to the current instance of the StyleManager class.\n this._boundThemeUpdate = this._onThemeUpdate.bind(this);\n this._hasSubTheme = Boolean(this.component._targetSubTheme);\n if (!this.component._targetSubTheme) {\n context.on('themeUpdate', this._boundThemeUpdate);\n } else {\n context.on(\n `themeUpdate${this.component._targetSubTheme}`,\n this._boundThemeUpdate\n );\n }\n }\n\n clearListeners() {\n // Bind the _onThemeUpdate method to the current instance of the StyleManager class.\n if (!this._boundThemeUpdate) return;\n if (!this.component._targetSubTheme) {\n context.off('themeUpdate', this._boundThemeUpdate);\n } else {\n context.off(\n `themeUpdate${this.component._targetSubTheme}`,\n this._boundThemeUpdate\n );\n }\n }\n\n /**\n * Destroy the Style Manager instance and remove the themeUpdate event listener.\n */\n destroy() {\n this.isActive = false;\n this._cleanupCache();\n // Remove event listeners and subscriptions\n this.clearListeners();\n // Set references to null\n this._styleCache = null;\n this._boundThemeUpdate = null;\n this.component = null;\n }\n\n /**\n * Handler for the themeUpdate event. Clears the cache and updates the component's style.\n * @private\n */\n _onThemeUpdate() {\n clearStyleChainCache();\n this.clearSourceCache();\n this.clearStyleCache();\n this.update();\n }\n\n /**\n * Clears the style chain cache.\n */\n clearStyleChainCache() {\n clearStyleChainCache();\n }\n\n /**\n * Clears the source cache.\n */\n clearSourceCache() {\n if (!this.component) return;\n const sourceKey = this._generateCacheKey('styleSource');\n this._removeCache(sourceKey);\n }\n\n /**\n * Clears the style cache.\n */\n clearStyleCache() {\n if (!this.component) return;\n const { tone, mode } = this.component;\n const styleKey = this._generateCacheKey(`style_${mode}_${tone}`);\n cache.delete(styleKey);\n }\n\n /**\n * Generates a cache key.\n * @param {string} name - The name of the cache.\n * @returns {string} - The generated cache key.\n */\n _generateCacheKey(name) {\n const cacheKey = [\n name,\n this.component._targetSubTheme,\n this.component.constructor.__componentName,\n this._customStyleHash\n ]\n .filter(Boolean)\n .join('_');\n return cacheKey;\n }\n\n /**\n * Adds a cache.\n * @param {string} name - The name of the cache.\n * @param {object} payload - The payload of the cache.\n */\n _addCache(name, payload) {\n const key = this._generateCacheKey(name);\n const existing = cache.get(key);\n cache.set(key, {\n ids: [...new Set([...(existing?.ids || []), this.component.__id])], // Add current id and remove duplicates\n payload\n });\n }\n\n /**\n * Called when component is destroyed\n */\n _cleanupCache() {\n if (!this.component) return;\n cache.forEach(({ ids, payload }, name) => {\n const removeIndex = ids && ids.length && ids.indexOf(this.component.__id);\n if (removeIndex > -1 && ids.length > 1) {\n cache.set(name, {\n ids: ids.slice(0, removeIndex).concat(ids.slice(removeIndex + 1)),\n payload\n });\n } else if (removeIndex > -1) {\n cache.delete(name);\n }\n });\n }\n\n /**\n * Removes a cache.\n * @param {string} name - The name of the cache.\n */\n _removeCache(name) {\n cache.delete(name);\n }\n\n /**\n * Gets a cache.\n * @param {string} name - The name of the cache.\n * @returns {object|boolean} - The cache or false if the component has inline styles.\n */\n _getCache(name) {\n const key = this._generateCacheKey(name);\n return cache.get(key);\n }\n\n /**\n * Updates the component's style based on changes in tone, mode, theme, and `_componentLevelStyle`.\n * Clears the style cache if tone or mode have changed, and clears the source cache if `_componentLevelStyle` has changed.\n * Generates the component's style source and style objects, saves them to the cache, and emits a `styleUpdate` event with the updated style.\n * @returns {Promise}\n */\n update() {\n if (!this.component) return;\n\n const { mode, tone } = this.component;\n\n try {\n // Attempt to fetch style source from cache\n let styleSource = this._getCache('styleSource')?.payload;\n\n if (!styleSource) {\n // Style source does not exist so it will need to be generated. We attempt to run this function only when necessary for optimal performance\n styleSource = generateComponentStyleSource({\n alias: this.component.constructor.aliasStyles,\n inlineStyle: this.component._componentLevelStyle,\n styleChain: getStyleChainMemoized(this.component),\n theme: this.component.theme\n });\n\n this._addCache('styleSource', styleSource);\n }\n\n // Attempt to fetch style from cache\n let style = this._getCache(`style_${mode}_${tone}`)?.payload;\n\n if (!style) {\n // Style does not exist so will also need to be generated\n style = generateStyle(this.component, styleSource);\n this._addCache(`style_${mode}_${tone}`, style);\n }\n\n this._style = style;\n this.emit('styleUpdate', this.style);\n } catch (error) {\n context.error('styleManager: ', error.message);\n }\n }\n\n /**\n * Accessors\n */\n set style(v) {\n context.warn('styleManager: Cannot mutate style directly');\n }\n\n get style() {\n return this._style;\n }\n\n set props(v) {\n context.warn('styleManager: Cannot mutate props directly');\n }\n\n get props() {\n return Object.keys(this.component._componentConfig).reduce((acc, key) => {\n if (!['base', 'tone', 'mode', 'style', 'styleConfig'].includes(key)) {\n acc[key] = this.component._componentConfig[key];\n }\n\n return acc;\n }, {});\n }\n\n /**\n * Simple check to see if this component can leverage caching. Components using .style cannot use the cache at this time\n */\n get _customStyleHash() {\n const hasCustomStyle =\n Boolean(\n Object.keys(this.component.constructor.__mixinStyle || {}).length\n ) ||\n Boolean(Object.keys(this.component._componentLevelStyle || {}).length);\n\n if (hasCustomStyle) {\n return getHash(\n clone(\n this.component.constructor.__mixinStyle || {},\n this.component._componentLevelStyle || {}\n )\n );\n }\n\n return undefined;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport StyleManager from './StyleManager';\nimport { updateManager } from '../../globals/global-update-manager/GlobalUpdateManager';\nimport context from '../../globals/context';\nimport { getComponentConfig, getSubTheme } from './utils';\nimport { capitalizeFirstLetter } from '../../utils';\n\n/**\n * Merges two objects based on the following rules:\n * 1. If a key exists in both objects, use the value from the second object.\n * 2. If a key exists in the first object but not in the second, set the value to undefined.\n * 3. If a key exists in the second object but not in the first, include it in the result.\n * 4. Maintain the structure of the first object and augment it with extra keys from the second object.\n *\n * @param {Object|Array} firstObj - The first object, providing the structure to match.\n * @param {Object|Array} secondObj - The second object, whose values take precedence.\n * @returns {Object|Array} A new object with a merged structure and values.\n */\nfunction mergeObjectsWithSecondDominant(firstObj, secondObj) {\n if (firstObj !== null && typeof firstObj === 'object') {\n if (Array.isArray(firstObj)) {\n return firstObj.map((item, index) =>\n mergeObjectsWithSecondDominant(\n item,\n Array.isArray(secondObj) ? secondObj[index] : undefined\n )\n );\n } else {\n const result = {};\n // Combine keys from both objects to ensure all keys are covered\n const allKeys = new Set([\n ...Object.keys(firstObj),\n ...Object.keys(secondObj)\n ]);\n allKeys.forEach(key => {\n // Recurse for nested objects or arrays\n if (typeof firstObj[key] === 'object' && firstObj[key] !== null) {\n result[key] = mergeObjectsWithSecondDominant(\n firstObj[key],\n secondObj[key] || {}\n );\n } else if (\n typeof secondObj[key] === 'object' &&\n secondObj[key] !== null\n ) {\n result[key] = mergeObjectsWithSecondDominant(\n firstObj[key] || {},\n secondObj[key]\n );\n } else {\n // Use value from the second object if available, else set to undefined\n result[key] = secondObj.hasOwnProperty(key)\n ? secondObj[key]\n : undefined;\n }\n });\n return result;\n }\n } else {\n // Return non-object values directly\n return firstObj;\n }\n}\n\n/**\n * A higher-order function that returns a class with theme styles.\n * @param {function} Base - The base class to extend.\n * @param {object} mixinStyle - The mixin style to add to the component.\n * @returns {function} A class that extends the base class with theme styles.\n */\nexport default function withThemeStyles(Base, mixinStyle = {}) {\n return class extends Base {\n _construct() {\n if (this._withThemeStylesSetupComplete) {\n // Make sure this runs ony once if being used on a component that extends another component that is utilizing withThemeStyles\n super._construct();\n return;\n }\n\n this._hSetByUser = false;\n this._wSetByUser = false;\n\n this._styleManager = new StyleManager({ component: this });\n this._style = this._styleManager.style; // Set the style for the first time. After this is will be updated by events\n this._updatePropDefaults();\n this._styleManager.on('styleUpdate', () => {\n this._style = this._styleManager.style;\n this._updatePropDefaults();\n this.queueThemeUpdate();\n });\n this._withThemeStylesSetupComplete = true;\n super._construct(); // Important that this is called at the bottom to ensure that withThemeStyles is only initialized once per component to prevent potential memory leaks\n }\n\n /**\n * Checks for subThemes on _setup lifecycle event to allow the component to traverse the tree to find child theme properties.\n * @private\n * @returns {void}\n */\n _setup() {\n super._setup && super._setup();\n this._targetSubTheme = getSubTheme(this);\n if (this._targetSubTheme) {\n this._styleManager.clearListeners();\n this._styleManager.setupListeners();\n this._styleManager.clearStyleChainCache();\n this._styleManager.clearStyleCache();\n this._styleManager.clearSourceCache();\n this._styleManager.update();\n }\n }\n\n /**\n * Updates the default properties of the component based on the current theme.\n * It compares the previous component configuration properties with the current style manager properties,\n * and updates the component's properties accordingly. If the properties are unchanged, no action is taken.\n * This method is crucial for ensuring the component's properties are synchronized with the theme.\n */\n _updatePropDefaults() {\n // If the current properties are the same as the previous configuration, no update is needed\n\n if (\n !Object.keys(this._styleManager.props).length ||\n JSON.stringify(this._styleManager.props) ===\n JSON.stringify(this._prevComponentConfigProps)\n ) {\n return;\n }\n\n // Compare current properties with previous configuration and get the payload\n const payload = this._prevComponentConfigProps\n ? mergeObjectsWithSecondDominant(\n this._prevComponentConfigProps || {},\n this._styleManager.props || {}\n )\n : this._styleManager.props || {};\n\n // Store a deep copy of the current properties for future comparison\n this._prevComponentConfigProps =\n this._styleManager.props &&\n JSON.parse(JSON.stringify(this._styleManager.props));\n\n // This will be used by withUpdates to set defaults\n this.__componentConfigProps = payload;\n }\n\n /**\n * On component attach, ensures the StyleManager has been reinitialized if it was previously destroyed in detach.\n * @private\n * @returns {void}\n */\n _attach() {\n super._attach();\n if (!this._styleManager.isActive) {\n this._styleManager.init(this);\n }\n }\n\n /**\n * Detaches the component and destroys the style manager.\n * @private\n * @returns {void}\n */\n _detach() {\n super._detach();\n this._styleManager.destroy();\n }\n\n /**\n * Updates the mode to 'unfocused' when the component is unfocused.\n * @private\n * @internal\n * @returns {void}\n */\n _unfocus() {\n if (this._isFocusedMode) this.mode = 'unfocused';\n super._unfocus();\n }\n\n /**\n * Updates the mode to 'focused' when the component is focused.\n * @private\n * @returns {void}\n */\n _focus() {\n if (!this._isDisabledMode) this.mode = 'focused';\n super._focus();\n }\n\n /**\n * Checks if dimensions need updating, and updates if necessary.\n * Fixes mount issues if height is controlled by a component's style alone.\n * Setters for w/h will set the wSetByUser and hSetByUser flag to block this functionality and allow customization.\n * @private\n * @returns {void}\n */\n _checkDimensionUpdates() {\n let dimensionUpdateRequired = false;\n\n if (!this._wSetByUser && this.style.w && this._w !== this.style.w) {\n this._w = this.style.w;\n dimensionUpdateRequired = true;\n }\n\n if (!this._hSetByUser && this.style.h && this._h !== this.style.h) {\n this._h = this.style.h;\n dimensionUpdateRequired = true;\n }\n\n if (dimensionUpdateRequired) {\n this._updateDimensions();\n }\n }\n\n /**\n * Called by the update manager to trigger the _update lifecycle.\n * If `queueRequestUpdate` is undefined, then it's OK to call `_update()` directly because\n * the component does not have the `withUpdates` mixin, and hence `requestUpdate()` will not be defined either.\n * This check allows this mixin to work without `withUpdates`.\n * @private\n * @returns {void}\n */\n _updateThemeComponent() {\n if (!this.style) return;\n if (!this._isAttached()) return;\n this._checkDimensionUpdates();\n this.queueRequestUpdate\n ? this.queueRequestUpdate()\n : this._update && this._update();\n this._updateItemLayout && this._updateItemLayout();\n }\n\n /**\n * Queues component for update by the Global Update Manager.\n * @returns {void}\n */\n queueThemeUpdate() {\n updateManager.addUpdateTheme(this);\n }\n\n static get name() {\n return Base.name;\n }\n\n static get __componentName() {\n if (!super.__componentName) {\n throw new Error(\n `A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`\n );\n }\n return super.__componentName;\n }\n\n static get __mixinStyle() {\n return mixinStyle;\n }\n\n /**\n * Reference to the global theme\n * @return {object}\n */\n get theme() {\n const subTheme =\n this._targetSubTheme && context.getSubTheme(this._targetSubTheme);\n return subTheme || context.theme;\n }\n\n /**\n * Set component level styles\n * @param {object} v - The styles to set, mode, and tone are not allowed\n */\n set style(v) {\n if (Object.prototype.toString.call(v) !== '[object Object]') {\n context.error('style must be an object');\n return;\n }\n this._componentLevelStyle = v;\n this._styleManager.clearStyleCache();\n this._styleManager.update();\n }\n\n /**\n * Get component level styles\n * @return {object}\n */\n get style() {\n return this._style;\n }\n\n /**\n * Get component level styles\n * @return {object}\n */\n get _componentStyle() {\n /** No longer supported */\n context.info(\n '_componentStyle will soon be deprecated. Please use Component.style'\n );\n return this._style;\n }\n\n /**\n * Set component styleConfig\n * @param {object} v - Special configuration rules to override styles\n */\n set styleConfig(v) {\n context.info(\n 'style config is deprecated. Please use style = { base: {}, tone: {}, mode: {} }'\n );\n this._styleConfig = v;\n this._styleManager.update();\n }\n\n /**\n * Get component styleConfig\n * @return {object}\n */\n get styleConfig() {\n return this._styleConfig;\n }\n\n /**\n * Theme configuration for overrides and defaults\n * @return {object}\n */\n get _componentConfig() {\n return getComponentConfig(this);\n }\n\n /**\n * Get the mode property\n * @return {string}\n */\n get mode() {\n return this._mode || this._componentConfig?.mode || 'unfocused';\n }\n\n /**\n * Set the mode property\n * @param {string} v - The mode value to set\n */\n set mode(v) {\n if (typeof v !== 'string' || this._mode === v) return;\n this._mode = v;\n const event = this[`on${capitalizeFirstLetter(v)}`];\n if (event && typeof event === 'function') event.call(this);\n this._styleManager.update();\n }\n\n /**\n * Get the tone property\n * @return {string}\n */\n get tone() {\n return this._tone || this._componentConfig.tone || 'neutral';\n }\n\n /**\n * Set the tone property\n * @param {string} value - The tone value to set\n */\n set tone(v) {\n if (typeof v !== 'string' || this._tone === v) return;\n this._tone = v;\n this._styleManager.update();\n }\n\n /**\n * Allow for w to be overwritten by user if also in component's style file\n * @return {number}\n */\n get w() {\n return (this._wSetByUser && this._w) || this.style?.w || 0;\n }\n\n /**\n * Set the w property\n * @param {number} v - The w value to set\n */\n set w(v) {\n if (this._w === v) return;\n super.w = v;\n this._wSetByUser = true;\n this._updateThemeComponent();\n }\n\n /**\n * Get the h property\n * @return {number}\n */\n get h() {\n return (this._hSetByUser && this._h) || this.style?.h || this._h || 0;\n }\n\n /**\n * Set the h property\n * @param {number} v - The h value to set\n */\n set h(v) {\n if (this._h === v) return;\n super.h = v;\n this._hSetByUser = true;\n this._updateThemeComponent();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context';\nimport { updateManager } from '../../globals/global-update-manager/GlobalUpdateManager';\nimport { clone } from '../../utils';\n\nfunction capital(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n// Merge the componentConfigProp with the prop value\nfunction mergeProps(componentConfigProp, prop) {\n let result = prop;\n if (\n typeof componentConfigProp === 'object' &&\n Object.keys(componentConfigProp).length &&\n typeof prop === 'object'\n ) {\n result = clone(componentConfigProp, prop);\n }\n\n return result ?? componentConfigProp;\n}\n\nfunction getPropertyDescriptor(name, key) {\n return {\n get() {\n const customGetter = this[`_get${capital(name)}`];\n if (customGetter && typeof customGetter === 'function') {\n const value = customGetter.call(this, this[key]);\n this[key] = value || this.__componentConfigProps?.[name]; // Defaults can also be set from withThemeStyles if used\n return mergeProps(this.__componentConfigProps?.[name], value);\n }\n\n return mergeProps(this.__componentConfigProps?.[name], this[key]); // Defaults can also be set from withThemeStyles if used\n },\n set(value) {\n const oldValue = this[key];\n if (value !== oldValue) {\n const changeHandler = this[`_set${capital(name)}`];\n if (changeHandler && typeof changeHandler === 'function') {\n value = changeHandler.call(this, value);\n }\n\n const newValue = key === 'style' ? clone(this[key], value) : value;\n\n if (\n typeof this[key] === 'object' &&\n this[key] !== null &&\n this[key].style\n ) {\n // If the property is for a nested component, recursively combine it with the component's existing styles, ensuring that any styles defined in componentConfig are also applied.\n const style = clone(this[key].style, value.style || {});\n newValue.style = style;\n }\n\n this[key] = newValue;\n this.queueRequestUpdate();\n }\n },\n configurable: true,\n enumerable: true\n };\n}\n\nfunction getAliasPropertyDescriptor(prev, curr) {\n const deprecationWarning = `The property \"${prev}\" is deprecated and will be removed in a future release. Please use \"${curr}\" instead.`;\n return {\n get() {\n console.warn(deprecationWarning);\n return this[curr];\n },\n set(value) {\n console.warn(deprecationWarning);\n this[curr] = value;\n }\n };\n}\n\nexport default function withUpdates(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _construct() {\n const prototype = Object.getPrototypeOf(this);\n if (!prototype._withUpdatesInitialized) {\n // create custom accessors and mutators for the props in the properties array\n const props = this.constructor.properties || [];\n props.forEach(name => {\n const key = '_' + name;\n const descriptor = getPropertyDescriptor(name, key);\n if (descriptor !== undefined) {\n Object.defineProperty(prototype, name, descriptor);\n }\n });\n\n // create custom accessors and mutators that map the props in the alias array to\n // the props in the properties array (and use the getters/setters defined above)\n const aliasProps = this.constructor.aliasProperties || [];\n aliasProps.forEach(alias => {\n if (\n alias &&\n typeof alias.prev === 'string' &&\n typeof alias.curr === 'string'\n ) {\n const descriptor = getAliasPropertyDescriptor(\n alias.prev,\n alias.curr\n );\n if (descriptor !== undefined) {\n Object.defineProperty(prototype, alias.prev, descriptor);\n }\n }\n });\n\n prototype._withUpdatesInitialized = true;\n }\n\n this._whenEnabled = new Promise(resolve => {\n this._whenEnabledResolver = resolve;\n });\n\n super._construct && super._construct();\n }\n\n queueRequestUpdate() {\n if (!this._isAttached()) return;\n updateManager.addRequestUpdate(this);\n }\n\n _firstEnable() {\n this._readyForUpdates = true;\n this._whenEnabledResolver();\n updateManager.deleteRequestUpdate(this);\n this.requestUpdate();\n super._firstEnable && super._firstEnable();\n }\n\n requestEarlyUpdate() {\n this._readyForUpdates = true;\n if (updateManager.hasQueuedRequestFor(this)) {\n updateManager.deleteRequestUpdate(this);\n // method also triggers ready for updates\n this._readyForUpdates = true;\n this.requestUpdate();\n return true;\n }\n return false;\n }\n\n _detach() {\n super._detach();\n updateManager.deleteRequestUpdate(this);\n }\n\n /**\n * Request an immediate component update.\n *\n * @remarks\n * Except for when calling `super._update()` from a `_update()`\n * implementation, call this instead of calling `_update()` directly\n *\n * @param {boolean} force If set, bypasses the '_readyForUpdates' check\n */\n requestUpdate(force = false) {\n if (this._readyForUpdates || force) {\n const result = this._update();\n if (typeof result === 'object' && result !== null && result.catch) {\n // This is a promise, make sure to capture any errors\n result.catch(e => {\n context.error(\n `asyncronous _update() error in '${this.constructor.__componentName}'`,\n this,\n e\n );\n });\n }\n }\n }\n\n logPropTable() {\n console.table(this._propTable);\n }\n\n get _propTable() {\n return this.constructor.properties.reduce((acc, prop) => {\n acc[prop] = this[prop];\n return acc;\n }, {});\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\n\nexport default class FadeShader extends lng.shaders.WebGLDefaultShader {\n constructor(context) {\n super(context);\n this._margin = { left: 0, right: 0 };\n }\n\n set positionLeft(v) {\n this._positionLeft = v;\n }\n\n set positionRight(v) {\n this._positionRight = v;\n }\n\n setupUniforms(operation) {\n super.setupUniforms(operation);\n const owner = operation.shaderOwner;\n\n if (this._positionLeft === 0) {\n this._positionLeft = 0.001;\n }\n if (this._positionRight === 0) {\n this._positionRight = 0.001;\n }\n\n const renderPrecision = this.ctx.stage.getRenderPrecision();\n this._setUniform(\n 'margin',\n [\n this._positionLeft * renderPrecision,\n this._positionRight * renderPrecision\n ],\n this.gl.uniform1fv\n );\n this._setUniform(\n 'resolution',\n new Float32Array([\n owner._w * renderPrecision,\n owner._h * renderPrecision\n ]),\n this.gl.uniform2fv\n );\n }\n}\n\nFadeShader.fragmentShaderSource = `\n #ifdef GL_ES\n # ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n # else\n precision lowp float;\n # endif\n #endif\n\n #define PI 3.14159265359\n\n varying vec2 vTextureCoord;\n varying vec4 vColor;\n\n uniform sampler2D uSampler;\n uniform vec2 resolution;\n uniform float margin[2];\n\n void main() {\n vec4 color = texture2D(uSampler, vTextureCoord) * vColor;\n vec2 halfRes = 0.5 * resolution.xy;\n vec2 point = vTextureCoord.xy * resolution;\n\n\n vec2 pos1 = vec2(point.x, point.y);\n vec2 pos2 = pos1;\n pos2.x += margin[0];\n\n vec2 d = pos2 - pos1;\n float t = dot(pos1, d) / dot(d, d);\n t = smoothstep(0.0, 1.0, clamp(t, 0.0, 1.0));\n\n vec2 pos3 = vec2(vTextureCoord.x * resolution.x, vTextureCoord.y);\n pos3.x -= resolution.x - margin[1];\n vec2 pos4 = vec2(vTextureCoord.x + margin[1], vTextureCoord.y);\n\n vec2 d2 = pos4 - pos3;\n float t2 = dot(pos3, d2) / dot(d2, d2);\n t2 = smoothstep(0.0, 1.0, clamp(t2, 0.0, 1.0));\n\n color = mix(vec4(0.0), color, t);\n color = mix(color, vec4(0.0), t2);\n\n gl_FragColor = color;\n }\n`;\n","import lng from '@lightningjs/core';\n\n/**\n * Represents an image texture that supports loading blob images and SVG strings without using web workers.\n */\n\n/**\n * Checks the file type based on the given string.\n * @param {string} str - The input string to check.\n * @returns {string} The file type.\n */\nfunction checkFileType(str) {\n if (str.startsWith(' {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n cb(null, { source: canvas, w, h });\n };\n img.onerror = err => {\n cb(err);\n };\n\n // On the PS4 platform setting the `crossOrigin` attribute on images\n // can cause CORS failures.\n if (!lng.Utils.isPS4) {\n img.crossOrigin = 'Anonymous';\n }\n\n img.src = url;\n}\n\n/**\n * Loads an image from the given source.\n * @param {object} params - The parameters object.\n * @param {string} params.src - The source URL of the image.\n * @param {function} cb - The callback function.\n * @returns {function} A cancel callback function.\n */\nfunction imageLoader({ src }, cb) {\n const image = new Image();\n\n // On the PS4 platform setting the `crossOrigin` attribute on\n // images can cause CORS failures.\n if (!(src.substr(0, 5) == 'data:') && !lng.Utils.isPS4) {\n image.crossOrigin = 'Anonymous';\n }\n image.onerror = function () {\n // Ignore error message when cancelled.\n if (image.src) {\n return cb('Image load error');\n }\n };\n image.onload = function () {\n cb(null, {\n source: image,\n renderInfo: { src: src, compressed: false },\n hasAlpha: true\n });\n };\n\n image.src = src;\n\n return function () {\n // Cancel Callback\n image.onerror = null;\n image.onload = null;\n image.removeAttribute('src');\n };\n}\n\n/**\n * Represents an image texture.\n */\nexport default class CustomImageTexture extends lng.Texture {\n /**\n * Creates a new ImageTexture instance.\n * @param {object} stage - The stage object.\n */\n constructor(stage) {\n super(stage);\n\n this._src = undefined;\n this._hasAlpha = false;\n }\n\n /**\n * Gets the source URL of the image.\n * @returns {string} The source URL.\n */\n get src() {\n return this._src;\n }\n\n /**\n * Sets the source URL of the image.\n * @param {string} v - The source URL.\n */\n set src(v) {\n if (this._src !== v) {\n this._src = v;\n this._changed();\n }\n }\n\n /**\n * Gets the flag indicating whether the image has an alpha channel.\n * @returns {boolean} The flag value.\n */\n get hasAlpha() {\n return this._hasAlpha;\n }\n\n /**\n * Sets the flag indicating whether the image has an alpha channel.\n * @param {boolean} v - The flag value.\n */\n set hasAlpha(v) {\n if (this._hasAlpha !== v) {\n this._hasAlpha = v;\n this._changed();\n }\n }\n\n /**\n * Gets the width of the image.\n * @returns {number} The width value.\n */\n get w() {\n return this._w;\n }\n\n /**\n * Sets the width of the image.\n * @param {number} l - The width value.\n */\n set w(l) {\n this._w = l;\n this._changed();\n }\n\n /**\n * Gets the height of the image.\n * @returns {number} The height value.\n */\n get h() {\n return this._h;\n }\n\n /**\n * Sets the height of the image.\n * @param {number} l - The height value.\n */\n set h(l) {\n this._h = l;\n this._changed();\n }\n\n /**\n * Checks if the image texture is valid.\n * @returns {boolean} True if valid, otherwise false.\n */\n _getIsValid() {\n return !!this._src;\n }\n\n /**\n * Gets the lookup ID of the image texture.\n * @returns {string} The lookup ID.\n */\n _getLookupId() {\n return this._src;\n }\n\n /**\n * Gets the source loader function for the image texture.\n * @returns {function} The source loader function.\n */\n _getSourceLoader() {\n const w = this._w;\n const h = this._h;\n let src = this._src;\n const hasAlpha = this._hasAlpha;\n if (this.stage.getOption('srcBasePath')) {\n const fc = src.charCodeAt(0);\n if (\n src.indexOf('//') === -1 &&\n ((fc >= 65 && fc <= 90) || (fc >= 97 && fc <= 122) || fc == 46)\n ) {\n // Alphabetical or dot: prepend base path.\n src = this.stage.getOption('srcBasePath') + src;\n }\n }\n\n return cb => {\n const fileType = checkFileType(src);\n switch (fileType) {\n case 'SVG':\n return createSvg(\n cb,\n this.stage,\n `data:image/svg+xml,${encodeURIComponent(src)}`,\n w,\n h\n );\n\n case 'Blob':\n return imageLoader({ src }, cb);\n default:\n return this.stage.platform.loadSrcTexture(\n { src: src, hasAlpha: hasAlpha },\n cb\n );\n }\n };\n }\n\n /**\n * Gets the non-default properties of the image texture.\n * @returns {object} The non-default properties.\n */\n getNonDefaults() {\n const obj = super.getNonDefaults();\n if (this._src) {\n obj.src = this._src;\n }\n return obj;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport logger from '../globals/context/logger';\n\n/**\n *\n * Layout Utils\n *\n */\n\n/**\n * Copyright (c) 2009-2012 Jeremy Ashkenas, DocumentCloud\n * Licensed under the MIT License\n * Copyright (c) 2012-2018 The Debounce Contributors. See CONTRIBUTORS\n * Licensed under the MIT License\n */\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear'\n * that is a function which will clear the timer to prevent previously scheduled executions.\n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {function} function to wrap\n * @param {number} timeout in ms (`100`)\n * @param {boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nexport function debounce(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n }\n\n var debounced = function () {\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function () {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n debounced.flush = function () {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n}\n\nexport function getEuclideanDistance(xA, yA, xB, yB) {\n const xDiff = xA - xB;\n const yDiff = yA - yB;\n return Math.sqrt(Math.pow(xDiff, 2) + Math.sqrt(Math.pow(yDiff, 2)));\n}\n\n/**\n * Returns the shortest distance between a coordinate and a corner or center of an element.\n * @param {[number, number]} coordinate\n * @param {Element} element\n *\n * @return {number} shortest distance between a coordinate and a corner or center of an element.\n */\nexport function getShortestDistance(coordinate, element) {\n const [xA, yA] = coordinate;\n const [xB, yB] = element.core ? element.core.getAbsoluteCoords(0, 0) : [0, 0];\n\n const distanceToStart = getEuclideanDistance(xA, yA, xB, yB);\n const distanceToMiddle = getEuclideanDistance(\n xA,\n yA,\n xB + element.w / 2,\n yB + element.h / 2\n );\n const distanceToEnd = getEuclideanDistance(\n xA,\n yA,\n xB + element.w,\n yB + element.h\n );\n\n return Math.min(distanceToStart, distanceToMiddle, distanceToEnd);\n}\n\nexport function isComponentOnScreen(component, offsets = {}) {\n if (!component) return false;\n\n const {\n w,\n h,\n core: { renderContext: { px, py }, _scissor: scissor = [] } = {}\n } = component;\n const stageH = component.stage.h / component.stage.getRenderPrecision();\n const stageW = component.stage.w / component.stage.getRenderPrecision();\n\n let finalX = px;\n let finalY = py;\n // keep track of the different between the the absolute world position and relative position\n const relativeOffsetX = px - component.x;\n const relativeOffsetY = py - component.y;\n const offsetX = offsets.offsetX - relativeOffsetX || 0;\n const offsetY = offsets.offsetY - relativeOffsetY || 0;\n // if the current component is animating, apply the relative offset to the transition value\n if (component.transition('x')) {\n finalX = px - component.x + component.transition('x').targetValue;\n }\n if (component.transition('y')) {\n finalY = py - component.y + component.transition('y').targetValue;\n }\n // apply any offset passed into the function\n // this is mainly used to parent components that are transitioning,\n // like in the case of Rows nested inside of Columns where the Rows themselves do not animate,\n // but their parent container does\n finalX += offsetX;\n finalY += offsetY;\n\n const wVis = finalX >= 0 && finalX + w <= stageW;\n const hVis = finalY >= 0 && finalY + h <= stageH;\n\n if (!wVis || !hVis) return false;\n\n if (scissor && scissor.length) {\n const [\n leftBounds = null,\n topBounds = null,\n clipWidth = null,\n clipHeight = null\n ] = scissor;\n\n const withinLeftClippingBounds =\n Math.round(finalX + w) >= Math.round(leftBounds);\n const withinRightClippingBounds =\n Math.round(finalX) <= Math.round(leftBounds + clipWidth);\n const withinTopClippingBounds =\n Math.round(finalY + h) >= Math.round(topBounds);\n const withinBottomClippingBounds =\n Math.round(finalY + h) <= Math.round(topBounds + clipHeight);\n\n return (\n withinLeftClippingBounds &&\n withinRightClippingBounds &&\n withinTopClippingBounds &&\n withinBottomClippingBounds\n );\n }\n\n return true;\n}\n\n/**\n * Returns the width of an item based on upCount.\n *\n * @param {number} upCount\n * @returns {number}\n */\nexport function getWidthByUpCount(theme, upCount = 1) {\n const screenW = theme.layout.screenW;\n const columnCount = theme.layout.columnCount;\n const marginX = theme.layout.marginX;\n const gutterX = theme.layout.gutterX;\n\n if (upCount < 1 || upCount > columnCount) {\n console.error(\n `Column expects a number between 1 & ${columnCount}. Received ${upCount}`\n );\n return;\n }\n\n // the screen width, minus the margin x on each side\n const columnWidth = screenW - marginX * 2;\n // the total space of column gaps in between items\n const columnGapTotal = (upCount - 1) * gutterX;\n // the remaining amount of space left for all items\n const totalColumnsWidth = columnWidth - columnGapTotal;\n // the width of each item in that remaining width\n return totalColumnsWidth / upCount;\n}\n\n/**\n * Returns the width of an item based on how many columns to span.\n *\n * @param {number} columnSpan\n * @returns {number}\n */\nexport function getWidthByColumnSpan(theme, columnSpan) {\n const columnCount = theme.layout.columnCount;\n const gutterX = theme.layout.gutterX;\n\n return (\n getWidthByUpCount(theme, columnCount) * columnSpan +\n gutterX * (columnSpan - 1)\n );\n}\n\n/**\n * Returns the x position of a specified column number based on the theme's columnCount.\n *\n * @param {number} column\n * @returns {number}\n */\nexport function getColumnX(theme, column = 1) {\n const columnCount = theme.layout.columnCount;\n const marginX = theme.layout.marginX;\n const gutterX = theme.layout.gutterX;\n\n return marginX + (getWidthByUpCount(theme, columnCount) + gutterX) * column;\n}\n\n/**\n * Determines the width and height of an item based off the data passed into the item\n * (either all necessary parameters to calculate the dimensions dynamically,\n * OR all the necessary parameters to hard set the dimensions).\n *\n * @param { object } obj\n * @param { object } fallback\n *\n * @return { { number, number } }\n */\nexport function getDimensions(theme, obj = {}, fallback = {}) {\n const { w, h, ratioX, ratioY, upCount } = obj;\n const fallbackW = fallback.w || 0;\n const fallbackH = fallback.h || 0;\n let dimensions = {};\n\n // hard set width and height values were passed in and should override other params\n if (w && h) {\n dimensions = {\n w,\n h: h\n };\n } else if (h && ratioX && ratioY) {\n // hard set height and ratio values were passed in, meaning the row has items with mixed ratios, so the width needs to be calculated\n dimensions = {\n w: Math.round((h * ratioX) / ratioY),\n h: h\n };\n // calculate dynamic width and height based off item ratios\n } else if (ratioX && ratioY && upCount) {\n dimensions = getItemRatioDimensions(theme, ratioX, ratioY, upCount);\n } else if (h && upCount) {\n // calculate dynamic width based off a row upcount and a given height\n dimensions = {\n w: Math.round(getWidthByUpCount(theme, upCount)),\n h: h\n };\n } else if (h) {\n dimensions = {\n w: fallbackW,\n h: h\n };\n } else if (w) {\n dimensions = {\n w: w,\n h: fallbackH\n };\n } else {\n // not enough information was provided to properly size the component\n dimensions = {\n w: fallbackW,\n h: fallbackH\n };\n }\n\n dimensions = {\n ...dimensions,\n ratioX,\n ratioY,\n upCount\n };\n\n return dimensions;\n}\n\n/**\n * Calculates the width and height of an item based off the given ratios\n * and number of columns across the screen that should be visible before peaking\n *\n * @param { number } ratioX\n * @param { number } ratioY\n * @param { number } upCount\n *\n * @return { { number, number } }\n */\nexport function getItemRatioDimensions(theme, ratioX, ratioY, upCount) {\n let w, h;\n\n if (ratioX && ratioY && upCount) {\n w = Math.round(getWidthByUpCount(theme, upCount));\n h = Math.round((w / ratioX) * ratioY);\n } else {\n w = 0;\n h = 0;\n }\n return { w, h };\n}\n\n/**\n * /Layout utils\n */\n\nexport function getAspectRatioW(h, ratio = '16:9', seperator = ':') {\n const [ratioW, ratioH] = ratio.split(seperator);\n return h * (ratioW / ratioH);\n}\n\nexport function getAspectRatioH(w, ratio = '16:9', seperator = ':') {\n const [ratioW, ratioH] = ratio.split(seperator);\n return w / (ratioW / ratioH);\n}\n\n/**\n * Combines rgb hex string and alpha into argb hexadecimal number\n * @param {string|number} hex - 6 alphanumeric characters between 0-f or argb hexadecimal number\n * @param {number} [alpha] - number between 0-1 (0 is invisible, 1 is opaque)\n */\nexport function getHexColor(hex, alpha = 1) {\n if (!hex) {\n return 0x00;\n }\n\n if (typeof hex === 'number') {\n hex = hex.toString(16).slice(2);\n }\n\n hex = hex.replace('#', '');\n\n const hexAlpha = Math.round(alpha * 255).toString(16);\n const str = `0x${hexAlpha}${hex}`;\n return Number(str);\n}\n\n/**\n * Returns valid string of HEX color\n *\n * @param {string} color\n * @param {boolean} fill\n */\nexport function getValidColor(color) {\n if (typeof color === 'string' || typeof color === 'number') {\n if (/^0x[0-9a-fA-F]{8}/g.test(color)) {\n // User enters a valid 0x00000000 hex code\n return Number(color);\n } else if (/^#[0-9a-fA-F]{6}/g.test(color)) {\n // User enters valid #000000 hex code\n return getHexColor(color.substr(1, 6));\n } else if (typeof color === 'string' && /^[0-9]{8,10}/g.test(color)) {\n return parseInt(color);\n } else if (\n typeof color === 'number' &&\n /^[0-9]{8,10}/g.test(color.toString())\n ) {\n return color;\n } else if (typeof color === 'string' && color.indexOf('rgba') > -1) {\n return rgba2argb(color);\n } else if (typeof color === 'string' && color.indexOf('rgb') > -1) {\n const rgba = [...color.replace(/rgb\\(|\\)/g, '').split(','), '255'];\n return lng.StageUtils.getArgbNumber(rgba);\n }\n }\n return null;\n}\n\nfunction simplifyFraction([numerator, denominator]) {\n for (let i = numerator; i > 0; i--) {\n if (!(numerator % i) && !(denominator % i)) {\n return [numerator / i, denominator / i];\n }\n }\n}\n\n/**\n * Reduce a fraction represented as a string\n * @param {string} - a reprentation of a fraction in this format 16/9\n * @return {string} - a reduced representation of the fraction\n */\nexport function reduceFraction(string) {\n return simplifyFraction(string.split('/').map(n => +n)).join('/');\n}\n\n/**\n * Gets the value at `path` of `object`.\n * @param {object} object\n * @param {string|Array} path\n * @return {*} value if exists else undefined\n */\nexport const getValFromObjPath = (object, path) => {\n if (typeof path === 'string')\n path = path.split('.').filter(key => key.length);\n return path.reduce((dive, key) => dive && dive[key], object);\n};\n\n/**\n * Lightning uses ARGB values, use this function\n * to convert know color to Lightning value\n * https://ifpb.github.io/javascript-guide/ecma/expression-and-operator/argb.html\n */\nexport function rgba2argb(rgbaStr) {\n const rgba = rgbaStr.replace(/rgba\\(|\\)/g, '').split(',');\n // Multiple Alpha Value\n rgba[3] = rgba[3] * 255;\n return lng.StageUtils.getArgbNumber(rgba);\n}\n\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function lowercaseFirstLetter(string) {\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\n/**\n * Helpers for lng.Tools.getRoundRect\n */\nexport const RoundRect = {\n /**\n * Returns a value that will render as the given width (w)\n * when passed to lng.Tools.getRoundRect\n * @param {number} w - px value for expected width\n * @param {*} options\n * @param {number} options.padding - px value for both left and right padding\n * @param {number} options.paddingLeft - px value for left padding, overrides options.padding\n * @param {number} options.paddingRight - px value for right padding, overrides options.padding\n * @param {number} options.strokeWidth - px value for stroke width\n */\n getWidth(w, options = {}) {\n const { padding, paddingLeft, paddingRight, strokeWidth } = {\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n strokeWidth: 0,\n ...options\n };\n\n if (!w) return 0;\n\n return (\n w - (paddingLeft || padding) - (paddingRight || padding) - strokeWidth\n );\n },\n /**\n * Returns a value that will render as the given height (h)\n * when passed to lng.Tools.getRoundRect\n * @param {number} h - px value for expected width\n * @param {*} options\n * @param {number} options.padding - px value for both bottom and top padding\n * @param {number} options.paddingBottom - px value for bottom padding, overrides options.padding\n * @param {number} options.paddingTop - px value for top padding, overrides options.padding\n * @param {number} options.strokeWidth - px value for stroke width\n */\n getHeight(h, options = {}) {\n const { padding, paddingBottom, paddingTop, strokeWidth } = {\n padding: 0,\n paddingBottom: 0,\n paddingTop: 0,\n strokeWidth: 0,\n ...options\n };\n\n if (!h) return 0;\n\n return (\n h - (paddingBottom || padding) - (paddingTop || padding) - strokeWidth\n );\n }\n};\n\n/**\n * Merges two objects together and returns the duplicate.\n *\n * @param {object} target - object to be cloned\n * @param {object} [object] - secondary object to merge into clone\n */\nexport function clone(target, object) {\n // Make sure getters and setters are applied correctly\n const _clone = Object.create(Object.getPrototypeOf(target));\n Object.defineProperties(_clone, Object.getOwnPropertyDescriptors(target));\n if (!object || target === object) return _clone;\n\n for (const key in object) {\n const value = object[key];\n if (target.hasOwnProperty(key)) {\n _clone[key] = getMergeValue(key, target, object);\n } else {\n _clone[key] = value;\n }\n }\n\n return _clone;\n}\n\nfunction getMergeValue(key, target, object) {\n const targetVal = target[key];\n const objectVal = object[key];\n const targetValType = typeof targetVal;\n const objectValType = typeof objectVal;\n\n if (\n targetValType !== objectValType ||\n objectValType === 'function' ||\n Array.isArray(objectVal)\n ) {\n return objectVal;\n }\n\n if (objectVal && objectValType === 'object') {\n return clone(targetVal, objectVal);\n }\n\n return objectVal;\n}\n\n/**\n * Returns the rendered width of a given text texture\n * @param {object} text - text texture properties\n * @param {string} text.text - text value\n * @param {string} text.fontStyle - css font-style property\n * @param {(string|number)} text.fontWeight - css font-weight property\n * @param {string} [fontSize=0] - css font-size property (in px)\n * @param {string} [text.fontFamily=sans-serif] - css font-weight property\n * @param {string} text.fontFace - alias for fontFamily\n *\n * @return {number} text width\n * */\nexport function measureTextWidth(text = {}) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const {\n fontStyle,\n fontWeight,\n fontSize,\n fontFamily = text.fontFace || 'sans-serif'\n } = text;\n const fontCss = [\n fontStyle,\n fontWeight,\n fontSize ? `${fontSize}px` : '0',\n `'${fontFamily}'`\n ]\n .filter(Boolean)\n .join(' ');\n ctx.font = fontCss;\n const textMetrics = ctx.measureText(text.text || '');\n\n return Math.round(textMetrics.width);\n}\n\n/**\n * Returns first argument that is a number. Useful for finding ARGB numbers. Does not convert strings to numbers\n * @param {...*} number - maybe a number\n **/\nexport function getFirstNumber(...numbers) {\n return numbers.find(Number.isFinite);\n}\n\n/**\n * Naively looks for dimensional prop (i.e. w, h, x, y, etc.), first searching for\n * a transition target value then defaulting to the current set value\n * @param {string} prop - property key\n * @param {lng.Component} component - Lightning component to operate against\n */\nexport function getDimension(prop, component) {\n if (!component) return 0;\n\n const transition = component.transition(prop);\n if (transition.isRunning()) return transition.targetValue;\n\n let renderProp = prop;\n if (prop === 'w') {\n renderProp = 'renderWidth';\n } else if (prop === 'h') {\n renderProp = 'renderHeight';\n }\n return component[renderProp] || component[prop];\n}\n\nexport const getX = component => getDimension('x', component);\nexport const getY = component => getDimension('y', component);\nexport const getW = component => getDimension('w', component);\nexport const getH = component => getDimension('h', component);\n\n/**\n * Array.prototype.flat() is not supported in WPE Browser\n *\n * @param {array} arr\n *\n * @return {array}\n */\nexport function flatten(arr) {\n return arr.reduce(\n (flat, toFlatten) =>\n flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten),\n []\n );\n}\n\nexport function objectPropertyOf(object, path) {\n return path.reduce(\n (obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined),\n object\n );\n}\n\nexport function stringifyCompare(objA, objB) {\n return JSON.stringify(objA) === JSON.stringify(objB);\n}\n\nexport function delayForAnimation(callback, delay = 16) {\n setTimeout(callback, delay);\n}\n\nexport function downloadFile(content, fileName, contentType) {\n const validContentTypes = ['plain', 'json'];\n if (!validContentTypes.includes(contentType)) {\n contentType = 'plain';\n }\n const dataStr =\n `data:text/${contentType};charset=utf-8,` +\n encodeURIComponent(JSON.stringify(content));\n const dlAnchorElem = document.createElement('a');\n dlAnchorElem.setAttribute('href', dataStr);\n dlAnchorElem.setAttribute('download', fileName);\n dlAnchorElem.click();\n}\n\nexport const degreesToRadians = deg => deg * (Math.PI / 180);\n\n/**\n *\n * Markup utils\n *\n */\n\nconst MARKUP_STRING_PATTERN = /({ICON.*?}|{BADGE:.*?}|{NEWLINE}|{TEXT:.*?})/g;\n\nexport function isMarkupString(str = '') {\n if (typeof str !== 'string') {\n return false;\n }\n return MARKUP_STRING_PATTERN.test(str);\n}\n\n/**\n * Returns an array of strings and icon, badge, newline, and text objects from a string using the syntax:\n * 'This is an {ICON:|<url>} and {BADGE:<title>} badge test with a {NEWLINE} newline and {TEXT:<text>|<style>}.'\n *\n * i.e. 'This is an {ICON:settings|./assets/icons/settings.png} icon and {BADGE:HD} badge with a{NEWLINE} and {TEXT:red text|red}.'\n * would create the array:\n * [\n * 'This is an ',\n * { icon: './assets/icons/settings.png', title: 'settings' },\n * ' icon and ',\n * { badge: 'HD' },\n * ' badge with a',\n * { newline: true },\n * ' and ',\n * { text: 'red text', style: 'red' },\n * '.'\n * ]\n *\n * @param {(string|object)} str\n *\n * @return {array}\n */\nexport function parseInlineContent(str = '') {\n const content = [];\n if ((str && typeof str === 'string') || str.text) {\n const string = typeof str === 'string' ? str : str.text;\n const iconRegEx = /^{ICON:(.*?)?\\|(.*?)?}$/g;\n const badgeRegEx = /^{BADGE:(.*?)}$/g;\n const newlineRegEx = /^{NEWLINE}$/g;\n const textRegEx = /^{TEXT:(.*?)?\\|(.*?)?}$/g;\n\n const splitStr = string.split(MARKUP_STRING_PATTERN);\n\n if (splitStr && splitStr.length) {\n splitStr.forEach(item => {\n let formattedItem = item;\n const badge = badgeRegEx.exec(item);\n const icon = iconRegEx.exec(item);\n const newline = newlineRegEx.exec(item);\n const text = textRegEx.exec(item);\n\n if (badge && badge[1]) {\n formattedItem = { badge: badge[1] };\n } else if (icon && icon[1]) {\n formattedItem = { title: icon[1], icon: icon[2] || icon[1] };\n } else if (newline) {\n formattedItem = { newline: true };\n } else if (text && text[1]) {\n formattedItem = { text: text[1], style: text[2] };\n }\n content.push(formattedItem);\n });\n }\n }\n return content;\n}\n\n/**\n * Given any number of arguments, returns the greatest number passed to the function.\n * If no valid numbers are passed in (ex. NaN, undefined, null), `undefined` will be returned.\n * @param {...*} arguments Any number of arguments may be passed into the function.\n *\n * @return {number|undefined} The greatest number passed in as an argument or `undefined` if no valid number was passed in.\n */\nexport function max() {\n if (!arguments) {\n return;\n }\n\n const args = Array.from(arguments).filter(arg => !isNaN(arg) && arg != null);\n\n if (!args.length) {\n return;\n }\n\n return Math.max(...args);\n}\n\n/**\n * Abstracts logic for conditionally forcing a zIndex Context on a component so that\n * any child components with zIndex are relative to it, and not the global zIndex context.\n * @param {lng.Component} component\n * @param {number} zOffset\n */\nexport function createConditionalZContext(component, zOffset) {\n if (!component.zIndex && typeof zOffset !== 'undefined' && zOffset !== 0) {\n component.forceZIndexContext = true;\n component.zIndex = 0;\n }\n}\n\n/**\n * Runs a side effect function when any values of specified properties on an element change.\n * @param {object} options - defines the `element`, `watchProps`, and `sideEffect` options\n * @param {lng.Element} options.element - Lightning element on which property changes will watched\n * @param {String[]} options.watchProps - properties that when their value changes a side effect function is invoked\n * @param {function} options.sideEffect - function to be invoked when a watched property's value changes\n * @returns {lng.Element}\n */\nexport function watchForUpdates({\n element,\n watchProps = [],\n sideEffect = () => {}\n}) {\n if (!element?.isElement) {\n logger.error(\n `watchForUpdates: Expected a Lightning Element passed to element parameter, received ${typeof element}`\n );\n }\n\n const initialOnAfterUpdate = element.__core?._onAfterUpdate;\n\n element.onAfterUpdate = function (element) {\n let hasChanged = false;\n\n watchProps.forEach(prop => {\n if (element.transition(prop) && element.transition(prop).isRunning()) {\n return;\n }\n\n const prevValueKey = `__watchPrev${prop}`;\n const nextValue = element[prop];\n\n if (nextValue !== element[prevValueKey]) {\n element[prevValueKey] = nextValue;\n hasChanged = true;\n }\n });\n\n if (hasChanged) {\n sideEffect();\n }\n\n // if an element already has an onAfterUpdate function, preserve that behavior\n if (initialOnAfterUpdate) {\n initialOnAfterUpdate(element);\n }\n }.bind(this);\n\n return element;\n}\n\n/**\n * Given a Lightning text alignment option (left, right, center),\n * return the Lightning flexbox equivalent.\n *\n * @param {string} align\n * @returns {string}\n */\nexport function convertTextAlignToFlexJustify(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n // if there is no alignment passed in, the Lightning Text default is \"left\"\n console.warn(\n `Expected \"textAlign\" values are \"left,\" \"center,\" and \"right,\" but instead, ${align} was received and will fall back to \"left.\"`\n );\n return 'flex-start';\n }\n}\n\n/**\n * Prevents user input radius from inverting.\n *\n * @param {number} user input radius\n * @param {number} width\n * @param {number} height\n * @param {number} offset\n * @return {number} max radius for object before border begins to invert\n */\nexport function getMaxRoundRadius(radius, width, height, offset = 0) {\n const maxRadius = r =>\n Math.max(0, Math.min(r, Math.min(width, height) / 2) + offset);\n return Array.isArray(radius)\n ? radius.map(r => Number(maxRadius(r)) || 0)\n : Number(maxRadius(radius)) || 0;\n}\n\nconst utils = {\n isMarkupString,\n capitalizeFirstLetter,\n degreesToRadians,\n downloadFile,\n delayForAnimation,\n stringifyCompare,\n objectPropertyOf,\n flatten,\n getDimension,\n getFirstNumber,\n measureTextWidth,\n clone,\n getMergeValue,\n RoundRect,\n rgba2argb,\n getValFromObjPath,\n reduceFraction,\n getValidColor,\n getHexColor,\n getAspectRatioH,\n getAspectRatioW,\n getWidthByUpCount,\n getDimensions,\n getWidthByColumnSpan,\n createConditionalZContext,\n watchForUpdates,\n convertTextAlignToFlexJustify,\n getMaxRoundRadius\n};\n\nexport default utils;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/*\nCreate a Lightning Object pool and then get the component from the pool.\n\nBy default we create two objects, with expectations that one is used at a time\n\nLearn more about object pools\nhttps://egghead.io/blog/object-pool-design-pattern\n*/\n\nconst pools = new Map();\n\nfunction get(key) {\n if (pools.has(key)) {\n const pool = pools.get(key);\n let index = pool.index;\n\n if (index >= pool.components.length) {\n index = 0;\n }\n pool.index = index + 1;\n\n return pool.components[index];\n }\n\n return false;\n}\n\nfunction clear() {\n pools.clear();\n}\n\nfunction create({ name, component, stage, size = 2 }) {\n if (pools.has(name)) {\n return get(name);\n }\n\n component = component || { type: name };\n const components = [];\n for (let i = 0; i < size; i++) {\n components.push(stage.c(component));\n }\n\n pools.set(name, {\n index: 0,\n components\n });\n\n return get(name);\n}\n\nexport default {\n get,\n create,\n clear\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context } from '@lightningjs/ui-components/src';\n\n// creates an array of extensions\n// added to the theme by setTheme in themeSelect\n// const extensions = [];\n\nexport const themeSelectFromMessageEvent = event => {\n themeSelect(event.data.theme);\n};\n// called in ThemePicker\nexport const themeSelect = theme => {\n if (!theme) return;\n let targetTheme;\n switch (theme) {\n // Insert other themes to swap to here\n // Can also utilize the \"extensions\" array above to add to the theme\n default:\n targetTheme = {};\n break;\n }\n return targetTheme.name && context.theme.name !== targetTheme.name\n ? context.setTheme(targetTheme)\n : Promise.resolve();\n};\n\n// registers all window events needed on load\n// called in preview.js file\nexport const registerEventListeners = () => {\n // logger and stores themes\n context.debug = true;\n context.on('themeUpdate', () => {\n window.parent.postMessage('themeSet', '*');\n });\n\n // Prevent scrolling when navigating with arrows on canvas\n window.addEventListener(\n 'keydown',\n function (e) {\n if (\n ['Space', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].indexOf(\n e.code\n ) > -1\n ) {\n e.preventDefault();\n }\n },\n false\n );\n context.storybookCustomTheme = JSON.parse(JSON.stringify(context.theme));\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport 'lightningInspect';\nimport {\n withAnnouncer,\n Speech,\n pool,\n context\n} from '@lightningjs/ui-components/src';\nimport { themeSelectFromMessageEvent } from './.storybook/utils/registerEvents';\n\n/**\n * creates the Lightning App and attaches it to the DOM for use in Storybook\n * @returns Lightning App\n */\nexport const createApp = parameters => {\n // Make sure app is only created once if path=/story\n if (window.top.location.search.indexOf('path=/docs/') <= -1) {\n if (window.APP) return window.APP;\n }\n\n pool.clear();\n\n const announcerOptions = {\n language: 'en-US',\n ...parameters.announcerOptions\n };\n\n const appParams = {\n stage: {\n w: 1280,\n h: 720,\n precision: 2 / 3,\n canvas2d: false,\n useImageWorker: false,\n inspector: false,\n defaultFontFace: 'XfinityStandardMedium',\n fontSharp: {\n precision: 2 / 3,\n fontSize: 12\n }\n },\n debug: true\n };\n\n window.CONTEXT = context; // Used by addons\n\n window.APP = new (class LightningUIApp extends withAnnouncer(\n lng.Application,\n Speech,\n announcerOptions\n ) {\n _construct() {\n this.announcerTimeout = 15 * 1000;\n }\n\n _attach() {\n window.addEventListener('message', themeSelectFromMessageEvent, false);\n }\n\n $storyChanged() {\n this.emit('storyChanged');\n }\n\n _getFocused() {\n return ((this.childList.first || {}).childList || {}).first || this;\n }\n })(appParams);\n document.body.appendChild(window.APP.stage.getCanvas());\n return window.APP;\n};\n\nexport const clearInspector = () => {\n // Clear any lightning inspector info\n if (document.querySelectorAll('[type=StoryApp]').length > 1) {\n const div = document.querySelector('[type=StoryApp]');\n div && div.parentNode.remove();\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n GridOverlay,\n context,\n utils,\n TextBox\n} from '@lightningjs/ui-components/src';\nimport { createApp, clearInspector } from '../../../index';\n\nlet previousID = null;\nlet remountProps = {};\n\n/**\n * returns true if any of the following are true\n * - if the selected story changed\n * - parameters.remountAll is true on the story\n * - an arg changes an its associated argType has a remount property set to true\n * @returns boolean of if the story component should remount\n */\nfunction shouldTriggerUpdate({ id, args, argTypes, parameters }) {\n const storyChanged = previousID !== id;\n let triggerUpdate = storyChanged;\n previousID = id;\n\n // create remountProps object to track which props should trigger remounting\n if (storyChanged) {\n remountProps = {};\n if (parameters.remountAll) {\n // track all props except mode for triggering remount\n Object.keys(args).forEach(key => {\n if (key === 'mode') {\n return;\n }\n remountProps[key] = args[key];\n });\n } else {\n // track only props with truthy remount property on their associated argType\n Object.keys(argTypes).forEach(key => {\n if (argTypes[key].remount) {\n remountProps[key] = args[key];\n }\n });\n }\n }\n\n // evaluate if any props tracked in remountProps changed and should trigger a remount\n Object.keys(remountProps).forEach(key => {\n if (remountProps[key] !== args[key]) {\n triggerUpdate = true;\n remountProps[key] = args[key];\n }\n });\n\n return triggerUpdate;\n}\n\n/** creates a global decorator that creates a single instance of the Lightning app */\n\nexport const withLightning = (\n StoryComponent,\n { id, args, argTypes, parameters, globals }\n) => {\n /**\n * the Lightning Element in the 'dom'\n */\n const app = createApp({ theme: globals.LUITheme });\n clearInspector();\n app.announcerEnabled = globals.announce;\n app.debug = globals.announce;\n // toggle stage color\n !globals.stageColor\n ? app.stage.setClearColor(utils.getValidColor('#21232A'))\n : app.stage.setClearColor(utils.getValidColor('#cccccc'));\n\n // // If an update is required patch in the new child element\n if (shouldTriggerUpdate({ id, args, argTypes, parameters })) {\n app.childList.clear();\n app.childList.a({\n StoryComponent: {\n type: class extends StoryComponent() {\n static _states() {\n return [\n class ModeUnfocusState extends this {\n _getFocused() {\n return this;\n }\n },\n class ModeFocusState extends this {\n _getFocused() {\n return this.componentTarget; // Text Element\n }\n }\n ];\n }\n // FIXME: Assess what config.optimization.minimize is doing different in production vs develop - this was prior to v7 upgrade\n get componentTarget() {\n // using this check on type Element because production vs develop build issue\n return this.childList.first instanceof lng.Component\n ? this.childList.first\n : this;\n }\n _init() {\n if (this.componentTarget) {\n // Notify application every time the style is updated. Used for componentStyles panel\n this.componentTarget.on('styleUpdated', () => {\n //FIXME: why are we setting this time out here and in setup?\n setTimeout(() => {\n this.fireAncestors('$storyChanged');\n });\n });\n }\n super._init();\n this._refocus(); // Force Lightning to reset focus\n }\n _setup() {\n // This ensures the component has its args before the first update cycle.\n if (Object.keys(args).length) {\n const argsToPatch = {};\n for (const prop in args) {\n // Apply arguments from controls\n const propValue =\n 'undefined' !== typeof args[prop]\n ? args[prop]\n : parameters.argTypes[prop].defaultValue;\n if (!parameters.argActions || !parameters.argActions[prop]) {\n argsToPatch[prop] = propValue;\n }\n }\n this.componentTarget.patch({\n ...argsToPatch\n });\n }\n\n setTimeout(() => {\n this.fireAncestors('$storyChanged');\n });\n }\n },\n w: w => w,\n h: h => h,\n x: context.theme.layout.marginX,\n y: context.theme.layout.marginY\n }\n });\n app._refocus();\n }\n\n // sets mode\n app\n .tag('StoryComponent')\n ._setState(\n !args.mode || (args.mode && args.mode === 'focused')\n ? 'ModeFocusState'\n : 'ModeUnfocusState'\n );\n //forces position update on theme change instead of just when triggerUpdate is true\n context.on('themeUpdate', () => {\n app.tag('StoryComponent') &&\n app.tag('StoryComponent').patch(\n parameters.storyDetails\n ? {\n x: context.theme.layout.marginX\n }\n : {\n x: context.theme.layout.marginX,\n y: context.theme.layout.marginY\n }\n );\n });\n if (!app.tag('GridOverlay')) {\n app.childList.a({ GridOverlay: { type: GridOverlay, zIndex: 100 } });\n }\n app.tag('GridOverlay').patch({\n // do not render this on top of the actual GridOverlay component's story\n alpha: id.includes('gridoverlay')\n ? 0\n : parseFloat(globals['GridOverlay-alpha']),\n showColumns: globals['GridOverlay-toggle-showColumns'] === 'true',\n showMargins: globals['GridOverlay-toggle-showMargins'] === 'true',\n showSafe: globals['GridOverlay-toggle-showSafe'] === 'true',\n showGutters: globals['GridOverlay-toggle-showGutters'] === 'true',\n showText: globals['GridOverlay-toggle-showText'] === 'true'\n });\n\n // add optional story description to the canvas\n if (parameters.storyDetails) {\n if (!app.tag('StoryDetails')) {\n const StoryDetails = {\n StoryDetails: {\n type: TextBox,\n content: parameters.storyDetails,\n style: {\n textStyle: {\n wordWrapWidth:\n context.theme.layout.screenW - context.theme.spacer.sm * 2\n }\n },\n x: context.theme.spacer.sm,\n y: context.theme.spacer.sm,\n onAfterUpdate: ({ y, h }) => {\n if (h > context.theme.layout.marginY) {\n app.tag('StoryComponent').y = y + h + context.theme.spacer.xl;\n }\n }\n }\n };\n app.childList.a(StoryDetails);\n }\n\n app.tag('StoryDetails').patch({ content: parameters.storyDetails });\n }\n\n /**\n * the first child under StoryComponent\n */\n const LightningUIComponent = app.tag('StoryComponent').childList.first;\n\n if (LightningUIComponent && Object.keys(args).length) {\n for (const prop in args) {\n // Apply arguments from controls\n const propValue =\n 'undefined' !== typeof args[prop]\n ? args[prop]\n : parameters.argTypes[prop].defaultValue;\n if (!parameters.argActions || !parameters.argActions[prop]) {\n LightningUIComponent[prop] = propValue;\n }\n }\n }\n // applying argAction\n if (\n LightningUIComponent &&\n parameters.argActions &&\n Object.keys(parameters.argActions).length\n ) {\n for (const prop in parameters.argActions) {\n if ('function' === typeof parameters.argActions[prop]) {\n try {\n parameters.argActions[prop](args[prop], app.tag('StoryComponent'));\n } catch (err) {\n console.error('unable to apply argAction for ' + prop);\n }\n }\n }\n return app.getCanvas();\n }\n return app.stage.getCanvas();\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// these two lines need to be in this order\n// to wait until the inspector is enabled before attaching it\nimport { withLightning } from './addons/decorators/withLightning';\nimport { registerEventListeners, themeSelect } from './utils/registerEvents';\nimport { themes } from '@storybook/theming';\n\n// loads window event listeners\nregisterEventListeners();\n/**\n * custom global props that can be accessed in decorators and add-ons\n * globalTypes can only be set in preview.js\n * @see https://storybook.js.org/docs/react/essentials/toolbars-and-globals#globals\n */\nconst preview = {\n parameters: {\n actions: { argTypesRegex: '^on.*' },\n backgrounds: {\n disable: true\n },\n controls: {\n hideNoControlsWarning: true,\n expanded: true,\n sort: 'requiredFirst'\n },\n docs: {\n theme: themes.dark,\n argTypes: {\n sort: 'alpha',\n exclude: ['mode']\n }\n },\n options: {\n /** NOTE: v7 storySort must be self-contained function & no reference to outside variables\n https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#v7-style-story-sort\n */\n storySort: {\n method: 'alphabetical',\n order: [\n 'Docs',\n [\n 'Introduction',\n 'Read Me',\n 'Base',\n 'Contributing',\n 'Lightning Resources',\n 'Lightning Community Guide',\n 'Theming',\n [\n 'Overview',\n 'Component Config',\n 'Tones',\n 'Modes',\n 'Extensions',\n 'Subtheming',\n 'Use in Storybook',\n 'Theme Properties',\n '*'\n ],\n 'Unit Testing',\n [\n 'Overview',\n 'Test Renderer',\n 'Test Utils',\n ['makeCreateComponent', '*']\n ]\n ],\n 'Collections',\n 'Utilities',\n 'Components',\n 'Patterns',\n 'Templates'\n ]\n }\n }\n },\n globalTypes: {\n LUITheme: {\n name: 'Theme',\n description: 'Theme select',\n defaultValue: 'base'\n },\n 'GridOverlay-alpha': {\n defaultValue: '0'\n },\n 'GridOverlay-toggle-showColumns': {\n defaultValue: 'true'\n },\n 'GridOverlay-toggle-showMargins': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showSafe': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showGutters': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showText': {\n defaultValue: 'false'\n },\n announce: {\n defaultValue: false\n },\n stageColor: {\n defaultValue: false\n }\n },\n decorators: [withLightning],\n loaders: [\n async ({ globals }) => {\n await themeSelect(globals.LUITheme);\n return;\n }\n ]\n};\nexport default preview;\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = \"../../../node_modules/@storybook/core/dist/theming sync recursive\";\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./Overview.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/Overview.mdx\",\n\t\t5600,\n\t\t9436\n\t],\n\t\"./TestRenderer/create.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestRenderer/create.mdx\",\n\t\t5600,\n\t\t7557\n\t],\n\t\"./TestRenderer/toJSON.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestRenderer/toJSON.mdx\",\n\t\t5600,\n\t\t2012\n\t],\n\t\"./TestUtils/completeAnimation.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/completeAnimation.mdx\",\n\t\t5600,\n\t\t9738\n\t],\n\t\"./TestUtils/fastForward.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/fastForward.mdx\",\n\t\t5600,\n\t\t4942\n\t],\n\t\"./TestUtils/makeCreateComponent.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/makeCreateComponent.mdx\",\n\t\t5600,\n\t\t1200\n\t],\n\t\"./TestUtils/nextTick.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/nextTick.mdx\",\n\t\t5600,\n\t\t9221\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components-test-utils/src/docs lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components-test-utils\\\\/src\\\\/docs(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Overview.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/Overview.mdx\",\n\t\t5600,\n\t\t9436\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components-test-utils/src/docs lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components-test-utils\\\\/src\\\\/docs\\\\/(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./components/Artwork/Artwork.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.mdx\",\n\t\t5600,\n\t\t1930,\n\t\t3121\n\t],\n\t\"./components/Badge/Badge.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.mdx\",\n\t\t5600,\n\t\t1185\n\t],\n\t\"./components/Button/Button.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.mdx\",\n\t\t5600,\n\t\t463\n\t],\n\t\"./components/Card/Card.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.mdx\",\n\t\t5600,\n\t\t8007\n\t],\n\t\"./components/Card/CardRadio.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t9172\n\t],\n\t\"./components/Card/CardSection.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t7972\n\t],\n\t\"./components/Card/CardTitle.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t9983\n\t],\n\t\"./components/CardContent/CardContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5225\n\t],\n\t\"./components/Checkbox/Checkbox.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.mdx\",\n\t\t5600,\n\t\t669\n\t],\n\t\"./components/Column/Column.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341,\n\t\t6243\n\t],\n\t\"./components/Control/Control.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.mdx\",\n\t\t5600,\n\t\t4165\n\t],\n\t\"./components/ControlRow/ControlRow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t8237\n\t],\n\t\"./components/FocusManager/FocusManager.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7633\n\t],\n\t\"./components/Gradient/Gradient.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.mdx\",\n\t\t5600,\n\t\t9367\n\t],\n\t\"./components/GridOverlay/GridOverlay.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.mdx\",\n\t\t5600,\n\t\t9153\n\t],\n\t\"./components/Icon/Icon.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.mdx\",\n\t\t5600,\n\t\t3901\n\t],\n\t\"./components/InlineContent/InlineContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.mdx\",\n\t\t5600,\n\t\t377\n\t],\n\t\"./components/Input/Input.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2363,\n\t\t8593\n\t],\n\t\"./components/Key/Key.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t3069,\n\t\t8901\n\t],\n\t\"./components/Keyboard/Keyboard.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.mdx\",\n\t\t5600,\n\t\t8613\n\t],\n\t\"./components/Knob/Knob.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.mdx\",\n\t\t5600,\n\t\t3211\n\t],\n\t\"./components/Label/Label.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.mdx\",\n\t\t5600,\n\t\t8601\n\t],\n\t\"./components/ListItem/ListItem.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2067,\n\t\t9529\n\t],\n\t\"./components/ListItem/ListItemPicker.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2067,\n\t\t5316,\n\t\t6391\n\t],\n\t\"./components/ListItem/ListItemSlider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t4042,\n\t\t2067,\n\t\t3245,\n\t\t5146\n\t],\n\t\"./components/Marquee/Marquee.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.mdx\",\n\t\t5600,\n\t\t8189\n\t],\n\t\"./components/MetadataBase/MetadataBase.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t6923\n\t],\n\t\"./components/MetadataCard/MetadataCard.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t3645\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t6915,\n\t\t7365\n\t],\n\t\"./components/MetadataTile/MetadataTile.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t4077\n\t],\n\t\"./components/NavigationManager/NavigationManager.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t8965\n\t],\n\t\"./components/ProgressBar/ProgressBar.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.mdx\",\n\t\t5600,\n\t\t7809\n\t],\n\t\"./components/Provider/Provider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.mdx\",\n\t\t5600,\n\t\t997\n\t],\n\t\"./components/Radio/Radio.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.mdx\",\n\t\t5600,\n\t\t8225\n\t],\n\t\"./components/Row/Row.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t1323,\n\t\t6361\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t1137\n\t],\n\t\"./components/Shadow/Shadow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.mdx\",\n\t\t5600,\n\t\t3879\n\t],\n\t\"./components/Slider/Slider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.mdx\",\n\t\t5600,\n\t\t7525\n\t],\n\t\"./components/Surface/Surface.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.mdx\",\n\t\t5600,\n\t\t8057\n\t],\n\t\"./components/TabBar/Tab.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.mdx\",\n\t\t5600,\n\t\t9023,\n\t\t4996\n\t],\n\t\"./components/TabBar/TabBar.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t643\n\t],\n\t\"./components/TextBox/TextBox.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.mdx\",\n\t\t5600,\n\t\t3865\n\t],\n\t\"./components/Tile/Tile.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3963\n\t],\n\t\"./components/TitleRow/TitleRow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t6739\n\t],\n\t\"./components/Toggle/Toggle.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.mdx\",\n\t\t5600,\n\t\t7043\n\t],\n\t\"./components/Tooltip/Tooltip.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2833\n\t],\n\t\"./docs/Base.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Base.mdx\",\n\t\t5600,\n\t\t9382\n\t],\n\t\"./docs/Introduction.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Introduction.mdx\",\n\t\t5600,\n\t\t3485\n\t],\n\t\"./docs/LightningCommunityGuide.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/LightningCommunityGuide.mdx\",\n\t\t5600,\n\t\t2000\n\t],\n\t\"./docs/LightningResources.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/LightningResources.mdx\",\n\t\t5600,\n\t\t6636\n\t],\n\t\"./docs/Storybook.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Storybook.mdx\",\n\t\t5600,\n\t\t879\n\t],\n\t\"./docs/Theming.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Theming.mdx\",\n\t\t5600,\n\t\t6681\n\t],\n\t\"./docs/ThemingAttributes.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingAttributes.mdx\",\n\t\t5600,\n\t\t7538\n\t],\n\t\"./docs/ThemingComponentConfig.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingComponentConfig.mdx\",\n\t\t5600,\n\t\t696\n\t],\n\t\"./docs/ThemingExtensions.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingExtensions.mdx\",\n\t\t5600,\n\t\t2851\n\t],\n\t\"./docs/ThemingHierarchy.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingHierarchy.mdx\",\n\t\t5600,\n\t\t7190\n\t],\n\t\"./docs/ThemingMode.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingMode.mdx\",\n\t\t5600,\n\t\t7468\n\t],\n\t\"./docs/ThemingStorybook.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingStorybook.mdx\",\n\t\t5600,\n\t\t8543\n\t],\n\t\"./docs/ThemingSubTheming.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingSubTheming.mdx\",\n\t\t5600,\n\t\t4713\n\t],\n\t\"./docs/ThemingTone.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingTone.mdx\",\n\t\t5600,\n\t\t8773\n\t],\n\t\"./docs/ThemingTutorial.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingTutorial.mdx\",\n\t\t5600,\n\t\t6711\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t5715\n\t],\n\t\"./mixins/withClassCache/withClassCache.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withClassCache/withClassCache.mdx\",\n\t\t5600,\n\t\t1105\n\t],\n\t\"./mixins/withEditItems/withEditItems.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t1323,\n\t\t2555\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3515\n\t],\n\t\"./mixins/withLayout/withLayout.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4433\n\t],\n\t\"./mixins/withLongPress/withLongPress.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3195\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.mdx\",\n\t\t5600,\n\t\t1587\n\t],\n\t\"./mixins/withSelections/withSelections.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t5675\n\t],\n\t\"./mixins/withTags/withTags.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.mdx\",\n\t\t5600,\n\t\t8651\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.mdx\",\n\t\t5600,\n\t\t4947\n\t],\n\t\"./mixins/withUpdates/withUpdates.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.mdx\",\n\t\t5600,\n\t\t4899\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components/src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components\\\\/src(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./components/Artwork/Artwork.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.stories.js\",\n\t\t1930,\n\t\t5139\n\t],\n\t\"./components/Artwork/Artwork.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.stories.js\",\n\t\t1930,\n\t\t5139\n\t],\n\t\"./components/Badge/Badge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.stories.js\",\n\t\t291\n\t],\n\t\"./components/Badge/Badge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.stories.js\",\n\t\t291\n\t],\n\t\"./components/Button/Button.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.stories.js\",\n\t\t5338,\n\t\t7721\n\t],\n\t\"./components/Button/Button.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.stories.js\",\n\t\t5338,\n\t\t7721\n\t],\n\t\"./components/Button/ButtonSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/ButtonSmall.stories.js\",\n\t\t5338,\n\t\t6610\n\t],\n\t\"./components/Button/ButtonSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/ButtonSmall.stories.js\",\n\t\t5338,\n\t\t6610\n\t],\n\t\"./components/Card/Card.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.stories.js\",\n\t\t3878,\n\t\t2513\n\t],\n\t\"./components/Card/Card.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.stories.js\",\n\t\t3878,\n\t\t2513\n\t],\n\t\"./components/Card/CardRadio.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.stories.js\",\n\t\t3878,\n\t\t9134\n\t],\n\t\"./components/Card/CardRadio.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.stories.js\",\n\t\t3878,\n\t\t9134\n\t],\n\t\"./components/Card/CardSection.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.stories.js\",\n\t\t3878,\n\t\t5278\n\t],\n\t\"./components/Card/CardSection.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.stories.js\",\n\t\t3878,\n\t\t5278\n\t],\n\t\"./components/Card/CardTitle.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.stories.js\",\n\t\t3878,\n\t\t1977\n\t],\n\t\"./components/Card/CardTitle.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.stories.js\",\n\t\t3878,\n\t\t1977\n\t],\n\t\"./components/CardContent/CardContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11\n\t],\n\t\"./components/CardContent/CardContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11\n\t],\n\t\"./components/CardContent/CardContentHorizontal.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontal.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5367\n\t],\n\t\"./components/CardContent/CardContentHorizontal.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontal.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5367\n\t],\n\t\"./components/CardContent/CardContentHorizontalLarge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontalLarge.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t9856\n\t],\n\t\"./components/CardContent/CardContentHorizontalLarge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontalLarge.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t9856\n\t],\n\t\"./components/CardContent/CardContentVertical.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVertical.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t4485\n\t],\n\t\"./components/CardContent/CardContentVertical.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVertical.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t4485\n\t],\n\t\"./components/CardContent/CardContentVerticalSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVerticalSmall.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t238\n\t],\n\t\"./components/CardContent/CardContentVerticalSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVerticalSmall.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t238\n\t],\n\t\"./components/Checkbox/Checkbox.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.stories.js\",\n\t\t6151\n\t],\n\t\"./components/Checkbox/Checkbox.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.stories.js\",\n\t\t6151\n\t],\n\t\"./components/Checkbox/CheckboxSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/CheckboxSmall.stories.js\",\n\t\t8040\n\t],\n\t\"./components/Checkbox/CheckboxSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/CheckboxSmall.stories.js\",\n\t\t8040\n\t],\n\t\"./components/Column/Column.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341\n\t],\n\t\"./components/Column/Column.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341\n\t],\n\t\"./components/Control/Control.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.stories.js\",\n\t\t5338,\n\t\t6095\n\t],\n\t\"./components/Control/Control.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.stories.js\",\n\t\t5338,\n\t\t6095\n\t],\n\t\"./components/Control/ControlSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/ControlSmall.stories.js\",\n\t\t5338,\n\t\t1735,\n\t\t2368\n\t],\n\t\"./components/Control/ControlSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/ControlSmall.stories.js\",\n\t\t5338,\n\t\t1735,\n\t\t2368\n\t],\n\t\"./components/ControlRow/ControlRow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t4759\n\t],\n\t\"./components/ControlRow/ControlRow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t4759\n\t],\n\t\"./components/FocusManager/FocusManager.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.stories.js\",\n\t\t5338,\n\t\t9251\n\t],\n\t\"./components/FocusManager/FocusManager.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.stories.js\",\n\t\t5338,\n\t\t9251\n\t],\n\t\"./components/Gradient/Gradient.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.stories.js\",\n\t\t289\n\t],\n\t\"./components/Gradient/Gradient.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.stories.js\",\n\t\t289\n\t],\n\t\"./components/GridOverlay/GridOverlay.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.stories.js\",\n\t\t4179\n\t],\n\t\"./components/GridOverlay/GridOverlay.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.stories.js\",\n\t\t4179\n\t],\n\t\"./components/Icon/Icon.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.stories.js\",\n\t\t8311\n\t],\n\t\"./components/Icon/Icon.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.stories.js\",\n\t\t8311\n\t],\n\t\"./components/InlineContent/InlineContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.stories.js\",\n\t\t9627\n\t],\n\t\"./components/InlineContent/InlineContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.stories.js\",\n\t\t9627\n\t],\n\t\"./components/Input/Input.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.stories.js\",\n\t\t5338,\n\t\t2363,\n\t\t6115\n\t],\n\t\"./components/Input/Input.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.stories.js\",\n\t\t5338,\n\t\t2363,\n\t\t6115\n\t],\n\t\"./components/Key/Key.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t2639\n\t],\n\t\"./components/Key/Key.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t2639\n\t],\n\t\"./components/Keyboard/Keyboard.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575\n\t],\n\t\"./components/Keyboard/Keyboard.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575\n\t],\n\t\"./components/Keyboard/KeyboardEmail.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardEmail.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t1677\n\t],\n\t\"./components/Keyboard/KeyboardEmail.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardEmail.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t1677\n\t],\n\t\"./components/Keyboard/KeyboardFullscreen.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardFullscreen.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8892\n\t],\n\t\"./components/Keyboard/KeyboardFullscreen.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardFullscreen.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8892\n\t],\n\t\"./components/Keyboard/KeyboardInput.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardInput.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2363,\n\t\t2649\n\t],\n\t\"./components/Keyboard/KeyboardInput.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardInput.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2363,\n\t\t2649\n\t],\n\t\"./components/Keyboard/KeyboardNumbers.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardNumbers.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t6691\n\t],\n\t\"./components/Keyboard/KeyboardNumbers.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardNumbers.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t6691\n\t],\n\t\"./components/Keyboard/KeyboardQwerty.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardQwerty.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8035\n\t],\n\t\"./components/Keyboard/KeyboardQwerty.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardQwerty.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8035\n\t],\n\t\"./components/Keyboard/KeyboardSearch.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardSearch.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2643\n\t],\n\t\"./components/Keyboard/KeyboardSearch.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardSearch.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2643\n\t],\n\t\"./components/Knob/Knob.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.stories.js\",\n\t\t1661\n\t],\n\t\"./components/Knob/Knob.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.stories.js\",\n\t\t1661\n\t],\n\t\"./components/Label/Label.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.stories.js\",\n\t\t6747\n\t],\n\t\"./components/Label/Label.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.stories.js\",\n\t\t6747\n\t],\n\t\"./components/ListItem/ListItem.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.stories.js\",\n\t\t5338,\n\t\t2067,\n\t\t4827\n\t],\n\t\"./components/ListItem/ListItem.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.stories.js\",\n\t\t5338,\n\t\t2067,\n\t\t4827\n\t],\n\t\"./components/ListItem/ListItemPicker.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.stories.js\",\n\t\t5338,\n\t\t5316,\n\t\t5137\n\t],\n\t\"./components/ListItem/ListItemPicker.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.stories.js\",\n\t\t5338,\n\t\t5316,\n\t\t5137\n\t],\n\t\"./components/ListItem/ListItemSlider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.stories.js\",\n\t\t5338,\n\t\t4042,\n\t\t3245,\n\t\t4188\n\t],\n\t\"./components/ListItem/ListItemSlider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.stories.js\",\n\t\t5338,\n\t\t4042,\n\t\t3245,\n\t\t4188\n\t],\n\t\"./components/Marquee/Marquee.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.stories.js\",\n\t\t6423\n\t],\n\t\"./components/Marquee/Marquee.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.stories.js\",\n\t\t6423\n\t],\n\t\"./components/MetadataBase/MetadataBase.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.stories.js\",\n\t\t7679,\n\t\t9725\n\t],\n\t\"./components/MetadataBase/MetadataBase.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.stories.js\",\n\t\t7679,\n\t\t9725\n\t],\n\t\"./components/MetadataCard/MetadataCard.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.stories.js\",\n\t\t7679,\n\t\t1655\n\t],\n\t\"./components/MetadataCard/MetadataCard.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.stories.js\",\n\t\t7679,\n\t\t1655\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.stories.js\",\n\t\t7679,\n\t\t6915,\n\t\t287\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.stories.js\",\n\t\t7679,\n\t\t6915,\n\t\t287\n\t],\n\t\"./components/MetadataTile/MetadataTile.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.stories.js\",\n\t\t7679,\n\t\t983\n\t],\n\t\"./components/MetadataTile/MetadataTile.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.stories.js\",\n\t\t7679,\n\t\t983\n\t],\n\t\"./components/NavigationManager/NavigationManager.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.stories.js\",\n\t\t5338,\n\t\t7807\n\t],\n\t\"./components/NavigationManager/NavigationManager.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.stories.js\",\n\t\t5338,\n\t\t7807\n\t],\n\t\"./components/ProgressBar/ProgressBar.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.stories.js\",\n\t\t5427\n\t],\n\t\"./components/ProgressBar/ProgressBar.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.stories.js\",\n\t\t5427\n\t],\n\t\"./components/Provider/Provider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.stories.js\",\n\t\t3327\n\t],\n\t\"./components/Provider/Provider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.stories.js\",\n\t\t3327\n\t],\n\t\"./components/Radio/Radio.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.stories.js\",\n\t\t547\n\t],\n\t\"./components/Radio/Radio.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.stories.js\",\n\t\t547\n\t],\n\t\"./components/Radio/RadioSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/RadioSmall.stories.js\",\n\t\t2932\n\t],\n\t\"./components/Radio/RadioSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/RadioSmall.stories.js\",\n\t\t2932\n\t],\n\t\"./components/Row/Row.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.stories.js\",\n\t\t5338,\n\t\t1323\n\t],\n\t\"./components/Row/Row.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.stories.js\",\n\t\t5338,\n\t\t1323\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t7987\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t7987\n\t],\n\t\"./components/Shadow/Shadow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.stories.js\",\n\t\t3153\n\t],\n\t\"./components/Shadow/Shadow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.stories.js\",\n\t\t3153\n\t],\n\t\"./components/Slider/Slider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.stories.js\",\n\t\t4042,\n\t\t3375\n\t],\n\t\"./components/Slider/Slider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.stories.js\",\n\t\t4042,\n\t\t3375\n\t],\n\t\"./components/Slider/SliderLarge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/SliderLarge.stories.js\",\n\t\t4042,\n\t\t8232\n\t],\n\t\"./components/Slider/SliderLarge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/SliderLarge.stories.js\",\n\t\t4042,\n\t\t8232\n\t],\n\t\"./components/Surface/Surface.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.stories.js\",\n\t\t7771\n\t],\n\t\"./components/Surface/Surface.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.stories.js\",\n\t\t7771\n\t],\n\t\"./components/TabBar/Tab.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.stories.js\",\n\t\t9023,\n\t\t46\n\t],\n\t\"./components/TabBar/Tab.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.stories.js\",\n\t\t9023,\n\t\t46\n\t],\n\t\"./components/TabBar/TabBar.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t8197\n\t],\n\t\"./components/TabBar/TabBar.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t8197\n\t],\n\t\"./components/TextBox/TextBox.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.stories.js\",\n\t\t8027\n\t],\n\t\"./components/TextBox/TextBox.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.stories.js\",\n\t\t8027\n\t],\n\t\"./components/Tile/Tile.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2877\n\t],\n\t\"./components/Tile/Tile.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2877\n\t],\n\t\"./components/TitleRow/TitleRow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t9861\n\t],\n\t\"./components/TitleRow/TitleRow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t9861\n\t],\n\t\"./components/Toggle/Toggle.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.stories.js\",\n\t\t7061\n\t],\n\t\"./components/Toggle/Toggle.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.stories.js\",\n\t\t7061\n\t],\n\t\"./components/Toggle/ToggleSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/ToggleSmall.stories.js\",\n\t\t5358\n\t],\n\t\"./components/Toggle/ToggleSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/ToggleSmall.stories.js\",\n\t\t5358\n\t],\n\t\"./components/Tooltip/Tooltip.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.stories.js\",\n\t\t5338,\n\t\t9459\n\t],\n\t\"./components/Tooltip/Tooltip.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.stories.js\",\n\t\t5338,\n\t\t9459\n\t],\n\t\"./docs/ThemingFoundations.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingFoundations.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t6491\n\t],\n\t\"./docs/ThemingFoundations.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingFoundations.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t6491\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.stories.js\",\n\t\t5338,\n\t\t133\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.stories.js\",\n\t\t5338,\n\t\t133\n\t],\n\t\"./mixins/withEditItems/withEditItems.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.stories.js\",\n\t\t5338,\n\t\t1323,\n\t\t3597\n\t],\n\t\"./mixins/withEditItems/withEditItems.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.stories.js\",\n\t\t5338,\n\t\t1323,\n\t\t3597\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4637\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4637\n\t],\n\t\"./mixins/withLayout/withLayout.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4563\n\t],\n\t\"./mixins/withLayout/withLayout.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4563\n\t],\n\t\"./mixins/withLongPress/withLongPress.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4877\n\t],\n\t\"./mixins/withLongPress/withLongPress.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4877\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.stories.js\",\n\t\t1909\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.stories.js\",\n\t\t1909\n\t],\n\t\"./mixins/withSelections/withSelections.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.stories.js\",\n\t\t5338,\n\t\t8477\n\t],\n\t\"./mixins/withSelections/withSelections.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.stories.js\",\n\t\t5338,\n\t\t8477\n\t],\n\t\"./mixins/withTags/withTags.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.stories.js\",\n\t\t6282\n\t],\n\t\"./mixins/withTags/withTags.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.stories.js\",\n\t\t6282\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.stories.js\",\n\t\t9285\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.stories.js\",\n\t\t9285\n\t],\n\t\"./mixins/withUpdates/withUpdates.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.stories.js\",\n\t\t8853\n\t],\n\t\"./mixins/withUpdates/withUpdates.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.stories.js\",\n\t\t8853\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components/src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components\\\\/src(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.stories\\\\.(js%7Cjsx%7Cts%7Ctsx))$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Contributing.mdx\": [\n\t\t\"./src/Contributing.mdx\",\n\t\t5600,\n\t\t4073\n\t],\n\t\"./Readme.mdx\": [\n\t\t\"./src/Readme.mdx\",\n\t\t5600,\n\t\t7511\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/src\\\\/(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","const pipeline = (x) => x();\n\nconst importers = [\n async (path) => {\n if (!/^\\.[\\\\/](?:src\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(6);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/src\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n './src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(37);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components/src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(37);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$/ */\n '../../@lightningjs/ui-components/src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(53);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components-test-utils/src/docs/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(53);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components-test-utils/src/docs/' + pathRemainder\n );\n }\n \n];\n\nexport async function importFn(path) {\n for (let i = 0; i < importers.length; i++) {\n const moduleExports = await pipeline(() => importers[i](path));\n if (moduleExports) {\n return moduleExports;\n }\n }\n}","import { global } from '@storybook/global';\n\nimport { ClientApi, PreviewWeb, addons, composeConfigs } from 'storybook/internal/preview-api';\nimport { createBrowserChannel } from 'storybook/internal/channels';\n\nimport { importFn } from './storybook-stories.js';\n\nconst getProjectAnnotations = () =>\ncomposeConfigs([require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview-docs.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/actions/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-docs/dist/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/packages/apps/lightning-ui-docs/.storybook/preview.js'),]);\n\nconst channel = createBrowserChannel({ page: 'preview' });\naddons.setChannel(channel);\n\nif (global.CONFIG_TYPE === 'DEVELOPMENT'){\nwindow.__STORYBOOK_SERVER_CHANNEL__ = channel;\n}\n\nconst preview = new PreviewWeb(importFn, getProjectAnnotations);\n\nwindow.__STORYBOOK_PREVIEW__ = preview;\nwindow.__STORYBOOK_STORY_STORE__ = preview.storyStore;\nwindow.__STORYBOOK_ADDONS_CHANNEL__ = channel;\n\nif (import.meta.webpackHot) {\nimport.meta.webpackHot.accept('./storybook-stories.js', () => {\n// importFn has changed so we need to patch the new one in\npreview.onStoriesChanged({ importFn });\n});\n\nimport.meta.webpackHot.accept(['/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview-docs.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/actions/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-docs/dist/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/packages/apps/lightning-ui-docs/.storybook/preview.js',], () => {\n// getProjectAnnotations has changed so we need to patch the new one in\npreview.onGetProjectAnnotationsChanged({ getProjectAnnotations });\n});\n}","module.exports = __STORYBOOK_MODULE_CHANNELS__;","module.exports = __STORYBOOK_MODULE_CLIENT_LOGGER__;","module.exports = __STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__;","module.exports = __STORYBOOK_MODULE_CORE_EVENTS__;","module.exports = __STORYBOOK_MODULE_GLOBAL__;","module.exports = __STORYBOOK_MODULE_PREVIEW_API__;"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/main.1e40b216.iframe.bundle.js b/main.ef89d967.iframe.bundle.js similarity index 99% rename from main.1e40b216.iframe.bundle.js rename to main.ef89d967.iframe.bundle.js index e75c5b8b1..1c1c1a960 100644 --- a/main.1e40b216.iframe.bundle.js +++ b/main.ef89d967.iframe.bundle.js @@ -7622,11 +7622,6 @@ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLim function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } -function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } -function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } @@ -7634,6 +7629,11 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /** * Copyright 2023 Comcast Cable Communications Management, LLC @@ -7833,32 +7833,42 @@ function removeEmptyObjects(obj) { } return obj; // Always return obj, even if it's empty } +function safeStringify(originalObj) { + var obj = _objectSpread({}, originalObj); + var seen = new WeakSet(); // WeakSet is used to store references to objects we've processed -// This map will store hashes of objects to detect duplicates. - + return JSON.stringify(obj, function (key, value) { + if (_typeof(value) === 'object' && value !== null) { + if (seen.has(value)) { + return '[Circular]'; // Replace circular references with a string + } + seen.add(value); // Mark this object as seen + } + return value; // Return the value as is + }); +} function createSharedReferences() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var seenObjects = new Map(); + var seenObjects = new Map(); // Store original reference -> shared reference - // Generates a hash for an object. - // Sorting keys ensures consistent hash regardless of property order. - function hash(object) { - return JSON.stringify(object, Object.keys(object).sort()); - } function process(currentObj) { - for (var key in currentObj) { - if (currentObj.hasOwnProperty(key)) { - var value = currentObj[key]; - if (_typeof(value) === 'object' && value !== null) { - // Ensure it's an object - var valueHash = hash(value); - if (seenObjects.has(valueHash)) { - // If we've seen this object before, replace the current reference - // with the original reference. - currentObj[key] = seenObjects.get(valueHash); - } else { - seenObjects.set(valueHash, value); - process(value); // Recursively process this object + var queue = [currentObj]; // Use a queue for breadth-first traversal + + while (queue.length > 0) { + var current = queue.shift(); + for (var key in current) { + if (current.hasOwnProperty(key)) { + var value = current[key]; + if (_typeof(value) === 'object' && value !== null) { + var cacheKey = safeStringify(value); + if (seenObjects.has(cacheKey)) { + // Replace duplicate reference with the shared reference + current[key] = seenObjects.get(cacheKey); + } else { + // Add child objects to the queue for processing + seenObjects.set(cacheKey, value); + queue.push(value); + } } } } @@ -13034,4 +13044,4 @@ module.exports = __STORYBOOK_MODULE_PREVIEW_API__; /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); -//# sourceMappingURL=main.1e40b216.iframe.bundle.js.map \ No newline at end of file +//# sourceMappingURL=main.ef89d967.iframe.bundle.js.map \ No newline at end of file diff --git a/main.ef89d967.iframe.bundle.js.map b/main.ef89d967.iframe.bundle.js.map new file mode 100644 index 000000000..49071d0bc --- /dev/null +++ b/main.ef89d967.iframe.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.ef89d967.iframe.bundle.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AASA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AA5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAOA;AANA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAMA;AAGA;AAAA;AAAA;AAGA;AAGA;AAEA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AACA;;AAIA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AA3QA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AA8PA;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AArGA;AACA;AAAA;AAAA;AAuGA;AACA;AAKA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAMA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAKA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AACA;AAAA;;AAGA;AACA;AACA;AACA;AAAA;AAEA;;AAIA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AApLA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAWA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAGA;AAAA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAKA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AApcA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AA8bA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA;AAGA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAGA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AAEA;AAAA;AAEA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAzDA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AA5CA;AA8DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgJA;AACA;AAMA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;;AAEA;AACA;AAEA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAxUA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAOA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AAAA;AACA;AACA;AAFA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AA3IA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;;AAEA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAGA;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AAEA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AAAA;AAAA;AAGA;AAIA;AAEA;AACA;AAIA;AAGA;AAAA;AACA;AAEA;AACA;AAGA;AAAA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AA3BA;AACA;AAAA;AAAA;AAAA;AAhfA;AAWA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AArQA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AAUA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AAKA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AAEA;AAIA;AAKA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AAEA;AAOA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAOA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAMA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAMA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAzgBA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAWA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAUA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AACA;AAEA;AAMA;AACA;AACA;AAEA;AAOA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AA9NA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAGA;AAMA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AAIA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AAPA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AAEA;AAMA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAMA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAGA;AACA;AAAA;AAAA;AAAA;AAhUA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AAQA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAGA;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAEA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7VA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AA/BA;AAAA;AAAA;AAgCA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAfA;AAAA;AAAA;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAMA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAxBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAGA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AA7BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AANA;AAAA;AAAA;AAAA;AAQA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAKA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AA3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAAA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AArCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAGA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AASA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;;;;;;;;;AC5aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAGA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAGA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA;AAmBA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;AC1FA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAFA;AAGA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AAGA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAPA;AAAA;AAQA;AAAA;AAAA;AACA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AAOA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAQA;AACA;AAAA;AANA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAIA;AACA;AACA;AAAA;AAAA;AAAA;AA/BA;AACA;AAAA;AAAA;AAgCA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AArBA;AACA;AAAA;AAAA;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AAEA;AAIA;AAGA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAKA;AAAA;AAJA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AACA;AAOA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAIA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AAOA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAKA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAIA;AACA;AAKA;AAKA;AAIA;AACA;AACA;AACA;;;;AC/yBA;AAEA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAOA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AAQA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AAEA;AAAA;AAAA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAAA;AAAA;AAQA;AACA;AAAA;AALA;AACA;AAAA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAbA;AACA;AAAA;AAAA;AAAA;AAgBA;AAMA;AACA;AAMA;AAEA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAIA;AAIA;AAIA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;;AAEA;AAKA;AACA;;AAEA;AACA;;AAOA;AACA;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;AAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAeA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAfA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAeA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAlKA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAsJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AAAA;AACA;AACA;AAKA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAKA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AASA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AA7GA;AACA;AAAA;AAAA;AA8GA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAQA;AAQA;AAAA;AAAA;AA1CA;AA6CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAQA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAMA;AAOA;AACA;AAEA;AAAA;AACA;AAEA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAKA;AAJA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAGA;AAEA;AAEA;AAEA;AAGA;AAMA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAJA;AAAA;AAAA;AAAA;AAQA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAJA;AAAA;AAAA;AAAA;AAQA;AAEA;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAKA;AACA;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AAQA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAHA;AACA;AAAA;AACA;AAEA;AACA;AAGA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC14BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAGA;AAKA;AACA;AACA;AAGA;AACA;;;;;;;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAMA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAMA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA;;AAEA;AAGA;AADA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAvDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AA6CA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAOA;AACA;AACA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvQA;AAAA;AAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;;;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACx1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA","sources":["webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Badge/Badge.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Badge/Badge.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withLayout/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withExtensions/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Base/Base.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Column/Column.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Column/Column.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Icon/Icon.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Icon/Icon.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Marquee/Marquee.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Marquee/Marquee.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Row/Row.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/Row/Row.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/TextBox/TextBox.styles.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/components/TextBox/TextBox.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/metrics.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/events.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components-theme-base/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/fonts.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/constants.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/theme-manager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/context/logger.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/global-update-manager/GlobalUpdateManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/Speech.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/abbreviations.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withAnnouncer/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withHandleKey/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withTags/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/utils.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/cache.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/StyleManager.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withThemeStyles/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/mixins/withUpdates/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/shaders/FadeShader.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/textures/CustomImageTexture.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/utils/index.js","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/globals/pool/index.js","webpack://lightning-ui-docs/./.storybook/utils/registerEvents.js","webpack://lightning-ui-docs/./index.js","webpack://lightning-ui-docs/./.storybook/addons/decorators/withLightning.js","webpack://lightning-ui-docs/./.storybook/preview.js","webpack://lightning-ui-docs/../../../node_modules/@storybook/core/dist/theming/ sync","webpack://lightning-ui-docs/../../@lightningjs/ui-components-test-utils/src/docs/ lazy ^\\.\\/.*$ include: (?678b","webpack://lightning-ui-docs/../../@lightningjs/ui-components-test-utils/src/docs/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/../../@lightningjs/ui-components/src/ lazy ^\\.\\/.*$ include: (?cb14","webpack://lightning-ui-docs/./src/ lazy ^\\.\\/.*$ include: (","webpack://lightning-ui-docs/./storybook-stories.js","webpack://lightning-ui-docs/./storybook-config-entry.js","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CHANNELS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CLIENT_LOGGER__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_CORE_EVENTS__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_GLOBAL__\"","webpack://lightning-ui-docs/external var \"__STORYBOOK_MODULE_PREVIEW_API__\""],"sourcesContent":["/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => {\n return {\n contentSpacing: theme.spacer.xs,\n offsetY: 1,\n paddingX: theme.spacer.md,\n paddingY: theme.spacer.xs,\n radius: theme.radius.sm,\n strokeWidth: theme.stroke.sm,\n textStyle: {\n ...theme.typography.tag1,\n textAlign: 'center'\n }\n };\n};\n\nexport const tone = theme => ({\n neutral: {\n backgroundColor: theme.color.fillInverseSecondary,\n iconColor: theme.color.textNeutral,\n textStyle: { textColor: theme.color.textNeutral },\n strokeColor: theme.color.strokeNeutralSecondary\n },\n inverse: {\n backgroundColor: theme.color.fillNeutralSecondary,\n iconColor: theme.color.textInverse,\n textStyle: { textColor: theme.color.textInverse },\n strokeColor: theme.color.strokeInverseSecondary\n },\n brand: {\n backgroundColor: theme.color.fillBrand,\n iconColor: theme.color.textNeutral,\n textStyle: { textColor: theme.color.textNeutral },\n strokeColor: theme.color.strokeInverseSecondary\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Base from '../Base';\nimport Icon from '../Icon';\nimport { getHexColor, getMaxRoundRadius } from '../../utils';\nimport * as styles from './Badge.styles';\nimport lng from '@lightningjs/core';\n\nexport default class Badge extends Base {\n static _template() {\n return {\n Text: {\n mountY: 0.5\n },\n Icon: {\n type: Icon,\n mountY: 0.5,\n signals: {\n itemChanged: '_updateLayout'\n }\n }\n };\n }\n\n static get __componentName() {\n return 'Badge';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get properties() {\n return ['title', 'icon', 'iconAlign', 'iconWidth', 'iconHeight'];\n }\n\n static get tags() {\n return ['Background', 'Text', 'Icon'];\n }\n\n _init() {\n this._Text.on('txLoaded', this._updateLayout.bind(this));\n super._init();\n }\n\n _update() {\n this._updateText();\n this._updateIcon();\n this._updateLayout();\n this._updateVisibility();\n }\n\n _updateVisibility() {\n this.alpha = this.title || this.icon ? 1 : 0;\n }\n\n _updateLayout() {\n this._updateWidth();\n this._updateBackground();\n this._updatePositions();\n this.signal('loadedBadge', this);\n }\n\n _updateBackground() {\n const height =\n Math.max(this._Text.renderHeight, this._Icon.h) + this.style.paddingY * 2;\n\n this.patch({\n h: height,\n texture: lng.Tools.getRoundRect(\n this.w,\n height,\n getMaxRoundRadius(this.style.radius, this.w, height),\n this.style.strokeWidth,\n this.style.strokeColor,\n true,\n this.style.backgroundColor\n )\n });\n }\n\n _updateText() {\n if (this._Text) {\n this._Text.patch({\n text: {\n ...this.style.textStyle,\n text: this.title || ''\n }\n });\n }\n }\n\n _updateIcon() {\n this._Icon.patch({\n icon: this.icon,\n w: this.iconWidth,\n h: this.iconHeight,\n style: {\n color: getHexColor(this.style.iconColor)\n }\n });\n }\n\n _updateWidth() {\n let width = 0;\n if (this.title && this.icon) {\n width =\n this._Text.renderWidth +\n this._Icon.finalW +\n this.style.contentSpacing +\n this.style.paddingX * 2;\n } else if (this.title) {\n width = this._Text.renderWidth + this.style.paddingX * 2;\n } else if (this.icon) {\n width = this._Icon.finalW + this.style.paddingX * 2;\n }\n\n this.w = width;\n }\n\n _updatePositions() {\n this._Icon.y = this.h / 2;\n\n if (this.iconAlign === 'left' && this.title && this.icon) {\n this._Icon.x = this.style.paddingX;\n this._Text.x =\n this._Icon.x + this._Icon.finalW + this.style.contentSpacing;\n } else if (this.iconAlign === 'right' && this.title && this.icon) {\n this._Text.x = this.style.paddingX;\n this._Icon.x =\n this._Text.x + this._Text.renderWidth + this.style.contentSpacing;\n } else {\n this._Text.x = this.style.paddingX;\n this._Icon.x = this.style.paddingX;\n }\n\n this._Text.y = this._h / 2 + this.style.offsetY;\n }\n\n _getIconHeight() {\n if (this.icon) {\n return !this._Icon.finalH && this._Text\n ? this._Text.text.lineHeight\n : this._Icon.finalH;\n }\n return 0;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n return this._announce || this.title;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\nimport { stringifyCompare, getDimensions } from '../../utils';\n\nexport default function withLayout(Base) {\n return class extends Base {\n _construct() {\n super._construct && super._construct();\n this._previousDimensionData = null; // Store the previous dimension data to compare next time _updateItemLayout is called\n }\n\n get itemLayout() {\n return this._itemLayout;\n }\n\n set itemLayout(v) {\n const componentName =\n this.constructor._componentName || this.constructor.name;\n let itemLayout;\n if (v) {\n itemLayout = JSON.parse(\n JSON.stringify(v, (k, v) => {\n if (k !== 'circle' && v < 0) {\n context.error(\n `itemLayout for ${componentName} received an invalid value of ${v} for ${k}`\n );\n return;\n } else if (k === 'circle') {\n return Boolean(v);\n }\n return v;\n })\n );\n }\n\n if (!stringifyCompare(this._itemLayout, itemLayout)) {\n if (itemLayout && !itemLayout.upCount) {\n this._originalW = this.w;\n this._originalH = this.h;\n this._itemLayout = {\n w: this._originalW,\n h: this._originalH,\n ...itemLayout\n };\n } else {\n this._itemLayout = itemLayout;\n }\n\n this._updateItemLayout();\n }\n }\n\n _allowUpdate() {\n const {\n w = '',\n h = '',\n circle = '',\n ratioX = '',\n ratioY = '',\n upCount = ''\n } = this._itemLayout || {};\n // Store a string representation of all values from previous update to compare and decide if layout should change\n const layoutString =\n Object.values(context.theme.layout).join('') +\n `${w}${h}${circle ? 1 : 0}${ratioX}${ratioY}${upCount}`;\n if (layoutString !== this._previousDimensionData) {\n this._previousDimensionData = layoutString;\n return true;\n }\n return false;\n }\n\n _updateItemLayout() {\n if (!this._allowUpdate()) return;\n const { w, h } = getDimensions(this.theme, this._itemLayout);\n if (h || w) {\n // If there is not enough information passed in args to calculate item size\n const width = context.theme.layout.screenW;\n const height = context.theme.layout.screenH;\n const calculatedWidth = w || h * (width / height);\n const calculatedHeight = h || w * (height / width);\n this.w =\n this._itemLayout && this._itemLayout.circle\n ? calculatedHeight\n : calculatedWidth; // Width must be set first in order for Cards to be displayed properly\n this.h = calculatedHeight;\n if (this._itemLayout && this._itemLayout.circle && this.style.radius) {\n this._circleSet = true;\n this._originalRadius = this.style.radius;\n this.style = {\n ...this.style,\n radius: calculatedHeight / 2\n };\n } else if (this._circleSet) {\n // Restore to it's original state\n this.style = {\n ...this.style,\n radius: this._originalRadius\n };\n this._originalRadius = undefined;\n this._circleSet = false;\n }\n this.queueRequestUpdate && this.queueRequestUpdate();\n this.fireAncestors('$itemChanged');\n }\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\n\nconst SUFFIX = '__original';\n\nexport default function withExtensions(Base) {\n if (Base.prototype.constructor._withExtensionsApplied) {\n return Base;\n }\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n static get __componentName() {\n if (!super.__componentName) {\n throw new Error(\n `A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`\n );\n }\n return super.__componentName;\n }\n\n static get _withExtensionsApplied() {\n // Extensions should only be applied once per class. This prevents it running multiple times. Ex. Surface -> Tile\n return true;\n }\n\n /**\n * Climb the prototype chain to establish what component's extension rules this component should also inherit\n * @returns {set} // set of strings\n */\n get _prototypeChain() {\n if (this.__prototypeChain) return this.__prototypeChain;\n const prototypeChain = new Set();\n let proto = this;\n do {\n proto = Object.getPrototypeOf(proto);\n if (null !== proto && typeof proto === 'object') {\n try {\n if (proto.constructor.__componentName)\n prototypeChain.add(proto.constructor.__componentName);\n } catch (error) {\n // Catch error when __componentName is not set in Base component\n }\n }\n } while (proto);\n this.__prototypeChain = prototypeChain;\n return prototypeChain;\n }\n\n /**\n * Get all valid extensions from the current theme\n * @returns {object[]} // Array of objects\n */\n get _extensions() {\n const extensions = context && context.theme && context.theme.extensions;\n if (\n !extensions ||\n !Array.isArray(extensions) ||\n (Array.isArray(extensions) && !extensions.length)\n )\n return [];\n return (\n extensions\n .filter(\n ({ targetComponent, extension }) =>\n (typeof targetComponent === 'string' ||\n Array.isArray(targetComponent)) &&\n typeof extension === 'function'\n )\n .slice()\n .reverse() || [] // Array is reversed to ensure extensions are executed in the proper order top -> bottom\n );\n }\n\n /**\n * Get all extensions to apply to this component\n * @return {class[]} // Array of classes\n */\n get _componentExtensions() {\n return this._extensions\n .filter(({ targetComponent }) => {\n // check to see if extension should be applied to this component\n if (typeof targetComponent === 'string') {\n return (\n targetComponent === this.constructor.__componentName ||\n this._prototypeChain.has(targetComponent)\n );\n } else if (Array.isArray(targetComponent)) {\n return targetComponent.find(pattern => {\n if (pattern.startsWith('/') && pattern.endsWith('/')) {\n const ComponentRegExp = new RegExp(pattern.slice(1, -1));\n return Array.from(this._prototypeChain).some(name =>\n ComponentRegExp.test(name)\n );\n } else {\n return this._prototypeChain.has(pattern);\n }\n });\n }\n return false;\n })\n .reduce((acc, { extension }) => {\n acc.push(extension);\n return acc;\n }, []);\n }\n\n /**\n * Check if theme extension mixins have already been applied\n * @return {boolean}\n */\n get _extensionApplied() {\n return (\n this._currentComponentExtensionLength === this._appliedExtensionLength\n );\n }\n\n _construct() {\n this._appliedExtensionLength = 0; // After the extensions are applied we store the length of all to determine later on if they have been applied before\n this._extendedList = {};\n this._extensionInstance = {}; // This will hold the extension instance once created\n this._setupExtensionBound = this._setupExtension.bind(this);\n context.on('themeUpdate', this._setupExtensionBound);\n this._currentComponentExtensionLength =\n this._calculateComponentExtensionLength();\n this._createExtension();\n super._construct();\n }\n\n _detach() {\n super._detach();\n context.off('themeUpdate', this._setupExtensionBound);\n }\n\n _setupExtension() {\n this._currentComponentExtensionLength =\n this._calculateComponentExtensionLength();\n this._createExtension.call(this);\n }\n\n _resetComponent() {\n this._extensionInstance._extensionCleanup &&\n this._extensionInstance._extensionCleanup.call(this);\n\n (Object.keys(this._extendedList) || []).forEach(prop => {\n delete this[prop];\n delete this[prop + SUFFIX];\n });\n\n this._extensionInstance = {};\n this._extendedList = {};\n }\n\n _calculateComponentExtensionLength() {\n const extensionLength = this._componentExtensions.reduce(\n (acc, extensionMixin) => {\n acc += extensionMixin.toString().length;\n return acc;\n },\n 0\n );\n return extensionLength;\n }\n\n _createExtension() {\n if (this._extensionApplied) return;\n this._resetComponent();\n const ExtendedClass = this._createExtensionClass();\n const instance = new ExtendedClass();\n this._extendedList = this._createExtensionAliases(instance);\n this._extensionInstance = instance;\n this._setComponentAliases(this._extendedList);\n }\n\n /**\n * Create the extension class\n * @return {class}\n */\n _createExtensionClass() {\n /**\n *\n * This class will sit at the bottom of the prototype stack and redirect all calls to the original to prevent an infinite loop\n *\n */\n function ExtensionBase() {}\n\n /** Create a new class the represents the extensions */\n const ExtendedClass = this._componentExtensions.reduce(\n (acc, extension) => {\n // Get the length of the extension and store the value. This will be used to determine if the mixin has been changed and needs to be re-applied\n return extension(acc);\n },\n ExtensionBase\n );\n\n // Store the length of the extension to be applied\n this._appliedExtensionLength = this._calculateComponentExtensionLength();\n\n return ExtendedClass;\n }\n\n _createExtensionAliases(obj) {\n // Find the prototype to be replaced\n let baseProto = obj;\n for (let i = 0; i < this._componentExtensions.length + 1; i++) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n /**\n * We will create alias for all the methods, getters, setters that will be overwritten by the extension layer\n * Create a list of properties to alias\n */\n\n const extended = {};\n\n const extensionOverrides = this._componentExtensions.reduce(\n (acc, extension) => {\n const extensionClass = new extension(class FakeClass {});\n const instance = new extensionClass();\n // Get the descriptors\n const originalComponentDescriptors = Object.getOwnPropertyDescriptors(\n Object.getPrototypeOf(instance)\n );\n Object.keys(originalComponentDescriptors).forEach(prop => {\n if (['constructor'].includes(prop)) return;\n if (\n originalComponentDescriptors[prop].get ||\n originalComponentDescriptors[prop].set\n ) {\n extended[prop] = { type: 'accessor' };\n acc[prop] = {\n get: function () {\n return this[prop + SUFFIX];\n },\n set: function (v) {\n this[prop + SUFFIX] = v;\n }\n };\n return;\n }\n extended[prop] = { type: 'method' };\n acc[prop] = {\n value: function () {\n this[prop + SUFFIX] && this[prop + SUFFIX]();\n }\n };\n });\n return acc;\n },\n {}\n );\n\n Object.defineProperties(baseProto, extensionOverrides);\n Object.setPrototypeOf(baseProto, this); // Set the bottom level prototype === the component\n\n return extended;\n }\n\n _setComponentAliases(aliasObj) {\n Object.keys(aliasObj).forEach(prop => {\n // Create an alias for the existing component property to save the original value\n this[prop + SUFFIX] = this[prop];\n if (aliasObj[prop].type === 'method') {\n this[prop] = this._extensionInstance[prop];\n } else if (aliasObj[prop].type === 'accessor') {\n Object.defineProperty(this, prop, {\n configurable: true, // Allow accessors to be updated on theme change\n get() {\n return this._extensionInstance[prop];\n },\n set(v) {\n this._extensionInstance[prop] = v;\n }\n });\n }\n });\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport context from '../../globals/context/index';\nimport withUpdates from '../../mixins/withUpdates';\nimport withTags from '../../mixins/withTags';\nimport withHandleKey from '../../mixins/withHandleKey';\nimport withLayout from '../../mixins/withLayout';\nimport withThemeStyles from '../../mixins/withThemeStyles';\nimport withExtensions from '../../mixins/withExtensions';\nimport { isComponentOnScreen } from '../../utils';\n\nclass Base extends lng.Component {\n static get __componentName() {\n return 'Base';\n }\n\n _construct() {\n this.constructor.__componentName; // Check that __componentName is set\n this.skipPlinko = false;\n this.centerInParent = false;\n if (!this.loaded) this.loaded = Promise.resolve(); // By default this is a resolved promise. Components can use _resetLoadedPromise if they require the functionality\n }\n\n _init() {\n this.queueRequestUpdate();\n }\n\n _resetLoadedPromise() {\n this.loaded = new Promise((resolve, reject) => {\n this._resolveLoadedPromise = resolve;\n this._rejectLoadedPromise = reject;\n });\n }\n\n _update() {}\n\n _focus() {\n this._updateShouldSmooth();\n this.queueRequestUpdate();\n }\n\n _unfocus() {\n this.queueRequestUpdate();\n }\n\n _updateShouldSmooth() {\n if (this.shouldSmooth === undefined) this.shouldSmooth = true;\n }\n\n /**\n * This method accepts a target component, patch object, and optional smooth object.\n * If the component is visible, it will smooth in the smooth object, or fall back to\n * the patch object, if not it will apply the patch.\n *\n * @param {component reference} ref tag ref of target component\n * @param {object} patch object of properties to patch to target\n * @param {object} smooth object of properties to smooth to target\n */\n applySmooth(ref, patch, smooth) {\n if (this.shouldSmooth) {\n ref.smooth = smooth || patch;\n } else {\n ref.patch(patch);\n }\n }\n\n // keep announce methods out of the update lifecycle (do not put in properties array)\n // announce methods do not need to re-render component\n get announce() {\n return this._announce;\n }\n\n set announce(announce) {\n this._announce = announce;\n }\n\n get announceContext() {\n return this._announceContext;\n }\n\n set announceContext(announce) {\n this._announceContext = announce;\n }\n\n get shouldSmooth() {\n return this._shouldSmooth;\n }\n\n set shouldSmooth(shouldSmooth) {\n this._shouldSmooth = shouldSmooth;\n }\n\n get _isDisabledMode() {\n return this.mode === 'disabled';\n }\n\n get _isUnfocusedMode() {\n return this.mode === 'unfocused';\n }\n\n get _isFocusedMode() {\n return this.mode === 'focused';\n }\n\n isFullyOnScreen(offsets) {\n return isComponentOnScreen(this, offsets);\n }\n\n getFocusScale() {\n return context.theme.layout.focusScale;\n }\n\n getUnfocusScale() {\n return 1;\n }\n}\n\nfunction withMixins(baseComponent) {\n return withExtensions(\n withLayout(\n withThemeStyles(withUpdates(withTags(withHandleKey(baseComponent))))\n )\n );\n}\n\nexport default withMixins(Base);\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n itemSpacing: theme.layout.gutterY,\n scrollIndex: 0,\n itemTransition: {\n ...theme.animation.standardEntrance,\n duration: theme.animation.duration.fast\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport NavigationManager from '../NavigationManager';\nimport { getY } from '../../utils';\nimport * as styles from './Column.styles';\n\nexport default class Column extends NavigationManager {\n static get __componentName() {\n return 'Column';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n return {\n ...super._template(),\n direction: 'column'\n };\n }\n\n _isOnScreenForScrolling(child) {\n if (!child) return false;\n\n const y = getY(child);\n if (!Number.isFinite(y)) return false;\n const itemsTransitionY = this.getTransitionYTargetValue();\n const columnY = this.core.renderContext.py;\n let itemY = columnY + itemsTransitionY + y;\n let yModifier;\n\n // This section here takes the difference between a possible target value\n // and subtracts it from the current child x. That value then is subtracted from the initial\n // itemX value calculated on the core renderContext px value to more accurately\n // calculate the item's location on screen when it's own x value will be updating.\n if (child.transition('y')) {\n yModifier = child.y - child.transition('y').targetValue;\n itemY = itemY - yModifier;\n }\n return itemY >= columnY && itemY + child.h <= columnY + this.h;\n }\n\n _shouldScroll() {\n if (this.alwaysScroll) {\n return true;\n }\n let shouldScroll = false;\n if (!this.neverScroll) {\n const isCompletelyOnScreen = this._isOnScreenForScrolling(this.selected);\n const lastChild = this.Items.childList.last;\n shouldScroll =\n lastChild &&\n (this.shouldScrollUp() ||\n this.shouldScrollDown() ||\n !isCompletelyOnScreen);\n }\n\n if (this.selectedIndex < this.scrollIndex) {\n shouldScroll = false;\n }\n\n return shouldScroll;\n }\n\n _getScrollY() {\n let itemsContainerY;\n let itemIndex = this.selectedIndex - this.scrollIndex;\n itemIndex = itemIndex < 0 ? 0 : itemIndex;\n if (itemIndex === this._firstFocusableIndex()) {\n itemIndex = 0;\n }\n\n if (this.Items.children[itemIndex]) {\n itemsContainerY = this.Items.children[itemIndex].transition('y')\n ? -this.Items.children[itemIndex].transition('y').targetValue +\n this.itemPosY\n : -this.Items.children[itemIndex].y + this.itemPosY;\n }\n\n return itemsContainerY;\n }\n\n _render(next, prev) {\n this._prevLastScrollIndex = this._lastScrollIndex;\n\n if (\n this.plinko &&\n prev &&\n prev.selected &&\n !(this.items.indexOf(prev) === 0 && prev.skipPlinko)\n ) {\n const prevPlinko = this.checkSkipPlinko(prev, next);\n next.selectedIndex = this._getIndexOfItemNear(next, prevPlinko || prev);\n } else if (next && !next.selectedIndex) {\n next.selectedIndex = 0;\n }\n\n let itemsContainerY;\n if (!this.Items.children.length) {\n itemsContainerY = this.itemPosY;\n } else if (this._shouldScroll()) {\n itemsContainerY = this._getScrollY();\n }\n\n if (itemsContainerY !== undefined) {\n this.updatePositionOnAxis(this.Items, itemsContainerY);\n }\n\n this.onScreenEffect(this.onScreenItems);\n }\n\n _performRender() {\n this._render(this.selected, this.prevSelected);\n }\n\n checkSkipPlinko(prev, next) {\n // If previous doesn't have skip plinko or previous is the first or last item\n if (\n !prev ||\n !prev.skipPlinko ||\n [0, this.items.length - 1].includes(this.items.indexOf(prev))\n ) {\n return null;\n }\n\n const prevIndex = this.items.indexOf(prev);\n const direction = prevIndex - this.items.indexOf(next);\n const up = direction > 0;\n\n // Grab all items below prev if up or all items before prev if down\n const prevItems = up\n ? this.items.slice(prevIndex).map(i => ({\n skipPlinko: i.skipPlinko,\n index: this.items.indexOf(i)\n }))\n : this.items\n .slice(0, prevIndex + 1)\n .map(i => ({\n skipPlinko: i.skipPlinko,\n index: this.items.indexOf(i)\n }))\n .reverse();\n\n // first item that has skipPlinko but the previous does not\n // Start at the index prev\n const endOfMultiSkipPlinkos = prevItems.find(\n i => i.skipPlinko && !this.items[i.index + direction].skipPlinko\n );\n const prevPlinkoIndex = endOfMultiSkipPlinkos\n ? endOfMultiSkipPlinkos.index + direction\n : prevIndex + direction; // +/- 1, item index before prev\n\n return this.items[prevPlinkoIndex];\n }\n\n get _itemsY() {\n return getY(this.Items);\n }\n\n $removeItem(item) {\n if (item) {\n const wasSelected = item === this.selected;\n this.Items.childList.remove(item);\n this.queueRequestUpdate();\n\n if (wasSelected || this.selectedIndex >= this.items.length) {\n // eslint-disable-next-line no-self-assign\n this.selectedIndex = this._selectedIndex;\n }\n\n if (!this.items.length) {\n this.fireAncestors('$columnEmpty');\n }\n }\n }\n\n $columnChanged() {\n this.queueRequestUpdate();\n }\n\n _isOnScreen(child) {\n if (!child) return false;\n\n return this._isComponentVerticallyVisible(child);\n }\n\n // can be overridden\n onScreenEffect() {}\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * FocusManager Component\n *\n * Container to set focus on elements with key[Up/Down] or key[Left/Right]\n */\nimport Base from '../Base';\nimport {\n getX,\n getY,\n isComponentOnScreen,\n getShortestDistance\n} from '../../utils';\n\nexport default class FocusManager extends Base {\n static get __componentName() {\n return 'FocusManager';\n }\n\n static get tags() {\n return ['Items'];\n }\n\n static get properties() {\n return ['direction', 'wrapSelected'];\n }\n\n _construct() {\n super._construct();\n this._selectedIndex = 0;\n this._itemPosX = 0;\n this._itemPosY = 0;\n this.direction = this.direction || 'row';\n }\n\n _init() {\n this._checkSkipFocus();\n }\n\n get Items() {\n if (!this.tag('Items')) {\n this.patch({ Items: {} });\n }\n return this._Items;\n }\n\n _setDirection(direction) {\n const state = {\n none: 'None',\n column: 'Column',\n row: 'Row'\n }[direction];\n\n if (state) {\n this._setState(state);\n }\n return direction;\n }\n\n _getItems() {\n return this._Items.children;\n }\n\n get items() {\n return this.Items.children;\n }\n\n set items(items) {\n this._resetItems();\n this._selectedIndex = 0;\n this.appendItems(items);\n this._checkSkipFocus();\n }\n\n set itemPosX(x) {\n this.Items.x = this._itemPosX = x;\n }\n\n get itemPosX() {\n return this._itemPosX;\n }\n\n set itemPosY(y) {\n this.Items.y = this._itemPosY = y;\n }\n\n get itemPosY() {\n return this._itemPosY;\n }\n\n _resetItems() {\n this.Items.childList.clear();\n this.Items.patch({\n w: 0,\n h: 0,\n x: this.itemPosX,\n y: this.itemPosY\n });\n\n // This fixes an issue when trying to call set items if there are already items held in _lazyItems.\n // Going to follow up on a review of this feature.\n if (this._lazyItems) {\n this._lazyItems = null;\n }\n }\n\n _appendLazyItem(item) {\n this.appendItems([item]);\n }\n\n appendItems(items = []) {\n this.Items.childList.a(items);\n this._refocus();\n }\n\n appendItemsAt(items = [], idx) {\n const addIndex = Number.isInteger(idx) ? idx : this.Items.children.length;\n this.shouldSmooth = false;\n this._lastAppendedIdx = addIndex;\n\n items.forEach((item, itemIdx) => {\n this.Items.childList.addAt(\n {\n ...item,\n parentFocus: this.hasFocus()\n },\n addIndex + itemIdx\n );\n });\n\n if (this.selectedIndex >= this._lastAppendedIdx) {\n this._selectedIndex += items.length;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n prependItems(items) {\n this.appendItemsAt(items, 0);\n }\n\n removeItemAt(index) {\n this.shouldSmooth = false;\n this.Items.childList.removeAt(index);\n\n if (\n this.selectedIndex > index ||\n this.selectedIndex === this.Items.children.length\n ) {\n this._selectedIndex--;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n _checkSkipFocus() {\n // If the first item has skip focus when appended get the next focusable item\n const initialSelection = this.Items.children[this.selectedIndex];\n if (initialSelection && initialSelection.skipFocus) {\n this.selectNext(false);\n }\n }\n\n get selected() {\n return this.Items.children[this.selectedIndex];\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n set selectedIndex(index) {\n this.prevSelected = this.selected;\n if (\n !this.Items.children.length ||\n !this.Items.children[index] ||\n !this.Items.children[index].skipFocus\n ) {\n if (index !== this._selectedIndex) {\n this._selectedIndex = index;\n }\n if (this.selected) {\n this._selectedChange(this.selected, this.prevSelected);\n }\n // Don't call refocus until after a new render in case of a situation like Plinko nav\n // where we don't want to focus the previously selected item and need to get the new one first\n this._refocus();\n }\n }\n\n _selectedChange(selected, prevSelected) {\n this._render(selected, prevSelected);\n this.signal('selectedChange', selected, prevSelected);\n }\n\n // Override\n _render() {}\n\n _firstFocusableIndex() {\n if (!this.items.length) return 0;\n const firstItem = this.items\n .reduce((acc, item, idx) => {\n if (!item.skipFocus) {\n acc.push({ ...item, originalIdx: idx });\n }\n return acc;\n }, [])\n .shift();\n\n return firstItem.originalIdx;\n }\n\n _lastFocusableIndex() {\n if (!this.items.length) return 0;\n const lastItem = this.items\n .reduce((acc, item, idx) => {\n if (!item.skipFocus) {\n acc.push({ ...item, originalIdx: idx });\n }\n return acc;\n }, [])\n .pop();\n\n return lastItem.originalIdx;\n }\n\n selectPrevious() {\n this.shouldSmooth = true;\n const hasFocusable = !!(this.items || []).filter(i => !i.skipFocus).length;\n if ((this.selectedIndex === 0 && !this.wrapSelected) || !hasFocusable) {\n return false;\n }\n\n const previousItemIndex = this.items\n .map(item => !!item.skipFocus)\n .lastIndexOf(false, this._selectedIndex - 1);\n\n if (previousItemIndex > -1) {\n this.selectedIndex = previousItemIndex;\n return true;\n } else if (this.wrapSelected) {\n this.selectedIndex = this._lastFocusableIndex();\n return true;\n }\n return false;\n }\n\n selectNext(shouldSmoothOverride) {\n if (this._lazyItems && this._lazyItems.length) {\n this._appendLazyItem(this._lazyItems.splice(0, 1)[0]);\n }\n this.shouldSmooth = shouldSmoothOverride ?? true;\n\n const hasFocusable = !!(this.items || []).filter(i => !i.skipFocus).length;\n if (\n (this.selectedIndex === this.Items.children.length - 1 &&\n !this.wrapSelected) ||\n !hasFocusable\n ) {\n return false;\n }\n\n const nextIndex = this.items.findIndex(\n (item, idx) => !item.skipFocus && idx > this._selectedIndex\n );\n\n if (nextIndex > -1) {\n this.selectedIndex = nextIndex;\n return true;\n } else if (this.wrapSelected) {\n this.selectedIndex = this._firstFocusableIndex();\n return true;\n }\n return false;\n }\n\n _getIndexOfItemNear(selected, prev) {\n const prevItem = prev.selected;\n\n if (!selected || !selected.items || !selected.items.length || !prevItem) {\n return 0;\n }\n\n const [itemX, itemY] = prevItem.core.getAbsoluteCoords(0, 0);\n const prevMiddle = [itemX + prevItem.w / 2, itemY + prevItem.h / 2];\n\n // Get all item center points from selected\n const selectedCoordArray = selected.items\n .map((item, index) => {\n return {\n index,\n distance: !item.skipFocus\n ? getShortestDistance(prevMiddle, item)\n : null\n };\n })\n .filter(item => {\n // Remove all indexes that don't have a distance (skipFocus)\n return null !== item.distance;\n })\n .sort(function (a, b) {\n return a.distance - b.distance;\n });\n return selectedCoordArray[0].index;\n }\n\n /**\n * TODO: Update Base to remove the focus/unfocus calls and add a second \"BaseComponent\" that does have them\n *\n * Layout Components (Column, Row, BoardRows, etc.) would extend only Base,\n * need to confirm this applies to InlineContnet and ScrollWrapper??\n * Element/Pattern Components (Tile, Badge, etc.) would extend \"BaseComponent\" that does have focus/unfocus overrides\n */\n _focus() {\n super._focus();\n this.items.forEach(item => (item.parentFocus = true));\n }\n _unfocus() {\n super._unfocus();\n this.items.forEach(item => (item.parentFocus = false));\n }\n\n _updateShouldSmooth() {}\n\n _getFocused() {\n const { selected } = this;\n // Make sure we're focused on a component\n if (selected) {\n if (selected.focusRef) {\n return selected.tag(selected.focusRef);\n } else if (selected.cparent) {\n return selected;\n }\n }\n return this;\n }\n\n _updateTransitionTarget(element, property, newValue) {\n if (\n element &&\n element.transition(property) &&\n !element.transition(property).isRunning() &&\n element.transition(property).targetValue !== newValue\n ) {\n element.transition(property).updateTargetValue(newValue);\n }\n }\n\n /**\n * Return list of items that are currently fully and partially on screen\n * @returns {Array} Array of matching lng.Component objects or empty array\n */\n get onScreenItems() {\n return this.Items.children.filter(child => this._isOnScreen(child));\n }\n\n _isOnScreenCompletely(child) {\n // 'isFullyOnScreen' method has been added to the Base class.\n // in case child does _not_ extend Base, 'isComponentOnScreen'\n // from the 'util' module will be invoked. The same method is\n // invoked by Base class\n return child.isFullyOnScreen\n ? child.isFullyOnScreen()\n : isComponentOnScreen(child);\n }\n\n get fullyOnScreenItems() {\n return this.Items.children.reduce((rv, item) => {\n if (item instanceof FocusManager) {\n return [\n ...rv,\n ...item.Items.children.filter(this._isOnScreenCompletely)\n ];\n } else if (this._isOnScreenCompletely(item)) {\n return [...rv, item];\n } else {\n return rv;\n }\n }, []);\n }\n\n _isOnScreen() {\n throw new Error(\"'_isOnScreen' must be implemented by 'row'/'column'\");\n }\n\n _isComponentHorizontallyVisible(child) {\n // get child's destination X; If child is moving to a destination,\n // get the value of where child will end up\n const x = getX(child);\n if (!Number.isFinite(x)) return false;\n\n // to calculate the target absolute X position of the item, we need to use\n // 1) the entire component's absolute position,\n // 2) the target animation value of the items container, and\n // 3) the target value of the item itself\n const transitionX = this.getTransitionXTargetValue();\n // get absolute position of FocusManager on screen\n const px = this.core.renderContext.px;\n const itemX = px + transitionX + x;\n\n // _scissor consists of [ left position (x), top position (y), width, height ]\n const [leftBounds = null, , clipWidth = null] = this.core._scissor || [];\n const stageW = this.stage.w / this.stage.getRenderPrecision();\n const { w } = child;\n\n const withinLeftStageBounds = itemX >= 0;\n const withinRightStageBounds = itemX + w <= stageW;\n // short circuit\n if (!withinLeftStageBounds || !withinRightStageBounds) return false;\n\n let withinLeftClippingBounds = true;\n let withinRightClippingBounds = true;\n if (Number.isFinite(leftBounds)) {\n withinLeftClippingBounds =\n Math.round(itemX + w) >= Math.round(leftBounds);\n withinRightClippingBounds =\n Math.round(itemX) <= Math.round(leftBounds + clipWidth);\n }\n\n return withinLeftClippingBounds && withinRightClippingBounds;\n }\n\n _isComponentVerticallyVisible(child) {\n // get child's destination Y; If child is moving to a destination,\n // get the value of where child will end up\n const y = getY(child);\n if (!Number.isFinite(y)) return false;\n\n // to calculate the target absolute Y position of the item, we need to use\n // 1) the entire component's absolute position,\n // 2) the target animation value of the items container, and\n // 3) the target value of the item itself\n const transitionY = this.getTransitionYTargetValue();\n\n // get absolute position of FocusManager on screen\n const py = this.core.renderContext.py;\n\n // _scissor consists of [ left position (x), top position (y), width, height ]\n const [, topBounds = null, , clipHeight = null] = this.core._scissor || [];\n const { h } = child;\n\n const itemY = py + transitionY + y;\n const stageH = this.stage.h / this.stage.getRenderPrecision();\n const withinTopStageBounds = itemY + h >= 0;\n const withingBottomStageBounds = itemY <= stageH;\n\n // short circuit\n if (!withinTopStageBounds || !withingBottomStageBounds) return false;\n\n let withinTopClippingBounds = true;\n let withinBottomClippingBounds = true;\n if (Number.isFinite(topBounds)) {\n withinTopClippingBounds = Math.round(itemY + h) > Math.round(topBounds);\n withinBottomClippingBounds =\n Math.round(itemY) < Math.round(topBounds + clipHeight);\n }\n\n return withinTopClippingBounds && withinBottomClippingBounds;\n }\n\n getTransitionXTargetValue() {\n return this.Items.transition('x').targetValue;\n }\n\n getTransitionYTargetValue() {\n return this.Items.transition('y').targetValue;\n }\n\n static _states() {\n return [\n class None extends this {},\n class Row extends this {\n _handleLeft() {\n return typeof this.onLeft === 'function'\n ? this.onLeft(this)\n : this.selectPrevious();\n }\n\n _handleRight() {\n return typeof this.onRight === 'function'\n ? this.onRight(this)\n : this.selectNext();\n }\n },\n\n class Column extends this {\n _handleUp() {\n return typeof this.onUp === 'function'\n ? this.onUp(this)\n : this.selectPrevious();\n }\n\n _handleDown() {\n return typeof this.onDown === 'function'\n ? this.onDown(this)\n : this.selectNext();\n }\n }\n ];\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n propertyTextStyle: {\n ...theme.typography.headline1,\n textColor: theme.color.textNeutral\n },\n valueTextStyle: {\n ...theme.typography.body1,\n textColor: theme.color.textNeutral\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Base from '../Base';\nimport context from '../../globals/context/index';\nimport Column from '../Column';\nimport Row from '../Row';\nimport TextBox from '../TextBox';\nimport { getWidthByColumnSpan } from '../../utils';\nimport * as styles from './GridOverlay.styles';\n\nclass Spacer extends Base {\n static get __componentName() {\n return 'Spacer';\n }\n\n static _template() {\n return {\n Line: {\n h: Spacer._lineThickness,\n rect: true,\n mountY: 0.5,\n TickLeft: {\n ...Spacer._tick,\n x: Spacer._lineThickness * -1\n },\n TickRight: Spacer._tick\n }\n };\n }\n\n static get properties() {\n return ['lineColor'];\n }\n\n static get tags() {\n return ['Line', 'TickLeft', 'TickRight'];\n }\n\n static get _lineThickness() {\n return 3;\n }\n\n static get _tickLength() {\n return 25;\n }\n\n static get _tick() {\n return {\n rect: true,\n mountY: 0.5,\n w: Spacer._lineThickness,\n h: Spacer._tickLength,\n y: Spacer._lineThickness / 2\n };\n }\n\n _update() {\n this._Line.w = this.w;\n this._TickRight.x = this._Line.w;\n\n if (this.lineColor) {\n this._Line.color =\n this._TickLeft.color =\n this._TickRight.color =\n this.lineColor;\n }\n\n this.rotation = this.vertical ? Math.PI / 2 : 0;\n this.signal('spacerLoaded');\n }\n}\n\nexport default class GridOverlay extends Base {\n static get __componentName() {\n return 'GridOverlay';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n const textRow = {\n type: Row,\n autoResizeHeight: true,\n Items: {\n Property: {\n type: TextBox,\n signals: {\n textBoxChanged: '_update'\n }\n },\n Value: {\n type: TextBox,\n signals: {\n textBoxChanged: '_update'\n },\n centerInParent: true\n }\n }\n };\n\n return {\n Columns: {\n alpha: 0.001,\n type: Row\n },\n Margins: {\n alpha: 0.001,\n Horizontal: {\n Left: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n },\n Right: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n Vertical: {\n Top: { type: Spacer, vertical: true }\n }\n },\n Safe: {\n alpha: 0.001,\n Horizontal: {\n Left: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n },\n Right: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n Vertical: {\n Top: { type: Spacer, vertical: true },\n Bottom: { type: Spacer, vertical: true }\n }\n },\n Gutters: {\n alpha: 0.001,\n Horizontal: {\n type: Spacer,\n signals: {\n spacerLoaded: '_update'\n }\n }\n },\n TextPanel: {\n alpha: 0.001,\n type: Column,\n autoResizeHeight: true,\n Items: {\n ScreenW: textRow,\n ScreenH: textRow,\n ColumnCount: textRow,\n MarginX: textRow,\n MarginY: textRow,\n GutterX: textRow,\n GutterY: textRow,\n Safe: textRow\n }\n }\n };\n }\n\n static get properties() {\n return [\n 'showColumns',\n 'showMargins',\n 'showSafe',\n 'showGutters',\n 'showText'\n ];\n }\n\n static get tags() {\n return [\n 'Columns',\n 'Margins',\n { name: 'MarginHorizontal', path: 'Margins.Horizontal' },\n { name: 'MarginLeft', path: 'Margins.Horizontal.Left' },\n { name: 'MarginRight', path: 'Margins.Horizontal.Right' },\n { name: 'MarginVertical', path: 'Margins.Vertical' },\n { name: 'MarginTop', path: 'Margins.Vertical.Top' },\n 'Safe',\n { name: 'SafeHorizontal', path: 'Safe.Horizontal' },\n { name: 'SafeLeft', path: 'Safe.Horizontal.Left' },\n { name: 'SafeRight', path: 'Safe.Horizontal.Right' },\n { name: 'SafeVertical', path: 'Safe.Vertical' },\n { name: 'SafeTop', path: 'Safe.Vertical.Top' },\n { name: 'SafeBottom', path: 'Safe.Vertical.Bottom' },\n 'Gutters',\n { name: 'GutterHorizontal', path: 'Gutters.Horizontal' },\n 'TextPanel',\n { name: 'TextScreenW', path: 'TextPanel.Items.ScreenW' },\n { name: 'TextScreenH', path: 'TextPanel.Items.ScreenH' },\n { name: 'TextColumnCount', path: 'TextPanel.Items.ColumnCount' },\n { name: 'TextMarginX', path: 'TextPanel.Items.MarginX' },\n { name: 'TextMarginY', path: 'TextPanel.Items.MarginY' },\n { name: 'TextGutterX', path: 'TextPanel.Items.GutterX' },\n { name: 'TextGutterY', path: 'TextPanel.Items.GutterY' },\n { name: 'TextSafe', path: 'TextPanel.Items.Safe' }\n ];\n }\n\n _construct() {\n super._construct();\n this._showColumns =\n this._showMargins =\n this._showSafe =\n this._showGutters =\n this._showText =\n true;\n }\n\n _update() {\n this._updateGlobalThemeProps();\n this._updateMargins();\n this._updateSafe();\n this._updateColumns();\n this._updateGutters();\n this._updateText();\n this._updateVisibility();\n }\n\n _updateVisibility() {\n this._Columns.smooth = { alpha: Number(this.showColumns) };\n this._Margins.smooth = { alpha: Number(this.showMargins) };\n this._Safe.smooth = { alpha: Number(this.showSafe) };\n this._Gutters.smooth = { alpha: Number(this.showGutters) };\n this._TextPanel.smooth = { alpha: Number(this.showText) };\n }\n\n _updateGlobalThemeProps() {\n const { layout, color } = context.theme;\n const {\n screenW,\n screenH,\n columnCount,\n marginX,\n marginY,\n gutterX,\n gutterY,\n safe\n } = layout;\n\n this._screenW = screenW;\n this._screenH = screenH;\n this._columnCount = columnCount;\n this._marginX = marginX;\n this._marginY = marginY;\n this._safe = safe;\n this._gutterX = gutterX;\n this._gutterY = gutterY;\n\n this._columnColor = color.interactiveNeutralFocusSoft;\n this._marginColor = color.green;\n this._safeColor = color.red;\n this._gutterColor = color.blue;\n }\n\n _updateMargins() {\n const marginPatch = { lineColor: this._marginColor };\n\n // Horizontal\n const marginHorizontalPatch = { ...marginPatch, w: this._marginX };\n this._MarginHorizontal.y = this._screenH / 2;\n this._MarginLeft.patch(marginHorizontalPatch);\n this._MarginRight.patch(marginHorizontalPatch);\n this._MarginRight.x = this._screenW - this._marginX;\n\n // Vertical\n const marginVerticalPatch = { ...marginPatch, w: this._marginY };\n this._MarginVertical.x = this._marginX - marginVerticalPatch.w / 2;\n this._MarginTop.patch(marginVerticalPatch);\n this._MarginTop.patch(marginVerticalPatch);\n this._MarginTop.y = marginVerticalPatch.w / 2;\n }\n\n _updateSafe() {\n const safePatch = { lineColor: this._safeColor, w: this._safe };\n\n // Horizontal\n this._SafeHorizontal.y = this._screenH / 4;\n this._SafeLeft.patch(safePatch);\n this._SafeRight.patch(safePatch);\n this._SafeRight.x = this._screenW - this._safe;\n\n // Vertical\n this._SafeVertical.x = (this._screenW - safePatch.w) / 2;\n this._SafeVertical.y = safePatch.w / 2;\n this._SafeTop.patch(safePatch);\n this._SafeBottom.patch(safePatch);\n this._SafeBottom.y = this._screenH - this._safe;\n }\n\n _updateColumns() {\n this._Columns.patch({\n w: this._screenW,\n h: this._screenH,\n x: this._marginX,\n style: {\n itemSpacing: this._gutterX\n },\n items: this._columnRects\n });\n }\n\n get _columnRects() {\n return Array.apply(null, { length: this._columnCount }).map(() => ({\n rect: true,\n w: getWidthByColumnSpan(this.theme, 1),\n h: this._screenH,\n color: this._columnColor\n }));\n }\n\n _updateGutters() {\n const gutterPatch = { lineColor: this._gutterColor, w: this._gutterY };\n\n // Horizontal\n this._GutterHorizontal.patch({\n ...gutterPatch,\n x: (this._screenW - gutterPatch.w) / 2,\n y: this._screenH / 4\n });\n }\n\n _updatePropertyTextStyle(textPanelName, color) {\n // clone the object so as not to mutate it\n const style = { textStyle: { ...this.style.propertyTextStyle } };\n if (color) {\n style.textStyle.textColor = color;\n }\n textPanelName.Items.tag('Property').style = style;\n }\n\n _updateValueTextStyle(textPanelName) {\n textPanelName.Items.tag('Value').style = {\n textStyle: this.style.valueTextStyle\n };\n }\n\n _updateText() {\n const prop = 'Property';\n const val = 'Value';\n\n this._TextPanel.x =\n this._screenW - this._marginX - getWidthByColumnSpan(this.theme, 3);\n this._TextPanel.y = this._safe;\n\n this._TextScreenW.Items.tag(prop).content = 'Screen Width';\n this._TextScreenW.Items.tag(val).content = `${this._screenW}px`;\n this._updatePropertyTextStyle(this._TextScreenW);\n this._updateValueTextStyle(this._TextScreenW);\n\n this._TextScreenH.Items.tag(prop).content = 'Screen Height';\n this._TextScreenH.Items.tag(val).content = `${this._screenH}px`;\n this._updatePropertyTextStyle(this._TextScreenH);\n this._updateValueTextStyle(this._TextScreenH);\n\n this._TextColumnCount.Items.tag(prop).content = 'Columns';\n this._TextColumnCount.Items.tag(val).content = `${\n this._columnCount\n }, ${Math.round(getWidthByColumnSpan(this.theme, 1))}px each`;\n this._updatePropertyTextStyle(this._TextColumnCount);\n this._updateValueTextStyle(this._TextColumnCount);\n\n this._TextMarginX.Items.tag(prop).content = 'Margin-X';\n this._TextMarginX.Items.tag(val).content = `${this._marginX}px`;\n this._updatePropertyTextStyle(this._TextMarginX, this._marginColor);\n this._updateValueTextStyle(this._TextMarginX);\n\n this._TextMarginY.Items.tag(prop).content = 'Margin-Y';\n this._TextMarginY.Items.tag(val).content = `${this._marginY}px`;\n this._updatePropertyTextStyle(this._TextMarginY, this._marginColor);\n this._updateValueTextStyle(this._TextMarginY);\n\n this._TextGutterX.Items.tag(prop).content = 'Gutter-X';\n this._TextGutterX.Items.tag(val).content = `${this._gutterX}px`;\n this._updatePropertyTextStyle(this._TextGutterX, this._gutterColor);\n this._updateValueTextStyle(this._TextGutterX);\n\n this._TextGutterY.Items.tag(prop).content = 'Gutter-Y';\n this._TextGutterY.Items.tag(val).content = `${this._gutterY}px`;\n this._updatePropertyTextStyle(this._TextGutterY, this._gutterColor);\n this._updateValueTextStyle(this._TextGutterY);\n\n this._TextSafe.Items.tag(prop).content = 'Safe';\n this._TextSafe.Items.tag(val).content = `${this._safe}px`;\n this._updatePropertyTextStyle(this._TextSafe, this._safeColor);\n this._updateValueTextStyle(this._TextSafe);\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const tone = theme => ({\n neutral: { color: theme.color.fillNeutral },\n inverse: { color: theme.color.fillInverse },\n brand: { color: theme.color.fillBrand }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport Base from '../Base';\nimport * as styles from './Icon.styles';\nimport context from '../../globals/context/index';\nimport { getValidColor } from '../../utils';\nimport CustomImageTexture from '../../textures/CustomImageTexture';\n\n/**\n * Icon component that displays different types of icons, supporting SVGs and images.\n * @extends Base\n */\nexport default class Icon extends Base {\n /**\n * Returns the name of the component for theming support.\n * @returns {string} The name of the component.\n */\n static get __componentName() {\n return 'Icon';\n }\n\n /**\n * Returns the theme styles for the Icon component.\n * @returns {object} The theme styles object.\n */\n static get __themeStyle() {\n return styles;\n }\n\n /**\n * Returns the list of properties that can be set on the Icon component. Used by withUpdates\n * @returns {Array} An array of property names.\n */\n static get properties() {\n return ['icon', 'fixed', 'color'];\n }\n\n _init() {\n /**\n * Event listener for the 'txLoaded' event to handle icon texture loading.\n *\n * @listens 'txLoaded'\n */\n this.on('txLoaded', () => {\n if (!this.fixed) {\n this._notify.bind(this)(); // Notify parent component of the item change if not fixed.\n }\n });\n\n /**\n * Event listener for the 'txError' event to handle icon texture loading errors.\n *\n * @listens 'txError'\n * @param {Error} error - The error object containing information about the loading error.\n */\n this.on('txError', this._handleTxtError.bind(this));\n }\n\n /**\n * Returns the color to be used for the icon.\n *\n * @private\n * @returns {string} The color value.\n */\n _getColor() {\n return this._color || this.style.color;\n }\n\n /**\n * Notifies the parent and ancestors of item changes in the Icon component.\n *\n * @private\n */\n _notify() {\n this.w = this.finalW;\n this.h = this.finalH;\n this.signal('itemChanged', this); // Emit 'itemChanged' signal to notify parent.\n this.fireAncestors('$itemChanged'); // Emit '$itemChanged' signal to notify ancestors.\n }\n\n /**\n * Handles the error when loading the icon texture.\n *\n * @private\n * @param {Error} error - The error object containing information about the loading error.\n */\n _handleTxtError() {\n context.error(`Unable to load icon ${this._icon}`);\n this._icon = null;\n this.texture = null;\n }\n\n /**\n * Updates the Icon component based on the provided icon.\n *\n * @private\n */\n _update() {\n if (!this._icon) {\n this.texture = null; // If there's no icon, clear the texture.\n return;\n }\n this.patch(this._iconPatch); // Apply the icon patch.\n }\n\n /**\n * Generates the patch based on the icon type (SVG, image, etc.) and other properties.\n *\n * @private\n * @returns {object} The patch object to update the Icon component.\n */\n get _iconPatch() {\n const [isSvgTag, isSvgURI] = [/^<svg.*<\\/svg>$/, /\\.svg$/].map(regex =>\n RegExp.prototype.test.bind(regex)\n );\n let texture;\n const svgTag = isSvgTag(this.icon);\n const svgURI = isSvgURI(this.icon);\n\n if (svgTag) {\n texture = lng.Tools.getSvgTexture(\n `data:image/svg+xml,${encodeURIComponent(this.icon)}`,\n this.w,\n this.h\n );\n } else if (svgURI) {\n texture = lng.Tools.getSvgTexture(this.icon, this.w, this.h);\n } else {\n texture = {\n type: CustomImageTexture,\n w: this.w,\n h: this.h,\n src: this.icon\n };\n }\n\n const color = getValidColor(this._color || this.style.color);\n const shader =\n this.radius || this.style.radius\n ? {\n radius: this.radius || this.style.radius,\n type: lng.shaders.RoundedRectangle\n }\n : undefined;\n\n return {\n texture,\n shader,\n ...(color\n ? { colorUl: color, colorUr: color, colorBl: color, colorBr: color }\n : {})\n };\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n textY: 0,\n iconWidth: theme.spacer.xxl + theme.spacer.xs,\n iconHeight: theme.spacer.xxl + theme.spacer.xs,\n contentSpacing: theme.spacer.md,\n marginBottom: 0,\n strikethroughRatio: 0.08,\n strikethroughColor: theme.color.textNeutral,\n textStyle: {\n ...theme.typography.body1\n },\n maxLines: 1,\n justify: 'flex-start'\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\nimport lng from '@lightningjs/core';\nimport Icon from '../Icon';\nimport Badge from '../Badge';\nimport { parseInlineContent, flatten, measureTextWidth } from '../../utils';\nimport Base from '../Base';\nimport * as styles from './InlineContent.styles';\n\nconst isText = item => typeof item === 'string' || !!item.text;\nconst isIcon = item => !!item.icon;\nconst isBadge = item => !!item.badge;\n\nexport default class InlineContent extends Base {\n static get properties() {\n return [\n 'content',\n 'contentProperties',\n 'badgeY',\n 'badgeProperties',\n 'justify',\n 'contentWrap',\n 'customStyleMappings',\n 'maxLines',\n 'maxLinesSuffix'\n ];\n }\n\n static get __componentName() {\n return 'InlineContent';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get aliasStyles() {\n return [\n { prev: 'iconH', curr: 'iconHeight' },\n { prev: 'iconW', curr: 'iconWidth' }\n ];\n }\n\n _construct() {\n super._construct();\n // use the same default value as Lightning's Text Texture default\n this._maxLinesSuffix = '..';\n }\n\n _update() {\n this._updateContent();\n this._waitForComponentLoad();\n }\n\n _updateContent() {\n this.childList.clear();\n\n // if wrapping with max lines, hide content until it has rerendered with maxLines and truncation calculated\n if (this._shouldTruncate) {\n this.alpha = 0.001;\n }\n if (this._parsedContent && this._parsedContent.length) {\n this.patch({\n flex: {\n direction: 'row',\n wrap: !!this.contentWrap,\n justifyContent:\n this.justify != undefined ? this.justify : this.style.justify\n }\n });\n\n this._parsedContent.forEach((item, index) => {\n const isLast = index === this._parsedContent.length - 1;\n const base = {\n flexItem: {\n ...this.contentProperties,\n marginBottom: isLast ? 0 : this._marginBottom,\n marginRight: isLast\n ? 0\n : this.contentProperties.marginRight || this.style.contentSpacing\n }\n };\n\n // text not separated by icons/badges are grouped together\n if (isText(item)) {\n const nextItem = this._parsedContent[index + 1];\n if (\n (nextItem && isText(nextItem)) ||\n (this.contentWrap &&\n nextItem &&\n nextItem.newline &&\n this._parsedContent[index + 2] &&\n isText(this._parsedContent[index + 2]))\n ) {\n base.flexItem.marginRight = 0;\n }\n this.childList.a(this._createText(base, item));\n } else if (isIcon(item)) {\n this.childList.a(this._createIcon(base, item));\n } else if (isBadge(item)) {\n this.childList.a(this._createBadge(base, item.badge));\n } else if (item.newline && this.contentWrap) {\n this.childList.a({ h: 0, w: this.w });\n }\n });\n }\n }\n\n _waitForComponentLoad() {\n if (this.children.length) {\n Promise.all(\n this.children.map(\n child =>\n new Promise(resolve => {\n // resolve immediately for new line elements since they do not render a texture\n if (child.h === 0 && child.w === this.w) {\n resolve();\n } else {\n child.on('txLoaded', resolve);\n }\n })\n )\n ).finally(() => this._contentLoaded());\n } else {\n this.h = 0;\n this._contentLoaded();\n }\n }\n\n _notifyAncestors() {\n this.fireAncestors('$loadedInlineContent', this);\n this.signal('loadedInlineContent', this.finalW, this.multiLineHeight);\n }\n\n _contentLoaded() {\n // TODO: FIX --figure out an alternative to using setTimeout\n // perhaps have to wait until Lightning Flexboxes can emit a signal (like textures) when they've finished loading\n if (this.children.length) {\n setTimeout(() => {\n this.multiLineHeight = this.finalH;\n if (\n this.flex &&\n this.flex._layout &&\n this.flex._layout._lineLayouter &&\n this.flex._layout._lineLayouter._lines\n ) {\n let totalHeight = 0;\n this.flex._layout._lineLayouter._lines.forEach(line => {\n totalHeight += Object.entries(line.items)\n .slice(line.startIndex, line.endIndex + 1)\n .sort((a, b) => {\n return b[1].h - a[1].h;\n })[0][1].h;\n });\n this.multiLineHeight = totalHeight;\n\n if (this._shouldTruncate) {\n this._renderMaxLines();\n }\n\n this._notifyAncestors();\n } else {\n this._contentLoaded();\n }\n }, 10);\n } else {\n this._notifyAncestors();\n }\n }\n\n _renderMaxLines() {\n const childrenDimensions = this._calcChildrenDimensions();\n\n this.childList.clear();\n let renderedLastElement = false;\n childrenDimensions.forEach((child, index) => {\n if (renderedLastElement) {\n return;\n }\n\n const nextChild = childrenDimensions[index + 1];\n\n if (!nextChild) {\n this.childList.add(child.component);\n return;\n }\n\n const isOnLastLine = child.line === this.maxLines;\n\n const isLastBeforeMaxLines =\n isOnLastLine && nextChild.line > this.maxLines;\n\n const canRenderLastWithSuffix =\n isLastBeforeMaxLines && child.hasSpaceForSuffix;\n\n const isLastWithSpaceForSuffix =\n isOnLastLine && child.hasSpaceForSuffix && !nextChild.hasSpaceForSuffix;\n\n /**\n * This is the last element to render, with a suffix, if the element is:\n * - the last element to render (and has not reached the maxLines yet)\n * - the last element that fits within maxLines, including with the width of the maxLinesSuffix appended to it\n */\n const isLast =\n !nextChild || canRenderLastWithSuffix || isLastWithSpaceForSuffix;\n\n if (child.line <= this.maxLines) {\n if (isLast && index !== childrenDimensions.length - 1) {\n this.childList.add(this._addSuffix(child));\n renderedLastElement = true;\n } else {\n this.childList.add(child.component);\n }\n }\n });\n this.alpha = 1;\n }\n\n _calcChildrenDimensions() {\n const suffixW = measureTextWidth({\n ...this.style.textStyle,\n text: this.maxLinesSuffix\n });\n let contentEndX = 0;\n let line = 1;\n\n return this.children.reduce((acc, child) => {\n const component = child;\n let type, content, w;\n const isNewLineElement = child.w == this.w && child.h === 0;\n\n if (isNewLineElement) {\n line++;\n contentEndX = 0;\n const data = {\n type: 'linebreak',\n component,\n content,\n line,\n hasSpaceForSuffix: true\n };\n\n acc.push(data);\n return acc;\n }\n\n if (isText(child)) {\n type = 'text';\n content = child.text.text;\n w = child.texture.getRenderWidth();\n } else if (isIcon(child)) {\n type = 'icon';\n w = child.w;\n } else if (child.constructor.__componentName === 'Badge') {\n type = 'badge';\n w = child.w;\n }\n\n contentEndX += w;\n contentEndX += child.flexItem.marginRight;\n\n if (Math.ceil(contentEndX) >= this.w) {\n line++;\n contentEndX = w;\n }\n\n const hasSpaceForSuffix = Math.ceil(contentEndX) + suffixW <= this.w;\n\n const data = {\n type,\n component,\n content,\n line,\n hasSpaceForSuffix\n };\n\n acc.push(data);\n return acc;\n }, []);\n }\n\n _addSuffix({ type, component, content }) {\n const negatedRightMargin = component.flexItem.marginRight * -1;\n let suffix;\n if (type === 'text') {\n // We need to grab the current styling of the text to ensure that any\n // custom styling is applied to the suffix\n const { fontFace, fontSize, fontStyle, lineHeight, verticalAlign } =\n component.text;\n suffix = this._createText(\n { flexItem: this.contentProperties },\n {\n text: `${content.trim()}${this.maxLinesSuffix}`,\n style: {\n fontFace,\n fontSize,\n fontStyle,\n lineHeight,\n verticalAlign\n }\n }\n );\n } else {\n this.childList.add(component);\n suffix = this._createText(\n {\n flexItem: {\n ...this.contentProperties,\n marginLeft: negatedRightMargin\n }\n },\n this.maxLinesSuffix\n );\n }\n return suffix;\n }\n\n _createIcon(base, iconProps) {\n const y =\n (this.textHeight > this.style.textStyle.lineHeight\n ? this.textHeight\n : this.style.textStyle.lineHeight) - this.style.iconHeight;\n return {\n ...base,\n type: Icon,\n y: y,\n w: this.style.iconWidth,\n h: this.style.iconHeight,\n signals: {\n itemChanged: '_updateIconPosition'\n },\n ...iconProps\n };\n }\n\n _createText(base, text) {\n const textOverrideStyles =\n typeof text.style === 'string'\n ? this.customStyleMappings[text.style]\n : text.style;\n const textComponent = {\n ...base,\n y: this.textY !== undefined ? this.textY : this.style.textY,\n h:\n textOverrideStyles?.lineHeight ||\n textOverrideStyles?.fontSize ||\n this.textHeight,\n text: {\n ...this.style.textStyle,\n ...textOverrideStyles,\n text: text.text || text\n }\n };\n if (textOverrideStyles?.textDecoration === 'line-through') {\n const textWidth = measureTextWidth({\n ...this.style.textStyle,\n ...textOverrideStyles,\n text: text.text || text\n });\n const strikethroughLine = {\n rect: true,\n w: textWidth,\n color:\n this.style.strikethroughColor ||\n textOverrideStyles?.textColor ||\n this.style.textStyle.textColor,\n h: textComponent.h * this.style.strikethroughRatio,\n y: textComponent.h / 2,\n mountY: 1\n };\n return {\n type: lng.Component,\n w: textWidth + textComponent.flexItem.marginRight,\n h: textComponent.h,\n children: [{ ...textComponent }, { ...strikethroughLine }]\n };\n }\n return textComponent;\n }\n\n _createBadge(base, badge) {\n return {\n ...base,\n y: this.badgeY || 0,\n ...this.badgeProperties,\n type: Badge,\n title: badge,\n signals: {\n loadedBadge: '_loadedBadge'\n }\n };\n }\n\n _updateIconPosition(icon) {\n icon.y = this.style.textStyle.lineHeight - icon.h;\n }\n\n _loadedBadge(badge) {\n if (this.badgeY === undefined) {\n badge.y = this.style.textStyle.lineHeight - badge.h;\n }\n }\n\n /**\n * RegEx Lookbehinds do not work in WPE Browser, but we want the space\n * at the end of the previous string to prevent weird wrapping,\n * so we need to separate on spaces, then re-attach to the previous string\n *\n * @param { array } parsedContent\n *\n * @return { array }\n */\n _formatSpaces(parsedContent) {\n // retain the white space next to the appropriate word, then filter by the empty string,\n // otherwise all whitespace is stripped and the flexItem's marginRight adds its own space\n // which can be a different space size than the text would apply between words\n const whitespace = /(.+?\\s+)/;\n return flatten(\n (parsedContent || []).reduce((acc, item) => {\n let parsed = item;\n if (isText(item)) {\n if (typeof item === 'object') {\n const formattedWords = item.text\n .split(whitespace) // split after whitespace character (which adds empty strings)\n .map(word => word && { ...item, text: word }); // check for empty string before adding\n acc.push(...formattedWords);\n return acc;\n }\n parsed = item.split(whitespace);\n }\n acc.push(parsed);\n return acc;\n }, [])\n )\n .map((item, index, arr) => {\n if (item === ' ') return false;\n if (arr[index + 1] === ' ') return item + ' ';\n return item;\n })\n .filter(Boolean);\n }\n\n _setContent(content) {\n if (content !== this._content) {\n this._content = content;\n let parsedContent = this._content;\n if (content && !Array.isArray(content)) {\n parsedContent = parseInlineContent(content);\n }\n\n this._parsedContent = this._formatSpaces(parsedContent);\n }\n return content;\n }\n\n _setBadgeProperties(badgeProperties) {\n if (typeof badgeProperties === 'object') {\n return badgeProperties;\n }\n }\n\n _getBadgeProperties() {\n return this._badgeProperties || {};\n }\n\n _setContentProperties(contentProperties) {\n if (typeof contentProperties === 'object') {\n return contentProperties;\n }\n }\n\n _getContentProperties() {\n return this._contentProperties || {};\n }\n\n _setCustomStyleMappings(customStyleMappings) {\n if (typeof customStyleMappings === 'object') {\n return customStyleMappings;\n }\n }\n\n _getCustomStyleMappings() {\n return this._customStyleMappings || {};\n }\n\n _setMaxLines(maxLines) {\n // only accept positive numbers\n // round down any decimals to whole numbers\n return maxLines >= 1 ? Math.floor(maxLines) : 0;\n }\n\n get textHeight() {\n return this.style.textStyle.lineHeight || this.style.textStyle.fontSize;\n }\n\n get _marginBottom() {\n if (this.contentProperties.marginBottom !== undefined) {\n return this.contentProperties.marginBottom;\n }\n if (this.style.marginBottom) {\n return this.style.marginBottom;\n }\n return 0;\n }\n\n get _shouldTruncate() {\n return this.contentWrap && this.maxLines;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n if (this._announce) {\n return this._announce;\n }\n const announce =\n this._parsedContent &&\n this._parsedContent.reduce((announce, item) => {\n if (typeof item === 'string') {\n announce += item;\n } else if (item.announce) {\n announce += item.announce;\n } else if (item.text) {\n announce += item.text;\n if (item.style?.textDecoration === 'line-through') {\n announce += 'strikethrough';\n }\n } else if (item.title) {\n announce += item.title;\n } else if (item.badge) {\n announce += item.badge;\n }\n return announce + ' ';\n }, '');\n return announce ? announce.replace(/\\s+(?=\\s)|\\s$/g, '') : '';\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n fadeWidth: 100,\n offset: theme.spacer.xxl,\n shouldSmooth: false,\n textStyle: theme.typography.body1\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as styles from './Marquee.styles';\nimport FadeShader from '../../shaders/FadeShader';\nimport utils from '../../utils';\nimport Base from '../Base';\n\nexport default class Marquee extends Base {\n static _template() {\n return {\n ContentClipper: {\n boundsMargin: [], // overwrite boundsMargin so text won't de-render if moved offscreen\n ContentBox: {\n Content: {},\n ContentLoopTexture: {}\n }\n }\n };\n }\n\n static get __componentName() {\n return 'Marquee';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get tags() {\n return [\n 'ContentClipper',\n {\n name: 'ContentBox',\n path: 'ContentClipper.ContentBox'\n },\n {\n name: 'Content',\n path: 'ContentClipper.ContentBox.Content'\n },\n {\n name: 'ContentLoopTexture',\n path: 'ContentClipper.ContentBox.ContentLoopTexture'\n }\n ];\n }\n\n static get properties() {\n return [\n 'autoStart',\n 'title',\n 'contentTexture',\n 'color',\n 'centerAlign',\n 'delay',\n 'repeat',\n 'overrideLoopX'\n ];\n }\n\n static get aliasStyles() {\n return [{ prev: 'fadeW', curr: 'fadeWidth' }];\n }\n\n _construct() {\n super._construct();\n this._scrolling = false;\n this._autoStart = false;\n this._centerAlign = false;\n }\n\n _init() {\n this._Content.on('txLoaded', this._updateContentTexture.bind(this));\n super._init();\n }\n\n _updateContentTexture() {\n const restartScrolling = this._restartScrolling;\n this.stopScrolling();\n\n if (!this._currentTexture.h) {\n this._ContentClipper.h =\n this._currentTexture.text && this._currentTexture.text.lineHeight\n ? this._currentTexture.text.lineHeight\n : this._Content.finalH;\n }\n // in case the metadata width gets larger on focus and the text goes from being clipped to not\n if (this._shouldClip) {\n this._updateShader();\n } else {\n this._ContentClipper.shader = null;\n this._positionTexture();\n }\n\n restartScrolling && this.startScrolling();\n this.signal('marqueeContentLoaded');\n }\n\n _update() {\n this._updateColor();\n this._updateTexture();\n this._updateShader();\n this._restartScrolling && this.startScrolling();\n }\n\n get _restartScrolling() {\n return this.autoStart || this._scrolling || this._shouldTryScrolling;\n }\n\n _updateColor() {\n if (this.color) {\n this._Content.smooth = { color: utils.getValidColor(this.color) };\n }\n }\n\n get _currentTexture() {\n return this._Content.text || this._Content.texture || {};\n }\n\n _updateTexture() {\n const content = { rtt: true };\n if (this.contentTexture) {\n content.texture = this.contentTexture;\n } else if (this.title) {\n content.text = {\n ...this.style.textStyle,\n ...this.title,\n text: this.textContent\n };\n }\n\n this.patch({\n ContentClipper: {\n w: this.w + 14,\n ContentBox: {\n Content: content,\n ContentLoopTexture: {}\n }\n }\n });\n this.signal('marqueeContentLoaded'); // TODO: Check if this extra signal is needed since the txLoaded event should emit it already?\n }\n\n _updateShader() {\n this._ContentClipper.patch({\n w: this.w > 0 ? this.w + this.style.fadeWidth / 2 : 0,\n shader: {\n type: FadeShader,\n positionLeft: 0,\n positionRight: this.style.fadeWidth\n },\n rtt: true\n });\n }\n\n _updateAnimation() {\n this._scrollAnimation && this._scrollAnimation.stopNow();\n this._scrollAnimation = this.animation({\n duration: this._loopWidth / 50,\n delay: isNaN(this.delay) ? 1.5 : this.delay,\n repeat: isNaN(this.repeat) ? -1 : this.repeat,\n actions: [\n {\n t: 'ContentBox',\n p: 'x',\n v: {\n sm: 0,\n 0: { v: 0 },\n 0.5: { v: -(this._loopWidth + this.style.offset) }\n }\n },\n {\n t: 'ContentClipper',\n p: 'shader.positionLeft',\n v: {\n sm: 0,\n 0: { v: 0 },\n 0.1: { v: this.style.fadeWidth },\n 0.4: { v: this.style.fadeWidth },\n 0.5: { v: 0 }\n }\n }\n ]\n });\n }\n\n _positionTexture() {\n const x = this._shouldCenter() ? (this.w - this._textRenderedW) / 2 : 0;\n if (this.style.shouldSmooth) {\n this._ContentBox.smooth = { x };\n } else {\n this._ContentBox.x = x;\n }\n }\n\n startScrolling() {\n this._Content.off('txLoaded', this.startScrolling.bind(this));\n\n this._shouldTryScrolling = true;\n if (this._textRenderedW === 0) {\n // can switch to .once in LUI5.0 requiring higher Lightning Core version\n this._Content.on('txLoaded', this.startScrolling.bind(this));\n }\n if (this._shouldClip) {\n this._scrolling = true;\n this._ContentLoopTexture.x = this._loopWidth + this.style.offset;\n this._ContentLoopTexture.texture = this._Content.getTexture();\n this._updateAnimation();\n this._scrollAnimation.start();\n } else {\n this._scrolling = false;\n }\n }\n\n stopScrolling() {\n this._shouldTryScrolling = false;\n this._scrolling = false;\n if (this._scrollAnimation) {\n this._scrollAnimation.stopNow();\n this._ContentLoopTexture.texture = null;\n }\n }\n\n get _shouldClip() {\n // using fadeWidth / 4 so that if something like the last character is slightly\n // faded out but still visible, we don't unnecessarily scroll\n return this._textRenderedW > this.w - this.style.fadeWidth / 4;\n }\n\n _shouldCenter() {\n return (\n this._centerAlign ||\n (this._Content.text && this._Content.text.textAlign === 'center')\n );\n }\n\n _setAutoStart(autoStart) {\n // if the component is changed from autoStarting to not,\n // cancel the current scrolling behavior,\n // otherwise the component can continue to scroll from its previous state\n if (this.autoStart && !autoStart) {\n // Calling this ensures that the animation is stopped, and the texture\n // is properly positioned if it needs to be centered. Otherwise, if it\n // is un-clipped text, it is positioned at 0.\n this._updateContentTexture();\n }\n return autoStart;\n }\n\n _setCenterAlign(center) {\n // The Content texture needs to be updated if centerAlign\n // is changed, but we need the new value first.\n this._centerAlign = center;\n this._updateContentTexture();\n return center;\n }\n\n get textContent() {\n return this.title?.text ?? this.title ?? '';\n }\n\n get _loopWidth() {\n return this.overrideLoopX || this._textRenderedW;\n }\n\n get _textRenderedW() {\n return this._Content.renderWidth;\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n get announce() {\n return this._announce || (this.title && this.title.text);\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n alwaysScroll: false,\n itemSpacing: theme.layout.gutterX,\n itemTransition: theme.animation.utility,\n neverScroll: false,\n scrollIndex: 0\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport FocusManager from '../FocusManager';\nimport { getX, getY, getH, getW, max, watchForUpdates } from '../../utils';\nimport * as styles from './NavigationManager.styles';\n\nconst directionPropNames = {\n row: {\n axis: 'x',\n crossAxis: 'y',\n lengthDimension: 'w',\n crossDimension: 'h',\n innerLengthDimension: 'innerW',\n innerCrossDimension: 'innerH'\n },\n column: {\n axis: 'y',\n crossAxis: 'x',\n lengthDimension: 'h',\n crossDimension: 'w',\n innerLengthDimension: 'innerH',\n innerCrossDimension: 'innerW'\n }\n};\n\nexport default class NavigationManager extends FocusManager {\n static get __componentName() {\n return 'NavigationManager';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get properties() {\n return [\n ...super.properties,\n 'alwaysScroll',\n 'neverScroll',\n 'scrollIndex',\n 'autoResizeWidth',\n 'autoResizeHeight',\n 'lazyUpCount',\n 'lazyUpCountBuffer',\n 'waitForDimensions'\n ];\n }\n\n _construct() {\n super._construct();\n this.shouldSmooth = false;\n this._lazyUpCountBuffer = 2;\n }\n\n _init() {\n const { lengthDimension, axis } = this._directionPropNames;\n\n if (!this[lengthDimension]) {\n this._initComponentSize();\n }\n\n this.Items.transition(axis).on(\n 'finish',\n this._transitionListener.bind(this)\n );\n\n super._init();\n }\n\n _initComponentSize() {\n const { lengthDimension } = this._directionPropNames;\n if (\n this?.parent.parent instanceof NavigationManager &&\n this?.parent.parent[lengthDimension]\n ) {\n // component is a child item in a NavigationManager (or subclass of NavigationManager)\n this[lengthDimension] = this.parent.parent[lengthDimension];\n } else {\n // find closest parent in render tree with lengthDimension property set(w for Row, h for Column)\n let parent = this.parent;\n while (parent && !parent[lengthDimension]) {\n parent = parent.parent;\n }\n this[lengthDimension] =\n (parent && parent[lengthDimension]) ||\n this.stage.h / this.stage.getRenderPrecision();\n }\n }\n\n _update() {\n this._updateLayout();\n }\n\n _updateLayout() {\n const { lengthDimension, crossDimension, crossAxis, innerCrossDimension } =\n this._directionPropNames;\n let nextPosition = 0;\n let maxCrossDimensionSize = 0;\n let maxInnerCrossDimensionSize = 0;\n const childrenToCenter = [];\n const loadingChildren = [];\n\n for (let i = 0; i < this.Items.children.length; i++) {\n const child = this.Items.children[i];\n\n if (child.requestEarlyUpdate) {\n const updateDidRun = child.requestEarlyUpdate();\n if (!updateDidRun && (child.w === 0 || child.h === 0)) {\n child._updateLayout && child._updateLayout();\n }\n }\n const childCrossDimensionSize = this._calcCrossDimensionSize(child);\n\n if (\n this.waitForDimensions &&\n (!childCrossDimensionSize || !child[lengthDimension])\n ) {\n loadingChildren.push(child);\n }\n\n maxCrossDimensionSize = max(\n maxCrossDimensionSize,\n childCrossDimensionSize\n );\n maxInnerCrossDimensionSize = max(\n maxInnerCrossDimensionSize,\n child[innerCrossDimension] || 0\n );\n\n this.updatePositionOnAxis(child, nextPosition);\n\n nextPosition += child[lengthDimension];\n\n if (i < this.Items.children.length - 1) {\n const extraItemSpacing = child.extraItemSpacing || 0;\n nextPosition += this.style.itemSpacing + extraItemSpacing;\n }\n\n if (child.centerInParent) {\n // if the child is another NavigationManager, check the cross dimension size of the item container\n const childCrossDimensionSize =\n (child.Items && child.Items[crossDimension]) || child[crossDimension];\n // only center the child if it is within the bounds of this NavigationManager\n // center based off innerCrossDimension in cases where elements with\n // innerCrossDimension exist in Items (ex. Tile with metadata)\n if (\n childCrossDimensionSize < this[crossDimension] ||\n !this.Items[innerCrossDimension]\n ) {\n childrenToCenter.push({ childIdx: i, childCrossDimensionSize });\n }\n } else {\n child[crossAxis] = 0;\n }\n }\n\n const itemChanged =\n this.Items[crossDimension] !== maxCrossDimensionSize ||\n this.Items[lengthDimension] !== nextPosition;\n\n if (this.waitForDimensions) {\n this.Items.alpha = loadingChildren.length ? 0.001 : 1;\n }\n\n this.Items.patch({\n [crossDimension]: maxCrossDimensionSize,\n [innerCrossDimension]:\n maxInnerCrossDimensionSize || maxCrossDimensionSize,\n [lengthDimension]: nextPosition + (this._totalAddedWidth || 0)\n });\n\n this._autoResize();\n this._centerItemsInParent(childrenToCenter);\n this._updateLastScrollIndex();\n\n if (itemChanged) {\n this._performRender();\n this.fireAncestors('$itemChanged');\n }\n }\n\n _centerItemsInParent(items) {\n const { crossDimension, crossAxis, innerCrossDimension } =\n this._directionPropNames;\n if (items.length) {\n const sizes = [\n this.Items[crossDimension],\n this.Items[innerCrossDimension]\n ];\n // If a subclass of NavigationManager only contains a row or column of items:\n // then also consider the h or w of that component when centering items .\n // Subclasses that add other components outside of the Items array (ex. TitleRow)\n // likely increase the h or w of the component and centering should be with respect to only the Items element.\n if (this.children.length === 1) {\n sizes.push(this[crossDimension]);\n }\n\n const crossDimensionSize = Math.max(...sizes);\n items.forEach(({ childIdx, childCrossDimensionSize }) => {\n this.Items.children[childIdx][crossAxis] =\n (crossDimensionSize - childCrossDimensionSize) / 2;\n });\n }\n }\n\n _autoResize() {\n if (this.autoResizeWidth) {\n this.w = this.Items.w;\n }\n if (this.autoResizeHeight) {\n this.h = this.Items.h;\n }\n }\n\n _updateLastScrollIndex() {\n const { axis, lengthDimension } = this._directionPropNames;\n if (this.alwaysScroll) {\n this._lastScrollIndex = this.Items.children.length - 1;\n return;\n }\n\n const itemPos = this._isRow ? this.itemPosX : this.itemPosY;\n const scrollOffset =\n (this.Items.children[this.scrollIndex] || {\n [axis]: 0\n })[axis] + itemPos;\n const lastChild = this.Items.childList.last;\n const endOfLastChild = lastChild\n ? this._calcAxisPosition(lastChild) + lastChild[lengthDimension]\n : 0;\n if (endOfLastChild > this[lengthDimension]) {\n let lastScrollIndex;\n for (let i = this.Items.children.length - 1; i >= 0; i--) {\n const childPosition = this._calcAxisPosition(this.Items.children[i]);\n const canScrollToChild =\n childPosition + this[lengthDimension] - scrollOffset > endOfLastChild;\n if (canScrollToChild) {\n lastScrollIndex = i;\n } else {\n break;\n }\n }\n this._lastScrollIndex = lastScrollIndex;\n return;\n }\n\n // TODO: This conditional originated in Column (prior to NavigationManager refactor).\n // What scenario would this ever be true?\n // Add a comment to describe it when that is identified.\n if (this._lastScrollIndex > this.items.length) {\n this._lastScrollIndex = this.items.length - 1;\n }\n }\n\n _calcCrossDimensionSize(comp) {\n if (this._isRow) {\n return getH(comp);\n }\n\n if (this._isColumn) {\n return getW(comp);\n }\n }\n\n _calcAxisPosition(comp) {\n if (this._isRow) {\n return getX(comp);\n }\n\n if (this._isColumn) {\n return getY(comp);\n }\n }\n\n _transitionListener() {\n this.shouldSmooth = false;\n this.transitionDone();\n }\n\n _withAfterUpdate(element) {\n return watchForUpdates({\n element,\n watchProps: [\n this._directionPropNames.crossAxis,\n 'w',\n 'h',\n 'innerW',\n 'innerH'\n ],\n sideEffect: this.queueRequestUpdate.bind(this)\n });\n }\n\n // can be overwritten\n _performRender() {}\n\n _appendItem(item, shouldSmoothOverride) {\n this.shouldSmooth = shouldSmoothOverride ?? false;\n item.parentFocus = this.hasFocus();\n item = this.Items.childList.a(item);\n\n const { crossDimension } = this._directionPropNames;\n // do not set a h/w if the item already has one defined\n // as this will trigger withThemeStyles's dimension \"setByUser\" flag\n if (!item[crossDimension]) {\n const itemCrossSize = this._isRow ? this.renderHeight : this.renderWidth;\n item[crossDimension] = item[crossDimension] || itemCrossSize;\n }\n\n item = this._withAfterUpdate(item);\n return item;\n }\n\n _appendLazyItem(item) {\n const { lengthDimension, axis } = this._directionPropNames;\n const lastChild = this._Items.children[this.items.length - 1];\n const nextPosition =\n lastChild[lengthDimension] +\n lastChild[axis] +\n (lastChild.extraItemSpacing || 0) +\n this.style.itemSpacing;\n\n const appended = this._appendItem(item, true);\n\n // Update w/o recalculating whole layout\n appended[axis] = nextPosition;\n this._Items[lengthDimension] += nextPosition + item[lengthDimension];\n }\n\n $itemChanged() {\n this.queueRequestUpdate();\n }\n\n appendItems(items = []) {\n this.shouldSmooth = false;\n\n if (this._lazyItems) {\n this._lazyItems.push(...items);\n return;\n }\n\n if (items.length > this.lazyUpCount + this.lazyUpCountBuffer) {\n this._lazyItems = items.splice(this.lazyUpCount + this.lazyUpCountBuffer);\n }\n items.forEach(item => this._appendItem(item));\n\n this.requestUpdate();\n this._refocus();\n }\n\n appendItemsAt(items = [], idx) {\n if (this._lazyItems && idx > this.items.length - 1) {\n const addAtIdx = idx - this.items.length;\n this._lazyItems.splice(addAtIdx, 0, ...items);\n return;\n }\n\n const { crossDimension, lengthDimension, innerLengthDimension } =\n this._directionPropNames;\n const addIndex = Number.isInteger(idx) ? idx : this.Items.children.length;\n this.shouldSmooth = false;\n this._lastAppendedIdx = addIndex;\n this._totalAddedLength = 0;\n\n items.forEach((item, itemIdx) => {\n const newItem = {\n ...this._withAfterUpdate(item),\n parentFocus: this.hasFocus()\n };\n // do not set a h/w if the item already has one defined\n // as this will trigger withThemeStyles's dimension \"setByUser\" flag\n if (!item[crossDimension]) {\n newItem[crossDimension] =\n item[crossDimension] || this.Items[crossDimension];\n }\n this.Items.childList.addAt(newItem, addIndex + itemIdx);\n const itemLength =\n item[lengthDimension] || item[innerLengthDimension] || 0;\n const extraItemSpacing = item.extraItemSpacing || 0;\n this._totalAddedLength +=\n itemLength + this.style.itemSpacing + extraItemSpacing;\n });\n\n if (this.selectedIndex >= this._lastAppendedIdx) {\n this._selectedPastAdded = true;\n this._selectedIndex += items.length;\n }\n\n this.requestUpdate();\n this._refocus();\n }\n\n updatePositionOnAxis(item, position) {\n const { axis } = this._directionPropNames;\n this.applySmooth(\n item,\n { [axis]: position },\n { [axis]: [position, this.style.itemTransition] }\n );\n\n if (!this.shouldSmooth) {\n this._updateTransitionTarget(item, axis, position);\n }\n }\n\n scrollTo(index, duration = this.style.itemTransition.duration * 100) {\n if (index == undefined) {\n return;\n }\n\n if (duration === 0) {\n this.selectedIndex = index;\n return;\n }\n\n for (let i = 0; i !== Math.abs(this.selectedIndex - index); i++) {\n setTimeout(() => {\n this.selectedIndex > index ? this.selectPrevious() : this.selectNext();\n }, duration * i);\n }\n }\n\n // can be overridden\n transitionDone() {}\n\n shouldScrollLeft() {\n return this._isRow && this._canScrollBack;\n }\n\n shouldScrollRight() {\n return this._isRow && this._canScrollNext;\n }\n\n shouldScrollUp() {\n return this._isColumn && this._canScrollBack;\n }\n\n shouldScrollDown() {\n return this._isColumn && this._canScrollNext;\n }\n\n get _directionPropNames() {\n return directionPropNames[this.direction];\n }\n\n get _canScrollBack() {\n let shouldScroll = false;\n\n if (this._lastScrollIndex) {\n shouldScroll = this.selectedIndex < this._lastScrollIndex;\n if (\n this._prevLastScrollIndex !== undefined &&\n this._prevLastScrollIndex !== this._lastScrollIndex\n ) {\n shouldScroll = true;\n }\n } else {\n shouldScroll = this.selectedIndex >= this.scrollIndex;\n }\n\n const itemsStartCoord = this._isRow ? this._itemsX : this._itemsY;\n return (\n itemsStartCoord < (this._isRow ? this.itemPosX : this.itemPosY) &&\n shouldScroll\n );\n }\n\n get _canScrollNext() {\n const { axis, lengthDimension } = this._directionPropNames;\n const lastChild = this.Items.childList.last;\n let endOfItemsPosition;\n\n if (this._isRow) {\n endOfItemsPosition = Math.abs(this._itemsX - this.w);\n }\n if (this._isColumn) {\n endOfItemsPosition = Math.abs(this._itemsY - this.h);\n }\n\n return (\n this.selectedIndex > this.scrollIndex &&\n // end of Items container < end of last item\n endOfItemsPosition < lastChild[axis] + lastChild[lengthDimension]\n );\n }\n\n get _isColumn() {\n return this.direction === 'column';\n }\n\n get _isRow() {\n return this.direction === 'row';\n }\n\n get _itemsX() {\n return getX(this.Items);\n }\n\n get _itemsY() {\n return getY(this.Items);\n }\n\n _getAlwaysScroll() {\n return this._alwaysScroll !== undefined\n ? this._alwaysScroll\n : this.style.alwaysScroll;\n }\n\n _getNeverScroll() {\n if (this.alwaysScroll) {\n return false;\n }\n return this._neverScroll !== undefined\n ? this._neverScroll\n : this.style.neverScroll;\n }\n\n _setScrollIndex(index) {\n return index >= 0 ? index : 0;\n }\n\n _getScrollIndex() {\n return this._scrollIndex !== undefined\n ? this._scrollIndex\n : this.style.scrollIndex;\n }\n\n _setLazyUpCountBuffer(buffer) {\n if (buffer < 0) {\n console.warn(\n 'lazyUpCountBuffer must be greater than or equal to 0. Setting to 0.'\n );\n buffer = 0;\n }\n return buffer;\n }\n\n isFullyOnScreen({ offsetX = 0, offsetY = 0 } = {}) {\n // if the NavigationManager is nested in another Focus Manager\n // (like a Row inside of a Column),\n // the `isComponentOnScreen` method needs to account for\n // how much the Items container is moving as it scrolls\n const focusmanager = this.parent?.parent;\n if (focusmanager instanceof FocusManager) {\n offsetX += focusmanager.Items.transition('x').targetValue || 0;\n offsetY += focusmanager.Items.transition('y').targetValue || 0;\n }\n return super.isFullyOnScreen({ offsetX, offsetY });\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n itemSpacing: theme.layout.gutterX,\n scrollIndex: 0,\n alwaysScroll: false,\n neverScroll: false,\n itemTransition: {\n ...theme.animation.standardEntrance,\n duration: theme.animation.duration.fast\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport NavigationManager from '../NavigationManager';\nimport * as styles from './Row.styles';\nimport { getX } from '../../utils';\n\nexport default class Row extends NavigationManager {\n static get __componentName() {\n return 'Row';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static _template() {\n return {\n ...super._template(),\n direction: 'row'\n };\n }\n\n static get properties() {\n return [\n ...super.properties,\n 'lazyScroll',\n 'startLazyScrollIndex',\n 'stopLazyScrollIndex'\n ];\n }\n\n // Since this is a Row, scrolling should be done only when focused item (this.selected) is fully visible horizontally\n // as scrolling is happening along X axis. So, if we have a row that has height greater than screen's height, it still\n // can scroll. Method below the '_isComponentHorizontallyVisible' does not take \"full\" visibility into an account.\n // At the same time, 'isFullyOnScreen' method on the Base class or utils method checks that element is fully visible\n // both vertically and horizontally.\n // At a later time, we should investigate this further.\n _isOnScreenForScrolling(child) {\n if (!child) return false;\n\n const x = getX(child);\n if (!Number.isFinite(x)) return false;\n const itemsTransitionX = this.getTransitionXTargetValue();\n const rowX = this.core.renderContext.px;\n let itemX = rowX + itemsTransitionX + x;\n let xModifier;\n\n // This section here takes the difference between a possible target value\n // and subtracts it from the current child x. That value then is subtracted from the initial\n // itemX value calculated on the core renderContext px value to more accurately\n // calculate the item's location on screen when it's own x value will be updating.\n if (child.transition('x')) {\n xModifier = child.x - child.transition('x').targetValue;\n itemX = itemX - xModifier;\n }\n return itemX >= rowX && itemX + child.w <= rowX + this.w;\n }\n\n _shouldScroll() {\n const prevIndex = this.Items.childList.getIndex(this.prevSelected);\n if (\n this.alwaysScroll ||\n (this.lazyScroll &&\n (this.selectedIndex < this.startLazyScrollIndex ||\n this.selectedIndex > this.stopLazyScrollIndex ||\n (prevIndex < this.startLazyScrollIndex &&\n this.selectedIndex === this.startLazyScrollIndex) ||\n (prevIndex > this.stopLazyScrollIndex &&\n this.selectedIndex === this.stopLazyScrollIndex)))\n ) {\n return true;\n }\n\n let shouldScroll = this._selectedPastAdded;\n if (!shouldScroll && !this.neverScroll) {\n const isCompletelyOnScreen = this._isOnScreenForScrolling(this.selected);\n\n if (this.lazyScroll) {\n shouldScroll = !isCompletelyOnScreen;\n } else {\n const lastChild = this.Items.childList.last;\n shouldScroll =\n lastChild &&\n (this.shouldScrollLeft() ||\n this.shouldScrollRight() ||\n !isCompletelyOnScreen);\n }\n }\n return shouldScroll;\n }\n\n _getPrependedOffset() {\n this._selectedPastAdded = false;\n return this.Items.x - this._totalAddedWidth;\n }\n\n _getLazyScrollX(prev) {\n const prevIndex = this.Items.childList.getIndex(this.prevSelected);\n if (this._selectedPastAdded) {\n return this._getPrependedOffset();\n }\n\n if (this.selectedIndex <= this.startLazyScrollIndex) {\n // if navigating on items before start lazy scroll index, use normal scroll logic\n return this._getScrollX();\n } else if (\n this.selectedIndex >= this.stopLazyScrollIndex &&\n this.selectedIndex < prevIndex\n ) {\n // if navigating left on items after stop lazy scroll index\n const currItemsX = this.Items.x;\n\n return (\n currItemsX +\n (this.prevSelected.w +\n this.style.itemSpacing +\n (this.selected.extraItemSpacing || 0))\n );\n } else if (prev && this.selectedIndex > this.stopLazyScrollIndex) {\n // if navigating right on items after stop lazy scroll index\n const prevX = prev.x;\n\n return (\n -prevX +\n this.prevSelected.w +\n this.style.itemSpacing +\n (this.selected.extraItemSpacing || 0) +\n this.itemPosX\n );\n } else if (prev) {\n // otherwise, no start/stop indexes, perform normal lazy scroll\n let itemsContainerX;\n const prevIndex = this.Items.childList.getIndex(prev);\n\n const selectedX = this.selected.x;\n\n if (prevIndex === -1) {\n // No matches found in childList, start set x to 0\n return;\n }\n if (prevIndex > this.selectedIndex) {\n itemsContainerX = -selectedX + this.itemPosX;\n } else if (prevIndex < this.selectedIndex) {\n itemsContainerX = this.w - selectedX - this.selected.w;\n }\n\n return itemsContainerX;\n }\n // if no prev item or start/stop index, default to normal scroll logic\n return this._getScrollX();\n }\n\n _getScrollX() {\n if (this._selectedPastAdded) {\n return this._getPrependedOffset();\n }\n let itemsContainerX;\n let itemIndex = this.selectedIndex - this.scrollIndex;\n itemIndex = itemIndex < 0 ? 0 : itemIndex;\n if (itemIndex === this._firstFocusableIndex()) {\n itemIndex = 0;\n }\n\n if (this.Items.children[itemIndex]) {\n itemsContainerX = this.Items.children[itemIndex].transition('x')\n ? -this.Items.children[itemIndex].transition('x').targetValue +\n this.itemPosX\n : -this.Items.children[itemIndex].x + this.itemPosX;\n }\n\n return itemsContainerX;\n }\n\n _render(next, prev) {\n if (this.plinko && prev && prev.selected) {\n next.selectedIndex = this._getIndexOfItemNear(next, prev);\n }\n\n this._prevLastScrollIndex = this._lastScrollIndex;\n\n let itemsContainerX;\n if (!this.Items.children.length) {\n itemsContainerX = this.itemPosX;\n } else if (this._shouldScroll()) {\n itemsContainerX =\n this.lazyScroll && prev\n ? this._getLazyScrollX(prev)\n : this._getScrollX();\n }\n\n if (itemsContainerX !== undefined) {\n this.updatePositionOnAxis(this.Items, itemsContainerX);\n }\n\n this.onScreenEffect(this.onScreenItems);\n }\n\n _performRender() {\n this._render(this.selected, this.prevSelected);\n }\n\n _isOnScreen(child) {\n if (!child) return false;\n\n return this._isComponentHorizontallyVisible(child);\n }\n\n // can be overridden\n onScreenEffect() {}\n\n get _totalAddedWidth() {\n return this._totalAddedLength;\n }\n\n _getLazyScroll() {\n if (this.alwaysScroll) {\n return false;\n }\n return this._lazyScroll !== undefined\n ? this._lazyScroll\n : this.style.lazyScroll;\n }\n\n _getNeverScroll() {\n if (this.alwaysScroll || this.lazyScroll) {\n return false;\n }\n return this._neverScroll !== undefined\n ? this._neverScroll\n : this.style.neverScroll;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const base = theme => ({\n offsetY: theme.spacer.xxs,\n offsetX: 0,\n textStyle: theme.typography.body1\n});\n\nexport const tone = theme => ({\n neutral: {\n textStyle: { textColor: theme.color.fillNeutral }\n },\n inverse: {\n textStyle: { textColor: theme.color.fillInverse }\n },\n brand: {\n textStyle: { textColor: theme.color.fillBrand }\n }\n});\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport * as styles from './TextBox.styles';\nimport Base from '../Base';\nimport InlineContent from '../InlineContent';\nimport Marquee from '../Marquee';\nimport context from '../../globals/context/index';\nimport utils from '../../utils';\n\n/**\n *\n * Get defaults directly from @lightningjs/core to ensure correct fallback values\n *\n */\nconst lightningTextDefaults = Object.entries(\n Object.getOwnPropertyDescriptors(lng.textures.TextTexture.prototype)\n).reduce((acc, [prop]) => {\n const value = lng.textures.TextTexture.prototype[prop];\n if (prop.startsWith('_') || ['undefined', 'function'].includes(typeof value))\n return acc;\n return {\n [prop]: value,\n ...acc\n };\n}, {});\n\nexport default class TextBox extends Base {\n static _template() {\n return {\n alpha: 0.001\n };\n }\n\n static get __componentName() {\n return 'TextBox';\n }\n\n static get __themeStyle() {\n return styles;\n }\n\n static get tags() {\n return ['InlineContent', 'Marquee', 'Text'];\n }\n\n static get properties() {\n return [\n ...InlineContent.properties,\n 'content',\n 'fixed',\n 'marquee',\n 'marqueeProps',\n 'hideOnLoad'\n ];\n }\n\n _setDimensions(w, h) {\n let width = w;\n let height = h;\n if (!this._isInlineContent) {\n width = this._Text.texture.getRenderWidth();\n height = this._Text.texture.getRenderHeight();\n }\n\n const sizeChanged = this.w !== width || this.h !== height;\n\n if (width && height && sizeChanged) {\n this.h = height;\n if (!this.fixed) {\n this.w = width;\n }\n\n // Position updates can produce flash of poorly positioned content, hide the element until measurements are made.\n if (!this.hideOnLoad && this.alpha < 1) {\n this.alpha = 1;\n }\n\n this._notifyAncestors();\n }\n }\n\n _setContent(content) {\n this._isInlineContent = false;\n if (Array.isArray(content) || utils.isMarkupString(content)) {\n this._isInlineContent = true;\n }\n if ('string' !== typeof content && !this._isInlineContent) {\n return '';\n }\n return content;\n }\n\n get title() {\n return this._content;\n }\n\n _notifyAncestors(w = this.w, h = this.h) {\n this.fireAncestors('$itemChanged');\n this.signal('textBoxChanged', { w, h });\n }\n\n _construct() {\n super._construct();\n this._marqueeContentListenerAttached = false;\n this._marqueeOverrideLoopX = undefined;\n this._resetMarqueePromise();\n }\n\n _update() {\n if (!this.content) {\n // If content is not defined hide the component, but do NOT set visibility\n // as a parent component may need to control that (i.e. Control Button)\n\n // guard to make sure _notifyAncestors is not called numerous times for components like Input\n if (this._Text || this._InlineContent) {\n this.w = this.h = 0;\n this._notifyAncestors(); // need to alert parents that the width and height are now 0\n // makes sure that elements are removed\n this._updateMarquee();\n this.patch({ Text: undefined, InlineContent: undefined });\n }\n\n return;\n }\n this._isInlineContent ? this._updateInlineContent() : this._updateText();\n this._updateMarquee();\n }\n\n _updateInlineContent() {\n this.patch({ Text: undefined });\n\n const inlineContentPatch = InlineContent.properties.reduce(\n (acc, prop) => {\n if (this[prop] != undefined) {\n acc[prop] = this[prop];\n }\n return acc;\n },\n // ensure all styles are passed down as well\n {\n style: {\n ...this.style,\n textStyle: this._textStyleSet\n }\n }\n );\n\n if (this._textStyleSet.wordWrapWidth) {\n inlineContentPatch.w = this._textStyleSet.wordWrapWidth;\n inlineContentPatch.rtt = true;\n }\n if (this._textStyleSet.maxLines) {\n inlineContentPatch.maxLines = this._textStyleSet.maxLines;\n }\n if (this._textStyleSet.maxLinesSuffix) {\n inlineContentPatch.maxLinesSuffix = this._textStyleSet.maxLinesSuffix;\n }\n\n this.patch({\n alpha: 1,\n InlineContent: {\n type: InlineContent,\n w: this.w,\n ...inlineContentPatch,\n signals: {\n loadedInlineContent: '_setDimensions'\n }\n }\n });\n }\n\n _updateText() {\n this.patch({ InlineContent: undefined });\n\n if (!this._Text) {\n this.patch({ Text: {} });\n this._Text.on('txLoaded', this._setDimensions.bind(this));\n }\n\n const fontStyle = this._textStyleSet;\n\n if (this._Text) {\n this._Text.patch({\n y: this.style.offsetY,\n x: this.style.offsetX,\n text: {\n ...lightningTextDefaults, // order matters this should always be first\n ...fontStyle\n }\n });\n }\n }\n\n // keep this out of the update lifecycle\n set marqueeOverrideLoopX(v) {\n this._marqueeOverrideLoopX = v;\n if (this._Marquee) this._Marquee.overrideLoopX = this._marqueeOverrideLoopX;\n this._resolveAwaitMarqueeOverrideX();\n }\n\n get marqueeOverrideLoopX() {\n return this._marqueeOverrideLoopX;\n }\n\n _resetMarqueePromise() {\n this._awaitMarqueeOverrideX = new Promise((resolve, reject) => {\n this._resolveAwaitMarqueeOverrideX = resolve;\n this._rejectAwaitMarqueeOverrideX = reject;\n });\n }\n\n _loadedMarqueeContent() {\n this.signal('willMarquee', this._Marquee);\n }\n\n _updateMarquee() {\n if (this._Marquee && !this.marquee) {\n this._toggleMarquee(this._contentTag);\n }\n\n if (this.marquee) {\n this._resetMarqueePromise();\n const marqueePatch = {\n ...this.marqueeProps,\n w: this._textStyleSet.wordWrapWidth || this.w,\n h: this.h,\n y: this.style.offsetY,\n x: this.style.offsetX,\n signals: {\n marqueeContentLoaded: '_loadedMarqueeContent'\n }\n };\n\n if (!this._Marquee) {\n marqueePatch.type = Marquee;\n }\n\n if (this._isInlineContent) {\n this._InlineContent.w = 0; // ensure we're copying the full, unwrapped inlineContent\n marqueePatch.title = undefined;\n marqueePatch.contentTexture = this._contentTag.getTexture();\n marqueePatch.w = this._textStyleSet.wordWrapWidth || this.w;\n } else {\n marqueePatch.contentTexture = undefined;\n marqueePatch.title = {\n text: this._contentTag.text.text,\n ...this._textStyleSet,\n wordWrapWidth: 0, // ensures that the text will marquee and not wrap\n maxLines: 1\n };\n }\n\n this.patch({\n Marquee: marqueePatch\n });\n if (!this._marqueeContentListenerAttached) {\n this._marqueeContentListenerAttached = true;\n }\n if ('undefined' !== typeof this._marqueeOverrideLoopX) {\n this._awaitMarqueeOverrideX.then(() => {\n this._toggleMarquee(this._contentTag);\n });\n } else {\n this._toggleMarquee(this._contentTag);\n }\n }\n }\n\n _getMarqueeProps() {\n return this._marqueeProps ?? {};\n }\n\n get _textStyleSet() {\n const fontStyle = {\n ...this.theme.typography.body1,\n ...(null !== this.style.textStyle &&\n 'object' === typeof this.style.textStyle &&\n Object.keys(this.style.textStyle)\n ? this.style.textStyle\n : this.theme.typography[this.style.textStyle])\n };\n\n this.constructor.properties.forEach(prop => {\n if ('fontStyle' !== prop && 'undefined' !== typeof this[`_${prop}`]) {\n const key = 'content' === prop ? 'text' : prop;\n fontStyle[key] = this[`_${prop}`];\n }\n });\n\n if (\n this.w &&\n !this._isInlineContent &&\n !this.style.textStyle.wordWrapWidth &&\n this.fixed\n ) {\n fontStyle.wordWrapWidth = this.w;\n }\n\n return fontStyle;\n }\n\n get _contentTag() {\n return this._isInlineContent ? this._InlineContent : this._Text;\n }\n\n _toggleMarquee(contentTag) {\n // do not just return if there is no contentTag, we may still need to alpha the Marquee\n if (this.marquee) {\n if (contentTag) {\n contentTag.alpha = 0.001;\n }\n if (this._Marquee) {\n this._Marquee.alpha = 1;\n this._Marquee.startScrolling();\n }\n } else {\n if (contentTag) {\n contentTag.alpha = 1;\n }\n if (this._Marquee) {\n this._Marquee.alpha = 0.001;\n this._Marquee.stopScrolling();\n }\n }\n }\n\n toggleMarquee() {\n this._toggleMarquee(this._contentTag);\n }\n\n get announce() {\n return (\n this._announce ||\n (this._isInlineContent && this._InlineContent\n ? this._InlineContent.announce\n : this.content)\n );\n }\n\n set announce(announce) {\n super.announce = announce;\n }\n\n set smooth(v) {\n context.warn(\n 'warning: value smoothing is known to cause bugs with the TextBox - patch updated values instead.'\n );\n super.smooth = v;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport logger from './logger';\nclass Metrics {\n constructor() {\n this._keyMetricsCallback = undefined;\n }\n\n get keyMetricsCallback() {\n return this._keyMetricsCallback;\n }\n\n set keyMetricsCallback(value) {\n if (-1 < ['undefined', 'function'].indexOf(typeof value)) {\n this._keyMetricsCallback = value;\n return;\n }\n logger.warn(\n `context keyMetricsCallback expected a function. Received ${typeof value}`\n );\n }\n}\n\nconst metricsInstance = new Metrics();\n\nexport { metricsInstance as default, Metrics };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\n\nconst eventEmitterInstance = new lng.EventEmitter();\n\nexport default eventEmitterInstance;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport default {\n name: 'Base Lightning TV',\n alpha: {\n primary: 1,\n secondary: 0.7,\n tertiary: 0.1,\n inactive: 0.5,\n full: 1,\n none: 0,\n alpha1: 0.1,\n alpha2: 0.3,\n alpha3: 0.5,\n alpha4: 0.7,\n alpha5: 0.9\n },\n animation: {\n duration: {\n none: 0,\n xfast: 0.1,\n fast: 0.25,\n normal: 0.5,\n slow: 0.75,\n xslow: 0.9\n },\n delay: {\n none: 0,\n xfast: 0.01,\n fast: 0.025,\n normal: 0.05,\n slow: 0.075,\n xslow: 0.09\n },\n expressive: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n expressiveEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n expressiveExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standard: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standardEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n standardExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utility: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utilityEntrance: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n },\n utilityExit: {\n timingFunction: 'cubic-bezier(0, 0, 1, 1)',\n delay: 0,\n duration: 0.25\n }\n },\n asset: {\n arrowLeft:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAi0lEQVRIDWNgGAWjIfD//38JID5Fk5AAGqwKxPeA+D/VLQCaaQLEr0CGgwBVLQCa5wbEn0EGwwDVLAAaGA3Ev2AGw2iqWAA0rBiI/8EMRaYptgBoWDeygehsci1gIlcjWfqArqZdEMFcBLSEdpGMZAntkimSJbTLaEiW0K6oQLKEdoUdzJJRemiHAAD4n+yzPWCs7QAAAABJRU5ErkJggg==',\n arrowRight:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAg0lEQVRIDWNgGAWjIYArBP7//38KiCVwyVMsDjQcBO4BsSrFhmEzAGw8hHgFpEywqaFIDMkCEPMzELtRZCC6ZjQLQNxfQByNro5sPhYLQEL/gLiYbEORNeKwACbcDVPLBGMMOhrmVDSapkFE00imaTKlaUajaVFB28Ju0CXrUQfhDAEAEgHss6NhpLQAAAAASUVORK5CYII=',\n backspaceOutline:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC',\n check:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgBvdPdDcIgEAfwoy8Nb45QN3AGF2s36Ahu4gpuIDoBfSgfpdoTlCbEWEMh6T8hFzjyg5AAkBHOcQe5UWqspRx435sDpMYj6IYQwwVSEiJ2MKVUBWuzLSLl2HL+uxmNCGFO8yaL7RHxve6qRZoAuS4hxac8735elWVx7jrtMKL1o0Gcat9jhExHSukN/kUIFZ7MpDRtzE1isDRkAUtDvrA8ZI597FUf8gWH9P0b4gko9wAAAABJRU5ErkJggg=='\n },\n color: {\n white: ['#ffffff', 1],\n black: ['#000000', 1],\n grey: ['#929096', 1],\n red: ['#e74c3c', 1],\n orange: ['#dc7633', 1],\n yellow: ['#f7dc6f', 1],\n green: ['#2Ecc71', 1],\n blue: ['#93a9fd', 1],\n purple: ['#663399', 1],\n palette: {\n 'grey-05': ['#f8f7fa', 1],\n 'grey-40': ['#929096', 1],\n 'grey-70': ['#48474b', 1],\n 'grey-90': ['#181819', 1],\n 'blue-20': ['#becffe', 1],\n 'blue-40': ['#93a9fd', 1],\n 'blue-90': ['#000033', 1]\n },\n material: ['#181819', 1],\n materialBrand: ['#000033', 1],\n overlay: ['#181819', 0.7],\n textNeutral: ['#f8f7fa', 1],\n textNeutralSecondary: ['#f8f7fa', 0.7],\n textNeutralTertiary: ['#f8f7fa', 0.1],\n textNeutralDisabled: ['#f8f7fa', 0.5],\n textInverse: ['#181819', 1],\n textInverseSecondary: ['#181819', 0.7],\n textInverseTertiary: ['#181819', 0.1],\n textInverseDisabled: ['#181819', 0.5],\n textBrand: ['#93a9fd', 1],\n textBrandSecondary: ['#93a9fd', 0.7],\n textBrandTertiary: ['#93a9fd', 0.1],\n textBrandDisabled: ['#93a9fd', 0.5],\n textPositive: ['#2Ecc71', 1],\n textNegative: ['#e74c3c', 1],\n textInfo: ['#93a9fd', 1],\n textCaution: ['#dc7633', 1],\n fillTransparent: ['#ffffff', 0],\n fillNeutral: ['#f8f7fa', 1],\n fillNeutralSecondary: ['#f8f7fa', 0.7],\n fillNeutralTertiary: ['#f8f7fa', 0.1],\n fillNeutralDisabled: ['#f8f7fa', 0.5],\n fillInverse: ['#181819', 1],\n fillInverseSecondary: ['#181819', 0.7],\n fillInverseTertiary: ['#181819', 0.1],\n fillInverseDisabled: ['#181819', 0.5],\n fillBrand: ['#93a9fd', 1],\n fillBrandSecondary: ['#93a9fd', 0.7],\n fillBrandTertiary: ['#93a9fd', 0.1],\n fillBrandDisabled: ['#93a9fd', 0.5],\n fillPositive: ['#2Ecc71', 1],\n fillNegative: ['#e74c3c', 1],\n fillInfo: ['#93a9fd', 1],\n fillCaution: ['#dc7633', 1],\n strokeNeutral: ['#f8f7fa', 1],\n strokeNeutralSecondary: ['#f8f7fa', 0.7],\n strokeNeutralTertiary: ['#f8f7fa', 0.1],\n strokeNeutralDisabled: ['#f8f7fa', 0.5],\n strokeInverse: ['#181819', 1],\n strokeInverseSecondary: ['#181819', 0.7],\n strokeInverseTertiary: ['#181819', 0.1],\n strokeInverseDisabled: ['#181819', 0.5],\n strokeBrand: ['#93a9fd', 1],\n strokeBrandSecondary: ['#93a9fd', 0.7],\n strokeBrandTertiary: ['#93a9fd', 0.1],\n strokeBrandDisabled: ['#93a9fd', 0.5],\n strokePositive: ['#2Ecc71', 1],\n strokeNegative: ['#e74c3c', 1],\n strokeInfo: ['#93a9fd', 1],\n strokeCaution: ['#dc7633', 1],\n interactiveNeutral: ['#ffffff', 0.1],\n interactiveNeutralFocus: ['#ffffff', 1],\n interactiveNeutralFocusSoft: ['#ffffff', 0.1],\n interactiveInverse: ['#48474b', undefined],\n interactiveInverseFocus: ['#48474b', 1],\n interactiveInverseFocusSoft: ['#48474b', 0.1],\n interactiveBrand: ['#becffe', 0.1],\n interactiveBrandFocus: ['#becffe', 1],\n interactiveBrandFocusSoft: ['#becffe', 0.1],\n shadowNeutral: ['#000000', 0.7],\n shadowNeutralFocus: ['#000000', 0.7],\n shadowNeutralFocusSoft: ['#000000', 0.7],\n shadowNeutralText: ['#000000', 1],\n shadowInverse: ['#000000', 0.7],\n shadowInverseFocus: ['#000000', 0.7],\n shadowInverseFocusSoft: ['#000000', 0.7],\n shadowInverseText: ['#000000', 1],\n shadowBrand: ['#000000', 0.7],\n shadowBrandFocus: ['#000000', 0.7],\n shadowBrandFocusSoft: ['#000000', 0.7],\n shadowBrandText: ['#000000', 1]\n },\n componentConfig: {\n Keyboard: {\n style: {\n keyProps: {\n delete: {\n title: null,\n icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC'\n }\n }\n }\n }\n },\n font: [],\n layout: {\n columnCount: 10,\n focusScale: 1.2,\n gutterX: 20,\n gutterY: 20,\n marginX: 150,\n marginY: 150,\n safe: 50,\n screenW: 1920,\n screenH: 1080\n },\n radius: { none: 0, xs: 2, sm: 4, md: 8, lg: 16, xl: 24 },\n spacer: {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 8,\n md: 10,\n lg: 20,\n xl: 30,\n xxl: 40,\n xxxl: 50\n },\n stroke: { none: 0, sm: 2, md: 4, lg: 6, xl: 8 },\n typography: {\n display1: {\n fontFamily: 'Arial',\n fontSize: 75,\n lineHeight: 85,\n fontStyle: '500',\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n display2: {\n fontFamily: 'Arial',\n fontSize: 50,\n lineHeight: 60,\n fontStyle: '500',\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline1: {\n fontFamily: 'Arial',\n fontSize: 35,\n fontStyle: '500',\n lineHeight: 48,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline2: {\n fontFamily: 'Arial',\n fontSize: 30,\n fontStyle: '500',\n lineHeight: 40,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n headline3: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '500',\n lineHeight: 36,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body1: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '300',\n lineHeight: 40,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body2: {\n fontFamily: 'Arial',\n fontSize: 22,\n fontStyle: '300',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n body3: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '300',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n button1: {\n fontFamily: 'Arial',\n fontSize: 25,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n button2: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n callout1: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 32,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n caption1: {\n fontFamily: 'Arial',\n fontSize: 15,\n fontStyle: '500',\n lineHeight: 24,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n tag1: {\n fontFamily: 'Arial',\n fontSize: 20,\n fontStyle: '500',\n lineHeight: 24,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n },\n footnote1: {\n fontFamily: 'Arial',\n fontSize: 22,\n fontStyle: '300',\n lineHeight: 30,\n verticalAlign: 'middle',\n textBaseline: 'bottom'\n }\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport logger from './logger';\n\nlet customFontFaces = [];\n\n/**\n * Function to get a list of all custom fonts that have been loaded using the FontFace Web API from the theme\n * @return {Array}\n */\nexport function getCustomFontFaces() {\n return customFontFaces;\n}\n\n/**\n * Function to load all the fonts from the theme\n */\nexport const fontLoader = fonts => {\n const promises = [];\n // Loop through all fonts in the array and attempt to load them using the FontFace Web API\n for (let i = 0; i < fonts.length; i++) {\n const { family, src, descriptors } = fonts[i];\n // If url(s) are specified format them according to the spec https://developer.mozilla.org/en-US/docs/Web/API/FontFace\n const fontSrc =\n src && Array.isArray(src) && src.length\n ? // loop through each string and format it in a way that's readable for the FontFace API\n src\n .map(url => {\n // if the url is a local font then the src is just the string provided in the array\n // otherwise, format the url string like url(<urlString>)\n return url.substr(0, 5) === 'local' ? url : `url(${url})`; // Local system fonts are supported by passing a string starting with local. ex local(Impact)\n })\n .join(',')\n : 'url(' + src + ')';\n const fontFace = new FontFace(family, fontSrc, descriptors || {});\n logger.info('Loading font', family);\n document.fonts.add(fontFace);\n // Push all pending promises into an array, theme manager will wait on everything to resolve before triggering another update cycle\n promises.push(\n new Promise(resolve => {\n fontFace\n .load()\n .then(() => {\n customFontFaces.push(fontFace);\n resolve(family);\n })\n .catch(err => {\n resolve(new Error(`${family}: ${err.message}`)); // Even if a font fails to load resolve it with an error so the theme doesn't fail to update all other values\n });\n })\n );\n }\n return Promise.all(promises).then(fontsLoaded => {\n // After the promise has resolved log the appropriate success and error messages\n const loaded = fontsLoaded\n .filter(font => !(font instanceof Error))\n .join(', ');\n\n if (loaded) {\n logger.log(`Fonts loaded: ${loaded}`);\n }\n\n const failed = fontsLoaded\n .filter(font => font instanceof Error)\n .map(item => item.message)\n .join(', ');\n\n if (failed) {\n logger.error(`Unable to load fonts: ${failed}`);\n }\n });\n};\n\n/**\n * Async function to remove all the fonts loaded by the theme. Useful if a theme is switched at runtime\n */\nexport const cleanupFonts = async fonts => {\n if (document.fonts && 'delete' in document.fonts) {\n if (!customFontFaces.length) return;\n customFontFaces = customFontFaces.filter(fontFace => {\n if (!fonts.find(font => font.family === fontFace.family)) {\n logger.info('Removing font', fontFace.family);\n document.fonts.delete(fontFace);\n return false;\n } else {\n return fontFace;\n }\n });\n } else {\n logger.info('Unable to remove manually-added fonts');\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const THEME_KEY_REPLACER = {\n fontFamily: 'fontFace'\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n clone,\n getValFromObjPath,\n getHexColor,\n getValidColor\n} from '../../utils/index';\nimport baseTheme from '@lightningjs/ui-components-theme-base';\nimport logger from './logger';\nimport events from './events';\nimport { fontLoader, cleanupFonts } from './fonts';\nimport { THEME_KEY_REPLACER } from './constants';\n\nconst merge = {\n all: objArray => {\n let result = {};\n for (let i = 0; i < objArray.length; i++) {\n result = clone(result, objArray[i]);\n }\n return result;\n }\n};\n\nconst base64Cache = [];\n\nconst isSubTheme = themeName => 'subTheme' === themeName.slice(0, 8);\n\n/**\n * Extracts the MIME type from a Data URI.\n *\n * @param {string} dataUri - The Data URI string.\n * @returns {string|null} The extracted MIME type, or null if not found.\n */\nfunction getMimeTypeFromDataUri(dataUri) {\n const matches = dataUri.match(/^data:(.*?);base64,/);\n if (matches && matches.length === 2) {\n return matches[1];\n }\n return null;\n}\n\n/**\n * Checks if a string represents a Base64-encoded image and extracts the MIME type.\n *\n * @param {string} str - The string to check.\n * @returns {{ isImage: boolean, mimeType: string|null }} An object indicating whether the string is an image and the extracted MIME type.\n */\nfunction checkBase64EncodedImage(str) {\n const regex = /^data:image\\/(jpeg|jpg|png|gif);base64,/;\n const isImage = regex.test(str);\n const mimeType = isImage ? getMimeTypeFromDataUri(str.match(regex)[0]) : null;\n\n return {\n isImage,\n mimeType\n };\n}\n\n/**\n * Converts a Base64-encoded image to a Blob URL.\n * Note: Make sure to handle potential memory leaks caused by the browser's image caching.\n *\n * @param {string} base64String - The Base64-encoded image string.\n * @param {string} mimeType - The MIME type of the image.\n * @returns {string|null} The Blob URL representing the converted image, or null if conversion fails.\n */\nfunction base64ToBlobURL(base64String, mimeType) {\n const byteCharacters = atob(\n base64String.substring(base64String.indexOf(',') + 1)\n );\n const byteArrays = [];\n\n try {\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\n const slice = byteCharacters.slice(offset, offset + 512);\n const byteNumbers = new Array(slice.length);\n\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: mimeType });\n const blobURL = URL.createObjectURL(blob);\n\n return blobURL;\n } catch (error) {\n logger.info('Unable to convert base64 image to URL');\n return null;\n }\n}\n\nclass ThemeManager {\n constructor() {\n this._cache = new Map();\n if (typeof window === 'undefined') return;\n if (!window.LUI) {\n window.LUI = {};\n }\n if (!window.LUI.themeManagerInstances) {\n window.LUI.themeManagerInstances = [{ themeManager: this, events }];\n } else {\n window.LUI.themeManagerInstances.push({ themeManager: this, events });\n }\n }\n\n // Handle separate instances of context across the application and keep them in sync\n _setCache(key, payload) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ themeManager }) => {\n if (themeManager) themeManager._cache.set(key, payload);\n });\n }\n\n _deleteCache(key) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ themeManager }) => {\n if (themeManager) themeManager._cache.delete(key);\n });\n }\n\n _emit(key, payload) {\n if (typeof window === 'undefined') return;\n window.LUI.themeManagerInstances.forEach(({ events }) => {\n events.emit(key, payload);\n });\n }\n\n getTheme() {\n if (this._cache.has('theme')) {\n return this._cache.get('theme');\n }\n\n const theme = this._processTheme.call(this);\n this._setCache('theme', theme);\n return theme;\n }\n\n async setTheme(themeConfig) {\n let value;\n if (Array.isArray(themeConfig)) {\n value = merge.all(themeConfig);\n } else {\n value = themeConfig;\n }\n\n if ('object' !== typeof value || null === value) {\n logger.warn(`context theme expected an object. Received ${typeof value}`);\n return;\n }\n\n this._clearCache();\n const theme = this._processTheme.call(this, [value], value.extensions);\n this._setCache('theme', theme);\n await cleanupFonts(theme.font);\n if (theme.font && theme.font.length) {\n await this._loadFonts(theme.font);\n }\n this._refreshSubThemes();\n this._emit('themeExtensionsUpdate');\n this._emit('themeUpdate'); // Notify components that an update cycle is required\n return theme;\n }\n\n getSubTheme(subThemeName) {\n if (this._cache.has(`subTheme${subThemeName}`)) {\n return this._cache.get(`subTheme${subThemeName}`).result;\n }\n return;\n }\n\n async setSubTheme(subThemeName, value, triggerUpdate = true) {\n if (!subThemeName) {\n logger.warn('Sub theme name not specified');\n return;\n }\n if ('string' !== typeof subThemeName) {\n logger.warn(\n `Sub theme name must be a string. Received an ${typeof subThemeName}`\n );\n return;\n }\n if ('object' !== typeof value || !Object.keys(value).length) {\n logger.warn(\n `Could not set subTheme ${subThemeName}, value should be an object with properties. Received an ${typeof value}`\n );\n return;\n }\n const globalTheme = this.getTheme();\n const subTheme = this._processTheme.call(this, [globalTheme, value]);\n if (subTheme.font && subTheme.font.length) {\n await this._loadFonts(subTheme.font);\n }\n this._setCache(`subTheme${subThemeName}`, {\n original: value,\n result: subTheme\n });\n\n if (triggerUpdate) this._emit(`themeUpdate${subThemeName}`);\n return subTheme;\n }\n\n _refreshSubThemes() {\n // Triggered when global theme is updated\n [...this._cache.keys()].forEach(key => {\n if ('string' === typeof key && isSubTheme(key)) {\n const cache = this._cache.get(key);\n if (cache.original)\n this.updateSubTheme(key.replace(/^subTheme/, ''), cache.original);\n }\n });\n }\n\n async _loadFonts(fontArray) {\n try {\n await fontLoader(fontArray);\n } catch (err) {\n logger.error(`Unable to load font: ${err}`);\n }\n }\n\n /**\n * Merge values with current theme\n */\n async updateTheme(themeConfig) {\n let value;\n if (Array.isArray(themeConfig)) {\n value = merge.all(themeConfig);\n } else {\n value = themeConfig;\n }\n\n let currentTheme = {};\n\n if (this._cache.has('theme')) {\n currentTheme = this._cache.get('theme');\n }\n this._clearCache();\n const theme = this._processTheme.call(\n this,\n [currentTheme, value],\n value.extensions || currentTheme.extensions\n );\n this._setCache('theme', theme);\n if (theme.font && theme.font.length) {\n await this._loadFonts(theme.font);\n }\n this._refreshSubThemes();\n if (value.extensions) this._emit('themeExtensionsUpdate');\n this._emit('themeUpdate'); // Notify components that an update cycle is required\n return theme;\n }\n\n _clearCache() {\n // Clean up any base64 image that were converted to blobs using createObjectURL\n base64Cache.filter(image => {\n if (window.URL && typeof window.URL.revokeObjectURL === 'function')\n URL.revokeObjectURL(image);\n return false;\n });\n\n this._cache.forEach((value, key) => {\n if ('string' !== typeof key || !isSubTheme(key)) {\n this._deleteCache(key);\n }\n });\n // Regenerate sub themes\n this._cache.forEach((value, key) => {\n if ('string' === typeof key && isSubTheme(key)) {\n this.setSubTheme(key.replace('subTheme', ''), value.original, false); // Dont trigger the update...the parent theme will trigger\n }\n });\n }\n\n async updateSubTheme(subThemeName, value, triggerUpdate = true) {\n if (!subThemeName) {\n logger.warn('Sub theme name not specified');\n return;\n }\n if ('object' !== typeof value || !Object.keys(value).length) {\n logger.warn(\n `Could not update subTheme ${subThemeName} due to invalid value`\n );\n return;\n }\n\n const globalTheme = this.getTheme();\n let currentTheme = {};\n\n if (this._cache.has(`subTheme${subThemeName}`)) {\n currentTheme = this._cache.get(`subTheme${subThemeName}`).original;\n }\n\n const subTheme = this._processTheme.call(this, [\n globalTheme,\n currentTheme,\n value\n ]);\n\n if (subTheme.font && subTheme.font.length) {\n await this._loadFonts(subTheme.font);\n }\n\n this._setCache(`subTheme${subThemeName}`, {\n original: clone(currentTheme, value),\n result: subTheme\n });\n\n if (triggerUpdate) this._emit(`themeUpdate${subThemeName}`);\n\n return subTheme;\n }\n\n removeSubTheme(subThemeName) {\n if (this._cache.has(`subTheme${subThemeName}`)) {\n this._deleteCache(`subTheme${subThemeName}`);\n }\n this._emit(`themeUpdate${subThemeName}`);\n }\n\n _getComponentUUID(id) {\n return `componentStyle${id}`;\n }\n\n _processTheme(themeArray = [], extensions) {\n if (!Array.isArray(themeArray)) {\n throw new Error(\n `context processTheme expected an array. Received ${typeof themeArray}`\n );\n }\n\n const theme = merge.all([baseTheme, ...themeArray]);\n\n // Parse all colors in theme\n const themeFunctions = {};\n const themeString = JSON.stringify(theme, (key, originalValue) => {\n let value = originalValue;\n // Replacer\n if (value && typeof value === 'object') {\n const replacement = originalValue;\n for (var k in value) {\n if (Object.hasOwnProperty.call(value, k) && THEME_KEY_REPLACER[k]) {\n replacement[k && THEME_KEY_REPLACER[k]] = value[k];\n delete replacement[k]; // Removes the original key that was replaced. example: fontFamily is replaced by fontFace so fontFamily is removed from the theme\n }\n }\n\n value = replacement;\n }\n // Base64 encoded values can cause memory leaks convert to an image\n const { isImage, mimeType } = checkBase64EncodedImage(value);\n if (\n window.URL &&\n typeof window.URL.createObjectURL === 'function' &&\n isImage\n ) {\n // base64Cache\n try {\n const blobURL = base64ToBlobURL(value, mimeType);\n base64Cache.push(blobURL);\n return blobURL;\n } catch (error) {\n return value;\n }\n }\n\n if (\n Array.isArray(value) &&\n 2 === value.length &&\n !value[0].targetComponent &&\n value[0].length &&\n typeof value[0] === 'string' &&\n value[0].substr(0, 1) === '#' &&\n typeof value[1] === 'number'\n ) {\n // Better check to filter out extensions?\n return getHexColor(value[0], value[1]);\n } else if (\n 'extensions' === key ||\n 'function' === typeof value ||\n ('object' === typeof value &&\n value !== null &&\n 'Object' !== value.constructor.name &&\n !Array.isArray(value))\n ) {\n // Functions will not stringify, they will be merged after\n themeFunctions[key] = value;\n return;\n } else if ('string' === typeof value && value.includes('theme.')) {\n const themeValue = getValFromObjPath({ theme }, value);\n if (themeValue) {\n return themeValue;\n } else {\n return value;\n }\n } else {\n const validColor = getValidColor(value);\n if (validColor) {\n return validColor;\n }\n return value;\n }\n });\n\n return { ...JSON.parse(themeString), ...themeFunctions, extensions };\n }\n}\n\nconst themeManagerInstance = new ThemeManager();\n\nexport { themeManagerInstance as default, ThemeManager };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { capitalizeFirstLetter } from '../../utils';\nimport logger from './logger';\nimport metrics from './metrics';\nimport events from './events';\nimport themeManager from './theme-manager';\n\n/**\n * Class to create a context object. Context is a singleton that will hold settings and logic to be used across all Lightning UI components.\n */\n\n/**\n * @typedef ThemeObject\n * @type {any}\n */\nclass Context {\n /**\n * @type {ThemeObject}\n */\n get theme() {\n return themeManager.getTheme();\n }\n /**\n * theme cannot be set directly\n */\n set theme(value) {\n logger.warn(\n 'Context.theme must be set using context.setTheme or context.updateTheme'\n );\n }\n /**\n * @type {object}\n */\n get keyMetricsCallback() {\n return metrics.keyMetricsCallback;\n }\n /**\n * keyMetricsCallback cannot be set directly\n */\n set keyMetricsCallback(value) {\n logger.warn(\n 'Context.keyMetricsCallback must be set using context.setKeyMetricsCallback'\n );\n }\n /**\n * @type {boolean}\n */\n get debug() {\n return logger.debug;\n }\n\n set debug(value) {\n logger.debug = value;\n }\n /**\n * @type {function}\n * @param {string} name\n * @param {function} callback\n */\n on() {\n return events.on(...arguments);\n }\n /**\n * @type {function}\n */\n off() {\n return events.off(...arguments);\n }\n /**\n * @type {function}\n * @param {string} name\n * @param {string|object|number|boolean} payload\n */\n emit() {\n return events.emit(...arguments);\n }\n /**\n * @property {function}\n * @return {void}\n */\n log(...args) {\n logger.log(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n info(...args) {\n logger.info(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n warn(...args) {\n logger.warn(...args);\n }\n /**\n * @property {function}\n * @return {void}\n */\n error(...args) {\n logger.error(args);\n }\n /**\n * @property {object|array}\n * @return {object}\n */\n setTheme(value) {\n return themeManager.setTheme(value);\n }\n /**\n * @property {object|array}}\n * @return {object}\n */\n updateTheme(value) {\n return themeManager.updateTheme(value);\n }\n /**\n * @property {string}\n * @return {object}\n */\n getSubTheme(subThemeName) {\n return themeManager.getSubTheme(subThemeName);\n }\n /**\n * Expects an object where properties are child theme names. Values will be merged with the global themeManager.\n * @property {object}\n */\n setSubThemes(subThemesObj) {\n if ('object' !== typeof subThemesObj) {\n logger.warn('subThemes must be an object');\n return;\n }\n for (const subTheme in subThemesObj) {\n themeManager.setSubTheme(subTheme, subThemesObj[subTheme]);\n }\n }\n /**\n * @property {string}\n * @return {object}\n */\n setSubTheme(subThemeName, value) {\n return themeManager.setSubTheme(subThemeName, value);\n }\n /**\n * @property {string}\n * @return {object}\n */\n updateSubTheme(subThemeName, value) {\n return themeManager.updateSubTheme(subThemeName, value);\n }\n /**\n * @property {string}\n * @return {void}\n */\n removeSubTheme(subThemeName) {\n themeManager.removeSubTheme(subThemeName);\n }\n /**\n * @property {function}\n * @return {void}\n */\n setLogCallback(value) {\n logger.logCallback = value;\n }\n /**\n * @property {function}\n * @return {void}\n */\n setKeyMetricsCallback(value) {\n metrics.keyMetricsCallback = value;\n }\n /**\n * @property {function}\n * @return {object}\n */\n config(config = {}) {\n const configKeys = Object.keys(config);\n for (let i = 0; i < configKeys.length; i++) {\n const setMethod = this['set' + capitalizeFirstLetter(configKeys[i])];\n if (setMethod) {\n setMethod(config[configKeys[i]]);\n }\n }\n return this;\n }\n}\n\nconst contextInstance = new Context();\n\nexport { contextInstance as default, Context };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nclass Logger {\n constructor() {\n this._logCallback = undefined;\n this._prefix = 'LightningUI';\n this._debug = false;\n }\n\n get debug() {\n return this._debug;\n }\n\n set debug(value) {\n this._debug = Boolean(value);\n }\n\n get logCallback() {\n return this._logCallback;\n }\n\n set logCallback(value) {\n if ('function' !== typeof value) {\n this.warn(\n `logCallback value must be a function, instead received ${typeof value}`\n );\n return;\n }\n this._logCallback = value;\n }\n\n log(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'log', payload: args });\n }\n if (this.debug) {\n // eslint-disable-next-line\n console.log(this._prefix, ...args);\n }\n }\n\n info(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'info', payload: args });\n }\n if (this.debug) {\n // eslint-disable-next-line\n console.info(this._prefix, ...args);\n }\n }\n\n warn(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'warn', payload: args });\n }\n if (this.debug) {\n console.warn(this._prefix, ...args);\n }\n }\n\n error(...args) {\n if (this._logCallback) {\n this._logCallback({ level: 'error', payload: args });\n }\n if (this.debug) {\n console.error(this._prefix, ...args);\n }\n }\n}\n\nconst loggerInstance = new Logger();\n\nexport { loggerInstance as default, Logger };\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../context';\n\nclass GlobalUpdateManager {\n constructor() {\n this._updateThemeSet = new Set();\n this._requestUpdateSet = new Set();\n this._timeout = null;\n this._runUpdatesTimeoutHandler = this._runUpdatesTimeoutHandler.bind(this);\n }\n\n _runUpdatesTimeoutHandler() {\n this._timeout = null;\n this._updateThemeSet.forEach(component => {\n try {\n component._updateThemeComponent();\n } catch (e) {\n context.error('Error updating component themes', e);\n }\n });\n this._updateThemeSet.clear();\n\n this._requestUpdateSet.forEach(component => {\n try {\n component.requestUpdate();\n } catch (e) {\n context.error('Error updating component', e);\n }\n });\n this._requestUpdateSet.clear();\n }\n\n /**\n * Force all updates now\n *\n * @returns\n */\n flush() {\n // If there is no timeout then there is definately nothing to update\n if (!this._timeout) return;\n clearTimeout(this._timeout);\n this._runUpdatesTimeoutHandler();\n }\n\n addUpdateTheme(component) {\n this._updateThemeSet.add(component);\n if (!this._timeout) {\n this._timeout = setTimeout(this._runUpdatesTimeoutHandler, 0);\n }\n }\n\n deleteUpdateTheme(component) {\n // Don't bother checking and clearing the timeout if one is active\n // Not worth the overhead. More than likely it needs to run again anyway.\n this._updateThemeSet.delete(component);\n }\n\n addRequestUpdate(component) {\n this._requestUpdateSet.add(component);\n if (!this._timeout) {\n this._timeout = setTimeout(this._runUpdatesTimeoutHandler, 0);\n }\n }\n\n deleteRequestUpdate(component) {\n // See note in deleteRequestUpdate()\n this._requestUpdateSet.delete(component);\n }\n\n hasQueuedRequestFor(component) {\n return this._requestUpdateSet.has(component);\n }\n}\n\nexport const updateManager = new GlobalUpdateManager();\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/* global SpeechSynthesisErrorEvent */\nfunction flattenStrings(series = []) {\n const flattenedSeries = [];\n\n for (var i = 0; i < series.length; i++) {\n if (typeof series[i] === 'string' && !series[i].includes('PAUSE-')) {\n flattenedSeries.push(series[i]);\n } else {\n break;\n }\n }\n // add a \"word boundary\" to ensure the Announcer doesn't automatically try to\n // interpret strings that look like dates but are not actually dates\n // for example, if \"Rising Sun\" and \"1993\" are meant to be two separate lines,\n // when read together, \"Sun 1993\" is interpretted as \"Sunday 1993\"\n return [flattenedSeries.join(',\\b ')].concat(series.slice(i));\n}\n\nfunction delay(pause) {\n return new Promise(resolve => {\n setTimeout(resolve, pause);\n });\n}\n\n/**\n * Speak a string\n *\n * @param {string} phrase Phrase to speak\n * @param {SpeechSynthesisUtterance[]} utterances An array which the new SpeechSynthesisUtterance instance representing this utterance will be appended\n * @return {Promise<void>} Promise resolved when the utterance has finished speaking, and rejected if there's an error\n */\nfunction speak(phrase, utterances, lang = 'en-US') {\n const synth = window.speechSynthesis;\n return new Promise((resolve, reject) => {\n const utterance = new SpeechSynthesisUtterance(phrase);\n utterance.lang = lang;\n utterance.onend = () => {\n resolve();\n };\n utterance.onerror = e => {\n reject(e);\n };\n utterances.push(utterance);\n synth.speak(utterance);\n });\n}\n\nfunction speakSeries(series, lang, root = true) {\n const synth = window.speechSynthesis;\n const remainingPhrases = flattenStrings(\n Array.isArray(series) ? series : [series]\n );\n const nestedSeriesResults = [];\n /*\n We hold this array of SpeechSynthesisUtterances in order to prevent them from being\n garbage collected prematurely on STB hardware which can cause the 'onend' events of\n utterances to not fire consistently.\n */\n const utterances = [];\n let active = true;\n\n const seriesChain = (async () => {\n try {\n while (active && remainingPhrases.length) {\n const phrase = await Promise.resolve(remainingPhrases.shift());\n if (!active) {\n // Exit\n // Need to check this after the await in case it was cancelled in between\n break;\n } else if (typeof phrase === 'string' && phrase.includes('PAUSE-')) {\n // Pause it\n let pause = phrase.split('PAUSE-')[1] * 1000;\n if (isNaN(pause)) {\n pause = 0;\n }\n await delay(pause);\n } else if (typeof phrase === 'string' && phrase.length) {\n // Speak it\n const totalRetries = 3;\n let retriesLeft = totalRetries;\n while (active && retriesLeft > 0) {\n try {\n await speak(phrase, utterances, lang);\n retriesLeft = 0;\n } catch (e) {\n // eslint-disable-next-line no-undef\n if (e instanceof SpeechSynthesisErrorEvent) {\n if (e.error === 'network') {\n retriesLeft--;\n console.warn(\n `Speech synthesis network error. Retries left: ${retriesLeft}`\n );\n await delay(500 * (totalRetries - retriesLeft));\n } else if (\n e.error === 'canceled' ||\n e.error === 'interrupted'\n ) {\n // Cancel or interrupt error (ignore)\n retriesLeft = 0;\n } else {\n throw new Error(`SpeechSynthesisErrorEvent: ${e.error}`);\n }\n } else {\n throw e;\n }\n }\n }\n } else if (typeof phrase === 'function') {\n const seriesResult = speakSeries(phrase(), lang, false);\n nestedSeriesResults.push(seriesResult);\n await seriesResult.series;\n } else if (Array.isArray(phrase)) {\n // Speak it (recursively)\n const seriesResult = speakSeries(phrase, lang, false);\n nestedSeriesResults.push(seriesResult);\n await seriesResult.series;\n }\n }\n } finally {\n active = false;\n }\n })();\n return {\n series: seriesChain,\n get active() {\n return active;\n },\n append: toSpeak => {\n remainingPhrases.push(toSpeak);\n },\n cancel: () => {\n if (!active) {\n return;\n }\n if (root) {\n synth.cancel();\n }\n nestedSeriesResults.forEach(nestedSeriesResults => {\n nestedSeriesResults.cancel();\n });\n active = false;\n }\n };\n}\n\nlet currentSeries;\nexport default function (toSpeak, lang) {\n currentSeries && currentSeries.cancel();\n currentSeries = speakSeries(toSpeak, lang);\n return currentSeries;\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// Don't wrap patterns with word boundaries (\\b) or set any RegExp flags.\n// Each pattern will be wrapped with \\b and use the global (g) flag when created as a capture group in combined pattern.\nconst defaultAbbreviations = [\n { pattern: 'TV-14', replacer: 'Rated TV-14' },\n { pattern: 'CC', replacer: 'Closed Captions available' },\n { pattern: 'HD', replacer: 'High Definition available' },\n { pattern: /ENG(?!\\+)/, replacer: 'English Available' },\n { pattern: /ENG\\+ES/, replacer: 'Available in English and Spanish' },\n { pattern: 'AD', replacer: 'Audio Description available' },\n { pattern: 'RT', replacer: 'Rotten Tomatoes' },\n {\n pattern: /(S)+(\\d+)+(E)+(\\d+)+/,\n replacer: (match, p1, p2, p3, p4) => `Season ${p2} Episode ${p4}`\n }\n];\n\nexport const defaultAbbrevConfig = generateAbbrevConfig(defaultAbbreviations);\n\nfunction wrapWithBoundary(str) {\n return `\\\\b${str}\\\\b`;\n}\n\nfunction getNumberOfCaptureGroups(regExp) {\n return new RegExp(regExp.toString() + '|').exec('').length - 1;\n}\n\n/**\n * @typedef {object} AbbreviationConfig\n * @property {object} abbreviationsPattern - combined RegExp pattern of all abbreviations separated into capture groups\n * @property {object} stringPatternMap - object to look up replacers values based on string matches (uses matched string to look up)\n * @property {object} regExpPatternMap - object to look up replacers values based on RegExp matches (uses index of matched capture group to look up)\n */\n\n/**\n * Generates abbreviation config object to be passed to withAnnouncer for abbreviation translation\n * @param {object[]} abbreviations - array of custom abbreviation objects to generate config off of\n * @param {string|object} abbreviations[].pattern - pattern to match abbreviation\n * @param {string|function} abbreviations[].replacer - string or RegEx replacer function to replace matched abbreviation with\n * @param {boolean} extendDefault - if true, extend the default abbreviations config with custom abbreviations\n * @returns {AbbreviationConfig} - configuration that may be passed to withAnnouncer as abbreviations in options parameter\n */\nexport function generateAbbrevConfig(\n abbreviations = defaultAbbreviations,\n extendDefault\n) {\n const abbrev = extendDefault\n ? [...defaultAbbreviations, ...abbreviations]\n : abbreviations;\n const stringPatternMap = {}; // map of exact strings to the associated replacer\n const regExpPatternMap = {}; // map of RegExp patterns to the associated replacer\n let abbreviationsPattern = ''; // string of final RegExp pattern with each pattern as a capture group\n let patternGroupOffset = 0; // incremented for each capture group found in RegExp patterns passed in\n\n // If the pattern is a RegExp pattern: key RegExp pattern with its index in passed in abbreviations array parameter.\n // The capture group for this pattern will be at this position (idx) in the combined RegExp pattern.\n // When a string is matched, the index of the matched capture group can be used to look up the correct replacer.\n //\n // Else (the pattern is a string): it can be keyed by it's pattern.\n // When a string is matched, the string matcher can be used to look up the correct replacer.\n abbrev.forEach(({ pattern, replacer }, idx) => {\n let stringPattern;\n if (pattern instanceof RegExp) {\n const patternMapIdx = idx + patternGroupOffset;\n regExpPatternMap[patternMapIdx] = { pattern, replacer };\n stringPattern = wrapWithBoundary(pattern.source);\n patternGroupOffset += getNumberOfCaptureGroups(pattern);\n } else {\n stringPatternMap[pattern] = { replacer };\n stringPattern = wrapWithBoundary(pattern);\n }\n\n // create single string for final RegExp - each pattern will be a capture group\n abbreviationsPattern =\n abbreviationsPattern === ''\n ? `(${stringPattern})`\n : `${abbreviationsPattern}|(${stringPattern})`;\n });\n\n abbreviationsPattern = new RegExp(abbreviationsPattern, 'g');\n return { abbreviationsPattern, stringPatternMap, regExpPatternMap };\n}\n\n/**\n * Translates abbreviations in a string into their associated words\n * @param {string} phrase - phrase to be translated\n * @param {object} - abbreviationsPattern, stringPatternMap and regExpPatternMap\n * @returns {string} - phrase where abbreviations have been replaced with words\n */\nexport const translateAbbrev = (phrase, translationConfig) => {\n const { abbreviationsPattern, stringPatternMap, regExpPatternMap } =\n translationConfig;\n\n const translated = phrase.replace(\n abbreviationsPattern,\n (matched, ...args) => {\n // replace exact string match with replacement string\n if (stringPatternMap[matched]) {\n return stringPatternMap[matched].replacer;\n }\n\n // else match was found using a more complex RegExp pattern\n // find replacer by index of matching capture group\n const patternIdx = args.findIndex(arg => !!arg);\n const { pattern, replacer } = regExpPatternMap[patternIdx];\n\n // replace matched string with replacer string\n if (typeof replacer === 'string') {\n return replacer;\n }\n\n // use replace again for replacer function it can utilize substring matches in its scope\n if (typeof replacer === 'function') {\n return matched.replace(pattern, replacer);\n }\n }\n );\n return translated;\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Speech from './Speech';\nimport { translateAbbrev } from './abbreviations';\nimport { debounce } from '../../utils';\n\nexport { generateAbbrevConfig, defaultAbbrevConfig } from './abbreviations';\n\nconst fiveMinutes = 300 * 1000;\n\nfunction elmName(elm) {\n return elm.ref || elm.constructor.name;\n}\n\nconst defaultOptions = {\n voiceOutDelay: 500,\n abbreviationsConfig: {}\n};\n\nexport default function withAnnouncer(Base, speak = Speech, options = {}) {\n const announcerOptions = { ...defaultOptions, ...options };\n\n return class extends Base {\n _construct() {\n this._announceEndedTimeout;\n this._currentlySpeaking = '';\n super._construct && super._construct();\n }\n\n _voiceOut(toAnnounce) {\n if (this._voiceOutDisabled) {\n return;\n }\n let toSpeak = toAnnounce;\n if (announcerOptions.abbreviationsConfig.abbreviationsPattern) {\n toSpeak = Array.isArray(toAnnounce)\n ? toAnnounce.map(phrase =>\n translateAbbrev(phrase, announcerOptions.abbreviationsConfig)\n )\n : translateAbbrev(toAnnounce, announcerOptions.abbreviationsConfig);\n }\n const speech = speak(toSpeak, options.language);\n // event using speech synthesis api promise\n if (speech && speech.series) {\n speech.series.then(() => {\n this.stage.emit('announceEnded');\n });\n }\n\n // event in case speech synthesis api is flakey,\n // assume the ammount of time it takes to read each word\n const toAnnounceStr = Array.isArray(toSpeak)\n ? toSpeak.concat().join(' ')\n : toSpeak;\n const toAnnounceWords = toAnnounceStr.split(' ');\n const timeoutDelay =\n toAnnounceWords.length * announcerOptions.voiceOutDelay;\n clearTimeout(this._announceEndedTimeout);\n this._announceEndedTimeout = setTimeout(() => {\n this.stage.emit('announceTimeoutEnded');\n }, timeoutDelay);\n\n return speech;\n }\n\n _build() {\n super._build && super._build();\n\n this._debounceAnnounceFocusChanges = debounce(\n this._announceFocusChanges.bind(this),\n Number.isInteger(this.announcerFocusDebounce)\n ? this.announcerFocusDebounce\n : 400\n );\n\n this.announcerTimeout = Number.isInteger(this.announcerTimeout)\n ? this.announcerTimeout\n : fiveMinutes;\n\n this._resetFocusTimer = debounce(() => {\n // Reset focus path for full announce\n this._lastFocusPath = undefined;\n }, this.announcerTimeout);\n }\n\n _firstEnable() {\n super._firstEnable && super._firstEnable();\n\n // Lightning only calls Focus Change on second focus\n this._focusChange();\n }\n\n _disable() {\n clearTimeout(this._announceEndedTimeout);\n this.stage.emit('announceEnded');\n this.stage.emit('announceTimeoutEnded');\n }\n\n set announcerEnabled(val) {\n this._announcerEnabled = val;\n this._focusChange();\n }\n\n get announcerEnabled() {\n return this._announcerEnabled;\n }\n\n _focusChange() {\n if (!this._resetFocusTimer) {\n return;\n }\n\n this._resetFocusTimer();\n this.$announcerCancel();\n this._debounceAnnounceFocusChanges();\n }\n\n _announceFocusChanges() {\n const focusPath = this.application.focusPath || [];\n const lastFocusPath = this._lastFocusPath || [];\n const loaded = focusPath.every(elm => !elm.loading);\n const focusDiff = focusPath.filter(elm => !lastFocusPath.includes(elm));\n\n if (!loaded) {\n this._debounceAnnounceFocusChanges();\n return;\n }\n\n this._lastFocusPath = focusPath.slice(0);\n // Provide hook for focus diff for things like TextBanner\n this.focusDiffHook = focusDiff;\n\n if (!this.announcerEnabled) {\n return;\n }\n\n let toAnnounce = focusDiff.reduce((acc, elm) => {\n if (elm.announce) {\n acc.push([elmName(elm), 'Announce', elm.announce]);\n } else if (elm.title) {\n acc.push([elmName(elm), 'Title', elm.title || '']);\n }\n return acc;\n }, []);\n\n focusDiff.reverse().reduce((acc, elm) => {\n if (elm.announceContext) {\n acc.push([elmName(elm), 'Context', elm.announceContext]);\n } else {\n acc.push([elmName(elm), 'No Context', '']);\n }\n return acc;\n }, toAnnounce);\n\n if (this.debug) {\n console.table(toAnnounce);\n }\n\n toAnnounce = toAnnounce.reduce((acc, a) => {\n const txt = a[2];\n txt && acc.push(txt);\n return acc;\n }, []);\n\n if (toAnnounce.length) {\n this.$announcerCancel();\n this._currentlySpeaking = this._voiceOut(\n toAnnounce.reduce((acc, val) => acc.concat(val), [])\n );\n }\n }\n\n $announce(toAnnounce, { append = false, notification = false } = {}) {\n if (!toAnnounce || !toAnnounce.trim().length) {\n return;\n }\n if (this.announcerEnabled) {\n this._debounceAnnounceFocusChanges.flush();\n if (\n append &&\n this._currentlySpeaking &&\n this._currentlySpeaking.active\n ) {\n this._currentlySpeaking.append(toAnnounce);\n } else {\n this.$announcerCancel();\n this._currentlySpeaking = this._voiceOut(toAnnounce);\n }\n\n if (notification) {\n this._voiceOutDisabled = true;\n this._currentlySpeaking.series.finally(() => {\n this._voiceOutDisabled = false;\n this.$announcerRefresh();\n });\n }\n }\n }\n\n $announcerCancel() {\n this._currentlySpeaking && this._currentlySpeaking.cancel();\n }\n\n $announcerRefresh(depth) {\n if (depth) {\n this._lastFocusPath = this._lastFocusPath.slice(0, depth);\n } else {\n this._lastFocusPath = undefined;\n }\n this._resetFocusTimer();\n this._focusChange();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context/index';\n\nexport default function withHandleKey(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _handleKey(keyEvent) {\n return this._processEvent(keyEvent);\n }\n\n _handleKeyRelease(keyEvent) {\n return this._processEvent(keyEvent, 'Release');\n }\n\n _processEvent(keyEvent, suffix = '') {\n const keyMap = this.stage.application.__keymap || {};\n let key = keyMap[keyEvent.keyCode];\n if (!key) {\n key = keyEvent.key;\n }\n if (key && typeof this[`on${key}${suffix}`] === 'function') {\n this._invokeKeyPayloadCallback(key + suffix);\n return this[`on${key}${suffix}`].call(this, this, keyEvent);\n }\n return false;\n }\n\n _invokeKeyPayloadCallback(key) {\n if (\n this.metricsPayload &&\n typeof context.keyMetricsCallback === 'function'\n ) {\n context.keyMetricsCallback(key, this.metricsPayload);\n }\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nfunction getPropertyDescriptor(path) {\n return {\n get() {\n return this.tag(path);\n },\n configurable: true,\n enumerable: true\n };\n}\n\nexport default function withTags(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _construct() {\n const prototype = Object.getPrototypeOf(this);\n if (!prototype._withTagsInitialized) {\n const tags = this.constructor.tags || [];\n tags.forEach(tag => {\n if (typeof tag === 'object') {\n var { name, path } = tag;\n } else {\n var name = tag; // eslint-disable-line no-redeclare\n var path = tag; // eslint-disable-line no-redeclare\n }\n const key = '_' + name;\n const descriptor = getPropertyDescriptor(path);\n Object.defineProperty(prototype, key, descriptor);\n });\n prototype._withTagsInitialized = true;\n }\n super._construct && super._construct();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { clone, getValFromObjPath, getHexColor } from '../../utils';\nimport log from '../../globals/context/logger';\n\n/**\nGiven a character, return its ASCII value multiplied by its position.\n *\n@param {string} char - The character to process.\n@param {number} index - The position of the character in the string.\n@returns {number} - The ASCII value of the character multiplied by its position.\n */\nexport const getCharacterValue = (char, index) => {\n return char.charCodeAt(0) * (index + 1);\n};\n\n/**\n * Recursively sorts an object by its keys. If an object has nested objects as values,\n * it will sort those nested objects as well.\n *\n * @param {Object} obj - The object to be sorted.\n * @returns {Object} A new object that is a sorted version of the input object.\n */\nexport const sortObject = obj => {\n const sortedObj = {};\n Object.keys(obj)\n .sort()\n .forEach(key => {\n if (\n typeof obj[key] === 'object' &&\n obj[key] !== null &&\n !Array.isArray(obj[key])\n ) {\n sortedObj[key] = sortObject(obj[key]); // Recursive call for nested objects\n } else {\n sortedObj[key] = obj[key];\n }\n });\n return sortedObj;\n};\n\n/**\nGiven an object, return a sum of the ASCII values of all characters in its\nJSON stringified representation, each multiplied by its position.\n*\n@param {object} obj - The object to process.\n@returns {number} - The sum of ASCII values, each multiplied by its position.\n*/\nexport const getCharacterSum = obj => {\n const sortedObj = sortObject(obj);\n const str = JSON.stringify(sortedObj).replace(/[{}:\",\\s]/g, ''); // Remove brackets, colons, and whitespace\n let sum = 0;\n for (let i = 0; i < str.length; i++) {\n sum += getCharacterValue(str[i], i);\n }\n return sum;\n};\n\n/**\nGiven an object, return a \"hash\" of the object, which is a combination of\nthe length of its JSON stringified representation and the sum of the ASCII\nvalues of all characters in that string, each multiplied by its position.\n*\n@param {object} obj - The object to process.\n@returns {string} - The hash of the object.\n*/\nexport const getHash = obj => {\n const str = JSON.stringify(obj);\n return str.length + '-' + getCharacterSum(obj);\n};\n\n/**\n * Recursively executes functions within an object or array structure, passing them a given context.\n * @param {Function|Object|Array} objOrFunction - The object, array, or function to process.\n * @param {*} theme - The context to pass to any encountered functions.\n * @returns {*} The processed structure with functions executed.\n */\nexport function executeWithContextRecursive(objOrFunction, theme) {\n if (typeof objOrFunction === 'function') {\n // If the input is a function, execute it with the theme as a parameter\n const result = objOrFunction(theme);\n return executeWithContextRecursive(result, theme);\n } else if (Array.isArray(objOrFunction)) {\n // If the input is an array, iterate through its elements and apply the function recursively.\n return objOrFunction.map(item => executeWithContextRecursive(item, theme));\n } else if (typeof objOrFunction === 'object' && objOrFunction !== null) {\n // If the input is an object (and not null), iterate through its properties and apply the function recursively.\n const result = {};\n for (const key in objOrFunction) {\n if (objOrFunction.hasOwnProperty(key)) {\n result[key] = executeWithContextRecursive(objOrFunction[key], theme);\n }\n }\n return result;\n } else {\n // Return the value as is if it's neither a function, an object, nor an array.\n return objOrFunction;\n }\n}\n\n/**\n * Checks if a value is a plain object.\n *\n * @param {*} value - The value to check.\n * @returns {boolean} - True if the value is a plain object, false otherwise.\n */\nexport function isPlainObject(value) {\n return (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value) &&\n !(value instanceof Date) &&\n !(value instanceof RegExp) &&\n !(value instanceof Function) &&\n !(value instanceof Error)\n );\n}\n\n/**\n * Returns the subTheme property of the first parent object that has one, or undefined if none exist.\n *\n * @param {object} obj - The object to search for a subTheme property.\n * @returns {(String | Undefined)} - The value of the subTheme property, or undefined if none exists.\n */\nexport const getSubTheme = obj => {\n while (obj && (!obj.subTheme || typeof obj.subTheme !== 'string')) {\n obj = obj.p;\n }\n return obj ? obj.subTheme : undefined;\n};\n\n/**\n * Returns the component configuration object for the given object based on its prototype chain.\n *\n * @param {object} obj - The object to get the component configuration for.\n * @returns {object} - The component configuration object.\n */\nexport const getComponentConfig = obj => {\n if (!isPlainObject(obj)) return {};\n return obj?.theme?.componentConfig?.[obj.constructor.__componentName] || {};\n};\n\n/**\n * Returns an array of the names of all components in the prototype chain of the given object.\n * @param {object} obj - The object to get the prototype chain from.\n * @returns {string[]} - An array of component names.\n */\nexport const getPrototypeChain = obj => {\n if (!isPlainObject(obj)) return [];\n const prototypeChain = new Set();\n let proto = obj;\n\n if (obj.constructor && obj.constructor.__componentName) {\n prototypeChain.add(obj.constructor.__componentName);\n }\n\n /**\n * Traverse the prototype chain and add component names to the set\n */\n do {\n proto = Object.getPrototypeOf(proto);\n if (proto !== null && typeof proto === 'object') {\n // Add only components that support theming\n if (proto.constructor.__componentName) {\n prototypeChain.add(proto.constructor.__componentName);\n }\n }\n } while (proto);\n\n // Convert the set to an array and return it\n return Array.from(prototypeChain);\n};\n\n/**\n * Recursively removes properties from an object that are themselves empty objects.\n * Does not remove arrays, non-plain objects, or non-empty objects.\n *\n * @param {Object} obj - The object to clean of empty objects.\n * @returns {Object} The cleaned object.\n */\nexport function removeEmptyObjects(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && isPlainObject(obj[key])) {\n removeEmptyObjects(obj[key]); // Recurse into the object\n\n // After recursion, if the object is empty, delete it from the parent\n if (Object.keys(obj[key]).length === 0) {\n delete obj[key];\n }\n }\n }\n\n return obj; // Always return obj, even if it's empty\n}\n\nexport function safeStringify(originalObj) {\n const obj = { ...originalObj };\n\n const seen = new WeakSet(); // WeakSet is used to store references to objects we've processed\n\n return JSON.stringify(obj, (key, value) => {\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]'; // Replace circular references with a string\n }\n seen.add(value); // Mark this object as seen\n }\n return value; // Return the value as is\n });\n}\n\nexport function createSharedReferences(obj = {}) {\n const seenObjects = new Map(); // Store original reference -> shared reference\n\n function process(currentObj) {\n const queue = [currentObj]; // Use a queue for breadth-first traversal\n\n while (queue.length > 0) {\n const current = queue.shift();\n\n for (const key in current) {\n if (current.hasOwnProperty(key)) {\n const value = current[key];\n if (typeof value === 'object' && value !== null) {\n const cacheKey = safeStringify(value);\n if (seenObjects.has(cacheKey)) {\n // Replace duplicate reference with the shared reference\n current[key] = seenObjects.get(cacheKey);\n } else {\n // Add child objects to the queue for processing\n seenObjects.set(cacheKey, value);\n queue.push(value);\n }\n }\n }\n }\n }\n }\n\n process(obj);\n return obj;\n}\n\n/**\n * Combines the provided properties and returns a list of unique properties.\n *\n * @param {string[]} defaultProps - Default property names.\n * @param {Object} additionalProps - Object whose keys are additional property names.\n * @param {string[]} subProps - Sub property names.\n * @returns {string[]} - Array of unique property names.\n */\nexport function getUniqueProperties(defaultProps = []) {\n if (!Array.isArray(defaultProps)) {\n throw new TypeError('Expected defaultProps to be an array of strings.');\n }\n\n return [...new Set(defaultProps)];\n}\n\n/**\n * Generate the payload by cloning and merging multiple objects.\n *\n * @param {Object} base - The base object to start with.\n * @param {Object} defaultStyle - Default styles provided by the user.\n * @param {string} toneItem - The current tone being processed.\n * @param {string} modeItem - The current mode being processed.\n * @param {Object} tone - Tone configurations.\n * @param {Object} mode - Mode configurations.\n * @returns {Object} - The merged payload.\n */\nexport function generatePayload(\n base,\n defaultStyle,\n toneItem,\n modeItem,\n tone,\n mode\n) {\n let payload = clone(defaultStyle, base);\n payload = clone(payload, tone?.[toneItem]);\n payload = clone(payload, mode?.[modeItem]);\n payload = clone(payload, tone?.[toneItem]?.mode?.[modeItem] || {});\n payload = clone(payload, mode?.[modeItem]?.tone?.[toneItem] || {});\n return payload;\n}\n\n/**\n * Recursively searches for and returns all the property keys nested within the specified key in the object.\n *\n * @param {Object} obj - The object to search through.\n * @param {string} keyToFind - The key whose nested keys are to be found.\n * @returns {string[]} An array containing all nested property keys under the specified key.\n */\nfunction findNestedKeys(obj, keyToFind) {\n const nestedKeys = [];\n\n /**\n * Inner function to recursively search for nested keys.\n *\n * @param {Object} obj - The nested object to search through.\n */\n function searchNestedKeys(obj) {\n if (typeof obj === 'object' && obj !== null) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n nestedKeys.push(key); // Add the nested key to the array\n }\n }\n }\n }\n\n /**\n * Outer function to initiate search when the specified key is found.\n *\n * @param {Object} obj - The object to search through.\n */\n function searchForKey(obj) {\n if (typeof obj === 'object' && obj !== null) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (key === keyToFind) {\n searchNestedKeys(obj[key]); // Start searching for nested keys\n break; // Once the specified key is found, we don't need to look further at this level\n }\n searchForKey(obj[key]); // Continue searching for the specified key\n }\n }\n }\n }\n\n searchForKey(obj); // Initialize the search with the object\n return nestedKeys; // Return the array of nested keys\n}\n\n/**\n * Generates a solution based on the provided configurations.\n *\n * @param {Object} options - The configuration options for generating the solution.\n * @param {Object} [options.base={}] - Base object.\n * @param {Object} [options.tone={}] - Tone configurations.\n * @param {Object} [options.mode={}] - Mode configurations.\n * @param {Object} [options.defaultStyle={}] - Default styles provided by the user.\n * @returns {Object} - The generated solution with shared references and merged identical properties.\n */\nexport const generateSolution = (\n { base = {}, tone = {}, mode = {}, defaultStyle = {} },\n modeKeys = [],\n toneKeys = []\n) => {\n const solution = {};\n\n const uniqueModes = getUniqueProperties([\n 'focused',\n 'disabled',\n ...modeKeys,\n 'unfocused' // Unfocused must be at the end for proper fallback since base === 'unfocused' in many cases\n ]);\n\n const uniqueTones = getUniqueProperties([\n 'neutral',\n 'inverse',\n 'brand',\n ...toneKeys\n ]);\n\n for (const modeItem of uniqueModes) {\n for (const toneItem of uniqueTones) {\n const payload = generatePayload(\n base,\n defaultStyle,\n toneItem,\n modeItem,\n tone,\n mode\n );\n solution[`${modeItem}_${toneItem}`] = payload;\n }\n }\n\n return solution;\n};\n\nconst DEFAULT_KEYS = [\n // ORDER MATTERS\n 'unfocused_neutral',\n 'unfocused_inverse',\n 'unfocused_brand',\n 'focused_neutral',\n 'focused_inverse',\n 'focused_brand',\n 'disabled_neutral',\n 'disabled_inverse',\n 'disabled_brand'\n];\n\n/**\n * Enforce a contract on an input object by ensuring that it contains a set of specified keys\n * and, if not, substituting them with values from fallback keys in a predefined order.\n *\n * @param {Object} inputObj - The input object to enforce the contract on.\n * @returns {Object} - An object that adheres to the contract, with missing keys replaced by fallback values.\n */\nexport function enforceContract(inputObj) {\n const result = {};\n for (const key of [...DEFAULT_KEYS, ...Object.keys(inputObj)]) {\n if (!inputObj.hasOwnProperty(key)) {\n // Find the first fallback property that exists in inputObj\n const fallbackKey = DEFAULT_KEYS.find(fallback =>\n inputObj.hasOwnProperty(fallback)\n );\n if (fallbackKey) {\n const fallback = inputObj[fallbackKey];\n result[key] = typeof fallback !== 'object' ? {} : fallback;\n } else {\n result[key] = {};\n }\n } else {\n if (typeof inputObj[key] !== 'object') {\n // If the value is not an object, replace it with an empty object\n result[key] = {};\n } else {\n result[key] = inputObj[key];\n }\n }\n }\n return result;\n}\n\n/**\n * Generates the source style object for a given component by merging base, mode, and tone styles from the component's style chain\n * @param {object} component - The component for which to generate the style source\n * @returns {object} - The source style object for the component\n */\nexport const generateComponentStyleSource = ({\n theme = {},\n styleChain = [],\n inlineStyle = {},\n alias = []\n} = {}) => {\n if (typeof theme !== 'object') {\n throw new Error('Expected theme to be an object');\n }\n\n if (!Array.isArray(styleChain)) {\n throw new Error('Expected styleChain to be an array');\n }\n\n if (typeof inlineStyle !== 'object') {\n throw new Error('Expected inlineStyle to be an object');\n }\n\n if (!Array.isArray(alias)) {\n throw new Error('Expected alias to be an array');\n }\n\n /**\n * Component default styles\n */\n const componentDefault = styleChain.map(({ style }) => {\n if (\n typeof style === 'object' &&\n !style.base &&\n !style.mode &&\n !style.tone &&\n !style.default\n ) {\n return { base: style };\n } else {\n const { base = {}, mode = {}, tone = {} } = style;\n\n let componentConfigDefaultStyle;\n if (style) {\n const defaultStyle = JSON.parse(JSON.stringify(style));\n delete defaultStyle.base;\n delete defaultStyle.tone;\n delete defaultStyle.mode;\n componentConfigDefaultStyle = defaultStyle; // Anything in the root level of style\n }\n\n return {\n defaultStyle: componentConfigDefaultStyle || {},\n base,\n mode,\n tone\n };\n }\n });\n\n /**\n * Local / Instance level styles\n * DefaultStyle will apply to the next level in the hierarchy\n */\n let localDefaultStyle;\n if (inlineStyle) {\n const defaultStyle = JSON.parse(JSON.stringify(inlineStyle));\n delete defaultStyle.base;\n delete defaultStyle.tone;\n delete defaultStyle.mode;\n localDefaultStyle = defaultStyle; // Anything in the root level of style\n }\n\n const local = {\n defaultStyle: localDefaultStyle || {},\n base: inlineStyle?.base || {},\n mode: inlineStyle?.mode || {},\n tone: inlineStyle?.tone || {}\n };\n\n // Merge all the styles together into one array to loop\n const merged = [...componentDefault, local];\n\n // Execute all style functions with the theme\n const parsedStyles = merged.map(style => {\n return executeWithContextRecursive(style, theme);\n });\n\n // Find all the keys that are in mode/tone as well as nested under mode and tone this will help generate the final solution\n const modeKeys = findNestedKeys(parsedStyles, 'mode');\n const toneKeys = findNestedKeys(parsedStyles, 'tone');\n\n // Merge all the styles together into one object\n const solution = parsedStyles.reduce((acc, style) => {\n return clone(acc, generateSolution(style, modeKeys, toneKeys));\n }, {});\n\n const final = formatStyleObj(\n removeEmptyObjects(colorParser({ theme }, solution)) || {},\n alias\n );\n\n const cleanObj = createSharedReferences(final);\n\n return enforceContract(cleanObj);\n};\n\n/**\n * Parse and process a style object to replace theme strings and process color arrays.\n * @param {object} targetObject - In most cases, this will be a theme object.\n * @param {object} styleObj - The input style object to be processed.\n * @returns {object} The processed style object with theme strings replaced and color arrays processed.\n */\nexport const colorParser = (targetObject, styleObj) => {\n // Check if targetObject is an object\n if (typeof targetObject !== 'object' || targetObject === null) {\n throw new TypeError('targetObject must be an object.');\n }\n\n // Check if styleObj is an object\n if (typeof styleObj !== 'object' || styleObj === null) {\n throw new TypeError('styleObj must be an object.');\n }\n\n // Process style object and remove unnecessary properties\n const processedStyle = JSON.stringify(styleObj, (_, value) => {\n if (-1 < ['tone', 'mode'].indexOf(_)) return value; // Remove any tone/mode or mode/tone properties as they have already been processed\n\n // Handle theme strings, e.g., 'theme.radius.md'\n if (typeof value === 'string' && value.startsWith('theme.')) {\n // Retrieve the value from the target object using the theme path\n return getValFromObjPath(targetObject, value); // If no theme value exists, the property will be removed\n }\n\n function isValidColor(num) {\n return num >= 0 && num <= 0xffffffff;\n }\n\n // Handle color arrays, e.g., ['#663399', 1] or [255, 0.5]\n if (\n Array.isArray(value) &&\n value.length === 2 &&\n ((typeof value[0] === 'string' && value[0].startsWith('#')) ||\n (typeof value[0] === 'number' && isValidColor(value[0]))) &&\n typeof value[1] === 'number'\n ) {\n // Return processed hex color or the original value if processing fails\n return getHexColor(value[0], value[1]) || value;\n }\n\n // Return all other values as-is\n return value;\n });\n\n return JSON.parse(processedStyle || {});\n};\n\n/**\n * Generates the final style object for a component using its style source.\n * @param {object} component - The component for which to generate a style object.\n * @param {object} componentStyleSource - The style source object for the component.\n * @returns {object} - The generated style object.\n */\nexport const generateStyle = (component, componentStyleSource = {}) => {\n if (!isPlainObject(component)) return {};\n const { mode = 'unfocused', tone = 'neutral' } = component;\n return (\n componentStyleSource[`${mode}_${tone}`] ||\n componentStyleSource['unfocused_neutral'] ||\n {}\n );\n};\n\n/**\n * Generates a name by concatenating the names of constructors in the prototype chain.\n * @param {object} obj - The object for which to generate the name.\n * @returns {string} - The generated name.\n */\nexport function generateNameFromPrototypeChain(obj, name = '') {\n if (!obj) return name;\n const proto = Object.getPrototypeOf(obj);\n if (!proto || !proto.constructor) return name;\n const componentName = `${name ? name + '.' : ''}${\n proto?.constructor?.__componentName || ''\n }`\n .replace(/\\.*$/, '')\n .trim();\n const result = generateNameFromPrototypeChain(proto, componentName);\n return result;\n}\n/**\n * Creates a cache object to store the results of getStyleChainMemoized function calls.\n * @type {object}\n */\nconst styleChainCache = {};\n\n/**\n * Flush the memoization cache for styleChain\n *\n */\nexport const clearStyleChainCache = () => {\n for (const key in styleChainCache) {\n if (styleChainCache.hasOwnProperty(key)) {\n delete styleChainCache[key];\n }\n }\n};\n\n/**\n * Memoized version of getStyleChain function. Retrieves the style chain for a component by traversing its prototype chain.\n * @param {object} componentObj - The component object to get the style chain from.\n * @returns {{ style: (object | function) }[]} - An array of style objects containing either an object of styles or a function to return an object of styles.\n */\nexport const getStyleChainMemoized = componentObj => {\n /**\n * Create a cache key based on the stringified component object.\n * @type {string}\n */\n\n const cacheKey = generateNameFromPrototypeChain(componentObj);\n\n // Check if the result is already in the cache\n if (styleChainCache[cacheKey]) {\n return styleChainCache[cacheKey];\n }\n\n /**\n * Compute the style chain using the getStyleChain function.\n * @type {{ style: (object | function) }[]}\n */\n const styleChain = getStyleChain(componentObj);\n\n // Cache the result for future use\n styleChainCache[cacheKey] = styleChain;\n\n // Return the style chain\n return styleChain;\n};\n\n/**\n * Traverse up the prototype chain to create an array of all the styles that are present in the Components ancestors\n * @param {object} componentObj - The component object to get the style chain from.\n * @returns {{ style: (object | function) }[]} - An array of style objects containing either an object of styles or a function to return an object of styles.\n */\nexport const getStyleChain = componentObj => {\n const styleMap = new Map(); // Use a Map to store styles as JSON strings\n let proto;\n\n do {\n proto = !proto ? componentObj : Object.getPrototypeOf(proto);\n if (proto?.constructor === Object) break; // Stop traversing the prototype chain if we reach the Object prototype\n if (\n proto &&\n typeof proto === 'object' &&\n proto.hasOwnProperty('constructor')\n ) {\n // ComponentConfig Level\n const { style: componentConfigStyle } = getComponentConfig(proto);\n if (Object.keys(componentConfigStyle || {}).length) {\n if (!styleMap.has(componentConfigStyle)) {\n styleMap.set(componentConfigStyle, { style: componentConfigStyle });\n }\n }\n\n // Access the __themeStyle property from the current prototype's constructor\n const themeStyle =\n proto.constructor.hasOwnProperty('__themeStyle') &&\n proto.constructor.__themeStyle;\n\n if (Object.keys(themeStyle || {}).length) {\n if (!styleMap.has(themeStyle)) {\n styleMap.set(themeStyle, { style: { ...themeStyle } });\n }\n } else if (typeof themeStyle === 'function') {\n // If the style is a function, add it to the styleMap\n if (!styleMap.has(themeStyle)) {\n styleMap.set(themeStyle, { style: themeStyle });\n }\n }\n\n // Access the __mixinStyle property from the current prototype's constructor\n const mixinStyle =\n proto.constructor.hasOwnProperty('__mixinStyle') &&\n proto.constructor.__mixinStyle;\n\n if (Object.keys(mixinStyle || {}).length) {\n if (!styleMap.has(mixinStyle)) {\n styleMap.set(mixinStyle, { style: mixinStyle });\n }\n }\n }\n } while (proto);\n\n // Convert the values of the Map (unique styles) back to an array\n const uniqueStyles = Array.from(styleMap.values());\n\n // Return an array of unique style objects with a \"style\" property\n return uniqueStyles.map(style => style).reverse();\n};\n\n/**\n * Formats a style object by applying a series of formatter functions.\n *\n * @param {object} originalObj - The original style object to be formatted.\n * @param {array} [aliasStyles=[]] - An array of alias styles to be used during formatting.\n * @returns {object} The formatted style object after applying all formatter functions.\n */\nexport const formatStyleObj = (originalObj, aliasStyles = []) => {\n if (typeof originalObj !== 'object' || originalObj === null) {\n throw new Error('The originalObj parameter must be an object.');\n }\n\n const formatters = new Set();\n\n // Adding a key-value pair to the 'formatters' Set.\n // This pattern is used so more formatters can be easily added if required at a later time\n formatters.add([replaceAliasValues, [aliasStyles]]);\n\n // Generating an array from the 'formatters' Set\n const formattersArray = Array.from(formatters);\n\n // Using reduce to apply functions from 'formattersArray' to 'finalStyle'\n // Each function takes 'obj' (initially 'finalStyle') as input and applies transformations\n // The result of the previous function is passed as input to the next function\n // The final transformed style is assigned to 'this._style'\n return formattersArray.reduce(\n (obj, [func, args]) => func(obj, ...args),\n originalObj\n );\n};\n\n/**\n * Replaces alias values in the provided style object with their corresponding aliases.\n * @param {object} value - The style object to process.\n * @param {Array<Object>} [aliasStyles=[]] - Optional array of alias styles to apply.\n * @returns {object} The style object with alias values replaced.\n */\nexport const replaceAliasValues = (value, aliasStyles = []) => {\n if (typeof value !== 'object' || value === null) {\n throw new Error('Value must be an object');\n }\n\n if (!Array.isArray(aliasStyles)) {\n throw new Error('Alias styles must be an array');\n }\n\n let str = JSON.stringify(value);\n const aliasProps = [\n { prev: 'height', curr: 'h', skipWarn: true },\n { prev: 'width', curr: 'w', skipWarn: true },\n ...(aliasStyles || [])\n ];\n\n aliasProps.forEach(alias => {\n if (\n alias &&\n typeof alias.prev === 'string' &&\n typeof alias.curr === 'string'\n ) {\n !alias.skipWarn &&\n str.search(`\"${alias.prev}\":`) >= 0 &&\n log.warn(\n `The style property \"${alias.prev}\" is deprecated and will be removed in a future release. Please use \"${alias.curr}\" instead.`\n );\n str = str.replace(\n new RegExp(`\"${alias.prev}\":`, 'gi'),\n `\"${alias.curr}\":`\n );\n }\n });\n return JSON.parse(str);\n};\n","import context from '../../globals/context/index';\n\nconst themeStyleCache = new Map();\n\ncontext.on('themeUpdate', () => {\n themeStyleCache.clear();\n});\n\nexport default themeStyleCache;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n generateComponentStyleSource,\n getStyleChainMemoized,\n clearStyleChainCache,\n generateStyle,\n getHash\n} from './utils';\nimport context from '../../globals/context/index';\nimport { clone } from '../../utils/index';\nimport cache from './cache';\nimport lng from '@lightningjs/core';\n\nexport default class StyleManager extends lng.EventEmitter {\n /**\n * Create a Style Manager instance.\n * @param {object} options - The options object.\n * @param {object} options.component - The LightningJS component instance.\n */\n constructor({ component = {} } = {}) {\n super(...arguments);\n this.init(component);\n }\n\n init(component) {\n this.isActive = true;\n this.component = component;\n this.setupListeners();\n this._style = {}; // This will be the source of truth for the style manager\n // Initial update is not debounced\n this.update();\n }\n\n setupListeners() {\n // Bind the _onThemeUpdate method to the current instance of the StyleManager class.\n this._boundThemeUpdate = this._onThemeUpdate.bind(this);\n this._hasSubTheme = Boolean(this.component._targetSubTheme);\n if (!this.component._targetSubTheme) {\n context.on('themeUpdate', this._boundThemeUpdate);\n } else {\n context.on(\n `themeUpdate${this.component._targetSubTheme}`,\n this._boundThemeUpdate\n );\n }\n }\n\n clearListeners() {\n // Bind the _onThemeUpdate method to the current instance of the StyleManager class.\n if (!this._boundThemeUpdate) return;\n if (!this.component._targetSubTheme) {\n context.off('themeUpdate', this._boundThemeUpdate);\n } else {\n context.off(\n `themeUpdate${this.component._targetSubTheme}`,\n this._boundThemeUpdate\n );\n }\n }\n\n /**\n * Destroy the Style Manager instance and remove the themeUpdate event listener.\n */\n destroy() {\n this.isActive = false;\n this._cleanupCache();\n // Remove event listeners and subscriptions\n this.clearListeners();\n // Set references to null\n this._styleCache = null;\n this._boundThemeUpdate = null;\n this.component = null;\n }\n\n /**\n * Handler for the themeUpdate event. Clears the cache and updates the component's style.\n * @private\n */\n _onThemeUpdate() {\n clearStyleChainCache();\n this.clearSourceCache();\n this.clearStyleCache();\n this.update();\n }\n\n /**\n * Clears the style chain cache.\n */\n clearStyleChainCache() {\n clearStyleChainCache();\n }\n\n /**\n * Clears the source cache.\n */\n clearSourceCache() {\n if (!this.component) return;\n const sourceKey = this._generateCacheKey('styleSource');\n this._removeCache(sourceKey);\n }\n\n /**\n * Clears the style cache.\n */\n clearStyleCache() {\n if (!this.component) return;\n const { tone, mode } = this.component;\n const styleKey = this._generateCacheKey(`style_${mode}_${tone}`);\n cache.delete(styleKey);\n }\n\n /**\n * Generates a cache key.\n * @param {string} name - The name of the cache.\n * @returns {string} - The generated cache key.\n */\n _generateCacheKey(name) {\n const cacheKey = [\n name,\n this.component._targetSubTheme,\n this.component.constructor.__componentName,\n this._customStyleHash\n ]\n .filter(Boolean)\n .join('_');\n return cacheKey;\n }\n\n /**\n * Adds a cache.\n * @param {string} name - The name of the cache.\n * @param {object} payload - The payload of the cache.\n */\n _addCache(name, payload) {\n const key = this._generateCacheKey(name);\n const existing = cache.get(key);\n cache.set(key, {\n ids: [...new Set([...(existing?.ids || []), this.component.__id])], // Add current id and remove duplicates\n payload\n });\n }\n\n /**\n * Called when component is destroyed\n */\n _cleanupCache() {\n if (!this.component) return;\n cache.forEach(({ ids, payload }, name) => {\n const removeIndex = ids && ids.length && ids.indexOf(this.component.__id);\n if (removeIndex > -1 && ids.length > 1) {\n cache.set(name, {\n ids: ids.slice(0, removeIndex).concat(ids.slice(removeIndex + 1)),\n payload\n });\n } else if (removeIndex > -1) {\n cache.delete(name);\n }\n });\n }\n\n /**\n * Removes a cache.\n * @param {string} name - The name of the cache.\n */\n _removeCache(name) {\n cache.delete(name);\n }\n\n /**\n * Gets a cache.\n * @param {string} name - The name of the cache.\n * @returns {object|boolean} - The cache or false if the component has inline styles.\n */\n _getCache(name) {\n const key = this._generateCacheKey(name);\n return cache.get(key);\n }\n\n /**\n * Updates the component's style based on changes in tone, mode, theme, and `_componentLevelStyle`.\n * Clears the style cache if tone or mode have changed, and clears the source cache if `_componentLevelStyle` has changed.\n * Generates the component's style source and style objects, saves them to the cache, and emits a `styleUpdate` event with the updated style.\n * @returns {Promise<void>}\n */\n update() {\n if (!this.component) return;\n\n const { mode, tone } = this.component;\n\n try {\n // Attempt to fetch style source from cache\n let styleSource = this._getCache('styleSource')?.payload;\n\n if (!styleSource) {\n // Style source does not exist so it will need to be generated. We attempt to run this function only when necessary for optimal performance\n styleSource = generateComponentStyleSource({\n alias: this.component.constructor.aliasStyles,\n inlineStyle: this.component._componentLevelStyle,\n styleChain: getStyleChainMemoized(this.component),\n theme: this.component.theme\n });\n\n this._addCache('styleSource', styleSource);\n }\n\n // Attempt to fetch style from cache\n let style = this._getCache(`style_${mode}_${tone}`)?.payload;\n\n if (!style) {\n // Style does not exist so will also need to be generated\n style = generateStyle(this.component, styleSource);\n this._addCache(`style_${mode}_${tone}`, style);\n }\n\n this._style = style;\n this.emit('styleUpdate', this.style);\n } catch (error) {\n context.error('styleManager: ', error.message);\n }\n }\n\n /**\n * Accessors\n */\n set style(v) {\n context.warn('styleManager: Cannot mutate style directly');\n }\n\n get style() {\n return this._style;\n }\n\n set props(v) {\n context.warn('styleManager: Cannot mutate props directly');\n }\n\n get props() {\n return Object.keys(this.component._componentConfig).reduce((acc, key) => {\n if (!['base', 'tone', 'mode', 'style', 'styleConfig'].includes(key)) {\n acc[key] = this.component._componentConfig[key];\n }\n\n return acc;\n }, {});\n }\n\n /**\n * Simple check to see if this component can leverage caching. Components using .style cannot use the cache at this time\n */\n get _customStyleHash() {\n const hasCustomStyle =\n Boolean(\n Object.keys(this.component.constructor.__mixinStyle || {}).length\n ) ||\n Boolean(Object.keys(this.component._componentLevelStyle || {}).length);\n\n if (hasCustomStyle) {\n return getHash(\n clone(\n this.component.constructor.__mixinStyle || {},\n this.component._componentLevelStyle || {}\n )\n );\n }\n\n return undefined;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport StyleManager from './StyleManager';\nimport { updateManager } from '../../globals/global-update-manager/GlobalUpdateManager';\nimport context from '../../globals/context';\nimport { getComponentConfig, getSubTheme } from './utils';\nimport { capitalizeFirstLetter } from '../../utils';\n\n/**\n * Merges two objects based on the following rules:\n * 1. If a key exists in both objects, use the value from the second object.\n * 2. If a key exists in the first object but not in the second, set the value to undefined.\n * 3. If a key exists in the second object but not in the first, include it in the result.\n * 4. Maintain the structure of the first object and augment it with extra keys from the second object.\n *\n * @param {Object|Array} firstObj - The first object, providing the structure to match.\n * @param {Object|Array} secondObj - The second object, whose values take precedence.\n * @returns {Object|Array} A new object with a merged structure and values.\n */\nfunction mergeObjectsWithSecondDominant(firstObj, secondObj) {\n if (firstObj !== null && typeof firstObj === 'object') {\n if (Array.isArray(firstObj)) {\n return firstObj.map((item, index) =>\n mergeObjectsWithSecondDominant(\n item,\n Array.isArray(secondObj) ? secondObj[index] : undefined\n )\n );\n } else {\n const result = {};\n // Combine keys from both objects to ensure all keys are covered\n const allKeys = new Set([\n ...Object.keys(firstObj),\n ...Object.keys(secondObj)\n ]);\n allKeys.forEach(key => {\n // Recurse for nested objects or arrays\n if (typeof firstObj[key] === 'object' && firstObj[key] !== null) {\n result[key] = mergeObjectsWithSecondDominant(\n firstObj[key],\n secondObj[key] || {}\n );\n } else if (\n typeof secondObj[key] === 'object' &&\n secondObj[key] !== null\n ) {\n result[key] = mergeObjectsWithSecondDominant(\n firstObj[key] || {},\n secondObj[key]\n );\n } else {\n // Use value from the second object if available, else set to undefined\n result[key] = secondObj.hasOwnProperty(key)\n ? secondObj[key]\n : undefined;\n }\n });\n return result;\n }\n } else {\n // Return non-object values directly\n return firstObj;\n }\n}\n\n/**\n * A higher-order function that returns a class with theme styles.\n * @param {function} Base - The base class to extend.\n * @param {object} mixinStyle - The mixin style to add to the component.\n * @returns {function} A class that extends the base class with theme styles.\n */\nexport default function withThemeStyles(Base, mixinStyle = {}) {\n return class extends Base {\n _construct() {\n if (this._withThemeStylesSetupComplete) {\n // Make sure this runs ony once if being used on a component that extends another component that is utilizing withThemeStyles\n super._construct();\n return;\n }\n\n this._hSetByUser = false;\n this._wSetByUser = false;\n\n this._styleManager = new StyleManager({ component: this });\n this._style = this._styleManager.style; // Set the style for the first time. After this is will be updated by events\n this._updatePropDefaults();\n this._styleManager.on('styleUpdate', () => {\n this._style = this._styleManager.style;\n this._updatePropDefaults();\n this.queueThemeUpdate();\n });\n this._withThemeStylesSetupComplete = true;\n super._construct(); // Important that this is called at the bottom to ensure that withThemeStyles is only initialized once per component to prevent potential memory leaks\n }\n\n /**\n * Checks for subThemes on _setup lifecycle event to allow the component to traverse the tree to find child theme properties.\n * @private\n * @returns {void}\n */\n _setup() {\n super._setup && super._setup();\n this._targetSubTheme = getSubTheme(this);\n if (this._targetSubTheme) {\n this._styleManager.clearListeners();\n this._styleManager.setupListeners();\n this._styleManager.clearStyleChainCache();\n this._styleManager.clearStyleCache();\n this._styleManager.clearSourceCache();\n this._styleManager.update();\n }\n }\n\n /**\n * Updates the default properties of the component based on the current theme.\n * It compares the previous component configuration properties with the current style manager properties,\n * and updates the component's properties accordingly. If the properties are unchanged, no action is taken.\n * This method is crucial for ensuring the component's properties are synchronized with the theme.\n */\n _updatePropDefaults() {\n // If the current properties are the same as the previous configuration, no update is needed\n\n if (\n !Object.keys(this._styleManager.props).length ||\n JSON.stringify(this._styleManager.props) ===\n JSON.stringify(this._prevComponentConfigProps)\n ) {\n return;\n }\n\n // Compare current properties with previous configuration and get the payload\n const payload = this._prevComponentConfigProps\n ? mergeObjectsWithSecondDominant(\n this._prevComponentConfigProps || {},\n this._styleManager.props || {}\n )\n : this._styleManager.props || {};\n\n // Store a deep copy of the current properties for future comparison\n this._prevComponentConfigProps =\n this._styleManager.props &&\n JSON.parse(JSON.stringify(this._styleManager.props));\n\n // This will be used by withUpdates to set defaults\n this.__componentConfigProps = payload;\n }\n\n /**\n * On component attach, ensures the StyleManager has been reinitialized if it was previously destroyed in detach.\n * @private\n * @returns {void}\n */\n _attach() {\n super._attach();\n if (!this._styleManager.isActive) {\n this._styleManager.init(this);\n }\n }\n\n /**\n * Detaches the component and destroys the style manager.\n * @private\n * @returns {void}\n */\n _detach() {\n super._detach();\n this._styleManager.destroy();\n }\n\n /**\n * Updates the mode to 'unfocused' when the component is unfocused.\n * @private\n * @internal\n * @returns {void}\n */\n _unfocus() {\n if (this._isFocusedMode) this.mode = 'unfocused';\n super._unfocus();\n }\n\n /**\n * Updates the mode to 'focused' when the component is focused.\n * @private\n * @returns {void}\n */\n _focus() {\n if (!this._isDisabledMode) this.mode = 'focused';\n super._focus();\n }\n\n /**\n * Checks if dimensions need updating, and updates if necessary.\n * Fixes mount issues if height is controlled by a component's style alone.\n * Setters for w/h will set the wSetByUser and hSetByUser flag to block this functionality and allow customization.\n * @private\n * @returns {void}\n */\n _checkDimensionUpdates() {\n let dimensionUpdateRequired = false;\n\n if (!this._wSetByUser && this.style.w && this._w !== this.style.w) {\n this._w = this.style.w;\n dimensionUpdateRequired = true;\n }\n\n if (!this._hSetByUser && this.style.h && this._h !== this.style.h) {\n this._h = this.style.h;\n dimensionUpdateRequired = true;\n }\n\n if (dimensionUpdateRequired) {\n this._updateDimensions();\n }\n }\n\n /**\n * Called by the update manager to trigger the _update lifecycle.\n * If `queueRequestUpdate` is undefined, then it's OK to call `_update()` directly because\n * the component does not have the `withUpdates` mixin, and hence `requestUpdate()` will not be defined either.\n * This check allows this mixin to work without `withUpdates`.\n * @private\n * @returns {void}\n */\n _updateThemeComponent() {\n if (!this.style) return;\n if (!this._isAttached()) return;\n this._checkDimensionUpdates();\n this.queueRequestUpdate\n ? this.queueRequestUpdate()\n : this._update && this._update();\n this._updateItemLayout && this._updateItemLayout();\n }\n\n /**\n * Queues component for update by the Global Update Manager.\n * @returns {void}\n */\n queueThemeUpdate() {\n updateManager.addUpdateTheme(this);\n }\n\n static get name() {\n return Base.name;\n }\n\n static get __componentName() {\n if (!super.__componentName) {\n throw new Error(\n `A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`\n );\n }\n return super.__componentName;\n }\n\n static get __mixinStyle() {\n return mixinStyle;\n }\n\n /**\n * Reference to the global theme\n * @return {object}\n */\n get theme() {\n const subTheme =\n this._targetSubTheme && context.getSubTheme(this._targetSubTheme);\n return subTheme || context.theme;\n }\n\n /**\n * Set component level styles\n * @param {object} v - The styles to set, mode, and tone are not allowed\n */\n set style(v) {\n if (Object.prototype.toString.call(v) !== '[object Object]') {\n context.error('style must be an object');\n return;\n }\n this._componentLevelStyle = v;\n this._styleManager.clearStyleCache();\n this._styleManager.update();\n }\n\n /**\n * Get component level styles\n * @return {object}\n */\n get style() {\n return this._style;\n }\n\n /**\n * Get component level styles\n * @return {object}\n */\n get _componentStyle() {\n /** No longer supported */\n context.info(\n '_componentStyle will soon be deprecated. Please use Component.style'\n );\n return this._style;\n }\n\n /**\n * Set component styleConfig\n * @param {object} v - Special configuration rules to override styles\n */\n set styleConfig(v) {\n context.info(\n 'style config is deprecated. Please use style = { base: {}, tone: {}, mode: {} }'\n );\n this._styleConfig = v;\n this._styleManager.update();\n }\n\n /**\n * Get component styleConfig\n * @return {object}\n */\n get styleConfig() {\n return this._styleConfig;\n }\n\n /**\n * Theme configuration for overrides and defaults\n * @return {object}\n */\n get _componentConfig() {\n return getComponentConfig(this);\n }\n\n /**\n * Get the mode property\n * @return {string}\n */\n get mode() {\n return this._mode || this._componentConfig?.mode || 'unfocused';\n }\n\n /**\n * Set the mode property\n * @param {string} v - The mode value to set\n */\n set mode(v) {\n if (typeof v !== 'string' || this._mode === v) return;\n this._mode = v;\n const event = this[`on${capitalizeFirstLetter(v)}`];\n if (event && typeof event === 'function') event.call(this);\n this._styleManager.update();\n }\n\n /**\n * Get the tone property\n * @return {string}\n */\n get tone() {\n return this._tone || this._componentConfig.tone || 'neutral';\n }\n\n /**\n * Set the tone property\n * @param {string} value - The tone value to set\n */\n set tone(v) {\n if (typeof v !== 'string' || this._tone === v) return;\n this._tone = v;\n this._styleManager.update();\n }\n\n /**\n * Allow for w to be overwritten by user if also in component's style file\n * @return {number}\n */\n get w() {\n return (this._wSetByUser && this._w) || this.style?.w || 0;\n }\n\n /**\n * Set the w property\n * @param {number} v - The w value to set\n */\n set w(v) {\n if (this._w === v) return;\n super.w = v;\n this._wSetByUser = true;\n this._updateThemeComponent();\n }\n\n /**\n * Get the h property\n * @return {number}\n */\n get h() {\n return (this._hSetByUser && this._h) || this.style?.h || this._h || 0;\n }\n\n /**\n * Set the h property\n * @param {number} v - The h value to set\n */\n set h(v) {\n if (this._h === v) return;\n super.h = v;\n this._hSetByUser = true;\n this._updateThemeComponent();\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport context from '../../globals/context';\nimport { updateManager } from '../../globals/global-update-manager/GlobalUpdateManager';\nimport { clone } from '../../utils';\n\nfunction capital(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n// Merge the componentConfigProp with the prop value\nfunction mergeProps(componentConfigProp, prop) {\n let result = prop;\n if (\n typeof componentConfigProp === 'object' &&\n Object.keys(componentConfigProp).length &&\n typeof prop === 'object'\n ) {\n result = clone(componentConfigProp, prop);\n }\n\n return result ?? componentConfigProp;\n}\n\nfunction getPropertyDescriptor(name, key) {\n return {\n get() {\n const customGetter = this[`_get${capital(name)}`];\n if (customGetter && typeof customGetter === 'function') {\n const value = customGetter.call(this, this[key]);\n this[key] = value || this.__componentConfigProps?.[name]; // Defaults can also be set from withThemeStyles if used\n return mergeProps(this.__componentConfigProps?.[name], value);\n }\n\n return mergeProps(this.__componentConfigProps?.[name], this[key]); // Defaults can also be set from withThemeStyles if used\n },\n set(value) {\n const oldValue = this[key];\n if (value !== oldValue) {\n const changeHandler = this[`_set${capital(name)}`];\n if (changeHandler && typeof changeHandler === 'function') {\n value = changeHandler.call(this, value);\n }\n\n const newValue = key === 'style' ? clone(this[key], value) : value;\n\n if (\n typeof this[key] === 'object' &&\n this[key] !== null &&\n this[key].style\n ) {\n // If the property is for a nested component, recursively combine it with the component's existing styles, ensuring that any styles defined in componentConfig are also applied.\n const style = clone(this[key].style, value.style || {});\n newValue.style = style;\n }\n\n this[key] = newValue;\n this.queueRequestUpdate();\n }\n },\n configurable: true,\n enumerable: true\n };\n}\n\nfunction getAliasPropertyDescriptor(prev, curr) {\n const deprecationWarning = `The property \"${prev}\" is deprecated and will be removed in a future release. Please use \"${curr}\" instead.`;\n return {\n get() {\n console.warn(deprecationWarning);\n return this[curr];\n },\n set(value) {\n console.warn(deprecationWarning);\n this[curr] = value;\n }\n };\n}\n\nexport default function withUpdates(Base) {\n return class extends Base {\n static get name() {\n return Base.name;\n }\n\n _construct() {\n const prototype = Object.getPrototypeOf(this);\n if (!prototype._withUpdatesInitialized) {\n // create custom accessors and mutators for the props in the properties array\n const props = this.constructor.properties || [];\n props.forEach(name => {\n const key = '_' + name;\n const descriptor = getPropertyDescriptor(name, key);\n if (descriptor !== undefined) {\n Object.defineProperty(prototype, name, descriptor);\n }\n });\n\n // create custom accessors and mutators that map the props in the alias array to\n // the props in the properties array (and use the getters/setters defined above)\n const aliasProps = this.constructor.aliasProperties || [];\n aliasProps.forEach(alias => {\n if (\n alias &&\n typeof alias.prev === 'string' &&\n typeof alias.curr === 'string'\n ) {\n const descriptor = getAliasPropertyDescriptor(\n alias.prev,\n alias.curr\n );\n if (descriptor !== undefined) {\n Object.defineProperty(prototype, alias.prev, descriptor);\n }\n }\n });\n\n prototype._withUpdatesInitialized = true;\n }\n\n this._whenEnabled = new Promise(resolve => {\n this._whenEnabledResolver = resolve;\n });\n\n super._construct && super._construct();\n }\n\n queueRequestUpdate() {\n if (!this._isAttached()) return;\n updateManager.addRequestUpdate(this);\n }\n\n _firstEnable() {\n this._readyForUpdates = true;\n this._whenEnabledResolver();\n updateManager.deleteRequestUpdate(this);\n this.requestUpdate();\n super._firstEnable && super._firstEnable();\n }\n\n requestEarlyUpdate() {\n this._readyForUpdates = true;\n if (updateManager.hasQueuedRequestFor(this)) {\n updateManager.deleteRequestUpdate(this);\n // method also triggers ready for updates\n this._readyForUpdates = true;\n this.requestUpdate();\n return true;\n }\n return false;\n }\n\n _detach() {\n super._detach();\n updateManager.deleteRequestUpdate(this);\n }\n\n /**\n * Request an immediate component update.\n *\n * @remarks\n * Except for when calling `super._update()` from a `_update()`\n * implementation, call this instead of calling `_update()` directly\n *\n * @param {boolean} force If set, bypasses the '_readyForUpdates' check\n */\n requestUpdate(force = false) {\n if (this._readyForUpdates || force) {\n const result = this._update();\n if (typeof result === 'object' && result !== null && result.catch) {\n // This is a promise, make sure to capture any errors\n result.catch(e => {\n context.error(\n `asyncronous _update() error in '${this.constructor.__componentName}'`,\n this,\n e\n );\n });\n }\n }\n }\n\n logPropTable() {\n console.table(this._propTable);\n }\n\n get _propTable() {\n return this.constructor.properties.reduce((acc, prop) => {\n acc[prop] = this[prop];\n return acc;\n }, {});\n }\n };\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\n\nexport default class FadeShader extends lng.shaders.WebGLDefaultShader {\n constructor(context) {\n super(context);\n this._margin = { left: 0, right: 0 };\n }\n\n set positionLeft(v) {\n this._positionLeft = v;\n }\n\n set positionRight(v) {\n this._positionRight = v;\n }\n\n setupUniforms(operation) {\n super.setupUniforms(operation);\n const owner = operation.shaderOwner;\n\n if (this._positionLeft === 0) {\n this._positionLeft = 0.001;\n }\n if (this._positionRight === 0) {\n this._positionRight = 0.001;\n }\n\n const renderPrecision = this.ctx.stage.getRenderPrecision();\n this._setUniform(\n 'margin',\n [\n this._positionLeft * renderPrecision,\n this._positionRight * renderPrecision\n ],\n this.gl.uniform1fv\n );\n this._setUniform(\n 'resolution',\n new Float32Array([\n owner._w * renderPrecision,\n owner._h * renderPrecision\n ]),\n this.gl.uniform2fv\n );\n }\n}\n\nFadeShader.fragmentShaderSource = `\n #ifdef GL_ES\n # ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n # else\n precision lowp float;\n # endif\n #endif\n\n #define PI 3.14159265359\n\n varying vec2 vTextureCoord;\n varying vec4 vColor;\n\n uniform sampler2D uSampler;\n uniform vec2 resolution;\n uniform float margin[2];\n\n void main() {\n vec4 color = texture2D(uSampler, vTextureCoord) * vColor;\n vec2 halfRes = 0.5 * resolution.xy;\n vec2 point = vTextureCoord.xy * resolution;\n\n\n vec2 pos1 = vec2(point.x, point.y);\n vec2 pos2 = pos1;\n pos2.x += margin[0];\n\n vec2 d = pos2 - pos1;\n float t = dot(pos1, d) / dot(d, d);\n t = smoothstep(0.0, 1.0, clamp(t, 0.0, 1.0));\n\n vec2 pos3 = vec2(vTextureCoord.x * resolution.x, vTextureCoord.y);\n pos3.x -= resolution.x - margin[1];\n vec2 pos4 = vec2(vTextureCoord.x + margin[1], vTextureCoord.y);\n\n vec2 d2 = pos4 - pos3;\n float t2 = dot(pos3, d2) / dot(d2, d2);\n t2 = smoothstep(0.0, 1.0, clamp(t2, 0.0, 1.0));\n\n color = mix(vec4(0.0), color, t);\n color = mix(color, vec4(0.0), t2);\n\n gl_FragColor = color;\n }\n`;\n","import lng from '@lightningjs/core';\n\n/**\n * Represents an image texture that supports loading blob images and SVG strings without using web workers.\n */\n\n/**\n * Checks the file type based on the given string.\n * @param {string} str - The input string to check.\n * @returns {string} The file type.\n */\nfunction checkFileType(str) {\n if (str.startsWith('<svg')) {\n return 'SVG';\n } else if (str.startsWith('blob:')) {\n return 'Blob';\n } else if (/\\.(jpeg|jpg|gif|png|svg)$/i.test(str)) {\n return 'Image';\n } else {\n return 'Unknown';\n }\n}\n\n/**\n * Creates an SVG canvas.\n * @param {function} cb - The callback function.\n * @param {object} stage - The stage object.\n * @param {string} url - The URL of the SVG.\n * @param {number} w - The width of the canvas.\n * @param {number} h - The height of the canvas.\n */\nfunction createSvg(cb, stage, url, w, h) {\n const canvas = stage.platform.getDrawingCanvas();\n const ctx = canvas.getContext('2d');\n ctx.imageSmoothingEnabled = true;\n\n const img = new Image();\n img.onload = () => {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n cb(null, { source: canvas, w, h });\n };\n img.onerror = err => {\n cb(err);\n };\n\n // On the PS4 platform setting the `crossOrigin` attribute on images\n // can cause CORS failures.\n if (!lng.Utils.isPS4) {\n img.crossOrigin = 'Anonymous';\n }\n\n img.src = url;\n}\n\n/**\n * Loads an image from the given source.\n * @param {object} params - The parameters object.\n * @param {string} params.src - The source URL of the image.\n * @param {function} cb - The callback function.\n * @returns {function} A cancel callback function.\n */\nfunction imageLoader({ src }, cb) {\n const image = new Image();\n\n // On the PS4 platform setting the `crossOrigin` attribute on\n // images can cause CORS failures.\n if (!(src.substr(0, 5) == 'data:') && !lng.Utils.isPS4) {\n image.crossOrigin = 'Anonymous';\n }\n image.onerror = function () {\n // Ignore error message when cancelled.\n if (image.src) {\n return cb('Image load error');\n }\n };\n image.onload = function () {\n cb(null, {\n source: image,\n renderInfo: { src: src, compressed: false },\n hasAlpha: true\n });\n };\n\n image.src = src;\n\n return function () {\n // Cancel Callback\n image.onerror = null;\n image.onload = null;\n image.removeAttribute('src');\n };\n}\n\n/**\n * Represents an image texture.\n */\nexport default class CustomImageTexture extends lng.Texture {\n /**\n * Creates a new ImageTexture instance.\n * @param {object} stage - The stage object.\n */\n constructor(stage) {\n super(stage);\n\n this._src = undefined;\n this._hasAlpha = false;\n }\n\n /**\n * Gets the source URL of the image.\n * @returns {string} The source URL.\n */\n get src() {\n return this._src;\n }\n\n /**\n * Sets the source URL of the image.\n * @param {string} v - The source URL.\n */\n set src(v) {\n if (this._src !== v) {\n this._src = v;\n this._changed();\n }\n }\n\n /**\n * Gets the flag indicating whether the image has an alpha channel.\n * @returns {boolean} The flag value.\n */\n get hasAlpha() {\n return this._hasAlpha;\n }\n\n /**\n * Sets the flag indicating whether the image has an alpha channel.\n * @param {boolean} v - The flag value.\n */\n set hasAlpha(v) {\n if (this._hasAlpha !== v) {\n this._hasAlpha = v;\n this._changed();\n }\n }\n\n /**\n * Gets the width of the image.\n * @returns {number} The width value.\n */\n get w() {\n return this._w;\n }\n\n /**\n * Sets the width of the image.\n * @param {number} l - The width value.\n */\n set w(l) {\n this._w = l;\n this._changed();\n }\n\n /**\n * Gets the height of the image.\n * @returns {number} The height value.\n */\n get h() {\n return this._h;\n }\n\n /**\n * Sets the height of the image.\n * @param {number} l - The height value.\n */\n set h(l) {\n this._h = l;\n this._changed();\n }\n\n /**\n * Checks if the image texture is valid.\n * @returns {boolean} True if valid, otherwise false.\n */\n _getIsValid() {\n return !!this._src;\n }\n\n /**\n * Gets the lookup ID of the image texture.\n * @returns {string} The lookup ID.\n */\n _getLookupId() {\n return this._src;\n }\n\n /**\n * Gets the source loader function for the image texture.\n * @returns {function} The source loader function.\n */\n _getSourceLoader() {\n const w = this._w;\n const h = this._h;\n let src = this._src;\n const hasAlpha = this._hasAlpha;\n if (this.stage.getOption('srcBasePath')) {\n const fc = src.charCodeAt(0);\n if (\n src.indexOf('//') === -1 &&\n ((fc >= 65 && fc <= 90) || (fc >= 97 && fc <= 122) || fc == 46)\n ) {\n // Alphabetical or dot: prepend base path.\n src = this.stage.getOption('srcBasePath') + src;\n }\n }\n\n return cb => {\n const fileType = checkFileType(src);\n switch (fileType) {\n case 'SVG':\n return createSvg(\n cb,\n this.stage,\n `data:image/svg+xml,${encodeURIComponent(src)}`,\n w,\n h\n );\n\n case 'Blob':\n return imageLoader({ src }, cb);\n default:\n return this.stage.platform.loadSrcTexture(\n { src: src, hasAlpha: hasAlpha },\n cb\n );\n }\n };\n }\n\n /**\n * Gets the non-default properties of the image texture.\n * @returns {object} The non-default properties.\n */\n getNonDefaults() {\n const obj = super.getNonDefaults();\n if (this._src) {\n obj.src = this._src;\n }\n return obj;\n }\n}\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport logger from '../globals/context/logger';\n\n/**\n *\n * Layout Utils\n *\n */\n\n/**\n * Copyright (c) 2009-2012 Jeremy Ashkenas, DocumentCloud\n * Licensed under the MIT License\n * Copyright (c) 2012-2018 The Debounce Contributors. See CONTRIBUTORS\n * Licensed under the MIT License\n */\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear'\n * that is a function which will clear the timer to prevent previously scheduled executions.\n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {function} function to wrap\n * @param {number} timeout in ms (`100`)\n * @param {boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nexport function debounce(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n }\n\n var debounced = function () {\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function () {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n debounced.flush = function () {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n}\n\nexport function getEuclideanDistance(xA, yA, xB, yB) {\n const xDiff = xA - xB;\n const yDiff = yA - yB;\n return Math.sqrt(Math.pow(xDiff, 2) + Math.sqrt(Math.pow(yDiff, 2)));\n}\n\n/**\n * Returns the shortest distance between a coordinate and a corner or center of an element.\n * @param {[number, number]} coordinate\n * @param {Element} element\n *\n * @return {number} shortest distance between a coordinate and a corner or center of an element.\n */\nexport function getShortestDistance(coordinate, element) {\n const [xA, yA] = coordinate;\n const [xB, yB] = element.core ? element.core.getAbsoluteCoords(0, 0) : [0, 0];\n\n const distanceToStart = getEuclideanDistance(xA, yA, xB, yB);\n const distanceToMiddle = getEuclideanDistance(\n xA,\n yA,\n xB + element.w / 2,\n yB + element.h / 2\n );\n const distanceToEnd = getEuclideanDistance(\n xA,\n yA,\n xB + element.w,\n yB + element.h\n );\n\n return Math.min(distanceToStart, distanceToMiddle, distanceToEnd);\n}\n\nexport function isComponentOnScreen(component, offsets = {}) {\n if (!component) return false;\n\n const {\n w,\n h,\n core: { renderContext: { px, py }, _scissor: scissor = [] } = {}\n } = component;\n const stageH = component.stage.h / component.stage.getRenderPrecision();\n const stageW = component.stage.w / component.stage.getRenderPrecision();\n\n let finalX = px;\n let finalY = py;\n // keep track of the different between the the absolute world position and relative position\n const relativeOffsetX = px - component.x;\n const relativeOffsetY = py - component.y;\n const offsetX = offsets.offsetX - relativeOffsetX || 0;\n const offsetY = offsets.offsetY - relativeOffsetY || 0;\n // if the current component is animating, apply the relative offset to the transition value\n if (component.transition('x')) {\n finalX = px - component.x + component.transition('x').targetValue;\n }\n if (component.transition('y')) {\n finalY = py - component.y + component.transition('y').targetValue;\n }\n // apply any offset passed into the function\n // this is mainly used to parent components that are transitioning,\n // like in the case of Rows nested inside of Columns where the Rows themselves do not animate,\n // but their parent container does\n finalX += offsetX;\n finalY += offsetY;\n\n const wVis = finalX >= 0 && finalX + w <= stageW;\n const hVis = finalY >= 0 && finalY + h <= stageH;\n\n if (!wVis || !hVis) return false;\n\n if (scissor && scissor.length) {\n const [\n leftBounds = null,\n topBounds = null,\n clipWidth = null,\n clipHeight = null\n ] = scissor;\n\n const withinLeftClippingBounds =\n Math.round(finalX + w) >= Math.round(leftBounds);\n const withinRightClippingBounds =\n Math.round(finalX) <= Math.round(leftBounds + clipWidth);\n const withinTopClippingBounds =\n Math.round(finalY + h) >= Math.round(topBounds);\n const withinBottomClippingBounds =\n Math.round(finalY + h) <= Math.round(topBounds + clipHeight);\n\n return (\n withinLeftClippingBounds &&\n withinRightClippingBounds &&\n withinTopClippingBounds &&\n withinBottomClippingBounds\n );\n }\n\n return true;\n}\n\n/**\n * Returns the width of an item based on upCount.\n *\n * @param {number} upCount\n * @returns {number}\n */\nexport function getWidthByUpCount(theme, upCount = 1) {\n const screenW = theme.layout.screenW;\n const columnCount = theme.layout.columnCount;\n const marginX = theme.layout.marginX;\n const gutterX = theme.layout.gutterX;\n\n if (upCount < 1 || upCount > columnCount) {\n console.error(\n `Column expects a number between 1 & ${columnCount}. Received ${upCount}`\n );\n return;\n }\n\n // the screen width, minus the margin x on each side\n const columnWidth = screenW - marginX * 2;\n // the total space of column gaps in between items\n const columnGapTotal = (upCount - 1) * gutterX;\n // the remaining amount of space left for all items\n const totalColumnsWidth = columnWidth - columnGapTotal;\n // the width of each item in that remaining width\n return totalColumnsWidth / upCount;\n}\n\n/**\n * Returns the width of an item based on how many columns to span.\n *\n * @param {number} columnSpan\n * @returns {number}\n */\nexport function getWidthByColumnSpan(theme, columnSpan) {\n const columnCount = theme.layout.columnCount;\n const gutterX = theme.layout.gutterX;\n\n return (\n getWidthByUpCount(theme, columnCount) * columnSpan +\n gutterX * (columnSpan - 1)\n );\n}\n\n/**\n * Returns the x position of a specified column number based on the theme's columnCount.\n *\n * @param {number} column\n * @returns {number}\n */\nexport function getColumnX(theme, column = 1) {\n const columnCount = theme.layout.columnCount;\n const marginX = theme.layout.marginX;\n const gutterX = theme.layout.gutterX;\n\n return marginX + (getWidthByUpCount(theme, columnCount) + gutterX) * column;\n}\n\n/**\n * Determines the width and height of an item based off the data passed into the item\n * (either all necessary parameters to calculate the dimensions dynamically,\n * OR all the necessary parameters to hard set the dimensions).\n *\n * @param { object } obj\n * @param { object } fallback\n *\n * @return { { number, number } }\n */\nexport function getDimensions(theme, obj = {}, fallback = {}) {\n const { w, h, ratioX, ratioY, upCount } = obj;\n const fallbackW = fallback.w || 0;\n const fallbackH = fallback.h || 0;\n let dimensions = {};\n\n // hard set width and height values were passed in and should override other params\n if (w && h) {\n dimensions = {\n w,\n h: h\n };\n } else if (h && ratioX && ratioY) {\n // hard set height and ratio values were passed in, meaning the row has items with mixed ratios, so the width needs to be calculated\n dimensions = {\n w: Math.round((h * ratioX) / ratioY),\n h: h\n };\n // calculate dynamic width and height based off item ratios\n } else if (ratioX && ratioY && upCount) {\n dimensions = getItemRatioDimensions(theme, ratioX, ratioY, upCount);\n } else if (h && upCount) {\n // calculate dynamic width based off a row upcount and a given height\n dimensions = {\n w: Math.round(getWidthByUpCount(theme, upCount)),\n h: h\n };\n } else if (h) {\n dimensions = {\n w: fallbackW,\n h: h\n };\n } else if (w) {\n dimensions = {\n w: w,\n h: fallbackH\n };\n } else {\n // not enough information was provided to properly size the component\n dimensions = {\n w: fallbackW,\n h: fallbackH\n };\n }\n\n dimensions = {\n ...dimensions,\n ratioX,\n ratioY,\n upCount\n };\n\n return dimensions;\n}\n\n/**\n * Calculates the width and height of an item based off the given ratios\n * and number of columns across the screen that should be visible before peaking\n *\n * @param { number } ratioX\n * @param { number } ratioY\n * @param { number } upCount\n *\n * @return { { number, number } }\n */\nexport function getItemRatioDimensions(theme, ratioX, ratioY, upCount) {\n let w, h;\n\n if (ratioX && ratioY && upCount) {\n w = Math.round(getWidthByUpCount(theme, upCount));\n h = Math.round((w / ratioX) * ratioY);\n } else {\n w = 0;\n h = 0;\n }\n return { w, h };\n}\n\n/**\n * /Layout utils\n */\n\nexport function getAspectRatioW(h, ratio = '16:9', seperator = ':') {\n const [ratioW, ratioH] = ratio.split(seperator);\n return h * (ratioW / ratioH);\n}\n\nexport function getAspectRatioH(w, ratio = '16:9', seperator = ':') {\n const [ratioW, ratioH] = ratio.split(seperator);\n return w / (ratioW / ratioH);\n}\n\n/**\n * Combines rgb hex string and alpha into argb hexadecimal number\n * @param {string|number} hex - 6 alphanumeric characters between 0-f or argb hexadecimal number\n * @param {number} [alpha] - number between 0-1 (0 is invisible, 1 is opaque)\n */\nexport function getHexColor(hex, alpha = 1) {\n if (!hex) {\n return 0x00;\n }\n\n if (typeof hex === 'number') {\n hex = hex.toString(16).slice(2);\n }\n\n hex = hex.replace('#', '');\n\n const hexAlpha = Math.round(alpha * 255).toString(16);\n const str = `0x${hexAlpha}${hex}`;\n return Number(str);\n}\n\n/**\n * Returns valid string of HEX color\n *\n * @param {string} color\n * @param {boolean} fill\n */\nexport function getValidColor(color) {\n if (typeof color === 'string' || typeof color === 'number') {\n if (/^0x[0-9a-fA-F]{8}/g.test(color)) {\n // User enters a valid 0x00000000 hex code\n return Number(color);\n } else if (/^#[0-9a-fA-F]{6}/g.test(color)) {\n // User enters valid #000000 hex code\n return getHexColor(color.substr(1, 6));\n } else if (typeof color === 'string' && /^[0-9]{8,10}/g.test(color)) {\n return parseInt(color);\n } else if (\n typeof color === 'number' &&\n /^[0-9]{8,10}/g.test(color.toString())\n ) {\n return color;\n } else if (typeof color === 'string' && color.indexOf('rgba') > -1) {\n return rgba2argb(color);\n } else if (typeof color === 'string' && color.indexOf('rgb') > -1) {\n const rgba = [...color.replace(/rgb\\(|\\)/g, '').split(','), '255'];\n return lng.StageUtils.getArgbNumber(rgba);\n }\n }\n return null;\n}\n\nfunction simplifyFraction([numerator, denominator]) {\n for (let i = numerator; i > 0; i--) {\n if (!(numerator % i) && !(denominator % i)) {\n return [numerator / i, denominator / i];\n }\n }\n}\n\n/**\n * Reduce a fraction represented as a string\n * @param {string} - a reprentation of a fraction in this format 16/9\n * @return {string} - a reduced representation of the fraction\n */\nexport function reduceFraction(string) {\n return simplifyFraction(string.split('/').map(n => +n)).join('/');\n}\n\n/**\n * Gets the value at `path` of `object`.\n * @param {object} object\n * @param {string|Array} path\n * @return {*} value if exists else undefined\n */\nexport const getValFromObjPath = (object, path) => {\n if (typeof path === 'string')\n path = path.split('.').filter(key => key.length);\n return path.reduce((dive, key) => dive && dive[key], object);\n};\n\n/**\n * Lightning uses ARGB values, use this function\n * to convert know color to Lightning value\n * https://ifpb.github.io/javascript-guide/ecma/expression-and-operator/argb.html\n */\nexport function rgba2argb(rgbaStr) {\n const rgba = rgbaStr.replace(/rgba\\(|\\)/g, '').split(',');\n // Multiple Alpha Value\n rgba[3] = rgba[3] * 255;\n return lng.StageUtils.getArgbNumber(rgba);\n}\n\nexport function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function lowercaseFirstLetter(string) {\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\n/**\n * Helpers for lng.Tools.getRoundRect\n */\nexport const RoundRect = {\n /**\n * Returns a value that will render as the given width (w)\n * when passed to lng.Tools.getRoundRect\n * @param {number} w - px value for expected width\n * @param {*} options\n * @param {number} options.padding - px value for both left and right padding\n * @param {number} options.paddingLeft - px value for left padding, overrides options.padding\n * @param {number} options.paddingRight - px value for right padding, overrides options.padding\n * @param {number} options.strokeWidth - px value for stroke width\n */\n getWidth(w, options = {}) {\n const { padding, paddingLeft, paddingRight, strokeWidth } = {\n padding: 0,\n paddingLeft: 0,\n paddingRight: 0,\n strokeWidth: 0,\n ...options\n };\n\n if (!w) return 0;\n\n return (\n w - (paddingLeft || padding) - (paddingRight || padding) - strokeWidth\n );\n },\n /**\n * Returns a value that will render as the given height (h)\n * when passed to lng.Tools.getRoundRect\n * @param {number} h - px value for expected width\n * @param {*} options\n * @param {number} options.padding - px value for both bottom and top padding\n * @param {number} options.paddingBottom - px value for bottom padding, overrides options.padding\n * @param {number} options.paddingTop - px value for top padding, overrides options.padding\n * @param {number} options.strokeWidth - px value for stroke width\n */\n getHeight(h, options = {}) {\n const { padding, paddingBottom, paddingTop, strokeWidth } = {\n padding: 0,\n paddingBottom: 0,\n paddingTop: 0,\n strokeWidth: 0,\n ...options\n };\n\n if (!h) return 0;\n\n return (\n h - (paddingBottom || padding) - (paddingTop || padding) - strokeWidth\n );\n }\n};\n\n/**\n * Merges two objects together and returns the duplicate.\n *\n * @param {object} target - object to be cloned\n * @param {object} [object] - secondary object to merge into clone\n */\nexport function clone(target, object) {\n // Make sure getters and setters are applied correctly\n const _clone = Object.create(Object.getPrototypeOf(target));\n Object.defineProperties(_clone, Object.getOwnPropertyDescriptors(target));\n if (!object || target === object) return _clone;\n\n for (const key in object) {\n const value = object[key];\n if (target.hasOwnProperty(key)) {\n _clone[key] = getMergeValue(key, target, object);\n } else {\n _clone[key] = value;\n }\n }\n\n return _clone;\n}\n\nfunction getMergeValue(key, target, object) {\n const targetVal = target[key];\n const objectVal = object[key];\n const targetValType = typeof targetVal;\n const objectValType = typeof objectVal;\n\n if (\n targetValType !== objectValType ||\n objectValType === 'function' ||\n Array.isArray(objectVal)\n ) {\n return objectVal;\n }\n\n if (objectVal && objectValType === 'object') {\n return clone(targetVal, objectVal);\n }\n\n return objectVal;\n}\n\n/**\n * Returns the rendered width of a given text texture\n * @param {object} text - text texture properties\n * @param {string} text.text - text value\n * @param {string} text.fontStyle - css font-style property\n * @param {(string|number)} text.fontWeight - css font-weight property\n * @param {string} [fontSize=0] - css font-size property (in px)\n * @param {string} [text.fontFamily=sans-serif] - css font-weight property\n * @param {string} text.fontFace - alias for fontFamily\n *\n * @return {number} text width\n * */\nexport function measureTextWidth(text = {}) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const {\n fontStyle,\n fontWeight,\n fontSize,\n fontFamily = text.fontFace || 'sans-serif'\n } = text;\n const fontCss = [\n fontStyle,\n fontWeight,\n fontSize ? `${fontSize}px` : '0',\n `'${fontFamily}'`\n ]\n .filter(Boolean)\n .join(' ');\n ctx.font = fontCss;\n const textMetrics = ctx.measureText(text.text || '');\n\n return Math.round(textMetrics.width);\n}\n\n/**\n * Returns first argument that is a number. Useful for finding ARGB numbers. Does not convert strings to numbers\n * @param {...*} number - maybe a number\n **/\nexport function getFirstNumber(...numbers) {\n return numbers.find(Number.isFinite);\n}\n\n/**\n * Naively looks for dimensional prop (i.e. w, h, x, y, etc.), first searching for\n * a transition target value then defaulting to the current set value\n * @param {string} prop - property key\n * @param {lng.Component} component - Lightning component to operate against\n */\nexport function getDimension(prop, component) {\n if (!component) return 0;\n\n const transition = component.transition(prop);\n if (transition.isRunning()) return transition.targetValue;\n\n let renderProp = prop;\n if (prop === 'w') {\n renderProp = 'renderWidth';\n } else if (prop === 'h') {\n renderProp = 'renderHeight';\n }\n return component[renderProp] || component[prop];\n}\n\nexport const getX = component => getDimension('x', component);\nexport const getY = component => getDimension('y', component);\nexport const getW = component => getDimension('w', component);\nexport const getH = component => getDimension('h', component);\n\n/**\n * Array.prototype.flat() is not supported in WPE Browser\n *\n * @param {array} arr\n *\n * @return {array}\n */\nexport function flatten(arr) {\n return arr.reduce(\n (flat, toFlatten) =>\n flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten),\n []\n );\n}\n\nexport function objectPropertyOf(object, path) {\n return path.reduce(\n (obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined),\n object\n );\n}\n\nexport function stringifyCompare(objA, objB) {\n return JSON.stringify(objA) === JSON.stringify(objB);\n}\n\nexport function delayForAnimation(callback, delay = 16) {\n setTimeout(callback, delay);\n}\n\nexport function downloadFile(content, fileName, contentType) {\n const validContentTypes = ['plain', 'json'];\n if (!validContentTypes.includes(contentType)) {\n contentType = 'plain';\n }\n const dataStr =\n `data:text/${contentType};charset=utf-8,` +\n encodeURIComponent(JSON.stringify(content));\n const dlAnchorElem = document.createElement('a');\n dlAnchorElem.setAttribute('href', dataStr);\n dlAnchorElem.setAttribute('download', fileName);\n dlAnchorElem.click();\n}\n\nexport const degreesToRadians = deg => deg * (Math.PI / 180);\n\n/**\n *\n * Markup utils\n *\n */\n\nconst MARKUP_STRING_PATTERN = /({ICON.*?}|{BADGE:.*?}|{NEWLINE}|{TEXT:.*?})/g;\n\nexport function isMarkupString(str = '') {\n if (typeof str !== 'string') {\n return false;\n }\n return MARKUP_STRING_PATTERN.test(str);\n}\n\n/**\n * Returns an array of strings and icon, badge, newline, and text objects from a string using the syntax:\n * 'This is an {ICON:<title>|<url>} and {BADGE:<title>} badge test with a {NEWLINE} newline and {TEXT:<text>|<style>}.'\n *\n * i.e. 'This is an {ICON:settings|./assets/icons/settings.png} icon and {BADGE:HD} badge with a{NEWLINE} and {TEXT:red text|red}.'\n * would create the array:\n * [\n * 'This is an ',\n * { icon: './assets/icons/settings.png', title: 'settings' },\n * ' icon and ',\n * { badge: 'HD' },\n * ' badge with a',\n * { newline: true },\n * ' and ',\n * { text: 'red text', style: 'red' },\n * '.'\n * ]\n *\n * @param {(string|object)} str\n *\n * @return {array}\n */\nexport function parseInlineContent(str = '') {\n const content = [];\n if ((str && typeof str === 'string') || str.text) {\n const string = typeof str === 'string' ? str : str.text;\n const iconRegEx = /^{ICON:(.*?)?\\|(.*?)?}$/g;\n const badgeRegEx = /^{BADGE:(.*?)}$/g;\n const newlineRegEx = /^{NEWLINE}$/g;\n const textRegEx = /^{TEXT:(.*?)?\\|(.*?)?}$/g;\n\n const splitStr = string.split(MARKUP_STRING_PATTERN);\n\n if (splitStr && splitStr.length) {\n splitStr.forEach(item => {\n let formattedItem = item;\n const badge = badgeRegEx.exec(item);\n const icon = iconRegEx.exec(item);\n const newline = newlineRegEx.exec(item);\n const text = textRegEx.exec(item);\n\n if (badge && badge[1]) {\n formattedItem = { badge: badge[1] };\n } else if (icon && icon[1]) {\n formattedItem = { title: icon[1], icon: icon[2] || icon[1] };\n } else if (newline) {\n formattedItem = { newline: true };\n } else if (text && text[1]) {\n formattedItem = { text: text[1], style: text[2] };\n }\n content.push(formattedItem);\n });\n }\n }\n return content;\n}\n\n/**\n * Given any number of arguments, returns the greatest number passed to the function.\n * If no valid numbers are passed in (ex. NaN, undefined, null), `undefined` will be returned.\n * @param {...*} arguments Any number of arguments may be passed into the function.\n *\n * @return {number|undefined} The greatest number passed in as an argument or `undefined` if no valid number was passed in.\n */\nexport function max() {\n if (!arguments) {\n return;\n }\n\n const args = Array.from(arguments).filter(arg => !isNaN(arg) && arg != null);\n\n if (!args.length) {\n return;\n }\n\n return Math.max(...args);\n}\n\n/**\n * Abstracts logic for conditionally forcing a zIndex Context on a component so that\n * any child components with zIndex are relative to it, and not the global zIndex context.\n * @param {lng.Component} component\n * @param {number} zOffset\n */\nexport function createConditionalZContext(component, zOffset) {\n if (!component.zIndex && typeof zOffset !== 'undefined' && zOffset !== 0) {\n component.forceZIndexContext = true;\n component.zIndex = 0;\n }\n}\n\n/**\n * Runs a side effect function when any values of specified properties on an element change.\n * @param {object} options - defines the `element`, `watchProps`, and `sideEffect` options\n * @param {lng.Element} options.element - Lightning element on which property changes will watched\n * @param {String[]} options.watchProps - properties that when their value changes a side effect function is invoked\n * @param {function} options.sideEffect - function to be invoked when a watched property's value changes\n * @returns {lng.Element}\n */\nexport function watchForUpdates({\n element,\n watchProps = [],\n sideEffect = () => {}\n}) {\n if (!element?.isElement) {\n logger.error(\n `watchForUpdates: Expected a Lightning Element passed to element parameter, received ${typeof element}`\n );\n }\n\n const initialOnAfterUpdate = element.__core?._onAfterUpdate;\n\n element.onAfterUpdate = function (element) {\n let hasChanged = false;\n\n watchProps.forEach(prop => {\n if (element.transition(prop) && element.transition(prop).isRunning()) {\n return;\n }\n\n const prevValueKey = `__watchPrev${prop}`;\n const nextValue = element[prop];\n\n if (nextValue !== element[prevValueKey]) {\n element[prevValueKey] = nextValue;\n hasChanged = true;\n }\n });\n\n if (hasChanged) {\n sideEffect();\n }\n\n // if an element already has an onAfterUpdate function, preserve that behavior\n if (initialOnAfterUpdate) {\n initialOnAfterUpdate(element);\n }\n }.bind(this);\n\n return element;\n}\n\n/**\n * Given a Lightning text alignment option (left, right, center),\n * return the Lightning flexbox equivalent.\n *\n * @param {string} align\n * @returns {string}\n */\nexport function convertTextAlignToFlexJustify(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n // if there is no alignment passed in, the Lightning Text default is \"left\"\n console.warn(\n `Expected \"textAlign\" values are \"left,\" \"center,\" and \"right,\" but instead, ${align} was received and will fall back to \"left.\"`\n );\n return 'flex-start';\n }\n}\n\n/**\n * Prevents user input radius from inverting.\n *\n * @param {number} user input radius\n * @param {number} width\n * @param {number} height\n * @param {number} offset\n * @return {number} max radius for object before border begins to invert\n */\nexport function getMaxRoundRadius(radius, width, height, offset = 0) {\n const maxRadius = r =>\n Math.max(0, Math.min(r, Math.min(width, height) / 2) + offset);\n return Array.isArray(radius)\n ? radius.map(r => Number(maxRadius(r)) || 0)\n : Number(maxRadius(radius)) || 0;\n}\n\nconst utils = {\n isMarkupString,\n capitalizeFirstLetter,\n degreesToRadians,\n downloadFile,\n delayForAnimation,\n stringifyCompare,\n objectPropertyOf,\n flatten,\n getDimension,\n getFirstNumber,\n measureTextWidth,\n clone,\n getMergeValue,\n RoundRect,\n rgba2argb,\n getValFromObjPath,\n reduceFraction,\n getValidColor,\n getHexColor,\n getAspectRatioH,\n getAspectRatioW,\n getWidthByUpCount,\n getDimensions,\n getWidthByColumnSpan,\n createConditionalZContext,\n watchForUpdates,\n convertTextAlignToFlexJustify,\n getMaxRoundRadius\n};\n\nexport default utils;\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/*\nCreate a Lightning Object pool and then get the component from the pool.\n\nBy default we create two objects, with expectations that one is used at a time\n\nLearn more about object pools\nhttps://egghead.io/blog/object-pool-design-pattern\n*/\n\nconst pools = new Map();\n\nfunction get(key) {\n if (pools.has(key)) {\n const pool = pools.get(key);\n let index = pool.index;\n\n if (index >= pool.components.length) {\n index = 0;\n }\n pool.index = index + 1;\n\n return pool.components[index];\n }\n\n return false;\n}\n\nfunction clear() {\n pools.clear();\n}\n\nfunction create({ name, component, stage, size = 2 }) {\n if (pools.has(name)) {\n return get(name);\n }\n\n component = component || { type: name };\n const components = [];\n for (let i = 0; i < size; i++) {\n components.push(stage.c(component));\n }\n\n pools.set(name, {\n index: 0,\n components\n });\n\n return get(name);\n}\n\nexport default {\n get,\n create,\n clear\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context } from '@lightningjs/ui-components/src';\n\n// creates an array of extensions\n// added to the theme by setTheme in themeSelect\n// const extensions = [];\n\nexport const themeSelectFromMessageEvent = event => {\n themeSelect(event.data.theme);\n};\n// called in ThemePicker\nexport const themeSelect = theme => {\n if (!theme) return;\n let targetTheme;\n switch (theme) {\n // Insert other themes to swap to here\n // Can also utilize the \"extensions\" array above to add to the theme\n default:\n targetTheme = {};\n break;\n }\n return targetTheme.name && context.theme.name !== targetTheme.name\n ? context.setTheme(targetTheme)\n : Promise.resolve();\n};\n\n// registers all window events needed on load\n// called in preview.js file\nexport const registerEventListeners = () => {\n // logger and stores themes\n context.debug = true;\n context.on('themeUpdate', () => {\n window.parent.postMessage('themeSet', '*');\n });\n\n // Prevent scrolling when navigating with arrows on canvas\n window.addEventListener(\n 'keydown',\n function (e) {\n if (\n ['Space', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].indexOf(\n e.code\n ) > -1\n ) {\n e.preventDefault();\n }\n },\n false\n );\n context.storybookCustomTheme = JSON.parse(JSON.stringify(context.theme));\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport lng from '@lightningjs/core';\nimport 'lightningInspect';\nimport {\n withAnnouncer,\n Speech,\n pool,\n context\n} from '@lightningjs/ui-components/src';\nimport { themeSelectFromMessageEvent } from './.storybook/utils/registerEvents';\n\n/**\n * creates the Lightning App and attaches it to the DOM for use in Storybook\n * @returns Lightning App\n */\nexport const createApp = parameters => {\n // Make sure app is only created once if path=/story\n if (window.top.location.search.indexOf('path=/docs/') <= -1) {\n if (window.APP) return window.APP;\n }\n\n pool.clear();\n\n const announcerOptions = {\n language: 'en-US',\n ...parameters.announcerOptions\n };\n\n const appParams = {\n stage: {\n w: 1280,\n h: 720,\n precision: 2 / 3,\n canvas2d: false,\n useImageWorker: false,\n inspector: false,\n defaultFontFace: 'XfinityStandardMedium',\n fontSharp: {\n precision: 2 / 3,\n fontSize: 12\n }\n },\n debug: true\n };\n\n window.CONTEXT = context; // Used by addons\n\n window.APP = new (class LightningUIApp extends withAnnouncer(\n lng.Application,\n Speech,\n announcerOptions\n ) {\n _construct() {\n this.announcerTimeout = 15 * 1000;\n }\n\n _attach() {\n window.addEventListener('message', themeSelectFromMessageEvent, false);\n }\n\n $storyChanged() {\n this.emit('storyChanged');\n }\n\n _getFocused() {\n return ((this.childList.first || {}).childList || {}).first || this;\n }\n })(appParams);\n document.body.appendChild(window.APP.stage.getCanvas());\n return window.APP;\n};\n\nexport const clearInspector = () => {\n // Clear any lightning inspector info\n if (document.querySelectorAll('[type=StoryApp]').length > 1) {\n const div = document.querySelector('[type=StoryApp]');\n div && div.parentNode.remove();\n }\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n GridOverlay,\n context,\n utils,\n TextBox\n} from '@lightningjs/ui-components/src';\nimport { createApp, clearInspector } from '../../../index';\n\nlet previousID = null;\nlet remountProps = {};\n\n/**\n * returns true if any of the following are true\n * - if the selected story changed\n * - parameters.remountAll is true on the story\n * - an arg changes an its associated argType has a remount property set to true\n * @returns boolean of if the story component should remount\n */\nfunction shouldTriggerUpdate({ id, args, argTypes, parameters }) {\n const storyChanged = previousID !== id;\n let triggerUpdate = storyChanged;\n previousID = id;\n\n // create remountProps object to track which props should trigger remounting\n if (storyChanged) {\n remountProps = {};\n if (parameters.remountAll) {\n // track all props except mode for triggering remount\n Object.keys(args).forEach(key => {\n if (key === 'mode') {\n return;\n }\n remountProps[key] = args[key];\n });\n } else {\n // track only props with truthy remount property on their associated argType\n Object.keys(argTypes).forEach(key => {\n if (argTypes[key].remount) {\n remountProps[key] = args[key];\n }\n });\n }\n }\n\n // evaluate if any props tracked in remountProps changed and should trigger a remount\n Object.keys(remountProps).forEach(key => {\n if (remountProps[key] !== args[key]) {\n triggerUpdate = true;\n remountProps[key] = args[key];\n }\n });\n\n return triggerUpdate;\n}\n\n/** creates a global decorator that creates a single instance of the Lightning app */\n\nexport const withLightning = (\n StoryComponent,\n { id, args, argTypes, parameters, globals }\n) => {\n /**\n * the Lightning Element in the 'dom'\n */\n const app = createApp({ theme: globals.LUITheme });\n clearInspector();\n app.announcerEnabled = globals.announce;\n app.debug = globals.announce;\n // toggle stage color\n !globals.stageColor\n ? app.stage.setClearColor(utils.getValidColor('#21232A'))\n : app.stage.setClearColor(utils.getValidColor('#cccccc'));\n\n // // If an update is required patch in the new child element\n if (shouldTriggerUpdate({ id, args, argTypes, parameters })) {\n app.childList.clear();\n app.childList.a({\n StoryComponent: {\n type: class extends StoryComponent() {\n static _states() {\n return [\n class ModeUnfocusState extends this {\n _getFocused() {\n return this;\n }\n },\n class ModeFocusState extends this {\n _getFocused() {\n return this.componentTarget; // Text Element\n }\n }\n ];\n }\n // FIXME: Assess what config.optimization.minimize is doing different in production vs develop - this was prior to v7 upgrade\n get componentTarget() {\n // using this check on type Element because production vs develop build issue\n return this.childList.first instanceof lng.Component\n ? this.childList.first\n : this;\n }\n _init() {\n if (this.componentTarget) {\n // Notify application every time the style is updated. Used for componentStyles panel\n this.componentTarget.on('styleUpdated', () => {\n //FIXME: why are we setting this time out here and in setup?\n setTimeout(() => {\n this.fireAncestors('$storyChanged');\n });\n });\n }\n super._init();\n this._refocus(); // Force Lightning to reset focus\n }\n _setup() {\n // This ensures the component has its args before the first update cycle.\n if (Object.keys(args).length) {\n const argsToPatch = {};\n for (const prop in args) {\n // Apply arguments from controls\n const propValue =\n 'undefined' !== typeof args[prop]\n ? args[prop]\n : parameters.argTypes[prop].defaultValue;\n if (!parameters.argActions || !parameters.argActions[prop]) {\n argsToPatch[prop] = propValue;\n }\n }\n this.componentTarget.patch({\n ...argsToPatch\n });\n }\n\n setTimeout(() => {\n this.fireAncestors('$storyChanged');\n });\n }\n },\n w: w => w,\n h: h => h,\n x: context.theme.layout.marginX,\n y: context.theme.layout.marginY\n }\n });\n app._refocus();\n }\n\n // sets mode\n app\n .tag('StoryComponent')\n ._setState(\n !args.mode || (args.mode && args.mode === 'focused')\n ? 'ModeFocusState'\n : 'ModeUnfocusState'\n );\n //forces position update on theme change instead of just when triggerUpdate is true\n context.on('themeUpdate', () => {\n app.tag('StoryComponent') &&\n app.tag('StoryComponent').patch(\n parameters.storyDetails\n ? {\n x: context.theme.layout.marginX\n }\n : {\n x: context.theme.layout.marginX,\n y: context.theme.layout.marginY\n }\n );\n });\n if (!app.tag('GridOverlay')) {\n app.childList.a({ GridOverlay: { type: GridOverlay, zIndex: 100 } });\n }\n app.tag('GridOverlay').patch({\n // do not render this on top of the actual GridOverlay component's story\n alpha: id.includes('gridoverlay')\n ? 0\n : parseFloat(globals['GridOverlay-alpha']),\n showColumns: globals['GridOverlay-toggle-showColumns'] === 'true',\n showMargins: globals['GridOverlay-toggle-showMargins'] === 'true',\n showSafe: globals['GridOverlay-toggle-showSafe'] === 'true',\n showGutters: globals['GridOverlay-toggle-showGutters'] === 'true',\n showText: globals['GridOverlay-toggle-showText'] === 'true'\n });\n\n // add optional story description to the canvas\n if (parameters.storyDetails) {\n if (!app.tag('StoryDetails')) {\n const StoryDetails = {\n StoryDetails: {\n type: TextBox,\n content: parameters.storyDetails,\n style: {\n textStyle: {\n wordWrapWidth:\n context.theme.layout.screenW - context.theme.spacer.sm * 2\n }\n },\n x: context.theme.spacer.sm,\n y: context.theme.spacer.sm,\n onAfterUpdate: ({ y, h }) => {\n if (h > context.theme.layout.marginY) {\n app.tag('StoryComponent').y = y + h + context.theme.spacer.xl;\n }\n }\n }\n };\n app.childList.a(StoryDetails);\n }\n\n app.tag('StoryDetails').patch({ content: parameters.storyDetails });\n }\n\n /**\n * the first child under StoryComponent\n */\n const LightningUIComponent = app.tag('StoryComponent').childList.first;\n\n if (LightningUIComponent && Object.keys(args).length) {\n for (const prop in args) {\n // Apply arguments from controls\n const propValue =\n 'undefined' !== typeof args[prop]\n ? args[prop]\n : parameters.argTypes[prop].defaultValue;\n if (!parameters.argActions || !parameters.argActions[prop]) {\n LightningUIComponent[prop] = propValue;\n }\n }\n }\n // applying argAction\n if (\n LightningUIComponent &&\n parameters.argActions &&\n Object.keys(parameters.argActions).length\n ) {\n for (const prop in parameters.argActions) {\n if ('function' === typeof parameters.argActions[prop]) {\n try {\n parameters.argActions[prop](args[prop], app.tag('StoryComponent'));\n } catch (err) {\n console.error('unable to apply argAction for ' + prop);\n }\n }\n }\n return app.getCanvas();\n }\n return app.stage.getCanvas();\n};\n","/**\n * Copyright 2023 Comcast Cable Communications Management, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// these two lines need to be in this order\n// to wait until the inspector is enabled before attaching it\nimport { withLightning } from './addons/decorators/withLightning';\nimport { registerEventListeners, themeSelect } from './utils/registerEvents';\nimport { themes } from '@storybook/theming';\n\n// loads window event listeners\nregisterEventListeners();\n/**\n * custom global props that can be accessed in decorators and add-ons\n * globalTypes can only be set in preview.js\n * @see https://storybook.js.org/docs/react/essentials/toolbars-and-globals#globals\n */\nconst preview = {\n parameters: {\n actions: { argTypesRegex: '^on.*' },\n backgrounds: {\n disable: true\n },\n controls: {\n hideNoControlsWarning: true,\n expanded: true,\n sort: 'requiredFirst'\n },\n docs: {\n theme: themes.dark,\n argTypes: {\n sort: 'alpha',\n exclude: ['mode']\n }\n },\n options: {\n /** NOTE: v7 storySort must be self-contained function & no reference to outside variables\n https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#v7-style-story-sort\n */\n storySort: {\n method: 'alphabetical',\n order: [\n 'Docs',\n [\n 'Introduction',\n 'Read Me',\n 'Base',\n 'Contributing',\n 'Lightning Resources',\n 'Lightning Community Guide',\n 'Theming',\n [\n 'Overview',\n 'Component Config',\n 'Tones',\n 'Modes',\n 'Extensions',\n 'Subtheming',\n 'Use in Storybook',\n 'Theme Properties',\n '*'\n ],\n 'Unit Testing',\n [\n 'Overview',\n 'Test Renderer',\n 'Test Utils',\n ['makeCreateComponent', '*']\n ]\n ],\n 'Collections',\n 'Utilities',\n 'Components',\n 'Patterns',\n 'Templates'\n ]\n }\n }\n },\n globalTypes: {\n LUITheme: {\n name: 'Theme',\n description: 'Theme select',\n defaultValue: 'base'\n },\n 'GridOverlay-alpha': {\n defaultValue: '0'\n },\n 'GridOverlay-toggle-showColumns': {\n defaultValue: 'true'\n },\n 'GridOverlay-toggle-showMargins': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showSafe': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showGutters': {\n defaultValue: 'false'\n },\n 'GridOverlay-toggle-showText': {\n defaultValue: 'false'\n },\n announce: {\n defaultValue: false\n },\n stageColor: {\n defaultValue: false\n }\n },\n decorators: [withLightning],\n loaders: [\n async ({ globals }) => {\n await themeSelect(globals.LUITheme);\n return;\n }\n ]\n};\nexport default preview;\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = \"../../../node_modules/@storybook/core/dist/theming sync recursive\";\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./Overview.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/Overview.mdx\",\n\t\t5600,\n\t\t9436\n\t],\n\t\"./TestRenderer/create.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestRenderer/create.mdx\",\n\t\t5600,\n\t\t7557\n\t],\n\t\"./TestRenderer/toJSON.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestRenderer/toJSON.mdx\",\n\t\t5600,\n\t\t2012\n\t],\n\t\"./TestUtils/completeAnimation.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/completeAnimation.mdx\",\n\t\t5600,\n\t\t9738\n\t],\n\t\"./TestUtils/fastForward.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/fastForward.mdx\",\n\t\t5600,\n\t\t4942\n\t],\n\t\"./TestUtils/makeCreateComponent.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/makeCreateComponent.mdx\",\n\t\t5600,\n\t\t1200\n\t],\n\t\"./TestUtils/nextTick.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/TestUtils/nextTick.mdx\",\n\t\t5600,\n\t\t9221\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components-test-utils/src/docs lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components-test-utils\\\\/src\\\\/docs(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Overview.mdx\": [\n\t\t\"../../@lightningjs/ui-components-test-utils/src/docs/Overview.mdx\",\n\t\t5600,\n\t\t9436\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components-test-utils/src/docs lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components-test-utils\\\\/src\\\\/docs\\\\/(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./components/Artwork/Artwork.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.mdx\",\n\t\t5600,\n\t\t1930,\n\t\t3121\n\t],\n\t\"./components/Badge/Badge.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.mdx\",\n\t\t5600,\n\t\t1185\n\t],\n\t\"./components/Button/Button.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.mdx\",\n\t\t5600,\n\t\t463\n\t],\n\t\"./components/Card/Card.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.mdx\",\n\t\t5600,\n\t\t8007\n\t],\n\t\"./components/Card/CardRadio.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t9172\n\t],\n\t\"./components/Card/CardSection.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t7972\n\t],\n\t\"./components/Card/CardTitle.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.mdx\",\n\t\t5600,\n\t\t3878,\n\t\t9983\n\t],\n\t\"./components/CardContent/CardContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5225\n\t],\n\t\"./components/Checkbox/Checkbox.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.mdx\",\n\t\t5600,\n\t\t669\n\t],\n\t\"./components/Column/Column.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341,\n\t\t6243\n\t],\n\t\"./components/Control/Control.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.mdx\",\n\t\t5600,\n\t\t4165\n\t],\n\t\"./components/ControlRow/ControlRow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t8237\n\t],\n\t\"./components/FocusManager/FocusManager.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7633\n\t],\n\t\"./components/Gradient/Gradient.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.mdx\",\n\t\t5600,\n\t\t9367\n\t],\n\t\"./components/GridOverlay/GridOverlay.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.mdx\",\n\t\t5600,\n\t\t9153\n\t],\n\t\"./components/Icon/Icon.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.mdx\",\n\t\t5600,\n\t\t3901\n\t],\n\t\"./components/InlineContent/InlineContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.mdx\",\n\t\t5600,\n\t\t377\n\t],\n\t\"./components/Input/Input.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2363,\n\t\t8593\n\t],\n\t\"./components/Key/Key.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t3069,\n\t\t8901\n\t],\n\t\"./components/Keyboard/Keyboard.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.mdx\",\n\t\t5600,\n\t\t8613\n\t],\n\t\"./components/Knob/Knob.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.mdx\",\n\t\t5600,\n\t\t3211\n\t],\n\t\"./components/Label/Label.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.mdx\",\n\t\t5600,\n\t\t8601\n\t],\n\t\"./components/ListItem/ListItem.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2067,\n\t\t9529\n\t],\n\t\"./components/ListItem/ListItemPicker.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2067,\n\t\t5316,\n\t\t6391\n\t],\n\t\"./components/ListItem/ListItemSlider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t4042,\n\t\t2067,\n\t\t3245,\n\t\t5146\n\t],\n\t\"./components/Marquee/Marquee.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.mdx\",\n\t\t5600,\n\t\t8189\n\t],\n\t\"./components/MetadataBase/MetadataBase.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t6923\n\t],\n\t\"./components/MetadataCard/MetadataCard.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t3645\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t6915,\n\t\t7365\n\t],\n\t\"./components/MetadataTile/MetadataTile.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t4077\n\t],\n\t\"./components/NavigationManager/NavigationManager.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t8965\n\t],\n\t\"./components/ProgressBar/ProgressBar.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.mdx\",\n\t\t5600,\n\t\t7809\n\t],\n\t\"./components/Provider/Provider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.mdx\",\n\t\t5600,\n\t\t997\n\t],\n\t\"./components/Radio/Radio.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.mdx\",\n\t\t5600,\n\t\t8225\n\t],\n\t\"./components/Row/Row.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t1323,\n\t\t6361\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t1137\n\t],\n\t\"./components/Shadow/Shadow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.mdx\",\n\t\t5600,\n\t\t3879\n\t],\n\t\"./components/Slider/Slider.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.mdx\",\n\t\t5600,\n\t\t7525\n\t],\n\t\"./components/Surface/Surface.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.mdx\",\n\t\t5600,\n\t\t8057\n\t],\n\t\"./components/TabBar/Tab.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.mdx\",\n\t\t5600,\n\t\t9023,\n\t\t4996\n\t],\n\t\"./components/TabBar/TabBar.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t643\n\t],\n\t\"./components/TextBox/TextBox.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.mdx\",\n\t\t5600,\n\t\t3865\n\t],\n\t\"./components/Tile/Tile.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3963\n\t],\n\t\"./components/TitleRow/TitleRow.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t6739\n\t],\n\t\"./components/Toggle/Toggle.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.mdx\",\n\t\t5600,\n\t\t7043\n\t],\n\t\"./components/Tooltip/Tooltip.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t2833\n\t],\n\t\"./docs/Base.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Base.mdx\",\n\t\t5600,\n\t\t9382\n\t],\n\t\"./docs/Introduction.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Introduction.mdx\",\n\t\t5600,\n\t\t3485\n\t],\n\t\"./docs/LightningCommunityGuide.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/LightningCommunityGuide.mdx\",\n\t\t5600,\n\t\t2000\n\t],\n\t\"./docs/LightningResources.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/LightningResources.mdx\",\n\t\t5600,\n\t\t6636\n\t],\n\t\"./docs/Storybook.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Storybook.mdx\",\n\t\t5600,\n\t\t879\n\t],\n\t\"./docs/Theming.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/Theming.mdx\",\n\t\t5600,\n\t\t6681\n\t],\n\t\"./docs/ThemingAttributes.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingAttributes.mdx\",\n\t\t5600,\n\t\t7538\n\t],\n\t\"./docs/ThemingComponentConfig.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingComponentConfig.mdx\",\n\t\t5600,\n\t\t696\n\t],\n\t\"./docs/ThemingExtensions.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingExtensions.mdx\",\n\t\t5600,\n\t\t2851\n\t],\n\t\"./docs/ThemingHierarchy.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingHierarchy.mdx\",\n\t\t5600,\n\t\t7190\n\t],\n\t\"./docs/ThemingMode.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingMode.mdx\",\n\t\t5600,\n\t\t7468\n\t],\n\t\"./docs/ThemingStorybook.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingStorybook.mdx\",\n\t\t5600,\n\t\t8543\n\t],\n\t\"./docs/ThemingSubTheming.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingSubTheming.mdx\",\n\t\t5600,\n\t\t4713\n\t],\n\t\"./docs/ThemingTone.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingTone.mdx\",\n\t\t5600,\n\t\t8773\n\t],\n\t\"./docs/ThemingTutorial.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingTutorial.mdx\",\n\t\t5600,\n\t\t6711\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t5715\n\t],\n\t\"./mixins/withClassCache/withClassCache.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withClassCache/withClassCache.mdx\",\n\t\t5600,\n\t\t1105\n\t],\n\t\"./mixins/withEditItems/withEditItems.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t1323,\n\t\t2555\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3515\n\t],\n\t\"./mixins/withLayout/withLayout.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4433\n\t],\n\t\"./mixins/withLongPress/withLongPress.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.mdx\",\n\t\t5600,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3195\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.mdx\",\n\t\t5600,\n\t\t1587\n\t],\n\t\"./mixins/withSelections/withSelections.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.mdx\",\n\t\t5600,\n\t\t5338,\n\t\t5675\n\t],\n\t\"./mixins/withTags/withTags.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.mdx\",\n\t\t5600,\n\t\t8651\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.mdx\",\n\t\t5600,\n\t\t4947\n\t],\n\t\"./mixins/withUpdates/withUpdates.mdx\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.mdx\",\n\t\t5600,\n\t\t4899\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components/src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components\\\\/src(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./components/Artwork/Artwork.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.stories.js\",\n\t\t1930,\n\t\t5139\n\t],\n\t\"./components/Artwork/Artwork.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Artwork/Artwork.stories.js\",\n\t\t1930,\n\t\t5139\n\t],\n\t\"./components/Badge/Badge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.stories.js\",\n\t\t291\n\t],\n\t\"./components/Badge/Badge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Badge/Badge.stories.js\",\n\t\t291\n\t],\n\t\"./components/Button/Button.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.stories.js\",\n\t\t5338,\n\t\t7721\n\t],\n\t\"./components/Button/Button.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/Button.stories.js\",\n\t\t5338,\n\t\t7721\n\t],\n\t\"./components/Button/ButtonSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/ButtonSmall.stories.js\",\n\t\t5338,\n\t\t6610\n\t],\n\t\"./components/Button/ButtonSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Button/ButtonSmall.stories.js\",\n\t\t5338,\n\t\t6610\n\t],\n\t\"./components/Card/Card.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.stories.js\",\n\t\t3878,\n\t\t2513\n\t],\n\t\"./components/Card/Card.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/Card.stories.js\",\n\t\t3878,\n\t\t2513\n\t],\n\t\"./components/Card/CardRadio.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.stories.js\",\n\t\t3878,\n\t\t9134\n\t],\n\t\"./components/Card/CardRadio.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardRadio.stories.js\",\n\t\t3878,\n\t\t9134\n\t],\n\t\"./components/Card/CardSection.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.stories.js\",\n\t\t3878,\n\t\t5278\n\t],\n\t\"./components/Card/CardSection.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardSection.stories.js\",\n\t\t3878,\n\t\t5278\n\t],\n\t\"./components/Card/CardTitle.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.stories.js\",\n\t\t3878,\n\t\t1977\n\t],\n\t\"./components/Card/CardTitle.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Card/CardTitle.stories.js\",\n\t\t3878,\n\t\t1977\n\t],\n\t\"./components/CardContent/CardContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11\n\t],\n\t\"./components/CardContent/CardContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContent.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11\n\t],\n\t\"./components/CardContent/CardContentHorizontal.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontal.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5367\n\t],\n\t\"./components/CardContent/CardContentHorizontal.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontal.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t5367\n\t],\n\t\"./components/CardContent/CardContentHorizontalLarge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontalLarge.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t9856\n\t],\n\t\"./components/CardContent/CardContentHorizontalLarge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentHorizontalLarge.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t9856\n\t],\n\t\"./components/CardContent/CardContentVertical.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVertical.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t4485\n\t],\n\t\"./components/CardContent/CardContentVertical.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVertical.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t4485\n\t],\n\t\"./components/CardContent/CardContentVerticalSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVerticalSmall.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t238\n\t],\n\t\"./components/CardContent/CardContentVerticalSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/CardContent/CardContentVerticalSmall.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t3878,\n\t\t6915,\n\t\t11,\n\t\t238\n\t],\n\t\"./components/Checkbox/Checkbox.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.stories.js\",\n\t\t6151\n\t],\n\t\"./components/Checkbox/Checkbox.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/Checkbox.stories.js\",\n\t\t6151\n\t],\n\t\"./components/Checkbox/CheckboxSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/CheckboxSmall.stories.js\",\n\t\t8040\n\t],\n\t\"./components/Checkbox/CheckboxSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Checkbox/CheckboxSmall.stories.js\",\n\t\t8040\n\t],\n\t\"./components/Column/Column.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341\n\t],\n\t\"./components/Column/Column.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Column/Column.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2341\n\t],\n\t\"./components/Control/Control.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.stories.js\",\n\t\t5338,\n\t\t6095\n\t],\n\t\"./components/Control/Control.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/Control.stories.js\",\n\t\t5338,\n\t\t6095\n\t],\n\t\"./components/Control/ControlSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/ControlSmall.stories.js\",\n\t\t5338,\n\t\t1735,\n\t\t2368\n\t],\n\t\"./components/Control/ControlSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Control/ControlSmall.stories.js\",\n\t\t5338,\n\t\t1735,\n\t\t2368\n\t],\n\t\"./components/ControlRow/ControlRow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t4759\n\t],\n\t\"./components/ControlRow/ControlRow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ControlRow/ControlRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t1735,\n\t\t4759\n\t],\n\t\"./components/FocusManager/FocusManager.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.stories.js\",\n\t\t5338,\n\t\t9251\n\t],\n\t\"./components/FocusManager/FocusManager.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/FocusManager/FocusManager.stories.js\",\n\t\t5338,\n\t\t9251\n\t],\n\t\"./components/Gradient/Gradient.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.stories.js\",\n\t\t289\n\t],\n\t\"./components/Gradient/Gradient.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Gradient/Gradient.stories.js\",\n\t\t289\n\t],\n\t\"./components/GridOverlay/GridOverlay.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.stories.js\",\n\t\t4179\n\t],\n\t\"./components/GridOverlay/GridOverlay.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/GridOverlay/GridOverlay.stories.js\",\n\t\t4179\n\t],\n\t\"./components/Icon/Icon.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.stories.js\",\n\t\t8311\n\t],\n\t\"./components/Icon/Icon.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Icon/Icon.stories.js\",\n\t\t8311\n\t],\n\t\"./components/InlineContent/InlineContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.stories.js\",\n\t\t9627\n\t],\n\t\"./components/InlineContent/InlineContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/InlineContent/InlineContent.stories.js\",\n\t\t9627\n\t],\n\t\"./components/Input/Input.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.stories.js\",\n\t\t5338,\n\t\t2363,\n\t\t6115\n\t],\n\t\"./components/Input/Input.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Input/Input.stories.js\",\n\t\t5338,\n\t\t2363,\n\t\t6115\n\t],\n\t\"./components/Key/Key.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t2639\n\t],\n\t\"./components/Key/Key.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Key/Key.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t2639\n\t],\n\t\"./components/Keyboard/Keyboard.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575\n\t],\n\t\"./components/Keyboard/Keyboard.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/Keyboard.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575\n\t],\n\t\"./components/Keyboard/KeyboardEmail.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardEmail.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t1677\n\t],\n\t\"./components/Keyboard/KeyboardEmail.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardEmail.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t1677\n\t],\n\t\"./components/Keyboard/KeyboardFullscreen.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardFullscreen.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8892\n\t],\n\t\"./components/Keyboard/KeyboardFullscreen.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardFullscreen.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8892\n\t],\n\t\"./components/Keyboard/KeyboardInput.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardInput.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2363,\n\t\t2649\n\t],\n\t\"./components/Keyboard/KeyboardInput.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardInput.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2363,\n\t\t2649\n\t],\n\t\"./components/Keyboard/KeyboardNumbers.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardNumbers.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t6691\n\t],\n\t\"./components/Keyboard/KeyboardNumbers.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardNumbers.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t6691\n\t],\n\t\"./components/Keyboard/KeyboardQwerty.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardQwerty.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8035\n\t],\n\t\"./components/Keyboard/KeyboardQwerty.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardQwerty.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t8035\n\t],\n\t\"./components/Keyboard/KeyboardSearch.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardSearch.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2643\n\t],\n\t\"./components/Keyboard/KeyboardSearch.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Keyboard/KeyboardSearch.stories.js\",\n\t\t5338,\n\t\t3069,\n\t\t8575,\n\t\t2643\n\t],\n\t\"./components/Knob/Knob.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.stories.js\",\n\t\t1661\n\t],\n\t\"./components/Knob/Knob.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Knob/Knob.stories.js\",\n\t\t1661\n\t],\n\t\"./components/Label/Label.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.stories.js\",\n\t\t6747\n\t],\n\t\"./components/Label/Label.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Label/Label.stories.js\",\n\t\t6747\n\t],\n\t\"./components/ListItem/ListItem.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.stories.js\",\n\t\t5338,\n\t\t2067,\n\t\t4827\n\t],\n\t\"./components/ListItem/ListItem.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItem.stories.js\",\n\t\t5338,\n\t\t2067,\n\t\t4827\n\t],\n\t\"./components/ListItem/ListItemPicker.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.stories.js\",\n\t\t5338,\n\t\t5316,\n\t\t5137\n\t],\n\t\"./components/ListItem/ListItemPicker.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemPicker.stories.js\",\n\t\t5338,\n\t\t5316,\n\t\t5137\n\t],\n\t\"./components/ListItem/ListItemSlider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.stories.js\",\n\t\t5338,\n\t\t4042,\n\t\t3245,\n\t\t4188\n\t],\n\t\"./components/ListItem/ListItemSlider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ListItem/ListItemSlider.stories.js\",\n\t\t5338,\n\t\t4042,\n\t\t3245,\n\t\t4188\n\t],\n\t\"./components/Marquee/Marquee.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.stories.js\",\n\t\t6423\n\t],\n\t\"./components/Marquee/Marquee.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Marquee/Marquee.stories.js\",\n\t\t6423\n\t],\n\t\"./components/MetadataBase/MetadataBase.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.stories.js\",\n\t\t7679,\n\t\t9725\n\t],\n\t\"./components/MetadataBase/MetadataBase.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataBase/MetadataBase.stories.js\",\n\t\t7679,\n\t\t9725\n\t],\n\t\"./components/MetadataCard/MetadataCard.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.stories.js\",\n\t\t7679,\n\t\t1655\n\t],\n\t\"./components/MetadataCard/MetadataCard.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCard/MetadataCard.stories.js\",\n\t\t7679,\n\t\t1655\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.stories.js\",\n\t\t7679,\n\t\t6915,\n\t\t287\n\t],\n\t\"./components/MetadataCardContent/MetadataCardContent.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataCardContent/MetadataCardContent.stories.js\",\n\t\t7679,\n\t\t6915,\n\t\t287\n\t],\n\t\"./components/MetadataTile/MetadataTile.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.stories.js\",\n\t\t7679,\n\t\t983\n\t],\n\t\"./components/MetadataTile/MetadataTile.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/MetadataTile/MetadataTile.stories.js\",\n\t\t7679,\n\t\t983\n\t],\n\t\"./components/NavigationManager/NavigationManager.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.stories.js\",\n\t\t5338,\n\t\t7807\n\t],\n\t\"./components/NavigationManager/NavigationManager.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/NavigationManager/NavigationManager.stories.js\",\n\t\t5338,\n\t\t7807\n\t],\n\t\"./components/ProgressBar/ProgressBar.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.stories.js\",\n\t\t5427\n\t],\n\t\"./components/ProgressBar/ProgressBar.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ProgressBar/ProgressBar.stories.js\",\n\t\t5427\n\t],\n\t\"./components/Provider/Provider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.stories.js\",\n\t\t3327\n\t],\n\t\"./components/Provider/Provider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Provider/Provider.stories.js\",\n\t\t3327\n\t],\n\t\"./components/Radio/Radio.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.stories.js\",\n\t\t547\n\t],\n\t\"./components/Radio/Radio.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/Radio.stories.js\",\n\t\t547\n\t],\n\t\"./components/Radio/RadioSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/RadioSmall.stories.js\",\n\t\t2932\n\t],\n\t\"./components/Radio/RadioSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Radio/RadioSmall.stories.js\",\n\t\t2932\n\t],\n\t\"./components/Row/Row.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.stories.js\",\n\t\t5338,\n\t\t1323\n\t],\n\t\"./components/Row/Row.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Row/Row.stories.js\",\n\t\t5338,\n\t\t1323\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t7987\n\t],\n\t\"./components/ScrollWrapper/ScrollWrapper.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/ScrollWrapper/ScrollWrapper.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4042,\n\t\t7987\n\t],\n\t\"./components/Shadow/Shadow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.stories.js\",\n\t\t3153\n\t],\n\t\"./components/Shadow/Shadow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Shadow/Shadow.stories.js\",\n\t\t3153\n\t],\n\t\"./components/Slider/Slider.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.stories.js\",\n\t\t4042,\n\t\t3375\n\t],\n\t\"./components/Slider/Slider.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/Slider.stories.js\",\n\t\t4042,\n\t\t3375\n\t],\n\t\"./components/Slider/SliderLarge.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/SliderLarge.stories.js\",\n\t\t4042,\n\t\t8232\n\t],\n\t\"./components/Slider/SliderLarge.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Slider/SliderLarge.stories.js\",\n\t\t4042,\n\t\t8232\n\t],\n\t\"./components/Surface/Surface.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.stories.js\",\n\t\t7771\n\t],\n\t\"./components/Surface/Surface.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Surface/Surface.stories.js\",\n\t\t7771\n\t],\n\t\"./components/TabBar/Tab.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.stories.js\",\n\t\t9023,\n\t\t46\n\t],\n\t\"./components/TabBar/Tab.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/Tab.stories.js\",\n\t\t9023,\n\t\t46\n\t],\n\t\"./components/TabBar/TabBar.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t8197\n\t],\n\t\"./components/TabBar/TabBar.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TabBar/TabBar.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t9023,\n\t\t8197\n\t],\n\t\"./components/TextBox/TextBox.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.stories.js\",\n\t\t8027\n\t],\n\t\"./components/TextBox/TextBox.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TextBox/TextBox.stories.js\",\n\t\t8027\n\t],\n\t\"./components/Tile/Tile.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2877\n\t],\n\t\"./components/Tile/Tile.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tile/Tile.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t2877\n\t],\n\t\"./components/TitleRow/TitleRow.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t9861\n\t],\n\t\"./components/TitleRow/TitleRow.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/TitleRow/TitleRow.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t1323,\n\t\t9861\n\t],\n\t\"./components/Toggle/Toggle.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.stories.js\",\n\t\t7061\n\t],\n\t\"./components/Toggle/Toggle.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/Toggle.stories.js\",\n\t\t7061\n\t],\n\t\"./components/Toggle/ToggleSmall.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/ToggleSmall.stories.js\",\n\t\t5358\n\t],\n\t\"./components/Toggle/ToggleSmall.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Toggle/ToggleSmall.stories.js\",\n\t\t5358\n\t],\n\t\"./components/Tooltip/Tooltip.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.stories.js\",\n\t\t5338,\n\t\t9459\n\t],\n\t\"./components/Tooltip/Tooltip.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/components/Tooltip/Tooltip.stories.js\",\n\t\t5338,\n\t\t9459\n\t],\n\t\"./docs/ThemingFoundations.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingFoundations.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t6491\n\t],\n\t\"./docs/ThemingFoundations.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/docs/ThemingFoundations.stories.js\",\n\t\t5338,\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t6491\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.stories.js\",\n\t\t5338,\n\t\t133\n\t],\n\t\"./mixins/withAnnouncer/withAnnouncer.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withAnnouncer/withAnnouncer.stories.js\",\n\t\t5338,\n\t\t133\n\t],\n\t\"./mixins/withEditItems/withEditItems.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.stories.js\",\n\t\t5338,\n\t\t1323,\n\t\t3597\n\t],\n\t\"./mixins/withEditItems/withEditItems.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withEditItems/withEditItems.stories.js\",\n\t\t5338,\n\t\t1323,\n\t\t3597\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4637\n\t],\n\t\"./mixins/withHandleKey/withHandleKey.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withHandleKey/withHandleKey.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4637\n\t],\n\t\"./mixins/withLayout/withLayout.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4563\n\t],\n\t\"./mixins/withLayout/withLayout.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLayout/withLayout.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4563\n\t],\n\t\"./mixins/withLongPress/withLongPress.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4877\n\t],\n\t\"./mixins/withLongPress/withLongPress.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withLongPress/withLongPress.stories.js\",\n\t\t7679,\n\t\t1930,\n\t\t8527,\n\t\t4877\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.stories.js\",\n\t\t1909\n\t],\n\t\"./mixins/withMarqueeSync/withMarqueeSync.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withMarqueeSync/withMarqueeSync.stories.js\",\n\t\t1909\n\t],\n\t\"./mixins/withSelections/withSelections.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.stories.js\",\n\t\t5338,\n\t\t8477\n\t],\n\t\"./mixins/withSelections/withSelections.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withSelections/withSelections.stories.js\",\n\t\t5338,\n\t\t8477\n\t],\n\t\"./mixins/withTags/withTags.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.stories.js\",\n\t\t6282\n\t],\n\t\"./mixins/withTags/withTags.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withTags/withTags.stories.js\",\n\t\t6282\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.stories.js\",\n\t\t9285\n\t],\n\t\"./mixins/withThemeStyles/withThemeStyles.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withThemeStyles/withThemeStyles.stories.js\",\n\t\t9285\n\t],\n\t\"./mixins/withUpdates/withUpdates.stories\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.stories.js\",\n\t\t8853\n\t],\n\t\"./mixins/withUpdates/withUpdates.stories.js\": [\n\t\t\"../../@lightningjs/ui-components/src/mixins/withUpdates/withUpdates.stories.js\",\n\t\t8853\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"../../@lightningjs/ui-components/src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/@lightningjs\\\\/ui-components\\\\/src(?:\\\\/(?%21\\\\.)(?:(?:(?%21(?:^%7C\\\\/)\\\\.).)*?)\\\\/%7C\\\\/%7C$)(?%21\\\\.)(?=.)[^/]*?\\\\.stories\\\\.(js%7Cjsx%7Cts%7Ctsx))$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Contributing.mdx\": [\n\t\t\"./src/Contributing.mdx\",\n\t\t5600,\n\t\t4073\n\t],\n\t\"./Readme.mdx\": [\n\t\t\"./src/Readme.mdx\",\n\t\t5600,\n\t\t7511\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./src lazy recursive ^\\\\.\\\\/.*$ include: (?%21.*node_modules)(?:\\\\/src\\\\/(?%21\\\\.)(?=.)[^/]*?\\\\.mdx)$\";\nmodule.exports = webpackAsyncContext;","const pipeline = (x) => x();\n\nconst importers = [\n async (path) => {\n if (!/^\\.[\\\\/](?:src\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(6);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/src\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n './src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(37);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components/src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(37);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components\\/src(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$/ */\n '../../@lightningjs/ui-components/src/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(53);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs\\/(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components-test-utils/src/docs/' + pathRemainder\n );\n }\n ,\n async (path) => {\n if (!/^(?:\\.\\.\\/\\.\\.\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/.exec(path)) {\n return;\n }\n \n const pathRemainder = path.substring(53);\n return import(\n /* webpackChunkName: \"[request]\" */\n /* webpackInclude: /(?!.*node_modules)(?:\\/@lightningjs\\/ui-components-test-utils\\/src\\/docs(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.mdx)$/ */\n '../../@lightningjs/ui-components-test-utils/src/docs/' + pathRemainder\n );\n }\n \n];\n\nexport async function importFn(path) {\n for (let i = 0; i < importers.length; i++) {\n const moduleExports = await pipeline(() => importers[i](path));\n if (moduleExports) {\n return moduleExports;\n }\n }\n}","import { global } from '@storybook/global';\n\nimport { ClientApi, PreviewWeb, addons, composeConfigs } from 'storybook/internal/preview-api';\nimport { createBrowserChannel } from 'storybook/internal/channels';\n\nimport { importFn } from './storybook-stories.js';\n\nconst getProjectAnnotations = () =>\ncomposeConfigs([require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview-docs.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/actions/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-docs/dist/preview.mjs'),require('/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/packages/apps/lightning-ui-docs/.storybook/preview.js'),]);\n\nconst channel = createBrowserChannel({ page: 'preview' });\naddons.setChannel(channel);\n\nif (global.CONFIG_TYPE === 'DEVELOPMENT'){\nwindow.__STORYBOOK_SERVER_CHANNEL__ = channel;\n}\n\nconst preview = new PreviewWeb(importFn, getProjectAnnotations);\n\nwindow.__STORYBOOK_PREVIEW__ = preview;\nwindow.__STORYBOOK_STORY_STORE__ = preview.storyStore;\nwindow.__STORYBOOK_ADDONS_CHANNEL__ = channel;\n\nif (import.meta.webpackHot) {\nimport.meta.webpackHot.accept('./storybook-stories.js', () => {\n// importFn has changed so we need to patch the new one in\npreview.onStoriesChanged({ importFn });\n});\n\nimport.meta.webpackHot.accept(['/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/html/dist/entry-preview-docs.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/actions/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/node_modules/@storybook/addon-docs/dist/preview.mjs','/home/runner/work/Lightning-UI-Components/Lightning-UI-Components/packages/apps/lightning-ui-docs/.storybook/preview.js',], () => {\n// getProjectAnnotations has changed so we need to patch the new one in\npreview.onGetProjectAnnotationsChanged({ getProjectAnnotations });\n});\n}","module.exports = __STORYBOOK_MODULE_CHANNELS__;","module.exports = __STORYBOOK_MODULE_CLIENT_LOGGER__;","module.exports = __STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__;","module.exports = __STORYBOOK_MODULE_CORE_EVENTS__;","module.exports = __STORYBOOK_MODULE_GLOBAL__;","module.exports = __STORYBOOK_MODULE_PREVIEW_API__;"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/project.json b/project.json index 5733472fb..0da27d60c 100644 --- a/project.json +++ b/project.json @@ -1 +1 @@ -{"generatedAt":1730301159979,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"testPackages":{"babel-jest":"29.7.0"},"monorepo":"Workspaces","packageManager":{"type":"yarn","version":"3.2.3"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/html-webpack5","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/html","portableStoriesFileCount":0,"storybookVersion":"8.3.2","storybookVersionSpecifier":"^8.2.9","language":"javascript","storybookPackages":{"@storybook/addon-actions":{"version":"8.3.2"},"@storybook/addon-designs":{"version":"8.0.3"},"@storybook/addon-interactions":{"version":"8.3.2"},"@storybook/addon-links":{"version":"8.3.2"},"@storybook/addon-mdx-gfm":{"version":"8.3.2"},"@storybook/addon-storysource":{"version":"8.3.2"},"@storybook/blocks":{"version":"8.3.2"},"@storybook/html":{"version":"8.3.2"},"@storybook/html-webpack5":{"version":"8.3.2"},"@storybook/manager-api":{"version":"8.3.2"},"@storybook/test":{"version":"8.3.2"},"@storybook/theming":{"version":"8.3.2"},"storybook":{"version":"8.3.2"}},"addons":{"@storybook/addon-essentials":{"options":{"backgrounds":false,"outline":false,"measure":false,"viewport":false},"version":"8.3.2"},"@storybook/addon-docs":{"version":"8.3.2"},"$SNIP/node_modules/@storybook/addon-designs":{"version":null},"$SNIP/node_modules/@storybook/addon-storysource":{"version":null},"@storybook/addon-webpack5-compiler-babel":{"version":"3.0.3"}}} +{"generatedAt":1733256381992,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"testPackages":{"babel-jest":"29.7.0"},"monorepo":"Workspaces","packageManager":{"type":"yarn","version":"3.2.3"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/html-webpack5","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/html","portableStoriesFileCount":0,"storybookVersion":"8.3.2","storybookVersionSpecifier":"^8.2.9","language":"javascript","storybookPackages":{"@storybook/addon-actions":{"version":"8.3.2"},"@storybook/addon-designs":{"version":"8.0.3"},"@storybook/addon-interactions":{"version":"8.3.2"},"@storybook/addon-links":{"version":"8.3.2"},"@storybook/addon-mdx-gfm":{"version":"8.3.2"},"@storybook/addon-storysource":{"version":"8.3.2"},"@storybook/blocks":{"version":"8.3.2"},"@storybook/html":{"version":"8.3.2"},"@storybook/html-webpack5":{"version":"8.3.2"},"@storybook/manager-api":{"version":"8.3.2"},"@storybook/test":{"version":"8.3.2"},"@storybook/theming":{"version":"8.3.2"},"storybook":{"version":"8.3.2"}},"addons":{"@storybook/addon-essentials":{"options":{"backgrounds":false,"outline":false,"measure":false,"viewport":false},"version":"8.3.2"},"@storybook/addon-docs":{"version":"8.3.2"},"$SNIP/node_modules/@storybook/addon-designs":{"version":null},"$SNIP/node_modules/@storybook/addon-storysource":{"version":null},"@storybook/addon-webpack5-compiler-babel":{"version":"3.0.3"}}} diff --git a/sb-addons/storybook-6/manager-bundle.js b/sb-addons/storybook-6/manager-bundle.js index bbb1f5762..33daea2fa 100644 --- a/sb-addons/storybook-6/manager-bundle.js +++ b/sb-addons/storybook-6/manager-bundle.js @@ -1,5 +1,5 @@ try{ -(()=>{var XC=Object.create;var qn=Object.defineProperty;var KC=Object.getOwnPropertyDescriptor;var JC=Object.getOwnPropertyNames;var QC=Object.getPrototypeOf,ZC=Object.prototype.hasOwnProperty;var Ft=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Vt=(r,e)=>()=>(r&&(e=r(r=0)),e);var H=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),rr=(r,e)=>{for(var t in e)qn(r,t,{get:e[t],enumerable:!0})},cp=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of JC(e))!ZC.call(r,s)&&s!==t&&qn(r,s,{get:()=>e[s],enumerable:!(i=KC(e,s))||i.enumerable});return r};var ye=(r,e,t)=>(t=r!=null?XC(QC(r)):{},cp(e||!r||!r.__esModule?qn(t,"default",{value:r,enumerable:!0}):t,r)),e1=r=>cp(qn({},"__esModule",{value:!0}),r);var h=Vt(()=>{});var d=Vt(()=>{});var p=Vt(()=>{});var Rl={};rr(Rl,{Children:()=>Tl,Component:()=>ir,Fragment:()=>s1,Profiler:()=>n1,PureComponent:()=>o1,StrictMode:()=>a1,Suspense:()=>Cl,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>l1,cloneElement:()=>Ue,createContext:()=>fi,createElement:()=>yp,createFactory:()=>u1,createRef:()=>c1,default:()=>z,forwardRef:()=>h1,isValidElement:()=>d1,lazy:()=>Al,memo:()=>hs,startTransition:()=>p1,unstable_act:()=>f1,useCallback:()=>ut,useContext:()=>El,useDebugValue:()=>g1,useDeferredValue:()=>m1,useEffect:()=>He,useId:()=>_1,useImperativeHandle:()=>y1,useInsertionEffect:()=>x1,useLayoutEffect:()=>Il,useMemo:()=>vr,useReducer:()=>b1,useRef:()=>Bt,useState:()=>Fe,useSyncExternalStore:()=>v1,useTransition:()=>S1,version:()=>w1});var z,Tl,ir,s1,n1,o1,a1,Cl,l1,Ue,fi,yp,u1,c1,h1,d1,Al,hs,p1,f1,ut,El,g1,m1,He,_1,y1,x1,Il,vr,b1,Bt,Fe,v1,S1,w1,Ge=Vt(()=>{h();d();p();z=__REACT__,{Children:Tl,Component:ir,Fragment:s1,Profiler:n1,PureComponent:o1,StrictMode:a1,Suspense:Cl,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:l1,cloneElement:Ue,createContext:fi,createElement:yp,createFactory:u1,createRef:c1,forwardRef:h1,isValidElement:d1,lazy:Al,memo:hs,startTransition:p1,unstable_act:f1,useCallback:ut,useContext:El,useDebugValue:g1,useDeferredValue:m1,useEffect:He,useId:_1,useImperativeHandle:y1,useInsertionEffect:x1,useLayoutEffect:Il,useMemo:vr,useReducer:b1,useRef:Bt,useState:Fe,useSyncExternalStore:v1,useTransition:S1,version:w1}=__REACT__});var Tp=H(Jn=>{"use strict";h();d();p();var T1=(Ge(),e1(Rl)),C1=Symbol.for("react.element"),A1=Symbol.for("react.fragment"),E1=Object.prototype.hasOwnProperty,I1=T1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,R1={key:!0,ref:!0,__self:!0,__source:!0};function wp(r,e,t){var i,s={},n=null,o=null;t!==void 0&&(n=""+t),e.key!==void 0&&(n=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)E1.call(e,i)&&!R1.hasOwnProperty(i)&&(s[i]=e[i]);if(r&&r.defaultProps)for(i in e=r.defaultProps,e)s[i]===void 0&&(s[i]=e[i]);return{$$typeof:C1,type:r,key:n,ref:o,props:s,_owner:I1.current}}Jn.Fragment=A1;Jn.jsx=wp;Jn.jsxs=wp});var Ce=H((RG,Cp)=>{"use strict";h();d();p();Cp.exports=Tp()});var Cf=H((lfe,Tf)=>{h();d();p();function oc(r,e,t){var i,s,n,o,a;e==null&&(e=100);function l(){var c=Date.now()-o;c<e&&c>=0?i=setTimeout(l,e-c):(i=null,t||(a=r.apply(n,s),n=s=null))}var u=function(){n=this,s=arguments,o=Date.now();var c=t&&!i;return i||(i=setTimeout(l,e)),c&&(a=r.apply(n,s),n=s=null),a};return u.clear=function(){i&&(clearTimeout(i),i=null)},u.flush=function(){i&&(a=r.apply(n,s),n=s=null,clearTimeout(i),i=null)},u}oc.debounce=oc;Tf.exports=oc});var $A,Rf,VA,Pf,GA,YA,Xr,XA,kf,Kt,lc,uc=Vt(()=>{h();d();p();$A=Object.create,Rf=Object.defineProperty,VA=Object.getOwnPropertyDescriptor,Pf=Object.getOwnPropertyNames,GA=Object.getPrototypeOf,YA=Object.prototype.hasOwnProperty,Xr=(r,e)=>function(){return e||(0,r[Pf(r)[0]])((e={exports:{}}).exports,e),e.exports},XA=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Pf(e))!YA.call(r,s)&&s!==t&&Rf(r,s,{get:()=>e[s],enumerable:!(i=VA(e,s))||i.enumerable});return r},kf=(r,e,t)=>(t=r!=null?$A(GA(r)):{},XA(e||!r||!r.__esModule?Rf(t,"default",{value:r,enumerable:!0}):t,r)),Kt=r=>`control-${r.replace(/\s+/g,"-")}`,lc=r=>`set-${r.replace(/\s+/g,"-")}`});var Hf={};rr(Hf,{A:()=>JA,ActionBar:()=>cc,AddonPanel:()=>QA,Badge:()=>ZA,Bar:()=>eE,Blockquote:()=>tE,Button:()=>Zo,ClipboardCode:()=>rE,Code:()=>Of,DL:()=>iE,Div:()=>sE,DocumentWrapper:()=>nE,EmptyTabContent:()=>Lf,ErrorFormatter:()=>Df,FlexBar:()=>hc,Form:()=>Rr,H1:()=>oE,H2:()=>dc,H3:()=>Ff,H4:()=>aE,H5:()=>lE,H6:()=>uE,HR:()=>cE,IconButton:()=>Kr,IconButtonSkeleton:()=>hE,Icons:()=>dE,Img:()=>pE,LI:()=>fE,Link:()=>Bf,ListItem:()=>gE,Loader:()=>Mf,Modal:()=>mE,OL:()=>_E,P:()=>yE,Placeholder:()=>xE,Pre:()=>bE,ResetWrapper:()=>Nf,ScrollArea:()=>vE,Separator:()=>SE,Spaced:()=>wE,Span:()=>TE,StorybookIcon:()=>CE,StorybookLogo:()=>AE,Symbols:()=>EE,SyntaxHighlighter:()=>pc,TT:()=>IE,TabBar:()=>RE,TabButton:()=>PE,TabWrapper:()=>kE,Table:()=>OE,Tabs:()=>LE,TabsState:()=>zf,TooltipLinkList:()=>DE,TooltipMessage:()=>FE,TooltipNote:()=>fc,UL:()=>BE,WithTooltip:()=>ea,WithTooltipPure:()=>jf,Zoom:()=>gc,codeCommon:()=>Ai,components:()=>mc,createCopyToClipboardFunction:()=>ME,default:()=>KA,getStoryHref:()=>Uf,icons:()=>NE,interleaveSeparators:()=>zE,nameSpaceClassNames:()=>_c,resetComponents:()=>jE,withReset:()=>Ei});var KA,JA,cc,QA,ZA,eE,tE,Zo,rE,Of,iE,sE,nE,Lf,Df,hc,Rr,oE,dc,Ff,aE,lE,uE,cE,Kr,hE,dE,pE,fE,Bf,gE,Mf,mE,_E,yE,xE,bE,Nf,vE,SE,wE,TE,CE,AE,EE,pc,IE,RE,PE,kE,OE,LE,zf,DE,FE,fc,BE,ea,jf,gc,Ai,mc,ME,Uf,NE,zE,_c,jE,Ei,ta=Vt(()=>{h();d();p();KA=__STORYBOOK_COMPONENTS__,{A:JA,ActionBar:cc,AddonPanel:QA,Badge:ZA,Bar:eE,Blockquote:tE,Button:Zo,ClipboardCode:rE,Code:Of,DL:iE,Div:sE,DocumentWrapper:nE,EmptyTabContent:Lf,ErrorFormatter:Df,FlexBar:hc,Form:Rr,H1:oE,H2:dc,H3:Ff,H4:aE,H5:lE,H6:uE,HR:cE,IconButton:Kr,IconButtonSkeleton:hE,Icons:dE,Img:pE,LI:fE,Link:Bf,ListItem:gE,Loader:Mf,Modal:mE,OL:_E,P:yE,Placeholder:xE,Pre:bE,ResetWrapper:Nf,ScrollArea:vE,Separator:SE,Spaced:wE,Span:TE,StorybookIcon:CE,StorybookLogo:AE,Symbols:EE,SyntaxHighlighter:pc,TT:IE,TabBar:RE,TabButton:PE,TabWrapper:kE,Table:OE,Tabs:LE,TabsState:zf,TooltipLinkList:DE,TooltipMessage:FE,TooltipNote:fc,UL:BE,WithTooltip:ea,WithTooltipPure:jf,Zoom:gc,codeCommon:Ai,components:mc,createCopyToClipboardFunction:ME,getStoryHref:Uf,icons:NE,interleaveSeparators:zE,nameSpaceClassNames:_c,resetComponents:jE,withReset:Ei}=__STORYBOOK_COMPONENTS__});var rge,ige,sge,nge,Wf,oge,age,qf,lge,uge,cge,hge,dge,pge,UE,$f,fge,gge,mge,_ge,J,yc,yge,Vf,xge,xc=Vt(()=>{h();d();p();rge=__STORYBOOK_THEMING__,{CacheProvider:ige,ClassNames:sge,Global:nge,ThemeProvider:Wf,background:oge,color:age,convert:qf,create:lge,createCache:uge,createGlobal:cge,createReset:hge,css:dge,darken:pge,ensure:UE,ignoreSsrWarning:$f,isPropValid:fge,jsx:gge,keyframes:mge,lighten:_ge,styled:J,themes:yc,typography:yge,useTheme:Vf,withTheme:xge}=__STORYBOOK_THEMING__});var Ume,Hme,Wme,ig,qme,$me,Vme,Gme,Yme,Xme,Kme,Jme,Qme,Zme,e_e,t_e,r_e,i_e,s_e,n_e,o_e,a_e,l_e,u_e,c_e,h_e,d_e,p_e,f_e,g_e,m_e,__e,y_e,x_e,b_e,v_e,S_e,w_e,T_e,C_e,A_e,E_e,I_e,R_e,P_e,k_e,O_e,L_e,sg,D_e,ng,Ac,F_e,B_e,og,M_e,N_e,z_e,j_e,U_e,H_e,W_e,q_e,$_e,V_e,G_e,Y_e,X_e,K_e,J_e,Q_e,Z_e,eye,tye,rye,iye,sye,nye,oye,aye,lye,uye,cye,hye,dye,pye,fye,gye,AI,mye,_ye,yye,xye,bye,vye,Sye,EI,II,wye,Tye,Cye,Aye,Eye,Iye,Rye,Pye,kye,Oye,Lye,Dye,Fye,Bye,Mye,Nye,zye,jye,Uye,Hye,Wye,qye,$ye,Vye,Gye,Yye,Xye,Kye,Jye,Qye,Zye,exe,txe,ag,rxe,ixe,sxe,nxe,oxe,axe,lxe,lg,uxe,cxe,hxe,dxe,pxe,fxe,gxe,mxe,_xe,yxe,xxe,bxe,vxe,Sxe,wxe,Txe,Cxe,Axe,Exe,Ixe,Rxe,Pxe,kxe,Oxe,Lxe,Dxe,Fxe,Bxe,Mxe,Nxe,zxe,jxe,Uxe,Hxe,Wxe,qxe,$xe,Vxe,Gxe,Yxe,Xxe,Kxe,Jxe,Qxe,Zxe,ebe,tbe,rbe,ibe,sbe,nbe,obe,abe,lbe,ube,cbe,hbe,dbe,pbe,fbe,gbe,ug,mbe,_be,ybe,xbe,bbe,vbe,Sbe,wbe,Tbe,Cbe,Abe,Ebe,Ibe,RI,Rbe,Pbe,kbe,Obe,Lbe,Dbe,Fbe,Bbe,Mbe,Nbe,PI,zbe,jbe,Ube,Hbe,Wbe,qbe,cg,hg,dg,$be,Ec=Vt(()=>{h();d();p();Ume=__STORYBOOK_ICONS__,{AccessibilityAltIcon:Hme,AccessibilityIcon:Wme,AddIcon:ig,AdminIcon:qme,AlertAltIcon:$me,AlertIcon:Vme,AlignLeftIcon:Gme,AlignRightIcon:Yme,AppleIcon:Xme,ArrowBottomLeftIcon:Kme,ArrowBottomRightIcon:Jme,ArrowDownIcon:Qme,ArrowLeftIcon:Zme,ArrowRightIcon:e_e,ArrowSolidDownIcon:t_e,ArrowSolidLeftIcon:r_e,ArrowSolidRightIcon:i_e,ArrowSolidUpIcon:s_e,ArrowTopLeftIcon:n_e,ArrowTopRightIcon:o_e,ArrowUpIcon:a_e,AzureDevOpsIcon:l_e,BackIcon:u_e,BasketIcon:c_e,BatchAcceptIcon:h_e,BatchDenyIcon:d_e,BeakerIcon:p_e,BellIcon:f_e,BitbucketIcon:g_e,BoldIcon:m_e,BookIcon:__e,BookmarkHollowIcon:y_e,BookmarkIcon:x_e,BottomBarIcon:b_e,BottomBarToggleIcon:v_e,BoxIcon:S_e,BranchIcon:w_e,BrowserIcon:T_e,ButtonIcon:C_e,CPUIcon:A_e,CalendarIcon:E_e,CameraIcon:I_e,CategoryIcon:R_e,CertificateIcon:P_e,ChangedIcon:k_e,ChatIcon:O_e,CheckIcon:L_e,ChevronDownIcon:sg,ChevronLeftIcon:D_e,ChevronRightIcon:ng,ChevronSmallDownIcon:Ac,ChevronSmallLeftIcon:F_e,ChevronSmallRightIcon:B_e,ChevronSmallUpIcon:og,ChevronUpIcon:M_e,ChromaticIcon:N_e,ChromeIcon:z_e,CircleHollowIcon:j_e,CircleIcon:U_e,ClearIcon:H_e,CloseAltIcon:W_e,CloseIcon:q_e,CloudHollowIcon:$_e,CloudIcon:V_e,CogIcon:G_e,CollapseIcon:Y_e,CommandIcon:X_e,CommentAddIcon:K_e,CommentIcon:J_e,CommentsIcon:Q_e,CommitIcon:Z_e,CompassIcon:eye,ComponentDrivenIcon:tye,ComponentIcon:rye,ContrastIcon:iye,ControlsIcon:sye,CopyIcon:nye,CreditIcon:oye,CrossIcon:aye,DashboardIcon:lye,DatabaseIcon:uye,DeleteIcon:cye,DiamondIcon:hye,DirectionIcon:dye,DiscordIcon:pye,DocChartIcon:fye,DocListIcon:gye,DocumentIcon:AI,DownloadIcon:mye,DragIcon:_ye,EditIcon:yye,EllipsisIcon:xye,EmailIcon:bye,ExpandAltIcon:vye,ExpandIcon:Sye,EyeCloseIcon:EI,EyeIcon:II,FaceHappyIcon:wye,FaceNeutralIcon:Tye,FaceSadIcon:Cye,FacebookIcon:Aye,FailedIcon:Eye,FastForwardIcon:Iye,FigmaIcon:Rye,FilterIcon:Pye,FlagIcon:kye,FolderIcon:Oye,FormIcon:Lye,GDriveIcon:Dye,GithubIcon:Fye,GitlabIcon:Bye,GlobeIcon:Mye,GoogleIcon:Nye,GraphBarIcon:zye,GraphLineIcon:jye,GraphqlIcon:Uye,GridAltIcon:Hye,GridIcon:Wye,GrowIcon:qye,HeartHollowIcon:$ye,HeartIcon:Vye,HomeIcon:Gye,HourglassIcon:Yye,InfoIcon:Xye,ItalicIcon:Kye,JumpToIcon:Jye,KeyIcon:Qye,LightningIcon:Zye,LightningOffIcon:exe,LinkBrokenIcon:txe,LinkIcon:ag,LinkedinIcon:rxe,LinuxIcon:ixe,ListOrderedIcon:sxe,ListUnorderedIcon:nxe,LocationIcon:oxe,LockIcon:axe,MarkdownIcon:lxe,MarkupIcon:lg,MediumIcon:uxe,MemoryIcon:cxe,MenuIcon:hxe,MergeIcon:dxe,MirrorIcon:pxe,MobileIcon:fxe,MoonIcon:gxe,NutIcon:mxe,OutboxIcon:_xe,OutlineIcon:yxe,PaintBrushIcon:xxe,PaperClipIcon:bxe,ParagraphIcon:vxe,PassedIcon:Sxe,PhoneIcon:wxe,PhotoDragIcon:Txe,PhotoIcon:Cxe,PinAltIcon:Axe,PinIcon:Exe,PlayBackIcon:Ixe,PlayIcon:Rxe,PlayNextIcon:Pxe,PlusIcon:kxe,PointerDefaultIcon:Oxe,PointerHandIcon:Lxe,PowerIcon:Dxe,PrintIcon:Fxe,ProceedIcon:Bxe,ProfileIcon:Mxe,PullRequestIcon:Nxe,QuestionIcon:zxe,RSSIcon:jxe,RedirectIcon:Uxe,ReduxIcon:Hxe,RefreshIcon:Wxe,ReplyIcon:qxe,RepoIcon:$xe,RequestChangeIcon:Vxe,RewindIcon:Gxe,RulerIcon:Yxe,SearchIcon:Xxe,ShareAltIcon:Kxe,ShareIcon:Jxe,ShieldIcon:Qxe,SideBySideIcon:Zxe,SidebarAltIcon:ebe,SidebarAltToggleIcon:tbe,SidebarIcon:rbe,SidebarToggleIcon:ibe,SpeakerIcon:sbe,StackedIcon:nbe,StarHollowIcon:obe,StarIcon:abe,StatusFailIcon:lbe,StatusPassIcon:ube,StatusWarnIcon:cbe,StickerIcon:hbe,StopAltIcon:dbe,StopIcon:pbe,StorybookIcon:fbe,StructureIcon:gbe,SubtractIcon:ug,SunIcon:mbe,SupportIcon:_be,SwitchAltIcon:ybe,SyncIcon:xbe,TabletIcon:bbe,ThumbsUpIcon:vbe,TimeIcon:Sbe,TimerIcon:wbe,TransferIcon:Tbe,TrashIcon:Cbe,TwitterIcon:Abe,TypeIcon:Ebe,UbuntuIcon:Ibe,UndoIcon:RI,UnfoldIcon:Rbe,UnlockIcon:Pbe,UnpinIcon:kbe,UploadIcon:Obe,UserAddIcon:Lbe,UserAltIcon:Dbe,UserIcon:Fbe,UsersIcon:Bbe,VSCodeIcon:Mbe,VerifiedIcon:Nbe,VideoIcon:PI,WandIcon:zbe,WatchIcon:jbe,WindowsIcon:Ube,WrenchIcon:Hbe,XIcon:Wbe,YoutubeIcon:qbe,ZoomIcon:cg,ZoomOutIcon:hg,ZoomResetIcon:dg,iconList:$be}=__STORYBOOK_ICONS__});var Pc=H((o0e,vg)=>{h();d();p();function qI(r,e){for(var t=-1,i=r==null?0:r.length,s=Array(i);++t<i;)s[t]=e(r[t],t,r);return s}vg.exports=qI});var wg=H((c0e,Sg)=>{h();d();p();function $I(){this.__data__=[],this.size=0}Sg.exports=$I});var aa=H((f0e,Tg)=>{h();d();p();function VI(r,e){return r===e||r!==r&&e!==e}Tg.exports=VI});var Xs=H((y0e,Cg)=>{h();d();p();var GI=aa();function YI(r,e){for(var t=r.length;t--;)if(GI(r[t][0],e))return t;return-1}Cg.exports=YI});var Eg=H((S0e,Ag)=>{h();d();p();var XI=Xs(),KI=Array.prototype,JI=KI.splice;function QI(r){var e=this.__data__,t=XI(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():JI.call(e,t,1),--this.size,!0}Ag.exports=QI});var Rg=H((A0e,Ig)=>{h();d();p();var ZI=Xs();function eR(r){var e=this.__data__,t=ZI(e,r);return t<0?void 0:e[t][1]}Ig.exports=eR});var kg=H((P0e,Pg)=>{h();d();p();var tR=Xs();function rR(r){return tR(this.__data__,r)>-1}Pg.exports=rR});var Lg=H((D0e,Og)=>{h();d();p();var iR=Xs();function sR(r,e){var t=this.__data__,i=iR(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}Og.exports=sR});var Ks=H((N0e,Dg)=>{h();d();p();var nR=wg(),oR=Eg(),aR=Rg(),lR=kg(),uR=Lg();function Pi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Pi.prototype.clear=nR;Pi.prototype.delete=oR;Pi.prototype.get=aR;Pi.prototype.has=lR;Pi.prototype.set=uR;Dg.exports=Pi});var Bg=H((H0e,Fg)=>{h();d();p();var cR=Ks();function hR(){this.__data__=new cR,this.size=0}Fg.exports=hR});var Ng=H((V0e,Mg)=>{h();d();p();function dR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}Mg.exports=dR});var jg=H((K0e,zg)=>{h();d();p();function pR(r){return this.__data__.get(r)}zg.exports=pR});var Hg=H((eve,Ug)=>{h();d();p();function fR(r){return this.__data__.has(r)}Ug.exports=fR});var kc=H((sve,Wg)=>{h();d();p();var gR=typeof window=="object"&&window&&window.Object===Object&&window;Wg.exports=gR});var Mt=H((lve,qg)=>{h();d();p();var mR=kc(),_R=typeof self=="object"&&self&&self.Object===Object&&self,yR=mR||_R||Function("return this")();qg.exports=yR});var ki=H((dve,$g)=>{h();d();p();var xR=Mt(),bR=xR.Symbol;$g.exports=bR});var Xg=H((mve,Yg)=>{h();d();p();var Vg=ki(),Gg=Object.prototype,vR=Gg.hasOwnProperty,SR=Gg.toString,Js=Vg?Vg.toStringTag:void 0;function wR(r){var e=vR.call(r,Js),t=r[Js];try{r[Js]=void 0;var i=!0}catch{}var s=SR.call(r);return i&&(e?r[Js]=t:delete r[Js]),s}Yg.exports=wR});var Jg=H((bve,Kg)=>{h();d();p();var TR=Object.prototype,CR=TR.toString;function AR(r){return CR.call(r)}Kg.exports=AR});var Oi=H((Tve,em)=>{h();d();p();var Qg=ki(),ER=Xg(),IR=Jg(),RR="[object Null]",PR="[object Undefined]",Zg=Qg?Qg.toStringTag:void 0;function kR(r){return r==null?r===void 0?PR:RR:Zg&&Zg in Object(r)?ER(r):IR(r)}em.exports=kR});var Jt=H((Ive,tm)=>{h();d();p();function OR(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}tm.exports=OR});var Oc=H((Ove,rm)=>{h();d();p();var LR=Oi(),DR=Jt(),FR="[object AsyncFunction]",BR="[object Function]",MR="[object GeneratorFunction]",NR="[object Proxy]";function zR(r){if(!DR(r))return!1;var e=LR(r);return e==BR||e==MR||e==FR||e==NR}rm.exports=zR});var sm=H((Bve,im)=>{h();d();p();var jR=Mt(),UR=jR["__core-js_shared__"];im.exports=UR});var am=H((jve,om)=>{h();d();p();var Lc=sm(),nm=function(){var r=/[^.]+$/.exec(Lc&&Lc.keys&&Lc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function HR(r){return!!nm&&nm in r}om.exports=HR});var Dc=H((qve,lm)=>{h();d();p();var WR=Function.prototype,qR=WR.toString;function $R(r){if(r!=null){try{return qR.call(r)}catch{}try{return r+""}catch{}}return""}lm.exports=$R});var cm=H((Yve,um)=>{h();d();p();var VR=Oc(),GR=am(),YR=Jt(),XR=Dc(),KR=/[\\^$.*+?()[\]{}|]/g,JR=/^\[object .+?Constructor\]$/,QR=Function.prototype,ZR=Object.prototype,eP=QR.toString,tP=ZR.hasOwnProperty,rP=RegExp("^"+eP.call(tP).replace(KR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function iP(r){if(!YR(r)||GR(r))return!1;var e=VR(r)?rP:JR;return e.test(XR(r))}um.exports=iP});var dm=H((Qve,hm)=>{h();d();p();function sP(r,e){return r?.[e]}hm.exports=sP});var Dr=H((rSe,pm)=>{h();d();p();var nP=cm(),oP=dm();function aP(r,e){var t=oP(r,e);return nP(t)?t:void 0}pm.exports=aP});var la=H((oSe,fm)=>{h();d();p();var lP=Dr(),uP=Mt(),cP=lP(uP,"Map");fm.exports=cP});var Qs=H((cSe,gm)=>{h();d();p();var hP=Dr(),dP=hP(Object,"create");gm.exports=dP});var ym=H((fSe,_m)=>{h();d();p();var mm=Qs();function pP(){this.__data__=mm?mm(null):{},this.size=0}_m.exports=pP});var bm=H((ySe,xm)=>{h();d();p();function fP(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}xm.exports=fP});var Sm=H((SSe,vm)=>{h();d();p();var gP=Qs(),mP="__lodash_hash_undefined__",_P=Object.prototype,yP=_P.hasOwnProperty;function xP(r){var e=this.__data__;if(gP){var t=e[r];return t===mP?void 0:t}return yP.call(e,r)?e[r]:void 0}vm.exports=xP});var Tm=H((ASe,wm)=>{h();d();p();var bP=Qs(),vP=Object.prototype,SP=vP.hasOwnProperty;function wP(r){var e=this.__data__;return bP?e[r]!==void 0:SP.call(e,r)}wm.exports=wP});var Am=H((PSe,Cm)=>{h();d();p();var TP=Qs(),CP="__lodash_hash_undefined__";function AP(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=TP&&e===void 0?CP:e,this}Cm.exports=AP});var Im=H((DSe,Em)=>{h();d();p();var EP=ym(),IP=bm(),RP=Sm(),PP=Tm(),kP=Am();function Li(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Li.prototype.clear=EP;Li.prototype.delete=IP;Li.prototype.get=RP;Li.prototype.has=PP;Li.prototype.set=kP;Em.exports=Li});var km=H((NSe,Pm)=>{h();d();p();var Rm=Im(),OP=Ks(),LP=la();function DP(){this.size=0,this.__data__={hash:new Rm,map:new(LP||OP),string:new Rm}}Pm.exports=DP});var Lm=H((HSe,Om)=>{h();d();p();function FP(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}Om.exports=FP});var Zs=H((VSe,Dm)=>{h();d();p();var BP=Lm();function MP(r,e){var t=r.__data__;return BP(e)?t[typeof e=="string"?"string":"hash"]:t.map}Dm.exports=MP});var Bm=H((KSe,Fm)=>{h();d();p();var NP=Zs();function zP(r){var e=NP(this,r).delete(r);return this.size-=e?1:0,e}Fm.exports=zP});var Nm=H((ewe,Mm)=>{h();d();p();var jP=Zs();function UP(r){return jP(this,r).get(r)}Mm.exports=UP});var jm=H((swe,zm)=>{h();d();p();var HP=Zs();function WP(r){return HP(this,r).has(r)}zm.exports=WP});var Hm=H((lwe,Um)=>{h();d();p();var qP=Zs();function $P(r,e){var t=qP(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}Um.exports=$P});var ua=H((dwe,Wm)=>{h();d();p();var VP=km(),GP=Bm(),YP=Nm(),XP=jm(),KP=Hm();function Di(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Di.prototype.clear=VP;Di.prototype.delete=GP;Di.prototype.get=YP;Di.prototype.has=XP;Di.prototype.set=KP;Wm.exports=Di});var $m=H((mwe,qm)=>{h();d();p();var JP=Ks(),QP=la(),ZP=ua(),ek=200;function tk(r,e){var t=this.__data__;if(t instanceof JP){var i=t.__data__;if(!QP||i.length<ek-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new ZP(i)}return t.set(r,e),this.size=t.size,this}qm.exports=tk});var ca=H((bwe,Vm)=>{h();d();p();var rk=Ks(),ik=Bg(),sk=Ng(),nk=jg(),ok=Hg(),ak=$m();function Fi(r){var e=this.__data__=new rk(r);this.size=e.size}Fi.prototype.clear=ik;Fi.prototype.delete=sk;Fi.prototype.get=nk;Fi.prototype.has=ok;Fi.prototype.set=ak;Vm.exports=Fi});var Ym=H((Twe,Gm)=>{h();d();p();var lk="__lodash_hash_undefined__";function uk(r){return this.__data__.set(r,lk),this}Gm.exports=uk});var Km=H((Iwe,Xm)=>{h();d();p();function ck(r){return this.__data__.has(r)}Xm.exports=ck});var Fc=H((Owe,Jm)=>{h();d();p();var hk=ua(),dk=Ym(),pk=Km();function ha(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new hk;++e<t;)this.add(r[e])}ha.prototype.add=ha.prototype.push=dk;ha.prototype.has=pk;Jm.exports=ha});var Zm=H((Bwe,Qm)=>{h();d();p();function fk(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}Qm.exports=fk});var Bc=H((jwe,e_)=>{h();d();p();function gk(r,e){return r.has(e)}e_.exports=gk});var Mc=H((qwe,t_)=>{h();d();p();var mk=Fc(),_k=Zm(),yk=Bc(),xk=1,bk=2;function vk(r,e,t,i,s,n){var o=t&xk,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var u=n.get(r),c=n.get(e);if(u&&c)return u==e&&c==r;var g=-1,m=!0,y=t&bk?new mk:void 0;for(n.set(r,e),n.set(e,r);++g<a;){var b=r[g],C=e[g];if(i)var A=o?i(C,b,g,e,r,n):i(b,C,g,r,e,n);if(A!==void 0){if(A)continue;m=!1;break}if(y){if(!_k(e,function(T,R){if(!yk(y,R)&&(b===T||s(b,T,t,i,n)))return y.push(R)})){m=!1;break}}else if(!(b===C||s(b,C,t,i,n))){m=!1;break}}return n.delete(r),n.delete(e),m}t_.exports=vk});var Nc=H((Ywe,r_)=>{h();d();p();var Sk=Mt(),wk=Sk.Uint8Array;r_.exports=wk});var s_=H((Qwe,i_)=>{h();d();p();function Tk(r){var e=-1,t=Array(r.size);return r.forEach(function(i,s){t[++e]=[s,i]}),t}i_.exports=Tk});var da=H((rTe,n_)=>{h();d();p();function Ck(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}n_.exports=Ck});var c_=H((oTe,u_)=>{h();d();p();var o_=ki(),a_=Nc(),Ak=aa(),Ek=Mc(),Ik=s_(),Rk=da(),Pk=1,kk=2,Ok="[object Boolean]",Lk="[object Date]",Dk="[object Error]",Fk="[object Map]",Bk="[object Number]",Mk="[object RegExp]",Nk="[object Set]",zk="[object String]",jk="[object Symbol]",Uk="[object ArrayBuffer]",Hk="[object DataView]",l_=o_?o_.prototype:void 0,zc=l_?l_.valueOf:void 0;function Wk(r,e,t,i,s,n,o){switch(t){case Hk:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Uk:return!(r.byteLength!=e.byteLength||!n(new a_(r),new a_(e)));case Ok:case Lk:case Bk:return Ak(+r,+e);case Dk:return r.name==e.name&&r.message==e.message;case Mk:case zk:return r==e+"";case Fk:var a=Ik;case Nk:var l=i&Pk;if(a||(a=Rk),r.size!=e.size&&!l)return!1;var u=o.get(r);if(u)return u==e;i|=kk,o.set(r,e);var c=Ek(a(r),a(e),i,s,n,o);return o.delete(r),c;case jk:if(zc)return zc.call(r)==zc.call(e)}return!1}u_.exports=Wk});var jc=H((cTe,h_)=>{h();d();p();function qk(r,e){for(var t=-1,i=e.length,s=r.length;++t<i;)r[s+t]=e[t];return r}h_.exports=qk});var Qt=H((fTe,d_)=>{h();d();p();var $k=Array.isArray;d_.exports=$k});var Uc=H((yTe,p_)=>{h();d();p();var Vk=jc(),Gk=Qt();function Yk(r,e,t){var i=e(r);return Gk(r)?i:Vk(i,t(r))}p_.exports=Yk});var g_=H((STe,f_)=>{h();d();p();function Xk(r,e){for(var t=-1,i=r==null?0:r.length,s=0,n=[];++t<i;){var o=r[t];e(o,t,r)&&(n[s++]=o)}return n}f_.exports=Xk});var Hc=H((ATe,m_)=>{h();d();p();function Kk(){return[]}m_.exports=Kk});var pa=H((PTe,y_)=>{h();d();p();var Jk=g_(),Qk=Hc(),Zk=Object.prototype,eO=Zk.propertyIsEnumerable,__=Object.getOwnPropertySymbols,tO=__?function(r){return r==null?[]:(r=Object(r),Jk(__(r),function(e){return eO.call(r,e)}))}:Qk;y_.exports=tO});var b_=H((DTe,x_)=>{h();d();p();function rO(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}x_.exports=rO});var Fr=H((NTe,v_)=>{h();d();p();function iO(r){return r!=null&&typeof r=="object"}v_.exports=iO});var w_=H((HTe,S_)=>{h();d();p();var sO=Oi(),nO=Fr(),oO="[object Arguments]";function aO(r){return nO(r)&&sO(r)==oO}S_.exports=aO});var Wc=H((VTe,A_)=>{h();d();p();var T_=w_(),lO=Fr(),C_=Object.prototype,uO=C_.hasOwnProperty,cO=C_.propertyIsEnumerable,hO=T_(function(){return arguments}())?T_:function(r){return lO(r)&&uO.call(r,"callee")&&!cO.call(r,"callee")};A_.exports=hO});var I_=H((KTe,E_)=>{h();d();p();function dO(){return!1}E_.exports=dO});var fa=H((en,Bi)=>{h();d();p();var pO=Mt(),fO=I_(),k_=typeof en=="object"&&en&&!en.nodeType&&en,R_=k_&&typeof Bi=="object"&&Bi&&!Bi.nodeType&&Bi,gO=R_&&R_.exports===k_,P_=gO?pO.Buffer:void 0,mO=P_?P_.isBuffer:void 0,_O=mO||fO;Bi.exports=_O});var ga=H((iCe,O_)=>{h();d();p();var yO=9007199254740991,xO=/^(?:0|[1-9]\d*)$/;function bO(r,e){var t=typeof r;return e=e??yO,!!e&&(t=="number"||t!="symbol"&&xO.test(r))&&r>-1&&r%1==0&&r<e}O_.exports=bO});var ma=H((aCe,L_)=>{h();d();p();var vO=9007199254740991;function SO(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=vO}L_.exports=SO});var F_=H((hCe,D_)=>{h();d();p();var wO=Oi(),TO=ma(),CO=Fr(),AO="[object Arguments]",EO="[object Array]",IO="[object Boolean]",RO="[object Date]",PO="[object Error]",kO="[object Function]",OO="[object Map]",LO="[object Number]",DO="[object Object]",FO="[object RegExp]",BO="[object Set]",MO="[object String]",NO="[object WeakMap]",zO="[object ArrayBuffer]",jO="[object DataView]",UO="[object Float32Array]",HO="[object Float64Array]",WO="[object Int8Array]",qO="[object Int16Array]",$O="[object Int32Array]",VO="[object Uint8Array]",GO="[object Uint8ClampedArray]",YO="[object Uint16Array]",XO="[object Uint32Array]",Be={};Be[UO]=Be[HO]=Be[WO]=Be[qO]=Be[$O]=Be[VO]=Be[GO]=Be[YO]=Be[XO]=!0;Be[AO]=Be[EO]=Be[zO]=Be[IO]=Be[jO]=Be[RO]=Be[PO]=Be[kO]=Be[OO]=Be[LO]=Be[DO]=Be[FO]=Be[BO]=Be[MO]=Be[NO]=!1;function KO(r){return CO(r)&&TO(r.length)&&!!Be[wO(r)]}D_.exports=KO});var _a=H((gCe,B_)=>{h();d();p();function JO(r){return function(e){return r(e)}}B_.exports=JO});var ya=H((tn,Mi)=>{h();d();p();var QO=kc(),M_=typeof tn=="object"&&tn&&!tn.nodeType&&tn,rn=M_&&typeof Mi=="object"&&Mi&&!Mi.nodeType&&Mi,ZO=rn&&rn.exports===M_,qc=ZO&&QO.process,eL=function(){try{var r=rn&&rn.require&&rn.require("util").types;return r||qc&&qc.binding&&qc.binding("util")}catch{}}();Mi.exports=eL});var $c=H((SCe,j_)=>{h();d();p();var tL=F_(),rL=_a(),N_=ya(),z_=N_&&N_.isTypedArray,iL=z_?rL(z_):tL;j_.exports=iL});var Vc=H((ACe,U_)=>{h();d();p();var sL=b_(),nL=Wc(),oL=Qt(),aL=fa(),lL=ga(),uL=$c(),cL=Object.prototype,hL=cL.hasOwnProperty;function dL(r,e){var t=oL(r),i=!t&&nL(r),s=!t&&!i&&aL(r),n=!t&&!i&&!s&&uL(r),o=t||i||s||n,a=o?sL(r.length,String):[],l=a.length;for(var u in r)(e||hL.call(r,u))&&!(o&&(u=="length"||s&&(u=="offset"||u=="parent")||n&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||lL(u,l)))&&a.push(u);return a}U_.exports=dL});var xa=H((PCe,H_)=>{h();d();p();var pL=Object.prototype;function fL(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||pL;return r===t}H_.exports=fL});var Gc=H((DCe,W_)=>{h();d();p();function gL(r,e){return function(t){return r(e(t))}}W_.exports=gL});var $_=H((NCe,q_)=>{h();d();p();var mL=Gc(),_L=mL(Object.keys,Object);q_.exports=_L});var G_=H((HCe,V_)=>{h();d();p();var yL=xa(),xL=$_(),bL=Object.prototype,vL=bL.hasOwnProperty;function SL(r){if(!yL(r))return xL(r);var e=[];for(var t in Object(r))vL.call(r,t)&&t!="constructor"&&e.push(t);return e}V_.exports=SL});var Yc=H((VCe,Y_)=>{h();d();p();var wL=Oc(),TL=ma();function CL(r){return r!=null&&TL(r.length)&&!wL(r)}Y_.exports=CL});var sn=H((KCe,X_)=>{h();d();p();var AL=Vc(),EL=G_(),IL=Yc();function RL(r){return IL(r)?AL(r):EL(r)}X_.exports=RL});var Xc=H((e1e,K_)=>{h();d();p();var PL=Uc(),kL=pa(),OL=sn();function LL(r){return PL(r,OL,kL)}K_.exports=LL});var Z_=H((s1e,Q_)=>{h();d();p();var J_=Xc(),DL=1,FL=Object.prototype,BL=FL.hasOwnProperty;function ML(r,e,t,i,s,n){var o=t&DL,a=J_(r),l=a.length,u=J_(e),c=u.length;if(l!=c&&!o)return!1;for(var g=l;g--;){var m=a[g];if(!(o?m in e:BL.call(e,m)))return!1}var y=n.get(r),b=n.get(e);if(y&&b)return y==e&&b==r;var C=!0;n.set(r,e),n.set(e,r);for(var A=o;++g<l;){m=a[g];var T=r[m],R=e[m];if(i)var P=o?i(R,T,m,e,r,n):i(T,R,m,r,e,n);if(!(P===void 0?T===R||s(T,R,t,i,n):P)){C=!1;break}A||(A=m=="constructor")}if(C&&!A){var E=r.constructor,k=e.constructor;E!=k&&"constructor"in r&&"constructor"in e&&!(typeof E=="function"&&E instanceof E&&typeof k=="function"&&k instanceof k)&&(C=!1)}return n.delete(r),n.delete(e),C}Q_.exports=ML});var ty=H((l1e,ey)=>{h();d();p();var NL=Dr(),zL=Mt(),jL=NL(zL,"DataView");ey.exports=jL});var iy=H((d1e,ry)=>{h();d();p();var UL=Dr(),HL=Mt(),WL=UL(HL,"Promise");ry.exports=WL});var Kc=H((m1e,sy)=>{h();d();p();var qL=Dr(),$L=Mt(),VL=qL($L,"Set");sy.exports=VL});var oy=H((b1e,ny)=>{h();d();p();var GL=Dr(),YL=Mt(),XL=GL(YL,"WeakMap");ny.exports=XL});var nn=H((T1e,py)=>{h();d();p();var Jc=ty(),Qc=la(),Zc=iy(),eh=Kc(),th=oy(),dy=Oi(),Ni=Dc(),ay="[object Map]",KL="[object Object]",ly="[object Promise]",uy="[object Set]",cy="[object WeakMap]",hy="[object DataView]",JL=Ni(Jc),QL=Ni(Qc),ZL=Ni(Zc),eD=Ni(eh),tD=Ni(th),Qr=dy;(Jc&&Qr(new Jc(new ArrayBuffer(1)))!=hy||Qc&&Qr(new Qc)!=ay||Zc&&Qr(Zc.resolve())!=ly||eh&&Qr(new eh)!=uy||th&&Qr(new th)!=cy)&&(Qr=function(r){var e=dy(r),t=e==KL?r.constructor:void 0,i=t?Ni(t):"";if(i)switch(i){case JL:return hy;case QL:return ay;case ZL:return ly;case eD:return uy;case tD:return cy}return e});py.exports=Qr});var vy=H((I1e,by)=>{h();d();p();var rh=ca(),rD=Mc(),iD=c_(),sD=Z_(),fy=nn(),gy=Qt(),my=fa(),nD=$c(),oD=1,_y="[object Arguments]",yy="[object Array]",ba="[object Object]",aD=Object.prototype,xy=aD.hasOwnProperty;function lD(r,e,t,i,s,n){var o=gy(r),a=gy(e),l=o?yy:fy(r),u=a?yy:fy(e);l=l==_y?ba:l,u=u==_y?ba:u;var c=l==ba,g=u==ba,m=l==u;if(m&&my(r)){if(!my(e))return!1;o=!0,c=!1}if(m&&!c)return n||(n=new rh),o||nD(r)?rD(r,e,t,i,s,n):iD(r,e,l,t,i,s,n);if(!(t&oD)){var y=c&&xy.call(r,"__wrapped__"),b=g&&xy.call(e,"__wrapped__");if(y||b){var C=y?r.value():r,A=b?e.value():e;return n||(n=new rh),s(C,A,t,i,n)}}return m?(n||(n=new rh),sD(r,e,t,i,s,n)):!1}by.exports=lD});var ih=H((O1e,Ty)=>{h();d();p();var uD=vy(),Sy=Fr();function wy(r,e,t,i,s){return r===e?!0:r==null||e==null||!Sy(r)&&!Sy(e)?r!==r&&e!==e:uD(r,e,t,i,wy,s)}Ty.exports=wy});var Ay=H((B1e,Cy)=>{h();d();p();var cD=ca(),hD=ih(),dD=1,pD=2;function fD(r,e,t,i){var s=t.length,n=s,o=!i;if(r==null)return!n;for(r=Object(r);s--;){var a=t[s];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++s<n;){a=t[s];var l=a[0],u=r[l],c=a[1];if(o&&a[2]){if(u===void 0&&!(l in r))return!1}else{var g=new cD;if(i)var m=i(u,c,l,r,e,g);if(!(m===void 0?hD(c,u,dD|pD,i,g):m))return!1}}return!0}Cy.exports=fD});var sh=H((j1e,Ey)=>{h();d();p();var gD=Jt();function mD(r){return r===r&&!gD(r)}Ey.exports=mD});var Ry=H((q1e,Iy)=>{h();d();p();var _D=sh(),yD=sn();function xD(r){for(var e=yD(r),t=e.length;t--;){var i=e[t],s=r[i];e[t]=[i,s,_D(s)]}return e}Iy.exports=xD});var nh=H((Y1e,Py)=>{h();d();p();function bD(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Py.exports=bD});var Oy=H((Q1e,ky)=>{h();d();p();var vD=Ay(),SD=Ry(),wD=nh();function TD(r){var e=SD(r);return e.length==1&&e[0][2]?wD(e[0][0],e[0][1]):function(t){return t===r||vD(t,r,e)}}ky.exports=TD});var on=H((r2e,Ly)=>{h();d();p();var CD=Oi(),AD=Fr(),ED="[object Symbol]";function ID(r){return typeof r=="symbol"||AD(r)&&CD(r)==ED}Ly.exports=ID});var va=H((o2e,Dy)=>{h();d();p();var RD=Qt(),PD=on(),kD=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,OD=/^\w*$/;function LD(r,e){if(RD(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||PD(r)?!0:OD.test(r)||!kD.test(r)||e!=null&&r in Object(e)}Dy.exports=LD});var My=H((c2e,By)=>{h();d();p();var Fy=ua(),DD="Expected a function";function oh(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(DD);var t=function(){var i=arguments,s=e?e.apply(this,i):i[0],n=t.cache;if(n.has(s))return n.get(s);var o=r.apply(this,i);return t.cache=n.set(s,o)||n,o};return t.cache=new(oh.Cache||Fy),t}oh.Cache=Fy;By.exports=oh});var zy=H((f2e,Ny)=>{h();d();p();var FD=My(),BD=500;function MD(r){var e=FD(r,function(i){return t.size===BD&&t.clear(),i}),t=e.cache;return e}Ny.exports=MD});var Uy=H((y2e,jy)=>{h();d();p();var ND=zy(),zD=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jD=/\\(\\)?/g,UD=ND(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(zD,function(t,i,s,n){e.push(s?n.replace(jD,"$1"):i||t)}),e});jy.exports=UD});var Gy=H((S2e,Vy)=>{h();d();p();var Hy=ki(),HD=Pc(),WD=Qt(),qD=on(),$D=1/0,Wy=Hy?Hy.prototype:void 0,qy=Wy?Wy.toString:void 0;function $y(r){if(typeof r=="string")return r;if(WD(r))return HD(r,$y)+"";if(qD(r))return qy?qy.call(r):"";var e=r+"";return e=="0"&&1/r==-$D?"-0":e}Vy.exports=$y});var Xy=H((A2e,Yy)=>{h();d();p();var VD=Gy();function GD(r){return r==null?"":VD(r)}Yy.exports=GD});var an=H((P2e,Ky)=>{h();d();p();var YD=Qt(),XD=va(),KD=Uy(),JD=Xy();function QD(r,e){return YD(r)?r:XD(r,e)?[r]:KD(JD(r))}Ky.exports=QD});var zi=H((D2e,Jy)=>{h();d();p();var ZD=on(),eF=1/0;function tF(r){if(typeof r=="string"||ZD(r))return r;var e=r+"";return e=="0"&&1/r==-eF?"-0":e}Jy.exports=tF});var Sa=H((N2e,Qy)=>{h();d();p();var rF=an(),iF=zi();function sF(r,e){e=rF(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[iF(e[t++])];return t&&t==i?r:void 0}Qy.exports=sF});var ex=H((H2e,Zy)=>{h();d();p();var nF=Sa();function oF(r,e,t){var i=r==null?void 0:nF(r,e);return i===void 0?t:i}Zy.exports=oF});var rx=H((V2e,tx)=>{h();d();p();function aF(r,e){return r!=null&&e in Object(r)}tx.exports=aF});var sx=H((K2e,ix)=>{h();d();p();var lF=an(),uF=Wc(),cF=Qt(),hF=ga(),dF=ma(),pF=zi();function fF(r,e,t){e=lF(e,r);for(var i=-1,s=e.length,n=!1;++i<s;){var o=pF(e[i]);if(!(n=r!=null&&t(r,o)))break;r=r[o]}return n||++i!=s?n:(s=r==null?0:r.length,!!s&&dF(s)&&hF(o,s)&&(cF(r)||uF(r)))}ix.exports=fF});var ox=H((eAe,nx)=>{h();d();p();var gF=rx(),mF=sx();function _F(r,e){return r!=null&&mF(r,e,gF)}nx.exports=_F});var lx=H((sAe,ax)=>{h();d();p();var yF=ih(),xF=ex(),bF=ox(),vF=va(),SF=sh(),wF=nh(),TF=zi(),CF=1,AF=2;function EF(r,e){return vF(r)&&SF(e)?wF(TF(r),e):function(t){var i=xF(t,r);return i===void 0&&i===e?bF(t,r):yF(e,i,CF|AF)}}ax.exports=EF});var cx=H((lAe,ux)=>{h();d();p();function IF(r){return r}ux.exports=IF});var dx=H((dAe,hx)=>{h();d();p();function RF(r){return function(e){return e?.[r]}}hx.exports=RF});var fx=H((mAe,px)=>{h();d();p();var PF=Sa();function kF(r){return function(e){return PF(e,r)}}px.exports=kF});var mx=H((bAe,gx)=>{h();d();p();var OF=dx(),LF=fx(),DF=va(),FF=zi();function BF(r){return DF(r)?OF(FF(r)):LF(r)}gx.exports=BF});var yx=H((TAe,_x)=>{h();d();p();var MF=Oy(),NF=lx(),zF=cx(),jF=Qt(),UF=mx();function HF(r){return typeof r=="function"?r:r==null?zF:typeof r=="object"?jF(r)?NF(r[0],r[1]):MF(r):UF(r)}_x.exports=HF});var bx=H((IAe,xx)=>{h();d();p();var WF=Dr(),qF=function(){try{var r=WF(Object,"defineProperty");return r({},"",{}),r}catch{}}();xx.exports=qF});var ah=H((OAe,Sx)=>{h();d();p();var vx=bx();function $F(r,e,t){e=="__proto__"&&vx?vx(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}Sx.exports=$F});var wa=H((BAe,wx)=>{h();d();p();var VF=ah(),GF=aa(),YF=Object.prototype,XF=YF.hasOwnProperty;function KF(r,e,t){var i=r[e];(!(XF.call(r,e)&&GF(i,t))||t===void 0&&!(e in r))&&VF(r,e,t)}wx.exports=KF});var Ax=H((jAe,Cx)=>{h();d();p();var JF=wa(),QF=an(),ZF=ga(),Tx=Jt(),eB=zi();function tB(r,e,t,i){if(!Tx(r))return r;e=QF(e,r);for(var s=-1,n=e.length,o=n-1,a=r;a!=null&&++s<n;){var l=eB(e[s]),u=t;if(l==="__proto__"||l==="constructor"||l==="prototype")return r;if(s!=o){var c=a[l];u=i?i(c,l,a):void 0,u===void 0&&(u=Tx(c)?c:ZF(e[s+1])?[]:{})}JF(a,l,u),a=a[l]}return r}Cx.exports=tB});var Ix=H((qAe,Ex)=>{h();d();p();var rB=Sa(),iB=Ax(),sB=an();function nB(r,e,t){for(var i=-1,s=e.length,n={};++i<s;){var o=e[i],a=rB(r,o);t(a,o)&&iB(n,sB(o,r),a)}return n}Ex.exports=nB});var lh=H((YAe,Rx)=>{h();d();p();var oB=Gc(),aB=oB(Object.getPrototypeOf,Object);Rx.exports=aB});var uh=H((QAe,Px)=>{h();d();p();var lB=jc(),uB=lh(),cB=pa(),hB=Hc(),dB=Object.getOwnPropertySymbols,pB=dB?function(r){for(var e=[];r;)lB(e,cB(r)),r=uB(r);return e}:hB;Px.exports=pB});var Ox=H((rEe,kx)=>{h();d();p();function fB(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}kx.exports=fB});var Dx=H((oEe,Lx)=>{h();d();p();var gB=Jt(),mB=xa(),_B=Ox(),yB=Object.prototype,xB=yB.hasOwnProperty;function bB(r){if(!gB(r))return _B(r);var e=mB(r),t=[];for(var i in r)i=="constructor"&&(e||!xB.call(r,i))||t.push(i);return t}Lx.exports=bB});var Ta=H((cEe,Fx)=>{h();d();p();var vB=Vc(),SB=Dx(),wB=Yc();function TB(r){return wB(r)?vB(r,!0):SB(r)}Fx.exports=TB});var ch=H((fEe,Bx)=>{h();d();p();var CB=Uc(),AB=uh(),EB=Ta();function IB(r){return CB(r,EB,AB)}Bx.exports=IB});var Nx=H((yEe,Mx)=>{h();d();p();var RB=Pc(),PB=yx(),kB=Ix(),OB=ch();function LB(r,e){if(r==null)return{};var t=RB(OB(r),function(i){return[i]});return e=PB(e),kB(r,t,function(i,s){return e(i,s[0])})}Mx.exports=LB});var Gx=H((FEe,Vx)=>{h();d();p();function XB(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Vx.exports=XB});var ln=H((zEe,Yx)=>{h();d();p();var KB=wa(),JB=ah();function QB(r,e,t,i){var s=!t;t||(t={});for(var n=-1,o=e.length;++n<o;){var a=e[n],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),s?JB(t,a,l):KB(t,a,l)}return t}Yx.exports=QB});var Kx=H((WEe,Xx)=>{h();d();p();var ZB=ln(),eM=sn();function tM(r,e){return r&&ZB(e,eM(e),r)}Xx.exports=tM});var Qx=H((GEe,Jx)=>{h();d();p();var rM=ln(),iM=Ta();function sM(r,e){return r&&rM(e,iM(e),r)}Jx.exports=sM});var ib=H((un,ji)=>{h();d();p();var nM=Mt(),rb=typeof un=="object"&&un&&!un.nodeType&&un,Zx=rb&&typeof ji=="object"&&ji&&!ji.nodeType&&ji,oM=Zx&&Zx.exports===rb,eb=oM?nM.Buffer:void 0,tb=eb?eb.allocUnsafe:void 0;function aM(r,e){if(e)return r.slice();var t=r.length,i=tb?tb(t):new r.constructor(t);return r.copy(i),i}ji.exports=aM});var nb=H((eIe,sb)=>{h();d();p();function lM(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t<i;)e[t]=r[t];return e}sb.exports=lM});var ab=H((sIe,ob)=>{h();d();p();var uM=ln(),cM=pa();function hM(r,e){return uM(r,cM(r),e)}ob.exports=hM});var ub=H((lIe,lb)=>{h();d();p();var dM=ln(),pM=uh();function fM(r,e){return dM(r,pM(r),e)}lb.exports=fM});var hb=H((dIe,cb)=>{h();d();p();var gM=Object.prototype,mM=gM.hasOwnProperty;function _M(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&mM.call(r,"index")&&(t.index=r.index,t.input=r.input),t}cb.exports=_M});var Aa=H((mIe,pb)=>{h();d();p();var db=Nc();function yM(r){var e=new r.constructor(r.byteLength);return new db(e).set(new db(r)),e}pb.exports=yM});var gb=H((bIe,fb)=>{h();d();p();var xM=Aa();function bM(r,e){var t=e?xM(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}fb.exports=bM});var _b=H((TIe,mb)=>{h();d();p();var vM=/\w*$/;function SM(r){var e=new r.constructor(r.source,vM.exec(r));return e.lastIndex=r.lastIndex,e}mb.exports=SM});var Sb=H((IIe,vb)=>{h();d();p();var yb=ki(),xb=yb?yb.prototype:void 0,bb=xb?xb.valueOf:void 0;function wM(r){return bb?Object(bb.call(r)):{}}vb.exports=wM});var Tb=H((OIe,wb)=>{h();d();p();var TM=Aa();function CM(r,e){var t=e?TM(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}wb.exports=CM});var Ab=H((BIe,Cb)=>{h();d();p();var AM=Aa(),EM=gb(),IM=_b(),RM=Sb(),PM=Tb(),kM="[object Boolean]",OM="[object Date]",LM="[object Map]",DM="[object Number]",FM="[object RegExp]",BM="[object Set]",MM="[object String]",NM="[object Symbol]",zM="[object ArrayBuffer]",jM="[object DataView]",UM="[object Float32Array]",HM="[object Float64Array]",WM="[object Int8Array]",qM="[object Int16Array]",$M="[object Int32Array]",VM="[object Uint8Array]",GM="[object Uint8ClampedArray]",YM="[object Uint16Array]",XM="[object Uint32Array]";function KM(r,e,t){var i=r.constructor;switch(e){case zM:return AM(r);case kM:case OM:return new i(+r);case jM:return EM(r,t);case UM:case HM:case WM:case qM:case $M:case VM:case GM:case YM:case XM:return PM(r,t);case LM:return new i;case DM:case MM:return new i(r);case FM:return IM(r);case BM:return new i;case NM:return RM(r)}}Cb.exports=KM});var Rb=H((jIe,Ib)=>{h();d();p();var JM=Jt(),Eb=Object.create,QM=function(){function r(){}return function(e){if(!JM(e))return{};if(Eb)return Eb(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ib.exports=QM});var kb=H((qIe,Pb)=>{h();d();p();var ZM=Rb(),e5=lh(),t5=xa();function r5(r){return typeof r.constructor=="function"&&!t5(r)?ZM(e5(r)):{}}Pb.exports=r5});var Lb=H((YIe,Ob)=>{h();d();p();var i5=nn(),s5=Fr(),n5="[object Map]";function o5(r){return s5(r)&&i5(r)==n5}Ob.exports=o5});var Mb=H((QIe,Bb)=>{h();d();p();var a5=Lb(),l5=_a(),Db=ya(),Fb=Db&&Db.isMap,u5=Fb?l5(Fb):a5;Bb.exports=u5});var zb=H((rRe,Nb)=>{h();d();p();var c5=nn(),h5=Fr(),d5="[object Set]";function p5(r){return h5(r)&&c5(r)==d5}Nb.exports=p5});var Wb=H((oRe,Hb)=>{h();d();p();var f5=zb(),g5=_a(),jb=ya(),Ub=jb&&jb.isSet,m5=Ub?g5(Ub):f5;Hb.exports=m5});var Yb=H((cRe,Gb)=>{h();d();p();var _5=ca(),y5=Gx(),x5=wa(),b5=Kx(),v5=Qx(),S5=ib(),w5=nb(),T5=ab(),C5=ub(),A5=Xc(),E5=ch(),I5=nn(),R5=hb(),P5=Ab(),k5=kb(),O5=Qt(),L5=fa(),D5=Mb(),F5=Jt(),B5=Wb(),M5=sn(),N5=Ta(),z5=1,j5=2,U5=4,qb="[object Arguments]",H5="[object Array]",W5="[object Boolean]",q5="[object Date]",$5="[object Error]",$b="[object Function]",V5="[object GeneratorFunction]",G5="[object Map]",Y5="[object Number]",Vb="[object Object]",X5="[object RegExp]",K5="[object Set]",J5="[object String]",Q5="[object Symbol]",Z5="[object WeakMap]",eN="[object ArrayBuffer]",tN="[object DataView]",rN="[object Float32Array]",iN="[object Float64Array]",sN="[object Int8Array]",nN="[object Int16Array]",oN="[object Int32Array]",aN="[object Uint8Array]",lN="[object Uint8ClampedArray]",uN="[object Uint16Array]",cN="[object Uint32Array]",Le={};Le[qb]=Le[H5]=Le[eN]=Le[tN]=Le[W5]=Le[q5]=Le[rN]=Le[iN]=Le[sN]=Le[nN]=Le[oN]=Le[G5]=Le[Y5]=Le[Vb]=Le[X5]=Le[K5]=Le[J5]=Le[Q5]=Le[aN]=Le[lN]=Le[uN]=Le[cN]=!0;Le[$5]=Le[$b]=Le[Z5]=!1;function Ea(r,e,t,i,s,n){var o,a=e&z5,l=e&j5,u=e&U5;if(t&&(o=s?t(r,i,s,n):t(r)),o!==void 0)return o;if(!F5(r))return r;var c=O5(r);if(c){if(o=R5(r),!a)return w5(r,o)}else{var g=I5(r),m=g==$b||g==V5;if(L5(r))return S5(r,a);if(g==Vb||g==qb||m&&!s){if(o=l||m?{}:k5(r),!a)return l?C5(r,v5(o,r)):T5(r,b5(o,r))}else{if(!Le[g])return s?r:{};o=P5(r,g,a)}}n||(n=new _5);var y=n.get(r);if(y)return y;n.set(r,o),B5(r)?r.forEach(function(A){o.add(Ea(A,e,t,A,r,n))}):D5(r)&&r.forEach(function(A,T){o.set(T,Ea(A,e,t,T,r,n))});var b=u?l?E5:A5:l?N5:M5,C=c?void 0:b(r);return y5(C||r,function(A,T){C&&(T=A,A=r[T]),x5(o,T,Ea(A,e,t,T,r,n))}),o}Gb.exports=Ea});var Kb=H((fRe,Xb)=>{h();d();p();var hN=Yb(),dN=1,pN=4;function fN(r){return hN(r,dN|pN)}Xb.exports=fN});var Qb=H((yRe,Jb)=>{h();d();p();function gN(r,e,t,i){for(var s=r.length,n=t+(i?1:-1);i?n--:++n<s;)if(e(r[n],n,r))return n;return-1}Jb.exports=gN});var e0=H((SRe,Zb)=>{h();d();p();function mN(r){return r!==r}Zb.exports=mN});var r0=H((ARe,t0)=>{h();d();p();function _N(r,e,t){for(var i=t-1,s=r.length;++i<s;)if(r[i]===e)return i;return-1}t0.exports=_N});var s0=H((PRe,i0)=>{h();d();p();var yN=Qb(),xN=e0(),bN=r0();function vN(r,e,t){return e===e?bN(r,e,t):yN(r,xN,t)}i0.exports=vN});var o0=H((DRe,n0)=>{h();d();p();var SN=s0();function wN(r,e){var t=r==null?0:r.length;return!!t&&SN(r,e,0)>-1}n0.exports=wN});var l0=H((NRe,a0)=>{h();d();p();function TN(r,e,t){for(var i=-1,s=r==null?0:r.length;++i<s;)if(t(e,r[i]))return!0;return!1}a0.exports=TN});var c0=H((HRe,u0)=>{h();d();p();function CN(){}u0.exports=CN});var d0=H((VRe,h0)=>{h();d();p();var ph=Kc(),AN=c0(),EN=da(),IN=1/0,RN=ph&&1/EN(new ph([,-0]))[1]==IN?function(r){return new ph(r)}:AN;h0.exports=RN});var f0=H((KRe,p0)=>{h();d();p();var PN=Fc(),kN=o0(),ON=l0(),LN=Bc(),DN=d0(),FN=da(),BN=200;function MN(r,e,t){var i=-1,s=kN,n=r.length,o=!0,a=[],l=a;if(t)o=!1,s=ON;else if(n>=BN){var u=e?null:DN(r);if(u)return FN(u);o=!1,s=LN,l=new PN}else l=e?[]:a;e:for(;++i<n;){var c=r[i],g=e?e(c):c;if(c=t||c!==0?c:0,o&&g===g){for(var m=l.length;m--;)if(l[m]===g)continue e;e&&l.push(g),a.push(c)}else s(l,g,t)||(l!==a&&l.push(g),a.push(c))}return a}p0.exports=MN});var m0=H((ePe,g0)=>{h();d();p();var NN=f0();function zN(r){return r&&r.length?NN(r):[]}g0.exports=zN});var gh=H((_0,fh)=>{h();d();p();(function(r){if(typeof _0=="object"&&typeof fh<"u")fh.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window<"u"||typeof window<"u"?e=window:typeof self<"u"?e=self:e=this,e.memoizerific=r()}})(function(){var r,e,t;return function i(s,n,o){function a(c,g){if(!n[c]){if(!s[c]){var m=typeof Ft=="function"&&Ft;if(!g&&m)return m(c,!0);if(l)return l(c,!0);var y=new Error("Cannot find module '"+c+"'");throw y.code="MODULE_NOT_FOUND",y}var b=n[c]={exports:{}};s[c][0].call(b.exports,function(C){var A=s[c][1][C];return a(A||C)},b,b.exports,i,s,n,o)}return n[c].exports}for(var l=typeof Ft=="function"&&Ft,u=0;u<o.length;u++)a(o[u]);return a}({1:[function(i,s,n){s.exports=function(o){if(typeof Map!="function"||o){var a=i("./similar");return new a}else return new Map}},{"./similar":2}],2:[function(i,s,n){function o(){return this.list=[],this.lastItem=void 0,this.size=0,this}o.prototype.get=function(a){var l;if(this.lastItem&&this.isEqual(this.lastItem.key,a))return this.lastItem.val;if(l=this.indexOf(a),l>=0)return this.lastItem=this.list[l],this.list[l].val},o.prototype.set=function(a,l){var u;return this.lastItem&&this.isEqual(this.lastItem.key,a)?(this.lastItem.val=l,this):(u=this.indexOf(a),u>=0?(this.lastItem=this.list[u],this.list[u].val=l,this):(this.lastItem={key:a,val:l},this.list.push(this.lastItem),this.size++,this))},o.prototype.delete=function(a){var l;if(this.lastItem&&this.isEqual(this.lastItem.key,a)&&(this.lastItem=void 0),l=this.indexOf(a),l>=0)return this.size--,this.list.splice(l,1)[0]},o.prototype.has=function(a){var l;return this.lastItem&&this.isEqual(this.lastItem.key,a)?!0:(l=this.indexOf(a),l>=0?(this.lastItem=this.list[l],!0):!1)},o.prototype.forEach=function(a,l){var u;for(u=0;u<this.size;u++)a.call(l||this,this.list[u].val,this.list[u].key,this)},o.prototype.indexOf=function(a){var l;for(l=0;l<this.size;l++)if(this.isEqual(this.list[l].key,a))return l;return-1},o.prototype.isEqual=function(a,l){return a===l||a!==a&&l!==l},s.exports=o},{}],3:[function(i,s,n){var o=i("map-or-similar");s.exports=function(c){var g=new o(!1),m=[];return function(y){var b=function(){var C=g,A,T,R=arguments.length-1,P=Array(R+1),E=!0,k;if((b.numArgs||b.numArgs===0)&&b.numArgs!==R+1)throw new Error("Memoizerific functions should always be called with the same number of arguments");for(k=0;k<R;k++){if(P[k]={cacheItem:C,arg:arguments[k]},C.has(arguments[k])){C=C.get(arguments[k]);continue}E=!1,A=new o(!1),C.set(arguments[k],A),C=A}return E&&(C.has(arguments[R])?T=C.get(arguments[R]):E=!1),E||(T=y.apply(null,arguments),C.set(arguments[R],T)),c>0&&(P[R]={cacheItem:C,arg:arguments[R]},E?a(m,P):m.push(P),m.length>c&&l(m.shift())),b.wasMemoized=E,b.numArgs=R+1,T};return b.limit=c,b.wasMemoized=!1,b.cache=g,b.lru=m,b}};function a(c,g){var m=c.length,y=g.length,b,C,A;for(C=0;C<m;C++){for(b=!0,A=0;A<y;A++)if(!u(c[C][A].arg,g[A].arg)){b=!1;break}if(b)break}c.push(c.splice(C,1)[0])}function l(c){var g=c.length,m=c[g-1],y,b;for(m.cacheItem.delete(m.arg),b=g-2;b>=0&&(m=c[b],y=m.cacheItem.get(m.arg),!y||!y.size);b--)m.cacheItem.delete(m.arg)}function u(c,g){return c===g||c!==c&&g!==g}},{"map-or-similar":1}]},{},[3])(3)})});var iw=H((Xa,rw)=>{h();d();p();(function(r,e){typeof Xa=="object"&&typeof rw<"u"?e(Xa):typeof define=="function"&&define.amd?define(["exports"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.jtpp={}))})(Xa,function(r){"use strict";function e(_){return _.text!==void 0&&_.text!==""?`'${_.type}' with value '${_.text}'`:`'${_.type}'`}class t extends Error{constructor(I){super(`No parslet found for token: ${e(I)}`),this.token=I,Object.setPrototypeOf(this,t.prototype)}getToken(){return this.token}}class i extends Error{constructor(I){super(`The parsing ended early. The next token was: ${e(I)}`),this.token=I,Object.setPrototypeOf(this,i.prototype)}getToken(){return this.token}}class s extends Error{constructor(I,L){let V=`Unexpected type: '${I.type}'.`;L!==void 0&&(V+=` Message: ${L}`),super(V),Object.setPrototypeOf(this,s.prototype)}}function n(_){return I=>I.startsWith(_)?{type:_,text:_}:null}function o(_){let I=0,L,V=_[0],Z=!1;if(V!=="'"&&V!=='"')return null;for(;I<_.length;){if(I++,L=_[I],!Z&&L===V){I++;break}Z=!Z&&L==="\\"}if(L!==V)throw new Error("Unterminated String");return _.slice(0,I)}let a=new RegExp("[$_\\p{ID_Start}]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","u"),l=new RegExp("[$\\-\\p{ID_Continue}\\u200C\\u200D]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","u");function u(_){let I=_[0];if(!a.test(I))return null;let L=1;do{if(I=_[L],!l.test(I))break;L++}while(L<_.length);return _.slice(0,L)}let c=/^(NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity))/;function g(_){var I,L;return(L=(I=c.exec(_))===null||I===void 0?void 0:I[0])!==null&&L!==void 0?L:null}let m=_=>{let I=u(_);return I==null?null:{type:"Identifier",text:I}};function y(_){return I=>{if(!I.startsWith(_))return null;let L=I[_.length];return L!==void 0&&l.test(L)?null:{type:_,text:_}}}let b=_=>{let I=o(_);return I==null?null:{type:"StringValue",text:I}},C=_=>_.length>0?null:{type:"EOF",text:""},A=_=>{let I=g(_);return I===null?null:{type:"Number",text:I}},T=[C,n("=>"),n("("),n(")"),n("{"),n("}"),n("["),n("]"),n("|"),n("&"),n("<"),n(">"),n(","),n(";"),n("*"),n("?"),n("!"),n("="),n(":"),n("..."),n("."),n("#"),n("~"),n("/"),n("@"),y("undefined"),y("null"),y("function"),y("this"),y("new"),y("module"),y("event"),y("external"),y("typeof"),y("keyof"),y("readonly"),y("import"),y("is"),y("in"),y("asserts"),A,m,b],R=/^\s*\n\s*/;class P{static create(I){let L=this.read(I);I=L.text;let V=this.read(I);return I=V.text,new P(I,void 0,L.token,V.token)}constructor(I,L,V,Z){this.text="",this.text=I,this.previous=L,this.current=V,this.next=Z}static read(I,L=!1){L=L||R.test(I),I=I.trim();for(let V of T){let Z=V(I);if(Z!==null){let oe=Object.assign(Object.assign({},Z),{startOfLine:L});return I=I.slice(oe.text.length),{text:I,token:oe}}}throw new Error("Unexpected Token "+I)}advance(){let I=P.read(this.text);return new P(I.text,this.current,this.next,I.token)}}function E(_){if(_===void 0)throw new Error("Unexpected undefined");if(_.type==="JsdocTypeKeyValue"||_.type==="JsdocTypeParameterList"||_.type==="JsdocTypeProperty"||_.type==="JsdocTypeReadonlyProperty"||_.type==="JsdocTypeObjectField"||_.type==="JsdocTypeJsdocObjectField"||_.type==="JsdocTypeIndexSignature"||_.type==="JsdocTypeMappedType")throw new s(_);return _}function k(_){return _.type==="JsdocTypeKeyValue"?B(_):E(_)}function O(_){return _.type==="JsdocTypeName"?_:B(_)}function B(_){if(_.type!=="JsdocTypeKeyValue")throw new s(_);return _}function F(_){var I;if(_.type==="JsdocTypeVariadic"){if(((I=_.element)===null||I===void 0?void 0:I.type)==="JsdocTypeName")return _;throw new s(_)}if(_.type!=="JsdocTypeNumber"&&_.type!=="JsdocTypeName")throw new s(_);return _}function U(_){return _.type==="JsdocTypeIndexSignature"||_.type==="JsdocTypeMappedType"}var q;(function(_){_[_.ALL=0]="ALL",_[_.PARAMETER_LIST=1]="PARAMETER_LIST",_[_.OBJECT=2]="OBJECT",_[_.KEY_VALUE=3]="KEY_VALUE",_[_.INDEX_BRACKETS=4]="INDEX_BRACKETS",_[_.UNION=5]="UNION",_[_.INTERSECTION=6]="INTERSECTION",_[_.PREFIX=7]="PREFIX",_[_.INFIX=8]="INFIX",_[_.TUPLE=9]="TUPLE",_[_.SYMBOL=10]="SYMBOL",_[_.OPTIONAL=11]="OPTIONAL",_[_.NULLABLE=12]="NULLABLE",_[_.KEY_OF_TYPE_OF=13]="KEY_OF_TYPE_OF",_[_.FUNCTION=14]="FUNCTION",_[_.ARROW=15]="ARROW",_[_.ARRAY_BRACKETS=16]="ARRAY_BRACKETS",_[_.GENERIC=17]="GENERIC",_[_.NAME_PATH=18]="NAME_PATH",_[_.PARENTHESIS=19]="PARENTHESIS",_[_.SPECIAL_TYPES=20]="SPECIAL_TYPES"})(q||(q={}));class ee{constructor(I,L,V){this.grammar=I,typeof L=="string"?this._lexer=P.create(L):this._lexer=L,this.baseParser=V}get lexer(){return this._lexer}parse(){let I=this.parseType(q.ALL);if(this.lexer.current.type!=="EOF")throw new i(this.lexer.current);return I}parseType(I){return E(this.parseIntermediateType(I))}parseIntermediateType(I){let L=this.tryParslets(null,I);if(L===null)throw new t(this.lexer.current);return this.parseInfixIntermediateType(L,I)}parseInfixIntermediateType(I,L){let V=this.tryParslets(I,L);for(;V!==null;)I=V,V=this.tryParslets(I,L);return I}tryParslets(I,L){for(let V of this.grammar){let Z=V(this,L,I);if(Z!==null)return Z}return null}consume(I){return Array.isArray(I)||(I=[I]),I.includes(this.lexer.current.type)?(this._lexer=this.lexer.advance(),!0):!1}acceptLexerState(I){this._lexer=I.lexer}}function te(_){return _==="EOF"||_==="|"||_===","||_===")"||_===">"}let $=(_,I,L)=>{let V=_.lexer.current.type,Z=_.lexer.next.type;return L==null&&V==="?"&&!te(Z)||L!=null&&V==="?"?(_.consume("?"),L==null?{type:"JsdocTypeNullable",element:_.parseType(q.NULLABLE),meta:{position:"prefix"}}:{type:"JsdocTypeNullable",element:E(L),meta:{position:"suffix"}}):null};function D(_){let I=(L,V,Z)=>{let oe=L.lexer.current.type,ue=L.lexer.next.type;if(Z===null){if("parsePrefix"in _&&_.accept(oe,ue))return _.parsePrefix(L)}else if("parseInfix"in _&&_.precedence>V&&_.accept(oe,ue))return _.parseInfix(L,Z);return null};return Object.defineProperty(I,"name",{value:_.name}),I}let N=D({name:"optionalParslet",accept:_=>_==="=",precedence:q.OPTIONAL,parsePrefix:_=>(_.consume("="),{type:"JsdocTypeOptional",element:_.parseType(q.OPTIONAL),meta:{position:"prefix"}}),parseInfix:(_,I)=>(_.consume("="),{type:"JsdocTypeOptional",element:E(I),meta:{position:"suffix"}})}),G=D({name:"numberParslet",accept:_=>_==="Number",parsePrefix:_=>{let I=parseFloat(_.lexer.current.text);return _.consume("Number"),{type:"JsdocTypeNumber",value:I}}}),Q=D({name:"parenthesisParslet",accept:_=>_==="(",parsePrefix:_=>{if(_.consume("("),_.consume(")"))return{type:"JsdocTypeParameterList",elements:[]};let I=_.parseIntermediateType(q.ALL);if(!_.consume(")"))throw new Error("Unterminated parenthesis");return I.type==="JsdocTypeParameterList"?I:I.type==="JsdocTypeKeyValue"?{type:"JsdocTypeParameterList",elements:[I]}:{type:"JsdocTypeParenthesis",element:E(I)}}}),ne=D({name:"specialTypesParslet",accept:(_,I)=>_==="?"&&te(I)||_==="null"||_==="undefined"||_==="*",parsePrefix:_=>{if(_.consume("null"))return{type:"JsdocTypeNull"};if(_.consume("undefined"))return{type:"JsdocTypeUndefined"};if(_.consume("*"))return{type:"JsdocTypeAny"};if(_.consume("?"))return{type:"JsdocTypeUnknown"};throw new Error("Unacceptable token: "+_.lexer.current.text)}}),ie=D({name:"notNullableParslet",accept:_=>_==="!",precedence:q.NULLABLE,parsePrefix:_=>(_.consume("!"),{type:"JsdocTypeNotNullable",element:_.parseType(q.NULLABLE),meta:{position:"prefix"}}),parseInfix:(_,I)=>(_.consume("!"),{type:"JsdocTypeNotNullable",element:E(I),meta:{position:"suffix"}})});function re({allowTrailingComma:_}){return D({name:"parameterListParslet",accept:I=>I===",",precedence:q.PARAMETER_LIST,parseInfix:(I,L)=>{let V=[k(L)];I.consume(",");do try{let Z=I.parseIntermediateType(q.PARAMETER_LIST);V.push(k(Z))}catch(Z){if(_&&Z instanceof t)break;throw Z}while(I.consume(","));if(V.length>0&&V.slice(0,-1).some(Z=>Z.type==="JsdocTypeVariadic"))throw new Error("Only the last parameter may be a rest parameter");return{type:"JsdocTypeParameterList",elements:V}}})}let ae=D({name:"genericParslet",accept:(_,I)=>_==="<"||_==="."&&I==="<",precedence:q.GENERIC,parseInfix:(_,I)=>{let L=_.consume(".");_.consume("<");let V=[];do V.push(_.parseType(q.PARAMETER_LIST));while(_.consume(","));if(!_.consume(">"))throw new Error("Unterminated generic parameter list");return{type:"JsdocTypeGeneric",left:E(I),elements:V,meta:{brackets:"angle",dot:L}}}}),ce=D({name:"unionParslet",accept:_=>_==="|",precedence:q.UNION,parseInfix:(_,I)=>{_.consume("|");let L=[];do L.push(_.parseType(q.UNION));while(_.consume("|"));return{type:"JsdocTypeUnion",elements:[E(I),...L]}}}),Se=[$,N,G,Q,ne,ie,re({allowTrailingComma:!0}),ae,ce,N];function we({allowSquareBracketsOnAnyType:_,allowJsdocNamePaths:I,pathGrammar:L}){return function(Z,oe,ue){if(ue==null||oe>=q.NAME_PATH)return null;let Te=Z.lexer.current.type,et=Z.lexer.next.type;if(!(Te==="."&&et!=="<"||Te==="["&&(_||ue.type==="JsdocTypeName")||I&&(Te==="~"||Te==="#")))return null;let Dt,Wn=!1;Z.consume(".")?Dt="property":Z.consume("[")?(Dt="property-brackets",Wn=!0):Z.consume("~")?Dt="inner":(Z.consume("#"),Dt="instance");let lp=L!==null?new ee(L,Z.lexer,Z):Z,tr=lp.parseIntermediateType(q.NAME_PATH);Z.acceptLexerState(lp);let cs;switch(tr.type){case"JsdocTypeName":cs={type:"JsdocTypeProperty",value:tr.value,meta:{quote:void 0}};break;case"JsdocTypeNumber":cs={type:"JsdocTypeProperty",value:tr.value.toString(10),meta:{quote:void 0}};break;case"JsdocTypeStringValue":cs={type:"JsdocTypeProperty",value:tr.value,meta:{quote:tr.meta.quote}};break;case"JsdocTypeSpecialNamePath":if(tr.specialType==="event")cs=tr;else throw new s(tr,"Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'");break;default:throw new s(tr,"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'")}if(Wn&&!Z.consume("]")){let up=Z.lexer.current;throw new Error(`Unterminated square brackets. Next token is '${up.type}' with text '${up.text}'`)}return{type:"JsdocTypeNamePath",left:E(ue),right:cs,pathType:Dt}}}function xe({allowedAdditionalTokens:_}){return D({name:"nameParslet",accept:I=>I==="Identifier"||I==="this"||I==="new"||_.includes(I),parsePrefix:I=>{let{type:L,text:V}=I.lexer.current;return I.consume(L),{type:"JsdocTypeName",value:V}}})}let Ie=D({name:"stringValueParslet",accept:_=>_==="StringValue",parsePrefix:_=>{let I=_.lexer.current.text;return _.consume("StringValue"),{type:"JsdocTypeStringValue",value:I.slice(1,-1),meta:{quote:I[0]==="'"?"single":"double"}}}});function De({pathGrammar:_,allowedTypes:I}){return D({name:"specialNamePathParslet",accept:L=>I.includes(L),parsePrefix:L=>{let V=L.lexer.current.type;if(L.consume(V),!L.consume(":"))return{type:"JsdocTypeName",value:V};let Z,oe=L.lexer.current;if(L.consume("StringValue"))Z={type:"JsdocTypeSpecialNamePath",value:oe.text.slice(1,-1),specialType:V,meta:{quote:oe.text[0]==="'"?"single":"double"}};else{let et="",Ve=["Identifier","@","/"];for(;Ve.some(Dt=>L.consume(Dt));)et+=oe.text,oe=L.lexer.current;Z={type:"JsdocTypeSpecialNamePath",value:et,specialType:V,meta:{quote:void 0}}}let ue=new ee(_,L.lexer,L),Te=ue.parseInfixIntermediateType(Z,q.ALL);return L.acceptLexerState(ue),E(Te)}})}let nt=[xe({allowedAdditionalTokens:["external","module"]}),Ie,G,we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:null})],$e=[...nt,De({allowedTypes:["event"],pathGrammar:nt})];function Re(_){let I;if(_.type==="JsdocTypeParameterList")I=_.elements;else if(_.type==="JsdocTypeParenthesis")I=[_.element];else throw new s(_);return I.map(L=>k(L))}function ot(_){let I=Re(_);if(I.some(L=>L.type==="JsdocTypeKeyValue"))throw new Error("No parameter should be named");return I}function je({allowNamedParameters:_,allowNoReturnType:I,allowWithoutParenthesis:L,allowNewAsFunctionKeyword:V}){return D({name:"functionParslet",accept:(Z,oe)=>Z==="function"||V&&Z==="new"&&oe==="(",parsePrefix:Z=>{let oe=Z.consume("new");Z.consume("function");let ue=Z.lexer.current.type==="(";if(!ue){if(!L)throw new Error("function is missing parameter list");return{type:"JsdocTypeName",value:"function"}}let Te={type:"JsdocTypeFunction",parameters:[],arrow:!1,constructor:oe,parenthesis:ue},et=Z.parseIntermediateType(q.FUNCTION);if(_===void 0)Te.parameters=ot(et);else{if(oe&&et.type==="JsdocTypeFunction"&&et.arrow)return Te=et,Te.constructor=!0,Te;Te.parameters=Re(et);for(let Ve of Te.parameters)if(Ve.type==="JsdocTypeKeyValue"&&!_.includes(Ve.key))throw new Error(`only allowed named parameters are ${_.join(", ")} but got ${Ve.type}`)}if(Z.consume(":"))Te.returnType=Z.parseType(q.PREFIX);else if(!I)throw new Error("function is missing return type");return Te}})}function at({allowPostfix:_,allowEnclosingBrackets:I}){return D({name:"variadicParslet",accept:L=>L==="...",precedence:q.PREFIX,parsePrefix:L=>{L.consume("...");let V=I&&L.consume("[");try{let Z=L.parseType(q.PREFIX);if(V&&!L.consume("]"))throw new Error("Unterminated variadic type. Missing ']'");return{type:"JsdocTypeVariadic",element:E(Z),meta:{position:"prefix",squareBrackets:V}}}catch(Z){if(Z instanceof t){if(V)throw new Error("Empty square brackets for variadic are not allowed.");return{type:"JsdocTypeVariadic",meta:{position:void 0,squareBrackets:!1}}}else throw Z}},parseInfix:_?(L,V)=>(L.consume("..."),{type:"JsdocTypeVariadic",element:E(V),meta:{position:"suffix",squareBrackets:!1}}):void 0})}let jt=D({name:"symbolParslet",accept:_=>_==="(",precedence:q.SYMBOL,parseInfix:(_,I)=>{if(I.type!=="JsdocTypeName")throw new Error("Symbol expects a name on the left side. (Reacting on '(')");_.consume("(");let L={type:"JsdocTypeSymbol",value:I.value};if(!_.consume(")")){let V=_.parseIntermediateType(q.SYMBOL);if(L.element=F(V),!_.consume(")"))throw new Error("Symbol does not end after value")}return L}}),Ze=D({name:"arrayBracketsParslet",precedence:q.ARRAY_BRACKETS,accept:(_,I)=>_==="["&&I==="]",parseInfix:(_,I)=>(_.consume("["),_.consume("]"),{type:"JsdocTypeGeneric",left:{type:"JsdocTypeName",value:"Array"},elements:[E(I)],meta:{brackets:"square",dot:!1}})});function Ee({objectFieldGrammar:_,allowKeyTypes:I}){return D({name:"objectParslet",accept:L=>L==="{",parsePrefix:L=>{L.consume("{");let V={type:"JsdocTypeObject",meta:{separator:"comma"},elements:[]};if(!L.consume("}")){let Z,oe=new ee(_,L.lexer,L);for(;;){oe.acceptLexerState(L);let ue=oe.parseIntermediateType(q.OBJECT);L.acceptLexerState(oe),ue===void 0&&I&&(ue=L.parseIntermediateType(q.OBJECT));let Te=!1;if(ue.type==="JsdocTypeNullable"&&(Te=!0,ue=ue.element),ue.type==="JsdocTypeNumber"||ue.type==="JsdocTypeName"||ue.type==="JsdocTypeStringValue"){let Ve;ue.type==="JsdocTypeStringValue"&&(Ve=ue.meta.quote),V.elements.push({type:"JsdocTypeObjectField",key:ue.value.toString(),right:void 0,optional:Te,readonly:!1,meta:{quote:Ve}})}else if(ue.type==="JsdocTypeObjectField"||ue.type==="JsdocTypeJsdocObjectField")V.elements.push(ue);else throw new s(ue);if(L.lexer.current.startOfLine)Z="linebreak";else if(L.consume(","))Z="comma";else if(L.consume(";"))Z="semicolon";else break;if(L.lexer.current.type==="}")break}if(V.meta.separator=Z??"comma",!L.consume("}"))throw new Error("Unterminated record type. Missing '}'")}return V}})}function ze({allowSquaredProperties:_,allowKeyTypes:I,allowReadonly:L,allowOptional:V}){return D({name:"objectFieldParslet",precedence:q.KEY_VALUE,accept:Z=>Z===":",parseInfix:(Z,oe)=>{var ue;let Te=!1,et=!1;V&&oe.type==="JsdocTypeNullable"&&(Te=!0,oe=oe.element),L&&oe.type==="JsdocTypeReadonlyProperty"&&(et=!0,oe=oe.element);let Ve=(ue=Z.baseParser)!==null&&ue!==void 0?ue:Z;if(Ve.acceptLexerState(Z),oe.type==="JsdocTypeNumber"||oe.type==="JsdocTypeName"||oe.type==="JsdocTypeStringValue"||U(oe)){if(U(oe)&&!_)throw new s(oe);Ve.consume(":");let Dt;oe.type==="JsdocTypeStringValue"&&(Dt=oe.meta.quote);let Wn=Ve.parseType(q.KEY_VALUE);return Z.acceptLexerState(Ve),{type:"JsdocTypeObjectField",key:U(oe)?oe:oe.value.toString(),right:Wn,optional:Te,readonly:et,meta:{quote:Dt}}}else{if(!I)throw new s(oe);Ve.consume(":");let Dt=Ve.parseType(q.KEY_VALUE);return Z.acceptLexerState(Ve),{type:"JsdocTypeJsdocObjectField",left:E(oe),right:Dt}}}})}function Zt({allowOptional:_,allowVariadic:I}){return D({name:"keyValueParslet",precedence:q.KEY_VALUE,accept:L=>L===":",parseInfix:(L,V)=>{let Z=!1,oe=!1;if(_&&V.type==="JsdocTypeNullable"&&(Z=!0,V=V.element),I&&V.type==="JsdocTypeVariadic"&&V.element!==void 0&&(oe=!0,V=V.element),V.type!=="JsdocTypeName")throw new s(V);L.consume(":");let ue=L.parseType(q.KEY_VALUE);return{type:"JsdocTypeKeyValue",key:V.value,right:ue,optional:Z,variadic:oe}}})}let yr=[...Se,je({allowWithoutParenthesis:!0,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),Ie,De({allowedTypes:["module","external","event"],pathGrammar:$e}),at({allowEnclosingBrackets:!0,allowPostfix:!0}),xe({allowedAdditionalTokens:["keyof"]}),jt,Ze,we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:$e})],li=[...yr,Ee({objectFieldGrammar:[xe({allowedAdditionalTokens:["module","in"]}),ze({allowSquaredProperties:!1,allowKeyTypes:!0,allowOptional:!1,allowReadonly:!1}),...yr],allowKeyTypes:!0}),Zt({allowOptional:!0,allowVariadic:!0})],ss=D({name:"typeOfParslet",accept:_=>_==="typeof",parsePrefix:_=>(_.consume("typeof"),{type:"JsdocTypeTypeof",element:E(_.parseType(q.KEY_OF_TYPE_OF))})}),Ln=[xe({allowedAdditionalTokens:["module","keyof","event","external","in"]}),$,N,Ie,G,ze({allowSquaredProperties:!1,allowKeyTypes:!1,allowOptional:!1,allowReadonly:!1})],Dn=[...Se,Ee({allowKeyTypes:!1,objectFieldGrammar:Ln}),xe({allowedAdditionalTokens:["event","external","in"]}),ss,je({allowWithoutParenthesis:!1,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),at({allowEnclosingBrackets:!1,allowPostfix:!1}),xe({allowedAdditionalTokens:["keyof"]}),De({allowedTypes:["module"],pathGrammar:$e}),we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:$e}),Zt({allowOptional:!1,allowVariadic:!1}),jt],Fn=D({name:"assertsParslet",accept:_=>_==="asserts",parsePrefix:_=>{_.consume("asserts");let I=_.parseIntermediateType(q.SYMBOL);if(I.type!=="JsdocTypeName")throw new s(I,"A typescript asserts always has to have a name on the left side.");return _.consume("is"),{type:"JsdocTypeAsserts",left:I,right:E(_.parseIntermediateType(q.INFIX))}}});function Bn({allowQuestionMark:_}){return D({name:"tupleParslet",accept:I=>I==="[",parsePrefix:I=>{I.consume("[");let L={type:"JsdocTypeTuple",elements:[]};if(I.consume("]"))return L;let V=I.parseIntermediateType(q.ALL);if(V.type==="JsdocTypeParameterList"?V.elements[0].type==="JsdocTypeKeyValue"?L.elements=V.elements.map(B):L.elements=V.elements.map(E):V.type==="JsdocTypeKeyValue"?L.elements=[B(V)]:L.elements=[E(V)],!I.consume("]"))throw new Error("Unterminated '['");if(!_&&L.elements.some(Z=>Z.type==="JsdocTypeUnknown"))throw new Error("Question mark in tuple not allowed");return L}})}let ns=D({name:"keyOfParslet",accept:_=>_==="keyof",parsePrefix:_=>(_.consume("keyof"),{type:"JsdocTypeKeyof",element:E(_.parseType(q.KEY_OF_TYPE_OF))})}),Mn=D({name:"importParslet",accept:_=>_==="import",parsePrefix:_=>{if(_.consume("import"),!_.consume("("))throw new Error("Missing parenthesis after import keyword");let I=_.parseType(q.PREFIX);if(I.type!=="JsdocTypeStringValue")throw new Error("Only string values are allowed as paths for imports");if(!_.consume(")"))throw new Error("Missing closing parenthesis after import keyword");return{type:"JsdocTypeImport",element:I}}}),xr=D({name:"readonlyPropertyParslet",accept:_=>_==="readonly",parsePrefix:_=>(_.consume("readonly"),{type:"JsdocTypeReadonlyProperty",element:_.parseType(q.KEY_VALUE)})}),ui=D({name:"arrowFunctionParslet",precedence:q.ARROW,accept:_=>_==="=>",parseInfix:(_,I)=>(_.consume("=>"),{type:"JsdocTypeFunction",parameters:Re(I).map(O),arrow:!0,constructor:!1,parenthesis:!0,returnType:_.parseType(q.OBJECT)})}),os=D({name:"intersectionParslet",accept:_=>_==="&",precedence:q.INTERSECTION,parseInfix:(_,I)=>{_.consume("&");let L=[];do L.push(_.parseType(q.INTERSECTION));while(_.consume("&"));return{type:"JsdocTypeIntersection",elements:[E(I),...L]}}}),Nn=D({name:"predicateParslet",precedence:q.INFIX,accept:_=>_==="is",parseInfix:(_,I)=>{if(I.type!=="JsdocTypeName")throw new s(I,"A typescript predicate always has to have a name on the left side.");return _.consume("is"),{type:"JsdocTypePredicate",left:I,right:E(_.parseIntermediateType(q.INFIX))}}}),zn=D({name:"objectSquareBracketPropertyParslet",accept:_=>_==="[",parsePrefix:_=>{if(_.baseParser===void 0)throw new Error("Only allowed inside object grammar");_.consume("[");let I=_.lexer.current.text;_.consume("Identifier");let L;if(_.consume(":")){let V=_.baseParser;V.acceptLexerState(_),L={type:"JsdocTypeIndexSignature",key:I,right:V.parseType(q.INDEX_BRACKETS)},_.acceptLexerState(V)}else if(_.consume("in")){let V=_.baseParser;V.acceptLexerState(_),L={type:"JsdocTypeMappedType",key:I,right:V.parseType(q.ARRAY_BRACKETS)},_.acceptLexerState(V)}else throw new Error("Missing ':' or 'in' inside square bracketed property.");if(!_.consume("]"))throw new Error("Unterminated square brackets");return L}}),ci=[xr,xe({allowedAdditionalTokens:["module","event","keyof","event","external","in"]}),$,N,Ie,G,ze({allowSquaredProperties:!0,allowKeyTypes:!1,allowOptional:!0,allowReadonly:!0}),zn],Wr=[...Se,Ee({allowKeyTypes:!1,objectFieldGrammar:ci}),ss,ns,Mn,Ie,je({allowWithoutParenthesis:!0,allowNoReturnType:!1,allowNamedParameters:["this","new","args"],allowNewAsFunctionKeyword:!0}),Bn({allowQuestionMark:!1}),at({allowEnclosingBrackets:!1,allowPostfix:!1}),Fn,xe({allowedAdditionalTokens:["event","external","in"]}),De({allowedTypes:["module"],pathGrammar:$e}),Ze,ui,we({allowSquareBracketsOnAnyType:!0,allowJsdocNamePaths:!1,pathGrammar:$e}),os,Nn,Zt({allowVariadic:!0,allowOptional:!0})];function W(_,I){switch(I){case"closure":return new ee(Dn,_).parse();case"jsdoc":return new ee(li,_).parse();case"typescript":return new ee(Wr,_).parse()}}function Y(_,I=["typescript","closure","jsdoc"]){let L;for(let V of I)try{return W(_,V)}catch(Z){L=Z}throw L}function _e(_,I){let L=_[I.type];if(L===void 0)throw new Error(`In this set of transform rules exists no rule for type ${I.type}.`);return L(I,V=>_e(_,V))}function de(_){throw new Error("This transform is not available. Are you trying the correct parsing mode?")}function Me(_){let I={params:[]};for(let L of _.parameters)L.type==="JsdocTypeKeyValue"?L.key==="this"?I.this=L.right:L.key==="new"?I.new=L.right:I.params.push(L):I.params.push(L);return I}function ge(_,I,L){return _==="prefix"?L+I:I+L}function lt(_,I){switch(I){case"double":return`"${_}"`;case"single":return`'${_}'`;case void 0:return _}}function Wt(){return{JsdocTypeParenthesis:(_,I)=>`(${_.element!==void 0?I(_.element):""})`,JsdocTypeKeyof:(_,I)=>`keyof ${I(_.element)}`,JsdocTypeFunction:(_,I)=>{if(_.arrow){if(_.returnType===void 0)throw new Error("Arrow function needs a return type.");let L=`(${_.parameters.map(I).join(", ")}) => ${I(_.returnType)}`;return _.constructor&&(L="new "+L),L}else{let L=_.constructor?"new":"function";return _.parenthesis&&(L+=`(${_.parameters.map(I).join(", ")})`,_.returnType!==void 0&&(L+=`: ${I(_.returnType)}`)),L}},JsdocTypeName:_=>_.value,JsdocTypeTuple:(_,I)=>`[${_.elements.map(I).join(", ")}]`,JsdocTypeVariadic:(_,I)=>_.meta.position===void 0?"...":ge(_.meta.position,I(_.element),"..."),JsdocTypeNamePath:(_,I)=>{let L=I(_.left),V=I(_.right);switch(_.pathType){case"inner":return`${L}~${V}`;case"instance":return`${L}#${V}`;case"property":return`${L}.${V}`;case"property-brackets":return`${L}[${V}]`}},JsdocTypeStringValue:_=>lt(_.value,_.meta.quote),JsdocTypeAny:()=>"*",JsdocTypeGeneric:(_,I)=>{if(_.meta.brackets==="square"){let L=_.elements[0],V=I(L);return L.type==="JsdocTypeUnion"||L.type==="JsdocTypeIntersection"?`(${V})[]`:`${V}[]`}else return`${I(_.left)}${_.meta.dot?".":""}<${_.elements.map(I).join(", ")}>`},JsdocTypeImport:(_,I)=>`import(${I(_.element)})`,JsdocTypeObjectField:(_,I)=>{let L="";return _.readonly&&(L+="readonly "),typeof _.key=="string"?L+=lt(_.key,_.meta.quote):L+=I(_.key),_.optional&&(L+="?"),_.right===void 0?L:L+`: ${I(_.right)}`},JsdocTypeJsdocObjectField:(_,I)=>`${I(_.left)}: ${I(_.right)}`,JsdocTypeKeyValue:(_,I)=>{let L=_.key;return _.optional&&(L+="?"),_.variadic&&(L="..."+L),_.right===void 0?L:L+`: ${I(_.right)}`},JsdocTypeSpecialNamePath:_=>`${_.specialType}:${lt(_.value,_.meta.quote)}`,JsdocTypeNotNullable:(_,I)=>ge(_.meta.position,I(_.element),"!"),JsdocTypeNull:()=>"null",JsdocTypeNullable:(_,I)=>ge(_.meta.position,I(_.element),"?"),JsdocTypeNumber:_=>_.value.toString(),JsdocTypeObject:(_,I)=>`{${_.elements.map(I).join((_.meta.separator==="comma"?",":";")+" ")}}`,JsdocTypeOptional:(_,I)=>ge(_.meta.position,I(_.element),"="),JsdocTypeSymbol:(_,I)=>`${_.value}(${_.element!==void 0?I(_.element):""})`,JsdocTypeTypeof:(_,I)=>`typeof ${I(_.element)}`,JsdocTypeUndefined:()=>"undefined",JsdocTypeUnion:(_,I)=>_.elements.map(I).join(" | "),JsdocTypeUnknown:()=>"?",JsdocTypeIntersection:(_,I)=>_.elements.map(I).join(" & "),JsdocTypeProperty:_=>lt(_.value,_.meta.quote),JsdocTypePredicate:(_,I)=>`${I(_.left)} is ${I(_.right)}`,JsdocTypeIndexSignature:(_,I)=>`[${_.key}: ${I(_.right)}]`,JsdocTypeMappedType:(_,I)=>`[${_.key} in ${I(_.right)}]`,JsdocTypeAsserts:(_,I)=>`asserts ${I(_.left)} is ${I(_.right)}`}}let gt=Wt();function qt(_){return _e(gt,_)}let as=["null","true","false","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield"];function mt(_){let I={type:"NameExpression",name:_};return as.includes(_)&&(I.reservedWord=!0),I}let vt={JsdocTypeOptional:(_,I)=>{let L=I(_.element);return L.optional=!0,L},JsdocTypeNullable:(_,I)=>{let L=I(_.element);return L.nullable=!0,L},JsdocTypeNotNullable:(_,I)=>{let L=I(_.element);return L.nullable=!1,L},JsdocTypeVariadic:(_,I)=>{if(_.element===void 0)throw new Error("dots without value are not allowed in catharsis mode");let L=I(_.element);return L.repeatable=!0,L},JsdocTypeAny:()=>({type:"AllLiteral"}),JsdocTypeNull:()=>({type:"NullLiteral"}),JsdocTypeStringValue:_=>mt(lt(_.value,_.meta.quote)),JsdocTypeUndefined:()=>({type:"UndefinedLiteral"}),JsdocTypeUnknown:()=>({type:"UnknownLiteral"}),JsdocTypeFunction:(_,I)=>{let L=Me(_),V={type:"FunctionType",params:L.params.map(I)};return L.this!==void 0&&(V.this=I(L.this)),L.new!==void 0&&(V.new=I(L.new)),_.returnType!==void 0&&(V.result=I(_.returnType)),V},JsdocTypeGeneric:(_,I)=>({type:"TypeApplication",applications:_.elements.map(L=>I(L)),expression:I(_.left)}),JsdocTypeSpecialNamePath:_=>mt(_.specialType+":"+lt(_.value,_.meta.quote)),JsdocTypeName:_=>_.value!=="function"?mt(_.value):{type:"FunctionType",params:[]},JsdocTypeNumber:_=>mt(_.value.toString()),JsdocTypeObject:(_,I)=>{let L={type:"RecordType",fields:[]};for(let V of _.elements)V.type!=="JsdocTypeObjectField"&&V.type!=="JsdocTypeJsdocObjectField"?L.fields.push({type:"FieldType",key:I(V),value:void 0}):L.fields.push(I(V));return L},JsdocTypeObjectField:(_,I)=>{if(typeof _.key!="string")throw new Error("Index signatures and mapped types are not supported");return{type:"FieldType",key:mt(lt(_.key,_.meta.quote)),value:_.right===void 0?void 0:I(_.right)}},JsdocTypeJsdocObjectField:(_,I)=>({type:"FieldType",key:I(_.left),value:I(_.right)}),JsdocTypeUnion:(_,I)=>({type:"TypeUnion",elements:_.elements.map(L=>I(L))}),JsdocTypeKeyValue:(_,I)=>({type:"FieldType",key:mt(_.key),value:_.right===void 0?void 0:I(_.right)}),JsdocTypeNamePath:(_,I)=>{let L=I(_.left),V;_.right.type==="JsdocTypeSpecialNamePath"?V=I(_.right).name:V=lt(_.right.value,_.right.meta.quote);let Z=_.pathType==="inner"?"~":_.pathType==="instance"?"#":".";return mt(`${L.name}${Z}${V}`)},JsdocTypeSymbol:_=>{let I="",L=_.element,V=!1;return L?.type==="JsdocTypeVariadic"&&(L.meta.position==="prefix"?I="...":V=!0,L=L.element),L?.type==="JsdocTypeName"?I+=L.value:L?.type==="JsdocTypeNumber"&&(I+=L.value.toString()),V&&(I+="..."),mt(`${_.value}(${I})`)},JsdocTypeParenthesis:(_,I)=>I(E(_.element)),JsdocTypeMappedType:de,JsdocTypeIndexSignature:de,JsdocTypeImport:de,JsdocTypeKeyof:de,JsdocTypeTuple:de,JsdocTypeTypeof:de,JsdocTypeIntersection:de,JsdocTypeProperty:de,JsdocTypePredicate:de,JsdocTypeAsserts:de};function jn(_){return _e(vt,_)}function $t(_){switch(_){case void 0:return"none";case"single":return"single";case"double":return"double"}}function Un(_){switch(_){case"inner":return"INNER_MEMBER";case"instance":return"INSTANCE_MEMBER";case"property":return"MEMBER";case"property-brackets":return"MEMBER"}}function er(_,I){return I.length===2?{type:_,left:I[0],right:I[1]}:{type:_,left:I[0],right:er(_,I.slice(1))}}let ls={JsdocTypeOptional:(_,I)=>({type:"OPTIONAL",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_EQUAL_SIGN":"SUFFIX_EQUALS_SIGN"}}),JsdocTypeNullable:(_,I)=>({type:"NULLABLE",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_QUESTION_MARK":"SUFFIX_QUESTION_MARK"}}),JsdocTypeNotNullable:(_,I)=>({type:"NOT_NULLABLE",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_BANG":"SUFFIX_BANG"}}),JsdocTypeVariadic:(_,I)=>{let L={type:"VARIADIC",meta:{syntax:_.meta.position==="prefix"?"PREFIX_DOTS":_.meta.position==="suffix"?"SUFFIX_DOTS":"ONLY_DOTS"}};return _.element!==void 0&&(L.value=I(_.element)),L},JsdocTypeName:_=>({type:"NAME",name:_.value}),JsdocTypeTypeof:(_,I)=>({type:"TYPE_QUERY",name:I(_.element)}),JsdocTypeTuple:(_,I)=>({type:"TUPLE",entries:_.elements.map(I)}),JsdocTypeKeyof:(_,I)=>({type:"KEY_QUERY",value:I(_.element)}),JsdocTypeImport:_=>({type:"IMPORT",path:{type:"STRING_VALUE",quoteStyle:$t(_.element.meta.quote),string:_.element.value}}),JsdocTypeUndefined:()=>({type:"NAME",name:"undefined"}),JsdocTypeAny:()=>({type:"ANY"}),JsdocTypeFunction:(_,I)=>{let L=Me(_),V={type:_.arrow?"ARROW":"FUNCTION",params:L.params.map(Z=>{if(Z.type==="JsdocTypeKeyValue"){if(Z.right===void 0)throw new Error("Function parameter without ':' is not expected to be 'KEY_VALUE'");return{type:"NAMED_PARAMETER",name:Z.key,typeName:I(Z.right)}}else return I(Z)}),new:null,returns:null};return L.this!==void 0?V.this=I(L.this):_.arrow||(V.this=null),L.new!==void 0&&(V.new=I(L.new)),_.returnType!==void 0&&(V.returns=I(_.returnType)),V},JsdocTypeGeneric:(_,I)=>{let L={type:"GENERIC",subject:I(_.left),objects:_.elements.map(I),meta:{syntax:_.meta.brackets==="square"?"SQUARE_BRACKET":_.meta.dot?"ANGLE_BRACKET_WITH_DOT":"ANGLE_BRACKET"}};return _.meta.brackets==="square"&&_.elements[0].type==="JsdocTypeFunction"&&!_.elements[0].parenthesis&&(L.objects[0]={type:"NAME",name:"function"}),L},JsdocTypeObjectField:(_,I)=>{if(typeof _.key!="string")throw new Error("Index signatures and mapped types are not supported");if(_.right===void 0)return{type:"RECORD_ENTRY",key:_.key,quoteStyle:$t(_.meta.quote),value:null,readonly:!1};let L=I(_.right);return _.optional&&(L={type:"OPTIONAL",value:L,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:_.key.toString(),quoteStyle:$t(_.meta.quote),value:L,readonly:!1}},JsdocTypeJsdocObjectField:()=>{throw new Error("Keys may not be typed in jsdoctypeparser.")},JsdocTypeKeyValue:(_,I)=>{if(_.right===void 0)return{type:"RECORD_ENTRY",key:_.key,quoteStyle:"none",value:null,readonly:!1};let L=I(_.right);return _.optional&&(L={type:"OPTIONAL",value:L,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:_.key,quoteStyle:"none",value:L,readonly:!1}},JsdocTypeObject:(_,I)=>{let L=[];for(let V of _.elements)(V.type==="JsdocTypeObjectField"||V.type==="JsdocTypeJsdocObjectField")&&L.push(I(V));return{type:"RECORD",entries:L}},JsdocTypeSpecialNamePath:_=>{if(_.specialType!=="module")throw new Error(`jsdoctypeparser does not support type ${_.specialType} at this point.`);return{type:"MODULE",value:{type:"FILE_PATH",quoteStyle:$t(_.meta.quote),path:_.value}}},JsdocTypeNamePath:(_,I)=>{let L=!1,V,Z;_.right.type==="JsdocTypeSpecialNamePath"&&_.right.specialType==="event"?(L=!0,V=_.right.value,Z=$t(_.right.meta.quote)):(V=_.right.value,Z=$t(_.right.meta.quote));let oe={type:Un(_.pathType),owner:I(_.left),name:V,quoteStyle:Z,hasEventPrefix:L};if(oe.owner.type==="MODULE"){let ue=oe.owner;return oe.owner=oe.owner.value,ue.value=oe,ue}else return oe},JsdocTypeUnion:(_,I)=>er("UNION",_.elements.map(I)),JsdocTypeParenthesis:(_,I)=>({type:"PARENTHESIS",value:I(E(_.element))}),JsdocTypeNull:()=>({type:"NAME",name:"null"}),JsdocTypeUnknown:()=>({type:"UNKNOWN"}),JsdocTypeStringValue:_=>({type:"STRING_VALUE",quoteStyle:$t(_.meta.quote),string:_.value}),JsdocTypeIntersection:(_,I)=>er("INTERSECTION",_.elements.map(I)),JsdocTypeNumber:_=>({type:"NUMBER_VALUE",number:_.value.toString()}),JsdocTypeSymbol:de,JsdocTypeProperty:de,JsdocTypePredicate:de,JsdocTypeMappedType:de,JsdocTypeIndexSignature:de,JsdocTypeAsserts:de};function hi(_){return _e(ls,_)}function us(){return{JsdocTypeIntersection:(_,I)=>({type:"JsdocTypeIntersection",elements:_.elements.map(I)}),JsdocTypeGeneric:(_,I)=>({type:"JsdocTypeGeneric",left:I(_.left),elements:_.elements.map(I),meta:{dot:_.meta.dot,brackets:_.meta.brackets}}),JsdocTypeNullable:_=>_,JsdocTypeUnion:(_,I)=>({type:"JsdocTypeUnion",elements:_.elements.map(I)}),JsdocTypeUnknown:_=>_,JsdocTypeUndefined:_=>_,JsdocTypeTypeof:(_,I)=>({type:"JsdocTypeTypeof",element:I(_.element)}),JsdocTypeSymbol:(_,I)=>{let L={type:"JsdocTypeSymbol",value:_.value};return _.element!==void 0&&(L.element=I(_.element)),L},JsdocTypeOptional:(_,I)=>({type:"JsdocTypeOptional",element:I(_.element),meta:{position:_.meta.position}}),JsdocTypeObject:(_,I)=>({type:"JsdocTypeObject",meta:{separator:"comma"},elements:_.elements.map(I)}),JsdocTypeNumber:_=>_,JsdocTypeNull:_=>_,JsdocTypeNotNullable:(_,I)=>({type:"JsdocTypeNotNullable",element:I(_.element),meta:{position:_.meta.position}}),JsdocTypeSpecialNamePath:_=>_,JsdocTypeObjectField:(_,I)=>({type:"JsdocTypeObjectField",key:_.key,right:_.right===void 0?void 0:I(_.right),optional:_.optional,readonly:_.readonly,meta:_.meta}),JsdocTypeJsdocObjectField:(_,I)=>({type:"JsdocTypeJsdocObjectField",left:I(_.left),right:I(_.right)}),JsdocTypeKeyValue:(_,I)=>({type:"JsdocTypeKeyValue",key:_.key,right:_.right===void 0?void 0:I(_.right),optional:_.optional,variadic:_.variadic}),JsdocTypeImport:(_,I)=>({type:"JsdocTypeImport",element:I(_.element)}),JsdocTypeAny:_=>_,JsdocTypeStringValue:_=>_,JsdocTypeNamePath:_=>_,JsdocTypeVariadic:(_,I)=>{let L={type:"JsdocTypeVariadic",meta:{position:_.meta.position,squareBrackets:_.meta.squareBrackets}};return _.element!==void 0&&(L.element=I(_.element)),L},JsdocTypeTuple:(_,I)=>({type:"JsdocTypeTuple",elements:_.elements.map(I)}),JsdocTypeName:_=>_,JsdocTypeFunction:(_,I)=>{let L={type:"JsdocTypeFunction",arrow:_.arrow,parameters:_.parameters.map(I),constructor:_.constructor,parenthesis:_.parenthesis};return _.returnType!==void 0&&(L.returnType=I(_.returnType)),L},JsdocTypeKeyof:(_,I)=>({type:"JsdocTypeKeyof",element:I(_.element)}),JsdocTypeParenthesis:(_,I)=>({type:"JsdocTypeParenthesis",element:I(_.element)}),JsdocTypeProperty:_=>_,JsdocTypePredicate:(_,I)=>({type:"JsdocTypePredicate",left:I(_.left),right:I(_.right)}),JsdocTypeIndexSignature:(_,I)=>({type:"JsdocTypeIndexSignature",key:_.key,right:I(_.right)}),JsdocTypeMappedType:(_,I)=>({type:"JsdocTypeMappedType",key:_.key,right:I(_.right)}),JsdocTypeAsserts:(_,I)=>({type:"JsdocTypeAsserts",left:I(_.left),right:I(_.right)})}}let di={JsdocTypeAny:[],JsdocTypeFunction:["parameters","returnType"],JsdocTypeGeneric:["left","elements"],JsdocTypeImport:[],JsdocTypeIndexSignature:["right"],JsdocTypeIntersection:["elements"],JsdocTypeKeyof:["element"],JsdocTypeKeyValue:["right"],JsdocTypeMappedType:["right"],JsdocTypeName:[],JsdocTypeNamePath:["left","right"],JsdocTypeNotNullable:["element"],JsdocTypeNull:[],JsdocTypeNullable:["element"],JsdocTypeNumber:[],JsdocTypeObject:["elements"],JsdocTypeObjectField:["right"],JsdocTypeJsdocObjectField:["left","right"],JsdocTypeOptional:["element"],JsdocTypeParenthesis:["element"],JsdocTypeSpecialNamePath:[],JsdocTypeStringValue:[],JsdocTypeSymbol:["element"],JsdocTypeTuple:["elements"],JsdocTypeTypeof:["element"],JsdocTypeUndefined:[],JsdocTypeUnion:["elements"],JsdocTypeUnknown:[],JsdocTypeVariadic:["element"],JsdocTypeProperty:[],JsdocTypePredicate:["left","right"],JsdocTypeAsserts:["left","right"]};function pi(_,I,L,V,Z){V?.(_,I,L);let oe=di[_.type];for(let ue of oe){let Te=_[ue];if(Te!==void 0)if(Array.isArray(Te))for(let et of Te)pi(et,_,ue,V,Z);else pi(Te,_,ue,V,Z)}Z?.(_,I,L)}function Hn(_,I,L){pi(_,void 0,void 0,I,L)}r.catharsisTransform=jn,r.identityTransformRules=us,r.jtpTransform=hi,r.parse=W,r.stringify=qt,r.stringifyRules=Wt,r.transform=_e,r.traverse=Hn,r.tryParse=Y,r.visitorKeys=di})});var BT=H((vLe,FT)=>{"use strict";h();d();p();FT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var jd=H((CLe,NT)=>{h();d();p();var Pn=BT(),MT={};for(let r of Object.keys(Pn))MT[Pn[r]]=r;var se={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};NT.exports=se;for(let r of Object.keys(se)){if(!("channels"in se[r]))throw new Error("missing channels property: "+r);if(!("labels"in se[r]))throw new Error("missing channel labels property: "+r);if(se[r].labels.length!==se[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=se[r];delete se[r].channels,delete se[r].labels,Object.defineProperty(se[r],"channels",{value:e}),Object.defineProperty(se[r],"labels",{value:t})}se.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.min(e,t,i),n=Math.max(e,t,i),o=n-s,a,l;n===s?a=0:e===n?a=(t-i)/o:t===n?a=2+(i-e)/o:i===n&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let u=(s+n)/2;return n===s?l=0:u<=.5?l=o/(n+s):l=o/(2-n-s),[a,l*100,u*100]};se.rgb.hsv=function(r){let e,t,i,s,n,o=r[0]/255,a=r[1]/255,l=r[2]/255,u=Math.max(o,a,l),c=u-Math.min(o,a,l),g=function(m){return(u-m)/6/c+1/2};return c===0?(s=0,n=0):(n=c/u,e=g(o),t=g(a),i=g(l),o===u?s=i-t:a===u?s=1/3+e-i:l===u&&(s=2/3+t-e),s<0?s+=1:s>1&&(s-=1)),[s*360,n*100,u*100]};se.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],s=se.rgb.hsl(r)[0],n=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[s,n*100,i*100]};se.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.min(1-e,1-t,1-i),n=(1-e-s)/(1-s)||0,o=(1-t-s)/(1-s)||0,a=(1-i-s)/(1-s)||0;return[n*100,o*100,a*100,s*100]};function Cq(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}se.rgb.keyword=function(r){let e=MT[r];if(e)return e;let t=1/0,i;for(let s of Object.keys(Pn)){let n=Pn[s],o=Cq(r,n);o<t&&(t=o,i=s)}return i};se.keyword.rgb=function(r){return Pn[r]};se.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let s=e*.4124+t*.3576+i*.1805,n=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[s*100,n*100,o*100]};se.rgb.lab=function(r){let e=se.rgb.xyz(r),t=e[0],i=e[1],s=e[2];t/=95.047,i/=100,s/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;let n=116*i-16,o=500*(t-i),a=200*(i-s);return[n,o,a]};se.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,s,n,o;if(t===0)return o=i*255,[o,o,o];i<.5?s=i*(1+t):s=i+t-i*t;let a=2*i-s,l=[0,0,0];for(let u=0;u<3;u++)n=e+1/3*-(u-1),n<0&&n++,n>1&&n--,6*n<1?o=a+(s-a)*6*n:2*n<1?o=s:3*n<2?o=a+(s-a)*(2/3-n)*6:o=a,l[u]=o*255;return l};se.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,s=t,n=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,s*=n<=1?n:2-n;let o=(i+t)/2,a=i===0?2*s/(n+s):2*t/(i+t);return[e,a*100,o*100]};se.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,s=Math.floor(e)%6,n=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*n),l=255*i*(1-t*(1-n));switch(i*=255,s){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};se.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,s=Math.max(i,.01),n,o;o=(2-t)*i;let a=(2-t)*s;return n=t*s,n/=a<=1?a:2-a,n=n||0,o/=2,[e,n*100,o*100]};se.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,s=t+i,n;s>1&&(t/=s,i/=s);let o=Math.floor(6*e),a=1-i;n=6*e-o,o&1&&(n=1-n);let l=t+n*(a-t),u,c,g;switch(o){default:case 6:case 0:u=a,c=l,g=t;break;case 1:u=l,c=a,g=t;break;case 2:u=t,c=a,g=l;break;case 3:u=t,c=l,g=a;break;case 4:u=l,c=t,g=a;break;case 5:u=a,c=t,g=l;break}return[u*255,c*255,g*255]};se.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,s=r[3]/100,n=1-Math.min(1,e*(1-s)+s),o=1-Math.min(1,t*(1-s)+s),a=1-Math.min(1,i*(1-s)+s);return[n*255,o*255,a*255]};se.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,s,n,o;return s=e*3.2406+t*-1.5372+i*-.4986,n=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=Math.min(Math.max(0,s),1),n=Math.min(Math.max(0,n),1),o=Math.min(Math.max(0,o),1),[s*255,n*255,o*255]};se.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*t-16,n=500*(e-t),o=200*(t-i);return[s,n,o]};se.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],s,n,o;n=(e+16)/116,s=t/500+n,o=n-i/200;let a=n**3,l=s**3,u=o**3;return n=a>.008856?a:(n-16/116)/7.787,s=l>.008856?l:(s-16/116)/7.787,o=u>.008856?u:(o-16/116)/7.787,s*=95.047,n*=100,o*=108.883,[s,n,o]};se.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],s;s=Math.atan2(i,t)*360/2/Math.PI,s<0&&(s+=360);let o=Math.sqrt(t*t+i*i);return[e,o,s]};se.lch.lab=function(r){let e=r[0],t=r[1],s=r[2]/360*2*Math.PI,n=t*Math.cos(s),o=t*Math.sin(s);return[e,n,o]};se.rgb.ansi16=function(r,e=null){let[t,i,s]=r,n=e===null?se.rgb.hsv(r)[2]:e;if(n=Math.round(n/50),n===0)return 30;let o=30+(Math.round(s/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return n===2&&(o+=60),o};se.hsv.ansi16=function(r){return se.rgb.ansi16(se.hsv.rgb(r),r[2])};se.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};se.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,s=(e>>1&1)*t*255,n=(e>>2&1)*t*255;return[i,s,n]};se.ansi256.rgb=function(r){if(r>=232){let n=(r-232)*10+8;return[n,n,n]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,s=e%6/5*255;return[t,i,s]};se.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};se.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),s=i>>16&255,n=i>>8&255,o=i&255;return[s,n,o]};se.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.max(Math.max(e,t),i),n=Math.min(Math.min(e,t),i),o=s-n,a,l;return o<1?a=n/(1-o):a=0,o<=0?l=0:s===e?l=(t-i)/o%6:s===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};se.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),s=0;return i<1&&(s=(t-.5*i)/(1-i)),[r[0],i*100,s*100]};se.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,s=0;return i<1&&(s=(t-i)/(1-i)),[r[0],i*100,s*100]};se.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let s=[0,0,0],n=e%1*6,o=n%1,a=1-o,l=0;switch(Math.floor(n)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=a,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=a,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=a}return l=(1-t)*i,[(t*s[0]+l)*255,(t*s[1]+l)*255,(t*s[2]+l)*255]};se.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),s=0;return i>0&&(s=e/i),[r[0],s*100,i*100]};se.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,s=0;return i>0&&i<.5?s=e/(2*i):i>=.5&&i<1&&(s=e/(2*(1-i))),[r[0],s*100,i*100]};se.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};se.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,s=i-e,n=0;return s<1&&(n=(i-s)/(1-s)),[r[0],s*100,n*100]};se.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};se.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};se.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};se.gray.hsl=function(r){return[0,0,r[0]]};se.gray.hsv=se.gray.hsl;se.gray.hwb=function(r){return[0,100,r[0]]};se.gray.cmyk=function(r){return[0,0,0,r[0]]};se.gray.lab=function(r){return[r[0],0,0]};se.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};se.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var jT=H((RLe,zT)=>{h();d();p();var al=jd();function Aq(){let r={},e=Object.keys(al);for(let t=e.length,i=0;i<t;i++)r[e[i]]={distance:-1,parent:null};return r}function Eq(r){let e=Aq(),t=[r];for(e[r].distance=0;t.length;){let i=t.pop(),s=Object.keys(al[i]);for(let n=s.length,o=0;o<n;o++){let a=s[o],l=e[a];l.distance===-1&&(l.distance=e[i].distance+1,l.parent=i,t.unshift(a))}}return e}function Iq(r,e){return function(t){return e(r(t))}}function Rq(r,e){let t=[e[r].parent,r],i=al[e[r].parent][r],s=e[r].parent;for(;e[s].parent;)t.unshift(e[s].parent),i=Iq(al[e[s].parent][s],i),s=e[s].parent;return i.conversion=t,i}zT.exports=function(r){let e=Eq(r),t={},i=Object.keys(e);for(let s=i.length,n=0;n<s;n++){let o=i[n];e[o].parent!==null&&(t[o]=Rq(o,e))}return t}});var HT=H((LLe,UT)=>{h();d();p();var Ud=jd(),Pq=jT(),es={},kq=Object.keys(Ud);function Oq(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function Lq(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let s=r(t);if(typeof s=="object")for(let n=s.length,o=0;o<n;o++)s[o]=Math.round(s[o]);return s};return"conversion"in r&&(e.conversion=r.conversion),e}kq.forEach(r=>{es[r]={},Object.defineProperty(es[r],"channels",{value:Ud[r].channels}),Object.defineProperty(es[r],"labels",{value:Ud[r].labels});let e=Pq(r);Object.keys(e).forEach(i=>{let s=e[i];es[r][i]=Lq(s),es[r][i].raw=Oq(s)})});UT.exports=es});var qT=H((MLe,WT)=>{h();d();p();var Dq=Mt(),Fq=function(){return Dq.Date.now()};WT.exports=Fq});var VT=H((ULe,$T)=>{h();d();p();var Bq=/\s/;function Mq(r){for(var e=r.length;e--&&Bq.test(r.charAt(e)););return e}$T.exports=Mq});var YT=H(($Le,GT)=>{h();d();p();var Nq=VT(),zq=/^\s+/;function jq(r){return r&&r.slice(0,Nq(r)+1).replace(zq,"")}GT.exports=jq});var QT=H((XLe,JT)=>{h();d();p();var Uq=YT(),XT=Jt(),Hq=on(),KT=NaN,Wq=/^[-+]0x[0-9a-f]+$/i,qq=/^0b[01]+$/i,$q=/^0o[0-7]+$/i,Vq=parseInt;function Gq(r){if(typeof r=="number")return r;if(Hq(r))return KT;if(XT(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=XT(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=Uq(r);var t=qq.test(r);return t||$q.test(r)?Vq(r.slice(2),t?2:8):Wq.test(r)?KT:+r}JT.exports=Gq});var tC=H((ZLe,eC)=>{h();d();p();var Yq=Jt(),Hd=qT(),ZT=QT(),Xq="Expected a function",Kq=Math.max,Jq=Math.min;function Qq(r,e,t){var i,s,n,o,a,l,u=0,c=!1,g=!1,m=!0;if(typeof r!="function")throw new TypeError(Xq);e=ZT(e)||0,Yq(t)&&(c=!!t.leading,g="maxWait"in t,n=g?Kq(ZT(t.maxWait)||0,e):n,m="trailing"in t?!!t.trailing:m);function y(O){var B=i,F=s;return i=s=void 0,u=O,o=r.apply(F,B),o}function b(O){return u=O,a=setTimeout(T,e),c?y(O):o}function C(O){var B=O-l,F=O-u,U=e-B;return g?Jq(U,n-F):U}function A(O){var B=O-l,F=O-u;return l===void 0||B>=e||B<0||g&&F>=n}function T(){var O=Hd();if(A(O))return R(O);a=setTimeout(T,C(O))}function R(O){return a=void 0,m&&i?y(O):(i=s=void 0,o)}function P(){a!==void 0&&clearTimeout(a),u=0,i=l=s=a=void 0}function E(){return a===void 0?o:R(Hd())}function k(){var O=Hd(),B=A(O);if(i=arguments,s=this,l=O,B){if(a===void 0)return b(l);if(g)return clearTimeout(a),a=setTimeout(T,e),y(l)}return a===void 0&&(a=setTimeout(T,e)),o}return k.cancel=P,k.flush=E,k}eC.exports=Qq});function oi(){return(oi=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r}).apply(this,arguments)}function Gd(r,e){if(r==null)return{};var t,i,s={},n=Object.keys(r);for(i=0;i<n.length;i++)e.indexOf(t=n[i])>=0||(s[t]=r[t]);return s}function Wd(r){var e=Bt(r),t=Bt(function(i){e.current&&e.current(i)});return e.current=r,t.current}function dC(r,e,t){var i=Wd(t),s=Fe(function(){return r.toHsva(e)}),n=s[0],o=s[1],a=Bt({color:e,hsva:n});He(function(){if(!r.equal(e,a.current.color)){var u=r.toHsva(e);a.current={hsva:u,color:e},o(u)}},[e,r]),He(function(){var u;cC(n,a.current.hsva)||r.equal(u=r.fromHsva(n),a.current.color)||(a.current={hsva:n,color:u},i(u))},[n,r,i]);var l=ut(function(u){o(function(c){return Object.assign({},c,u)})},[]);return[n,l]}var ts,kn,qd,rC,iC,Yd,On,Xd,st,Zq,e8,$d,t8,r8,i8,s8,nC,Vd,ul,oC,n8,ll,o8,aC,lC,uC,cC,hC,a8,l8,u8,c8,sC,pC,h8,d8,fC,p8,gC,f8,mC,g8,_C,yC=Vt(()=>{h();d();p();Ge();ts=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),r>t?t:r<e?e:r},kn=function(r){return"touches"in r},qd=function(r){return r&&r.ownerDocument.defaultView||self},rC=function(r,e,t){var i=r.getBoundingClientRect(),s=kn(e)?function(n,o){for(var a=0;a<n.length;a++)if(n[a].identifier===o)return n[a];return n[0]}(e.touches,t):e;return{left:ts((s.pageX-(i.left+qd(r).pageXOffset))/i.width),top:ts((s.pageY-(i.top+qd(r).pageYOffset))/i.height)}},iC=function(r){!kn(r)&&r.preventDefault()},Yd=z.memo(function(r){var e=r.onMove,t=r.onKey,i=Gd(r,["onMove","onKey"]),s=Bt(null),n=Wd(e),o=Wd(t),a=Bt(null),l=Bt(!1),u=vr(function(){var y=function(A){iC(A),(kn(A)?A.touches.length>0:A.buttons>0)&&s.current?n(rC(s.current,A,a.current)):C(!1)},b=function(){return C(!1)};function C(A){var T=l.current,R=qd(s.current),P=A?R.addEventListener:R.removeEventListener;P(T?"touchmove":"mousemove",y),P(T?"touchend":"mouseup",b)}return[function(A){var T=A.nativeEvent,R=s.current;if(R&&(iC(T),!function(E,k){return k&&!kn(E)}(T,l.current)&&R)){if(kn(T)){l.current=!0;var P=T.changedTouches||[];P.length&&(a.current=P[0].identifier)}R.focus(),n(rC(R,T,a.current)),C(!0)}},function(A){var T=A.which||A.keyCode;T<37||T>40||(A.preventDefault(),o({left:T===39?.05:T===37?-.05:0,top:T===40?.05:T===38?-.05:0}))},C]},[o,n]),c=u[0],g=u[1],m=u[2];return He(function(){return m},[m]),z.createElement("div",oi({},i,{onTouchStart:c,onMouseDown:c,className:"react-colorful__interactive",ref:s,onKeyDown:g,tabIndex:0,role:"slider"}))}),On=function(r){return r.filter(Boolean).join(" ")},Xd=function(r){var e=r.color,t=r.left,i=r.top,s=i===void 0?.5:i,n=On(["react-colorful__pointer",r.className]);return z.createElement("div",{className:n,style:{top:100*s+"%",left:100*t+"%"}},z.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},st=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*r)/t},Zq={grad:.9,turn:360,rad:360/(2*Math.PI)},e8=function(r){return aC($d(r))},$d=function(r){return r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?st(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?st(parseInt(r.substring(6,8),16)/255,2):1}},t8=function(r,e){return e===void 0&&(e="deg"),Number(r)*(Zq[e]||1)},r8=function(r){var e=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return e?i8({h:t8(e[1],e[2]),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)}):{h:0,s:0,v:0,a:1}},i8=function(r){var e=r.s,t=r.l;return{h:r.h,s:(e*=(t<50?t:100-t)/100)>0?2*e/(t+e)*100:0,v:t+e,a:r.a}},s8=function(r){return o8(oC(r))},nC=function(r){var e=r.s,t=r.v,i=r.a,s=(200-e)*t/100;return{h:st(r.h),s:st(s>0&&s<200?e*t/100/(s<=100?s:200-s)*100:0),l:st(s/2),a:st(i,2)}},Vd=function(r){var e=nC(r);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},ul=function(r){var e=nC(r);return"hsla("+e.h+", "+e.s+"%, "+e.l+"%, "+e.a+")"},oC=function(r){var e=r.h,t=r.s,i=r.v,s=r.a;e=e/360*6,t/=100,i/=100;var n=Math.floor(e),o=i*(1-t),a=i*(1-(e-n)*t),l=i*(1-(1-e+n)*t),u=n%6;return{r:st(255*[i,a,o,o,l,i][u]),g:st(255*[l,i,i,a,o,o][u]),b:st(255*[o,o,l,i,i,a][u]),a:st(s,2)}},n8=function(r){var e=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return e?aC({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):{h:0,s:0,v:0,a:1}},ll=function(r){var e=r.toString(16);return e.length<2?"0"+e:e},o8=function(r){var e=r.r,t=r.g,i=r.b,s=r.a,n=s<1?ll(st(255*s)):"";return"#"+ll(e)+ll(t)+ll(i)+n},aC=function(r){var e=r.r,t=r.g,i=r.b,s=r.a,n=Math.max(e,t,i),o=n-Math.min(e,t,i),a=o?n===e?(t-i)/o:n===t?2+(i-e)/o:4+(e-t)/o:0;return{h:st(60*(a<0?a+6:a)),s:st(n?o/n*100:0),v:st(n/255*100),a:s}},lC=z.memo(function(r){var e=r.hue,t=r.onChange,i=On(["react-colorful__hue",r.className]);return z.createElement("div",{className:i},z.createElement(Yd,{onMove:function(s){t({h:360*s.left})},onKey:function(s){t({h:ts(e+360*s.left,0,360)})},"aria-label":"Hue","aria-valuenow":st(e),"aria-valuemax":"360","aria-valuemin":"0"},z.createElement(Xd,{className:"react-colorful__hue-pointer",left:e/360,color:Vd({h:e,s:100,v:100,a:1})})))}),uC=z.memo(function(r){var e=r.hsva,t=r.onChange,i={backgroundColor:Vd({h:e.h,s:100,v:100,a:1})};return z.createElement("div",{className:"react-colorful__saturation",style:i},z.createElement(Yd,{onMove:function(s){t({s:100*s.left,v:100-100*s.top})},onKey:function(s){t({s:ts(e.s+100*s.left,0,100),v:ts(e.v-100*s.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+st(e.s)+"%, Brightness "+st(e.v)+"%"},z.createElement(Xd,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Vd(e)})))}),cC=function(r,e){if(r===e)return!0;for(var t in r)if(r[t]!==e[t])return!1;return!0},hC=function(r,e){return r.replace(/\s/g,"")===e.replace(/\s/g,"")},a8=function(r,e){return r.toLowerCase()===e.toLowerCase()||cC($d(r),$d(e))};u8=typeof window<"u"?Il:He,c8=function(){return l8||(typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0)},sC=new Map,pC=function(r){u8(function(){var e=r.current?r.current.ownerDocument:document;if(e!==void 0&&!sC.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,sC.set(e,t);var i=c8();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},h8=function(r){var e=r.className,t=r.colorModel,i=r.color,s=i===void 0?t.defaultColor:i,n=r.onChange,o=Gd(r,["className","colorModel","color","onChange"]),a=Bt(null);pC(a);var l=dC(t,s,n),u=l[0],c=l[1],g=On(["react-colorful",e]);return z.createElement("div",oi({},o,{ref:a,className:g}),z.createElement(uC,{hsva:u,onChange:c}),z.createElement(lC,{hue:u.h,onChange:c,className:"react-colorful__last-control"}))},d8={defaultColor:"000",toHsva:e8,fromHsva:function(r){return s8({h:r.h,s:r.s,v:r.v,a:1})},equal:a8},fC=function(r){return z.createElement(h8,oi({},r,{colorModel:d8}))},p8=function(r){var e=r.className,t=r.hsva,i=r.onChange,s={backgroundImage:"linear-gradient(90deg, "+ul(Object.assign({},t,{a:0}))+", "+ul(Object.assign({},t,{a:1}))+")"},n=On(["react-colorful__alpha",e]),o=st(100*t.a);return z.createElement("div",{className:n},z.createElement("div",{className:"react-colorful__alpha-gradient",style:s}),z.createElement(Yd,{onMove:function(a){i({a:a.left})},onKey:function(a){i({a:ts(t.a+a.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},z.createElement(Xd,{className:"react-colorful__alpha-pointer",left:t.a,color:ul(t)})))},gC=function(r){var e=r.className,t=r.colorModel,i=r.color,s=i===void 0?t.defaultColor:i,n=r.onChange,o=Gd(r,["className","colorModel","color","onChange"]),a=Bt(null);pC(a);var l=dC(t,s,n),u=l[0],c=l[1],g=On(["react-colorful",e]);return z.createElement("div",oi({},o,{ref:a,className:g}),z.createElement(uC,{hsva:u,onChange:c}),z.createElement(lC,{hue:u.h,onChange:c}),z.createElement(p8,{hsva:u,onChange:c,className:"react-colorful__last-control"}))},f8={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:r8,fromHsva:ul,equal:hC},mC=function(r){return z.createElement(gC,oi({},r,{colorModel:f8}))},g8={defaultColor:"rgba(0, 0, 0, 1)",toHsva:n8,fromHsva:function(r){var e=oC(r);return"rgba("+e.r+", "+e.g+", "+e.b+", "+e.a+")"},equal:hC},_C=function(r){return z.createElement(gC,oi({},r,{colorModel:g8}))}});var TC={};rr(TC,{ColorControl:()=>wC,default:()=>L8});var Lt,vC,m8,_8,y8,x8,b8,v8,S8,xC,w8,T8,SC,cl,C8,A8,E8,Kd,I8,R8,hl,bC,rs,P8,k8,dl,O8,wC,L8,CC=Vt(()=>{h();d();p();uc();Ge();ta();xc();Ec();Lt=ye(HT(),1),vC=ye(tC(),1);yC();m8=J.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),_8=J(ea)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),y8=J.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),x8=J(fc)(({theme:r})=>({fontFamily:r.typography.fonts.base})),b8=J.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),v8=J.div(({theme:r,active:e})=>({width:16,height:16,boxShadow:e?`${r.appBorderColor} 0 0 0 1px inset, ${r.textMutedColor}50 0 0 0 4px`:`${r.appBorderColor} 0 0 0 1px inset`,borderRadius:r.appBorderRadius})),S8=`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,xC=({value:r,style:e,...t})=>{let i=`linear-gradient(${r}, ${r}), ${S8}, linear-gradient(#fff, #fff)`;return z.createElement(v8,{...t,style:{...e,backgroundImage:i}})},w8=J(Rr.Input)(({theme:r,readOnly:e})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:r.typography.fonts.base})),T8=J(lg)(({theme:r})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:r.input.color})),SC=(r=>(r.RGB="rgb",r.HSL="hsl",r.HEX="hex",r))(SC||{}),cl=Object.values(SC),C8=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,A8=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,E8=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,Kd=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,I8=/^\s*#?([0-9a-f]{3})\s*$/i,R8={hex:fC,rgb:_C,hsl:mC},hl={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},bC=r=>{let e=r?.match(C8);if(!e)return[0,0,0,1];let[,t,i,s,n=1]=e;return[t,i,s,n].map(Number)},rs=r=>{if(!r)return;let e=!0;if(A8.test(r)){let[o,a,l,u]=bC(r),[c,g,m]=Lt.default.rgb.hsl([o,a,l])||[0,0,0];return{valid:e,value:r,keyword:Lt.default.rgb.keyword([o,a,l]),colorSpace:"rgb",rgb:r,hsl:`hsla(${c}, ${g}%, ${m}%, ${u})`,hex:`#${Lt.default.rgb.hex([o,a,l]).toLowerCase()}`}}if(E8.test(r)){let[o,a,l,u]=bC(r),[c,g,m]=Lt.default.hsl.rgb([o,a,l])||[0,0,0];return{valid:e,value:r,keyword:Lt.default.hsl.keyword([o,a,l]),colorSpace:"hsl",rgb:`rgba(${c}, ${g}, ${m}, ${u})`,hsl:r,hex:`#${Lt.default.hsl.hex([o,a,l]).toLowerCase()}`}}let t=r.replace("#",""),i=Lt.default.keyword.rgb(t)||Lt.default.hex.rgb(t),s=Lt.default.rgb.hsl(i),n=r;if(/[^#a-f0-9]/i.test(r)?n=t:Kd.test(r)&&(n=`#${t}`),n.startsWith("#"))e=Kd.test(n);else try{Lt.default.keyword.hex(n)}catch{e=!1}return{valid:e,value:n,keyword:Lt.default.rgb.keyword(i),colorSpace:"hex",rgb:`rgba(${i[0]}, ${i[1]}, ${i[2]}, 1)`,hsl:`hsla(${s[0]}, ${s[1]}%, ${s[2]}%, 1)`,hex:n}},P8=(r,e,t)=>{if(!r||!e?.valid)return hl[t];if(t!=="hex")return e?.[t]||hl[t];if(!e.hex.startsWith("#"))try{return`#${Lt.default.keyword.hex(e.hex)}`}catch{return hl.hex}let i=e.hex.match(I8);if(!i)return Kd.test(e.hex)?e.hex:hl.hex;let[s,n,o]=i[1].split("");return`#${s}${s}${n}${n}${o}${o}`},k8=(r,e)=>{let[t,i]=Fe(r||""),[s,n]=Fe(()=>rs(t)),[o,a]=Fe(s?.colorSpace||"hex");He(()=>{let g=r||"",m=rs(g);i(g),n(m),a(m?.colorSpace||"hex")},[r]);let l=vr(()=>P8(t,s,o).toLowerCase(),[t,s,o]),u=ut(g=>{let m=rs(g),y=m?.value||g||"";i(y),y===""&&(n(void 0),e(void 0)),m&&(n(m),a(m.colorSpace),e(m.value))},[e]),c=ut(()=>{let g=cl.indexOf(o)+1;g>=cl.length&&(g=0),a(cl[g]);let m=s?.[cl[g]]||"";i(m),e(m)},[s,o,e]);return{value:t,realValue:l,updateValue:u,color:s,colorSpace:o,cycleColorSpace:c}},dl=r=>r.replace(/\s*/,"").toLowerCase(),O8=(r,e,t)=>{let[i,s]=Fe(e?.valid?[e]:[]);He(()=>{e===void 0&&s([])},[e]);let n=vr(()=>(r||[]).map(a=>typeof a=="string"?rs(a):a.title?{...rs(a.color),keyword:a.title}:rs(a.color)).concat(i).filter(Boolean).slice(-27),[r,i]),o=ut(a=>{a?.valid&&(n.some(l=>dl(l[t])===dl(a[t]))||s(l=>l.concat(a)))},[t,n]);return{presets:n,addPreset:o}},wC=({name:r,value:e,onChange:t,onFocus:i,onBlur:s,presetColors:n,startOpen:o=!1,argType:a})=>{let l=ut((0,vC.default)(t,200),[t]),{value:u,realValue:c,updateValue:g,color:m,colorSpace:y,cycleColorSpace:b}=k8(e,l),{presets:C,addPreset:A}=O8(n,m,y),T=R8[y],R=!!a?.table?.readonly;return z.createElement(m8,{"aria-readonly":R},z.createElement(_8,{startOpen:o,trigger:R?[null]:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>A(m),tooltip:z.createElement(y8,null,z.createElement(T,{color:c==="transparent"?"#000000":c,onChange:g,onFocus:i,onBlur:s}),C.length>0&&z.createElement(b8,null,C.map((P,E)=>z.createElement(ea,{key:`${P.value}-${E}`,hasChrome:!1,tooltip:z.createElement(x8,{note:P.keyword||P.value})},z.createElement(xC,{value:P[y],active:m&&dl(P[y])===dl(m[y]),onClick:()=>g(P.value)})))))},z.createElement(xC,{value:c,style:{margin:4}})),z.createElement(w8,{id:Kt(r),value:u,onChange:P=>g(P.target.value),onFocus:P=>P.target.select(),readOnly:R,placeholder:"Choose color..."}),u?z.createElement(T8,{onClick:b}):null)},L8=wC});h();d();p();h();d();p();h();d();p();var p$=__STORYBOOK_API__,{ActiveTabs:f$,Consumer:g$,ManagerContext:m$,Provider:_$,RequestResponseError:y$,addons:Gt,combineParameters:x$,controlOrMetaKey:b$,controlOrMetaSymbol:v$,eventMatchesShortcut:S$,eventToShortcut:w$,experimental_requestResponse:T$,isMacLike:C$,isShortcutTaken:A$,keyToSymbol:E$,merge:I$,mockChannel:R$,optionOrAltSymbol:P$,shortcutMatchesShortcut:k$,shortcutToHumanString:O$,types:br,useAddonState:L$,useArgTypes:D$,useArgs:F$,useChannel:B$,useGlobalTypes:M$,useGlobals:_t,useParameter:N$,useSharedState:z$,useStoryPrepared:j$,useStorybookApi:$n,useStorybookState:U$}=__STORYBOOK_API__;h();d();p();h();d();p();var V$=__STORYBOOK_THEMING_CREATE__,{create:hp,themes:dp}=__STORYBOOK_THEMING_CREATE__;var pp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdQAAABiCAYAAADpwyKwAAAMZGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWVBJaIAJSQm+iSA0gJYQWQUCqICohCSSUGBOCiB1dVsG1iyiWFV0VcdHVFZC1IOJiWxR7XyyoKOtiwYbKm5CArr7yvfm+ufPnzJkz55zM3DsDgE4HXybLRXUByJPmy+PCg1kTUlJZpAeACAhAF/gCjC9QyDixsVEAlsH2n+X1FYCo2osuKlvf9v/Xoi8UKQQAIGmQM4QKQR7kJgDwYoFMng8AMQTKrafny1Qshmwghw5CnqXiLDUvV3GGmrcN6CTEcSE3AECm8fnyLAC0W6CcVSDIgna0H0B2lQolUgB0DCAHCMR8IeQEyCPy8qaqeB5kB6gvg7wTMjvjC5tZ/7CfMWSfz88aYnVcA4UcIlHIcvkz/s/U/O+Sl6scnMMOVppYHhGnih/m8FrO1EgV0yB3SzOiY1S5hvxWIlTnHQCUKlZGJKr1UVOBggvzB5iQXYX8kEjIppDDpLnRURp5RqYkjAcZrha0UJLPS9CMXSRShMZrbG6QT42LGeRMOZejGVvLlw/Mq9JvUeYkcjT2r4lFvEH7r4rECcmQqQBg1AJJUjRkbcgGipz4SLUOZlUk5kYP6siVcSr/bSCzRdLwYLV9LC1THhan0ZflKQbjxUrEEl60hivyxQkR6vxguwT8Af+NINeJpJzEQTsixYSowViEopBQdexYm0iaqIkXuyPLD47TjO2R5cZq9HGyKDdcJbeCbKIoiNeMxcfkw8Wpto9HyfJjE9R+4unZ/LGxan/wAhAFuCAEsIAS1gwwFWQDSVt3fTf8pe4JA3wgB1lABFw0ksERyQM9UviMB0XgL0gioBgaFzzQKwIFUP5xSKp+uoDMgd6CgRE54CHkPBAJcuFv5cAo6dBsSeABlEi+mV0Afc2FVdX3rYwDJVEaiXLQLktnUJMYSgwhRhDDiI64CR6A++FR8BkEqxvOxn0Gvf2sT3hIaCfcI1wmdBCuT5EUy7/yZRzogPbDNBFnfBkxbgdteuLBuD+0Di3jTNwEuOAecB4OHghn9oRSrsZvVeysfxPnUARf5FyjR3GloJRhlCCKw9cjtZ20PYesqDL6ZX7UvmYMZZU71PP1/Nwv8iyEbeTXmtgibD/Wih3DTmGHsHrAwo5iDdhZ7LCKh9bQg4E1NDhb3IA/OdCO5Jv5+Jo5VZlUuNa4drl+0PSBfFFhvmqDcafKZsglWeJ8Fgd+BUQsnlQwcgTLzdXNFQDVN0X9mnrJHPhWIMzTn2XFrQD4x/T39x/6LIsqBOAA3EvUF59l9msBoIsAODlXoJQXqGW46kGAbwMduKOMgTmwBg4wIjfgBfxAEAgFY0EMSAApYDLMsxiuZzmYDmaB+aAElIHlYA1YDzaDrWAn+BnsA/XgEDgGfgdnwHlwGdyE66cTPAU94DXoQxCEhNARBmKMWCC2iDPihrCRACQUiULikBQkHclCpIgSmYUsQMqQlch6ZAtSjfyCHESOIaeQduQ6chfpQl4g71EMpaEGqBlqh45C2SgHjUQT0EloFjoNLUIXokvRCrQK3Y3WocfQM+hltAN9ivZiANPCmJgl5oKxMS4Wg6VimZgcm4OVYuVYFVaLNcJ/+iLWgXVj73AizsBZuAtcwxF4Ii7Ap+Fz8CX4enwnXoe34Bfxu3gP/olAJ5gSnAm+BB5hAiGLMJ1QQignbCccIJyAu6mT8JpIJDKJ9kRvuBtTiNnEmcQlxI3EPcQmYjvxPrGXRCIZk5xJ/qQYEp+UTyohrSPtJh0lXSB1kt6StcgWZDdyGDmVLCUXk8vJu8hHyBfIj8h9FF2KLcWXEkMRUmZQllG2URop5yidlD6qHtWe6k9NoGZT51MrqLXUE9Rb1JdaWlpWWj5a47UkWvO0KrT2ap3Uuqv1jqZPc6JxaWk0JW0pbQetiXad9pJOp9vRg+ip9Hz6Uno1/Tj9Dv2tNkN7pDZPW6g9V7tSu077gvYzHYqOrQ5HZ7JOkU65zn6dczrduhRdO12uLl93jm6l7kHdq7q9egy90Xoxenl6S/R26Z3Se6xP0rfTD9UX6i/U36p/XP8+A2NYM7gMAWMBYxvjBKPTgGhgb8AzyDYoM/jZoM2gx1Df0MMwybDQsNLwsGEHE2PaMXnMXOYy5j7mFeb7YWbDOMNEwxYPqx12Ydgbo+FGQUYio1KjPUaXjd4bs4xDjXOMVxjXG982wU2cTMabTDfZZHLCpHu4wXC/4YLhpcP3Db9hipo6mcaZzjTdanrWtNfM3CzcTGa2zuy4Wbc50zzIPNt8tfkR8y4LhkWAhcRitcVRiycsQxaHlcuqYLWweixNLSMslZZbLNss+6zsrRKtiq32WN22plqzrTOtV1s3W/fYWNiMs5llU2Nzw5Ziy7YV2661bbV9Y2dvl2z3vV293WN7I3uefZF9jf0tB7pDoMM0hyqHS45ER7ZjjuNGx/NOqJOnk9ip0umcM+rs5Sxx3ujcPoIwwmeEdETViKsuNBeOS4FLjcvdkcyRUSOLR9aPfDbKZlTqqBWjWkd9cvV0zXXd5npztP7osaOLRzeOfuHm5CZwq3S75E53D3Of697g/tzD2UPkscnjmifDc5zn957Nnh+9vL3kXrVeXd423uneG7yvsg3Ysewl7JM+BJ9gn7k+h3ze+Xr55vvu8/3bz8Uvx2+X3+Mx9mNEY7aNue9v5c/33+LfEcAKSA/4MaAj0DKQH1gVeC/IOkgYtD3oEceRk83ZzXkW7BosDz4Q/Ibry53NbQrBQsJDSkPaQvVDE0PXh94JswrLCqsJ6wn3DJ8Z3hRBiIiMWBFxlWfGE/CqeT1jvcfOHtsSSYuMj1wfeS/KKUoe1TgOHTd23Kpxt6Jto6XR9TEghhezKuZ2rH3stNjfxhPHx46vHP8wbnTcrLjWeEb8lPhd8a8TghOWJdxMdEhUJjYn6SSlJVUnvUkOSV6Z3DFh1ITZE86kmKRIUhpSSalJqdtTeyeGTlwzsTPNM60k7cok+0mFk05NNpmcO/nwFJ0p/Cn70wnpyem70j/wY/hV/N4MXsaGjB4BV7BW8FQYJFwt7BL5i1aKHmX6Z67MfJzln7Uqq0scKC4Xd0u4kvWS59kR2Zuz3+TE5OzI6c9Nzt2TR85Lzzso1ZfmSFummk8tnNouc5aVyDqm+U5bM61HHinfrkAUkxQN+Qbw8H5W6aD8Tnm3IKCgsuDt9KTp+wv1CqWFZ2c4zVg841FRWNFPM/GZgpnNsyxnzZ91dzZn9pY5yJyMOc1zrecunNs5L3zezvnU+Tnz/yh2LV5Z/GpB8oLGhWYL5y28/134dzUl2iXykqvf+32/eRG+SLKobbH74nWLP5UKS0+XuZaVl31YIlhy+ofRP1T80L80c2nbMq9lm5YTl0uXX1kRuGLnSr2VRSvvrxq3qm41a3Xp6ldrpqw5Ve5Rvnktda1ybUdFVEXDOpt1y9d9WC9ef7kyuHLPBtMNize82SjceGFT0KbazWabyza//1Hy47Ut4VvqquyqyrcStxZsfbgtaVvrT+yfqrebbC/b/nGHdEfHzridLdXe1dW7THctq0FrlDVdu9N2n/855OeGWpfaLXuYe8r2gr3KvU9+Sf/lyr7Ifc372ftrf7X9dcMBxoHSOqRuRl1Pvbi+oyGlof3g2IPNjX6NB34b+duOQ5aHKg8bHl52hHpk4ZH+o0VHe5tkTd3Hso7db57SfPP4hOOXWsa3tJ2IPHHy97Dfj7dyWo+e9D956JTvqYOn2afrz3idqTvrefbAH55/HGjzaqs7532u4bzP+cb2Me1HLgReOHYx5OLvl3iXzlyOvtx+JfHKtatpVzuuCa89vp57/fmNght9N+fdItwqva17u/yO6Z2qPx3/3NPh1XH4bsjds/fi7928L7j/9IHiwYfOhQ/pD8sfWTyqfuz2+FBXWNf5JxOfdD6VPe3rLvlL768Nzxye/fp30N9neyb0dD6XP+9/seSl8csdrzxeNffG9t55nfe6703pW+O3O9+x37W+T37/qG/6B9KHio+OHxs/RX661Z/X3y/jy/kDRwEMVjQzE4AXO+A5IQUAxnl4fpiovvMNFER9Tx0g8J9YfS8cKF4A1MJGdVznNgGwF1a7efCIDlvVUT0hCKDu7kNVUxSZ7m5qWzR44yG87e9/aQYAqRGAj/L+/r6N/f0f4R0Vuw5A0zT1XVNViPBu8GOQii4bCeeBr4r6HvpFjF+3QOWBB/i6/Rdxi4lInc448gAAAIplWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAAAdSgAwAEAAAAAQAAAGIAAAAAQVNDSUkAAABTY3JlZW5zaG90kx7ieQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDY4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjk4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CjlohlkAAAAcaURPVAAAAAIAAAAAAAAAMQAAACgAAAAxAAAAMQAAFSrMXL20AAAU9klEQVR4AeydCXgV1RXHT/aFhIQdJFbysSPKEllkjSC0lTWsomirArKDYitWqwjIorQVi4qAgKBQCy2yFFF2WUQWURFUCAKCyhYCScjysvX877w7mbzkxbyXSUjpuV/yZubOvXdmfu/O/Oecuzyf6LpNckmCEBACQkAICAEhUCICPiKoJeInmYWAEBACQkAIKAIiqFIRhIAQEAJCQAjYQEAE1QaIUoQQEAJCQAgIARFUqQNCQAgIASEgBGwgIIJqA0QpQggIASEgBISACKrUASEgBISAEBACNhAQQbUBohQhBISAEBACQkAEVeqAEBACQkAICAEbCIig2gBRihACQkAICAEhIIIqdUAICAEhIASEgA0ERFBtgChFCAEhIASEgBAQQZU6IASEgBAQAkLABgIiqDZAlCKEgBAQAkJACIigSh0QAkJACAgBIWADARFUGyBKEUJACAgBISAERFClDggBISAEhIAQsIGACKoNEKUIISAEhIAQEAIiqFIHhIAQEAJCQAjYQEAE1QaIUoQQEAJCQAgIgTIXVB8wVx8ews/Nny8X2xKEgBAQAkJACJQTAmUmqD4QUacoeqOnVl5WLRVhtZKRdSEgBISAELhRBEpdUJWQ8tVpEXXdxoXrOHcQrKKpxVTHuW67K0PihYAQEAJCQAiUJoFSE1QloPyBpfpX6/jIdW4j1tiXf0Vt5X04FTNPOHOVoQtBRZxeIoMW2bzMsiYEhIAQEAJCoGwIlIqgKqlUAsqCyUtfvhYsffjD1xKv4qzXiQgdLOqoxJQ/cnifFtAcCCpvYFutO/NZsumSZCkEhIAQEAJCoNQJlJqgKuFUIsqC6hRSP972ZXXFto+yVLE0rFSrluqr1kKqRBORHJGtBDSXclhdsQ5RNcQ1T3B1flkKASEgBISAECgrArYLqhZICKrx70N+LKL49+cIxGE9T1gNQdUXzLuVK1dvQ0z5j0UzT0Szs1lMWUWzeEc2CytE1RBXIy3ySBACQkAICAEhUJYEbBVUiKESVCWmLKRO8fSHmPJGgJ8hqv68NPaxherM4+6iIY6wQCGgEM0sFtAsXslkUc2CqEJcsd8puEjPfxKEgBAQAkJACJQpAXsFVQlpnmWqhJRNUghpcIAPVeD/ztWDqVWVQCWoEFOlwEVdsjI3fVgk8zojpbOCfp3ooA9+SKeUzBwlrtqCRTsrgspmrMqnEBACQkAICIFSJ2CboGpL03Dz5lmigWyKBvoThQX6UvVQXxrXsCLVCPZTgurN1UEwr2bk0NxjyfRdYiYlOVhQOdJoUzXaU1GuCKo3dCWPEBACQkAIeEvANkGFkEJU0Tbqx35fuHUhpkEBREH+PlQl2Jd63laBOtYMpmD4e70IcOU62Drd/mMarYi/TtdZTNMyDfcv2lJhpcL9iyCCanCQTyEgBISAECgbArYIqtU69WNlhasXbt5AFtIQuHoDfahxpUB6tEk4hQX4qs5JHl8eCyXaUk8lZdJ7x1PomwSHEtOMLGKXLwspC6pqR+U0IqYe05UMQkAICAEhUEICtgkqLFSIqZ9vrhJMiCnaTUNZTCuH+NLABuHUhq1TZckWNkbmFy4EPXnRdrqeLdMdZ9PoUmoWZWQaFis6KClBZcWF6PKfBCEgBISAEBACZUqgxIJqtU4xvhSWKf7h5oV1Gh7kSy1rBVEfFtRaYf7KLezNFcIKPX2NrdOjSfT9lUxKceSyoOYqF7CDBTXHKaZoYxUL1RvCkkcICAEhIARKQsAWQYXV6ausUxZTdvca1qmzI1K4H/VtGE4xtUMomEXWmwCLM4U7Im1kV+/O06mUmJZtuHudFiqG0qj2U14irQiqN5QljxAQAkJACJSEQIkE1Wqd6okbVK9e7ogE6zSCXb1NqgXR0JaRVDnUT82Q5PHJskKibfS7ixm07PBVupicTcksruk8qwMsVPTwxVhUNWyG04qgekxYMggBISAEhIANBLwWVC2maA6FhYpZkFRHJO7BG8yCGsymas2KfjSwWQTF/CqU9xmTOHh6zmgbTWPVXLwvgY5dcChLNdXF3at7+Or2U7FQPaUs6YWAEBACQqCkBEosqBBT3bM3EG2nbJnCOg3jYTLN2c37SLvKFBrE407ZFexpgDA62BI9cOo6rT9yjS6nZFMqW6UYKuPg/wxuV0WHJOsYVLFQPaUs6YWAEBACQsAOAt4LqtMyxZBSJagYJsMbIWydQkyrcQekRztVoSa3hJi/NuPpCcPivMAdkVbtv0LxlxyUnI62UzLdvQ4MmeFEpoWKtlTnQW4WK3Xy05OoV8/7aMN/PqSZs+Z4irBY6Z+YOI7GjB6hOnbd0awVZWRkFCtfeUhUFnzKw3WWx3Pw5UHn9erVpdubNKb69etRdnYWnT59hg4cOEQ/nD1XHk9ZzkkIlCoBrwQVbl7+Mya65w1jEgcWVKd1GsntpZ0ahVHfuypxOyorrZchlbvvfnYihbYeSVIdkVIzeOgMW6zqH+2nvK7m9GXhhZVa3tpRw8LC6IvPP1VXv3r1Gpr8p+c9IlG3bjRt/miDmadrtx506tRpc9uulalTnqOhQ4eo4pre2YpSU1PtKrpUyykrPqV6EZbCH+Lv4IXn/6RiHhz6KH22/4Bl7y+vxh8/ohJ9uOljGjd+Ur4M+/buoKpVq9CZMz8Q6lFJQqXISJo8+Snq26cnBQTwG3QhISHhCr05fyEtXrKskL0SJQRuTgJeCyo8uNrdq9pO1bhTtk55mEwUz9X7u9iq1KBWsOrx6w06WJhnL6fTxoOJdOpCBl3njkhpbJGmO1296ejhy4KKmZP0ONTyJqh48Bw6uEdd/qZNm2n02Ikeobg1Kop27vjIzNM59td09pz9b/52CmqTxo3opelT1DlPfPKP6gFuXoDNK2XFx+bTdlvc6FEj6KlJE9T+x4aPpu3bd7pNW9iO7+OPqujdu/fSw78fni/JkS/3U4UKFejSpcvU5u7O+fZ5shEb24kWzJ9H/niLLkbANQx/fCy/8GrfUTEySRIh4CTw4AODaUD/OLp+/ToNffixcs/FY0G1WqcYd2rMimRMMYi208phftS+UTgN7FCFwtk6heh6GuDqxbjSnYcTad+xJCWmENJ0FlS0m6oevryO9tRU5+T4+OUZw0otP27fkgoquI18/DHq07snrV23gea/9banKIuV3k5Bjevbm/4yZ6Y6rjeiUKwTtiQqCz6Ww5XqankX1CH3D6Tp017g37Mwbuos7l7/0ceb6d9r1tGXXx6hOrf9irp370pt27SmO+9sarI6d+5H6tN3ECVevWrGyYoQKA6BBW/No3u73sNDIXOpbv28OlWcvDcijdeCirZTjD3FuNMAp3UayhPgR1cPpCGdq1Kz6AqqbdV573l0bbkskhk/ptPJ7QmUkpJF2XyQXG6XzeFhOMTu5Cw+TioL6K7TaXTwp3QlsBiLaralsiAj3Oh2VDsE1biS0v38XxbU0iVTtqWXZ0GtWbMG7f5kC9/z8E0RxZ/8nvrGDXbbPNC9W1ea9/e/siXLv4zBoaSWsSpEPv7vCPwfCSpPM8henwAWVfyaTAhPMYhZkTo3DaehXapRBe7Z642YYiBpDnc+SvrgIuXwmFMK4h8lr+hPfpHGP7GopnFv30M8/eBybl89z2k4uTmfr3b7ouaJoBbv/hNBLR6n0k5VngX1w/+soYYNGygE3357nHr27v+LbtyoqNq0aeNaCg0NUflmzf4LLVi4uLQxSvk3EYGbWlC1QMKNq9y9vET7KSzUcBa6Gix8T8bVonrcdoqev96EXLSLnkmj9K+TybcCD7eJ8CdfdiP7sJWancq9fK9m0hGeGH9JfApdScshjElV7aguFuqNFlNcux0WatOmt1Pt2rXop59+piNHjDaywrgGBgZSv7jehDbMKlWq0NFj39Cu3Xvy5bm7bWuqGFGRjh79huCG08GdoPbqdR+1aN6MataoQae5M8uBg4doz55PyeFw6KzmsnOnDhQcEkydOnYguAYRFr29lA59flit57D7YOu2HeZDODq6DjVoUI8uXbxMnx/+QqUJDw+nwYP6U33uORrCD+Fj33yreoweOmSUoRK5fBTFp2uXWPIP8Ke9ez+j5ORklbN9+7upY4d2hPbXhIQEOsjnt2vXXkpMTHQpufDNknAuvMS82PIqqOjFu37danWicPO2adup2O5b6zWdv3CB2rXvknfBLmu4X1Dn8P2jDiP98eMnVHNHWlq6S+q8zQiu0225bjscmWa7c6VKleiBIYNUHUtOTqF9+/Zz/dtOruWgzsXGdqQ2rVtRUFCQyo966q6ne2HHwpncxu7ue7h9uZF+6fjuOK1du6HYnFCGH1soPXr8RvWajqpdm5KSk+jEiZO06aPN6v5HGnehNOo6joX7+q67WlKdOrexNyKNTrJnYhN3eiuqF3d0dMnu7dDQUOrYsR0OT+PHjqbGjRuq9VFjjP4F2ECnt4MHP1fxrh/ofAc3Mb5TR2YmM4ynT3btUXXJNa3d2x65fCGokEksTUFl6xRTDaLttEdMJA1ob4w7RRqPg9M6dZxLp1zuhOTDbl4ILPHPtGVdz1a9eo/yD4uvPZNK3ydlqfZTdE4yf20G7agogw98swjq3j3blKAV5TKb9uKfafDgAaZ7zcod+YaNGK2E9fi3X6o0rh2kXAUVwgt3HR4wrgEPpEl/mMw31eZ8u3SHmHyRLhudYrubQv7+ymXUqlUMu/RT6M7mbWjKC88Sernq9jlr1p9/Pk+/f2QEnYg/aY1W6+74WF9mpk2fxW19W2j92lWEB61rQPvMkiXLafqM2a678m2XlHO+wgrZsIqPN+3P+juwu1MS2sTRNo6wZOlyAs/iBriIjx45qOoSODe+vWWBFzJ8VwsWvE4tWzQr9PtHh6adO3fRqDETC+TFeQwf9gg9w72OEdBLfdTIYQSWrnUJIokyduz4RKVFmokTxhbawWrL1u00gjtTuQbXYwUHB9PiRW/mazPWeXC9EOdRoyfwkCJ2oxURZs+azox7FXoPIxteLB4fNb7QTn6lUdcffugB1UEuLCys0LPGvfjYsFHm/WxNVNJ729oPw1qudR3PodvviLFGKWPi3eWLKTIyIl+83sAICXSULMow0Wm9XZZAUHl2JFZNf25MxcxI9W8Jokl9a9Et/DNtsFh1UGv8gaWO1cu8GCM1KmAOW6G5LKDZLJjZPAYVwgpR5f5HdJbbU1edvk7xHJ/EQ2gyYM3yP9pPy+P0g9aK7ipims8vLd0Jhs636p/vUUzL5npTNd6jsgWwZWYd0jCSb0bdpuV6LlZBHTDwQfoHi53uxYmHWVZWFsEys4ZJTz1Daz5YZ0ZBrPHwxENMP8jwfeJfh7btYuny5QS1ab3pXp37Oj337NM6mXpo+vr6meeAHTiPDp3upfPnL5jpsOKOj5X9y6/8lYYPf1R5DJAH5wQr2/WFYfOWbfT4yHFIUiDYwblAoS4R5VVQDx3Ybb6I3NW6I125csXlzIveRM/gVmzlwLqd+9rrppcCuRo0qE//Xr3SdAsjDvUN4hcUFJyvDsCL8NsecXTx4iUkM4NV5NCT/o15r5r7jHLyvxj27NWfhrD1ih6kOiAd6riuu4jH2O/xEwyh1umsx+r26560ccMa8z5T5831KoRFVrc1I99ZHpPb/Te9C7V6Q9irs2Hdvyg6ug6nNALqelp6Og9DDDDLxh6UDxHbxb24rcHuug5xHzggznoIdWxY0FY+mWz9Dbr/IdUhzZq4pPd2t3u70JtvzFVFWjmCiw6JiVepVZuOelO9jOOlXJ8f0l5LSqIw7tlufQ6CYVy/+5UHz8xs44rHgopjGy5fdlGwMhqC6kv3xURQr9aRaqYkuHuVgPIH0mI9kB+0obyBPOYkhNhhCblsXmZdcVAWT+KQy65crcB4JF9mYV0Rn0zfJWZSsvOHxTGxAwQV8/niuZ0NC9VZnuU5bjlC2a5aK7qriBX3TNwJBvJjUoMRLBQ6vLPsPUI7FR4OCHDVvTZ3jrpZEYeKhQrqei5WQYXQ4MHy8eat9Pbid5TLFWVVrlyZ3lm6QJWJbYh2i5i7C1gM1rfLoqwsfdNZBXfhoiW0YsX7pjupZYvmtGjhG+Yb51dffU19++U9BHEe7vhY2ePGx7XjwTZz9hzasmW7+YCYNXMa9e/XB0Wp0Kv3gAI3m12c9THcLcuroJ488bV6UOFlqHXbTu5O3+N41MWD+3eb3y8E88lJk2nnJ7vNslCfpk193hRcWBmu42itIocHJjpCzZ+/iBa+vVS58uGmXbp4ATVrdocqF72NIyMi1DW9x/Vt3utv0QV2LyNMGD+Gxo8bZT6YXcd+W4+FZpOoqNp07VoS/fHpZwkvZAi4rlEjh9MTE8eawrpt2w72FI1R+60fy5YupA4dDPcmzv3lV/6mxu5q8cA5v/bqHLr11iiVDXUZLzW6CQORdtb1+9nTNeOlF81TXLZ8BS1/dwW7ek8pl3S3bl3omaefMs8H1x7Tqn2+lyS77m2cRHHaUKtXr0af7tmuvjM8T1y9TXgOTuTvomuXWBSpmhKKanpQibz88EhQcQzWRXPmI0wnCPHET7VV4A5JFUN9lftXTZDPbatBrJ7YF8xu4SgeQhNXOUSl5/qWvyC1bURZf8w0l4/Fo2SUmK5ny/SLyxnqZ9vUXL4QUvaiZHECNWSG08Hdy39KXHGuNzpYK7qriBX33NwJBtp+Dh/aa96weIC8POdvBYrFw2XPrq1UrVpVc5/ruVgFFYnwkPnz81PN9NaVbVs2EtpTEJ59bgqt/Mcq627lGizOsBl90+nMeCCt/tcHetNcoj0Fk2PgOhAaNGqmxFAncMfHyh5p0Qbd5d77CrwAYN+sGVNp0KD+WFUuuuGWB5+dnNUBivgoj4IKl99XX3ymzhptVrBI7AqwKOBaRMCLHDwQ2oNhPQb6Baxjd722Vl6YMp0f8ivNJFaRQ6S7zk+6ruiMi1hwZ8x8RW+aS+t5wbthHa7meiwI3D1df1toG+fAgf1oNr+w6QDLGP0CdEAb38oVS/Umod7BRewa4EmBYGhXJvoxPPS7YWYyu+o67jG457VFB9c+XPyuAeeza+dmNVEI9uFF2DqLm133NsoujqCOHTOSnnzC8CzBqHhx6gxkLRBWvf8uxcS0UPHtOnQp4O0qkMGLiP8CAAD//04T0yIAABsnSURBVO1dB5gVRda9M0yAISdB139lJA1ZgVGyKCCKiCjKShQUiQKuaXEXUBAVFXVBd8WEShAVWJAMkiQokrOIIgZUJKchzQz891S/amp6Xr/YyMjc+mZeV1dXV1efV92nbqj7YpLLVj5HYaSYGCL+o1hs+T8PZ/LwNi6WKJ4zCXHE/7zlfF7e5ouPofwJMVSvSAI1KZaXYrl+LNe1GsCW21GNWWVoUx87y/mDp8/SnB/TaM3vp+nwybN0KuMcneb/M5lEGZnnKOMs0dmz54j/iLN0Lqy74RMuYCpapAitXbNCXWHu3M+o90MPh321L1YsotKlStG+ffvp+ro32Of36d2DHn2kn9pfu24D3dO2g33MmSlduhR9vngexcfHq0POvgx9eiB17NhOHftu5/d0c/PbnU3Y+9dfl0oTP3xf7X/yyRQa8M/B9jFk7mzdil4e8bwqe+DB3rR48edZjuudjyeOpdTUWmp3zpz51Kfv3/WhbNsXX3iW7m7TWpXf1aYdbdi4ya7jho+J/TkeFFWr16aTJ0/Z55mZhIQE2rZlLY/LWNq5cxc1a97SPuwlznajLpnevbrTY4/2V0cDYedyOn3/3VZ1aPnyL6hzlwezVNu8cRXlz58/2zjKUsnPTtWqVWj6tE/UkWDfk5/TAxatX/slFS5ciJ/Zc9S+Q1f6atVq1/r4/jEOkH744Ue6qWkLu+6D3brSkwMeU/uBxm+HDvfSM0MGqXppJ05QteqpdhtmJi4ujnZs36iKli1fQfd16W4fNq+Fwq7396DPly63jzszr7w8nFrfYT1PM2fNoX79rX6i3tj336YGDeqpU94Y/Ta9NOLfztPt/auu+it9Nm8mxcXloYyMTEqpfA2/9/DGI/JqrN/7t7vpuWeHqDanTptOjz72pMr7+yhWrBit/mopc0AM/b53L9Wtd6NdzatnGw2+9ebr1LTJjWqMlC1f1b6GmXn6qX9R507tVdEdd7alzZut58Csg3wpfo/e2LihKv7f1Ol05swZZ5Wo92MiIVRcFZwI8ovlD/AhCDWOSTQ+j0WoibzNy2SaFB9LRfLGUOvSSVStcIKqm5VE0Y5qiIkVjaLxGDrH20NMpp/vPkHLfjmpyDQtnYlUESpROpNpJo+nTH4YQaa8sf759JySzIHuJLFQ++hGGHNmTaWKFSuoZgINIn2dN0e/Rs2a3qR2nX0xCfW998fRM8OG69OybUE63+3YrMr9EXkkhIqXDF42bqntPW1o+PND1eGhzzxP738w3q7qho+JvXMyYp9sZDDxwTlHjx6ja2rWsY94ibPdqEsmJxIqxgzGDtKEDz+mQYOt78HlFkIuBkEsXmh9506CdGtkw7qVVKhQQfVyrVy1Fp0+fVpVNUluwoSPaNBTz/htony5sjRv7nR1bP2GjdTmbusl7K/y9m3rCROt77/fRU1vPj/BMq+1a9cP1KTZbf5Ot8tMcj58+AjVrG0RKCp8vXUdJSYmKmIsV6GafY5bZvy4MVSv7vXqsPnMeDXW/zdlIl1To7pqv+XtbWjb19vduqLK9bOHnUpVatrfh0moZj/9NRbo2Ub9UAi1a5dONGjgANU8JmXt2ndR+YvxETahopPgP/Ce4kHeKlJlMtSkmuAjU0iokE6TC8ZR678kUXIBFl990qgplSqC9REpGmbhk04zS6745RTN/yGNDpzIpBNnLMk0nQ+CTLHNQqZ8Dkg1JyVzoDtJLNR+6kHrJAVNAJjdu83czGvc37UzDfzXP1SRsy8mod7zt460du1689Rsef2y2brta7q91d1ZjkdCqObDmKUx306NGtVo6pSP1N6Il0fSf994y67mho+J/cJFS+jB7n3sc/xl5s+bQeXKXk0nTpxU0qyu4yXOuk23bU4kVBP7WbPnUt9+j7p1P6xyc5zMm7+AevW2JPNAjcyYPpmqVK6kqmDcYfwhmSTXpWt3WrrM0gqpg8bHZZeVpJVfLFElY8d9SE8PsSReo4qd3bThKypQoEBAQg0Vj82bVlP+pKQsxGlOTJ3Ptt0JR+bxxx6mXj0tzcOYMWNp2HMvqBpejfVVK5dSiRLFKT09nSpWusZx9ey7muxw5JYWrWnHjm9VJZNQo3m20Zi+RqD3HPr8xfLFSnrHOZgUT548lT4YO4F+3r0bRX9YioxQfd1TxMoECI7EP9S/LJAqlW8iS6f5mD8LJsbS9SUTqfkVSVQiHzMtH7ckUouQNcFqkRdS6kkmzDV7TtHM747T3uOZdJIlU6XmzbDIFGpeSKdnmUyUdMr9yWlkCojMge4kMR+EQTduhKFJzTnrdWuwbNlkpTLCcWdfTEKtymqwE6wOC5S2bl5L+fLlVS+0aAk1IyODKqTUCHQ5qlChPM2dPU3ViYRQg0ndaHj2zKmUklIhG6F6iXPAm+SDOZFQoZKFahbJy9l/v7696OH+D6l2hz37Ao15b6zKB/oY/txQatu2japiSj4mobZq3Za2bPGv8jMJNdiYCIVQn3p6GI0bPzFQl9UxjF2MYaTyFatTZmYmXXHF5bR86QJVtvKrVUrlrXYCfNRl6XQCS6lIpvrdfM8Euy+c6zbW9XONOiCwYEm9x32VevXpT/PmWfejCTXaZxtNh0KoqAe1+oiXnlNmG+zrBC0GzADA690xH9hStD7u9TYiQkUnmD/VB7ZZCJU5EzZUS90bw+reWLr1/5KoQem8Sv0LElbkiZN8Iq5Vhn2LTNczmc7ykenxM2ctMk33SaaKTH02U6h5ubkQvnuu9ccnc6A7SSzU3rgRKmw8UCft+f13qlf/pqDNJfEMeQvPlJGcfRFCdX/JeIlzsC/JJNSevfrR/M8WBjvFPm6qFr20oeICO7/doibBTluZffEIMoMHPUld7uuozry/Wy9asmRp0FZ69uxGTzxm2dpNMrtYhArVYiC7r76hD95/ixo2qK92a1/XkA4ePEjVqlWhT6datulg9krdTtGiRWnt6uVqd8WKL6nTfd1U3nzPREOoeqzr64Wzhb0V94F0MQgV14WvyFOD/8l20kZKXY8yM8HmPHXaDPrHgIG2/dk87kU+YkLFxZWE6tvm4Z08LF2yzZwSfYQKde/l+fNQ23IFqErxBLavcgX+O0+kMbbd9CyfD1Xv1n2nacb2Y7Tr8BklmZ5SdlOfZAo1LwiVGRQkytkcS6bctQsqoWonk1BmgehL8+ZN6Y3/jERWCFWhkPXDbdbuJc5Zr5h9D44VcLBACqaSdJ59c7MmNPqNUaoYRAxCNpO+j1DVi+a52naJshrX1qFjx46ZhyPK9+zxAD3x+CPq3JGj/kMjR/03aDujRo6glrfdqur16NmXPluwSOUvFqG+OOJVGj36naD9hq0YNmOkq8tVUVs49axZtUzlN27cTHe2uVflA32Yz/D06bPo4UeeUNW9ItQtm9ZQUlI+paVp1+G+QF3Jduzrr79hZ6kMVX6xCNXsVOVKKdSyZQtq2LAeVaxQwVYHo86mTVuo9V1/M6t7lo+aUNETCJuaUOHpm8iqXnj3FmLp9OrCcdS5ciEqzfZTePhCCoX9VDkg2eQaQ2dYd/vzkXSasuUofXvgDKWxzRQevWeYUM/bTJlEuR7UvDmdTIGLOdCdUiGOh5LcJFSoi6A2QqpTrzHt3bsvYHPwboSXI5KzLyKhukuoXuIc8Avig3XrXEcTxr+nqn373U5qfkurYKfYx01v0rffeY+eHz7CPoZMNIT62qiX6bYWt6j2QHwgwHASJLSa116j1Iip1zdSarcWtzan1197RTUDmydsn8GStnOjHrABRkgXi1CXfL6M7n+gp+pDoA/tfATv3Aop1e2q2is7VLMNpK/7OndQ54PIQehI5nsmGgl15RdLCGpxqHthQ9UEqS4SxkdOIFSzu7BX9+zRjR75e19bJRyJF73ZplveQ0K1vHyxXEYRKkunRfPFUs1SealdpUKUxPsWkVqkakuqvIt5zS9H02na1qP09d4zdOzUWToJMuX/dPwzeyqbqY9MmU+VZIptTk7mQHeSWKj9diNULE2BYwdSKDP8Jbxs5q//d6Wq7+yLEKo7oXqJswI/wEfBggVp4/qVqkaojiG6uaVL5tOVV/5F7T7U9xGaPWeePqS20RBqrVrX0qSPx6t20C94QbstQcpyUd4x7d+wZ8FJBcmU0H77bQ/Vb9hElQf60DY+qO5gd9fLRi4WoYZibjFt0M77NJcNwbaq78cNA9MLt0PHrvTlylWqqvmeiYZQx499l+rVq6PahBMfnPkiSTmNUPU9mBogLz3WdfvYRk2ozIeWDZWlzXiWPNX6UybPfPFEl+WPo9vK5acbrkqiBHgr6crgVJ+0CjXv3rQMmrzxCG367ZTy5oUTEsjU31pTRaZ8DlS+OT2ZA91JYqH23Y1Q4e0Ir0ckzCihwnBbfzXsmaeofbu29iWdffGSUOEcAGkJacCTg+mTSVPs65oZrx46N3xM7KN5yXiJs3n/bvmFn82i5OQy6nAo3smo+FCfnmr2jTzW1qVUvhbZLCkaQkVD5oQsHOek6Z9OoqpVKqu+OCXRFcsW0uWXl1bHnMuhVKHxYY5Rp8ruYhEquhdM7Wt6JsPrdMjQ5+y7+vcrL1KrVrepfX92b7siZxqzXXDMO2+oInNiggKvxrqpUg5lSRDME+XLl6MjvBzIXGPv1bONezOX+2ES5U9qHvfBO1SkaBHatm27so/iPH/JdOqaMXM29X/4cX/VoirzhFBZKKU8/IFlM4m8zZsAlW8s/aVQHupRuxj9tUi8WqMKqdRW97LNNINdig6fzKSpm47S+t0n6QjnT6WTUvXq5TEqcAMTBtS8IFFFqH8CMsW3Yg50J4mF+q25EQbON19WWO6BNXG/s5OSmTp1bEdDOHADSFd75Tn7Yr6sovXyNaUZ0xPR7BPyXj10bviY2EdDqOirVzijrWDJVIWibjC1Yv9+val/vz52s24z72gJFV7i8+fOsMfQmjXr6N7297lKVZBA8R3jPCSoO2GagEOOTqbEgPGJdaFm0A5d7/bbW9DIV1/Su0o9bC6NuZiEin537HS/LS3aneSM+VxB+sT9799/wK4Cu+qiBbNtTP898nUa9ZpFmnYlzsC0s2TRXOWEiPIPJ35CAwcNsat4OdZNe3kgkn/15Rfojjus9bnwqoZ3tU5ePdtozzRVmZ7d+lrYLpg/k66+2hpngVS5n3w0jmrXtjQkoXqWm9cJJR8dofIVWD2tJNQ4ljgR1AEOSSo6UmIMVSqZQH3qFqd8CbEWoTLxqsq8hRMSyHTRjmO09Ns0OoS1pr7lMUrNy6KrJlNeRfOnI1OAbw50LF6fPMVa+oFjgdJPP/1sBzpwIwycD3sHVH1YgI6EhxuLsX/99TdlK6hRvZpaV4ZjmB3jBQZSvZCEioXqsBkhoT/r1m1Q1/7mmx22zQvHvHro3PAxsY+WUL3CGfcdSoJtEcSq0y+//Eq4h7nzPlPfLbw9GzSoSw8+0IUQyUinn37eTY1vPH+eLsc2WkJFG2bUKOxDUsLL/aOPJtHO73dRwYIFqFGjBlS/bh26885WdmQukOmjjw+gGTNm47QsCYEWEHABCdIH2nrvg/GEZ6B8+bLUs3s3di651bZ9ISoRohOZ6WIRKlS4kLBxf9DEYFkGvit48P794b52EAb0dfSb79KLL71idlvlEZAAgQl0wv2NHPkf2rJ1m/Javefuu6jbA13UMjXUOXT4MKWyp7CpHvZyrNevX5cg8emEJSfzeNx9zFHR8uXNSy1aNKcmNzW2xx2e8YY3NFPjUp/j1bON9szADzA3LFy4hMZNmEg/81jfvfsXdclbbmlG/33dijKF/iAK0ii29WMNKt6Nqam1aNjQwbZjGMwV1a+5Ti1f0n32ahsxofJ7WSVobiGhIkqStp8mMYEW5OhILVIKUstKBSmOpVUQr7abIgoS7KJztxyhhd8cp4NpvNbUF7jhjC9oA49Re52pkk75dMbqT5XMgR5Ox/HQ1KpdX53iRhi6PcxeZ7BaDS9Zt6Q9AvXyhwtJqOiDfqCc/WnQqKn94Ok6eInm5HWo+h68wFm3FcoWLwi8KEJNmLBAYjxy5KjfU7wgVDSMEIAvDB9mS1V+L2YUHjp0iO5iyfPHH38ySs9nsZwL4zc5ucz5Qpfc6tVrqT3bDrGO00wXi1Bhx4RKEgEgAiXYs2HXdkumQ5lbHZQDy9s4gtGePVm1UOZ7JtrJI64D50VI11qjhTJ/CQQ3kCNnTZr0vyyHvXq20SgciuBXgLCZZgIpVqlWyy4yPcB1IcjVeQ8HDhyktvd2ol27ftDVPN1GTqjcDZCqIlT+gLrXWn9KHB0pVjkkPdSwOFXk9aexTLbaZgpOhMPRYl4as2DbUdrvI1Pl0cveSSo+Lz8vkEpzeuCGYN+E6WQSrK55HF966vUNVZH2Mg3mAIGZXOfO7anUZZfxbDYfHThwgL5jL8hXXn3NjiijvQqdhGrOkjFIgzmcaPd6N3d/vCQR1QUvX/NBaNT4ZntWCW9WeLXioQwWlSU5uQzBtogE71V4serkho+J/Vtvj6HhL7ysT/G71bautLQ0qlbjOr91UBgNzq6NuhxA2D8sLdFqU3/V4N0NycjExF89Hagg2Djyd66zLDm5DGEdacMG9WzJ0VkHUtvSpcuoZ+/+fu1ezvpYX9qx471+yQnPw5tvvUvvvPu+8zS1b4aeMyP2OCubjlDBxoR2GHJ6WzvJe/v2b3iC8Qzd0aplNiwwuYHDoBkq09knvQ9b6mOP9Lcdy3Q5ttAEfPrpTBr89DC/8WcvxFhHCMKhQwfZ9m+zP3hm163foJZm+ZvAefVs62tCNf6vfz5BjW9oaKu9nYSKuo0a1ufgDs9T8eLFshEpYjdDhY2JjXNCpq/jxTZyQvWRqSZU+BxB3YsISYiOlFwinvo2LkElOOygspsy+0IyPcGi6bofT9C0dYdp/7FMOs7xeq0oSFY4QaXmhVcvzy7+rJKpF1+M122YcUxDXUjuRR8wey7E0XYOHjzkyfpFL/p0Idu4EDgDQzhUlClzlQomD3s5JL41a9fZE5QLeU9ubWPihElRSkpFJoIr2I+CA43s2cORirbRgoWLs6gl3dpwlmNxPhzBChXCmDmoJoOm3dFZ/4/edxKqGZUJL378eMTx48dp0+YtEX038AquzPePifGp06cI6zvdpPs/4t4REa1SSgrHDS/Pk/SDylbsxTrkSPoOabVkyZKUmBDPAfn3BYx6hElorZo1ae++ffTll18FrBtJX9zOiZpQoe5VIQd99lMQahFeLtO4QgG6qya/TJP4gI9MsXZ03Q8naMb6w7Rr72k7pOBpn2SqlsdAMtXLYyDOcvJtrB35VAjkyZOHnuZ1abG8hSps2qczAiIDSQeL6ZEgrWGGLik4AoJzcIxyU41AhJqbcJB79Y9AxIQKyRQqXwR0iGPOjPcRKkIOFufoSJ3qFaPUq/Pz+lMWXbnyKRY9fzqYThOXH6Dv95+mtFP4KTa2parlMdbPsGm7KQunKnADmFTI1P8Xh9napg2rVGQTqNduanqr64wYMWpnTp+iVFKwK2Bxvelt6f8KUgoEBGcZByYCQqgmGpJ3IhAVoSp1r49Q8QszsKGCQK8qGU/dG5eksqUSWecdww5I5+g3joI0et5e+vVwOh1nMoVUqgI3sL0020+x+XoJYpXkjgA8Cfs+ZEVqgXPPrFlzadGSz5UnHALcJyeXof59e2fxkpw0eWrAtVruV8u9RwTn3PvdO+9cCNWJiOybCEREqJBM+c92SIL9VBEqS6cF2H5as0wSdb2R7aeF4tluyiEFD6TT5C8O0Ea2napfjuG1ppZkCm9f63dNlQMS64ShFkYSMrVwCPQJdeRHE8eyrSD4Ty2hnVAiKgW6Xm49Jjjn1m8++30LoWbHRErOIxAxoTKHsjrsvMoXS2YSOIZvUVb3NqlWiNo3KK68e/cfT6epXx6itTvT6AivNYVkqmLzYstkqteaclY5IaFrQqbnv6BQcggYPmTIQCpSuHA27zZ45P3GbvbP8k9k6WDiobQpdbIjIDhnxyS3lcDpaMA/HlW3/WCPPlkCNeQ2LOR+syMQGaFyO1D3KkJlUkVQB02oVxSLp3vYftqkemEOI3iWJq04QEu3HqOjHMRBSaVMpBnMnoiEZJEpiNT69RhoeIVMs39J4ZQgdmoqRwOBJ+iy5SvkgQ8HvDDqCs5hgCVVBYFcgkBkhAoyZYBsQmUdMH5lJp7tpSlXJlL3my+jK4ol0IzVh2jOmsMctOEsx+VFoHuLTOF8xL5I7M1rkSmkUyHTXDLi5DYFAUFAELhEEYiaUCGpnpdQYyi1fH7q2qwEreFwgtNXHaIjx1kyhWoXJMqkil+NyUamPkK9RDGW2xIEBAFBQBDIBQhERqgMjFb5xrJ0irWoVpSkGLqjTlEqVSSOnZAO0aFjGedJlElV/Ti4kkpFMs0FY0tuURAQBASBXIVAZITKBMp/FqmCUFn/q39YvGVqUfpqx3Haf5TJFCTKUilUugglCEKFjdQMKShrTXPVeJObFQQEAUHgkkUgKkLF8hklqXJGBXfgnYIcJQnrTDOZRS3yBIFa/9nIlGEVJ6RLdmzJjQkCgoAgkKsQiIxQAZFDSgWxgmD5z0qcAVmqfy4BqSJKj9ryvhCpDyfZCAKCgCAgCFwSCEREqLhzTZ5Zt/yrMjajMmlyPZCoJlW9FTXvJTF25CYEAUFAEBAEDASiIlS0A/7U/1pq1WKqTaBcx85DUsWJkgQBQUAQEAQEgUsIgYgJFRhoadQQShU0el8Tp9oKkV5Cw0ZuRRAQBAQBQcCJQFSEqhtTBKpZVBc6tpBQJQkCgoAgIAgIApcqAp4QqgmOllqFQE1UJC8ICAKCgCBwqSPgOaFe6oDJ/QkCgoAgIAgIAv4QEEL1h4qUCQKCgCAgCAgCYSIghBomYFJdEBAEBAFBQBDwh4AQqj9UpEwQEAQEAUFAEAgTASHUMAGT6oKAICAICAKCgD8EhFD9oSJlgoAgIAgIAoJAmAgIoYYJmFQXBAQBQUAQEAT8ISCE6g8VKRMEBAFBQBAQBMJEQAg1TMCkuiAgCAgCgoAg4A8BIVR/qEiZICAICAKCgCAQJgJCqGECJtUFAUFAEBAEBAF/CAih+kNFygQBQUAQEAQEgTAREEINEzCpLggIAoKAICAI+ENACNUfKlImCAgCgoAgIAiEiYAQapiASXVBQBAQBAQBQcAfAkKo/lCRMkFAEBAEBAFBIEwEhFDDBEyqCwKCgCAgCAgC/hAQQvWHipQJAoKAICAICAJhIvD/Jvuro6vjJZoAAAAASUVORK5CYII=";var fp="2.24.0";var gp=hp({...dp.dark,base:"dark",brandTitle:`Lightning UI Components v${fp}`,brandUrl:"https://github.com/rdkcentral/Lightning-UI-Components",brandImage:pp});h();d();p();var Et="lui-addons",Vn=`${Et}/downloadbutton`,Gn=`${Et}/announcetoggle`,Yn=`${Et}/gridoverlaypanel`,mp=`${Et}/themepanel`,_p=`${Et}/componentstylespanel`,Xn=`${Et}/stagecolortoggle`,Kn=`${Et}/themepicker`;h();d();p();h();d();p();Ge();h();d();p();var dV=__STORYBOOK_COMPONENTS__,{A:pV,ActionBar:fV,AddonPanel:xp,Badge:gV,Bar:mV,Blockquote:_V,Button:yV,ClipboardCode:xV,Code:bV,DL:vV,Div:SV,DocumentWrapper:wV,EmptyTabContent:TV,ErrorFormatter:CV,FlexBar:AV,Form:EV,H1:IV,H2:RV,H3:PV,H4:kV,H5:OV,H6:LV,HR:DV,IconButton:Sr,IconButtonSkeleton:FV,Icons:wr,Img:BV,LI:MV,Link:NV,ListItem:zV,Loader:jV,Modal:UV,OL:HV,P:WV,Placeholder:qV,Pre:$V,ResetWrapper:VV,ScrollArea:GV,Separator:YV,Spaced:XV,Span:KV,StorybookIcon:JV,StorybookLogo:QV,Symbols:ZV,SyntaxHighlighter:eG,TT:tG,TabBar:rG,TabButton:bp,TabWrapper:iG,Table:sG,Tabs:nG,TabsState:oG,TooltipLinkList:vp,TooltipMessage:aG,TooltipNote:lG,UL:uG,WithTooltip:Sp,WithTooltipPure:cG,Zoom:hG,codeCommon:dG,components:pG,createCopyToClipboardFunction:fG,getStoryHref:gG,icons:mG,interleaveSeparators:_G,nameSpaceClassNames:yG,resetComponents:xG,withReset:bG}=__STORYBOOK_COMPONENTS__;var Pl=ye(Ce()),kl=hs(function(){let[{announce:e},t]=_t(),i=$n(),s=[!0,"true"].includes(e),n=ut(()=>{t({announce:!s})},[s]);return He(()=>{i.setAddonShortcut(Et,{label:"Announce Toggle [0]",actionName:"Announce",action:n})},[n,i]),(0,Pl.jsx)(Sr,{active:s,title:"Toggle a11y announcing (voice guidance) of components",onClick:n,children:(0,Pl.jsx)(wr,{icon:"speaker"})},Gn)});h();d();p();Ge();var Ol=ye(Ce()),Ll=hs(function(){let[{stageColor:e},t]=_t(),i=$n(),s=[!0,"true"].includes(e),n=ut(()=>{t({stageColor:!s})},[s]);return He(()=>{i.setAddonShortcut(Et,{label:"Stage Color Toggle",actionName:"stage color",showInMenu:!1,action:n})},[n,i]),(0,Ol.jsx)(Sr,{active:s,title:"Switch stage color",onClick:n,children:(0,Ol.jsx)(wr,{icon:"paintbrush"})},Xn)});h();d();p();Ge();h();d();p();h();d();p();h();d();p();h();d();p();var fe=class r{static mergeNumbers(e,t,i){return e*i+t*(1-i)}static rgb(e,t,i){return(e<<16)+(t<<8)+i+255*16777216}static rgba(e,t,i,s){return(e<<16)+(t<<8)+i+(s*255|0)*16777216}static getRgbString(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256;return"rgb("+t+","+i+","+s+")"}static getRgbaString(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=(e/16777216|0)/255;return"rgba("+t+","+i+","+s+","+n.toFixed(4)+")"}static getRgbaStringFromArray(e){let t=Math.floor(e[0]*255),i=Math.floor(e[1]*255),s=Math.floor(e[2]*255),n=Math.floor(e[3]*255)/255;return"rgba("+t+","+i+","+s+","+n.toFixed(4)+")"}static getRgbaComponentsNormalized(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=e/16777216|0;return[t/255,i/255,s/255,n/255]}static getRgbComponentsNormalized(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256;return[t/255,i/255,s/255]}static getRgbaComponents(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=e/16777216|0;return[t,i,s,n]}static getArgbNumber(e){e[0]=Math.max(0,Math.min(255,e[0])),e[1]=Math.max(0,Math.min(255,e[1])),e[2]=Math.max(0,Math.min(255,e[2])),e[3]=Math.max(0,Math.min(255,e[3]));let t=((e[3]|0)<<24)+((e[0]|0)<<16)+((e[1]|0)<<8)+(e[2]|0);return t<0&&(t=4294967295+t+1),t}static mergeColors(e,t,i){let s=(e/65536|0)%256,n=(e/256|0)%256,o=e%256,a=e/16777216|0,l=(t/65536|0)%256,u=(t/256|0)%256,c=t%256,g=t/16777216|0,m=s*i+l*(1-i),y=n*i+u*(1-i),b=o*i+c*(1-i),C=a*i+g*(1-i);return Math.round(C)*16777216+Math.round(m)*65536+Math.round(y)*256+Math.round(b)}static mergeMultiColors(e,t){let i=0,s=0,n=0,o=0,a=0,l=e.length;for(let u=0;u<l;u++){let c=(e[u]/65536|0)%256,g=(e[u]/256|0)%256,m=e[u]%256,y=e[u]/16777216|0;i+=c*t[u],s+=g*t[u],n+=m*t[u],o+=y*t[u],a+=t[u]}return a=1/a,Math.round(o*a)*16777216+Math.round(i*a)*65536+Math.round(s*a)*256+Math.round(n*a)}static mergeMultiColorsEqual(e){let t=0,i=0,s=0,n=0,o=0,a=e.length;for(let l=0;l<a;l++){let u=(e[l]/65536|0)%256,c=(e[l]/256|0)%256,g=e[l]%256,m=e[l]/16777216|0;t+=u,i+=c,s+=g,n+=m,o+=1}return o=1/o,Math.round(n*o)*16777216+Math.round(t*o)*65536+Math.round(i*o)*256+Math.round(s*o)}static mergeColorAlpha(e,t){let i=(e/16777216|0)*t|0;return((e>>16&255)*i/255&255)+((e&65280)*i/255&65280)+(((e&255)<<16)*i/255&16711680)+(i<<24)}static rad(e){return e*(Math.PI/180)}static getTimingBezier(e,t,i,s){let n=3*e,o=3*(i-e)-n,a=1-n-o,l=3*t,u=3*(s-t)-l,c=1-l-u;return function(g){if(g>=1)return 1;if(g<=0)return 0;let m=.5,y,b,C;for(let R=0;R<20;R++){if(y=m*(m*(m*a+o)+n),C=g-y,C>-1e-8&&C<1e-8)return m*(m*(m*c+u)+l);if(b=m*(m*(3*a)+2*o)+n,b>1e-10&&b<1e-10)break;m+=C/b}let A=0,T=1;for(let R=0;R<20;R++){if(m=.5*(A+T),y=m*(m*(m*a+o)+n),C=g-y,C>-1e-8&&C<1e-8)return m*(m*(m*c+u)+l);C<0?T=m:A=m}}}static getTimingFunction(e){switch(e){case"linear":return function(i){return i};case"ease":return r.getTimingBezier(.25,.1,.25,1);case"ease-in":return r.getTimingBezier(.42,0,1,1);case"ease-out":return r.getTimingBezier(0,0,.58,1);case"ease-in-out":return r.getTimingBezier(.42,0,.58,1);case"step-start":return function(){return 1};case"step-end":return function(i){return i===1?1:0};default:let t="cubic-bezier(";if(e&&e.indexOf(t)===0){let i=e.substr(t.length,e.length-t.length-1).split(",");if(i.length!==4)return console.warn("[Lightning] Unknown timing function: "+e),function(l){return l};let s=parseFloat(i[0]),n=parseFloat(i[1]),o=parseFloat(i[2]),a=parseFloat(i[3]);return isNaN(s)||isNaN(n)||isNaN(o)||isNaN(a)?(console.warn("[Lightning] Unknown timing function: "+e),function(l){return l}):r.getTimingBezier(s,n,o,a)}else return console.warn("[Lightning] Unknown timing function: "+e),function(i){return i}}}},K=class{static isFunction(e){return typeof e=="function"}static isNumber(e){return typeof e=="number"}static isInteger(e){return typeof e=="number"&&e%1===0}static isBoolean(e){return e===!0||e===!1}static isString(e){return typeof e=="string"}static clone(e){return K.isObjectLiteral(e)||Array.isArray(e)?K.getDeepClone(e):e}static cloneObjShallow(e){let t=Object.keys(e),i={};for(let s=0;s<t.length;s++)i[t[s]]=e[t[s]];return i}static merge(e,t){let i=Object.keys(t);for(let s=0;s<i.length;s++)e[i[s]]=t[i[s]];return e}static isObject(e){let t=typeof e;return!!e&&(t==="object"||t==="function")}static isPlainObject(e){return!!e&&typeof e==="object"}static isObjectLiteral(e){return typeof e=="object"&&e&&e.constructor===Object}static getArrayIndex(e,t){return K.getModuloIndex(e,t.length)}static getModuloIndex(e,t){if(t===0)return e;for(;e<0;)e+=Math.ceil(-e/t)*t;return e=e%t,e}static getDeepClone(e){let t,i;if(K.isFunction(e))return e;if(Array.isArray(e)){i=[];let s=Object.keys(e);for(t=0;t<s.length;t++)i[s[t]]=K.getDeepClone(e[s[t]]);return i}else if(K.isObject(e)){i={};let s=Object.keys(e);for(t=0;t<s.length;t++)i[s[t]]=K.getDeepClone(e[s[t]]);return i}else return e}static equalValues(e,t){return typeof e!=typeof t?!1:K.isObjectLiteral(e)?K.isObjectLiteral(t)&&K.equalObjectLiterals(e,t):Array.isArray(e)?Array.isArray(t)&&K.equalArrays(e,t):e===t}static equalObjectLiterals(e,t){let i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(let n=0,o=i.length;n<o;n++){let a=i[n],l=s[n];if(a!==l)return!1;let u=e[a],c=t[l];if(!K.equalValues(u,c))return!1}return!0}static equalArrays(e,t){if(e.length!==t.length)return!1;for(let i=0,s=e.length;i<s;i++)if(!this.equalValues(e[i],t[i]))return!1;return!0}static setToArray(e){let t=[];return e.forEach(function(i){t.push(i)}),t}static iteratorToArray(e){let t=[],i=e.next();for(;!i.done;)t.push(i.value),i=e.next();return t}static isUcChar(e){return e>=65&&e<=90}};K.isWeb=typeof window<"u"&&typeof sparkscene>"u";K.isWPE=K.isWeb&&navigator.userAgent.indexOf("WPE")!==-1;K.isSpark=typeof sparkscene<"u";K.isNode=typeof window>"u"||K.isSpark;K.isPS4=K.isWeb&&navigator.userAgent.indexOf("PlayStation 4")!==-1;K.isZiggo=K.isWeb&&(navigator.userAgent.indexOf("EOSSTB")!==-1||navigator.userAgent.indexOf("HZNSTB")!==-1);var dt=class r{static defaultSetter(e,t,i){e[t]=i}static patchObject(e,t){if(!K.isObjectLiteral(t))console.error("[Lightning] Settings must be object literal");else{let i=Object.keys(t);for(let s=0,n=i.length;s<n;s++){let o=i[s];this.patchObjectProperty(e,o,t[o])}}}static patchObjectProperty(e,t,i){let s=e.setSetting||r.defaultSetter;t.charAt(0)==="_"?t!=="__create"&&console.error("[Lightning] Patch of private property '"+t+"' is not allowed"):t!=="type"&&(K.isFunction(i)&&i.__local&&(i=i.__local(e)),s(e,t,i))}static local(e){e.__local=!0}},Qn=class{static getSpacing(e,t,i){let s=t-1,n,o,a;switch(e){case"flex-start":o=0,a=0;break;case"flex-end":o=i,a=0;break;case"center":o=i/2,a=0;break;case"space-between":o=0,a=Math.max(0,i)/s;break;case"space-around":if(i<0)return this.getSpacing("center",t,i);n=i/(s+1),o=.5*n,a=n;break;case"space-evenly":if(i<0)return this.getSpacing("center",t,i);n=i/(s+2),o=n,a=n;break;case"stretch":o=0,a=0;break;default:throw new Error("Unknown mode: "+e)}return{spacingBefore:o,spacingBetween:a}}},Dl=class{constructor(e){this._layout=e,this._totalCrossAxisSize=0}get _lines(){return this._layout._lines}init(){this._totalCrossAxisSize=this._getTotalCrossAxisSize()}align(){let t=this._layout.crossAxisSize-this._totalCrossAxisSize,{spacingBefore:i,spacingBetween:s}=this._getSpacing(t),n=this._lines,o=this._layout._flexContainer.alignContent,a=0;o==="stretch"&&n.length&&t>0&&(a=t/n.length);let l=i;for(let u=0,c=n.length;u<c;u++){let g=l,m=n[u].createItemAligner(),y=n[u].crossAxisLayoutSize+a;m.setCrossAxisLayoutSize(y),m.setCrossAxisLayoutOffset(g),m.align(),m.recursiveResizeOccured&&n[u].setItemPositions(),l+=y,l+=s}}get totalCrossAxisSize(){return this._totalCrossAxisSize}_getTotalCrossAxisSize(){let e=this._lines,t=0;for(let i=0,s=e.length;i<s;i++){let n=e[i];t+=n.crossAxisLayoutSize}return t}_getSpacing(e){let t=this._layout._flexContainer.alignContent,i=this._lines.length;return Qn.getSpacing(t,i,e)}},pe=class{static getParentAxisSizeWithPadding(e,t){let s=e.target.getParent();if(s){let n=e.flexParent;return n?this.getAxisLayoutSize(n,t)+this.getTotalPadding(n,t):t?s.w:s.h}else return 0}static getRelAxisSize(e,t){return t?e.funcW?this._allowRelAxisSizeFunction(e,!0)?e.funcW(this.getParentAxisSizeWithPadding(e,!0)):0:e.originalWidth:e.funcH?this._allowRelAxisSizeFunction(e,!1)?e.funcH(this.getParentAxisSizeWithPadding(e,!1)):0:e.originalHeight}static _allowRelAxisSizeFunction(e,t){let i=e.flexParent;return!(i&&i._flex._layout.isAxisFitToContents(t))}static isZeroAxisSize(e,t){return t?!e.originalWidth&&!e.funcW:!e.originalHeight&&!e.funcH}static getAxisLayoutPos(e,t){return t?e.x:e.y}static getAxisLayoutSize(e,t){return t?e.w:e.h}static setAxisLayoutPos(e,t,i){t?e.x=i:e.y=i}static setAxisLayoutSize(e,t,i){t?e.w=i:e.h=i}static getAxisMinSize(e,t){let i=this.getPlainAxisMinSize(e,t),s=0;return e.isFlexItemEnabled()&&(s=e._flexItem._getMinSizeSetting(t)),s>0&&(i=Math.max(i,s)),i}static getPlainAxisMinSize(e,t){return e.isFlexEnabled()?e._flex._layout.getAxisMinSize(t):e.flexItem.shrink!==0?0:this.getRelAxisSize(e,t)}static resizeAxis(e,t,i){e.isFlexEnabled()?e._flex._horizontal===t?e._flex._layout.resizeMainAxis(i):e._flex._layout.resizeCrossAxis(i):this.setAxisLayoutSize(e,t,i)}static getPaddingOffset(e,t){if(e.isFlexEnabled()){let i=e._flex;return t?i.paddingLeft:i.paddingTop}else return 0}static getTotalPadding(e,t){if(e.isFlexEnabled()){let i=e._flex;return t?i.paddingRight+i.paddingLeft:i.paddingTop+i.paddingBottom}else return 0}static getMarginOffset(e,t){let i=e.flexItem;return i?t?i.marginLeft:i.marginTop:0}static getTotalMargin(e,t){let i=e.flexItem;return i?t?i.marginRight+i.marginLeft:i.marginTop+i.marginBottom:0}},Fl=class{constructor(e){this._line=e,this._amountRemaining=0,this._shrunkSize=0}shrink(e){this._shrunkSize=0,this._amountRemaining=e;let t=this._getTotalShrinkAmount();if(t){let i=this._line.items;do{let s=this._amountRemaining/t;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let a=i[n].flexItem,l=a.shrink;if(l>0){let c=l*s,g=a._getMainAxisMinSize(),m=a._getMainAxisLayoutSize();if(m>g){let y=m-g;c>=y&&(c=y,t-=l);let C=m-c;if(a._resizeMainAxis(C),this._shrunkSize+=c,this._amountRemaining-=c,Math.abs(this._amountRemaining)<1e-5)return}}}}while(t&&Math.abs(this._amountRemaining)>1e-5)}}_getTotalShrinkAmount(){let e=0,t=this._line.items;for(let i=this._line.startIndex;i<=this._line.endIndex;i++){let n=t[i].flexItem;if(n.shrink){let o=n._getMainAxisMinSize();n._getMainAxisLayoutSize()>o&&(e+=n.shrink)}}return e}getShrunkSize(){return this._shrunkSize}},Bl=class{constructor(e){this._line=e,this._amountRemaining=0,this._grownSize=0}grow(e){this._grownSize=0,this._amountRemaining=e;let t=this._getTotalGrowAmount();if(t){let i=this._line.items;do{let s=this._amountRemaining/t;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let a=i[n].flexItem,l=a.grow;if(l>0){let c=l*s,g=a._getMainAxisMaxSizeSetting(),m=a._getMainAxisLayoutSize();if(g>0)if(m>=g)c=0;else{let y=g-m;c>=y&&(c=y,t-=l)}if(c>0){let y=m+c;if(a._resizeMainAxis(y),this._grownSize+=c,this._amountRemaining-=c,Math.abs(this._amountRemaining)<1e-5)return}}}}while(t&&Math.abs(this._amountRemaining)>1e-5)}}_getTotalGrowAmount(){let e=0,t=this._line.items;for(let i=this._line.startIndex;i<=this._line.endIndex;i++){let n=t[i].flexItem;if(n.grow){let o=n._getMainAxisMaxSizeSetting(),a=n._getMainAxisLayoutSize();(o===0||a<o)&&(e+=n.grow)}}return e}getGrownSize(){return this._grownSize}},Ml=class{constructor(e){this._line=e}get _layout(){return this._line._layout}position(){let{spacingBefore:e,spacingBetween:t}=this._getSpacing(),i=e,s=this._line.items;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let o=s[n];o.flexItem._setMainAxisLayoutPos(i),i+=o.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin(),i+=t}}_getSpacing(){let e=this._line._availableSpace,t=this._layout._flexContainer.justifyContent,i=this._line.numberOfItems;return Qn.getSpacing(t,i,e)}},Nl=class{constructor(e){this._line=e,this._crossAxisLayoutSize=0,this._crossAxisLayoutOffset=0,this._alignItemsSetting=null,this._recursiveResizeOccured=!1,this._isCrossAxisFitToContents=!1}get _layout(){return this._line._layout}get _flexContainer(){return this._layout._flexContainer}setCrossAxisLayoutSize(e){this._crossAxisLayoutSize=e}setCrossAxisLayoutOffset(e){this._crossAxisLayoutOffset=e}align(){this._alignItemsSetting=this._flexContainer.alignItems,this._isCrossAxisFitToContents=this._layout.isAxisFitToContents(!this._flexContainer._horizontal),this._recursiveResizeOccured=!1;let e=this._line.items;for(let t=this._line.startIndex;t<=this._line.endIndex;t++){let i=e[t];this._alignItem(i)}}get recursiveResizeOccured(){return this._recursiveResizeOccured}_alignItem(e){let t=e.flexItem,i=t.alignSelf||this._alignItemsSetting;switch(i==="stretch"&&this._preventStretch(t)&&(i="flex-start"),i!=="stretch"&&!this._isCrossAxisFitToContents&&t._hasRelCrossAxisSize()&&t._resetCrossAxisLayoutSize(),i){case"flex-start":this._alignItemFlexStart(t);break;case"flex-end":this._alignItemFlexEnd(t);break;case"center":this._alignItemFlexCenter(t);break;case"stretch":this._alignItemStretch(t);break}}_alignItemFlexStart(e){e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset)}_alignItemFlexEnd(e){let t=e._getCrossAxisLayoutSizeWithPaddingAndMargin();e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset+(this._crossAxisLayoutSize-t))}_alignItemFlexCenter(e){let t=e._getCrossAxisLayoutSizeWithPaddingAndMargin(),i=(this._crossAxisLayoutSize-t)/2;e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset+i)}_alignItemStretch(e){e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset);let t=e._getMainAxisLayoutSize(),i=this._crossAxisLayoutSize-e._getCrossAxisMargin()-e._getCrossAxisPadding(),s=e._getCrossAxisMinSizeSetting();s>0&&(i=Math.max(i,s));let n=e._getCrossAxisMaxSizeSetting();n>0&&(i=Math.min(i,n)),e._resizeCrossAxis(i),e._getMainAxisLayoutSize()!==t&&(this._recursiveResizeOccured=!0)}_preventStretch(e){let t=e._hasFixedCrossAxisSize(),i=e.alignSelf==="stretch";return t&&!i}},zl=class{constructor(e,t,i,s){this._layout=e,this.items=e.items,this.startIndex=t,this.endIndex=i,this._availableSpace=s}performLayout(){this._setItemSizes(),this.setItemPositions(),this._calcLayoutInfo()}_setItemSizes(){this._availableSpace>0?this._growItemSizes(this._availableSpace):this._availableSpace<0&&this._shrinkItemSizes(-this._availableSpace)}_growItemSizes(e){let t=new Bl(this);t.grow(e),this._availableSpace-=t.getGrownSize()}_shrinkItemSizes(e){let t=new Fl(this);t.shrink(e),this._availableSpace+=t.getShrunkSize()}setItemPositions(){new Ml(this).position()}createItemAligner(){return new Nl(this)}_calcLayoutInfo(){this._calcCrossAxisMaxLayoutSize()}getMainAxisMinSize(){let e=0;for(let t=this.startIndex;t<=this.endIndex;t++){let i=this.items[t];e+=i.flexItem._getMainAxisMinSizeWithPaddingAndMargin()}return e}get numberOfItems(){return this.endIndex-this.startIndex+1}get crossAxisLayoutSize(){let e=this._layout.isCrossAxisFitToContents()&&!this._layout.resizingCrossAxis;return this._layout.isWrapping()||e?this._crossAxisMaxLayoutSize:this._layout.crossAxisSize}_calcCrossAxisMaxLayoutSize(){this._crossAxisMaxLayoutSize=this._getCrossAxisMaxLayoutSize()}_getCrossAxisMaxLayoutSize(){let e=0;for(let t=this.startIndex;t<=this.endIndex;t++){let i=this.items[t];e=Math.max(e,i.flexItem._getCrossAxisLayoutSizeWithPaddingAndMargin())}return e}},jl=class{constructor(e){this._layout=e,this._mainAxisMinSize=-1,this._crossAxisMinSize=-1,this._mainAxisContentSize=0}get lines(){return this._lines}get mainAxisMinSize(){return this._mainAxisMinSize===-1&&(this._mainAxisMinSize=this._getMainAxisMinSize()),this._mainAxisMinSize}get crossAxisMinSize(){return this._crossAxisMinSize===-1&&(this._crossAxisMinSize=this._getCrossAxisMinSize()),this._crossAxisMinSize}get mainAxisContentSize(){return this._mainAxisContentSize}layoutLines(){this._setup();let e=this._layout.items,t=this._layout.isWrapping(),i=0,s,n=e.length;for(s=0;s<n;s++){let o=e[s];this._layoutFlexItem(o);let a=o.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin();t&&s>i&&this._curMainAxisPos+a>this._mainAxisSize&&(this._layoutLine(i,s-1),this._curMainAxisPos=0,i=s),this._addToMainAxisPos(a)}i<s&&this._layoutLine(i,s-1)}_layoutFlexItem(e){e.isFlexEnabled()?e.flexLayout.updateTreeLayout():e.flexItem._resetLayoutSize()}_setup(){this._mainAxisSize=this._layout.mainAxisSize,this._curMainAxisPos=0,this._maxMainAxisPos=0,this._lines=[],this._mainAxisMinSize=-1,this._crossAxisMinSize=-1,this._mainAxisContentSize=0}_addToMainAxisPos(e){this._curMainAxisPos+=e,this._curMainAxisPos>this._maxMainAxisPos&&(this._maxMainAxisPos=this._curMainAxisPos)}_layoutLine(e,t){let i=this._getAvailableMainAxisLayoutSpace(),s=new zl(this._layout,e,t,i);s.performLayout(),this._lines.push(s),(this._mainAxisContentSize===0||this._curMainAxisPos>this._mainAxisContentSize)&&(this._mainAxisContentSize=this._curMainAxisPos)}_getAvailableMainAxisLayoutSpace(){return!this._layout.resizingMainAxis&&this._layout.isMainAxisFitToContents()?0:this._mainAxisSize-this._curMainAxisPos}_getCrossAxisMinSize(){let e=0,t=this._layout.items;for(let i=0,s=t.length;i<s;i++){let o=t[i].flexItem._getCrossAxisMinSizeWithPaddingAndMargin();e=Math.max(e,o)}return e}_getMainAxisMinSize(){return this._lines.length===1?this._lines[0].getMainAxisMinSize():this._layout.mainAxisSize}},Ul=class r{constructor(e){this._layout=e,this._isReverse=this._flexContainer._reverse,this._horizontalPaddingOffset=this._layout._getHorizontalPaddingOffset(),this._verticalPaddingOffset=this._layout._getVerticalPaddingOffset()}get _flexContainer(){return this._layout._flexContainer}finalize(){let e=this._layout.getParentFlexContainer();e?new r(e._layout)._finalizeItemAndChildren(this._flexContainer.item):(this._finalizeRoot(),this._finalizeItems())}_finalizeRoot(){let e=this._flexContainer.item,t=pe.getAxisLayoutPos(e,!0),i=pe.getAxisLayoutPos(e,!1),s=pe.getAxisLayoutSize(e,!0),n=pe.getAxisLayoutSize(e,!1);s+=this._layout._getHorizontalPadding(),n+=this._layout._getVerticalPadding(),e.clearRecalcFlag(),e.setLayout(t,i,s,n)}_finalizeItems(){let e=this._layout.items;for(let t=0,i=e.length;t<i;t++){let s=e[t],n=this._validateItemCache(s);this._finalizeItem(s),n||this._finalizeItemChildren(s)}}_validateItemCache(e){if(e.recalc===0&&e.isFlexEnabled()){let t=e._flex._layout;if(e.w===e.target.w&&e.h===e.target.h)return!0;{let s=t.crossAxisSize;t.performResizeMainAxis(t.mainAxisSize),t.performResizeCrossAxis(s)}}return!1}_finalizeItemAndChildren(e){this._finalizeItem(e),this._finalizeItemChildren(e)}_finalizeItem(e){this._isReverse&&this._reverseMainAxisLayoutPos(e);let t=pe.getAxisLayoutPos(e,!0),i=pe.getAxisLayoutPos(e,!1),s=pe.getAxisLayoutSize(e,!0),n=pe.getAxisLayoutSize(e,!1);t+=this._horizontalPaddingOffset,i+=this._verticalPaddingOffset,e.flex&&(s+=e._flex._layout._getHorizontalPadding(),n+=e._flex._layout._getVerticalPadding());let a=e.flexItem;a&&(t+=a._getHorizontalMarginOffset(),i+=a._getVerticalMarginOffset()),e.clearRecalcFlag(),e.setLayout(t,i,s,n)}_finalizeItemChildren(e){let t=e._flex;t&&new r(t._layout)._finalizeItems()}_reverseMainAxisLayoutPos(e){let t=e.flexItem._getMainAxisLayoutPos()+e.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin(),i=this._layout.mainAxisSize-t;e.flexItem._setMainAxisLayoutPos(i)}},Hl=class{constructor(e){this._flexContainer=e,this._lineLayouter=new jl(this),this._resizingMainAxis=!1,this._resizingCrossAxis=!1,this._cachedMainAxisSizeAfterLayout=0,this._cachedCrossAxisSizeAfterLayout=0,this._shrunk=!1}get shrunk(){return this._shrunk}get recalc(){return this.item.recalc}layoutTree(){this.item.flexParent!==null?this._updateSubTreeLayout():this.updateTreeLayout(),this.updateItemCoords()}updateTreeLayout(){this.recalc?this._performUpdateLayoutTree():this._performUpdateLayoutTreeFromCache()}_performUpdateLayoutTree(){this._setInitialAxisSizes(),this._layoutAxes(),this._refreshLayoutCache()}_refreshLayoutCache(){this._cachedMainAxisSizeAfterLayout=this.mainAxisSize,this._cachedCrossAxisSizeAfterLayout=this.crossAxisSize}_performUpdateLayoutTreeFromCache(){this.item.funcW||this.item.funcH?(this.item.enableLocalRecalcFlag(),this._performUpdateLayoutTree()):(this.mainAxisSize=this._cachedMainAxisSizeAfterLayout,this.crossAxisSize=this._cachedCrossAxisSizeAfterLayout)}updateItemCoords(){new Ul(this).finalize()}_updateSubTreeLayout(){let e=this.crossAxisSize;this._layoutMainAxis(),this.performResizeCrossAxis(e)}_setInitialAxisSizes(){this.item.isFlexItemEnabled()?this.item.flexItem._resetLayoutSize():(this.mainAxisSize=this._getMainAxisBasis(),this.crossAxisSize=this._getCrossAxisBasis()),this._resizingMainAxis=!1,this._resizingCrossAxis=!1,this._shrunk=!1}_layoutAxes(){this._layoutMainAxis(),this._layoutCrossAxis()}_layoutMainAxis(){this._layoutLines(),this._fitMainAxisSizeToContents()}_layoutLines(){this._lineLayouter.layoutLines()}get _lines(){return this._lineLayouter.lines}_fitMainAxisSizeToContents(){this._resizingMainAxis||this.isMainAxisFitToContents()&&(this.mainAxisSize=this._lineLayouter.mainAxisContentSize)}_layoutCrossAxis(){let e=new Dl(this);e.init(),this._totalCrossAxisSize=e.totalCrossAxisSize,this._fitCrossAxisSizeToContents(),e.align()}_fitCrossAxisSizeToContents(){this._resizingCrossAxis||this.isCrossAxisFitToContents()&&(this.crossAxisSize=this._totalCrossAxisSize)}isWrapping(){return this._flexContainer.wrap}isAxisFitToContents(e){return this._horizontal===e?this.isMainAxisFitToContents():this.isCrossAxisFitToContents()}isMainAxisFitToContents(){return!this.isWrapping()&&!this._hasFixedMainAxisBasis()}isCrossAxisFitToContents(){return!this._hasFixedCrossAxisBasis()}_hasFixedMainAxisBasis(){return!pe.isZeroAxisSize(this.item,this._horizontal)}_hasFixedCrossAxisBasis(){return!pe.isZeroAxisSize(this.item,!this._horizontal)}getAxisMinSize(e){return this._horizontal===e?this._getMainAxisMinSize():this._getCrossAxisMinSize()}_getMainAxisMinSize(){return this._lineLayouter.mainAxisMinSize}_getCrossAxisMinSize(){return this._lineLayouter.crossAxisMinSize}resizeMainAxis(e){this.mainAxisSize!==e&&(this.recalc>0?this.performResizeMainAxis(e):this._checkValidCacheMainAxisResize()?(this.mainAxisSize=e,this._fitCrossAxisSizeToContents()):(this.item.enableLocalRecalcFlag(),this.performResizeMainAxis(e)))}_checkValidCacheMainAxisResize(e){return e===this.targetMainAxisSize||!this.isCrossAxisFitToContents()}performResizeMainAxis(e){let t=e<this.mainAxisSize;this._shrunk=t,this.mainAxisSize=e,this._resizingMainAxis=!0,this._layoutAxes(),this._resizingMainAxis=!1}resizeCrossAxis(e){this.crossAxisSize!==e&&(this.recalc>0?this.performResizeCrossAxis(e):this.crossAxisSize=e)}performResizeCrossAxis(e){this.crossAxisSize=e,this._resizingCrossAxis=!0,this._layoutCrossAxis(),this._resizingCrossAxis=!1}get targetMainAxisSize(){return this._horizontal?this.item.target.w:this.item.target.h}get targetCrossAxisSize(){return this._horizontal?this.item.target.h:this.item.target.w}getParentFlexContainer(){return this.item.isFlexItemEnabled()?this.item.flexItem.ctr:null}_getHorizontalPadding(){return pe.getTotalPadding(this.item,!0)}_getVerticalPadding(){return pe.getTotalPadding(this.item,!1)}_getHorizontalPaddingOffset(){return pe.getPaddingOffset(this.item,!0)}_getVerticalPaddingOffset(){return pe.getPaddingOffset(this.item,!1)}_getMainAxisBasis(){return pe.getRelAxisSize(this.item,this._horizontal)}_getCrossAxisBasis(){return pe.getRelAxisSize(this.item,!this._horizontal)}get _horizontal(){return this._flexContainer._horizontal}get _reverse(){return this._flexContainer._reverse}get item(){return this._flexContainer.item}get items(){return this.item.items}get resizingMainAxis(){return this._resizingMainAxis}get resizingCrossAxis(){return this._resizingCrossAxis}get numberOfItems(){return this.items.length}get mainAxisSize(){return pe.getAxisLayoutSize(this.item,this._horizontal)}get crossAxisSize(){return pe.getAxisLayoutSize(this.item,!this._horizontal)}set mainAxisSize(e){pe.setAxisLayoutSize(this.item,this._horizontal,e)}set crossAxisSize(e){pe.setAxisLayoutSize(this.item,!this._horizontal,e)}},Tr=class r{constructor(e){this._item=e,this._layout=new Hl(this),this._horizontal=!0,this._reverse=!1,this._wrap=!1,this._alignItems="stretch",this._justifyContent="flex-start",this._alignContent="flex-start",this._paddingLeft=0,this._paddingTop=0,this._paddingRight=0,this._paddingBottom=0}get item(){return this._item}_changedDimensions(){this._item.changedDimensions()}_changedContents(){this._item.changedContents()}get direction(){return(this._horizontal?"row":"column")+(this._reverse?"-reverse":"")}set direction(e){this.direction!==e&&(this._horizontal=e==="row"||e==="row-reverse",this._reverse=e==="row-reverse"||e==="column-reverse",this._changedContents())}set wrap(e){this._wrap=e,this._changedContents()}get wrap(){return this._wrap}get alignItems(){return this._alignItems}set alignItems(e){if(this._alignItems!==e){if(r.ALIGN_ITEMS.indexOf(e)===-1)throw new Error("Unknown alignItems, options: "+r.ALIGN_ITEMS.join(","));this._alignItems=e,this._changedContents()}}get alignContent(){return this._alignContent}set alignContent(e){if(this._alignContent!==e){if(r.ALIGN_CONTENT.indexOf(e)===-1)throw new Error("Unknown alignContent, options: "+r.ALIGN_CONTENT.join(","));this._alignContent=e,this._changedContents()}}get justifyContent(){return this._justifyContent}set justifyContent(e){if(this._justifyContent!==e){if(r.JUSTIFY_CONTENT.indexOf(e)===-1)throw new Error("Unknown justifyContent, options: "+r.JUSTIFY_CONTENT.join(","));this._justifyContent=e,this._changedContents()}}set padding(e){this.paddingLeft=e,this.paddingTop=e,this.paddingRight=e,this.paddingBottom=e}get padding(){return this.paddingLeft}set paddingLeft(e){this._paddingLeft=e,this._changedDimensions()}get paddingLeft(){return this._paddingLeft}set paddingTop(e){this._paddingTop=e,this._changedDimensions()}get paddingTop(){return this._paddingTop}set paddingRight(e){this._paddingRight=e,this._changedDimensions()}get paddingRight(){return this._paddingRight}set paddingBottom(e){this._paddingBottom=e,this._changedDimensions()}get paddingBottom(){return this._paddingBottom}patch(e){dt.patchObject(this,e)}};Tr.ALIGN_ITEMS=["flex-start","flex-end","center","stretch"];Tr.ALIGN_CONTENT=["flex-start","flex-end","center","space-between","space-around","space-evenly","stretch"];Tr.JUSTIFY_CONTENT=["flex-start","flex-end","center","space-between","space-around","space-evenly"];var Zn=class r{constructor(e){this._ctr=null,this._item=e,this._grow=0,this._shrink=r.SHRINK_AUTO,this._alignSelf=void 0,this._minWidth=0,this._minHeight=0,this._maxWidth=0,this._maxHeight=0,this._marginLeft=0,this._marginTop=0,this._marginRight=0,this._marginBottom=0}get item(){return this._item}get grow(){return this._grow}set grow(e){this._grow!==e&&(this._grow=parseInt(e)||0,this._changed())}get shrink(){return this._shrink===r.SHRINK_AUTO?this._getDefaultShrink():this._shrink}_getDefaultShrink(){return this.item.isFlexEnabled()?1:0}set shrink(e){this._shrink!==e&&(this._shrink=parseInt(e)||0,this._changed())}get alignSelf(){return this._alignSelf}set alignSelf(e){if(this._alignSelf!==e){if(e===void 0)this._alignSelf=void 0;else{if(Tr.ALIGN_ITEMS.indexOf(e)===-1)throw new Error("Unknown alignSelf, options: "+Tr.ALIGN_ITEMS.join(","));this._alignSelf=e}this._changed()}}get minWidth(){return this._minWidth}set minWidth(e){this._minWidth=Math.max(0,e),this._item.changedDimensions(!0,!1)}get minHeight(){return this._minHeight}set minHeight(e){this._minHeight=Math.max(0,e),this._item.changedDimensions(!1,!0)}get maxWidth(){return this._maxWidth}set maxWidth(e){this._maxWidth=Math.max(0,e),this._item.changedDimensions(!0,!1)}get maxHeight(){return this._maxHeight}set maxHeight(e){this._maxHeight=Math.max(0,e),this._item.changedDimensions(!1,!0)}set margin(e){this.marginLeft=e,this.marginTop=e,this.marginRight=e,this.marginBottom=e}get margin(){return this.marginLeft}set marginLeft(e){this._marginLeft=e,this._changed()}get marginLeft(){return this._marginLeft}set marginTop(e){this._marginTop=e,this._changed()}get marginTop(){return this._marginTop}set marginRight(e){this._marginRight=e,this._changed()}get marginRight(){return this._marginRight}set marginBottom(e){this._marginBottom=e,this._changed()}get marginBottom(){return this._marginBottom}_changed(){this.ctr&&this.ctr._changedContents()}set ctr(e){this._ctr=e}get ctr(){return this._ctr}patch(e){dt.patchObject(this,e)}_resetLayoutSize(){this._resetHorizontalAxisLayoutSize(),this._resetVerticalAxisLayoutSize()}_resetCrossAxisLayoutSize(){this.ctr._horizontal?this._resetVerticalAxisLayoutSize():this._resetHorizontalAxisLayoutSize()}_resetHorizontalAxisLayoutSize(){let e=pe.getRelAxisSize(this.item,!0);this._minWidth&&(e=Math.max(this._minWidth,e)),this._maxWidth&&(e=Math.min(this._maxWidth,e)),pe.setAxisLayoutSize(this.item,!0,e)}_resetVerticalAxisLayoutSize(){let e=pe.getRelAxisSize(this.item,!1);this._minHeight&&(e=Math.max(this._minHeight,e)),this._maxHeight&&(e=Math.min(this._maxHeight,e)),pe.setAxisLayoutSize(this.item,!1,e)}_getCrossAxisMinSizeSetting(){return this._getMinSizeSetting(!this.ctr._horizontal)}_getCrossAxisMaxSizeSetting(){return this._getMaxSizeSetting(!this.ctr._horizontal)}_getMainAxisMaxSizeSetting(){return this._getMaxSizeSetting(this.ctr._horizontal)}_getMinSizeSetting(e){return e?this._minWidth:this._minHeight}_getMaxSizeSetting(e){return e?this._maxWidth:this._maxHeight}_getMainAxisMinSize(){return pe.getAxisMinSize(this.item,this.ctr._horizontal)}_getCrossAxisMinSize(){return pe.getAxisMinSize(this.item,!this.ctr._horizontal)}_getMainAxisLayoutSize(){return pe.getAxisLayoutSize(this.item,this.ctr._horizontal)}_getMainAxisLayoutPos(){return pe.getAxisLayoutPos(this.item,this.ctr._horizontal)}_setMainAxisLayoutPos(e){return pe.setAxisLayoutPos(this.item,this.ctr._horizontal,e)}_setCrossAxisLayoutPos(e){return pe.setAxisLayoutPos(this.item,!this.ctr._horizontal,e)}_getCrossAxisLayoutSize(){return pe.getAxisLayoutSize(this.item,!this.ctr._horizontal)}_resizeCrossAxis(e){return pe.resizeAxis(this.item,!this.ctr._horizontal,e)}_resizeMainAxis(e){return pe.resizeAxis(this.item,this.ctr._horizontal,e)}_getMainAxisPadding(){return pe.getTotalPadding(this.item,this.ctr._horizontal)}_getCrossAxisPadding(){return pe.getTotalPadding(this.item,!this.ctr._horizontal)}_getMainAxisMargin(){return pe.getTotalMargin(this.item,this.ctr._horizontal)}_getCrossAxisMargin(){return pe.getTotalMargin(this.item,!this.ctr._horizontal)}_getHorizontalMarginOffset(){return pe.getMarginOffset(this.item,!0)}_getVerticalMarginOffset(){return pe.getMarginOffset(this.item,!1)}_getMainAxisMinSizeWithPaddingAndMargin(){return this._getMainAxisMinSize()+this._getMainAxisPadding()+this._getMainAxisMargin()}_getCrossAxisMinSizeWithPaddingAndMargin(){return this._getCrossAxisMinSize()+this._getCrossAxisPadding()+this._getCrossAxisMargin()}_getMainAxisLayoutSizeWithPaddingAndMargin(){return this._getMainAxisLayoutSize()+this._getMainAxisPadding()+this._getMainAxisMargin()}_getCrossAxisLayoutSizeWithPaddingAndMargin(){return this._getCrossAxisLayoutSize()+this._getCrossAxisPadding()+this._getCrossAxisMargin()}_hasFixedCrossAxisSize(){return!pe.isZeroAxisSize(this.item,!this.ctr._horizontal)}_hasRelCrossAxisSize(){return!!(this.ctr._horizontal?this.item.funcH:this.item.funcW)}};Zn.SHRINK_AUTO=-1;var Wl=class{constructor(e){this._target=e,this._recalc=0,this._enabled=!1,this.x=0,this.y=0,this.w=0,this.h=0,this._originalX=0,this._originalY=0,this._originalWidth=0,this._originalHeight=0,this._flex=null,this._flexItem=null,this._flexItemDisabled=!1,this._items=null}get flexLayout(){return this.flex?this.flex._layout:null}layoutFlexTree(){this.isFlexEnabled()&&this.isChanged()&&this.flexLayout.layoutTree()}get target(){return this._target}get flex(){return this._flex}set flex(e){e?(this.isFlexEnabled()||this._enableFlex(),this._flex.patch(e)):this.isFlexEnabled()&&this._disableFlex()}get flexItem(){return this._flexItemDisabled?!1:(this._ensureFlexItem(),this._flexItem)}set flexItem(e){if(e===!1){if(!this._flexItemDisabled){let t=this.flexParent;this._flexItemDisabled=!0,this._checkEnabled(),t&&(t._clearFlexItemsCache(),t.changedContents())}}else if(this._ensureFlexItem(),this._flexItem.patch(e),this._flexItemDisabled){this._flexItemDisabled=!1,this._checkEnabled();let t=this.flexParent;t&&(t._clearFlexItemsCache(),t.changedContents())}}_enableFlex(){this._flex=new Tr(this),this._checkEnabled(),this.changedDimensions(),this._enableChildrenAsFlexItems()}_disableFlex(){this.changedDimensions(),this._flex=null,this._checkEnabled(),this._disableChildrenAsFlexItems()}_enableChildrenAsFlexItems(){let e=this._target._children;if(e)for(let t=0,i=e.length;t<i;t++)e[t].layout._enableFlexItem()}_disableChildrenAsFlexItems(){let e=this._target._children;if(e)for(let t=0,i=e.length;t<i;t++)e[t].layout._disableFlexItem()}_enableFlexItem(){this._ensureFlexItem();let e=this._target._parent._layout;this._flexItem.ctr=e._flex,e.changedContents(),this._checkEnabled()}_disableFlexItem(){this._flexItem&&(this._flexItem.ctr=null),this._checkEnabled(),this._resetOffsets()}_resetOffsets(){this.x=0,this.y=0}_ensureFlexItem(){this._flexItem||(this._flexItem=new Zn(this))}_checkEnabled(){let e=this.isEnabled();this._enabled!==e&&(e?this._enable():this._disable(),this._enabled=e)}_enable(){this._setupTargetForFlex(),this._target.enableFlexLayout()}_disable(){this._restoreTargetToNonFlex(),this._target.disableFlexLayout()}isEnabled(){return this.isFlexEnabled()||this.isFlexItemEnabled()}isFlexEnabled(){return this._flex!==null}isFlexItemEnabled(){return this.flexParent!==null}_restoreTargetToNonFlex(){let e=this._target;e.x=this._originalX,e.y=this._originalY,e.setDimensions(this._originalWidth,this._originalHeight)}_setupTargetForFlex(){let e=this._target;this._originalX=e._x,this._originalY=e._y,this._originalWidth=e._w,this._originalHeight=e._h}setParent(e,t){e&&e.isFlexContainer()&&e._layout._changedChildren(),t&&t.isFlexContainer()&&(this._enableFlexItem(),t._layout._changedChildren()),this._checkEnabled()}get flexParent(){if(this._flexItemDisabled)return null;let e=this._target._parent;return e&&e.isFlexContainer()?e._layout:null}setVisible(e){let t=this.flexParent;t&&t._changedChildren()}get items(){return this._items||(this._items=this._getFlexItems()),this._items}_getFlexItems(){let e=[],t=this._target._children;if(t)for(let i=0,s=t.length;i<s;i++){let n=t[i];n.visible&&n.isFlexItem()&&e.push(n.layout)}return e}_changedChildren(){this._clearFlexItemsCache(),this.changedContents()}_clearFlexItemsCache(){this._items=null}setLayout(e,t,i,s){let n=this._originalX,o=this._originalY;this.funcX&&(n=this.funcX(pe.getParentAxisSizeWithPadding(this,!0))),this.funcY&&(o=this.funcY(pe.getParentAxisSizeWithPadding(this,!1))),this.isFlexItemEnabled()?this.target.setLayout(e+n,t+o,i,s):this.target.setLayout(n,o,i,s)}changedDimensions(e=!0,t=!0){this._updateRecalc(e,t)}changedContents(){this._updateRecalc()}forceLayout(){this._updateRecalc()}isChanged(){return this._recalc>0}_updateRecalc(e=!1,t=!1){if(this.isFlexEnabled()){let n=this._flex._layout;e=e||n.isAxisFitToContents(!0),t=t||n.isAxisFitToContents(!1)}let i=1+(e?2:0)+(t?4:0),s=this.getNewRecalcFlags(i);this._recalc|=i,s>1?this.flexParent?this.flexParent._updateRecalcBottomUp(i):this._target.triggerLayout():this._target.triggerLayout()}getNewRecalcFlags(e){return 7-this._recalc&e}_updateRecalcBottomUp(e){let t=this._getRecalcFromChangedChildRecalc(e),i=this.getNewRecalcFlags(t);if(this._recalc|=t,i>1){let s=this.flexParent;s?s._updateRecalcBottomUp(t):this._target.triggerLayout()}else this._target.triggerLayout()}_getRecalcFromChangedChildRecalc(e){let t=this._flex._layout,i=t._horizontal?1:2,s=t._horizontal?2:1;e&s||e&i&&t.isWrapping()&&t.isCrossAxisFitToContents()&&(e+=s);let o=t.isAxisFitToContents(!0),a=t.isAxisFitToContents(!1);t.shrunk&&(t._horizontal?o=!0:a=!0);let l=1+(o?2:0)+(a?4:0);return e&l}get recalc(){return this._recalc}clearRecalcFlag(){this._recalc=0}enableLocalRecalcFlag(){this._recalc=1}get originalX(){return this._originalX}setOriginalXWithoutUpdatingLayout(e){this._originalX=e}get originalY(){return this._originalY}setOriginalYWithoutUpdatingLayout(e){this._originalY=e}get originalWidth(){return this._originalWidth}set originalWidth(e){this._originalWidth!==e&&(this._originalWidth=e,this.changedDimensions(!0,!1))}get originalHeight(){return this._originalHeight}set originalHeight(e){this._originalHeight!==e&&(this._originalHeight=e,this.changedDimensions(!1,!0))}get funcX(){return this._target.funcX}get funcY(){return this._target.funcY}get funcW(){return this._target.funcW}get funcH(){return this._target.funcH}},mi=class r{constructor(e,t=null){this.id=r.id++,this.manager=e,this.stage=e.stage,this.textures=new Set,this._activeTextureCount=0,this.loader=t,this.lookupId=null,this._cancelCb=null,this.loadingSince=0,this.w=0,this.h=0,this._nativeTexture=null,this.permanent=!1,this.renderInfo=null,this._isResultTexture=!this.loader,this._loadError=null,this._imageRef=null,this._hasAlpha=!1}get hasAlpha(){return this._hasAlpha}get loadError(){return this._loadError}addTexture(e){this.textures.has(e)||this.textures.add(e)}removeTexture(e){this.textures.delete(e)}incActiveTextureCount(){this._activeTextureCount++,this._activeTextureCount===1&&this.becomesUsed()}decActiveTextureCount(){this._activeTextureCount--,this._activeTextureCount===0&&this.becomesUnused()}get isResultTexture(){return this._isResultTexture}set isResultTexture(e){this._isResultTexture=e}forEachEnabledElement(e){this.textures.forEach(t=>{t.elements.forEach(e)})}hasEnabledElements(){return this.textures.size>0}forEachActiveElement(e){this.textures.forEach(t=>{t.elements.forEach(i=>{i.active&&e(i)})})}getRenderWidth(){return this.w}getRenderHeight(){return this.h}allowCleanup(){return!this.permanent&&!this.isUsed()}becomesUsed(){this.load()}becomesUnused(){this.cancel()}cancel(){this.isLoading()&&(this._cancelCb&&(this._cancelCb(this),this._cancelCb=null),this.loadingSince=0)}isLoaded(){return!!this._nativeTexture}isLoading(){return this.loadingSince>0}isError(){return!!this._loadError}reload(){this.free(),this.isUsed()&&this.load()}load(e=!1){this.isResultTexture||!this._nativeTexture&&!this.isLoading()&&(this.loadingSince=new Date().getTime(),this._cancelCb=this.loader((t,i)=>{if(this.isLoading()){if(this._cancelCb=null,this.manager.stage.destroyed)return;if(t)this.onError(t);else if(i&&i.source)if(!this.stage.isUpdatingFrame()&&!e&&i.throttle!==!1){let s=this.stage.textureThrottler;this._cancelCb=s.genericCancelCb,s.add(this,i)}else this.processLoadedSource(i)}},this))}processLoadedSource(e){this.loadingSince=0,this.setSource(e)}setSource(e){let t=e.source;this._hasAlpha=e&&e.hasAlpha||!1,this.w=t.width||e&&e.w||0,this.h=t.height||e&&e.h||0,e&&e.renderInfo&&(this.renderInfo=e.renderInfo),this.permanent=!!e.permanent,e&&e.imageRef&&(this._imageRef=e.imageRef),e&&e.flipTextureY?this._flipTextureY=e.flipTextureY:this._flipTextureY=!1,this._isNativeTexture(t)?(this._nativeTexture=t,this.w=this.w||t.w,this.h=this.h||t.h,this.permanent=e.hasOwnProperty("permanent")?e.permanent:!0):this.manager.uploadTextureSource(this,e),this._loadError=null,this.onLoad()}isUsed(){return this._activeTextureCount>0}onLoad(){this.isUsed()&&this.textures.forEach(e=>{e.onLoad()})}forceRenderUpdate(){this._nativeTexture&&(this._nativeTexture.update=this.stage.frameCounter),this.forEachActiveElement(function(e){e.forceRenderUpdate()})}forceUpdateRenderCoords(){this.forEachActiveElement(function(e){e._updateTextureCoords()})}get nativeTexture(){return this._nativeTexture}clearNativeTexture(){this._nativeTexture=null,this._imageRef=null}replaceNativeTexture(e,t,i){let s=this._nativeTexture;this._nativeTexture=e,this.w=t,this.h=i,!s&&this._nativeTexture&&this.forEachActiveElement(n=>n.onTextureSourceLoaded()),this._nativeTexture||this.forEachActiveElement(n=>n._setDisplayedTexture(null)),this.forEachEnabledElement(n=>n._updateDimensions())}onError(e){this._loadError=e,this.loadingSince=0,console.error("[Lightning] texture load error",e,this.lookupId),this.forEachActiveElement(t=>t.onTextureSourceLoadError(e))}free(){this.isLoaded()&&this.manager.freeTextureSource(this)}_isNativeTexture(e){return K.isNode?e.constructor.name==="WebGLTexture":"WebGLTexture"in window?e instanceof WebGLTexture:!1}};mi.prototype.isTextureSource=!0;mi.id=1;var eo=class{constructor(e){this._element=e.element,this._core=e,this.ctx=this._core.ctx,this._enabled=!1,this.lazy=!1,this._colorize=!1,this._renderTexture=null,this._renderTextureReused=!1,this._resultTextureSource=null,this._renderOffscreen=!1,this.empty=!1}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._core.updateRenderToTextureEnabled()}get renderOffscreen(){return this._renderOffscreen}set renderOffscreen(e){this._renderOffscreen=e,this._core.setHasRenderUpdates(1),this._core._setRecalc(6)}get colorize(){return this._colorize}set colorize(e){this._colorize!==e&&(this._colorize=e,this._core.setHasRenderUpdates(1))}_getTextureSource(){return this._resultTextureSource||(this._resultTextureSource=new mi(this._element.stage.textureManager),this.updateResultTexture()),this._resultTextureSource}hasResultTexture(){return!!this._resultTextureSource}resultTextureInUse(){return this._resultTextureSource&&this._resultTextureSource.hasEnabledElements()}updateResultTexture(){let e=this.getResultTexture();if(this._resultTextureSource){if(this._resultTextureSource.nativeTexture!==e){let t=e?e.w:0,i=e?e.h:0;this._resultTextureSource.replaceNativeTexture(e,t,i)}this._resultTextureSource.forEachEnabledElement(t=>{t._updateDimensions(),t.core.setHasRenderUpdates(3)})}}mustRenderToTexture(){return this._enabled&&!this.lazy?!0:!!(this._enabled&&this.lazy&&this._core._hasRenderUpdates<3)}deactivate(){this.release()}get renderTextureReused(){return this._renderTextureReused}release(){this.releaseRenderTexture()}releaseRenderTexture(){this._renderTexture&&(this._renderTextureReused||this.ctx.releaseRenderTexture(this._renderTexture),this._renderTexture=null,this._renderTextureReused=!1,this.updateResultTexture())}reuseTextureAsRenderTexture(e){this._renderTexture!==e&&(this.releaseRenderTexture(),this._renderTexture=e,this._renderTextureReused=!0)}hasRenderTexture(){return!!this._renderTexture}getRenderTexture(){return this._renderTexture||(this._renderTexture=this.ctx.allocateRenderTexture(this._core._w,this._core._h),this._renderTextureReused=!1),this._renderTexture}getResultTexture(){return this._renderTexture}},ds=class r{constructor(e){this._element=e,this.ctx=e.stage.ctx,this._recalc=0,this._parent=null,this._onUpdate=null,this._pRecalc=0,this._worldContext=new sr,this._hasUpdates=!1,this._localAlpha=1,this._onAfterCalcs=null,this._onAfterUpdate=null,this._localPx=0,this._localPy=0,this._localTa=1,this._localTb=0,this._localTc=0,this._localTd=1,this._isComplex=!1,this._dimsUnknown=!1,this._clipping=!1,this._zSort=!1,this._outOfBounds=0,this._displayedTextureSource=null,this._zContextUsage=0,this._children=null,this._hasRenderUpdates=0,this._zIndexedChildren=null,this._renderContext=this._worldContext,this.renderState=this.ctx.renderState,this._scissor=null,this._shaderOwner=null,this._updateTreeOrder=0,this._colorUl=this._colorUr=this._colorBl=this._colorBr=4294967295,this._x=0,this._y=0,this._w=0,this._h=0,this._optFlags=0,this._funcX=null,this._funcY=null,this._funcW=null,this._funcH=null,this._scaleX=1,this._scaleY=1,this._pivotX=.5,this._pivotY=.5,this._mountX=0,this._mountY=0,this._rotation=0,this._alpha=1,this._visible=!0,this._ulx=0,this._uly=0,this._brx=1,this._bry=1,this._zIndex=0,this._forceZIndexContext=!1,this._zParent=null,this._isRoot=!1,this._zIndexResort=!1,this._shader=null,this._renderToTextureEnabled=!1,this._texturizer=null,this._useRenderToTexture=!1,this._boundsMargin=null,this._recBoundsMargin=null,this._withinBoundsMargin=!1,this._viewport=null,this._clipbox=!0,this.render=this._renderSimple,this._layout=null}get offsetX(){return this._funcX?this._funcX:this.hasFlexLayout()?this._layout.originalX:this._x}set offsetX(e){K.isFunction(e)?this.funcX=e:(this._disableFuncX(),this.hasFlexLayout()?(this.x+=e-this._layout.originalX,this._layout.setOriginalXWithoutUpdatingLayout(e)):this.x=e)}get x(){return this._x}set x(e){e!==this._x&&(this._updateLocalTranslateDelta(e-this._x,0),this._x=e)}get funcX(){return this._optFlags&1?this._funcX:null}set funcX(e){this._funcX!==e&&(this._optFlags|=1,this._funcX=e,this.hasFlexLayout()?(this._layout.setOriginalXWithoutUpdatingLayout(0),this.layout.forceLayout()):(this._x=0,this._triggerRecalcTranslate()))}_disableFuncX(){this._optFlags=this._optFlags&65534,this._funcX=null}get offsetY(){return this._funcY?this._funcY:this.hasFlexLayout()?this._layout.originalY:this._y}set offsetY(e){K.isFunction(e)?this.funcY=e:(this._disableFuncY(),this.hasFlexLayout()?(this.y+=e-this._layout.originalY,this._layout.setOriginalYWithoutUpdatingLayout(e)):this.y=e)}get y(){return this._y}set y(e){e!==this._y&&(this._updateLocalTranslateDelta(0,e-this._y),this._y=e)}get funcY(){return this._optFlags&2?this._funcY:null}set funcY(e){this._funcY!==e&&(this._optFlags|=2,this._funcY=e,this.hasFlexLayout()?(this._layout.setOriginalYWithoutUpdatingLayout(0),this.layout.forceLayout()):(this._y=0,this._triggerRecalcTranslate()))}_disableFuncY(){this._optFlags=this._optFlags&65533,this._funcY=null}get funcW(){return this._optFlags&4?this._funcW:null}set funcW(e){this._funcW!==e&&(this._optFlags|=4,this._funcW=e,this.hasFlexLayout()?(this._layout._originalWidth=0,this.layout.changedDimensions(!0,!1)):(this._w=0,this._triggerRecalcTranslate()))}disableFuncW(){this._optFlags=this._optFlags&65531,this._funcW=null}get funcH(){return this._optFlags&8?this._funcH:null}set funcH(e){this._funcH!==e&&(this._optFlags|=8,this._funcH=e,this.hasFlexLayout()?(this._layout._originalHeight=0,this.layout.changedDimensions(!1,!0)):(this._h=0,this._triggerRecalcTranslate()))}disableFuncH(){this._optFlags=this._optFlags&65527,this._funcH=null}get w(){return this._w}getRenderWidth(){return this.hasFlexLayout()?this._layout.originalWidth:this._w}get h(){return this._h}getRenderHeight(){return this.hasFlexLayout()?this._layout.originalHeight:this._h}get scaleX(){return this._scaleX}set scaleX(e){this._scaleX!==e&&(this._scaleX=e,this._updateLocalTransform())}get scaleY(){return this._scaleY}set scaleY(e){this._scaleY!==e&&(this._scaleY=e,this._updateLocalTransform())}get scale(){return this.scaleX}set scale(e){(this._scaleX!==e||this._scaleY!==e)&&(this._scaleX=e,this._scaleY=e,this._updateLocalTransform())}get pivotX(){return this._pivotX}set pivotX(e){this._pivotX!==e&&(this._pivotX=e,this._updateLocalTranslate())}get pivotY(){return this._pivotY}set pivotY(e){this._pivotY!==e&&(this._pivotY=e,this._updateLocalTranslate())}get pivot(){return this._pivotX}set pivot(e){(this._pivotX!==e||this._pivotY!==e)&&(this._pivotX=e,this._pivotY=e,this._updateLocalTranslate())}get mountX(){return this._mountX}set mountX(e){this._mountX!==e&&(this._mountX=e,this._updateLocalTranslate())}get mountY(){return this._mountY}set mountY(e){this._mountY!==e&&(this._mountY=e,this._updateLocalTranslate())}get mount(){return this._mountX}set mount(e){(this._mountX!==e||this._mountY!==e)&&(this._mountX=e,this._mountY=e,this._updateLocalTranslate())}get rotation(){return this._rotation}set rotation(e){this._rotation!==e&&(this._rotation=e,this._updateLocalTransform())}get alpha(){return this._alpha}set alpha(e){if(e=e>1?1:e<1e-14?0:e,this._alpha!==e){let t=this._alpha;this._alpha=e,this._updateLocalAlpha(),t===0!=(e===0)&&this._element._updateEnabledFlag()}}get visible(){return this._visible}set visible(e){this._visible!==e&&(this._visible=e,this._updateLocalAlpha(),this._element._updateEnabledFlag(),this.hasFlexLayout()&&this.layout.setVisible(e))}_updateLocalTransform(){if(this._rotation!==0&&this._rotation%(2*Math.PI)){let e=Math.sin(this._rotation),t=Math.cos(this._rotation);this._setLocalTransform(t*this._scaleX,-e*this._scaleY,e*this._scaleX,t*this._scaleY)}else this._setLocalTransform(this._scaleX,0,0,this._scaleY);this._updateLocalTranslate()}_updateLocalTranslate(){this._recalcLocalTranslate(),this._triggerRecalcTranslate()}_recalcLocalTranslate(){let e=this._pivotX*this._w,t=this._pivotY*this._h,i=this._x-(e*this._localTa+t*this._localTb)+e,s=this._y-(e*this._localTc+t*this._localTd)+t;i-=this._mountX*this._w,s-=this._mountY*this._h,this._localPx=i,this._localPy=s}_updateLocalTranslateDelta(e,t){this._addLocalTranslate(e,t)}_updateLocalAlpha(){this._setLocalAlpha(this._visible?this._alpha:0)}setHasRenderUpdates(e){if(this._worldContext.alpha){let t=this;for(t._hasRenderUpdates=Math.max(e,t._hasRenderUpdates);(t=t._parent)&&t._hasRenderUpdates!==3;)t._hasRenderUpdates=3}}_setRecalc(e){this._recalc|=e,this._setHasUpdates(),this._parent&&this._parent.setHasRenderUpdates(3)}_setHasUpdates(){let e=this;for(;e&&!e._hasUpdates;)e._hasUpdates=!0,e=e._parent}getParent(){return this._parent}setParent(e){if(e!==this._parent){let t=this.isZContext(),i=this._parent;if(this._parent=e,(this._layout||e&&e.isFlexContainer())&&this.layout.setParent(i,e),i&&i.setHasRenderUpdates(3),this._setRecalc(7),this._parent&&this._parent._setHasUpdates(),this._zIndex===0?this.setZParent(e):this.setZParent(e?e.findZContext():null),t!==this.isZContext()&&(this.isZContext()?this.enableZContext(i.findZContext()):this.disableZContext()),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort(),!this._shader){let s=e&&!e._renderToTextureEnabled?e._shaderOwner:null;s!==this._shaderOwner&&(this.setHasRenderUpdates(1),this._setShaderOwnerRecursive(s))}}}enableZSort(e=!1){!this._zSort&&this._zContextUsage>0&&(this._zSort=!0,e&&this.ctx.forceZSort(this))}addChildAt(e,t){this._children||(this._children=[]),this._children.splice(e,0,t),t.setParent(this)}setChildAt(e,t){this._children||(this._children=[]),this._children[e].setParent(null),this._children[e]=t,t.setParent(this)}removeChildAt(e){let t=this._children[e];this._children.splice(e,1),t.setParent(null)}removeChildren(){if(this._children){for(let e=0,t=this._children.length;e<t;e++)this._children[e].setParent(null);this._children.splice(0),this._zIndexedChildren&&this._zIndexedChildren.splice(0)}}syncChildren(e,t,i){this._children=i;for(let s=0,n=e.length;s<n;s++)e[s].setParent(null);for(let s=0,n=t.length;s<n;s++)t[s].setParent(this)}moveChild(e,t){let i=this._children[e];this._children.splice(e,1),this._children.splice(t,0,i),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort()}_setLocalTransform(e,t,i,s){this._setRecalc(4),this._localTa=e,this._localTb=t,this._localTc=i,this._localTd=s,this._isComplex=t!==0||i!==0||e<0||s<0}_addLocalTranslate(e,t){this._localPx+=e,this._localPy+=t,this._triggerRecalcTranslate()}_setLocalAlpha(e){!this._worldContext.alpha&&this._parent&&this._parent._worldContext.alpha&&e?this._setRecalc(129):this._setRecalc(1),e<1e-14&&(e=0),this._localAlpha=e}setDimensions(e,t,i=this._dimsUnknown){if(this._dimsUnknown=i,this.hasFlexLayout())this._layout.originalWidth=e,this._layout.originalHeight=t;else if(this._w!==e||this._h!==t)return this._updateDimensions(e,t),!0;return!1}_updateDimensions(e,t){(this._w!==e||this._h!==t)&&(this._w=e,this._h=t,this._triggerRecalcTranslate(),this._texturizer&&(this._texturizer.releaseRenderTexture(),this._texturizer.updateResultTexture()),this._updateLocalTranslate())}setTextureCoords(e,t,i,s){this.setHasRenderUpdates(3),this._ulx=e,this._uly=t,this._brx=i,this._bry=s}get displayedTextureSource(){return this._displayedTextureSource}setDisplayedTextureSource(e){this.setHasRenderUpdates(3),this._displayedTextureSource=e}get isRoot(){return this._isRoot}setAsRoot(){this._parent=new r(this._element),this._parent._hasRenderUpdates=3,this._parent._hasUpdates=!0,this._isRoot=!0,this.ctx.root=this,this._parent._viewport=[0,0,this.ctx.stage.coordsWidth,this.ctx.stage.coordsHeight],this._parent._scissor=this._parent._viewport,this._parent._recBoundsMargin=null,this._setRecalc(7)}isAncestorOf(e){let t=e;for(;t=t._parent;)if(this===t)return!0;return!1}isZContext(){return this._forceZIndexContext||this._renderToTextureEnabled||this._zIndex!==0||this._isRoot||!this._parent}findZContext(){return this.isZContext()?this:this._parent.findZContext()}setZParent(e){if(this._zParent!==e){if(this._zParent!==null&&(this._zIndex!==0&&this._zParent.decZContextUsage(),this._zParent.enableZSort()),e!==null){let t=e._zContextUsage>0;this._zIndex!==0&&e.incZContextUsage(),e._zContextUsage>0&&(!t&&this._parent===e||e._zIndexedChildren.push(this),e.enableZSort())}this._zParent=e,this._zIndexResort=!0}}incZContextUsage(){if(this._zContextUsage++,this._zContextUsage===1&&(this._zIndexedChildren||(this._zIndexedChildren=[]),this._children)){for(let e=0,t=this._children.length;e<t;e++)this._zIndexedChildren.push(this._children[e]);this._zSort=!1}}decZContextUsage(){this._zContextUsage--,this._zContextUsage===0&&(this._zSort=!1,this._zIndexedChildren.splice(0))}get zIndex(){return this._zIndex}set zIndex(e){if(this._zIndex!==e){this.setHasRenderUpdates(1);let t=this._zParent,i=this.isZContext();e===0&&this._zIndex!==0?this._parent===this._zParent?this._zParent&&this._zParent.decZContextUsage():t=this._parent:e!==0&&this._zIndex===0?(t=this._parent?this._parent.findZContext():null,t===this._zParent&&this._zParent&&(this._zParent.incZContextUsage(),this._zParent.enableZSort())):e!==this._zIndex&&this._zParent&&this._zParent._zContextUsage&&this._zParent.enableZSort(),t!==this._zParent&&this.setZParent(null),this._zIndex=e,t!==this._zParent&&this.setZParent(t),i!==this.isZContext()&&(this.isZContext()?this.enableZContext(this._parent.findZContext()):this.disableZContext()),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort()}}get forceZIndexContext(){return this._forceZIndexContext}set forceZIndexContext(e){this.setHasRenderUpdates(1);let t=this.isZContext();this._forceZIndexContext=e,t!==this.isZContext()&&(this.isZContext()?this.enableZContext(this._parent.findZContext()):this.disableZContext())}enableZContext(e){e&&e._zContextUsage>0&&this._getZIndexedDescs().forEach(i=>{this.isAncestorOf(i)&&i._zIndex!==0&&i.setZParent(this)})}_getZIndexedDescs(){let e=[];if(this._children)for(let t=0,i=this._children.length;t<i;t++)this._children[t]._getZIndexedDescsRec(e);return e}_getZIndexedDescsRec(e){if(this._zIndex)e.push(this);else if(this._children&&!this.isZContext())for(let t=0,i=this._children.length;t<i;t++)this._children[t]._getZIndexedDescsRec(e)}disableZContext(){if(this._zContextUsage>0){let e=this._parent.findZContext();this._zSort&&this.sortZIndexedChildren(),this._zIndexedChildren.slice().forEach(function(t){t._zIndex!==0&&t.setZParent(e)})}}get colorUl(){return this._colorUl}set colorUl(e){this._colorUl!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorUl=e)}get colorUr(){return this._colorUr}set colorUr(e){this._colorUr!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorUr=e)}get colorBl(){return this._colorBl}set colorBl(e){this._colorBl!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorBl=e)}get colorBr(){return this._colorBr}set colorBr(e){this._colorBr!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorBr=e)}set onUpdate(e){this._onUpdate=e,this._setRecalc(7)}set onAfterUpdate(e){this._onAfterUpdate=e,this._setRecalc(7)}set onAfterCalcs(e){this._onAfterCalcs=e,this._setRecalc(7)}get shader(){return this._shader}set shader(e){this.setHasRenderUpdates(1);let t=this._shader;if(this._shader=e,!e&&t){let i=this._parent&&!this._parent._renderToTextureEnabled?this._parent._shaderOwner:null;this._setShaderOwnerRecursive(i)}else e&&this._setShaderOwnerRecursive(this)}get activeShader(){return this._shaderOwner?this._shaderOwner.shader:this.renderState.defaultShader}get activeShaderOwner(){return this._shaderOwner}get clipping(){return this._clipping}set clipping(e){this._clipping!==e&&(this._clipping=e,this._setRecalc(3))}get clipbox(){return this._clipbox}set clipbox(e){this._clipbox=e}_setShaderOwnerRecursive(e){if(this._shaderOwner=e,this._children&&!this._renderToTextureEnabled)for(let t=0,i=this._children.length;t<i;t++){let s=this._children[t];s._shader||(s._setShaderOwnerRecursive(e),s._hasRenderUpdates=3)}}_setShaderOwnerChildrenRecursive(e){if(this._children)for(let t=0,i=this._children.length;t<i;t++){let s=this._children[t];s._shader||(s._setShaderOwnerRecursive(e),s._hasRenderUpdates=3)}}_hasRenderContext(){return this._renderContext!==this._worldContext}get renderContext(){return this._renderContext}updateRenderToTextureEnabled(){this.texturizer._enabled?this._enableRenderToTexture():(this._disableRenderToTexture(),this._texturizer.releaseRenderTexture())}_enableRenderToTexture(){if(!this._renderToTextureEnabled){let e=this.isZContext();this._renderToTextureEnabled=!0,this._renderContext=new sr,this._setShaderOwnerChildrenRecursive(null),e||this.enableZContext(this._parent?this._parent.findZContext():null),this.setHasRenderUpdates(3),this._setRecalc(7),this.render=this._renderAdvanced}}_disableRenderToTexture(){this._renderToTextureEnabled&&(this._renderToTextureEnabled=!1,this._setShaderOwnerChildrenRecursive(this._shaderOwner),this._renderContext=this._worldContext,this.isZContext()||this.disableZContext(),this._setRecalc(7),this.setHasRenderUpdates(3),this.render=this._renderSimple)}isWhite(){return this._colorUl===4294967295&&this._colorUr===4294967295&&this._colorBl===4294967295&&this._colorBr===4294967295}hasSimpleTexCoords(){return this._ulx===0&&this._uly===0&&this._brx===1&&this._bry===1}_stashTexCoords(){this._stashedTexCoords=[this._ulx,this._uly,this._brx,this._bry],this._ulx=0,this._uly=0,this._brx=1,this._bry=1}_unstashTexCoords(){this._ulx=this._stashedTexCoords[0],this._uly=this._stashedTexCoords[1],this._brx=this._stashedTexCoords[2],this._bry=this._stashedTexCoords[3],this._stashedTexCoords=null}_stashColors(){this._stashedColors=[this._colorUl,this._colorUr,this._colorBr,this._colorBl],this._colorUl=4294967295,this._colorUr=4294967295,this._colorBr=4294967295,this._colorBl=4294967295}_unstashColors(){this._colorUl=this._stashedColors[0],this._colorUr=this._stashedColors[1],this._colorBr=this._stashedColors[2],this._colorBl=this._stashedColors[3],this._stashedColors=null}isVisible(){return this._localAlpha>1e-14}get outOfBounds(){return this._outOfBounds}set boundsMargin(e){this._boundsMargin=e?e.slice():null,this._triggerRecalcTranslate()}get boundsMargin(){return this._boundsMargin}update(){this._recalc|=this._parent._pRecalc,this._layout&&this._layout.isEnabled()?this._recalc&256&&this._layout.layoutFlexTree():this._recalc&2&&this._optFlags&&this._applyRelativeDimFuncs(),this._onUpdate&&(this._hasUpdates=!0,this._onUpdate(this.element,this));let e=this._parent._worldContext,t=this._worldContext,i=e.alpha&&this._localAlpha;if(this._hasUpdates||this._recalc&&i||t.alpha&&!i){let s=this._recalc;s&1&&(!t.alpha&&i&&(this._hasRenderUpdates=3),t.alpha=e.alpha*this._localAlpha,t.alpha<1e-14&&(t.alpha=0)),s&6&&(t.px=e.px+this._localPx*e.ta,t.py=e.py+this._localPy*e.td,e.tb!==0&&(t.px+=this._localPy*e.tb),e.tc!==0&&(t.py+=this._localPx*e.tc)),s&4&&(t.ta=this._localTa*e.ta,t.tb=this._localTd*e.tb,t.tc=this._localTa*e.tc,t.td=this._localTd*e.td,this._isComplex&&(t.ta+=this._localTc*e.tb,t.tb+=this._localTb*e.ta,t.tc+=this._localTc*e.td,t.td+=this._localTb*e.tc));let n=this._parent._renderContext;if(this._parent._hasRenderContext()){let C=this._renderContext===this._worldContext;C&&(this._renderContext=new sr);let A=this._renderContext;(C||s&1)&&(A.alpha=n.alpha*this._localAlpha,A.alpha<1e-14&&(A.alpha=0)),(C||s&6)&&(A.px=n.px+this._localPx*n.ta,A.py=n.py+this._localPy*n.td,n.tb!==0&&(A.px+=this._localPy*n.tb),n.tc!==0&&(A.py+=this._localPx*n.tc)),C&&(s|=2),(C||s&4)&&(A.ta=this._localTa*n.ta,A.tb=this._localTd*n.tb,A.tc=this._localTa*n.tc,A.td=this._localTd*n.td,this._isComplex&&(A.ta+=this._localTc*n.tb,A.tb+=this._localTb*n.ta,A.tc+=this._localTc*n.td,A.td+=this._localTb*n.tc))}else this._renderContext=this._worldContext;this.ctx.updateTreeOrder===-1?this.ctx.updateTreeOrder=this._updateTreeOrder+1:this._updateTreeOrder=this.ctx.updateTreeOrder++;let o=this._renderToTextureEnabled&&this._texturizer.mustRenderToTexture();this._useRenderToTexture!==o&&(this._recalc|=6,s|=2,this._useRenderToTexture||this._texturizer.release()),this._useRenderToTexture=o;let a=this._renderContext,l=this._dimsUnknown?2048:this._w,u=this._dimsUnknown?2048:this._h,c,g,m,y,b=a.tb!==0||a.tc!==0||a.ta<0||a.td<0;if(b?(c=Math.min(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,m=Math.max(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,g=Math.min(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py,y=Math.max(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py):(c=a.px,m=a.px+a.ta*l,g=a.py,y=a.py+a.td*u),this._dimsUnknown&&(b||this._localTa<1||this._localTb<1)){let C=this._x*n.ta+this._y*n.tb+n.px,A=this._x*n.tc+this._y*n.td+n.py;C<c&&(c=C),A<g&&(g=A),C>m&&(m=C),A>y&&(y=A)}if(s&6||!this._scissor)if(this._clipping&&a.isSquare()){let C=this._parent._useRenderToTexture?this._parent._viewport:this._parent._scissor;if(C){let A=Math.max(C[0],c),T=Math.max(C[1],g);this._scissor=[A,T,Math.min(C[2]+C[0],m)-A,Math.min(C[3]+C[1],y)-T]}else this._scissor=[c,g,m-c,y-g]}else this._scissor=this._parent._useRenderToTexture?this._parent._viewport:this._parent._scissor;if(this._boundsMargin?this._recBoundsMargin=this._boundsMargin:this._recBoundsMargin=this._parent._recBoundsMargin,this._onAfterCalcs&&this._onAfterCalcs(this.element)&&(b?(c=Math.min(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,m=Math.max(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,g=Math.min(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py,y=Math.max(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py):(c=a.px,m=a.px+a.ta*l,g=a.py,y=a.py+a.td*u),this._dimsUnknown&&(b||this._localTa<1||this._localTb<1))){let C=this._x*n.ta+this._y*n.tb+n.px,A=this._x*n.tc+this._y*n.td+n.py;C<c&&(c=C),A<g&&(g=A),C>m&&(m=C),A>y&&(y=A)}if(this._parent._outOfBounds===2)this._outOfBounds=2,this._withinBoundsMargin&&(this._withinBoundsMargin=!1,this.element._disableWithinBoundsMargin());else if(s&6){this._outOfBounds=0;let C=!0;if((!this._renderToTextureEnabled||!this._texturizer||!this._texturizer.renderOffscreen)&&(this._scissor&&(this._scissor[2]<=0||this._scissor[3]<=0)?this._outOfBounds=2:((this._scissor[0]>m||this._scissor[1]>y||c>this._scissor[0]+this._scissor[2]||g>this._scissor[1]+this._scissor[3])&&(this._outOfBounds=1),this._outOfBounds&&(this._clipping||this._useRenderToTexture||this._clipbox&&l&&u)&&(this._outOfBounds=2)),C=this._outOfBounds===0,C||(this._recBoundsMargin?C=!(m<this._scissor[0]-this._recBoundsMargin[2]||y<this._scissor[1]-this._recBoundsMargin[3]||c>this._scissor[0]+this._scissor[2]+this._recBoundsMargin[0]||g>this._scissor[1]+this._scissor[3]+this._recBoundsMargin[1]):C=!(m<this._scissor[0]-100||y<this._scissor[1]-100||c>this._scissor[0]+this._scissor[2]+100||g>this._scissor[1]+this._scissor[3]+100),C&&this._outOfBounds===2&&(this._outOfBounds=1))),this._withinBoundsMargin!==C)if(this._withinBoundsMargin=C,this._withinBoundsMargin){this._hasUpdates=!0;let A=this._recalc;if(this._recalc=0,this.element._enableWithinBoundsMargin(),this._recalc)return this.update();this._recalc=A}else this.element._disableWithinBoundsMargin()}if(this._useRenderToTexture&&(this._viewport?(this._viewport[2]=l,this._viewport[3]=u):this._viewport=[0,0,l,u]),this._pRecalc=this._recalc&135,this._recalc=0,this._hasUpdates=!1,this._outOfBounds<2){if(this._useRenderToTexture&&(this._worldContext.isIdentity()?this._renderContext=this._worldContext:this._renderContext=sr.IDENTITY),this._children)for(let C=0,A=this._children.length;C<A;C++)this._children[C].update();this._useRenderToTexture&&(this._renderContext=a)}else if(this._children)for(let C=0,A=this._children.length;C<A;C++)this._children[C]._hasUpdates?this._children[C].update():(this._children[C]._recalc|=this._pRecalc,this._children[C].updateOutOfBounds());this._onAfterUpdate&&this._onAfterUpdate(this.element)}else this.ctx.updateTreeOrder===-1||this._updateTreeOrder>=this.ctx.updateTreeOrder?this.ctx.updateTreeOrder=-1:this.updateTreeOrder()}_applyRelativeDimFuncs(){if(this._optFlags&1){let t=this._funcX(this._parent.w);t!==this._x&&(this._localPx+=t-this._x,this._x=t)}if(this._optFlags&2){let t=this._funcY(this._parent.h);t!==this._y&&(this._localPy+=t-this._y,this._y=t)}let e=!1;if(this._optFlags&4){let t=this._funcW(this._parent.w);t!==this._w&&(this._w=t,e=!0)}if(this._optFlags&8){let t=this._funcH(this._parent.h);t!==this._h&&(this._h=t,e=!0)}e&&(this._recalcLocalTranslate(),this.element.onDimensionsChanged(this._w,this._h))}updateOutOfBounds(){if(this._outOfBounds!==2&&this._renderContext.alpha>0&&(this._outOfBounds=2,this._withinBoundsMargin&&(this._withinBoundsMargin=!1,this.element._disableWithinBoundsMargin()),this._children))for(let e=0,t=this._children.length;e<t;e++)this._children[e].updateOutOfBounds()}updateTreeOrder(){if(this._localAlpha&&this._outOfBounds!==2&&(this._updateTreeOrder=this.ctx.updateTreeOrder++,this._children))for(let e=0,t=this._children.length;e<t;e++)this._children[e].updateTreeOrder()}_renderSimple(){if(this._hasRenderUpdates=0,this._zSort&&this.sortZIndexedChildren(),this._outOfBounds<2&&this._renderContext.alpha){let e=this.renderState;if(this._outOfBounds===0&&this._displayedTextureSource&&(e.setShader(this.activeShader,this._shaderOwner),e.setScissor(this._scissor),this.renderState.addQuad(this)),this._children)if(this._zContextUsage)for(let t=0,i=this._zIndexedChildren.length;t<i;t++)this._zIndexedChildren[t].render();else for(let t=0,i=this._children.length;t<i;t++)this._children[t]._zIndex===0&&this._children[t].render()}}_renderAdvanced(){let e=this._hasRenderUpdates;if(this._hasRenderUpdates=0,this._zSort&&this.sortZIndexedChildren(),this._outOfBounds<2&&this._renderContext.alpha){let t=this.renderState,i=!0,s,n;if(this._useRenderToTexture){if(this._w===0||this._h===0)return;if(!this._texturizer.hasRenderTexture()||e>=3){if(this.ctx.renderToTextureCount++,t.setShader(t.defaultShader,this),n=t.renderTextureInfo,s={nativeTexture:null,offset:0,w:this._w,h:this._h,empty:!0,cleared:!1,ignore:!1,cache:!1},(this._texturizer.hasResultTexture()||!t.isCachingTexturizer&&e<3)&&(s.cache=!0,t.isCachingTexturizer=!0),this._texturizer.hasResultTexture()||this._texturizer.releaseRenderTexture(),t.setRenderTextureInfo(s),t.setScissor(null),this._displayedTextureSource){let o=this._renderContext;this._renderContext=sr.IDENTITY,this.renderState.addQuad(this),this._renderContext=o}}else i=!1}else this._outOfBounds===0&&this._displayedTextureSource&&(t.setShader(this.activeShader,this._shaderOwner),t.setScissor(this._scissor),this.renderState.addQuad(this));if(i&&this._children)if(this._zContextUsage)for(let o=0,a=this._zIndexedChildren.length;o<a;o++)this._zIndexedChildren[o].render();else for(let o=0,a=this._children.length;o<a;o++)this._children[o]._zIndex===0&&this._children[o].render();if(this._useRenderToTexture){let o=!1;if(i&&(t.finishedRenderTexture(),this._texturizer.empty=s.empty,s.empty?this._texturizer.releaseRenderTexture():s.nativeTexture?(this._texturizer.reuseTextureAsRenderTexture(s.nativeTexture),s.ignore=!0):(this._texturizer.renderTextureReused&&this._texturizer.releaseRenderTexture(),s.nativeTexture=this._texturizer.getRenderTexture()),t.setRenderTextureInfo(n),o=!0),!this._texturizer.empty){let a=this._texturizer.getResultTexture();if(o&&(a&&(a.update=t.stage.frameCounter),this._texturizer.updateResultTexture()),!this._texturizer.renderOffscreen){t.setShader(this.activeShader,this._shaderOwner),t.setScissor(this._scissor);let l=!s||s.cache;t.setTexturizer(this._texturizer,l),this._stashTexCoords(),this._texturizer.colorize||this._stashColors(),this.renderState.addQuad(this,!0),this._texturizer.colorize||this._unstashColors(),this._unstashTexCoords(),t.setTexturizer(null)}}}s&&s.cache&&(t.isCachingTexturizer=!1)}}get zSort(){return this._zSort}sortZIndexedChildren(){let e=this._zIndexedChildren.length,t=0,i=this._zIndexedChildren,s=[];for(let o=0;o<e;o++)i[o]._zParent===this&&(i[o]._zIndexResort?s.push(i[o]):(t!==o&&(i[t]=i[o]),t++));let n=s.length;if(n){for(let a=0;a<n;a++)s[a]._zIndexResort=!1;s.sort(r.sortZIndexedChildren);let o=t;if(o){t=0;let a=0,l=0,u=[];do{let g=(i[a]._zIndex===s[l]._zIndex?i[a]._updateTreeOrder-s[l]._updateTreeOrder:i[a]._zIndex-s[l]._zIndex)>0?s[l++]:i[a++];if((t===0||u[t-1]!==g)&&(u[t++]=g),a>=o){do{let m=s[l++];(t===0||u[t-1]!==m)&&(u[t++]=m)}while(l<n);break}else if(l>=n){do{let m=i[a++];(t===0||u[t-1]!==m)&&(u[t++]=m)}while(a<o);break}}while(!0);this._zIndexedChildren=u}else{t=0;let a=0;do i[t++]=s[a++];while(a<n);i.length>t&&i.splice(t)}}else i.length>t&&i.splice(t);this._zSort=!1}get localTa(){return this._localTa}get localTb(){return this._localTb}get localTc(){return this._localTc}get localTd(){return this._localTd}get element(){return this._element}get renderUpdates(){return this._hasRenderUpdates}get texturizer(){return this._texturizer||(this._texturizer=new eo(this)),this._texturizer}getCornerPoints(){let e=this._worldContext;return[e.px,e.py,e.px+this._w*e.ta,e.py+this._w*e.tc,e.px+this._w*e.ta+this._h*e.tb,e.py+this._w*e.tc+this._h*e.td,e.px+this._h*e.tb,e.py+this._h*e.td]}getRenderTextureCoords(e,t){let i=this._renderContext;return[i.px+i.ta*e+i.tb*t,i.py+i.tc*e+i.td*t]}getAbsoluteCoords(e,t){let i=this._renderContext;return[i.px+i.ta*e+i.tb*t,i.py+i.tc*e+i.td*t]}collectAtCoord(e,t,i){if(this._renderContext.alpha!==0){if(this.inBound(e,t)&&(this._scissor?this.inScissor()&&i.push(this):i.push(this)),this._children){let s=this._children.length;for(let n=0;n<s;n++)this._children[n].collectAtCoord(e,t,i)}return i.sort(r.sortZIndexedChildren)}}inBound(e,t){let i=this.getCornerPoints();return e>i[0]&&e<i[2]&&t>i[1]&&t<i[7]}inScissor(){let e=this._scissor,t=this.getCornerPoints();return t[2]>=e[0]&&t[0]<=e[0]+e[2]&&t[7]>=e[1]&&t[1]<=e[1]+e[3]}get layout(){return this._ensureLayout(),this._layout}get flex(){return this._layout?this._layout.flex:null}set flex(e){this.layout.flex=e}get flexItem(){return this._layout?this._layout.flexItem:null}set flexItem(e){this.layout.flexItem=e}isFlexItem(){return!!this._layout&&this._layout.isFlexItemEnabled()}isFlexContainer(){return!!this._layout&&this._layout.isFlexEnabled()}enableFlexLayout(){this._ensureLayout()}_ensureLayout(){this._layout||(this._layout=new Wl(this))}disableFlexLayout(){this._triggerRecalcTranslate()}hasFlexLayout(){return this._layout&&this._layout.isEnabled()}setLayout(e,t,i,s){this.x=e,this.y=t,this._updateDimensions(i,s)}triggerLayout(){this._setRecalc(256)}_triggerRecalcTranslate(){this._setRecalc(2)}},sr=class{constructor(){this.alpha=1,this.px=0,this.py=0,this.ta=1,this.tb=0,this.tc=0,this.td=1}isIdentity(){return this.alpha===1&&this.px===0&&this.py===0&&this.ta===1&&this.tb===0&&this.tc===0&&this.td===1}isSquare(){return this.tb===0&&this.tc===0}};sr.IDENTITY=new sr;ds.sortZIndexedChildren=function(r,e){return r._zIndex===e._zIndex?r._updateTreeOrder-e._updateTreeOrder:r._zIndex-e._zIndex};var ct=class r{constructor(){this._hasEventListeners=!1}on(e,t){this._hasEventListeners||(this._eventFunction={},this._eventListeners={},this._hasEventListeners=!0),this._eventFunction[e]?this._eventFunction[e]!==r.combiner?(this._eventListeners[e]=[this._eventFunction[e],t],this._eventFunction[e]=r.combiner):this._eventListeners[e].push(t):this._eventFunction[e]=t}once(e,t){let i=(s,n,o)=>{t(s,n,o),this.off(e,i)};i.__originalFunc=t,this.on(e,i)}has(e,t){if(this._hasEventListeners){let i=this._eventFunction[e];if(i){if(i===r.combiner){let s=this._eventListeners[e];for(let n of s)if(n===t||n.__originalFunc==t)return!0}else if(this._eventFunction[e]===t||this._eventFunction[e].__originalFunc===t)return!0}}return!1}off(e,t){if(this._hasEventListeners){let i=this._eventFunction[e];if(i)if(i===r.combiner){let s=this._eventListeners[e],n=s.indexOf(t);n>=0&&s.splice(n,1),n=s.map(o=>o.__originalFunc).indexOf(t),n>=0&&s.splice(n,1),s.length===1&&(this._eventFunction[e]=s[0],this._eventListeners[e]=void 0)}else(this._eventFunction[e]===t||this._eventFunction[e].__originalFunc===t)&&(this._eventFunction[e]=void 0)}}removeListener(e,t){this.off(e,t)}emit(e,t,i,s){if(this._hasEventListeners){let n=this._eventFunction[e];n&&(n===r.combiner?n(this,e,t,i,s):n(t,i,s))}}listenerCount(e){if(this._hasEventListeners){let t=this._eventFunction[e];if(t)return t===r.combiner?this._eventListeners[e].length:1}return 0}removeAllListeners(e){this._hasEventListeners&&(delete this._eventFunction[e],delete this._eventListeners[e])}};ct.combiner=function(r,e,t,i,s){let n=r._eventListeners[e];if(n)for(let o of[...n])o(t,i,s)};ct.addAsMixin=function(r){r.prototype.on=ct.prototype.on,r.prototype.once=ct.prototype.once,r.prototype.has=ct.prototype.has,r.prototype.off=ct.prototype.off,r.prototype.removeListener=ct.prototype.removeListener,r.prototype.emit=ct.prototype.emit,r.prototype.listenerCount=ct.prototype.listenerCount,r.prototype.removeAllListeners=ct.prototype.removeAllListeners};var qr=class{constructor(e){this._initialized=!1,this.ctx=e,this._elements=new Set}static create(e,t){let i;if(K.isObjectLiteral(t))t.type?i=e.renderer.createShader(e.ctx,t):i=this.shader,i&&dt.patchObject(i,t);else if(t===null)i=e.ctx.renderState.defaultShader;else if(t===void 0)i=null;else if(t.isShader)e.renderer.isValidShaderType(t.constructor)||(console.error("[Lightning] Invalid shader type"),t=null),i=t;else{console.error("[Lightning] Please specify a shader type.");return}return i}static getWebGL(){}static getC2d(){}addElement(e){this._elements.add(e)}removeElement(e){this._elements.delete(e),this._elements||this.cleanup()}redraw(){this._elements.forEach(e=>{e.setHasRenderUpdates(2)})}patch(e){dt.patchObject(this,e)}useDefault(){return!1}addEmpty(){return!1}cleanup(){}get isShader(){return!0}},Rt=class r{constructor(e){this.stage=e,this.manager=this.stage.textureManager,this.id=r.id++,this.elements=new Set,this._activeCount=0,this._source=null,this._resizeMode=null,this._x=0,this._y=0,this._w=0,this._h=0,this._precision=1,this.mw=0,this.mh=0,this.clipping=!1,this._mustUpdate=!0}get source(){return(this._mustUpdate||this.stage.hasUpdateSourceTexture(this))&&(this._performUpdateSource(!0),this.stage.removeUpdateSourceTexture(this)),this._source}addElement(e){this.elements.has(e)||(this.elements.add(e),this.elements.size===1&&this._source&&this._source.addTexture(this),e.active&&this.incActiveCount())}removeElement(e){this.elements.delete(e)&&(this.elements.size===0&&this._source&&this._source.removeTexture(this),e.active&&this.decActiveCount())}incActiveCount(){this.source&&this._checkForNewerReusableTextureSource(),this._activeCount++,this._activeCount===1&&this.becomesUsed()}decActiveCount(){this.source,this._activeCount--,this._activeCount||this.becomesUnused()}becomesUsed(){this.source&&this.source.incActiveTextureCount()}onLoad(){this._resizeMode&&this._applyResizeMode(),this.elements.forEach(e=>{e.active&&e.onTextureSourceLoaded()})}_checkForNewerReusableTextureSource(){let e=this.source;if(e.isLoaded())this._resizeMode&&this._applyResizeMode();else{let t=this._getReusableTextureSource();t&&t.isLoaded()&&t!==e&&this._replaceTextureSource(t)}}becomesUnused(){this.source&&this.source.decActiveTextureCount()}isUsed(){return this._activeCount>0}_getLookupId(){return null}_getSourceLoader(){throw new Error("Texture.generate must be implemented.")}get isValid(){return this._getIsValid()}_getIsValid(){return!0}_changed(){this.isUsed()?this._updateSource():this._mustUpdate=!0}_updateSource(){this.stage.addUpdateSourceTexture(this)}_performUpdateSource(e=!1){if(e||this.isUsed()){this._mustUpdate=!1;let t=this._getTextureSource();this._replaceTextureSource(t)}}_getTextureSource(){let e=null;if(this._getIsValid()){let t=this._getLookupId();e=this._getReusableTextureSource(t),e||(e=this.manager.getTextureSource(this._getSourceLoader(),t))}return e}_getReusableTextureSource(e=this._getLookupId()){return this._getIsValid()&&e?this.manager.getReusableTextureSource(e):null}_replaceTextureSource(e=null){let t=this._source;if(this._source=e,this.elements.size&&(t&&(this._activeCount&&t.decActiveTextureCount(),t.removeTexture(this),this.text&&!t.isUsed()&&this.manager.freeTextureSource(t)),e&&(e.addTexture(this),this._activeCount&&e.incActiveTextureCount())),this.isUsed())if(e)if(e.isLoaded())this._resizeMode&&this._applyResizeMode(),this.elements.forEach(i=>{i.active&&i._setDisplayedTexture(this)});else{let i=e.loadError;i&&this.elements.forEach(s=>{s.active&&s.onTextureSourceLoadError(i)})}else this.elements.forEach(i=>{i.active&&i._setDisplayedTexture(null)})}load(){this.source&&(this.isLoaded()||this.source.load(!0))}isLoaded(){return this._source&&this._source.isLoaded()}get loadError(){return this._source&&this._source.loadError}free(){this._source&&this._source.free()}set resizeMode({type:e="cover",w:t=0,h:i=0,clipX:s=.5,clipY:n=.5}){this._resizeMode={type:e,w:t,h:i,clipX:s,clipY:n},this.isLoaded()&&this._applyResizeMode()}get resizeMode(){return this._resizeMode}_clearResizeMode(){this._resizeMode=null}_applyResizeMode(){this._resizeMode.type==="cover"?this._applyResizeCover():this._resizeMode.type==="contain"&&this._applyResizeContain(),this._updatePrecision(),this._updateClipping()}_applyResizeCover(){let e=this._resizeMode.w/this._source.w,t=this._resizeMode.h/this._source.h,i=Math.max(e,t);if(i){if(this._precision=1/i,e&&e<i){let s=this._precision*this._resizeMode.w,n=this._source.w-s;this._x=n*this._resizeMode.clipX,this._w=this._source.w-n}if(t&&t<i){let s=this._precision*this._resizeMode.h,n=this._source.h-s;this._y=n*this._resizeMode.clipY,this._h=this._source.h-n}}}_applyResizeContain(){let e=this._resizeMode.w/this._source.w,t=this._resizeMode.h/this._source.h,i=e;(!i||t<i)&&(i=t),i&&(this._precision=1/i)}enableClipping(e,t,i,s){this._clearResizeMode(),e*=this._precision,t*=this._precision,i*=this._precision,s*=this._precision,(this._x!==e||this._y!==t||this._w!==i||this._h!==s)&&(this._x=e,this._y=t,this._w=i,this._h=s,this._updateClipping(!0))}disableClipping(){this._clearResizeMode(),(this._x||this._y||this._w||this._h)&&(this._x=0,this._y=0,this._w=0,this._h=0,this._updateClipping())}_updateClipping(){this.clipping=!!(this._x||this._y||this._w||this._h);let e=this;this.elements.forEach(function(t){t.displayedTexture===e&&t.onDisplayedTextureClippingChanged()})}_updatePrecision(){let e=this;this.elements.forEach(function(t){t.displayedTexture===e&&t.onPrecisionChanged()})}getNonDefaults(){let e={};return e.type=this.constructor.name,this.x!==0&&(e.x=this.x),this.y!==0&&(e.y=this.y),this.w!==0&&(e.w=this.w),this.h!==0&&(e.h=this.h),this.precision!==1&&(e.precision=this.precision),e}get px(){return this._x}get py(){return this._y}get pw(){return this._w}get ph(){return this._h}get x(){return this._x/this._precision}set x(e){this._clearResizeMode(),e=e*this._precision,this._x!==e&&(this._x=e,this._updateClipping())}get y(){return this._y/this._precision}set y(e){this._clearResizeMode(),e=e*this._precision,this._y!==e&&(this._y=e,this._updateClipping())}get w(){return this._w/this._precision}set w(e){this._clearResizeMode(),e=e*this._precision,this._w!==e&&(this._w=e,this._updateClipping())}get h(){return this._h/this._precision}set h(e){this._clearResizeMode(),e=e*this._precision,this._h!==e&&(this._h=e,this._updateClipping())}get precision(){return this._precision}set precision(e){this._clearResizeMode(),this._precision!==e&&(this._precision=e,this._updatePrecision())}isAutosizeTexture(){return!0}getRenderWidth(){return this.isAutosizeTexture()?(this._w||(this._source?this._source.getRenderWidth()-this._x:0))/this._precision:0}getRenderHeight(){return this.isAutosizeTexture()?(this._h||(this._source?this._source.getRenderHeight()-this._y:0))/this._precision:0}patch(e){dt.patchObject(this,e)}};Rt.prototype.isTexture=!0;Rt.id=0;var ps=class extends Rt{constructor(e){super(e),this._src=void 0,this._hasAlpha=!1}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._changed())}get hasAlpha(){return this._hasAlpha}set hasAlpha(e){this._hasAlpha!==e&&(this._hasAlpha=e,this._changed())}_getIsValid(){return!!this._src}_getLookupId(){return this._src}_getSourceLoader(){let e=this._src,t=this._hasAlpha;if(this.stage.getOption("srcBasePath")){var i=e.charCodeAt(0);e.indexOf("//")===-1&&(i>=65&&i<=90||i>=97&&i<=122||i==46)&&(e=this.stage.getOption("srcBasePath")+e)}return s=>this.stage.platform.loadSrcTexture({src:e,hasAlpha:t},s)}getNonDefaults(){let e=super.getNonDefaults();return this._src&&(e.src=this._src),e}};function to(r,e,t,i,s){let n=r;Array.isArray(n)||(n=[n]);let o=[];for(let a=0,l=n.length;a<l;a++){let u=n[a];u===null&&(u=s),u==="serif"||u==="sans-serif"?o.push(u):o.push(`"${u}"`)}return`${e} ${t*i}px ${o.join(",")}`}function Ep(r){return r===""||r==="\u200B"}function Ap(r){return Ep(r)||r===" "}function P1(r,e){let t=e.match(r)||[],i=e.split(r)||[],s=[];for(let n=0;n<i.length;n++)s.push(i[n],t[n]);return s.pop(),s.filter(n=>n!="")}function ro(r,e,t=0){return t?e.split("").reduce((i,s)=>Ep(s)?i:i+r.measureText(s).width+t,0):r.measureText(e).width}function k1(r,e,t,i,s){let n=/ |\u200B/g,o=e.split(/\r?\n/g),a=[],l=[];for(let u=0;u<o.length;u++){let c=[],g="",m=t-s,y=o[u].split(n),b=o[u].match(n)||[];for(let C=0;C<y.length;C++){let A=b[C-1]||"",T=y[C],R=ro(r,T,i),P=R+ro(r,A,i);C===0||P>m?(C>0&&(c.push(g),g=""),g+=T,m=t-R-(C===0?s:0)):(m-=P,g+=A+T)}c.push(g),g="",a=a.concat(c),u<o.length-1&&l.push(a.length)}return{l:a,n:l}}var io=class{constructor(e,t,i){this._stage=e,this._canvas=t,this._context=this._canvas.getContext("2d"),this._settings=i}getPrecision(){return this._settings.precision}setFontProperties(){this._context.font=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace")),this._context.textBaseline=this._settings.textBaseline}_load(){if(K.isWeb&&document.fonts){let e=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace"));try{if(!document.fonts.check(e,this._settings.text))return document.fonts.load(e,this._settings.text).catch(t=>{console.warn("[Lightning] Font load error",t,e)}).then(()=>{document.fonts.check(e,this._settings.text)||console.warn("[Lightning] Font not found",e)})}catch{console.warn("[Lightning] Can't check font loading for "+e)}}}draw(){let e=this._load();return e?e.then(()=>K.isSpark?this._stage.platform.drawText(this):this._draw()):K.isSpark?this._stage.platform.drawText(this):this._draw()}_calculateRenderInfo(){let e={},t=this.getPrecision(),i=this._settings.paddingLeft*t,s=this._settings.paddingRight*t,n=this._settings.fontSize*t,o=this._settings.offsetY===null?null:this._settings.offsetY*t,a=this._settings.lineHeight*t,l=this._settings.w*t,u=this._settings.h*t,c=this._settings.wordWrapWidth*t,g=this._settings.cutSx*t,m=this._settings.cutEx*t,y=this._settings.cutSy*t,b=this._settings.cutEy*t,C=(this._settings.letterSpacing||0)*t,A=this._settings.textIndent*t;this.setFontProperties();let T=l||this._stage.getOption("w"),R=T-i;if(R<10&&(T+=10-R,R=10),c||(c=R),this._settings.textOverflow&&!this._settings.wordWrap){let F;switch(this._settings.textOverflow){case"clip":F="";break;case"ellipsis":F=this._settings.maxLinesSuffix;break;default:F=this._settings.textOverflow}this._settings.text=this.wrapWord(this._settings.text,c-A,F)}let P;if(this._settings.wordWrap)P=this.wrapText(this._settings.text,c,C,A);else{P={l:this._settings.text.split(/(?:\r\n|\r|\n)/),n:[]};let F=P.l.length;for(let U=0;U<F-1;U++)P.n.push(U)}let E=P.l;if(this._settings.maxLines&&E.length>this._settings.maxLines){let F=E.slice(0,this._settings.maxLines),U=null;if(this._settings.maxLinesSuffix){let D=this._settings.maxLinesSuffix?this.measureText(this._settings.maxLinesSuffix):0,N=this.wrapText(F[F.length-1],c-D,C,A);F[F.length-1]=N.l[0]+this._settings.maxLinesSuffix,U=[N.l.length>1?N.l[1]:""]}else U=[""];let q,ee=E.length,te=0,$=P.n.length;for(q=this._settings.maxLines;q<ee;q++)U[te]+=(U[te]?" ":"")+E[q],q+1<$&&P.n[q+1]&&te++;e.remainingText=U.join(` +(()=>{var XC=Object.create;var qn=Object.defineProperty;var KC=Object.getOwnPropertyDescriptor;var JC=Object.getOwnPropertyNames;var QC=Object.getPrototypeOf,ZC=Object.prototype.hasOwnProperty;var Ft=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Vt=(r,e)=>()=>(r&&(e=r(r=0)),e);var H=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),rr=(r,e)=>{for(var t in e)qn(r,t,{get:e[t],enumerable:!0})},cp=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of JC(e))!ZC.call(r,s)&&s!==t&&qn(r,s,{get:()=>e[s],enumerable:!(i=KC(e,s))||i.enumerable});return r};var ye=(r,e,t)=>(t=r!=null?XC(QC(r)):{},cp(e||!r||!r.__esModule?qn(t,"default",{value:r,enumerable:!0}):t,r)),e1=r=>cp(qn({},"__esModule",{value:!0}),r);var h=Vt(()=>{});var d=Vt(()=>{});var p=Vt(()=>{});var Rl={};rr(Rl,{Children:()=>Tl,Component:()=>ir,Fragment:()=>s1,Profiler:()=>n1,PureComponent:()=>o1,StrictMode:()=>a1,Suspense:()=>Cl,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>l1,cloneElement:()=>Ue,createContext:()=>fi,createElement:()=>yp,createFactory:()=>u1,createRef:()=>c1,default:()=>z,forwardRef:()=>h1,isValidElement:()=>d1,lazy:()=>Al,memo:()=>hs,startTransition:()=>p1,unstable_act:()=>f1,useCallback:()=>ut,useContext:()=>El,useDebugValue:()=>g1,useDeferredValue:()=>m1,useEffect:()=>He,useId:()=>_1,useImperativeHandle:()=>y1,useInsertionEffect:()=>x1,useLayoutEffect:()=>Il,useMemo:()=>vr,useReducer:()=>b1,useRef:()=>Bt,useState:()=>Fe,useSyncExternalStore:()=>v1,useTransition:()=>S1,version:()=>w1});var z,Tl,ir,s1,n1,o1,a1,Cl,l1,Ue,fi,yp,u1,c1,h1,d1,Al,hs,p1,f1,ut,El,g1,m1,He,_1,y1,x1,Il,vr,b1,Bt,Fe,v1,S1,w1,Ge=Vt(()=>{h();d();p();z=__REACT__,{Children:Tl,Component:ir,Fragment:s1,Profiler:n1,PureComponent:o1,StrictMode:a1,Suspense:Cl,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:l1,cloneElement:Ue,createContext:fi,createElement:yp,createFactory:u1,createRef:c1,forwardRef:h1,isValidElement:d1,lazy:Al,memo:hs,startTransition:p1,unstable_act:f1,useCallback:ut,useContext:El,useDebugValue:g1,useDeferredValue:m1,useEffect:He,useId:_1,useImperativeHandle:y1,useInsertionEffect:x1,useLayoutEffect:Il,useMemo:vr,useReducer:b1,useRef:Bt,useState:Fe,useSyncExternalStore:v1,useTransition:S1,version:w1}=__REACT__});var Tp=H(Jn=>{"use strict";h();d();p();var T1=(Ge(),e1(Rl)),C1=Symbol.for("react.element"),A1=Symbol.for("react.fragment"),E1=Object.prototype.hasOwnProperty,I1=T1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,R1={key:!0,ref:!0,__self:!0,__source:!0};function wp(r,e,t){var i,s={},n=null,o=null;t!==void 0&&(n=""+t),e.key!==void 0&&(n=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)E1.call(e,i)&&!R1.hasOwnProperty(i)&&(s[i]=e[i]);if(r&&r.defaultProps)for(i in e=r.defaultProps,e)s[i]===void 0&&(s[i]=e[i]);return{$$typeof:C1,type:r,key:n,ref:o,props:s,_owner:I1.current}}Jn.Fragment=A1;Jn.jsx=wp;Jn.jsxs=wp});var Ce=H((PG,Cp)=>{"use strict";h();d();p();Cp.exports=Tp()});var Cf=H((ufe,Tf)=>{h();d();p();function oc(r,e,t){var i,s,n,o,a;e==null&&(e=100);function l(){var c=Date.now()-o;c<e&&c>=0?i=setTimeout(l,e-c):(i=null,t||(a=r.apply(n,s),n=s=null))}var u=function(){n=this,s=arguments,o=Date.now();var c=t&&!i;return i||(i=setTimeout(l,e)),c&&(a=r.apply(n,s),n=s=null),a};return u.clear=function(){i&&(clearTimeout(i),i=null)},u.flush=function(){i&&(a=r.apply(n,s),n=s=null,clearTimeout(i),i=null)},u}oc.debounce=oc;Tf.exports=oc});var VA,Rf,GA,Pf,YA,XA,Xr,KA,kf,Kt,lc,uc=Vt(()=>{h();d();p();VA=Object.create,Rf=Object.defineProperty,GA=Object.getOwnPropertyDescriptor,Pf=Object.getOwnPropertyNames,YA=Object.getPrototypeOf,XA=Object.prototype.hasOwnProperty,Xr=(r,e)=>function(){return e||(0,r[Pf(r)[0]])((e={exports:{}}).exports,e),e.exports},KA=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Pf(e))!XA.call(r,s)&&s!==t&&Rf(r,s,{get:()=>e[s],enumerable:!(i=GA(e,s))||i.enumerable});return r},kf=(r,e,t)=>(t=r!=null?VA(YA(r)):{},KA(e||!r||!r.__esModule?Rf(t,"default",{value:r,enumerable:!0}):t,r)),Kt=r=>`control-${r.replace(/\s+/g,"-")}`,lc=r=>`set-${r.replace(/\s+/g,"-")}`});var Hf={};rr(Hf,{A:()=>QA,ActionBar:()=>cc,AddonPanel:()=>ZA,Badge:()=>eE,Bar:()=>tE,Blockquote:()=>rE,Button:()=>Zo,ClipboardCode:()=>iE,Code:()=>Of,DL:()=>sE,Div:()=>nE,DocumentWrapper:()=>oE,EmptyTabContent:()=>Lf,ErrorFormatter:()=>Df,FlexBar:()=>hc,Form:()=>Rr,H1:()=>aE,H2:()=>dc,H3:()=>Ff,H4:()=>lE,H5:()=>uE,H6:()=>cE,HR:()=>hE,IconButton:()=>Kr,IconButtonSkeleton:()=>dE,Icons:()=>pE,Img:()=>fE,LI:()=>gE,Link:()=>Bf,ListItem:()=>mE,Loader:()=>Mf,Modal:()=>_E,OL:()=>yE,P:()=>xE,Placeholder:()=>bE,Pre:()=>vE,ResetWrapper:()=>Nf,ScrollArea:()=>SE,Separator:()=>wE,Spaced:()=>TE,Span:()=>CE,StorybookIcon:()=>AE,StorybookLogo:()=>EE,Symbols:()=>IE,SyntaxHighlighter:()=>pc,TT:()=>RE,TabBar:()=>PE,TabButton:()=>kE,TabWrapper:()=>OE,Table:()=>LE,Tabs:()=>DE,TabsState:()=>zf,TooltipLinkList:()=>FE,TooltipMessage:()=>BE,TooltipNote:()=>fc,UL:()=>ME,WithTooltip:()=>ea,WithTooltipPure:()=>jf,Zoom:()=>gc,codeCommon:()=>Ai,components:()=>mc,createCopyToClipboardFunction:()=>NE,default:()=>JA,getStoryHref:()=>Uf,icons:()=>zE,interleaveSeparators:()=>jE,nameSpaceClassNames:()=>_c,resetComponents:()=>UE,withReset:()=>Ei});var JA,QA,cc,ZA,eE,tE,rE,Zo,iE,Of,sE,nE,oE,Lf,Df,hc,Rr,aE,dc,Ff,lE,uE,cE,hE,Kr,dE,pE,fE,gE,Bf,mE,Mf,_E,yE,xE,bE,vE,Nf,SE,wE,TE,CE,AE,EE,IE,pc,RE,PE,kE,OE,LE,DE,zf,FE,BE,fc,ME,ea,jf,gc,Ai,mc,NE,Uf,zE,jE,_c,UE,Ei,ta=Vt(()=>{h();d();p();JA=__STORYBOOK_COMPONENTS__,{A:QA,ActionBar:cc,AddonPanel:ZA,Badge:eE,Bar:tE,Blockquote:rE,Button:Zo,ClipboardCode:iE,Code:Of,DL:sE,Div:nE,DocumentWrapper:oE,EmptyTabContent:Lf,ErrorFormatter:Df,FlexBar:hc,Form:Rr,H1:aE,H2:dc,H3:Ff,H4:lE,H5:uE,H6:cE,HR:hE,IconButton:Kr,IconButtonSkeleton:dE,Icons:pE,Img:fE,LI:gE,Link:Bf,ListItem:mE,Loader:Mf,Modal:_E,OL:yE,P:xE,Placeholder:bE,Pre:vE,ResetWrapper:Nf,ScrollArea:SE,Separator:wE,Spaced:TE,Span:CE,StorybookIcon:AE,StorybookLogo:EE,Symbols:IE,SyntaxHighlighter:pc,TT:RE,TabBar:PE,TabButton:kE,TabWrapper:OE,Table:LE,Tabs:DE,TabsState:zf,TooltipLinkList:FE,TooltipMessage:BE,TooltipNote:fc,UL:ME,WithTooltip:ea,WithTooltipPure:jf,Zoom:gc,codeCommon:Ai,components:mc,createCopyToClipboardFunction:NE,getStoryHref:Uf,icons:zE,interleaveSeparators:jE,nameSpaceClassNames:_c,resetComponents:UE,withReset:Ei}=__STORYBOOK_COMPONENTS__});var ige,sge,nge,oge,Wf,age,lge,qf,uge,cge,hge,dge,pge,fge,HE,$f,gge,mge,_ge,yge,J,yc,xge,Vf,bge,xc=Vt(()=>{h();d();p();ige=__STORYBOOK_THEMING__,{CacheProvider:sge,ClassNames:nge,Global:oge,ThemeProvider:Wf,background:age,color:lge,convert:qf,create:uge,createCache:cge,createGlobal:hge,createReset:dge,css:pge,darken:fge,ensure:HE,ignoreSsrWarning:$f,isPropValid:gge,jsx:mge,keyframes:_ge,lighten:yge,styled:J,themes:yc,typography:xge,useTheme:Vf,withTheme:bge}=__STORYBOOK_THEMING__});var Hme,Wme,qme,ig,$me,Vme,Gme,Yme,Xme,Kme,Jme,Qme,Zme,e_e,t_e,r_e,i_e,s_e,n_e,o_e,a_e,l_e,u_e,c_e,h_e,d_e,p_e,f_e,g_e,m_e,__e,y_e,x_e,b_e,v_e,S_e,w_e,T_e,C_e,A_e,E_e,I_e,R_e,P_e,k_e,O_e,L_e,D_e,sg,F_e,ng,Ac,B_e,M_e,og,N_e,z_e,j_e,U_e,H_e,W_e,q_e,$_e,V_e,G_e,Y_e,X_e,K_e,J_e,Q_e,Z_e,eye,tye,rye,iye,sye,nye,oye,aye,lye,uye,cye,hye,dye,pye,fye,gye,mye,EI,_ye,yye,xye,bye,vye,Sye,wye,II,RI,Tye,Cye,Aye,Eye,Iye,Rye,Pye,kye,Oye,Lye,Dye,Fye,Bye,Mye,Nye,zye,jye,Uye,Hye,Wye,qye,$ye,Vye,Gye,Yye,Xye,Kye,Jye,Qye,Zye,exe,txe,rxe,ag,ixe,sxe,nxe,oxe,axe,lxe,uxe,lg,cxe,hxe,dxe,pxe,fxe,gxe,mxe,_xe,yxe,xxe,bxe,vxe,Sxe,wxe,Txe,Cxe,Axe,Exe,Ixe,Rxe,Pxe,kxe,Oxe,Lxe,Dxe,Fxe,Bxe,Mxe,Nxe,zxe,jxe,Uxe,Hxe,Wxe,qxe,$xe,Vxe,Gxe,Yxe,Xxe,Kxe,Jxe,Qxe,Zxe,ebe,tbe,rbe,ibe,sbe,nbe,obe,abe,lbe,ube,cbe,hbe,dbe,pbe,fbe,gbe,mbe,ug,_be,ybe,xbe,bbe,vbe,Sbe,wbe,Tbe,Cbe,Abe,Ebe,Ibe,Rbe,PI,Pbe,kbe,Obe,Lbe,Dbe,Fbe,Bbe,Mbe,Nbe,zbe,kI,jbe,Ube,Hbe,Wbe,qbe,$be,cg,hg,dg,Vbe,Ec=Vt(()=>{h();d();p();Hme=__STORYBOOK_ICONS__,{AccessibilityAltIcon:Wme,AccessibilityIcon:qme,AddIcon:ig,AdminIcon:$me,AlertAltIcon:Vme,AlertIcon:Gme,AlignLeftIcon:Yme,AlignRightIcon:Xme,AppleIcon:Kme,ArrowBottomLeftIcon:Jme,ArrowBottomRightIcon:Qme,ArrowDownIcon:Zme,ArrowLeftIcon:e_e,ArrowRightIcon:t_e,ArrowSolidDownIcon:r_e,ArrowSolidLeftIcon:i_e,ArrowSolidRightIcon:s_e,ArrowSolidUpIcon:n_e,ArrowTopLeftIcon:o_e,ArrowTopRightIcon:a_e,ArrowUpIcon:l_e,AzureDevOpsIcon:u_e,BackIcon:c_e,BasketIcon:h_e,BatchAcceptIcon:d_e,BatchDenyIcon:p_e,BeakerIcon:f_e,BellIcon:g_e,BitbucketIcon:m_e,BoldIcon:__e,BookIcon:y_e,BookmarkHollowIcon:x_e,BookmarkIcon:b_e,BottomBarIcon:v_e,BottomBarToggleIcon:S_e,BoxIcon:w_e,BranchIcon:T_e,BrowserIcon:C_e,ButtonIcon:A_e,CPUIcon:E_e,CalendarIcon:I_e,CameraIcon:R_e,CategoryIcon:P_e,CertificateIcon:k_e,ChangedIcon:O_e,ChatIcon:L_e,CheckIcon:D_e,ChevronDownIcon:sg,ChevronLeftIcon:F_e,ChevronRightIcon:ng,ChevronSmallDownIcon:Ac,ChevronSmallLeftIcon:B_e,ChevronSmallRightIcon:M_e,ChevronSmallUpIcon:og,ChevronUpIcon:N_e,ChromaticIcon:z_e,ChromeIcon:j_e,CircleHollowIcon:U_e,CircleIcon:H_e,ClearIcon:W_e,CloseAltIcon:q_e,CloseIcon:$_e,CloudHollowIcon:V_e,CloudIcon:G_e,CogIcon:Y_e,CollapseIcon:X_e,CommandIcon:K_e,CommentAddIcon:J_e,CommentIcon:Q_e,CommentsIcon:Z_e,CommitIcon:eye,CompassIcon:tye,ComponentDrivenIcon:rye,ComponentIcon:iye,ContrastIcon:sye,ControlsIcon:nye,CopyIcon:oye,CreditIcon:aye,CrossIcon:lye,DashboardIcon:uye,DatabaseIcon:cye,DeleteIcon:hye,DiamondIcon:dye,DirectionIcon:pye,DiscordIcon:fye,DocChartIcon:gye,DocListIcon:mye,DocumentIcon:EI,DownloadIcon:_ye,DragIcon:yye,EditIcon:xye,EllipsisIcon:bye,EmailIcon:vye,ExpandAltIcon:Sye,ExpandIcon:wye,EyeCloseIcon:II,EyeIcon:RI,FaceHappyIcon:Tye,FaceNeutralIcon:Cye,FaceSadIcon:Aye,FacebookIcon:Eye,FailedIcon:Iye,FastForwardIcon:Rye,FigmaIcon:Pye,FilterIcon:kye,FlagIcon:Oye,FolderIcon:Lye,FormIcon:Dye,GDriveIcon:Fye,GithubIcon:Bye,GitlabIcon:Mye,GlobeIcon:Nye,GoogleIcon:zye,GraphBarIcon:jye,GraphLineIcon:Uye,GraphqlIcon:Hye,GridAltIcon:Wye,GridIcon:qye,GrowIcon:$ye,HeartHollowIcon:Vye,HeartIcon:Gye,HomeIcon:Yye,HourglassIcon:Xye,InfoIcon:Kye,ItalicIcon:Jye,JumpToIcon:Qye,KeyIcon:Zye,LightningIcon:exe,LightningOffIcon:txe,LinkBrokenIcon:rxe,LinkIcon:ag,LinkedinIcon:ixe,LinuxIcon:sxe,ListOrderedIcon:nxe,ListUnorderedIcon:oxe,LocationIcon:axe,LockIcon:lxe,MarkdownIcon:uxe,MarkupIcon:lg,MediumIcon:cxe,MemoryIcon:hxe,MenuIcon:dxe,MergeIcon:pxe,MirrorIcon:fxe,MobileIcon:gxe,MoonIcon:mxe,NutIcon:_xe,OutboxIcon:yxe,OutlineIcon:xxe,PaintBrushIcon:bxe,PaperClipIcon:vxe,ParagraphIcon:Sxe,PassedIcon:wxe,PhoneIcon:Txe,PhotoDragIcon:Cxe,PhotoIcon:Axe,PinAltIcon:Exe,PinIcon:Ixe,PlayBackIcon:Rxe,PlayIcon:Pxe,PlayNextIcon:kxe,PlusIcon:Oxe,PointerDefaultIcon:Lxe,PointerHandIcon:Dxe,PowerIcon:Fxe,PrintIcon:Bxe,ProceedIcon:Mxe,ProfileIcon:Nxe,PullRequestIcon:zxe,QuestionIcon:jxe,RSSIcon:Uxe,RedirectIcon:Hxe,ReduxIcon:Wxe,RefreshIcon:qxe,ReplyIcon:$xe,RepoIcon:Vxe,RequestChangeIcon:Gxe,RewindIcon:Yxe,RulerIcon:Xxe,SearchIcon:Kxe,ShareAltIcon:Jxe,ShareIcon:Qxe,ShieldIcon:Zxe,SideBySideIcon:ebe,SidebarAltIcon:tbe,SidebarAltToggleIcon:rbe,SidebarIcon:ibe,SidebarToggleIcon:sbe,SpeakerIcon:nbe,StackedIcon:obe,StarHollowIcon:abe,StarIcon:lbe,StatusFailIcon:ube,StatusPassIcon:cbe,StatusWarnIcon:hbe,StickerIcon:dbe,StopAltIcon:pbe,StopIcon:fbe,StorybookIcon:gbe,StructureIcon:mbe,SubtractIcon:ug,SunIcon:_be,SupportIcon:ybe,SwitchAltIcon:xbe,SyncIcon:bbe,TabletIcon:vbe,ThumbsUpIcon:Sbe,TimeIcon:wbe,TimerIcon:Tbe,TransferIcon:Cbe,TrashIcon:Abe,TwitterIcon:Ebe,TypeIcon:Ibe,UbuntuIcon:Rbe,UndoIcon:PI,UnfoldIcon:Pbe,UnlockIcon:kbe,UnpinIcon:Obe,UploadIcon:Lbe,UserAddIcon:Dbe,UserAltIcon:Fbe,UserIcon:Bbe,UsersIcon:Mbe,VSCodeIcon:Nbe,VerifiedIcon:zbe,VideoIcon:kI,WandIcon:jbe,WatchIcon:Ube,WindowsIcon:Hbe,WrenchIcon:Wbe,XIcon:qbe,YoutubeIcon:$be,ZoomIcon:cg,ZoomOutIcon:hg,ZoomResetIcon:dg,iconList:Vbe}=__STORYBOOK_ICONS__});var Pc=H((a0e,vg)=>{h();d();p();function $I(r,e){for(var t=-1,i=r==null?0:r.length,s=Array(i);++t<i;)s[t]=e(r[t],t,r);return s}vg.exports=$I});var wg=H((h0e,Sg)=>{h();d();p();function VI(){this.__data__=[],this.size=0}Sg.exports=VI});var aa=H((g0e,Tg)=>{h();d();p();function GI(r,e){return r===e||r!==r&&e!==e}Tg.exports=GI});var Xs=H((x0e,Cg)=>{h();d();p();var YI=aa();function XI(r,e){for(var t=r.length;t--;)if(YI(r[t][0],e))return t;return-1}Cg.exports=XI});var Eg=H((w0e,Ag)=>{h();d();p();var KI=Xs(),JI=Array.prototype,QI=JI.splice;function ZI(r){var e=this.__data__,t=KI(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():QI.call(e,t,1),--this.size,!0}Ag.exports=ZI});var Rg=H((E0e,Ig)=>{h();d();p();var eR=Xs();function tR(r){var e=this.__data__,t=eR(e,r);return t<0?void 0:e[t][1]}Ig.exports=tR});var kg=H((k0e,Pg)=>{h();d();p();var rR=Xs();function iR(r){return rR(this.__data__,r)>-1}Pg.exports=iR});var Lg=H((F0e,Og)=>{h();d();p();var sR=Xs();function nR(r,e){var t=this.__data__,i=sR(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}Og.exports=nR});var Ks=H((z0e,Dg)=>{h();d();p();var oR=wg(),aR=Eg(),lR=Rg(),uR=kg(),cR=Lg();function Pi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Pi.prototype.clear=oR;Pi.prototype.delete=aR;Pi.prototype.get=lR;Pi.prototype.has=uR;Pi.prototype.set=cR;Dg.exports=Pi});var Bg=H((W0e,Fg)=>{h();d();p();var hR=Ks();function dR(){this.__data__=new hR,this.size=0}Fg.exports=dR});var Ng=H((G0e,Mg)=>{h();d();p();function pR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}Mg.exports=pR});var jg=H((J0e,zg)=>{h();d();p();function fR(r){return this.__data__.get(r)}zg.exports=fR});var Hg=H((tve,Ug)=>{h();d();p();function gR(r){return this.__data__.has(r)}Ug.exports=gR});var kc=H((nve,Wg)=>{h();d();p();var mR=typeof window=="object"&&window&&window.Object===Object&&window;Wg.exports=mR});var Mt=H((uve,qg)=>{h();d();p();var _R=kc(),yR=typeof self=="object"&&self&&self.Object===Object&&self,xR=_R||yR||Function("return this")();qg.exports=xR});var ki=H((pve,$g)=>{h();d();p();var bR=Mt(),vR=bR.Symbol;$g.exports=vR});var Xg=H((_ve,Yg)=>{h();d();p();var Vg=ki(),Gg=Object.prototype,SR=Gg.hasOwnProperty,wR=Gg.toString,Js=Vg?Vg.toStringTag:void 0;function TR(r){var e=SR.call(r,Js),t=r[Js];try{r[Js]=void 0;var i=!0}catch{}var s=wR.call(r);return i&&(e?r[Js]=t:delete r[Js]),s}Yg.exports=TR});var Jg=H((vve,Kg)=>{h();d();p();var CR=Object.prototype,AR=CR.toString;function ER(r){return AR.call(r)}Kg.exports=ER});var Oi=H((Cve,em)=>{h();d();p();var Qg=ki(),IR=Xg(),RR=Jg(),PR="[object Null]",kR="[object Undefined]",Zg=Qg?Qg.toStringTag:void 0;function OR(r){return r==null?r===void 0?kR:PR:Zg&&Zg in Object(r)?IR(r):RR(r)}em.exports=OR});var Jt=H((Rve,tm)=>{h();d();p();function LR(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}tm.exports=LR});var Oc=H((Lve,rm)=>{h();d();p();var DR=Oi(),FR=Jt(),BR="[object AsyncFunction]",MR="[object Function]",NR="[object GeneratorFunction]",zR="[object Proxy]";function jR(r){if(!FR(r))return!1;var e=DR(r);return e==MR||e==NR||e==BR||e==zR}rm.exports=jR});var sm=H((Mve,im)=>{h();d();p();var UR=Mt(),HR=UR["__core-js_shared__"];im.exports=HR});var am=H((Uve,om)=>{h();d();p();var Lc=sm(),nm=function(){var r=/[^.]+$/.exec(Lc&&Lc.keys&&Lc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function WR(r){return!!nm&&nm in r}om.exports=WR});var Dc=H(($ve,lm)=>{h();d();p();var qR=Function.prototype,$R=qR.toString;function VR(r){if(r!=null){try{return $R.call(r)}catch{}try{return r+""}catch{}}return""}lm.exports=VR});var cm=H((Xve,um)=>{h();d();p();var GR=Oc(),YR=am(),XR=Jt(),KR=Dc(),JR=/[\\^$.*+?()[\]{}|]/g,QR=/^\[object .+?Constructor\]$/,ZR=Function.prototype,eP=Object.prototype,tP=ZR.toString,rP=eP.hasOwnProperty,iP=RegExp("^"+tP.call(rP).replace(JR,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sP(r){if(!XR(r)||YR(r))return!1;var e=GR(r)?iP:QR;return e.test(KR(r))}um.exports=sP});var dm=H((Zve,hm)=>{h();d();p();function nP(r,e){return r?.[e]}hm.exports=nP});var Dr=H((iSe,pm)=>{h();d();p();var oP=cm(),aP=dm();function lP(r,e){var t=aP(r,e);return oP(t)?t:void 0}pm.exports=lP});var la=H((aSe,fm)=>{h();d();p();var uP=Dr(),cP=Mt(),hP=uP(cP,"Map");fm.exports=hP});var Qs=H((hSe,gm)=>{h();d();p();var dP=Dr(),pP=dP(Object,"create");gm.exports=pP});var ym=H((gSe,_m)=>{h();d();p();var mm=Qs();function fP(){this.__data__=mm?mm(null):{},this.size=0}_m.exports=fP});var bm=H((xSe,xm)=>{h();d();p();function gP(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}xm.exports=gP});var Sm=H((wSe,vm)=>{h();d();p();var mP=Qs(),_P="__lodash_hash_undefined__",yP=Object.prototype,xP=yP.hasOwnProperty;function bP(r){var e=this.__data__;if(mP){var t=e[r];return t===_P?void 0:t}return xP.call(e,r)?e[r]:void 0}vm.exports=bP});var Tm=H((ESe,wm)=>{h();d();p();var vP=Qs(),SP=Object.prototype,wP=SP.hasOwnProperty;function TP(r){var e=this.__data__;return vP?e[r]!==void 0:wP.call(e,r)}wm.exports=TP});var Am=H((kSe,Cm)=>{h();d();p();var CP=Qs(),AP="__lodash_hash_undefined__";function EP(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=CP&&e===void 0?AP:e,this}Cm.exports=EP});var Im=H((FSe,Em)=>{h();d();p();var IP=ym(),RP=bm(),PP=Sm(),kP=Tm(),OP=Am();function Li(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Li.prototype.clear=IP;Li.prototype.delete=RP;Li.prototype.get=PP;Li.prototype.has=kP;Li.prototype.set=OP;Em.exports=Li});var km=H((zSe,Pm)=>{h();d();p();var Rm=Im(),LP=Ks(),DP=la();function FP(){this.size=0,this.__data__={hash:new Rm,map:new(DP||LP),string:new Rm}}Pm.exports=FP});var Lm=H((WSe,Om)=>{h();d();p();function BP(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}Om.exports=BP});var Zs=H((GSe,Dm)=>{h();d();p();var MP=Lm();function NP(r,e){var t=r.__data__;return MP(e)?t[typeof e=="string"?"string":"hash"]:t.map}Dm.exports=NP});var Bm=H((JSe,Fm)=>{h();d();p();var zP=Zs();function jP(r){var e=zP(this,r).delete(r);return this.size-=e?1:0,e}Fm.exports=jP});var Nm=H((twe,Mm)=>{h();d();p();var UP=Zs();function HP(r){return UP(this,r).get(r)}Mm.exports=HP});var jm=H((nwe,zm)=>{h();d();p();var WP=Zs();function qP(r){return WP(this,r).has(r)}zm.exports=qP});var Hm=H((uwe,Um)=>{h();d();p();var $P=Zs();function VP(r,e){var t=$P(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}Um.exports=VP});var ua=H((pwe,Wm)=>{h();d();p();var GP=km(),YP=Bm(),XP=Nm(),KP=jm(),JP=Hm();function Di(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Di.prototype.clear=GP;Di.prototype.delete=YP;Di.prototype.get=XP;Di.prototype.has=KP;Di.prototype.set=JP;Wm.exports=Di});var $m=H((_we,qm)=>{h();d();p();var QP=Ks(),ZP=la(),ek=ua(),tk=200;function rk(r,e){var t=this.__data__;if(t instanceof QP){var i=t.__data__;if(!ZP||i.length<tk-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new ek(i)}return t.set(r,e),this.size=t.size,this}qm.exports=rk});var ca=H((vwe,Vm)=>{h();d();p();var ik=Ks(),sk=Bg(),nk=Ng(),ok=jg(),ak=Hg(),lk=$m();function Fi(r){var e=this.__data__=new ik(r);this.size=e.size}Fi.prototype.clear=sk;Fi.prototype.delete=nk;Fi.prototype.get=ok;Fi.prototype.has=ak;Fi.prototype.set=lk;Vm.exports=Fi});var Ym=H((Cwe,Gm)=>{h();d();p();var uk="__lodash_hash_undefined__";function ck(r){return this.__data__.set(r,uk),this}Gm.exports=ck});var Km=H((Rwe,Xm)=>{h();d();p();function hk(r){return this.__data__.has(r)}Xm.exports=hk});var Fc=H((Lwe,Jm)=>{h();d();p();var dk=ua(),pk=Ym(),fk=Km();function ha(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new dk;++e<t;)this.add(r[e])}ha.prototype.add=ha.prototype.push=pk;ha.prototype.has=fk;Jm.exports=ha});var Zm=H((Mwe,Qm)=>{h();d();p();function gk(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}Qm.exports=gk});var Bc=H((Uwe,e_)=>{h();d();p();function mk(r,e){return r.has(e)}e_.exports=mk});var Mc=H(($we,t_)=>{h();d();p();var _k=Fc(),yk=Zm(),xk=Bc(),bk=1,vk=2;function Sk(r,e,t,i,s,n){var o=t&bk,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var u=n.get(r),c=n.get(e);if(u&&c)return u==e&&c==r;var g=-1,m=!0,y=t&vk?new _k:void 0;for(n.set(r,e),n.set(e,r);++g<a;){var b=r[g],C=e[g];if(i)var A=o?i(C,b,g,e,r,n):i(b,C,g,r,e,n);if(A!==void 0){if(A)continue;m=!1;break}if(y){if(!yk(e,function(T,R){if(!xk(y,R)&&(b===T||s(b,T,t,i,n)))return y.push(R)})){m=!1;break}}else if(!(b===C||s(b,C,t,i,n))){m=!1;break}}return n.delete(r),n.delete(e),m}t_.exports=Sk});var Nc=H((Xwe,r_)=>{h();d();p();var wk=Mt(),Tk=wk.Uint8Array;r_.exports=Tk});var s_=H((Zwe,i_)=>{h();d();p();function Ck(r){var e=-1,t=Array(r.size);return r.forEach(function(i,s){t[++e]=[s,i]}),t}i_.exports=Ck});var da=H((iTe,n_)=>{h();d();p();function Ak(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}n_.exports=Ak});var c_=H((aTe,u_)=>{h();d();p();var o_=ki(),a_=Nc(),Ek=aa(),Ik=Mc(),Rk=s_(),Pk=da(),kk=1,Ok=2,Lk="[object Boolean]",Dk="[object Date]",Fk="[object Error]",Bk="[object Map]",Mk="[object Number]",Nk="[object RegExp]",zk="[object Set]",jk="[object String]",Uk="[object Symbol]",Hk="[object ArrayBuffer]",Wk="[object DataView]",l_=o_?o_.prototype:void 0,zc=l_?l_.valueOf:void 0;function qk(r,e,t,i,s,n,o){switch(t){case Wk:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Hk:return!(r.byteLength!=e.byteLength||!n(new a_(r),new a_(e)));case Lk:case Dk:case Mk:return Ek(+r,+e);case Fk:return r.name==e.name&&r.message==e.message;case Nk:case jk:return r==e+"";case Bk:var a=Rk;case zk:var l=i&kk;if(a||(a=Pk),r.size!=e.size&&!l)return!1;var u=o.get(r);if(u)return u==e;i|=Ok,o.set(r,e);var c=Ik(a(r),a(e),i,s,n,o);return o.delete(r),c;case Uk:if(zc)return zc.call(r)==zc.call(e)}return!1}u_.exports=qk});var jc=H((hTe,h_)=>{h();d();p();function $k(r,e){for(var t=-1,i=e.length,s=r.length;++t<i;)r[s+t]=e[t];return r}h_.exports=$k});var Qt=H((gTe,d_)=>{h();d();p();var Vk=Array.isArray;d_.exports=Vk});var Uc=H((xTe,p_)=>{h();d();p();var Gk=jc(),Yk=Qt();function Xk(r,e,t){var i=e(r);return Yk(r)?i:Gk(i,t(r))}p_.exports=Xk});var g_=H((wTe,f_)=>{h();d();p();function Kk(r,e){for(var t=-1,i=r==null?0:r.length,s=0,n=[];++t<i;){var o=r[t];e(o,t,r)&&(n[s++]=o)}return n}f_.exports=Kk});var Hc=H((ETe,m_)=>{h();d();p();function Jk(){return[]}m_.exports=Jk});var pa=H((kTe,y_)=>{h();d();p();var Qk=g_(),Zk=Hc(),eO=Object.prototype,tO=eO.propertyIsEnumerable,__=Object.getOwnPropertySymbols,rO=__?function(r){return r==null?[]:(r=Object(r),Qk(__(r),function(e){return tO.call(r,e)}))}:Zk;y_.exports=rO});var b_=H((FTe,x_)=>{h();d();p();function iO(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}x_.exports=iO});var Fr=H((zTe,v_)=>{h();d();p();function sO(r){return r!=null&&typeof r=="object"}v_.exports=sO});var w_=H((WTe,S_)=>{h();d();p();var nO=Oi(),oO=Fr(),aO="[object Arguments]";function lO(r){return oO(r)&&nO(r)==aO}S_.exports=lO});var Wc=H((GTe,A_)=>{h();d();p();var T_=w_(),uO=Fr(),C_=Object.prototype,cO=C_.hasOwnProperty,hO=C_.propertyIsEnumerable,dO=T_(function(){return arguments}())?T_:function(r){return uO(r)&&cO.call(r,"callee")&&!hO.call(r,"callee")};A_.exports=dO});var I_=H((JTe,E_)=>{h();d();p();function pO(){return!1}E_.exports=pO});var fa=H((en,Bi)=>{h();d();p();var fO=Mt(),gO=I_(),k_=typeof en=="object"&&en&&!en.nodeType&&en,R_=k_&&typeof Bi=="object"&&Bi&&!Bi.nodeType&&Bi,mO=R_&&R_.exports===k_,P_=mO?fO.Buffer:void 0,_O=P_?P_.isBuffer:void 0,yO=_O||gO;Bi.exports=yO});var ga=H((sCe,O_)=>{h();d();p();var xO=9007199254740991,bO=/^(?:0|[1-9]\d*)$/;function vO(r,e){var t=typeof r;return e=e??xO,!!e&&(t=="number"||t!="symbol"&&bO.test(r))&&r>-1&&r%1==0&&r<e}O_.exports=vO});var ma=H((lCe,L_)=>{h();d();p();var SO=9007199254740991;function wO(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=SO}L_.exports=wO});var F_=H((dCe,D_)=>{h();d();p();var TO=Oi(),CO=ma(),AO=Fr(),EO="[object Arguments]",IO="[object Array]",RO="[object Boolean]",PO="[object Date]",kO="[object Error]",OO="[object Function]",LO="[object Map]",DO="[object Number]",FO="[object Object]",BO="[object RegExp]",MO="[object Set]",NO="[object String]",zO="[object WeakMap]",jO="[object ArrayBuffer]",UO="[object DataView]",HO="[object Float32Array]",WO="[object Float64Array]",qO="[object Int8Array]",$O="[object Int16Array]",VO="[object Int32Array]",GO="[object Uint8Array]",YO="[object Uint8ClampedArray]",XO="[object Uint16Array]",KO="[object Uint32Array]",Be={};Be[HO]=Be[WO]=Be[qO]=Be[$O]=Be[VO]=Be[GO]=Be[YO]=Be[XO]=Be[KO]=!0;Be[EO]=Be[IO]=Be[jO]=Be[RO]=Be[UO]=Be[PO]=Be[kO]=Be[OO]=Be[LO]=Be[DO]=Be[FO]=Be[BO]=Be[MO]=Be[NO]=Be[zO]=!1;function JO(r){return AO(r)&&CO(r.length)&&!!Be[TO(r)]}D_.exports=JO});var _a=H((mCe,B_)=>{h();d();p();function QO(r){return function(e){return r(e)}}B_.exports=QO});var ya=H((tn,Mi)=>{h();d();p();var ZO=kc(),M_=typeof tn=="object"&&tn&&!tn.nodeType&&tn,rn=M_&&typeof Mi=="object"&&Mi&&!Mi.nodeType&&Mi,eL=rn&&rn.exports===M_,qc=eL&&ZO.process,tL=function(){try{var r=rn&&rn.require&&rn.require("util").types;return r||qc&&qc.binding&&qc.binding("util")}catch{}}();Mi.exports=tL});var $c=H((wCe,j_)=>{h();d();p();var rL=F_(),iL=_a(),N_=ya(),z_=N_&&N_.isTypedArray,sL=z_?iL(z_):rL;j_.exports=sL});var Vc=H((ECe,U_)=>{h();d();p();var nL=b_(),oL=Wc(),aL=Qt(),lL=fa(),uL=ga(),cL=$c(),hL=Object.prototype,dL=hL.hasOwnProperty;function pL(r,e){var t=aL(r),i=!t&&oL(r),s=!t&&!i&&lL(r),n=!t&&!i&&!s&&cL(r),o=t||i||s||n,a=o?nL(r.length,String):[],l=a.length;for(var u in r)(e||dL.call(r,u))&&!(o&&(u=="length"||s&&(u=="offset"||u=="parent")||n&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||uL(u,l)))&&a.push(u);return a}U_.exports=pL});var xa=H((kCe,H_)=>{h();d();p();var fL=Object.prototype;function gL(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||fL;return r===t}H_.exports=gL});var Gc=H((FCe,W_)=>{h();d();p();function mL(r,e){return function(t){return r(e(t))}}W_.exports=mL});var $_=H((zCe,q_)=>{h();d();p();var _L=Gc(),yL=_L(Object.keys,Object);q_.exports=yL});var G_=H((WCe,V_)=>{h();d();p();var xL=xa(),bL=$_(),vL=Object.prototype,SL=vL.hasOwnProperty;function wL(r){if(!xL(r))return bL(r);var e=[];for(var t in Object(r))SL.call(r,t)&&t!="constructor"&&e.push(t);return e}V_.exports=wL});var Yc=H((GCe,Y_)=>{h();d();p();var TL=Oc(),CL=ma();function AL(r){return r!=null&&CL(r.length)&&!TL(r)}Y_.exports=AL});var sn=H((JCe,X_)=>{h();d();p();var EL=Vc(),IL=G_(),RL=Yc();function PL(r){return RL(r)?EL(r):IL(r)}X_.exports=PL});var Xc=H((t1e,K_)=>{h();d();p();var kL=Uc(),OL=pa(),LL=sn();function DL(r){return kL(r,LL,OL)}K_.exports=DL});var Z_=H((n1e,Q_)=>{h();d();p();var J_=Xc(),FL=1,BL=Object.prototype,ML=BL.hasOwnProperty;function NL(r,e,t,i,s,n){var o=t&FL,a=J_(r),l=a.length,u=J_(e),c=u.length;if(l!=c&&!o)return!1;for(var g=l;g--;){var m=a[g];if(!(o?m in e:ML.call(e,m)))return!1}var y=n.get(r),b=n.get(e);if(y&&b)return y==e&&b==r;var C=!0;n.set(r,e),n.set(e,r);for(var A=o;++g<l;){m=a[g];var T=r[m],R=e[m];if(i)var P=o?i(R,T,m,e,r,n):i(T,R,m,r,e,n);if(!(P===void 0?T===R||s(T,R,t,i,n):P)){C=!1;break}A||(A=m=="constructor")}if(C&&!A){var E=r.constructor,k=e.constructor;E!=k&&"constructor"in r&&"constructor"in e&&!(typeof E=="function"&&E instanceof E&&typeof k=="function"&&k instanceof k)&&(C=!1)}return n.delete(r),n.delete(e),C}Q_.exports=NL});var ty=H((u1e,ey)=>{h();d();p();var zL=Dr(),jL=Mt(),UL=zL(jL,"DataView");ey.exports=UL});var iy=H((p1e,ry)=>{h();d();p();var HL=Dr(),WL=Mt(),qL=HL(WL,"Promise");ry.exports=qL});var Kc=H((_1e,sy)=>{h();d();p();var $L=Dr(),VL=Mt(),GL=$L(VL,"Set");sy.exports=GL});var oy=H((v1e,ny)=>{h();d();p();var YL=Dr(),XL=Mt(),KL=YL(XL,"WeakMap");ny.exports=KL});var nn=H((C1e,py)=>{h();d();p();var Jc=ty(),Qc=la(),Zc=iy(),eh=Kc(),th=oy(),dy=Oi(),Ni=Dc(),ay="[object Map]",JL="[object Object]",ly="[object Promise]",uy="[object Set]",cy="[object WeakMap]",hy="[object DataView]",QL=Ni(Jc),ZL=Ni(Qc),eD=Ni(Zc),tD=Ni(eh),rD=Ni(th),Qr=dy;(Jc&&Qr(new Jc(new ArrayBuffer(1)))!=hy||Qc&&Qr(new Qc)!=ay||Zc&&Qr(Zc.resolve())!=ly||eh&&Qr(new eh)!=uy||th&&Qr(new th)!=cy)&&(Qr=function(r){var e=dy(r),t=e==JL?r.constructor:void 0,i=t?Ni(t):"";if(i)switch(i){case QL:return hy;case ZL:return ay;case eD:return ly;case tD:return uy;case rD:return cy}return e});py.exports=Qr});var vy=H((R1e,by)=>{h();d();p();var rh=ca(),iD=Mc(),sD=c_(),nD=Z_(),fy=nn(),gy=Qt(),my=fa(),oD=$c(),aD=1,_y="[object Arguments]",yy="[object Array]",ba="[object Object]",lD=Object.prototype,xy=lD.hasOwnProperty;function uD(r,e,t,i,s,n){var o=gy(r),a=gy(e),l=o?yy:fy(r),u=a?yy:fy(e);l=l==_y?ba:l,u=u==_y?ba:u;var c=l==ba,g=u==ba,m=l==u;if(m&&my(r)){if(!my(e))return!1;o=!0,c=!1}if(m&&!c)return n||(n=new rh),o||oD(r)?iD(r,e,t,i,s,n):sD(r,e,l,t,i,s,n);if(!(t&aD)){var y=c&&xy.call(r,"__wrapped__"),b=g&&xy.call(e,"__wrapped__");if(y||b){var C=y?r.value():r,A=b?e.value():e;return n||(n=new rh),s(C,A,t,i,n)}}return m?(n||(n=new rh),nD(r,e,t,i,s,n)):!1}by.exports=uD});var ih=H((L1e,Ty)=>{h();d();p();var cD=vy(),Sy=Fr();function wy(r,e,t,i,s){return r===e?!0:r==null||e==null||!Sy(r)&&!Sy(e)?r!==r&&e!==e:cD(r,e,t,i,wy,s)}Ty.exports=wy});var Ay=H((M1e,Cy)=>{h();d();p();var hD=ca(),dD=ih(),pD=1,fD=2;function gD(r,e,t,i){var s=t.length,n=s,o=!i;if(r==null)return!n;for(r=Object(r);s--;){var a=t[s];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++s<n;){a=t[s];var l=a[0],u=r[l],c=a[1];if(o&&a[2]){if(u===void 0&&!(l in r))return!1}else{var g=new hD;if(i)var m=i(u,c,l,r,e,g);if(!(m===void 0?dD(c,u,pD|fD,i,g):m))return!1}}return!0}Cy.exports=gD});var sh=H((U1e,Ey)=>{h();d();p();var mD=Jt();function _D(r){return r===r&&!mD(r)}Ey.exports=_D});var Ry=H(($1e,Iy)=>{h();d();p();var yD=sh(),xD=sn();function bD(r){for(var e=xD(r),t=e.length;t--;){var i=e[t],s=r[i];e[t]=[i,s,yD(s)]}return e}Iy.exports=bD});var nh=H((X1e,Py)=>{h();d();p();function vD(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Py.exports=vD});var Oy=H((Z1e,ky)=>{h();d();p();var SD=Ay(),wD=Ry(),TD=nh();function CD(r){var e=wD(r);return e.length==1&&e[0][2]?TD(e[0][0],e[0][1]):function(t){return t===r||SD(t,r,e)}}ky.exports=CD});var on=H((i2e,Ly)=>{h();d();p();var AD=Oi(),ED=Fr(),ID="[object Symbol]";function RD(r){return typeof r=="symbol"||ED(r)&&AD(r)==ID}Ly.exports=RD});var va=H((a2e,Dy)=>{h();d();p();var PD=Qt(),kD=on(),OD=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LD=/^\w*$/;function DD(r,e){if(PD(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||kD(r)?!0:LD.test(r)||!OD.test(r)||e!=null&&r in Object(e)}Dy.exports=DD});var My=H((h2e,By)=>{h();d();p();var Fy=ua(),FD="Expected a function";function oh(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(FD);var t=function(){var i=arguments,s=e?e.apply(this,i):i[0],n=t.cache;if(n.has(s))return n.get(s);var o=r.apply(this,i);return t.cache=n.set(s,o)||n,o};return t.cache=new(oh.Cache||Fy),t}oh.Cache=Fy;By.exports=oh});var zy=H((g2e,Ny)=>{h();d();p();var BD=My(),MD=500;function ND(r){var e=BD(r,function(i){return t.size===MD&&t.clear(),i}),t=e.cache;return e}Ny.exports=ND});var Uy=H((x2e,jy)=>{h();d();p();var zD=zy(),jD=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,UD=/\\(\\)?/g,HD=zD(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(jD,function(t,i,s,n){e.push(s?n.replace(UD,"$1"):i||t)}),e});jy.exports=HD});var Gy=H((w2e,Vy)=>{h();d();p();var Hy=ki(),WD=Pc(),qD=Qt(),$D=on(),VD=1/0,Wy=Hy?Hy.prototype:void 0,qy=Wy?Wy.toString:void 0;function $y(r){if(typeof r=="string")return r;if(qD(r))return WD(r,$y)+"";if($D(r))return qy?qy.call(r):"";var e=r+"";return e=="0"&&1/r==-VD?"-0":e}Vy.exports=$y});var Xy=H((E2e,Yy)=>{h();d();p();var GD=Gy();function YD(r){return r==null?"":GD(r)}Yy.exports=YD});var an=H((k2e,Ky)=>{h();d();p();var XD=Qt(),KD=va(),JD=Uy(),QD=Xy();function ZD(r,e){return XD(r)?r:KD(r,e)?[r]:JD(QD(r))}Ky.exports=ZD});var zi=H((F2e,Jy)=>{h();d();p();var eF=on(),tF=1/0;function rF(r){if(typeof r=="string"||eF(r))return r;var e=r+"";return e=="0"&&1/r==-tF?"-0":e}Jy.exports=rF});var Sa=H((z2e,Qy)=>{h();d();p();var iF=an(),sF=zi();function nF(r,e){e=iF(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[sF(e[t++])];return t&&t==i?r:void 0}Qy.exports=nF});var ex=H((W2e,Zy)=>{h();d();p();var oF=Sa();function aF(r,e,t){var i=r==null?void 0:oF(r,e);return i===void 0?t:i}Zy.exports=aF});var rx=H((G2e,tx)=>{h();d();p();function lF(r,e){return r!=null&&e in Object(r)}tx.exports=lF});var sx=H((J2e,ix)=>{h();d();p();var uF=an(),cF=Wc(),hF=Qt(),dF=ga(),pF=ma(),fF=zi();function gF(r,e,t){e=uF(e,r);for(var i=-1,s=e.length,n=!1;++i<s;){var o=fF(e[i]);if(!(n=r!=null&&t(r,o)))break;r=r[o]}return n||++i!=s?n:(s=r==null?0:r.length,!!s&&pF(s)&&dF(o,s)&&(hF(r)||cF(r)))}ix.exports=gF});var ox=H((tAe,nx)=>{h();d();p();var mF=rx(),_F=sx();function yF(r,e){return r!=null&&_F(r,e,mF)}nx.exports=yF});var lx=H((nAe,ax)=>{h();d();p();var xF=ih(),bF=ex(),vF=ox(),SF=va(),wF=sh(),TF=nh(),CF=zi(),AF=1,EF=2;function IF(r,e){return SF(r)&&wF(e)?TF(CF(r),e):function(t){var i=bF(t,r);return i===void 0&&i===e?vF(t,r):xF(e,i,AF|EF)}}ax.exports=IF});var cx=H((uAe,ux)=>{h();d();p();function RF(r){return r}ux.exports=RF});var dx=H((pAe,hx)=>{h();d();p();function PF(r){return function(e){return e?.[r]}}hx.exports=PF});var fx=H((_Ae,px)=>{h();d();p();var kF=Sa();function OF(r){return function(e){return kF(e,r)}}px.exports=OF});var mx=H((vAe,gx)=>{h();d();p();var LF=dx(),DF=fx(),FF=va(),BF=zi();function MF(r){return FF(r)?LF(BF(r)):DF(r)}gx.exports=MF});var yx=H((CAe,_x)=>{h();d();p();var NF=Oy(),zF=lx(),jF=cx(),UF=Qt(),HF=mx();function WF(r){return typeof r=="function"?r:r==null?jF:typeof r=="object"?UF(r)?zF(r[0],r[1]):NF(r):HF(r)}_x.exports=WF});var bx=H((RAe,xx)=>{h();d();p();var qF=Dr(),$F=function(){try{var r=qF(Object,"defineProperty");return r({},"",{}),r}catch{}}();xx.exports=$F});var ah=H((LAe,Sx)=>{h();d();p();var vx=bx();function VF(r,e,t){e=="__proto__"&&vx?vx(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}Sx.exports=VF});var wa=H((MAe,wx)=>{h();d();p();var GF=ah(),YF=aa(),XF=Object.prototype,KF=XF.hasOwnProperty;function JF(r,e,t){var i=r[e];(!(KF.call(r,e)&&YF(i,t))||t===void 0&&!(e in r))&&GF(r,e,t)}wx.exports=JF});var Ax=H((UAe,Cx)=>{h();d();p();var QF=wa(),ZF=an(),eB=ga(),Tx=Jt(),tB=zi();function rB(r,e,t,i){if(!Tx(r))return r;e=ZF(e,r);for(var s=-1,n=e.length,o=n-1,a=r;a!=null&&++s<n;){var l=tB(e[s]),u=t;if(l==="__proto__"||l==="constructor"||l==="prototype")return r;if(s!=o){var c=a[l];u=i?i(c,l,a):void 0,u===void 0&&(u=Tx(c)?c:eB(e[s+1])?[]:{})}QF(a,l,u),a=a[l]}return r}Cx.exports=rB});var Ix=H(($Ae,Ex)=>{h();d();p();var iB=Sa(),sB=Ax(),nB=an();function oB(r,e,t){for(var i=-1,s=e.length,n={};++i<s;){var o=e[i],a=iB(r,o);t(a,o)&&sB(n,nB(o,r),a)}return n}Ex.exports=oB});var lh=H((XAe,Rx)=>{h();d();p();var aB=Gc(),lB=aB(Object.getPrototypeOf,Object);Rx.exports=lB});var uh=H((ZAe,Px)=>{h();d();p();var uB=jc(),cB=lh(),hB=pa(),dB=Hc(),pB=Object.getOwnPropertySymbols,fB=pB?function(r){for(var e=[];r;)uB(e,hB(r)),r=cB(r);return e}:dB;Px.exports=fB});var Ox=H((iEe,kx)=>{h();d();p();function gB(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}kx.exports=gB});var Dx=H((aEe,Lx)=>{h();d();p();var mB=Jt(),_B=xa(),yB=Ox(),xB=Object.prototype,bB=xB.hasOwnProperty;function vB(r){if(!mB(r))return yB(r);var e=_B(r),t=[];for(var i in r)i=="constructor"&&(e||!bB.call(r,i))||t.push(i);return t}Lx.exports=vB});var Ta=H((hEe,Fx)=>{h();d();p();var SB=Vc(),wB=Dx(),TB=Yc();function CB(r){return TB(r)?SB(r,!0):wB(r)}Fx.exports=CB});var ch=H((gEe,Bx)=>{h();d();p();var AB=Uc(),EB=uh(),IB=Ta();function RB(r){return AB(r,IB,EB)}Bx.exports=RB});var Nx=H((xEe,Mx)=>{h();d();p();var PB=Pc(),kB=yx(),OB=Ix(),LB=ch();function DB(r,e){if(r==null)return{};var t=PB(LB(r),function(i){return[i]});return e=kB(e),OB(r,t,function(i,s){return e(i,s[0])})}Mx.exports=DB});var Gx=H((BEe,Vx)=>{h();d();p();function KB(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Vx.exports=KB});var ln=H((jEe,Yx)=>{h();d();p();var JB=wa(),QB=ah();function ZB(r,e,t,i){var s=!t;t||(t={});for(var n=-1,o=e.length;++n<o;){var a=e[n],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),s?QB(t,a,l):JB(t,a,l)}return t}Yx.exports=ZB});var Kx=H((qEe,Xx)=>{h();d();p();var eM=ln(),tM=sn();function rM(r,e){return r&&eM(e,tM(e),r)}Xx.exports=rM});var Qx=H((YEe,Jx)=>{h();d();p();var iM=ln(),sM=Ta();function nM(r,e){return r&&iM(e,sM(e),r)}Jx.exports=nM});var ib=H((un,ji)=>{h();d();p();var oM=Mt(),rb=typeof un=="object"&&un&&!un.nodeType&&un,Zx=rb&&typeof ji=="object"&&ji&&!ji.nodeType&&ji,aM=Zx&&Zx.exports===rb,eb=aM?oM.Buffer:void 0,tb=eb?eb.allocUnsafe:void 0;function lM(r,e){if(e)return r.slice();var t=r.length,i=tb?tb(t):new r.constructor(t);return r.copy(i),i}ji.exports=lM});var nb=H((tIe,sb)=>{h();d();p();function uM(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t<i;)e[t]=r[t];return e}sb.exports=uM});var ab=H((nIe,ob)=>{h();d();p();var cM=ln(),hM=pa();function dM(r,e){return cM(r,hM(r),e)}ob.exports=dM});var ub=H((uIe,lb)=>{h();d();p();var pM=ln(),fM=uh();function gM(r,e){return pM(r,fM(r),e)}lb.exports=gM});var hb=H((pIe,cb)=>{h();d();p();var mM=Object.prototype,_M=mM.hasOwnProperty;function yM(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&_M.call(r,"index")&&(t.index=r.index,t.input=r.input),t}cb.exports=yM});var Aa=H((_Ie,pb)=>{h();d();p();var db=Nc();function xM(r){var e=new r.constructor(r.byteLength);return new db(e).set(new db(r)),e}pb.exports=xM});var gb=H((vIe,fb)=>{h();d();p();var bM=Aa();function vM(r,e){var t=e?bM(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}fb.exports=vM});var _b=H((CIe,mb)=>{h();d();p();var SM=/\w*$/;function wM(r){var e=new r.constructor(r.source,SM.exec(r));return e.lastIndex=r.lastIndex,e}mb.exports=wM});var Sb=H((RIe,vb)=>{h();d();p();var yb=ki(),xb=yb?yb.prototype:void 0,bb=xb?xb.valueOf:void 0;function TM(r){return bb?Object(bb.call(r)):{}}vb.exports=TM});var Tb=H((LIe,wb)=>{h();d();p();var CM=Aa();function AM(r,e){var t=e?CM(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}wb.exports=AM});var Ab=H((MIe,Cb)=>{h();d();p();var EM=Aa(),IM=gb(),RM=_b(),PM=Sb(),kM=Tb(),OM="[object Boolean]",LM="[object Date]",DM="[object Map]",FM="[object Number]",BM="[object RegExp]",MM="[object Set]",NM="[object String]",zM="[object Symbol]",jM="[object ArrayBuffer]",UM="[object DataView]",HM="[object Float32Array]",WM="[object Float64Array]",qM="[object Int8Array]",$M="[object Int16Array]",VM="[object Int32Array]",GM="[object Uint8Array]",YM="[object Uint8ClampedArray]",XM="[object Uint16Array]",KM="[object Uint32Array]";function JM(r,e,t){var i=r.constructor;switch(e){case jM:return EM(r);case OM:case LM:return new i(+r);case UM:return IM(r,t);case HM:case WM:case qM:case $M:case VM:case GM:case YM:case XM:case KM:return kM(r,t);case DM:return new i;case FM:case NM:return new i(r);case BM:return RM(r);case MM:return new i;case zM:return PM(r)}}Cb.exports=JM});var Rb=H((UIe,Ib)=>{h();d();p();var QM=Jt(),Eb=Object.create,ZM=function(){function r(){}return function(e){if(!QM(e))return{};if(Eb)return Eb(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ib.exports=ZM});var kb=H(($Ie,Pb)=>{h();d();p();var e5=Rb(),t5=lh(),r5=xa();function i5(r){return typeof r.constructor=="function"&&!r5(r)?e5(t5(r)):{}}Pb.exports=i5});var Lb=H((XIe,Ob)=>{h();d();p();var s5=nn(),n5=Fr(),o5="[object Map]";function a5(r){return n5(r)&&s5(r)==o5}Ob.exports=a5});var Mb=H((ZIe,Bb)=>{h();d();p();var l5=Lb(),u5=_a(),Db=ya(),Fb=Db&&Db.isMap,c5=Fb?u5(Fb):l5;Bb.exports=c5});var zb=H((iRe,Nb)=>{h();d();p();var h5=nn(),d5=Fr(),p5="[object Set]";function f5(r){return d5(r)&&h5(r)==p5}Nb.exports=f5});var Wb=H((aRe,Hb)=>{h();d();p();var g5=zb(),m5=_a(),jb=ya(),Ub=jb&&jb.isSet,_5=Ub?m5(Ub):g5;Hb.exports=_5});var Yb=H((hRe,Gb)=>{h();d();p();var y5=ca(),x5=Gx(),b5=wa(),v5=Kx(),S5=Qx(),w5=ib(),T5=nb(),C5=ab(),A5=ub(),E5=Xc(),I5=ch(),R5=nn(),P5=hb(),k5=Ab(),O5=kb(),L5=Qt(),D5=fa(),F5=Mb(),B5=Jt(),M5=Wb(),N5=sn(),z5=Ta(),j5=1,U5=2,H5=4,qb="[object Arguments]",W5="[object Array]",q5="[object Boolean]",$5="[object Date]",V5="[object Error]",$b="[object Function]",G5="[object GeneratorFunction]",Y5="[object Map]",X5="[object Number]",Vb="[object Object]",K5="[object RegExp]",J5="[object Set]",Q5="[object String]",Z5="[object Symbol]",eN="[object WeakMap]",tN="[object ArrayBuffer]",rN="[object DataView]",iN="[object Float32Array]",sN="[object Float64Array]",nN="[object Int8Array]",oN="[object Int16Array]",aN="[object Int32Array]",lN="[object Uint8Array]",uN="[object Uint8ClampedArray]",cN="[object Uint16Array]",hN="[object Uint32Array]",Le={};Le[qb]=Le[W5]=Le[tN]=Le[rN]=Le[q5]=Le[$5]=Le[iN]=Le[sN]=Le[nN]=Le[oN]=Le[aN]=Le[Y5]=Le[X5]=Le[Vb]=Le[K5]=Le[J5]=Le[Q5]=Le[Z5]=Le[lN]=Le[uN]=Le[cN]=Le[hN]=!0;Le[V5]=Le[$b]=Le[eN]=!1;function Ea(r,e,t,i,s,n){var o,a=e&j5,l=e&U5,u=e&H5;if(t&&(o=s?t(r,i,s,n):t(r)),o!==void 0)return o;if(!B5(r))return r;var c=L5(r);if(c){if(o=P5(r),!a)return T5(r,o)}else{var g=R5(r),m=g==$b||g==G5;if(D5(r))return w5(r,a);if(g==Vb||g==qb||m&&!s){if(o=l||m?{}:O5(r),!a)return l?A5(r,S5(o,r)):C5(r,v5(o,r))}else{if(!Le[g])return s?r:{};o=k5(r,g,a)}}n||(n=new y5);var y=n.get(r);if(y)return y;n.set(r,o),M5(r)?r.forEach(function(A){o.add(Ea(A,e,t,A,r,n))}):F5(r)&&r.forEach(function(A,T){o.set(T,Ea(A,e,t,T,r,n))});var b=u?l?I5:E5:l?z5:N5,C=c?void 0:b(r);return x5(C||r,function(A,T){C&&(T=A,A=r[T]),b5(o,T,Ea(A,e,t,T,r,n))}),o}Gb.exports=Ea});var Kb=H((gRe,Xb)=>{h();d();p();var dN=Yb(),pN=1,fN=4;function gN(r){return dN(r,pN|fN)}Xb.exports=gN});var Qb=H((xRe,Jb)=>{h();d();p();function mN(r,e,t,i){for(var s=r.length,n=t+(i?1:-1);i?n--:++n<s;)if(e(r[n],n,r))return n;return-1}Jb.exports=mN});var e0=H((wRe,Zb)=>{h();d();p();function _N(r){return r!==r}Zb.exports=_N});var r0=H((ERe,t0)=>{h();d();p();function yN(r,e,t){for(var i=t-1,s=r.length;++i<s;)if(r[i]===e)return i;return-1}t0.exports=yN});var s0=H((kRe,i0)=>{h();d();p();var xN=Qb(),bN=e0(),vN=r0();function SN(r,e,t){return e===e?vN(r,e,t):xN(r,bN,t)}i0.exports=SN});var o0=H((FRe,n0)=>{h();d();p();var wN=s0();function TN(r,e){var t=r==null?0:r.length;return!!t&&wN(r,e,0)>-1}n0.exports=TN});var l0=H((zRe,a0)=>{h();d();p();function CN(r,e,t){for(var i=-1,s=r==null?0:r.length;++i<s;)if(t(e,r[i]))return!0;return!1}a0.exports=CN});var c0=H((WRe,u0)=>{h();d();p();function AN(){}u0.exports=AN});var d0=H((GRe,h0)=>{h();d();p();var ph=Kc(),EN=c0(),IN=da(),RN=1/0,PN=ph&&1/IN(new ph([,-0]))[1]==RN?function(r){return new ph(r)}:EN;h0.exports=PN});var f0=H((JRe,p0)=>{h();d();p();var kN=Fc(),ON=o0(),LN=l0(),DN=Bc(),FN=d0(),BN=da(),MN=200;function NN(r,e,t){var i=-1,s=ON,n=r.length,o=!0,a=[],l=a;if(t)o=!1,s=LN;else if(n>=MN){var u=e?null:FN(r);if(u)return BN(u);o=!1,s=DN,l=new kN}else l=e?[]:a;e:for(;++i<n;){var c=r[i],g=e?e(c):c;if(c=t||c!==0?c:0,o&&g===g){for(var m=l.length;m--;)if(l[m]===g)continue e;e&&l.push(g),a.push(c)}else s(l,g,t)||(l!==a&&l.push(g),a.push(c))}return a}p0.exports=NN});var m0=H((tPe,g0)=>{h();d();p();var zN=f0();function jN(r){return r&&r.length?zN(r):[]}g0.exports=jN});var gh=H((_0,fh)=>{h();d();p();(function(r){if(typeof _0=="object"&&typeof fh<"u")fh.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window<"u"||typeof window<"u"?e=window:typeof self<"u"?e=self:e=this,e.memoizerific=r()}})(function(){var r,e,t;return function i(s,n,o){function a(c,g){if(!n[c]){if(!s[c]){var m=typeof Ft=="function"&&Ft;if(!g&&m)return m(c,!0);if(l)return l(c,!0);var y=new Error("Cannot find module '"+c+"'");throw y.code="MODULE_NOT_FOUND",y}var b=n[c]={exports:{}};s[c][0].call(b.exports,function(C){var A=s[c][1][C];return a(A||C)},b,b.exports,i,s,n,o)}return n[c].exports}for(var l=typeof Ft=="function"&&Ft,u=0;u<o.length;u++)a(o[u]);return a}({1:[function(i,s,n){s.exports=function(o){if(typeof Map!="function"||o){var a=i("./similar");return new a}else return new Map}},{"./similar":2}],2:[function(i,s,n){function o(){return this.list=[],this.lastItem=void 0,this.size=0,this}o.prototype.get=function(a){var l;if(this.lastItem&&this.isEqual(this.lastItem.key,a))return this.lastItem.val;if(l=this.indexOf(a),l>=0)return this.lastItem=this.list[l],this.list[l].val},o.prototype.set=function(a,l){var u;return this.lastItem&&this.isEqual(this.lastItem.key,a)?(this.lastItem.val=l,this):(u=this.indexOf(a),u>=0?(this.lastItem=this.list[u],this.list[u].val=l,this):(this.lastItem={key:a,val:l},this.list.push(this.lastItem),this.size++,this))},o.prototype.delete=function(a){var l;if(this.lastItem&&this.isEqual(this.lastItem.key,a)&&(this.lastItem=void 0),l=this.indexOf(a),l>=0)return this.size--,this.list.splice(l,1)[0]},o.prototype.has=function(a){var l;return this.lastItem&&this.isEqual(this.lastItem.key,a)?!0:(l=this.indexOf(a),l>=0?(this.lastItem=this.list[l],!0):!1)},o.prototype.forEach=function(a,l){var u;for(u=0;u<this.size;u++)a.call(l||this,this.list[u].val,this.list[u].key,this)},o.prototype.indexOf=function(a){var l;for(l=0;l<this.size;l++)if(this.isEqual(this.list[l].key,a))return l;return-1},o.prototype.isEqual=function(a,l){return a===l||a!==a&&l!==l},s.exports=o},{}],3:[function(i,s,n){var o=i("map-or-similar");s.exports=function(c){var g=new o(!1),m=[];return function(y){var b=function(){var C=g,A,T,R=arguments.length-1,P=Array(R+1),E=!0,k;if((b.numArgs||b.numArgs===0)&&b.numArgs!==R+1)throw new Error("Memoizerific functions should always be called with the same number of arguments");for(k=0;k<R;k++){if(P[k]={cacheItem:C,arg:arguments[k]},C.has(arguments[k])){C=C.get(arguments[k]);continue}E=!1,A=new o(!1),C.set(arguments[k],A),C=A}return E&&(C.has(arguments[R])?T=C.get(arguments[R]):E=!1),E||(T=y.apply(null,arguments),C.set(arguments[R],T)),c>0&&(P[R]={cacheItem:C,arg:arguments[R]},E?a(m,P):m.push(P),m.length>c&&l(m.shift())),b.wasMemoized=E,b.numArgs=R+1,T};return b.limit=c,b.wasMemoized=!1,b.cache=g,b.lru=m,b}};function a(c,g){var m=c.length,y=g.length,b,C,A;for(C=0;C<m;C++){for(b=!0,A=0;A<y;A++)if(!u(c[C][A].arg,g[A].arg)){b=!1;break}if(b)break}c.push(c.splice(C,1)[0])}function l(c){var g=c.length,m=c[g-1],y,b;for(m.cacheItem.delete(m.arg),b=g-2;b>=0&&(m=c[b],y=m.cacheItem.get(m.arg),!y||!y.size);b--)m.cacheItem.delete(m.arg)}function u(c,g){return c===g||c!==c&&g!==g}},{"map-or-similar":1}]},{},[3])(3)})});var iw=H((Xa,rw)=>{h();d();p();(function(r,e){typeof Xa=="object"&&typeof rw<"u"?e(Xa):typeof define=="function"&&define.amd?define(["exports"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.jtpp={}))})(Xa,function(r){"use strict";function e(_){return _.text!==void 0&&_.text!==""?`'${_.type}' with value '${_.text}'`:`'${_.type}'`}class t extends Error{constructor(I){super(`No parslet found for token: ${e(I)}`),this.token=I,Object.setPrototypeOf(this,t.prototype)}getToken(){return this.token}}class i extends Error{constructor(I){super(`The parsing ended early. The next token was: ${e(I)}`),this.token=I,Object.setPrototypeOf(this,i.prototype)}getToken(){return this.token}}class s extends Error{constructor(I,L){let V=`Unexpected type: '${I.type}'.`;L!==void 0&&(V+=` Message: ${L}`),super(V),Object.setPrototypeOf(this,s.prototype)}}function n(_){return I=>I.startsWith(_)?{type:_,text:_}:null}function o(_){let I=0,L,V=_[0],Z=!1;if(V!=="'"&&V!=='"')return null;for(;I<_.length;){if(I++,L=_[I],!Z&&L===V){I++;break}Z=!Z&&L==="\\"}if(L!==V)throw new Error("Unterminated String");return _.slice(0,I)}let a=new RegExp("[$_\\p{ID_Start}]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","u"),l=new RegExp("[$\\-\\p{ID_Continue}\\u200C\\u200D]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","u");function u(_){let I=_[0];if(!a.test(I))return null;let L=1;do{if(I=_[L],!l.test(I))break;L++}while(L<_.length);return _.slice(0,L)}let c=/^(NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity))/;function g(_){var I,L;return(L=(I=c.exec(_))===null||I===void 0?void 0:I[0])!==null&&L!==void 0?L:null}let m=_=>{let I=u(_);return I==null?null:{type:"Identifier",text:I}};function y(_){return I=>{if(!I.startsWith(_))return null;let L=I[_.length];return L!==void 0&&l.test(L)?null:{type:_,text:_}}}let b=_=>{let I=o(_);return I==null?null:{type:"StringValue",text:I}},C=_=>_.length>0?null:{type:"EOF",text:""},A=_=>{let I=g(_);return I===null?null:{type:"Number",text:I}},T=[C,n("=>"),n("("),n(")"),n("{"),n("}"),n("["),n("]"),n("|"),n("&"),n("<"),n(">"),n(","),n(";"),n("*"),n("?"),n("!"),n("="),n(":"),n("..."),n("."),n("#"),n("~"),n("/"),n("@"),y("undefined"),y("null"),y("function"),y("this"),y("new"),y("module"),y("event"),y("external"),y("typeof"),y("keyof"),y("readonly"),y("import"),y("is"),y("in"),y("asserts"),A,m,b],R=/^\s*\n\s*/;class P{static create(I){let L=this.read(I);I=L.text;let V=this.read(I);return I=V.text,new P(I,void 0,L.token,V.token)}constructor(I,L,V,Z){this.text="",this.text=I,this.previous=L,this.current=V,this.next=Z}static read(I,L=!1){L=L||R.test(I),I=I.trim();for(let V of T){let Z=V(I);if(Z!==null){let oe=Object.assign(Object.assign({},Z),{startOfLine:L});return I=I.slice(oe.text.length),{text:I,token:oe}}}throw new Error("Unexpected Token "+I)}advance(){let I=P.read(this.text);return new P(I.text,this.current,this.next,I.token)}}function E(_){if(_===void 0)throw new Error("Unexpected undefined");if(_.type==="JsdocTypeKeyValue"||_.type==="JsdocTypeParameterList"||_.type==="JsdocTypeProperty"||_.type==="JsdocTypeReadonlyProperty"||_.type==="JsdocTypeObjectField"||_.type==="JsdocTypeJsdocObjectField"||_.type==="JsdocTypeIndexSignature"||_.type==="JsdocTypeMappedType")throw new s(_);return _}function k(_){return _.type==="JsdocTypeKeyValue"?B(_):E(_)}function O(_){return _.type==="JsdocTypeName"?_:B(_)}function B(_){if(_.type!=="JsdocTypeKeyValue")throw new s(_);return _}function F(_){var I;if(_.type==="JsdocTypeVariadic"){if(((I=_.element)===null||I===void 0?void 0:I.type)==="JsdocTypeName")return _;throw new s(_)}if(_.type!=="JsdocTypeNumber"&&_.type!=="JsdocTypeName")throw new s(_);return _}function U(_){return _.type==="JsdocTypeIndexSignature"||_.type==="JsdocTypeMappedType"}var q;(function(_){_[_.ALL=0]="ALL",_[_.PARAMETER_LIST=1]="PARAMETER_LIST",_[_.OBJECT=2]="OBJECT",_[_.KEY_VALUE=3]="KEY_VALUE",_[_.INDEX_BRACKETS=4]="INDEX_BRACKETS",_[_.UNION=5]="UNION",_[_.INTERSECTION=6]="INTERSECTION",_[_.PREFIX=7]="PREFIX",_[_.INFIX=8]="INFIX",_[_.TUPLE=9]="TUPLE",_[_.SYMBOL=10]="SYMBOL",_[_.OPTIONAL=11]="OPTIONAL",_[_.NULLABLE=12]="NULLABLE",_[_.KEY_OF_TYPE_OF=13]="KEY_OF_TYPE_OF",_[_.FUNCTION=14]="FUNCTION",_[_.ARROW=15]="ARROW",_[_.ARRAY_BRACKETS=16]="ARRAY_BRACKETS",_[_.GENERIC=17]="GENERIC",_[_.NAME_PATH=18]="NAME_PATH",_[_.PARENTHESIS=19]="PARENTHESIS",_[_.SPECIAL_TYPES=20]="SPECIAL_TYPES"})(q||(q={}));class ee{constructor(I,L,V){this.grammar=I,typeof L=="string"?this._lexer=P.create(L):this._lexer=L,this.baseParser=V}get lexer(){return this._lexer}parse(){let I=this.parseType(q.ALL);if(this.lexer.current.type!=="EOF")throw new i(this.lexer.current);return I}parseType(I){return E(this.parseIntermediateType(I))}parseIntermediateType(I){let L=this.tryParslets(null,I);if(L===null)throw new t(this.lexer.current);return this.parseInfixIntermediateType(L,I)}parseInfixIntermediateType(I,L){let V=this.tryParslets(I,L);for(;V!==null;)I=V,V=this.tryParslets(I,L);return I}tryParslets(I,L){for(let V of this.grammar){let Z=V(this,L,I);if(Z!==null)return Z}return null}consume(I){return Array.isArray(I)||(I=[I]),I.includes(this.lexer.current.type)?(this._lexer=this.lexer.advance(),!0):!1}acceptLexerState(I){this._lexer=I.lexer}}function te(_){return _==="EOF"||_==="|"||_===","||_===")"||_===">"}let $=(_,I,L)=>{let V=_.lexer.current.type,Z=_.lexer.next.type;return L==null&&V==="?"&&!te(Z)||L!=null&&V==="?"?(_.consume("?"),L==null?{type:"JsdocTypeNullable",element:_.parseType(q.NULLABLE),meta:{position:"prefix"}}:{type:"JsdocTypeNullable",element:E(L),meta:{position:"suffix"}}):null};function D(_){let I=(L,V,Z)=>{let oe=L.lexer.current.type,ue=L.lexer.next.type;if(Z===null){if("parsePrefix"in _&&_.accept(oe,ue))return _.parsePrefix(L)}else if("parseInfix"in _&&_.precedence>V&&_.accept(oe,ue))return _.parseInfix(L,Z);return null};return Object.defineProperty(I,"name",{value:_.name}),I}let N=D({name:"optionalParslet",accept:_=>_==="=",precedence:q.OPTIONAL,parsePrefix:_=>(_.consume("="),{type:"JsdocTypeOptional",element:_.parseType(q.OPTIONAL),meta:{position:"prefix"}}),parseInfix:(_,I)=>(_.consume("="),{type:"JsdocTypeOptional",element:E(I),meta:{position:"suffix"}})}),G=D({name:"numberParslet",accept:_=>_==="Number",parsePrefix:_=>{let I=parseFloat(_.lexer.current.text);return _.consume("Number"),{type:"JsdocTypeNumber",value:I}}}),Q=D({name:"parenthesisParslet",accept:_=>_==="(",parsePrefix:_=>{if(_.consume("("),_.consume(")"))return{type:"JsdocTypeParameterList",elements:[]};let I=_.parseIntermediateType(q.ALL);if(!_.consume(")"))throw new Error("Unterminated parenthesis");return I.type==="JsdocTypeParameterList"?I:I.type==="JsdocTypeKeyValue"?{type:"JsdocTypeParameterList",elements:[I]}:{type:"JsdocTypeParenthesis",element:E(I)}}}),ne=D({name:"specialTypesParslet",accept:(_,I)=>_==="?"&&te(I)||_==="null"||_==="undefined"||_==="*",parsePrefix:_=>{if(_.consume("null"))return{type:"JsdocTypeNull"};if(_.consume("undefined"))return{type:"JsdocTypeUndefined"};if(_.consume("*"))return{type:"JsdocTypeAny"};if(_.consume("?"))return{type:"JsdocTypeUnknown"};throw new Error("Unacceptable token: "+_.lexer.current.text)}}),ie=D({name:"notNullableParslet",accept:_=>_==="!",precedence:q.NULLABLE,parsePrefix:_=>(_.consume("!"),{type:"JsdocTypeNotNullable",element:_.parseType(q.NULLABLE),meta:{position:"prefix"}}),parseInfix:(_,I)=>(_.consume("!"),{type:"JsdocTypeNotNullable",element:E(I),meta:{position:"suffix"}})});function re({allowTrailingComma:_}){return D({name:"parameterListParslet",accept:I=>I===",",precedence:q.PARAMETER_LIST,parseInfix:(I,L)=>{let V=[k(L)];I.consume(",");do try{let Z=I.parseIntermediateType(q.PARAMETER_LIST);V.push(k(Z))}catch(Z){if(_&&Z instanceof t)break;throw Z}while(I.consume(","));if(V.length>0&&V.slice(0,-1).some(Z=>Z.type==="JsdocTypeVariadic"))throw new Error("Only the last parameter may be a rest parameter");return{type:"JsdocTypeParameterList",elements:V}}})}let ae=D({name:"genericParslet",accept:(_,I)=>_==="<"||_==="."&&I==="<",precedence:q.GENERIC,parseInfix:(_,I)=>{let L=_.consume(".");_.consume("<");let V=[];do V.push(_.parseType(q.PARAMETER_LIST));while(_.consume(","));if(!_.consume(">"))throw new Error("Unterminated generic parameter list");return{type:"JsdocTypeGeneric",left:E(I),elements:V,meta:{brackets:"angle",dot:L}}}}),ce=D({name:"unionParslet",accept:_=>_==="|",precedence:q.UNION,parseInfix:(_,I)=>{_.consume("|");let L=[];do L.push(_.parseType(q.UNION));while(_.consume("|"));return{type:"JsdocTypeUnion",elements:[E(I),...L]}}}),Se=[$,N,G,Q,ne,ie,re({allowTrailingComma:!0}),ae,ce,N];function we({allowSquareBracketsOnAnyType:_,allowJsdocNamePaths:I,pathGrammar:L}){return function(Z,oe,ue){if(ue==null||oe>=q.NAME_PATH)return null;let Te=Z.lexer.current.type,et=Z.lexer.next.type;if(!(Te==="."&&et!=="<"||Te==="["&&(_||ue.type==="JsdocTypeName")||I&&(Te==="~"||Te==="#")))return null;let Dt,Wn=!1;Z.consume(".")?Dt="property":Z.consume("[")?(Dt="property-brackets",Wn=!0):Z.consume("~")?Dt="inner":(Z.consume("#"),Dt="instance");let lp=L!==null?new ee(L,Z.lexer,Z):Z,tr=lp.parseIntermediateType(q.NAME_PATH);Z.acceptLexerState(lp);let cs;switch(tr.type){case"JsdocTypeName":cs={type:"JsdocTypeProperty",value:tr.value,meta:{quote:void 0}};break;case"JsdocTypeNumber":cs={type:"JsdocTypeProperty",value:tr.value.toString(10),meta:{quote:void 0}};break;case"JsdocTypeStringValue":cs={type:"JsdocTypeProperty",value:tr.value,meta:{quote:tr.meta.quote}};break;case"JsdocTypeSpecialNamePath":if(tr.specialType==="event")cs=tr;else throw new s(tr,"Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'");break;default:throw new s(tr,"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'")}if(Wn&&!Z.consume("]")){let up=Z.lexer.current;throw new Error(`Unterminated square brackets. Next token is '${up.type}' with text '${up.text}'`)}return{type:"JsdocTypeNamePath",left:E(ue),right:cs,pathType:Dt}}}function xe({allowedAdditionalTokens:_}){return D({name:"nameParslet",accept:I=>I==="Identifier"||I==="this"||I==="new"||_.includes(I),parsePrefix:I=>{let{type:L,text:V}=I.lexer.current;return I.consume(L),{type:"JsdocTypeName",value:V}}})}let Ie=D({name:"stringValueParslet",accept:_=>_==="StringValue",parsePrefix:_=>{let I=_.lexer.current.text;return _.consume("StringValue"),{type:"JsdocTypeStringValue",value:I.slice(1,-1),meta:{quote:I[0]==="'"?"single":"double"}}}});function De({pathGrammar:_,allowedTypes:I}){return D({name:"specialNamePathParslet",accept:L=>I.includes(L),parsePrefix:L=>{let V=L.lexer.current.type;if(L.consume(V),!L.consume(":"))return{type:"JsdocTypeName",value:V};let Z,oe=L.lexer.current;if(L.consume("StringValue"))Z={type:"JsdocTypeSpecialNamePath",value:oe.text.slice(1,-1),specialType:V,meta:{quote:oe.text[0]==="'"?"single":"double"}};else{let et="",Ve=["Identifier","@","/"];for(;Ve.some(Dt=>L.consume(Dt));)et+=oe.text,oe=L.lexer.current;Z={type:"JsdocTypeSpecialNamePath",value:et,specialType:V,meta:{quote:void 0}}}let ue=new ee(_,L.lexer,L),Te=ue.parseInfixIntermediateType(Z,q.ALL);return L.acceptLexerState(ue),E(Te)}})}let nt=[xe({allowedAdditionalTokens:["external","module"]}),Ie,G,we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:null})],$e=[...nt,De({allowedTypes:["event"],pathGrammar:nt})];function Re(_){let I;if(_.type==="JsdocTypeParameterList")I=_.elements;else if(_.type==="JsdocTypeParenthesis")I=[_.element];else throw new s(_);return I.map(L=>k(L))}function ot(_){let I=Re(_);if(I.some(L=>L.type==="JsdocTypeKeyValue"))throw new Error("No parameter should be named");return I}function je({allowNamedParameters:_,allowNoReturnType:I,allowWithoutParenthesis:L,allowNewAsFunctionKeyword:V}){return D({name:"functionParslet",accept:(Z,oe)=>Z==="function"||V&&Z==="new"&&oe==="(",parsePrefix:Z=>{let oe=Z.consume("new");Z.consume("function");let ue=Z.lexer.current.type==="(";if(!ue){if(!L)throw new Error("function is missing parameter list");return{type:"JsdocTypeName",value:"function"}}let Te={type:"JsdocTypeFunction",parameters:[],arrow:!1,constructor:oe,parenthesis:ue},et=Z.parseIntermediateType(q.FUNCTION);if(_===void 0)Te.parameters=ot(et);else{if(oe&&et.type==="JsdocTypeFunction"&&et.arrow)return Te=et,Te.constructor=!0,Te;Te.parameters=Re(et);for(let Ve of Te.parameters)if(Ve.type==="JsdocTypeKeyValue"&&!_.includes(Ve.key))throw new Error(`only allowed named parameters are ${_.join(", ")} but got ${Ve.type}`)}if(Z.consume(":"))Te.returnType=Z.parseType(q.PREFIX);else if(!I)throw new Error("function is missing return type");return Te}})}function at({allowPostfix:_,allowEnclosingBrackets:I}){return D({name:"variadicParslet",accept:L=>L==="...",precedence:q.PREFIX,parsePrefix:L=>{L.consume("...");let V=I&&L.consume("[");try{let Z=L.parseType(q.PREFIX);if(V&&!L.consume("]"))throw new Error("Unterminated variadic type. Missing ']'");return{type:"JsdocTypeVariadic",element:E(Z),meta:{position:"prefix",squareBrackets:V}}}catch(Z){if(Z instanceof t){if(V)throw new Error("Empty square brackets for variadic are not allowed.");return{type:"JsdocTypeVariadic",meta:{position:void 0,squareBrackets:!1}}}else throw Z}},parseInfix:_?(L,V)=>(L.consume("..."),{type:"JsdocTypeVariadic",element:E(V),meta:{position:"suffix",squareBrackets:!1}}):void 0})}let jt=D({name:"symbolParslet",accept:_=>_==="(",precedence:q.SYMBOL,parseInfix:(_,I)=>{if(I.type!=="JsdocTypeName")throw new Error("Symbol expects a name on the left side. (Reacting on '(')");_.consume("(");let L={type:"JsdocTypeSymbol",value:I.value};if(!_.consume(")")){let V=_.parseIntermediateType(q.SYMBOL);if(L.element=F(V),!_.consume(")"))throw new Error("Symbol does not end after value")}return L}}),Ze=D({name:"arrayBracketsParslet",precedence:q.ARRAY_BRACKETS,accept:(_,I)=>_==="["&&I==="]",parseInfix:(_,I)=>(_.consume("["),_.consume("]"),{type:"JsdocTypeGeneric",left:{type:"JsdocTypeName",value:"Array"},elements:[E(I)],meta:{brackets:"square",dot:!1}})});function Ee({objectFieldGrammar:_,allowKeyTypes:I}){return D({name:"objectParslet",accept:L=>L==="{",parsePrefix:L=>{L.consume("{");let V={type:"JsdocTypeObject",meta:{separator:"comma"},elements:[]};if(!L.consume("}")){let Z,oe=new ee(_,L.lexer,L);for(;;){oe.acceptLexerState(L);let ue=oe.parseIntermediateType(q.OBJECT);L.acceptLexerState(oe),ue===void 0&&I&&(ue=L.parseIntermediateType(q.OBJECT));let Te=!1;if(ue.type==="JsdocTypeNullable"&&(Te=!0,ue=ue.element),ue.type==="JsdocTypeNumber"||ue.type==="JsdocTypeName"||ue.type==="JsdocTypeStringValue"){let Ve;ue.type==="JsdocTypeStringValue"&&(Ve=ue.meta.quote),V.elements.push({type:"JsdocTypeObjectField",key:ue.value.toString(),right:void 0,optional:Te,readonly:!1,meta:{quote:Ve}})}else if(ue.type==="JsdocTypeObjectField"||ue.type==="JsdocTypeJsdocObjectField")V.elements.push(ue);else throw new s(ue);if(L.lexer.current.startOfLine)Z="linebreak";else if(L.consume(","))Z="comma";else if(L.consume(";"))Z="semicolon";else break;if(L.lexer.current.type==="}")break}if(V.meta.separator=Z??"comma",!L.consume("}"))throw new Error("Unterminated record type. Missing '}'")}return V}})}function ze({allowSquaredProperties:_,allowKeyTypes:I,allowReadonly:L,allowOptional:V}){return D({name:"objectFieldParslet",precedence:q.KEY_VALUE,accept:Z=>Z===":",parseInfix:(Z,oe)=>{var ue;let Te=!1,et=!1;V&&oe.type==="JsdocTypeNullable"&&(Te=!0,oe=oe.element),L&&oe.type==="JsdocTypeReadonlyProperty"&&(et=!0,oe=oe.element);let Ve=(ue=Z.baseParser)!==null&&ue!==void 0?ue:Z;if(Ve.acceptLexerState(Z),oe.type==="JsdocTypeNumber"||oe.type==="JsdocTypeName"||oe.type==="JsdocTypeStringValue"||U(oe)){if(U(oe)&&!_)throw new s(oe);Ve.consume(":");let Dt;oe.type==="JsdocTypeStringValue"&&(Dt=oe.meta.quote);let Wn=Ve.parseType(q.KEY_VALUE);return Z.acceptLexerState(Ve),{type:"JsdocTypeObjectField",key:U(oe)?oe:oe.value.toString(),right:Wn,optional:Te,readonly:et,meta:{quote:Dt}}}else{if(!I)throw new s(oe);Ve.consume(":");let Dt=Ve.parseType(q.KEY_VALUE);return Z.acceptLexerState(Ve),{type:"JsdocTypeJsdocObjectField",left:E(oe),right:Dt}}}})}function Zt({allowOptional:_,allowVariadic:I}){return D({name:"keyValueParslet",precedence:q.KEY_VALUE,accept:L=>L===":",parseInfix:(L,V)=>{let Z=!1,oe=!1;if(_&&V.type==="JsdocTypeNullable"&&(Z=!0,V=V.element),I&&V.type==="JsdocTypeVariadic"&&V.element!==void 0&&(oe=!0,V=V.element),V.type!=="JsdocTypeName")throw new s(V);L.consume(":");let ue=L.parseType(q.KEY_VALUE);return{type:"JsdocTypeKeyValue",key:V.value,right:ue,optional:Z,variadic:oe}}})}let yr=[...Se,je({allowWithoutParenthesis:!0,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),Ie,De({allowedTypes:["module","external","event"],pathGrammar:$e}),at({allowEnclosingBrackets:!0,allowPostfix:!0}),xe({allowedAdditionalTokens:["keyof"]}),jt,Ze,we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:$e})],li=[...yr,Ee({objectFieldGrammar:[xe({allowedAdditionalTokens:["module","in"]}),ze({allowSquaredProperties:!1,allowKeyTypes:!0,allowOptional:!1,allowReadonly:!1}),...yr],allowKeyTypes:!0}),Zt({allowOptional:!0,allowVariadic:!0})],ss=D({name:"typeOfParslet",accept:_=>_==="typeof",parsePrefix:_=>(_.consume("typeof"),{type:"JsdocTypeTypeof",element:E(_.parseType(q.KEY_OF_TYPE_OF))})}),Ln=[xe({allowedAdditionalTokens:["module","keyof","event","external","in"]}),$,N,Ie,G,ze({allowSquaredProperties:!1,allowKeyTypes:!1,allowOptional:!1,allowReadonly:!1})],Dn=[...Se,Ee({allowKeyTypes:!1,objectFieldGrammar:Ln}),xe({allowedAdditionalTokens:["event","external","in"]}),ss,je({allowWithoutParenthesis:!1,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),at({allowEnclosingBrackets:!1,allowPostfix:!1}),xe({allowedAdditionalTokens:["keyof"]}),De({allowedTypes:["module"],pathGrammar:$e}),we({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:$e}),Zt({allowOptional:!1,allowVariadic:!1}),jt],Fn=D({name:"assertsParslet",accept:_=>_==="asserts",parsePrefix:_=>{_.consume("asserts");let I=_.parseIntermediateType(q.SYMBOL);if(I.type!=="JsdocTypeName")throw new s(I,"A typescript asserts always has to have a name on the left side.");return _.consume("is"),{type:"JsdocTypeAsserts",left:I,right:E(_.parseIntermediateType(q.INFIX))}}});function Bn({allowQuestionMark:_}){return D({name:"tupleParslet",accept:I=>I==="[",parsePrefix:I=>{I.consume("[");let L={type:"JsdocTypeTuple",elements:[]};if(I.consume("]"))return L;let V=I.parseIntermediateType(q.ALL);if(V.type==="JsdocTypeParameterList"?V.elements[0].type==="JsdocTypeKeyValue"?L.elements=V.elements.map(B):L.elements=V.elements.map(E):V.type==="JsdocTypeKeyValue"?L.elements=[B(V)]:L.elements=[E(V)],!I.consume("]"))throw new Error("Unterminated '['");if(!_&&L.elements.some(Z=>Z.type==="JsdocTypeUnknown"))throw new Error("Question mark in tuple not allowed");return L}})}let ns=D({name:"keyOfParslet",accept:_=>_==="keyof",parsePrefix:_=>(_.consume("keyof"),{type:"JsdocTypeKeyof",element:E(_.parseType(q.KEY_OF_TYPE_OF))})}),Mn=D({name:"importParslet",accept:_=>_==="import",parsePrefix:_=>{if(_.consume("import"),!_.consume("("))throw new Error("Missing parenthesis after import keyword");let I=_.parseType(q.PREFIX);if(I.type!=="JsdocTypeStringValue")throw new Error("Only string values are allowed as paths for imports");if(!_.consume(")"))throw new Error("Missing closing parenthesis after import keyword");return{type:"JsdocTypeImport",element:I}}}),xr=D({name:"readonlyPropertyParslet",accept:_=>_==="readonly",parsePrefix:_=>(_.consume("readonly"),{type:"JsdocTypeReadonlyProperty",element:_.parseType(q.KEY_VALUE)})}),ui=D({name:"arrowFunctionParslet",precedence:q.ARROW,accept:_=>_==="=>",parseInfix:(_,I)=>(_.consume("=>"),{type:"JsdocTypeFunction",parameters:Re(I).map(O),arrow:!0,constructor:!1,parenthesis:!0,returnType:_.parseType(q.OBJECT)})}),os=D({name:"intersectionParslet",accept:_=>_==="&",precedence:q.INTERSECTION,parseInfix:(_,I)=>{_.consume("&");let L=[];do L.push(_.parseType(q.INTERSECTION));while(_.consume("&"));return{type:"JsdocTypeIntersection",elements:[E(I),...L]}}}),Nn=D({name:"predicateParslet",precedence:q.INFIX,accept:_=>_==="is",parseInfix:(_,I)=>{if(I.type!=="JsdocTypeName")throw new s(I,"A typescript predicate always has to have a name on the left side.");return _.consume("is"),{type:"JsdocTypePredicate",left:I,right:E(_.parseIntermediateType(q.INFIX))}}}),zn=D({name:"objectSquareBracketPropertyParslet",accept:_=>_==="[",parsePrefix:_=>{if(_.baseParser===void 0)throw new Error("Only allowed inside object grammar");_.consume("[");let I=_.lexer.current.text;_.consume("Identifier");let L;if(_.consume(":")){let V=_.baseParser;V.acceptLexerState(_),L={type:"JsdocTypeIndexSignature",key:I,right:V.parseType(q.INDEX_BRACKETS)},_.acceptLexerState(V)}else if(_.consume("in")){let V=_.baseParser;V.acceptLexerState(_),L={type:"JsdocTypeMappedType",key:I,right:V.parseType(q.ARRAY_BRACKETS)},_.acceptLexerState(V)}else throw new Error("Missing ':' or 'in' inside square bracketed property.");if(!_.consume("]"))throw new Error("Unterminated square brackets");return L}}),ci=[xr,xe({allowedAdditionalTokens:["module","event","keyof","event","external","in"]}),$,N,Ie,G,ze({allowSquaredProperties:!0,allowKeyTypes:!1,allowOptional:!0,allowReadonly:!0}),zn],Wr=[...Se,Ee({allowKeyTypes:!1,objectFieldGrammar:ci}),ss,ns,Mn,Ie,je({allowWithoutParenthesis:!0,allowNoReturnType:!1,allowNamedParameters:["this","new","args"],allowNewAsFunctionKeyword:!0}),Bn({allowQuestionMark:!1}),at({allowEnclosingBrackets:!1,allowPostfix:!1}),Fn,xe({allowedAdditionalTokens:["event","external","in"]}),De({allowedTypes:["module"],pathGrammar:$e}),Ze,ui,we({allowSquareBracketsOnAnyType:!0,allowJsdocNamePaths:!1,pathGrammar:$e}),os,Nn,Zt({allowVariadic:!0,allowOptional:!0})];function W(_,I){switch(I){case"closure":return new ee(Dn,_).parse();case"jsdoc":return new ee(li,_).parse();case"typescript":return new ee(Wr,_).parse()}}function Y(_,I=["typescript","closure","jsdoc"]){let L;for(let V of I)try{return W(_,V)}catch(Z){L=Z}throw L}function _e(_,I){let L=_[I.type];if(L===void 0)throw new Error(`In this set of transform rules exists no rule for type ${I.type}.`);return L(I,V=>_e(_,V))}function de(_){throw new Error("This transform is not available. Are you trying the correct parsing mode?")}function Me(_){let I={params:[]};for(let L of _.parameters)L.type==="JsdocTypeKeyValue"?L.key==="this"?I.this=L.right:L.key==="new"?I.new=L.right:I.params.push(L):I.params.push(L);return I}function ge(_,I,L){return _==="prefix"?L+I:I+L}function lt(_,I){switch(I){case"double":return`"${_}"`;case"single":return`'${_}'`;case void 0:return _}}function Wt(){return{JsdocTypeParenthesis:(_,I)=>`(${_.element!==void 0?I(_.element):""})`,JsdocTypeKeyof:(_,I)=>`keyof ${I(_.element)}`,JsdocTypeFunction:(_,I)=>{if(_.arrow){if(_.returnType===void 0)throw new Error("Arrow function needs a return type.");let L=`(${_.parameters.map(I).join(", ")}) => ${I(_.returnType)}`;return _.constructor&&(L="new "+L),L}else{let L=_.constructor?"new":"function";return _.parenthesis&&(L+=`(${_.parameters.map(I).join(", ")})`,_.returnType!==void 0&&(L+=`: ${I(_.returnType)}`)),L}},JsdocTypeName:_=>_.value,JsdocTypeTuple:(_,I)=>`[${_.elements.map(I).join(", ")}]`,JsdocTypeVariadic:(_,I)=>_.meta.position===void 0?"...":ge(_.meta.position,I(_.element),"..."),JsdocTypeNamePath:(_,I)=>{let L=I(_.left),V=I(_.right);switch(_.pathType){case"inner":return`${L}~${V}`;case"instance":return`${L}#${V}`;case"property":return`${L}.${V}`;case"property-brackets":return`${L}[${V}]`}},JsdocTypeStringValue:_=>lt(_.value,_.meta.quote),JsdocTypeAny:()=>"*",JsdocTypeGeneric:(_,I)=>{if(_.meta.brackets==="square"){let L=_.elements[0],V=I(L);return L.type==="JsdocTypeUnion"||L.type==="JsdocTypeIntersection"?`(${V})[]`:`${V}[]`}else return`${I(_.left)}${_.meta.dot?".":""}<${_.elements.map(I).join(", ")}>`},JsdocTypeImport:(_,I)=>`import(${I(_.element)})`,JsdocTypeObjectField:(_,I)=>{let L="";return _.readonly&&(L+="readonly "),typeof _.key=="string"?L+=lt(_.key,_.meta.quote):L+=I(_.key),_.optional&&(L+="?"),_.right===void 0?L:L+`: ${I(_.right)}`},JsdocTypeJsdocObjectField:(_,I)=>`${I(_.left)}: ${I(_.right)}`,JsdocTypeKeyValue:(_,I)=>{let L=_.key;return _.optional&&(L+="?"),_.variadic&&(L="..."+L),_.right===void 0?L:L+`: ${I(_.right)}`},JsdocTypeSpecialNamePath:_=>`${_.specialType}:${lt(_.value,_.meta.quote)}`,JsdocTypeNotNullable:(_,I)=>ge(_.meta.position,I(_.element),"!"),JsdocTypeNull:()=>"null",JsdocTypeNullable:(_,I)=>ge(_.meta.position,I(_.element),"?"),JsdocTypeNumber:_=>_.value.toString(),JsdocTypeObject:(_,I)=>`{${_.elements.map(I).join((_.meta.separator==="comma"?",":";")+" ")}}`,JsdocTypeOptional:(_,I)=>ge(_.meta.position,I(_.element),"="),JsdocTypeSymbol:(_,I)=>`${_.value}(${_.element!==void 0?I(_.element):""})`,JsdocTypeTypeof:(_,I)=>`typeof ${I(_.element)}`,JsdocTypeUndefined:()=>"undefined",JsdocTypeUnion:(_,I)=>_.elements.map(I).join(" | "),JsdocTypeUnknown:()=>"?",JsdocTypeIntersection:(_,I)=>_.elements.map(I).join(" & "),JsdocTypeProperty:_=>lt(_.value,_.meta.quote),JsdocTypePredicate:(_,I)=>`${I(_.left)} is ${I(_.right)}`,JsdocTypeIndexSignature:(_,I)=>`[${_.key}: ${I(_.right)}]`,JsdocTypeMappedType:(_,I)=>`[${_.key} in ${I(_.right)}]`,JsdocTypeAsserts:(_,I)=>`asserts ${I(_.left)} is ${I(_.right)}`}}let gt=Wt();function qt(_){return _e(gt,_)}let as=["null","true","false","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield"];function mt(_){let I={type:"NameExpression",name:_};return as.includes(_)&&(I.reservedWord=!0),I}let vt={JsdocTypeOptional:(_,I)=>{let L=I(_.element);return L.optional=!0,L},JsdocTypeNullable:(_,I)=>{let L=I(_.element);return L.nullable=!0,L},JsdocTypeNotNullable:(_,I)=>{let L=I(_.element);return L.nullable=!1,L},JsdocTypeVariadic:(_,I)=>{if(_.element===void 0)throw new Error("dots without value are not allowed in catharsis mode");let L=I(_.element);return L.repeatable=!0,L},JsdocTypeAny:()=>({type:"AllLiteral"}),JsdocTypeNull:()=>({type:"NullLiteral"}),JsdocTypeStringValue:_=>mt(lt(_.value,_.meta.quote)),JsdocTypeUndefined:()=>({type:"UndefinedLiteral"}),JsdocTypeUnknown:()=>({type:"UnknownLiteral"}),JsdocTypeFunction:(_,I)=>{let L=Me(_),V={type:"FunctionType",params:L.params.map(I)};return L.this!==void 0&&(V.this=I(L.this)),L.new!==void 0&&(V.new=I(L.new)),_.returnType!==void 0&&(V.result=I(_.returnType)),V},JsdocTypeGeneric:(_,I)=>({type:"TypeApplication",applications:_.elements.map(L=>I(L)),expression:I(_.left)}),JsdocTypeSpecialNamePath:_=>mt(_.specialType+":"+lt(_.value,_.meta.quote)),JsdocTypeName:_=>_.value!=="function"?mt(_.value):{type:"FunctionType",params:[]},JsdocTypeNumber:_=>mt(_.value.toString()),JsdocTypeObject:(_,I)=>{let L={type:"RecordType",fields:[]};for(let V of _.elements)V.type!=="JsdocTypeObjectField"&&V.type!=="JsdocTypeJsdocObjectField"?L.fields.push({type:"FieldType",key:I(V),value:void 0}):L.fields.push(I(V));return L},JsdocTypeObjectField:(_,I)=>{if(typeof _.key!="string")throw new Error("Index signatures and mapped types are not supported");return{type:"FieldType",key:mt(lt(_.key,_.meta.quote)),value:_.right===void 0?void 0:I(_.right)}},JsdocTypeJsdocObjectField:(_,I)=>({type:"FieldType",key:I(_.left),value:I(_.right)}),JsdocTypeUnion:(_,I)=>({type:"TypeUnion",elements:_.elements.map(L=>I(L))}),JsdocTypeKeyValue:(_,I)=>({type:"FieldType",key:mt(_.key),value:_.right===void 0?void 0:I(_.right)}),JsdocTypeNamePath:(_,I)=>{let L=I(_.left),V;_.right.type==="JsdocTypeSpecialNamePath"?V=I(_.right).name:V=lt(_.right.value,_.right.meta.quote);let Z=_.pathType==="inner"?"~":_.pathType==="instance"?"#":".";return mt(`${L.name}${Z}${V}`)},JsdocTypeSymbol:_=>{let I="",L=_.element,V=!1;return L?.type==="JsdocTypeVariadic"&&(L.meta.position==="prefix"?I="...":V=!0,L=L.element),L?.type==="JsdocTypeName"?I+=L.value:L?.type==="JsdocTypeNumber"&&(I+=L.value.toString()),V&&(I+="..."),mt(`${_.value}(${I})`)},JsdocTypeParenthesis:(_,I)=>I(E(_.element)),JsdocTypeMappedType:de,JsdocTypeIndexSignature:de,JsdocTypeImport:de,JsdocTypeKeyof:de,JsdocTypeTuple:de,JsdocTypeTypeof:de,JsdocTypeIntersection:de,JsdocTypeProperty:de,JsdocTypePredicate:de,JsdocTypeAsserts:de};function jn(_){return _e(vt,_)}function $t(_){switch(_){case void 0:return"none";case"single":return"single";case"double":return"double"}}function Un(_){switch(_){case"inner":return"INNER_MEMBER";case"instance":return"INSTANCE_MEMBER";case"property":return"MEMBER";case"property-brackets":return"MEMBER"}}function er(_,I){return I.length===2?{type:_,left:I[0],right:I[1]}:{type:_,left:I[0],right:er(_,I.slice(1))}}let ls={JsdocTypeOptional:(_,I)=>({type:"OPTIONAL",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_EQUAL_SIGN":"SUFFIX_EQUALS_SIGN"}}),JsdocTypeNullable:(_,I)=>({type:"NULLABLE",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_QUESTION_MARK":"SUFFIX_QUESTION_MARK"}}),JsdocTypeNotNullable:(_,I)=>({type:"NOT_NULLABLE",value:I(_.element),meta:{syntax:_.meta.position==="prefix"?"PREFIX_BANG":"SUFFIX_BANG"}}),JsdocTypeVariadic:(_,I)=>{let L={type:"VARIADIC",meta:{syntax:_.meta.position==="prefix"?"PREFIX_DOTS":_.meta.position==="suffix"?"SUFFIX_DOTS":"ONLY_DOTS"}};return _.element!==void 0&&(L.value=I(_.element)),L},JsdocTypeName:_=>({type:"NAME",name:_.value}),JsdocTypeTypeof:(_,I)=>({type:"TYPE_QUERY",name:I(_.element)}),JsdocTypeTuple:(_,I)=>({type:"TUPLE",entries:_.elements.map(I)}),JsdocTypeKeyof:(_,I)=>({type:"KEY_QUERY",value:I(_.element)}),JsdocTypeImport:_=>({type:"IMPORT",path:{type:"STRING_VALUE",quoteStyle:$t(_.element.meta.quote),string:_.element.value}}),JsdocTypeUndefined:()=>({type:"NAME",name:"undefined"}),JsdocTypeAny:()=>({type:"ANY"}),JsdocTypeFunction:(_,I)=>{let L=Me(_),V={type:_.arrow?"ARROW":"FUNCTION",params:L.params.map(Z=>{if(Z.type==="JsdocTypeKeyValue"){if(Z.right===void 0)throw new Error("Function parameter without ':' is not expected to be 'KEY_VALUE'");return{type:"NAMED_PARAMETER",name:Z.key,typeName:I(Z.right)}}else return I(Z)}),new:null,returns:null};return L.this!==void 0?V.this=I(L.this):_.arrow||(V.this=null),L.new!==void 0&&(V.new=I(L.new)),_.returnType!==void 0&&(V.returns=I(_.returnType)),V},JsdocTypeGeneric:(_,I)=>{let L={type:"GENERIC",subject:I(_.left),objects:_.elements.map(I),meta:{syntax:_.meta.brackets==="square"?"SQUARE_BRACKET":_.meta.dot?"ANGLE_BRACKET_WITH_DOT":"ANGLE_BRACKET"}};return _.meta.brackets==="square"&&_.elements[0].type==="JsdocTypeFunction"&&!_.elements[0].parenthesis&&(L.objects[0]={type:"NAME",name:"function"}),L},JsdocTypeObjectField:(_,I)=>{if(typeof _.key!="string")throw new Error("Index signatures and mapped types are not supported");if(_.right===void 0)return{type:"RECORD_ENTRY",key:_.key,quoteStyle:$t(_.meta.quote),value:null,readonly:!1};let L=I(_.right);return _.optional&&(L={type:"OPTIONAL",value:L,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:_.key.toString(),quoteStyle:$t(_.meta.quote),value:L,readonly:!1}},JsdocTypeJsdocObjectField:()=>{throw new Error("Keys may not be typed in jsdoctypeparser.")},JsdocTypeKeyValue:(_,I)=>{if(_.right===void 0)return{type:"RECORD_ENTRY",key:_.key,quoteStyle:"none",value:null,readonly:!1};let L=I(_.right);return _.optional&&(L={type:"OPTIONAL",value:L,meta:{syntax:"SUFFIX_KEY_QUESTION_MARK"}}),{type:"RECORD_ENTRY",key:_.key,quoteStyle:"none",value:L,readonly:!1}},JsdocTypeObject:(_,I)=>{let L=[];for(let V of _.elements)(V.type==="JsdocTypeObjectField"||V.type==="JsdocTypeJsdocObjectField")&&L.push(I(V));return{type:"RECORD",entries:L}},JsdocTypeSpecialNamePath:_=>{if(_.specialType!=="module")throw new Error(`jsdoctypeparser does not support type ${_.specialType} at this point.`);return{type:"MODULE",value:{type:"FILE_PATH",quoteStyle:$t(_.meta.quote),path:_.value}}},JsdocTypeNamePath:(_,I)=>{let L=!1,V,Z;_.right.type==="JsdocTypeSpecialNamePath"&&_.right.specialType==="event"?(L=!0,V=_.right.value,Z=$t(_.right.meta.quote)):(V=_.right.value,Z=$t(_.right.meta.quote));let oe={type:Un(_.pathType),owner:I(_.left),name:V,quoteStyle:Z,hasEventPrefix:L};if(oe.owner.type==="MODULE"){let ue=oe.owner;return oe.owner=oe.owner.value,ue.value=oe,ue}else return oe},JsdocTypeUnion:(_,I)=>er("UNION",_.elements.map(I)),JsdocTypeParenthesis:(_,I)=>({type:"PARENTHESIS",value:I(E(_.element))}),JsdocTypeNull:()=>({type:"NAME",name:"null"}),JsdocTypeUnknown:()=>({type:"UNKNOWN"}),JsdocTypeStringValue:_=>({type:"STRING_VALUE",quoteStyle:$t(_.meta.quote),string:_.value}),JsdocTypeIntersection:(_,I)=>er("INTERSECTION",_.elements.map(I)),JsdocTypeNumber:_=>({type:"NUMBER_VALUE",number:_.value.toString()}),JsdocTypeSymbol:de,JsdocTypeProperty:de,JsdocTypePredicate:de,JsdocTypeMappedType:de,JsdocTypeIndexSignature:de,JsdocTypeAsserts:de};function hi(_){return _e(ls,_)}function us(){return{JsdocTypeIntersection:(_,I)=>({type:"JsdocTypeIntersection",elements:_.elements.map(I)}),JsdocTypeGeneric:(_,I)=>({type:"JsdocTypeGeneric",left:I(_.left),elements:_.elements.map(I),meta:{dot:_.meta.dot,brackets:_.meta.brackets}}),JsdocTypeNullable:_=>_,JsdocTypeUnion:(_,I)=>({type:"JsdocTypeUnion",elements:_.elements.map(I)}),JsdocTypeUnknown:_=>_,JsdocTypeUndefined:_=>_,JsdocTypeTypeof:(_,I)=>({type:"JsdocTypeTypeof",element:I(_.element)}),JsdocTypeSymbol:(_,I)=>{let L={type:"JsdocTypeSymbol",value:_.value};return _.element!==void 0&&(L.element=I(_.element)),L},JsdocTypeOptional:(_,I)=>({type:"JsdocTypeOptional",element:I(_.element),meta:{position:_.meta.position}}),JsdocTypeObject:(_,I)=>({type:"JsdocTypeObject",meta:{separator:"comma"},elements:_.elements.map(I)}),JsdocTypeNumber:_=>_,JsdocTypeNull:_=>_,JsdocTypeNotNullable:(_,I)=>({type:"JsdocTypeNotNullable",element:I(_.element),meta:{position:_.meta.position}}),JsdocTypeSpecialNamePath:_=>_,JsdocTypeObjectField:(_,I)=>({type:"JsdocTypeObjectField",key:_.key,right:_.right===void 0?void 0:I(_.right),optional:_.optional,readonly:_.readonly,meta:_.meta}),JsdocTypeJsdocObjectField:(_,I)=>({type:"JsdocTypeJsdocObjectField",left:I(_.left),right:I(_.right)}),JsdocTypeKeyValue:(_,I)=>({type:"JsdocTypeKeyValue",key:_.key,right:_.right===void 0?void 0:I(_.right),optional:_.optional,variadic:_.variadic}),JsdocTypeImport:(_,I)=>({type:"JsdocTypeImport",element:I(_.element)}),JsdocTypeAny:_=>_,JsdocTypeStringValue:_=>_,JsdocTypeNamePath:_=>_,JsdocTypeVariadic:(_,I)=>{let L={type:"JsdocTypeVariadic",meta:{position:_.meta.position,squareBrackets:_.meta.squareBrackets}};return _.element!==void 0&&(L.element=I(_.element)),L},JsdocTypeTuple:(_,I)=>({type:"JsdocTypeTuple",elements:_.elements.map(I)}),JsdocTypeName:_=>_,JsdocTypeFunction:(_,I)=>{let L={type:"JsdocTypeFunction",arrow:_.arrow,parameters:_.parameters.map(I),constructor:_.constructor,parenthesis:_.parenthesis};return _.returnType!==void 0&&(L.returnType=I(_.returnType)),L},JsdocTypeKeyof:(_,I)=>({type:"JsdocTypeKeyof",element:I(_.element)}),JsdocTypeParenthesis:(_,I)=>({type:"JsdocTypeParenthesis",element:I(_.element)}),JsdocTypeProperty:_=>_,JsdocTypePredicate:(_,I)=>({type:"JsdocTypePredicate",left:I(_.left),right:I(_.right)}),JsdocTypeIndexSignature:(_,I)=>({type:"JsdocTypeIndexSignature",key:_.key,right:I(_.right)}),JsdocTypeMappedType:(_,I)=>({type:"JsdocTypeMappedType",key:_.key,right:I(_.right)}),JsdocTypeAsserts:(_,I)=>({type:"JsdocTypeAsserts",left:I(_.left),right:I(_.right)})}}let di={JsdocTypeAny:[],JsdocTypeFunction:["parameters","returnType"],JsdocTypeGeneric:["left","elements"],JsdocTypeImport:[],JsdocTypeIndexSignature:["right"],JsdocTypeIntersection:["elements"],JsdocTypeKeyof:["element"],JsdocTypeKeyValue:["right"],JsdocTypeMappedType:["right"],JsdocTypeName:[],JsdocTypeNamePath:["left","right"],JsdocTypeNotNullable:["element"],JsdocTypeNull:[],JsdocTypeNullable:["element"],JsdocTypeNumber:[],JsdocTypeObject:["elements"],JsdocTypeObjectField:["right"],JsdocTypeJsdocObjectField:["left","right"],JsdocTypeOptional:["element"],JsdocTypeParenthesis:["element"],JsdocTypeSpecialNamePath:[],JsdocTypeStringValue:[],JsdocTypeSymbol:["element"],JsdocTypeTuple:["elements"],JsdocTypeTypeof:["element"],JsdocTypeUndefined:[],JsdocTypeUnion:["elements"],JsdocTypeUnknown:[],JsdocTypeVariadic:["element"],JsdocTypeProperty:[],JsdocTypePredicate:["left","right"],JsdocTypeAsserts:["left","right"]};function pi(_,I,L,V,Z){V?.(_,I,L);let oe=di[_.type];for(let ue of oe){let Te=_[ue];if(Te!==void 0)if(Array.isArray(Te))for(let et of Te)pi(et,_,ue,V,Z);else pi(Te,_,ue,V,Z)}Z?.(_,I,L)}function Hn(_,I,L){pi(_,void 0,void 0,I,L)}r.catharsisTransform=jn,r.identityTransformRules=us,r.jtpTransform=hi,r.parse=W,r.stringify=qt,r.stringifyRules=Wt,r.transform=_e,r.traverse=Hn,r.tryParse=Y,r.visitorKeys=di})});var BT=H((SLe,FT)=>{"use strict";h();d();p();FT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var jd=H((ALe,NT)=>{h();d();p();var Pn=BT(),MT={};for(let r of Object.keys(Pn))MT[Pn[r]]=r;var se={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};NT.exports=se;for(let r of Object.keys(se)){if(!("channels"in se[r]))throw new Error("missing channels property: "+r);if(!("labels"in se[r]))throw new Error("missing channel labels property: "+r);if(se[r].labels.length!==se[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=se[r];delete se[r].channels,delete se[r].labels,Object.defineProperty(se[r],"channels",{value:e}),Object.defineProperty(se[r],"labels",{value:t})}se.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.min(e,t,i),n=Math.max(e,t,i),o=n-s,a,l;n===s?a=0:e===n?a=(t-i)/o:t===n?a=2+(i-e)/o:i===n&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let u=(s+n)/2;return n===s?l=0:u<=.5?l=o/(n+s):l=o/(2-n-s),[a,l*100,u*100]};se.rgb.hsv=function(r){let e,t,i,s,n,o=r[0]/255,a=r[1]/255,l=r[2]/255,u=Math.max(o,a,l),c=u-Math.min(o,a,l),g=function(m){return(u-m)/6/c+1/2};return c===0?(s=0,n=0):(n=c/u,e=g(o),t=g(a),i=g(l),o===u?s=i-t:a===u?s=1/3+e-i:l===u&&(s=2/3+t-e),s<0?s+=1:s>1&&(s-=1)),[s*360,n*100,u*100]};se.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],s=se.rgb.hsl(r)[0],n=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[s,n*100,i*100]};se.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.min(1-e,1-t,1-i),n=(1-e-s)/(1-s)||0,o=(1-t-s)/(1-s)||0,a=(1-i-s)/(1-s)||0;return[n*100,o*100,a*100,s*100]};function Aq(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}se.rgb.keyword=function(r){let e=MT[r];if(e)return e;let t=1/0,i;for(let s of Object.keys(Pn)){let n=Pn[s],o=Aq(r,n);o<t&&(t=o,i=s)}return i};se.keyword.rgb=function(r){return Pn[r]};se.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let s=e*.4124+t*.3576+i*.1805,n=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[s*100,n*100,o*100]};se.rgb.lab=function(r){let e=se.rgb.xyz(r),t=e[0],i=e[1],s=e[2];t/=95.047,i/=100,s/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;let n=116*i-16,o=500*(t-i),a=200*(i-s);return[n,o,a]};se.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,s,n,o;if(t===0)return o=i*255,[o,o,o];i<.5?s=i*(1+t):s=i+t-i*t;let a=2*i-s,l=[0,0,0];for(let u=0;u<3;u++)n=e+1/3*-(u-1),n<0&&n++,n>1&&n--,6*n<1?o=a+(s-a)*6*n:2*n<1?o=s:3*n<2?o=a+(s-a)*(2/3-n)*6:o=a,l[u]=o*255;return l};se.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,s=t,n=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,s*=n<=1?n:2-n;let o=(i+t)/2,a=i===0?2*s/(n+s):2*t/(i+t);return[e,a*100,o*100]};se.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,s=Math.floor(e)%6,n=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*n),l=255*i*(1-t*(1-n));switch(i*=255,s){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};se.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,s=Math.max(i,.01),n,o;o=(2-t)*i;let a=(2-t)*s;return n=t*s,n/=a<=1?a:2-a,n=n||0,o/=2,[e,n*100,o*100]};se.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,s=t+i,n;s>1&&(t/=s,i/=s);let o=Math.floor(6*e),a=1-i;n=6*e-o,o&1&&(n=1-n);let l=t+n*(a-t),u,c,g;switch(o){default:case 6:case 0:u=a,c=l,g=t;break;case 1:u=l,c=a,g=t;break;case 2:u=t,c=a,g=l;break;case 3:u=t,c=l,g=a;break;case 4:u=l,c=t,g=a;break;case 5:u=a,c=t,g=l;break}return[u*255,c*255,g*255]};se.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,s=r[3]/100,n=1-Math.min(1,e*(1-s)+s),o=1-Math.min(1,t*(1-s)+s),a=1-Math.min(1,i*(1-s)+s);return[n*255,o*255,a*255]};se.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,s,n,o;return s=e*3.2406+t*-1.5372+i*-.4986,n=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=Math.min(Math.max(0,s),1),n=Math.min(Math.max(0,n),1),o=Math.min(Math.max(0,o),1),[s*255,n*255,o*255]};se.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*t-16,n=500*(e-t),o=200*(t-i);return[s,n,o]};se.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],s,n,o;n=(e+16)/116,s=t/500+n,o=n-i/200;let a=n**3,l=s**3,u=o**3;return n=a>.008856?a:(n-16/116)/7.787,s=l>.008856?l:(s-16/116)/7.787,o=u>.008856?u:(o-16/116)/7.787,s*=95.047,n*=100,o*=108.883,[s,n,o]};se.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],s;s=Math.atan2(i,t)*360/2/Math.PI,s<0&&(s+=360);let o=Math.sqrt(t*t+i*i);return[e,o,s]};se.lch.lab=function(r){let e=r[0],t=r[1],s=r[2]/360*2*Math.PI,n=t*Math.cos(s),o=t*Math.sin(s);return[e,n,o]};se.rgb.ansi16=function(r,e=null){let[t,i,s]=r,n=e===null?se.rgb.hsv(r)[2]:e;if(n=Math.round(n/50),n===0)return 30;let o=30+(Math.round(s/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return n===2&&(o+=60),o};se.hsv.ansi16=function(r){return se.rgb.ansi16(se.hsv.rgb(r),r[2])};se.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};se.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,s=(e>>1&1)*t*255,n=(e>>2&1)*t*255;return[i,s,n]};se.ansi256.rgb=function(r){if(r>=232){let n=(r-232)*10+8;return[n,n,n]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,s=e%6/5*255;return[t,i,s]};se.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};se.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),s=i>>16&255,n=i>>8&255,o=i&255;return[s,n,o]};se.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,s=Math.max(Math.max(e,t),i),n=Math.min(Math.min(e,t),i),o=s-n,a,l;return o<1?a=n/(1-o):a=0,o<=0?l=0:s===e?l=(t-i)/o%6:s===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};se.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),s=0;return i<1&&(s=(t-.5*i)/(1-i)),[r[0],i*100,s*100]};se.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,s=0;return i<1&&(s=(t-i)/(1-i)),[r[0],i*100,s*100]};se.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let s=[0,0,0],n=e%1*6,o=n%1,a=1-o,l=0;switch(Math.floor(n)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=a,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=a,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=a}return l=(1-t)*i,[(t*s[0]+l)*255,(t*s[1]+l)*255,(t*s[2]+l)*255]};se.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),s=0;return i>0&&(s=e/i),[r[0],s*100,i*100]};se.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,s=0;return i>0&&i<.5?s=e/(2*i):i>=.5&&i<1&&(s=e/(2*(1-i))),[r[0],s*100,i*100]};se.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};se.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,s=i-e,n=0;return s<1&&(n=(i-s)/(1-s)),[r[0],s*100,n*100]};se.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};se.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};se.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};se.gray.hsl=function(r){return[0,0,r[0]]};se.gray.hsv=se.gray.hsl;se.gray.hwb=function(r){return[0,100,r[0]]};se.gray.cmyk=function(r){return[0,0,0,r[0]]};se.gray.lab=function(r){return[r[0],0,0]};se.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};se.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var jT=H((PLe,zT)=>{h();d();p();var al=jd();function Eq(){let r={},e=Object.keys(al);for(let t=e.length,i=0;i<t;i++)r[e[i]]={distance:-1,parent:null};return r}function Iq(r){let e=Eq(),t=[r];for(e[r].distance=0;t.length;){let i=t.pop(),s=Object.keys(al[i]);for(let n=s.length,o=0;o<n;o++){let a=s[o],l=e[a];l.distance===-1&&(l.distance=e[i].distance+1,l.parent=i,t.unshift(a))}}return e}function Rq(r,e){return function(t){return e(r(t))}}function Pq(r,e){let t=[e[r].parent,r],i=al[e[r].parent][r],s=e[r].parent;for(;e[s].parent;)t.unshift(e[s].parent),i=Rq(al[e[s].parent][s],i),s=e[s].parent;return i.conversion=t,i}zT.exports=function(r){let e=Iq(r),t={},i=Object.keys(e);for(let s=i.length,n=0;n<s;n++){let o=i[n];e[o].parent!==null&&(t[o]=Pq(o,e))}return t}});var HT=H((DLe,UT)=>{h();d();p();var Ud=jd(),kq=jT(),es={},Oq=Object.keys(Ud);function Lq(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function Dq(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let s=r(t);if(typeof s=="object")for(let n=s.length,o=0;o<n;o++)s[o]=Math.round(s[o]);return s};return"conversion"in r&&(e.conversion=r.conversion),e}Oq.forEach(r=>{es[r]={},Object.defineProperty(es[r],"channels",{value:Ud[r].channels}),Object.defineProperty(es[r],"labels",{value:Ud[r].labels});let e=kq(r);Object.keys(e).forEach(i=>{let s=e[i];es[r][i]=Dq(s),es[r][i].raw=Lq(s)})});UT.exports=es});var qT=H((NLe,WT)=>{h();d();p();var Fq=Mt(),Bq=function(){return Fq.Date.now()};WT.exports=Bq});var VT=H((HLe,$T)=>{h();d();p();var Mq=/\s/;function Nq(r){for(var e=r.length;e--&&Mq.test(r.charAt(e)););return e}$T.exports=Nq});var YT=H((VLe,GT)=>{h();d();p();var zq=VT(),jq=/^\s+/;function Uq(r){return r&&r.slice(0,zq(r)+1).replace(jq,"")}GT.exports=Uq});var QT=H((KLe,JT)=>{h();d();p();var Hq=YT(),XT=Jt(),Wq=on(),KT=NaN,qq=/^[-+]0x[0-9a-f]+$/i,$q=/^0b[01]+$/i,Vq=/^0o[0-7]+$/i,Gq=parseInt;function Yq(r){if(typeof r=="number")return r;if(Wq(r))return KT;if(XT(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=XT(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=Hq(r);var t=$q.test(r);return t||Vq.test(r)?Gq(r.slice(2),t?2:8):qq.test(r)?KT:+r}JT.exports=Yq});var tC=H((eDe,eC)=>{h();d();p();var Xq=Jt(),Hd=qT(),ZT=QT(),Kq="Expected a function",Jq=Math.max,Qq=Math.min;function Zq(r,e,t){var i,s,n,o,a,l,u=0,c=!1,g=!1,m=!0;if(typeof r!="function")throw new TypeError(Kq);e=ZT(e)||0,Xq(t)&&(c=!!t.leading,g="maxWait"in t,n=g?Jq(ZT(t.maxWait)||0,e):n,m="trailing"in t?!!t.trailing:m);function y(O){var B=i,F=s;return i=s=void 0,u=O,o=r.apply(F,B),o}function b(O){return u=O,a=setTimeout(T,e),c?y(O):o}function C(O){var B=O-l,F=O-u,U=e-B;return g?Qq(U,n-F):U}function A(O){var B=O-l,F=O-u;return l===void 0||B>=e||B<0||g&&F>=n}function T(){var O=Hd();if(A(O))return R(O);a=setTimeout(T,C(O))}function R(O){return a=void 0,m&&i?y(O):(i=s=void 0,o)}function P(){a!==void 0&&clearTimeout(a),u=0,i=l=s=a=void 0}function E(){return a===void 0?o:R(Hd())}function k(){var O=Hd(),B=A(O);if(i=arguments,s=this,l=O,B){if(a===void 0)return b(l);if(g)return clearTimeout(a),a=setTimeout(T,e),y(l)}return a===void 0&&(a=setTimeout(T,e)),o}return k.cancel=P,k.flush=E,k}eC.exports=Zq});function oi(){return(oi=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r}).apply(this,arguments)}function Gd(r,e){if(r==null)return{};var t,i,s={},n=Object.keys(r);for(i=0;i<n.length;i++)e.indexOf(t=n[i])>=0||(s[t]=r[t]);return s}function Wd(r){var e=Bt(r),t=Bt(function(i){e.current&&e.current(i)});return e.current=r,t.current}function dC(r,e,t){var i=Wd(t),s=Fe(function(){return r.toHsva(e)}),n=s[0],o=s[1],a=Bt({color:e,hsva:n});He(function(){if(!r.equal(e,a.current.color)){var u=r.toHsva(e);a.current={hsva:u,color:e},o(u)}},[e,r]),He(function(){var u;cC(n,a.current.hsva)||r.equal(u=r.fromHsva(n),a.current.color)||(a.current={hsva:n,color:u},i(u))},[n,r,i]);var l=ut(function(u){o(function(c){return Object.assign({},c,u)})},[]);return[n,l]}var ts,kn,qd,rC,iC,Yd,On,Xd,st,e8,t8,$d,r8,i8,s8,n8,nC,Vd,ul,oC,o8,ll,a8,aC,lC,uC,cC,hC,l8,u8,c8,h8,sC,pC,d8,p8,fC,f8,gC,g8,mC,m8,_C,yC=Vt(()=>{h();d();p();Ge();ts=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),r>t?t:r<e?e:r},kn=function(r){return"touches"in r},qd=function(r){return r&&r.ownerDocument.defaultView||self},rC=function(r,e,t){var i=r.getBoundingClientRect(),s=kn(e)?function(n,o){for(var a=0;a<n.length;a++)if(n[a].identifier===o)return n[a];return n[0]}(e.touches,t):e;return{left:ts((s.pageX-(i.left+qd(r).pageXOffset))/i.width),top:ts((s.pageY-(i.top+qd(r).pageYOffset))/i.height)}},iC=function(r){!kn(r)&&r.preventDefault()},Yd=z.memo(function(r){var e=r.onMove,t=r.onKey,i=Gd(r,["onMove","onKey"]),s=Bt(null),n=Wd(e),o=Wd(t),a=Bt(null),l=Bt(!1),u=vr(function(){var y=function(A){iC(A),(kn(A)?A.touches.length>0:A.buttons>0)&&s.current?n(rC(s.current,A,a.current)):C(!1)},b=function(){return C(!1)};function C(A){var T=l.current,R=qd(s.current),P=A?R.addEventListener:R.removeEventListener;P(T?"touchmove":"mousemove",y),P(T?"touchend":"mouseup",b)}return[function(A){var T=A.nativeEvent,R=s.current;if(R&&(iC(T),!function(E,k){return k&&!kn(E)}(T,l.current)&&R)){if(kn(T)){l.current=!0;var P=T.changedTouches||[];P.length&&(a.current=P[0].identifier)}R.focus(),n(rC(R,T,a.current)),C(!0)}},function(A){var T=A.which||A.keyCode;T<37||T>40||(A.preventDefault(),o({left:T===39?.05:T===37?-.05:0,top:T===40?.05:T===38?-.05:0}))},C]},[o,n]),c=u[0],g=u[1],m=u[2];return He(function(){return m},[m]),z.createElement("div",oi({},i,{onTouchStart:c,onMouseDown:c,className:"react-colorful__interactive",ref:s,onKeyDown:g,tabIndex:0,role:"slider"}))}),On=function(r){return r.filter(Boolean).join(" ")},Xd=function(r){var e=r.color,t=r.left,i=r.top,s=i===void 0?.5:i,n=On(["react-colorful__pointer",r.className]);return z.createElement("div",{className:n,style:{top:100*s+"%",left:100*t+"%"}},z.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},st=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*r)/t},e8={grad:.9,turn:360,rad:360/(2*Math.PI)},t8=function(r){return aC($d(r))},$d=function(r){return r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?st(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?st(parseInt(r.substring(6,8),16)/255,2):1}},r8=function(r,e){return e===void 0&&(e="deg"),Number(r)*(e8[e]||1)},i8=function(r){var e=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return e?s8({h:r8(e[1],e[2]),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)}):{h:0,s:0,v:0,a:1}},s8=function(r){var e=r.s,t=r.l;return{h:r.h,s:(e*=(t<50?t:100-t)/100)>0?2*e/(t+e)*100:0,v:t+e,a:r.a}},n8=function(r){return a8(oC(r))},nC=function(r){var e=r.s,t=r.v,i=r.a,s=(200-e)*t/100;return{h:st(r.h),s:st(s>0&&s<200?e*t/100/(s<=100?s:200-s)*100:0),l:st(s/2),a:st(i,2)}},Vd=function(r){var e=nC(r);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},ul=function(r){var e=nC(r);return"hsla("+e.h+", "+e.s+"%, "+e.l+"%, "+e.a+")"},oC=function(r){var e=r.h,t=r.s,i=r.v,s=r.a;e=e/360*6,t/=100,i/=100;var n=Math.floor(e),o=i*(1-t),a=i*(1-(e-n)*t),l=i*(1-(1-e+n)*t),u=n%6;return{r:st(255*[i,a,o,o,l,i][u]),g:st(255*[l,i,i,a,o,o][u]),b:st(255*[o,o,l,i,i,a][u]),a:st(s,2)}},o8=function(r){var e=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return e?aC({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):{h:0,s:0,v:0,a:1}},ll=function(r){var e=r.toString(16);return e.length<2?"0"+e:e},a8=function(r){var e=r.r,t=r.g,i=r.b,s=r.a,n=s<1?ll(st(255*s)):"";return"#"+ll(e)+ll(t)+ll(i)+n},aC=function(r){var e=r.r,t=r.g,i=r.b,s=r.a,n=Math.max(e,t,i),o=n-Math.min(e,t,i),a=o?n===e?(t-i)/o:n===t?2+(i-e)/o:4+(e-t)/o:0;return{h:st(60*(a<0?a+6:a)),s:st(n?o/n*100:0),v:st(n/255*100),a:s}},lC=z.memo(function(r){var e=r.hue,t=r.onChange,i=On(["react-colorful__hue",r.className]);return z.createElement("div",{className:i},z.createElement(Yd,{onMove:function(s){t({h:360*s.left})},onKey:function(s){t({h:ts(e+360*s.left,0,360)})},"aria-label":"Hue","aria-valuenow":st(e),"aria-valuemax":"360","aria-valuemin":"0"},z.createElement(Xd,{className:"react-colorful__hue-pointer",left:e/360,color:Vd({h:e,s:100,v:100,a:1})})))}),uC=z.memo(function(r){var e=r.hsva,t=r.onChange,i={backgroundColor:Vd({h:e.h,s:100,v:100,a:1})};return z.createElement("div",{className:"react-colorful__saturation",style:i},z.createElement(Yd,{onMove:function(s){t({s:100*s.left,v:100-100*s.top})},onKey:function(s){t({s:ts(e.s+100*s.left,0,100),v:ts(e.v-100*s.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+st(e.s)+"%, Brightness "+st(e.v)+"%"},z.createElement(Xd,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Vd(e)})))}),cC=function(r,e){if(r===e)return!0;for(var t in r)if(r[t]!==e[t])return!1;return!0},hC=function(r,e){return r.replace(/\s/g,"")===e.replace(/\s/g,"")},l8=function(r,e){return r.toLowerCase()===e.toLowerCase()||cC($d(r),$d(e))};c8=typeof window<"u"?Il:He,h8=function(){return u8||(typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0)},sC=new Map,pC=function(r){c8(function(){var e=r.current?r.current.ownerDocument:document;if(e!==void 0&&!sC.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,sC.set(e,t);var i=h8();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},d8=function(r){var e=r.className,t=r.colorModel,i=r.color,s=i===void 0?t.defaultColor:i,n=r.onChange,o=Gd(r,["className","colorModel","color","onChange"]),a=Bt(null);pC(a);var l=dC(t,s,n),u=l[0],c=l[1],g=On(["react-colorful",e]);return z.createElement("div",oi({},o,{ref:a,className:g}),z.createElement(uC,{hsva:u,onChange:c}),z.createElement(lC,{hue:u.h,onChange:c,className:"react-colorful__last-control"}))},p8={defaultColor:"000",toHsva:t8,fromHsva:function(r){return n8({h:r.h,s:r.s,v:r.v,a:1})},equal:l8},fC=function(r){return z.createElement(d8,oi({},r,{colorModel:p8}))},f8=function(r){var e=r.className,t=r.hsva,i=r.onChange,s={backgroundImage:"linear-gradient(90deg, "+ul(Object.assign({},t,{a:0}))+", "+ul(Object.assign({},t,{a:1}))+")"},n=On(["react-colorful__alpha",e]),o=st(100*t.a);return z.createElement("div",{className:n},z.createElement("div",{className:"react-colorful__alpha-gradient",style:s}),z.createElement(Yd,{onMove:function(a){i({a:a.left})},onKey:function(a){i({a:ts(t.a+a.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},z.createElement(Xd,{className:"react-colorful__alpha-pointer",left:t.a,color:ul(t)})))},gC=function(r){var e=r.className,t=r.colorModel,i=r.color,s=i===void 0?t.defaultColor:i,n=r.onChange,o=Gd(r,["className","colorModel","color","onChange"]),a=Bt(null);pC(a);var l=dC(t,s,n),u=l[0],c=l[1],g=On(["react-colorful",e]);return z.createElement("div",oi({},o,{ref:a,className:g}),z.createElement(uC,{hsva:u,onChange:c}),z.createElement(lC,{hue:u.h,onChange:c}),z.createElement(f8,{hsva:u,onChange:c,className:"react-colorful__last-control"}))},g8={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:i8,fromHsva:ul,equal:hC},mC=function(r){return z.createElement(gC,oi({},r,{colorModel:g8}))},m8={defaultColor:"rgba(0, 0, 0, 1)",toHsva:o8,fromHsva:function(r){var e=oC(r);return"rgba("+e.r+", "+e.g+", "+e.b+", "+e.a+")"},equal:hC},_C=function(r){return z.createElement(gC,oi({},r,{colorModel:m8}))}});var TC={};rr(TC,{ColorControl:()=>wC,default:()=>D8});var Lt,vC,_8,y8,x8,b8,v8,S8,w8,xC,T8,C8,SC,cl,A8,E8,I8,Kd,R8,P8,hl,bC,rs,k8,O8,dl,L8,wC,D8,CC=Vt(()=>{h();d();p();uc();Ge();ta();xc();Ec();Lt=ye(HT(),1),vC=ye(tC(),1);yC();_8=J.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),y8=J(ea)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),x8=J.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),b8=J(fc)(({theme:r})=>({fontFamily:r.typography.fonts.base})),v8=J.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),S8=J.div(({theme:r,active:e})=>({width:16,height:16,boxShadow:e?`${r.appBorderColor} 0 0 0 1px inset, ${r.textMutedColor}50 0 0 0 4px`:`${r.appBorderColor} 0 0 0 1px inset`,borderRadius:r.appBorderRadius})),w8=`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,xC=({value:r,style:e,...t})=>{let i=`linear-gradient(${r}, ${r}), ${w8}, linear-gradient(#fff, #fff)`;return z.createElement(S8,{...t,style:{...e,backgroundImage:i}})},T8=J(Rr.Input)(({theme:r,readOnly:e})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:r.typography.fonts.base})),C8=J(lg)(({theme:r})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:r.input.color})),SC=(r=>(r.RGB="rgb",r.HSL="hsl",r.HEX="hex",r))(SC||{}),cl=Object.values(SC),A8=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,E8=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,I8=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,Kd=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,R8=/^\s*#?([0-9a-f]{3})\s*$/i,P8={hex:fC,rgb:_C,hsl:mC},hl={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},bC=r=>{let e=r?.match(A8);if(!e)return[0,0,0,1];let[,t,i,s,n=1]=e;return[t,i,s,n].map(Number)},rs=r=>{if(!r)return;let e=!0;if(E8.test(r)){let[o,a,l,u]=bC(r),[c,g,m]=Lt.default.rgb.hsl([o,a,l])||[0,0,0];return{valid:e,value:r,keyword:Lt.default.rgb.keyword([o,a,l]),colorSpace:"rgb",rgb:r,hsl:`hsla(${c}, ${g}%, ${m}%, ${u})`,hex:`#${Lt.default.rgb.hex([o,a,l]).toLowerCase()}`}}if(I8.test(r)){let[o,a,l,u]=bC(r),[c,g,m]=Lt.default.hsl.rgb([o,a,l])||[0,0,0];return{valid:e,value:r,keyword:Lt.default.hsl.keyword([o,a,l]),colorSpace:"hsl",rgb:`rgba(${c}, ${g}, ${m}, ${u})`,hsl:r,hex:`#${Lt.default.hsl.hex([o,a,l]).toLowerCase()}`}}let t=r.replace("#",""),i=Lt.default.keyword.rgb(t)||Lt.default.hex.rgb(t),s=Lt.default.rgb.hsl(i),n=r;if(/[^#a-f0-9]/i.test(r)?n=t:Kd.test(r)&&(n=`#${t}`),n.startsWith("#"))e=Kd.test(n);else try{Lt.default.keyword.hex(n)}catch{e=!1}return{valid:e,value:n,keyword:Lt.default.rgb.keyword(i),colorSpace:"hex",rgb:`rgba(${i[0]}, ${i[1]}, ${i[2]}, 1)`,hsl:`hsla(${s[0]}, ${s[1]}%, ${s[2]}%, 1)`,hex:n}},k8=(r,e,t)=>{if(!r||!e?.valid)return hl[t];if(t!=="hex")return e?.[t]||hl[t];if(!e.hex.startsWith("#"))try{return`#${Lt.default.keyword.hex(e.hex)}`}catch{return hl.hex}let i=e.hex.match(R8);if(!i)return Kd.test(e.hex)?e.hex:hl.hex;let[s,n,o]=i[1].split("");return`#${s}${s}${n}${n}${o}${o}`},O8=(r,e)=>{let[t,i]=Fe(r||""),[s,n]=Fe(()=>rs(t)),[o,a]=Fe(s?.colorSpace||"hex");He(()=>{let g=r||"",m=rs(g);i(g),n(m),a(m?.colorSpace||"hex")},[r]);let l=vr(()=>k8(t,s,o).toLowerCase(),[t,s,o]),u=ut(g=>{let m=rs(g),y=m?.value||g||"";i(y),y===""&&(n(void 0),e(void 0)),m&&(n(m),a(m.colorSpace),e(m.value))},[e]),c=ut(()=>{let g=cl.indexOf(o)+1;g>=cl.length&&(g=0),a(cl[g]);let m=s?.[cl[g]]||"";i(m),e(m)},[s,o,e]);return{value:t,realValue:l,updateValue:u,color:s,colorSpace:o,cycleColorSpace:c}},dl=r=>r.replace(/\s*/,"").toLowerCase(),L8=(r,e,t)=>{let[i,s]=Fe(e?.valid?[e]:[]);He(()=>{e===void 0&&s([])},[e]);let n=vr(()=>(r||[]).map(a=>typeof a=="string"?rs(a):a.title?{...rs(a.color),keyword:a.title}:rs(a.color)).concat(i).filter(Boolean).slice(-27),[r,i]),o=ut(a=>{a?.valid&&(n.some(l=>dl(l[t])===dl(a[t]))||s(l=>l.concat(a)))},[t,n]);return{presets:n,addPreset:o}},wC=({name:r,value:e,onChange:t,onFocus:i,onBlur:s,presetColors:n,startOpen:o=!1,argType:a})=>{let l=ut((0,vC.default)(t,200),[t]),{value:u,realValue:c,updateValue:g,color:m,colorSpace:y,cycleColorSpace:b}=O8(e,l),{presets:C,addPreset:A}=L8(n,m,y),T=P8[y],R=!!a?.table?.readonly;return z.createElement(_8,{"aria-readonly":R},z.createElement(y8,{startOpen:o,trigger:R?[null]:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>A(m),tooltip:z.createElement(x8,null,z.createElement(T,{color:c==="transparent"?"#000000":c,onChange:g,onFocus:i,onBlur:s}),C.length>0&&z.createElement(v8,null,C.map((P,E)=>z.createElement(ea,{key:`${P.value}-${E}`,hasChrome:!1,tooltip:z.createElement(b8,{note:P.keyword||P.value})},z.createElement(xC,{value:P[y],active:m&&dl(P[y])===dl(m[y]),onClick:()=>g(P.value)})))))},z.createElement(xC,{value:c,style:{margin:4}})),z.createElement(T8,{id:Kt(r),value:u,onChange:P=>g(P.target.value),onFocus:P=>P.target.select(),readOnly:R,placeholder:"Choose color..."}),u?z.createElement(C8,{onClick:b}):null)},D8=wC});h();d();p();h();d();p();h();d();p();var f$=__STORYBOOK_API__,{ActiveTabs:g$,Consumer:m$,ManagerContext:_$,Provider:y$,RequestResponseError:x$,addons:Gt,combineParameters:b$,controlOrMetaKey:v$,controlOrMetaSymbol:S$,eventMatchesShortcut:w$,eventToShortcut:T$,experimental_requestResponse:C$,isMacLike:A$,isShortcutTaken:E$,keyToSymbol:I$,merge:R$,mockChannel:P$,optionOrAltSymbol:k$,shortcutMatchesShortcut:O$,shortcutToHumanString:L$,types:br,useAddonState:D$,useArgTypes:F$,useArgs:B$,useChannel:M$,useGlobalTypes:N$,useGlobals:_t,useParameter:z$,useSharedState:j$,useStoryPrepared:U$,useStorybookApi:$n,useStorybookState:H$}=__STORYBOOK_API__;h();d();p();h();d();p();var G$=__STORYBOOK_THEMING_CREATE__,{create:hp,themes:dp}=__STORYBOOK_THEMING_CREATE__;var pp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdQAAABiCAYAAADpwyKwAAAMZGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWVBJaIAJSQm+iSA0gJYQWQUCqICohCSSUGBOCiB1dVsG1iyiWFV0VcdHVFZC1IOJiWxR7XyyoKOtiwYbKm5CArr7yvfm+ufPnzJkz55zM3DsDgE4HXybLRXUByJPmy+PCg1kTUlJZpAeACAhAF/gCjC9QyDixsVEAlsH2n+X1FYCo2osuKlvf9v/Xoi8UKQQAIGmQM4QKQR7kJgDwYoFMng8AMQTKrafny1Qshmwghw5CnqXiLDUvV3GGmrcN6CTEcSE3AECm8fnyLAC0W6CcVSDIgna0H0B2lQolUgB0DCAHCMR8IeQEyCPy8qaqeB5kB6gvg7wTMjvjC5tZ/7CfMWSfz88aYnVcA4UcIlHIcvkz/s/U/O+Sl6scnMMOVppYHhGnih/m8FrO1EgV0yB3SzOiY1S5hvxWIlTnHQCUKlZGJKr1UVOBggvzB5iQXYX8kEjIppDDpLnRURp5RqYkjAcZrha0UJLPS9CMXSRShMZrbG6QT42LGeRMOZejGVvLlw/Mq9JvUeYkcjT2r4lFvEH7r4rECcmQqQBg1AJJUjRkbcgGipz4SLUOZlUk5kYP6siVcSr/bSCzRdLwYLV9LC1THhan0ZflKQbjxUrEEl60hivyxQkR6vxguwT8Af+NINeJpJzEQTsixYSowViEopBQdexYm0iaqIkXuyPLD47TjO2R5cZq9HGyKDdcJbeCbKIoiNeMxcfkw8Wpto9HyfJjE9R+4unZ/LGxan/wAhAFuCAEsIAS1gwwFWQDSVt3fTf8pe4JA3wgB1lABFw0ksERyQM9UviMB0XgL0gioBgaFzzQKwIFUP5xSKp+uoDMgd6CgRE54CHkPBAJcuFv5cAo6dBsSeABlEi+mV0Afc2FVdX3rYwDJVEaiXLQLktnUJMYSgwhRhDDiI64CR6A++FR8BkEqxvOxn0Gvf2sT3hIaCfcI1wmdBCuT5EUy7/yZRzogPbDNBFnfBkxbgdteuLBuD+0Di3jTNwEuOAecB4OHghn9oRSrsZvVeysfxPnUARf5FyjR3GloJRhlCCKw9cjtZ20PYesqDL6ZX7UvmYMZZU71PP1/Nwv8iyEbeTXmtgibD/Wih3DTmGHsHrAwo5iDdhZ7LCKh9bQg4E1NDhb3IA/OdCO5Jv5+Jo5VZlUuNa4drl+0PSBfFFhvmqDcafKZsglWeJ8Fgd+BUQsnlQwcgTLzdXNFQDVN0X9mnrJHPhWIMzTn2XFrQD4x/T39x/6LIsqBOAA3EvUF59l9msBoIsAODlXoJQXqGW46kGAbwMduKOMgTmwBg4wIjfgBfxAEAgFY0EMSAApYDLMsxiuZzmYDmaB+aAElIHlYA1YDzaDrWAn+BnsA/XgEDgGfgdnwHlwGdyE66cTPAU94DXoQxCEhNARBmKMWCC2iDPihrCRACQUiULikBQkHclCpIgSmYUsQMqQlch6ZAtSjfyCHESOIaeQduQ6chfpQl4g71EMpaEGqBlqh45C2SgHjUQT0EloFjoNLUIXokvRCrQK3Y3WocfQM+hltAN9ivZiANPCmJgl5oKxMS4Wg6VimZgcm4OVYuVYFVaLNcJ/+iLWgXVj73AizsBZuAtcwxF4Ii7Ap+Fz8CX4enwnXoe34Bfxu3gP/olAJ5gSnAm+BB5hAiGLMJ1QQignbCccIJyAu6mT8JpIJDKJ9kRvuBtTiNnEmcQlxI3EPcQmYjvxPrGXRCIZk5xJ/qQYEp+UTyohrSPtJh0lXSB1kt6StcgWZDdyGDmVLCUXk8vJu8hHyBfIj8h9FF2KLcWXEkMRUmZQllG2URop5yidlD6qHtWe6k9NoGZT51MrqLXUE9Rb1JdaWlpWWj5a47UkWvO0KrT2ap3Uuqv1jqZPc6JxaWk0JW0pbQetiXad9pJOp9vRg+ip9Hz6Uno1/Tj9Dv2tNkN7pDZPW6g9V7tSu077gvYzHYqOrQ5HZ7JOkU65zn6dczrduhRdO12uLl93jm6l7kHdq7q9egy90Xoxenl6S/R26Z3Se6xP0rfTD9UX6i/U36p/XP8+A2NYM7gMAWMBYxvjBKPTgGhgb8AzyDYoM/jZoM2gx1Df0MMwybDQsNLwsGEHE2PaMXnMXOYy5j7mFeb7YWbDOMNEwxYPqx12Ydgbo+FGQUYio1KjPUaXjd4bs4xDjXOMVxjXG982wU2cTMabTDfZZHLCpHu4wXC/4YLhpcP3Db9hipo6mcaZzjTdanrWtNfM3CzcTGa2zuy4Wbc50zzIPNt8tfkR8y4LhkWAhcRitcVRiycsQxaHlcuqYLWweixNLSMslZZbLNss+6zsrRKtiq32WN22plqzrTOtV1s3W/fYWNiMs5llU2Nzw5Ziy7YV2661bbV9Y2dvl2z3vV293WN7I3uefZF9jf0tB7pDoMM0hyqHS45ER7ZjjuNGx/NOqJOnk9ip0umcM+rs5Sxx3ujcPoIwwmeEdETViKsuNBeOS4FLjcvdkcyRUSOLR9aPfDbKZlTqqBWjWkd9cvV0zXXd5npztP7osaOLRzeOfuHm5CZwq3S75E53D3Of697g/tzD2UPkscnjmifDc5zn957Nnh+9vL3kXrVeXd423uneG7yvsg3Ysewl7JM+BJ9gn7k+h3ze+Xr55vvu8/3bz8Uvx2+X3+Mx9mNEY7aNue9v5c/33+LfEcAKSA/4MaAj0DKQH1gVeC/IOkgYtD3oEceRk83ZzXkW7BosDz4Q/Ibry53NbQrBQsJDSkPaQvVDE0PXh94JswrLCqsJ6wn3DJ8Z3hRBiIiMWBFxlWfGE/CqeT1jvcfOHtsSSYuMj1wfeS/KKUoe1TgOHTd23Kpxt6Jto6XR9TEghhezKuZ2rH3stNjfxhPHx46vHP8wbnTcrLjWeEb8lPhd8a8TghOWJdxMdEhUJjYn6SSlJVUnvUkOSV6Z3DFh1ITZE86kmKRIUhpSSalJqdtTeyeGTlwzsTPNM60k7cok+0mFk05NNpmcO/nwFJ0p/Cn70wnpyem70j/wY/hV/N4MXsaGjB4BV7BW8FQYJFwt7BL5i1aKHmX6Z67MfJzln7Uqq0scKC4Xd0u4kvWS59kR2Zuz3+TE5OzI6c9Nzt2TR85Lzzso1ZfmSFummk8tnNouc5aVyDqm+U5bM61HHinfrkAUkxQN+Qbw8H5W6aD8Tnm3IKCgsuDt9KTp+wv1CqWFZ2c4zVg841FRWNFPM/GZgpnNsyxnzZ91dzZn9pY5yJyMOc1zrecunNs5L3zezvnU+Tnz/yh2LV5Z/GpB8oLGhWYL5y28/134dzUl2iXykqvf+32/eRG+SLKobbH74nWLP5UKS0+XuZaVl31YIlhy+ofRP1T80L80c2nbMq9lm5YTl0uXX1kRuGLnSr2VRSvvrxq3qm41a3Xp6ldrpqw5Ve5Rvnktda1ybUdFVEXDOpt1y9d9WC9ef7kyuHLPBtMNize82SjceGFT0KbazWabyza//1Hy47Ut4VvqquyqyrcStxZsfbgtaVvrT+yfqrebbC/b/nGHdEfHzridLdXe1dW7THctq0FrlDVdu9N2n/855OeGWpfaLXuYe8r2gr3KvU9+Sf/lyr7Ifc372ftrf7X9dcMBxoHSOqRuRl1Pvbi+oyGlof3g2IPNjX6NB34b+duOQ5aHKg8bHl52hHpk4ZH+o0VHe5tkTd3Hso7db57SfPP4hOOXWsa3tJ2IPHHy97Dfj7dyWo+e9D956JTvqYOn2afrz3idqTvrefbAH55/HGjzaqs7532u4bzP+cb2Me1HLgReOHYx5OLvl3iXzlyOvtx+JfHKtatpVzuuCa89vp57/fmNght9N+fdItwqva17u/yO6Z2qPx3/3NPh1XH4bsjds/fi7928L7j/9IHiwYfOhQ/pD8sfWTyqfuz2+FBXWNf5JxOfdD6VPe3rLvlL768Nzxye/fp30N9neyb0dD6XP+9/seSl8csdrzxeNffG9t55nfe6703pW+O3O9+x37W+T37/qG/6B9KHio+OHxs/RX661Z/X3y/jy/kDRwEMVjQzE4AXO+A5IQUAxnl4fpiovvMNFER9Tx0g8J9YfS8cKF4A1MJGdVznNgGwF1a7efCIDlvVUT0hCKDu7kNVUxSZ7m5qWzR44yG87e9/aQYAqRGAj/L+/r6N/f0f4R0Vuw5A0zT1XVNViPBu8GOQii4bCeeBr4r6HvpFjF+3QOWBB/i6/Rdxi4lInc448gAAAIplWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAAAdSgAwAEAAAAAQAAAGIAAAAAQVNDSUkAAABTY3JlZW5zaG90kx7ieQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDY4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjk4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CjlohlkAAAAcaURPVAAAAAIAAAAAAAAAMQAAACgAAAAxAAAAMQAAFSrMXL20AAAU9klEQVR4AeydCXgV1RXHT/aFhIQdJFbysSPKEllkjSC0lTWsomirArKDYitWqwjIorQVi4qAgKBQCy2yFFF2WUQWURFUCAKCyhYCScjysvX877w7mbzkxbyXSUjpuV/yZubOvXdmfu/O/Oecuzyf6LpNckmCEBACQkAICAEhUCICPiKoJeInmYWAEBACQkAIKAIiqFIRhIAQEAJCQAjYQEAE1QaIUoQQEAJCQAgIARFUqQNCQAgIASEgBGwgIIJqA0QpQggIASEgBISACKrUASEgBISAEBACNhAQQbUBohQhBISAEBACQkAEVeqAEBACQkAICAEbCIig2gBRihACQkAICAEhIIIqdUAICAEhIASEgA0ERFBtgChFCAEhIASEgBAQQZU6IASEgBAQAkLABgIiqDZAlCKEgBAQAkJACIigSh0QAkJACAgBIWADARFUGyBKEUJACAgBISAERFClDggBISAEhIAQsIGACKoNEKUIISAEhIAQEAIiqFIHhIAQEAJCQAjYQEAE1QaIUoQQEAJCQAgIgTIXVB8wVx8ews/Nny8X2xKEgBAQAkJACJQTAmUmqD4QUacoeqOnVl5WLRVhtZKRdSEgBISAELhRBEpdUJWQ8tVpEXXdxoXrOHcQrKKpxVTHuW67K0PihYAQEAJCQAiUJoFSE1QloPyBpfpX6/jIdW4j1tiXf0Vt5X04FTNPOHOVoQtBRZxeIoMW2bzMsiYEhIAQEAJCoGwIlIqgKqlUAsqCyUtfvhYsffjD1xKv4qzXiQgdLOqoxJQ/cnifFtAcCCpvYFutO/NZsumSZCkEhIAQEAJCoNQJlJqgKuFUIsqC6hRSP972ZXXFto+yVLE0rFSrluqr1kKqRBORHJGtBDSXclhdsQ5RNcQ1T3B1flkKASEgBISAECgrArYLqhZICKrx70N+LKL49+cIxGE9T1gNQdUXzLuVK1dvQ0z5j0UzT0Szs1lMWUWzeEc2CytE1RBXIy3ySBACQkAICAEhUJYEbBVUiKESVCWmLKRO8fSHmPJGgJ8hqv68NPaxherM4+6iIY6wQCGgEM0sFtAsXslkUc2CqEJcsd8puEjPfxKEgBAQAkJACJQpAXsFVQlpnmWqhJRNUghpcIAPVeD/ztWDqVWVQCWoEFOlwEVdsjI3fVgk8zojpbOCfp3ooA9+SKeUzBwlrtqCRTsrgspmrMqnEBACQkAICIFSJ2CboGpL03Dz5lmigWyKBvoThQX6UvVQXxrXsCLVCPZTgurN1UEwr2bk0NxjyfRdYiYlOVhQOdJoUzXaU1GuCKo3dCWPEBACQkAIeEvANkGFkEJU0Tbqx35fuHUhpkEBREH+PlQl2Jd63laBOtYMpmD4e70IcOU62Drd/mMarYi/TtdZTNMyDfcv2lJhpcL9iyCCanCQTyEgBISAECgbArYIqtU69WNlhasXbt5AFtIQuHoDfahxpUB6tEk4hQX4qs5JHl8eCyXaUk8lZdJ7x1PomwSHEtOMLGKXLwspC6pqR+U0IqYe05UMQkAICAEhUEICtgkqLFSIqZ9vrhJMiCnaTUNZTCuH+NLABuHUhq1TZckWNkbmFy4EPXnRdrqeLdMdZ9PoUmoWZWQaFis6KClBZcWF6PKfBCEgBISAEBACZUqgxIJqtU4xvhSWKf7h5oV1Gh7kSy1rBVEfFtRaYf7KLezNFcIKPX2NrdOjSfT9lUxKceSyoOYqF7CDBTXHKaZoYxUL1RvCkkcICAEhIARKQsAWQYXV6ausUxZTdvca1qmzI1K4H/VtGE4xtUMomEXWmwCLM4U7Im1kV+/O06mUmJZtuHudFiqG0qj2U14irQiqN5QljxAQAkJACJSEQIkE1Wqd6okbVK9e7ogE6zSCXb1NqgXR0JaRVDnUT82Q5PHJskKibfS7ixm07PBVupicTcksruk8qwMsVPTwxVhUNWyG04qgekxYMggBISAEhIANBLwWVC2maA6FhYpZkFRHJO7BG8yCGsymas2KfjSwWQTF/CqU9xmTOHh6zmgbTWPVXLwvgY5dcChLNdXF3at7+Or2U7FQPaUs6YWAEBACQqCkBEosqBBT3bM3EG2nbJnCOg3jYTLN2c37SLvKFBrE407ZFexpgDA62BI9cOo6rT9yjS6nZFMqW6UYKuPg/wxuV0WHJOsYVLFQPaUs6YWAEBACQsAOAt4LqtMyxZBSJagYJsMbIWydQkyrcQekRztVoSa3hJi/NuPpCcPivMAdkVbtv0LxlxyUnI62UzLdvQ4MmeFEpoWKtlTnQW4WK3Xy05OoV8/7aMN/PqSZs+Z4irBY6Z+YOI7GjB6hOnbd0awVZWRkFCtfeUhUFnzKw3WWx3Pw5UHn9erVpdubNKb69etRdnYWnT59hg4cOEQ/nD1XHk9ZzkkIlCoBrwQVbl7+Mya65w1jEgcWVKd1GsntpZ0ahVHfuypxOyorrZchlbvvfnYihbYeSVIdkVIzeOgMW6zqH+2nvK7m9GXhhZVa3tpRw8LC6IvPP1VXv3r1Gpr8p+c9IlG3bjRt/miDmadrtx506tRpc9uulalTnqOhQ4eo4pre2YpSU1PtKrpUyykrPqV6EZbCH+Lv4IXn/6RiHhz6KH22/4Bl7y+vxh8/ohJ9uOljGjd+Ur4M+/buoKpVq9CZMz8Q6lFJQqXISJo8+Snq26cnBQTwG3QhISHhCr05fyEtXrKskL0SJQRuTgJeCyo8uNrdq9pO1bhTtk55mEwUz9X7u9iq1KBWsOrx6w06WJhnL6fTxoOJdOpCBl3njkhpbJGmO1296ejhy4KKmZP0ONTyJqh48Bw6uEdd/qZNm2n02Ikeobg1Kop27vjIzNM59td09pz9b/52CmqTxo3opelT1DlPfPKP6gFuXoDNK2XFx+bTdlvc6FEj6KlJE9T+x4aPpu3bd7pNW9iO7+OPqujdu/fSw78fni/JkS/3U4UKFejSpcvU5u7O+fZ5shEb24kWzJ9H/niLLkbANQx/fCy/8GrfUTEySRIh4CTw4AODaUD/OLp+/ToNffixcs/FY0G1WqcYd2rMimRMMYi208phftS+UTgN7FCFwtk6heh6GuDqxbjSnYcTad+xJCWmENJ0FlS0m6oevryO9tRU5+T4+OUZw0otP27fkgoquI18/DHq07snrV23gea/9banKIuV3k5Bjevbm/4yZ6Y6rjeiUKwTtiQqCz6Ww5XqankX1CH3D6Tp017g37Mwbuos7l7/0ceb6d9r1tGXXx6hOrf9irp370pt27SmO+9sarI6d+5H6tN3ECVevWrGyYoQKA6BBW/No3u73sNDIXOpbv28OlWcvDcijdeCirZTjD3FuNMAp3UayhPgR1cPpCGdq1Kz6AqqbdV573l0bbkskhk/ptPJ7QmUkpJF2XyQXG6XzeFhOMTu5Cw+TioL6K7TaXTwp3QlsBiLaralsiAj3Oh2VDsE1biS0v38XxbU0iVTtqWXZ0GtWbMG7f5kC9/z8E0RxZ/8nvrGDXbbPNC9W1ea9/e/siXLv4zBoaSWsSpEPv7vCPwfCSpPM8henwAWVfyaTAhPMYhZkTo3DaehXapRBe7Z642YYiBpDnc+SvrgIuXwmFMK4h8lr+hPfpHGP7GopnFv30M8/eBybl89z2k4uTmfr3b7ouaJoBbv/hNBLR6n0k5VngX1w/+soYYNGygE3357nHr27v+LbtyoqNq0aeNaCg0NUflmzf4LLVi4uLQxSvk3EYGbWlC1QMKNq9y9vET7KSzUcBa6Gix8T8bVonrcdoqev96EXLSLnkmj9K+TybcCD7eJ8CdfdiP7sJWancq9fK9m0hGeGH9JfApdScshjElV7aguFuqNFlNcux0WatOmt1Pt2rXop59+piNHjDaywrgGBgZSv7jehDbMKlWq0NFj39Cu3Xvy5bm7bWuqGFGRjh79huCG08GdoPbqdR+1aN6MataoQae5M8uBg4doz55PyeFw6KzmsnOnDhQcEkydOnYguAYRFr29lA59flit57D7YOu2HeZDODq6DjVoUI8uXbxMnx/+QqUJDw+nwYP6U33uORrCD+Fj33yreoweOmSUoRK5fBTFp2uXWPIP8Ke9ez+j5ORklbN9+7upY4d2hPbXhIQEOsjnt2vXXkpMTHQpufDNknAuvMS82PIqqOjFu37danWicPO2adup2O5b6zWdv3CB2rXvknfBLmu4X1Dn8P2jDiP98eMnVHNHWlq6S+q8zQiu0225bjscmWa7c6VKleiBIYNUHUtOTqF9+/Zz/dtOruWgzsXGdqQ2rVtRUFCQyo966q6ne2HHwpncxu7ue7h9uZF+6fjuOK1du6HYnFCGH1soPXr8RvWajqpdm5KSk+jEiZO06aPN6v5HGnehNOo6joX7+q67WlKdOrexNyKNTrJnYhN3eiuqF3d0dMnu7dDQUOrYsR0OT+PHjqbGjRuq9VFjjP4F2ECnt4MHP1fxrh/ofAc3Mb5TR2YmM4ynT3btUXXJNa3d2x65fCGokEksTUFl6xRTDaLttEdMJA1ob4w7RRqPg9M6dZxLp1zuhOTDbl4ILPHPtGVdz1a9eo/yD4uvPZNK3ydlqfZTdE4yf20G7agogw98swjq3j3blKAV5TKb9uKfafDgAaZ7zcod+YaNGK2E9fi3X6o0rh2kXAUVwgt3HR4wrgEPpEl/mMw31eZ8u3SHmHyRLhudYrubQv7+ymXUqlUMu/RT6M7mbWjKC88Sernq9jlr1p9/Pk+/f2QEnYg/aY1W6+74WF9mpk2fxW19W2j92lWEB61rQPvMkiXLafqM2a678m2XlHO+wgrZsIqPN+3P+juwu1MS2sTRNo6wZOlyAs/iBriIjx45qOoSODe+vWWBFzJ8VwsWvE4tWzQr9PtHh6adO3fRqDETC+TFeQwf9gg9w72OEdBLfdTIYQSWrnUJIokyduz4RKVFmokTxhbawWrL1u00gjtTuQbXYwUHB9PiRW/mazPWeXC9EOdRoyfwkCJ2oxURZs+azox7FXoPIxteLB4fNb7QTn6lUdcffugB1UEuLCys0LPGvfjYsFHm/WxNVNJ729oPw1qudR3PodvviLFGKWPi3eWLKTIyIl+83sAICXSULMow0Wm9XZZAUHl2JFZNf25MxcxI9W8Jokl9a9Et/DNtsFh1UGv8gaWO1cu8GCM1KmAOW6G5LKDZLJjZPAYVwgpR5f5HdJbbU1edvk7xHJ/EQ2gyYM3yP9pPy+P0g9aK7ipims8vLd0Jhs636p/vUUzL5npTNd6jsgWwZWYd0jCSb0bdpuV6LlZBHTDwQfoHi53uxYmHWVZWFsEys4ZJTz1Daz5YZ0ZBrPHwxENMP8jwfeJfh7btYuny5QS1ab3pXp37Oj337NM6mXpo+vr6meeAHTiPDp3upfPnL5jpsOKOj5X9y6/8lYYPf1R5DJAH5wQr2/WFYfOWbfT4yHFIUiDYwblAoS4R5VVQDx3Ybb6I3NW6I125csXlzIveRM/gVmzlwLqd+9rrppcCuRo0qE//Xr3SdAsjDvUN4hcUFJyvDsCL8NsecXTx4iUkM4NV5NCT/o15r5r7jHLyvxj27NWfhrD1ih6kOiAd6riuu4jH2O/xEwyh1umsx+r26560ccMa8z5T5831KoRFVrc1I99ZHpPb/Te9C7V6Q9irs2Hdvyg6ug6nNALqelp6Og9DDDDLxh6UDxHbxb24rcHuug5xHzggznoIdWxY0FY+mWz9Dbr/IdUhzZq4pPd2t3u70JtvzFVFWjmCiw6JiVepVZuOelO9jOOlXJ8f0l5LSqIw7tlufQ6CYVy/+5UHz8xs44rHgopjGy5fdlGwMhqC6kv3xURQr9aRaqYkuHuVgPIH0mI9kB+0obyBPOYkhNhhCblsXmZdcVAWT+KQy65crcB4JF9mYV0Rn0zfJWZSsvOHxTGxAwQV8/niuZ0NC9VZnuU5bjlC2a5aK7qriBX3TNwJBvJjUoMRLBQ6vLPsPUI7FR4OCHDVvTZ3jrpZEYeKhQrqei5WQYXQ4MHy8eat9Pbid5TLFWVVrlyZ3lm6QJWJbYh2i5i7C1gM1rfLoqwsfdNZBXfhoiW0YsX7pjupZYvmtGjhG+Yb51dffU19++U9BHEe7vhY2ePGx7XjwTZz9hzasmW7+YCYNXMa9e/XB0Wp0Kv3gAI3m12c9THcLcuroJ488bV6UOFlqHXbTu5O3+N41MWD+3eb3y8E88lJk2nnJ7vNslCfpk193hRcWBmu42itIocHJjpCzZ+/iBa+vVS58uGmXbp4ATVrdocqF72NIyMi1DW9x/Vt3utv0QV2LyNMGD+Gxo8bZT6YXcd+W4+FZpOoqNp07VoS/fHpZwkvZAi4rlEjh9MTE8eawrpt2w72FI1R+60fy5YupA4dDPcmzv3lV/6mxu5q8cA5v/bqHLr11iiVDXUZLzW6CQORdtb1+9nTNeOlF81TXLZ8BS1/dwW7ek8pl3S3bl3omaefMs8H1x7Tqn2+lyS77m2cRHHaUKtXr0af7tmuvjM8T1y9TXgOTuTvomuXWBSpmhKKanpQibz88EhQcQzWRXPmI0wnCPHET7VV4A5JFUN9lftXTZDPbatBrJ7YF8xu4SgeQhNXOUSl5/qWvyC1bURZf8w0l4/Fo2SUmK5ny/SLyxnqZ9vUXL4QUvaiZHECNWSG08Hdy39KXHGuNzpYK7qriBX33NwJBtp+Dh/aa96weIC8POdvBYrFw2XPrq1UrVpVc5/ruVgFFYnwkPnz81PN9NaVbVs2EtpTEJ59bgqt/Mcq627lGizOsBl90+nMeCCt/tcHetNcoj0Fk2PgOhAaNGqmxFAncMfHyh5p0Qbd5d77CrwAYN+sGVNp0KD+WFUuuuGWB5+dnNUBivgoj4IKl99XX3ymzhptVrBI7AqwKOBaRMCLHDwQ2oNhPQb6Baxjd722Vl6YMp0f8ivNJFaRQ6S7zk+6ruiMi1hwZ8x8RW+aS+t5wbthHa7meiwI3D1df1toG+fAgf1oNr+w6QDLGP0CdEAb38oVS/Umod7BRewa4EmBYGhXJvoxPPS7YWYyu+o67jG457VFB9c+XPyuAeeza+dmNVEI9uFF2DqLm133NsoujqCOHTOSnnzC8CzBqHhx6gxkLRBWvf8uxcS0UPHtOnQp4O0qkMGLiP8CAAD//04T0yIAABsnSURBVO1dB5gVRda9M0yAISdB139lJA1ZgVGyKCCKiCjKShQUiQKuaXEXUBAVFXVBd8WEShAVWJAMkiQokrOIIgZUJKchzQz891S/amp6Xr/YyMjc+mZeV1dXV1efV92nbqj7YpLLVj5HYaSYGCL+o1hs+T8PZ/LwNi6WKJ4zCXHE/7zlfF7e5ouPofwJMVSvSAI1KZaXYrl+LNe1GsCW21GNWWVoUx87y/mDp8/SnB/TaM3vp+nwybN0KuMcneb/M5lEGZnnKOMs0dmz54j/iLN0Lqy74RMuYCpapAitXbNCXWHu3M+o90MPh321L1YsotKlStG+ffvp+ro32Of36d2DHn2kn9pfu24D3dO2g33MmSlduhR9vngexcfHq0POvgx9eiB17NhOHftu5/d0c/PbnU3Y+9dfl0oTP3xf7X/yyRQa8M/B9jFk7mzdil4e8bwqe+DB3rR48edZjuudjyeOpdTUWmp3zpz51Kfv3/WhbNsXX3iW7m7TWpXf1aYdbdi4ya7jho+J/TkeFFWr16aTJ0/Z55mZhIQE2rZlLY/LWNq5cxc1a97SPuwlznajLpnevbrTY4/2V0cDYedyOn3/3VZ1aPnyL6hzlwezVNu8cRXlz58/2zjKUsnPTtWqVWj6tE/UkWDfk5/TAxatX/slFS5ciJ/Zc9S+Q1f6atVq1/r4/jEOkH744Ue6qWkLu+6D3brSkwMeU/uBxm+HDvfSM0MGqXppJ05QteqpdhtmJi4ujnZs36iKli1fQfd16W4fNq+Fwq7396DPly63jzszr7w8nFrfYT1PM2fNoX79rX6i3tj336YGDeqpU94Y/Ta9NOLfztPt/auu+it9Nm8mxcXloYyMTEqpfA2/9/DGI/JqrN/7t7vpuWeHqDanTptOjz72pMr7+yhWrBit/mopc0AM/b53L9Wtd6NdzatnGw2+9ebr1LTJjWqMlC1f1b6GmXn6qX9R507tVdEdd7alzZut58Csg3wpfo/e2LihKv7f1Ol05swZZ5Wo92MiIVRcFZwI8ovlD/AhCDWOSTQ+j0WoibzNy2SaFB9LRfLGUOvSSVStcIKqm5VE0Y5qiIkVjaLxGDrH20NMpp/vPkHLfjmpyDQtnYlUESpROpNpJo+nTH4YQaa8sf759JySzIHuJLFQ++hGGHNmTaWKFSuoZgINIn2dN0e/Rs2a3qR2nX0xCfW998fRM8OG69OybUE63+3YrMr9EXkkhIqXDF42bqntPW1o+PND1eGhzzxP738w3q7qho+JvXMyYp9sZDDxwTlHjx6ja2rWsY94ibPdqEsmJxIqxgzGDtKEDz+mQYOt78HlFkIuBkEsXmh9506CdGtkw7qVVKhQQfVyrVy1Fp0+fVpVNUluwoSPaNBTz/htony5sjRv7nR1bP2GjdTmbusl7K/y9m3rCROt77/fRU1vPj/BMq+1a9cP1KTZbf5Ot8tMcj58+AjVrG0RKCp8vXUdJSYmKmIsV6GafY5bZvy4MVSv7vXqsPnMeDXW/zdlIl1To7pqv+XtbWjb19vduqLK9bOHnUpVatrfh0moZj/9NRbo2Ub9UAi1a5dONGjgANU8JmXt2ndR+YvxETahopPgP/Ce4kHeKlJlMtSkmuAjU0iokE6TC8ZR678kUXIBFl990qgplSqC9REpGmbhk04zS6745RTN/yGNDpzIpBNnLMk0nQ+CTLHNQqZ8Dkg1JyVzoDtJLNR+6kHrJAVNAJjdu83czGvc37UzDfzXP1SRsy8mod7zt460du1689Rsef2y2brta7q91d1ZjkdCqObDmKUx306NGtVo6pSP1N6Il0fSf994y67mho+J/cJFS+jB7n3sc/xl5s+bQeXKXk0nTpxU0qyu4yXOuk23bU4kVBP7WbPnUt9+j7p1P6xyc5zMm7+AevW2JPNAjcyYPpmqVK6kqmDcYfwhmSTXpWt3WrrM0gqpg8bHZZeVpJVfLFElY8d9SE8PsSReo4qd3bThKypQoEBAQg0Vj82bVlP+pKQsxGlOTJ3Ptt0JR+bxxx6mXj0tzcOYMWNp2HMvqBpejfVVK5dSiRLFKT09nSpWusZx9ey7muxw5JYWrWnHjm9VJZNQo3m20Zi+RqD3HPr8xfLFSnrHOZgUT548lT4YO4F+3r0bRX9YioxQfd1TxMoECI7EP9S/LJAqlW8iS6f5mD8LJsbS9SUTqfkVSVQiHzMtH7ckUouQNcFqkRdS6kkmzDV7TtHM747T3uOZdJIlU6XmzbDIFGpeSKdnmUyUdMr9yWlkCojMge4kMR+EQTduhKFJzTnrdWuwbNlkpTLCcWdfTEKtymqwE6wOC5S2bl5L+fLlVS+0aAk1IyODKqTUCHQ5qlChPM2dPU3ViYRQg0ndaHj2zKmUklIhG6F6iXPAm+SDOZFQoZKFahbJy9l/v7696OH+D6l2hz37Ao15b6zKB/oY/txQatu2japiSj4mobZq3Za2bPGv8jMJNdiYCIVQn3p6GI0bPzFQl9UxjF2MYaTyFatTZmYmXXHF5bR86QJVtvKrVUrlrXYCfNRl6XQCS6lIpvrdfM8Euy+c6zbW9XONOiCwYEm9x32VevXpT/PmWfejCTXaZxtNh0KoqAe1+oiXnlNmG+zrBC0GzADA690xH9hStD7u9TYiQkUnmD/VB7ZZCJU5EzZUS90bw+reWLr1/5KoQem8Sv0LElbkiZN8Iq5Vhn2LTNczmc7ykenxM2ctMk33SaaKTH02U6h5ubkQvnuu9ccnc6A7SSzU3rgRKmw8UCft+f13qlf/pqDNJfEMeQvPlJGcfRFCdX/JeIlzsC/JJNSevfrR/M8WBjvFPm6qFr20oeICO7/doibBTluZffEIMoMHPUld7uuozry/Wy9asmRp0FZ69uxGTzxm2dpNMrtYhArVYiC7r76hD95/ixo2qK92a1/XkA4ePEjVqlWhT6datulg9krdTtGiRWnt6uVqd8WKL6nTfd1U3nzPREOoeqzr64Wzhb0V94F0MQgV14WvyFOD/8l20kZKXY8yM8HmPHXaDPrHgIG2/dk87kU+YkLFxZWE6tvm4Z08LF2yzZwSfYQKde/l+fNQ23IFqErxBLavcgX+O0+kMbbd9CyfD1Xv1n2nacb2Y7Tr8BklmZ5SdlOfZAo1LwiVGRQkytkcS6bctQsqoWonk1BmgehL8+ZN6Y3/jERWCFWhkPXDbdbuJc5Zr5h9D44VcLBACqaSdJ59c7MmNPqNUaoYRAxCNpO+j1DVi+a52naJshrX1qFjx46ZhyPK9+zxAD3x+CPq3JGj/kMjR/03aDujRo6glrfdqur16NmXPluwSOUvFqG+OOJVGj36naD9hq0YNmOkq8tVUVs49axZtUzlN27cTHe2uVflA32Yz/D06bPo4UeeUNW9ItQtm9ZQUlI+paVp1+G+QF3Jduzrr79hZ6kMVX6xCNXsVOVKKdSyZQtq2LAeVaxQwVYHo86mTVuo9V1/M6t7lo+aUNETCJuaUOHpm8iqXnj3FmLp9OrCcdS5ciEqzfZTePhCCoX9VDkg2eQaQ2dYd/vzkXSasuUofXvgDKWxzRQevWeYUM/bTJlEuR7UvDmdTIGLOdCdUiGOh5LcJFSoi6A2QqpTrzHt3bsvYHPwboSXI5KzLyKhukuoXuIc8Avig3XrXEcTxr+nqn373U5qfkurYKfYx01v0rffeY+eHz7CPoZMNIT62qiX6bYWt6j2QHwgwHASJLSa116j1Iip1zdSarcWtzan1197RTUDmydsn8GStnOjHrABRkgXi1CXfL6M7n+gp+pDoA/tfATv3Aop1e2q2is7VLMNpK/7OndQ54PIQehI5nsmGgl15RdLCGpxqHthQ9UEqS4SxkdOIFSzu7BX9+zRjR75e19bJRyJF73ZplveQ0K1vHyxXEYRKkunRfPFUs1SealdpUKUxPsWkVqkakuqvIt5zS9H02na1qP09d4zdOzUWToJMuX/dPwzeyqbqY9MmU+VZIptTk7mQHeSWKj9diNULE2BYwdSKDP8Jbxs5q//d6Wq7+yLEKo7oXqJswI/wEfBggVp4/qVqkaojiG6uaVL5tOVV/5F7T7U9xGaPWeePqS20RBqrVrX0qSPx6t20C94QbstQcpyUd4x7d+wZ8FJBcmU0H77bQ/Vb9hElQf60DY+qO5gd9fLRi4WoYZibjFt0M77NJcNwbaq78cNA9MLt0PHrvTlylWqqvmeiYZQx499l+rVq6PahBMfnPkiSTmNUPU9mBogLz3WdfvYRk2ozIeWDZWlzXiWPNX6UybPfPFEl+WPo9vK5acbrkqiBHgr6crgVJ+0CjXv3rQMmrzxCG367ZTy5oUTEsjU31pTRaZ8DlS+OT2ZA91JYqH23Y1Q4e0Ir0ckzCihwnBbfzXsmaeofbu29iWdffGSUOEcAGkJacCTg+mTSVPs65oZrx46N3xM7KN5yXiJs3n/bvmFn82i5OQy6nAo3smo+FCfnmr2jTzW1qVUvhbZLCkaQkVD5oQsHOek6Z9OoqpVKqu+OCXRFcsW0uWXl1bHnMuhVKHxYY5Rp8ruYhEquhdM7Wt6JsPrdMjQ5+y7+vcrL1KrVrepfX92b7siZxqzXXDMO2+oInNiggKvxrqpUg5lSRDME+XLl6MjvBzIXGPv1bONezOX+2ES5U9qHvfBO1SkaBHatm27so/iPH/JdOqaMXM29X/4cX/VoirzhFBZKKU8/IFlM4m8zZsAlW8s/aVQHupRuxj9tUi8WqMKqdRW97LNNINdig6fzKSpm47S+t0n6QjnT6WTUvXq5TEqcAMTBtS8IFFFqH8CMsW3Yg50J4mF+q25EQbON19WWO6BNXG/s5OSmTp1bEdDOHADSFd75Tn7Yr6sovXyNaUZ0xPR7BPyXj10bviY2EdDqOirVzijrWDJVIWibjC1Yv9+val/vz52s24z72gJFV7i8+fOsMfQmjXr6N7297lKVZBA8R3jPCSoO2GagEOOTqbEgPGJdaFm0A5d7/bbW9DIV1/Su0o9bC6NuZiEin537HS/LS3aneSM+VxB+sT9799/wK4Cu+qiBbNtTP898nUa9ZpFmnYlzsC0s2TRXOWEiPIPJ35CAwcNsat4OdZNe3kgkn/15Rfojjus9bnwqoZ3tU5ePdtozzRVmZ7d+lrYLpg/k66+2hpngVS5n3w0jmrXtjQkoXqWm9cJJR8dofIVWD2tJNQ4ljgR1AEOSSo6UmIMVSqZQH3qFqd8CbEWoTLxqsq8hRMSyHTRjmO09Ns0OoS1pr7lMUrNy6KrJlNeRfOnI1OAbw50LF6fPMVa+oFjgdJPP/1sBzpwIwycD3sHVH1YgI6EhxuLsX/99TdlK6hRvZpaV4ZjmB3jBQZSvZCEioXqsBkhoT/r1m1Q1/7mmx22zQvHvHro3PAxsY+WUL3CGfcdSoJtEcSq0y+//Eq4h7nzPlPfLbw9GzSoSw8+0IUQyUinn37eTY1vPH+eLsc2WkJFG2bUKOxDUsLL/aOPJtHO73dRwYIFqFGjBlS/bh26885WdmQukOmjjw+gGTNm47QsCYEWEHABCdIH2nrvg/GEZ6B8+bLUs3s3di651bZ9ISoRohOZ6WIRKlS4kLBxf9DEYFkGvit48P794b52EAb0dfSb79KLL71idlvlEZAAgQl0wv2NHPkf2rJ1m/Javefuu6jbA13UMjXUOXT4MKWyp7CpHvZyrNevX5cg8emEJSfzeNx9zFHR8uXNSy1aNKcmNzW2xx2e8YY3NFPjUp/j1bON9szADzA3LFy4hMZNmEg/81jfvfsXdclbbmlG/33dijKF/iAK0ii29WMNKt6Nqam1aNjQwbZjGMwV1a+5Ti1f0n32ahsxofJ7WSVobiGhIkqStp8mMYEW5OhILVIKUstKBSmOpVUQr7abIgoS7KJztxyhhd8cp4NpvNbUF7jhjC9oA49Re52pkk75dMbqT5XMgR5Ox/HQ1KpdX53iRhi6PcxeZ7BaDS9Zt6Q9AvXyhwtJqOiDfqCc/WnQqKn94Ok6eInm5HWo+h68wFm3FcoWLwi8KEJNmLBAYjxy5KjfU7wgVDSMEIAvDB9mS1V+L2YUHjp0iO5iyfPHH38ySs9nsZwL4zc5ucz5Qpfc6tVrqT3bDrGO00wXi1Bhx4RKEgEgAiXYs2HXdkumQ5lbHZQDy9s4gtGePVm1UOZ7JtrJI64D50VI11qjhTJ/CQQ3kCNnTZr0vyyHvXq20SgciuBXgLCZZgIpVqlWyy4yPcB1IcjVeQ8HDhyktvd2ol27ftDVPN1GTqjcDZCqIlT+gLrXWn9KHB0pVjkkPdSwOFXk9aexTLbaZgpOhMPRYl4as2DbUdrvI1Pl0cveSSo+Lz8vkEpzeuCGYN+E6WQSrK55HF966vUNVZH2Mg3mAIGZXOfO7anUZZfxbDYfHThwgL5jL8hXXn3NjiijvQqdhGrOkjFIgzmcaPd6N3d/vCQR1QUvX/NBaNT4ZntWCW9WeLXioQwWlSU5uQzBtogE71V4serkho+J/Vtvj6HhL7ysT/G71bautLQ0qlbjOr91UBgNzq6NuhxA2D8sLdFqU3/V4N0NycjExF89Hagg2Djyd66zLDm5DGEdacMG9WzJ0VkHUtvSpcuoZ+/+fu1ezvpYX9qx471+yQnPw5tvvUvvvPu+8zS1b4aeMyP2OCubjlDBxoR2GHJ6WzvJe/v2b3iC8Qzd0aplNiwwuYHDoBkq09knvQ9b6mOP9Lcdy3Q5ttAEfPrpTBr89DC/8WcvxFhHCMKhQwfZ9m+zP3hm163foJZm+ZvAefVs62tCNf6vfz5BjW9oaKu9nYSKuo0a1ufgDs9T8eLFshEpYjdDhY2JjXNCpq/jxTZyQvWRqSZU+BxB3YsISYiOlFwinvo2LkElOOygspsy+0IyPcGi6bofT9C0dYdp/7FMOs7xeq0oSFY4QaXmhVcvzy7+rJKpF1+M122YcUxDXUjuRR8wey7E0XYOHjzkyfpFL/p0Idu4EDgDQzhUlClzlQomD3s5JL41a9fZE5QLeU9ubWPihElRSkpFJoIr2I+CA43s2cORirbRgoWLs6gl3dpwlmNxPhzBChXCmDmoJoOm3dFZ/4/edxKqGZUJL378eMTx48dp0+YtEX038AquzPePifGp06cI6zvdpPs/4t4REa1SSgrHDS/Pk/SDylbsxTrkSPoOabVkyZKUmBDPAfn3BYx6hElorZo1ae++ffTll18FrBtJX9zOiZpQoe5VIQd99lMQahFeLtO4QgG6qya/TJP4gI9MsXZ03Q8naMb6w7Rr72k7pOBpn2SqlsdAMtXLYyDOcvJtrB35VAjkyZOHnuZ1abG8hSps2qczAiIDSQeL6ZEgrWGGLik4AoJzcIxyU41AhJqbcJB79Y9AxIQKyRQqXwR0iGPOjPcRKkIOFufoSJ3qFaPUq/Pz+lMWXbnyKRY9fzqYThOXH6Dv95+mtFP4KTa2parlMdbPsGm7KQunKnADmFTI1P8Xh9napg2rVGQTqNduanqr64wYMWpnTp+iVFKwK2Bxvelt6f8KUgoEBGcZByYCQqgmGpJ3IhAVoSp1r49Q8QszsKGCQK8qGU/dG5eksqUSWecdww5I5+g3joI0et5e+vVwOh1nMoVUqgI3sL0020+x+XoJYpXkjgA8Cfs+ZEVqgXPPrFlzadGSz5UnHALcJyeXof59e2fxkpw0eWrAtVruV8u9RwTn3PvdO+9cCNWJiOybCEREqJBM+c92SIL9VBEqS6cF2H5as0wSdb2R7aeF4tluyiEFD6TT5C8O0Ea2napfjuG1ppZkCm9f63dNlQMS64ShFkYSMrVwCPQJdeRHE8eyrSD4Ty2hnVAiKgW6Xm49Jjjn1m8++30LoWbHRErOIxAxoTKHsjrsvMoXS2YSOIZvUVb3NqlWiNo3KK68e/cfT6epXx6itTvT6AivNYVkqmLzYstkqteaclY5IaFrQqbnv6BQcggYPmTIQCpSuHA27zZ45P3GbvbP8k9k6WDiobQpdbIjIDhnxyS3lcDpaMA/HlW3/WCPPlkCNeQ2LOR+syMQGaFyO1D3KkJlUkVQB02oVxSLp3vYftqkemEOI3iWJq04QEu3HqOjHMRBSaVMpBnMnoiEZJEpiNT69RhoeIVMs39J4ZQgdmoqRwOBJ+iy5SvkgQ8HvDDqCs5hgCVVBYFcgkBkhAoyZYBsQmUdMH5lJp7tpSlXJlL3my+jK4ol0IzVh2jOmsMctOEsx+VFoHuLTOF8xL5I7M1rkSmkUyHTXDLi5DYFAUFAELhEEYiaUCGpnpdQYyi1fH7q2qwEreFwgtNXHaIjx1kyhWoXJMqkil+NyUamPkK9RDGW2xIEBAFBQBDIBQhERqgMjFb5xrJ0irWoVpSkGLqjTlEqVSSOnZAO0aFjGedJlElV/Ti4kkpFMs0FY0tuURAQBASBXIVAZITKBMp/FqmCUFn/q39YvGVqUfpqx3Haf5TJFCTKUilUugglCEKFjdQMKShrTXPVeJObFQQEAUHgkkUgKkLF8hklqXJGBXfgnYIcJQnrTDOZRS3yBIFa/9nIlGEVJ6RLdmzJjQkCgoAgkKsQiIxQAZFDSgWxgmD5z0qcAVmqfy4BqSJKj9ryvhCpDyfZCAKCgCAgCFwSCEREqLhzTZ5Zt/yrMjajMmlyPZCoJlW9FTXvJTF25CYEAUFAEBAEDASiIlS0A/7U/1pq1WKqTaBcx85DUsWJkgQBQUAQEAQEgUsIgYgJFRhoadQQShU0el8Tp9oKkV5Cw0ZuRRAQBAQBQcCJQFSEqhtTBKpZVBc6tpBQJQkCgoAgIAgIApcqAp4QqgmOllqFQE1UJC8ICAKCgCBwqSPgOaFe6oDJ/QkCgoAgIAgIAv4QEEL1h4qUCQKCgCAgCAgCYSIghBomYFJdEBAEBAFBQBDwh4AQqj9UpEwQEAQEAUFAEAgTASHUMAGT6oKAICAICAKCgD8EhFD9oSJlgoAgIAgIAoJAmAgIoYYJmFQXBAQBQUAQEAT8ISCE6g8VKRMEBAFBQBAQBMJEQAg1TMCkuiAgCAgCgoAg4A8BIVR/qEiZICAICAKCgCAQJgJCqGECJtUFAUFAEBAEBAF/CAih+kNFygQBQUAQEAQEgTAREEINEzCpLggIAoKAICAI+ENACNUfKlImCAgCgoAgIAiEiYAQapiASXVBQBAQBAQBQcAfAkKo/lCRMkFAEBAEBAFBIEwEhFDDBEyqCwKCgCAgCAgC/hAQQvWHipQJAoKAICAICAJhIvD/Jvuro6vjJZoAAAAASUVORK5CYII=";var fp="2.25.0";var gp=hp({...dp.dark,base:"dark",brandTitle:`Lightning UI Components v${fp}`,brandUrl:"https://github.com/rdkcentral/Lightning-UI-Components",brandImage:pp});h();d();p();var Et="lui-addons",Vn=`${Et}/downloadbutton`,Gn=`${Et}/announcetoggle`,Yn=`${Et}/gridoverlaypanel`,mp=`${Et}/themepanel`,_p=`${Et}/componentstylespanel`,Xn=`${Et}/stagecolortoggle`,Kn=`${Et}/themepicker`;h();d();p();h();d();p();Ge();h();d();p();var pV=__STORYBOOK_COMPONENTS__,{A:fV,ActionBar:gV,AddonPanel:xp,Badge:mV,Bar:_V,Blockquote:yV,Button:xV,ClipboardCode:bV,Code:vV,DL:SV,Div:wV,DocumentWrapper:TV,EmptyTabContent:CV,ErrorFormatter:AV,FlexBar:EV,Form:IV,H1:RV,H2:PV,H3:kV,H4:OV,H5:LV,H6:DV,HR:FV,IconButton:Sr,IconButtonSkeleton:BV,Icons:wr,Img:MV,LI:NV,Link:zV,ListItem:jV,Loader:UV,Modal:HV,OL:WV,P:qV,Placeholder:$V,Pre:VV,ResetWrapper:GV,ScrollArea:YV,Separator:XV,Spaced:KV,Span:JV,StorybookIcon:QV,StorybookLogo:ZV,Symbols:eG,SyntaxHighlighter:tG,TT:rG,TabBar:iG,TabButton:bp,TabWrapper:sG,Table:nG,Tabs:oG,TabsState:aG,TooltipLinkList:vp,TooltipMessage:lG,TooltipNote:uG,UL:cG,WithTooltip:Sp,WithTooltipPure:hG,Zoom:dG,codeCommon:pG,components:fG,createCopyToClipboardFunction:gG,getStoryHref:mG,icons:_G,interleaveSeparators:yG,nameSpaceClassNames:xG,resetComponents:bG,withReset:vG}=__STORYBOOK_COMPONENTS__;var Pl=ye(Ce()),kl=hs(function(){let[{announce:e},t]=_t(),i=$n(),s=[!0,"true"].includes(e),n=ut(()=>{t({announce:!s})},[s]);return He(()=>{i.setAddonShortcut(Et,{label:"Announce Toggle [0]",actionName:"Announce",action:n})},[n,i]),(0,Pl.jsx)(Sr,{active:s,title:"Toggle a11y announcing (voice guidance) of components",onClick:n,children:(0,Pl.jsx)(wr,{icon:"speaker"})},Gn)});h();d();p();Ge();var Ol=ye(Ce()),Ll=hs(function(){let[{stageColor:e},t]=_t(),i=$n(),s=[!0,"true"].includes(e),n=ut(()=>{t({stageColor:!s})},[s]);return He(()=>{i.setAddonShortcut(Et,{label:"Stage Color Toggle",actionName:"stage color",showInMenu:!1,action:n})},[n,i]),(0,Ol.jsx)(Sr,{active:s,title:"Switch stage color",onClick:n,children:(0,Ol.jsx)(wr,{icon:"paintbrush"})},Xn)});h();d();p();Ge();h();d();p();h();d();p();h();d();p();h();d();p();var fe=class r{static mergeNumbers(e,t,i){return e*i+t*(1-i)}static rgb(e,t,i){return(e<<16)+(t<<8)+i+255*16777216}static rgba(e,t,i,s){return(e<<16)+(t<<8)+i+(s*255|0)*16777216}static getRgbString(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256;return"rgb("+t+","+i+","+s+")"}static getRgbaString(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=(e/16777216|0)/255;return"rgba("+t+","+i+","+s+","+n.toFixed(4)+")"}static getRgbaStringFromArray(e){let t=Math.floor(e[0]*255),i=Math.floor(e[1]*255),s=Math.floor(e[2]*255),n=Math.floor(e[3]*255)/255;return"rgba("+t+","+i+","+s+","+n.toFixed(4)+")"}static getRgbaComponentsNormalized(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=e/16777216|0;return[t/255,i/255,s/255,n/255]}static getRgbComponentsNormalized(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256;return[t/255,i/255,s/255]}static getRgbaComponents(e){let t=(e/65536|0)%256,i=(e/256|0)%256,s=e%256,n=e/16777216|0;return[t,i,s,n]}static getArgbNumber(e){e[0]=Math.max(0,Math.min(255,e[0])),e[1]=Math.max(0,Math.min(255,e[1])),e[2]=Math.max(0,Math.min(255,e[2])),e[3]=Math.max(0,Math.min(255,e[3]));let t=((e[3]|0)<<24)+((e[0]|0)<<16)+((e[1]|0)<<8)+(e[2]|0);return t<0&&(t=4294967295+t+1),t}static mergeColors(e,t,i){let s=(e/65536|0)%256,n=(e/256|0)%256,o=e%256,a=e/16777216|0,l=(t/65536|0)%256,u=(t/256|0)%256,c=t%256,g=t/16777216|0,m=s*i+l*(1-i),y=n*i+u*(1-i),b=o*i+c*(1-i),C=a*i+g*(1-i);return Math.round(C)*16777216+Math.round(m)*65536+Math.round(y)*256+Math.round(b)}static mergeMultiColors(e,t){let i=0,s=0,n=0,o=0,a=0,l=e.length;for(let u=0;u<l;u++){let c=(e[u]/65536|0)%256,g=(e[u]/256|0)%256,m=e[u]%256,y=e[u]/16777216|0;i+=c*t[u],s+=g*t[u],n+=m*t[u],o+=y*t[u],a+=t[u]}return a=1/a,Math.round(o*a)*16777216+Math.round(i*a)*65536+Math.round(s*a)*256+Math.round(n*a)}static mergeMultiColorsEqual(e){let t=0,i=0,s=0,n=0,o=0,a=e.length;for(let l=0;l<a;l++){let u=(e[l]/65536|0)%256,c=(e[l]/256|0)%256,g=e[l]%256,m=e[l]/16777216|0;t+=u,i+=c,s+=g,n+=m,o+=1}return o=1/o,Math.round(n*o)*16777216+Math.round(t*o)*65536+Math.round(i*o)*256+Math.round(s*o)}static mergeColorAlpha(e,t){let i=(e/16777216|0)*t|0;return((e>>16&255)*i/255&255)+((e&65280)*i/255&65280)+(((e&255)<<16)*i/255&16711680)+(i<<24)}static rad(e){return e*(Math.PI/180)}static getTimingBezier(e,t,i,s){let n=3*e,o=3*(i-e)-n,a=1-n-o,l=3*t,u=3*(s-t)-l,c=1-l-u;return function(g){if(g>=1)return 1;if(g<=0)return 0;let m=.5,y,b,C;for(let R=0;R<20;R++){if(y=m*(m*(m*a+o)+n),C=g-y,C>-1e-8&&C<1e-8)return m*(m*(m*c+u)+l);if(b=m*(m*(3*a)+2*o)+n,b>1e-10&&b<1e-10)break;m+=C/b}let A=0,T=1;for(let R=0;R<20;R++){if(m=.5*(A+T),y=m*(m*(m*a+o)+n),C=g-y,C>-1e-8&&C<1e-8)return m*(m*(m*c+u)+l);C<0?T=m:A=m}}}static getTimingFunction(e){switch(e){case"linear":return function(i){return i};case"ease":return r.getTimingBezier(.25,.1,.25,1);case"ease-in":return r.getTimingBezier(.42,0,1,1);case"ease-out":return r.getTimingBezier(0,0,.58,1);case"ease-in-out":return r.getTimingBezier(.42,0,.58,1);case"step-start":return function(){return 1};case"step-end":return function(i){return i===1?1:0};default:let t="cubic-bezier(";if(e&&e.indexOf(t)===0){let i=e.substr(t.length,e.length-t.length-1).split(",");if(i.length!==4)return console.warn("[Lightning] Unknown timing function: "+e),function(l){return l};let s=parseFloat(i[0]),n=parseFloat(i[1]),o=parseFloat(i[2]),a=parseFloat(i[3]);return isNaN(s)||isNaN(n)||isNaN(o)||isNaN(a)?(console.warn("[Lightning] Unknown timing function: "+e),function(l){return l}):r.getTimingBezier(s,n,o,a)}else return console.warn("[Lightning] Unknown timing function: "+e),function(i){return i}}}},K=class{static isFunction(e){return typeof e=="function"}static isNumber(e){return typeof e=="number"}static isInteger(e){return typeof e=="number"&&e%1===0}static isBoolean(e){return e===!0||e===!1}static isString(e){return typeof e=="string"}static clone(e){return K.isObjectLiteral(e)||Array.isArray(e)?K.getDeepClone(e):e}static cloneObjShallow(e){let t=Object.keys(e),i={};for(let s=0;s<t.length;s++)i[t[s]]=e[t[s]];return i}static merge(e,t){let i=Object.keys(t);for(let s=0;s<i.length;s++)e[i[s]]=t[i[s]];return e}static isObject(e){let t=typeof e;return!!e&&(t==="object"||t==="function")}static isPlainObject(e){return!!e&&typeof e==="object"}static isObjectLiteral(e){return typeof e=="object"&&e&&e.constructor===Object}static getArrayIndex(e,t){return K.getModuloIndex(e,t.length)}static getModuloIndex(e,t){if(t===0)return e;for(;e<0;)e+=Math.ceil(-e/t)*t;return e=e%t,e}static getDeepClone(e){let t,i;if(K.isFunction(e))return e;if(Array.isArray(e)){i=[];let s=Object.keys(e);for(t=0;t<s.length;t++)i[s[t]]=K.getDeepClone(e[s[t]]);return i}else if(K.isObject(e)){i={};let s=Object.keys(e);for(t=0;t<s.length;t++)i[s[t]]=K.getDeepClone(e[s[t]]);return i}else return e}static equalValues(e,t){return typeof e!=typeof t?!1:K.isObjectLiteral(e)?K.isObjectLiteral(t)&&K.equalObjectLiterals(e,t):Array.isArray(e)?Array.isArray(t)&&K.equalArrays(e,t):e===t}static equalObjectLiterals(e,t){let i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(let n=0,o=i.length;n<o;n++){let a=i[n],l=s[n];if(a!==l)return!1;let u=e[a],c=t[l];if(!K.equalValues(u,c))return!1}return!0}static equalArrays(e,t){if(e.length!==t.length)return!1;for(let i=0,s=e.length;i<s;i++)if(!this.equalValues(e[i],t[i]))return!1;return!0}static setToArray(e){let t=[];return e.forEach(function(i){t.push(i)}),t}static iteratorToArray(e){let t=[],i=e.next();for(;!i.done;)t.push(i.value),i=e.next();return t}static isUcChar(e){return e>=65&&e<=90}};K.isWeb=typeof window<"u"&&typeof sparkscene>"u";K.isWPE=K.isWeb&&navigator.userAgent.indexOf("WPE")!==-1;K.isSpark=typeof sparkscene<"u";K.isNode=typeof window>"u"||K.isSpark;K.isPS4=K.isWeb&&navigator.userAgent.indexOf("PlayStation 4")!==-1;K.isZiggo=K.isWeb&&(navigator.userAgent.indexOf("EOSSTB")!==-1||navigator.userAgent.indexOf("HZNSTB")!==-1);var dt=class r{static defaultSetter(e,t,i){e[t]=i}static patchObject(e,t){if(!K.isObjectLiteral(t))console.error("[Lightning] Settings must be object literal");else{let i=Object.keys(t);for(let s=0,n=i.length;s<n;s++){let o=i[s];this.patchObjectProperty(e,o,t[o])}}}static patchObjectProperty(e,t,i){let s=e.setSetting||r.defaultSetter;t.charAt(0)==="_"?t!=="__create"&&console.error("[Lightning] Patch of private property '"+t+"' is not allowed"):t!=="type"&&(K.isFunction(i)&&i.__local&&(i=i.__local(e)),s(e,t,i))}static local(e){e.__local=!0}},Qn=class{static getSpacing(e,t,i){let s=t-1,n,o,a;switch(e){case"flex-start":o=0,a=0;break;case"flex-end":o=i,a=0;break;case"center":o=i/2,a=0;break;case"space-between":o=0,a=Math.max(0,i)/s;break;case"space-around":if(i<0)return this.getSpacing("center",t,i);n=i/(s+1),o=.5*n,a=n;break;case"space-evenly":if(i<0)return this.getSpacing("center",t,i);n=i/(s+2),o=n,a=n;break;case"stretch":o=0,a=0;break;default:throw new Error("Unknown mode: "+e)}return{spacingBefore:o,spacingBetween:a}}},Dl=class{constructor(e){this._layout=e,this._totalCrossAxisSize=0}get _lines(){return this._layout._lines}init(){this._totalCrossAxisSize=this._getTotalCrossAxisSize()}align(){let t=this._layout.crossAxisSize-this._totalCrossAxisSize,{spacingBefore:i,spacingBetween:s}=this._getSpacing(t),n=this._lines,o=this._layout._flexContainer.alignContent,a=0;o==="stretch"&&n.length&&t>0&&(a=t/n.length);let l=i;for(let u=0,c=n.length;u<c;u++){let g=l,m=n[u].createItemAligner(),y=n[u].crossAxisLayoutSize+a;m.setCrossAxisLayoutSize(y),m.setCrossAxisLayoutOffset(g),m.align(),m.recursiveResizeOccured&&n[u].setItemPositions(),l+=y,l+=s}}get totalCrossAxisSize(){return this._totalCrossAxisSize}_getTotalCrossAxisSize(){let e=this._lines,t=0;for(let i=0,s=e.length;i<s;i++){let n=e[i];t+=n.crossAxisLayoutSize}return t}_getSpacing(e){let t=this._layout._flexContainer.alignContent,i=this._lines.length;return Qn.getSpacing(t,i,e)}},pe=class{static getParentAxisSizeWithPadding(e,t){let s=e.target.getParent();if(s){let n=e.flexParent;return n?this.getAxisLayoutSize(n,t)+this.getTotalPadding(n,t):t?s.w:s.h}else return 0}static getRelAxisSize(e,t){return t?e.funcW?this._allowRelAxisSizeFunction(e,!0)?e.funcW(this.getParentAxisSizeWithPadding(e,!0)):0:e.originalWidth:e.funcH?this._allowRelAxisSizeFunction(e,!1)?e.funcH(this.getParentAxisSizeWithPadding(e,!1)):0:e.originalHeight}static _allowRelAxisSizeFunction(e,t){let i=e.flexParent;return!(i&&i._flex._layout.isAxisFitToContents(t))}static isZeroAxisSize(e,t){return t?!e.originalWidth&&!e.funcW:!e.originalHeight&&!e.funcH}static getAxisLayoutPos(e,t){return t?e.x:e.y}static getAxisLayoutSize(e,t){return t?e.w:e.h}static setAxisLayoutPos(e,t,i){t?e.x=i:e.y=i}static setAxisLayoutSize(e,t,i){t?e.w=i:e.h=i}static getAxisMinSize(e,t){let i=this.getPlainAxisMinSize(e,t),s=0;return e.isFlexItemEnabled()&&(s=e._flexItem._getMinSizeSetting(t)),s>0&&(i=Math.max(i,s)),i}static getPlainAxisMinSize(e,t){return e.isFlexEnabled()?e._flex._layout.getAxisMinSize(t):e.flexItem.shrink!==0?0:this.getRelAxisSize(e,t)}static resizeAxis(e,t,i){e.isFlexEnabled()?e._flex._horizontal===t?e._flex._layout.resizeMainAxis(i):e._flex._layout.resizeCrossAxis(i):this.setAxisLayoutSize(e,t,i)}static getPaddingOffset(e,t){if(e.isFlexEnabled()){let i=e._flex;return t?i.paddingLeft:i.paddingTop}else return 0}static getTotalPadding(e,t){if(e.isFlexEnabled()){let i=e._flex;return t?i.paddingRight+i.paddingLeft:i.paddingTop+i.paddingBottom}else return 0}static getMarginOffset(e,t){let i=e.flexItem;return i?t?i.marginLeft:i.marginTop:0}static getTotalMargin(e,t){let i=e.flexItem;return i?t?i.marginRight+i.marginLeft:i.marginTop+i.marginBottom:0}},Fl=class{constructor(e){this._line=e,this._amountRemaining=0,this._shrunkSize=0}shrink(e){this._shrunkSize=0,this._amountRemaining=e;let t=this._getTotalShrinkAmount();if(t){let i=this._line.items;do{let s=this._amountRemaining/t;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let a=i[n].flexItem,l=a.shrink;if(l>0){let c=l*s,g=a._getMainAxisMinSize(),m=a._getMainAxisLayoutSize();if(m>g){let y=m-g;c>=y&&(c=y,t-=l);let C=m-c;if(a._resizeMainAxis(C),this._shrunkSize+=c,this._amountRemaining-=c,Math.abs(this._amountRemaining)<1e-5)return}}}}while(t&&Math.abs(this._amountRemaining)>1e-5)}}_getTotalShrinkAmount(){let e=0,t=this._line.items;for(let i=this._line.startIndex;i<=this._line.endIndex;i++){let n=t[i].flexItem;if(n.shrink){let o=n._getMainAxisMinSize();n._getMainAxisLayoutSize()>o&&(e+=n.shrink)}}return e}getShrunkSize(){return this._shrunkSize}},Bl=class{constructor(e){this._line=e,this._amountRemaining=0,this._grownSize=0}grow(e){this._grownSize=0,this._amountRemaining=e;let t=this._getTotalGrowAmount();if(t){let i=this._line.items;do{let s=this._amountRemaining/t;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let a=i[n].flexItem,l=a.grow;if(l>0){let c=l*s,g=a._getMainAxisMaxSizeSetting(),m=a._getMainAxisLayoutSize();if(g>0)if(m>=g)c=0;else{let y=g-m;c>=y&&(c=y,t-=l)}if(c>0){let y=m+c;if(a._resizeMainAxis(y),this._grownSize+=c,this._amountRemaining-=c,Math.abs(this._amountRemaining)<1e-5)return}}}}while(t&&Math.abs(this._amountRemaining)>1e-5)}}_getTotalGrowAmount(){let e=0,t=this._line.items;for(let i=this._line.startIndex;i<=this._line.endIndex;i++){let n=t[i].flexItem;if(n.grow){let o=n._getMainAxisMaxSizeSetting(),a=n._getMainAxisLayoutSize();(o===0||a<o)&&(e+=n.grow)}}return e}getGrownSize(){return this._grownSize}},Ml=class{constructor(e){this._line=e}get _layout(){return this._line._layout}position(){let{spacingBefore:e,spacingBetween:t}=this._getSpacing(),i=e,s=this._line.items;for(let n=this._line.startIndex;n<=this._line.endIndex;n++){let o=s[n];o.flexItem._setMainAxisLayoutPos(i),i+=o.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin(),i+=t}}_getSpacing(){let e=this._line._availableSpace,t=this._layout._flexContainer.justifyContent,i=this._line.numberOfItems;return Qn.getSpacing(t,i,e)}},Nl=class{constructor(e){this._line=e,this._crossAxisLayoutSize=0,this._crossAxisLayoutOffset=0,this._alignItemsSetting=null,this._recursiveResizeOccured=!1,this._isCrossAxisFitToContents=!1}get _layout(){return this._line._layout}get _flexContainer(){return this._layout._flexContainer}setCrossAxisLayoutSize(e){this._crossAxisLayoutSize=e}setCrossAxisLayoutOffset(e){this._crossAxisLayoutOffset=e}align(){this._alignItemsSetting=this._flexContainer.alignItems,this._isCrossAxisFitToContents=this._layout.isAxisFitToContents(!this._flexContainer._horizontal),this._recursiveResizeOccured=!1;let e=this._line.items;for(let t=this._line.startIndex;t<=this._line.endIndex;t++){let i=e[t];this._alignItem(i)}}get recursiveResizeOccured(){return this._recursiveResizeOccured}_alignItem(e){let t=e.flexItem,i=t.alignSelf||this._alignItemsSetting;switch(i==="stretch"&&this._preventStretch(t)&&(i="flex-start"),i!=="stretch"&&!this._isCrossAxisFitToContents&&t._hasRelCrossAxisSize()&&t._resetCrossAxisLayoutSize(),i){case"flex-start":this._alignItemFlexStart(t);break;case"flex-end":this._alignItemFlexEnd(t);break;case"center":this._alignItemFlexCenter(t);break;case"stretch":this._alignItemStretch(t);break}}_alignItemFlexStart(e){e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset)}_alignItemFlexEnd(e){let t=e._getCrossAxisLayoutSizeWithPaddingAndMargin();e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset+(this._crossAxisLayoutSize-t))}_alignItemFlexCenter(e){let t=e._getCrossAxisLayoutSizeWithPaddingAndMargin(),i=(this._crossAxisLayoutSize-t)/2;e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset+i)}_alignItemStretch(e){e._setCrossAxisLayoutPos(this._crossAxisLayoutOffset);let t=e._getMainAxisLayoutSize(),i=this._crossAxisLayoutSize-e._getCrossAxisMargin()-e._getCrossAxisPadding(),s=e._getCrossAxisMinSizeSetting();s>0&&(i=Math.max(i,s));let n=e._getCrossAxisMaxSizeSetting();n>0&&(i=Math.min(i,n)),e._resizeCrossAxis(i),e._getMainAxisLayoutSize()!==t&&(this._recursiveResizeOccured=!0)}_preventStretch(e){let t=e._hasFixedCrossAxisSize(),i=e.alignSelf==="stretch";return t&&!i}},zl=class{constructor(e,t,i,s){this._layout=e,this.items=e.items,this.startIndex=t,this.endIndex=i,this._availableSpace=s}performLayout(){this._setItemSizes(),this.setItemPositions(),this._calcLayoutInfo()}_setItemSizes(){this._availableSpace>0?this._growItemSizes(this._availableSpace):this._availableSpace<0&&this._shrinkItemSizes(-this._availableSpace)}_growItemSizes(e){let t=new Bl(this);t.grow(e),this._availableSpace-=t.getGrownSize()}_shrinkItemSizes(e){let t=new Fl(this);t.shrink(e),this._availableSpace+=t.getShrunkSize()}setItemPositions(){new Ml(this).position()}createItemAligner(){return new Nl(this)}_calcLayoutInfo(){this._calcCrossAxisMaxLayoutSize()}getMainAxisMinSize(){let e=0;for(let t=this.startIndex;t<=this.endIndex;t++){let i=this.items[t];e+=i.flexItem._getMainAxisMinSizeWithPaddingAndMargin()}return e}get numberOfItems(){return this.endIndex-this.startIndex+1}get crossAxisLayoutSize(){let e=this._layout.isCrossAxisFitToContents()&&!this._layout.resizingCrossAxis;return this._layout.isWrapping()||e?this._crossAxisMaxLayoutSize:this._layout.crossAxisSize}_calcCrossAxisMaxLayoutSize(){this._crossAxisMaxLayoutSize=this._getCrossAxisMaxLayoutSize()}_getCrossAxisMaxLayoutSize(){let e=0;for(let t=this.startIndex;t<=this.endIndex;t++){let i=this.items[t];e=Math.max(e,i.flexItem._getCrossAxisLayoutSizeWithPaddingAndMargin())}return e}},jl=class{constructor(e){this._layout=e,this._mainAxisMinSize=-1,this._crossAxisMinSize=-1,this._mainAxisContentSize=0}get lines(){return this._lines}get mainAxisMinSize(){return this._mainAxisMinSize===-1&&(this._mainAxisMinSize=this._getMainAxisMinSize()),this._mainAxisMinSize}get crossAxisMinSize(){return this._crossAxisMinSize===-1&&(this._crossAxisMinSize=this._getCrossAxisMinSize()),this._crossAxisMinSize}get mainAxisContentSize(){return this._mainAxisContentSize}layoutLines(){this._setup();let e=this._layout.items,t=this._layout.isWrapping(),i=0,s,n=e.length;for(s=0;s<n;s++){let o=e[s];this._layoutFlexItem(o);let a=o.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin();t&&s>i&&this._curMainAxisPos+a>this._mainAxisSize&&(this._layoutLine(i,s-1),this._curMainAxisPos=0,i=s),this._addToMainAxisPos(a)}i<s&&this._layoutLine(i,s-1)}_layoutFlexItem(e){e.isFlexEnabled()?e.flexLayout.updateTreeLayout():e.flexItem._resetLayoutSize()}_setup(){this._mainAxisSize=this._layout.mainAxisSize,this._curMainAxisPos=0,this._maxMainAxisPos=0,this._lines=[],this._mainAxisMinSize=-1,this._crossAxisMinSize=-1,this._mainAxisContentSize=0}_addToMainAxisPos(e){this._curMainAxisPos+=e,this._curMainAxisPos>this._maxMainAxisPos&&(this._maxMainAxisPos=this._curMainAxisPos)}_layoutLine(e,t){let i=this._getAvailableMainAxisLayoutSpace(),s=new zl(this._layout,e,t,i);s.performLayout(),this._lines.push(s),(this._mainAxisContentSize===0||this._curMainAxisPos>this._mainAxisContentSize)&&(this._mainAxisContentSize=this._curMainAxisPos)}_getAvailableMainAxisLayoutSpace(){return!this._layout.resizingMainAxis&&this._layout.isMainAxisFitToContents()?0:this._mainAxisSize-this._curMainAxisPos}_getCrossAxisMinSize(){let e=0,t=this._layout.items;for(let i=0,s=t.length;i<s;i++){let o=t[i].flexItem._getCrossAxisMinSizeWithPaddingAndMargin();e=Math.max(e,o)}return e}_getMainAxisMinSize(){return this._lines.length===1?this._lines[0].getMainAxisMinSize():this._layout.mainAxisSize}},Ul=class r{constructor(e){this._layout=e,this._isReverse=this._flexContainer._reverse,this._horizontalPaddingOffset=this._layout._getHorizontalPaddingOffset(),this._verticalPaddingOffset=this._layout._getVerticalPaddingOffset()}get _flexContainer(){return this._layout._flexContainer}finalize(){let e=this._layout.getParentFlexContainer();e?new r(e._layout)._finalizeItemAndChildren(this._flexContainer.item):(this._finalizeRoot(),this._finalizeItems())}_finalizeRoot(){let e=this._flexContainer.item,t=pe.getAxisLayoutPos(e,!0),i=pe.getAxisLayoutPos(e,!1),s=pe.getAxisLayoutSize(e,!0),n=pe.getAxisLayoutSize(e,!1);s+=this._layout._getHorizontalPadding(),n+=this._layout._getVerticalPadding(),e.clearRecalcFlag(),e.setLayout(t,i,s,n)}_finalizeItems(){let e=this._layout.items;for(let t=0,i=e.length;t<i;t++){let s=e[t],n=this._validateItemCache(s);this._finalizeItem(s),n||this._finalizeItemChildren(s)}}_validateItemCache(e){if(e.recalc===0&&e.isFlexEnabled()){let t=e._flex._layout;if(e.w===e.target.w&&e.h===e.target.h)return!0;{let s=t.crossAxisSize;t.performResizeMainAxis(t.mainAxisSize),t.performResizeCrossAxis(s)}}return!1}_finalizeItemAndChildren(e){this._finalizeItem(e),this._finalizeItemChildren(e)}_finalizeItem(e){this._isReverse&&this._reverseMainAxisLayoutPos(e);let t=pe.getAxisLayoutPos(e,!0),i=pe.getAxisLayoutPos(e,!1),s=pe.getAxisLayoutSize(e,!0),n=pe.getAxisLayoutSize(e,!1);t+=this._horizontalPaddingOffset,i+=this._verticalPaddingOffset,e.flex&&(s+=e._flex._layout._getHorizontalPadding(),n+=e._flex._layout._getVerticalPadding());let a=e.flexItem;a&&(t+=a._getHorizontalMarginOffset(),i+=a._getVerticalMarginOffset()),e.clearRecalcFlag(),e.setLayout(t,i,s,n)}_finalizeItemChildren(e){let t=e._flex;t&&new r(t._layout)._finalizeItems()}_reverseMainAxisLayoutPos(e){let t=e.flexItem._getMainAxisLayoutPos()+e.flexItem._getMainAxisLayoutSizeWithPaddingAndMargin(),i=this._layout.mainAxisSize-t;e.flexItem._setMainAxisLayoutPos(i)}},Hl=class{constructor(e){this._flexContainer=e,this._lineLayouter=new jl(this),this._resizingMainAxis=!1,this._resizingCrossAxis=!1,this._cachedMainAxisSizeAfterLayout=0,this._cachedCrossAxisSizeAfterLayout=0,this._shrunk=!1}get shrunk(){return this._shrunk}get recalc(){return this.item.recalc}layoutTree(){this.item.flexParent!==null?this._updateSubTreeLayout():this.updateTreeLayout(),this.updateItemCoords()}updateTreeLayout(){this.recalc?this._performUpdateLayoutTree():this._performUpdateLayoutTreeFromCache()}_performUpdateLayoutTree(){this._setInitialAxisSizes(),this._layoutAxes(),this._refreshLayoutCache()}_refreshLayoutCache(){this._cachedMainAxisSizeAfterLayout=this.mainAxisSize,this._cachedCrossAxisSizeAfterLayout=this.crossAxisSize}_performUpdateLayoutTreeFromCache(){this.item.funcW||this.item.funcH?(this.item.enableLocalRecalcFlag(),this._performUpdateLayoutTree()):(this.mainAxisSize=this._cachedMainAxisSizeAfterLayout,this.crossAxisSize=this._cachedCrossAxisSizeAfterLayout)}updateItemCoords(){new Ul(this).finalize()}_updateSubTreeLayout(){let e=this.crossAxisSize;this._layoutMainAxis(),this.performResizeCrossAxis(e)}_setInitialAxisSizes(){this.item.isFlexItemEnabled()?this.item.flexItem._resetLayoutSize():(this.mainAxisSize=this._getMainAxisBasis(),this.crossAxisSize=this._getCrossAxisBasis()),this._resizingMainAxis=!1,this._resizingCrossAxis=!1,this._shrunk=!1}_layoutAxes(){this._layoutMainAxis(),this._layoutCrossAxis()}_layoutMainAxis(){this._layoutLines(),this._fitMainAxisSizeToContents()}_layoutLines(){this._lineLayouter.layoutLines()}get _lines(){return this._lineLayouter.lines}_fitMainAxisSizeToContents(){this._resizingMainAxis||this.isMainAxisFitToContents()&&(this.mainAxisSize=this._lineLayouter.mainAxisContentSize)}_layoutCrossAxis(){let e=new Dl(this);e.init(),this._totalCrossAxisSize=e.totalCrossAxisSize,this._fitCrossAxisSizeToContents(),e.align()}_fitCrossAxisSizeToContents(){this._resizingCrossAxis||this.isCrossAxisFitToContents()&&(this.crossAxisSize=this._totalCrossAxisSize)}isWrapping(){return this._flexContainer.wrap}isAxisFitToContents(e){return this._horizontal===e?this.isMainAxisFitToContents():this.isCrossAxisFitToContents()}isMainAxisFitToContents(){return!this.isWrapping()&&!this._hasFixedMainAxisBasis()}isCrossAxisFitToContents(){return!this._hasFixedCrossAxisBasis()}_hasFixedMainAxisBasis(){return!pe.isZeroAxisSize(this.item,this._horizontal)}_hasFixedCrossAxisBasis(){return!pe.isZeroAxisSize(this.item,!this._horizontal)}getAxisMinSize(e){return this._horizontal===e?this._getMainAxisMinSize():this._getCrossAxisMinSize()}_getMainAxisMinSize(){return this._lineLayouter.mainAxisMinSize}_getCrossAxisMinSize(){return this._lineLayouter.crossAxisMinSize}resizeMainAxis(e){this.mainAxisSize!==e&&(this.recalc>0?this.performResizeMainAxis(e):this._checkValidCacheMainAxisResize()?(this.mainAxisSize=e,this._fitCrossAxisSizeToContents()):(this.item.enableLocalRecalcFlag(),this.performResizeMainAxis(e)))}_checkValidCacheMainAxisResize(e){return e===this.targetMainAxisSize||!this.isCrossAxisFitToContents()}performResizeMainAxis(e){let t=e<this.mainAxisSize;this._shrunk=t,this.mainAxisSize=e,this._resizingMainAxis=!0,this._layoutAxes(),this._resizingMainAxis=!1}resizeCrossAxis(e){this.crossAxisSize!==e&&(this.recalc>0?this.performResizeCrossAxis(e):this.crossAxisSize=e)}performResizeCrossAxis(e){this.crossAxisSize=e,this._resizingCrossAxis=!0,this._layoutCrossAxis(),this._resizingCrossAxis=!1}get targetMainAxisSize(){return this._horizontal?this.item.target.w:this.item.target.h}get targetCrossAxisSize(){return this._horizontal?this.item.target.h:this.item.target.w}getParentFlexContainer(){return this.item.isFlexItemEnabled()?this.item.flexItem.ctr:null}_getHorizontalPadding(){return pe.getTotalPadding(this.item,!0)}_getVerticalPadding(){return pe.getTotalPadding(this.item,!1)}_getHorizontalPaddingOffset(){return pe.getPaddingOffset(this.item,!0)}_getVerticalPaddingOffset(){return pe.getPaddingOffset(this.item,!1)}_getMainAxisBasis(){return pe.getRelAxisSize(this.item,this._horizontal)}_getCrossAxisBasis(){return pe.getRelAxisSize(this.item,!this._horizontal)}get _horizontal(){return this._flexContainer._horizontal}get _reverse(){return this._flexContainer._reverse}get item(){return this._flexContainer.item}get items(){return this.item.items}get resizingMainAxis(){return this._resizingMainAxis}get resizingCrossAxis(){return this._resizingCrossAxis}get numberOfItems(){return this.items.length}get mainAxisSize(){return pe.getAxisLayoutSize(this.item,this._horizontal)}get crossAxisSize(){return pe.getAxisLayoutSize(this.item,!this._horizontal)}set mainAxisSize(e){pe.setAxisLayoutSize(this.item,this._horizontal,e)}set crossAxisSize(e){pe.setAxisLayoutSize(this.item,!this._horizontal,e)}},Tr=class r{constructor(e){this._item=e,this._layout=new Hl(this),this._horizontal=!0,this._reverse=!1,this._wrap=!1,this._alignItems="stretch",this._justifyContent="flex-start",this._alignContent="flex-start",this._paddingLeft=0,this._paddingTop=0,this._paddingRight=0,this._paddingBottom=0}get item(){return this._item}_changedDimensions(){this._item.changedDimensions()}_changedContents(){this._item.changedContents()}get direction(){return(this._horizontal?"row":"column")+(this._reverse?"-reverse":"")}set direction(e){this.direction!==e&&(this._horizontal=e==="row"||e==="row-reverse",this._reverse=e==="row-reverse"||e==="column-reverse",this._changedContents())}set wrap(e){this._wrap=e,this._changedContents()}get wrap(){return this._wrap}get alignItems(){return this._alignItems}set alignItems(e){if(this._alignItems!==e){if(r.ALIGN_ITEMS.indexOf(e)===-1)throw new Error("Unknown alignItems, options: "+r.ALIGN_ITEMS.join(","));this._alignItems=e,this._changedContents()}}get alignContent(){return this._alignContent}set alignContent(e){if(this._alignContent!==e){if(r.ALIGN_CONTENT.indexOf(e)===-1)throw new Error("Unknown alignContent, options: "+r.ALIGN_CONTENT.join(","));this._alignContent=e,this._changedContents()}}get justifyContent(){return this._justifyContent}set justifyContent(e){if(this._justifyContent!==e){if(r.JUSTIFY_CONTENT.indexOf(e)===-1)throw new Error("Unknown justifyContent, options: "+r.JUSTIFY_CONTENT.join(","));this._justifyContent=e,this._changedContents()}}set padding(e){this.paddingLeft=e,this.paddingTop=e,this.paddingRight=e,this.paddingBottom=e}get padding(){return this.paddingLeft}set paddingLeft(e){this._paddingLeft=e,this._changedDimensions()}get paddingLeft(){return this._paddingLeft}set paddingTop(e){this._paddingTop=e,this._changedDimensions()}get paddingTop(){return this._paddingTop}set paddingRight(e){this._paddingRight=e,this._changedDimensions()}get paddingRight(){return this._paddingRight}set paddingBottom(e){this._paddingBottom=e,this._changedDimensions()}get paddingBottom(){return this._paddingBottom}patch(e){dt.patchObject(this,e)}};Tr.ALIGN_ITEMS=["flex-start","flex-end","center","stretch"];Tr.ALIGN_CONTENT=["flex-start","flex-end","center","space-between","space-around","space-evenly","stretch"];Tr.JUSTIFY_CONTENT=["flex-start","flex-end","center","space-between","space-around","space-evenly"];var Zn=class r{constructor(e){this._ctr=null,this._item=e,this._grow=0,this._shrink=r.SHRINK_AUTO,this._alignSelf=void 0,this._minWidth=0,this._minHeight=0,this._maxWidth=0,this._maxHeight=0,this._marginLeft=0,this._marginTop=0,this._marginRight=0,this._marginBottom=0}get item(){return this._item}get grow(){return this._grow}set grow(e){this._grow!==e&&(this._grow=parseInt(e)||0,this._changed())}get shrink(){return this._shrink===r.SHRINK_AUTO?this._getDefaultShrink():this._shrink}_getDefaultShrink(){return this.item.isFlexEnabled()?1:0}set shrink(e){this._shrink!==e&&(this._shrink=parseInt(e)||0,this._changed())}get alignSelf(){return this._alignSelf}set alignSelf(e){if(this._alignSelf!==e){if(e===void 0)this._alignSelf=void 0;else{if(Tr.ALIGN_ITEMS.indexOf(e)===-1)throw new Error("Unknown alignSelf, options: "+Tr.ALIGN_ITEMS.join(","));this._alignSelf=e}this._changed()}}get minWidth(){return this._minWidth}set minWidth(e){this._minWidth=Math.max(0,e),this._item.changedDimensions(!0,!1)}get minHeight(){return this._minHeight}set minHeight(e){this._minHeight=Math.max(0,e),this._item.changedDimensions(!1,!0)}get maxWidth(){return this._maxWidth}set maxWidth(e){this._maxWidth=Math.max(0,e),this._item.changedDimensions(!0,!1)}get maxHeight(){return this._maxHeight}set maxHeight(e){this._maxHeight=Math.max(0,e),this._item.changedDimensions(!1,!0)}set margin(e){this.marginLeft=e,this.marginTop=e,this.marginRight=e,this.marginBottom=e}get margin(){return this.marginLeft}set marginLeft(e){this._marginLeft=e,this._changed()}get marginLeft(){return this._marginLeft}set marginTop(e){this._marginTop=e,this._changed()}get marginTop(){return this._marginTop}set marginRight(e){this._marginRight=e,this._changed()}get marginRight(){return this._marginRight}set marginBottom(e){this._marginBottom=e,this._changed()}get marginBottom(){return this._marginBottom}_changed(){this.ctr&&this.ctr._changedContents()}set ctr(e){this._ctr=e}get ctr(){return this._ctr}patch(e){dt.patchObject(this,e)}_resetLayoutSize(){this._resetHorizontalAxisLayoutSize(),this._resetVerticalAxisLayoutSize()}_resetCrossAxisLayoutSize(){this.ctr._horizontal?this._resetVerticalAxisLayoutSize():this._resetHorizontalAxisLayoutSize()}_resetHorizontalAxisLayoutSize(){let e=pe.getRelAxisSize(this.item,!0);this._minWidth&&(e=Math.max(this._minWidth,e)),this._maxWidth&&(e=Math.min(this._maxWidth,e)),pe.setAxisLayoutSize(this.item,!0,e)}_resetVerticalAxisLayoutSize(){let e=pe.getRelAxisSize(this.item,!1);this._minHeight&&(e=Math.max(this._minHeight,e)),this._maxHeight&&(e=Math.min(this._maxHeight,e)),pe.setAxisLayoutSize(this.item,!1,e)}_getCrossAxisMinSizeSetting(){return this._getMinSizeSetting(!this.ctr._horizontal)}_getCrossAxisMaxSizeSetting(){return this._getMaxSizeSetting(!this.ctr._horizontal)}_getMainAxisMaxSizeSetting(){return this._getMaxSizeSetting(this.ctr._horizontal)}_getMinSizeSetting(e){return e?this._minWidth:this._minHeight}_getMaxSizeSetting(e){return e?this._maxWidth:this._maxHeight}_getMainAxisMinSize(){return pe.getAxisMinSize(this.item,this.ctr._horizontal)}_getCrossAxisMinSize(){return pe.getAxisMinSize(this.item,!this.ctr._horizontal)}_getMainAxisLayoutSize(){return pe.getAxisLayoutSize(this.item,this.ctr._horizontal)}_getMainAxisLayoutPos(){return pe.getAxisLayoutPos(this.item,this.ctr._horizontal)}_setMainAxisLayoutPos(e){return pe.setAxisLayoutPos(this.item,this.ctr._horizontal,e)}_setCrossAxisLayoutPos(e){return pe.setAxisLayoutPos(this.item,!this.ctr._horizontal,e)}_getCrossAxisLayoutSize(){return pe.getAxisLayoutSize(this.item,!this.ctr._horizontal)}_resizeCrossAxis(e){return pe.resizeAxis(this.item,!this.ctr._horizontal,e)}_resizeMainAxis(e){return pe.resizeAxis(this.item,this.ctr._horizontal,e)}_getMainAxisPadding(){return pe.getTotalPadding(this.item,this.ctr._horizontal)}_getCrossAxisPadding(){return pe.getTotalPadding(this.item,!this.ctr._horizontal)}_getMainAxisMargin(){return pe.getTotalMargin(this.item,this.ctr._horizontal)}_getCrossAxisMargin(){return pe.getTotalMargin(this.item,!this.ctr._horizontal)}_getHorizontalMarginOffset(){return pe.getMarginOffset(this.item,!0)}_getVerticalMarginOffset(){return pe.getMarginOffset(this.item,!1)}_getMainAxisMinSizeWithPaddingAndMargin(){return this._getMainAxisMinSize()+this._getMainAxisPadding()+this._getMainAxisMargin()}_getCrossAxisMinSizeWithPaddingAndMargin(){return this._getCrossAxisMinSize()+this._getCrossAxisPadding()+this._getCrossAxisMargin()}_getMainAxisLayoutSizeWithPaddingAndMargin(){return this._getMainAxisLayoutSize()+this._getMainAxisPadding()+this._getMainAxisMargin()}_getCrossAxisLayoutSizeWithPaddingAndMargin(){return this._getCrossAxisLayoutSize()+this._getCrossAxisPadding()+this._getCrossAxisMargin()}_hasFixedCrossAxisSize(){return!pe.isZeroAxisSize(this.item,!this.ctr._horizontal)}_hasRelCrossAxisSize(){return!!(this.ctr._horizontal?this.item.funcH:this.item.funcW)}};Zn.SHRINK_AUTO=-1;var Wl=class{constructor(e){this._target=e,this._recalc=0,this._enabled=!1,this.x=0,this.y=0,this.w=0,this.h=0,this._originalX=0,this._originalY=0,this._originalWidth=0,this._originalHeight=0,this._flex=null,this._flexItem=null,this._flexItemDisabled=!1,this._items=null}get flexLayout(){return this.flex?this.flex._layout:null}layoutFlexTree(){this.isFlexEnabled()&&this.isChanged()&&this.flexLayout.layoutTree()}get target(){return this._target}get flex(){return this._flex}set flex(e){e?(this.isFlexEnabled()||this._enableFlex(),this._flex.patch(e)):this.isFlexEnabled()&&this._disableFlex()}get flexItem(){return this._flexItemDisabled?!1:(this._ensureFlexItem(),this._flexItem)}set flexItem(e){if(e===!1){if(!this._flexItemDisabled){let t=this.flexParent;this._flexItemDisabled=!0,this._checkEnabled(),t&&(t._clearFlexItemsCache(),t.changedContents())}}else if(this._ensureFlexItem(),this._flexItem.patch(e),this._flexItemDisabled){this._flexItemDisabled=!1,this._checkEnabled();let t=this.flexParent;t&&(t._clearFlexItemsCache(),t.changedContents())}}_enableFlex(){this._flex=new Tr(this),this._checkEnabled(),this.changedDimensions(),this._enableChildrenAsFlexItems()}_disableFlex(){this.changedDimensions(),this._flex=null,this._checkEnabled(),this._disableChildrenAsFlexItems()}_enableChildrenAsFlexItems(){let e=this._target._children;if(e)for(let t=0,i=e.length;t<i;t++)e[t].layout._enableFlexItem()}_disableChildrenAsFlexItems(){let e=this._target._children;if(e)for(let t=0,i=e.length;t<i;t++)e[t].layout._disableFlexItem()}_enableFlexItem(){this._ensureFlexItem();let e=this._target._parent._layout;this._flexItem.ctr=e._flex,e.changedContents(),this._checkEnabled()}_disableFlexItem(){this._flexItem&&(this._flexItem.ctr=null),this._checkEnabled(),this._resetOffsets()}_resetOffsets(){this.x=0,this.y=0}_ensureFlexItem(){this._flexItem||(this._flexItem=new Zn(this))}_checkEnabled(){let e=this.isEnabled();this._enabled!==e&&(e?this._enable():this._disable(),this._enabled=e)}_enable(){this._setupTargetForFlex(),this._target.enableFlexLayout()}_disable(){this._restoreTargetToNonFlex(),this._target.disableFlexLayout()}isEnabled(){return this.isFlexEnabled()||this.isFlexItemEnabled()}isFlexEnabled(){return this._flex!==null}isFlexItemEnabled(){return this.flexParent!==null}_restoreTargetToNonFlex(){let e=this._target;e.x=this._originalX,e.y=this._originalY,e.setDimensions(this._originalWidth,this._originalHeight)}_setupTargetForFlex(){let e=this._target;this._originalX=e._x,this._originalY=e._y,this._originalWidth=e._w,this._originalHeight=e._h}setParent(e,t){e&&e.isFlexContainer()&&e._layout._changedChildren(),t&&t.isFlexContainer()&&(this._enableFlexItem(),t._layout._changedChildren()),this._checkEnabled()}get flexParent(){if(this._flexItemDisabled)return null;let e=this._target._parent;return e&&e.isFlexContainer()?e._layout:null}setVisible(e){let t=this.flexParent;t&&t._changedChildren()}get items(){return this._items||(this._items=this._getFlexItems()),this._items}_getFlexItems(){let e=[],t=this._target._children;if(t)for(let i=0,s=t.length;i<s;i++){let n=t[i];n.visible&&n.isFlexItem()&&e.push(n.layout)}return e}_changedChildren(){this._clearFlexItemsCache(),this.changedContents()}_clearFlexItemsCache(){this._items=null}setLayout(e,t,i,s){let n=this._originalX,o=this._originalY;this.funcX&&(n=this.funcX(pe.getParentAxisSizeWithPadding(this,!0))),this.funcY&&(o=this.funcY(pe.getParentAxisSizeWithPadding(this,!1))),this.isFlexItemEnabled()?this.target.setLayout(e+n,t+o,i,s):this.target.setLayout(n,o,i,s)}changedDimensions(e=!0,t=!0){this._updateRecalc(e,t)}changedContents(){this._updateRecalc()}forceLayout(){this._updateRecalc()}isChanged(){return this._recalc>0}_updateRecalc(e=!1,t=!1){if(this.isFlexEnabled()){let n=this._flex._layout;e=e||n.isAxisFitToContents(!0),t=t||n.isAxisFitToContents(!1)}let i=1+(e?2:0)+(t?4:0),s=this.getNewRecalcFlags(i);this._recalc|=i,s>1?this.flexParent?this.flexParent._updateRecalcBottomUp(i):this._target.triggerLayout():this._target.triggerLayout()}getNewRecalcFlags(e){return 7-this._recalc&e}_updateRecalcBottomUp(e){let t=this._getRecalcFromChangedChildRecalc(e),i=this.getNewRecalcFlags(t);if(this._recalc|=t,i>1){let s=this.flexParent;s?s._updateRecalcBottomUp(t):this._target.triggerLayout()}else this._target.triggerLayout()}_getRecalcFromChangedChildRecalc(e){let t=this._flex._layout,i=t._horizontal?1:2,s=t._horizontal?2:1;e&s||e&i&&t.isWrapping()&&t.isCrossAxisFitToContents()&&(e+=s);let o=t.isAxisFitToContents(!0),a=t.isAxisFitToContents(!1);t.shrunk&&(t._horizontal?o=!0:a=!0);let l=1+(o?2:0)+(a?4:0);return e&l}get recalc(){return this._recalc}clearRecalcFlag(){this._recalc=0}enableLocalRecalcFlag(){this._recalc=1}get originalX(){return this._originalX}setOriginalXWithoutUpdatingLayout(e){this._originalX=e}get originalY(){return this._originalY}setOriginalYWithoutUpdatingLayout(e){this._originalY=e}get originalWidth(){return this._originalWidth}set originalWidth(e){this._originalWidth!==e&&(this._originalWidth=e,this.changedDimensions(!0,!1))}get originalHeight(){return this._originalHeight}set originalHeight(e){this._originalHeight!==e&&(this._originalHeight=e,this.changedDimensions(!1,!0))}get funcX(){return this._target.funcX}get funcY(){return this._target.funcY}get funcW(){return this._target.funcW}get funcH(){return this._target.funcH}},mi=class r{constructor(e,t=null){this.id=r.id++,this.manager=e,this.stage=e.stage,this.textures=new Set,this._activeTextureCount=0,this.loader=t,this.lookupId=null,this._cancelCb=null,this.loadingSince=0,this.w=0,this.h=0,this._nativeTexture=null,this.permanent=!1,this.renderInfo=null,this._isResultTexture=!this.loader,this._loadError=null,this._imageRef=null,this._hasAlpha=!1}get hasAlpha(){return this._hasAlpha}get loadError(){return this._loadError}addTexture(e){this.textures.has(e)||this.textures.add(e)}removeTexture(e){this.textures.delete(e)}incActiveTextureCount(){this._activeTextureCount++,this._activeTextureCount===1&&this.becomesUsed()}decActiveTextureCount(){this._activeTextureCount--,this._activeTextureCount===0&&this.becomesUnused()}get isResultTexture(){return this._isResultTexture}set isResultTexture(e){this._isResultTexture=e}forEachEnabledElement(e){this.textures.forEach(t=>{t.elements.forEach(e)})}hasEnabledElements(){return this.textures.size>0}forEachActiveElement(e){this.textures.forEach(t=>{t.elements.forEach(i=>{i.active&&e(i)})})}getRenderWidth(){return this.w}getRenderHeight(){return this.h}allowCleanup(){return!this.permanent&&!this.isUsed()}becomesUsed(){this.load()}becomesUnused(){this.cancel()}cancel(){this.isLoading()&&(this._cancelCb&&(this._cancelCb(this),this._cancelCb=null),this.loadingSince=0)}isLoaded(){return!!this._nativeTexture}isLoading(){return this.loadingSince>0}isError(){return!!this._loadError}reload(){this.free(),this.isUsed()&&this.load()}load(e=!1){this.isResultTexture||!this._nativeTexture&&!this.isLoading()&&(this.loadingSince=new Date().getTime(),this._cancelCb=this.loader((t,i)=>{if(this.isLoading()){if(this._cancelCb=null,this.manager.stage.destroyed)return;if(t)this.onError(t);else if(i&&i.source)if(!this.stage.isUpdatingFrame()&&!e&&i.throttle!==!1){let s=this.stage.textureThrottler;this._cancelCb=s.genericCancelCb,s.add(this,i)}else this.processLoadedSource(i)}},this))}processLoadedSource(e){this.loadingSince=0,this.setSource(e)}setSource(e){let t=e.source;this._hasAlpha=e&&e.hasAlpha||!1,this.w=t.width||e&&e.w||0,this.h=t.height||e&&e.h||0,e&&e.renderInfo&&(this.renderInfo=e.renderInfo),this.permanent=!!e.permanent,e&&e.imageRef&&(this._imageRef=e.imageRef),e&&e.flipTextureY?this._flipTextureY=e.flipTextureY:this._flipTextureY=!1,this._isNativeTexture(t)?(this._nativeTexture=t,this.w=this.w||t.w,this.h=this.h||t.h,this.permanent=e.hasOwnProperty("permanent")?e.permanent:!0):this.manager.uploadTextureSource(this,e),this._loadError=null,this.onLoad()}isUsed(){return this._activeTextureCount>0}onLoad(){this.isUsed()&&this.textures.forEach(e=>{e.onLoad()})}forceRenderUpdate(){this._nativeTexture&&(this._nativeTexture.update=this.stage.frameCounter),this.forEachActiveElement(function(e){e.forceRenderUpdate()})}forceUpdateRenderCoords(){this.forEachActiveElement(function(e){e._updateTextureCoords()})}get nativeTexture(){return this._nativeTexture}clearNativeTexture(){this._nativeTexture=null,this._imageRef=null}replaceNativeTexture(e,t,i){let s=this._nativeTexture;this._nativeTexture=e,this.w=t,this.h=i,!s&&this._nativeTexture&&this.forEachActiveElement(n=>n.onTextureSourceLoaded()),this._nativeTexture||this.forEachActiveElement(n=>n._setDisplayedTexture(null)),this.forEachEnabledElement(n=>n._updateDimensions())}onError(e){this._loadError=e,this.loadingSince=0,console.error("[Lightning] texture load error",e,this.lookupId),this.forEachActiveElement(t=>t.onTextureSourceLoadError(e))}free(){this.isLoaded()&&this.manager.freeTextureSource(this)}_isNativeTexture(e){return K.isNode?e.constructor.name==="WebGLTexture":"WebGLTexture"in window?e instanceof WebGLTexture:!1}};mi.prototype.isTextureSource=!0;mi.id=1;var eo=class{constructor(e){this._element=e.element,this._core=e,this.ctx=this._core.ctx,this._enabled=!1,this.lazy=!1,this._colorize=!1,this._renderTexture=null,this._renderTextureReused=!1,this._resultTextureSource=null,this._renderOffscreen=!1,this.empty=!1}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._core.updateRenderToTextureEnabled()}get renderOffscreen(){return this._renderOffscreen}set renderOffscreen(e){this._renderOffscreen=e,this._core.setHasRenderUpdates(1),this._core._setRecalc(6)}get colorize(){return this._colorize}set colorize(e){this._colorize!==e&&(this._colorize=e,this._core.setHasRenderUpdates(1))}_getTextureSource(){return this._resultTextureSource||(this._resultTextureSource=new mi(this._element.stage.textureManager),this.updateResultTexture()),this._resultTextureSource}hasResultTexture(){return!!this._resultTextureSource}resultTextureInUse(){return this._resultTextureSource&&this._resultTextureSource.hasEnabledElements()}updateResultTexture(){let e=this.getResultTexture();if(this._resultTextureSource){if(this._resultTextureSource.nativeTexture!==e){let t=e?e.w:0,i=e?e.h:0;this._resultTextureSource.replaceNativeTexture(e,t,i)}this._resultTextureSource.forEachEnabledElement(t=>{t._updateDimensions(),t.core.setHasRenderUpdates(3)})}}mustRenderToTexture(){return this._enabled&&!this.lazy?!0:!!(this._enabled&&this.lazy&&this._core._hasRenderUpdates<3)}deactivate(){this.release()}get renderTextureReused(){return this._renderTextureReused}release(){this.releaseRenderTexture()}releaseRenderTexture(){this._renderTexture&&(this._renderTextureReused||this.ctx.releaseRenderTexture(this._renderTexture),this._renderTexture=null,this._renderTextureReused=!1,this.updateResultTexture())}reuseTextureAsRenderTexture(e){this._renderTexture!==e&&(this.releaseRenderTexture(),this._renderTexture=e,this._renderTextureReused=!0)}hasRenderTexture(){return!!this._renderTexture}getRenderTexture(){return this._renderTexture||(this._renderTexture=this.ctx.allocateRenderTexture(this._core._w,this._core._h),this._renderTextureReused=!1),this._renderTexture}getResultTexture(){return this._renderTexture}},ds=class r{constructor(e){this._element=e,this.ctx=e.stage.ctx,this._recalc=0,this._parent=null,this._onUpdate=null,this._pRecalc=0,this._worldContext=new sr,this._hasUpdates=!1,this._localAlpha=1,this._onAfterCalcs=null,this._onAfterUpdate=null,this._localPx=0,this._localPy=0,this._localTa=1,this._localTb=0,this._localTc=0,this._localTd=1,this._isComplex=!1,this._dimsUnknown=!1,this._clipping=!1,this._zSort=!1,this._outOfBounds=0,this._displayedTextureSource=null,this._zContextUsage=0,this._children=null,this._hasRenderUpdates=0,this._zIndexedChildren=null,this._renderContext=this._worldContext,this.renderState=this.ctx.renderState,this._scissor=null,this._shaderOwner=null,this._updateTreeOrder=0,this._colorUl=this._colorUr=this._colorBl=this._colorBr=4294967295,this._x=0,this._y=0,this._w=0,this._h=0,this._optFlags=0,this._funcX=null,this._funcY=null,this._funcW=null,this._funcH=null,this._scaleX=1,this._scaleY=1,this._pivotX=.5,this._pivotY=.5,this._mountX=0,this._mountY=0,this._rotation=0,this._alpha=1,this._visible=!0,this._ulx=0,this._uly=0,this._brx=1,this._bry=1,this._zIndex=0,this._forceZIndexContext=!1,this._zParent=null,this._isRoot=!1,this._zIndexResort=!1,this._shader=null,this._renderToTextureEnabled=!1,this._texturizer=null,this._useRenderToTexture=!1,this._boundsMargin=null,this._recBoundsMargin=null,this._withinBoundsMargin=!1,this._viewport=null,this._clipbox=!0,this.render=this._renderSimple,this._layout=null}get offsetX(){return this._funcX?this._funcX:this.hasFlexLayout()?this._layout.originalX:this._x}set offsetX(e){K.isFunction(e)?this.funcX=e:(this._disableFuncX(),this.hasFlexLayout()?(this.x+=e-this._layout.originalX,this._layout.setOriginalXWithoutUpdatingLayout(e)):this.x=e)}get x(){return this._x}set x(e){e!==this._x&&(this._updateLocalTranslateDelta(e-this._x,0),this._x=e)}get funcX(){return this._optFlags&1?this._funcX:null}set funcX(e){this._funcX!==e&&(this._optFlags|=1,this._funcX=e,this.hasFlexLayout()?(this._layout.setOriginalXWithoutUpdatingLayout(0),this.layout.forceLayout()):(this._x=0,this._triggerRecalcTranslate()))}_disableFuncX(){this._optFlags=this._optFlags&65534,this._funcX=null}get offsetY(){return this._funcY?this._funcY:this.hasFlexLayout()?this._layout.originalY:this._y}set offsetY(e){K.isFunction(e)?this.funcY=e:(this._disableFuncY(),this.hasFlexLayout()?(this.y+=e-this._layout.originalY,this._layout.setOriginalYWithoutUpdatingLayout(e)):this.y=e)}get y(){return this._y}set y(e){e!==this._y&&(this._updateLocalTranslateDelta(0,e-this._y),this._y=e)}get funcY(){return this._optFlags&2?this._funcY:null}set funcY(e){this._funcY!==e&&(this._optFlags|=2,this._funcY=e,this.hasFlexLayout()?(this._layout.setOriginalYWithoutUpdatingLayout(0),this.layout.forceLayout()):(this._y=0,this._triggerRecalcTranslate()))}_disableFuncY(){this._optFlags=this._optFlags&65533,this._funcY=null}get funcW(){return this._optFlags&4?this._funcW:null}set funcW(e){this._funcW!==e&&(this._optFlags|=4,this._funcW=e,this.hasFlexLayout()?(this._layout._originalWidth=0,this.layout.changedDimensions(!0,!1)):(this._w=0,this._triggerRecalcTranslate()))}disableFuncW(){this._optFlags=this._optFlags&65531,this._funcW=null}get funcH(){return this._optFlags&8?this._funcH:null}set funcH(e){this._funcH!==e&&(this._optFlags|=8,this._funcH=e,this.hasFlexLayout()?(this._layout._originalHeight=0,this.layout.changedDimensions(!1,!0)):(this._h=0,this._triggerRecalcTranslate()))}disableFuncH(){this._optFlags=this._optFlags&65527,this._funcH=null}get w(){return this._w}getRenderWidth(){return this.hasFlexLayout()?this._layout.originalWidth:this._w}get h(){return this._h}getRenderHeight(){return this.hasFlexLayout()?this._layout.originalHeight:this._h}get scaleX(){return this._scaleX}set scaleX(e){this._scaleX!==e&&(this._scaleX=e,this._updateLocalTransform())}get scaleY(){return this._scaleY}set scaleY(e){this._scaleY!==e&&(this._scaleY=e,this._updateLocalTransform())}get scale(){return this.scaleX}set scale(e){(this._scaleX!==e||this._scaleY!==e)&&(this._scaleX=e,this._scaleY=e,this._updateLocalTransform())}get pivotX(){return this._pivotX}set pivotX(e){this._pivotX!==e&&(this._pivotX=e,this._updateLocalTranslate())}get pivotY(){return this._pivotY}set pivotY(e){this._pivotY!==e&&(this._pivotY=e,this._updateLocalTranslate())}get pivot(){return this._pivotX}set pivot(e){(this._pivotX!==e||this._pivotY!==e)&&(this._pivotX=e,this._pivotY=e,this._updateLocalTranslate())}get mountX(){return this._mountX}set mountX(e){this._mountX!==e&&(this._mountX=e,this._updateLocalTranslate())}get mountY(){return this._mountY}set mountY(e){this._mountY!==e&&(this._mountY=e,this._updateLocalTranslate())}get mount(){return this._mountX}set mount(e){(this._mountX!==e||this._mountY!==e)&&(this._mountX=e,this._mountY=e,this._updateLocalTranslate())}get rotation(){return this._rotation}set rotation(e){this._rotation!==e&&(this._rotation=e,this._updateLocalTransform())}get alpha(){return this._alpha}set alpha(e){if(e=e>1?1:e<1e-14?0:e,this._alpha!==e){let t=this._alpha;this._alpha=e,this._updateLocalAlpha(),t===0!=(e===0)&&this._element._updateEnabledFlag()}}get visible(){return this._visible}set visible(e){this._visible!==e&&(this._visible=e,this._updateLocalAlpha(),this._element._updateEnabledFlag(),this.hasFlexLayout()&&this.layout.setVisible(e))}_updateLocalTransform(){if(this._rotation!==0&&this._rotation%(2*Math.PI)){let e=Math.sin(this._rotation),t=Math.cos(this._rotation);this._setLocalTransform(t*this._scaleX,-e*this._scaleY,e*this._scaleX,t*this._scaleY)}else this._setLocalTransform(this._scaleX,0,0,this._scaleY);this._updateLocalTranslate()}_updateLocalTranslate(){this._recalcLocalTranslate(),this._triggerRecalcTranslate()}_recalcLocalTranslate(){let e=this._pivotX*this._w,t=this._pivotY*this._h,i=this._x-(e*this._localTa+t*this._localTb)+e,s=this._y-(e*this._localTc+t*this._localTd)+t;i-=this._mountX*this._w,s-=this._mountY*this._h,this._localPx=i,this._localPy=s}_updateLocalTranslateDelta(e,t){this._addLocalTranslate(e,t)}_updateLocalAlpha(){this._setLocalAlpha(this._visible?this._alpha:0)}setHasRenderUpdates(e){if(this._worldContext.alpha){let t=this;for(t._hasRenderUpdates=Math.max(e,t._hasRenderUpdates);(t=t._parent)&&t._hasRenderUpdates!==3;)t._hasRenderUpdates=3}}_setRecalc(e){this._recalc|=e,this._setHasUpdates(),this._parent&&this._parent.setHasRenderUpdates(3)}_setHasUpdates(){let e=this;for(;e&&!e._hasUpdates;)e._hasUpdates=!0,e=e._parent}getParent(){return this._parent}setParent(e){if(e!==this._parent){let t=this.isZContext(),i=this._parent;if(this._parent=e,(this._layout||e&&e.isFlexContainer())&&this.layout.setParent(i,e),i&&i.setHasRenderUpdates(3),this._setRecalc(7),this._parent&&this._parent._setHasUpdates(),this._zIndex===0?this.setZParent(e):this.setZParent(e?e.findZContext():null),t!==this.isZContext()&&(this.isZContext()?this.enableZContext(i.findZContext()):this.disableZContext()),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort(),!this._shader){let s=e&&!e._renderToTextureEnabled?e._shaderOwner:null;s!==this._shaderOwner&&(this.setHasRenderUpdates(1),this._setShaderOwnerRecursive(s))}}}enableZSort(e=!1){!this._zSort&&this._zContextUsage>0&&(this._zSort=!0,e&&this.ctx.forceZSort(this))}addChildAt(e,t){this._children||(this._children=[]),this._children.splice(e,0,t),t.setParent(this)}setChildAt(e,t){this._children||(this._children=[]),this._children[e].setParent(null),this._children[e]=t,t.setParent(this)}removeChildAt(e){let t=this._children[e];this._children.splice(e,1),t.setParent(null)}removeChildren(){if(this._children){for(let e=0,t=this._children.length;e<t;e++)this._children[e].setParent(null);this._children.splice(0),this._zIndexedChildren&&this._zIndexedChildren.splice(0)}}syncChildren(e,t,i){this._children=i;for(let s=0,n=e.length;s<n;s++)e[s].setParent(null);for(let s=0,n=t.length;s<n;s++)t[s].setParent(this)}moveChild(e,t){let i=this._children[e];this._children.splice(e,1),this._children.splice(t,0,i),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort()}_setLocalTransform(e,t,i,s){this._setRecalc(4),this._localTa=e,this._localTb=t,this._localTc=i,this._localTd=s,this._isComplex=t!==0||i!==0||e<0||s<0}_addLocalTranslate(e,t){this._localPx+=e,this._localPy+=t,this._triggerRecalcTranslate()}_setLocalAlpha(e){!this._worldContext.alpha&&this._parent&&this._parent._worldContext.alpha&&e?this._setRecalc(129):this._setRecalc(1),e<1e-14&&(e=0),this._localAlpha=e}setDimensions(e,t,i=this._dimsUnknown){if(this._dimsUnknown=i,this.hasFlexLayout())this._layout.originalWidth=e,this._layout.originalHeight=t;else if(this._w!==e||this._h!==t)return this._updateDimensions(e,t),!0;return!1}_updateDimensions(e,t){(this._w!==e||this._h!==t)&&(this._w=e,this._h=t,this._triggerRecalcTranslate(),this._texturizer&&(this._texturizer.releaseRenderTexture(),this._texturizer.updateResultTexture()),this._updateLocalTranslate())}setTextureCoords(e,t,i,s){this.setHasRenderUpdates(3),this._ulx=e,this._uly=t,this._brx=i,this._bry=s}get displayedTextureSource(){return this._displayedTextureSource}setDisplayedTextureSource(e){this.setHasRenderUpdates(3),this._displayedTextureSource=e}get isRoot(){return this._isRoot}setAsRoot(){this._parent=new r(this._element),this._parent._hasRenderUpdates=3,this._parent._hasUpdates=!0,this._isRoot=!0,this.ctx.root=this,this._parent._viewport=[0,0,this.ctx.stage.coordsWidth,this.ctx.stage.coordsHeight],this._parent._scissor=this._parent._viewport,this._parent._recBoundsMargin=null,this._setRecalc(7)}isAncestorOf(e){let t=e;for(;t=t._parent;)if(this===t)return!0;return!1}isZContext(){return this._forceZIndexContext||this._renderToTextureEnabled||this._zIndex!==0||this._isRoot||!this._parent}findZContext(){return this.isZContext()?this:this._parent.findZContext()}setZParent(e){if(this._zParent!==e){if(this._zParent!==null&&(this._zIndex!==0&&this._zParent.decZContextUsage(),this._zParent.enableZSort()),e!==null){let t=e._zContextUsage>0;this._zIndex!==0&&e.incZContextUsage(),e._zContextUsage>0&&(!t&&this._parent===e||e._zIndexedChildren.push(this),e.enableZSort())}this._zParent=e,this._zIndexResort=!0}}incZContextUsage(){if(this._zContextUsage++,this._zContextUsage===1&&(this._zIndexedChildren||(this._zIndexedChildren=[]),this._children)){for(let e=0,t=this._children.length;e<t;e++)this._zIndexedChildren.push(this._children[e]);this._zSort=!1}}decZContextUsage(){this._zContextUsage--,this._zContextUsage===0&&(this._zSort=!1,this._zIndexedChildren.splice(0))}get zIndex(){return this._zIndex}set zIndex(e){if(this._zIndex!==e){this.setHasRenderUpdates(1);let t=this._zParent,i=this.isZContext();e===0&&this._zIndex!==0?this._parent===this._zParent?this._zParent&&this._zParent.decZContextUsage():t=this._parent:e!==0&&this._zIndex===0?(t=this._parent?this._parent.findZContext():null,t===this._zParent&&this._zParent&&(this._zParent.incZContextUsage(),this._zParent.enableZSort())):e!==this._zIndex&&this._zParent&&this._zParent._zContextUsage&&this._zParent.enableZSort(),t!==this._zParent&&this.setZParent(null),this._zIndex=e,t!==this._zParent&&this.setZParent(t),i!==this.isZContext()&&(this.isZContext()?this.enableZContext(this._parent.findZContext()):this.disableZContext()),this._zIndexResort=!0,this._zParent&&this._zParent.enableZSort()}}get forceZIndexContext(){return this._forceZIndexContext}set forceZIndexContext(e){this.setHasRenderUpdates(1);let t=this.isZContext();this._forceZIndexContext=e,t!==this.isZContext()&&(this.isZContext()?this.enableZContext(this._parent.findZContext()):this.disableZContext())}enableZContext(e){e&&e._zContextUsage>0&&this._getZIndexedDescs().forEach(i=>{this.isAncestorOf(i)&&i._zIndex!==0&&i.setZParent(this)})}_getZIndexedDescs(){let e=[];if(this._children)for(let t=0,i=this._children.length;t<i;t++)this._children[t]._getZIndexedDescsRec(e);return e}_getZIndexedDescsRec(e){if(this._zIndex)e.push(this);else if(this._children&&!this.isZContext())for(let t=0,i=this._children.length;t<i;t++)this._children[t]._getZIndexedDescsRec(e)}disableZContext(){if(this._zContextUsage>0){let e=this._parent.findZContext();this._zSort&&this.sortZIndexedChildren(),this._zIndexedChildren.slice().forEach(function(t){t._zIndex!==0&&t.setZParent(e)})}}get colorUl(){return this._colorUl}set colorUl(e){this._colorUl!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorUl=e)}get colorUr(){return this._colorUr}set colorUr(e){this._colorUr!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorUr=e)}get colorBl(){return this._colorBl}set colorBl(e){this._colorBl!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorBl=e)}get colorBr(){return this._colorBr}set colorBr(e){this._colorBr!==e&&(this.setHasRenderUpdates(this._displayedTextureSource?3:1),this._colorBr=e)}set onUpdate(e){this._onUpdate=e,this._setRecalc(7)}set onAfterUpdate(e){this._onAfterUpdate=e,this._setRecalc(7)}set onAfterCalcs(e){this._onAfterCalcs=e,this._setRecalc(7)}get shader(){return this._shader}set shader(e){this.setHasRenderUpdates(1);let t=this._shader;if(this._shader=e,!e&&t){let i=this._parent&&!this._parent._renderToTextureEnabled?this._parent._shaderOwner:null;this._setShaderOwnerRecursive(i)}else e&&this._setShaderOwnerRecursive(this)}get activeShader(){return this._shaderOwner?this._shaderOwner.shader:this.renderState.defaultShader}get activeShaderOwner(){return this._shaderOwner}get clipping(){return this._clipping}set clipping(e){this._clipping!==e&&(this._clipping=e,this._setRecalc(3))}get clipbox(){return this._clipbox}set clipbox(e){this._clipbox=e}_setShaderOwnerRecursive(e){if(this._shaderOwner=e,this._children&&!this._renderToTextureEnabled)for(let t=0,i=this._children.length;t<i;t++){let s=this._children[t];s._shader||(s._setShaderOwnerRecursive(e),s._hasRenderUpdates=3)}}_setShaderOwnerChildrenRecursive(e){if(this._children)for(let t=0,i=this._children.length;t<i;t++){let s=this._children[t];s._shader||(s._setShaderOwnerRecursive(e),s._hasRenderUpdates=3)}}_hasRenderContext(){return this._renderContext!==this._worldContext}get renderContext(){return this._renderContext}updateRenderToTextureEnabled(){this.texturizer._enabled?this._enableRenderToTexture():(this._disableRenderToTexture(),this._texturizer.releaseRenderTexture())}_enableRenderToTexture(){if(!this._renderToTextureEnabled){let e=this.isZContext();this._renderToTextureEnabled=!0,this._renderContext=new sr,this._setShaderOwnerChildrenRecursive(null),e||this.enableZContext(this._parent?this._parent.findZContext():null),this.setHasRenderUpdates(3),this._setRecalc(7),this.render=this._renderAdvanced}}_disableRenderToTexture(){this._renderToTextureEnabled&&(this._renderToTextureEnabled=!1,this._setShaderOwnerChildrenRecursive(this._shaderOwner),this._renderContext=this._worldContext,this.isZContext()||this.disableZContext(),this._setRecalc(7),this.setHasRenderUpdates(3),this.render=this._renderSimple)}isWhite(){return this._colorUl===4294967295&&this._colorUr===4294967295&&this._colorBl===4294967295&&this._colorBr===4294967295}hasSimpleTexCoords(){return this._ulx===0&&this._uly===0&&this._brx===1&&this._bry===1}_stashTexCoords(){this._stashedTexCoords=[this._ulx,this._uly,this._brx,this._bry],this._ulx=0,this._uly=0,this._brx=1,this._bry=1}_unstashTexCoords(){this._ulx=this._stashedTexCoords[0],this._uly=this._stashedTexCoords[1],this._brx=this._stashedTexCoords[2],this._bry=this._stashedTexCoords[3],this._stashedTexCoords=null}_stashColors(){this._stashedColors=[this._colorUl,this._colorUr,this._colorBr,this._colorBl],this._colorUl=4294967295,this._colorUr=4294967295,this._colorBr=4294967295,this._colorBl=4294967295}_unstashColors(){this._colorUl=this._stashedColors[0],this._colorUr=this._stashedColors[1],this._colorBr=this._stashedColors[2],this._colorBl=this._stashedColors[3],this._stashedColors=null}isVisible(){return this._localAlpha>1e-14}get outOfBounds(){return this._outOfBounds}set boundsMargin(e){this._boundsMargin=e?e.slice():null,this._triggerRecalcTranslate()}get boundsMargin(){return this._boundsMargin}update(){this._recalc|=this._parent._pRecalc,this._layout&&this._layout.isEnabled()?this._recalc&256&&this._layout.layoutFlexTree():this._recalc&2&&this._optFlags&&this._applyRelativeDimFuncs(),this._onUpdate&&(this._hasUpdates=!0,this._onUpdate(this.element,this));let e=this._parent._worldContext,t=this._worldContext,i=e.alpha&&this._localAlpha;if(this._hasUpdates||this._recalc&&i||t.alpha&&!i){let s=this._recalc;s&1&&(!t.alpha&&i&&(this._hasRenderUpdates=3),t.alpha=e.alpha*this._localAlpha,t.alpha<1e-14&&(t.alpha=0)),s&6&&(t.px=e.px+this._localPx*e.ta,t.py=e.py+this._localPy*e.td,e.tb!==0&&(t.px+=this._localPy*e.tb),e.tc!==0&&(t.py+=this._localPx*e.tc)),s&4&&(t.ta=this._localTa*e.ta,t.tb=this._localTd*e.tb,t.tc=this._localTa*e.tc,t.td=this._localTd*e.td,this._isComplex&&(t.ta+=this._localTc*e.tb,t.tb+=this._localTb*e.ta,t.tc+=this._localTc*e.td,t.td+=this._localTb*e.tc));let n=this._parent._renderContext;if(this._parent._hasRenderContext()){let C=this._renderContext===this._worldContext;C&&(this._renderContext=new sr);let A=this._renderContext;(C||s&1)&&(A.alpha=n.alpha*this._localAlpha,A.alpha<1e-14&&(A.alpha=0)),(C||s&6)&&(A.px=n.px+this._localPx*n.ta,A.py=n.py+this._localPy*n.td,n.tb!==0&&(A.px+=this._localPy*n.tb),n.tc!==0&&(A.py+=this._localPx*n.tc)),C&&(s|=2),(C||s&4)&&(A.ta=this._localTa*n.ta,A.tb=this._localTd*n.tb,A.tc=this._localTa*n.tc,A.td=this._localTd*n.td,this._isComplex&&(A.ta+=this._localTc*n.tb,A.tb+=this._localTb*n.ta,A.tc+=this._localTc*n.td,A.td+=this._localTb*n.tc))}else this._renderContext=this._worldContext;this.ctx.updateTreeOrder===-1?this.ctx.updateTreeOrder=this._updateTreeOrder+1:this._updateTreeOrder=this.ctx.updateTreeOrder++;let o=this._renderToTextureEnabled&&this._texturizer.mustRenderToTexture();this._useRenderToTexture!==o&&(this._recalc|=6,s|=2,this._useRenderToTexture||this._texturizer.release()),this._useRenderToTexture=o;let a=this._renderContext,l=this._dimsUnknown?2048:this._w,u=this._dimsUnknown?2048:this._h,c,g,m,y,b=a.tb!==0||a.tc!==0||a.ta<0||a.td<0;if(b?(c=Math.min(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,m=Math.max(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,g=Math.min(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py,y=Math.max(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py):(c=a.px,m=a.px+a.ta*l,g=a.py,y=a.py+a.td*u),this._dimsUnknown&&(b||this._localTa<1||this._localTb<1)){let C=this._x*n.ta+this._y*n.tb+n.px,A=this._x*n.tc+this._y*n.td+n.py;C<c&&(c=C),A<g&&(g=A),C>m&&(m=C),A>y&&(y=A)}if(s&6||!this._scissor)if(this._clipping&&a.isSquare()){let C=this._parent._useRenderToTexture?this._parent._viewport:this._parent._scissor;if(C){let A=Math.max(C[0],c),T=Math.max(C[1],g);this._scissor=[A,T,Math.min(C[2]+C[0],m)-A,Math.min(C[3]+C[1],y)-T]}else this._scissor=[c,g,m-c,y-g]}else this._scissor=this._parent._useRenderToTexture?this._parent._viewport:this._parent._scissor;if(this._boundsMargin?this._recBoundsMargin=this._boundsMargin:this._recBoundsMargin=this._parent._recBoundsMargin,this._onAfterCalcs&&this._onAfterCalcs(this.element)&&(b?(c=Math.min(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,m=Math.max(0,l*a.ta,l*a.ta+u*a.tb,u*a.tb)+a.px,g=Math.min(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py,y=Math.max(0,l*a.tc,l*a.tc+u*a.td,u*a.td)+a.py):(c=a.px,m=a.px+a.ta*l,g=a.py,y=a.py+a.td*u),this._dimsUnknown&&(b||this._localTa<1||this._localTb<1))){let C=this._x*n.ta+this._y*n.tb+n.px,A=this._x*n.tc+this._y*n.td+n.py;C<c&&(c=C),A<g&&(g=A),C>m&&(m=C),A>y&&(y=A)}if(this._parent._outOfBounds===2)this._outOfBounds=2,this._withinBoundsMargin&&(this._withinBoundsMargin=!1,this.element._disableWithinBoundsMargin());else if(s&6){this._outOfBounds=0;let C=!0;if((!this._renderToTextureEnabled||!this._texturizer||!this._texturizer.renderOffscreen)&&(this._scissor&&(this._scissor[2]<=0||this._scissor[3]<=0)?this._outOfBounds=2:((this._scissor[0]>m||this._scissor[1]>y||c>this._scissor[0]+this._scissor[2]||g>this._scissor[1]+this._scissor[3])&&(this._outOfBounds=1),this._outOfBounds&&(this._clipping||this._useRenderToTexture||this._clipbox&&l&&u)&&(this._outOfBounds=2)),C=this._outOfBounds===0,C||(this._recBoundsMargin?C=!(m<this._scissor[0]-this._recBoundsMargin[2]||y<this._scissor[1]-this._recBoundsMargin[3]||c>this._scissor[0]+this._scissor[2]+this._recBoundsMargin[0]||g>this._scissor[1]+this._scissor[3]+this._recBoundsMargin[1]):C=!(m<this._scissor[0]-100||y<this._scissor[1]-100||c>this._scissor[0]+this._scissor[2]+100||g>this._scissor[1]+this._scissor[3]+100),C&&this._outOfBounds===2&&(this._outOfBounds=1))),this._withinBoundsMargin!==C)if(this._withinBoundsMargin=C,this._withinBoundsMargin){this._hasUpdates=!0;let A=this._recalc;if(this._recalc=0,this.element._enableWithinBoundsMargin(),this._recalc)return this.update();this._recalc=A}else this.element._disableWithinBoundsMargin()}if(this._useRenderToTexture&&(this._viewport?(this._viewport[2]=l,this._viewport[3]=u):this._viewport=[0,0,l,u]),this._pRecalc=this._recalc&135,this._recalc=0,this._hasUpdates=!1,this._outOfBounds<2){if(this._useRenderToTexture&&(this._worldContext.isIdentity()?this._renderContext=this._worldContext:this._renderContext=sr.IDENTITY),this._children)for(let C=0,A=this._children.length;C<A;C++)this._children[C].update();this._useRenderToTexture&&(this._renderContext=a)}else if(this._children)for(let C=0,A=this._children.length;C<A;C++)this._children[C]._hasUpdates?this._children[C].update():(this._children[C]._recalc|=this._pRecalc,this._children[C].updateOutOfBounds());this._onAfterUpdate&&this._onAfterUpdate(this.element)}else this.ctx.updateTreeOrder===-1||this._updateTreeOrder>=this.ctx.updateTreeOrder?this.ctx.updateTreeOrder=-1:this.updateTreeOrder()}_applyRelativeDimFuncs(){if(this._optFlags&1){let t=this._funcX(this._parent.w);t!==this._x&&(this._localPx+=t-this._x,this._x=t)}if(this._optFlags&2){let t=this._funcY(this._parent.h);t!==this._y&&(this._localPy+=t-this._y,this._y=t)}let e=!1;if(this._optFlags&4){let t=this._funcW(this._parent.w);t!==this._w&&(this._w=t,e=!0)}if(this._optFlags&8){let t=this._funcH(this._parent.h);t!==this._h&&(this._h=t,e=!0)}e&&(this._recalcLocalTranslate(),this.element.onDimensionsChanged(this._w,this._h))}updateOutOfBounds(){if(this._outOfBounds!==2&&this._renderContext.alpha>0&&(this._outOfBounds=2,this._withinBoundsMargin&&(this._withinBoundsMargin=!1,this.element._disableWithinBoundsMargin()),this._children))for(let e=0,t=this._children.length;e<t;e++)this._children[e].updateOutOfBounds()}updateTreeOrder(){if(this._localAlpha&&this._outOfBounds!==2&&(this._updateTreeOrder=this.ctx.updateTreeOrder++,this._children))for(let e=0,t=this._children.length;e<t;e++)this._children[e].updateTreeOrder()}_renderSimple(){if(this._hasRenderUpdates=0,this._zSort&&this.sortZIndexedChildren(),this._outOfBounds<2&&this._renderContext.alpha){let e=this.renderState;if(this._outOfBounds===0&&this._displayedTextureSource&&(e.setShader(this.activeShader,this._shaderOwner),e.setScissor(this._scissor),this.renderState.addQuad(this)),this._children)if(this._zContextUsage)for(let t=0,i=this._zIndexedChildren.length;t<i;t++)this._zIndexedChildren[t].render();else for(let t=0,i=this._children.length;t<i;t++)this._children[t]._zIndex===0&&this._children[t].render()}}_renderAdvanced(){let e=this._hasRenderUpdates;if(this._hasRenderUpdates=0,this._zSort&&this.sortZIndexedChildren(),this._outOfBounds<2&&this._renderContext.alpha){let t=this.renderState,i=!0,s,n;if(this._useRenderToTexture){if(this._w===0||this._h===0)return;if(!this._texturizer.hasRenderTexture()||e>=3){if(this.ctx.renderToTextureCount++,t.setShader(t.defaultShader,this),n=t.renderTextureInfo,s={nativeTexture:null,offset:0,w:this._w,h:this._h,empty:!0,cleared:!1,ignore:!1,cache:!1},(this._texturizer.hasResultTexture()||!t.isCachingTexturizer&&e<3)&&(s.cache=!0,t.isCachingTexturizer=!0),this._texturizer.hasResultTexture()||this._texturizer.releaseRenderTexture(),t.setRenderTextureInfo(s),t.setScissor(null),this._displayedTextureSource){let o=this._renderContext;this._renderContext=sr.IDENTITY,this.renderState.addQuad(this),this._renderContext=o}}else i=!1}else this._outOfBounds===0&&this._displayedTextureSource&&(t.setShader(this.activeShader,this._shaderOwner),t.setScissor(this._scissor),this.renderState.addQuad(this));if(i&&this._children)if(this._zContextUsage)for(let o=0,a=this._zIndexedChildren.length;o<a;o++)this._zIndexedChildren[o].render();else for(let o=0,a=this._children.length;o<a;o++)this._children[o]._zIndex===0&&this._children[o].render();if(this._useRenderToTexture){let o=!1;if(i&&(t.finishedRenderTexture(),this._texturizer.empty=s.empty,s.empty?this._texturizer.releaseRenderTexture():s.nativeTexture?(this._texturizer.reuseTextureAsRenderTexture(s.nativeTexture),s.ignore=!0):(this._texturizer.renderTextureReused&&this._texturizer.releaseRenderTexture(),s.nativeTexture=this._texturizer.getRenderTexture()),t.setRenderTextureInfo(n),o=!0),!this._texturizer.empty){let a=this._texturizer.getResultTexture();if(o&&(a&&(a.update=t.stage.frameCounter),this._texturizer.updateResultTexture()),!this._texturizer.renderOffscreen){t.setShader(this.activeShader,this._shaderOwner),t.setScissor(this._scissor);let l=!s||s.cache;t.setTexturizer(this._texturizer,l),this._stashTexCoords(),this._texturizer.colorize||this._stashColors(),this.renderState.addQuad(this,!0),this._texturizer.colorize||this._unstashColors(),this._unstashTexCoords(),t.setTexturizer(null)}}}s&&s.cache&&(t.isCachingTexturizer=!1)}}get zSort(){return this._zSort}sortZIndexedChildren(){let e=this._zIndexedChildren.length,t=0,i=this._zIndexedChildren,s=[];for(let o=0;o<e;o++)i[o]._zParent===this&&(i[o]._zIndexResort?s.push(i[o]):(t!==o&&(i[t]=i[o]),t++));let n=s.length;if(n){for(let a=0;a<n;a++)s[a]._zIndexResort=!1;s.sort(r.sortZIndexedChildren);let o=t;if(o){t=0;let a=0,l=0,u=[];do{let g=(i[a]._zIndex===s[l]._zIndex?i[a]._updateTreeOrder-s[l]._updateTreeOrder:i[a]._zIndex-s[l]._zIndex)>0?s[l++]:i[a++];if((t===0||u[t-1]!==g)&&(u[t++]=g),a>=o){do{let m=s[l++];(t===0||u[t-1]!==m)&&(u[t++]=m)}while(l<n);break}else if(l>=n){do{let m=i[a++];(t===0||u[t-1]!==m)&&(u[t++]=m)}while(a<o);break}}while(!0);this._zIndexedChildren=u}else{t=0;let a=0;do i[t++]=s[a++];while(a<n);i.length>t&&i.splice(t)}}else i.length>t&&i.splice(t);this._zSort=!1}get localTa(){return this._localTa}get localTb(){return this._localTb}get localTc(){return this._localTc}get localTd(){return this._localTd}get element(){return this._element}get renderUpdates(){return this._hasRenderUpdates}get texturizer(){return this._texturizer||(this._texturizer=new eo(this)),this._texturizer}getCornerPoints(){let e=this._worldContext;return[e.px,e.py,e.px+this._w*e.ta,e.py+this._w*e.tc,e.px+this._w*e.ta+this._h*e.tb,e.py+this._w*e.tc+this._h*e.td,e.px+this._h*e.tb,e.py+this._h*e.td]}getRenderTextureCoords(e,t){let i=this._renderContext;return[i.px+i.ta*e+i.tb*t,i.py+i.tc*e+i.td*t]}getAbsoluteCoords(e,t){let i=this._renderContext;return[i.px+i.ta*e+i.tb*t,i.py+i.tc*e+i.td*t]}collectAtCoord(e,t,i){if(this._renderContext.alpha!==0){if(this.inBound(e,t)&&(this._scissor?this.inScissor()&&i.push(this):i.push(this)),this._children){let s=this._children.length;for(let n=0;n<s;n++)this._children[n].collectAtCoord(e,t,i)}return i.sort(r.sortZIndexedChildren)}}inBound(e,t){let i=this.getCornerPoints();return e>i[0]&&e<i[2]&&t>i[1]&&t<i[7]}inScissor(){let e=this._scissor,t=this.getCornerPoints();return t[2]>=e[0]&&t[0]<=e[0]+e[2]&&t[7]>=e[1]&&t[1]<=e[1]+e[3]}get layout(){return this._ensureLayout(),this._layout}get flex(){return this._layout?this._layout.flex:null}set flex(e){this.layout.flex=e}get flexItem(){return this._layout?this._layout.flexItem:null}set flexItem(e){this.layout.flexItem=e}isFlexItem(){return!!this._layout&&this._layout.isFlexItemEnabled()}isFlexContainer(){return!!this._layout&&this._layout.isFlexEnabled()}enableFlexLayout(){this._ensureLayout()}_ensureLayout(){this._layout||(this._layout=new Wl(this))}disableFlexLayout(){this._triggerRecalcTranslate()}hasFlexLayout(){return this._layout&&this._layout.isEnabled()}setLayout(e,t,i,s){this.x=e,this.y=t,this._updateDimensions(i,s)}triggerLayout(){this._setRecalc(256)}_triggerRecalcTranslate(){this._setRecalc(2)}},sr=class{constructor(){this.alpha=1,this.px=0,this.py=0,this.ta=1,this.tb=0,this.tc=0,this.td=1}isIdentity(){return this.alpha===1&&this.px===0&&this.py===0&&this.ta===1&&this.tb===0&&this.tc===0&&this.td===1}isSquare(){return this.tb===0&&this.tc===0}};sr.IDENTITY=new sr;ds.sortZIndexedChildren=function(r,e){return r._zIndex===e._zIndex?r._updateTreeOrder-e._updateTreeOrder:r._zIndex-e._zIndex};var ct=class r{constructor(){this._hasEventListeners=!1}on(e,t){this._hasEventListeners||(this._eventFunction={},this._eventListeners={},this._hasEventListeners=!0),this._eventFunction[e]?this._eventFunction[e]!==r.combiner?(this._eventListeners[e]=[this._eventFunction[e],t],this._eventFunction[e]=r.combiner):this._eventListeners[e].push(t):this._eventFunction[e]=t}once(e,t){let i=(s,n,o)=>{t(s,n,o),this.off(e,i)};i.__originalFunc=t,this.on(e,i)}has(e,t){if(this._hasEventListeners){let i=this._eventFunction[e];if(i){if(i===r.combiner){let s=this._eventListeners[e];for(let n of s)if(n===t||n.__originalFunc==t)return!0}else if(this._eventFunction[e]===t||this._eventFunction[e].__originalFunc===t)return!0}}return!1}off(e,t){if(this._hasEventListeners){let i=this._eventFunction[e];if(i)if(i===r.combiner){let s=this._eventListeners[e],n=s.indexOf(t);n>=0&&s.splice(n,1),n=s.map(o=>o.__originalFunc).indexOf(t),n>=0&&s.splice(n,1),s.length===1&&(this._eventFunction[e]=s[0],this._eventListeners[e]=void 0)}else(this._eventFunction[e]===t||this._eventFunction[e].__originalFunc===t)&&(this._eventFunction[e]=void 0)}}removeListener(e,t){this.off(e,t)}emit(e,t,i,s){if(this._hasEventListeners){let n=this._eventFunction[e];n&&(n===r.combiner?n(this,e,t,i,s):n(t,i,s))}}listenerCount(e){if(this._hasEventListeners){let t=this._eventFunction[e];if(t)return t===r.combiner?this._eventListeners[e].length:1}return 0}removeAllListeners(e){this._hasEventListeners&&(delete this._eventFunction[e],delete this._eventListeners[e])}};ct.combiner=function(r,e,t,i,s){let n=r._eventListeners[e];if(n)for(let o of[...n])o(t,i,s)};ct.addAsMixin=function(r){r.prototype.on=ct.prototype.on,r.prototype.once=ct.prototype.once,r.prototype.has=ct.prototype.has,r.prototype.off=ct.prototype.off,r.prototype.removeListener=ct.prototype.removeListener,r.prototype.emit=ct.prototype.emit,r.prototype.listenerCount=ct.prototype.listenerCount,r.prototype.removeAllListeners=ct.prototype.removeAllListeners};var qr=class{constructor(e){this._initialized=!1,this.ctx=e,this._elements=new Set}static create(e,t){let i;if(K.isObjectLiteral(t))t.type?i=e.renderer.createShader(e.ctx,t):i=this.shader,i&&dt.patchObject(i,t);else if(t===null)i=e.ctx.renderState.defaultShader;else if(t===void 0)i=null;else if(t.isShader)e.renderer.isValidShaderType(t.constructor)||(console.error("[Lightning] Invalid shader type"),t=null),i=t;else{console.error("[Lightning] Please specify a shader type.");return}return i}static getWebGL(){}static getC2d(){}addElement(e){this._elements.add(e)}removeElement(e){this._elements.delete(e),this._elements||this.cleanup()}redraw(){this._elements.forEach(e=>{e.setHasRenderUpdates(2)})}patch(e){dt.patchObject(this,e)}useDefault(){return!1}addEmpty(){return!1}cleanup(){}get isShader(){return!0}},Rt=class r{constructor(e){this.stage=e,this.manager=this.stage.textureManager,this.id=r.id++,this.elements=new Set,this._activeCount=0,this._source=null,this._resizeMode=null,this._x=0,this._y=0,this._w=0,this._h=0,this._precision=1,this.mw=0,this.mh=0,this.clipping=!1,this._mustUpdate=!0}get source(){return(this._mustUpdate||this.stage.hasUpdateSourceTexture(this))&&(this._performUpdateSource(!0),this.stage.removeUpdateSourceTexture(this)),this._source}addElement(e){this.elements.has(e)||(this.elements.add(e),this.elements.size===1&&this._source&&this._source.addTexture(this),e.active&&this.incActiveCount())}removeElement(e){this.elements.delete(e)&&(this.elements.size===0&&this._source&&this._source.removeTexture(this),e.active&&this.decActiveCount())}incActiveCount(){this.source&&this._checkForNewerReusableTextureSource(),this._activeCount++,this._activeCount===1&&this.becomesUsed()}decActiveCount(){this.source,this._activeCount--,this._activeCount||this.becomesUnused()}becomesUsed(){this.source&&this.source.incActiveTextureCount()}onLoad(){this._resizeMode&&this._applyResizeMode(),this.elements.forEach(e=>{e.active&&e.onTextureSourceLoaded()})}_checkForNewerReusableTextureSource(){let e=this.source;if(e.isLoaded())this._resizeMode&&this._applyResizeMode();else{let t=this._getReusableTextureSource();t&&t.isLoaded()&&t!==e&&this._replaceTextureSource(t)}}becomesUnused(){this.source&&this.source.decActiveTextureCount()}isUsed(){return this._activeCount>0}_getLookupId(){return null}_getSourceLoader(){throw new Error("Texture.generate must be implemented.")}get isValid(){return this._getIsValid()}_getIsValid(){return!0}_changed(){this.isUsed()?this._updateSource():this._mustUpdate=!0}_updateSource(){this.stage.addUpdateSourceTexture(this)}_performUpdateSource(e=!1){if(e||this.isUsed()){this._mustUpdate=!1;let t=this._getTextureSource();this._replaceTextureSource(t)}}_getTextureSource(){let e=null;if(this._getIsValid()){let t=this._getLookupId();e=this._getReusableTextureSource(t),e||(e=this.manager.getTextureSource(this._getSourceLoader(),t))}return e}_getReusableTextureSource(e=this._getLookupId()){return this._getIsValid()&&e?this.manager.getReusableTextureSource(e):null}_replaceTextureSource(e=null){let t=this._source;if(this._source=e,this.elements.size&&(t&&(this._activeCount&&t.decActiveTextureCount(),t.removeTexture(this),this.text&&!t.isUsed()&&this.manager.freeTextureSource(t)),e&&(e.addTexture(this),this._activeCount&&e.incActiveTextureCount())),this.isUsed())if(e)if(e.isLoaded())this._resizeMode&&this._applyResizeMode(),this.elements.forEach(i=>{i.active&&i._setDisplayedTexture(this)});else{let i=e.loadError;i&&this.elements.forEach(s=>{s.active&&s.onTextureSourceLoadError(i)})}else this.elements.forEach(i=>{i.active&&i._setDisplayedTexture(null)})}load(){this.source&&(this.isLoaded()||this.source.load(!0))}isLoaded(){return this._source&&this._source.isLoaded()}get loadError(){return this._source&&this._source.loadError}free(){this._source&&this._source.free()}set resizeMode({type:e="cover",w:t=0,h:i=0,clipX:s=.5,clipY:n=.5}){this._resizeMode={type:e,w:t,h:i,clipX:s,clipY:n},this.isLoaded()&&this._applyResizeMode()}get resizeMode(){return this._resizeMode}_clearResizeMode(){this._resizeMode=null}_applyResizeMode(){this._resizeMode.type==="cover"?this._applyResizeCover():this._resizeMode.type==="contain"&&this._applyResizeContain(),this._updatePrecision(),this._updateClipping()}_applyResizeCover(){let e=this._resizeMode.w/this._source.w,t=this._resizeMode.h/this._source.h,i=Math.max(e,t);if(i){if(this._precision=1/i,e&&e<i){let s=this._precision*this._resizeMode.w,n=this._source.w-s;this._x=n*this._resizeMode.clipX,this._w=this._source.w-n}if(t&&t<i){let s=this._precision*this._resizeMode.h,n=this._source.h-s;this._y=n*this._resizeMode.clipY,this._h=this._source.h-n}}}_applyResizeContain(){let e=this._resizeMode.w/this._source.w,t=this._resizeMode.h/this._source.h,i=e;(!i||t<i)&&(i=t),i&&(this._precision=1/i)}enableClipping(e,t,i,s){this._clearResizeMode(),e*=this._precision,t*=this._precision,i*=this._precision,s*=this._precision,(this._x!==e||this._y!==t||this._w!==i||this._h!==s)&&(this._x=e,this._y=t,this._w=i,this._h=s,this._updateClipping(!0))}disableClipping(){this._clearResizeMode(),(this._x||this._y||this._w||this._h)&&(this._x=0,this._y=0,this._w=0,this._h=0,this._updateClipping())}_updateClipping(){this.clipping=!!(this._x||this._y||this._w||this._h);let e=this;this.elements.forEach(function(t){t.displayedTexture===e&&t.onDisplayedTextureClippingChanged()})}_updatePrecision(){let e=this;this.elements.forEach(function(t){t.displayedTexture===e&&t.onPrecisionChanged()})}getNonDefaults(){let e={};return e.type=this.constructor.name,this.x!==0&&(e.x=this.x),this.y!==0&&(e.y=this.y),this.w!==0&&(e.w=this.w),this.h!==0&&(e.h=this.h),this.precision!==1&&(e.precision=this.precision),e}get px(){return this._x}get py(){return this._y}get pw(){return this._w}get ph(){return this._h}get x(){return this._x/this._precision}set x(e){this._clearResizeMode(),e=e*this._precision,this._x!==e&&(this._x=e,this._updateClipping())}get y(){return this._y/this._precision}set y(e){this._clearResizeMode(),e=e*this._precision,this._y!==e&&(this._y=e,this._updateClipping())}get w(){return this._w/this._precision}set w(e){this._clearResizeMode(),e=e*this._precision,this._w!==e&&(this._w=e,this._updateClipping())}get h(){return this._h/this._precision}set h(e){this._clearResizeMode(),e=e*this._precision,this._h!==e&&(this._h=e,this._updateClipping())}get precision(){return this._precision}set precision(e){this._clearResizeMode(),this._precision!==e&&(this._precision=e,this._updatePrecision())}isAutosizeTexture(){return!0}getRenderWidth(){return this.isAutosizeTexture()?(this._w||(this._source?this._source.getRenderWidth()-this._x:0))/this._precision:0}getRenderHeight(){return this.isAutosizeTexture()?(this._h||(this._source?this._source.getRenderHeight()-this._y:0))/this._precision:0}patch(e){dt.patchObject(this,e)}};Rt.prototype.isTexture=!0;Rt.id=0;var ps=class extends Rt{constructor(e){super(e),this._src=void 0,this._hasAlpha=!1}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._changed())}get hasAlpha(){return this._hasAlpha}set hasAlpha(e){this._hasAlpha!==e&&(this._hasAlpha=e,this._changed())}_getIsValid(){return!!this._src}_getLookupId(){return this._src}_getSourceLoader(){let e=this._src,t=this._hasAlpha;if(this.stage.getOption("srcBasePath")){var i=e.charCodeAt(0);e.indexOf("//")===-1&&(i>=65&&i<=90||i>=97&&i<=122||i==46)&&(e=this.stage.getOption("srcBasePath")+e)}return s=>this.stage.platform.loadSrcTexture({src:e,hasAlpha:t},s)}getNonDefaults(){let e=super.getNonDefaults();return this._src&&(e.src=this._src),e}};function to(r,e,t,i,s){let n=r;Array.isArray(n)||(n=[n]);let o=[];for(let a=0,l=n.length;a<l;a++){let u=n[a];u===null&&(u=s),u==="serif"||u==="sans-serif"?o.push(u):o.push(`"${u}"`)}return`${e} ${t*i}px ${o.join(",")}`}function Ep(r){return r===""||r==="\u200B"}function Ap(r){return Ep(r)||r===" "}function P1(r,e){let t=e.match(r)||[],i=e.split(r)||[],s=[];for(let n=0;n<i.length;n++)s.push(i[n],t[n]);return s.pop(),s.filter(n=>n!="")}function ro(r,e,t=0){return t?e.split("").reduce((i,s)=>Ep(s)?i:i+r.measureText(s).width+t,0):r.measureText(e).width}function k1(r,e,t,i,s){let n=/ |\u200B/g,o=e.split(/\r?\n/g),a=[],l=[];for(let u=0;u<o.length;u++){let c=[],g="",m=t-s,y=o[u].split(n),b=o[u].match(n)||[];for(let C=0;C<y.length;C++){let A=b[C-1]||"",T=y[C],R=ro(r,T,i),P=R+ro(r,A,i);C===0||P>m?(C>0&&(c.push(g),g=""),g+=T,m=t-R-(C===0?s:0)):(m-=P,g+=A+T)}c.push(g),g="",a=a.concat(c),u<o.length-1&&l.push(a.length)}return{l:a,n:l}}var io=class{constructor(e,t,i){this._stage=e,this._canvas=t,this._context=this._canvas.getContext("2d"),this._settings=i}getPrecision(){return this._settings.precision}setFontProperties(){this._context.font=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace")),this._context.textBaseline=this._settings.textBaseline}_load(){if(K.isWeb&&document.fonts){let e=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace"));try{if(!document.fonts.check(e,this._settings.text))return document.fonts.load(e,this._settings.text).catch(t=>{console.warn("[Lightning] Font load error",t,e)}).then(()=>{document.fonts.check(e,this._settings.text)||console.warn("[Lightning] Font not found",e)})}catch{console.warn("[Lightning] Can't check font loading for "+e)}}}draw(){let e=this._load();return e?e.then(()=>K.isSpark?this._stage.platform.drawText(this):this._draw()):K.isSpark?this._stage.platform.drawText(this):this._draw()}_calculateRenderInfo(){let e={},t=this.getPrecision(),i=this._settings.paddingLeft*t,s=this._settings.paddingRight*t,n=this._settings.fontSize*t,o=this._settings.offsetY===null?null:this._settings.offsetY*t,a=this._settings.lineHeight*t,l=this._settings.w*t,u=this._settings.h*t,c=this._settings.wordWrapWidth*t,g=this._settings.cutSx*t,m=this._settings.cutEx*t,y=this._settings.cutSy*t,b=this._settings.cutEy*t,C=(this._settings.letterSpacing||0)*t,A=this._settings.textIndent*t;this.setFontProperties();let T=l||this._stage.getOption("w"),R=T-i;if(R<10&&(T+=10-R,R=10),c||(c=R),this._settings.textOverflow&&!this._settings.wordWrap){let F;switch(this._settings.textOverflow){case"clip":F="";break;case"ellipsis":F=this._settings.maxLinesSuffix;break;default:F=this._settings.textOverflow}this._settings.text=this.wrapWord(this._settings.text,c-A,F)}let P;if(this._settings.wordWrap)P=this.wrapText(this._settings.text,c,C,A);else{P={l:this._settings.text.split(/(?:\r\n|\r|\n)/),n:[]};let F=P.l.length;for(let U=0;U<F-1;U++)P.n.push(U)}let E=P.l;if(this._settings.maxLines&&E.length>this._settings.maxLines){let F=E.slice(0,this._settings.maxLines),U=null;if(this._settings.maxLinesSuffix){let D=this._settings.maxLinesSuffix?this.measureText(this._settings.maxLinesSuffix):0,N=this.wrapText(F[F.length-1],c-D,C,A);F[F.length-1]=N.l[0]+this._settings.maxLinesSuffix,U=[N.l.length>1?N.l[1]:""]}else U=[""];let q,ee=E.length,te=0,$=P.n.length;for(q=this._settings.maxLines;q<ee;q++)U[te]+=(U[te]?" ":"")+E[q],q+1<$&&P.n[q+1]&&te++;e.remainingText=U.join(` `),e.moreTextLines=!0,E=F}else e.moreTextLines=!1,e.remainingText="";let k=0,O=[];for(let F=0;F<E.length;F++){let U=this.measureText(E[F],C)+(F===0?A:0);O.push(U),k=Math.max(k,U)}e.lineWidths=O,l||(T=k+i+s,R=k),a=a||n;let B;if(u)B=u;else{let F=this._settings.textBaseline!="bottom"?.5*n:0;B=a*(E.length-1)+F+Math.max(a,n)+o}return o===null&&(o=n),e.w=T,e.h=B,e.lines=E,e.precision=t,T||(T=1),B||(B=1),(g||m)&&(T=Math.min(T,m-g)),(y||b)&&(B=Math.min(B,b-y)),e.width=T,e.innerWidth=R,e.height=B,e.fontSize=n,e.cutSx=g,e.cutSy=y,e.cutEx=m,e.cutEy=b,e.lineHeight=a,e.lineWidths=O,e.offsetY=o,e.paddingLeft=i,e.paddingRight=s,e.letterSpacing=C,e.textIndent=A,e}_draw(){let e=this._calculateRenderInfo(),t=this.getPrecision();this._canvas.width=Math.ceil(e.width+this._stage.getOption("textRenderIssueMargin")),this._canvas.height=Math.ceil(e.height),this.setFontProperties(),e.fontSize>=128&&(this._context.globalAlpha=.01,this._context.fillRect(0,0,.01,.01),this._context.globalAlpha=1),(e.cutSx||e.cutSy)&&this._context.translate(-e.cutSx,-e.cutSy);let i,s,n=[];for(let a=0,l=e.lines.length;a<l;a++)i=a===0?e.textIndent:0,s=a*e.lineHeight+e.offsetY,this._settings.verticalAlign=="middle"?s+=(e.lineHeight-e.fontSize)/2:this._settings.verticalAlign=="bottom"&&(s+=e.lineHeight-e.fontSize),this._settings.textAlign==="right"?i+=e.innerWidth-e.lineWidths[a]:this._settings.textAlign==="center"&&(i+=(e.innerWidth-e.lineWidths[a])/2),i+=e.paddingLeft,n.push({text:e.lines[a],x:i,y:s,w:e.lineWidths[a]});if(this._settings.highlight){let a=this._settings.highlightColor||0,l=this._settings.highlightHeight*t||e.fontSize*1.5,u=this._settings.highlightOffset*t,c=this._settings.highlightPaddingLeft!==null?this._settings.highlightPaddingLeft*t:e.paddingLeft,g=this._settings.highlightPaddingRight!==null?this._settings.highlightPaddingRight*t:e.paddingRight;this._context.fillStyle=fe.getRgbaString(a);for(let m=0;m<n.length;m++){let y=n[m];this._context.fillRect(y.x-c,y.y-e.offsetY+u,y.w+g+c,l)}}let o=null;this._settings.shadow&&(o=[this._context.shadowColor,this._context.shadowOffsetX,this._context.shadowOffsetY,this._context.shadowBlur],this._context.shadowColor=fe.getRgbaString(this._settings.shadowColor),this._context.shadowOffsetX=this._settings.shadowOffsetX*t,this._context.shadowOffsetY=this._settings.shadowOffsetY*t,this._context.shadowBlur=this._settings.shadowBlur*t),this._context.fillStyle=fe.getRgbaString(this._settings.textColor);for(let a=0,l=n.length;a<l;a++){let u=n[a];if(e.letterSpacing===0)this._context.fillText(u.text,u.x,u.y);else{let c=u.text.split(""),g=u.x;for(let m=0,y=c.length;m<y;m++)this._context.fillText(c[m],g,u.y),g+=this.measureText(c[m],e.letterSpacing)}}o&&(this._context.shadowColor=o[0],this._context.shadowOffsetX=o[1],this._context.shadowOffsetY=o[2],this._context.shadowBlur=o[3]),(e.cutSx||e.cutSy)&&this._context.translate(e.cutSx,e.cutSy),this.renderInfo=e}wrapWord(e,t,i){let s=this.measureText(i),n=e.length,o=this.measureText(e);if(o<=t)return e;let a=Math.floor(t*n/o),l=this.measureText(e.substring(0,a))+s;if(l>t)for(;a>0&&(l=this.measureText(e.substring(0,a))+s,l>t);)a-=1;else for(;a<n;)if(l=this.measureText(e.substring(0,a))+s,l<t)a+=1;else{a-=1;break}return e.substring(0,a)+(t>=s?i:"")}wrapText(e,t,i,s=0){return k1(this._context,e,t,i,s)}measureText(e,t=0){return ro(this._context,e,t)}},so=class{constructor(e,t,i){this._stage=e,this._canvas=t,this._context=this._canvas.getContext("2d"),this._settings=i}getPrecision(){return this._settings.precision}setFontProperties(){let e=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace"));return this._context.font=e,this._context.textBaseline=this._settings.textBaseline,e}_load(){if(K.isWeb&&document.fonts){let e=to(this._settings.fontFace,this._settings.fontStyle,this._settings.fontSize,this.getPrecision(),this._stage.getOption("defaultFontFace"));try{if(!document.fonts.check(e,this._settings.text))return document.fonts.load(e,this._settings.text).catch(t=>{console.warn("Font load error",t,e)}).then(()=>{document.fonts.check(e,this._settings.text)||console.warn("Font not found",e)})}catch{console.warn("Can't check font loading for "+e)}}}draw(){let e=this._load();return e?e.then(()=>K.isSpark?this._stage.platform.drawText(this):this._draw()):K.isSpark?this._stage.platform.drawText(this):this._draw()}_calculateRenderInfo(){let e={},t=this.getPrecision(),i=this._settings.paddingLeft*t,s=this._settings.paddingRight*t,n=this._settings.fontSize*t,o=this._settings.lineHeight*t||n,a=this._settings.w!=0?this._settings.w*t:this._stage.getOption("w"),l=this._settings.wordWrapWidth*t,u=this._settings.cutSx*t,c=this._settings.cutEx*t,g=this._settings.cutSy*t,m=this._settings.cutEy*t,y=this._settings.letterSpacing||0;e.baseFont=this.setFontProperties(),e.w=a,e.width=a,e.text=this._settings.text,e.precision=t,e.fontSize=n,e.fontBaselineRatio=this._settings.fontBaselineRatio,e.lineHeight=o,e.letterSpacing=y,e.textAlign=this._settings.textAlign,e.textColor=this._settings.textColor,e.verticalAlign=this._settings.verticalAlign,e.highlight=this._settings.highlight,e.highlightColor=this._settings.highlightColor,e.highlightHeight=this._settings.highlightHeight,e.highlightPaddingLeft=this._settings.highlightPaddingLeft,e.highlightPaddingRight=this._settings.highlightPaddingRight,e.highlightOffset=this._settings.highlightOffset,e.paddingLeft=this._settings.paddingLeft,e.paddingRight=this._settings.paddingRight,e.maxLines=this._settings.maxLines,e.maxLinesSuffix=this._settings.maxLinesSuffix,e.textOverflow=this._settings.textOverflow,e.wordWrap=this._settings.wordWrap,e.wordWrapWidth=l,e.shadow=this._settings.shadow,e.shadowColor=this._settings.shadowColor,e.shadowOffsetX=this._settings.shadowOffsetX,e.shadowOffsetY=this._settings.shadowOffsetY,e.shadowBlur=this._settings.shadowBlur,e.cutSx=u,e.cutEx=c,e.cutSy=g,e.cutEy=m,e.textIndent=this._settings.textIndent*t,e.wordBreak=this._settings.wordBreak;let b=e.text,C=e.wordWrap&&e.wordWrapWidth||e.width;if(e.textOverflow&&!e.wordWrap){let E;switch(this._settings.textOverflow){case"clip":E="";break;case"ellipsis":E=this._settings.maxLinesSuffix;break;default:E=this._settings.textOverflow}b=this.wrapWord(b,l||e.w,E)}b=this.tokenize(b),b=this.parse(b),b=this.measure(b,y,e.baseFont),e.textIndent&&(b=this.indent(b,e.textIndent)),e.wordBreak&&(b=b.reduce((E,k)=>E.concat(this.wordBreak(k,C,e.baseFont)),[]),this.resetFontStyle());let A=i,T=0;for(let E of b)(e.wordWrap&&A+E.width>C||E.text==` `)&&(A=i,T+=1),E.lineNo=T,E.text!=` `&&(E.x=A,A+=E.width);e.lineNum=T+1,this._settings.h?e.h=this._settings.h:e.maxLines&&e.maxLines<e.lineNum?e.h=e.maxLines*e.lineHeight+n/2:e.h=e.lineNum*e.lineHeight+n/2;let R=e.fontBaselineRatio*e.fontSize,P=0;e.verticalAlign=="top"&&this._context.textBaseline=="alphabetic"?P=-R:e.verticalAlign=="middle"?P=(e.lineHeight-e.fontSize-R)/2:this._settings.verticalAlign=="bottom"&&(P=e.lineHeight-e.fontSize),e.lines=[];for(let E=0;E<e.lineNum;E++)e.lines[E]={width:0,x:0,y:e.lineHeight*E+P,text:[]};for(let E of b)e.lines[E.lineNo].text.push(E);for(let E of e.lines){if(E.text.length==0)continue;let k=E.text[0].text,O=E.text[E.text.length-1].text;k==` @@ -1087,7 +1087,7 @@ ${t} "${a[u]}":`,delete i[a[u]].ref,o+=r.getPrettyString(i[a[u]],t+" ")+(u<c-1 vec4 base = mix(vec4(0.0), backgroundColor * alpha, fillMask(c)); gl_FragColor = mix(base, color * alpha, fillMask(c) * a); } -`;var le={Application:du,Component:ht,Base:dt,Utils:K,StageUtils:fe,Element:yt,Tools:pu,Stage:xs,ElementCore:ds,ElementTexturizer:eo,Texture:Rt,EventEmitter:ct,shaders:{Grayscale:bs,BoxBlur:It,Dithering:vs,CircularPush:Ss,Inversion:Io,LinearBlur:xi,Outline:ws,Pixelate:Ts,RadialFilter:Cs,RoundedRectangle:As,Spinner2:Ls,FadeOut:Ro,Hole:Rs,Vignette:Es,Spinner:Is,RadialGradient:Po,Light3d:Ps,Perspective:ks,Magnifier:Os,WebGLShader:_i,WebGLDefaultShader:Ae,C2dShader:ms,C2dDefaultShader:yi,c2d:{Grayscale:Eo,Blur:To}},textures:{RectangleTexture:xo,NoiseTexture:wo,TextTexture:nr,ImageTexture:ps,HtmlTexture:gu,StaticTexture:mu,StaticCanvasTexture:bo,SourceTexture:no},components:{FastBlurComponent:xu,BloomComponent:Su,SmoothScaleComponent:wu,BorderComponent:Tu,ListComponent:_u},tools:{ObjMerger:fu,ObjectListProxy:vo,ObjectListWrapper:So}};K.isWeb&&(window.lng=le);h();d();p();var Cu=class{constructor(){this._logCallback=void 0,this._prefix="LightningUI",this._debug=!1}get debug(){return this._debug}set debug(e){this._debug=!!e}get logCallback(){return this._logCallback}set logCallback(e){if(typeof e!="function"){this.warn(`logCallback value must be a function, instead received ${typeof e}`);return}this._logCallback=e}log(...e){this._logCallback&&this._logCallback({level:"log",payload:e}),this.debug&&console.log(this._prefix,...e)}info(...e){this._logCallback&&this._logCallback({level:"info",payload:e}),this.debug&&console.info(this._prefix,...e)}warn(...e){this._logCallback&&this._logCallback({level:"warn",payload:e}),this.debug&&console.warn(this._prefix,...e)}error(...e){this._logCallback&&this._logCallback({level:"error",payload:e}),this.debug&&console.error(this._prefix,...e)}},be=new Cu;function Au(r,e={}){if(!r)return!1;let{w:t,h:i,core:{renderContext:{px:s,py:n},_scissor:o=[]}={}}=r,a=r.stage.h/r.stage.getRenderPrecision(),l=r.stage.w/r.stage.getRenderPrecision(),u=s,c=n,g=s-r.x,m=n-r.y,y=e.offsetX-g||0,b=e.offsetY-m||0;r.transition("x")&&(u=s-r.x+r.transition("x").targetValue),r.transition("y")&&(c=n-r.y+r.transition("y").targetValue),u+=y,c+=b;let C=u>=0&&u+t<=l,A=c>=0&&c+i<=a;if(!C||!A)return!1;if(o&&o.length){let[T=null,R=null,P=null,E=null]=o,k=Math.round(u+t)>=Math.round(T),O=Math.round(u)<=Math.round(T+P),B=Math.round(c+i)>=Math.round(R),F=Math.round(c+i)<=Math.round(R+E);return k&&O&&B&&F}return!0}function bi(r,e=1){let t=r.layout.screenW,i=r.layout.columnCount,s=r.layout.marginX,n=r.layout.gutterX;if(e<1||e>i){console.error(`Column expects a number between 1 & ${i}. Received ${e}`);return}let o=t-s*2,a=(e-1)*n;return(o-a)/e}function Ds(r,e){let t=r.layout.columnCount,i=r.layout.gutterX;return bi(r,t)*e+i*(e-1)}function Eu(r,e={},t={}){let{w:i,h:s,ratioX:n,ratioY:o,upCount:a}=e,l=t.w||0,u=t.h||0,c={};return i&&s?c={w:i,h:s}:s&&n&&o?c={w:Math.round(s*n/o),h:s}:n&&o&&a?c=L1(r,n,o,a):s&&a?c={w:Math.round(bi(r,a)),h:s}:s?c={w:l,h:s}:i?c={w:i,h:u}:c={w:l,h:u},c={...c,ratioX:n,ratioY:o,upCount:a},c}function L1(r,e,t,i){let s,n;return e&&t&&i?(s=Math.round(bi(r,i)),n=Math.round(s/e*t)):(s=0,n=0),{w:s,h:n}}function D1(r,e="16:9",t=":"){let[i,s]=e.split(t);return r*(i/s)}function F1(r,e="16:9",t=":"){let[i,s]=e.split(t);return r/(i/s)}function Cr(r,e=1){if(!r)return 0;typeof r=="number"&&(r=r.toString(16).slice(2)),r=r.replace("#","");let i=`0x${Math.round(e*255).toString(16)}${r}`;return Number(i)}function vi(r){if(typeof r=="string"||typeof r=="number"){if(/^0x[0-9a-fA-F]{8}/g.test(r))return Number(r);if(/^#[0-9a-fA-F]{6}/g.test(r))return Cr(r.substr(1,6));if(typeof r=="string"&&/^[0-9]{8,10}/g.test(r))return parseInt(r);if(typeof r=="number"&&/^[0-9]{8,10}/g.test(r.toString()))return r;if(typeof r=="string"&&r.indexOf("rgba")>-1)return Rp(r);if(typeof r=="string"&&r.indexOf("rgb")>-1){let e=[...r.replace(/rgb\(|\)/g,"").split(","),"255"];return le.StageUtils.getArgbNumber(e)}}return null}function B1([r,e]){for(let t=r;t>0;t--)if(!(r%t)&&!(e%t))return[r/t,e/t]}function Ip(r){return B1(r.split("/").map(e=>+e)).join("/")}var Fs=(r,e)=>(typeof e=="string"&&(e=e.split(".").filter(t=>t.length)),e.reduce((t,i)=>t&&t[i],r));function Rp(r){let e=r.replace(/rgba\(|\)/g,"").split(",");return e[3]=e[3]*255,le.StageUtils.getArgbNumber(e)}function Bs(r){return r.charAt(0).toUpperCase()+r.slice(1)}var M1={getWidth(r,e={}){let{padding:t,paddingLeft:i,paddingRight:s,strokeWidth:n}={padding:0,paddingLeft:0,paddingRight:0,strokeWidth:0,...e};return r?r-(i||t)-(s||t)-n:0},getHeight(r,e={}){let{padding:t,paddingBottom:i,paddingTop:s,strokeWidth:n}={padding:0,paddingBottom:0,paddingTop:0,strokeWidth:0,...e};return r?r-(i||t)-(s||t)-n:0}};function tt(r,e){let t=Object.create(Object.getPrototypeOf(r));if(Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)),!e||r===e)return t;for(let i in e){let s=e[i];r.hasOwnProperty(i)?t[i]=Pp(i,r,e):t[i]=s}return t}function Pp(r,e,t){let i=e[r],s=t[r],n=typeof i,o=typeof s;return n!==o||o==="function"||Array.isArray(s)?s:s&&o==="object"?tt(i,s):s}function ko(r={}){let t=document.createElement("canvas").getContext("2d"),{fontStyle:i,fontWeight:s,fontSize:n,fontFamily:o=r.fontFace||"sans-serif"}=r,a=[i,s,n?`${n}px`:"0",`'${o}'`].filter(Boolean).join(" ");t.font=a;let l=t.measureText(r.text||"");return Math.round(l.width)}function N1(...r){return r.find(Number.isFinite)}function z1(r,e){if(!e)return 0;let t=e.transition(r);if(t.isRunning())return t.targetValue;let i=r;return r==="w"?i="renderWidth":r==="h"&&(i="renderHeight"),e[i]||e[r]}function Oo(r){return r.reduce((e,t)=>e.concat(Array.isArray(t)?Oo(t):t),[])}function j1(r,e){return e.reduce((t,i)=>t&&t[i]!=="undefined"?t[i]:void 0,r)}function Lo(r,e){return JSON.stringify(r)===JSON.stringify(e)}function U1(r,e=16){setTimeout(r,e)}function H1(r,e,t){["plain","json"].includes(t)||(t="plain");let s=`data:text/${t};charset=utf-8,`+encodeURIComponent(JSON.stringify(r)),n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",e),n.click()}var kp=r=>r*(Math.PI/180),Op=/({ICON.*?}|{BADGE:.*?}|{NEWLINE}|{TEXT:.*?})/g;function W1(r=""){return typeof r!="string"?!1:Op.test(r)}function Lp(r=""){let e=[];if(r&&typeof r=="string"||r.text){let t=typeof r=="string"?r:r.text,i=/^{ICON:(.*?)?\|(.*?)?}$/g,s=/^{BADGE:(.*?)}$/g,n=/^{NEWLINE}$/g,o=/^{TEXT:(.*?)?\|(.*?)?}$/g,a=t.split(Op);a&&a.length&&a.forEach(l=>{let u=l,c=s.exec(l),g=i.exec(l),m=n.exec(l),y=o.exec(l);c&&c[1]?u={badge:c[1]}:g&&g[1]?u={title:g[1],icon:g[2]||g[1]}:m?u={newline:!0}:y&&y[1]&&(u={text:y[1],style:y[2]}),e.push(u)})}return e}function q1(r,e){!r.zIndex&&typeof e<"u"&&e!==0&&(r.forceZIndexContext=!0,r.zIndex=0)}function Dp({element:r,watchProps:e=[],sideEffect:t=()=>{}}){r?.isElement||be.error(`watchForUpdates: Expected a Lightning Element passed to element parameter, received ${typeof r}`);let i=r.__core?._onAfterUpdate;return r.onAfterUpdate=(function(s){let n=!1;e.forEach(o=>{if(s.transition(o)&&s.transition(o).isRunning())return;let a=`__watchPrev${o}`,l=s[o];l!==s[a]&&(s[a]=l,n=!0)}),n&&t(),i&&i(s)}).bind(this),r}function $1(r){switch(r){case"left":return"flex-start";case"center":return"center";case"right":return"flex-end";default:return console.warn(`Expected "textAlign" values are "left," "center," and "right," but instead, ${r} was received and will fall back to "left."`),"flex-start"}}function wt(r,e,t,i=0){let s=n=>Math.max(0,Math.min(n,Math.min(e,t)/2)+i);return Array.isArray(r)?r.map(n=>Number(s(n))||0):Number(s(r))||0}var V1={isMarkupString:W1,capitalizeFirstLetter:Bs,degreesToRadians:kp,downloadFile:H1,delayForAnimation:U1,stringifyCompare:Lo,objectPropertyOf:j1,flatten:Oo,getDimension:z1,getFirstNumber:N1,measureTextWidth:ko,clone:tt,getMergeValue:Pp,RoundRect:M1,rgba2argb:Rp,getValFromObjPath:Fs,reduceFraction:Ip,getValidColor:vi,getHexColor:Cr,getAspectRatioH:F1,getAspectRatioW:D1,getWidthByUpCount:bi,getDimensions:Eu,getWidthByColumnSpan:Ds,createConditionalZContext:q1,watchForUpdates:Dp,convertTextAlignToFlexJustify:$1,getMaxRoundRadius:wt},ke=V1;h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Iu=class{constructor(){this._keyMetricsCallback=void 0}get keyMetricsCallback(){return this._keyMetricsCallback}set keyMetricsCallback(e){if(-1<["undefined","function"].indexOf(typeof e)){this._keyMetricsCallback=e;return}be.warn(`context keyMetricsCallback expected a function. Received ${typeof e}`)}},Ru=new Iu;h();d();p();var G1=new le.EventEmitter,$r=G1;h();d();p();h();d();p();var Do={name:"Base Lightning TV",alpha:{primary:1,secondary:.7,tertiary:.1,inactive:.5,full:1,none:0,alpha1:.1,alpha2:.3,alpha3:.5,alpha4:.7,alpha5:.9},animation:{duration:{none:0,xfast:.1,fast:.25,normal:.5,slow:.75,xslow:.9},delay:{none:0,xfast:.01,fast:.025,normal:.05,slow:.075,xslow:.09},expressive:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},expressiveEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},expressiveExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standard:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standardEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standardExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utility:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utilityEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utilityExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25}},asset:{arrowLeft:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAi0lEQVRIDWNgGAWjIfD//38JID5Fk5AAGqwKxPeA+D/VLQCaaQLEr0CGgwBVLQCa5wbEn0EGwwDVLAAaGA3Ev2AGw2iqWAA0rBiI/8EMRaYptgBoWDeygehsci1gIlcjWfqArqZdEMFcBLSEdpGMZAntkimSJbTLaEiW0K6oQLKEdoUdzJJRemiHAAD4n+yzPWCs7QAAAABJRU5ErkJggg==",arrowRight:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAg0lEQVRIDWNgGAWjIYArBP7//38KiCVwyVMsDjQcBO4BsSrFhmEzAGw8hHgFpEywqaFIDMkCEPMzELtRZCC6ZjQLQNxfQByNro5sPhYLQEL/gLiYbEORNeKwACbcDVPLBGMMOhrmVDSapkFE00imaTKlaUajaVFB28Ju0CXrUQfhDAEAEgHss6NhpLQAAAAASUVORK5CYII=",backspaceOutline:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC",check:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgBvdPdDcIgEAfwoy8Nb45QN3AGF2s36Ahu4gpuIDoBfSgfpdoTlCbEWEMh6T8hFzjyg5AAkBHOcQe5UWqspRx435sDpMYj6IYQwwVSEiJ2MKVUBWuzLSLl2HL+uxmNCGFO8yaL7RHxve6qRZoAuS4hxac8735elWVx7jrtMKL1o0Gcat9jhExHSukN/kUIFZ7MpDRtzE1isDRkAUtDvrA8ZI597FUf8gWH9P0b4gko9wAAAABJRU5ErkJggg=="},color:{white:["#ffffff",1],black:["#000000",1],grey:["#929096",1],red:["#e74c3c",1],orange:["#dc7633",1],yellow:["#f7dc6f",1],green:["#2Ecc71",1],blue:["#93a9fd",1],purple:["#663399",1],palette:{"grey-05":["#f8f7fa",1],"grey-40":["#929096",1],"grey-70":["#48474b",1],"grey-90":["#181819",1],"blue-20":["#becffe",1],"blue-40":["#93a9fd",1],"blue-90":["#000033",1]},material:["#181819",1],materialBrand:["#000033",1],overlay:["#181819",.7],textNeutral:["#f8f7fa",1],textNeutralSecondary:["#f8f7fa",.7],textNeutralTertiary:["#f8f7fa",.1],textNeutralDisabled:["#f8f7fa",.5],textInverse:["#181819",1],textInverseSecondary:["#181819",.7],textInverseTertiary:["#181819",.1],textInverseDisabled:["#181819",.5],textBrand:["#93a9fd",1],textBrandSecondary:["#93a9fd",.7],textBrandTertiary:["#93a9fd",.1],textBrandDisabled:["#93a9fd",.5],textPositive:["#2Ecc71",1],textNegative:["#e74c3c",1],textInfo:["#93a9fd",1],textCaution:["#dc7633",1],fillTransparent:["#ffffff",0],fillNeutral:["#f8f7fa",1],fillNeutralSecondary:["#f8f7fa",.7],fillNeutralTertiary:["#f8f7fa",.1],fillNeutralDisabled:["#f8f7fa",.5],fillInverse:["#181819",1],fillInverseSecondary:["#181819",.7],fillInverseTertiary:["#181819",.1],fillInverseDisabled:["#181819",.5],fillBrand:["#93a9fd",1],fillBrandSecondary:["#93a9fd",.7],fillBrandTertiary:["#93a9fd",.1],fillBrandDisabled:["#93a9fd",.5],fillPositive:["#2Ecc71",1],fillNegative:["#e74c3c",1],fillInfo:["#93a9fd",1],fillCaution:["#dc7633",1],strokeNeutral:["#f8f7fa",1],strokeNeutralSecondary:["#f8f7fa",.7],strokeNeutralTertiary:["#f8f7fa",.1],strokeNeutralDisabled:["#f8f7fa",.5],strokeInverse:["#181819",1],strokeInverseSecondary:["#181819",.7],strokeInverseTertiary:["#181819",.1],strokeInverseDisabled:["#181819",.5],strokeBrand:["#93a9fd",1],strokeBrandSecondary:["#93a9fd",.7],strokeBrandTertiary:["#93a9fd",.1],strokeBrandDisabled:["#93a9fd",.5],strokePositive:["#2Ecc71",1],strokeNegative:["#e74c3c",1],strokeInfo:["#93a9fd",1],strokeCaution:["#dc7633",1],interactiveNeutral:["#ffffff",.1],interactiveNeutralFocus:["#ffffff",1],interactiveNeutralFocusSoft:["#ffffff",.1],interactiveInverse:["#48474b",void 0],interactiveInverseFocus:["#48474b",1],interactiveInverseFocusSoft:["#48474b",.1],interactiveBrand:["#becffe",.1],interactiveBrandFocus:["#becffe",1],interactiveBrandFocusSoft:["#becffe",.1],shadowNeutral:["#000000",.7],shadowNeutralFocus:["#000000",.7],shadowNeutralFocusSoft:["#000000",.7],shadowNeutralText:["#000000",1],shadowInverse:["#000000",.7],shadowInverseFocus:["#000000",.7],shadowInverseFocusSoft:["#000000",.7],shadowInverseText:["#000000",1],shadowBrand:["#000000",.7],shadowBrandFocus:["#000000",.7],shadowBrandFocusSoft:["#000000",.7],shadowBrandText:["#000000",1]},componentConfig:{Keyboard:{style:{keyProps:{delete:{title:null,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC"}}}}},font:[],layout:{columnCount:10,focusScale:1.2,gutterX:20,gutterY:20,marginX:150,marginY:150,safe:50,screenW:1920,screenH:1080},radius:{none:0,xs:2,sm:4,md:8,lg:16,xl:24},spacer:{none:0,xxs:2,xs:4,sm:8,md:10,lg:20,xl:30,xxl:40,xxxl:50},stroke:{none:0,sm:2,md:4,lg:6,xl:8},typography:{display1:{fontFamily:"Arial",fontSize:75,lineHeight:85,fontStyle:"500",verticalAlign:"middle",textBaseline:"bottom"},display2:{fontFamily:"Arial",fontSize:50,lineHeight:60,fontStyle:"500",verticalAlign:"middle",textBaseline:"bottom"},headline1:{fontFamily:"Arial",fontSize:35,fontStyle:"500",lineHeight:48,verticalAlign:"middle",textBaseline:"bottom"},headline2:{fontFamily:"Arial",fontSize:30,fontStyle:"500",lineHeight:40,verticalAlign:"middle",textBaseline:"bottom"},headline3:{fontFamily:"Arial",fontSize:25,fontStyle:"500",lineHeight:36,verticalAlign:"middle",textBaseline:"bottom"},body1:{fontFamily:"Arial",fontSize:25,fontStyle:"300",lineHeight:40,verticalAlign:"middle",textBaseline:"bottom"},body2:{fontFamily:"Arial",fontSize:22,fontStyle:"300",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},body3:{fontFamily:"Arial",fontSize:20,fontStyle:"300",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},button1:{fontFamily:"Arial",fontSize:25,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},button2:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},callout1:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},caption1:{fontFamily:"Arial",fontSize:15,fontStyle:"500",lineHeight:24,verticalAlign:"middle",textBaseline:"bottom"},tag1:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:24,verticalAlign:"middle",textBaseline:"bottom"},footnote1:{fontFamily:"Arial",fontSize:22,fontStyle:"300",lineHeight:30,verticalAlign:"middle",textBaseline:"bottom"}}};h();d();p();var Fo=[];var Fp=r=>{let e=[];for(let t=0;t<r.length;t++){let{family:i,src:s,descriptors:n}=r[t],o=s&&Array.isArray(s)&&s.length?s.map(l=>l.substr(0,5)==="local"?l:`url(${l})`).join(","):"url("+s+")",a=new FontFace(i,o,n||{});be.info("Loading font",i),document.fonts.add(a),e.push(new Promise(l=>{a.load().then(()=>{Fo.push(a),l(i)}).catch(u=>{l(new Error(`${i}: ${u.message}`))})}))}return Promise.all(e).then(t=>{let i=t.filter(n=>!(n instanceof Error)).join(", ");i&&be.log(`Fonts loaded: ${i}`);let s=t.filter(n=>n instanceof Error).map(n=>n.message).join(", ");s&&be.error(`Unable to load fonts: ${s}`)})},Bp=async r=>{if(document.fonts&&"delete"in document.fonts){if(!Fo.length)return;Fo=Fo.filter(e=>r.find(t=>t.family===e.family)?e:(be.info("Removing font",e.family),document.fonts.delete(e),!1))}else be.info("Unable to remove manually-added fonts")};h();d();p();var Pu={fontFamily:"fontFace"};var ku={all:r=>{let e={};for(let t=0;t<r.length;t++)e=tt(e,r[t]);return e}},Mp=[],Ou=r=>r.slice(0,8)==="subTheme";function Y1(r){let e=r.match(/^data:(.*?);base64,/);return e&&e.length===2?e[1]:null}function X1(r){let e=/^data:image\/(jpeg|jpg|png|gif);base64,/,t=e.test(r),i=t?Y1(r.match(e)[0]):null;return{isImage:t,mimeType:i}}function K1(r,e){let t=atob(r.substring(r.indexOf(",")+1)),i=[];try{for(let o=0;o<t.length;o+=512){let a=t.slice(o,o+512),l=new Array(a.length);for(let c=0;c<a.length;c++)l[c]=a.charCodeAt(c);let u=new Uint8Array(l);i.push(u)}let s=new Blob(i,{type:e});return URL.createObjectURL(s)}catch{return be.info("Unable to convert base64 image to URL"),null}}var Lu=class{constructor(){this._cache=new Map,!(typeof window>"u")&&(window.LUI||(window.LUI={}),window.LUI.themeManagerInstances?window.LUI.themeManagerInstances.push({themeManager:this,events:$r}):window.LUI.themeManagerInstances=[{themeManager:this,events:$r}])}_setCache(e,t){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({themeManager:i})=>{i&&i._cache.set(e,t)})}_deleteCache(e){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({themeManager:t})=>{t&&t._cache.delete(e)})}_emit(e,t){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({events:i})=>{i.emit(e,t)})}getTheme(){if(this._cache.has("theme"))return this._cache.get("theme");let e=this._processTheme.call(this);return this._setCache("theme",e),e}async setTheme(e){let t;if(Array.isArray(e)?t=ku.all(e):t=e,typeof t!="object"||t===null){be.warn(`context theme expected an object. Received ${typeof t}`);return}this._clearCache();let i=this._processTheme.call(this,[t],t.extensions);return this._setCache("theme",i),await Bp(i.font),i.font&&i.font.length&&await this._loadFonts(i.font),this._refreshSubThemes(),this._emit("themeExtensionsUpdate"),this._emit("themeUpdate"),i}getSubTheme(e){if(this._cache.has(`subTheme${e}`))return this._cache.get(`subTheme${e}`).result}async setSubTheme(e,t,i=!0){if(!e){be.warn("Sub theme name not specified");return}if(typeof e!="string"){be.warn(`Sub theme name must be a string. Received an ${typeof e}`);return}if(typeof t!="object"||!Object.keys(t).length){be.warn(`Could not set subTheme ${e}, value should be an object with properties. Received an ${typeof t}`);return}let s=this.getTheme(),n=this._processTheme.call(this,[s,t]);return n.font&&n.font.length&&await this._loadFonts(n.font),this._setCache(`subTheme${e}`,{original:t,result:n}),i&&this._emit(`themeUpdate${e}`),n}_refreshSubThemes(){[...this._cache.keys()].forEach(e=>{if(typeof e=="string"&&Ou(e)){let t=this._cache.get(e);t.original&&this.updateSubTheme(e.replace(/^subTheme/,""),t.original)}})}async _loadFonts(e){try{await Fp(e)}catch(t){be.error(`Unable to load font: ${t}`)}}async updateTheme(e){let t;Array.isArray(e)?t=ku.all(e):t=e;let i={};this._cache.has("theme")&&(i=this._cache.get("theme")),this._clearCache();let s=this._processTheme.call(this,[i,t],t.extensions||i.extensions);return this._setCache("theme",s),s.font&&s.font.length&&await this._loadFonts(s.font),this._refreshSubThemes(),t.extensions&&this._emit("themeExtensionsUpdate"),this._emit("themeUpdate"),s}_clearCache(){Mp.filter(e=>(window.URL&&typeof window.URL.revokeObjectURL=="function"&&URL.revokeObjectURL(e),!1)),this._cache.forEach((e,t)=>{(typeof t!="string"||!Ou(t))&&this._deleteCache(t)}),this._cache.forEach((e,t)=>{typeof t=="string"&&Ou(t)&&this.setSubTheme(t.replace("subTheme",""),e.original,!1)})}async updateSubTheme(e,t,i=!0){if(!e){be.warn("Sub theme name not specified");return}if(typeof t!="object"||!Object.keys(t).length){be.warn(`Could not update subTheme ${e} due to invalid value`);return}let s=this.getTheme(),n={};this._cache.has(`subTheme${e}`)&&(n=this._cache.get(`subTheme${e}`).original);let o=this._processTheme.call(this,[s,n,t]);return o.font&&o.font.length&&await this._loadFonts(o.font),this._setCache(`subTheme${e}`,{original:tt(n,t),result:o}),i&&this._emit(`themeUpdate${e}`),o}removeSubTheme(e){this._cache.has(`subTheme${e}`)&&this._deleteCache(`subTheme${e}`),this._emit(`themeUpdate${e}`)}_getComponentUUID(e){return`componentStyle${e}`}_processTheme(e=[],t){if(!Array.isArray(e))throw new Error(`context processTheme expected an array. Received ${typeof e}`);let i=ku.all([Do,...e]),s={},n=JSON.stringify(i,(o,a)=>{let l=a;if(l&&typeof l=="object"){let m=a;for(var u in l)Object.hasOwnProperty.call(l,u)&&Pu[u]&&(m[u&&Pu[u]]=l[u],delete m[u]);l=m}let{isImage:c,mimeType:g}=X1(l);if(window.URL&&typeof window.URL.createObjectURL=="function"&&c)try{let m=K1(l,g);return Mp.push(m),m}catch{return l}if(Array.isArray(l)&&l.length===2&&!l[0].targetComponent&&l[0].length&&typeof l[0]=="string"&&l[0].substr(0,1)==="#"&&typeof l[1]=="number")return Cr(l[0],l[1]);if(o==="extensions"||typeof l=="function"||typeof l=="object"&&l!==null&&l.constructor.name!=="Object"&&!Array.isArray(l)){s[o]=l;return}else if(typeof l=="string"&&l.includes("theme.")){let m=Fs({theme:i},l);return m||l}else{let m=vi(l);return m||l}});return{...JSON.parse(n),...s,extensions:t}}},or=new Lu;var Du=class{get theme(){return or.getTheme()}set theme(e){be.warn("Context.theme must be set using context.setTheme or context.updateTheme")}get keyMetricsCallback(){return Ru.keyMetricsCallback}set keyMetricsCallback(e){be.warn("Context.keyMetricsCallback must be set using context.setKeyMetricsCallback")}get debug(){return be.debug}set debug(e){be.debug=e}on(){return $r.on(...arguments)}off(){return $r.off(...arguments)}emit(){return $r.emit(...arguments)}log(...e){be.log(...e)}info(...e){be.info(...e)}warn(...e){be.warn(...e)}error(...e){be.error(e)}setTheme(e){return or.setTheme(e)}updateTheme(e){return or.updateTheme(e)}getSubTheme(e){return or.getSubTheme(e)}setSubThemes(e){if(typeof e!="object"){be.warn("subThemes must be an object");return}for(let t in e)or.setSubTheme(t,e[t])}setSubTheme(e,t){return or.setSubTheme(e,t)}updateSubTheme(e,t){return or.updateSubTheme(e,t)}removeSubTheme(e){or.removeSubTheme(e)}setLogCallback(e){be.logCallback=e}setKeyMetricsCallback(e){Ru.keyMetricsCallback=e}config(e={}){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=this["set"+Bs(t[i])];s&&s(e[t[i]])}return this}},he=new Du;h();d();p();h();d();p();var Fu=class{constructor(){this._updateThemeSet=new Set,this._requestUpdateSet=new Set,this._timeout=null,this._runUpdatesTimeoutHandler=this._runUpdatesTimeoutHandler.bind(this)}_runUpdatesTimeoutHandler(){this._timeout=null,this._updateThemeSet.forEach(e=>{try{e._updateThemeComponent()}catch(t){he.error("Error updating component themes",t)}}),this._updateThemeSet.clear(),this._requestUpdateSet.forEach(e=>{try{e.requestUpdate()}catch(t){he.error("Error updating component",t)}}),this._requestUpdateSet.clear()}flush(){this._timeout&&(clearTimeout(this._timeout),this._runUpdatesTimeoutHandler())}addUpdateTheme(e){this._updateThemeSet.add(e),this._timeout||(this._timeout=setTimeout(this._runUpdatesTimeoutHandler,0))}deleteUpdateTheme(e){this._updateThemeSet.delete(e)}addRequestUpdate(e){this._requestUpdateSet.add(e),this._timeout||(this._timeout=setTimeout(this._runUpdatesTimeoutHandler,0))}deleteRequestUpdate(e){this._requestUpdateSet.delete(e)}hasQueuedRequestFor(e){return this._requestUpdateSet.has(e)}},ar=new Fu;function Np(r){return r.charAt(0).toUpperCase()+r.slice(1)}function zp(r,e){let t=e;return typeof r=="object"&&Object.keys(r).length&&typeof e=="object"&&(t=tt(r,e)),t??r}function J1(r,e){return{get(){let t=this[`_get${Np(r)}`];if(t&&typeof t=="function"){let i=t.call(this,this[e]);return this[e]=i||this.__componentConfigProps?.[r],zp(this.__componentConfigProps?.[r],i)}return zp(this.__componentConfigProps?.[r],this[e])},set(t){let i=this[e];if(t!==i){let s=this[`_set${Np(r)}`];s&&typeof s=="function"&&(t=s.call(this,t));let n=e==="style"?tt(this[e],t):t;if(typeof this[e]=="object"&&this[e]!==null&&this[e].style){let o=tt(this[e].style,t.style||{});n.style=o}this[e]=n,this.queueRequestUpdate()}},configurable:!0,enumerable:!0}}function Q1(r,e){let t=`The property "${r}" is deprecated and will be removed in a future release. Please use "${e}" instead.`;return{get(){return console.warn(t),this[e]},set(i){console.warn(t),this[e]=i}}}function Bo(r){return class extends r{static get name(){return r.name}_construct(){let e=Object.getPrototypeOf(this);e._withUpdatesInitialized||((this.constructor.properties||[]).forEach(s=>{let n="_"+s,o=J1(s,n);o!==void 0&&Object.defineProperty(e,s,o)}),(this.constructor.aliasProperties||[]).forEach(s=>{if(s&&typeof s.prev=="string"&&typeof s.curr=="string"){let n=Q1(s.prev,s.curr);n!==void 0&&Object.defineProperty(e,s.prev,n)}}),e._withUpdatesInitialized=!0),this._whenEnabled=new Promise(t=>{this._whenEnabledResolver=t}),super._construct&&super._construct()}queueRequestUpdate(){this._isAttached()&&ar.addRequestUpdate(this)}_firstEnable(){this._readyForUpdates=!0,this._whenEnabledResolver(),ar.deleteRequestUpdate(this),this.requestUpdate(),super._firstEnable&&super._firstEnable()}requestEarlyUpdate(){return this._readyForUpdates=!0,ar.hasQueuedRequestFor(this)?(ar.deleteRequestUpdate(this),this._readyForUpdates=!0,this.requestUpdate(),!0):!1}_detach(){super._detach(),ar.deleteRequestUpdate(this)}requestUpdate(e=!1){if(this._readyForUpdates||e){let t=this._update();typeof t=="object"&&t!==null&&t.catch&&t.catch(i=>{he.error(`asyncronous _update() error in '${this.constructor.__componentName}'`,this,i)})}}logPropTable(){console.table(this._propTable)}get _propTable(){return this.constructor.properties.reduce((e,t)=>(e[t]=this[t],e),{})}}}h();d();p();function Z1(r){return{get(){return this.tag(r)},configurable:!0,enumerable:!0}}function Mo(r){return class extends r{static get name(){return r.name}_construct(){let e=Object.getPrototypeOf(this);e._withTagsInitialized||((this.constructor.tags||[]).forEach(i=>{if(typeof i=="object")var{name:s,path:n}=i;else var s=i,n=i;let o="_"+s,a=Z1(n);Object.defineProperty(e,o,a)}),e._withTagsInitialized=!0),super._construct&&super._construct()}}}h();d();p();function No(r){return class extends r{static get name(){return r.name}_handleKey(e){return this._processEvent(e)}_handleKeyRelease(e){return this._processEvent(e,"Release")}_processEvent(e,t=""){let s=(this.stage.application.__keymap||{})[e.keyCode];return s||(s=e.key),s&&typeof this[`on${s}${t}`]=="function"?(this._invokeKeyPayloadCallback(s+t),this[`on${s}${t}`].call(this,this,e)):!1}_invokeKeyPayloadCallback(e){this.metricsPayload&&typeof he.keyMetricsCallback=="function"&&he.keyMetricsCallback(e,this.metricsPayload)}}}h();d();p();function zo(r){return class extends r{_construct(){super._construct&&super._construct(),this._previousDimensionData=null}get itemLayout(){return this._itemLayout}set itemLayout(e){let t=this.constructor._componentName||this.constructor.name,i;e&&(i=JSON.parse(JSON.stringify(e,(s,n)=>{if(s!=="circle"&&n<0){he.error(`itemLayout for ${t} received an invalid value of ${n} for ${s}`);return}else if(s==="circle")return!!n;return n}))),Lo(this._itemLayout,i)||(i&&!i.upCount?(this._originalW=this.w,this._originalH=this.h,this._itemLayout={w:this._originalW,h:this._originalH,...i}):this._itemLayout=i,this._updateItemLayout())}_allowUpdate(){let{w:e="",h:t="",circle:i="",ratioX:s="",ratioY:n="",upCount:o=""}=this._itemLayout||{},a=Object.values(he.theme.layout).join("")+`${e}${t}${i?1:0}${s}${n}${o}`;return a!==this._previousDimensionData?(this._previousDimensionData=a,!0):!1}_updateItemLayout(){if(!this._allowUpdate())return;let{w:e,h:t}=Eu(this.theme,this._itemLayout);if(t||e){let i=he.theme.layout.screenW,s=he.theme.layout.screenH,n=e||t*(i/s),o=t||e*(s/i);this.w=this._itemLayout&&this._itemLayout.circle?o:n,this.h=o,this._itemLayout&&this._itemLayout.circle&&this.style.radius?(this._circleSet=!0,this._originalRadius=this.style.radius,this.style={...this.style,radius:o/2}):this._circleSet&&(this.style={...this.style,radius:this._originalRadius},this._originalRadius=void 0,this._circleSet=!1),this.queueRequestUpdate&&this.queueRequestUpdate(),this.fireAncestors("$itemChanged")}}}}h();d();p();h();d();p();h();d();p();var e2=(r,e)=>r.charCodeAt(0)*(e+1),Wp=r=>{let e={};return Object.keys(r).sort().forEach(t=>{typeof r[t]=="object"&&r[t]!==null&&!Array.isArray(r[t])?e[t]=Wp(r[t]):e[t]=r[t]}),e},t2=r=>{let e=Wp(r),t=JSON.stringify(e).replace(/[{}:",\s]/g,""),i=0;for(let s=0;s<t.length;s++)i+=e2(t[s],s);return i},qp=r=>JSON.stringify(r).length+"-"+t2(r);function jo(r,e){if(typeof r=="function"){let t=r(e);return jo(t,e)}else{if(Array.isArray(r))return r.map(t=>jo(t,e));if(typeof r=="object"&&r!==null){let t={};for(let i in r)r.hasOwnProperty(i)&&(t[i]=jo(r[i],e));return t}else return r}}function Bu(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&!(r instanceof Function)&&!(r instanceof Error)}var $p=r=>{for(;r&&(!r.subTheme||typeof r.subTheme!="string");)r=r.p;return r?r.subTheme:void 0},Mu=r=>Bu(r)?r?.theme?.componentConfig?.[r.constructor.__componentName]||{}:{};function Vp(r){for(let e in r)r.hasOwnProperty(e)&&Bu(r[e])&&(Vp(r[e]),Object.keys(r[e]).length===0&&delete r[e]);return r}function r2(r={}){let e=new Map;function t(s){return JSON.stringify(s,Object.keys(s).sort())}function i(s){for(let n in s)if(s.hasOwnProperty(n)){let o=s[n];if(typeof o=="object"&&o!==null){let a=t(o);e.has(a)?s[n]=e.get(a):(e.set(a,o),i(o))}}}return i(r),r}function jp(r=[]){if(!Array.isArray(r))throw new TypeError("Expected defaultProps to be an array of strings.");return[...new Set(r)]}function i2(r,e,t,i,s,n){let o=tt(e,r);return o=tt(o,s?.[t]),o=tt(o,n?.[i]),o=tt(o,s?.[t]?.mode?.[i]||{}),o=tt(o,n?.[i]?.tone?.[t]||{}),o}function Up(r,e){let t=[];function i(n){if(typeof n=="object"&&n!==null)for(let o in n)n.hasOwnProperty(o)&&t.push(o)}function s(n){if(typeof n=="object"&&n!==null){for(let o in n)if(n.hasOwnProperty(o)){if(o===e){i(n[o]);break}s(n[o])}}}return s(r),t}var s2=({base:r={},tone:e={},mode:t={},defaultStyle:i={}},s=[],n=[])=>{let o={},a=jp(["focused","disabled",...s,"unfocused"]),l=jp(["neutral","inverse","brand",...n]);for(let u of a)for(let c of l){let g=i2(r,i,c,u,e,t);o[`${u}_${c}`]=g}return o},Hp=["unfocused_neutral","unfocused_inverse","unfocused_brand","focused_neutral","focused_inverse","focused_brand","disabled_neutral","disabled_inverse","disabled_brand"];function n2(r){let e={};for(let t of[...Hp,...Object.keys(r)])if(r.hasOwnProperty(t))typeof r[t]!="object"?e[t]={}:e[t]=r[t];else{let i=Hp.find(s=>r.hasOwnProperty(s));if(i){let s=r[i];e[t]=typeof s!="object"?{}:s}else e[t]={}}return e}var Gp=({theme:r={},styleChain:e=[],inlineStyle:t={},alias:i=[]}={})=>{if(typeof r!="object")throw new Error("Expected theme to be an object");if(!Array.isArray(e))throw new Error("Expected styleChain to be an array");if(typeof t!="object")throw new Error("Expected inlineStyle to be an object");if(!Array.isArray(i))throw new Error("Expected alias to be an array");let s=e.map(({style:b})=>{if(typeof b=="object"&&!b.base&&!b.mode&&!b.tone&&!b.default)return{base:b};{let{base:C={},mode:A={},tone:T={}}=b,R;if(b){let P=JSON.parse(JSON.stringify(b));delete P.base,delete P.tone,delete P.mode,R=P}return{defaultStyle:R||{},base:C,mode:A,tone:T}}}),n;if(t){let b=JSON.parse(JSON.stringify(t));delete b.base,delete b.tone,delete b.mode,n=b}let o={defaultStyle:n||{},base:t?.base||{},mode:t?.mode||{},tone:t?.tone||{}},l=[...s,o].map(b=>jo(b,r)),u=Up(l,"mode"),c=Up(l,"tone"),g=l.reduce((b,C)=>tt(b,s2(C,u,c)),{}),m=l2(Vp(o2({theme:r},g))||{},i),y=r2(m);return n2(y)},o2=(r,e)=>{if(typeof r!="object"||r===null)throw new TypeError("targetObject must be an object.");if(typeof e!="object"||e===null)throw new TypeError("styleObj must be an object.");let t=JSON.stringify(e,(i,s)=>{if(-1<["tone","mode"].indexOf(i))return s;if(typeof s=="string"&&s.startsWith("theme."))return Fs(r,s);function n(o){return o>=0&&o<=4294967295}return Array.isArray(s)&&s.length===2&&(typeof s[0]=="string"&&s[0].startsWith("#")||typeof s[0]=="number"&&n(s[0]))&&typeof s[1]=="number"&&Cr(s[0],s[1])||s});return JSON.parse(t||{})},Yp=(r,e={})=>{if(!Bu(r))return{};let{mode:t="unfocused",tone:i="neutral"}=r;return e[`${t}_${i}`]||e.unfocused_neutral||{}};function Xp(r,e=""){if(!r)return e;let t=Object.getPrototypeOf(r);if(!t||!t.constructor)return e;let i=`${e?e+".":""}${t?.constructor?.__componentName||""}`.replace(/\.*$/,"").trim();return Xp(t,i)}var Si={},Nu=()=>{for(let r in Si)Si.hasOwnProperty(r)&&delete Si[r]},Kp=r=>{let e=Xp(r);if(Si[e])return Si[e];let t=a2(r);return Si[e]=t,t},a2=r=>{let e=new Map,t;do{if(t=t?Object.getPrototypeOf(t):r,t?.constructor===Object)break;if(t&&typeof t=="object"&&t.hasOwnProperty("constructor")){let{style:s}=Mu(t);Object.keys(s||{}).length&&(e.has(s)||e.set(s,{style:s}));let n=t.constructor.hasOwnProperty("__themeStyle")&&t.constructor.__themeStyle;Object.keys(n||{}).length?e.has(n)||e.set(n,{style:{...n}}):typeof n=="function"&&(e.has(n)||e.set(n,{style:n}));let o=t.constructor.hasOwnProperty("__mixinStyle")&&t.constructor.__mixinStyle;Object.keys(o||{}).length&&(e.has(o)||e.set(o,{style:o}))}}while(t);return Array.from(e.values()).map(s=>s).reverse()},l2=(r,e=[])=>{if(typeof r!="object"||r===null)throw new Error("The originalObj parameter must be an object.");let t=new Set;return t.add([u2,[e]]),Array.from(t).reduce((s,[n,o])=>n(s,...o),r)},u2=(r,e=[])=>{if(typeof r!="object"||r===null)throw new Error("Value must be an object");if(!Array.isArray(e))throw new Error("Alias styles must be an array");let t=JSON.stringify(r);return[{prev:"height",curr:"h",skipWarn:!0},{prev:"width",curr:"w",skipWarn:!0},...e||[]].forEach(s=>{s&&typeof s.prev=="string"&&typeof s.curr=="string"&&(!s.skipWarn&&t.search(`"${s.prev}":`)>=0&&be.warn(`The style property "${s.prev}" is deprecated and will be removed in a future release. Please use "${s.curr}" instead.`),t=t.replace(new RegExp(`"${s.prev}":`,"gi"),`"${s.curr}":`))}),JSON.parse(t)};h();d();p();var Jp=new Map;he.on("themeUpdate",()=>{Jp.clear()});var lr=Jp;var Ms=class extends le.EventEmitter{constructor({component:e={}}={}){super(...arguments),this.init(e)}init(e){this.isActive=!0,this.component=e,this.setupListeners(),this._style={},this.update()}setupListeners(){this._boundThemeUpdate=this._onThemeUpdate.bind(this),this._hasSubTheme=!!this.component._targetSubTheme,this.component._targetSubTheme?he.on(`themeUpdate${this.component._targetSubTheme}`,this._boundThemeUpdate):he.on("themeUpdate",this._boundThemeUpdate)}clearListeners(){this._boundThemeUpdate&&(this.component._targetSubTheme?he.off(`themeUpdate${this.component._targetSubTheme}`,this._boundThemeUpdate):he.off("themeUpdate",this._boundThemeUpdate))}destroy(){this.isActive=!1,this._cleanupCache(),this.clearListeners(),this._styleCache=null,this._boundThemeUpdate=null,this.component=null}_onThemeUpdate(){Nu(),this.clearSourceCache(),this.clearStyleCache(),this.update()}clearStyleChainCache(){Nu()}clearSourceCache(){if(!this.component)return;let e=this._generateCacheKey("styleSource");this._removeCache(e)}clearStyleCache(){if(!this.component)return;let{tone:e,mode:t}=this.component,i=this._generateCacheKey(`style_${t}_${e}`);lr.delete(i)}_generateCacheKey(e){return[e,this.component._targetSubTheme,this.component.constructor.__componentName,this._customStyleHash].filter(Boolean).join("_")}_addCache(e,t){let i=this._generateCacheKey(e),s=lr.get(i);lr.set(i,{ids:[...new Set([...s?.ids||[],this.component.__id])],payload:t})}_cleanupCache(){this.component&&lr.forEach(({ids:e,payload:t},i)=>{let s=e&&e.length&&e.indexOf(this.component.__id);s>-1&&e.length>1?lr.set(i,{ids:e.slice(0,s).concat(e.slice(s+1)),payload:t}):s>-1&&lr.delete(i)})}_removeCache(e){lr.delete(e)}_getCache(e){let t=this._generateCacheKey(e);return lr.get(t)}update(){if(!this.component)return;let{mode:e,tone:t}=this.component;try{let i=this._getCache("styleSource")?.payload;i||(i=Gp({alias:this.component.constructor.aliasStyles,inlineStyle:this.component._componentLevelStyle,styleChain:Kp(this.component),theme:this.component.theme}),this._addCache("styleSource",i));let s=this._getCache(`style_${e}_${t}`)?.payload;s||(s=Yp(this.component,i),this._addCache(`style_${e}_${t}`,s)),this._style=s,this.emit("styleUpdate",this.style)}catch(i){he.error("styleManager: ",i.message)}}set style(e){he.warn("styleManager: Cannot mutate style directly")}get style(){return this._style}set props(e){he.warn("styleManager: Cannot mutate props directly")}get props(){return Object.keys(this.component._componentConfig).reduce((e,t)=>(["base","tone","mode","style","styleConfig"].includes(t)||(e[t]=this.component._componentConfig[t]),e),{})}get _customStyleHash(){if(!!Object.keys(this.component.constructor.__mixinStyle||{}).length||!!Object.keys(this.component._componentLevelStyle||{}).length)return qp(tt(this.component.constructor.__mixinStyle||{},this.component._componentLevelStyle||{}))}};function Uo(r,e){if(r!==null&&typeof r=="object"){if(Array.isArray(r))return r.map((t,i)=>Uo(t,Array.isArray(e)?e[i]:void 0));{let t={};return new Set([...Object.keys(r),...Object.keys(e)]).forEach(s=>{typeof r[s]=="object"&&r[s]!==null?t[s]=Uo(r[s],e[s]||{}):typeof e[s]=="object"&&e[s]!==null?t[s]=Uo(r[s]||{},e[s]):t[s]=e.hasOwnProperty(s)?e[s]:void 0}),t}}else return r}function Ho(r,e={}){return class extends r{_construct(){if(this._withThemeStylesSetupComplete){super._construct();return}this._hSetByUser=!1,this._wSetByUser=!1,this._styleManager=new Ms({component:this}),this._style=this._styleManager.style,this._updatePropDefaults(),this._styleManager.on("styleUpdate",()=>{this._style=this._styleManager.style,this._updatePropDefaults(),this.queueThemeUpdate()}),this._withThemeStylesSetupComplete=!0,super._construct()}_setup(){super._setup&&super._setup(),this._targetSubTheme=$p(this),this._targetSubTheme&&(this._styleManager.clearListeners(),this._styleManager.setupListeners(),this._styleManager.clearStyleChainCache(),this._styleManager.clearStyleCache(),this._styleManager.clearSourceCache(),this._styleManager.update())}_updatePropDefaults(){if(!Object.keys(this._styleManager.props).length||JSON.stringify(this._styleManager.props)===JSON.stringify(this._prevComponentConfigProps))return;let t=this._prevComponentConfigProps?Uo(this._prevComponentConfigProps||{},this._styleManager.props||{}):this._styleManager.props||{};this._prevComponentConfigProps=this._styleManager.props&&JSON.parse(JSON.stringify(this._styleManager.props)),this.__componentConfigProps=t}_attach(){super._attach(),this._styleManager.isActive||this._styleManager.init(this)}_detach(){super._detach(),this._styleManager.destroy()}_unfocus(){this._isFocusedMode&&(this.mode="unfocused"),super._unfocus()}_focus(){this._isDisabledMode||(this.mode="focused"),super._focus()}_checkDimensionUpdates(){let t=!1;!this._wSetByUser&&this.style.w&&this._w!==this.style.w&&(this._w=this.style.w,t=!0),!this._hSetByUser&&this.style.h&&this._h!==this.style.h&&(this._h=this.style.h,t=!0),t&&this._updateDimensions()}_updateThemeComponent(){this.style&&this._isAttached()&&(this._checkDimensionUpdates(),this.queueRequestUpdate?this.queueRequestUpdate():this._update&&this._update(),this._updateItemLayout&&this._updateItemLayout())}queueThemeUpdate(){ar.addUpdateTheme(this)}static get name(){return r.name}static get __componentName(){if(!super.__componentName)throw new Error(`A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`);return super.__componentName}static get __mixinStyle(){return e}get theme(){return this._targetSubTheme&&he.getSubTheme(this._targetSubTheme)||he.theme}set style(t){if(Object.prototype.toString.call(t)!=="[object Object]"){he.error("style must be an object");return}this._componentLevelStyle=t,this._styleManager.clearStyleCache(),this._styleManager.update()}get style(){return this._style}get _componentStyle(){return he.info("_componentStyle will soon be deprecated. Please use Component.style"),this._style}set styleConfig(t){he.info("style config is deprecated. Please use style = { base: {}, tone: {}, mode: {} }"),this._styleConfig=t,this._styleManager.update()}get styleConfig(){return this._styleConfig}get _componentConfig(){return Mu(this)}get mode(){return this._mode||this._componentConfig?.mode||"unfocused"}set mode(t){if(typeof t!="string"||this._mode===t)return;this._mode=t;let i=this[`on${Bs(t)}`];i&&typeof i=="function"&&i.call(this),this._styleManager.update()}get tone(){return this._tone||this._componentConfig.tone||"neutral"}set tone(t){typeof t!="string"||this._tone===t||(this._tone=t,this._styleManager.update())}get w(){return this._wSetByUser&&this._w||this.style?.w||0}set w(t){this._w!==t&&(super.w=t,this._wSetByUser=!0,this._updateThemeComponent())}get h(){return this._hSetByUser&&this._h||this.style?.h||this._h||0}set h(t){this._h!==t&&(super.h=t,this._hSetByUser=!0,this._updateThemeComponent())}}}h();d();p();var wi="__original";function Wo(r){return r.prototype.constructor._withExtensionsApplied?r:class extends r{static get name(){return r.name}static get __componentName(){if(!super.__componentName)throw new Error(`A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`);return super.__componentName}static get _withExtensionsApplied(){return!0}get _prototypeChain(){if(this.__prototypeChain)return this.__prototypeChain;let e=new Set,t=this;do if(t=Object.getPrototypeOf(t),t!==null&&typeof t=="object")try{t.constructor.__componentName&&e.add(t.constructor.__componentName)}catch{}while(t);return this.__prototypeChain=e,e}get _extensions(){let e=he&&he.theme&&he.theme.extensions;return!e||!Array.isArray(e)||Array.isArray(e)&&!e.length?[]:e.filter(({targetComponent:t,extension:i})=>(typeof t=="string"||Array.isArray(t))&&typeof i=="function").slice().reverse()||[]}get _componentExtensions(){return this._extensions.filter(({targetComponent:e})=>typeof e=="string"?e===this.constructor.__componentName||this._prototypeChain.has(e):Array.isArray(e)?e.find(t=>{if(t.startsWith("/")&&t.endsWith("/")){let i=new RegExp(t.slice(1,-1));return Array.from(this._prototypeChain).some(s=>i.test(s))}else return this._prototypeChain.has(t)}):!1).reduce((e,{extension:t})=>(e.push(t),e),[])}get _extensionApplied(){return this._currentComponentExtensionLength===this._appliedExtensionLength}_construct(){this._appliedExtensionLength=0,this._extendedList={},this._extensionInstance={},this._setupExtensionBound=this._setupExtension.bind(this),he.on("themeUpdate",this._setupExtensionBound),this._currentComponentExtensionLength=this._calculateComponentExtensionLength(),this._createExtension(),super._construct()}_detach(){super._detach(),he.off("themeUpdate",this._setupExtensionBound)}_setupExtension(){this._currentComponentExtensionLength=this._calculateComponentExtensionLength(),this._createExtension.call(this)}_resetComponent(){this._extensionInstance._extensionCleanup&&this._extensionInstance._extensionCleanup.call(this),(Object.keys(this._extendedList)||[]).forEach(e=>{delete this[e],delete this[e+wi]}),this._extensionInstance={},this._extendedList={}}_calculateComponentExtensionLength(){return this._componentExtensions.reduce((t,i)=>(t+=i.toString().length,t),0)}_createExtension(){if(this._extensionApplied)return;this._resetComponent();let e=this._createExtensionClass(),t=new e;this._extendedList=this._createExtensionAliases(t),this._extensionInstance=t,this._setComponentAliases(this._extendedList)}_createExtensionClass(){function e(){}let t=this._componentExtensions.reduce((i,s)=>s(i),e);return this._appliedExtensionLength=this._calculateComponentExtensionLength(),t}_createExtensionAliases(e){let t=e;for(let n=0;n<this._componentExtensions.length+1;n++)t=Object.getPrototypeOf(t);let i={},s=this._componentExtensions.reduce((n,o)=>{let a=new o(class{}),l=new a,u=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(l));return Object.keys(u).forEach(c=>{if(!["constructor"].includes(c)){if(u[c].get||u[c].set){i[c]={type:"accessor"},n[c]={get:function(){return this[c+wi]},set:function(g){this[c+wi]=g}};return}i[c]={type:"method"},n[c]={value:function(){this[c+wi]&&this[c+wi]()}}}}),n},{});return Object.defineProperties(t,s),Object.setPrototypeOf(t,this),i}_setComponentAliases(e){Object.keys(e).forEach(t=>{this[t+wi]=this[t],e[t].type==="method"?this[t]=this._extensionInstance[t]:e[t].type==="accessor"&&Object.defineProperty(this,t,{configurable:!0,get(){return this._extensionInstance[t]},set(i){this._extensionInstance[t]=i}})})}}}var zu=class extends le.Component{static get __componentName(){return"Base"}_construct(){this.constructor.__componentName,this.skipPlinko=!1,this.centerInParent=!1,this.loaded||(this.loaded=Promise.resolve())}_init(){this.queueRequestUpdate()}_resetLoadedPromise(){this.loaded=new Promise((e,t)=>{this._resolveLoadedPromise=e,this._rejectLoadedPromise=t})}_update(){}_focus(){this._updateShouldSmooth(),this.queueRequestUpdate()}_unfocus(){this.queueRequestUpdate()}_updateShouldSmooth(){this.shouldSmooth===void 0&&(this.shouldSmooth=!0)}applySmooth(e,t,i){this.shouldSmooth?e.smooth=i||t:e.patch(t)}get announce(){return this._announce}set announce(e){this._announce=e}get announceContext(){return this._announceContext}set announceContext(e){this._announceContext=e}get shouldSmooth(){return this._shouldSmooth}set shouldSmooth(e){this._shouldSmooth=e}get _isDisabledMode(){return this.mode==="disabled"}get _isUnfocusedMode(){return this.mode==="unfocused"}get _isFocusedMode(){return this.mode==="focused"}isFullyOnScreen(e){return Au(this,e)}getFocusScale(){return he.theme.layout.focusScale}getUnfocusScale(){return 1}};function c2(r){return Wo(zo(Ho(Bo(Mo(No(r))))))}var ve=c2(zu);h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();function p2(r){return r.startsWith("<svg")?"SVG":r.startsWith("blob:")?"Blob":/\.(jpeg|jpg|gif|png|svg)$/i.test(r)?"Image":"Unknown"}function f2(r,e,t,i,s){let n=e.platform.getDrawingCanvas(),o=n.getContext("2d");o.imageSmoothingEnabled=!0;let a=new Image;a.onload=()=>{n.width=i,n.height=s,o.drawImage(a,0,0,n.width,n.height),r(null,{source:n,w:i,h:s})},a.onerror=l=>{r(l)},le.Utils.isPS4||(a.crossOrigin="Anonymous"),a.src=t}function g2({src:r},e){let t=new Image;return r.substr(0,5)!="data:"&&!le.Utils.isPS4&&(t.crossOrigin="Anonymous"),t.onerror=function(){if(t.src)return e("Image load error")},t.onload=function(){e(null,{source:t,renderInfo:{src:r,compressed:!1},hasAlpha:!0})},t.src=r,function(){t.onerror=null,t.onload=null,t.removeAttribute("src")}}var Ti=class extends le.Texture{constructor(e){super(e),this._src=void 0,this._hasAlpha=!1}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._changed())}get hasAlpha(){return this._hasAlpha}set hasAlpha(e){this._hasAlpha!==e&&(this._hasAlpha=e,this._changed())}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}_getIsValid(){return!!this._src}_getLookupId(){return this._src}_getSourceLoader(){let e=this._w,t=this._h,i=this._src,s=this._hasAlpha;if(this.stage.getOption("srcBasePath")){let n=i.charCodeAt(0);i.indexOf("//")===-1&&(n>=65&&n<=90||n>=97&&n<=122||n==46)&&(i=this.stage.getOption("srcBasePath")+i)}return n=>{switch(p2(i)){case"SVG":return f2(n,this.stage,`data:image/svg+xml,${encodeURIComponent(i)}`,e,t);case"Blob":return g2({src:i},n);default:return this.stage.platform.loadSrcTexture({src:i,hasAlpha:s},n)}}}getNonDefaults(){let e=super.getNonDefaults();return this._src&&(e.src=this._src),e}};h();d();p();h();d();p();h();d();p();var ju={};rr(ju,{tone:()=>m2});h();d();p();var m2=r=>({neutral:{color:r.color.fillNeutral},inverse:{color:r.color.fillInverse},brand:{color:r.color.fillBrand}});var We=class extends ve{static get __componentName(){return"Icon"}static get __themeStyle(){return ju}static get properties(){return["icon","fixed","color"]}_init(){this.on("txLoaded",()=>{this.fixed||this._notify.bind(this)()}),this.on("txError",this._handleTxtError.bind(this))}_getColor(){return this._color||this.style.color}_notify(){this.w=this.finalW,this.h=this.finalH,this.signal("itemChanged",this),this.fireAncestors("$itemChanged")}_handleTxtError(){he.error(`Unable to load icon ${this._icon}`),this._icon=null,this.texture=null}_update(){if(!this._icon){this.texture=null;return}this.patch(this._iconPatch)}get _iconPatch(){let[e,t]=[/^<svg.*<\/svg>$/,/\.svg$/].map(l=>RegExp.prototype.test.bind(l)),i,s=e(this.icon),n=t(this.icon);s?i=le.Tools.getSvgTexture(`data:image/svg+xml,${encodeURIComponent(this.icon)}`,this.w,this.h):n?i=le.Tools.getSvgTexture(this.icon,this.w,this.h):i={type:Ti,w:this.w,h:this.h,src:this.icon};let o=vi(this._color||this.style.color),a=this.radius||this.style.radius?{radius:this.radius||this.style.radius,type:le.shaders.RoundedRectangle}:void 0;return{texture:i,shader:a,...o?{colorUl:o,colorUr:o,colorBl:o,colorBr:o}:{}}}};var Uu={};rr(Uu,{base:()=>_2,tone:()=>y2});h();d();p();var _2=r=>({contentSpacing:r.spacer.xs,offsetY:1,paddingX:r.spacer.md,paddingY:r.spacer.xs,radius:r.radius.sm,strokeWidth:r.stroke.sm,textStyle:{...r.typography.tag1,textAlign:"center"}}),y2=r=>({neutral:{backgroundColor:r.color.fillInverseSecondary,iconColor:r.color.textNeutral,textStyle:{textColor:r.color.textNeutral},strokeColor:r.color.strokeNeutralSecondary},inverse:{backgroundColor:r.color.fillNeutralSecondary,iconColor:r.color.textInverse,textStyle:{textColor:r.color.textInverse},strokeColor:r.color.strokeInverseSecondary},brand:{backgroundColor:r.color.fillBrand,iconColor:r.color.textNeutral,textStyle:{textColor:r.color.textNeutral},strokeColor:r.color.strokeInverseSecondary}});var Ar=class extends ve{static _template(){return{Text:{mountY:.5},Icon:{type:We,mountY:.5,signals:{itemChanged:"_updateLayout"}}}}static get __componentName(){return"Badge"}static get __themeStyle(){return Uu}static get properties(){return["title","icon","iconAlign","iconWidth","iconHeight"]}static get tags(){return["Background","Text","Icon"]}_init(){this._Text.on("txLoaded",this._updateLayout.bind(this)),super._init()}_update(){this._updateText(),this._updateIcon(),this._updateLayout(),this._updateVisibility()}_updateVisibility(){this.alpha=this.title||this.icon?1:0}_updateLayout(){this._updateWidth(),this._updateBackground(),this._updatePositions(),this.signal("loadedBadge",this)}_updateBackground(){let e=Math.max(this._Text.renderHeight,this._Icon.h)+this.style.paddingY*2;this.patch({h:e,texture:le.Tools.getRoundRect(this.w,e,wt(this.style.radius,this.w,e),this.style.strokeWidth,this.style.strokeColor,!0,this.style.backgroundColor)})}_updateText(){this._Text&&this._Text.patch({text:{...this.style.textStyle,text:this.title||""}})}_updateIcon(){this._Icon.patch({icon:this.icon,w:this.iconWidth,h:this.iconHeight,style:{color:Cr(this.style.iconColor)}})}_updateWidth(){let e=0;this.title&&this.icon?e=this._Text.renderWidth+this._Icon.finalW+this.style.contentSpacing+this.style.paddingX*2:this.title?e=this._Text.renderWidth+this.style.paddingX*2:this.icon&&(e=this._Icon.finalW+this.style.paddingX*2),this.w=e}_updatePositions(){this._Icon.y=this.h/2,this.iconAlign==="left"&&this.title&&this.icon?(this._Icon.x=this.style.paddingX,this._Text.x=this._Icon.x+this._Icon.finalW+this.style.contentSpacing):this.iconAlign==="right"&&this.title&&this.icon?(this._Text.x=this.style.paddingX,this._Icon.x=this._Text.x+this._Text.renderWidth+this.style.contentSpacing):(this._Text.x=this.style.paddingX,this._Icon.x=this.style.paddingX),this._Text.y=this._h/2+this.style.offsetY}_getIconHeight(){return this.icon?!this._Icon.finalH&&this._Text?this._Text.text.lineHeight:this._Icon.finalH:0}set announce(e){super.announce=e}get announce(){return this._announce||this.title}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Wu={};rr(Wu,{base:()=>w2,tone:()=>T2});h();d();p();var w2=r=>({offsetY:r.spacer.xxs,offsetX:0,textStyle:r.typography.body1}),T2=r=>({neutral:{textStyle:{textColor:r.color.fillNeutral}},inverse:{textStyle:{textColor:r.color.fillInverse}},brand:{textStyle:{textColor:r.color.fillBrand}}});h();d();p();h();d();p();h();d();p();var qu={};rr(qu,{base:()=>C2});h();d();p();var C2=r=>({textY:0,iconWidth:r.spacer.xxl+r.spacer.xs,iconHeight:r.spacer.xxl+r.spacer.xs,contentSpacing:r.spacer.md,marginBottom:0,strikethroughRatio:.08,strikethroughColor:r.color.textNeutral,textStyle:{...r.typography.body1},maxLines:1,justify:"flex-start"});var zs=r=>typeof r=="string"||!!r.text,rf=r=>!!r.icon,A2=r=>!!r.badge,ur=class extends ve{static get properties(){return["content","contentProperties","badgeY","badgeProperties","justify","contentWrap","customStyleMappings","maxLines","maxLinesSuffix"]}static get __componentName(){return"InlineContent"}static get __themeStyle(){return qu}static get aliasStyles(){return[{prev:"iconH",curr:"iconHeight"},{prev:"iconW",curr:"iconWidth"}]}_construct(){super._construct(),this._maxLinesSuffix=".."}_update(){this._updateContent(),this._waitForComponentLoad()}_updateContent(){this.childList.clear(),this._shouldTruncate&&(this.alpha=.001),this._parsedContent&&this._parsedContent.length&&(this.patch({flex:{direction:"row",wrap:!!this.contentWrap,justifyContent:this.justify!=null?this.justify:this.style.justify}}),this._parsedContent.forEach((e,t)=>{let i=t===this._parsedContent.length-1,s={flexItem:{...this.contentProperties,marginBottom:i?0:this._marginBottom,marginRight:i?0:this.contentProperties.marginRight||this.style.contentSpacing}};if(zs(e)){let n=this._parsedContent[t+1];(n&&zs(n)||this.contentWrap&&n&&n.newline&&this._parsedContent[t+2]&&zs(this._parsedContent[t+2]))&&(s.flexItem.marginRight=0),this.childList.a(this._createText(s,e))}else rf(e)?this.childList.a(this._createIcon(s,e)):A2(e)?this.childList.a(this._createBadge(s,e.badge)):e.newline&&this.contentWrap&&this.childList.a({h:0,w:this.w})}))}_waitForComponentLoad(){this.children.length?Promise.all(this.children.map(e=>new Promise(t=>{e.h===0&&e.w===this.w?t():e.on("txLoaded",t)}))).finally(()=>this._contentLoaded()):(this.h=0,this._contentLoaded())}_notifyAncestors(){this.fireAncestors("$loadedInlineContent",this),this.signal("loadedInlineContent",this.finalW,this.multiLineHeight)}_contentLoaded(){this.children.length?setTimeout(()=>{if(this.multiLineHeight=this.finalH,this.flex&&this.flex._layout&&this.flex._layout._lineLayouter&&this.flex._layout._lineLayouter._lines){let e=0;this.flex._layout._lineLayouter._lines.forEach(t=>{e+=Object.entries(t.items).slice(t.startIndex,t.endIndex+1).sort((i,s)=>s[1].h-i[1].h)[0][1].h}),this.multiLineHeight=e,this._shouldTruncate&&this._renderMaxLines(),this._notifyAncestors()}else this._contentLoaded()},10):this._notifyAncestors()}_renderMaxLines(){let e=this._calcChildrenDimensions();this.childList.clear();let t=!1;e.forEach((i,s)=>{if(t)return;let n=e[s+1];if(!n){this.childList.add(i.component);return}let o=i.line===this.maxLines,l=o&&n.line>this.maxLines&&i.hasSpaceForSuffix,u=o&&i.hasSpaceForSuffix&&!n.hasSpaceForSuffix,c=!n||l||u;i.line<=this.maxLines&&(c&&s!==e.length-1?(this.childList.add(this._addSuffix(i)),t=!0):this.childList.add(i.component))}),this.alpha=1}_calcChildrenDimensions(){let e=ko({...this.style.textStyle,text:this.maxLinesSuffix}),t=0,i=1;return this.children.reduce((s,n)=>{let o=n,a,l,u;if(n.w==this.w&&n.h===0){i++,t=0;let y={type:"linebreak",component:o,content:l,line:i,hasSpaceForSuffix:!0};return s.push(y),s}zs(n)?(a="text",l=n.text.text,u=n.texture.getRenderWidth()):rf(n)?(a="icon",u=n.w):n.constructor.__componentName==="Badge"&&(a="badge",u=n.w),t+=u,t+=n.flexItem.marginRight,Math.ceil(t)>=this.w&&(i++,t=u);let g=Math.ceil(t)+e<=this.w,m={type:a,component:o,content:l,line:i,hasSpaceForSuffix:g};return s.push(m),s},[])}_addSuffix({type:e,component:t,content:i}){let s=t.flexItem.marginRight*-1,n;if(e==="text"){let{fontFace:o,fontSize:a,fontStyle:l,lineHeight:u,verticalAlign:c}=t.text;n=this._createText({flexItem:this.contentProperties},{text:`${i.trim()}${this.maxLinesSuffix}`,style:{fontFace:o,fontSize:a,fontStyle:l,lineHeight:u,verticalAlign:c}})}else this.childList.add(t),n=this._createText({flexItem:{...this.contentProperties,marginLeft:s}},this.maxLinesSuffix);return n}_createIcon(e,t){let i=(this.textHeight>this.style.textStyle.lineHeight?this.textHeight:this.style.textStyle.lineHeight)-this.style.iconHeight;return{...e,type:We,y:i,w:this.style.iconWidth,h:this.style.iconHeight,signals:{itemChanged:"_updateIconPosition"},...t}}_createText(e,t){let i=typeof t.style=="string"?this.customStyleMappings[t.style]:t.style,s={...e,y:this.textY!==void 0?this.textY:this.style.textY,h:i?.lineHeight||i?.fontSize||this.textHeight,text:{...this.style.textStyle,...i,text:t.text||t}};if(i?.textDecoration==="line-through"){let n=ko({...this.style.textStyle,...i,text:t.text||t}),o={rect:!0,w:n,color:this.style.strikethroughColor||i?.textColor||this.style.textStyle.textColor,h:s.h*this.style.strikethroughRatio,y:s.h/2,mountY:1};return{type:le.Component,w:n+s.flexItem.marginRight,h:s.h,children:[{...s},{...o}]}}return s}_createBadge(e,t){return{...e,y:this.badgeY||0,...this.badgeProperties,type:Ar,title:t,signals:{loadedBadge:"_loadedBadge"}}}_updateIconPosition(e){e.y=this.style.textStyle.lineHeight-e.h}_loadedBadge(e){this.badgeY===void 0&&(e.y=this.style.textStyle.lineHeight-e.h)}_formatSpaces(e){let t=/(.+?\s+)/;return Oo((e||[]).reduce((i,s)=>{let n=s;if(zs(s)){if(typeof s=="object"){let o=s.text.split(t).map(a=>a&&{...s,text:a});return i.push(...o),i}n=s.split(t)}return i.push(n),i},[])).map((i,s,n)=>i===" "?!1:n[s+1]===" "?i+" ":i).filter(Boolean)}_setContent(e){if(e!==this._content){this._content=e;let t=this._content;e&&!Array.isArray(e)&&(t=Lp(e)),this._parsedContent=this._formatSpaces(t)}return e}_setBadgeProperties(e){if(typeof e=="object")return e}_getBadgeProperties(){return this._badgeProperties||{}}_setContentProperties(e){if(typeof e=="object")return e}_getContentProperties(){return this._contentProperties||{}}_setCustomStyleMappings(e){if(typeof e=="object")return e}_getCustomStyleMappings(){return this._customStyleMappings||{}}_setMaxLines(e){return e>=1?Math.floor(e):0}get textHeight(){return this.style.textStyle.lineHeight||this.style.textStyle.fontSize}get _marginBottom(){return this.contentProperties.marginBottom!==void 0?this.contentProperties.marginBottom:this.style.marginBottom?this.style.marginBottom:0}get _shouldTruncate(){return this.contentWrap&&this.maxLines}set announce(e){super.announce=e}get announce(){if(this._announce)return this._announce;let e=this._parsedContent&&this._parsedContent.reduce((t,i)=>(typeof i=="string"?t+=i:i.announce?t+=i.announce:i.text?(t+=i.text,i.style?.textDecoration==="line-through"&&(t+="strikethrough")):i.title?t+=i.title:i.badge&&(t+=i.badge),t+" "),"");return e?e.replace(/\s+(?=\s)|\s$/g,""):""}};h();d();p();h();d();p();var $u={};rr($u,{base:()=>E2});h();d();p();var E2=r=>({fadeWidth:100,offset:r.spacer.xxl,shouldSmooth:!1,textStyle:r.typography.body1});h();d();p();var Yt=class extends le.shaders.WebGLDefaultShader{constructor(e){super(e),this._margin={left:0,right:0}}set positionLeft(e){this._positionLeft=e}set positionRight(e){this._positionRight=e}setupUniforms(e){super.setupUniforms(e);let t=e.shaderOwner;this._positionLeft===0&&(this._positionLeft=.001),this._positionRight===0&&(this._positionRight=.001);let i=this.ctx.stage.getRenderPrecision();this._setUniform("margin",[this._positionLeft*i,this._positionRight*i],this.gl.uniform1fv),this._setUniform("resolution",new Float32Array([t._w*i,t._h*i]),this.gl.uniform2fv)}};Yt.fragmentShaderSource=` +`;var le={Application:du,Component:ht,Base:dt,Utils:K,StageUtils:fe,Element:yt,Tools:pu,Stage:xs,ElementCore:ds,ElementTexturizer:eo,Texture:Rt,EventEmitter:ct,shaders:{Grayscale:bs,BoxBlur:It,Dithering:vs,CircularPush:Ss,Inversion:Io,LinearBlur:xi,Outline:ws,Pixelate:Ts,RadialFilter:Cs,RoundedRectangle:As,Spinner2:Ls,FadeOut:Ro,Hole:Rs,Vignette:Es,Spinner:Is,RadialGradient:Po,Light3d:Ps,Perspective:ks,Magnifier:Os,WebGLShader:_i,WebGLDefaultShader:Ae,C2dShader:ms,C2dDefaultShader:yi,c2d:{Grayscale:Eo,Blur:To}},textures:{RectangleTexture:xo,NoiseTexture:wo,TextTexture:nr,ImageTexture:ps,HtmlTexture:gu,StaticTexture:mu,StaticCanvasTexture:bo,SourceTexture:no},components:{FastBlurComponent:xu,BloomComponent:Su,SmoothScaleComponent:wu,BorderComponent:Tu,ListComponent:_u},tools:{ObjMerger:fu,ObjectListProxy:vo,ObjectListWrapper:So}};K.isWeb&&(window.lng=le);h();d();p();var Cu=class{constructor(){this._logCallback=void 0,this._prefix="LightningUI",this._debug=!1}get debug(){return this._debug}set debug(e){this._debug=!!e}get logCallback(){return this._logCallback}set logCallback(e){if(typeof e!="function"){this.warn(`logCallback value must be a function, instead received ${typeof e}`);return}this._logCallback=e}log(...e){this._logCallback&&this._logCallback({level:"log",payload:e}),this.debug&&console.log(this._prefix,...e)}info(...e){this._logCallback&&this._logCallback({level:"info",payload:e}),this.debug&&console.info(this._prefix,...e)}warn(...e){this._logCallback&&this._logCallback({level:"warn",payload:e}),this.debug&&console.warn(this._prefix,...e)}error(...e){this._logCallback&&this._logCallback({level:"error",payload:e}),this.debug&&console.error(this._prefix,...e)}},be=new Cu;function Au(r,e={}){if(!r)return!1;let{w:t,h:i,core:{renderContext:{px:s,py:n},_scissor:o=[]}={}}=r,a=r.stage.h/r.stage.getRenderPrecision(),l=r.stage.w/r.stage.getRenderPrecision(),u=s,c=n,g=s-r.x,m=n-r.y,y=e.offsetX-g||0,b=e.offsetY-m||0;r.transition("x")&&(u=s-r.x+r.transition("x").targetValue),r.transition("y")&&(c=n-r.y+r.transition("y").targetValue),u+=y,c+=b;let C=u>=0&&u+t<=l,A=c>=0&&c+i<=a;if(!C||!A)return!1;if(o&&o.length){let[T=null,R=null,P=null,E=null]=o,k=Math.round(u+t)>=Math.round(T),O=Math.round(u)<=Math.round(T+P),B=Math.round(c+i)>=Math.round(R),F=Math.round(c+i)<=Math.round(R+E);return k&&O&&B&&F}return!0}function bi(r,e=1){let t=r.layout.screenW,i=r.layout.columnCount,s=r.layout.marginX,n=r.layout.gutterX;if(e<1||e>i){console.error(`Column expects a number between 1 & ${i}. Received ${e}`);return}let o=t-s*2,a=(e-1)*n;return(o-a)/e}function Ds(r,e){let t=r.layout.columnCount,i=r.layout.gutterX;return bi(r,t)*e+i*(e-1)}function Eu(r,e={},t={}){let{w:i,h:s,ratioX:n,ratioY:o,upCount:a}=e,l=t.w||0,u=t.h||0,c={};return i&&s?c={w:i,h:s}:s&&n&&o?c={w:Math.round(s*n/o),h:s}:n&&o&&a?c=L1(r,n,o,a):s&&a?c={w:Math.round(bi(r,a)),h:s}:s?c={w:l,h:s}:i?c={w:i,h:u}:c={w:l,h:u},c={...c,ratioX:n,ratioY:o,upCount:a},c}function L1(r,e,t,i){let s,n;return e&&t&&i?(s=Math.round(bi(r,i)),n=Math.round(s/e*t)):(s=0,n=0),{w:s,h:n}}function D1(r,e="16:9",t=":"){let[i,s]=e.split(t);return r*(i/s)}function F1(r,e="16:9",t=":"){let[i,s]=e.split(t);return r/(i/s)}function Cr(r,e=1){if(!r)return 0;typeof r=="number"&&(r=r.toString(16).slice(2)),r=r.replace("#","");let i=`0x${Math.round(e*255).toString(16)}${r}`;return Number(i)}function vi(r){if(typeof r=="string"||typeof r=="number"){if(/^0x[0-9a-fA-F]{8}/g.test(r))return Number(r);if(/^#[0-9a-fA-F]{6}/g.test(r))return Cr(r.substr(1,6));if(typeof r=="string"&&/^[0-9]{8,10}/g.test(r))return parseInt(r);if(typeof r=="number"&&/^[0-9]{8,10}/g.test(r.toString()))return r;if(typeof r=="string"&&r.indexOf("rgba")>-1)return Rp(r);if(typeof r=="string"&&r.indexOf("rgb")>-1){let e=[...r.replace(/rgb\(|\)/g,"").split(","),"255"];return le.StageUtils.getArgbNumber(e)}}return null}function B1([r,e]){for(let t=r;t>0;t--)if(!(r%t)&&!(e%t))return[r/t,e/t]}function Ip(r){return B1(r.split("/").map(e=>+e)).join("/")}var Fs=(r,e)=>(typeof e=="string"&&(e=e.split(".").filter(t=>t.length)),e.reduce((t,i)=>t&&t[i],r));function Rp(r){let e=r.replace(/rgba\(|\)/g,"").split(",");return e[3]=e[3]*255,le.StageUtils.getArgbNumber(e)}function Bs(r){return r.charAt(0).toUpperCase()+r.slice(1)}var M1={getWidth(r,e={}){let{padding:t,paddingLeft:i,paddingRight:s,strokeWidth:n}={padding:0,paddingLeft:0,paddingRight:0,strokeWidth:0,...e};return r?r-(i||t)-(s||t)-n:0},getHeight(r,e={}){let{padding:t,paddingBottom:i,paddingTop:s,strokeWidth:n}={padding:0,paddingBottom:0,paddingTop:0,strokeWidth:0,...e};return r?r-(i||t)-(s||t)-n:0}};function tt(r,e){let t=Object.create(Object.getPrototypeOf(r));if(Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)),!e||r===e)return t;for(let i in e){let s=e[i];r.hasOwnProperty(i)?t[i]=Pp(i,r,e):t[i]=s}return t}function Pp(r,e,t){let i=e[r],s=t[r],n=typeof i,o=typeof s;return n!==o||o==="function"||Array.isArray(s)?s:s&&o==="object"?tt(i,s):s}function ko(r={}){let t=document.createElement("canvas").getContext("2d"),{fontStyle:i,fontWeight:s,fontSize:n,fontFamily:o=r.fontFace||"sans-serif"}=r,a=[i,s,n?`${n}px`:"0",`'${o}'`].filter(Boolean).join(" ");t.font=a;let l=t.measureText(r.text||"");return Math.round(l.width)}function N1(...r){return r.find(Number.isFinite)}function z1(r,e){if(!e)return 0;let t=e.transition(r);if(t.isRunning())return t.targetValue;let i=r;return r==="w"?i="renderWidth":r==="h"&&(i="renderHeight"),e[i]||e[r]}function Oo(r){return r.reduce((e,t)=>e.concat(Array.isArray(t)?Oo(t):t),[])}function j1(r,e){return e.reduce((t,i)=>t&&t[i]!=="undefined"?t[i]:void 0,r)}function Lo(r,e){return JSON.stringify(r)===JSON.stringify(e)}function U1(r,e=16){setTimeout(r,e)}function H1(r,e,t){["plain","json"].includes(t)||(t="plain");let s=`data:text/${t};charset=utf-8,`+encodeURIComponent(JSON.stringify(r)),n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",e),n.click()}var kp=r=>r*(Math.PI/180),Op=/({ICON.*?}|{BADGE:.*?}|{NEWLINE}|{TEXT:.*?})/g;function W1(r=""){return typeof r!="string"?!1:Op.test(r)}function Lp(r=""){let e=[];if(r&&typeof r=="string"||r.text){let t=typeof r=="string"?r:r.text,i=/^{ICON:(.*?)?\|(.*?)?}$/g,s=/^{BADGE:(.*?)}$/g,n=/^{NEWLINE}$/g,o=/^{TEXT:(.*?)?\|(.*?)?}$/g,a=t.split(Op);a&&a.length&&a.forEach(l=>{let u=l,c=s.exec(l),g=i.exec(l),m=n.exec(l),y=o.exec(l);c&&c[1]?u={badge:c[1]}:g&&g[1]?u={title:g[1],icon:g[2]||g[1]}:m?u={newline:!0}:y&&y[1]&&(u={text:y[1],style:y[2]}),e.push(u)})}return e}function q1(r,e){!r.zIndex&&typeof e<"u"&&e!==0&&(r.forceZIndexContext=!0,r.zIndex=0)}function Dp({element:r,watchProps:e=[],sideEffect:t=()=>{}}){r?.isElement||be.error(`watchForUpdates: Expected a Lightning Element passed to element parameter, received ${typeof r}`);let i=r.__core?._onAfterUpdate;return r.onAfterUpdate=(function(s){let n=!1;e.forEach(o=>{if(s.transition(o)&&s.transition(o).isRunning())return;let a=`__watchPrev${o}`,l=s[o];l!==s[a]&&(s[a]=l,n=!0)}),n&&t(),i&&i(s)}).bind(this),r}function $1(r){switch(r){case"left":return"flex-start";case"center":return"center";case"right":return"flex-end";default:return console.warn(`Expected "textAlign" values are "left," "center," and "right," but instead, ${r} was received and will fall back to "left."`),"flex-start"}}function wt(r,e,t,i=0){let s=n=>Math.max(0,Math.min(n,Math.min(e,t)/2)+i);return Array.isArray(r)?r.map(n=>Number(s(n))||0):Number(s(r))||0}var V1={isMarkupString:W1,capitalizeFirstLetter:Bs,degreesToRadians:kp,downloadFile:H1,delayForAnimation:U1,stringifyCompare:Lo,objectPropertyOf:j1,flatten:Oo,getDimension:z1,getFirstNumber:N1,measureTextWidth:ko,clone:tt,getMergeValue:Pp,RoundRect:M1,rgba2argb:Rp,getValFromObjPath:Fs,reduceFraction:Ip,getValidColor:vi,getHexColor:Cr,getAspectRatioH:F1,getAspectRatioW:D1,getWidthByUpCount:bi,getDimensions:Eu,getWidthByColumnSpan:Ds,createConditionalZContext:q1,watchForUpdates:Dp,convertTextAlignToFlexJustify:$1,getMaxRoundRadius:wt},ke=V1;h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Iu=class{constructor(){this._keyMetricsCallback=void 0}get keyMetricsCallback(){return this._keyMetricsCallback}set keyMetricsCallback(e){if(-1<["undefined","function"].indexOf(typeof e)){this._keyMetricsCallback=e;return}be.warn(`context keyMetricsCallback expected a function. Received ${typeof e}`)}},Ru=new Iu;h();d();p();var G1=new le.EventEmitter,$r=G1;h();d();p();h();d();p();var Do={name:"Base Lightning TV",alpha:{primary:1,secondary:.7,tertiary:.1,inactive:.5,full:1,none:0,alpha1:.1,alpha2:.3,alpha3:.5,alpha4:.7,alpha5:.9},animation:{duration:{none:0,xfast:.1,fast:.25,normal:.5,slow:.75,xslow:.9},delay:{none:0,xfast:.01,fast:.025,normal:.05,slow:.075,xslow:.09},expressive:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},expressiveEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},expressiveExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standard:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standardEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},standardExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utility:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utilityEntrance:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25},utilityExit:{timingFunction:"cubic-bezier(0, 0, 1, 1)",delay:0,duration:.25}},asset:{arrowLeft:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAi0lEQVRIDWNgGAWjIfD//38JID5Fk5AAGqwKxPeA+D/VLQCaaQLEr0CGgwBVLQCa5wbEn0EGwwDVLAAaGA3Ev2AGw2iqWAA0rBiI/8EMRaYptgBoWDeygehsci1gIlcjWfqArqZdEMFcBLSEdpGMZAntkimSJbTLaEiW0K6oQLKEdoUdzJJRemiHAAD4n+yzPWCs7QAAAABJRU5ErkJggg==",arrowRight:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAAg0lEQVRIDWNgGAWjIYArBP7//38KiCVwyVMsDjQcBO4BsSrFhmEzAGw8hHgFpEywqaFIDMkCEPMzELtRZCC6ZjQLQNxfQByNro5sPhYLQEL/gLiYbEORNeKwACbcDVPLBGMMOhrmVDSapkFE00imaTKlaUajaVFB28Ju0CXrUQfhDAEAEgHss6NhpLQAAAAASUVORK5CYII=",backspaceOutline:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC",check:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgBvdPdDcIgEAfwoy8Nb45QN3AGF2s36Ahu4gpuIDoBfSgfpdoTlCbEWEMh6T8hFzjyg5AAkBHOcQe5UWqspRx435sDpMYj6IYQwwVSEiJ2MKVUBWuzLSLl2HL+uxmNCGFO8yaL7RHxve6qRZoAuS4hxac8735elWVx7jrtMKL1o0Gcat9jhExHSukN/kUIFZ7MpDRtzE1isDRkAUtDvrA8ZI597FUf8gWH9P0b4gko9wAAAABJRU5ErkJggg=="},color:{white:["#ffffff",1],black:["#000000",1],grey:["#929096",1],red:["#e74c3c",1],orange:["#dc7633",1],yellow:["#f7dc6f",1],green:["#2Ecc71",1],blue:["#93a9fd",1],purple:["#663399",1],palette:{"grey-05":["#f8f7fa",1],"grey-40":["#929096",1],"grey-70":["#48474b",1],"grey-90":["#181819",1],"blue-20":["#becffe",1],"blue-40":["#93a9fd",1],"blue-90":["#000033",1]},material:["#181819",1],materialBrand:["#000033",1],overlay:["#181819",.7],textNeutral:["#f8f7fa",1],textNeutralSecondary:["#f8f7fa",.7],textNeutralTertiary:["#f8f7fa",.1],textNeutralDisabled:["#f8f7fa",.5],textInverse:["#181819",1],textInverseSecondary:["#181819",.7],textInverseTertiary:["#181819",.1],textInverseDisabled:["#181819",.5],textBrand:["#93a9fd",1],textBrandSecondary:["#93a9fd",.7],textBrandTertiary:["#93a9fd",.1],textBrandDisabled:["#93a9fd",.5],textPositive:["#2Ecc71",1],textNegative:["#e74c3c",1],textInfo:["#93a9fd",1],textCaution:["#dc7633",1],fillTransparent:["#ffffff",0],fillNeutral:["#f8f7fa",1],fillNeutralSecondary:["#f8f7fa",.7],fillNeutralTertiary:["#f8f7fa",.1],fillNeutralDisabled:["#f8f7fa",.5],fillInverse:["#181819",1],fillInverseSecondary:["#181819",.7],fillInverseTertiary:["#181819",.1],fillInverseDisabled:["#181819",.5],fillBrand:["#93a9fd",1],fillBrandSecondary:["#93a9fd",.7],fillBrandTertiary:["#93a9fd",.1],fillBrandDisabled:["#93a9fd",.5],fillPositive:["#2Ecc71",1],fillNegative:["#e74c3c",1],fillInfo:["#93a9fd",1],fillCaution:["#dc7633",1],strokeNeutral:["#f8f7fa",1],strokeNeutralSecondary:["#f8f7fa",.7],strokeNeutralTertiary:["#f8f7fa",.1],strokeNeutralDisabled:["#f8f7fa",.5],strokeInverse:["#181819",1],strokeInverseSecondary:["#181819",.7],strokeInverseTertiary:["#181819",.1],strokeInverseDisabled:["#181819",.5],strokeBrand:["#93a9fd",1],strokeBrandSecondary:["#93a9fd",.7],strokeBrandTertiary:["#93a9fd",.1],strokeBrandDisabled:["#93a9fd",.5],strokePositive:["#2Ecc71",1],strokeNegative:["#e74c3c",1],strokeInfo:["#93a9fd",1],strokeCaution:["#dc7633",1],interactiveNeutral:["#ffffff",.1],interactiveNeutralFocus:["#ffffff",1],interactiveNeutralFocusSoft:["#ffffff",.1],interactiveInverse:["#48474b",void 0],interactiveInverseFocus:["#48474b",1],interactiveInverseFocusSoft:["#48474b",.1],interactiveBrand:["#becffe",.1],interactiveBrandFocus:["#becffe",1],interactiveBrandFocusSoft:["#becffe",.1],shadowNeutral:["#000000",.7],shadowNeutralFocus:["#000000",.7],shadowNeutralFocusSoft:["#000000",.7],shadowNeutralText:["#000000",1],shadowInverse:["#000000",.7],shadowInverseFocus:["#000000",.7],shadowInverseFocusSoft:["#000000",.7],shadowInverseText:["#000000",1],shadowBrand:["#000000",.7],shadowBrandFocus:["#000000",.7],shadowBrandFocusSoft:["#000000",.7],shadowBrandText:["#000000",1]},componentConfig:{Keyboard:{style:{keyProps:{delete:{title:null,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAACmpJREFUeF7tnVmoZUcVhv/feY4gBEVEH/KgCCZxCK2itNo4xQQH+kUN0TjEiDGKKBqnaExwBjUaR6KY+NQgiQkOMSYhYEScIopGJOqDE2hHjfP0y4p1Oqdv33v2qr32Prv2Paug6Ye7Vu2qv75TtWvtGohMqUBAAQZ80zUVQAKUEIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypXMClAyEFEiAQvKlcwKUDIQUSIBC8qVzApQMhBRIgELypfPsAJJ0NYC92XRHKPB3AAfLv18BuBLAFSR/NKZWswJI0vkA3jCmILsw75sAvIfkR8eo22wAknQSgMvGEGFD8vwxgFeQvGrI+s4CIEnHAPgugHsMWfkNzevDAM4i+Z8h6t88QJLuXOB5yBAVzjxuVeBaAM8ieXNUjzkAdAmA50Yrmv5HKPATACeQ/GNEm6YBkvRyANblZhpHAXsfekpkOGsWIEmPAHA9gDuOo13mWhS4gOSZfdVoEiBJ9wFwA4D7961Y+lUpsK/v7KxVgL4K4ElOCS4l+Uyn7a41k3Q0gMcC2ANgH4CHV1T2OyStx69OzQEk6TwAZztr8lMAx5P8s9N+Y8wk2cTjfQDu66z080h+zml7yKwpgCSdCOByZyX+BuBRJH/otN84M0kWN/s0gOc4Kv8Nko922B1m0gxAkh4I4AcVwcL9JA/UVnjT7CXdHYD9yEzfVUkAjib5uxqNmgCoBAu/CeBhzsJ/kORZTtuNN5Nk70bXAZ0Hy59G8qIawVoB6LMAnu8suE3tH0/y3077NAMg6esAuoaoC0la7M2dJgdI0ssAXOgs8W8BHEvS/s9UoYCkdwN4bYfL5STto7U7TQpQZbDQehzreawHylSpgKSTAVza4XYDyeNqsp4MoB7BwteQfH9N5dL2NgWK3l0vyAdJWhDXnSYBSNLtANh3GO/KwgMk97trlYbbKiDJPpzea5U8JKuYqDIeql0kvQPAG5352ZLMR5L8q9M+zXZQYFcAJOnJAL7sbGWLMFuk2SLOmYIKzB6gEiz8HoB7O7U4meQXnLZp1qGApD8BuOcsh7AewcL3kuyadg4OjSSbhRxH0j4BjJok2Ufga0j+YdQHlcznDlBNsPAa+xpP8r/rEHbxjAKPbRuyHvKFY0Ik6QUALOprPfIT1gHRbAGSdDoA77aSX5Zg4e8nhGfx6FEgWoJn8Zy1QCTplq5vjc3NwnoEC/eQ/HYD8IwC0TbwrA2i2QHUI1h4JskLGoJnUIhWwLMWiGYFkCSLMX2t5WDhlneeLm5Dw5kDntEhkmRhEVvesWNqZgiTdC6AN3W1Svn72oOFkuxF+WcVIQUrai+IKuA5BBHJ453auc1mA1AJFn7Jsf7EKj9ZsLBHw1ZDtI5neAmaBUBzCxaO2cBj5u2FZtlO0l8A3K3ZIaxHsPB8kt5vYn00c/mM0dBj5OmqzAqjOQDUfLBwJ32HbPAh84pCM5seSNJLAHzcWeFJgoVdZRui4YfIo6ucff8uyVY03LW5IawyWPgvW5u77mChV/QIABFfb/kidk0CVKbDth3Huw35dJLeniqiV2/fniDYx1f7vlWTeoUFah6wZQhrqwcqwUKbrtsaH0+6mOQpHsOpbXpCVFPstcJjBZNkmzHv0swQJultAN7iVO375TyafzjtJzcbEaK1w9McQJXBQlvvYmtsfjE5FZUFGAGiSeBpCqDKYKFtmX0qya9Utl0z5gNCNBk8BSA7CtiODNwxjf4trEew8BySNtTNOg0A0aTwtARQTbDQeh3rfawXmn0KQDQ5PC0B9EkAL3LSkAD9X6hWALIJzJ3mNoSdS9I7U3NyuX6zQO+zKOzkEEmaHqDSFdpZM97tOfkSfRvvk0LUDEAFIgseetf85DS+AYgk/bPr1NvRZ2HLg4ektwI4xzmgZCBxYohaBMjWPeenDOcvaIvZ2oez5gAqQ5mtLbb3oa4z+Bb6nTHW1UP92vFIr54vzJ8BcGplGdYKkSRbCXGHSWdh2z1ckp1taGccroxyFt9cznG4iGuDqFmASk9kZxxakNGTckHZBBA1DVCB6BMAXuwhyA4VmGL/+05l6zlsbdt7DJmXU0uXmSQ7JvD2zQ1hiwJJsotRvlVxXO87SU5+heUYDT5Gni5KVhg1D1DphWqCjOYy6RlAYzb0mHn3gWkWABWIaoKMubHwSBpGebGWZNdc2vmUO6a1BhJXFUSSff/yLuOYamvzzwEcVfFr7tWwPXqi6uN2PXWYG0C1Qca1n8RaDlewl3kPRL3gWXo/XBwo1dXWdk/a3jEOnJoVQGUoqw0yvpLkh7oUHvLvTohC8FRANBo8pT3sxLeVJ/M2M4QtiVYTZJzkNPoOiAaBxwHRqPDMFqBS8Jog4yT3YewA0aDwrIBodHhmDVApvG0mtO3PnjTJjTxbIBoFnm0gWgs8pQ06lxY3N4QtCWZBRgPDezdnHvPr+alV2EiaL0DlF2Dbn20bdB40XtHwQ5nOHqAC0SyCjEM1Wkv57AqACkRvBvB2p7hrDzI6yzU7s90EUPNBxtnR4SjwrgGo9EK1Qca8cM4ByU4mkuz++F93ZHELyZX3iW31n+S+sKWZWfNBxkCbNeUq6ekArugo1I0kH1xT8EkBKj1R80HGGkFbtZVkZ3bb2d2r0tUkn1hTh8kBKhB9DMBLnQWfJMjoLFuTZpJsO/ONAB7UUcBLSHqvX781q1YAqg0yfoDkq5psrQYLJeldAF7nKFr1x+wmACq9kAUZLazvvTV4P8kDDlE22kTSQ4uuK9dCF5HuR/I3NYI1A1CBaB+AK50VsAMj7TJeixNl2kYBSccCsB/ZMQ6Brif5GIfdYSZNAVQg8rzsLSphl/Hapby2LDZTUaBcq/56ALb1fOVxLkuinULy4loRmwOoQGQX7T7DWZnPk3y203bXmkl6AIA91isDOBGADV3e1HsJbasA1QYZvUKl3fYKPI2knXFQnZoEqPRCNUHG6oqnwyEFLiJ5Wl89mgWoQFQTZOyrwSb7WUztcSRtu0+v1DRABaKPADijV+3SaZUCNgE5geTNEZnmAFBtkDGix6b4Xld2BNvJcaHUPEClF6oNMoZE2eXOtm3q1ZFha1mfWQBUINoL4Kqurbm7vPEj1bOAqx3udW0kk62+swGoQHQ2gPOGFGAD8roJgF0t+qkx6jorgApElwE4aQwxZp6n3YNxsPyzA7yst/4iSdvEMFqaHUCjKZEZ91IgAeolWzotFEiAkoWQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnROgJKBkAIJUEi+dE6AkoGQAglQSL50ToCSgZACCVBIvnT+H0jPT81J3xWWAAAAAElFTkSuQmCC"}}}}},font:[],layout:{columnCount:10,focusScale:1.2,gutterX:20,gutterY:20,marginX:150,marginY:150,safe:50,screenW:1920,screenH:1080},radius:{none:0,xs:2,sm:4,md:8,lg:16,xl:24},spacer:{none:0,xxs:2,xs:4,sm:8,md:10,lg:20,xl:30,xxl:40,xxxl:50},stroke:{none:0,sm:2,md:4,lg:6,xl:8},typography:{display1:{fontFamily:"Arial",fontSize:75,lineHeight:85,fontStyle:"500",verticalAlign:"middle",textBaseline:"bottom"},display2:{fontFamily:"Arial",fontSize:50,lineHeight:60,fontStyle:"500",verticalAlign:"middle",textBaseline:"bottom"},headline1:{fontFamily:"Arial",fontSize:35,fontStyle:"500",lineHeight:48,verticalAlign:"middle",textBaseline:"bottom"},headline2:{fontFamily:"Arial",fontSize:30,fontStyle:"500",lineHeight:40,verticalAlign:"middle",textBaseline:"bottom"},headline3:{fontFamily:"Arial",fontSize:25,fontStyle:"500",lineHeight:36,verticalAlign:"middle",textBaseline:"bottom"},body1:{fontFamily:"Arial",fontSize:25,fontStyle:"300",lineHeight:40,verticalAlign:"middle",textBaseline:"bottom"},body2:{fontFamily:"Arial",fontSize:22,fontStyle:"300",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},body3:{fontFamily:"Arial",fontSize:20,fontStyle:"300",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},button1:{fontFamily:"Arial",fontSize:25,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},button2:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},callout1:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:32,verticalAlign:"middle",textBaseline:"bottom"},caption1:{fontFamily:"Arial",fontSize:15,fontStyle:"500",lineHeight:24,verticalAlign:"middle",textBaseline:"bottom"},tag1:{fontFamily:"Arial",fontSize:20,fontStyle:"500",lineHeight:24,verticalAlign:"middle",textBaseline:"bottom"},footnote1:{fontFamily:"Arial",fontSize:22,fontStyle:"300",lineHeight:30,verticalAlign:"middle",textBaseline:"bottom"}}};h();d();p();var Fo=[];var Fp=r=>{let e=[];for(let t=0;t<r.length;t++){let{family:i,src:s,descriptors:n}=r[t],o=s&&Array.isArray(s)&&s.length?s.map(l=>l.substr(0,5)==="local"?l:`url(${l})`).join(","):"url("+s+")",a=new FontFace(i,o,n||{});be.info("Loading font",i),document.fonts.add(a),e.push(new Promise(l=>{a.load().then(()=>{Fo.push(a),l(i)}).catch(u=>{l(new Error(`${i}: ${u.message}`))})}))}return Promise.all(e).then(t=>{let i=t.filter(n=>!(n instanceof Error)).join(", ");i&&be.log(`Fonts loaded: ${i}`);let s=t.filter(n=>n instanceof Error).map(n=>n.message).join(", ");s&&be.error(`Unable to load fonts: ${s}`)})},Bp=async r=>{if(document.fonts&&"delete"in document.fonts){if(!Fo.length)return;Fo=Fo.filter(e=>r.find(t=>t.family===e.family)?e:(be.info("Removing font",e.family),document.fonts.delete(e),!1))}else be.info("Unable to remove manually-added fonts")};h();d();p();var Pu={fontFamily:"fontFace"};var ku={all:r=>{let e={};for(let t=0;t<r.length;t++)e=tt(e,r[t]);return e}},Mp=[],Ou=r=>r.slice(0,8)==="subTheme";function Y1(r){let e=r.match(/^data:(.*?);base64,/);return e&&e.length===2?e[1]:null}function X1(r){let e=/^data:image\/(jpeg|jpg|png|gif);base64,/,t=e.test(r),i=t?Y1(r.match(e)[0]):null;return{isImage:t,mimeType:i}}function K1(r,e){let t=atob(r.substring(r.indexOf(",")+1)),i=[];try{for(let o=0;o<t.length;o+=512){let a=t.slice(o,o+512),l=new Array(a.length);for(let c=0;c<a.length;c++)l[c]=a.charCodeAt(c);let u=new Uint8Array(l);i.push(u)}let s=new Blob(i,{type:e});return URL.createObjectURL(s)}catch{return be.info("Unable to convert base64 image to URL"),null}}var Lu=class{constructor(){this._cache=new Map,!(typeof window>"u")&&(window.LUI||(window.LUI={}),window.LUI.themeManagerInstances?window.LUI.themeManagerInstances.push({themeManager:this,events:$r}):window.LUI.themeManagerInstances=[{themeManager:this,events:$r}])}_setCache(e,t){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({themeManager:i})=>{i&&i._cache.set(e,t)})}_deleteCache(e){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({themeManager:t})=>{t&&t._cache.delete(e)})}_emit(e,t){typeof window>"u"||window.LUI.themeManagerInstances.forEach(({events:i})=>{i.emit(e,t)})}getTheme(){if(this._cache.has("theme"))return this._cache.get("theme");let e=this._processTheme.call(this);return this._setCache("theme",e),e}async setTheme(e){let t;if(Array.isArray(e)?t=ku.all(e):t=e,typeof t!="object"||t===null){be.warn(`context theme expected an object. Received ${typeof t}`);return}this._clearCache();let i=this._processTheme.call(this,[t],t.extensions);return this._setCache("theme",i),await Bp(i.font),i.font&&i.font.length&&await this._loadFonts(i.font),this._refreshSubThemes(),this._emit("themeExtensionsUpdate"),this._emit("themeUpdate"),i}getSubTheme(e){if(this._cache.has(`subTheme${e}`))return this._cache.get(`subTheme${e}`).result}async setSubTheme(e,t,i=!0){if(!e){be.warn("Sub theme name not specified");return}if(typeof e!="string"){be.warn(`Sub theme name must be a string. Received an ${typeof e}`);return}if(typeof t!="object"||!Object.keys(t).length){be.warn(`Could not set subTheme ${e}, value should be an object with properties. Received an ${typeof t}`);return}let s=this.getTheme(),n=this._processTheme.call(this,[s,t]);return n.font&&n.font.length&&await this._loadFonts(n.font),this._setCache(`subTheme${e}`,{original:t,result:n}),i&&this._emit(`themeUpdate${e}`),n}_refreshSubThemes(){[...this._cache.keys()].forEach(e=>{if(typeof e=="string"&&Ou(e)){let t=this._cache.get(e);t.original&&this.updateSubTheme(e.replace(/^subTheme/,""),t.original)}})}async _loadFonts(e){try{await Fp(e)}catch(t){be.error(`Unable to load font: ${t}`)}}async updateTheme(e){let t;Array.isArray(e)?t=ku.all(e):t=e;let i={};this._cache.has("theme")&&(i=this._cache.get("theme")),this._clearCache();let s=this._processTheme.call(this,[i,t],t.extensions||i.extensions);return this._setCache("theme",s),s.font&&s.font.length&&await this._loadFonts(s.font),this._refreshSubThemes(),t.extensions&&this._emit("themeExtensionsUpdate"),this._emit("themeUpdate"),s}_clearCache(){Mp.filter(e=>(window.URL&&typeof window.URL.revokeObjectURL=="function"&&URL.revokeObjectURL(e),!1)),this._cache.forEach((e,t)=>{(typeof t!="string"||!Ou(t))&&this._deleteCache(t)}),this._cache.forEach((e,t)=>{typeof t=="string"&&Ou(t)&&this.setSubTheme(t.replace("subTheme",""),e.original,!1)})}async updateSubTheme(e,t,i=!0){if(!e){be.warn("Sub theme name not specified");return}if(typeof t!="object"||!Object.keys(t).length){be.warn(`Could not update subTheme ${e} due to invalid value`);return}let s=this.getTheme(),n={};this._cache.has(`subTheme${e}`)&&(n=this._cache.get(`subTheme${e}`).original);let o=this._processTheme.call(this,[s,n,t]);return o.font&&o.font.length&&await this._loadFonts(o.font),this._setCache(`subTheme${e}`,{original:tt(n,t),result:o}),i&&this._emit(`themeUpdate${e}`),o}removeSubTheme(e){this._cache.has(`subTheme${e}`)&&this._deleteCache(`subTheme${e}`),this._emit(`themeUpdate${e}`)}_getComponentUUID(e){return`componentStyle${e}`}_processTheme(e=[],t){if(!Array.isArray(e))throw new Error(`context processTheme expected an array. Received ${typeof e}`);let i=ku.all([Do,...e]),s={},n=JSON.stringify(i,(o,a)=>{let l=a;if(l&&typeof l=="object"){let m=a;for(var u in l)Object.hasOwnProperty.call(l,u)&&Pu[u]&&(m[u&&Pu[u]]=l[u],delete m[u]);l=m}let{isImage:c,mimeType:g}=X1(l);if(window.URL&&typeof window.URL.createObjectURL=="function"&&c)try{let m=K1(l,g);return Mp.push(m),m}catch{return l}if(Array.isArray(l)&&l.length===2&&!l[0].targetComponent&&l[0].length&&typeof l[0]=="string"&&l[0].substr(0,1)==="#"&&typeof l[1]=="number")return Cr(l[0],l[1]);if(o==="extensions"||typeof l=="function"||typeof l=="object"&&l!==null&&l.constructor.name!=="Object"&&!Array.isArray(l)){s[o]=l;return}else if(typeof l=="string"&&l.includes("theme.")){let m=Fs({theme:i},l);return m||l}else{let m=vi(l);return m||l}});return{...JSON.parse(n),...s,extensions:t}}},or=new Lu;var Du=class{get theme(){return or.getTheme()}set theme(e){be.warn("Context.theme must be set using context.setTheme or context.updateTheme")}get keyMetricsCallback(){return Ru.keyMetricsCallback}set keyMetricsCallback(e){be.warn("Context.keyMetricsCallback must be set using context.setKeyMetricsCallback")}get debug(){return be.debug}set debug(e){be.debug=e}on(){return $r.on(...arguments)}off(){return $r.off(...arguments)}emit(){return $r.emit(...arguments)}log(...e){be.log(...e)}info(...e){be.info(...e)}warn(...e){be.warn(...e)}error(...e){be.error(e)}setTheme(e){return or.setTheme(e)}updateTheme(e){return or.updateTheme(e)}getSubTheme(e){return or.getSubTheme(e)}setSubThemes(e){if(typeof e!="object"){be.warn("subThemes must be an object");return}for(let t in e)or.setSubTheme(t,e[t])}setSubTheme(e,t){return or.setSubTheme(e,t)}updateSubTheme(e,t){return or.updateSubTheme(e,t)}removeSubTheme(e){or.removeSubTheme(e)}setLogCallback(e){be.logCallback=e}setKeyMetricsCallback(e){Ru.keyMetricsCallback=e}config(e={}){let t=Object.keys(e);for(let i=0;i<t.length;i++){let s=this["set"+Bs(t[i])];s&&s(e[t[i]])}return this}},he=new Du;h();d();p();h();d();p();var Fu=class{constructor(){this._updateThemeSet=new Set,this._requestUpdateSet=new Set,this._timeout=null,this._runUpdatesTimeoutHandler=this._runUpdatesTimeoutHandler.bind(this)}_runUpdatesTimeoutHandler(){this._timeout=null,this._updateThemeSet.forEach(e=>{try{e._updateThemeComponent()}catch(t){he.error("Error updating component themes",t)}}),this._updateThemeSet.clear(),this._requestUpdateSet.forEach(e=>{try{e.requestUpdate()}catch(t){he.error("Error updating component",t)}}),this._requestUpdateSet.clear()}flush(){this._timeout&&(clearTimeout(this._timeout),this._runUpdatesTimeoutHandler())}addUpdateTheme(e){this._updateThemeSet.add(e),this._timeout||(this._timeout=setTimeout(this._runUpdatesTimeoutHandler,0))}deleteUpdateTheme(e){this._updateThemeSet.delete(e)}addRequestUpdate(e){this._requestUpdateSet.add(e),this._timeout||(this._timeout=setTimeout(this._runUpdatesTimeoutHandler,0))}deleteRequestUpdate(e){this._requestUpdateSet.delete(e)}hasQueuedRequestFor(e){return this._requestUpdateSet.has(e)}},ar=new Fu;function Np(r){return r.charAt(0).toUpperCase()+r.slice(1)}function zp(r,e){let t=e;return typeof r=="object"&&Object.keys(r).length&&typeof e=="object"&&(t=tt(r,e)),t??r}function J1(r,e){return{get(){let t=this[`_get${Np(r)}`];if(t&&typeof t=="function"){let i=t.call(this,this[e]);return this[e]=i||this.__componentConfigProps?.[r],zp(this.__componentConfigProps?.[r],i)}return zp(this.__componentConfigProps?.[r],this[e])},set(t){let i=this[e];if(t!==i){let s=this[`_set${Np(r)}`];s&&typeof s=="function"&&(t=s.call(this,t));let n=e==="style"?tt(this[e],t):t;if(typeof this[e]=="object"&&this[e]!==null&&this[e].style){let o=tt(this[e].style,t.style||{});n.style=o}this[e]=n,this.queueRequestUpdate()}},configurable:!0,enumerable:!0}}function Q1(r,e){let t=`The property "${r}" is deprecated and will be removed in a future release. Please use "${e}" instead.`;return{get(){return console.warn(t),this[e]},set(i){console.warn(t),this[e]=i}}}function Bo(r){return class extends r{static get name(){return r.name}_construct(){let e=Object.getPrototypeOf(this);e._withUpdatesInitialized||((this.constructor.properties||[]).forEach(s=>{let n="_"+s,o=J1(s,n);o!==void 0&&Object.defineProperty(e,s,o)}),(this.constructor.aliasProperties||[]).forEach(s=>{if(s&&typeof s.prev=="string"&&typeof s.curr=="string"){let n=Q1(s.prev,s.curr);n!==void 0&&Object.defineProperty(e,s.prev,n)}}),e._withUpdatesInitialized=!0),this._whenEnabled=new Promise(t=>{this._whenEnabledResolver=t}),super._construct&&super._construct()}queueRequestUpdate(){this._isAttached()&&ar.addRequestUpdate(this)}_firstEnable(){this._readyForUpdates=!0,this._whenEnabledResolver(),ar.deleteRequestUpdate(this),this.requestUpdate(),super._firstEnable&&super._firstEnable()}requestEarlyUpdate(){return this._readyForUpdates=!0,ar.hasQueuedRequestFor(this)?(ar.deleteRequestUpdate(this),this._readyForUpdates=!0,this.requestUpdate(),!0):!1}_detach(){super._detach(),ar.deleteRequestUpdate(this)}requestUpdate(e=!1){if(this._readyForUpdates||e){let t=this._update();typeof t=="object"&&t!==null&&t.catch&&t.catch(i=>{he.error(`asyncronous _update() error in '${this.constructor.__componentName}'`,this,i)})}}logPropTable(){console.table(this._propTable)}get _propTable(){return this.constructor.properties.reduce((e,t)=>(e[t]=this[t],e),{})}}}h();d();p();function Z1(r){return{get(){return this.tag(r)},configurable:!0,enumerable:!0}}function Mo(r){return class extends r{static get name(){return r.name}_construct(){let e=Object.getPrototypeOf(this);e._withTagsInitialized||((this.constructor.tags||[]).forEach(i=>{if(typeof i=="object")var{name:s,path:n}=i;else var s=i,n=i;let o="_"+s,a=Z1(n);Object.defineProperty(e,o,a)}),e._withTagsInitialized=!0),super._construct&&super._construct()}}}h();d();p();function No(r){return class extends r{static get name(){return r.name}_handleKey(e){return this._processEvent(e)}_handleKeyRelease(e){return this._processEvent(e,"Release")}_processEvent(e,t=""){let s=(this.stage.application.__keymap||{})[e.keyCode];return s||(s=e.key),s&&typeof this[`on${s}${t}`]=="function"?(this._invokeKeyPayloadCallback(s+t),this[`on${s}${t}`].call(this,this,e)):!1}_invokeKeyPayloadCallback(e){this.metricsPayload&&typeof he.keyMetricsCallback=="function"&&he.keyMetricsCallback(e,this.metricsPayload)}}}h();d();p();function zo(r){return class extends r{_construct(){super._construct&&super._construct(),this._previousDimensionData=null}get itemLayout(){return this._itemLayout}set itemLayout(e){let t=this.constructor._componentName||this.constructor.name,i;e&&(i=JSON.parse(JSON.stringify(e,(s,n)=>{if(s!=="circle"&&n<0){he.error(`itemLayout for ${t} received an invalid value of ${n} for ${s}`);return}else if(s==="circle")return!!n;return n}))),Lo(this._itemLayout,i)||(i&&!i.upCount?(this._originalW=this.w,this._originalH=this.h,this._itemLayout={w:this._originalW,h:this._originalH,...i}):this._itemLayout=i,this._updateItemLayout())}_allowUpdate(){let{w:e="",h:t="",circle:i="",ratioX:s="",ratioY:n="",upCount:o=""}=this._itemLayout||{},a=Object.values(he.theme.layout).join("")+`${e}${t}${i?1:0}${s}${n}${o}`;return a!==this._previousDimensionData?(this._previousDimensionData=a,!0):!1}_updateItemLayout(){if(!this._allowUpdate())return;let{w:e,h:t}=Eu(this.theme,this._itemLayout);if(t||e){let i=he.theme.layout.screenW,s=he.theme.layout.screenH,n=e||t*(i/s),o=t||e*(s/i);this.w=this._itemLayout&&this._itemLayout.circle?o:n,this.h=o,this._itemLayout&&this._itemLayout.circle&&this.style.radius?(this._circleSet=!0,this._originalRadius=this.style.radius,this.style={...this.style,radius:o/2}):this._circleSet&&(this.style={...this.style,radius:this._originalRadius},this._originalRadius=void 0,this._circleSet=!1),this.queueRequestUpdate&&this.queueRequestUpdate(),this.fireAncestors("$itemChanged")}}}}h();d();p();h();d();p();h();d();p();var e2=(r,e)=>r.charCodeAt(0)*(e+1),Wp=r=>{let e={};return Object.keys(r).sort().forEach(t=>{typeof r[t]=="object"&&r[t]!==null&&!Array.isArray(r[t])?e[t]=Wp(r[t]):e[t]=r[t]}),e},t2=r=>{let e=Wp(r),t=JSON.stringify(e).replace(/[{}:",\s]/g,""),i=0;for(let s=0;s<t.length;s++)i+=e2(t[s],s);return i},qp=r=>JSON.stringify(r).length+"-"+t2(r);function jo(r,e){if(typeof r=="function"){let t=r(e);return jo(t,e)}else{if(Array.isArray(r))return r.map(t=>jo(t,e));if(typeof r=="object"&&r!==null){let t={};for(let i in r)r.hasOwnProperty(i)&&(t[i]=jo(r[i],e));return t}else return r}}function Bu(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&!(r instanceof Function)&&!(r instanceof Error)}var $p=r=>{for(;r&&(!r.subTheme||typeof r.subTheme!="string");)r=r.p;return r?r.subTheme:void 0},Mu=r=>Bu(r)?r?.theme?.componentConfig?.[r.constructor.__componentName]||{}:{};function Vp(r){for(let e in r)r.hasOwnProperty(e)&&Bu(r[e])&&(Vp(r[e]),Object.keys(r[e]).length===0&&delete r[e]);return r}function r2(r){let e={...r},t=new WeakSet;return JSON.stringify(e,(i,s)=>{if(typeof s=="object"&&s!==null){if(t.has(s))return"[Circular]";t.add(s)}return s})}function i2(r={}){let e=new Map;function t(i){let s=[i];for(;s.length>0;){let n=s.shift();for(let o in n)if(n.hasOwnProperty(o)){let a=n[o];if(typeof a=="object"&&a!==null){let l=r2(a);e.has(l)?n[o]=e.get(l):(e.set(l,a),s.push(a))}}}}return t(r),r}function jp(r=[]){if(!Array.isArray(r))throw new TypeError("Expected defaultProps to be an array of strings.");return[...new Set(r)]}function s2(r,e,t,i,s,n){let o=tt(e,r);return o=tt(o,s?.[t]),o=tt(o,n?.[i]),o=tt(o,s?.[t]?.mode?.[i]||{}),o=tt(o,n?.[i]?.tone?.[t]||{}),o}function Up(r,e){let t=[];function i(n){if(typeof n=="object"&&n!==null)for(let o in n)n.hasOwnProperty(o)&&t.push(o)}function s(n){if(typeof n=="object"&&n!==null){for(let o in n)if(n.hasOwnProperty(o)){if(o===e){i(n[o]);break}s(n[o])}}}return s(r),t}var n2=({base:r={},tone:e={},mode:t={},defaultStyle:i={}},s=[],n=[])=>{let o={},a=jp(["focused","disabled",...s,"unfocused"]),l=jp(["neutral","inverse","brand",...n]);for(let u of a)for(let c of l){let g=s2(r,i,c,u,e,t);o[`${u}_${c}`]=g}return o},Hp=["unfocused_neutral","unfocused_inverse","unfocused_brand","focused_neutral","focused_inverse","focused_brand","disabled_neutral","disabled_inverse","disabled_brand"];function o2(r){let e={};for(let t of[...Hp,...Object.keys(r)])if(r.hasOwnProperty(t))typeof r[t]!="object"?e[t]={}:e[t]=r[t];else{let i=Hp.find(s=>r.hasOwnProperty(s));if(i){let s=r[i];e[t]=typeof s!="object"?{}:s}else e[t]={}}return e}var Gp=({theme:r={},styleChain:e=[],inlineStyle:t={},alias:i=[]}={})=>{if(typeof r!="object")throw new Error("Expected theme to be an object");if(!Array.isArray(e))throw new Error("Expected styleChain to be an array");if(typeof t!="object")throw new Error("Expected inlineStyle to be an object");if(!Array.isArray(i))throw new Error("Expected alias to be an array");let s=e.map(({style:b})=>{if(typeof b=="object"&&!b.base&&!b.mode&&!b.tone&&!b.default)return{base:b};{let{base:C={},mode:A={},tone:T={}}=b,R;if(b){let P=JSON.parse(JSON.stringify(b));delete P.base,delete P.tone,delete P.mode,R=P}return{defaultStyle:R||{},base:C,mode:A,tone:T}}}),n;if(t){let b=JSON.parse(JSON.stringify(t));delete b.base,delete b.tone,delete b.mode,n=b}let o={defaultStyle:n||{},base:t?.base||{},mode:t?.mode||{},tone:t?.tone||{}},l=[...s,o].map(b=>jo(b,r)),u=Up(l,"mode"),c=Up(l,"tone"),g=l.reduce((b,C)=>tt(b,n2(C,u,c)),{}),m=u2(Vp(a2({theme:r},g))||{},i),y=i2(m);return o2(y)},a2=(r,e)=>{if(typeof r!="object"||r===null)throw new TypeError("targetObject must be an object.");if(typeof e!="object"||e===null)throw new TypeError("styleObj must be an object.");let t=JSON.stringify(e,(i,s)=>{if(-1<["tone","mode"].indexOf(i))return s;if(typeof s=="string"&&s.startsWith("theme."))return Fs(r,s);function n(o){return o>=0&&o<=4294967295}return Array.isArray(s)&&s.length===2&&(typeof s[0]=="string"&&s[0].startsWith("#")||typeof s[0]=="number"&&n(s[0]))&&typeof s[1]=="number"&&Cr(s[0],s[1])||s});return JSON.parse(t||{})},Yp=(r,e={})=>{if(!Bu(r))return{};let{mode:t="unfocused",tone:i="neutral"}=r;return e[`${t}_${i}`]||e.unfocused_neutral||{}};function Xp(r,e=""){if(!r)return e;let t=Object.getPrototypeOf(r);if(!t||!t.constructor)return e;let i=`${e?e+".":""}${t?.constructor?.__componentName||""}`.replace(/\.*$/,"").trim();return Xp(t,i)}var Si={},Nu=()=>{for(let r in Si)Si.hasOwnProperty(r)&&delete Si[r]},Kp=r=>{let e=Xp(r);if(Si[e])return Si[e];let t=l2(r);return Si[e]=t,t},l2=r=>{let e=new Map,t;do{if(t=t?Object.getPrototypeOf(t):r,t?.constructor===Object)break;if(t&&typeof t=="object"&&t.hasOwnProperty("constructor")){let{style:s}=Mu(t);Object.keys(s||{}).length&&(e.has(s)||e.set(s,{style:s}));let n=t.constructor.hasOwnProperty("__themeStyle")&&t.constructor.__themeStyle;Object.keys(n||{}).length?e.has(n)||e.set(n,{style:{...n}}):typeof n=="function"&&(e.has(n)||e.set(n,{style:n}));let o=t.constructor.hasOwnProperty("__mixinStyle")&&t.constructor.__mixinStyle;Object.keys(o||{}).length&&(e.has(o)||e.set(o,{style:o}))}}while(t);return Array.from(e.values()).map(s=>s).reverse()},u2=(r,e=[])=>{if(typeof r!="object"||r===null)throw new Error("The originalObj parameter must be an object.");let t=new Set;return t.add([c2,[e]]),Array.from(t).reduce((s,[n,o])=>n(s,...o),r)},c2=(r,e=[])=>{if(typeof r!="object"||r===null)throw new Error("Value must be an object");if(!Array.isArray(e))throw new Error("Alias styles must be an array");let t=JSON.stringify(r);return[{prev:"height",curr:"h",skipWarn:!0},{prev:"width",curr:"w",skipWarn:!0},...e||[]].forEach(s=>{s&&typeof s.prev=="string"&&typeof s.curr=="string"&&(!s.skipWarn&&t.search(`"${s.prev}":`)>=0&&be.warn(`The style property "${s.prev}" is deprecated and will be removed in a future release. Please use "${s.curr}" instead.`),t=t.replace(new RegExp(`"${s.prev}":`,"gi"),`"${s.curr}":`))}),JSON.parse(t)};h();d();p();var Jp=new Map;he.on("themeUpdate",()=>{Jp.clear()});var lr=Jp;var Ms=class extends le.EventEmitter{constructor({component:e={}}={}){super(...arguments),this.init(e)}init(e){this.isActive=!0,this.component=e,this.setupListeners(),this._style={},this.update()}setupListeners(){this._boundThemeUpdate=this._onThemeUpdate.bind(this),this._hasSubTheme=!!this.component._targetSubTheme,this.component._targetSubTheme?he.on(`themeUpdate${this.component._targetSubTheme}`,this._boundThemeUpdate):he.on("themeUpdate",this._boundThemeUpdate)}clearListeners(){this._boundThemeUpdate&&(this.component._targetSubTheme?he.off(`themeUpdate${this.component._targetSubTheme}`,this._boundThemeUpdate):he.off("themeUpdate",this._boundThemeUpdate))}destroy(){this.isActive=!1,this._cleanupCache(),this.clearListeners(),this._styleCache=null,this._boundThemeUpdate=null,this.component=null}_onThemeUpdate(){Nu(),this.clearSourceCache(),this.clearStyleCache(),this.update()}clearStyleChainCache(){Nu()}clearSourceCache(){if(!this.component)return;let e=this._generateCacheKey("styleSource");this._removeCache(e)}clearStyleCache(){if(!this.component)return;let{tone:e,mode:t}=this.component,i=this._generateCacheKey(`style_${t}_${e}`);lr.delete(i)}_generateCacheKey(e){return[e,this.component._targetSubTheme,this.component.constructor.__componentName,this._customStyleHash].filter(Boolean).join("_")}_addCache(e,t){let i=this._generateCacheKey(e),s=lr.get(i);lr.set(i,{ids:[...new Set([...s?.ids||[],this.component.__id])],payload:t})}_cleanupCache(){this.component&&lr.forEach(({ids:e,payload:t},i)=>{let s=e&&e.length&&e.indexOf(this.component.__id);s>-1&&e.length>1?lr.set(i,{ids:e.slice(0,s).concat(e.slice(s+1)),payload:t}):s>-1&&lr.delete(i)})}_removeCache(e){lr.delete(e)}_getCache(e){let t=this._generateCacheKey(e);return lr.get(t)}update(){if(!this.component)return;let{mode:e,tone:t}=this.component;try{let i=this._getCache("styleSource")?.payload;i||(i=Gp({alias:this.component.constructor.aliasStyles,inlineStyle:this.component._componentLevelStyle,styleChain:Kp(this.component),theme:this.component.theme}),this._addCache("styleSource",i));let s=this._getCache(`style_${e}_${t}`)?.payload;s||(s=Yp(this.component,i),this._addCache(`style_${e}_${t}`,s)),this._style=s,this.emit("styleUpdate",this.style)}catch(i){he.error("styleManager: ",i.message)}}set style(e){he.warn("styleManager: Cannot mutate style directly")}get style(){return this._style}set props(e){he.warn("styleManager: Cannot mutate props directly")}get props(){return Object.keys(this.component._componentConfig).reduce((e,t)=>(["base","tone","mode","style","styleConfig"].includes(t)||(e[t]=this.component._componentConfig[t]),e),{})}get _customStyleHash(){if(!!Object.keys(this.component.constructor.__mixinStyle||{}).length||!!Object.keys(this.component._componentLevelStyle||{}).length)return qp(tt(this.component.constructor.__mixinStyle||{},this.component._componentLevelStyle||{}))}};function Uo(r,e){if(r!==null&&typeof r=="object"){if(Array.isArray(r))return r.map((t,i)=>Uo(t,Array.isArray(e)?e[i]:void 0));{let t={};return new Set([...Object.keys(r),...Object.keys(e)]).forEach(s=>{typeof r[s]=="object"&&r[s]!==null?t[s]=Uo(r[s],e[s]||{}):typeof e[s]=="object"&&e[s]!==null?t[s]=Uo(r[s]||{},e[s]):t[s]=e.hasOwnProperty(s)?e[s]:void 0}),t}}else return r}function Ho(r,e={}){return class extends r{_construct(){if(this._withThemeStylesSetupComplete){super._construct();return}this._hSetByUser=!1,this._wSetByUser=!1,this._styleManager=new Ms({component:this}),this._style=this._styleManager.style,this._updatePropDefaults(),this._styleManager.on("styleUpdate",()=>{this._style=this._styleManager.style,this._updatePropDefaults(),this.queueThemeUpdate()}),this._withThemeStylesSetupComplete=!0,super._construct()}_setup(){super._setup&&super._setup(),this._targetSubTheme=$p(this),this._targetSubTheme&&(this._styleManager.clearListeners(),this._styleManager.setupListeners(),this._styleManager.clearStyleChainCache(),this._styleManager.clearStyleCache(),this._styleManager.clearSourceCache(),this._styleManager.update())}_updatePropDefaults(){if(!Object.keys(this._styleManager.props).length||JSON.stringify(this._styleManager.props)===JSON.stringify(this._prevComponentConfigProps))return;let t=this._prevComponentConfigProps?Uo(this._prevComponentConfigProps||{},this._styleManager.props||{}):this._styleManager.props||{};this._prevComponentConfigProps=this._styleManager.props&&JSON.parse(JSON.stringify(this._styleManager.props)),this.__componentConfigProps=t}_attach(){super._attach(),this._styleManager.isActive||this._styleManager.init(this)}_detach(){super._detach(),this._styleManager.destroy()}_unfocus(){this._isFocusedMode&&(this.mode="unfocused"),super._unfocus()}_focus(){this._isDisabledMode||(this.mode="focused"),super._focus()}_checkDimensionUpdates(){let t=!1;!this._wSetByUser&&this.style.w&&this._w!==this.style.w&&(this._w=this.style.w,t=!0),!this._hSetByUser&&this.style.h&&this._h!==this.style.h&&(this._h=this.style.h,t=!0),t&&this._updateDimensions()}_updateThemeComponent(){this.style&&this._isAttached()&&(this._checkDimensionUpdates(),this.queueRequestUpdate?this.queueRequestUpdate():this._update&&this._update(),this._updateItemLayout&&this._updateItemLayout())}queueThemeUpdate(){ar.addUpdateTheme(this)}static get name(){return r.name}static get __componentName(){if(!super.__componentName)throw new Error(`A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`);return super.__componentName}static get __mixinStyle(){return e}get theme(){return this._targetSubTheme&&he.getSubTheme(this._targetSubTheme)||he.theme}set style(t){if(Object.prototype.toString.call(t)!=="[object Object]"){he.error("style must be an object");return}this._componentLevelStyle=t,this._styleManager.clearStyleCache(),this._styleManager.update()}get style(){return this._style}get _componentStyle(){return he.info("_componentStyle will soon be deprecated. Please use Component.style"),this._style}set styleConfig(t){he.info("style config is deprecated. Please use style = { base: {}, tone: {}, mode: {} }"),this._styleConfig=t,this._styleManager.update()}get styleConfig(){return this._styleConfig}get _componentConfig(){return Mu(this)}get mode(){return this._mode||this._componentConfig?.mode||"unfocused"}set mode(t){if(typeof t!="string"||this._mode===t)return;this._mode=t;let i=this[`on${Bs(t)}`];i&&typeof i=="function"&&i.call(this),this._styleManager.update()}get tone(){return this._tone||this._componentConfig.tone||"neutral"}set tone(t){typeof t!="string"||this._tone===t||(this._tone=t,this._styleManager.update())}get w(){return this._wSetByUser&&this._w||this.style?.w||0}set w(t){this._w!==t&&(super.w=t,this._wSetByUser=!0,this._updateThemeComponent())}get h(){return this._hSetByUser&&this._h||this.style?.h||this._h||0}set h(t){this._h!==t&&(super.h=t,this._hSetByUser=!0,this._updateThemeComponent())}}}h();d();p();var wi="__original";function Wo(r){return r.prototype.constructor._withExtensionsApplied?r:class extends r{static get name(){return r.name}static get __componentName(){if(!super.__componentName)throw new Error(`A valid static __componentName property is required for theming to work properly. Please add this to the ${this.constructor.name} class.`);return super.__componentName}static get _withExtensionsApplied(){return!0}get _prototypeChain(){if(this.__prototypeChain)return this.__prototypeChain;let e=new Set,t=this;do if(t=Object.getPrototypeOf(t),t!==null&&typeof t=="object")try{t.constructor.__componentName&&e.add(t.constructor.__componentName)}catch{}while(t);return this.__prototypeChain=e,e}get _extensions(){let e=he&&he.theme&&he.theme.extensions;return!e||!Array.isArray(e)||Array.isArray(e)&&!e.length?[]:e.filter(({targetComponent:t,extension:i})=>(typeof t=="string"||Array.isArray(t))&&typeof i=="function").slice().reverse()||[]}get _componentExtensions(){return this._extensions.filter(({targetComponent:e})=>typeof e=="string"?e===this.constructor.__componentName||this._prototypeChain.has(e):Array.isArray(e)?e.find(t=>{if(t.startsWith("/")&&t.endsWith("/")){let i=new RegExp(t.slice(1,-1));return Array.from(this._prototypeChain).some(s=>i.test(s))}else return this._prototypeChain.has(t)}):!1).reduce((e,{extension:t})=>(e.push(t),e),[])}get _extensionApplied(){return this._currentComponentExtensionLength===this._appliedExtensionLength}_construct(){this._appliedExtensionLength=0,this._extendedList={},this._extensionInstance={},this._setupExtensionBound=this._setupExtension.bind(this),he.on("themeUpdate",this._setupExtensionBound),this._currentComponentExtensionLength=this._calculateComponentExtensionLength(),this._createExtension(),super._construct()}_detach(){super._detach(),he.off("themeUpdate",this._setupExtensionBound)}_setupExtension(){this._currentComponentExtensionLength=this._calculateComponentExtensionLength(),this._createExtension.call(this)}_resetComponent(){this._extensionInstance._extensionCleanup&&this._extensionInstance._extensionCleanup.call(this),(Object.keys(this._extendedList)||[]).forEach(e=>{delete this[e],delete this[e+wi]}),this._extensionInstance={},this._extendedList={}}_calculateComponentExtensionLength(){return this._componentExtensions.reduce((t,i)=>(t+=i.toString().length,t),0)}_createExtension(){if(this._extensionApplied)return;this._resetComponent();let e=this._createExtensionClass(),t=new e;this._extendedList=this._createExtensionAliases(t),this._extensionInstance=t,this._setComponentAliases(this._extendedList)}_createExtensionClass(){function e(){}let t=this._componentExtensions.reduce((i,s)=>s(i),e);return this._appliedExtensionLength=this._calculateComponentExtensionLength(),t}_createExtensionAliases(e){let t=e;for(let n=0;n<this._componentExtensions.length+1;n++)t=Object.getPrototypeOf(t);let i={},s=this._componentExtensions.reduce((n,o)=>{let a=new o(class{}),l=new a,u=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(l));return Object.keys(u).forEach(c=>{if(!["constructor"].includes(c)){if(u[c].get||u[c].set){i[c]={type:"accessor"},n[c]={get:function(){return this[c+wi]},set:function(g){this[c+wi]=g}};return}i[c]={type:"method"},n[c]={value:function(){this[c+wi]&&this[c+wi]()}}}}),n},{});return Object.defineProperties(t,s),Object.setPrototypeOf(t,this),i}_setComponentAliases(e){Object.keys(e).forEach(t=>{this[t+wi]=this[t],e[t].type==="method"?this[t]=this._extensionInstance[t]:e[t].type==="accessor"&&Object.defineProperty(this,t,{configurable:!0,get(){return this._extensionInstance[t]},set(i){this._extensionInstance[t]=i}})})}}}var zu=class extends le.Component{static get __componentName(){return"Base"}_construct(){this.constructor.__componentName,this.skipPlinko=!1,this.centerInParent=!1,this.loaded||(this.loaded=Promise.resolve())}_init(){this.queueRequestUpdate()}_resetLoadedPromise(){this.loaded=new Promise((e,t)=>{this._resolveLoadedPromise=e,this._rejectLoadedPromise=t})}_update(){}_focus(){this._updateShouldSmooth(),this.queueRequestUpdate()}_unfocus(){this.queueRequestUpdate()}_updateShouldSmooth(){this.shouldSmooth===void 0&&(this.shouldSmooth=!0)}applySmooth(e,t,i){this.shouldSmooth?e.smooth=i||t:e.patch(t)}get announce(){return this._announce}set announce(e){this._announce=e}get announceContext(){return this._announceContext}set announceContext(e){this._announceContext=e}get shouldSmooth(){return this._shouldSmooth}set shouldSmooth(e){this._shouldSmooth=e}get _isDisabledMode(){return this.mode==="disabled"}get _isUnfocusedMode(){return this.mode==="unfocused"}get _isFocusedMode(){return this.mode==="focused"}isFullyOnScreen(e){return Au(this,e)}getFocusScale(){return he.theme.layout.focusScale}getUnfocusScale(){return 1}};function h2(r){return Wo(zo(Ho(Bo(Mo(No(r))))))}var ve=h2(zu);h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();function f2(r){return r.startsWith("<svg")?"SVG":r.startsWith("blob:")?"Blob":/\.(jpeg|jpg|gif|png|svg)$/i.test(r)?"Image":"Unknown"}function g2(r,e,t,i,s){let n=e.platform.getDrawingCanvas(),o=n.getContext("2d");o.imageSmoothingEnabled=!0;let a=new Image;a.onload=()=>{n.width=i,n.height=s,o.drawImage(a,0,0,n.width,n.height),r(null,{source:n,w:i,h:s})},a.onerror=l=>{r(l)},le.Utils.isPS4||(a.crossOrigin="Anonymous"),a.src=t}function m2({src:r},e){let t=new Image;return r.substr(0,5)!="data:"&&!le.Utils.isPS4&&(t.crossOrigin="Anonymous"),t.onerror=function(){if(t.src)return e("Image load error")},t.onload=function(){e(null,{source:t,renderInfo:{src:r,compressed:!1},hasAlpha:!0})},t.src=r,function(){t.onerror=null,t.onload=null,t.removeAttribute("src")}}var Ti=class extends le.Texture{constructor(e){super(e),this._src=void 0,this._hasAlpha=!1}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._changed())}get hasAlpha(){return this._hasAlpha}set hasAlpha(e){this._hasAlpha!==e&&(this._hasAlpha=e,this._changed())}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}_getIsValid(){return!!this._src}_getLookupId(){return this._src}_getSourceLoader(){let e=this._w,t=this._h,i=this._src,s=this._hasAlpha;if(this.stage.getOption("srcBasePath")){let n=i.charCodeAt(0);i.indexOf("//")===-1&&(n>=65&&n<=90||n>=97&&n<=122||n==46)&&(i=this.stage.getOption("srcBasePath")+i)}return n=>{switch(f2(i)){case"SVG":return g2(n,this.stage,`data:image/svg+xml,${encodeURIComponent(i)}`,e,t);case"Blob":return m2({src:i},n);default:return this.stage.platform.loadSrcTexture({src:i,hasAlpha:s},n)}}}getNonDefaults(){let e=super.getNonDefaults();return this._src&&(e.src=this._src),e}};h();d();p();h();d();p();h();d();p();var ju={};rr(ju,{tone:()=>_2});h();d();p();var _2=r=>({neutral:{color:r.color.fillNeutral},inverse:{color:r.color.fillInverse},brand:{color:r.color.fillBrand}});var We=class extends ve{static get __componentName(){return"Icon"}static get __themeStyle(){return ju}static get properties(){return["icon","fixed","color"]}_init(){this.on("txLoaded",()=>{this.fixed||this._notify.bind(this)()}),this.on("txError",this._handleTxtError.bind(this))}_getColor(){return this._color||this.style.color}_notify(){this.w=this.finalW,this.h=this.finalH,this.signal("itemChanged",this),this.fireAncestors("$itemChanged")}_handleTxtError(){he.error(`Unable to load icon ${this._icon}`),this._icon=null,this.texture=null}_update(){if(!this._icon){this.texture=null;return}this.patch(this._iconPatch)}get _iconPatch(){let[e,t]=[/^<svg.*<\/svg>$/,/\.svg$/].map(l=>RegExp.prototype.test.bind(l)),i,s=e(this.icon),n=t(this.icon);s?i=le.Tools.getSvgTexture(`data:image/svg+xml,${encodeURIComponent(this.icon)}`,this.w,this.h):n?i=le.Tools.getSvgTexture(this.icon,this.w,this.h):i={type:Ti,w:this.w,h:this.h,src:this.icon};let o=vi(this._color||this.style.color),a=this.radius||this.style.radius?{radius:this.radius||this.style.radius,type:le.shaders.RoundedRectangle}:void 0;return{texture:i,shader:a,...o?{colorUl:o,colorUr:o,colorBl:o,colorBr:o}:{}}}};var Uu={};rr(Uu,{base:()=>y2,tone:()=>x2});h();d();p();var y2=r=>({contentSpacing:r.spacer.xs,offsetY:1,paddingX:r.spacer.md,paddingY:r.spacer.xs,radius:r.radius.sm,strokeWidth:r.stroke.sm,textStyle:{...r.typography.tag1,textAlign:"center"}}),x2=r=>({neutral:{backgroundColor:r.color.fillInverseSecondary,iconColor:r.color.textNeutral,textStyle:{textColor:r.color.textNeutral},strokeColor:r.color.strokeNeutralSecondary},inverse:{backgroundColor:r.color.fillNeutralSecondary,iconColor:r.color.textInverse,textStyle:{textColor:r.color.textInverse},strokeColor:r.color.strokeInverseSecondary},brand:{backgroundColor:r.color.fillBrand,iconColor:r.color.textNeutral,textStyle:{textColor:r.color.textNeutral},strokeColor:r.color.strokeInverseSecondary}});var Ar=class extends ve{static _template(){return{Text:{mountY:.5},Icon:{type:We,mountY:.5,signals:{itemChanged:"_updateLayout"}}}}static get __componentName(){return"Badge"}static get __themeStyle(){return Uu}static get properties(){return["title","icon","iconAlign","iconWidth","iconHeight"]}static get tags(){return["Background","Text","Icon"]}_init(){this._Text.on("txLoaded",this._updateLayout.bind(this)),super._init()}_update(){this._updateText(),this._updateIcon(),this._updateLayout(),this._updateVisibility()}_updateVisibility(){this.alpha=this.title||this.icon?1:0}_updateLayout(){this._updateWidth(),this._updateBackground(),this._updatePositions(),this.signal("loadedBadge",this)}_updateBackground(){let e=Math.max(this._Text.renderHeight,this._Icon.h)+this.style.paddingY*2;this.patch({h:e,texture:le.Tools.getRoundRect(this.w,e,wt(this.style.radius,this.w,e),this.style.strokeWidth,this.style.strokeColor,!0,this.style.backgroundColor)})}_updateText(){this._Text&&this._Text.patch({text:{...this.style.textStyle,text:this.title||""}})}_updateIcon(){this._Icon.patch({icon:this.icon,w:this.iconWidth,h:this.iconHeight,style:{color:Cr(this.style.iconColor)}})}_updateWidth(){let e=0;this.title&&this.icon?e=this._Text.renderWidth+this._Icon.finalW+this.style.contentSpacing+this.style.paddingX*2:this.title?e=this._Text.renderWidth+this.style.paddingX*2:this.icon&&(e=this._Icon.finalW+this.style.paddingX*2),this.w=e}_updatePositions(){this._Icon.y=this.h/2,this.iconAlign==="left"&&this.title&&this.icon?(this._Icon.x=this.style.paddingX,this._Text.x=this._Icon.x+this._Icon.finalW+this.style.contentSpacing):this.iconAlign==="right"&&this.title&&this.icon?(this._Text.x=this.style.paddingX,this._Icon.x=this._Text.x+this._Text.renderWidth+this.style.contentSpacing):(this._Text.x=this.style.paddingX,this._Icon.x=this.style.paddingX),this._Text.y=this._h/2+this.style.offsetY}_getIconHeight(){return this.icon?!this._Icon.finalH&&this._Text?this._Text.text.lineHeight:this._Icon.finalH:0}set announce(e){super.announce=e}get announce(){return this._announce||this.title}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Wu={};rr(Wu,{base:()=>T2,tone:()=>C2});h();d();p();var T2=r=>({offsetY:r.spacer.xxs,offsetX:0,textStyle:r.typography.body1}),C2=r=>({neutral:{textStyle:{textColor:r.color.fillNeutral}},inverse:{textStyle:{textColor:r.color.fillInverse}},brand:{textStyle:{textColor:r.color.fillBrand}}});h();d();p();h();d();p();h();d();p();var qu={};rr(qu,{base:()=>A2});h();d();p();var A2=r=>({textY:0,iconWidth:r.spacer.xxl+r.spacer.xs,iconHeight:r.spacer.xxl+r.spacer.xs,contentSpacing:r.spacer.md,marginBottom:0,strikethroughRatio:.08,strikethroughColor:r.color.textNeutral,textStyle:{...r.typography.body1},maxLines:1,justify:"flex-start"});var zs=r=>typeof r=="string"||!!r.text,rf=r=>!!r.icon,E2=r=>!!r.badge,ur=class extends ve{static get properties(){return["content","contentProperties","badgeY","badgeProperties","justify","contentWrap","customStyleMappings","maxLines","maxLinesSuffix"]}static get __componentName(){return"InlineContent"}static get __themeStyle(){return qu}static get aliasStyles(){return[{prev:"iconH",curr:"iconHeight"},{prev:"iconW",curr:"iconWidth"}]}_construct(){super._construct(),this._maxLinesSuffix=".."}_update(){this._updateContent(),this._waitForComponentLoad()}_updateContent(){this.childList.clear(),this._shouldTruncate&&(this.alpha=.001),this._parsedContent&&this._parsedContent.length&&(this.patch({flex:{direction:"row",wrap:!!this.contentWrap,justifyContent:this.justify!=null?this.justify:this.style.justify}}),this._parsedContent.forEach((e,t)=>{let i=t===this._parsedContent.length-1,s={flexItem:{...this.contentProperties,marginBottom:i?0:this._marginBottom,marginRight:i?0:this.contentProperties.marginRight||this.style.contentSpacing}};if(zs(e)){let n=this._parsedContent[t+1];(n&&zs(n)||this.contentWrap&&n&&n.newline&&this._parsedContent[t+2]&&zs(this._parsedContent[t+2]))&&(s.flexItem.marginRight=0),this.childList.a(this._createText(s,e))}else rf(e)?this.childList.a(this._createIcon(s,e)):E2(e)?this.childList.a(this._createBadge(s,e.badge)):e.newline&&this.contentWrap&&this.childList.a({h:0,w:this.w})}))}_waitForComponentLoad(){this.children.length?Promise.all(this.children.map(e=>new Promise(t=>{e.h===0&&e.w===this.w?t():e.on("txLoaded",t)}))).finally(()=>this._contentLoaded()):(this.h=0,this._contentLoaded())}_notifyAncestors(){this.fireAncestors("$loadedInlineContent",this),this.signal("loadedInlineContent",this.finalW,this.multiLineHeight)}_contentLoaded(){this.children.length?setTimeout(()=>{if(this.multiLineHeight=this.finalH,this.flex&&this.flex._layout&&this.flex._layout._lineLayouter&&this.flex._layout._lineLayouter._lines){let e=0;this.flex._layout._lineLayouter._lines.forEach(t=>{e+=Object.entries(t.items).slice(t.startIndex,t.endIndex+1).sort((i,s)=>s[1].h-i[1].h)[0][1].h}),this.multiLineHeight=e,this._shouldTruncate&&this._renderMaxLines(),this._notifyAncestors()}else this._contentLoaded()},10):this._notifyAncestors()}_renderMaxLines(){let e=this._calcChildrenDimensions();this.childList.clear();let t=!1;e.forEach((i,s)=>{if(t)return;let n=e[s+1];if(!n){this.childList.add(i.component);return}let o=i.line===this.maxLines,l=o&&n.line>this.maxLines&&i.hasSpaceForSuffix,u=o&&i.hasSpaceForSuffix&&!n.hasSpaceForSuffix,c=!n||l||u;i.line<=this.maxLines&&(c&&s!==e.length-1?(this.childList.add(this._addSuffix(i)),t=!0):this.childList.add(i.component))}),this.alpha=1}_calcChildrenDimensions(){let e=ko({...this.style.textStyle,text:this.maxLinesSuffix}),t=0,i=1;return this.children.reduce((s,n)=>{let o=n,a,l,u;if(n.w==this.w&&n.h===0){i++,t=0;let y={type:"linebreak",component:o,content:l,line:i,hasSpaceForSuffix:!0};return s.push(y),s}zs(n)?(a="text",l=n.text.text,u=n.texture.getRenderWidth()):rf(n)?(a="icon",u=n.w):n.constructor.__componentName==="Badge"&&(a="badge",u=n.w),t+=u,t+=n.flexItem.marginRight,Math.ceil(t)>=this.w&&(i++,t=u);let g=Math.ceil(t)+e<=this.w,m={type:a,component:o,content:l,line:i,hasSpaceForSuffix:g};return s.push(m),s},[])}_addSuffix({type:e,component:t,content:i}){let s=t.flexItem.marginRight*-1,n;if(e==="text"){let{fontFace:o,fontSize:a,fontStyle:l,lineHeight:u,verticalAlign:c}=t.text;n=this._createText({flexItem:this.contentProperties},{text:`${i.trim()}${this.maxLinesSuffix}`,style:{fontFace:o,fontSize:a,fontStyle:l,lineHeight:u,verticalAlign:c}})}else this.childList.add(t),n=this._createText({flexItem:{...this.contentProperties,marginLeft:s}},this.maxLinesSuffix);return n}_createIcon(e,t){let i=(this.textHeight>this.style.textStyle.lineHeight?this.textHeight:this.style.textStyle.lineHeight)-this.style.iconHeight;return{...e,type:We,y:i,w:this.style.iconWidth,h:this.style.iconHeight,signals:{itemChanged:"_updateIconPosition"},...t}}_createText(e,t){let i=typeof t.style=="string"?this.customStyleMappings[t.style]:t.style,s={...e,y:this.textY!==void 0?this.textY:this.style.textY,h:i?.lineHeight||i?.fontSize||this.textHeight,text:{...this.style.textStyle,...i,text:t.text||t}};if(i?.textDecoration==="line-through"){let n=ko({...this.style.textStyle,...i,text:t.text||t}),o={rect:!0,w:n,color:this.style.strikethroughColor||i?.textColor||this.style.textStyle.textColor,h:s.h*this.style.strikethroughRatio,y:s.h/2,mountY:1};return{type:le.Component,w:n+s.flexItem.marginRight,h:s.h,children:[{...s},{...o}]}}return s}_createBadge(e,t){return{...e,y:this.badgeY||0,...this.badgeProperties,type:Ar,title:t,signals:{loadedBadge:"_loadedBadge"}}}_updateIconPosition(e){e.y=this.style.textStyle.lineHeight-e.h}_loadedBadge(e){this.badgeY===void 0&&(e.y=this.style.textStyle.lineHeight-e.h)}_formatSpaces(e){let t=/(.+?\s+)/;return Oo((e||[]).reduce((i,s)=>{let n=s;if(zs(s)){if(typeof s=="object"){let o=s.text.split(t).map(a=>a&&{...s,text:a});return i.push(...o),i}n=s.split(t)}return i.push(n),i},[])).map((i,s,n)=>i===" "?!1:n[s+1]===" "?i+" ":i).filter(Boolean)}_setContent(e){if(e!==this._content){this._content=e;let t=this._content;e&&!Array.isArray(e)&&(t=Lp(e)),this._parsedContent=this._formatSpaces(t)}return e}_setBadgeProperties(e){if(typeof e=="object")return e}_getBadgeProperties(){return this._badgeProperties||{}}_setContentProperties(e){if(typeof e=="object")return e}_getContentProperties(){return this._contentProperties||{}}_setCustomStyleMappings(e){if(typeof e=="object")return e}_getCustomStyleMappings(){return this._customStyleMappings||{}}_setMaxLines(e){return e>=1?Math.floor(e):0}get textHeight(){return this.style.textStyle.lineHeight||this.style.textStyle.fontSize}get _marginBottom(){return this.contentProperties.marginBottom!==void 0?this.contentProperties.marginBottom:this.style.marginBottom?this.style.marginBottom:0}get _shouldTruncate(){return this.contentWrap&&this.maxLines}set announce(e){super.announce=e}get announce(){if(this._announce)return this._announce;let e=this._parsedContent&&this._parsedContent.reduce((t,i)=>(typeof i=="string"?t+=i:i.announce?t+=i.announce:i.text?(t+=i.text,i.style?.textDecoration==="line-through"&&(t+="strikethrough")):i.title?t+=i.title:i.badge&&(t+=i.badge),t+" "),"");return e?e.replace(/\s+(?=\s)|\s$/g,""):""}};h();d();p();h();d();p();var $u={};rr($u,{base:()=>I2});h();d();p();var I2=r=>({fadeWidth:100,offset:r.spacer.xxl,shouldSmooth:!1,textStyle:r.typography.body1});h();d();p();var Yt=class extends le.shaders.WebGLDefaultShader{constructor(e){super(e),this._margin={left:0,right:0}}set positionLeft(e){this._positionLeft=e}set positionRight(e){this._positionRight=e}setupUniforms(e){super.setupUniforms(e);let t=e.shaderOwner;this._positionLeft===0&&(this._positionLeft=.001),this._positionRight===0&&(this._positionRight=.001);let i=this.ctx.stage.getRenderPrecision();this._setUniform("margin",[this._positionLeft*i,this._positionRight*i],this.gl.uniform1fv),this._setUniform("resolution",new Float32Array([t._w*i,t._h*i]),this.gl.uniform2fv)}};Yt.fragmentShaderSource=` #ifdef GL_ES # ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; @@ -1132,7 +1132,7 @@ ${t} "${a[u]}":`,delete i[a[u]].ref,o+=r.getPrettyString(i[a[u]],t+" ")+(u<c-1 gl_FragColor = color; } -`;var Ir=class extends ve{static _template(){return{ContentClipper:{boundsMargin:[],ContentBox:{Content:{},ContentLoopTexture:{}}}}}static get __componentName(){return"Marquee"}static get __themeStyle(){return $u}static get tags(){return["ContentClipper",{name:"ContentBox",path:"ContentClipper.ContentBox"},{name:"Content",path:"ContentClipper.ContentBox.Content"},{name:"ContentLoopTexture",path:"ContentClipper.ContentBox.ContentLoopTexture"}]}static get properties(){return["autoStart","title","contentTexture","color","centerAlign","delay","repeat","overrideLoopX"]}static get aliasStyles(){return[{prev:"fadeW",curr:"fadeWidth"}]}_construct(){super._construct(),this._scrolling=!1,this._autoStart=!1,this._centerAlign=!1}_init(){this._Content.on("txLoaded",this._updateContentTexture.bind(this)),super._init()}_updateContentTexture(){let e=this._restartScrolling;this.stopScrolling(),this._currentTexture.h||(this._ContentClipper.h=this._currentTexture.text&&this._currentTexture.text.lineHeight?this._currentTexture.text.lineHeight:this._Content.finalH),this._shouldClip?this._updateShader():(this._ContentClipper.shader=null,this._positionTexture()),e&&this.startScrolling(),this.signal("marqueeContentLoaded")}_update(){this._updateColor(),this._updateTexture(),this._updateShader(),this._restartScrolling&&this.startScrolling()}get _restartScrolling(){return this.autoStart||this._scrolling||this._shouldTryScrolling}_updateColor(){this.color&&(this._Content.smooth={color:ke.getValidColor(this.color)})}get _currentTexture(){return this._Content.text||this._Content.texture||{}}_updateTexture(){let e={rtt:!0};this.contentTexture?e.texture=this.contentTexture:this.title&&(e.text={...this.style.textStyle,...this.title,text:this.textContent}),this.patch({ContentClipper:{w:this.w+14,ContentBox:{Content:e,ContentLoopTexture:{}}}}),this.signal("marqueeContentLoaded")}_updateShader(){this._ContentClipper.patch({w:this.w>0?this.w+this.style.fadeWidth/2:0,shader:{type:Yt,positionLeft:0,positionRight:this.style.fadeWidth},rtt:!0})}_updateAnimation(){this._scrollAnimation&&this._scrollAnimation.stopNow(),this._scrollAnimation=this.animation({duration:this._loopWidth/50,delay:isNaN(this.delay)?1.5:this.delay,repeat:isNaN(this.repeat)?-1:this.repeat,actions:[{t:"ContentBox",p:"x",v:{sm:0,0:{v:0},.5:{v:-(this._loopWidth+this.style.offset)}}},{t:"ContentClipper",p:"shader.positionLeft",v:{sm:0,0:{v:0},.1:{v:this.style.fadeWidth},.4:{v:this.style.fadeWidth},.5:{v:0}}}]})}_positionTexture(){let e=this._shouldCenter()?(this.w-this._textRenderedW)/2:0;this.style.shouldSmooth?this._ContentBox.smooth={x:e}:this._ContentBox.x=e}startScrolling(){this._Content.off("txLoaded",this.startScrolling.bind(this)),this._shouldTryScrolling=!0,this._textRenderedW===0&&this._Content.on("txLoaded",this.startScrolling.bind(this)),this._shouldClip?(this._scrolling=!0,this._ContentLoopTexture.x=this._loopWidth+this.style.offset,this._ContentLoopTexture.texture=this._Content.getTexture(),this._updateAnimation(),this._scrollAnimation.start()):this._scrolling=!1}stopScrolling(){this._shouldTryScrolling=!1,this._scrolling=!1,this._scrollAnimation&&(this._scrollAnimation.stopNow(),this._ContentLoopTexture.texture=null)}get _shouldClip(){return this._textRenderedW>this.w-this.style.fadeWidth/4}_shouldCenter(){return this._centerAlign||this._Content.text&&this._Content.text.textAlign==="center"}_setAutoStart(e){return this.autoStart&&!e&&this._updateContentTexture(),e}_setCenterAlign(e){return this._centerAlign=e,this._updateContentTexture(),e}get textContent(){return this.title?.text??this.title??""}get _loopWidth(){return this.overrideLoopX||this._textRenderedW}get _textRenderedW(){return this._Content.renderWidth}set announce(e){super.announce=e}get announce(){return this._announce||this.title&&this.title.text}};var I2=Object.entries(Object.getOwnPropertyDescriptors(le.textures.TextTexture.prototype)).reduce((r,[e])=>{let t=le.textures.TextTexture.prototype[e];return e.startsWith("_")||["undefined","function"].includes(typeof t)?r:{[e]:t,...r}},{}),Ne=class extends ve{static _template(){return{alpha:.001}}static get __componentName(){return"TextBox"}static get __themeStyle(){return Wu}static get tags(){return["InlineContent","Marquee","Text"]}static get properties(){return[...ur.properties,"content","fixed","marquee","marqueeProps","hideOnLoad"]}_setDimensions(e,t){let i=e,s=t;this._isInlineContent||(i=this._Text.texture.getRenderWidth(),s=this._Text.texture.getRenderHeight());let n=this.w!==i||this.h!==s;i&&s&&n&&(this.h=s,this.fixed||(this.w=i),!this.hideOnLoad&&this.alpha<1&&(this.alpha=1),this._notifyAncestors())}_setContent(e){return this._isInlineContent=!1,(Array.isArray(e)||ke.isMarkupString(e))&&(this._isInlineContent=!0),typeof e!="string"&&!this._isInlineContent?"":e}get title(){return this._content}_notifyAncestors(e=this.w,t=this.h){this.fireAncestors("$itemChanged"),this.signal("textBoxChanged",{w:e,h:t})}_construct(){super._construct(),this._marqueeContentListenerAttached=!1,this._marqueeOverrideLoopX=void 0,this._resetMarqueePromise()}_update(){if(!this.content){(this._Text||this._InlineContent)&&(this.w=this.h=0,this._notifyAncestors(),this._updateMarquee(),this.patch({Text:void 0,InlineContent:void 0}));return}this._isInlineContent?this._updateInlineContent():this._updateText(),this._updateMarquee()}_updateInlineContent(){this.patch({Text:void 0});let e=ur.properties.reduce((t,i)=>(this[i]!=null&&(t[i]=this[i]),t),{style:{...this.style,textStyle:this._textStyleSet}});this._textStyleSet.wordWrapWidth&&(e.w=this._textStyleSet.wordWrapWidth,e.rtt=!0),this._textStyleSet.maxLines&&(e.maxLines=this._textStyleSet.maxLines),this._textStyleSet.maxLinesSuffix&&(e.maxLinesSuffix=this._textStyleSet.maxLinesSuffix),this.patch({alpha:1,InlineContent:{type:ur,w:this.w,...e,signals:{loadedInlineContent:"_setDimensions"}}})}_updateText(){this.patch({InlineContent:void 0}),this._Text||(this.patch({Text:{}}),this._Text.on("txLoaded",this._setDimensions.bind(this)));let e=this._textStyleSet;this._Text&&this._Text.patch({y:this.style.offsetY,x:this.style.offsetX,text:{...I2,...e}})}set marqueeOverrideLoopX(e){this._marqueeOverrideLoopX=e,this._Marquee&&(this._Marquee.overrideLoopX=this._marqueeOverrideLoopX),this._resolveAwaitMarqueeOverrideX()}get marqueeOverrideLoopX(){return this._marqueeOverrideLoopX}_resetMarqueePromise(){this._awaitMarqueeOverrideX=new Promise((e,t)=>{this._resolveAwaitMarqueeOverrideX=e,this._rejectAwaitMarqueeOverrideX=t})}_loadedMarqueeContent(){this.signal("willMarquee",this._Marquee)}_updateMarquee(){if(this._Marquee&&!this.marquee&&this._toggleMarquee(this._contentTag),this.marquee){this._resetMarqueePromise();let e={...this.marqueeProps,w:this._textStyleSet.wordWrapWidth||this.w,h:this.h,y:this.style.offsetY,x:this.style.offsetX,signals:{marqueeContentLoaded:"_loadedMarqueeContent"}};this._Marquee||(e.type=Ir),this._isInlineContent?(this._InlineContent.w=0,e.title=void 0,e.contentTexture=this._contentTag.getTexture(),e.w=this._textStyleSet.wordWrapWidth||this.w):(e.contentTexture=void 0,e.title={text:this._contentTag.text.text,...this._textStyleSet,wordWrapWidth:0,maxLines:1}),this.patch({Marquee:e}),this._marqueeContentListenerAttached||(this._marqueeContentListenerAttached=!0),typeof this._marqueeOverrideLoopX<"u"?this._awaitMarqueeOverrideX.then(()=>{this._toggleMarquee(this._contentTag)}):this._toggleMarquee(this._contentTag)}}_getMarqueeProps(){return this._marqueeProps??{}}get _textStyleSet(){let e={...this.theme.typography.body1,...this.style.textStyle!==null&&typeof this.style.textStyle=="object"&&Object.keys(this.style.textStyle)?this.style.textStyle:this.theme.typography[this.style.textStyle]};return this.constructor.properties.forEach(t=>{if(t!=="fontStyle"&&typeof this[`_${t}`]<"u"){let i=t==="content"?"text":t;e[i]=this[`_${t}`]}}),this.w&&!this._isInlineContent&&!this.style.textStyle.wordWrapWidth&&this.fixed&&(e.wordWrapWidth=this.w),e}get _contentTag(){return this._isInlineContent?this._InlineContent:this._Text}_toggleMarquee(e){this.marquee?(e&&(e.alpha=.001),this._Marquee&&(this._Marquee.alpha=1,this._Marquee.startScrolling())):(e&&(e.alpha=1),this._Marquee&&(this._Marquee.alpha=.001,this._Marquee.stopScrolling()))}toggleMarquee(){this._toggleMarquee(this._contentTag)}get announce(){return this._announce||(this._isInlineContent&&this._InlineContent?this._InlineContent.announce:this.content)}set announce(e){super.announce=e}set smooth(e){he.warn("warning: value smoothing is known to cause bugs with the TextBox - patch updated values instead."),super.smooth=e}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();function Gu(r){return class extends r{static get name(){return r.name}_init(){super._init(),this._shouldSync&&this._updateSignals()}_update(){super._update(),this._shouldSync?this._updateSignals():this._cleanupSyncValues()}_cleanupSyncValues(){this.syncArray.map(e=>{e.marqueeOverrideLoopX=void 0,e.signals&&e.signals.willMarquee&&delete e.signals.willMarquee})}_updateSignals(){this.syncArray&&this.syncArray.map(e=>{e.signals={...e.signals,willMarquee:"_willMarquee"}})}_willMarquee(e){this._shouldSync&&(this._longestMarqueeWidth=Math.max(e._textRenderedW||0,this._longestMarqueeWidth||0),this.syncArray.map(t=>{t.marqueeOverrideLoopX=this._longestMarqueeWidth}))}get _shouldSync(){return this.style.marqueeSync===!1?!1:this.syncArray?Array.isArray(this.syncArray)?this.syncArray.length<2?(be.warn("warning: syncArray must contain at least two component references."),!1):!0:(be.warn("warning: syncArray must be typeof array."),!1):(be.warn("warning: components using MarqueeSync must have a syncArray getter defined."),!1)}}}var Yu=Gu;var Xu={};rr(Xu,{base:()=>U2,mode:()=>H2,tone:()=>W2});h();d();p();var U2=r=>({descriptionTextStyle:{...r.typography.body2,maxLines:1},fadeWidth:100,logoWidth:r.typography.body3.lineHeight,logoHeight:r.typography.body3.lineHeight,logoPadding:r.spacer.lg,detailsTextStyle:r.typography.body3,subtitleTextStyle:r.typography.body3,titleTextStyle:{...r.typography.headline1,maxLines:1},marqueeSync:!0,alpha:r.alpha.primary}),H2=r=>({disabled:{detailsTextStyle:{textColor:r.color.textNeutralDisabled},alpha:r.alpha.inactive}}),W2=r=>({neutral:{titleTextStyle:{textColor:r.color.textNeutral},subtitleTextStyle:{textColor:r.color.textNeutralSecondary},detailsTextStyle:{textColor:r.color.textNeutral},descriptionTextStyle:{textColor:r.color.textNeutralSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}},inverse:{titleTextStyle:{textColor:r.color.textInverse},subtitleTextStyle:{textColor:r.color.textInverseSecondary},detailsTextStyle:{textColor:r.color.textInverse},descriptionTextStyle:{textColor:r.color.textInverseSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},subtitleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}},brand:{titleTextStyle:{textColor:r.color.textNeutral},subtitleTextStyle:{textColor:r.color.textNeutralSecondary},detailsTextStyle:{textColor:r.color.textNeutral},descriptionTextStyle:{textColor:r.color.textNeutralSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}}});var Ku=class extends ve{static get __componentName(){return"MetadataBase"}static get __themeStyle(){return Xu}static _template(){return{Text:{flex:{direction:"column",justifyContent:"flex-start"},DetailsWrapper:{}}}}static get properties(){return["description","logo","logoHeight","logoPosition","logoTitle","logoWidth","details","subtitle","title","marquee"]}static get tags(){return["Text",{name:"Title",path:"Text.Title"},{name:"Subtitle",path:"Text.Subtitle"},{name:"DetailsWrapper",path:"Text.DetailsWrapper"},{name:"Details",path:"Text.DetailsWrapper.Details"},{name:"Description",path:"Text.Description"},"Logo"]}_titleLoaded(){this._updateLayout()}_subtitleLoaded(){this._updateLayout()}_detailsLoaded({w:e,h:t}){this._updateDetailsLayout({w:e,h:t}),this._updateLayout()}_descriptionLoaded(){this._updateLayout()}_updateDetailsLayout({w:e,h:t}){!this.details&&!this._Details||this._DetailsWrapper&&(this._DetailsWrapper.alpha=this.style.alpha,this._DetailsWrapper.w=e,this._DetailsWrapper.h=t)}_update(){this._updateLines(),this._updateLayout()}_updateLines(){this._Text.w=this._textW(),this._updateTitle(),this._updateSubtitle(),this._updateDetails(),this._updateDescription()}_updateLayout(){this._Text.h=this._textH(),this._updateMetadataHeight(),this._updatePositions(),this._updateLogo()}_updatePositions(){this._Text.x=this.logo&&this.logoPosition==="left"?this.logoWidth+this.style.logoPadding:0,this._Text.y=(this.h-this._Text.h)/2}_updateMetadataHeight(){let e=Math.max(this.logoHeight,this._Text.h);this.h!==e&&(this.h=e,this.signal("updateComponentDimensions"))}_updateTitle(){!this.title&&!this._Title||(this._Title||this._Text.childList.addAt({ref:"Title",type:Ne,signals:{textBoxChanged:"_titleLoaded"}},0),this._Title.patch({content:this.title,marquee:this.marquee,style:{textStyle:{...this.style.titleTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}_updateSubtitle(){!this.subtitle&&!this._Subtitle||(this._Subtitle||this._Text.childList.addAt({ref:"Subtitle",type:Ne,signals:{textBoxChanged:"_subtitleLoaded"}},1),this._Subtitle.patch({content:this.subtitle,marquee:this.marquee,style:{textStyle:{...this.style.subtitleTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}resetMarquee(){this.marquee&&(this.title&&(this._Title||this._updateTitle(),this._Title.toggleMarquee()),this.description&&(this._Description||this._updateDescription(),this._Description.toggleMarquee()))}_updateDetails(){!this.details&&!this._Details||(this._Details||this._DetailsWrapper.patch({Details:{type:Ne,signals:{textBoxChanged:"_detailsLoaded"}}}),this._Details.patch({content:this.details,style:{textStyle:this.style.detailsTextStyle}}),this._Details.finalW>this._textW()?this._Details.patch({w:this._textW()+this.style.fadeWidth/2,shader:{type:Yt,positionLeft:0,positionRight:this.style.fadeWidth},rtt:!0}):this._DetailsWrapper.shader=void 0,this._DetailsWrapper.visible=!!this.details,this._DetailsWrapper.alpha=this.style.alpha)}_updateDescription(){!this.description&&!this._Description||(this._Description||this._Text.childList.add({ref:"Description",type:Ne,signals:{textBoxChanged:"_descriptionLoaded"}}),this._Description.patch({content:this.description,marquee:this.marquee,style:{textStyle:{...this.style.descriptionTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}_updateLogo(){if(!this.logo&&!this._Logo)return;this._Logo||this.patch({Logo:{flexItem:!1,type:We}}),this.logoPosition=this.logoPosition||"right";let e=this.subtitle&&this._Subtitle&&this._Subtitle.h||0;this._Logo.patch({w:this.logoWidth,h:this.logoHeight,icon:this.logo,alpha:this.style.alpha}),this._Logo.x=this.logoPosition==="left"?0:this.w-this._Logo.w,this._Logo.y=(this.h-this.logoHeight+e)/2}_textW(){return this.w-(this.logo?this.logoWidth+this.style.logoPadding:0)}_textH(){let e=this.title&&this._Title&&this._Title.h||0,t=this.subtitle&&this._Subtitle&&this._Subtitle.h||0,i=this.details&&this._DetailsWrapper&&this._DetailsWrapper.h||0,s=this.description&&this._Description&&this._Description.h||0;return e+t+i+s}_getLogoWidth(){return this._logoWidth!==void 0?this._logoWidth:this.style.logoWidth}_setLogoWidth(e){return e!==void 0?e:this.logoWidth}_getLogoHeight(){return this._logoHeight!==void 0?this._logoHeight:this.style.logoHeight}_setLogoHeight(e){return e!==void 0?e:this.logoHeight}get syncArray(){return[...this._Title?[this._Title]:[],...this._Subtitle?[this._Subtitle]:[],...this._Description?[this._Description]:[],...this._Details?[this._Details]:[]]}set announce(e){super.announce=e}get announce(){return this._announce||[this._Title&&this._Title.announce,this._Subtitle&&this._Subtitle.announce,this._Details&&this._Details.announce,this._Description&&this._Description.announce,this.logoTitle]}},js=Yu(Ku);h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Us=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._radius=0,this._pointerWidth=0,this._pointerHeight=0,this._strokeWidth=0,this._color="white"}set w(e){this._w=e,this._changed()}get w(){return this._w}set h(e){this._h=e,this._changed()}get h(){return this._h}set radius(e){Array.isArray(e)?this._radius=new Array(4).fill().map((t,i)=>e[i]||0):this._radius=e,this._changed()}get radius(){return this._radius}set pointerWidth(e){this._pointerWidth=e,this._changed()}get pointerWidth(){return this._pointerWidth}set pointerHeight(e){this._pointerHeight=e,this._changed()}get pointerHeight(){return this._pointerHeight}set strokeWidth(e){this._strokeWidth=e,this._changed()}get strokeWidth(){return this._strokeWidth}set color(e){this._color=le.StageUtils.getRgbaString(e),this._changed()}get color(){return this._color}createBubble({stage:e,w:t=0,h:i=0,radius:s=0,pointerWidth:n=0,pointerHeight:o=0,strokeWidth:a=1,color:l="white"}){let u=e.platform.getDrawingCanvas(),c=u.getContext("2d");u.width=t+a+4,u.height=i+a+4,c.imageSmoothingEnabled=!0,c.fillStyle=l,c.strokeStyle=l,c.lineWidth=a,c.lineCap="round",c.lineJoin="round";let g=.5*a+1,m=g,y=m+t,b=g,C=b+i,A=C-o,T=Array.isArray(s);return c.beginPath(),c.moveTo(m+(T?s[0]:s),b),c.lineTo(y-(T?s[0]:s),b),c.arcTo(y,b,y,b+(T?s[1]:s),T?s[1]:s),c.lineTo(y,A-(T?s[2]:s)),c.arcTo(y,A,y-(T?s[2]:s),A,T?s[2]:s),c.lineTo(t/2+n/2,A),c.arcTo(t/2,C,t/2-n/2,A,2),c.lineTo(t/2-n/2,A),c.lineTo(m+(T?s[3]:s),A),c.arcTo(m,A,m,A-(T?s[3]:s),T?s[3]:s),c.lineTo(m,b+(T?s[0]:s)),c.arcTo(m,b,m+(T?s[0]:s),b,T?s[0]:s),c.stroke(),c.fill(),u}_getLookupId(){let{w:e,h:t,radius:i,pointerWidth:s,pointerHeight:n,color:o}=this;return`__bubble_${e}x${t}_radius-${i}_pointer-${s}x${n}_fill-${o}`}_getSourceLoader(){return e=>{e(null,{source:this.createBubble(this)})}}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var ec=[{pattern:"TV-14",replacer:"Rated TV-14"},{pattern:"CC",replacer:"Closed Captions available"},{pattern:"HD",replacer:"High Definition available"},{pattern:/ENG(?!\+)/,replacer:"English Available"},{pattern:/ENG\+ES/,replacer:"Available in English and Spanish"},{pattern:"AD",replacer:"Audio Description available"},{pattern:"RT",replacer:"Rotten Tomatoes"},{pattern:/(S)+(\d+)+(E)+(\d+)+/,replacer:(r,e,t,i,s)=>`Season ${t} Episode ${s}`}],bf=tc(ec);function xf(r){return`\\b${r}\\b`}function MA(r){return new RegExp(r.toString()+"|").exec("").length-1}function tc(r=ec,e){let t=e?[...ec,...r]:r,i={},s={},n="",o=0;return t.forEach(({pattern:a,replacer:l},u)=>{let c;if(a instanceof RegExp){let g=u+o;s[g]={pattern:a,replacer:l},c=xf(a.source),o+=MA(a)}else i[a]={replacer:l},c=xf(a);n=n===""?`(${c})`:`${n}|(${c})`}),n=new RegExp(n,"g"),{abbreviationsPattern:n,stringPatternMap:i,regExpPatternMap:s}}var whe=300*1e3;h();d();p();h();d();p();h();d();p();h();d();p();var rc=r=>r*Math.PI/180,zA=r=>r*180/Math.PI,jA=(r,e)=>{let t=e/2,i=r/2,s=Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),n=90,o=Math.ceil(zA(Math.asin(t*Math.sin(rc(n))/s))),a=180-n-o;return[a,90,90+o,180,180+a,270,270+o,360]},UA=(r,e,t)=>{let i=jA(e,t),s=i.findIndex(b=>b>=r),n=t/2,o=e/2;[1,2,5,6].includes(s)&&(n=e/2,o=t/2),[2,4,6].includes(s)?r=r-i[s-1]:s>0&&(r=i[s]-r);let a=r,l=90-a,u=Math.ceil(Math.sin(rc(a))*n/Math.sin(rc(l)));u>o&&(u=o);let c=0,g=0,m=0,y=0;switch(s){case 0:c=e/2+u;break;case 1:c=e,g=t/2-u;break;case 2:c=e,g=t/2+u;break;case 3:c=e/2+u,g=t;break;case 4:c=e/2-u,g=t;break;case 5:g=t/2+u;break;case 6:g=t/2-u;break;case 7:c=e/2-u;break}return c==0&&(m=e,y=t-g),g==0&&(y=t,m=e-c),c==e&&(m=0,y=t-g),g==t&&(y=0,m=e-c),{x0:c,y0:g,x1:m,y1:y}},Yo=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._steps=[],this._degrees=0}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get steps(){return this._steps}set steps(e){this._steps=e,this._changed()}get degrees(){return this._degrees}set degrees(e){this._degrees=e,this._changed()}_getLookupId(){return`__linearGradient_${this._h}_${this._w}_${this._steps.count}_${this._degrees}`}_getSourceLoader(){let e=this._w,t=this._h,i=this._degrees,s=UA(i,e,t),{x0:n,y0:o,x1:a,y1:l}=s,u=this._steps,c=this.strokeWidth,g=this.strokeRadius?Array.isArray(this.strokeRadius)&&this.strokeRadius.length===4?this.strokeRadius:Array(4).fill(this.strokeRadius):Array(4).fill(0);return function(m){let y=this.stage.platform.getDrawingCanvas();y.width=e+c+2,y.height=t+c+2;var b=y.getContext("2d"),C=b.createLinearGradient(n,o,a,l);if(u.forEach(A=>{C.addColorStop(A.percent,A.color)}),c){let A=.5*c+1,T=.5*c+1;b.beginPath(),b.moveTo(A+g[0],T),b.lineTo(A+e-g[1],T),b.arcTo(A+e,T,A+e,T+g[1],g[1]),b.lineTo(A+e,T+t-g[2]),b.arcTo(A+e,T+t,A+e-g[2],T+t,g[2]),b.lineTo(A+g[3],T+t),b.arcTo(A,T+t,A,T+t-g[3],g[3]),b.lineTo(A,T+g[0]),b.arcTo(A,T,A+g[0],T,g[0]),b.closePath(),b.lineWidth=c,b.strokeStyle=C,b.stroke()}else b.fillStyle=C,b.fillRect(0,0,e,t);m(null,{source:y,w:e,h:t})}}};h();d();p();var Xo=class extends le.Texture{constructor(e){super(e),this._color="rgb(0,0,0)",this._fill=!0,this._radius=100,this._stroke=!1,this._strokeColor="rgb(0,0,0)",this._strokeWidth=1}get fill(){return this._fill}set fill(e){this._fill=e,this._changed()}get radius(){return this._radius}set radius(e){this._radius=e,this._changed()}get color(){return this._color}set color(e){this._color=e,this._changed()}get stroke(){return this._stroke}set stroke(e){this._stroke=e,this._changed()}get strokeWidth(){return this._strokeWidth}set strokeWidth(e){this._strokeWidth=e,this._changed()}get strokeColor(){return this._strokeColor}set strokeColor(e){this._strokeColor=e,this._changed()}_getLookupId(){return`__circle_${this._radius}`}_getSourceLoader(){let e=this._color,t=this._fill,i=this._radius,s=this._stroke,n=this._strokeColor,o=this._strokeWidth,a=this.stage.platform.getDrawingCanvas(),l=i;return s&&(l=i+o*2),a.width=l*2,a.height=l*2,function(u){let c=a.getContext("2d");c.lineWidth=o,c.strokeStyle=n,c.fillStyle=e,c.beginPath(),c.arc(l,l,i,0,2*Math.PI),t&&c.fill(),s&&c.stroke(),u(null,{source:a,radius:i})}}};h();d();p();var Ko=class extends le.Texture{constructor(e){super(e),this._color="rgb(13, 13, 15)",this._w=0,this._h=0,this._direction="right"}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get direction(){return this._direction}get color(){return this._color}set color(e){this._color=e,this._changed()}set direction(e){this._direction=e,this._changed()}_getLookupId(){return`__triangle_${this._direction}_${this._w}x${this._h}`}_getSourceLoader(){let e=this._color,t=this._w,i=this._h,s=this._direction;var n=this.stage.platform.getDrawingCanvas();return function(o){var a=n.getContext("2d");n.width=t,n.height=i,a.fillStyle=e,a.strokeStyle=a.fillStyle,a.lineWidth=2,a.lineCap="round",a.lineJoin="round";let l=a.lineWidth/2;a.beginPath(),s==="right"?(a.moveTo(l,l),a.lineTo(l,i-l),a.lineTo(t-l,i/2)):s==="down"?(a.moveTo(l,l),a.lineTo(t-l,l),a.lineTo(t/2,i-l)):(a.moveTo(l,i/2),a.lineTo(t-l,l),a.lineTo(t-l,i-l)),a.closePath(),a.stroke(),a.fill(),o(null,{source:n,w:t,h:i,direction:s})}}};h();d();p();var Jo=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._rounded=!1}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get rounded(){return this._rounded}set rounded(e){this._rounded=e,this._changed()}_getLookupId(){return`__line_${this._w}x${this._h}${this._rounded?"_rounded":""}`}_getSourceLoader(){let e=this._w,t=this._h,i=this._rounded;var s=this.stage.platform.getDrawingCanvas();return function(n){var o=s.getContext("2d");s.width=e,s.height=t,o.lineWidth=t,i&&(o.lineCap="round"),o.strokeStyle="white",o.beginPath(),o.moveTo(i?2:0,t/2),o.lineTo(i?e-2:e,t/2),o.stroke(),n(null,{source:s,w:e,h:t,rounded:i})}}};h();d();p();function vf(r){let[e,t,i,s]=HA(r);return[WA(e,t,i).toUpperCase(),s*100]}function HA(r){let e=(r/65536|0)%256,t=(r/256|0)%256,i=r%256,s=(r/16777216|0)/255;return[e,t,i,s.toFixed(2)]}function ic(r){let e=r.toString(16);return e.length==1?"0"+e:e}function WA(r,e,t){return"#"+ic(r)+ic(e)+ic(t)}function Sf(r){try{if(ke.getValidColor(r))return"color";if(typeof r=="number")return"number"}catch(e){console.error(e)}}function wf(r){if(r!==void 0)return ke.capitalizeFirstLetter(r)}var sc=ye(Ce()),nc=()=>(0,sc.jsx)(Sr,{title:"Download LUI Theme JSON",onClick:()=>{console.log("Downloading LUI-Theme.json...");let e=document.querySelector("iframe").contentWindow.CONTEXT,t=JSON.parse(JSON.stringify(e.theme,(i,s)=>typeof s=="number"&&/^[0-9]{10}$/g.test(s.toString())?vf(s):s));ke.downloadFile(t,`LUI-Theme-${t.name}.json`,"json")},children:(0,sc.jsx)(wr,{icon:"download"})},Vn);h();d();p();Ge();h();d();p();var Af=ye(Cf()),Ef=()=>document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.APP,Hs=()=>document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.CONTEXT,Yr=()=>{let r=Hs();return r&&r.theme},Qo=()=>Yr()||Do;function Ws(r,e){document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.postMessage({theme:r}),e&&e({LUITheme:r})}var qs=(r,e,t=!0)=>{let i=Hs();if(i&&(i.updateTheme(r),t)){let s=Yr(),n=Object.keys(s).reduce((o,a)=>(typeof s[a]=="function"&&(o[a]=s[a]),o),{});Hs().storybookCustomTheme={...JSON.parse(JSON.stringify(Yr())),...n},e({LUITheme:"custom"})}},qA=(0,Af.default)((r,e,t)=>{qs({color:{[r]:ke.getValidColor(e)}},t)},500);function If(){qA(...arguments)}var $s=ye(Ce()),ac=()=>{let[{LUITheme:r},e]=_t(),[t,i]=Fe([]),[s,n]=Fe(!0);return He(()=>{if(r){if(s&&r==="custom"){e({LUITheme:"base"});return}else s&&r!=="base"&&Ws(r);n(!1),i(["base"].filter(o=>r==="custom"?o:o!=="custom").map((o,a)=>({active:o.toLowerCase()===r,id:a,title:ke.capitalizeFirstLetter(o),onClick(){Ws(o.toLowerCase(),e)}})))}},[r]),(0,$s.jsx)("div",{children:(0,$s.jsx)(Sp,{placement:"bottom",trigger:"click",closeOnOutsideClick:!0,tooltip:(0,$s.jsx)(vp,{links:t}),children:(0,$s.jsx)(bp,{title:"Theme",children:"Theme"},Kn)})})};h();d();p();h();d();p();Ge();h();d();p();h();d();p();Ge();var Xt=ye(Ce());function cr({title:r,rows:e}){return(0,Xt.jsxs)("div",{style:{marginBottom:"40px"},children:[(0,Xt.jsx)("h2",{children:r}),(0,Xt.jsxs)("table",{children:[(0,Xt.jsx)("thead",{children:(0,Xt.jsxs)("tr",{children:[(0,Xt.jsx)("th",{children:"Property"}),(0,Xt.jsx)("th",{children:"Value"})]})}),(0,Xt.jsx)("tbody",{children:e})]})]})}h();d();p();Ge();var Vs=ye(Ce());function Tt({label:r,control:e}){return(0,Vs.jsxs)("tr",{children:[(0,Vs.jsx)("td",{children:r}),(0,Vs.jsx)("td",{children:e})]})}h();d();p();Ge();h();d();p();uc();Ge();ta();xc();h();d();p();h();d();p();function xt(){return xt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},xt.apply(null,arguments)}h();d();p();function Gf(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}h();d();p();h();d();p();function Pr(r,e){return Pr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},Pr(r,e)}function Yf(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,Pr(r,e)}h();d();p();h();d();p();function ra(r){return ra=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ra(r)}h();d();p();function Xf(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch{return typeof r=="function"}}h();d();p();h();d();p();function bc(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bc=function(){return!!r})()}function Kf(r,e,t){if(bc())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var s=new(r.bind.apply(r,i));return t&&Pr(s,t.prototype),s}function ia(r){var e=typeof Map=="function"?new Map:void 0;return ia=function(i){if(i===null||!Xf(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(i))return e.get(i);e.set(i,s)}function s(){return Kf(i,arguments,ra(this).constructor)}return s.prototype=Object.create(i.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),Pr(s,i)},ia(r)}h();d();p();var Ct=function(r){Yf(e,r);function e(t){var i;if(1)i=r.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else for(var s,n,o;o<s;o++);return Gf(i)}return e}(ia(Error));function Jf(r,e){return r.substr(-e.length)===e}var HE=/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;function Qf(r){if(typeof r!="string")return r;var e=r.match(HE);return e?parseFloat(r):r}var WE=function(e){return function(t,i){i===void 0&&(i="16px");var s=t,n=i;if(typeof t=="string"){if(!Jf(t,"px"))throw new Ct(69,e,t);s=Qf(t)}if(typeof i=="string"){if(!Jf(i,"px"))throw new Ct(70,e,i);n=Qf(i)}if(typeof s=="string")throw new Ct(71,t,e);if(typeof n=="string")throw new Ct(72,i,e);return""+s/n+e}},eg=WE,wme=eg("em");var Tme=eg("rem");function vc(r){return Math.round(r*255)}function qE(r,e,t){return vc(r)+","+vc(e)+","+vc(t)}function Gs(r,e,t,i){if(i===void 0&&(i=qE),e===0)return i(t,t,t);var s=(r%360+360)%360/60,n=(1-Math.abs(2*t-1))*e,o=n*(1-Math.abs(s%2-1)),a=0,l=0,u=0;s>=0&&s<1?(a=n,l=o):s>=1&&s<2?(a=o,l=n):s>=2&&s<3?(l=n,u=o):s>=3&&s<4?(l=o,u=n):s>=4&&s<5?(a=o,u=n):s>=5&&s<6&&(a=n,u=o);var c=t-n/2,g=a+c,m=l+c,y=u+c;return i(g,m,y)}var Zf={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function $E(r){if(typeof r!="string")return r;var e=r.toLowerCase();return Zf[e]?"#"+Zf[e]:r}var VE=/^#[a-fA-F0-9]{6}$/,GE=/^#[a-fA-F0-9]{8}$/,YE=/^#[a-fA-F0-9]{3}$/,XE=/^#[a-fA-F0-9]{4}$/,Sc=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,KE=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,JE=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,QE=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Ii(r){if(typeof r!="string")throw new Ct(3);var e=$E(r);if(e.match(VE))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(GE)){var t=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alpha:t}}if(e.match(YE))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(XE)){var i=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:i}}var s=Sc.exec(e);if(s)return{red:parseInt(""+s[1],10),green:parseInt(""+s[2],10),blue:parseInt(""+s[3],10)};var n=KE.exec(e.substring(0,50));if(n)return{red:parseInt(""+n[1],10),green:parseInt(""+n[2],10),blue:parseInt(""+n[3],10),alpha:parseFloat(""+n[4])>1?parseFloat(""+n[4])/100:parseFloat(""+n[4])};var o=JE.exec(e);if(o){var a=parseInt(""+o[1],10),l=parseInt(""+o[2],10)/100,u=parseInt(""+o[3],10)/100,c="rgb("+Gs(a,l,u)+")",g=Sc.exec(c);if(!g)throw new Ct(4,e,c);return{red:parseInt(""+g[1],10),green:parseInt(""+g[2],10),blue:parseInt(""+g[3],10)}}var m=QE.exec(e.substring(0,50));if(m){var y=parseInt(""+m[1],10),b=parseInt(""+m[2],10)/100,C=parseInt(""+m[3],10)/100,A="rgb("+Gs(y,b,C)+")",T=Sc.exec(A);if(!T)throw new Ct(4,e,A);return{red:parseInt(""+T[1],10),green:parseInt(""+T[2],10),blue:parseInt(""+T[3],10),alpha:parseFloat(""+m[4])>1?parseFloat(""+m[4])/100:parseFloat(""+m[4])}}throw new Ct(5)}function ZE(r){var e=r.red/255,t=r.green/255,i=r.blue/255,s=Math.max(e,t,i),n=Math.min(e,t,i),o=(s+n)/2;if(s===n)return r.alpha!==void 0?{hue:0,saturation:0,lightness:o,alpha:r.alpha}:{hue:0,saturation:0,lightness:o};var a,l=s-n,u=o>.5?l/(2-s-n):l/(s+n);switch(s){case e:a=(t-i)/l+(t<i?6:0);break;case t:a=(i-e)/l+2;break;default:a=(e-t)/l+4;break}return a*=60,r.alpha!==void 0?{hue:a,saturation:u,lightness:o,alpha:r.alpha}:{hue:a,saturation:u,lightness:o}}function kr(r){return ZE(Ii(r))}var eI=function(e){return e.length===7&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e},Tc=eI;function Jr(r){var e=r.toString(16);return e.length===1?"0"+e:e}function wc(r){return Jr(Math.round(r*255))}function tI(r,e,t){return Tc("#"+wc(r)+wc(e)+wc(t))}function sa(r,e,t){return Gs(r,e,t,tI)}function rI(r,e,t){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number")return sa(r,e,t);if(typeof r=="object"&&e===void 0&&t===void 0)return sa(r.hue,r.saturation,r.lightness);throw new Ct(1)}function iI(r,e,t,i){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number"&&typeof i=="number")return i>=1?sa(r,e,t):"rgba("+Gs(r,e,t)+","+i+")";if(typeof r=="object"&&e===void 0&&t===void 0&&i===void 0)return r.alpha>=1?sa(r.hue,r.saturation,r.lightness):"rgba("+Gs(r.hue,r.saturation,r.lightness)+","+r.alpha+")";throw new Ct(2)}function Cc(r,e,t){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number")return Tc("#"+Jr(r)+Jr(e)+Jr(t));if(typeof r=="object"&&e===void 0&&t===void 0)return Tc("#"+Jr(r.red)+Jr(r.green)+Jr(r.blue));throw new Ct(6)}function Ut(r,e,t,i){if(typeof r=="string"&&typeof e=="number"){var s=Ii(r);return"rgba("+s.red+","+s.green+","+s.blue+","+e+")"}else{if(typeof r=="number"&&typeof e=="number"&&typeof t=="number"&&typeof i=="number")return i>=1?Cc(r,e,t):"rgba("+r+","+e+","+t+","+i+")";if(typeof r=="object"&&e===void 0&&t===void 0&&i===void 0)return r.alpha>=1?Cc(r.red,r.green,r.blue):"rgba("+r.red+","+r.green+","+r.blue+","+r.alpha+")"}throw new Ct(7)}var sI=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},nI=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},oI=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},aI=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function Or(r){if(typeof r!="object")throw new Ct(8);if(nI(r))return Ut(r);if(sI(r))return Cc(r);if(aI(r))return iI(r);if(oI(r))return rI(r);throw new Ct(8)}function tg(r,e,t){return function(){var s=t.concat(Array.prototype.slice.call(arguments));return s.length>=e?r.apply(this,s):tg(r,e,s)}}function Pt(r){return tg(r,r.length,[])}function lI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{hue:t.hue+parseFloat(r)}))}var Cme=Pt(lI);function Ri(r,e,t){return Math.max(r,Math.min(e,t))}function uI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{lightness:Ri(0,1,t.lightness-parseFloat(r))}))}var cI=Pt(uI),Ht=cI;function hI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{saturation:Ri(0,1,t.saturation-parseFloat(r))}))}var Ame=Pt(hI);function dI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{lightness:Ri(0,1,t.lightness+parseFloat(r))}))}var pI=Pt(dI),Lr=pI;function fI(r,e,t){if(e==="transparent")return t;if(t==="transparent")return e;if(r===0)return t;var i=Ii(e),s=xt({},i,{alpha:typeof i.alpha=="number"?i.alpha:1}),n=Ii(t),o=xt({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),a=s.alpha-o.alpha,l=parseFloat(r)*2-1,u=l*a===-1?l:l+a,c=1+l*a,g=(u/c+1)/2,m=1-g,y={red:Math.floor(s.red*g+o.red*m),green:Math.floor(s.green*g+o.green*m),blue:Math.floor(s.blue*g+o.blue*m),alpha:s.alpha*parseFloat(r)+o.alpha*(1-parseFloat(r))};return Ut(y)}var gI=Pt(fI),rg=gI;function mI(r,e){if(e==="transparent")return e;var t=Ii(e),i=typeof t.alpha=="number"?t.alpha:1,s=xt({},t,{alpha:Ri(0,1,(i*100+parseFloat(r)*100)/100)});return Ut(s)}var _I=Pt(mI),Ys=_I;function yI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{saturation:Ri(0,1,t.saturation+parseFloat(r))}))}var Eme=Pt(yI);function xI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{hue:parseFloat(r)}))}var Ime=Pt(xI);function bI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{lightness:parseFloat(r)}))}var Rme=Pt(bI);function vI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{saturation:parseFloat(r)}))}var Pme=Pt(vI);function SI(r,e){return e==="transparent"?e:rg(parseFloat(r),"rgb(0, 0, 0)",e)}var kme=Pt(SI);function wI(r,e){return e==="transparent"?e:rg(parseFloat(r),"rgb(255, 255, 255)",e)}var Ome=Pt(wI);function TI(r,e){if(e==="transparent")return e;var t=Ii(e),i=typeof t.alpha=="number"?t.alpha:1,s=xt({},t,{alpha:Ri(0,1,+(i*100-parseFloat(r)*100).toFixed(2)/100)});return Ut(s)}var CI=Pt(TI),Oe=CI;h();d();p();var kt=(()=>{let r;return typeof window<"u"?r=window:typeof globalThis<"u"?r=globalThis:typeof window<"u"?r=window:typeof self<"u"?r=self:r={},r})();Ec();h();d();p();var Kbe=__STORYBOOK_CLIENT_LOGGER__,{deprecate:kI,logger:na,once:OI,pretty:Jbe}=__STORYBOOK_CLIENT_LOGGER__;h();d();p();var LI=Object.create,mg=Object.defineProperty,DI=Object.getOwnPropertyDescriptor,FI=Object.getOwnPropertyNames,BI=Object.getPrototypeOf,MI=Object.prototype.hasOwnProperty,NI=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),zI=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of FI(e))!MI.call(r,s)&&s!==t&&mg(r,s,{get:()=>e[s],enumerable:!(i=DI(e,s))||i.enumerable});return r},jI=(r,e,t)=>(t=r!=null?LI(BI(r)):{},zI(e||!r||!r.__esModule?mg(t,"default",{value:r,enumerable:!0}):t,r)),UI=NI(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isEqual=function(){var e=Object.prototype.toString,t=Object.getPrototypeOf,i=Object.getOwnPropertySymbols?function(s){return Object.keys(s).concat(Object.getOwnPropertySymbols(s))}:Object.keys;return function(s,n){return function o(a,l,u){var c,g,m,y=e.call(a),b=e.call(l);if(a===l)return!0;if(a==null||l==null)return!1;if(u.indexOf(a)>-1&&u.indexOf(l)>-1)return!0;if(u.push(a,l),y!=b||(c=i(a),g=i(l),c.length!=g.length||c.some(function(C){return!o(a[C],l[C],u)})))return!1;switch(y.slice(8,-1)){case"Symbol":return a.valueOf()==l.valueOf();case"Date":case"Number":return+a==+l||+a!=+a&&+l!=+l;case"RegExp":case"Function":case"String":case"Boolean":return""+a==""+l;case"Set":case"Map":c=a.entries(),g=l.entries();do if(!o((m=c.next()).value,g.next().value,u))return!1;while(!m.done);return!0;case"ArrayBuffer":a=new Uint8Array(a),l=new Uint8Array(l);case"DataView":a=new Uint8Array(a.buffer),l=new Uint8Array(l.buffer);case"Float32Array":case"Float64Array":case"Int8Array":case"Int16Array":case"Int32Array":case"Uint8Array":case"Uint16Array":case"Uint32Array":case"Uint8ClampedArray":case"Arguments":case"Array":if(a.length!=l.length)return!1;for(m=0;m<a.length;m++)if((m in a||m in l)&&(m in a!=m in l||!o(a[m],l[m],u)))return!1;return!0;case"Object":return o(t(a),t(l),u);default:return!1}}(s,n,[])}}()});function HI(r){return r.replace(/_/g," ").replace(/-/g," ").replace(/\./g," ").replace(/([^\n])([A-Z])([a-z])/g,(e,t,i,s)=>`${t} ${i}${s}`).replace(/([a-z])([A-Z])/g,(e,t,i)=>`${t} ${i}`).replace(/([a-z])([0-9])/gi,(e,t,i)=>`${t} ${i}`).replace(/([0-9])([a-z])/gi,(e,t,i)=>`${t} ${i}`).replace(/(\s|^)(\w)/g,(e,t,i)=>`${t}${i.toUpperCase()}`).replace(/ +/g," ").trim()}var pg=jI(UI()),_g=r=>r.map(e=>typeof e<"u").filter(Boolean).length,WI=(r,e)=>{let{exists:t,eq:i,neq:s,truthy:n}=r;if(_g([t,i,s,n])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:t,eq:i,neq:s})}`);if(typeof i<"u")return(0,pg.isEqual)(e,i);if(typeof s<"u")return!(0,pg.isEqual)(e,s);if(typeof t<"u"){let o=typeof e<"u";return t?o:!o}return typeof n>"u"||n?!!e:!e},Ic=(r,e,t)=>{if(!r.if)return!0;let{arg:i,global:s}=r.if;if(_g([i,s])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:i,global:s})}`);let n=i?e[i]:t[s];return WI(r.if,n)},Rc=r=>r.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,"-").replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),fg=(r,e)=>{let t=Rc(r);if(t==="")throw new Error(`Invalid ${e} '${r}', must include alphanumeric characters`);return t},yg=(r,e)=>`${fg(r,"kind")}${e?`--${fg(e,"name")}`:""}`,xg=r=>HI(r);function gg(r,e){return Array.isArray(e)?e.includes(r):r.match(e)}function oa(r,{includeStories:e,excludeStories:t}){return r!=="__esModule"&&(!e||gg(r,e))&&(!t||!gg(r,t))}var bg=(...r)=>{let e=r.reduce((t,i)=>(i.startsWith("!")?t.delete(i.slice(1)):t.add(i),t),new Set);return Array.from(e)};var D8=ye(Nx(),1);h();d();p();Ge();var zx;(function(r){r[r.MAX=0]="MAX",r[r.HIGH=1]="HIGH",r[r.MED=2]="MED",r[r.LOW=3]="LOW",r[r.MIN=4]="MIN"})(zx||(zx={}));var SEe=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","className","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((r,e)=>(r[e.toLowerCase()]=e,r),{for:"htmlFor"});var DB=/^(\s*>[\s\S]*?)(?=\n{2,})/;var FB=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,BB=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/;var MB=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,NB=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,zB=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,jB=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i;var UB=/^<!--[\s\S]*?(?:-->)/;var HB=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i;var WB=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/;var Ca="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",wEe=new RegExp(`^([*_])\\1${Ca}\\1\\1(?!\\1)`),TEe=new RegExp(`^([*_])${Ca}\\1(?!\\1|\\w)`),CEe=new RegExp(`^==${Ca}==`),AEe=new RegExp(`^~~${Ca}~~`);var hh="(?:\\d+\\.)",dh="(?:[*+-])";function jx(r){return"( *)("+(r===1?hh:dh)+") +"}var Ux=jx(1),Hx=jx(2);function Wx(r){return new RegExp("^"+(r===1?Ux:Hx))}var EEe=Wx(1),IEe=Wx(2);function qx(r){return new RegExp("^"+(r===1?Ux:Hx)+"[^\\n]*(?:\\n(?!\\1"+(r===1?hh:dh)+" )[^\\n]*)*(\\n|$)","gm")}var qB=qx(1),$B=qx(2);function $x(r){let e=r===1?hh:dh;return new RegExp("^( *)("+e+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+e+" (?!"+e+" ))\\n*|\\s*\\n*$)")}var VB=$x(1),GB=$x(2);var REe=new RegExp(`^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['"]([\\s\\S]*?)['"])?\\s*\\)`);var YB=[DB,FB,BB,MB,zB,NB,UB,WB,qB,VB,$B,GB],PEe=[...YB,/^[^\n]+(?: \n|\n{2,})/,jB,HB];var F8=ye(Kb(),1),B8=ye(m0(),1),kC=ye(gh(),1);h();d();p();h();d();p();h();d();p();var lPe=__STORYBOOK_CHANNELS__,{Channel:y0,PostMessageTransport:uPe,WebsocketTransport:cPe,createBrowserChannel:hPe}=__STORYBOOK_CHANNELS__;h();d();p();var mPe=__STORYBOOK_CLIENT_LOGGER__,{deprecate:hr,logger:Pe,once:Br,pretty:_Pe}=__STORYBOOK_CLIENT_LOGGER__;h();d();p();var SPe=__STORYBOOK_CORE_EVENTS__,{ARGTYPES_INFO_REQUEST:x0,ARGTYPES_INFO_RESPONSE:mh,CHANNEL_CREATED:wPe,CHANNEL_WS_DISCONNECT:TPe,CONFIG_ERROR:b0,CREATE_NEW_STORYFILE_REQUEST:CPe,CREATE_NEW_STORYFILE_RESPONSE:APe,CURRENT_STORY_WAS_SET:_h,DOCS_PREPARED:v0,DOCS_RENDERED:Ia,FILE_COMPONENT_SEARCH_REQUEST:EPe,FILE_COMPONENT_SEARCH_RESPONSE:IPe,FORCE_REMOUNT:S0,FORCE_RE_RENDER:Ra,GLOBALS_UPDATED:Zr,NAVIGATE_URL:w0,PLAY_FUNCTION_THREW_EXCEPTION:T0,PRELOAD_ENTRIES:C0,PREVIEW_BUILDER_PROGRESS:RPe,PREVIEW_KEYDOWN:A0,REGISTER_SUBSCRIPTION:PPe,REQUEST_WHATS_NEW_DATA:kPe,RESET_STORY_ARGS:cn,RESULT_WHATS_NEW_DATA:OPe,SAVE_STORY_REQUEST:LPe,SAVE_STORY_RESPONSE:DPe,SELECT_STORY:FPe,SET_CONFIG:BPe,SET_CURRENT_STORY:E0,SET_FILTER:MPe,SET_GLOBALS:I0,SET_INDEX:NPe,SET_STORIES:zPe,SET_WHATS_NEW_CACHE:jPe,SHARED_STATE_CHANGED:UPe,SHARED_STATE_SET:HPe,STORIES_COLLAPSE_ALL:WPe,STORIES_EXPAND_ALL:qPe,STORY_ARGS_UPDATED:yh,STORY_CHANGED:R0,STORY_ERRORED:P0,STORY_INDEX_INVALIDATED:k0,STORY_MISSING:xh,STORY_PREPARED:O0,STORY_RENDERED:hn,STORY_RENDER_PHASE_CHANGED:Ui,STORY_SPECIFIED:L0,STORY_THREW_EXCEPTION:D0,STORY_UNCHANGED:F0,TELEMETRY_ERROR:$Pe,TOGGLE_WHATS_NEW_NOTIFICATIONS:VPe,UNHANDLED_ERRORS_WHILE_PLAYING:B0,UPDATE_GLOBALS:Pa,UPDATE_QUERY_PARAMS:M0,UPDATE_STORY_ARGS:dn}=__STORYBOOK_CORE_EVENTS__;h();d();p();var jN=Object.defineProperty,qe=(r,e)=>jN(r,"name",{value:e,configurable:!0});function Ye(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=Array.from(typeof r=="string"?[r]:r);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var s=i.reduce(function(a,l){var u=l.match(/\n([\t ]+|(?!\s).)/g);return u?a.concat(u.map(function(c){var g,m;return(m=(g=c.match(/[\t ]/g))===null||g===void 0?void 0:g.length)!==null&&m!==void 0?m:0})):a},[]);if(s.length){var n=new RegExp(` +`;var Ir=class extends ve{static _template(){return{ContentClipper:{boundsMargin:[],ContentBox:{Content:{},ContentLoopTexture:{}}}}}static get __componentName(){return"Marquee"}static get __themeStyle(){return $u}static get tags(){return["ContentClipper",{name:"ContentBox",path:"ContentClipper.ContentBox"},{name:"Content",path:"ContentClipper.ContentBox.Content"},{name:"ContentLoopTexture",path:"ContentClipper.ContentBox.ContentLoopTexture"}]}static get properties(){return["autoStart","title","contentTexture","color","centerAlign","delay","repeat","overrideLoopX"]}static get aliasStyles(){return[{prev:"fadeW",curr:"fadeWidth"}]}_construct(){super._construct(),this._scrolling=!1,this._autoStart=!1,this._centerAlign=!1}_init(){this._Content.on("txLoaded",this._updateContentTexture.bind(this)),super._init()}_updateContentTexture(){let e=this._restartScrolling;this.stopScrolling(),this._currentTexture.h||(this._ContentClipper.h=this._currentTexture.text&&this._currentTexture.text.lineHeight?this._currentTexture.text.lineHeight:this._Content.finalH),this._shouldClip?this._updateShader():(this._ContentClipper.shader=null,this._positionTexture()),e&&this.startScrolling(),this.signal("marqueeContentLoaded")}_update(){this._updateColor(),this._updateTexture(),this._updateShader(),this._restartScrolling&&this.startScrolling()}get _restartScrolling(){return this.autoStart||this._scrolling||this._shouldTryScrolling}_updateColor(){this.color&&(this._Content.smooth={color:ke.getValidColor(this.color)})}get _currentTexture(){return this._Content.text||this._Content.texture||{}}_updateTexture(){let e={rtt:!0};this.contentTexture?e.texture=this.contentTexture:this.title&&(e.text={...this.style.textStyle,...this.title,text:this.textContent}),this.patch({ContentClipper:{w:this.w+14,ContentBox:{Content:e,ContentLoopTexture:{}}}}),this.signal("marqueeContentLoaded")}_updateShader(){this._ContentClipper.patch({w:this.w>0?this.w+this.style.fadeWidth/2:0,shader:{type:Yt,positionLeft:0,positionRight:this.style.fadeWidth},rtt:!0})}_updateAnimation(){this._scrollAnimation&&this._scrollAnimation.stopNow(),this._scrollAnimation=this.animation({duration:this._loopWidth/50,delay:isNaN(this.delay)?1.5:this.delay,repeat:isNaN(this.repeat)?-1:this.repeat,actions:[{t:"ContentBox",p:"x",v:{sm:0,0:{v:0},.5:{v:-(this._loopWidth+this.style.offset)}}},{t:"ContentClipper",p:"shader.positionLeft",v:{sm:0,0:{v:0},.1:{v:this.style.fadeWidth},.4:{v:this.style.fadeWidth},.5:{v:0}}}]})}_positionTexture(){let e=this._shouldCenter()?(this.w-this._textRenderedW)/2:0;this.style.shouldSmooth?this._ContentBox.smooth={x:e}:this._ContentBox.x=e}startScrolling(){this._Content.off("txLoaded",this.startScrolling.bind(this)),this._shouldTryScrolling=!0,this._textRenderedW===0&&this._Content.on("txLoaded",this.startScrolling.bind(this)),this._shouldClip?(this._scrolling=!0,this._ContentLoopTexture.x=this._loopWidth+this.style.offset,this._ContentLoopTexture.texture=this._Content.getTexture(),this._updateAnimation(),this._scrollAnimation.start()):this._scrolling=!1}stopScrolling(){this._shouldTryScrolling=!1,this._scrolling=!1,this._scrollAnimation&&(this._scrollAnimation.stopNow(),this._ContentLoopTexture.texture=null)}get _shouldClip(){return this._textRenderedW>this.w-this.style.fadeWidth/4}_shouldCenter(){return this._centerAlign||this._Content.text&&this._Content.text.textAlign==="center"}_setAutoStart(e){return this.autoStart&&!e&&this._updateContentTexture(),e}_setCenterAlign(e){return this._centerAlign=e,this._updateContentTexture(),e}get textContent(){return this.title?.text??this.title??""}get _loopWidth(){return this.overrideLoopX||this._textRenderedW}get _textRenderedW(){return this._Content.renderWidth}set announce(e){super.announce=e}get announce(){return this._announce||this.title&&this.title.text}};var R2=Object.entries(Object.getOwnPropertyDescriptors(le.textures.TextTexture.prototype)).reduce((r,[e])=>{let t=le.textures.TextTexture.prototype[e];return e.startsWith("_")||["undefined","function"].includes(typeof t)?r:{[e]:t,...r}},{}),Ne=class extends ve{static _template(){return{alpha:.001}}static get __componentName(){return"TextBox"}static get __themeStyle(){return Wu}static get tags(){return["InlineContent","Marquee","Text"]}static get properties(){return[...ur.properties,"content","fixed","marquee","marqueeProps","hideOnLoad"]}_setDimensions(e,t){let i=e,s=t;this._isInlineContent||(i=this._Text.texture.getRenderWidth(),s=this._Text.texture.getRenderHeight());let n=this.w!==i||this.h!==s;i&&s&&n&&(this.h=s,this.fixed||(this.w=i),!this.hideOnLoad&&this.alpha<1&&(this.alpha=1),this._notifyAncestors())}_setContent(e){return this._isInlineContent=!1,(Array.isArray(e)||ke.isMarkupString(e))&&(this._isInlineContent=!0),typeof e!="string"&&!this._isInlineContent?"":e}get title(){return this._content}_notifyAncestors(e=this.w,t=this.h){this.fireAncestors("$itemChanged"),this.signal("textBoxChanged",{w:e,h:t})}_construct(){super._construct(),this._marqueeContentListenerAttached=!1,this._marqueeOverrideLoopX=void 0,this._resetMarqueePromise()}_update(){if(!this.content){(this._Text||this._InlineContent)&&(this.w=this.h=0,this._notifyAncestors(),this._updateMarquee(),this.patch({Text:void 0,InlineContent:void 0}));return}this._isInlineContent?this._updateInlineContent():this._updateText(),this._updateMarquee()}_updateInlineContent(){this.patch({Text:void 0});let e=ur.properties.reduce((t,i)=>(this[i]!=null&&(t[i]=this[i]),t),{style:{...this.style,textStyle:this._textStyleSet}});this._textStyleSet.wordWrapWidth&&(e.w=this._textStyleSet.wordWrapWidth,e.rtt=!0),this._textStyleSet.maxLines&&(e.maxLines=this._textStyleSet.maxLines),this._textStyleSet.maxLinesSuffix&&(e.maxLinesSuffix=this._textStyleSet.maxLinesSuffix),this.patch({alpha:1,InlineContent:{type:ur,w:this.w,...e,signals:{loadedInlineContent:"_setDimensions"}}})}_updateText(){this.patch({InlineContent:void 0}),this._Text||(this.patch({Text:{}}),this._Text.on("txLoaded",this._setDimensions.bind(this)));let e=this._textStyleSet;this._Text&&this._Text.patch({y:this.style.offsetY,x:this.style.offsetX,text:{...R2,...e}})}set marqueeOverrideLoopX(e){this._marqueeOverrideLoopX=e,this._Marquee&&(this._Marquee.overrideLoopX=this._marqueeOverrideLoopX),this._resolveAwaitMarqueeOverrideX()}get marqueeOverrideLoopX(){return this._marqueeOverrideLoopX}_resetMarqueePromise(){this._awaitMarqueeOverrideX=new Promise((e,t)=>{this._resolveAwaitMarqueeOverrideX=e,this._rejectAwaitMarqueeOverrideX=t})}_loadedMarqueeContent(){this.signal("willMarquee",this._Marquee)}_updateMarquee(){if(this._Marquee&&!this.marquee&&this._toggleMarquee(this._contentTag),this.marquee){this._resetMarqueePromise();let e={...this.marqueeProps,w:this._textStyleSet.wordWrapWidth||this.w,h:this.h,y:this.style.offsetY,x:this.style.offsetX,signals:{marqueeContentLoaded:"_loadedMarqueeContent"}};this._Marquee||(e.type=Ir),this._isInlineContent?(this._InlineContent.w=0,e.title=void 0,e.contentTexture=this._contentTag.getTexture(),e.w=this._textStyleSet.wordWrapWidth||this.w):(e.contentTexture=void 0,e.title={text:this._contentTag.text.text,...this._textStyleSet,wordWrapWidth:0,maxLines:1}),this.patch({Marquee:e}),this._marqueeContentListenerAttached||(this._marqueeContentListenerAttached=!0),typeof this._marqueeOverrideLoopX<"u"?this._awaitMarqueeOverrideX.then(()=>{this._toggleMarquee(this._contentTag)}):this._toggleMarquee(this._contentTag)}}_getMarqueeProps(){return this._marqueeProps??{}}get _textStyleSet(){let e={...this.theme.typography.body1,...this.style.textStyle!==null&&typeof this.style.textStyle=="object"&&Object.keys(this.style.textStyle)?this.style.textStyle:this.theme.typography[this.style.textStyle]};return this.constructor.properties.forEach(t=>{if(t!=="fontStyle"&&typeof this[`_${t}`]<"u"){let i=t==="content"?"text":t;e[i]=this[`_${t}`]}}),this.w&&!this._isInlineContent&&!this.style.textStyle.wordWrapWidth&&this.fixed&&(e.wordWrapWidth=this.w),e}get _contentTag(){return this._isInlineContent?this._InlineContent:this._Text}_toggleMarquee(e){this.marquee?(e&&(e.alpha=.001),this._Marquee&&(this._Marquee.alpha=1,this._Marquee.startScrolling())):(e&&(e.alpha=1),this._Marquee&&(this._Marquee.alpha=.001,this._Marquee.stopScrolling()))}toggleMarquee(){this._toggleMarquee(this._contentTag)}get announce(){return this._announce||(this._isInlineContent&&this._InlineContent?this._InlineContent.announce:this.content)}set announce(e){super.announce=e}set smooth(e){he.warn("warning: value smoothing is known to cause bugs with the TextBox - patch updated values instead."),super.smooth=e}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();function Gu(r){return class extends r{static get name(){return r.name}_init(){super._init(),this._shouldSync&&this._updateSignals()}_update(){super._update(),this._shouldSync?this._updateSignals():this._cleanupSyncValues()}_cleanupSyncValues(){this.syncArray.map(e=>{e.marqueeOverrideLoopX=void 0,e.signals&&e.signals.willMarquee&&delete e.signals.willMarquee})}_updateSignals(){this.syncArray&&this.syncArray.map(e=>{e.signals={...e.signals,willMarquee:"_willMarquee"}})}_willMarquee(e){this._shouldSync&&(this._longestMarqueeWidth=Math.max(e._textRenderedW||0,this._longestMarqueeWidth||0),this.syncArray.map(t=>{t.marqueeOverrideLoopX=this._longestMarqueeWidth}))}get _shouldSync(){return this.style.marqueeSync===!1?!1:this.syncArray?Array.isArray(this.syncArray)?this.syncArray.length<2?(be.warn("warning: syncArray must contain at least two component references."),!1):!0:(be.warn("warning: syncArray must be typeof array."),!1):(be.warn("warning: components using MarqueeSync must have a syncArray getter defined."),!1)}}}var Yu=Gu;var Xu={};rr(Xu,{base:()=>H2,mode:()=>W2,tone:()=>q2});h();d();p();var H2=r=>({descriptionTextStyle:{...r.typography.body2,maxLines:1},fadeWidth:100,logoWidth:r.typography.body3.lineHeight,logoHeight:r.typography.body3.lineHeight,logoPadding:r.spacer.lg,detailsTextStyle:r.typography.body3,subtitleTextStyle:r.typography.body3,titleTextStyle:{...r.typography.headline1,maxLines:1},marqueeSync:!0,alpha:r.alpha.primary}),W2=r=>({disabled:{detailsTextStyle:{textColor:r.color.textNeutralDisabled},alpha:r.alpha.inactive}}),q2=r=>({neutral:{titleTextStyle:{textColor:r.color.textNeutral},subtitleTextStyle:{textColor:r.color.textNeutralSecondary},detailsTextStyle:{textColor:r.color.textNeutral},descriptionTextStyle:{textColor:r.color.textNeutralSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}},inverse:{titleTextStyle:{textColor:r.color.textInverse},subtitleTextStyle:{textColor:r.color.textInverseSecondary},detailsTextStyle:{textColor:r.color.textInverse},descriptionTextStyle:{textColor:r.color.textInverseSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},subtitleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}},brand:{titleTextStyle:{textColor:r.color.textNeutral},subtitleTextStyle:{textColor:r.color.textNeutralSecondary},detailsTextStyle:{textColor:r.color.textNeutral},descriptionTextStyle:{textColor:r.color.textNeutralSecondary},mode:{disabled:{titleTextStyle:{textColor:r.color.textNeutralDisabled},detailsTextStyle:{textColor:r.color.textNeutralDisabled},descriptionTextStyle:{textColor:r.color.textNeutralDisabled}}}}});var Ku=class extends ve{static get __componentName(){return"MetadataBase"}static get __themeStyle(){return Xu}static _template(){return{Text:{flex:{direction:"column",justifyContent:"flex-start"},DetailsWrapper:{}}}}static get properties(){return["description","logo","logoHeight","logoPosition","logoTitle","logoWidth","details","subtitle","title","marquee"]}static get tags(){return["Text",{name:"Title",path:"Text.Title"},{name:"Subtitle",path:"Text.Subtitle"},{name:"DetailsWrapper",path:"Text.DetailsWrapper"},{name:"Details",path:"Text.DetailsWrapper.Details"},{name:"Description",path:"Text.Description"},"Logo"]}_titleLoaded(){this._updateLayout()}_subtitleLoaded(){this._updateLayout()}_detailsLoaded({w:e,h:t}){this._updateDetailsLayout({w:e,h:t}),this._updateLayout()}_descriptionLoaded(){this._updateLayout()}_updateDetailsLayout({w:e,h:t}){!this.details&&!this._Details||this._DetailsWrapper&&(this._DetailsWrapper.alpha=this.style.alpha,this._DetailsWrapper.w=e,this._DetailsWrapper.h=t)}_update(){this._updateLines(),this._updateLayout()}_updateLines(){this._Text.w=this._textW(),this._updateTitle(),this._updateSubtitle(),this._updateDetails(),this._updateDescription()}_updateLayout(){this._Text.h=this._textH(),this._updateMetadataHeight(),this._updatePositions(),this._updateLogo()}_updatePositions(){this._Text.x=this.logo&&this.logoPosition==="left"?this.logoWidth+this.style.logoPadding:0,this._Text.y=(this.h-this._Text.h)/2}_updateMetadataHeight(){let e=Math.max(this.logoHeight,this._Text.h);this.h!==e&&(this.h=e,this.signal("updateComponentDimensions"))}_updateTitle(){!this.title&&!this._Title||(this._Title||this._Text.childList.addAt({ref:"Title",type:Ne,signals:{textBoxChanged:"_titleLoaded"}},0),this._Title.patch({content:this.title,marquee:this.marquee,style:{textStyle:{...this.style.titleTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}_updateSubtitle(){!this.subtitle&&!this._Subtitle||(this._Subtitle||this._Text.childList.addAt({ref:"Subtitle",type:Ne,signals:{textBoxChanged:"_subtitleLoaded"}},1),this._Subtitle.patch({content:this.subtitle,marquee:this.marquee,style:{textStyle:{...this.style.subtitleTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}resetMarquee(){this.marquee&&(this.title&&(this._Title||this._updateTitle(),this._Title.toggleMarquee()),this.description&&(this._Description||this._updateDescription(),this._Description.toggleMarquee()))}_updateDetails(){!this.details&&!this._Details||(this._Details||this._DetailsWrapper.patch({Details:{type:Ne,signals:{textBoxChanged:"_detailsLoaded"}}}),this._Details.patch({content:this.details,style:{textStyle:this.style.detailsTextStyle}}),this._Details.finalW>this._textW()?this._Details.patch({w:this._textW()+this.style.fadeWidth/2,shader:{type:Yt,positionLeft:0,positionRight:this.style.fadeWidth},rtt:!0}):this._DetailsWrapper.shader=void 0,this._DetailsWrapper.visible=!!this.details,this._DetailsWrapper.alpha=this.style.alpha)}_updateDescription(){!this.description&&!this._Description||(this._Description||this._Text.childList.add({ref:"Description",type:Ne,signals:{textBoxChanged:"_descriptionLoaded"}}),this._Description.patch({content:this.description,marquee:this.marquee,style:{textStyle:{...this.style.descriptionTextStyle,maxLines:1,wordWrap:!0,wordWrapWidth:this._Text.w}}}))}_updateLogo(){if(!this.logo&&!this._Logo)return;this._Logo||this.patch({Logo:{flexItem:!1,type:We}}),this.logoPosition=this.logoPosition||"right";let e=this.subtitle&&this._Subtitle&&this._Subtitle.h||0;this._Logo.patch({w:this.logoWidth,h:this.logoHeight,icon:this.logo,alpha:this.style.alpha}),this._Logo.x=this.logoPosition==="left"?0:this.w-this._Logo.w,this._Logo.y=(this.h-this.logoHeight+e)/2}_textW(){return this.w-(this.logo?this.logoWidth+this.style.logoPadding:0)}_textH(){let e=this.title&&this._Title&&this._Title.h||0,t=this.subtitle&&this._Subtitle&&this._Subtitle.h||0,i=this.details&&this._DetailsWrapper&&this._DetailsWrapper.h||0,s=this.description&&this._Description&&this._Description.h||0;return e+t+i+s}_getLogoWidth(){return this._logoWidth!==void 0?this._logoWidth:this.style.logoWidth}_setLogoWidth(e){return e!==void 0?e:this.logoWidth}_getLogoHeight(){return this._logoHeight!==void 0?this._logoHeight:this.style.logoHeight}_setLogoHeight(e){return e!==void 0?e:this.logoHeight}get syncArray(){return[...this._Title?[this._Title]:[],...this._Subtitle?[this._Subtitle]:[],...this._Description?[this._Description]:[],...this._Details?[this._Details]:[]]}set announce(e){super.announce=e}get announce(){return this._announce||[this._Title&&this._Title.announce,this._Subtitle&&this._Subtitle.announce,this._Details&&this._Details.announce,this._Description&&this._Description.announce,this.logoTitle]}},js=Yu(Ku);h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var Us=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._radius=0,this._pointerWidth=0,this._pointerHeight=0,this._strokeWidth=0,this._color="white"}set w(e){this._w=e,this._changed()}get w(){return this._w}set h(e){this._h=e,this._changed()}get h(){return this._h}set radius(e){Array.isArray(e)?this._radius=new Array(4).fill().map((t,i)=>e[i]||0):this._radius=e,this._changed()}get radius(){return this._radius}set pointerWidth(e){this._pointerWidth=e,this._changed()}get pointerWidth(){return this._pointerWidth}set pointerHeight(e){this._pointerHeight=e,this._changed()}get pointerHeight(){return this._pointerHeight}set strokeWidth(e){this._strokeWidth=e,this._changed()}get strokeWidth(){return this._strokeWidth}set color(e){this._color=le.StageUtils.getRgbaString(e),this._changed()}get color(){return this._color}createBubble({stage:e,w:t=0,h:i=0,radius:s=0,pointerWidth:n=0,pointerHeight:o=0,strokeWidth:a=1,color:l="white"}){let u=e.platform.getDrawingCanvas(),c=u.getContext("2d");u.width=t+a+4,u.height=i+a+4,c.imageSmoothingEnabled=!0,c.fillStyle=l,c.strokeStyle=l,c.lineWidth=a,c.lineCap="round",c.lineJoin="round";let g=.5*a+1,m=g,y=m+t,b=g,C=b+i,A=C-o,T=Array.isArray(s);return c.beginPath(),c.moveTo(m+(T?s[0]:s),b),c.lineTo(y-(T?s[0]:s),b),c.arcTo(y,b,y,b+(T?s[1]:s),T?s[1]:s),c.lineTo(y,A-(T?s[2]:s)),c.arcTo(y,A,y-(T?s[2]:s),A,T?s[2]:s),c.lineTo(t/2+n/2,A),c.arcTo(t/2,C,t/2-n/2,A,2),c.lineTo(t/2-n/2,A),c.lineTo(m+(T?s[3]:s),A),c.arcTo(m,A,m,A-(T?s[3]:s),T?s[3]:s),c.lineTo(m,b+(T?s[0]:s)),c.arcTo(m,b,m+(T?s[0]:s),b,T?s[0]:s),c.stroke(),c.fill(),u}_getLookupId(){let{w:e,h:t,radius:i,pointerWidth:s,pointerHeight:n,color:o}=this;return`__bubble_${e}x${t}_radius-${i}_pointer-${s}x${n}_fill-${o}`}_getSourceLoader(){return e=>{e(null,{source:this.createBubble(this)})}}};h();d();p();h();d();p();h();d();p();h();d();p();h();d();p();var ec=[{pattern:"TV-14",replacer:"Rated TV-14"},{pattern:"CC",replacer:"Closed Captions available"},{pattern:"HD",replacer:"High Definition available"},{pattern:/ENG(?!\+)/,replacer:"English Available"},{pattern:/ENG\+ES/,replacer:"Available in English and Spanish"},{pattern:"AD",replacer:"Audio Description available"},{pattern:"RT",replacer:"Rotten Tomatoes"},{pattern:/(S)+(\d+)+(E)+(\d+)+/,replacer:(r,e,t,i,s)=>`Season ${t} Episode ${s}`}],bf=tc(ec);function xf(r){return`\\b${r}\\b`}function NA(r){return new RegExp(r.toString()+"|").exec("").length-1}function tc(r=ec,e){let t=e?[...ec,...r]:r,i={},s={},n="",o=0;return t.forEach(({pattern:a,replacer:l},u)=>{let c;if(a instanceof RegExp){let g=u+o;s[g]={pattern:a,replacer:l},c=xf(a.source),o+=NA(a)}else i[a]={replacer:l},c=xf(a);n=n===""?`(${c})`:`${n}|(${c})`}),n=new RegExp(n,"g"),{abbreviationsPattern:n,stringPatternMap:i,regExpPatternMap:s}}var The=300*1e3;h();d();p();h();d();p();h();d();p();h();d();p();var rc=r=>r*Math.PI/180,jA=r=>r*180/Math.PI,UA=(r,e)=>{let t=e/2,i=r/2,s=Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),n=90,o=Math.ceil(jA(Math.asin(t*Math.sin(rc(n))/s))),a=180-n-o;return[a,90,90+o,180,180+a,270,270+o,360]},HA=(r,e,t)=>{let i=UA(e,t),s=i.findIndex(b=>b>=r),n=t/2,o=e/2;[1,2,5,6].includes(s)&&(n=e/2,o=t/2),[2,4,6].includes(s)?r=r-i[s-1]:s>0&&(r=i[s]-r);let a=r,l=90-a,u=Math.ceil(Math.sin(rc(a))*n/Math.sin(rc(l)));u>o&&(u=o);let c=0,g=0,m=0,y=0;switch(s){case 0:c=e/2+u;break;case 1:c=e,g=t/2-u;break;case 2:c=e,g=t/2+u;break;case 3:c=e/2+u,g=t;break;case 4:c=e/2-u,g=t;break;case 5:g=t/2+u;break;case 6:g=t/2-u;break;case 7:c=e/2-u;break}return c==0&&(m=e,y=t-g),g==0&&(y=t,m=e-c),c==e&&(m=0,y=t-g),g==t&&(y=0,m=e-c),{x0:c,y0:g,x1:m,y1:y}},Yo=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._steps=[],this._degrees=0}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get steps(){return this._steps}set steps(e){this._steps=e,this._changed()}get degrees(){return this._degrees}set degrees(e){this._degrees=e,this._changed()}_getLookupId(){return`__linearGradient_${this._h}_${this._w}_${this._steps.count}_${this._degrees}`}_getSourceLoader(){let e=this._w,t=this._h,i=this._degrees,s=HA(i,e,t),{x0:n,y0:o,x1:a,y1:l}=s,u=this._steps,c=this.strokeWidth,g=this.strokeRadius?Array.isArray(this.strokeRadius)&&this.strokeRadius.length===4?this.strokeRadius:Array(4).fill(this.strokeRadius):Array(4).fill(0);return function(m){let y=this.stage.platform.getDrawingCanvas();y.width=e+c+2,y.height=t+c+2;var b=y.getContext("2d"),C=b.createLinearGradient(n,o,a,l);if(u.forEach(A=>{C.addColorStop(A.percent,A.color)}),c){let A=.5*c+1,T=.5*c+1;b.beginPath(),b.moveTo(A+g[0],T),b.lineTo(A+e-g[1],T),b.arcTo(A+e,T,A+e,T+g[1],g[1]),b.lineTo(A+e,T+t-g[2]),b.arcTo(A+e,T+t,A+e-g[2],T+t,g[2]),b.lineTo(A+g[3],T+t),b.arcTo(A,T+t,A,T+t-g[3],g[3]),b.lineTo(A,T+g[0]),b.arcTo(A,T,A+g[0],T,g[0]),b.closePath(),b.lineWidth=c,b.strokeStyle=C,b.stroke()}else b.fillStyle=C,b.fillRect(0,0,e,t);m(null,{source:y,w:e,h:t})}}};h();d();p();var Xo=class extends le.Texture{constructor(e){super(e),this._color="rgb(0,0,0)",this._fill=!0,this._radius=100,this._stroke=!1,this._strokeColor="rgb(0,0,0)",this._strokeWidth=1}get fill(){return this._fill}set fill(e){this._fill=e,this._changed()}get radius(){return this._radius}set radius(e){this._radius=e,this._changed()}get color(){return this._color}set color(e){this._color=e,this._changed()}get stroke(){return this._stroke}set stroke(e){this._stroke=e,this._changed()}get strokeWidth(){return this._strokeWidth}set strokeWidth(e){this._strokeWidth=e,this._changed()}get strokeColor(){return this._strokeColor}set strokeColor(e){this._strokeColor=e,this._changed()}_getLookupId(){return`__circle_${this._radius}`}_getSourceLoader(){let e=this._color,t=this._fill,i=this._radius,s=this._stroke,n=this._strokeColor,o=this._strokeWidth,a=this.stage.platform.getDrawingCanvas(),l=i;return s&&(l=i+o*2),a.width=l*2,a.height=l*2,function(u){let c=a.getContext("2d");c.lineWidth=o,c.strokeStyle=n,c.fillStyle=e,c.beginPath(),c.arc(l,l,i,0,2*Math.PI),t&&c.fill(),s&&c.stroke(),u(null,{source:a,radius:i})}}};h();d();p();var Ko=class extends le.Texture{constructor(e){super(e),this._color="rgb(13, 13, 15)",this._w=0,this._h=0,this._direction="right"}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get direction(){return this._direction}get color(){return this._color}set color(e){this._color=e,this._changed()}set direction(e){this._direction=e,this._changed()}_getLookupId(){return`__triangle_${this._direction}_${this._w}x${this._h}`}_getSourceLoader(){let e=this._color,t=this._w,i=this._h,s=this._direction;var n=this.stage.platform.getDrawingCanvas();return function(o){var a=n.getContext("2d");n.width=t,n.height=i,a.fillStyle=e,a.strokeStyle=a.fillStyle,a.lineWidth=2,a.lineCap="round",a.lineJoin="round";let l=a.lineWidth/2;a.beginPath(),s==="right"?(a.moveTo(l,l),a.lineTo(l,i-l),a.lineTo(t-l,i/2)):s==="down"?(a.moveTo(l,l),a.lineTo(t-l,l),a.lineTo(t/2,i-l)):(a.moveTo(l,i/2),a.lineTo(t-l,l),a.lineTo(t-l,i-l)),a.closePath(),a.stroke(),a.fill(),o(null,{source:n,w:t,h:i,direction:s})}}};h();d();p();var Jo=class extends le.Texture{constructor(e){super(e),this._w=0,this._h=0,this._rounded=!1}get w(){return this._w}set w(e){this._w=e,this._changed()}get h(){return this._h}set h(e){this._h=e,this._changed()}get rounded(){return this._rounded}set rounded(e){this._rounded=e,this._changed()}_getLookupId(){return`__line_${this._w}x${this._h}${this._rounded?"_rounded":""}`}_getSourceLoader(){let e=this._w,t=this._h,i=this._rounded;var s=this.stage.platform.getDrawingCanvas();return function(n){var o=s.getContext("2d");s.width=e,s.height=t,o.lineWidth=t,i&&(o.lineCap="round"),o.strokeStyle="white",o.beginPath(),o.moveTo(i?2:0,t/2),o.lineTo(i?e-2:e,t/2),o.stroke(),n(null,{source:s,w:e,h:t,rounded:i})}}};h();d();p();function vf(r){let[e,t,i,s]=WA(r);return[qA(e,t,i).toUpperCase(),s*100]}function WA(r){let e=(r/65536|0)%256,t=(r/256|0)%256,i=r%256,s=(r/16777216|0)/255;return[e,t,i,s.toFixed(2)]}function ic(r){let e=r.toString(16);return e.length==1?"0"+e:e}function qA(r,e,t){return"#"+ic(r)+ic(e)+ic(t)}function Sf(r){try{if(ke.getValidColor(r))return"color";if(typeof r=="number")return"number"}catch(e){console.error(e)}}function wf(r){if(r!==void 0)return ke.capitalizeFirstLetter(r)}var sc=ye(Ce()),nc=()=>(0,sc.jsx)(Sr,{title:"Download LUI Theme JSON",onClick:()=>{console.log("Downloading LUI-Theme.json...");let e=document.querySelector("iframe").contentWindow.CONTEXT,t=JSON.parse(JSON.stringify(e.theme,(i,s)=>typeof s=="number"&&/^[0-9]{10}$/g.test(s.toString())?vf(s):s));ke.downloadFile(t,`LUI-Theme-${t.name}.json`,"json")},children:(0,sc.jsx)(wr,{icon:"download"})},Vn);h();d();p();Ge();h();d();p();var Af=ye(Cf()),Ef=()=>document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.APP,Hs=()=>document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.CONTEXT,Yr=()=>{let r=Hs();return r&&r.theme},Qo=()=>Yr()||Do;function Ws(r,e){document&&document.querySelector("iframe")&&document.querySelector("iframe").contentWindow&&document.querySelector("iframe").contentWindow.postMessage({theme:r}),e&&e({LUITheme:r})}var qs=(r,e,t=!0)=>{let i=Hs();if(i&&(i.updateTheme(r),t)){let s=Yr(),n=Object.keys(s).reduce((o,a)=>(typeof s[a]=="function"&&(o[a]=s[a]),o),{});Hs().storybookCustomTheme={...JSON.parse(JSON.stringify(Yr())),...n},e({LUITheme:"custom"})}},$A=(0,Af.default)((r,e,t)=>{qs({color:{[r]:ke.getValidColor(e)}},t)},500);function If(){$A(...arguments)}var $s=ye(Ce()),ac=()=>{let[{LUITheme:r},e]=_t(),[t,i]=Fe([]),[s,n]=Fe(!0);return He(()=>{if(r){if(s&&r==="custom"){e({LUITheme:"base"});return}else s&&r!=="base"&&Ws(r);n(!1),i(["base"].filter(o=>r==="custom"?o:o!=="custom").map((o,a)=>({active:o.toLowerCase()===r,id:a,title:ke.capitalizeFirstLetter(o),onClick(){Ws(o.toLowerCase(),e)}})))}},[r]),(0,$s.jsx)("div",{children:(0,$s.jsx)(Sp,{placement:"bottom",trigger:"click",closeOnOutsideClick:!0,tooltip:(0,$s.jsx)(vp,{links:t}),children:(0,$s.jsx)(bp,{title:"Theme",children:"Theme"},Kn)})})};h();d();p();h();d();p();Ge();h();d();p();h();d();p();Ge();var Xt=ye(Ce());function cr({title:r,rows:e}){return(0,Xt.jsxs)("div",{style:{marginBottom:"40px"},children:[(0,Xt.jsx)("h2",{children:r}),(0,Xt.jsxs)("table",{children:[(0,Xt.jsx)("thead",{children:(0,Xt.jsxs)("tr",{children:[(0,Xt.jsx)("th",{children:"Property"}),(0,Xt.jsx)("th",{children:"Value"})]})}),(0,Xt.jsx)("tbody",{children:e})]})]})}h();d();p();Ge();var Vs=ye(Ce());function Tt({label:r,control:e}){return(0,Vs.jsxs)("tr",{children:[(0,Vs.jsx)("td",{children:r}),(0,Vs.jsx)("td",{children:e})]})}h();d();p();Ge();h();d();p();uc();Ge();ta();xc();h();d();p();h();d();p();function xt(){return xt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},xt.apply(null,arguments)}h();d();p();function Gf(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}h();d();p();h();d();p();function Pr(r,e){return Pr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},Pr(r,e)}function Yf(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,Pr(r,e)}h();d();p();h();d();p();function ra(r){return ra=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ra(r)}h();d();p();function Xf(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch{return typeof r=="function"}}h();d();p();h();d();p();function bc(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bc=function(){return!!r})()}function Kf(r,e,t){if(bc())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var s=new(r.bind.apply(r,i));return t&&Pr(s,t.prototype),s}function ia(r){var e=typeof Map=="function"?new Map:void 0;return ia=function(i){if(i===null||!Xf(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(i))return e.get(i);e.set(i,s)}function s(){return Kf(i,arguments,ra(this).constructor)}return s.prototype=Object.create(i.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),Pr(s,i)},ia(r)}h();d();p();var Ct=function(r){Yf(e,r);function e(t){var i;if(1)i=r.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else for(var s,n,o;o<s;o++);return Gf(i)}return e}(ia(Error));function Jf(r,e){return r.substr(-e.length)===e}var WE=/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;function Qf(r){if(typeof r!="string")return r;var e=r.match(WE);return e?parseFloat(r):r}var qE=function(e){return function(t,i){i===void 0&&(i="16px");var s=t,n=i;if(typeof t=="string"){if(!Jf(t,"px"))throw new Ct(69,e,t);s=Qf(t)}if(typeof i=="string"){if(!Jf(i,"px"))throw new Ct(70,e,i);n=Qf(i)}if(typeof s=="string")throw new Ct(71,t,e);if(typeof n=="string")throw new Ct(72,i,e);return""+s/n+e}},eg=qE,Tme=eg("em");var Cme=eg("rem");function vc(r){return Math.round(r*255)}function $E(r,e,t){return vc(r)+","+vc(e)+","+vc(t)}function Gs(r,e,t,i){if(i===void 0&&(i=$E),e===0)return i(t,t,t);var s=(r%360+360)%360/60,n=(1-Math.abs(2*t-1))*e,o=n*(1-Math.abs(s%2-1)),a=0,l=0,u=0;s>=0&&s<1?(a=n,l=o):s>=1&&s<2?(a=o,l=n):s>=2&&s<3?(l=n,u=o):s>=3&&s<4?(l=o,u=n):s>=4&&s<5?(a=o,u=n):s>=5&&s<6&&(a=n,u=o);var c=t-n/2,g=a+c,m=l+c,y=u+c;return i(g,m,y)}var Zf={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function VE(r){if(typeof r!="string")return r;var e=r.toLowerCase();return Zf[e]?"#"+Zf[e]:r}var GE=/^#[a-fA-F0-9]{6}$/,YE=/^#[a-fA-F0-9]{8}$/,XE=/^#[a-fA-F0-9]{3}$/,KE=/^#[a-fA-F0-9]{4}$/,Sc=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,JE=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,QE=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,ZE=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Ii(r){if(typeof r!="string")throw new Ct(3);var e=VE(r);if(e.match(GE))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(YE)){var t=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alpha:t}}if(e.match(XE))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(KE)){var i=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:i}}var s=Sc.exec(e);if(s)return{red:parseInt(""+s[1],10),green:parseInt(""+s[2],10),blue:parseInt(""+s[3],10)};var n=JE.exec(e.substring(0,50));if(n)return{red:parseInt(""+n[1],10),green:parseInt(""+n[2],10),blue:parseInt(""+n[3],10),alpha:parseFloat(""+n[4])>1?parseFloat(""+n[4])/100:parseFloat(""+n[4])};var o=QE.exec(e);if(o){var a=parseInt(""+o[1],10),l=parseInt(""+o[2],10)/100,u=parseInt(""+o[3],10)/100,c="rgb("+Gs(a,l,u)+")",g=Sc.exec(c);if(!g)throw new Ct(4,e,c);return{red:parseInt(""+g[1],10),green:parseInt(""+g[2],10),blue:parseInt(""+g[3],10)}}var m=ZE.exec(e.substring(0,50));if(m){var y=parseInt(""+m[1],10),b=parseInt(""+m[2],10)/100,C=parseInt(""+m[3],10)/100,A="rgb("+Gs(y,b,C)+")",T=Sc.exec(A);if(!T)throw new Ct(4,e,A);return{red:parseInt(""+T[1],10),green:parseInt(""+T[2],10),blue:parseInt(""+T[3],10),alpha:parseFloat(""+m[4])>1?parseFloat(""+m[4])/100:parseFloat(""+m[4])}}throw new Ct(5)}function eI(r){var e=r.red/255,t=r.green/255,i=r.blue/255,s=Math.max(e,t,i),n=Math.min(e,t,i),o=(s+n)/2;if(s===n)return r.alpha!==void 0?{hue:0,saturation:0,lightness:o,alpha:r.alpha}:{hue:0,saturation:0,lightness:o};var a,l=s-n,u=o>.5?l/(2-s-n):l/(s+n);switch(s){case e:a=(t-i)/l+(t<i?6:0);break;case t:a=(i-e)/l+2;break;default:a=(e-t)/l+4;break}return a*=60,r.alpha!==void 0?{hue:a,saturation:u,lightness:o,alpha:r.alpha}:{hue:a,saturation:u,lightness:o}}function kr(r){return eI(Ii(r))}var tI=function(e){return e.length===7&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e},Tc=tI;function Jr(r){var e=r.toString(16);return e.length===1?"0"+e:e}function wc(r){return Jr(Math.round(r*255))}function rI(r,e,t){return Tc("#"+wc(r)+wc(e)+wc(t))}function sa(r,e,t){return Gs(r,e,t,rI)}function iI(r,e,t){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number")return sa(r,e,t);if(typeof r=="object"&&e===void 0&&t===void 0)return sa(r.hue,r.saturation,r.lightness);throw new Ct(1)}function sI(r,e,t,i){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number"&&typeof i=="number")return i>=1?sa(r,e,t):"rgba("+Gs(r,e,t)+","+i+")";if(typeof r=="object"&&e===void 0&&t===void 0&&i===void 0)return r.alpha>=1?sa(r.hue,r.saturation,r.lightness):"rgba("+Gs(r.hue,r.saturation,r.lightness)+","+r.alpha+")";throw new Ct(2)}function Cc(r,e,t){if(typeof r=="number"&&typeof e=="number"&&typeof t=="number")return Tc("#"+Jr(r)+Jr(e)+Jr(t));if(typeof r=="object"&&e===void 0&&t===void 0)return Tc("#"+Jr(r.red)+Jr(r.green)+Jr(r.blue));throw new Ct(6)}function Ut(r,e,t,i){if(typeof r=="string"&&typeof e=="number"){var s=Ii(r);return"rgba("+s.red+","+s.green+","+s.blue+","+e+")"}else{if(typeof r=="number"&&typeof e=="number"&&typeof t=="number"&&typeof i=="number")return i>=1?Cc(r,e,t):"rgba("+r+","+e+","+t+","+i+")";if(typeof r=="object"&&e===void 0&&t===void 0&&i===void 0)return r.alpha>=1?Cc(r.red,r.green,r.blue):"rgba("+r.red+","+r.green+","+r.blue+","+r.alpha+")"}throw new Ct(7)}var nI=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},oI=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},aI=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha>"u")},lI=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function Or(r){if(typeof r!="object")throw new Ct(8);if(oI(r))return Ut(r);if(nI(r))return Cc(r);if(lI(r))return sI(r);if(aI(r))return iI(r);throw new Ct(8)}function tg(r,e,t){return function(){var s=t.concat(Array.prototype.slice.call(arguments));return s.length>=e?r.apply(this,s):tg(r,e,s)}}function Pt(r){return tg(r,r.length,[])}function uI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{hue:t.hue+parseFloat(r)}))}var Ame=Pt(uI);function Ri(r,e,t){return Math.max(r,Math.min(e,t))}function cI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{lightness:Ri(0,1,t.lightness-parseFloat(r))}))}var hI=Pt(cI),Ht=hI;function dI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{saturation:Ri(0,1,t.saturation-parseFloat(r))}))}var Eme=Pt(dI);function pI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{lightness:Ri(0,1,t.lightness+parseFloat(r))}))}var fI=Pt(pI),Lr=fI;function gI(r,e,t){if(e==="transparent")return t;if(t==="transparent")return e;if(r===0)return t;var i=Ii(e),s=xt({},i,{alpha:typeof i.alpha=="number"?i.alpha:1}),n=Ii(t),o=xt({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),a=s.alpha-o.alpha,l=parseFloat(r)*2-1,u=l*a===-1?l:l+a,c=1+l*a,g=(u/c+1)/2,m=1-g,y={red:Math.floor(s.red*g+o.red*m),green:Math.floor(s.green*g+o.green*m),blue:Math.floor(s.blue*g+o.blue*m),alpha:s.alpha*parseFloat(r)+o.alpha*(1-parseFloat(r))};return Ut(y)}var mI=Pt(gI),rg=mI;function _I(r,e){if(e==="transparent")return e;var t=Ii(e),i=typeof t.alpha=="number"?t.alpha:1,s=xt({},t,{alpha:Ri(0,1,(i*100+parseFloat(r)*100)/100)});return Ut(s)}var yI=Pt(_I),Ys=yI;function xI(r,e){if(e==="transparent")return e;var t=kr(e);return Or(xt({},t,{saturation:Ri(0,1,t.saturation+parseFloat(r))}))}var Ime=Pt(xI);function bI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{hue:parseFloat(r)}))}var Rme=Pt(bI);function vI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{lightness:parseFloat(r)}))}var Pme=Pt(vI);function SI(r,e){return e==="transparent"?e:Or(xt({},kr(e),{saturation:parseFloat(r)}))}var kme=Pt(SI);function wI(r,e){return e==="transparent"?e:rg(parseFloat(r),"rgb(0, 0, 0)",e)}var Ome=Pt(wI);function TI(r,e){return e==="transparent"?e:rg(parseFloat(r),"rgb(255, 255, 255)",e)}var Lme=Pt(TI);function CI(r,e){if(e==="transparent")return e;var t=Ii(e),i=typeof t.alpha=="number"?t.alpha:1,s=xt({},t,{alpha:Ri(0,1,+(i*100-parseFloat(r)*100).toFixed(2)/100)});return Ut(s)}var AI=Pt(CI),Oe=AI;h();d();p();var kt=(()=>{let r;return typeof window<"u"?r=window:typeof globalThis<"u"?r=globalThis:typeof window<"u"?r=window:typeof self<"u"?r=self:r={},r})();Ec();h();d();p();var Jbe=__STORYBOOK_CLIENT_LOGGER__,{deprecate:OI,logger:na,once:LI,pretty:Qbe}=__STORYBOOK_CLIENT_LOGGER__;h();d();p();var DI=Object.create,mg=Object.defineProperty,FI=Object.getOwnPropertyDescriptor,BI=Object.getOwnPropertyNames,MI=Object.getPrototypeOf,NI=Object.prototype.hasOwnProperty,zI=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),jI=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of BI(e))!NI.call(r,s)&&s!==t&&mg(r,s,{get:()=>e[s],enumerable:!(i=FI(e,s))||i.enumerable});return r},UI=(r,e,t)=>(t=r!=null?DI(MI(r)):{},jI(e||!r||!r.__esModule?mg(t,"default",{value:r,enumerable:!0}):t,r)),HI=zI(r=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isEqual=function(){var e=Object.prototype.toString,t=Object.getPrototypeOf,i=Object.getOwnPropertySymbols?function(s){return Object.keys(s).concat(Object.getOwnPropertySymbols(s))}:Object.keys;return function(s,n){return function o(a,l,u){var c,g,m,y=e.call(a),b=e.call(l);if(a===l)return!0;if(a==null||l==null)return!1;if(u.indexOf(a)>-1&&u.indexOf(l)>-1)return!0;if(u.push(a,l),y!=b||(c=i(a),g=i(l),c.length!=g.length||c.some(function(C){return!o(a[C],l[C],u)})))return!1;switch(y.slice(8,-1)){case"Symbol":return a.valueOf()==l.valueOf();case"Date":case"Number":return+a==+l||+a!=+a&&+l!=+l;case"RegExp":case"Function":case"String":case"Boolean":return""+a==""+l;case"Set":case"Map":c=a.entries(),g=l.entries();do if(!o((m=c.next()).value,g.next().value,u))return!1;while(!m.done);return!0;case"ArrayBuffer":a=new Uint8Array(a),l=new Uint8Array(l);case"DataView":a=new Uint8Array(a.buffer),l=new Uint8Array(l.buffer);case"Float32Array":case"Float64Array":case"Int8Array":case"Int16Array":case"Int32Array":case"Uint8Array":case"Uint16Array":case"Uint32Array":case"Uint8ClampedArray":case"Arguments":case"Array":if(a.length!=l.length)return!1;for(m=0;m<a.length;m++)if((m in a||m in l)&&(m in a!=m in l||!o(a[m],l[m],u)))return!1;return!0;case"Object":return o(t(a),t(l),u);default:return!1}}(s,n,[])}}()});function WI(r){return r.replace(/_/g," ").replace(/-/g," ").replace(/\./g," ").replace(/([^\n])([A-Z])([a-z])/g,(e,t,i,s)=>`${t} ${i}${s}`).replace(/([a-z])([A-Z])/g,(e,t,i)=>`${t} ${i}`).replace(/([a-z])([0-9])/gi,(e,t,i)=>`${t} ${i}`).replace(/([0-9])([a-z])/gi,(e,t,i)=>`${t} ${i}`).replace(/(\s|^)(\w)/g,(e,t,i)=>`${t}${i.toUpperCase()}`).replace(/ +/g," ").trim()}var pg=UI(HI()),_g=r=>r.map(e=>typeof e<"u").filter(Boolean).length,qI=(r,e)=>{let{exists:t,eq:i,neq:s,truthy:n}=r;if(_g([t,i,s,n])>1)throw new Error(`Invalid conditional test ${JSON.stringify({exists:t,eq:i,neq:s})}`);if(typeof i<"u")return(0,pg.isEqual)(e,i);if(typeof s<"u")return!(0,pg.isEqual)(e,s);if(typeof t<"u"){let o=typeof e<"u";return t?o:!o}return typeof n>"u"||n?!!e:!e},Ic=(r,e,t)=>{if(!r.if)return!0;let{arg:i,global:s}=r.if;if(_g([i,s])!==1)throw new Error(`Invalid conditional value ${JSON.stringify({arg:i,global:s})}`);let n=i?e[i]:t[s];return qI(r.if,n)},Rc=r=>r.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,"-").replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),fg=(r,e)=>{let t=Rc(r);if(t==="")throw new Error(`Invalid ${e} '${r}', must include alphanumeric characters`);return t},yg=(r,e)=>`${fg(r,"kind")}${e?`--${fg(e,"name")}`:""}`,xg=r=>WI(r);function gg(r,e){return Array.isArray(e)?e.includes(r):r.match(e)}function oa(r,{includeStories:e,excludeStories:t}){return r!=="__esModule"&&(!e||gg(r,e))&&(!t||!gg(r,t))}var bg=(...r)=>{let e=r.reduce((t,i)=>(i.startsWith("!")?t.delete(i.slice(1)):t.add(i),t),new Set);return Array.from(e)};var F8=ye(Nx(),1);h();d();p();Ge();var zx;(function(r){r[r.MAX=0]="MAX",r[r.HIGH=1]="HIGH",r[r.MED=2]="MED",r[r.LOW=3]="LOW",r[r.MIN=4]="MIN"})(zx||(zx={}));var wEe=["allowFullScreen","allowTransparency","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","charSet","className","classId","colSpan","contentEditable","contextMenu","crossOrigin","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","inputMode","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","radioGroup","readOnly","rowSpan","spellCheck","srcDoc","srcLang","srcSet","tabIndex","useMap"].reduce((r,e)=>(r[e.toLowerCase()]=e,r),{for:"htmlFor"});var FB=/^(\s*>[\s\S]*?)(?=\n{2,})/;var BB=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,MB=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/;var NB=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,zB=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,jB=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,UB=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i;var HB=/^<!--[\s\S]*?(?:-->)/;var WB=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i;var qB=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/;var Ca="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",TEe=new RegExp(`^([*_])\\1${Ca}\\1\\1(?!\\1)`),CEe=new RegExp(`^([*_])${Ca}\\1(?!\\1|\\w)`),AEe=new RegExp(`^==${Ca}==`),EEe=new RegExp(`^~~${Ca}~~`);var hh="(?:\\d+\\.)",dh="(?:[*+-])";function jx(r){return"( *)("+(r===1?hh:dh)+") +"}var Ux=jx(1),Hx=jx(2);function Wx(r){return new RegExp("^"+(r===1?Ux:Hx))}var IEe=Wx(1),REe=Wx(2);function qx(r){return new RegExp("^"+(r===1?Ux:Hx)+"[^\\n]*(?:\\n(?!\\1"+(r===1?hh:dh)+" )[^\\n]*)*(\\n|$)","gm")}var $B=qx(1),VB=qx(2);function $x(r){let e=r===1?hh:dh;return new RegExp("^( *)("+e+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+e+" (?!"+e+" ))\\n*|\\s*\\n*$)")}var GB=$x(1),YB=$x(2);var PEe=new RegExp(`^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:\\([^)]*\\)|[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['"]([\\s\\S]*?)['"])?\\s*\\)`);var XB=[FB,BB,MB,NB,jB,zB,HB,qB,$B,GB,VB,YB],kEe=[...XB,/^[^\n]+(?: \n|\n{2,})/,UB,WB];var B8=ye(Kb(),1),M8=ye(m0(),1),kC=ye(gh(),1);h();d();p();h();d();p();h();d();p();var uPe=__STORYBOOK_CHANNELS__,{Channel:y0,PostMessageTransport:cPe,WebsocketTransport:hPe,createBrowserChannel:dPe}=__STORYBOOK_CHANNELS__;h();d();p();var _Pe=__STORYBOOK_CLIENT_LOGGER__,{deprecate:hr,logger:Pe,once:Br,pretty:yPe}=__STORYBOOK_CLIENT_LOGGER__;h();d();p();var wPe=__STORYBOOK_CORE_EVENTS__,{ARGTYPES_INFO_REQUEST:x0,ARGTYPES_INFO_RESPONSE:mh,CHANNEL_CREATED:TPe,CHANNEL_WS_DISCONNECT:CPe,CONFIG_ERROR:b0,CREATE_NEW_STORYFILE_REQUEST:APe,CREATE_NEW_STORYFILE_RESPONSE:EPe,CURRENT_STORY_WAS_SET:_h,DOCS_PREPARED:v0,DOCS_RENDERED:Ia,FILE_COMPONENT_SEARCH_REQUEST:IPe,FILE_COMPONENT_SEARCH_RESPONSE:RPe,FORCE_REMOUNT:S0,FORCE_RE_RENDER:Ra,GLOBALS_UPDATED:Zr,NAVIGATE_URL:w0,PLAY_FUNCTION_THREW_EXCEPTION:T0,PRELOAD_ENTRIES:C0,PREVIEW_BUILDER_PROGRESS:PPe,PREVIEW_KEYDOWN:A0,REGISTER_SUBSCRIPTION:kPe,REQUEST_WHATS_NEW_DATA:OPe,RESET_STORY_ARGS:cn,RESULT_WHATS_NEW_DATA:LPe,SAVE_STORY_REQUEST:DPe,SAVE_STORY_RESPONSE:FPe,SELECT_STORY:BPe,SET_CONFIG:MPe,SET_CURRENT_STORY:E0,SET_FILTER:NPe,SET_GLOBALS:I0,SET_INDEX:zPe,SET_STORIES:jPe,SET_WHATS_NEW_CACHE:UPe,SHARED_STATE_CHANGED:HPe,SHARED_STATE_SET:WPe,STORIES_COLLAPSE_ALL:qPe,STORIES_EXPAND_ALL:$Pe,STORY_ARGS_UPDATED:yh,STORY_CHANGED:R0,STORY_ERRORED:P0,STORY_INDEX_INVALIDATED:k0,STORY_MISSING:xh,STORY_PREPARED:O0,STORY_RENDERED:hn,STORY_RENDER_PHASE_CHANGED:Ui,STORY_SPECIFIED:L0,STORY_THREW_EXCEPTION:D0,STORY_UNCHANGED:F0,TELEMETRY_ERROR:VPe,TOGGLE_WHATS_NEW_NOTIFICATIONS:GPe,UNHANDLED_ERRORS_WHILE_PLAYING:B0,UPDATE_GLOBALS:Pa,UPDATE_QUERY_PARAMS:M0,UPDATE_STORY_ARGS:dn}=__STORYBOOK_CORE_EVENTS__;h();d();p();var UN=Object.defineProperty,qe=(r,e)=>UN(r,"name",{value:e,configurable:!0});function Ye(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=Array.from(typeof r=="string"?[r]:r);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var s=i.reduce(function(a,l){var u=l.match(/\n([\t ]+|(?!\s).)/g);return u?a.concat(u.map(function(c){var g,m;return(m=(g=c.match(/[\t ]/g))===null||g===void 0?void 0:g.length)!==null&&m!==void 0?m:0})):a},[]);if(s.length){var n=new RegExp(` [ ]{`+Math.min.apply(Math,s)+"}","g");i=i.map(function(a){return a.replace(n,` `)})}i[0]=i[0].replace(/^\r?\n/,"");var o=i[0];return e.forEach(function(a,l){var u=o.match(/(?:^|\n)( *)$/),c=u?u[1]:"",g=a;typeof a=="string"&&a.includes(` `)&&(g=String(a).split(` @@ -1142,13 +1142,13 @@ ${e.map(o=>` - ${o}`).join(` `)}`),`${s}${n!=null?` More info: ${n} -`:""}`}};qe(N0,"StorybookError");var rt=N0,UN=(r=>(r.BLOCKS="BLOCKS",r.DOCS_TOOLS="DOCS-TOOLS",r.PREVIEW_CLIENT_LOGGER="PREVIEW_CLIENT-LOGGER",r.PREVIEW_CHANNELS="PREVIEW_CHANNELS",r.PREVIEW_CORE_EVENTS="PREVIEW_CORE-EVENTS",r.PREVIEW_INSTRUMENTER="PREVIEW_INSTRUMENTER",r.PREVIEW_API="PREVIEW_API",r.PREVIEW_REACT_DOM_SHIM="PREVIEW_REACT-DOM-SHIM",r.PREVIEW_ROUTER="PREVIEW_ROUTER",r.PREVIEW_THEMING="PREVIEW_THEMING",r.RENDERER_HTML="RENDERER_HTML",r.RENDERER_PREACT="RENDERER_PREACT",r.RENDERER_REACT="RENDERER_REACT",r.RENDERER_SERVER="RENDERER_SERVER",r.RENDERER_SVELTE="RENDERER_SVELTE",r.RENDERER_VUE="RENDERER_VUE",r.RENDERER_VUE3="RENDERER_VUE3",r.RENDERER_WEB_COMPONENTS="RENDERER_WEB-COMPONENTS",r.FRAMEWORK_NEXTJS="FRAMEWORK_NEXTJS",r.ADDON_VITEST="ADDON_VITEST",r))(UN||{}),j0=class extends rt{constructor(e){super({category:"PREVIEW_API",code:1,message:Ye` +`:""}`}};qe(N0,"StorybookError");var rt=N0,HN=(r=>(r.BLOCKS="BLOCKS",r.DOCS_TOOLS="DOCS-TOOLS",r.PREVIEW_CLIENT_LOGGER="PREVIEW_CLIENT-LOGGER",r.PREVIEW_CHANNELS="PREVIEW_CHANNELS",r.PREVIEW_CORE_EVENTS="PREVIEW_CORE-EVENTS",r.PREVIEW_INSTRUMENTER="PREVIEW_INSTRUMENTER",r.PREVIEW_API="PREVIEW_API",r.PREVIEW_REACT_DOM_SHIM="PREVIEW_REACT-DOM-SHIM",r.PREVIEW_ROUTER="PREVIEW_ROUTER",r.PREVIEW_THEMING="PREVIEW_THEMING",r.RENDERER_HTML="RENDERER_HTML",r.RENDERER_PREACT="RENDERER_PREACT",r.RENDERER_REACT="RENDERER_REACT",r.RENDERER_SERVER="RENDERER_SERVER",r.RENDERER_SVELTE="RENDERER_SVELTE",r.RENDERER_VUE="RENDERER_VUE",r.RENDERER_VUE3="RENDERER_VUE3",r.RENDERER_WEB_COMPONENTS="RENDERER_WEB-COMPONENTS",r.FRAMEWORK_NEXTJS="FRAMEWORK_NEXTJS",r.ADDON_VITEST="ADDON_VITEST",r))(HN||{}),j0=class extends rt{constructor(e){super({category:"PREVIEW_API",code:1,message:Ye` Couldn't find story matching id '${e.storyId}' after HMR. - Did you just rename a story? - Did you remove it from your CSF file? - Are you sure a story with the id '${e.storyId}' exists? - Please check the values in the stories field of your main.js config and see if they would match your CSF File. - - Also check the browser console and terminal for potential error messages.`}),this.data=e}};qe(j0,"MissingStoryAfterHmrError");var U0=j0,HN=class extends rt{constructor(e){super({category:"PREVIEW_API",code:2,documentation:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#using-implicit-actions-during-rendering-is-deprecated-for-example-in-the-play-function",message:Ye` + - Also check the browser console and terminal for potential error messages.`}),this.data=e}};qe(j0,"MissingStoryAfterHmrError");var U0=j0,WN=class extends rt{constructor(e){super({category:"PREVIEW_API",code:2,documentation:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#using-implicit-actions-during-rendering-is-deprecated-for-example-in-the-play-function",message:Ye` We detected that you use an implicit action arg while ${e.phase} of your story. ${e.deprecated?` This is deprecated and won't work in Storybook 8 anymore. @@ -1158,7 +1158,7 @@ This is deprecated and won't work in Storybook 8 anymore. ... args: { ${e.name}: fn() - }`}),this.data=e}};qe(HN,"ImplicitActionsDuringRendering");var H0=class extends rt{constructor(){super({category:"PREVIEW_API",code:3,message:Ye` + }`}),this.data=e}};qe(WN,"ImplicitActionsDuringRendering");var H0=class extends rt{constructor(){super({category:"PREVIEW_API",code:3,message:Ye` Cannot call \`storyStore.extract()\` without calling \`storyStore.cacheAllCsfFiles()\` first. You probably meant to call \`await preview.extract()\` which does the above for you.`})}};qe(H0,"CalledExtractOnStoreError");var W0=H0,q0=class extends rt{constructor(){super({category:"PREVIEW_API",code:4,message:Ye` @@ -1240,13 +1240,13 @@ This is deprecated and won't work in Storybook 8 anymore. }; Make sure to either remove it or call mount in your play function. - `})}};qe(lv,"NoStoryMountedError");var uv=lv,WN=class extends rt{constructor(){super({category:"FRAMEWORK_NEXTJS",code:1,documentation:"https://storybook.js.org/docs/get-started/nextjs#faq",message:Ye` + `})}};qe(lv,"NoStoryMountedError");var uv=lv,qN=class extends rt{constructor(){super({category:"FRAMEWORK_NEXTJS",code:1,documentation:"https://storybook.js.org/docs/get-started/nextjs#faq",message:Ye` You are importing avif images, but you don't have sharp installed. You have to install sharp in order to use image optimization features in Next.js. - `})}};qe(WN,"NextJsSharpError");var qN=class extends rt{constructor(e){super({category:"FRAMEWORK_NEXTJS",code:2,message:Ye` + `})}};qe(qN,"NextJsSharpError");var $N=class extends rt{constructor(e){super({category:"FRAMEWORK_NEXTJS",code:2,message:Ye` Tried to access router mocks from "${e.importType}" but they were not created yet. You might be running code in an unsupported environment. - `}),this.data=e}};qe(qN,"NextjsRouterMocksNotAvailable");var cv=class extends rt{constructor(e){super({category:"DOCS-TOOLS",code:1,documentation:"https://github.com/storybookjs/storybook/issues/26606",message:Ye` + `}),this.data=e}};qe($N,"NextjsRouterMocksNotAvailable");var cv=class extends rt{constructor(e){super({category:"DOCS-TOOLS",code:1,documentation:"https://github.com/storybookjs/storybook/issues/26606",message:Ye` There was a failure when generating detailed ArgTypes in ${e.language} for: ${JSON.stringify(e.type,null,2)} @@ -1254,27 +1254,27 @@ This is deprecated and won't work in Storybook 8 anymore. This type is either not supported or it is a bug in the docgen generation in Storybook. If you think this is a bug, please detail it as much as possible in the Github issue. - `}),this.data=e}};qe(cv,"UnknownArgTypesError");var Oa=cv,$N=class extends rt{constructor(e){super({category:"ADDON_VITEST",code:1,message:Ye` + `}),this.data=e}};qe(cv,"UnknownArgTypesError");var Oa=cv,VN=class extends rt{constructor(e){super({category:"ADDON_VITEST",code:1,message:Ye` Encountered an unsupported value "${e.value}" when setting the viewport ${e.dimension} dimension. The Storybook plugin only supports values in the following units: - px, vh, vw, em, rem and %. You can either change the viewport for this story to use one of the supported units or skip the test by adding '!test' to the story's tags per https://storybook.js.org/docs/writing-stories/tags - `}),this.data=e}};qe($N,"UnsupportedViewportDimensionError");var VN=Object.create,Uh=Object.defineProperty,GN=Object.getOwnPropertyDescriptor,YN=Object.getOwnPropertyNames,XN=Object.getPrototypeOf,KN=Object.prototype.hasOwnProperty,x=(r,e)=>Uh(r,"name",{value:e,configurable:!0}),La=(r=>typeof Ft<"u"?Ft:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof Ft<"u"?Ft:e)[t]}):r)(function(r){if(typeof Ft<"u")return Ft.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),j=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),JN=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of YN(e))!KN.call(r,s)&&s!==t&&Uh(r,s,{get:()=>e[s],enumerable:!(i=GN(e,s))||i.enumerable});return r},bt=(r,e,t)=>(t=r!=null?VN(XN(r)):{},JN(e||!r||!r.__esModule?Uh(t,"default",{value:r,enumerable:!0}):t,r)),Ev=j((r,e)=>{var t=typeof window=="object"&&window&&window.Object===Object&&window;e.exports=t}),fr=j((r,e)=>{var t=Ev(),i=typeof self=="object"&&self&&self.Object===Object&&self,s=t||i||Function("return this")();e.exports=s}),_n=j((r,e)=>{var t=fr(),i=t.Symbol;e.exports=i}),QN=j((r,e)=>{var t=_n(),i=Object.prototype,s=i.hasOwnProperty,n=i.toString,o=t?t.toStringTag:void 0;function a(l){var u=s.call(l,o),c=l[o];try{l[o]=void 0;var g=!0}catch{}var m=n.call(l);return g&&(u?l[o]=c:delete l[o]),m}x(a,"getRawTag"),e.exports=a}),ZN=j((r,e)=>{var t=Object.prototype,i=t.toString;function s(n){return i.call(n)}x(s,"objectToString"),e.exports=s}),Vi=j((r,e)=>{var t=_n(),i=QN(),s=ZN(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function l(u){return u==null?u===void 0?o:n:a&&a in Object(u)?i(u):s(u)}x(l,"baseGetTag"),e.exports=l}),yn=j((r,e)=>{function t(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}x(t,"isObject"),e.exports=t}),Iv=j((r,e)=>{var t=Vi(),i=yn(),s="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function l(u){if(!i(u))return!1;var c=t(u);return c==n||c==o||c==s||c==a}x(l,"isFunction"),e.exports=l}),ez=j((r,e)=>{var t=fr(),i=t["__core-js_shared__"];e.exports=i}),tz=j((r,e)=>{var t=ez(),i=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function s(n){return!!i&&i in n}x(s,"isMasked"),e.exports=s}),Rv=j((r,e)=>{var t=Function.prototype,i=t.toString;function s(n){if(n!=null){try{return i.call(n)}catch{}try{return n+""}catch{}}return""}x(s,"toSource"),e.exports=s}),rz=j((r,e)=>{var t=Iv(),i=tz(),s=yn(),n=Rv(),o=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,g=u.hasOwnProperty,m=RegExp("^"+c.call(g).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function y(b){if(!s(b)||i(b))return!1;var C=t(b)?m:a;return C.test(n(b))}x(y,"baseIsNative"),e.exports=y}),iz=j((r,e)=>{function t(i,s){return i?.[s]}x(t,"getValue"),e.exports=t}),ii=j((r,e)=>{var t=rz(),i=iz();function s(n,o){var a=i(n,o);return t(a)?a:void 0}x(s,"getNative"),e.exports=s}),Pv=j((r,e)=>{var t=ii(),i=function(){try{var s=t(Object,"defineProperty");return s({},"",{}),s}catch{}}();e.exports=i}),kv=j((r,e)=>{var t=Pv();function i(s,n,o){n=="__proto__"&&t?t(s,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):s[n]=o}x(i,"baseAssignValue"),e.exports=i}),sz=j((r,e)=>{function t(i){return function(s,n,o){for(var a=-1,l=Object(s),u=o(s),c=u.length;c--;){var g=u[i?c:++a];if(n(l[g],g,l)===!1)break}return s}}x(t,"createBaseFor"),e.exports=t}),nz=j((r,e)=>{var t=sz(),i=t();e.exports=i}),oz=j((r,e)=>{function t(i,s){for(var n=-1,o=Array(i);++n<i;)o[n]=s(n);return o}x(t,"baseTimes"),e.exports=t}),Gi=j((r,e)=>{function t(i){return i!=null&&typeof i=="object"}x(t,"isObjectLike"),e.exports=t}),az=j((r,e)=>{var t=Vi(),i=Gi(),s="[object Arguments]";function n(o){return i(o)&&t(o)==s}x(n,"baseIsArguments"),e.exports=n}),Hh=j((r,e)=>{var t=az(),i=Gi(),s=Object.prototype,n=s.hasOwnProperty,o=s.propertyIsEnumerable,a=t(function(){return arguments}())?t:function(l){return i(l)&&n.call(l,"callee")&&!o.call(l,"callee")};e.exports=a}),gr=j((r,e)=>{var t=Array.isArray;e.exports=t}),lz=j((r,e)=>{function t(){return!1}x(t,"stubFalse"),e.exports=t}),Ov=j((r,e)=>{var t=fr(),i=lz(),s=typeof r=="object"&&r&&!r.nodeType&&r,n=s&&typeof e=="object"&&e&&!e.nodeType&&e,o=n&&n.exports===s,a=o?t.Buffer:void 0,l=a?a.isBuffer:void 0,u=l||i;e.exports=u}),Wh=j((r,e)=>{var t=9007199254740991,i=/^(?:0|[1-9]\d*)$/;function s(n,o){var a=typeof n;return o=o??t,!!o&&(a=="number"||a!="symbol"&&i.test(n))&&n>-1&&n%1==0&&n<o}x(s,"isIndex"),e.exports=s}),qh=j((r,e)=>{var t=9007199254740991;function i(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=t}x(i,"isLength"),e.exports=i}),uz=j((r,e)=>{var t=Vi(),i=qh(),s=Gi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",c="[object Function]",g="[object Map]",m="[object Number]",y="[object Object]",b="[object RegExp]",C="[object Set]",A="[object String]",T="[object WeakMap]",R="[object ArrayBuffer]",P="[object DataView]",E="[object Float32Array]",k="[object Float64Array]",O="[object Int8Array]",B="[object Int16Array]",F="[object Int32Array]",U="[object Uint8Array]",q="[object Uint8ClampedArray]",ee="[object Uint16Array]",te="[object Uint32Array]",$={};$[E]=$[k]=$[O]=$[B]=$[F]=$[U]=$[q]=$[ee]=$[te]=!0,$[n]=$[o]=$[R]=$[a]=$[P]=$[l]=$[u]=$[c]=$[g]=$[m]=$[y]=$[b]=$[C]=$[A]=$[T]=!1;function D(N){return s(N)&&i(N.length)&&!!$[t(N)]}x(D,"baseIsTypedArray"),e.exports=D}),cz=j((r,e)=>{function t(i){return function(s){return i(s)}}x(t,"baseUnary"),e.exports=t}),hz=j((r,e)=>{var t=Ev(),i=typeof r=="object"&&r&&!r.nodeType&&r,s=i&&typeof e=="object"&&e&&!e.nodeType&&e,n=s&&s.exports===i,o=n&&t.process,a=function(){try{var l=s&&s.require&&s.require("util").types;return l||o&&o.binding&&o.binding("util")}catch{}}();e.exports=a}),Lv=j((r,e)=>{var t=uz(),i=cz(),s=hz(),n=s&&s.isTypedArray,o=n?i(n):t;e.exports=o}),Dv=j((r,e)=>{var t=oz(),i=Hh(),s=gr(),n=Ov(),o=Wh(),a=Lv(),l=Object.prototype,u=l.hasOwnProperty;function c(g,m){var y=s(g),b=!y&&i(g),C=!y&&!b&&n(g),A=!y&&!b&&!C&&a(g),T=y||b||C||A,R=T?t(g.length,String):[],P=R.length;for(var E in g)(m||u.call(g,E))&&!(T&&(E=="length"||C&&(E=="offset"||E=="parent")||A&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,P)))&&R.push(E);return R}x(c,"arrayLikeKeys"),e.exports=c}),Fv=j((r,e)=>{var t=Object.prototype;function i(s){var n=s&&s.constructor,o=typeof n=="function"&&n.prototype||t;return s===o}x(i,"isPrototype"),e.exports=i}),Bv=j((r,e)=>{function t(i,s){return function(n){return i(s(n))}}x(t,"overArg"),e.exports=t}),dz=j((r,e)=>{var t=Bv(),i=t(Object.keys,Object);e.exports=i}),pz=j((r,e)=>{var t=Fv(),i=dz(),s=Object.prototype,n=s.hasOwnProperty;function o(a){if(!t(a))return i(a);var l=[];for(var u in Object(a))n.call(a,u)&&u!="constructor"&&l.push(u);return l}x(o,"baseKeys"),e.exports=o}),Mv=j((r,e)=>{var t=Iv(),i=qh();function s(n){return n!=null&&i(n.length)&&!t(n)}x(s,"isArrayLike"),e.exports=s}),$h=j((r,e)=>{var t=Dv(),i=pz(),s=Mv();function n(o){return s(o)?t(o):i(o)}x(n,"keys"),e.exports=n}),fz=j((r,e)=>{var t=nz(),i=$h();function s(n,o){return n&&t(n,o,i)}x(s,"baseForOwn"),e.exports=s}),gz=j((r,e)=>{function t(){this.__data__=[],this.size=0}x(t,"listCacheClear"),e.exports=t}),Vh=j((r,e)=>{function t(i,s){return i===s||i!==i&&s!==s}x(t,"eq"),e.exports=t}),ja=j((r,e)=>{var t=Vh();function i(s,n){for(var o=s.length;o--;)if(t(s[o][0],n))return o;return-1}x(i,"assocIndexOf"),e.exports=i}),mz=j((r,e)=>{var t=ja(),i=Array.prototype,s=i.splice;function n(o){var a=this.__data__,l=t(a,o);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():s.call(a,l,1),--this.size,!0}x(n,"listCacheDelete"),e.exports=n}),_z=j((r,e)=>{var t=ja();function i(s){var n=this.__data__,o=t(n,s);return o<0?void 0:n[o][1]}x(i,"listCacheGet"),e.exports=i}),yz=j((r,e)=>{var t=ja();function i(s){return t(this.__data__,s)>-1}x(i,"listCacheHas"),e.exports=i}),xz=j((r,e)=>{var t=ja();function i(s,n){var o=this.__data__,a=t(o,s);return a<0?(++this.size,o.push([s,n])):o[a][1]=n,this}x(i,"listCacheSet"),e.exports=i}),Ua=j((r,e)=>{var t=gz(),i=mz(),s=_z(),n=yz(),o=xz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"ListCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),bz=j((r,e)=>{var t=Ua();function i(){this.__data__=new t,this.size=0}x(i,"stackClear"),e.exports=i}),vz=j((r,e)=>{function t(i){var s=this.__data__,n=s.delete(i);return this.size=s.size,n}x(t,"stackDelete"),e.exports=t}),Sz=j((r,e)=>{function t(i){return this.__data__.get(i)}x(t,"stackGet"),e.exports=t}),wz=j((r,e)=>{function t(i){return this.__data__.has(i)}x(t,"stackHas"),e.exports=t}),Gh=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Map");e.exports=s}),Ha=j((r,e)=>{var t=ii(),i=t(Object,"create");e.exports=i}),Tz=j((r,e)=>{var t=Ha();function i(){this.__data__=t?t(null):{},this.size=0}x(i,"hashClear"),e.exports=i}),Cz=j((r,e)=>{function t(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}x(t,"hashDelete"),e.exports=t}),Az=j((r,e)=>{var t=Ha(),i="__lodash_hash_undefined__",s=Object.prototype,n=s.hasOwnProperty;function o(a){var l=this.__data__;if(t){var u=l[a];return u===i?void 0:u}return n.call(l,a)?l[a]:void 0}x(o,"hashGet"),e.exports=o}),Ez=j((r,e)=>{var t=Ha(),i=Object.prototype,s=i.hasOwnProperty;function n(o){var a=this.__data__;return t?a[o]!==void 0:s.call(a,o)}x(n,"hashHas"),e.exports=n}),Iz=j((r,e)=>{var t=Ha(),i="__lodash_hash_undefined__";function s(n,o){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=t&&o===void 0?i:o,this}x(s,"hashSet"),e.exports=s}),Rz=j((r,e)=>{var t=Tz(),i=Cz(),s=Az(),n=Ez(),o=Iz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"Hash"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),Pz=j((r,e)=>{var t=Rz(),i=Ua(),s=Gh();function n(){this.size=0,this.__data__={hash:new t,map:new(s||i),string:new t}}x(n,"mapCacheClear"),e.exports=n}),kz=j((r,e)=>{function t(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}x(t,"isKeyable"),e.exports=t}),Wa=j((r,e)=>{var t=kz();function i(s,n){var o=s.__data__;return t(n)?o[typeof n=="string"?"string":"hash"]:o.map}x(i,"getMapData"),e.exports=i}),Oz=j((r,e)=>{var t=Wa();function i(s){var n=t(this,s).delete(s);return this.size-=n?1:0,n}x(i,"mapCacheDelete"),e.exports=i}),Lz=j((r,e)=>{var t=Wa();function i(s){return t(this,s).get(s)}x(i,"mapCacheGet"),e.exports=i}),Dz=j((r,e)=>{var t=Wa();function i(s){return t(this,s).has(s)}x(i,"mapCacheHas"),e.exports=i}),Fz=j((r,e)=>{var t=Wa();function i(s,n){var o=t(this,s),a=o.size;return o.set(s,n),this.size+=o.size==a?0:1,this}x(i,"mapCacheSet"),e.exports=i}),Yh=j((r,e)=>{var t=Pz(),i=Oz(),s=Lz(),n=Dz(),o=Fz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"MapCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),Bz=j((r,e)=>{var t=Ua(),i=Gh(),s=Yh(),n=200;function o(a,l){var u=this.__data__;if(u instanceof t){var c=u.__data__;if(!i||c.length<n-1)return c.push([a,l]),this.size=++u.size,this;u=this.__data__=new s(c)}return u.set(a,l),this.size=u.size,this}x(o,"stackSet"),e.exports=o}),Nv=j((r,e)=>{var t=Ua(),i=bz(),s=vz(),n=Sz(),o=wz(),a=Bz();function l(u){var c=this.__data__=new t(u);this.size=c.size}x(l,"Stack"),l.prototype.clear=i,l.prototype.delete=s,l.prototype.get=n,l.prototype.has=o,l.prototype.set=a,e.exports=l}),Mz=j((r,e)=>{var t="__lodash_hash_undefined__";function i(s){return this.__data__.set(s,t),this}x(i,"setCacheAdd"),e.exports=i}),Nz=j((r,e)=>{function t(i){return this.__data__.has(i)}x(t,"setCacheHas"),e.exports=t}),zz=j((r,e)=>{var t=Yh(),i=Mz(),s=Nz();function n(o){var a=-1,l=o==null?0:o.length;for(this.__data__=new t;++a<l;)this.add(o[a])}x(n,"SetCache"),n.prototype.add=n.prototype.push=i,n.prototype.has=s,e.exports=n}),jz=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length;++n<o;)if(s(i[n],n,i))return!0;return!1}x(t,"arraySome"),e.exports=t}),Uz=j((r,e)=>{function t(i,s){return i.has(s)}x(t,"cacheHas"),e.exports=t}),zv=j((r,e)=>{var t=zz(),i=jz(),s=Uz(),n=1,o=2;function a(l,u,c,g,m,y){var b=c&n,C=l.length,A=u.length;if(C!=A&&!(b&&A>C))return!1;var T=y.get(l),R=y.get(u);if(T&&R)return T==u&&R==l;var P=-1,E=!0,k=c&o?new t:void 0;for(y.set(l,u),y.set(u,l);++P<C;){var O=l[P],B=u[P];if(g)var F=b?g(B,O,P,u,l,y):g(O,B,P,l,u,y);if(F!==void 0){if(F)continue;E=!1;break}if(k){if(!i(u,function(U,q){if(!s(k,q)&&(O===U||m(O,U,c,g,y)))return k.push(q)})){E=!1;break}}else if(!(O===B||m(O,B,c,g,y))){E=!1;break}}return y.delete(l),y.delete(u),E}x(a,"equalArrays"),e.exports=a}),Hz=j((r,e)=>{var t=fr(),i=t.Uint8Array;e.exports=i}),Wz=j((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o,a){n[++s]=[a,o]}),n}x(t,"mapToArray"),e.exports=t}),qz=j((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o){n[++s]=o}),n}x(t,"setToArray"),e.exports=t}),$z=j((r,e)=>{var t=_n(),i=Hz(),s=Vh(),n=zv(),o=Wz(),a=qz(),l=1,u=2,c="[object Boolean]",g="[object Date]",m="[object Error]",y="[object Map]",b="[object Number]",C="[object RegExp]",A="[object Set]",T="[object String]",R="[object Symbol]",P="[object ArrayBuffer]",E="[object DataView]",k=t?t.prototype:void 0,O=k?k.valueOf:void 0;function B(F,U,q,ee,te,$,D){switch(q){case E:if(F.byteLength!=U.byteLength||F.byteOffset!=U.byteOffset)return!1;F=F.buffer,U=U.buffer;case P:return!(F.byteLength!=U.byteLength||!$(new i(F),new i(U)));case c:case g:case b:return s(+F,+U);case m:return F.name==U.name&&F.message==U.message;case C:case T:return F==U+"";case y:var N=o;case A:var G=ee&l;if(N||(N=a),F.size!=U.size&&!G)return!1;var Q=D.get(F);if(Q)return Q==U;ee|=u,D.set(F,U);var ne=n(N(F),N(U),ee,te,$,D);return D.delete(F),ne;case R:if(O)return O.call(F)==O.call(U)}return!1}x(B,"equalByTag"),e.exports=B}),Xh=j((r,e)=>{function t(i,s){for(var n=-1,o=s.length,a=i.length;++n<o;)i[a+n]=s[n];return i}x(t,"arrayPush"),e.exports=t}),jv=j((r,e)=>{var t=Xh(),i=gr();function s(n,o,a){var l=o(n);return i(n)?l:t(l,a(n))}x(s,"baseGetAllKeys"),e.exports=s}),Vz=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=0,l=[];++n<o;){var u=i[n];s(u,n,i)&&(l[a++]=u)}return l}x(t,"arrayFilter"),e.exports=t}),Uv=j((r,e)=>{function t(){return[]}x(t,"stubArray"),e.exports=t}),Hv=j((r,e)=>{var t=Vz(),i=Uv(),s=Object.prototype,n=s.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(l){return l==null?[]:(l=Object(l),t(o(l),function(u){return n.call(l,u)}))}:i;e.exports=a}),Gz=j((r,e)=>{var t=jv(),i=Hv(),s=$h();function n(o){return t(o,s,i)}x(n,"getAllKeys"),e.exports=n}),Yz=j((r,e)=>{var t=Gz(),i=1,s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u,c,g,m){var y=u&i,b=t(a),C=b.length,A=t(l),T=A.length;if(C!=T&&!y)return!1;for(var R=C;R--;){var P=b[R];if(!(y?P in l:n.call(l,P)))return!1}var E=m.get(a),k=m.get(l);if(E&&k)return E==l&&k==a;var O=!0;m.set(a,l),m.set(l,a);for(var B=y;++R<C;){P=b[R];var F=a[P],U=l[P];if(c)var q=y?c(U,F,P,l,a,m):c(F,U,P,a,l,m);if(!(q===void 0?F===U||g(F,U,u,c,m):q)){O=!1;break}B||(B=P=="constructor")}if(O&&!B){var ee=a.constructor,te=l.constructor;ee!=te&&"constructor"in a&&"constructor"in l&&!(typeof ee=="function"&&ee instanceof ee&&typeof te=="function"&&te instanceof te)&&(O=!1)}return m.delete(a),m.delete(l),O}x(o,"equalObjects"),e.exports=o}),Xz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"DataView");e.exports=s}),Kz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Promise");e.exports=s}),Jz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Set");e.exports=s}),Qz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"WeakMap");e.exports=s}),Zz=j((r,e)=>{var t=Xz(),i=Gh(),s=Kz(),n=Jz(),o=Qz(),a=Vi(),l=Rv(),u="[object Map]",c="[object Object]",g="[object Promise]",m="[object Set]",y="[object WeakMap]",b="[object DataView]",C=l(t),A=l(i),T=l(s),R=l(n),P=l(o),E=a;(t&&E(new t(new ArrayBuffer(1)))!=b||i&&E(new i)!=u||s&&E(s.resolve())!=g||n&&E(new n)!=m||o&&E(new o)!=y)&&(E=x(function(k){var O=a(k),B=O==c?k.constructor:void 0,F=B?l(B):"";if(F)switch(F){case C:return b;case A:return u;case T:return g;case R:return m;case P:return y}return O},"getTag")),e.exports=E}),e3=j((r,e)=>{var t=Nv(),i=zv(),s=$z(),n=Yz(),o=Zz(),a=gr(),l=Ov(),u=Lv(),c=1,g="[object Arguments]",m="[object Array]",y="[object Object]",b=Object.prototype,C=b.hasOwnProperty;function A(T,R,P,E,k,O){var B=a(T),F=a(R),U=B?m:o(T),q=F?m:o(R);U=U==g?y:U,q=q==g?y:q;var ee=U==y,te=q==y,$=U==q;if($&&l(T)){if(!l(R))return!1;B=!0,ee=!1}if($&&!ee)return O||(O=new t),B||u(T)?i(T,R,P,E,k,O):s(T,R,U,P,E,k,O);if(!(P&c)){var D=ee&&C.call(T,"__wrapped__"),N=te&&C.call(R,"__wrapped__");if(D||N){var G=D?T.value():T,Q=N?R.value():R;return O||(O=new t),k(G,Q,P,E,O)}}return $?(O||(O=new t),n(T,R,P,E,k,O)):!1}x(A,"baseIsEqualDeep"),e.exports=A}),Wv=j((r,e)=>{var t=e3(),i=Gi();function s(n,o,a,l,u){return n===o?!0:n==null||o==null||!i(n)&&!i(o)?n!==n&&o!==o:t(n,o,a,l,s,u)}x(s,"baseIsEqual"),e.exports=s}),t3=j((r,e)=>{var t=Nv(),i=Wv(),s=1,n=2;function o(a,l,u,c){var g=u.length,m=g,y=!c;if(a==null)return!m;for(a=Object(a);g--;){var b=u[g];if(y&&b[2]?b[1]!==a[b[0]]:!(b[0]in a))return!1}for(;++g<m;){b=u[g];var C=b[0],A=a[C],T=b[1];if(y&&b[2]){if(A===void 0&&!(C in a))return!1}else{var R=new t;if(c)var P=c(A,T,C,a,l,R);if(!(P===void 0?i(T,A,s|n,c,R):P))return!1}}return!0}x(o,"baseIsMatch"),e.exports=o}),qv=j((r,e)=>{var t=yn();function i(s){return s===s&&!t(s)}x(i,"isStrictComparable"),e.exports=i}),r3=j((r,e)=>{var t=qv(),i=$h();function s(n){for(var o=i(n),a=o.length;a--;){var l=o[a],u=n[l];o[a]=[l,u,t(u)]}return o}x(s,"getMatchData"),e.exports=s}),$v=j((r,e)=>{function t(i,s){return function(n){return n==null?!1:n[i]===s&&(s!==void 0||i in Object(n))}}x(t,"matchesStrictComparable"),e.exports=t}),i3=j((r,e)=>{var t=t3(),i=r3(),s=$v();function n(o){var a=i(o);return a.length==1&&a[0][2]?s(a[0][0],a[0][1]):function(l){return l===o||t(l,o,a)}}x(n,"baseMatches"),e.exports=n}),Kh=j((r,e)=>{var t=Vi(),i=Gi(),s="[object Symbol]";function n(o){return typeof o=="symbol"||i(o)&&t(o)==s}x(n,"isSymbol"),e.exports=n}),Jh=j((r,e)=>{var t=gr(),i=Kh(),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function o(a,l){if(t(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||i(a)?!0:n.test(a)||!s.test(a)||l!=null&&a in Object(l)}x(o,"isKey"),e.exports=o}),s3=j((r,e)=>{var t=Yh(),i="Expected a function";function s(n,o){if(typeof n!="function"||o!=null&&typeof o!="function")throw new TypeError(i);var a=x(function(){var l=arguments,u=o?o.apply(this,l):l[0],c=a.cache;if(c.has(u))return c.get(u);var g=n.apply(this,l);return a.cache=c.set(u,g)||c,g},"memoized");return a.cache=new(s.Cache||t),a}x(s,"memoize"),s.Cache=t,e.exports=s}),n3=j((r,e)=>{var t=s3(),i=500;function s(n){var o=t(n,function(l){return a.size===i&&a.clear(),l}),a=o.cache;return o}x(s,"memoizeCapped"),e.exports=s}),o3=j((r,e)=>{var t=n3(),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,n=t(function(o){var a=[];return o.charCodeAt(0)===46&&a.push(""),o.replace(i,function(l,u,c,g){a.push(c?g.replace(s,"$1"):u||l)}),a});e.exports=n}),Vv=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=Array(o);++n<o;)a[n]=s(i[n],n,i);return a}x(t,"arrayMap"),e.exports=t}),a3=j((r,e)=>{var t=_n(),i=Vv(),s=gr(),n=Kh(),o=1/0,a=t?t.prototype:void 0,l=a?a.toString:void 0;function u(c){if(typeof c=="string")return c;if(s(c))return i(c,u)+"";if(n(c))return l?l.call(c):"";var g=c+"";return g=="0"&&1/c==-o?"-0":g}x(u,"baseToString"),e.exports=u}),l3=j((r,e)=>{var t=a3();function i(s){return s==null?"":t(s)}x(i,"toString"),e.exports=i}),qa=j((r,e)=>{var t=gr(),i=Jh(),s=o3(),n=l3();function o(a,l){return t(a)?a:i(a,l)?[a]:s(n(a))}x(o,"castPath"),e.exports=o}),xn=j((r,e)=>{var t=Kh(),i=1/0;function s(n){if(typeof n=="string"||t(n))return n;var o=n+"";return o=="0"&&1/n==-i?"-0":o}x(s,"toKey"),e.exports=s}),Qh=j((r,e)=>{var t=qa(),i=xn();function s(n,o){o=t(o,n);for(var a=0,l=o.length;n!=null&&a<l;)n=n[i(o[a++])];return a&&a==l?n:void 0}x(s,"baseGet"),e.exports=s}),u3=j((r,e)=>{var t=Qh();function i(s,n,o){var a=s==null?void 0:t(s,n);return a===void 0?o:a}x(i,"get"),e.exports=i}),c3=j((r,e)=>{function t(i,s){return i!=null&&s in Object(i)}x(t,"baseHasIn"),e.exports=t}),h3=j((r,e)=>{var t=qa(),i=Hh(),s=gr(),n=Wh(),o=qh(),a=xn();function l(u,c,g){c=t(c,u);for(var m=-1,y=c.length,b=!1;++m<y;){var C=a(c[m]);if(!(b=u!=null&&g(u,C)))break;u=u[C]}return b||++m!=y?b:(y=u==null?0:u.length,!!y&&o(y)&&n(C,y)&&(s(u)||i(u)))}x(l,"hasPath"),e.exports=l}),Gv=j((r,e)=>{var t=c3(),i=h3();function s(n,o){return n!=null&&i(n,o,t)}x(s,"hasIn"),e.exports=s}),d3=j((r,e)=>{var t=Wv(),i=u3(),s=Gv(),n=Jh(),o=qv(),a=$v(),l=xn(),u=1,c=2;function g(m,y){return n(m)&&o(y)?a(l(m),y):function(b){var C=i(b,m);return C===void 0&&C===y?s(b,m):t(y,C,u|c)}}x(g,"baseMatchesProperty"),e.exports=g}),Yv=j((r,e)=>{function t(i){return i}x(t,"identity"),e.exports=t}),p3=j((r,e)=>{function t(i){return function(s){return s?.[i]}}x(t,"baseProperty"),e.exports=t}),f3=j((r,e)=>{var t=Qh();function i(s){return function(n){return t(n,s)}}x(i,"basePropertyDeep"),e.exports=i}),g3=j((r,e)=>{var t=p3(),i=f3(),s=Jh(),n=xn();function o(a){return s(a)?t(n(a)):i(a)}x(o,"property"),e.exports=o}),Xv=j((r,e)=>{var t=i3(),i=d3(),s=Yv(),n=gr(),o=g3();function a(l){return typeof l=="function"?l:l==null?s:typeof l=="object"?n(l)?i(l[0],l[1]):t(l):o(l)}x(a,"baseIteratee"),e.exports=a}),$a=j((r,e)=>{var t=kv(),i=fz(),s=Xv();function n(o,a){var l={};return a=s(a,3),i(o,function(u,c,g){t(l,c,a(u,c,g))}),l}x(n,"mapValues"),e.exports=n}),m3=j((r,e)=>{var t=kv(),i=Vh(),s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u){var c=a[l];(!(n.call(a,l)&&i(c,u))||u===void 0&&!(l in a))&&t(a,l,u)}x(o,"assignValue"),e.exports=o}),_3=j((r,e)=>{var t=m3(),i=qa(),s=Wh(),n=yn(),o=xn();function a(l,u,c,g){if(!n(l))return l;u=i(u,l);for(var m=-1,y=u.length,b=y-1,C=l;C!=null&&++m<y;){var A=o(u[m]),T=c;if(A==="__proto__"||A==="constructor"||A==="prototype")return l;if(m!=b){var R=C[A];T=g?g(R,A,C):void 0,T===void 0&&(T=n(R)?R:s(u[m+1])?[]:{})}t(C,A,T),C=C[A]}return l}x(a,"baseSet"),e.exports=a}),Kv=j((r,e)=>{var t=Qh(),i=_3(),s=qa();function n(o,a,l){for(var u=-1,c=a.length,g={};++u<c;){var m=a[u],y=t(o,m);l(y,m)&&i(g,s(m,o),y)}return g}x(n,"basePickBy"),e.exports=n}),y3=j((r,e)=>{var t=Kv(),i=Gv();function s(n,o){return t(n,o,function(a,l){return i(n,l)})}x(s,"basePick"),e.exports=s}),x3=j((r,e)=>{var t=_n(),i=Hh(),s=gr(),n=t?t.isConcatSpreadable:void 0;function o(a){return s(a)||i(a)||!!(n&&a&&a[n])}x(o,"isFlattenable"),e.exports=o}),b3=j((r,e)=>{var t=Xh(),i=x3();function s(n,o,a,l,u){var c=-1,g=n.length;for(a||(a=i),u||(u=[]);++c<g;){var m=n[c];o>0&&a(m)?o>1?s(m,o-1,a,l,u):t(u,m):l||(u[u.length]=m)}return u}x(s,"baseFlatten"),e.exports=s}),v3=j((r,e)=>{var t=b3();function i(s){var n=s==null?0:s.length;return n?t(s,1):[]}x(i,"flatten"),e.exports=i}),S3=j((r,e)=>{function t(i,s,n){switch(n.length){case 0:return i.call(s);case 1:return i.call(s,n[0]);case 2:return i.call(s,n[0],n[1]);case 3:return i.call(s,n[0],n[1],n[2])}return i.apply(s,n)}x(t,"apply"),e.exports=t}),w3=j((r,e)=>{var t=S3(),i=Math.max;function s(n,o,a){return o=i(o===void 0?n.length-1:o,0),function(){for(var l=arguments,u=-1,c=i(l.length-o,0),g=Array(c);++u<c;)g[u]=l[o+u];u=-1;for(var m=Array(o+1);++u<o;)m[u]=l[u];return m[o]=a(g),t(n,this,m)}}x(s,"overRest"),e.exports=s}),T3=j((r,e)=>{function t(i){return function(){return i}}x(t,"constant"),e.exports=t}),C3=j((r,e)=>{var t=T3(),i=Pv(),s=Yv(),n=i?function(o,a){return i(o,"toString",{configurable:!0,enumerable:!1,value:t(a),writable:!0})}:s;e.exports=n}),A3=j((r,e)=>{var t=800,i=16,s=Date.now;function n(o){var a=0,l=0;return function(){var u=s(),c=i-(u-l);if(l=u,c>0){if(++a>=t)return arguments[0]}else a=0;return o.apply(void 0,arguments)}}x(n,"shortOut"),e.exports=n}),E3=j((r,e)=>{var t=C3(),i=A3(),s=i(t);e.exports=s}),I3=j((r,e)=>{var t=v3(),i=w3(),s=E3();function n(o){return s(i(o,void 0,t),o+"")}x(n,"flatRest"),e.exports=n}),R3=j((r,e)=>{var t=y3(),i=I3(),s=i(function(n,o){return n==null?{}:t(n,o)});e.exports=s}),Jv=j((r,e)=>{(function(t){if(typeof r=="object"&&typeof e<"u")e.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var i;typeof window<"u"||typeof window<"u"?i=window:typeof self<"u"?i=self:i=this,i.memoizerific=t()}})(function(){var t,i,s;return x(function n(o,a,l){function u(m,y){if(!a[m]){if(!o[m]){var b=typeof La=="function"&&La;if(!y&&b)return b(m,!0);if(c)return c(m,!0);var C=new Error("Cannot find module '"+m+"'");throw C.code="MODULE_NOT_FOUND",C}var A=a[m]={exports:{}};o[m][0].call(A.exports,function(T){var R=o[m][1][T];return u(R||T)},A,A.exports,n,o,a,l)}return a[m].exports}x(u,"s");for(var c=typeof La=="function"&&La,g=0;g<l.length;g++)u(l[g]);return u},"e")({1:[function(n,o,a){o.exports=function(l){if(typeof Map!="function"||l){var u=n("./similar");return new u}else return new Map}},{"./similar":2}],2:[function(n,o,a){function l(){return this.list=[],this.lastItem=void 0,this.size=0,this}x(l,"Similar"),l.prototype.get=function(u){var c;if(this.lastItem&&this.isEqual(this.lastItem.key,u))return this.lastItem.val;if(c=this.indexOf(u),c>=0)return this.lastItem=this.list[c],this.list[c].val},l.prototype.set=function(u,c){var g;return this.lastItem&&this.isEqual(this.lastItem.key,u)?(this.lastItem.val=c,this):(g=this.indexOf(u),g>=0?(this.lastItem=this.list[g],this.list[g].val=c,this):(this.lastItem={key:u,val:c},this.list.push(this.lastItem),this.size++,this))},l.prototype.delete=function(u){var c;if(this.lastItem&&this.isEqual(this.lastItem.key,u)&&(this.lastItem=void 0),c=this.indexOf(u),c>=0)return this.size--,this.list.splice(c,1)[0]},l.prototype.has=function(u){var c;return this.lastItem&&this.isEqual(this.lastItem.key,u)?!0:(c=this.indexOf(u),c>=0?(this.lastItem=this.list[c],!0):!1)},l.prototype.forEach=function(u,c){var g;for(g=0;g<this.size;g++)u.call(c||this,this.list[g].val,this.list[g].key,this)},l.prototype.indexOf=function(u){var c;for(c=0;c<this.size;c++)if(this.isEqual(this.list[c].key,u))return c;return-1},l.prototype.isEqual=function(u,c){return u===c||u!==u&&c!==c},o.exports=l},{}],3:[function(n,o,a){var l=n("map-or-similar");o.exports=function(m){var y=new l(!1),b=[];return function(C){var A=x(function(){var T=y,R,P,E=arguments.length-1,k=Array(E+1),O=!0,B;if((A.numArgs||A.numArgs===0)&&A.numArgs!==E+1)throw new Error("Memoizerific functions should always be called with the same number of arguments");for(B=0;B<E;B++){if(k[B]={cacheItem:T,arg:arguments[B]},T.has(arguments[B])){T=T.get(arguments[B]);continue}O=!1,R=new l(!1),T.set(arguments[B],R),T=R}return O&&(T.has(arguments[E])?P=T.get(arguments[E]):O=!1),O||(P=C.apply(null,arguments),T.set(arguments[E],P)),m>0&&(k[E]={cacheItem:T,arg:arguments[E]},O?u(b,k):b.push(k),b.length>m&&c(b.shift())),A.wasMemoized=O,A.numArgs=E+1,P},"memoizerific");return A.limit=m,A.wasMemoized=!1,A.cache=y,A.lru=b,A}};function u(m,y){var b=m.length,C=y.length,A,T,R;for(T=0;T<b;T++){for(A=!0,R=0;R<C;R++)if(!g(m[T][R].arg,y[R].arg)){A=!1;break}if(A)break}m.push(m.splice(T,1)[0])}x(u,"moveToMostRecentLru");function c(m){var y=m.length,b=m[y-1],C,A;for(b.cacheItem.delete(b.arg),A=y-2;A>=0&&(b=m[A],C=b.cacheItem.get(b.arg),!C||!C.size);A--)b.cacheItem.delete(b.arg)}x(c,"removeCachedResult");function g(m,y){return m===y||m!==m&&y!==y}x(g,"isEqual")},{"map-or-similar":1}]},{},[3])(3)})}),Qv=j((r,e)=>{var t=Bv(),i=t(Object.getPrototypeOf,Object);e.exports=i}),Zh=j((r,e)=>{var t=Vi(),i=Qv(),s=Gi(),n="[object Object]",o=Function.prototype,a=Object.prototype,l=o.toString,u=a.hasOwnProperty,c=l.call(Object);function g(m){if(!s(m)||t(m)!=n)return!1;var y=i(m);if(y===null)return!0;var b=u.call(y,"constructor")&&y.constructor;return typeof b=="function"&&b instanceof b&&l.call(b)==c}x(g,"isPlainObject"),e.exports=g}),P3=j((r,e)=>{var t=Xh(),i=Qv(),s=Hv(),n=Uv(),o=Object.getOwnPropertySymbols,a=o?function(l){for(var u=[];l;)t(u,s(l)),l=i(l);return u}:n;e.exports=a}),k3=j((r,e)=>{function t(i){var s=[];if(i!=null)for(var n in Object(i))s.push(n);return s}x(t,"nativeKeysIn"),e.exports=t}),O3=j((r,e)=>{var t=yn(),i=Fv(),s=k3(),n=Object.prototype,o=n.hasOwnProperty;function a(l){if(!t(l))return s(l);var u=i(l),c=[];for(var g in l)g=="constructor"&&(u||!o.call(l,g))||c.push(g);return c}x(a,"baseKeysIn"),e.exports=a}),L3=j((r,e)=>{var t=Dv(),i=O3(),s=Mv();function n(o){return s(o)?t(o,!0):i(o)}x(n,"keysIn"),e.exports=n}),D3=j((r,e)=>{var t=jv(),i=P3(),s=L3();function n(o){return t(o,s,i)}x(n,"getAllKeysIn"),e.exports=n}),F3=j((r,e)=>{var t=Vv(),i=Xv(),s=Kv(),n=D3();function o(a,l){if(a==null)return{};var u=t(n(a),function(c){return[c]});return l=i(l),s(a,u,function(c,g){return l(c,g[0])})}x(o,"pickBy"),e.exports=o}),B3=j((r,e)=>{"use strict";e.exports=Error}),M3=j((r,e)=>{"use strict";e.exports=EvalError}),N3=j((r,e)=>{"use strict";e.exports=RangeError}),z3=j((r,e)=>{"use strict";e.exports=ReferenceError}),Zv=j((r,e)=>{"use strict";e.exports=SyntaxError}),bn=j((r,e)=>{"use strict";e.exports=TypeError}),j3=j((r,e)=>{"use strict";e.exports=URIError}),U3=j((r,e)=>{"use strict";e.exports=x(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},i=Symbol("test"),s=Object(i);if(typeof i=="string"||Object.prototype.toString.call(i)!=="[object Symbol]"||Object.prototype.toString.call(s)!=="[object Symbol]")return!1;var n=42;t[i]=n;for(i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==i||!Object.prototype.propertyIsEnumerable.call(t,i))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,i);if(a.value!==n||a.enumerable!==!0)return!1}return!0},"hasSymbols")}),H3=j((r,e)=>{"use strict";var t=typeof Symbol<"u"&&Symbol,i=U3();e.exports=x(function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()},"hasNativeSymbols")}),W3=j((r,e)=>{"use strict";var t={__proto__:null,foo:{}},i=Object;e.exports=x(function(){return{__proto__:t}.foo===t.foo&&!(t instanceof i)},"hasProto")}),q3=j((r,e)=>{"use strict";var t="Function.prototype.bind called on incompatible ",i=Object.prototype.toString,s=Math.max,n="[object Function]",o=x(function(u,c){for(var g=[],m=0;m<u.length;m+=1)g[m]=u[m];for(var y=0;y<c.length;y+=1)g[y+u.length]=c[y];return g},"concatty"),a=x(function(u,c){for(var g=[],m=c||0,y=0;m<u.length;m+=1,y+=1)g[y]=u[m];return g},"slicy"),l=x(function(u,c){for(var g="",m=0;m<u.length;m+=1)g+=u[m],m+1<u.length&&(g+=c);return g},"joiny");e.exports=x(function(u){var c=this;if(typeof c!="function"||i.apply(c)!==n)throw new TypeError(t+c);for(var g=a(arguments,1),m,y=x(function(){if(this instanceof m){var R=c.apply(this,o(g,arguments));return Object(R)===R?R:this}return c.apply(u,o(g,arguments))},"binder"),b=s(0,c.length-g.length),C=[],A=0;A<b;A++)C[A]="$"+A;if(m=Function("binder","return function ("+l(C,",")+"){ return binder.apply(this,arguments); }")(y),c.prototype){var T=x(function(){},"Empty");T.prototype=c.prototype,m.prototype=new T,T.prototype=null}return m},"bind")}),ed=j((r,e)=>{"use strict";var t=q3();e.exports=Function.prototype.bind||t}),$3=j((r,e)=>{"use strict";var t=Function.prototype.call,i=Object.prototype.hasOwnProperty,s=ed();e.exports=s.call(t,i)}),Yi=j((r,e)=>{"use strict";var t,i=B3(),s=M3(),n=N3(),o=z3(),a=Zv(),l=bn(),u=j3(),c=Function,g=x(function(ie){try{return c('"use strict"; return ('+ie+").constructor;")()}catch{}},"getEvalledConstructor"),m=Object.getOwnPropertyDescriptor;if(m)try{m({},"")}catch{m=null}var y=x(function(){throw new l},"throwTypeError"),b=m?function(){try{return arguments.callee,y}catch{try{return m(arguments,"callee").get}catch{return y}}}():y,C=H3()(),A=W3()(),T=Object.getPrototypeOf||(A?function(ie){return ie.__proto__}:null),R={},P=typeof Uint8Array>"u"||!T?t:T(Uint8Array),E={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":C&&T?T([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":R,"%AsyncGenerator%":R,"%AsyncGeneratorFunction%":R,"%AsyncIteratorPrototype%":R,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":s,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":c,"%GeneratorFunction%":R,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":C&&T?T(T([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!C||!T?t:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":n,"%ReferenceError%":o,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!C||!T?t:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":C&&T?T(""[Symbol.iterator]()):t,"%Symbol%":C?Symbol:t,"%SyntaxError%":a,"%ThrowTypeError%":b,"%TypedArray%":P,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet};if(T)try{null.error}catch(ie){k=T(T(ie)),E["%Error.prototype%"]=k}var k,O=x(function ie(re){var ae;if(re==="%AsyncFunction%")ae=g("async function () {}");else if(re==="%GeneratorFunction%")ae=g("function* () {}");else if(re==="%AsyncGeneratorFunction%")ae=g("async function* () {}");else if(re==="%AsyncGenerator%"){var ce=ie("%AsyncGeneratorFunction%");ce&&(ae=ce.prototype)}else if(re==="%AsyncIteratorPrototype%"){var Se=ie("%AsyncGenerator%");Se&&T&&(ae=T(Se.prototype))}return E[re]=ae,ae},"doEval"),B={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},F=ed(),U=$3(),q=F.call(Function.call,Array.prototype.concat),ee=F.call(Function.apply,Array.prototype.splice),te=F.call(Function.call,String.prototype.replace),$=F.call(Function.call,String.prototype.slice),D=F.call(Function.call,RegExp.prototype.exec),N=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,G=/\\(\\)?/g,Q=x(function(ie){var re=$(ie,0,1),ae=$(ie,-1);if(re==="%"&&ae!=="%")throw new a("invalid intrinsic syntax, expected closing `%`");if(ae==="%"&&re!=="%")throw new a("invalid intrinsic syntax, expected opening `%`");var ce=[];return te(ie,N,function(Se,we,xe,Ie){ce[ce.length]=xe?te(Ie,G,"$1"):we||Se}),ce},"stringToPath"),ne=x(function(ie,re){var ae=ie,ce;if(U(B,ae)&&(ce=B[ae],ae="%"+ce[0]+"%"),U(E,ae)){var Se=E[ae];if(Se===R&&(Se=O(ae)),typeof Se>"u"&&!re)throw new l("intrinsic "+ie+" exists, but is not available. Please file an issue!");return{alias:ce,name:ae,value:Se}}throw new a("intrinsic "+ie+" does not exist!")},"getBaseIntrinsic");e.exports=x(function(ie,re){if(typeof ie!="string"||ie.length===0)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new l('"allowMissing" argument must be a boolean');if(D(/^%?[^%]*%?$/,ie)===null)throw new a("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var ae=Q(ie),ce=ae.length>0?ae[0]:"",Se=ne("%"+ce+"%",re),we=Se.name,xe=Se.value,Ie=!1,De=Se.alias;De&&(ce=De[0],ee(ae,q([0,1],De)));for(var nt=1,$e=!0;nt<ae.length;nt+=1){var Re=ae[nt],ot=$(Re,0,1),je=$(Re,-1);if((ot==='"'||ot==="'"||ot==="`"||je==='"'||je==="'"||je==="`")&&ot!==je)throw new a("property names with quotes must have matching quotes");if((Re==="constructor"||!$e)&&(Ie=!0),ce+="."+Re,we="%"+ce+"%",U(E,we))xe=E[we];else if(xe!=null){if(!(Re in xe)){if(!re)throw new l("base intrinsic for "+ie+" exists, but the property is not available.");return}if(m&&nt+1>=ae.length){var at=m(xe,Re);$e=!!at,$e&&"get"in at&&!("originalValue"in at.get)?xe=at.get:xe=xe[Re]}else $e=U(xe,Re),xe=xe[Re];$e&&!Ie&&(E[we]=xe)}}return xe},"GetIntrinsic")}),td=j((r,e)=>{"use strict";var t=Yi(),i=t("%Object.defineProperty%",!0)||!1;if(i)try{i({},"a",{value:1})}catch{i=!1}e.exports=i}),eS=j((r,e)=>{"use strict";var t=Yi(),i=t("%Object.getOwnPropertyDescriptor%",!0);if(i)try{i([],"length")}catch{i=null}e.exports=i}),V3=j((r,e)=>{"use strict";var t=td(),i=Zv(),s=bn(),n=eS();e.exports=x(function(o,a,l){if(!o||typeof o!="object"&&typeof o!="function")throw new s("`obj` must be an object or a function`");if(typeof a!="string"&&typeof a!="symbol")throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new s("`loose`, if provided, must be a boolean");var u=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,g=arguments.length>5?arguments[5]:null,m=arguments.length>6?arguments[6]:!1,y=!!n&&n(o,a);if(t)t(o,a,{configurable:g===null&&y?y.configurable:!g,enumerable:u===null&&y?y.enumerable:!u,value:l,writable:c===null&&y?y.writable:!c});else if(m||!u&&!c&&!g)o[a]=l;else throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},"defineDataProperty")}),G3=j((r,e)=>{"use strict";var t=td(),i=x(function(){return!!t},"hasPropertyDescriptors");i.hasArrayLengthDefineBug=x(function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},"hasArrayLengthDefineBug"),e.exports=i}),Y3=j((r,e)=>{"use strict";var t=Yi(),i=V3(),s=G3()(),n=eS(),o=bn(),a=t("%Math.floor%");e.exports=x(function(l,u){if(typeof l!="function")throw new o("`fn` is not a function");if(typeof u!="number"||u<0||u>4294967295||a(u)!==u)throw new o("`length` must be a positive 32-bit integer");var c=arguments.length>2&&!!arguments[2],g=!0,m=!0;if("length"in l&&n){var y=n(l,"length");y&&!y.configurable&&(g=!1),y&&!y.writable&&(m=!1)}return(g||m||!c)&&(s?i(l,"length",u,!0,!0):i(l,"length",u)),l},"setFunctionLength")}),X3=j((r,e)=>{"use strict";var t=ed(),i=Yi(),s=Y3(),n=bn(),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),l=i("%Reflect.apply%",!0)||t.call(a,o),u=td(),c=i("%Math.max%");e.exports=x(function(m){if(typeof m!="function")throw new n("a function is required");var y=l(t,a,arguments);return s(y,1+c(0,m.length-(arguments.length-1)),!0)},"callBind");var g=x(function(){return l(t,o,arguments)},"applyBind");u?u(e.exports,"apply",{value:g}):e.exports.apply=g}),K3=j((r,e)=>{"use strict";var t=Yi(),i=X3(),s=i(t("String.prototype.indexOf"));e.exports=x(function(n,o){var a=t(n,!!o);return typeof a=="function"&&s(n,".prototype.")>-1?i(a):a},"callBoundIntrinsic")}),J3=j(()=>{}),Q3=j((r,e)=>{var t=typeof Map=="function"&&Map.prototype,i=Object.getOwnPropertyDescriptor&&t?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=t&&i&&typeof i.get=="function"?i.get:null,n=t&&Map.prototype.forEach,o=typeof Set=="function"&&Set.prototype,a=Object.getOwnPropertyDescriptor&&o?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,l=o&&a&&typeof a.get=="function"?a.get:null,u=o&&Set.prototype.forEach,c=typeof WeakMap=="function"&&WeakMap.prototype,g=c?WeakMap.prototype.has:null,m=typeof WeakSet=="function"&&WeakSet.prototype,y=m?WeakSet.prototype.has:null,b=typeof WeakRef=="function"&&WeakRef.prototype,C=b?WeakRef.prototype.deref:null,A=Boolean.prototype.valueOf,T=Object.prototype.toString,R=Function.prototype.toString,P=String.prototype.match,E=String.prototype.slice,k=String.prototype.replace,O=String.prototype.toUpperCase,B=String.prototype.toLowerCase,F=RegExp.prototype.test,U=Array.prototype.concat,q=Array.prototype.join,ee=Array.prototype.slice,te=Math.floor,$=typeof BigInt=="function"?BigInt.prototype.valueOf:null,D=Object.getOwnPropertySymbols,N=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,G=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Q=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===G||!0)?Symbol.toStringTag:null,ne=Object.prototype.propertyIsEnumerable,ie=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(W){return W.__proto__}:null);function re(W,Y){if(W===1/0||W===-1/0||W!==W||W&&W>-1e3&&W<1e3||F.call(/e/,Y))return Y;var _e=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof W=="number"){var de=W<0?-te(-W):te(W);if(de!==W){var Me=String(de),ge=E.call(Y,Me.length+1);return k.call(Me,_e,"$&_")+"."+k.call(k.call(ge,/([0-9]{3})/g,"$&_"),/_$/,"")}}return k.call(Y,_e,"$&_")}x(re,"addNumericSeparator");var ae=J3(),ce=ae.custom,Se=at(ce)?ce:null;e.exports=x(function W(Y,_e,de,Me){var ge=_e||{};if(Ee(ge,"quoteStyle")&&ge.quoteStyle!=="single"&&ge.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ee(ge,"maxStringLength")&&(typeof ge.maxStringLength=="number"?ge.maxStringLength<0&&ge.maxStringLength!==1/0:ge.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var lt=Ee(ge,"customInspect")?ge.customInspect:!0;if(typeof lt!="boolean"&<!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ee(ge,"indent")&&ge.indent!==null&&ge.indent!==" "&&!(parseInt(ge.indent,10)===ge.indent&&ge.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ee(ge,"numericSeparator")&&typeof ge.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Wt=ge.numericSeparator;if(typeof Y>"u")return"undefined";if(Y===null)return"null";if(typeof Y=="boolean")return Y?"true":"false";if(typeof Y=="string")return ns(Y,ge);if(typeof Y=="number"){if(Y===0)return 1/0/Y>0?"0":"-0";var gt=String(Y);return Wt?re(Y,gt):gt}if(typeof Y=="bigint"){var qt=String(Y)+"n";return Wt?re(Y,qt):qt}var as=typeof ge.depth>"u"?5:ge.depth;if(typeof de>"u"&&(de=0),de>=as&&as>0&&typeof Y=="object")return Ie(Y)?"[Array]":"[Object]";var mt=zn(ge,de);if(typeof Me>"u")Me=[];else if(yr(Me,Y)>=0)return"[Circular]";function vt(ue,Te,et){if(Te&&(Me=ee.call(Me),Me.push(Te)),et){var Ve={depth:ge.depth};return Ee(ge,"quoteStyle")&&(Ve.quoteStyle=ge.quoteStyle),W(ue,Ve,de+1,Me)}return W(ue,ge,de+1,Me)}if(x(vt,"inspect"),typeof Y=="function"&&!nt(Y)){var jn=Zt(Y),$t=Wr(Y,vt);return"[Function"+(jn?": "+jn:" (anonymous)")+"]"+($t.length>0?" { "+q.call($t,", ")+" }":"")}if(at(Y)){var Un=G?k.call(String(Y),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(Y);return typeof Y=="object"&&!G?xr(Un):Un}if(Bn(Y)){for(var er="<"+B.call(String(Y.nodeName)),ls=Y.attributes||[],hi=0;hi<ls.length;hi++)er+=" "+ls[hi].name+"="+we(xe(ls[hi].value),"double",ge);return er+=">",Y.childNodes&&Y.childNodes.length&&(er+="..."),er+="</"+B.call(String(Y.nodeName))+">",er}if(Ie(Y)){if(Y.length===0)return"[]";var us=Wr(Y,vt);return mt&&!Nn(us)?"["+ci(us,mt)+"]":"[ "+q.call(us,", ")+" ]"}if($e(Y)){var di=Wr(Y,vt);return!("cause"in Error.prototype)&&"cause"in Y&&!ne.call(Y,"cause")?"{ ["+String(Y)+"] "+q.call(U.call("[cause]: "+vt(Y.cause),di),", ")+" }":di.length===0?"["+String(Y)+"]":"{ ["+String(Y)+"] "+q.call(di,", ")+" }"}if(typeof Y=="object"&<){if(Se&&typeof Y[Se]=="function"&&ae)return ae(Y,{depth:as-de});if(lt!=="symbol"&&typeof Y.inspect=="function")return Y.inspect()}if(li(Y)){var pi=[];return n&&n.call(Y,function(ue,Te){pi.push(vt(Te,Y,!0)+" => "+vt(ue,Y))}),os("Map",s.call(Y),pi,mt)}if(Dn(Y)){var Hn=[];return u&&u.call(Y,function(ue){Hn.push(vt(ue,Y))}),os("Set",l.call(Y),Hn,mt)}if(ss(Y))return ui("WeakMap");if(Fn(Y))return ui("WeakSet");if(Ln(Y))return ui("WeakRef");if(ot(Y))return xr(vt(Number(Y)));if(jt(Y))return xr(vt($.call(Y)));if(je(Y))return xr(A.call(Y));if(Re(Y))return xr(vt(String(Y)));if(typeof window<"u"&&Y===window)return"{ [object Window] }";if(Y===window)return"{ [object globalThis] }";if(!De(Y)&&!nt(Y)){var _=Wr(Y,vt),I=ie?ie(Y)===Object.prototype:Y instanceof Object||Y.constructor===Object,L=Y instanceof Object?"":"null prototype",V=!I&&Q&&Object(Y)===Y&&Q in Y?E.call(ze(Y),8,-1):L?"Object":"",Z=I||typeof Y.constructor!="function"?"":Y.constructor.name?Y.constructor.name+" ":"",oe=Z+(V||L?"["+q.call(U.call([],V||[],L||[]),": ")+"] ":"");return _.length===0?oe+"{}":mt?oe+"{"+ci(_,mt)+"}":oe+"{ "+q.call(_,", ")+" }"}return String(Y)},"inspect_");function we(W,Y,_e){var de=(_e.quoteStyle||Y)==="double"?'"':"'";return de+W+de}x(we,"wrapQuotes");function xe(W){return k.call(String(W),/"/g,""")}x(xe,"quote");function Ie(W){return ze(W)==="[object Array]"&&(!Q||!(typeof W=="object"&&Q in W))}x(Ie,"isArray");function De(W){return ze(W)==="[object Date]"&&(!Q||!(typeof W=="object"&&Q in W))}x(De,"isDate");function nt(W){return ze(W)==="[object RegExp]"&&(!Q||!(typeof W=="object"&&Q in W))}x(nt,"isRegExp");function $e(W){return ze(W)==="[object Error]"&&(!Q||!(typeof W=="object"&&Q in W))}x($e,"isError");function Re(W){return ze(W)==="[object String]"&&(!Q||!(typeof W=="object"&&Q in W))}x(Re,"isString");function ot(W){return ze(W)==="[object Number]"&&(!Q||!(typeof W=="object"&&Q in W))}x(ot,"isNumber");function je(W){return ze(W)==="[object Boolean]"&&(!Q||!(typeof W=="object"&&Q in W))}x(je,"isBoolean");function at(W){if(G)return W&&typeof W=="object"&&W instanceof Symbol;if(typeof W=="symbol")return!0;if(!W||typeof W!="object"||!N)return!1;try{return N.call(W),!0}catch{}return!1}x(at,"isSymbol");function jt(W){if(!W||typeof W!="object"||!$)return!1;try{return $.call(W),!0}catch{}return!1}x(jt,"isBigInt");var Ze=Object.prototype.hasOwnProperty||function(W){return W in this};function Ee(W,Y){return Ze.call(W,Y)}x(Ee,"has");function ze(W){return T.call(W)}x(ze,"toStr");function Zt(W){if(W.name)return W.name;var Y=P.call(R.call(W),/^function\s*([\w$]+)/);return Y?Y[1]:null}x(Zt,"nameOf");function yr(W,Y){if(W.indexOf)return W.indexOf(Y);for(var _e=0,de=W.length;_e<de;_e++)if(W[_e]===Y)return _e;return-1}x(yr,"indexOf");function li(W){if(!s||!W||typeof W!="object")return!1;try{s.call(W);try{l.call(W)}catch{return!0}return W instanceof Map}catch{}return!1}x(li,"isMap");function ss(W){if(!g||!W||typeof W!="object")return!1;try{g.call(W,g);try{y.call(W,y)}catch{return!0}return W instanceof WeakMap}catch{}return!1}x(ss,"isWeakMap");function Ln(W){if(!C||!W||typeof W!="object")return!1;try{return C.call(W),!0}catch{}return!1}x(Ln,"isWeakRef");function Dn(W){if(!l||!W||typeof W!="object")return!1;try{l.call(W);try{s.call(W)}catch{return!0}return W instanceof Set}catch{}return!1}x(Dn,"isSet");function Fn(W){if(!y||!W||typeof W!="object")return!1;try{y.call(W,y);try{g.call(W,g)}catch{return!0}return W instanceof WeakSet}catch{}return!1}x(Fn,"isWeakSet");function Bn(W){return!W||typeof W!="object"?!1:typeof HTMLElement<"u"&&W instanceof HTMLElement?!0:typeof W.nodeName=="string"&&typeof W.getAttribute=="function"}x(Bn,"isElement");function ns(W,Y){if(W.length>Y.maxStringLength){var _e=W.length-Y.maxStringLength,de="... "+_e+" more character"+(_e>1?"s":"");return ns(E.call(W,0,Y.maxStringLength),Y)+de}var Me=k.call(k.call(W,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Mn);return we(Me,"single",Y)}x(ns,"inspectString");function Mn(W){var Y=W.charCodeAt(0),_e={8:"b",9:"t",10:"n",12:"f",13:"r"}[Y];return _e?"\\"+_e:"\\x"+(Y<16?"0":"")+O.call(Y.toString(16))}x(Mn,"lowbyte");function xr(W){return"Object("+W+")"}x(xr,"markBoxed");function ui(W){return W+" { ? }"}x(ui,"weakCollectionOf");function os(W,Y,_e,de){var Me=de?ci(_e,de):q.call(_e,", ");return W+" ("+Y+") {"+Me+"}"}x(os,"collectionOf");function Nn(W){for(var Y=0;Y<W.length;Y++)if(yr(W[Y],` + `}),this.data=e}};qe(VN,"UnsupportedViewportDimensionError");var GN=Object.create,Uh=Object.defineProperty,YN=Object.getOwnPropertyDescriptor,XN=Object.getOwnPropertyNames,KN=Object.getPrototypeOf,JN=Object.prototype.hasOwnProperty,x=(r,e)=>Uh(r,"name",{value:e,configurable:!0}),La=(r=>typeof Ft<"u"?Ft:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof Ft<"u"?Ft:e)[t]}):r)(function(r){if(typeof Ft<"u")return Ft.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),j=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),QN=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of XN(e))!JN.call(r,s)&&s!==t&&Uh(r,s,{get:()=>e[s],enumerable:!(i=YN(e,s))||i.enumerable});return r},bt=(r,e,t)=>(t=r!=null?GN(KN(r)):{},QN(e||!r||!r.__esModule?Uh(t,"default",{value:r,enumerable:!0}):t,r)),Ev=j((r,e)=>{var t=typeof window=="object"&&window&&window.Object===Object&&window;e.exports=t}),fr=j((r,e)=>{var t=Ev(),i=typeof self=="object"&&self&&self.Object===Object&&self,s=t||i||Function("return this")();e.exports=s}),_n=j((r,e)=>{var t=fr(),i=t.Symbol;e.exports=i}),ZN=j((r,e)=>{var t=_n(),i=Object.prototype,s=i.hasOwnProperty,n=i.toString,o=t?t.toStringTag:void 0;function a(l){var u=s.call(l,o),c=l[o];try{l[o]=void 0;var g=!0}catch{}var m=n.call(l);return g&&(u?l[o]=c:delete l[o]),m}x(a,"getRawTag"),e.exports=a}),ez=j((r,e)=>{var t=Object.prototype,i=t.toString;function s(n){return i.call(n)}x(s,"objectToString"),e.exports=s}),Vi=j((r,e)=>{var t=_n(),i=ZN(),s=ez(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function l(u){return u==null?u===void 0?o:n:a&&a in Object(u)?i(u):s(u)}x(l,"baseGetTag"),e.exports=l}),yn=j((r,e)=>{function t(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}x(t,"isObject"),e.exports=t}),Iv=j((r,e)=>{var t=Vi(),i=yn(),s="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function l(u){if(!i(u))return!1;var c=t(u);return c==n||c==o||c==s||c==a}x(l,"isFunction"),e.exports=l}),tz=j((r,e)=>{var t=fr(),i=t["__core-js_shared__"];e.exports=i}),rz=j((r,e)=>{var t=tz(),i=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function s(n){return!!i&&i in n}x(s,"isMasked"),e.exports=s}),Rv=j((r,e)=>{var t=Function.prototype,i=t.toString;function s(n){if(n!=null){try{return i.call(n)}catch{}try{return n+""}catch{}}return""}x(s,"toSource"),e.exports=s}),iz=j((r,e)=>{var t=Iv(),i=rz(),s=yn(),n=Rv(),o=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,g=u.hasOwnProperty,m=RegExp("^"+c.call(g).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function y(b){if(!s(b)||i(b))return!1;var C=t(b)?m:a;return C.test(n(b))}x(y,"baseIsNative"),e.exports=y}),sz=j((r,e)=>{function t(i,s){return i?.[s]}x(t,"getValue"),e.exports=t}),ii=j((r,e)=>{var t=iz(),i=sz();function s(n,o){var a=i(n,o);return t(a)?a:void 0}x(s,"getNative"),e.exports=s}),Pv=j((r,e)=>{var t=ii(),i=function(){try{var s=t(Object,"defineProperty");return s({},"",{}),s}catch{}}();e.exports=i}),kv=j((r,e)=>{var t=Pv();function i(s,n,o){n=="__proto__"&&t?t(s,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):s[n]=o}x(i,"baseAssignValue"),e.exports=i}),nz=j((r,e)=>{function t(i){return function(s,n,o){for(var a=-1,l=Object(s),u=o(s),c=u.length;c--;){var g=u[i?c:++a];if(n(l[g],g,l)===!1)break}return s}}x(t,"createBaseFor"),e.exports=t}),oz=j((r,e)=>{var t=nz(),i=t();e.exports=i}),az=j((r,e)=>{function t(i,s){for(var n=-1,o=Array(i);++n<i;)o[n]=s(n);return o}x(t,"baseTimes"),e.exports=t}),Gi=j((r,e)=>{function t(i){return i!=null&&typeof i=="object"}x(t,"isObjectLike"),e.exports=t}),lz=j((r,e)=>{var t=Vi(),i=Gi(),s="[object Arguments]";function n(o){return i(o)&&t(o)==s}x(n,"baseIsArguments"),e.exports=n}),Hh=j((r,e)=>{var t=lz(),i=Gi(),s=Object.prototype,n=s.hasOwnProperty,o=s.propertyIsEnumerable,a=t(function(){return arguments}())?t:function(l){return i(l)&&n.call(l,"callee")&&!o.call(l,"callee")};e.exports=a}),gr=j((r,e)=>{var t=Array.isArray;e.exports=t}),uz=j((r,e)=>{function t(){return!1}x(t,"stubFalse"),e.exports=t}),Ov=j((r,e)=>{var t=fr(),i=uz(),s=typeof r=="object"&&r&&!r.nodeType&&r,n=s&&typeof e=="object"&&e&&!e.nodeType&&e,o=n&&n.exports===s,a=o?t.Buffer:void 0,l=a?a.isBuffer:void 0,u=l||i;e.exports=u}),Wh=j((r,e)=>{var t=9007199254740991,i=/^(?:0|[1-9]\d*)$/;function s(n,o){var a=typeof n;return o=o??t,!!o&&(a=="number"||a!="symbol"&&i.test(n))&&n>-1&&n%1==0&&n<o}x(s,"isIndex"),e.exports=s}),qh=j((r,e)=>{var t=9007199254740991;function i(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=t}x(i,"isLength"),e.exports=i}),cz=j((r,e)=>{var t=Vi(),i=qh(),s=Gi(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",c="[object Function]",g="[object Map]",m="[object Number]",y="[object Object]",b="[object RegExp]",C="[object Set]",A="[object String]",T="[object WeakMap]",R="[object ArrayBuffer]",P="[object DataView]",E="[object Float32Array]",k="[object Float64Array]",O="[object Int8Array]",B="[object Int16Array]",F="[object Int32Array]",U="[object Uint8Array]",q="[object Uint8ClampedArray]",ee="[object Uint16Array]",te="[object Uint32Array]",$={};$[E]=$[k]=$[O]=$[B]=$[F]=$[U]=$[q]=$[ee]=$[te]=!0,$[n]=$[o]=$[R]=$[a]=$[P]=$[l]=$[u]=$[c]=$[g]=$[m]=$[y]=$[b]=$[C]=$[A]=$[T]=!1;function D(N){return s(N)&&i(N.length)&&!!$[t(N)]}x(D,"baseIsTypedArray"),e.exports=D}),hz=j((r,e)=>{function t(i){return function(s){return i(s)}}x(t,"baseUnary"),e.exports=t}),dz=j((r,e)=>{var t=Ev(),i=typeof r=="object"&&r&&!r.nodeType&&r,s=i&&typeof e=="object"&&e&&!e.nodeType&&e,n=s&&s.exports===i,o=n&&t.process,a=function(){try{var l=s&&s.require&&s.require("util").types;return l||o&&o.binding&&o.binding("util")}catch{}}();e.exports=a}),Lv=j((r,e)=>{var t=cz(),i=hz(),s=dz(),n=s&&s.isTypedArray,o=n?i(n):t;e.exports=o}),Dv=j((r,e)=>{var t=az(),i=Hh(),s=gr(),n=Ov(),o=Wh(),a=Lv(),l=Object.prototype,u=l.hasOwnProperty;function c(g,m){var y=s(g),b=!y&&i(g),C=!y&&!b&&n(g),A=!y&&!b&&!C&&a(g),T=y||b||C||A,R=T?t(g.length,String):[],P=R.length;for(var E in g)(m||u.call(g,E))&&!(T&&(E=="length"||C&&(E=="offset"||E=="parent")||A&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,P)))&&R.push(E);return R}x(c,"arrayLikeKeys"),e.exports=c}),Fv=j((r,e)=>{var t=Object.prototype;function i(s){var n=s&&s.constructor,o=typeof n=="function"&&n.prototype||t;return s===o}x(i,"isPrototype"),e.exports=i}),Bv=j((r,e)=>{function t(i,s){return function(n){return i(s(n))}}x(t,"overArg"),e.exports=t}),pz=j((r,e)=>{var t=Bv(),i=t(Object.keys,Object);e.exports=i}),fz=j((r,e)=>{var t=Fv(),i=pz(),s=Object.prototype,n=s.hasOwnProperty;function o(a){if(!t(a))return i(a);var l=[];for(var u in Object(a))n.call(a,u)&&u!="constructor"&&l.push(u);return l}x(o,"baseKeys"),e.exports=o}),Mv=j((r,e)=>{var t=Iv(),i=qh();function s(n){return n!=null&&i(n.length)&&!t(n)}x(s,"isArrayLike"),e.exports=s}),$h=j((r,e)=>{var t=Dv(),i=fz(),s=Mv();function n(o){return s(o)?t(o):i(o)}x(n,"keys"),e.exports=n}),gz=j((r,e)=>{var t=oz(),i=$h();function s(n,o){return n&&t(n,o,i)}x(s,"baseForOwn"),e.exports=s}),mz=j((r,e)=>{function t(){this.__data__=[],this.size=0}x(t,"listCacheClear"),e.exports=t}),Vh=j((r,e)=>{function t(i,s){return i===s||i!==i&&s!==s}x(t,"eq"),e.exports=t}),ja=j((r,e)=>{var t=Vh();function i(s,n){for(var o=s.length;o--;)if(t(s[o][0],n))return o;return-1}x(i,"assocIndexOf"),e.exports=i}),_z=j((r,e)=>{var t=ja(),i=Array.prototype,s=i.splice;function n(o){var a=this.__data__,l=t(a,o);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():s.call(a,l,1),--this.size,!0}x(n,"listCacheDelete"),e.exports=n}),yz=j((r,e)=>{var t=ja();function i(s){var n=this.__data__,o=t(n,s);return o<0?void 0:n[o][1]}x(i,"listCacheGet"),e.exports=i}),xz=j((r,e)=>{var t=ja();function i(s){return t(this.__data__,s)>-1}x(i,"listCacheHas"),e.exports=i}),bz=j((r,e)=>{var t=ja();function i(s,n){var o=this.__data__,a=t(o,s);return a<0?(++this.size,o.push([s,n])):o[a][1]=n,this}x(i,"listCacheSet"),e.exports=i}),Ua=j((r,e)=>{var t=mz(),i=_z(),s=yz(),n=xz(),o=bz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"ListCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),vz=j((r,e)=>{var t=Ua();function i(){this.__data__=new t,this.size=0}x(i,"stackClear"),e.exports=i}),Sz=j((r,e)=>{function t(i){var s=this.__data__,n=s.delete(i);return this.size=s.size,n}x(t,"stackDelete"),e.exports=t}),wz=j((r,e)=>{function t(i){return this.__data__.get(i)}x(t,"stackGet"),e.exports=t}),Tz=j((r,e)=>{function t(i){return this.__data__.has(i)}x(t,"stackHas"),e.exports=t}),Gh=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Map");e.exports=s}),Ha=j((r,e)=>{var t=ii(),i=t(Object,"create");e.exports=i}),Cz=j((r,e)=>{var t=Ha();function i(){this.__data__=t?t(null):{},this.size=0}x(i,"hashClear"),e.exports=i}),Az=j((r,e)=>{function t(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}x(t,"hashDelete"),e.exports=t}),Ez=j((r,e)=>{var t=Ha(),i="__lodash_hash_undefined__",s=Object.prototype,n=s.hasOwnProperty;function o(a){var l=this.__data__;if(t){var u=l[a];return u===i?void 0:u}return n.call(l,a)?l[a]:void 0}x(o,"hashGet"),e.exports=o}),Iz=j((r,e)=>{var t=Ha(),i=Object.prototype,s=i.hasOwnProperty;function n(o){var a=this.__data__;return t?a[o]!==void 0:s.call(a,o)}x(n,"hashHas"),e.exports=n}),Rz=j((r,e)=>{var t=Ha(),i="__lodash_hash_undefined__";function s(n,o){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=t&&o===void 0?i:o,this}x(s,"hashSet"),e.exports=s}),Pz=j((r,e)=>{var t=Cz(),i=Az(),s=Ez(),n=Iz(),o=Rz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"Hash"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),kz=j((r,e)=>{var t=Pz(),i=Ua(),s=Gh();function n(){this.size=0,this.__data__={hash:new t,map:new(s||i),string:new t}}x(n,"mapCacheClear"),e.exports=n}),Oz=j((r,e)=>{function t(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}x(t,"isKeyable"),e.exports=t}),Wa=j((r,e)=>{var t=Oz();function i(s,n){var o=s.__data__;return t(n)?o[typeof n=="string"?"string":"hash"]:o.map}x(i,"getMapData"),e.exports=i}),Lz=j((r,e)=>{var t=Wa();function i(s){var n=t(this,s).delete(s);return this.size-=n?1:0,n}x(i,"mapCacheDelete"),e.exports=i}),Dz=j((r,e)=>{var t=Wa();function i(s){return t(this,s).get(s)}x(i,"mapCacheGet"),e.exports=i}),Fz=j((r,e)=>{var t=Wa();function i(s){return t(this,s).has(s)}x(i,"mapCacheHas"),e.exports=i}),Bz=j((r,e)=>{var t=Wa();function i(s,n){var o=t(this,s),a=o.size;return o.set(s,n),this.size+=o.size==a?0:1,this}x(i,"mapCacheSet"),e.exports=i}),Yh=j((r,e)=>{var t=kz(),i=Lz(),s=Dz(),n=Fz(),o=Bz();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}x(a,"MapCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),Mz=j((r,e)=>{var t=Ua(),i=Gh(),s=Yh(),n=200;function o(a,l){var u=this.__data__;if(u instanceof t){var c=u.__data__;if(!i||c.length<n-1)return c.push([a,l]),this.size=++u.size,this;u=this.__data__=new s(c)}return u.set(a,l),this.size=u.size,this}x(o,"stackSet"),e.exports=o}),Nv=j((r,e)=>{var t=Ua(),i=vz(),s=Sz(),n=wz(),o=Tz(),a=Mz();function l(u){var c=this.__data__=new t(u);this.size=c.size}x(l,"Stack"),l.prototype.clear=i,l.prototype.delete=s,l.prototype.get=n,l.prototype.has=o,l.prototype.set=a,e.exports=l}),Nz=j((r,e)=>{var t="__lodash_hash_undefined__";function i(s){return this.__data__.set(s,t),this}x(i,"setCacheAdd"),e.exports=i}),zz=j((r,e)=>{function t(i){return this.__data__.has(i)}x(t,"setCacheHas"),e.exports=t}),jz=j((r,e)=>{var t=Yh(),i=Nz(),s=zz();function n(o){var a=-1,l=o==null?0:o.length;for(this.__data__=new t;++a<l;)this.add(o[a])}x(n,"SetCache"),n.prototype.add=n.prototype.push=i,n.prototype.has=s,e.exports=n}),Uz=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length;++n<o;)if(s(i[n],n,i))return!0;return!1}x(t,"arraySome"),e.exports=t}),Hz=j((r,e)=>{function t(i,s){return i.has(s)}x(t,"cacheHas"),e.exports=t}),zv=j((r,e)=>{var t=jz(),i=Uz(),s=Hz(),n=1,o=2;function a(l,u,c,g,m,y){var b=c&n,C=l.length,A=u.length;if(C!=A&&!(b&&A>C))return!1;var T=y.get(l),R=y.get(u);if(T&&R)return T==u&&R==l;var P=-1,E=!0,k=c&o?new t:void 0;for(y.set(l,u),y.set(u,l);++P<C;){var O=l[P],B=u[P];if(g)var F=b?g(B,O,P,u,l,y):g(O,B,P,l,u,y);if(F!==void 0){if(F)continue;E=!1;break}if(k){if(!i(u,function(U,q){if(!s(k,q)&&(O===U||m(O,U,c,g,y)))return k.push(q)})){E=!1;break}}else if(!(O===B||m(O,B,c,g,y))){E=!1;break}}return y.delete(l),y.delete(u),E}x(a,"equalArrays"),e.exports=a}),Wz=j((r,e)=>{var t=fr(),i=t.Uint8Array;e.exports=i}),qz=j((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o,a){n[++s]=[a,o]}),n}x(t,"mapToArray"),e.exports=t}),$z=j((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o){n[++s]=o}),n}x(t,"setToArray"),e.exports=t}),Vz=j((r,e)=>{var t=_n(),i=Wz(),s=Vh(),n=zv(),o=qz(),a=$z(),l=1,u=2,c="[object Boolean]",g="[object Date]",m="[object Error]",y="[object Map]",b="[object Number]",C="[object RegExp]",A="[object Set]",T="[object String]",R="[object Symbol]",P="[object ArrayBuffer]",E="[object DataView]",k=t?t.prototype:void 0,O=k?k.valueOf:void 0;function B(F,U,q,ee,te,$,D){switch(q){case E:if(F.byteLength!=U.byteLength||F.byteOffset!=U.byteOffset)return!1;F=F.buffer,U=U.buffer;case P:return!(F.byteLength!=U.byteLength||!$(new i(F),new i(U)));case c:case g:case b:return s(+F,+U);case m:return F.name==U.name&&F.message==U.message;case C:case T:return F==U+"";case y:var N=o;case A:var G=ee&l;if(N||(N=a),F.size!=U.size&&!G)return!1;var Q=D.get(F);if(Q)return Q==U;ee|=u,D.set(F,U);var ne=n(N(F),N(U),ee,te,$,D);return D.delete(F),ne;case R:if(O)return O.call(F)==O.call(U)}return!1}x(B,"equalByTag"),e.exports=B}),Xh=j((r,e)=>{function t(i,s){for(var n=-1,o=s.length,a=i.length;++n<o;)i[a+n]=s[n];return i}x(t,"arrayPush"),e.exports=t}),jv=j((r,e)=>{var t=Xh(),i=gr();function s(n,o,a){var l=o(n);return i(n)?l:t(l,a(n))}x(s,"baseGetAllKeys"),e.exports=s}),Gz=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=0,l=[];++n<o;){var u=i[n];s(u,n,i)&&(l[a++]=u)}return l}x(t,"arrayFilter"),e.exports=t}),Uv=j((r,e)=>{function t(){return[]}x(t,"stubArray"),e.exports=t}),Hv=j((r,e)=>{var t=Gz(),i=Uv(),s=Object.prototype,n=s.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(l){return l==null?[]:(l=Object(l),t(o(l),function(u){return n.call(l,u)}))}:i;e.exports=a}),Yz=j((r,e)=>{var t=jv(),i=Hv(),s=$h();function n(o){return t(o,s,i)}x(n,"getAllKeys"),e.exports=n}),Xz=j((r,e)=>{var t=Yz(),i=1,s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u,c,g,m){var y=u&i,b=t(a),C=b.length,A=t(l),T=A.length;if(C!=T&&!y)return!1;for(var R=C;R--;){var P=b[R];if(!(y?P in l:n.call(l,P)))return!1}var E=m.get(a),k=m.get(l);if(E&&k)return E==l&&k==a;var O=!0;m.set(a,l),m.set(l,a);for(var B=y;++R<C;){P=b[R];var F=a[P],U=l[P];if(c)var q=y?c(U,F,P,l,a,m):c(F,U,P,a,l,m);if(!(q===void 0?F===U||g(F,U,u,c,m):q)){O=!1;break}B||(B=P=="constructor")}if(O&&!B){var ee=a.constructor,te=l.constructor;ee!=te&&"constructor"in a&&"constructor"in l&&!(typeof ee=="function"&&ee instanceof ee&&typeof te=="function"&&te instanceof te)&&(O=!1)}return m.delete(a),m.delete(l),O}x(o,"equalObjects"),e.exports=o}),Kz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"DataView");e.exports=s}),Jz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Promise");e.exports=s}),Qz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"Set");e.exports=s}),Zz=j((r,e)=>{var t=ii(),i=fr(),s=t(i,"WeakMap");e.exports=s}),e3=j((r,e)=>{var t=Kz(),i=Gh(),s=Jz(),n=Qz(),o=Zz(),a=Vi(),l=Rv(),u="[object Map]",c="[object Object]",g="[object Promise]",m="[object Set]",y="[object WeakMap]",b="[object DataView]",C=l(t),A=l(i),T=l(s),R=l(n),P=l(o),E=a;(t&&E(new t(new ArrayBuffer(1)))!=b||i&&E(new i)!=u||s&&E(s.resolve())!=g||n&&E(new n)!=m||o&&E(new o)!=y)&&(E=x(function(k){var O=a(k),B=O==c?k.constructor:void 0,F=B?l(B):"";if(F)switch(F){case C:return b;case A:return u;case T:return g;case R:return m;case P:return y}return O},"getTag")),e.exports=E}),t3=j((r,e)=>{var t=Nv(),i=zv(),s=Vz(),n=Xz(),o=e3(),a=gr(),l=Ov(),u=Lv(),c=1,g="[object Arguments]",m="[object Array]",y="[object Object]",b=Object.prototype,C=b.hasOwnProperty;function A(T,R,P,E,k,O){var B=a(T),F=a(R),U=B?m:o(T),q=F?m:o(R);U=U==g?y:U,q=q==g?y:q;var ee=U==y,te=q==y,$=U==q;if($&&l(T)){if(!l(R))return!1;B=!0,ee=!1}if($&&!ee)return O||(O=new t),B||u(T)?i(T,R,P,E,k,O):s(T,R,U,P,E,k,O);if(!(P&c)){var D=ee&&C.call(T,"__wrapped__"),N=te&&C.call(R,"__wrapped__");if(D||N){var G=D?T.value():T,Q=N?R.value():R;return O||(O=new t),k(G,Q,P,E,O)}}return $?(O||(O=new t),n(T,R,P,E,k,O)):!1}x(A,"baseIsEqualDeep"),e.exports=A}),Wv=j((r,e)=>{var t=t3(),i=Gi();function s(n,o,a,l,u){return n===o?!0:n==null||o==null||!i(n)&&!i(o)?n!==n&&o!==o:t(n,o,a,l,s,u)}x(s,"baseIsEqual"),e.exports=s}),r3=j((r,e)=>{var t=Nv(),i=Wv(),s=1,n=2;function o(a,l,u,c){var g=u.length,m=g,y=!c;if(a==null)return!m;for(a=Object(a);g--;){var b=u[g];if(y&&b[2]?b[1]!==a[b[0]]:!(b[0]in a))return!1}for(;++g<m;){b=u[g];var C=b[0],A=a[C],T=b[1];if(y&&b[2]){if(A===void 0&&!(C in a))return!1}else{var R=new t;if(c)var P=c(A,T,C,a,l,R);if(!(P===void 0?i(T,A,s|n,c,R):P))return!1}}return!0}x(o,"baseIsMatch"),e.exports=o}),qv=j((r,e)=>{var t=yn();function i(s){return s===s&&!t(s)}x(i,"isStrictComparable"),e.exports=i}),i3=j((r,e)=>{var t=qv(),i=$h();function s(n){for(var o=i(n),a=o.length;a--;){var l=o[a],u=n[l];o[a]=[l,u,t(u)]}return o}x(s,"getMatchData"),e.exports=s}),$v=j((r,e)=>{function t(i,s){return function(n){return n==null?!1:n[i]===s&&(s!==void 0||i in Object(n))}}x(t,"matchesStrictComparable"),e.exports=t}),s3=j((r,e)=>{var t=r3(),i=i3(),s=$v();function n(o){var a=i(o);return a.length==1&&a[0][2]?s(a[0][0],a[0][1]):function(l){return l===o||t(l,o,a)}}x(n,"baseMatches"),e.exports=n}),Kh=j((r,e)=>{var t=Vi(),i=Gi(),s="[object Symbol]";function n(o){return typeof o=="symbol"||i(o)&&t(o)==s}x(n,"isSymbol"),e.exports=n}),Jh=j((r,e)=>{var t=gr(),i=Kh(),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function o(a,l){if(t(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||i(a)?!0:n.test(a)||!s.test(a)||l!=null&&a in Object(l)}x(o,"isKey"),e.exports=o}),n3=j((r,e)=>{var t=Yh(),i="Expected a function";function s(n,o){if(typeof n!="function"||o!=null&&typeof o!="function")throw new TypeError(i);var a=x(function(){var l=arguments,u=o?o.apply(this,l):l[0],c=a.cache;if(c.has(u))return c.get(u);var g=n.apply(this,l);return a.cache=c.set(u,g)||c,g},"memoized");return a.cache=new(s.Cache||t),a}x(s,"memoize"),s.Cache=t,e.exports=s}),o3=j((r,e)=>{var t=n3(),i=500;function s(n){var o=t(n,function(l){return a.size===i&&a.clear(),l}),a=o.cache;return o}x(s,"memoizeCapped"),e.exports=s}),a3=j((r,e)=>{var t=o3(),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,n=t(function(o){var a=[];return o.charCodeAt(0)===46&&a.push(""),o.replace(i,function(l,u,c,g){a.push(c?g.replace(s,"$1"):u||l)}),a});e.exports=n}),Vv=j((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=Array(o);++n<o;)a[n]=s(i[n],n,i);return a}x(t,"arrayMap"),e.exports=t}),l3=j((r,e)=>{var t=_n(),i=Vv(),s=gr(),n=Kh(),o=1/0,a=t?t.prototype:void 0,l=a?a.toString:void 0;function u(c){if(typeof c=="string")return c;if(s(c))return i(c,u)+"";if(n(c))return l?l.call(c):"";var g=c+"";return g=="0"&&1/c==-o?"-0":g}x(u,"baseToString"),e.exports=u}),u3=j((r,e)=>{var t=l3();function i(s){return s==null?"":t(s)}x(i,"toString"),e.exports=i}),qa=j((r,e)=>{var t=gr(),i=Jh(),s=a3(),n=u3();function o(a,l){return t(a)?a:i(a,l)?[a]:s(n(a))}x(o,"castPath"),e.exports=o}),xn=j((r,e)=>{var t=Kh(),i=1/0;function s(n){if(typeof n=="string"||t(n))return n;var o=n+"";return o=="0"&&1/n==-i?"-0":o}x(s,"toKey"),e.exports=s}),Qh=j((r,e)=>{var t=qa(),i=xn();function s(n,o){o=t(o,n);for(var a=0,l=o.length;n!=null&&a<l;)n=n[i(o[a++])];return a&&a==l?n:void 0}x(s,"baseGet"),e.exports=s}),c3=j((r,e)=>{var t=Qh();function i(s,n,o){var a=s==null?void 0:t(s,n);return a===void 0?o:a}x(i,"get"),e.exports=i}),h3=j((r,e)=>{function t(i,s){return i!=null&&s in Object(i)}x(t,"baseHasIn"),e.exports=t}),d3=j((r,e)=>{var t=qa(),i=Hh(),s=gr(),n=Wh(),o=qh(),a=xn();function l(u,c,g){c=t(c,u);for(var m=-1,y=c.length,b=!1;++m<y;){var C=a(c[m]);if(!(b=u!=null&&g(u,C)))break;u=u[C]}return b||++m!=y?b:(y=u==null?0:u.length,!!y&&o(y)&&n(C,y)&&(s(u)||i(u)))}x(l,"hasPath"),e.exports=l}),Gv=j((r,e)=>{var t=h3(),i=d3();function s(n,o){return n!=null&&i(n,o,t)}x(s,"hasIn"),e.exports=s}),p3=j((r,e)=>{var t=Wv(),i=c3(),s=Gv(),n=Jh(),o=qv(),a=$v(),l=xn(),u=1,c=2;function g(m,y){return n(m)&&o(y)?a(l(m),y):function(b){var C=i(b,m);return C===void 0&&C===y?s(b,m):t(y,C,u|c)}}x(g,"baseMatchesProperty"),e.exports=g}),Yv=j((r,e)=>{function t(i){return i}x(t,"identity"),e.exports=t}),f3=j((r,e)=>{function t(i){return function(s){return s?.[i]}}x(t,"baseProperty"),e.exports=t}),g3=j((r,e)=>{var t=Qh();function i(s){return function(n){return t(n,s)}}x(i,"basePropertyDeep"),e.exports=i}),m3=j((r,e)=>{var t=f3(),i=g3(),s=Jh(),n=xn();function o(a){return s(a)?t(n(a)):i(a)}x(o,"property"),e.exports=o}),Xv=j((r,e)=>{var t=s3(),i=p3(),s=Yv(),n=gr(),o=m3();function a(l){return typeof l=="function"?l:l==null?s:typeof l=="object"?n(l)?i(l[0],l[1]):t(l):o(l)}x(a,"baseIteratee"),e.exports=a}),$a=j((r,e)=>{var t=kv(),i=gz(),s=Xv();function n(o,a){var l={};return a=s(a,3),i(o,function(u,c,g){t(l,c,a(u,c,g))}),l}x(n,"mapValues"),e.exports=n}),_3=j((r,e)=>{var t=kv(),i=Vh(),s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u){var c=a[l];(!(n.call(a,l)&&i(c,u))||u===void 0&&!(l in a))&&t(a,l,u)}x(o,"assignValue"),e.exports=o}),y3=j((r,e)=>{var t=_3(),i=qa(),s=Wh(),n=yn(),o=xn();function a(l,u,c,g){if(!n(l))return l;u=i(u,l);for(var m=-1,y=u.length,b=y-1,C=l;C!=null&&++m<y;){var A=o(u[m]),T=c;if(A==="__proto__"||A==="constructor"||A==="prototype")return l;if(m!=b){var R=C[A];T=g?g(R,A,C):void 0,T===void 0&&(T=n(R)?R:s(u[m+1])?[]:{})}t(C,A,T),C=C[A]}return l}x(a,"baseSet"),e.exports=a}),Kv=j((r,e)=>{var t=Qh(),i=y3(),s=qa();function n(o,a,l){for(var u=-1,c=a.length,g={};++u<c;){var m=a[u],y=t(o,m);l(y,m)&&i(g,s(m,o),y)}return g}x(n,"basePickBy"),e.exports=n}),x3=j((r,e)=>{var t=Kv(),i=Gv();function s(n,o){return t(n,o,function(a,l){return i(n,l)})}x(s,"basePick"),e.exports=s}),b3=j((r,e)=>{var t=_n(),i=Hh(),s=gr(),n=t?t.isConcatSpreadable:void 0;function o(a){return s(a)||i(a)||!!(n&&a&&a[n])}x(o,"isFlattenable"),e.exports=o}),v3=j((r,e)=>{var t=Xh(),i=b3();function s(n,o,a,l,u){var c=-1,g=n.length;for(a||(a=i),u||(u=[]);++c<g;){var m=n[c];o>0&&a(m)?o>1?s(m,o-1,a,l,u):t(u,m):l||(u[u.length]=m)}return u}x(s,"baseFlatten"),e.exports=s}),S3=j((r,e)=>{var t=v3();function i(s){var n=s==null?0:s.length;return n?t(s,1):[]}x(i,"flatten"),e.exports=i}),w3=j((r,e)=>{function t(i,s,n){switch(n.length){case 0:return i.call(s);case 1:return i.call(s,n[0]);case 2:return i.call(s,n[0],n[1]);case 3:return i.call(s,n[0],n[1],n[2])}return i.apply(s,n)}x(t,"apply"),e.exports=t}),T3=j((r,e)=>{var t=w3(),i=Math.max;function s(n,o,a){return o=i(o===void 0?n.length-1:o,0),function(){for(var l=arguments,u=-1,c=i(l.length-o,0),g=Array(c);++u<c;)g[u]=l[o+u];u=-1;for(var m=Array(o+1);++u<o;)m[u]=l[u];return m[o]=a(g),t(n,this,m)}}x(s,"overRest"),e.exports=s}),C3=j((r,e)=>{function t(i){return function(){return i}}x(t,"constant"),e.exports=t}),A3=j((r,e)=>{var t=C3(),i=Pv(),s=Yv(),n=i?function(o,a){return i(o,"toString",{configurable:!0,enumerable:!1,value:t(a),writable:!0})}:s;e.exports=n}),E3=j((r,e)=>{var t=800,i=16,s=Date.now;function n(o){var a=0,l=0;return function(){var u=s(),c=i-(u-l);if(l=u,c>0){if(++a>=t)return arguments[0]}else a=0;return o.apply(void 0,arguments)}}x(n,"shortOut"),e.exports=n}),I3=j((r,e)=>{var t=A3(),i=E3(),s=i(t);e.exports=s}),R3=j((r,e)=>{var t=S3(),i=T3(),s=I3();function n(o){return s(i(o,void 0,t),o+"")}x(n,"flatRest"),e.exports=n}),P3=j((r,e)=>{var t=x3(),i=R3(),s=i(function(n,o){return n==null?{}:t(n,o)});e.exports=s}),Jv=j((r,e)=>{(function(t){if(typeof r=="object"&&typeof e<"u")e.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var i;typeof window<"u"||typeof window<"u"?i=window:typeof self<"u"?i=self:i=this,i.memoizerific=t()}})(function(){var t,i,s;return x(function n(o,a,l){function u(m,y){if(!a[m]){if(!o[m]){var b=typeof La=="function"&&La;if(!y&&b)return b(m,!0);if(c)return c(m,!0);var C=new Error("Cannot find module '"+m+"'");throw C.code="MODULE_NOT_FOUND",C}var A=a[m]={exports:{}};o[m][0].call(A.exports,function(T){var R=o[m][1][T];return u(R||T)},A,A.exports,n,o,a,l)}return a[m].exports}x(u,"s");for(var c=typeof La=="function"&&La,g=0;g<l.length;g++)u(l[g]);return u},"e")({1:[function(n,o,a){o.exports=function(l){if(typeof Map!="function"||l){var u=n("./similar");return new u}else return new Map}},{"./similar":2}],2:[function(n,o,a){function l(){return this.list=[],this.lastItem=void 0,this.size=0,this}x(l,"Similar"),l.prototype.get=function(u){var c;if(this.lastItem&&this.isEqual(this.lastItem.key,u))return this.lastItem.val;if(c=this.indexOf(u),c>=0)return this.lastItem=this.list[c],this.list[c].val},l.prototype.set=function(u,c){var g;return this.lastItem&&this.isEqual(this.lastItem.key,u)?(this.lastItem.val=c,this):(g=this.indexOf(u),g>=0?(this.lastItem=this.list[g],this.list[g].val=c,this):(this.lastItem={key:u,val:c},this.list.push(this.lastItem),this.size++,this))},l.prototype.delete=function(u){var c;if(this.lastItem&&this.isEqual(this.lastItem.key,u)&&(this.lastItem=void 0),c=this.indexOf(u),c>=0)return this.size--,this.list.splice(c,1)[0]},l.prototype.has=function(u){var c;return this.lastItem&&this.isEqual(this.lastItem.key,u)?!0:(c=this.indexOf(u),c>=0?(this.lastItem=this.list[c],!0):!1)},l.prototype.forEach=function(u,c){var g;for(g=0;g<this.size;g++)u.call(c||this,this.list[g].val,this.list[g].key,this)},l.prototype.indexOf=function(u){var c;for(c=0;c<this.size;c++)if(this.isEqual(this.list[c].key,u))return c;return-1},l.prototype.isEqual=function(u,c){return u===c||u!==u&&c!==c},o.exports=l},{}],3:[function(n,o,a){var l=n("map-or-similar");o.exports=function(m){var y=new l(!1),b=[];return function(C){var A=x(function(){var T=y,R,P,E=arguments.length-1,k=Array(E+1),O=!0,B;if((A.numArgs||A.numArgs===0)&&A.numArgs!==E+1)throw new Error("Memoizerific functions should always be called with the same number of arguments");for(B=0;B<E;B++){if(k[B]={cacheItem:T,arg:arguments[B]},T.has(arguments[B])){T=T.get(arguments[B]);continue}O=!1,R=new l(!1),T.set(arguments[B],R),T=R}return O&&(T.has(arguments[E])?P=T.get(arguments[E]):O=!1),O||(P=C.apply(null,arguments),T.set(arguments[E],P)),m>0&&(k[E]={cacheItem:T,arg:arguments[E]},O?u(b,k):b.push(k),b.length>m&&c(b.shift())),A.wasMemoized=O,A.numArgs=E+1,P},"memoizerific");return A.limit=m,A.wasMemoized=!1,A.cache=y,A.lru=b,A}};function u(m,y){var b=m.length,C=y.length,A,T,R;for(T=0;T<b;T++){for(A=!0,R=0;R<C;R++)if(!g(m[T][R].arg,y[R].arg)){A=!1;break}if(A)break}m.push(m.splice(T,1)[0])}x(u,"moveToMostRecentLru");function c(m){var y=m.length,b=m[y-1],C,A;for(b.cacheItem.delete(b.arg),A=y-2;A>=0&&(b=m[A],C=b.cacheItem.get(b.arg),!C||!C.size);A--)b.cacheItem.delete(b.arg)}x(c,"removeCachedResult");function g(m,y){return m===y||m!==m&&y!==y}x(g,"isEqual")},{"map-or-similar":1}]},{},[3])(3)})}),Qv=j((r,e)=>{var t=Bv(),i=t(Object.getPrototypeOf,Object);e.exports=i}),Zh=j((r,e)=>{var t=Vi(),i=Qv(),s=Gi(),n="[object Object]",o=Function.prototype,a=Object.prototype,l=o.toString,u=a.hasOwnProperty,c=l.call(Object);function g(m){if(!s(m)||t(m)!=n)return!1;var y=i(m);if(y===null)return!0;var b=u.call(y,"constructor")&&y.constructor;return typeof b=="function"&&b instanceof b&&l.call(b)==c}x(g,"isPlainObject"),e.exports=g}),k3=j((r,e)=>{var t=Xh(),i=Qv(),s=Hv(),n=Uv(),o=Object.getOwnPropertySymbols,a=o?function(l){for(var u=[];l;)t(u,s(l)),l=i(l);return u}:n;e.exports=a}),O3=j((r,e)=>{function t(i){var s=[];if(i!=null)for(var n in Object(i))s.push(n);return s}x(t,"nativeKeysIn"),e.exports=t}),L3=j((r,e)=>{var t=yn(),i=Fv(),s=O3(),n=Object.prototype,o=n.hasOwnProperty;function a(l){if(!t(l))return s(l);var u=i(l),c=[];for(var g in l)g=="constructor"&&(u||!o.call(l,g))||c.push(g);return c}x(a,"baseKeysIn"),e.exports=a}),D3=j((r,e)=>{var t=Dv(),i=L3(),s=Mv();function n(o){return s(o)?t(o,!0):i(o)}x(n,"keysIn"),e.exports=n}),F3=j((r,e)=>{var t=jv(),i=k3(),s=D3();function n(o){return t(o,s,i)}x(n,"getAllKeysIn"),e.exports=n}),B3=j((r,e)=>{var t=Vv(),i=Xv(),s=Kv(),n=F3();function o(a,l){if(a==null)return{};var u=t(n(a),function(c){return[c]});return l=i(l),s(a,u,function(c,g){return l(c,g[0])})}x(o,"pickBy"),e.exports=o}),M3=j((r,e)=>{"use strict";e.exports=Error}),N3=j((r,e)=>{"use strict";e.exports=EvalError}),z3=j((r,e)=>{"use strict";e.exports=RangeError}),j3=j((r,e)=>{"use strict";e.exports=ReferenceError}),Zv=j((r,e)=>{"use strict";e.exports=SyntaxError}),bn=j((r,e)=>{"use strict";e.exports=TypeError}),U3=j((r,e)=>{"use strict";e.exports=URIError}),H3=j((r,e)=>{"use strict";e.exports=x(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},i=Symbol("test"),s=Object(i);if(typeof i=="string"||Object.prototype.toString.call(i)!=="[object Symbol]"||Object.prototype.toString.call(s)!=="[object Symbol]")return!1;var n=42;t[i]=n;for(i in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==i||!Object.prototype.propertyIsEnumerable.call(t,i))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,i);if(a.value!==n||a.enumerable!==!0)return!1}return!0},"hasSymbols")}),W3=j((r,e)=>{"use strict";var t=typeof Symbol<"u"&&Symbol,i=H3();e.exports=x(function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()},"hasNativeSymbols")}),q3=j((r,e)=>{"use strict";var t={__proto__:null,foo:{}},i=Object;e.exports=x(function(){return{__proto__:t}.foo===t.foo&&!(t instanceof i)},"hasProto")}),$3=j((r,e)=>{"use strict";var t="Function.prototype.bind called on incompatible ",i=Object.prototype.toString,s=Math.max,n="[object Function]",o=x(function(u,c){for(var g=[],m=0;m<u.length;m+=1)g[m]=u[m];for(var y=0;y<c.length;y+=1)g[y+u.length]=c[y];return g},"concatty"),a=x(function(u,c){for(var g=[],m=c||0,y=0;m<u.length;m+=1,y+=1)g[y]=u[m];return g},"slicy"),l=x(function(u,c){for(var g="",m=0;m<u.length;m+=1)g+=u[m],m+1<u.length&&(g+=c);return g},"joiny");e.exports=x(function(u){var c=this;if(typeof c!="function"||i.apply(c)!==n)throw new TypeError(t+c);for(var g=a(arguments,1),m,y=x(function(){if(this instanceof m){var R=c.apply(this,o(g,arguments));return Object(R)===R?R:this}return c.apply(u,o(g,arguments))},"binder"),b=s(0,c.length-g.length),C=[],A=0;A<b;A++)C[A]="$"+A;if(m=Function("binder","return function ("+l(C,",")+"){ return binder.apply(this,arguments); }")(y),c.prototype){var T=x(function(){},"Empty");T.prototype=c.prototype,m.prototype=new T,T.prototype=null}return m},"bind")}),ed=j((r,e)=>{"use strict";var t=$3();e.exports=Function.prototype.bind||t}),V3=j((r,e)=>{"use strict";var t=Function.prototype.call,i=Object.prototype.hasOwnProperty,s=ed();e.exports=s.call(t,i)}),Yi=j((r,e)=>{"use strict";var t,i=M3(),s=N3(),n=z3(),o=j3(),a=Zv(),l=bn(),u=U3(),c=Function,g=x(function(ie){try{return c('"use strict"; return ('+ie+").constructor;")()}catch{}},"getEvalledConstructor"),m=Object.getOwnPropertyDescriptor;if(m)try{m({},"")}catch{m=null}var y=x(function(){throw new l},"throwTypeError"),b=m?function(){try{return arguments.callee,y}catch{try{return m(arguments,"callee").get}catch{return y}}}():y,C=W3()(),A=q3()(),T=Object.getPrototypeOf||(A?function(ie){return ie.__proto__}:null),R={},P=typeof Uint8Array>"u"||!T?t:T(Uint8Array),E={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":C&&T?T([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":R,"%AsyncGenerator%":R,"%AsyncGeneratorFunction%":R,"%AsyncIteratorPrototype%":R,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":s,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":c,"%GeneratorFunction%":R,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":C&&T?T(T([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!C||!T?t:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":n,"%ReferenceError%":o,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!C||!T?t:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":C&&T?T(""[Symbol.iterator]()):t,"%Symbol%":C?Symbol:t,"%SyntaxError%":a,"%ThrowTypeError%":b,"%TypedArray%":P,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet};if(T)try{null.error}catch(ie){k=T(T(ie)),E["%Error.prototype%"]=k}var k,O=x(function ie(re){var ae;if(re==="%AsyncFunction%")ae=g("async function () {}");else if(re==="%GeneratorFunction%")ae=g("function* () {}");else if(re==="%AsyncGeneratorFunction%")ae=g("async function* () {}");else if(re==="%AsyncGenerator%"){var ce=ie("%AsyncGeneratorFunction%");ce&&(ae=ce.prototype)}else if(re==="%AsyncIteratorPrototype%"){var Se=ie("%AsyncGenerator%");Se&&T&&(ae=T(Se.prototype))}return E[re]=ae,ae},"doEval"),B={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},F=ed(),U=V3(),q=F.call(Function.call,Array.prototype.concat),ee=F.call(Function.apply,Array.prototype.splice),te=F.call(Function.call,String.prototype.replace),$=F.call(Function.call,String.prototype.slice),D=F.call(Function.call,RegExp.prototype.exec),N=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,G=/\\(\\)?/g,Q=x(function(ie){var re=$(ie,0,1),ae=$(ie,-1);if(re==="%"&&ae!=="%")throw new a("invalid intrinsic syntax, expected closing `%`");if(ae==="%"&&re!=="%")throw new a("invalid intrinsic syntax, expected opening `%`");var ce=[];return te(ie,N,function(Se,we,xe,Ie){ce[ce.length]=xe?te(Ie,G,"$1"):we||Se}),ce},"stringToPath"),ne=x(function(ie,re){var ae=ie,ce;if(U(B,ae)&&(ce=B[ae],ae="%"+ce[0]+"%"),U(E,ae)){var Se=E[ae];if(Se===R&&(Se=O(ae)),typeof Se>"u"&&!re)throw new l("intrinsic "+ie+" exists, but is not available. Please file an issue!");return{alias:ce,name:ae,value:Se}}throw new a("intrinsic "+ie+" does not exist!")},"getBaseIntrinsic");e.exports=x(function(ie,re){if(typeof ie!="string"||ie.length===0)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new l('"allowMissing" argument must be a boolean');if(D(/^%?[^%]*%?$/,ie)===null)throw new a("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var ae=Q(ie),ce=ae.length>0?ae[0]:"",Se=ne("%"+ce+"%",re),we=Se.name,xe=Se.value,Ie=!1,De=Se.alias;De&&(ce=De[0],ee(ae,q([0,1],De)));for(var nt=1,$e=!0;nt<ae.length;nt+=1){var Re=ae[nt],ot=$(Re,0,1),je=$(Re,-1);if((ot==='"'||ot==="'"||ot==="`"||je==='"'||je==="'"||je==="`")&&ot!==je)throw new a("property names with quotes must have matching quotes");if((Re==="constructor"||!$e)&&(Ie=!0),ce+="."+Re,we="%"+ce+"%",U(E,we))xe=E[we];else if(xe!=null){if(!(Re in xe)){if(!re)throw new l("base intrinsic for "+ie+" exists, but the property is not available.");return}if(m&&nt+1>=ae.length){var at=m(xe,Re);$e=!!at,$e&&"get"in at&&!("originalValue"in at.get)?xe=at.get:xe=xe[Re]}else $e=U(xe,Re),xe=xe[Re];$e&&!Ie&&(E[we]=xe)}}return xe},"GetIntrinsic")}),td=j((r,e)=>{"use strict";var t=Yi(),i=t("%Object.defineProperty%",!0)||!1;if(i)try{i({},"a",{value:1})}catch{i=!1}e.exports=i}),eS=j((r,e)=>{"use strict";var t=Yi(),i=t("%Object.getOwnPropertyDescriptor%",!0);if(i)try{i([],"length")}catch{i=null}e.exports=i}),G3=j((r,e)=>{"use strict";var t=td(),i=Zv(),s=bn(),n=eS();e.exports=x(function(o,a,l){if(!o||typeof o!="object"&&typeof o!="function")throw new s("`obj` must be an object or a function`");if(typeof a!="string"&&typeof a!="symbol")throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new s("`loose`, if provided, must be a boolean");var u=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,g=arguments.length>5?arguments[5]:null,m=arguments.length>6?arguments[6]:!1,y=!!n&&n(o,a);if(t)t(o,a,{configurable:g===null&&y?y.configurable:!g,enumerable:u===null&&y?y.enumerable:!u,value:l,writable:c===null&&y?y.writable:!c});else if(m||!u&&!c&&!g)o[a]=l;else throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},"defineDataProperty")}),Y3=j((r,e)=>{"use strict";var t=td(),i=x(function(){return!!t},"hasPropertyDescriptors");i.hasArrayLengthDefineBug=x(function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},"hasArrayLengthDefineBug"),e.exports=i}),X3=j((r,e)=>{"use strict";var t=Yi(),i=G3(),s=Y3()(),n=eS(),o=bn(),a=t("%Math.floor%");e.exports=x(function(l,u){if(typeof l!="function")throw new o("`fn` is not a function");if(typeof u!="number"||u<0||u>4294967295||a(u)!==u)throw new o("`length` must be a positive 32-bit integer");var c=arguments.length>2&&!!arguments[2],g=!0,m=!0;if("length"in l&&n){var y=n(l,"length");y&&!y.configurable&&(g=!1),y&&!y.writable&&(m=!1)}return(g||m||!c)&&(s?i(l,"length",u,!0,!0):i(l,"length",u)),l},"setFunctionLength")}),K3=j((r,e)=>{"use strict";var t=ed(),i=Yi(),s=X3(),n=bn(),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),l=i("%Reflect.apply%",!0)||t.call(a,o),u=td(),c=i("%Math.max%");e.exports=x(function(m){if(typeof m!="function")throw new n("a function is required");var y=l(t,a,arguments);return s(y,1+c(0,m.length-(arguments.length-1)),!0)},"callBind");var g=x(function(){return l(t,o,arguments)},"applyBind");u?u(e.exports,"apply",{value:g}):e.exports.apply=g}),J3=j((r,e)=>{"use strict";var t=Yi(),i=K3(),s=i(t("String.prototype.indexOf"));e.exports=x(function(n,o){var a=t(n,!!o);return typeof a=="function"&&s(n,".prototype.")>-1?i(a):a},"callBoundIntrinsic")}),Q3=j(()=>{}),Z3=j((r,e)=>{var t=typeof Map=="function"&&Map.prototype,i=Object.getOwnPropertyDescriptor&&t?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,s=t&&i&&typeof i.get=="function"?i.get:null,n=t&&Map.prototype.forEach,o=typeof Set=="function"&&Set.prototype,a=Object.getOwnPropertyDescriptor&&o?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,l=o&&a&&typeof a.get=="function"?a.get:null,u=o&&Set.prototype.forEach,c=typeof WeakMap=="function"&&WeakMap.prototype,g=c?WeakMap.prototype.has:null,m=typeof WeakSet=="function"&&WeakSet.prototype,y=m?WeakSet.prototype.has:null,b=typeof WeakRef=="function"&&WeakRef.prototype,C=b?WeakRef.prototype.deref:null,A=Boolean.prototype.valueOf,T=Object.prototype.toString,R=Function.prototype.toString,P=String.prototype.match,E=String.prototype.slice,k=String.prototype.replace,O=String.prototype.toUpperCase,B=String.prototype.toLowerCase,F=RegExp.prototype.test,U=Array.prototype.concat,q=Array.prototype.join,ee=Array.prototype.slice,te=Math.floor,$=typeof BigInt=="function"?BigInt.prototype.valueOf:null,D=Object.getOwnPropertySymbols,N=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,G=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Q=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===G||!0)?Symbol.toStringTag:null,ne=Object.prototype.propertyIsEnumerable,ie=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(W){return W.__proto__}:null);function re(W,Y){if(W===1/0||W===-1/0||W!==W||W&&W>-1e3&&W<1e3||F.call(/e/,Y))return Y;var _e=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof W=="number"){var de=W<0?-te(-W):te(W);if(de!==W){var Me=String(de),ge=E.call(Y,Me.length+1);return k.call(Me,_e,"$&_")+"."+k.call(k.call(ge,/([0-9]{3})/g,"$&_"),/_$/,"")}}return k.call(Y,_e,"$&_")}x(re,"addNumericSeparator");var ae=Q3(),ce=ae.custom,Se=at(ce)?ce:null;e.exports=x(function W(Y,_e,de,Me){var ge=_e||{};if(Ee(ge,"quoteStyle")&&ge.quoteStyle!=="single"&&ge.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ee(ge,"maxStringLength")&&(typeof ge.maxStringLength=="number"?ge.maxStringLength<0&&ge.maxStringLength!==1/0:ge.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var lt=Ee(ge,"customInspect")?ge.customInspect:!0;if(typeof lt!="boolean"&<!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ee(ge,"indent")&&ge.indent!==null&&ge.indent!==" "&&!(parseInt(ge.indent,10)===ge.indent&&ge.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ee(ge,"numericSeparator")&&typeof ge.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Wt=ge.numericSeparator;if(typeof Y>"u")return"undefined";if(Y===null)return"null";if(typeof Y=="boolean")return Y?"true":"false";if(typeof Y=="string")return ns(Y,ge);if(typeof Y=="number"){if(Y===0)return 1/0/Y>0?"0":"-0";var gt=String(Y);return Wt?re(Y,gt):gt}if(typeof Y=="bigint"){var qt=String(Y)+"n";return Wt?re(Y,qt):qt}var as=typeof ge.depth>"u"?5:ge.depth;if(typeof de>"u"&&(de=0),de>=as&&as>0&&typeof Y=="object")return Ie(Y)?"[Array]":"[Object]";var mt=zn(ge,de);if(typeof Me>"u")Me=[];else if(yr(Me,Y)>=0)return"[Circular]";function vt(ue,Te,et){if(Te&&(Me=ee.call(Me),Me.push(Te)),et){var Ve={depth:ge.depth};return Ee(ge,"quoteStyle")&&(Ve.quoteStyle=ge.quoteStyle),W(ue,Ve,de+1,Me)}return W(ue,ge,de+1,Me)}if(x(vt,"inspect"),typeof Y=="function"&&!nt(Y)){var jn=Zt(Y),$t=Wr(Y,vt);return"[Function"+(jn?": "+jn:" (anonymous)")+"]"+($t.length>0?" { "+q.call($t,", ")+" }":"")}if(at(Y)){var Un=G?k.call(String(Y),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(Y);return typeof Y=="object"&&!G?xr(Un):Un}if(Bn(Y)){for(var er="<"+B.call(String(Y.nodeName)),ls=Y.attributes||[],hi=0;hi<ls.length;hi++)er+=" "+ls[hi].name+"="+we(xe(ls[hi].value),"double",ge);return er+=">",Y.childNodes&&Y.childNodes.length&&(er+="..."),er+="</"+B.call(String(Y.nodeName))+">",er}if(Ie(Y)){if(Y.length===0)return"[]";var us=Wr(Y,vt);return mt&&!Nn(us)?"["+ci(us,mt)+"]":"[ "+q.call(us,", ")+" ]"}if($e(Y)){var di=Wr(Y,vt);return!("cause"in Error.prototype)&&"cause"in Y&&!ne.call(Y,"cause")?"{ ["+String(Y)+"] "+q.call(U.call("[cause]: "+vt(Y.cause),di),", ")+" }":di.length===0?"["+String(Y)+"]":"{ ["+String(Y)+"] "+q.call(di,", ")+" }"}if(typeof Y=="object"&<){if(Se&&typeof Y[Se]=="function"&&ae)return ae(Y,{depth:as-de});if(lt!=="symbol"&&typeof Y.inspect=="function")return Y.inspect()}if(li(Y)){var pi=[];return n&&n.call(Y,function(ue,Te){pi.push(vt(Te,Y,!0)+" => "+vt(ue,Y))}),os("Map",s.call(Y),pi,mt)}if(Dn(Y)){var Hn=[];return u&&u.call(Y,function(ue){Hn.push(vt(ue,Y))}),os("Set",l.call(Y),Hn,mt)}if(ss(Y))return ui("WeakMap");if(Fn(Y))return ui("WeakSet");if(Ln(Y))return ui("WeakRef");if(ot(Y))return xr(vt(Number(Y)));if(jt(Y))return xr(vt($.call(Y)));if(je(Y))return xr(A.call(Y));if(Re(Y))return xr(vt(String(Y)));if(typeof window<"u"&&Y===window)return"{ [object Window] }";if(Y===window)return"{ [object globalThis] }";if(!De(Y)&&!nt(Y)){var _=Wr(Y,vt),I=ie?ie(Y)===Object.prototype:Y instanceof Object||Y.constructor===Object,L=Y instanceof Object?"":"null prototype",V=!I&&Q&&Object(Y)===Y&&Q in Y?E.call(ze(Y),8,-1):L?"Object":"",Z=I||typeof Y.constructor!="function"?"":Y.constructor.name?Y.constructor.name+" ":"",oe=Z+(V||L?"["+q.call(U.call([],V||[],L||[]),": ")+"] ":"");return _.length===0?oe+"{}":mt?oe+"{"+ci(_,mt)+"}":oe+"{ "+q.call(_,", ")+" }"}return String(Y)},"inspect_");function we(W,Y,_e){var de=(_e.quoteStyle||Y)==="double"?'"':"'";return de+W+de}x(we,"wrapQuotes");function xe(W){return k.call(String(W),/"/g,""")}x(xe,"quote");function Ie(W){return ze(W)==="[object Array]"&&(!Q||!(typeof W=="object"&&Q in W))}x(Ie,"isArray");function De(W){return ze(W)==="[object Date]"&&(!Q||!(typeof W=="object"&&Q in W))}x(De,"isDate");function nt(W){return ze(W)==="[object RegExp]"&&(!Q||!(typeof W=="object"&&Q in W))}x(nt,"isRegExp");function $e(W){return ze(W)==="[object Error]"&&(!Q||!(typeof W=="object"&&Q in W))}x($e,"isError");function Re(W){return ze(W)==="[object String]"&&(!Q||!(typeof W=="object"&&Q in W))}x(Re,"isString");function ot(W){return ze(W)==="[object Number]"&&(!Q||!(typeof W=="object"&&Q in W))}x(ot,"isNumber");function je(W){return ze(W)==="[object Boolean]"&&(!Q||!(typeof W=="object"&&Q in W))}x(je,"isBoolean");function at(W){if(G)return W&&typeof W=="object"&&W instanceof Symbol;if(typeof W=="symbol")return!0;if(!W||typeof W!="object"||!N)return!1;try{return N.call(W),!0}catch{}return!1}x(at,"isSymbol");function jt(W){if(!W||typeof W!="object"||!$)return!1;try{return $.call(W),!0}catch{}return!1}x(jt,"isBigInt");var Ze=Object.prototype.hasOwnProperty||function(W){return W in this};function Ee(W,Y){return Ze.call(W,Y)}x(Ee,"has");function ze(W){return T.call(W)}x(ze,"toStr");function Zt(W){if(W.name)return W.name;var Y=P.call(R.call(W),/^function\s*([\w$]+)/);return Y?Y[1]:null}x(Zt,"nameOf");function yr(W,Y){if(W.indexOf)return W.indexOf(Y);for(var _e=0,de=W.length;_e<de;_e++)if(W[_e]===Y)return _e;return-1}x(yr,"indexOf");function li(W){if(!s||!W||typeof W!="object")return!1;try{s.call(W);try{l.call(W)}catch{return!0}return W instanceof Map}catch{}return!1}x(li,"isMap");function ss(W){if(!g||!W||typeof W!="object")return!1;try{g.call(W,g);try{y.call(W,y)}catch{return!0}return W instanceof WeakMap}catch{}return!1}x(ss,"isWeakMap");function Ln(W){if(!C||!W||typeof W!="object")return!1;try{return C.call(W),!0}catch{}return!1}x(Ln,"isWeakRef");function Dn(W){if(!l||!W||typeof W!="object")return!1;try{l.call(W);try{s.call(W)}catch{return!0}return W instanceof Set}catch{}return!1}x(Dn,"isSet");function Fn(W){if(!y||!W||typeof W!="object")return!1;try{y.call(W,y);try{g.call(W,g)}catch{return!0}return W instanceof WeakSet}catch{}return!1}x(Fn,"isWeakSet");function Bn(W){return!W||typeof W!="object"?!1:typeof HTMLElement<"u"&&W instanceof HTMLElement?!0:typeof W.nodeName=="string"&&typeof W.getAttribute=="function"}x(Bn,"isElement");function ns(W,Y){if(W.length>Y.maxStringLength){var _e=W.length-Y.maxStringLength,de="... "+_e+" more character"+(_e>1?"s":"");return ns(E.call(W,0,Y.maxStringLength),Y)+de}var Me=k.call(k.call(W,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Mn);return we(Me,"single",Y)}x(ns,"inspectString");function Mn(W){var Y=W.charCodeAt(0),_e={8:"b",9:"t",10:"n",12:"f",13:"r"}[Y];return _e?"\\"+_e:"\\x"+(Y<16?"0":"")+O.call(Y.toString(16))}x(Mn,"lowbyte");function xr(W){return"Object("+W+")"}x(xr,"markBoxed");function ui(W){return W+" { ? }"}x(ui,"weakCollectionOf");function os(W,Y,_e,de){var Me=de?ci(_e,de):q.call(_e,", ");return W+" ("+Y+") {"+Me+"}"}x(os,"collectionOf");function Nn(W){for(var Y=0;Y<W.length;Y++)if(yr(W[Y],` `)>=0)return!1;return!0}x(Nn,"singleLineValues");function zn(W,Y){var _e;if(W.indent===" ")_e=" ";else if(typeof W.indent=="number"&&W.indent>0)_e=q.call(Array(W.indent+1)," ");else return null;return{base:_e,prev:q.call(Array(Y+1),_e)}}x(zn,"getIndent");function ci(W,Y){if(W.length===0)return"";var _e=` `+Y.prev+Y.base;return _e+q.call(W,","+_e)+` -`+Y.prev}x(ci,"indentedJoin");function Wr(W,Y){var _e=Ie(W),de=[];if(_e){de.length=W.length;for(var Me=0;Me<W.length;Me++)de[Me]=Ee(W,Me)?Y(W[Me],W):""}var ge=typeof D=="function"?D(W):[],lt;if(G){lt={};for(var Wt=0;Wt<ge.length;Wt++)lt["$"+ge[Wt]]=ge[Wt]}for(var gt in W)Ee(W,gt)&&(_e&&String(Number(gt))===gt&><W.length||G&<["$"+gt]instanceof Symbol||(F.call(/[^\w$]/,gt)?de.push(Y(gt,W)+": "+Y(W[gt],W)):de.push(gt+": "+Y(W[gt],W))));if(typeof D=="function")for(var qt=0;qt<ge.length;qt++)ne.call(W,ge[qt])&&de.push("["+Y(ge[qt])+"]: "+Y(W[ge[qt]],W));return de}x(Wr,"arrObjKeys")}),Z3=j((r,e)=>{"use strict";var t=Yi(),i=K3(),s=Q3(),n=bn(),o=t("%WeakMap%",!0),a=t("%Map%",!0),l=i("WeakMap.prototype.get",!0),u=i("WeakMap.prototype.set",!0),c=i("WeakMap.prototype.has",!0),g=i("Map.prototype.get",!0),m=i("Map.prototype.set",!0),y=i("Map.prototype.has",!0),b=x(function(R,P){for(var E=R,k;(k=E.next)!==null;E=k)if(k.key===P)return E.next=k.next,k.next=R.next,R.next=k,k},"listGetNode"),C=x(function(R,P){var E=b(R,P);return E&&E.value},"listGet"),A=x(function(R,P,E){var k=b(R,P);k?k.value=E:R.next={key:P,next:R.next,value:E}},"listSet"),T=x(function(R,P){return!!b(R,P)},"listHas");e.exports=x(function(){var R,P,E,k={assert:x(function(O){if(!k.has(O))throw new n("Side channel does not contain "+s(O))},"assert"),get:x(function(O){if(o&&O&&(typeof O=="object"||typeof O=="function")){if(R)return l(R,O)}else if(a){if(P)return g(P,O)}else if(E)return C(E,O)},"get"),has:x(function(O){if(o&&O&&(typeof O=="object"||typeof O=="function")){if(R)return c(R,O)}else if(a){if(P)return y(P,O)}else if(E)return T(E,O);return!1},"has"),set:x(function(O,B){o&&O&&(typeof O=="object"||typeof O=="function")?(R||(R=new o),u(R,O,B)):a?(P||(P=new a),m(P,O,B)):(E||(E={key:{},next:null}),A(E,O,B))},"set")};return k},"getSideChannel")}),rd=j((r,e)=>{"use strict";var t=String.prototype.replace,i=/%20/g,s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports={default:s.RFC3986,formatters:{RFC1738:x(function(n){return t.call(n,i,"+")},"RFC1738"),RFC3986:x(function(n){return String(n)},"RFC3986")},RFC1738:s.RFC1738,RFC3986:s.RFC3986}}),tS=j((r,e)=>{"use strict";var t=rd(),i=Object.prototype.hasOwnProperty,s=Array.isArray,n=function(){for(var R=[],P=0;P<256;++P)R.push("%"+((P<16?"0":"")+P.toString(16)).toUpperCase());return R}(),o=x(function(R){for(;R.length>1;){var P=R.pop(),E=P.obj[P.prop];if(s(E)){for(var k=[],O=0;O<E.length;++O)typeof E[O]<"u"&&k.push(E[O]);P.obj[P.prop]=k}}},"compactQueue"),a=x(function(R,P){for(var E=P&&P.plainObjects?Object.create(null):{},k=0;k<R.length;++k)typeof R[k]<"u"&&(E[k]=R[k]);return E},"arrayToObject"),l=x(function R(P,E,k){if(!E)return P;if(typeof E!="object"){if(s(P))P.push(E);else if(P&&typeof P=="object")(k&&(k.plainObjects||k.allowPrototypes)||!i.call(Object.prototype,E))&&(P[E]=!0);else return[P,E];return P}if(!P||typeof P!="object")return[P].concat(E);var O=P;return s(P)&&!s(E)&&(O=a(P,k)),s(P)&&s(E)?(E.forEach(function(B,F){if(i.call(P,F)){var U=P[F];U&&typeof U=="object"&&B&&typeof B=="object"?P[F]=R(U,B,k):P.push(B)}else P[F]=B}),P):Object.keys(E).reduce(function(B,F){var U=E[F];return i.call(B,F)?B[F]=R(B[F],U,k):B[F]=U,B},O)},"merge"),u=x(function(R,P){return Object.keys(P).reduce(function(E,k){return E[k]=P[k],E},R)},"assignSingleSource"),c=x(function(R,P,E){var k=R.replace(/\+/g," ");if(E==="iso-8859-1")return k.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(k)}catch{return k}},"decode"),g=1024,m=x(function(R,P,E,k,O){if(R.length===0)return R;var B=R;if(typeof R=="symbol"?B=Symbol.prototype.toString.call(R):typeof R!="string"&&(B=String(R)),E==="iso-8859-1")return escape(B).replace(/%u[0-9a-f]{4}/gi,function(D){return"%26%23"+parseInt(D.slice(2),16)+"%3B"});for(var F="",U=0;U<B.length;U+=g){for(var q=B.length>=g?B.slice(U,U+g):B,ee=[],te=0;te<q.length;++te){var $=q.charCodeAt(te);if($===45||$===46||$===95||$===126||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||O===t.RFC1738&&($===40||$===41)){ee[ee.length]=q.charAt(te);continue}if($<128){ee[ee.length]=n[$];continue}if($<2048){ee[ee.length]=n[192|$>>6]+n[128|$&63];continue}if($<55296||$>=57344){ee[ee.length]=n[224|$>>12]+n[128|$>>6&63]+n[128|$&63];continue}te+=1,$=65536+(($&1023)<<10|q.charCodeAt(te)&1023),ee[ee.length]=n[240|$>>18]+n[128|$>>12&63]+n[128|$>>6&63]+n[128|$&63]}F+=ee.join("")}return F},"encode"),y=x(function(R){for(var P=[{obj:{o:R},prop:"o"}],E=[],k=0;k<P.length;++k)for(var O=P[k],B=O.obj[O.prop],F=Object.keys(B),U=0;U<F.length;++U){var q=F[U],ee=B[q];typeof ee=="object"&&ee!==null&&E.indexOf(ee)===-1&&(P.push({obj:B,prop:q}),E.push(ee))}return o(P),R},"compact"),b=x(function(R){return Object.prototype.toString.call(R)==="[object RegExp]"},"isRegExp"),C=x(function(R){return!R||typeof R!="object"?!1:!!(R.constructor&&R.constructor.isBuffer&&R.constructor.isBuffer(R))},"isBuffer"),A=x(function(R,P){return[].concat(R,P)},"combine"),T=x(function(R,P){if(s(R)){for(var E=[],k=0;k<R.length;k+=1)E.push(P(R[k]));return E}return P(R)},"maybeMap");e.exports={arrayToObject:a,assign:u,combine:A,compact:y,decode:c,encode:m,isBuffer:C,isRegExp:b,maybeMap:T,merge:l}}),ej=j((r,e)=>{"use strict";var t=Z3(),i=tS(),s=rd(),n=Object.prototype.hasOwnProperty,o={brackets:x(function(T){return T+"[]"},"brackets"),comma:"comma",indices:x(function(T,R){return T+"["+R+"]"},"indices"),repeat:x(function(T){return T},"repeat")},a=Array.isArray,l=Array.prototype.push,u=x(function(T,R){l.apply(T,a(R)?R:[R])},"pushToArray"),c=Date.prototype.toISOString,g=s.default,m={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:i.encode,encodeValuesOnly:!1,format:g,formatter:s.formatters[g],indices:!1,serializeDate:x(function(T){return c.call(T)},"serializeDate"),skipNulls:!1,strictNullHandling:!1},y=x(function(T){return typeof T=="string"||typeof T=="number"||typeof T=="boolean"||typeof T=="symbol"||typeof T=="bigint"},"isNonNullishPrimitive"),b={},C=x(function T(R,P,E,k,O,B,F,U,q,ee,te,$,D,N,G,Q,ne,ie){for(var re=R,ae=ie,ce=0,Se=!1;(ae=ae.get(b))!==void 0&&!Se;){var we=ae.get(R);if(ce+=1,typeof we<"u"){if(we===ce)throw new RangeError("Cyclic object value");Se=!0}typeof ae.get(b)>"u"&&(ce=0)}if(typeof ee=="function"?re=ee(P,re):re instanceof Date?re=D(re):E==="comma"&&a(re)&&(re=i.maybeMap(re,function(ze){return ze instanceof Date?D(ze):ze})),re===null){if(B)return q&&!Q?q(P,m.encoder,ne,"key",N):P;re=""}if(y(re)||i.isBuffer(re)){if(q){var xe=Q?P:q(P,m.encoder,ne,"key",N);return[G(xe)+"="+G(q(re,m.encoder,ne,"value",N))]}return[G(P)+"="+G(String(re))]}var Ie=[];if(typeof re>"u")return Ie;var De;if(E==="comma"&&a(re))Q&&q&&(re=i.maybeMap(re,q)),De=[{value:re.length>0?re.join(",")||null:void 0}];else if(a(ee))De=ee;else{var nt=Object.keys(re);De=te?nt.sort(te):nt}var $e=U?P.replace(/\./g,"%2E"):P,Re=k&&a(re)&&re.length===1?$e+"[]":$e;if(O&&a(re)&&re.length===0)return Re+"[]";for(var ot=0;ot<De.length;++ot){var je=De[ot],at=typeof je=="object"&&typeof je.value<"u"?je.value:re[je];if(!(F&&at===null)){var jt=$&&U?je.replace(/\./g,"%2E"):je,Ze=a(re)?typeof E=="function"?E(Re,jt):Re:Re+($?"."+jt:"["+jt+"]");ie.set(R,ce);var Ee=t();Ee.set(b,ie),u(Ie,T(at,Ze,E,k,O,B,F,U,E==="comma"&&Q&&a(re)?null:q,ee,te,$,D,N,G,Q,ne,Ee))}}return Ie},"stringify"),A=x(function(T){if(!T)return m;if(typeof T.allowEmptyArrays<"u"&&typeof T.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof T.encodeDotInKeys<"u"&&typeof T.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(T.encoder!==null&&typeof T.encoder<"u"&&typeof T.encoder!="function")throw new TypeError("Encoder has to be a function.");var R=T.charset||m.charset;if(typeof T.charset<"u"&&T.charset!=="utf-8"&&T.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var P=s.default;if(typeof T.format<"u"){if(!n.call(s.formatters,T.format))throw new TypeError("Unknown format option provided.");P=T.format}var E=s.formatters[P],k=m.filter;(typeof T.filter=="function"||a(T.filter))&&(k=T.filter);var O;if(T.arrayFormat in o?O=T.arrayFormat:"indices"in T?O=T.indices?"indices":"repeat":O=m.arrayFormat,"commaRoundTrip"in T&&typeof T.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var B=typeof T.allowDots>"u"?T.encodeDotInKeys===!0?!0:m.allowDots:!!T.allowDots;return{addQueryPrefix:typeof T.addQueryPrefix=="boolean"?T.addQueryPrefix:m.addQueryPrefix,allowDots:B,allowEmptyArrays:typeof T.allowEmptyArrays=="boolean"?!!T.allowEmptyArrays:m.allowEmptyArrays,arrayFormat:O,charset:R,charsetSentinel:typeof T.charsetSentinel=="boolean"?T.charsetSentinel:m.charsetSentinel,commaRoundTrip:T.commaRoundTrip,delimiter:typeof T.delimiter>"u"?m.delimiter:T.delimiter,encode:typeof T.encode=="boolean"?T.encode:m.encode,encodeDotInKeys:typeof T.encodeDotInKeys=="boolean"?T.encodeDotInKeys:m.encodeDotInKeys,encoder:typeof T.encoder=="function"?T.encoder:m.encoder,encodeValuesOnly:typeof T.encodeValuesOnly=="boolean"?T.encodeValuesOnly:m.encodeValuesOnly,filter:k,format:P,formatter:E,serializeDate:typeof T.serializeDate=="function"?T.serializeDate:m.serializeDate,skipNulls:typeof T.skipNulls=="boolean"?T.skipNulls:m.skipNulls,sort:typeof T.sort=="function"?T.sort:null,strictNullHandling:typeof T.strictNullHandling=="boolean"?T.strictNullHandling:m.strictNullHandling}},"normalizeStringifyOptions");e.exports=function(T,R){var P=T,E=A(R),k,O;typeof E.filter=="function"?(O=E.filter,P=O("",P)):a(E.filter)&&(O=E.filter,k=O);var B=[];if(typeof P!="object"||P===null)return"";var F=o[E.arrayFormat],U=F==="comma"&&E.commaRoundTrip;k||(k=Object.keys(P)),E.sort&&k.sort(E.sort);for(var q=t(),ee=0;ee<k.length;++ee){var te=k[ee];E.skipNulls&&P[te]===null||u(B,C(P[te],te,F,U,E.allowEmptyArrays,E.strictNullHandling,E.skipNulls,E.encodeDotInKeys,E.encode?E.encoder:null,E.filter,E.sort,E.allowDots,E.serializeDate,E.format,E.formatter,E.encodeValuesOnly,E.charset,q))}var $=B.join(E.delimiter),D=E.addQueryPrefix===!0?"?":"";return E.charsetSentinel&&(E.charset==="iso-8859-1"?D+="utf8=%26%2310003%3B&":D+="utf8=%E2%9C%93&"),$.length>0?D+$:""}}),tj=j((r,e)=>{"use strict";var t=tS(),i=Object.prototype.hasOwnProperty,s=Array.isArray,n={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:t.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},o=x(function(b){return b.replace(/&#(\d+);/g,function(C,A){return String.fromCharCode(parseInt(A,10))})},"interpretNumericEntities"),a=x(function(b,C){return b&&typeof b=="string"&&C.comma&&b.indexOf(",")>-1?b.split(","):b},"parseArrayValue"),l="utf8=%26%2310003%3B",u="utf8=%E2%9C%93",c=x(function(b,C){var A={__proto__:null},T=C.ignoreQueryPrefix?b.replace(/^\?/,""):b;T=T.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var R=C.parameterLimit===1/0?void 0:C.parameterLimit,P=T.split(C.delimiter,R),E=-1,k,O=C.charset;if(C.charsetSentinel)for(k=0;k<P.length;++k)P[k].indexOf("utf8=")===0&&(P[k]===u?O="utf-8":P[k]===l&&(O="iso-8859-1"),E=k,k=P.length);for(k=0;k<P.length;++k)if(k!==E){var B=P[k],F=B.indexOf("]="),U=F===-1?B.indexOf("="):F+1,q,ee;U===-1?(q=C.decoder(B,n.decoder,O,"key"),ee=C.strictNullHandling?null:""):(q=C.decoder(B.slice(0,U),n.decoder,O,"key"),ee=t.maybeMap(a(B.slice(U+1),C),function($){return C.decoder($,n.decoder,O,"value")})),ee&&C.interpretNumericEntities&&O==="iso-8859-1"&&(ee=o(ee)),B.indexOf("[]=")>-1&&(ee=s(ee)?[ee]:ee);var te=i.call(A,q);te&&C.duplicates==="combine"?A[q]=t.combine(A[q],ee):(!te||C.duplicates==="last")&&(A[q]=ee)}return A},"parseQueryStringValues"),g=x(function(b,C,A,T){for(var R=T?C:a(C,A),P=b.length-1;P>=0;--P){var E,k=b[P];if(k==="[]"&&A.parseArrays)E=A.allowEmptyArrays&&(R===""||A.strictNullHandling&&R===null)?[]:[].concat(R);else{E=A.plainObjects?Object.create(null):{};var O=k.charAt(0)==="["&&k.charAt(k.length-1)==="]"?k.slice(1,-1):k,B=A.decodeDotInKeys?O.replace(/%2E/g,"."):O,F=parseInt(B,10);!A.parseArrays&&B===""?E={0:R}:!isNaN(F)&&k!==B&&String(F)===B&&F>=0&&A.parseArrays&&F<=A.arrayLimit?(E=[],E[F]=R):B!=="__proto__"&&(E[B]=R)}R=E}return R},"parseObject"),m=x(function(b,C,A,T){if(b){var R=A.allowDots?b.replace(/\.([^.[]+)/g,"[$1]"):b,P=/(\[[^[\]]*])/,E=/(\[[^[\]]*])/g,k=A.depth>0&&P.exec(R),O=k?R.slice(0,k.index):R,B=[];if(O){if(!A.plainObjects&&i.call(Object.prototype,O)&&!A.allowPrototypes)return;B.push(O)}for(var F=0;A.depth>0&&(k=E.exec(R))!==null&&F<A.depth;){if(F+=1,!A.plainObjects&&i.call(Object.prototype,k[1].slice(1,-1))&&!A.allowPrototypes)return;B.push(k[1])}return k&&B.push("["+R.slice(k.index)+"]"),g(B,C,A,T)}},"parseQueryStringKeys"),y=x(function(b){if(!b)return n;if(typeof b.allowEmptyArrays<"u"&&typeof b.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof b.decodeDotInKeys<"u"&&typeof b.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(b.decoder!==null&&typeof b.decoder<"u"&&typeof b.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof b.charset<"u"&&b.charset!=="utf-8"&&b.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var C=typeof b.charset>"u"?n.charset:b.charset,A=typeof b.duplicates>"u"?n.duplicates:b.duplicates;if(A!=="combine"&&A!=="first"&&A!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var T=typeof b.allowDots>"u"?b.decodeDotInKeys===!0?!0:n.allowDots:!!b.allowDots;return{allowDots:T,allowEmptyArrays:typeof b.allowEmptyArrays=="boolean"?!!b.allowEmptyArrays:n.allowEmptyArrays,allowPrototypes:typeof b.allowPrototypes=="boolean"?b.allowPrototypes:n.allowPrototypes,allowSparse:typeof b.allowSparse=="boolean"?b.allowSparse:n.allowSparse,arrayLimit:typeof b.arrayLimit=="number"?b.arrayLimit:n.arrayLimit,charset:C,charsetSentinel:typeof b.charsetSentinel=="boolean"?b.charsetSentinel:n.charsetSentinel,comma:typeof b.comma=="boolean"?b.comma:n.comma,decodeDotInKeys:typeof b.decodeDotInKeys=="boolean"?b.decodeDotInKeys:n.decodeDotInKeys,decoder:typeof b.decoder=="function"?b.decoder:n.decoder,delimiter:typeof b.delimiter=="string"||t.isRegExp(b.delimiter)?b.delimiter:n.delimiter,depth:typeof b.depth=="number"||b.depth===!1?+b.depth:n.depth,duplicates:A,ignoreQueryPrefix:b.ignoreQueryPrefix===!0,interpretNumericEntities:typeof b.interpretNumericEntities=="boolean"?b.interpretNumericEntities:n.interpretNumericEntities,parameterLimit:typeof b.parameterLimit=="number"?b.parameterLimit:n.parameterLimit,parseArrays:b.parseArrays!==!1,plainObjects:typeof b.plainObjects=="boolean"?b.plainObjects:n.plainObjects,strictNullHandling:typeof b.strictNullHandling=="boolean"?b.strictNullHandling:n.strictNullHandling}},"normalizeParseOptions");e.exports=function(b,C){var A=y(C);if(b===""||b===null||typeof b>"u")return A.plainObjects?Object.create(null):{};for(var T=typeof b=="string"?c(b,A):b,R=A.plainObjects?Object.create(null):{},P=Object.keys(T),E=0;E<P.length;++E){var k=P[E],O=m(k,T[k],A,typeof b=="string");R=t.merge(R,O,A)}return A.allowSparse===!0?R:t.compact(R)}}),id=j((r,e)=>{"use strict";var t=ej(),i=tj(),s=rd();e.exports={formats:s,parse:i,stringify:t}}),rS=j((r,e)=>{e.exports={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}),rj=j((r,e)=>{e.exports={Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",AElig:"\xC6",aelig:"\xE6",Agrave:"\xC0",agrave:"\xE0",amp:"&",AMP:"&",Aring:"\xC5",aring:"\xE5",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",brvbar:"\xA6",Ccedil:"\xC7",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Egrave:"\xC8",egrave:"\xE8",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",iexcl:"\xA1",Igrave:"\xCC",igrave:"\xEC",iquest:"\xBF",Iuml:"\xCF",iuml:"\xEF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",Ntilde:"\xD1",ntilde:"\xF1",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Ograve:"\xD2",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",Oslash:"\xD8",oslash:"\xF8",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",THORN:"\xDE",thorn:"\xFE",times:"\xD7",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Ugrave:"\xD9",ugrave:"\xF9",uml:"\xA8",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}),iS=j((r,e)=>{e.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}}),ij=j((r,e)=>{e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}}),sj=j(r=>{"use strict";var e=r&&r.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(r,"__esModule",{value:!0});var t=e(ij()),i=String.fromCodePoint||function(n){var o="";return n>65535&&(n-=65536,o+=String.fromCharCode(n>>>10&1023|55296),n=56320|n&1023),o+=String.fromCharCode(n),o};function s(n){return n>=55296&&n<=57343||n>1114111?"\uFFFD":(n in t.default&&(n=t.default[n]),i(n))}x(s,"decodeCodePoint"),r.default=s}),hv=j(r=>{"use strict";var e=r&&r.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(r,"__esModule",{value:!0}),r.decodeHTML=r.decodeHTMLStrict=r.decodeXML=void 0;var t=e(rS()),i=e(rj()),s=e(iS()),n=e(sj()),o=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;r.decodeXML=a(s.default),r.decodeHTMLStrict=a(t.default);function a(c){var g=u(c);return function(m){return String(m).replace(o,g)}}x(a,"getStrictDecoder");var l=x(function(c,g){return c<g?1:-1},"sorter");r.decodeHTML=function(){for(var c=Object.keys(i.default).sort(l),g=Object.keys(t.default).sort(l),m=0,y=0;m<g.length;m++)c[y]===g[m]?(g[m]+=";?",y++):g[m]+=";";var b=new RegExp("&(?:"+g.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),C=u(t.default);function A(T){return T.substr(-1)!==";"&&(T+=";"),C(T)}return x(A,"replacer"),function(T){return String(T).replace(b,A)}}();function u(c){return x(function(g){if(g.charAt(1)==="#"){var m=g.charAt(2);return m==="X"||m==="x"?n.default(parseInt(g.substr(3),16)):n.default(parseInt(g.substr(2),10))}return c[g.slice(1,-1)]||g},"replace")}x(u,"getReplacer")}),dv=j(r=>{"use strict";var e=r&&r.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};Object.defineProperty(r,"__esModule",{value:!0}),r.escapeUTF8=r.escape=r.encodeNonAsciiHTML=r.encodeHTML=r.encodeXML=void 0;var t=e(iS()),i=l(t.default),s=u(i);r.encodeXML=T(i);var n=e(rS()),o=l(n.default),a=u(o);r.encodeHTML=y(o,a),r.encodeNonAsciiHTML=T(o);function l(R){return Object.keys(R).sort().reduce(function(P,E){return P[R[E]]="&"+E+";",P},{})}x(l,"getInverseObj");function u(R){for(var P=[],E=[],k=0,O=Object.keys(R);k<O.length;k++){var B=O[k];B.length===1?P.push("\\"+B):E.push(B)}P.sort();for(var F=0;F<P.length-1;F++){for(var U=F;U<P.length-1&&P[U].charCodeAt(1)+1===P[U+1].charCodeAt(1);)U+=1;var q=1+U-F;q<3||P.splice(F,q,P[F]+"-"+P[U])}return E.unshift("["+P.join("")+"]"),new RegExp(E.join("|"),"g")}x(u,"getInverseReplacer");var c=/(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,g=String.prototype.codePointAt!=null?function(R){return R.codePointAt(0)}:function(R){return(R.charCodeAt(0)-55296)*1024+R.charCodeAt(1)-56320+65536};function m(R){return"&#x"+(R.length>1?g(R):R.charCodeAt(0)).toString(16).toUpperCase()+";"}x(m,"singleCharReplacer");function y(R,P){return function(E){return E.replace(P,function(k){return R[k]}).replace(c,m)}}x(y,"getInverse");var b=new RegExp(s.source+"|"+c.source,"g");function C(R){return R.replace(b,m)}x(C,"escape"),r.escape=C;function A(R){return R.replace(s,m)}x(A,"escapeUTF8"),r.escapeUTF8=A;function T(R){return function(P){return P.replace(b,function(E){return R[E]||m(E)})}}x(T,"getASCIIEncoder")}),nj=j(r=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.decodeXMLStrict=r.decodeHTML5Strict=r.decodeHTML4Strict=r.decodeHTML5=r.decodeHTML4=r.decodeHTMLStrict=r.decodeHTML=r.decodeXML=r.encodeHTML5=r.encodeHTML4=r.escapeUTF8=r.escape=r.encodeNonAsciiHTML=r.encodeHTML=r.encodeXML=r.encode=r.decodeStrict=r.decode=void 0;var e=hv(),t=dv();function i(l,u){return(!u||u<=0?e.decodeXML:e.decodeHTML)(l)}x(i,"decode"),r.decode=i;function s(l,u){return(!u||u<=0?e.decodeXML:e.decodeHTMLStrict)(l)}x(s,"decodeStrict"),r.decodeStrict=s;function n(l,u){return(!u||u<=0?t.encodeXML:t.encodeHTML)(l)}x(n,"encode"),r.encode=n;var o=dv();Object.defineProperty(r,"encodeXML",{enumerable:!0,get:x(function(){return o.encodeXML},"get")}),Object.defineProperty(r,"encodeHTML",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")}),Object.defineProperty(r,"encodeNonAsciiHTML",{enumerable:!0,get:x(function(){return o.encodeNonAsciiHTML},"get")}),Object.defineProperty(r,"escape",{enumerable:!0,get:x(function(){return o.escape},"get")}),Object.defineProperty(r,"escapeUTF8",{enumerable:!0,get:x(function(){return o.escapeUTF8},"get")}),Object.defineProperty(r,"encodeHTML4",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")}),Object.defineProperty(r,"encodeHTML5",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")});var a=hv();Object.defineProperty(r,"decodeXML",{enumerable:!0,get:x(function(){return a.decodeXML},"get")}),Object.defineProperty(r,"decodeHTML",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTMLStrict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeHTML4",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTML5",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTML4Strict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeHTML5Strict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeXMLStrict",{enumerable:!0,get:x(function(){return a.decodeXML},"get")})}),oj=j((r,e)=>{"use strict";function t(D,N){if(!(D instanceof N))throw new TypeError("Cannot call a class as a function")}x(t,"_classCallCheck");function i(D,N){for(var G=0;G<N.length;G++){var Q=N[G];Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q&&(Q.writable=!0),Object.defineProperty(D,Q.key,Q)}}x(i,"_defineProperties");function s(D,N,G){return N&&i(D.prototype,N),G&&i(D,G),D}x(s,"_createClass");function n(D,N){var G=typeof Symbol<"u"&&D[Symbol.iterator]||D["@@iterator"];if(!G){if(Array.isArray(D)||(G=o(D))||N&&D&&typeof D.length=="number"){G&&(D=G);var Q=0,ne=x(function(){},"F");return{s:ne,n:x(function(){return Q>=D.length?{done:!0}:{done:!1,value:D[Q++]}},"n"),e:x(function(ce){throw ce},"e"),f:ne}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ie=!0,re=!1,ae;return{s:x(function(){G=G.call(D)},"s"),n:x(function(){var ce=G.next();return ie=ce.done,ce},"n"),e:x(function(ce){re=!0,ae=ce},"e"),f:x(function(){try{!ie&&G.return!=null&&G.return()}finally{if(re)throw ae}},"f")}}x(n,"_createForOfIteratorHelper");function o(D,N){if(D){if(typeof D=="string")return a(D,N);var G=Object.prototype.toString.call(D).slice(8,-1);if(G==="Object"&&D.constructor&&(G=D.constructor.name),G==="Map"||G==="Set")return Array.from(D);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return a(D,N)}}x(o,"_unsupportedIterableToArray");function a(D,N){(N==null||N>D.length)&&(N=D.length);for(var G=0,Q=new Array(N);G<N;G++)Q[G]=D[G];return Q}x(a,"_arrayLikeToArray");var l=nj(),u={fg:"#FFF",bg:"#000",newline:!1,escapeXML:!1,stream:!1,colors:c()};function c(){var D={0:"#000",1:"#A00",2:"#0A0",3:"#A50",4:"#00A",5:"#A0A",6:"#0AA",7:"#AAA",8:"#555",9:"#F55",10:"#5F5",11:"#FF5",12:"#55F",13:"#F5F",14:"#5FF",15:"#FFF"};return R(0,5).forEach(function(N){R(0,5).forEach(function(G){R(0,5).forEach(function(Q){return g(N,G,Q,D)})})}),R(0,23).forEach(function(N){var G=N+232,Q=m(N*10+8);D[G]="#"+Q+Q+Q}),D}x(c,"getDefaultColors");function g(D,N,G,Q){var ne=16+D*36+N*6+G,ie=D>0?D*40+55:0,re=N>0?N*40+55:0,ae=G>0?G*40+55:0;Q[ne]=y([ie,re,ae])}x(g,"setStyleColor");function m(D){for(var N=D.toString(16);N.length<2;)N="0"+N;return N}x(m,"toHexString");function y(D){var N=[],G=n(D),Q;try{for(G.s();!(Q=G.n()).done;){var ne=Q.value;N.push(m(ne))}}catch(ie){G.e(ie)}finally{G.f()}return"#"+N.join("")}x(y,"toColorHexString");function b(D,N,G,Q){var ne;return N==="text"?ne=k(G,Q):N==="display"?ne=A(D,G,Q):N==="xterm256Foreground"?ne=F(D,Q.colors[G]):N==="xterm256Background"?ne=U(D,Q.colors[G]):N==="rgb"&&(ne=C(D,G)),ne}x(b,"generateOutput");function C(D,N){N=N.substring(2).slice(0,-1);var G=+N.substr(0,2),Q=N.substring(5).split(";"),ne=Q.map(function(ie){return("0"+Number(ie).toString(16)).substr(-2)}).join("");return B(D,(G===38?"color:#":"background-color:#")+ne)}x(C,"handleRgb");function A(D,N,G){N=parseInt(N,10);var Q={"-1":x(function(){return"<br/>"},"_"),0:x(function(){return D.length&&T(D)},"_"),1:x(function(){return O(D,"b")},"_"),3:x(function(){return O(D,"i")},"_"),4:x(function(){return O(D,"u")},"_"),8:x(function(){return B(D,"display:none")},"_"),9:x(function(){return O(D,"strike")},"_"),22:x(function(){return B(D,"font-weight:normal;text-decoration:none;font-style:normal")},"_"),23:x(function(){return q(D,"i")},"_"),24:x(function(){return q(D,"u")},"_"),39:x(function(){return F(D,G.fg)},"_"),49:x(function(){return U(D,G.bg)},"_"),53:x(function(){return B(D,"text-decoration:overline")},"_")},ne;return Q[N]?ne=Q[N]():4<N&&N<7?ne=O(D,"blink"):29<N&&N<38?ne=F(D,G.colors[N-30]):39<N&&N<48?ne=U(D,G.colors[N-40]):89<N&&N<98?ne=F(D,G.colors[8+(N-90)]):99<N&&N<108&&(ne=U(D,G.colors[8+(N-100)])),ne}x(A,"handleDisplay");function T(D){var N=D.slice(0);return D.length=0,N.reverse().map(function(G){return"</"+G+">"}).join("")}x(T,"resetStyles");function R(D,N){for(var G=[],Q=D;Q<=N;Q++)G.push(Q);return G}x(R,"range");function P(D){return function(N){return(D===null||N.category!==D)&&D!=="all"}}x(P,"notCategory");function E(D){D=parseInt(D,10);var N=null;return D===0?N="all":D===1?N="bold":2<D&&D<5?N="underline":4<D&&D<7?N="blink":D===8?N="hide":D===9?N="strike":29<D&&D<38||D===39||89<D&&D<98?N="foreground-color":(39<D&&D<48||D===49||99<D&&D<108)&&(N="background-color"),N}x(E,"categoryForCode");function k(D,N){return N.escapeXML?l.encodeXML(D):D}x(k,"pushText");function O(D,N,G){return G||(G=""),D.push(N),"<".concat(N).concat(G?' style="'.concat(G,'"'):"",">")}x(O,"pushTag");function B(D,N){return O(D,"span",N)}x(B,"pushStyle");function F(D,N){return O(D,"span","color:"+N)}x(F,"pushForegroundColor");function U(D,N){return O(D,"span","background-color:"+N)}x(U,"pushBackgroundColor");function q(D,N){var G;if(D.slice(-1)[0]===N&&(G=D.pop()),G)return"</"+N+">"}x(q,"closeTag");function ee(D,N,G){var Q=!1,ne=3;function ie(){return""}x(ie,"remove");function re(Ze,Ee){return G("xterm256Foreground",Ee),""}x(re,"removeXterm256Foreground");function ae(Ze,Ee){return G("xterm256Background",Ee),""}x(ae,"removeXterm256Background");function ce(Ze){return N.newline?G("display",-1):G("text",Ze),""}x(ce,"newline");function Se(Ze,Ee){Q=!0,Ee.trim().length===0&&(Ee="0"),Ee=Ee.trimRight(";").split(";");var ze=n(Ee),Zt;try{for(ze.s();!(Zt=ze.n()).done;){var yr=Zt.value;G("display",yr)}}catch(li){ze.e(li)}finally{ze.f()}return""}x(Se,"ansiMess");function we(Ze){return G("text",Ze),""}x(we,"realText");function xe(Ze){return G("rgb",Ze),""}x(xe,"rgb");var Ie=[{pattern:/^\x08+/,sub:ie},{pattern:/^\x1b\[[012]?K/,sub:ie},{pattern:/^\x1b\[\(B/,sub:ie},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:xe},{pattern:/^\x1b\[38;5;(\d+)m/,sub:re},{pattern:/^\x1b\[48;5;(\d+)m/,sub:ae},{pattern:/^\n/,sub:ce},{pattern:/^\r+\n/,sub:ce},{pattern:/^\r/,sub:ce},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:Se},{pattern:/^\x1b\[\d?J/,sub:ie},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:ie},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:ie},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:we}];function De(Ze,Ee){Ee>ne&&Q||(Q=!1,D=D.replace(Ze.pattern,Ze.sub))}x(De,"process");var nt=[],$e=D,Re=$e.length;e:for(;Re>0;){for(var ot=0,je=0,at=Ie.length;je<at;ot=++je){var jt=Ie[ot];if(De(jt,ot),D.length!==Re){Re=D.length;continue e}}if(D.length===Re)break;nt.push(0),Re=D.length}return nt}x(ee,"tokenize");function te(D,N,G){return N!=="text"&&(D=D.filter(P(E(G))),D.push({token:N,data:G,category:E(G)})),D}x(te,"updateStickyStack");var $=function(){function D(N){t(this,D),N=N||{},N.colors&&(N.colors=Object.assign({},u.colors,N.colors)),this.options=Object.assign({},u,N),this.stack=[],this.stickyStack=[]}return x(D,"Filter"),s(D,[{key:"toHtml",value:x(function(N){var G=this;N=typeof N=="string"?[N]:N;var Q=this.stack,ne=this.options,ie=[];return this.stickyStack.forEach(function(re){var ae=b(Q,re.token,re.data,ne);ae&&ie.push(ae)}),ee(N.join(""),ne,function(re,ae){var ce=b(Q,re,ae,ne);ce&&ie.push(ce),ne.stream&&(G.stickyStack=te(G.stickyStack,re,ae))}),Q.length&&ie.push(T(Q)),ie.join("")},"toHtml")}]),D}();e.exports=$}),it=(()=>{let r;return typeof window<"u"?r=window:typeof globalThis<"u"?r=globalThis:typeof window<"u"?r=window:typeof self<"u"?r=self:r={},r})();function sS(){let r={setHandler:x(()=>{},"setHandler"),send:x(()=>{},"send")};return new y0({transport:r})}x(sS,"mockChannel");var nS=class{constructor(){this.getChannel=x(()=>{if(!this.channel){let e=sS();return this.setChannel(e),e}return this.channel},"getChannel"),this.ready=x(()=>this.promise,"ready"),this.hasChannel=x(()=>!!this.channel,"hasChannel"),this.setChannel=x(e=>{this.channel=e,this.resolve()},"setChannel"),this.promise=new Promise(e=>{this.resolve=()=>e(this.getChannel())})}};x(nS,"AddonStore");var aj=nS,vh="__STORYBOOK_ADDONS_PREVIEW";function oS(){return it[vh]||(it[vh]=new aj),it[vh]}x(oS,"getAddonsStore");var ri=oS(),aS=class{constructor(){this.hookListsMap=void 0,this.mountedDecorators=void 0,this.prevMountedDecorators=void 0,this.currentHooks=void 0,this.nextHookIndex=void 0,this.currentPhase=void 0,this.currentEffects=void 0,this.prevEffects=void 0,this.currentDecoratorName=void 0,this.hasUpdates=void 0,this.currentContext=void 0,this.renderListener=x(e=>{e===this.currentContext?.id&&(this.triggerEffects(),this.currentContext=null,this.removeRenderListeners())},"renderListener"),this.init()}init(){this.hookListsMap=new WeakMap,this.mountedDecorators=new Set,this.prevMountedDecorators=new Set,this.currentHooks=[],this.nextHookIndex=0,this.currentPhase="NONE",this.currentEffects=[],this.prevEffects=[],this.currentDecoratorName=null,this.hasUpdates=!1,this.currentContext=null}clean(){this.prevEffects.forEach(e=>{e.destroy&&e.destroy()}),this.init(),this.removeRenderListeners()}getNextHook(){let e=this.currentHooks[this.nextHookIndex];return this.nextHookIndex+=1,e}triggerEffects(){this.prevEffects.forEach(e=>{!this.currentEffects.includes(e)&&e.destroy&&e.destroy()}),this.currentEffects.forEach(e=>{this.prevEffects.includes(e)||(e.destroy=e.create())}),this.prevEffects=this.currentEffects,this.currentEffects=[]}addRenderListeners(){this.removeRenderListeners(),ri.getChannel().on(hn,this.renderListener)}removeRenderListeners(){ri.getChannel().removeListener(hn,this.renderListener)}};x(aS,"HooksContext");var lS=aS;function Ih(r){let e=x((...t)=>{let{hooks:i}=typeof t[0]=="function"?t[1]:t[0],s=i.currentPhase,n=i.currentHooks,o=i.nextHookIndex,a=i.currentDecoratorName;i.currentDecoratorName=r.name,i.prevMountedDecorators.has(r)?(i.currentPhase="UPDATE",i.currentHooks=i.hookListsMap.get(r)||[]):(i.currentPhase="MOUNT",i.currentHooks=[],i.hookListsMap.set(r,i.currentHooks),i.prevMountedDecorators.add(r)),i.nextHookIndex=0;let l=it.STORYBOOK_HOOKS_CONTEXT;it.STORYBOOK_HOOKS_CONTEXT=i;let u=r(...t);if(it.STORYBOOK_HOOKS_CONTEXT=l,i.currentPhase==="UPDATE"&&i.getNextHook()!=null)throw new Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return i.currentPhase=s,i.currentHooks=n,i.nextHookIndex=o,i.currentDecoratorName=a,u},"hookified");return e.originalFn=r,e}x(Ih,"hookify");var Sh=0,lj=25,uj=x(r=>(e,t)=>{let i=r(Ih(e),t.map(s=>Ih(s)));return s=>{let{hooks:n}=s;n.prevMountedDecorators??=new Set,n.mountedDecorators=new Set([e,...t]),n.currentContext=s,n.hasUpdates=!1;let o=i(s);for(Sh=1;n.hasUpdates;)if(n.hasUpdates=!1,n.currentEffects=[],o=i(s),Sh+=1,Sh>lj)throw new Error("Too many re-renders. Storybook limits the number of renders to prevent an infinite loop.");return n.addRenderListeners(),o}},"applyHooks"),cj=x((r,e)=>r.length===e.length&&r.every((t,i)=>t===e[i]),"areDepsEqual"),sd=x(()=>new Error("Storybook preview hooks can only be called inside decorators and story functions."),"invalidHooksError");function nd(){return it.STORYBOOK_HOOKS_CONTEXT||null}x(nd,"getHooksContextOrNull");function Va(){let r=nd();if(r==null)throw sd();return r}x(Va,"getHooksContextOrThrow");function uS(r,e,t){let i=Va();if(i.currentPhase==="MOUNT"){t!=null&&!Array.isArray(t)&&Pe.warn(`${r} received a final argument that is not an array (instead, received ${t}). When specified, the final argument must be an array.`);let s={name:r,deps:t};return i.currentHooks.push(s),e(s),s}if(i.currentPhase==="UPDATE"){let s=i.getNextHook();if(s==null)throw new Error("Rendered more hooks than during the previous render.");return s.name!==r&&Pe.warn(`Storybook has detected a change in the order of Hooks${i.currentDecoratorName?` called by ${i.currentDecoratorName}`:""}. This will lead to bugs and errors if not fixed.`),t!=null&&s.deps==null&&Pe.warn(`${r} received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.`),t!=null&&s.deps!=null&&t.length!==s.deps.length&&Pe.warn(`The final argument passed to ${r} changed size between renders. The order and size of this array must remain constant. +`+Y.prev}x(ci,"indentedJoin");function Wr(W,Y){var _e=Ie(W),de=[];if(_e){de.length=W.length;for(var Me=0;Me<W.length;Me++)de[Me]=Ee(W,Me)?Y(W[Me],W):""}var ge=typeof D=="function"?D(W):[],lt;if(G){lt={};for(var Wt=0;Wt<ge.length;Wt++)lt["$"+ge[Wt]]=ge[Wt]}for(var gt in W)Ee(W,gt)&&(_e&&String(Number(gt))===gt&><W.length||G&<["$"+gt]instanceof Symbol||(F.call(/[^\w$]/,gt)?de.push(Y(gt,W)+": "+Y(W[gt],W)):de.push(gt+": "+Y(W[gt],W))));if(typeof D=="function")for(var qt=0;qt<ge.length;qt++)ne.call(W,ge[qt])&&de.push("["+Y(ge[qt])+"]: "+Y(W[ge[qt]],W));return de}x(Wr,"arrObjKeys")}),ej=j((r,e)=>{"use strict";var t=Yi(),i=J3(),s=Z3(),n=bn(),o=t("%WeakMap%",!0),a=t("%Map%",!0),l=i("WeakMap.prototype.get",!0),u=i("WeakMap.prototype.set",!0),c=i("WeakMap.prototype.has",!0),g=i("Map.prototype.get",!0),m=i("Map.prototype.set",!0),y=i("Map.prototype.has",!0),b=x(function(R,P){for(var E=R,k;(k=E.next)!==null;E=k)if(k.key===P)return E.next=k.next,k.next=R.next,R.next=k,k},"listGetNode"),C=x(function(R,P){var E=b(R,P);return E&&E.value},"listGet"),A=x(function(R,P,E){var k=b(R,P);k?k.value=E:R.next={key:P,next:R.next,value:E}},"listSet"),T=x(function(R,P){return!!b(R,P)},"listHas");e.exports=x(function(){var R,P,E,k={assert:x(function(O){if(!k.has(O))throw new n("Side channel does not contain "+s(O))},"assert"),get:x(function(O){if(o&&O&&(typeof O=="object"||typeof O=="function")){if(R)return l(R,O)}else if(a){if(P)return g(P,O)}else if(E)return C(E,O)},"get"),has:x(function(O){if(o&&O&&(typeof O=="object"||typeof O=="function")){if(R)return c(R,O)}else if(a){if(P)return y(P,O)}else if(E)return T(E,O);return!1},"has"),set:x(function(O,B){o&&O&&(typeof O=="object"||typeof O=="function")?(R||(R=new o),u(R,O,B)):a?(P||(P=new a),m(P,O,B)):(E||(E={key:{},next:null}),A(E,O,B))},"set")};return k},"getSideChannel")}),rd=j((r,e)=>{"use strict";var t=String.prototype.replace,i=/%20/g,s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports={default:s.RFC3986,formatters:{RFC1738:x(function(n){return t.call(n,i,"+")},"RFC1738"),RFC3986:x(function(n){return String(n)},"RFC3986")},RFC1738:s.RFC1738,RFC3986:s.RFC3986}}),tS=j((r,e)=>{"use strict";var t=rd(),i=Object.prototype.hasOwnProperty,s=Array.isArray,n=function(){for(var R=[],P=0;P<256;++P)R.push("%"+((P<16?"0":"")+P.toString(16)).toUpperCase());return R}(),o=x(function(R){for(;R.length>1;){var P=R.pop(),E=P.obj[P.prop];if(s(E)){for(var k=[],O=0;O<E.length;++O)typeof E[O]<"u"&&k.push(E[O]);P.obj[P.prop]=k}}},"compactQueue"),a=x(function(R,P){for(var E=P&&P.plainObjects?Object.create(null):{},k=0;k<R.length;++k)typeof R[k]<"u"&&(E[k]=R[k]);return E},"arrayToObject"),l=x(function R(P,E,k){if(!E)return P;if(typeof E!="object"){if(s(P))P.push(E);else if(P&&typeof P=="object")(k&&(k.plainObjects||k.allowPrototypes)||!i.call(Object.prototype,E))&&(P[E]=!0);else return[P,E];return P}if(!P||typeof P!="object")return[P].concat(E);var O=P;return s(P)&&!s(E)&&(O=a(P,k)),s(P)&&s(E)?(E.forEach(function(B,F){if(i.call(P,F)){var U=P[F];U&&typeof U=="object"&&B&&typeof B=="object"?P[F]=R(U,B,k):P.push(B)}else P[F]=B}),P):Object.keys(E).reduce(function(B,F){var U=E[F];return i.call(B,F)?B[F]=R(B[F],U,k):B[F]=U,B},O)},"merge"),u=x(function(R,P){return Object.keys(P).reduce(function(E,k){return E[k]=P[k],E},R)},"assignSingleSource"),c=x(function(R,P,E){var k=R.replace(/\+/g," ");if(E==="iso-8859-1")return k.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(k)}catch{return k}},"decode"),g=1024,m=x(function(R,P,E,k,O){if(R.length===0)return R;var B=R;if(typeof R=="symbol"?B=Symbol.prototype.toString.call(R):typeof R!="string"&&(B=String(R)),E==="iso-8859-1")return escape(B).replace(/%u[0-9a-f]{4}/gi,function(D){return"%26%23"+parseInt(D.slice(2),16)+"%3B"});for(var F="",U=0;U<B.length;U+=g){for(var q=B.length>=g?B.slice(U,U+g):B,ee=[],te=0;te<q.length;++te){var $=q.charCodeAt(te);if($===45||$===46||$===95||$===126||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||O===t.RFC1738&&($===40||$===41)){ee[ee.length]=q.charAt(te);continue}if($<128){ee[ee.length]=n[$];continue}if($<2048){ee[ee.length]=n[192|$>>6]+n[128|$&63];continue}if($<55296||$>=57344){ee[ee.length]=n[224|$>>12]+n[128|$>>6&63]+n[128|$&63];continue}te+=1,$=65536+(($&1023)<<10|q.charCodeAt(te)&1023),ee[ee.length]=n[240|$>>18]+n[128|$>>12&63]+n[128|$>>6&63]+n[128|$&63]}F+=ee.join("")}return F},"encode"),y=x(function(R){for(var P=[{obj:{o:R},prop:"o"}],E=[],k=0;k<P.length;++k)for(var O=P[k],B=O.obj[O.prop],F=Object.keys(B),U=0;U<F.length;++U){var q=F[U],ee=B[q];typeof ee=="object"&&ee!==null&&E.indexOf(ee)===-1&&(P.push({obj:B,prop:q}),E.push(ee))}return o(P),R},"compact"),b=x(function(R){return Object.prototype.toString.call(R)==="[object RegExp]"},"isRegExp"),C=x(function(R){return!R||typeof R!="object"?!1:!!(R.constructor&&R.constructor.isBuffer&&R.constructor.isBuffer(R))},"isBuffer"),A=x(function(R,P){return[].concat(R,P)},"combine"),T=x(function(R,P){if(s(R)){for(var E=[],k=0;k<R.length;k+=1)E.push(P(R[k]));return E}return P(R)},"maybeMap");e.exports={arrayToObject:a,assign:u,combine:A,compact:y,decode:c,encode:m,isBuffer:C,isRegExp:b,maybeMap:T,merge:l}}),tj=j((r,e)=>{"use strict";var t=ej(),i=tS(),s=rd(),n=Object.prototype.hasOwnProperty,o={brackets:x(function(T){return T+"[]"},"brackets"),comma:"comma",indices:x(function(T,R){return T+"["+R+"]"},"indices"),repeat:x(function(T){return T},"repeat")},a=Array.isArray,l=Array.prototype.push,u=x(function(T,R){l.apply(T,a(R)?R:[R])},"pushToArray"),c=Date.prototype.toISOString,g=s.default,m={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:i.encode,encodeValuesOnly:!1,format:g,formatter:s.formatters[g],indices:!1,serializeDate:x(function(T){return c.call(T)},"serializeDate"),skipNulls:!1,strictNullHandling:!1},y=x(function(T){return typeof T=="string"||typeof T=="number"||typeof T=="boolean"||typeof T=="symbol"||typeof T=="bigint"},"isNonNullishPrimitive"),b={},C=x(function T(R,P,E,k,O,B,F,U,q,ee,te,$,D,N,G,Q,ne,ie){for(var re=R,ae=ie,ce=0,Se=!1;(ae=ae.get(b))!==void 0&&!Se;){var we=ae.get(R);if(ce+=1,typeof we<"u"){if(we===ce)throw new RangeError("Cyclic object value");Se=!0}typeof ae.get(b)>"u"&&(ce=0)}if(typeof ee=="function"?re=ee(P,re):re instanceof Date?re=D(re):E==="comma"&&a(re)&&(re=i.maybeMap(re,function(ze){return ze instanceof Date?D(ze):ze})),re===null){if(B)return q&&!Q?q(P,m.encoder,ne,"key",N):P;re=""}if(y(re)||i.isBuffer(re)){if(q){var xe=Q?P:q(P,m.encoder,ne,"key",N);return[G(xe)+"="+G(q(re,m.encoder,ne,"value",N))]}return[G(P)+"="+G(String(re))]}var Ie=[];if(typeof re>"u")return Ie;var De;if(E==="comma"&&a(re))Q&&q&&(re=i.maybeMap(re,q)),De=[{value:re.length>0?re.join(",")||null:void 0}];else if(a(ee))De=ee;else{var nt=Object.keys(re);De=te?nt.sort(te):nt}var $e=U?P.replace(/\./g,"%2E"):P,Re=k&&a(re)&&re.length===1?$e+"[]":$e;if(O&&a(re)&&re.length===0)return Re+"[]";for(var ot=0;ot<De.length;++ot){var je=De[ot],at=typeof je=="object"&&typeof je.value<"u"?je.value:re[je];if(!(F&&at===null)){var jt=$&&U?je.replace(/\./g,"%2E"):je,Ze=a(re)?typeof E=="function"?E(Re,jt):Re:Re+($?"."+jt:"["+jt+"]");ie.set(R,ce);var Ee=t();Ee.set(b,ie),u(Ie,T(at,Ze,E,k,O,B,F,U,E==="comma"&&Q&&a(re)?null:q,ee,te,$,D,N,G,Q,ne,Ee))}}return Ie},"stringify"),A=x(function(T){if(!T)return m;if(typeof T.allowEmptyArrays<"u"&&typeof T.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof T.encodeDotInKeys<"u"&&typeof T.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(T.encoder!==null&&typeof T.encoder<"u"&&typeof T.encoder!="function")throw new TypeError("Encoder has to be a function.");var R=T.charset||m.charset;if(typeof T.charset<"u"&&T.charset!=="utf-8"&&T.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var P=s.default;if(typeof T.format<"u"){if(!n.call(s.formatters,T.format))throw new TypeError("Unknown format option provided.");P=T.format}var E=s.formatters[P],k=m.filter;(typeof T.filter=="function"||a(T.filter))&&(k=T.filter);var O;if(T.arrayFormat in o?O=T.arrayFormat:"indices"in T?O=T.indices?"indices":"repeat":O=m.arrayFormat,"commaRoundTrip"in T&&typeof T.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var B=typeof T.allowDots>"u"?T.encodeDotInKeys===!0?!0:m.allowDots:!!T.allowDots;return{addQueryPrefix:typeof T.addQueryPrefix=="boolean"?T.addQueryPrefix:m.addQueryPrefix,allowDots:B,allowEmptyArrays:typeof T.allowEmptyArrays=="boolean"?!!T.allowEmptyArrays:m.allowEmptyArrays,arrayFormat:O,charset:R,charsetSentinel:typeof T.charsetSentinel=="boolean"?T.charsetSentinel:m.charsetSentinel,commaRoundTrip:T.commaRoundTrip,delimiter:typeof T.delimiter>"u"?m.delimiter:T.delimiter,encode:typeof T.encode=="boolean"?T.encode:m.encode,encodeDotInKeys:typeof T.encodeDotInKeys=="boolean"?T.encodeDotInKeys:m.encodeDotInKeys,encoder:typeof T.encoder=="function"?T.encoder:m.encoder,encodeValuesOnly:typeof T.encodeValuesOnly=="boolean"?T.encodeValuesOnly:m.encodeValuesOnly,filter:k,format:P,formatter:E,serializeDate:typeof T.serializeDate=="function"?T.serializeDate:m.serializeDate,skipNulls:typeof T.skipNulls=="boolean"?T.skipNulls:m.skipNulls,sort:typeof T.sort=="function"?T.sort:null,strictNullHandling:typeof T.strictNullHandling=="boolean"?T.strictNullHandling:m.strictNullHandling}},"normalizeStringifyOptions");e.exports=function(T,R){var P=T,E=A(R),k,O;typeof E.filter=="function"?(O=E.filter,P=O("",P)):a(E.filter)&&(O=E.filter,k=O);var B=[];if(typeof P!="object"||P===null)return"";var F=o[E.arrayFormat],U=F==="comma"&&E.commaRoundTrip;k||(k=Object.keys(P)),E.sort&&k.sort(E.sort);for(var q=t(),ee=0;ee<k.length;++ee){var te=k[ee];E.skipNulls&&P[te]===null||u(B,C(P[te],te,F,U,E.allowEmptyArrays,E.strictNullHandling,E.skipNulls,E.encodeDotInKeys,E.encode?E.encoder:null,E.filter,E.sort,E.allowDots,E.serializeDate,E.format,E.formatter,E.encodeValuesOnly,E.charset,q))}var $=B.join(E.delimiter),D=E.addQueryPrefix===!0?"?":"";return E.charsetSentinel&&(E.charset==="iso-8859-1"?D+="utf8=%26%2310003%3B&":D+="utf8=%E2%9C%93&"),$.length>0?D+$:""}}),rj=j((r,e)=>{"use strict";var t=tS(),i=Object.prototype.hasOwnProperty,s=Array.isArray,n={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:t.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},o=x(function(b){return b.replace(/&#(\d+);/g,function(C,A){return String.fromCharCode(parseInt(A,10))})},"interpretNumericEntities"),a=x(function(b,C){return b&&typeof b=="string"&&C.comma&&b.indexOf(",")>-1?b.split(","):b},"parseArrayValue"),l="utf8=%26%2310003%3B",u="utf8=%E2%9C%93",c=x(function(b,C){var A={__proto__:null},T=C.ignoreQueryPrefix?b.replace(/^\?/,""):b;T=T.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var R=C.parameterLimit===1/0?void 0:C.parameterLimit,P=T.split(C.delimiter,R),E=-1,k,O=C.charset;if(C.charsetSentinel)for(k=0;k<P.length;++k)P[k].indexOf("utf8=")===0&&(P[k]===u?O="utf-8":P[k]===l&&(O="iso-8859-1"),E=k,k=P.length);for(k=0;k<P.length;++k)if(k!==E){var B=P[k],F=B.indexOf("]="),U=F===-1?B.indexOf("="):F+1,q,ee;U===-1?(q=C.decoder(B,n.decoder,O,"key"),ee=C.strictNullHandling?null:""):(q=C.decoder(B.slice(0,U),n.decoder,O,"key"),ee=t.maybeMap(a(B.slice(U+1),C),function($){return C.decoder($,n.decoder,O,"value")})),ee&&C.interpretNumericEntities&&O==="iso-8859-1"&&(ee=o(ee)),B.indexOf("[]=")>-1&&(ee=s(ee)?[ee]:ee);var te=i.call(A,q);te&&C.duplicates==="combine"?A[q]=t.combine(A[q],ee):(!te||C.duplicates==="last")&&(A[q]=ee)}return A},"parseQueryStringValues"),g=x(function(b,C,A,T){for(var R=T?C:a(C,A),P=b.length-1;P>=0;--P){var E,k=b[P];if(k==="[]"&&A.parseArrays)E=A.allowEmptyArrays&&(R===""||A.strictNullHandling&&R===null)?[]:[].concat(R);else{E=A.plainObjects?Object.create(null):{};var O=k.charAt(0)==="["&&k.charAt(k.length-1)==="]"?k.slice(1,-1):k,B=A.decodeDotInKeys?O.replace(/%2E/g,"."):O,F=parseInt(B,10);!A.parseArrays&&B===""?E={0:R}:!isNaN(F)&&k!==B&&String(F)===B&&F>=0&&A.parseArrays&&F<=A.arrayLimit?(E=[],E[F]=R):B!=="__proto__"&&(E[B]=R)}R=E}return R},"parseObject"),m=x(function(b,C,A,T){if(b){var R=A.allowDots?b.replace(/\.([^.[]+)/g,"[$1]"):b,P=/(\[[^[\]]*])/,E=/(\[[^[\]]*])/g,k=A.depth>0&&P.exec(R),O=k?R.slice(0,k.index):R,B=[];if(O){if(!A.plainObjects&&i.call(Object.prototype,O)&&!A.allowPrototypes)return;B.push(O)}for(var F=0;A.depth>0&&(k=E.exec(R))!==null&&F<A.depth;){if(F+=1,!A.plainObjects&&i.call(Object.prototype,k[1].slice(1,-1))&&!A.allowPrototypes)return;B.push(k[1])}return k&&B.push("["+R.slice(k.index)+"]"),g(B,C,A,T)}},"parseQueryStringKeys"),y=x(function(b){if(!b)return n;if(typeof b.allowEmptyArrays<"u"&&typeof b.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof b.decodeDotInKeys<"u"&&typeof b.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(b.decoder!==null&&typeof b.decoder<"u"&&typeof b.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof b.charset<"u"&&b.charset!=="utf-8"&&b.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var C=typeof b.charset>"u"?n.charset:b.charset,A=typeof b.duplicates>"u"?n.duplicates:b.duplicates;if(A!=="combine"&&A!=="first"&&A!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var T=typeof b.allowDots>"u"?b.decodeDotInKeys===!0?!0:n.allowDots:!!b.allowDots;return{allowDots:T,allowEmptyArrays:typeof b.allowEmptyArrays=="boolean"?!!b.allowEmptyArrays:n.allowEmptyArrays,allowPrototypes:typeof b.allowPrototypes=="boolean"?b.allowPrototypes:n.allowPrototypes,allowSparse:typeof b.allowSparse=="boolean"?b.allowSparse:n.allowSparse,arrayLimit:typeof b.arrayLimit=="number"?b.arrayLimit:n.arrayLimit,charset:C,charsetSentinel:typeof b.charsetSentinel=="boolean"?b.charsetSentinel:n.charsetSentinel,comma:typeof b.comma=="boolean"?b.comma:n.comma,decodeDotInKeys:typeof b.decodeDotInKeys=="boolean"?b.decodeDotInKeys:n.decodeDotInKeys,decoder:typeof b.decoder=="function"?b.decoder:n.decoder,delimiter:typeof b.delimiter=="string"||t.isRegExp(b.delimiter)?b.delimiter:n.delimiter,depth:typeof b.depth=="number"||b.depth===!1?+b.depth:n.depth,duplicates:A,ignoreQueryPrefix:b.ignoreQueryPrefix===!0,interpretNumericEntities:typeof b.interpretNumericEntities=="boolean"?b.interpretNumericEntities:n.interpretNumericEntities,parameterLimit:typeof b.parameterLimit=="number"?b.parameterLimit:n.parameterLimit,parseArrays:b.parseArrays!==!1,plainObjects:typeof b.plainObjects=="boolean"?b.plainObjects:n.plainObjects,strictNullHandling:typeof b.strictNullHandling=="boolean"?b.strictNullHandling:n.strictNullHandling}},"normalizeParseOptions");e.exports=function(b,C){var A=y(C);if(b===""||b===null||typeof b>"u")return A.plainObjects?Object.create(null):{};for(var T=typeof b=="string"?c(b,A):b,R=A.plainObjects?Object.create(null):{},P=Object.keys(T),E=0;E<P.length;++E){var k=P[E],O=m(k,T[k],A,typeof b=="string");R=t.merge(R,O,A)}return A.allowSparse===!0?R:t.compact(R)}}),id=j((r,e)=>{"use strict";var t=tj(),i=rj(),s=rd();e.exports={formats:s,parse:i,stringify:t}}),rS=j((r,e)=>{e.exports={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}),ij=j((r,e)=>{e.exports={Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",AElig:"\xC6",aelig:"\xE6",Agrave:"\xC0",agrave:"\xE0",amp:"&",AMP:"&",Aring:"\xC5",aring:"\xE5",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",brvbar:"\xA6",Ccedil:"\xC7",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Egrave:"\xC8",egrave:"\xE8",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",iexcl:"\xA1",Igrave:"\xCC",igrave:"\xEC",iquest:"\xBF",Iuml:"\xCF",iuml:"\xEF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",Ntilde:"\xD1",ntilde:"\xF1",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Ograve:"\xD2",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",Oslash:"\xD8",oslash:"\xF8",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",THORN:"\xDE",thorn:"\xFE",times:"\xD7",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Ugrave:"\xD9",ugrave:"\xF9",uml:"\xA8",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}),iS=j((r,e)=>{e.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}}),sj=j((r,e)=>{e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}}),nj=j(r=>{"use strict";var e=r&&r.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(r,"__esModule",{value:!0});var t=e(sj()),i=String.fromCodePoint||function(n){var o="";return n>65535&&(n-=65536,o+=String.fromCharCode(n>>>10&1023|55296),n=56320|n&1023),o+=String.fromCharCode(n),o};function s(n){return n>=55296&&n<=57343||n>1114111?"\uFFFD":(n in t.default&&(n=t.default[n]),i(n))}x(s,"decodeCodePoint"),r.default=s}),hv=j(r=>{"use strict";var e=r&&r.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(r,"__esModule",{value:!0}),r.decodeHTML=r.decodeHTMLStrict=r.decodeXML=void 0;var t=e(rS()),i=e(ij()),s=e(iS()),n=e(nj()),o=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;r.decodeXML=a(s.default),r.decodeHTMLStrict=a(t.default);function a(c){var g=u(c);return function(m){return String(m).replace(o,g)}}x(a,"getStrictDecoder");var l=x(function(c,g){return c<g?1:-1},"sorter");r.decodeHTML=function(){for(var c=Object.keys(i.default).sort(l),g=Object.keys(t.default).sort(l),m=0,y=0;m<g.length;m++)c[y]===g[m]?(g[m]+=";?",y++):g[m]+=";";var b=new RegExp("&(?:"+g.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),C=u(t.default);function A(T){return T.substr(-1)!==";"&&(T+=";"),C(T)}return x(A,"replacer"),function(T){return String(T).replace(b,A)}}();function u(c){return x(function(g){if(g.charAt(1)==="#"){var m=g.charAt(2);return m==="X"||m==="x"?n.default(parseInt(g.substr(3),16)):n.default(parseInt(g.substr(2),10))}return c[g.slice(1,-1)]||g},"replace")}x(u,"getReplacer")}),dv=j(r=>{"use strict";var e=r&&r.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};Object.defineProperty(r,"__esModule",{value:!0}),r.escapeUTF8=r.escape=r.encodeNonAsciiHTML=r.encodeHTML=r.encodeXML=void 0;var t=e(iS()),i=l(t.default),s=u(i);r.encodeXML=T(i);var n=e(rS()),o=l(n.default),a=u(o);r.encodeHTML=y(o,a),r.encodeNonAsciiHTML=T(o);function l(R){return Object.keys(R).sort().reduce(function(P,E){return P[R[E]]="&"+E+";",P},{})}x(l,"getInverseObj");function u(R){for(var P=[],E=[],k=0,O=Object.keys(R);k<O.length;k++){var B=O[k];B.length===1?P.push("\\"+B):E.push(B)}P.sort();for(var F=0;F<P.length-1;F++){for(var U=F;U<P.length-1&&P[U].charCodeAt(1)+1===P[U+1].charCodeAt(1);)U+=1;var q=1+U-F;q<3||P.splice(F,q,P[F]+"-"+P[U])}return E.unshift("["+P.join("")+"]"),new RegExp(E.join("|"),"g")}x(u,"getInverseReplacer");var c=/(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,g=String.prototype.codePointAt!=null?function(R){return R.codePointAt(0)}:function(R){return(R.charCodeAt(0)-55296)*1024+R.charCodeAt(1)-56320+65536};function m(R){return"&#x"+(R.length>1?g(R):R.charCodeAt(0)).toString(16).toUpperCase()+";"}x(m,"singleCharReplacer");function y(R,P){return function(E){return E.replace(P,function(k){return R[k]}).replace(c,m)}}x(y,"getInverse");var b=new RegExp(s.source+"|"+c.source,"g");function C(R){return R.replace(b,m)}x(C,"escape"),r.escape=C;function A(R){return R.replace(s,m)}x(A,"escapeUTF8"),r.escapeUTF8=A;function T(R){return function(P){return P.replace(b,function(E){return R[E]||m(E)})}}x(T,"getASCIIEncoder")}),oj=j(r=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.decodeXMLStrict=r.decodeHTML5Strict=r.decodeHTML4Strict=r.decodeHTML5=r.decodeHTML4=r.decodeHTMLStrict=r.decodeHTML=r.decodeXML=r.encodeHTML5=r.encodeHTML4=r.escapeUTF8=r.escape=r.encodeNonAsciiHTML=r.encodeHTML=r.encodeXML=r.encode=r.decodeStrict=r.decode=void 0;var e=hv(),t=dv();function i(l,u){return(!u||u<=0?e.decodeXML:e.decodeHTML)(l)}x(i,"decode"),r.decode=i;function s(l,u){return(!u||u<=0?e.decodeXML:e.decodeHTMLStrict)(l)}x(s,"decodeStrict"),r.decodeStrict=s;function n(l,u){return(!u||u<=0?t.encodeXML:t.encodeHTML)(l)}x(n,"encode"),r.encode=n;var o=dv();Object.defineProperty(r,"encodeXML",{enumerable:!0,get:x(function(){return o.encodeXML},"get")}),Object.defineProperty(r,"encodeHTML",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")}),Object.defineProperty(r,"encodeNonAsciiHTML",{enumerable:!0,get:x(function(){return o.encodeNonAsciiHTML},"get")}),Object.defineProperty(r,"escape",{enumerable:!0,get:x(function(){return o.escape},"get")}),Object.defineProperty(r,"escapeUTF8",{enumerable:!0,get:x(function(){return o.escapeUTF8},"get")}),Object.defineProperty(r,"encodeHTML4",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")}),Object.defineProperty(r,"encodeHTML5",{enumerable:!0,get:x(function(){return o.encodeHTML},"get")});var a=hv();Object.defineProperty(r,"decodeXML",{enumerable:!0,get:x(function(){return a.decodeXML},"get")}),Object.defineProperty(r,"decodeHTML",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTMLStrict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeHTML4",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTML5",{enumerable:!0,get:x(function(){return a.decodeHTML},"get")}),Object.defineProperty(r,"decodeHTML4Strict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeHTML5Strict",{enumerable:!0,get:x(function(){return a.decodeHTMLStrict},"get")}),Object.defineProperty(r,"decodeXMLStrict",{enumerable:!0,get:x(function(){return a.decodeXML},"get")})}),aj=j((r,e)=>{"use strict";function t(D,N){if(!(D instanceof N))throw new TypeError("Cannot call a class as a function")}x(t,"_classCallCheck");function i(D,N){for(var G=0;G<N.length;G++){var Q=N[G];Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q&&(Q.writable=!0),Object.defineProperty(D,Q.key,Q)}}x(i,"_defineProperties");function s(D,N,G){return N&&i(D.prototype,N),G&&i(D,G),D}x(s,"_createClass");function n(D,N){var G=typeof Symbol<"u"&&D[Symbol.iterator]||D["@@iterator"];if(!G){if(Array.isArray(D)||(G=o(D))||N&&D&&typeof D.length=="number"){G&&(D=G);var Q=0,ne=x(function(){},"F");return{s:ne,n:x(function(){return Q>=D.length?{done:!0}:{done:!1,value:D[Q++]}},"n"),e:x(function(ce){throw ce},"e"),f:ne}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ie=!0,re=!1,ae;return{s:x(function(){G=G.call(D)},"s"),n:x(function(){var ce=G.next();return ie=ce.done,ce},"n"),e:x(function(ce){re=!0,ae=ce},"e"),f:x(function(){try{!ie&&G.return!=null&&G.return()}finally{if(re)throw ae}},"f")}}x(n,"_createForOfIteratorHelper");function o(D,N){if(D){if(typeof D=="string")return a(D,N);var G=Object.prototype.toString.call(D).slice(8,-1);if(G==="Object"&&D.constructor&&(G=D.constructor.name),G==="Map"||G==="Set")return Array.from(D);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return a(D,N)}}x(o,"_unsupportedIterableToArray");function a(D,N){(N==null||N>D.length)&&(N=D.length);for(var G=0,Q=new Array(N);G<N;G++)Q[G]=D[G];return Q}x(a,"_arrayLikeToArray");var l=oj(),u={fg:"#FFF",bg:"#000",newline:!1,escapeXML:!1,stream:!1,colors:c()};function c(){var D={0:"#000",1:"#A00",2:"#0A0",3:"#A50",4:"#00A",5:"#A0A",6:"#0AA",7:"#AAA",8:"#555",9:"#F55",10:"#5F5",11:"#FF5",12:"#55F",13:"#F5F",14:"#5FF",15:"#FFF"};return R(0,5).forEach(function(N){R(0,5).forEach(function(G){R(0,5).forEach(function(Q){return g(N,G,Q,D)})})}),R(0,23).forEach(function(N){var G=N+232,Q=m(N*10+8);D[G]="#"+Q+Q+Q}),D}x(c,"getDefaultColors");function g(D,N,G,Q){var ne=16+D*36+N*6+G,ie=D>0?D*40+55:0,re=N>0?N*40+55:0,ae=G>0?G*40+55:0;Q[ne]=y([ie,re,ae])}x(g,"setStyleColor");function m(D){for(var N=D.toString(16);N.length<2;)N="0"+N;return N}x(m,"toHexString");function y(D){var N=[],G=n(D),Q;try{for(G.s();!(Q=G.n()).done;){var ne=Q.value;N.push(m(ne))}}catch(ie){G.e(ie)}finally{G.f()}return"#"+N.join("")}x(y,"toColorHexString");function b(D,N,G,Q){var ne;return N==="text"?ne=k(G,Q):N==="display"?ne=A(D,G,Q):N==="xterm256Foreground"?ne=F(D,Q.colors[G]):N==="xterm256Background"?ne=U(D,Q.colors[G]):N==="rgb"&&(ne=C(D,G)),ne}x(b,"generateOutput");function C(D,N){N=N.substring(2).slice(0,-1);var G=+N.substr(0,2),Q=N.substring(5).split(";"),ne=Q.map(function(ie){return("0"+Number(ie).toString(16)).substr(-2)}).join("");return B(D,(G===38?"color:#":"background-color:#")+ne)}x(C,"handleRgb");function A(D,N,G){N=parseInt(N,10);var Q={"-1":x(function(){return"<br/>"},"_"),0:x(function(){return D.length&&T(D)},"_"),1:x(function(){return O(D,"b")},"_"),3:x(function(){return O(D,"i")},"_"),4:x(function(){return O(D,"u")},"_"),8:x(function(){return B(D,"display:none")},"_"),9:x(function(){return O(D,"strike")},"_"),22:x(function(){return B(D,"font-weight:normal;text-decoration:none;font-style:normal")},"_"),23:x(function(){return q(D,"i")},"_"),24:x(function(){return q(D,"u")},"_"),39:x(function(){return F(D,G.fg)},"_"),49:x(function(){return U(D,G.bg)},"_"),53:x(function(){return B(D,"text-decoration:overline")},"_")},ne;return Q[N]?ne=Q[N]():4<N&&N<7?ne=O(D,"blink"):29<N&&N<38?ne=F(D,G.colors[N-30]):39<N&&N<48?ne=U(D,G.colors[N-40]):89<N&&N<98?ne=F(D,G.colors[8+(N-90)]):99<N&&N<108&&(ne=U(D,G.colors[8+(N-100)])),ne}x(A,"handleDisplay");function T(D){var N=D.slice(0);return D.length=0,N.reverse().map(function(G){return"</"+G+">"}).join("")}x(T,"resetStyles");function R(D,N){for(var G=[],Q=D;Q<=N;Q++)G.push(Q);return G}x(R,"range");function P(D){return function(N){return(D===null||N.category!==D)&&D!=="all"}}x(P,"notCategory");function E(D){D=parseInt(D,10);var N=null;return D===0?N="all":D===1?N="bold":2<D&&D<5?N="underline":4<D&&D<7?N="blink":D===8?N="hide":D===9?N="strike":29<D&&D<38||D===39||89<D&&D<98?N="foreground-color":(39<D&&D<48||D===49||99<D&&D<108)&&(N="background-color"),N}x(E,"categoryForCode");function k(D,N){return N.escapeXML?l.encodeXML(D):D}x(k,"pushText");function O(D,N,G){return G||(G=""),D.push(N),"<".concat(N).concat(G?' style="'.concat(G,'"'):"",">")}x(O,"pushTag");function B(D,N){return O(D,"span",N)}x(B,"pushStyle");function F(D,N){return O(D,"span","color:"+N)}x(F,"pushForegroundColor");function U(D,N){return O(D,"span","background-color:"+N)}x(U,"pushBackgroundColor");function q(D,N){var G;if(D.slice(-1)[0]===N&&(G=D.pop()),G)return"</"+N+">"}x(q,"closeTag");function ee(D,N,G){var Q=!1,ne=3;function ie(){return""}x(ie,"remove");function re(Ze,Ee){return G("xterm256Foreground",Ee),""}x(re,"removeXterm256Foreground");function ae(Ze,Ee){return G("xterm256Background",Ee),""}x(ae,"removeXterm256Background");function ce(Ze){return N.newline?G("display",-1):G("text",Ze),""}x(ce,"newline");function Se(Ze,Ee){Q=!0,Ee.trim().length===0&&(Ee="0"),Ee=Ee.trimRight(";").split(";");var ze=n(Ee),Zt;try{for(ze.s();!(Zt=ze.n()).done;){var yr=Zt.value;G("display",yr)}}catch(li){ze.e(li)}finally{ze.f()}return""}x(Se,"ansiMess");function we(Ze){return G("text",Ze),""}x(we,"realText");function xe(Ze){return G("rgb",Ze),""}x(xe,"rgb");var Ie=[{pattern:/^\x08+/,sub:ie},{pattern:/^\x1b\[[012]?K/,sub:ie},{pattern:/^\x1b\[\(B/,sub:ie},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:xe},{pattern:/^\x1b\[38;5;(\d+)m/,sub:re},{pattern:/^\x1b\[48;5;(\d+)m/,sub:ae},{pattern:/^\n/,sub:ce},{pattern:/^\r+\n/,sub:ce},{pattern:/^\r/,sub:ce},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:Se},{pattern:/^\x1b\[\d?J/,sub:ie},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:ie},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:ie},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:we}];function De(Ze,Ee){Ee>ne&&Q||(Q=!1,D=D.replace(Ze.pattern,Ze.sub))}x(De,"process");var nt=[],$e=D,Re=$e.length;e:for(;Re>0;){for(var ot=0,je=0,at=Ie.length;je<at;ot=++je){var jt=Ie[ot];if(De(jt,ot),D.length!==Re){Re=D.length;continue e}}if(D.length===Re)break;nt.push(0),Re=D.length}return nt}x(ee,"tokenize");function te(D,N,G){return N!=="text"&&(D=D.filter(P(E(G))),D.push({token:N,data:G,category:E(G)})),D}x(te,"updateStickyStack");var $=function(){function D(N){t(this,D),N=N||{},N.colors&&(N.colors=Object.assign({},u.colors,N.colors)),this.options=Object.assign({},u,N),this.stack=[],this.stickyStack=[]}return x(D,"Filter"),s(D,[{key:"toHtml",value:x(function(N){var G=this;N=typeof N=="string"?[N]:N;var Q=this.stack,ne=this.options,ie=[];return this.stickyStack.forEach(function(re){var ae=b(Q,re.token,re.data,ne);ae&&ie.push(ae)}),ee(N.join(""),ne,function(re,ae){var ce=b(Q,re,ae,ne);ce&&ie.push(ce),ne.stream&&(G.stickyStack=te(G.stickyStack,re,ae))}),Q.length&&ie.push(T(Q)),ie.join("")},"toHtml")}]),D}();e.exports=$}),it=(()=>{let r;return typeof window<"u"?r=window:typeof globalThis<"u"?r=globalThis:typeof window<"u"?r=window:typeof self<"u"?r=self:r={},r})();function sS(){let r={setHandler:x(()=>{},"setHandler"),send:x(()=>{},"send")};return new y0({transport:r})}x(sS,"mockChannel");var nS=class{constructor(){this.getChannel=x(()=>{if(!this.channel){let e=sS();return this.setChannel(e),e}return this.channel},"getChannel"),this.ready=x(()=>this.promise,"ready"),this.hasChannel=x(()=>!!this.channel,"hasChannel"),this.setChannel=x(e=>{this.channel=e,this.resolve()},"setChannel"),this.promise=new Promise(e=>{this.resolve=()=>e(this.getChannel())})}};x(nS,"AddonStore");var lj=nS,vh="__STORYBOOK_ADDONS_PREVIEW";function oS(){return it[vh]||(it[vh]=new lj),it[vh]}x(oS,"getAddonsStore");var ri=oS(),aS=class{constructor(){this.hookListsMap=void 0,this.mountedDecorators=void 0,this.prevMountedDecorators=void 0,this.currentHooks=void 0,this.nextHookIndex=void 0,this.currentPhase=void 0,this.currentEffects=void 0,this.prevEffects=void 0,this.currentDecoratorName=void 0,this.hasUpdates=void 0,this.currentContext=void 0,this.renderListener=x(e=>{e===this.currentContext?.id&&(this.triggerEffects(),this.currentContext=null,this.removeRenderListeners())},"renderListener"),this.init()}init(){this.hookListsMap=new WeakMap,this.mountedDecorators=new Set,this.prevMountedDecorators=new Set,this.currentHooks=[],this.nextHookIndex=0,this.currentPhase="NONE",this.currentEffects=[],this.prevEffects=[],this.currentDecoratorName=null,this.hasUpdates=!1,this.currentContext=null}clean(){this.prevEffects.forEach(e=>{e.destroy&&e.destroy()}),this.init(),this.removeRenderListeners()}getNextHook(){let e=this.currentHooks[this.nextHookIndex];return this.nextHookIndex+=1,e}triggerEffects(){this.prevEffects.forEach(e=>{!this.currentEffects.includes(e)&&e.destroy&&e.destroy()}),this.currentEffects.forEach(e=>{this.prevEffects.includes(e)||(e.destroy=e.create())}),this.prevEffects=this.currentEffects,this.currentEffects=[]}addRenderListeners(){this.removeRenderListeners(),ri.getChannel().on(hn,this.renderListener)}removeRenderListeners(){ri.getChannel().removeListener(hn,this.renderListener)}};x(aS,"HooksContext");var lS=aS;function Ih(r){let e=x((...t)=>{let{hooks:i}=typeof t[0]=="function"?t[1]:t[0],s=i.currentPhase,n=i.currentHooks,o=i.nextHookIndex,a=i.currentDecoratorName;i.currentDecoratorName=r.name,i.prevMountedDecorators.has(r)?(i.currentPhase="UPDATE",i.currentHooks=i.hookListsMap.get(r)||[]):(i.currentPhase="MOUNT",i.currentHooks=[],i.hookListsMap.set(r,i.currentHooks),i.prevMountedDecorators.add(r)),i.nextHookIndex=0;let l=it.STORYBOOK_HOOKS_CONTEXT;it.STORYBOOK_HOOKS_CONTEXT=i;let u=r(...t);if(it.STORYBOOK_HOOKS_CONTEXT=l,i.currentPhase==="UPDATE"&&i.getNextHook()!=null)throw new Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return i.currentPhase=s,i.currentHooks=n,i.nextHookIndex=o,i.currentDecoratorName=a,u},"hookified");return e.originalFn=r,e}x(Ih,"hookify");var Sh=0,uj=25,cj=x(r=>(e,t)=>{let i=r(Ih(e),t.map(s=>Ih(s)));return s=>{let{hooks:n}=s;n.prevMountedDecorators??=new Set,n.mountedDecorators=new Set([e,...t]),n.currentContext=s,n.hasUpdates=!1;let o=i(s);for(Sh=1;n.hasUpdates;)if(n.hasUpdates=!1,n.currentEffects=[],o=i(s),Sh+=1,Sh>uj)throw new Error("Too many re-renders. Storybook limits the number of renders to prevent an infinite loop.");return n.addRenderListeners(),o}},"applyHooks"),hj=x((r,e)=>r.length===e.length&&r.every((t,i)=>t===e[i]),"areDepsEqual"),sd=x(()=>new Error("Storybook preview hooks can only be called inside decorators and story functions."),"invalidHooksError");function nd(){return it.STORYBOOK_HOOKS_CONTEXT||null}x(nd,"getHooksContextOrNull");function Va(){let r=nd();if(r==null)throw sd();return r}x(Va,"getHooksContextOrThrow");function uS(r,e,t){let i=Va();if(i.currentPhase==="MOUNT"){t!=null&&!Array.isArray(t)&&Pe.warn(`${r} received a final argument that is not an array (instead, received ${t}). When specified, the final argument must be an array.`);let s={name:r,deps:t};return i.currentHooks.push(s),e(s),s}if(i.currentPhase==="UPDATE"){let s=i.getNextHook();if(s==null)throw new Error("Rendered more hooks than during the previous render.");return s.name!==r&&Pe.warn(`Storybook has detected a change in the order of Hooks${i.currentDecoratorName?` called by ${i.currentDecoratorName}`:""}. This will lead to bugs and errors if not fixed.`),t!=null&&s.deps==null&&Pe.warn(`${r} received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.`),t!=null&&s.deps!=null&&t.length!==s.deps.length&&Pe.warn(`The final argument passed to ${r} changed size between renders. The order and size of this array must remain constant. Previous: ${s.deps} -Incoming: ${t}`),(t==null||s.deps==null||!cj(t,s.deps))&&(e(s),s.deps=t),s}throw sd()}x(uS,"useHook");function vn(r,e,t){let{memoizedState:i}=uS(r,s=>{s.memoizedState=e()},t);return i}x(vn,"useMemoLike");function hj(r,e){return vn("useMemo",r,e)}x(hj,"useMemo");function gn(r,e){return vn("useCallback",()=>r,e)}x(gn,"useCallback");function od(r,e){return vn(r,()=>({current:e}),[])}x(od,"useRefLike");function dj(r){return od("useRef",r)}x(dj,"useRef");function cS(){let r=nd();if(r!=null&&r.currentPhase!=="NONE")r.hasUpdates=!0;else try{ri.getChannel().emit(Ra)}catch{Pe.warn("State updates of Storybook preview hooks work only in browser")}}x(cS,"triggerUpdate");function ad(r,e){let t=od(r,typeof e=="function"?e():e),i=x(s=>{t.current=typeof s=="function"?s(t.current):s,cS()},"setState");return[t.current,i]}x(ad,"useStateLike");function pj(r){return ad("useState",r)}x(pj,"useState");function fj(r,e,t){let i=t!=null?()=>t(e):e,[s,n]=ad("useReducer",i);return[s,x(o=>n(a=>r(a,o)),"dispatch")]}x(fj,"useReducer");function hS(r,e){let t=Va(),i=vn("useEffect",()=>({create:r}),e);t.currentEffects.includes(i)||t.currentEffects.push(i)}x(hS,"useEffect");function gj(r,e=[]){let t=ri.getChannel();return hS(()=>(Object.entries(r).forEach(([i,s])=>t.on(i,s)),()=>{Object.entries(r).forEach(([i,s])=>t.removeListener(i,s))}),[...Object.keys(r),...e]),gn(t.emit.bind(t),[t])}x(gj,"useChannel");function Ga(){let{currentContext:r}=Va();if(r==null)throw sd();return r}x(Ga,"useStoryContext");function mj(r,e){let{parameters:t}=Ga();if(r)return t[r]??e}x(mj,"useParameter");function _j(){let r=ri.getChannel(),{id:e,args:t}=Ga(),i=gn(n=>r.emit(dn,{storyId:e,updatedArgs:n}),[r,e]),s=gn(n=>r.emit(cn,{storyId:e,argNames:n}),[r,e]);return[t,i,s]}x(_j,"useArgs");function yj(){let r=ri.getChannel(),{globals:e}=Ga(),t=gn(i=>r.emit(Pa,{globals:i}),[r]);return[e,t]}x(yj,"useGlobals");var Tke=x(({name:r,parameterName:e,wrapper:t,skipIfNoParametersOrOptions:i=!1})=>{let s=x(n=>(o,a)=>{let l=a.parameters&&a.parameters[e];return l&&l.disable||i&&!n&&!l?o(a):t(o,a,{options:n,parameters:l})},"decorator");return(...n)=>typeof n[0]=="function"?s()(...n):(...o)=>{if(o.length>1)return n.length>1?s(n)(...o):s(...n)(...o);throw new Error(`Passing stories directly into ${r}() is not allowed, - instead use addDecorator(${r}) and pass options with the '${e}' parameter`)}},"makeDecorator"),xj=bt($a(),1),pv=bt(R3(),1),wh=bt(Jv(),1),fv=Object.prototype.hasOwnProperty;function Rh(r,e,t){for(t of r.keys())if(qi(t,e))return t}x(Rh,"find");function qi(r,e){var t,i,s;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((i=r.length)===e.length)for(;i--&&qi(r[i],e[i]););return i===-1}if(t===Set){if(r.size!==e.size)return!1;for(i of r)if(s=i,s&&typeof s=="object"&&(s=Rh(e,s),!s)||!e.has(s))return!1;return!0}if(t===Map){if(r.size!==e.size)return!1;for(i of r)if(s=i[0],s&&typeof s=="object"&&(s=Rh(e,s),!s)||!qi(i[1],e.get(s)))return!1;return!0}if(t===ArrayBuffer)r=new Uint8Array(r),e=new Uint8Array(e);else if(t===DataView){if((i=r.byteLength)===e.byteLength)for(;i--&&r.getInt8(i)===e.getInt8(i););return i===-1}if(ArrayBuffer.isView(r)){if((i=r.byteLength)===e.byteLength)for(;i--&&r[i]===e[i];);return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(fv.call(r,t)&&++i&&!fv.call(e,t)||!(t in e)||!qi(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}x(qi,"dequal");var Ba=bt(Zh(),1);function Nt(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=Array.from(typeof r=="string"?[r]:r);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var s=i.reduce(function(a,l){var u=l.match(/\n([\t ]+|(?!\s).)/g);return u?a.concat(u.map(function(c){var g,m;return(m=(g=c.match(/[\t ]/g))===null||g===void 0?void 0:g.length)!==null&&m!==void 0?m:0})):a},[]);if(s.length){var n=new RegExp(` +Incoming: ${t}`),(t==null||s.deps==null||!hj(t,s.deps))&&(e(s),s.deps=t),s}throw sd()}x(uS,"useHook");function vn(r,e,t){let{memoizedState:i}=uS(r,s=>{s.memoizedState=e()},t);return i}x(vn,"useMemoLike");function dj(r,e){return vn("useMemo",r,e)}x(dj,"useMemo");function gn(r,e){return vn("useCallback",()=>r,e)}x(gn,"useCallback");function od(r,e){return vn(r,()=>({current:e}),[])}x(od,"useRefLike");function pj(r){return od("useRef",r)}x(pj,"useRef");function cS(){let r=nd();if(r!=null&&r.currentPhase!=="NONE")r.hasUpdates=!0;else try{ri.getChannel().emit(Ra)}catch{Pe.warn("State updates of Storybook preview hooks work only in browser")}}x(cS,"triggerUpdate");function ad(r,e){let t=od(r,typeof e=="function"?e():e),i=x(s=>{t.current=typeof s=="function"?s(t.current):s,cS()},"setState");return[t.current,i]}x(ad,"useStateLike");function fj(r){return ad("useState",r)}x(fj,"useState");function gj(r,e,t){let i=t!=null?()=>t(e):e,[s,n]=ad("useReducer",i);return[s,x(o=>n(a=>r(a,o)),"dispatch")]}x(gj,"useReducer");function hS(r,e){let t=Va(),i=vn("useEffect",()=>({create:r}),e);t.currentEffects.includes(i)||t.currentEffects.push(i)}x(hS,"useEffect");function mj(r,e=[]){let t=ri.getChannel();return hS(()=>(Object.entries(r).forEach(([i,s])=>t.on(i,s)),()=>{Object.entries(r).forEach(([i,s])=>t.removeListener(i,s))}),[...Object.keys(r),...e]),gn(t.emit.bind(t),[t])}x(mj,"useChannel");function Ga(){let{currentContext:r}=Va();if(r==null)throw sd();return r}x(Ga,"useStoryContext");function _j(r,e){let{parameters:t}=Ga();if(r)return t[r]??e}x(_j,"useParameter");function yj(){let r=ri.getChannel(),{id:e,args:t}=Ga(),i=gn(n=>r.emit(dn,{storyId:e,updatedArgs:n}),[r,e]),s=gn(n=>r.emit(cn,{storyId:e,argNames:n}),[r,e]);return[t,i,s]}x(yj,"useArgs");function xj(){let r=ri.getChannel(),{globals:e}=Ga(),t=gn(i=>r.emit(Pa,{globals:i}),[r]);return[e,t]}x(xj,"useGlobals");var Cke=x(({name:r,parameterName:e,wrapper:t,skipIfNoParametersOrOptions:i=!1})=>{let s=x(n=>(o,a)=>{let l=a.parameters&&a.parameters[e];return l&&l.disable||i&&!n&&!l?o(a):t(o,a,{options:n,parameters:l})},"decorator");return(...n)=>typeof n[0]=="function"?s()(...n):(...o)=>{if(o.length>1)return n.length>1?s(n)(...o):s(...n)(...o);throw new Error(`Passing stories directly into ${r}() is not allowed, + instead use addDecorator(${r}) and pass options with the '${e}' parameter`)}},"makeDecorator"),bj=bt($a(),1),pv=bt(P3(),1),wh=bt(Jv(),1),fv=Object.prototype.hasOwnProperty;function Rh(r,e,t){for(t of r.keys())if(qi(t,e))return t}x(Rh,"find");function qi(r,e){var t,i,s;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((i=r.length)===e.length)for(;i--&&qi(r[i],e[i]););return i===-1}if(t===Set){if(r.size!==e.size)return!1;for(i of r)if(s=i,s&&typeof s=="object"&&(s=Rh(e,s),!s)||!e.has(s))return!1;return!0}if(t===Map){if(r.size!==e.size)return!1;for(i of r)if(s=i[0],s&&typeof s=="object"&&(s=Rh(e,s),!s)||!qi(i[1],e.get(s)))return!1;return!0}if(t===ArrayBuffer)r=new Uint8Array(r),e=new Uint8Array(e);else if(t===DataView){if((i=r.byteLength)===e.byteLength)for(;i--&&r.getInt8(i)===e.getInt8(i););return i===-1}if(ArrayBuffer.isView(r)){if((i=r.byteLength)===e.byteLength)for(;i--&&r[i]===e[i];);return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(fv.call(r,t)&&++i&&!fv.call(e,t)||!(t in e)||!qi(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}x(qi,"dequal");var Ba=bt(Zh(),1);function Nt(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=Array.from(typeof r=="string"?[r]:r);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var s=i.reduce(function(a,l){var u=l.match(/\n([\t ]+|(?!\s).)/g);return u?a.concat(u.map(function(c){var g,m;return(m=(g=c.match(/[\t ]/g))===null||g===void 0?void 0:g.length)!==null&&m!==void 0?m:0})):a},[]);if(s.length){var n=new RegExp(` [ ]{`+Math.min.apply(Math,s)+"}","g");i=i.map(function(a){return a.replace(n,` `)})}i[0]=i[0].replace(/^\r?\n/,"");var o=i[0];return e.forEach(function(a,l){var u=o.match(/(?:^|\n)( *)$/),c=u?u[1]:"",g=a;typeof a=="string"&&a.includes(` `)&&(g=String(a).split(` `).map(function(m,y){return y===0?m:""+c+m}).join(` -`)),o+=g+i[l+1]}),o}x(Nt,"dedent");var Hi=Symbol("incompatible"),Ph=x((r,e)=>{let t=e.type;if(r==null||!t||e.mapping)return r;switch(t.name){case"string":return String(r);case"enum":return r;case"number":return Number(r);case"boolean":return String(r)==="true";case"array":return!t.value||!Array.isArray(r)?Hi:r.reduce((i,s,n)=>{let o=Ph(s,{type:t.value});return o!==Hi&&(i[n]=o),i},new Array(r.length));case"object":return typeof r=="string"||typeof r=="number"?r:!t.value||typeof r!="object"?Hi:Object.entries(r).reduce((i,[s,n])=>{let o=Ph(n,{type:t.value[s]});return o===Hi?i:Object.assign(i,{[s]:o})},{});default:return Hi}},"map"),bj=x((r,e)=>Object.entries(r).reduce((t,[i,s])=>{if(!e[i])return t;let n=Ph(s,e[i]);return n===Hi?t:Object.assign(t,{[i]:n})},{}),"mapArgsToTypes"),kh=x((r,e)=>Array.isArray(r)&&Array.isArray(e)?e.reduce((t,i,s)=>(t[s]=kh(r[s],e[s]),t),[...r]).filter(t=>t!==void 0):!(0,Ba.default)(r)||!(0,Ba.default)(e)?e:Object.keys({...r,...e}).reduce((t,i)=>{if(i in e){let s=kh(r[i],e[i]);s!==void 0&&(t[i]=s)}else t[i]=r[i];return t},{}),"combineArgs"),vj=x((r,e)=>Object.entries(e).reduce((t,[i,{options:s}])=>{function n(){return i in r&&(t[i]=r[i]),t}if(x(n,"allowArg"),!s)return n();if(!Array.isArray(s))return Br.error(Nt` +`)),o+=g+i[l+1]}),o}x(Nt,"dedent");var Hi=Symbol("incompatible"),Ph=x((r,e)=>{let t=e.type;if(r==null||!t||e.mapping)return r;switch(t.name){case"string":return String(r);case"enum":return r;case"number":return Number(r);case"boolean":return String(r)==="true";case"array":return!t.value||!Array.isArray(r)?Hi:r.reduce((i,s,n)=>{let o=Ph(s,{type:t.value});return o!==Hi&&(i[n]=o),i},new Array(r.length));case"object":return typeof r=="string"||typeof r=="number"?r:!t.value||typeof r!="object"?Hi:Object.entries(r).reduce((i,[s,n])=>{let o=Ph(n,{type:t.value[s]});return o===Hi?i:Object.assign(i,{[s]:o})},{});default:return Hi}},"map"),vj=x((r,e)=>Object.entries(r).reduce((t,[i,s])=>{if(!e[i])return t;let n=Ph(s,e[i]);return n===Hi?t:Object.assign(t,{[i]:n})},{}),"mapArgsToTypes"),kh=x((r,e)=>Array.isArray(r)&&Array.isArray(e)?e.reduce((t,i,s)=>(t[s]=kh(r[s],e[s]),t),[...r]).filter(t=>t!==void 0):!(0,Ba.default)(r)||!(0,Ba.default)(e)?e:Object.keys({...r,...e}).reduce((t,i)=>{if(i in e){let s=kh(r[i],e[i]);s!==void 0&&(t[i]=s)}else t[i]=r[i];return t},{}),"combineArgs"),Sj=x((r,e)=>Object.entries(e).reduce((t,[i,{options:s}])=>{function n(){return i in r&&(t[i]=r[i]),t}if(x(n,"allowArg"),!s)return n();if(!Array.isArray(s))return Br.error(Nt` Invalid argType: '${i}.options' should be an array. More info: https://storybook.js.org/docs/react/api/argtypes @@ -1282,24 +1282,24 @@ Incoming: ${t}`),(t==null||s.deps==null||!cj(t,s.deps))&&(e(s),s.deps=t),s}throw Invalid argType: '${i}.options' should only contain primitives. Use a 'mapping' for complex values. More info: https://storybook.js.org/docs/react/writing-stories/args#mapping-to-complex-arg-values - `),n();let o=Array.isArray(r[i]),a=o&&r[i].findIndex(g=>!s.includes(g)),l=o&&a===-1;if(r[i]===void 0||s.includes(r[i])||l)return n();let u=o?`${i}[${a}]`:i,c=s.map(g=>typeof g=="string"?`'${g}'`:String(g)).join(", ");return Br.warn(`Received illegal value for '${u}'. Supported options: ${c}`),t},{}),"validateOptions"),pn=Symbol("Deeply equal"),Ma=x((r,e)=>{if(typeof r!=typeof e)return e;if(qi(r,e))return pn;if(Array.isArray(r)&&Array.isArray(e)){let t=e.reduce((i,s,n)=>{let o=Ma(r[n],s);return o!==pn&&(i[n]=o),i},new Array(e.length));return e.length>=r.length?t:t.concat(new Array(r.length-e.length).fill(void 0))}return(0,Ba.default)(r)&&(0,Ba.default)(e)?Object.keys({...r,...e}).reduce((t,i)=>{let s=Ma(r?.[i],e?.[i]);return s===pn?t:Object.assign(t,{[i]:s})},{}):e},"deepDiff"),dS="UNTARGETED";function pS({args:r,argTypes:e}){let t={};return Object.entries(r).forEach(([i,s])=>{let{target:n=dS}=e[i]||{};t[n]=t[n]||{},t[n][i]=s}),t}x(pS,"groupArgsByTarget");function fS(r){return Object.keys(r).forEach(e=>r[e]===void 0&&delete r[e]),r}x(fS,"deleteUndefined");var gS=class{constructor(){this.initialArgsByStoryId={},this.argsByStoryId={}}get(e){if(!(e in this.argsByStoryId))throw new Error(`No args known for ${e} -- has it been rendered yet?`);return this.argsByStoryId[e]}setInitial(e){if(!this.initialArgsByStoryId[e.id])this.initialArgsByStoryId[e.id]=e.initialArgs,this.argsByStoryId[e.id]=e.initialArgs;else if(this.initialArgsByStoryId[e.id]!==e.initialArgs){let t=Ma(this.initialArgsByStoryId[e.id],this.argsByStoryId[e.id]);this.initialArgsByStoryId[e.id]=e.initialArgs,this.argsByStoryId[e.id]=e.initialArgs,t!==pn&&this.updateFromDelta(e,t)}}updateFromDelta(e,t){let i=vj(t,e.argTypes);this.argsByStoryId[e.id]=kh(this.argsByStoryId[e.id],i)}updateFromPersisted(e,t){let i=bj(t,e.argTypes);return this.updateFromDelta(e,i)}update(e,t){if(!(e in this.argsByStoryId))throw new Error(`No args known for ${e} -- has it been rendered yet?`);this.argsByStoryId[e]=fS({...this.argsByStoryId[e],...t})}};x(gS,"ArgsStore");var Sj=gS,mS=x((r={})=>Object.entries(r).reduce((e,[t,{defaultValue:i}])=>(typeof i<"u"&&(e[t]=i),e),{}),"getValuesFromArgTypes"),_S=class{constructor({globals:e={},globalTypes:t={}}){this.set({globals:e,globalTypes:t})}set({globals:e={},globalTypes:t={}}){let i=this.initialGlobals&&Ma(this.initialGlobals,this.globals);this.allowedGlobalNames=new Set([...Object.keys(e),...Object.keys(t)]);let s=mS(t);this.initialGlobals={...s,...e},this.globals=this.initialGlobals,i&&i!==pn&&this.updateFromPersisted(i)}filterAllowedGlobals(e){return Object.entries(e).reduce((t,[i,s])=>(this.allowedGlobalNames.has(i)?t[i]=s:Pe.warn(`Attempted to set a global (${i}) that is not defined in initial globals or globalTypes`),t),{})}updateFromPersisted(e){let t=this.filterAllowedGlobals(e);this.globals={...this.globals,...t}}get(){return this.globals}update(e){this.globals={...this.globals,...this.filterAllowedGlobals(e)}}};x(_S,"GlobalsStore");var wj=_S,Tj=bt(Jv(),1),Cj=(0,Tj.default)(1)(r=>Object.values(r).reduce((e,t)=>(e[t.importPath]=e[t.importPath]||t,e),{})),yS=class{constructor({entries:e}={v:5,entries:{}}){this.entries=e}entryFromSpecifier(e){let t=Object.values(this.entries);if(e==="*")return t[0];if(typeof e=="string")return this.entries[e]?this.entries[e]:t.find(n=>n.id.startsWith(e));let{name:i,title:s}=e;return t.find(n=>n.name===i&&n.title===s)}storyIdToEntry(e){let t=this.entries[e];if(!t)throw new U0({storyId:e});return t}importPathToEntry(e){return Cj(this.entries)[e]}};x(yS,"StoryIndexStore");var Aj=yS,Ej=bt($a(),1),Ij=x(r=>typeof r=="string"?{name:r}:r,"normalizeType"),Rj=x(r=>typeof r=="string"?{type:r}:r,"normalizeControl"),Pj=x((r,e)=>{let{type:t,control:i,...s}=r,n={name:e,...s};return t&&(n.type=Ij(t)),i?n.control=Rj(i):i===!1&&(n.control={disable:!0}),n},"normalizeInputType"),Na=x(r=>(0,Ej.default)(r,Pj),"normalizeInputTypes"),Xe=x(r=>Array.isArray(r)?r:r?[r]:[],"normalizeArrays"),kj=Nt` + `),n();let o=Array.isArray(r[i]),a=o&&r[i].findIndex(g=>!s.includes(g)),l=o&&a===-1;if(r[i]===void 0||s.includes(r[i])||l)return n();let u=o?`${i}[${a}]`:i,c=s.map(g=>typeof g=="string"?`'${g}'`:String(g)).join(", ");return Br.warn(`Received illegal value for '${u}'. Supported options: ${c}`),t},{}),"validateOptions"),pn=Symbol("Deeply equal"),Ma=x((r,e)=>{if(typeof r!=typeof e)return e;if(qi(r,e))return pn;if(Array.isArray(r)&&Array.isArray(e)){let t=e.reduce((i,s,n)=>{let o=Ma(r[n],s);return o!==pn&&(i[n]=o),i},new Array(e.length));return e.length>=r.length?t:t.concat(new Array(r.length-e.length).fill(void 0))}return(0,Ba.default)(r)&&(0,Ba.default)(e)?Object.keys({...r,...e}).reduce((t,i)=>{let s=Ma(r?.[i],e?.[i]);return s===pn?t:Object.assign(t,{[i]:s})},{}):e},"deepDiff"),dS="UNTARGETED";function pS({args:r,argTypes:e}){let t={};return Object.entries(r).forEach(([i,s])=>{let{target:n=dS}=e[i]||{};t[n]=t[n]||{},t[n][i]=s}),t}x(pS,"groupArgsByTarget");function fS(r){return Object.keys(r).forEach(e=>r[e]===void 0&&delete r[e]),r}x(fS,"deleteUndefined");var gS=class{constructor(){this.initialArgsByStoryId={},this.argsByStoryId={}}get(e){if(!(e in this.argsByStoryId))throw new Error(`No args known for ${e} -- has it been rendered yet?`);return this.argsByStoryId[e]}setInitial(e){if(!this.initialArgsByStoryId[e.id])this.initialArgsByStoryId[e.id]=e.initialArgs,this.argsByStoryId[e.id]=e.initialArgs;else if(this.initialArgsByStoryId[e.id]!==e.initialArgs){let t=Ma(this.initialArgsByStoryId[e.id],this.argsByStoryId[e.id]);this.initialArgsByStoryId[e.id]=e.initialArgs,this.argsByStoryId[e.id]=e.initialArgs,t!==pn&&this.updateFromDelta(e,t)}}updateFromDelta(e,t){let i=Sj(t,e.argTypes);this.argsByStoryId[e.id]=kh(this.argsByStoryId[e.id],i)}updateFromPersisted(e,t){let i=vj(t,e.argTypes);return this.updateFromDelta(e,i)}update(e,t){if(!(e in this.argsByStoryId))throw new Error(`No args known for ${e} -- has it been rendered yet?`);this.argsByStoryId[e]=fS({...this.argsByStoryId[e],...t})}};x(gS,"ArgsStore");var wj=gS,mS=x((r={})=>Object.entries(r).reduce((e,[t,{defaultValue:i}])=>(typeof i<"u"&&(e[t]=i),e),{}),"getValuesFromArgTypes"),_S=class{constructor({globals:e={},globalTypes:t={}}){this.set({globals:e,globalTypes:t})}set({globals:e={},globalTypes:t={}}){let i=this.initialGlobals&&Ma(this.initialGlobals,this.globals);this.allowedGlobalNames=new Set([...Object.keys(e),...Object.keys(t)]);let s=mS(t);this.initialGlobals={...s,...e},this.globals=this.initialGlobals,i&&i!==pn&&this.updateFromPersisted(i)}filterAllowedGlobals(e){return Object.entries(e).reduce((t,[i,s])=>(this.allowedGlobalNames.has(i)?t[i]=s:Pe.warn(`Attempted to set a global (${i}) that is not defined in initial globals or globalTypes`),t),{})}updateFromPersisted(e){let t=this.filterAllowedGlobals(e);this.globals={...this.globals,...t}}get(){return this.globals}update(e){this.globals={...this.globals,...this.filterAllowedGlobals(e)}}};x(_S,"GlobalsStore");var Tj=_S,Cj=bt(Jv(),1),Aj=(0,Cj.default)(1)(r=>Object.values(r).reduce((e,t)=>(e[t.importPath]=e[t.importPath]||t,e),{})),yS=class{constructor({entries:e}={v:5,entries:{}}){this.entries=e}entryFromSpecifier(e){let t=Object.values(this.entries);if(e==="*")return t[0];if(typeof e=="string")return this.entries[e]?this.entries[e]:t.find(n=>n.id.startsWith(e));let{name:i,title:s}=e;return t.find(n=>n.name===i&&n.title===s)}storyIdToEntry(e){let t=this.entries[e];if(!t)throw new U0({storyId:e});return t}importPathToEntry(e){return Aj(this.entries)[e]}};x(yS,"StoryIndexStore");var Ej=yS,Ij=bt($a(),1),Rj=x(r=>typeof r=="string"?{name:r}:r,"normalizeType"),Pj=x(r=>typeof r=="string"?{type:r}:r,"normalizeControl"),kj=x((r,e)=>{let{type:t,control:i,...s}=r,n={name:e,...s};return t&&(n.type=Rj(t)),i?n.control=Pj(i):i===!1&&(n.control={disable:!0}),n},"normalizeInputType"),Na=x(r=>(0,Ij.default)(r,kj),"normalizeInputTypes"),Xe=x(r=>Array.isArray(r)?r:r?[r]:[],"normalizeArrays"),Oj=Nt` CSF .story annotations deprecated; annotate story functions directly: - StoryFn.story.name => StoryFn.storyName - StoryFn.story.(parameters|decorators) => StoryFn.(parameters|decorators) See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations for details and codemod. -`;function ld(r,e,t){let i=e,s=typeof e=="function"?e:null,{story:n}=i;n&&(Pe.debug("deprecated story",n),hr(kj));let o=xg(r),a=typeof i!="function"&&i.name||i.storyName||n?.name||o,l=[...Xe(i.decorators),...Xe(n?.decorators)],u={...n?.parameters,...i.parameters},c={...n?.args,...i.args},g={...n?.argTypes,...i.argTypes},m=[...Xe(i.loaders),...Xe(n?.loaders)],y=[...Xe(i.beforeEach),...Xe(n?.beforeEach)],{render:b,play:C,tags:A=[],globals:T={}}=i,R=u.__id||yg(t.id,o);return{moduleExport:e,id:R,name:a,tags:A,decorators:l,parameters:u,args:c,argTypes:Na(g),loaders:m,beforeEach:y,globals:T,...b&&{render:b},...s&&{userStoryFn:s},...C&&{play:C}}}x(ld,"normalizeStory");function ud(r,e=r.title,t){let{id:i,argTypes:s}=r;return{id:Rc(i||e),...r,title:e,...s&&{argTypes:Na(s)},parameters:{fileName:t,...r.parameters}}}x(ud,"normalizeComponentAnnotations");var Oj=x(r=>{let{globals:e,globalTypes:t}=r;(e||t)&&Pe.error("Global args/argTypes can only be set globally",JSON.stringify({globals:e,globalTypes:t}))},"checkGlobals"),Lj=x(r=>{let{options:e}=r;e?.storySort&&Pe.error("The storySort option parameter can only be set globally")},"checkStorySort"),gv=x(r=>{r&&(Oj(r),Lj(r))},"checkDisallowedParameters");function xS(r,e,t){let{default:i,__namedExportsOrder:s,...n}=r,o=ud(i,t,e);gv(o.parameters);let a={meta:o,stories:{},moduleExports:r};return Object.keys(n).forEach(l=>{if(oa(l,o)){let u=ld(l,n[l],o);gv(u.parameters),a.stories[u.id]=u}}),a}x(xS,"processCSFFile");function bS(r){return r!=null&&vS(r).includes("mount")}x(bS,"mountDestructured");function vS(r){let e=r.toString().match(/[^(]*\(([^)]*)/);if(!e)return[];let t=Oh(e[1]);if(!t.length)return[];let i=t[0];return i.startsWith("{")&&i.endsWith("}")?Oh(i.slice(1,-1).replace(/\s/g,"")).map(s=>s.replace(/:.*|=.*/g,"")):[]}x(vS,"getUsedProps");function Oh(r){let e=[],t=[],i=0;for(let n=0;n<r.length;n++)if(r[n]==="{"||r[n]==="[")t.push(r[n]==="{"?"}":"]");else if(r[n]===t[t.length-1])t.pop();else if(!t.length&&r[n]===","){let o=r.substring(i,n).trim();o&&e.push(o),i=n+1}let s=r.substring(i).trim();return s&&e.push(s),e}x(Oh,"splitByComma");function SS(r,e,t){let i=t(r);return s=>e(i,s)}x(SS,"decorateStory");function wS({componentId:r,title:e,kind:t,id:i,name:s,story:n,parameters:o,initialArgs:a,argTypes:l,...u}={}){return u}x(wS,"sanitizeStoryContextUpdate");function TS(r,e){let t={},i=x(n=>o=>{if(!t.value)throw new Error("Decorated function called without init");return t.value={...t.value,...wS(o)},n(t.value)},"bindWithContext"),s=e.reduce((n,o)=>SS(n,o,i),r);return n=>(t.value=n,s(n))}x(TS,"defaultDecorateStory");var Th=bt(Zh(),1),pr=x((...r)=>{let e={},t=r.filter(Boolean),i=t.reduce((s,n)=>(Object.entries(n).forEach(([o,a])=>{let l=s[o];Array.isArray(a)||typeof l>"u"?s[o]=a:(0,Th.default)(a)&&(0,Th.default)(l)?e[o]=!0:typeof a<"u"&&(s[o]=a)}),s),{});return Object.keys(e).forEach(s=>{let n=t.filter(Boolean).map(o=>o[s]).filter(o=>typeof o<"u");n.every(o=>(0,Th.default)(o))?i[s]=pr(...n):i[s]=n[n.length-1]}),i},"combineParameters");function cd(r,e,t){let{moduleExport:i,id:s,name:n}=r||{},o=hd(r,e,t),a=x(async k=>{let O={};for(let B of[..."__STORYBOOK_TEST_LOADERS__"in it&&Array.isArray(it.__STORYBOOK_TEST_LOADERS__)?[it.__STORYBOOK_TEST_LOADERS__]:[],Xe(t.loaders),Xe(e.loaders),Xe(r.loaders)]){if(k.abortSignal.aborted)return O;let F=await Promise.all(B.map(U=>U(k)));Object.assign(O,...F)}return O},"applyLoaders"),l=x(async k=>{let O=new Array;for(let B of[...Xe(t.beforeEach),...Xe(e.beforeEach),...Xe(r.beforeEach)]){if(k.abortSignal.aborted)return O;let F=await B(k);F&&O.push(F)}return O},"applyBeforeEach"),u=x(k=>k.originalStoryFn(k.args,k),"undecoratedStoryFn"),{applyDecorators:c=TS,runStep:g}=t,m=[...Xe(r?.decorators),...Xe(e?.decorators),...Xe(t?.decorators)],y=r?.userStoryFn||r?.render||e.render||t.render,b=uj(c)(u,m),C=x(k=>b(k),"unboundStoryFn"),A=r?.play??e?.play,T=bS(A);if(!y&&!T)throw new av({id:s});let R=x(k=>async()=>(await k.renderToCanvas(),k.canvas),"defaultMount"),P=r.mount??e.mount??t.mount??R,E=t.testingLibraryRender;return{storyGlobals:{},...o,moduleExport:i,id:s,name:n,story:n,originalStoryFn:y,undecoratedStoryFn:u,unboundStoryFn:C,applyLoaders:a,applyBeforeEach:l,playFunction:A,runStep:g,mount:P,testingLibraryRender:E,renderToCanvas:t.renderToCanvas,usesMount:T}}x(cd,"prepareStory");function CS(r,e,t){return{...hd(void 0,r,e),moduleExport:t}}x(CS,"prepareMeta");function hd(r,e,t){let i=["dev","test"],s=it.DOCS_OPTIONS?.autodocs===!0?["autodocs"]:[],n=bg(...i,...s,...t.tags??[],...e.tags??[],...r?.tags??[]),o=pr(t.parameters,e.parameters,r?.parameters),{argTypesEnhancers:a=[],argsEnhancers:l=[]}=t,u=pr(t.argTypes,e.argTypes,r?.argTypes);if(r){let T=r?.userStoryFn||r?.render||e.render||t.render;o.__isArgsStory=T&&T.length>0}let c={...t.args,...e.args,...r?.args},g={...e.globals,...r?.globals},m={componentId:e.id,title:e.title,kind:e.title,id:r?.id||e.id,name:r?.name||"__meta",story:r?.name||"__meta",component:e.component,subcomponents:e.subcomponents,tags:n,parameters:o,initialArgs:c,argTypes:u,storyGlobals:g};m.argTypes=a.reduce((T,R)=>R({...m,argTypes:T}),m.argTypes);let y={...c};m.initialArgs=l.reduce((T,R)=>({...T,...R({...m,initialArgs:T})}),y);let{name:b,story:C,...A}=m;return A}x(hd,"preparePartialAnnotations");function dd(r){let{args:e}=r,t={...r,allArgs:void 0,argsByTarget:void 0};if(it.FEATURES?.argTypeTargetsV7){let n=pS(r);t={...r,allArgs:r.args,argsByTarget:n,args:n[dS]||{}}}let i=Object.entries(t.args).reduce((n,[o,a])=>{if(!t.argTypes[o]?.mapping)return n[o]=a,n;let l=x(u=>{let c=t.argTypes[o].mapping;return c&&u in c?c[u]:u},"mappingFn");return n[o]=Array.isArray(a)?a.map(l):l(a),n},{}),s=Object.entries(i).reduce((n,[o,a])=>{let l=t.argTypes[o]||{};return Ic(l,i,t.globals)&&(n[o]=a),n},{});return{...t,unmappedArgs:e,args:s}}x(dd,"prepareContext");var Lh=bt($a(),1),Dh=x((r,e,t)=>{let i=typeof r;switch(i){case"boolean":case"string":case"number":case"function":case"symbol":return{name:i};default:break}return r?t.has(r)?(Pe.warn(Nt` +`;function ld(r,e,t){let i=e,s=typeof e=="function"?e:null,{story:n}=i;n&&(Pe.debug("deprecated story",n),hr(Oj));let o=xg(r),a=typeof i!="function"&&i.name||i.storyName||n?.name||o,l=[...Xe(i.decorators),...Xe(n?.decorators)],u={...n?.parameters,...i.parameters},c={...n?.args,...i.args},g={...n?.argTypes,...i.argTypes},m=[...Xe(i.loaders),...Xe(n?.loaders)],y=[...Xe(i.beforeEach),...Xe(n?.beforeEach)],{render:b,play:C,tags:A=[],globals:T={}}=i,R=u.__id||yg(t.id,o);return{moduleExport:e,id:R,name:a,tags:A,decorators:l,parameters:u,args:c,argTypes:Na(g),loaders:m,beforeEach:y,globals:T,...b&&{render:b},...s&&{userStoryFn:s},...C&&{play:C}}}x(ld,"normalizeStory");function ud(r,e=r.title,t){let{id:i,argTypes:s}=r;return{id:Rc(i||e),...r,title:e,...s&&{argTypes:Na(s)},parameters:{fileName:t,...r.parameters}}}x(ud,"normalizeComponentAnnotations");var Lj=x(r=>{let{globals:e,globalTypes:t}=r;(e||t)&&Pe.error("Global args/argTypes can only be set globally",JSON.stringify({globals:e,globalTypes:t}))},"checkGlobals"),Dj=x(r=>{let{options:e}=r;e?.storySort&&Pe.error("The storySort option parameter can only be set globally")},"checkStorySort"),gv=x(r=>{r&&(Lj(r),Dj(r))},"checkDisallowedParameters");function xS(r,e,t){let{default:i,__namedExportsOrder:s,...n}=r,o=ud(i,t,e);gv(o.parameters);let a={meta:o,stories:{},moduleExports:r};return Object.keys(n).forEach(l=>{if(oa(l,o)){let u=ld(l,n[l],o);gv(u.parameters),a.stories[u.id]=u}}),a}x(xS,"processCSFFile");function bS(r){return r!=null&&vS(r).includes("mount")}x(bS,"mountDestructured");function vS(r){let e=r.toString().match(/[^(]*\(([^)]*)/);if(!e)return[];let t=Oh(e[1]);if(!t.length)return[];let i=t[0];return i.startsWith("{")&&i.endsWith("}")?Oh(i.slice(1,-1).replace(/\s/g,"")).map(s=>s.replace(/:.*|=.*/g,"")):[]}x(vS,"getUsedProps");function Oh(r){let e=[],t=[],i=0;for(let n=0;n<r.length;n++)if(r[n]==="{"||r[n]==="[")t.push(r[n]==="{"?"}":"]");else if(r[n]===t[t.length-1])t.pop();else if(!t.length&&r[n]===","){let o=r.substring(i,n).trim();o&&e.push(o),i=n+1}let s=r.substring(i).trim();return s&&e.push(s),e}x(Oh,"splitByComma");function SS(r,e,t){let i=t(r);return s=>e(i,s)}x(SS,"decorateStory");function wS({componentId:r,title:e,kind:t,id:i,name:s,story:n,parameters:o,initialArgs:a,argTypes:l,...u}={}){return u}x(wS,"sanitizeStoryContextUpdate");function TS(r,e){let t={},i=x(n=>o=>{if(!t.value)throw new Error("Decorated function called without init");return t.value={...t.value,...wS(o)},n(t.value)},"bindWithContext"),s=e.reduce((n,o)=>SS(n,o,i),r);return n=>(t.value=n,s(n))}x(TS,"defaultDecorateStory");var Th=bt(Zh(),1),pr=x((...r)=>{let e={},t=r.filter(Boolean),i=t.reduce((s,n)=>(Object.entries(n).forEach(([o,a])=>{let l=s[o];Array.isArray(a)||typeof l>"u"?s[o]=a:(0,Th.default)(a)&&(0,Th.default)(l)?e[o]=!0:typeof a<"u"&&(s[o]=a)}),s),{});return Object.keys(e).forEach(s=>{let n=t.filter(Boolean).map(o=>o[s]).filter(o=>typeof o<"u");n.every(o=>(0,Th.default)(o))?i[s]=pr(...n):i[s]=n[n.length-1]}),i},"combineParameters");function cd(r,e,t){let{moduleExport:i,id:s,name:n}=r||{},o=hd(r,e,t),a=x(async k=>{let O={};for(let B of[..."__STORYBOOK_TEST_LOADERS__"in it&&Array.isArray(it.__STORYBOOK_TEST_LOADERS__)?[it.__STORYBOOK_TEST_LOADERS__]:[],Xe(t.loaders),Xe(e.loaders),Xe(r.loaders)]){if(k.abortSignal.aborted)return O;let F=await Promise.all(B.map(U=>U(k)));Object.assign(O,...F)}return O},"applyLoaders"),l=x(async k=>{let O=new Array;for(let B of[...Xe(t.beforeEach),...Xe(e.beforeEach),...Xe(r.beforeEach)]){if(k.abortSignal.aborted)return O;let F=await B(k);F&&O.push(F)}return O},"applyBeforeEach"),u=x(k=>k.originalStoryFn(k.args,k),"undecoratedStoryFn"),{applyDecorators:c=TS,runStep:g}=t,m=[...Xe(r?.decorators),...Xe(e?.decorators),...Xe(t?.decorators)],y=r?.userStoryFn||r?.render||e.render||t.render,b=cj(c)(u,m),C=x(k=>b(k),"unboundStoryFn"),A=r?.play??e?.play,T=bS(A);if(!y&&!T)throw new av({id:s});let R=x(k=>async()=>(await k.renderToCanvas(),k.canvas),"defaultMount"),P=r.mount??e.mount??t.mount??R,E=t.testingLibraryRender;return{storyGlobals:{},...o,moduleExport:i,id:s,name:n,story:n,originalStoryFn:y,undecoratedStoryFn:u,unboundStoryFn:C,applyLoaders:a,applyBeforeEach:l,playFunction:A,runStep:g,mount:P,testingLibraryRender:E,renderToCanvas:t.renderToCanvas,usesMount:T}}x(cd,"prepareStory");function CS(r,e,t){return{...hd(void 0,r,e),moduleExport:t}}x(CS,"prepareMeta");function hd(r,e,t){let i=["dev","test"],s=it.DOCS_OPTIONS?.autodocs===!0?["autodocs"]:[],n=bg(...i,...s,...t.tags??[],...e.tags??[],...r?.tags??[]),o=pr(t.parameters,e.parameters,r?.parameters),{argTypesEnhancers:a=[],argsEnhancers:l=[]}=t,u=pr(t.argTypes,e.argTypes,r?.argTypes);if(r){let T=r?.userStoryFn||r?.render||e.render||t.render;o.__isArgsStory=T&&T.length>0}let c={...t.args,...e.args,...r?.args},g={...e.globals,...r?.globals},m={componentId:e.id,title:e.title,kind:e.title,id:r?.id||e.id,name:r?.name||"__meta",story:r?.name||"__meta",component:e.component,subcomponents:e.subcomponents,tags:n,parameters:o,initialArgs:c,argTypes:u,storyGlobals:g};m.argTypes=a.reduce((T,R)=>R({...m,argTypes:T}),m.argTypes);let y={...c};m.initialArgs=l.reduce((T,R)=>({...T,...R({...m,initialArgs:T})}),y);let{name:b,story:C,...A}=m;return A}x(hd,"preparePartialAnnotations");function dd(r){let{args:e}=r,t={...r,allArgs:void 0,argsByTarget:void 0};if(it.FEATURES?.argTypeTargetsV7){let n=pS(r);t={...r,allArgs:r.args,argsByTarget:n,args:n[dS]||{}}}let i=Object.entries(t.args).reduce((n,[o,a])=>{if(!t.argTypes[o]?.mapping)return n[o]=a,n;let l=x(u=>{let c=t.argTypes[o].mapping;return c&&u in c?c[u]:u},"mappingFn");return n[o]=Array.isArray(a)?a.map(l):l(a),n},{}),s=Object.entries(i).reduce((n,[o,a])=>{let l=t.argTypes[o]||{};return Ic(l,i,t.globals)&&(n[o]=a),n},{});return{...t,unmappedArgs:e,args:s}}x(dd,"prepareContext");var Lh=bt($a(),1),Dh=x((r,e,t)=>{let i=typeof r;switch(i){case"boolean":case"string":case"number":case"function":case"symbol":return{name:i};default:break}return r?t.has(r)?(Pe.warn(Nt` We've detected a cycle in arg '${e}'. Args should be JSON-serializable. Consider using the mapping feature or fully custom args: - Mapping: https://storybook.js.org/docs/react/writing-stories/args#mapping-to-complex-arg-values - Custom args: https://storybook.js.org/docs/react/essentials/controls#fully-custom-args - `),{name:"other",value:"cyclic object"}):(t.add(r),Array.isArray(r)?{name:"array",value:r.length>0?Dh(r[0],e,new Set(t)):{name:"other",value:"unknown"}}:{name:"object",value:(0,Lh.default)(r,s=>Dh(s,e,new Set(t)))}):{name:"object",value:{}}},"inferType"),AS=x(r=>{let{id:e,argTypes:t={},initialArgs:i={}}=r,s=(0,Lh.default)(i,(o,a)=>({name:a,type:Dh(o,`${e}.${a}`,new Set)})),n=(0,Lh.default)(t,(o,a)=>({name:a}));return pr(s,n,t)},"inferArgTypes");AS.secondPass=!0;var Dj=bt($a(),1),Fj=bt(F3(),1),mv=x((r,e)=>Array.isArray(e)?e.includes(r):r.match(e),"matches"),ES=x((r,e,t)=>!e&&!t?r:r&&(0,Fj.default)(r,(i,s)=>{let n=i.name||s;return(!e||mv(n,e))&&(!t||!mv(n,t))}),"filterArgTypes"),Bj=x((r,e,t)=>{let{type:i,options:s}=r;if(i){if(t.color&&t.color.test(e)){let n=i.name;if(n==="string")return{control:{type:"color"}};n!=="enum"&&Pe.warn(`Addon controls: Control of type color only supports string, received "${n}" instead`)}if(t.date&&t.date.test(e))return{control:{type:"date"}};switch(i.name){case"array":return{control:{type:"object"}};case"boolean":return{control:{type:"boolean"}};case"string":return{control:{type:"text"}};case"number":return{control:{type:"number"}};case"enum":{let{value:n}=i;return{control:{type:n?.length<=5?"radio":"select"},options:n}}case"function":case"symbol":return null;default:return{control:{type:s?"select":"object"}}}}},"inferControl"),IS=x(r=>{let{argTypes:e,parameters:{__isArgsStory:t,controls:{include:i=null,exclude:s=null,matchers:n={}}={}}}=r;if(!t)return e;let o=ES(e,i,s),a=(0,Dj.default)(o,(l,u)=>l?.type&&Bj(l,u,n));return pr(a,o)},"inferControls");IS.secondPass=!0;function za({argTypes:r,globalTypes:e,argTypesEnhancers:t,decorators:i,loaders:s,beforeEach:n,globals:o,initialGlobals:a,...l}){return o&&Object.keys(o).length>0&&hr(Nt` + `),{name:"other",value:"cyclic object"}):(t.add(r),Array.isArray(r)?{name:"array",value:r.length>0?Dh(r[0],e,new Set(t)):{name:"other",value:"unknown"}}:{name:"object",value:(0,Lh.default)(r,s=>Dh(s,e,new Set(t)))}):{name:"object",value:{}}},"inferType"),AS=x(r=>{let{id:e,argTypes:t={},initialArgs:i={}}=r,s=(0,Lh.default)(i,(o,a)=>({name:a,type:Dh(o,`${e}.${a}`,new Set)})),n=(0,Lh.default)(t,(o,a)=>({name:a}));return pr(s,n,t)},"inferArgTypes");AS.secondPass=!0;var Fj=bt($a(),1),Bj=bt(B3(),1),mv=x((r,e)=>Array.isArray(e)?e.includes(r):r.match(e),"matches"),ES=x((r,e,t)=>!e&&!t?r:r&&(0,Bj.default)(r,(i,s)=>{let n=i.name||s;return(!e||mv(n,e))&&(!t||!mv(n,t))}),"filterArgTypes"),Mj=x((r,e,t)=>{let{type:i,options:s}=r;if(i){if(t.color&&t.color.test(e)){let n=i.name;if(n==="string")return{control:{type:"color"}};n!=="enum"&&Pe.warn(`Addon controls: Control of type color only supports string, received "${n}" instead`)}if(t.date&&t.date.test(e))return{control:{type:"date"}};switch(i.name){case"array":return{control:{type:"object"}};case"boolean":return{control:{type:"boolean"}};case"string":return{control:{type:"text"}};case"number":return{control:{type:"number"}};case"enum":{let{value:n}=i;return{control:{type:n?.length<=5?"radio":"select"},options:n}}case"function":case"symbol":return null;default:return{control:{type:s?"select":"object"}}}}},"inferControl"),IS=x(r=>{let{argTypes:e,parameters:{__isArgsStory:t,controls:{include:i=null,exclude:s=null,matchers:n={}}={}}}=r;if(!t)return e;let o=ES(e,i,s),a=(0,Fj.default)(o,(l,u)=>l?.type&&Mj(l,u,n));return pr(a,o)},"inferControls");IS.secondPass=!0;function za({argTypes:r,globalTypes:e,argTypesEnhancers:t,decorators:i,loaders:s,beforeEach:n,globals:o,initialGlobals:a,...l}){return o&&Object.keys(o).length>0&&hr(Nt` The preview.js 'globals' field is deprecated and will be removed in Storybook 9.0. Please use 'initialGlobals' instead. Learn more: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#previewjs-globals-renamed-to-initialglobals - `),{...r&&{argTypes:Na(r)},...e&&{globalTypes:Na(e)},decorators:Xe(i),loaders:Xe(s),beforeEach:Xe(n),argTypesEnhancers:[...t||[],AS,IS],initialGlobals:pr(a,o),...l}}x(za,"normalizeProjectAnnotations");var Mj=x(r=>async()=>{let e=[];for(let t of r){let i=await t();i&&e.unshift(i)}return async()=>{for(let t of e)await t()}},"composeBeforeAllHooks");function RS(r){return async(e,t,i)=>{await r.reduceRight((s,n)=>async()=>n(e,s,i),async()=>t(i))()}}x(RS,"composeStepRunners");function $i(r,e){return r.map(t=>t.default?.[e]??t[e]).filter(Boolean)}x($i,"getField");function Mr(r,e,t={}){return $i(r,e).reduce((i,s)=>{let n=Xe(s);return t.reverseFileOrder?[...n,...i]:[...i,...n]},[])}x(Mr,"getArrayField");function Wi(r,e){return Object.assign({},...$i(r,e))}x(Wi,"getObjectField");function ei(r,e){return $i(r,e).pop()}x(ei,"getSingletonField");function mn(r){let e=Mr(r,"argTypesEnhancers"),t=$i(r,"runStep"),i=Mr(r,"beforeAll");return{parameters:pr(...$i(r,"parameters")),decorators:Mr(r,"decorators",{reverseFileOrder:!(it.FEATURES?.legacyDecoratorFileOrder??!1)}),args:Wi(r,"args"),argsEnhancers:Mr(r,"argsEnhancers"),argTypes:Wi(r,"argTypes"),argTypesEnhancers:[...e.filter(s=>!s.secondPass),...e.filter(s=>s.secondPass)],globals:Wi(r,"globals"),initialGlobals:Wi(r,"initialGlobals"),globalTypes:Wi(r,"globalTypes"),loaders:Mr(r,"loaders"),beforeAll:Mj(i),beforeEach:Mr(r,"beforeEach"),render:ei(r,"render"),renderToCanvas:ei(r,"renderToCanvas"),renderToDOM:ei(r,"renderToDOM"),applyDecorators:ei(r,"applyDecorators"),runStep:RS(t),tags:Mr(r,"tags"),mount:ei(r,"mount"),testingLibraryRender:ei(r,"testingLibraryRender")}}x(mn,"composeConfigs");function Nj(r){globalThis.defaultProjectAnnotations=r}x(Nj,"setDefaultProjectAnnotations");var zj="ComposedStory",jj="Unnamed Story";function PS(r){return r?"default"in r?r.default:r:{}}x(PS,"extractAnnotation");function Uj(r){let e=Array.isArray(r)?r:[r];return globalThis.globalProjectAnnotations=mn(e.map(PS)),mn([globalThis.defaultProjectAnnotations??{},globalThis.globalProjectAnnotations??{}])}x(Uj,"setProjectAnnotations");var Nr=[];function kS(r,e,t,i,s){if(r===void 0)throw new Error("Expected a story but received undefined.");e.title=e.title??zj;let n=ud(e),o=s||r.storyName||r.story?.name||r.name||jj,a=ld(o,r,n),l=za(mn([i&&Object.keys(i).length>0?i:globalThis.defaultProjectAnnotations??{},globalThis.globalProjectAnnotations??{},t??{}])),u=cd(a,n,l),c=mS(l.globalTypes),g=x(()=>{let A=dd({hooks:new lS,globals:{...c,...l.initialGlobals,...u.storyGlobals},args:{...u.initialArgs},viewMode:"story",loaded:{},abortSignal:new AbortController().signal,step:x((T,R)=>u.runStep(T,R,A),"step"),canvasElement:null,canvas:{},globalTypes:l.globalTypes,...u,context:null,mount:null});return A.context=A,u.renderToCanvas&&(A.renderToCanvas=async()=>{let T=await u.renderToCanvas?.({componentId:u.componentId,title:u.title,id:u.id,name:u.name,tags:u.tags,showMain:x(()=>{},"showMain"),showError:x(R=>{throw new Error(`${R.title} -${R.description}`)},"showError"),showException:x(R=>{throw R},"showException"),forceRemount:!0,storyContext:A,storyFn:x(()=>u.unboundStoryFn(A),"storyFn"),unboundStoryFn:u.unboundStoryFn},A.canvasElement);T&&Nr.push(T)}),A.mount=u.mount(A),A},"initializeContext"),m,y=x(async A=>{let T=g();return T.canvasElement??=globalThis?.document?.body,m&&(T.loaded=m.loaded),Object.assign(T,A),u.playFunction(T)},"play"),b=x(A=>{let T=g();return Object.assign(T,A),OS(u,T)},"run"),C=u.playFunction?y:void 0;return Object.assign(x(function(A){let T=g();return m&&(T.loaded=m.loaded),T.args={...T.initialArgs,...A},u.unboundStoryFn(T)},"storyFn"),{id:u.id,storyName:o,load:x(async()=>{for(let T of[...Nr].reverse())await T();Nr.length=0;let A=g();A.loaded=await u.applyLoaders(A),Nr.push(...(await u.applyBeforeEach(A)).filter(Boolean)),m=A},"load"),args:u.initialArgs,parameters:u.parameters,argTypes:u.argTypes,play:C,run:b,tags:u.tags})}x(kS,"composeStory");var Hj=x((r,e,t,i)=>kS(r,e,t,{},i),"defaultComposeStory");function Wj(r,e,t=Hj){let{default:i,__esModule:s,__namedExportsOrder:n,...o}=r;return Object.entries(o).reduce((a,[l,u])=>oa(l,i)?Object.assign(a,{[l]:t(u,i,e,l)}):a,{})}x(Wj,"composeStories");function qj(r){return r.extend({mount:x(async({mount:e,page:t},i)=>{await i(async(s,...n)=>{if(!("__pw_type"in s)||"__pw_type"in s&&s.__pw_type!=="jsx")throw new Error(Nt` + `),{...r&&{argTypes:Na(r)},...e&&{globalTypes:Na(e)},decorators:Xe(i),loaders:Xe(s),beforeEach:Xe(n),argTypesEnhancers:[...t||[],AS,IS],initialGlobals:pr(a,o),...l}}x(za,"normalizeProjectAnnotations");var Nj=x(r=>async()=>{let e=[];for(let t of r){let i=await t();i&&e.unshift(i)}return async()=>{for(let t of e)await t()}},"composeBeforeAllHooks");function RS(r){return async(e,t,i)=>{await r.reduceRight((s,n)=>async()=>n(e,s,i),async()=>t(i))()}}x(RS,"composeStepRunners");function $i(r,e){return r.map(t=>t.default?.[e]??t[e]).filter(Boolean)}x($i,"getField");function Mr(r,e,t={}){return $i(r,e).reduce((i,s)=>{let n=Xe(s);return t.reverseFileOrder?[...n,...i]:[...i,...n]},[])}x(Mr,"getArrayField");function Wi(r,e){return Object.assign({},...$i(r,e))}x(Wi,"getObjectField");function ei(r,e){return $i(r,e).pop()}x(ei,"getSingletonField");function mn(r){let e=Mr(r,"argTypesEnhancers"),t=$i(r,"runStep"),i=Mr(r,"beforeAll");return{parameters:pr(...$i(r,"parameters")),decorators:Mr(r,"decorators",{reverseFileOrder:!(it.FEATURES?.legacyDecoratorFileOrder??!1)}),args:Wi(r,"args"),argsEnhancers:Mr(r,"argsEnhancers"),argTypes:Wi(r,"argTypes"),argTypesEnhancers:[...e.filter(s=>!s.secondPass),...e.filter(s=>s.secondPass)],globals:Wi(r,"globals"),initialGlobals:Wi(r,"initialGlobals"),globalTypes:Wi(r,"globalTypes"),loaders:Mr(r,"loaders"),beforeAll:Nj(i),beforeEach:Mr(r,"beforeEach"),render:ei(r,"render"),renderToCanvas:ei(r,"renderToCanvas"),renderToDOM:ei(r,"renderToDOM"),applyDecorators:ei(r,"applyDecorators"),runStep:RS(t),tags:Mr(r,"tags"),mount:ei(r,"mount"),testingLibraryRender:ei(r,"testingLibraryRender")}}x(mn,"composeConfigs");function zj(r){globalThis.defaultProjectAnnotations=r}x(zj,"setDefaultProjectAnnotations");var jj="ComposedStory",Uj="Unnamed Story";function PS(r){return r?"default"in r?r.default:r:{}}x(PS,"extractAnnotation");function Hj(r){let e=Array.isArray(r)?r:[r];return globalThis.globalProjectAnnotations=mn(e.map(PS)),mn([globalThis.defaultProjectAnnotations??{},globalThis.globalProjectAnnotations??{}])}x(Hj,"setProjectAnnotations");var Nr=[];function kS(r,e,t,i,s){if(r===void 0)throw new Error("Expected a story but received undefined.");e.title=e.title??jj;let n=ud(e),o=s||r.storyName||r.story?.name||r.name||Uj,a=ld(o,r,n),l=za(mn([i&&Object.keys(i).length>0?i:globalThis.defaultProjectAnnotations??{},globalThis.globalProjectAnnotations??{},t??{}])),u=cd(a,n,l),c=mS(l.globalTypes),g=x(()=>{let A=dd({hooks:new lS,globals:{...c,...l.initialGlobals,...u.storyGlobals},args:{...u.initialArgs},viewMode:"story",loaded:{},abortSignal:new AbortController().signal,step:x((T,R)=>u.runStep(T,R,A),"step"),canvasElement:null,canvas:{},globalTypes:l.globalTypes,...u,context:null,mount:null});return A.context=A,u.renderToCanvas&&(A.renderToCanvas=async()=>{let T=await u.renderToCanvas?.({componentId:u.componentId,title:u.title,id:u.id,name:u.name,tags:u.tags,showMain:x(()=>{},"showMain"),showError:x(R=>{throw new Error(`${R.title} +${R.description}`)},"showError"),showException:x(R=>{throw R},"showException"),forceRemount:!0,storyContext:A,storyFn:x(()=>u.unboundStoryFn(A),"storyFn"),unboundStoryFn:u.unboundStoryFn},A.canvasElement);T&&Nr.push(T)}),A.mount=u.mount(A),A},"initializeContext"),m,y=x(async A=>{let T=g();return T.canvasElement??=globalThis?.document?.body,m&&(T.loaded=m.loaded),Object.assign(T,A),u.playFunction(T)},"play"),b=x(A=>{let T=g();return Object.assign(T,A),OS(u,T)},"run"),C=u.playFunction?y:void 0;return Object.assign(x(function(A){let T=g();return m&&(T.loaded=m.loaded),T.args={...T.initialArgs,...A},u.unboundStoryFn(T)},"storyFn"),{id:u.id,storyName:o,load:x(async()=>{for(let T of[...Nr].reverse())await T();Nr.length=0;let A=g();A.loaded=await u.applyLoaders(A),Nr.push(...(await u.applyBeforeEach(A)).filter(Boolean)),m=A},"load"),args:u.initialArgs,parameters:u.parameters,argTypes:u.argTypes,play:C,run:b,tags:u.tags})}x(kS,"composeStory");var Wj=x((r,e,t,i)=>kS(r,e,t,{},i),"defaultComposeStory");function qj(r,e,t=Wj){let{default:i,__esModule:s,__namedExportsOrder:n,...o}=r;return Object.entries(o).reduce((a,[l,u])=>oa(l,i)?Object.assign(a,{[l]:t(u,i,e,l)}):a,{})}x(qj,"composeStories");function $j(r){return r.extend({mount:x(async({mount:e,page:t},i)=>{await i(async(s,...n)=>{if(!("__pw_type"in s)||"__pw_type"in s&&s.__pw_type!=="jsx")throw new Error(Nt` Portable stories in Playwright CT only work when referencing JSX elements. Please use JSX format for your components such as: @@ -1310,11 +1310,11 @@ ${R.description}`)},"showError"),showException:x(R=>{throw R},"showException"),f await mount(<MyComponent foo="bar"/>) More info: https://storybook.js.org/docs/api/portable-stories-playwright - `);await t.evaluate(async a=>{let l=await globalThis.__pwUnwrapObject?.(a);return("__pw_type"in l?l.type:l)?.load?.()},s);let o=await e(s,...n);return await t.evaluate(async a=>{let l=await globalThis.__pwUnwrapObject?.(a),u="__pw_type"in l?l.type:l,c=document.querySelector("#root");return u?.play?.({canvasElement:c})},s),o})},"mount")})}x(qj,"createPlaywrightTest");async function OS(r,e){for(let s of[...Nr].reverse())await s();if(Nr.length=0,!e.canvasElement){let s=document.createElement("div");globalThis?.document?.body?.appendChild(s),e.canvasElement=s,Nr.push(()=>{globalThis?.document?.body?.contains(s)&&globalThis?.document?.body?.removeChild(s)})}if(e.loaded=await r.applyLoaders(e),e.abortSignal.aborted)return;Nr.push(...(await r.applyBeforeEach(e)).filter(Boolean));let t=r.playFunction,i=r.usesMount;i||await e.mount(),!e.abortSignal.aborted&&t&&(i||(e.mount=async()=>{throw new ka({playFunction:t.toString()})}),await t(e))}x(OS,"runStory");var _v=1e3,$j=1e4,LS=class{constructor(e,t,i){this.importFn=t,this.getStoriesJsonData=x(()=>{let o=this.getSetStoriesPayload(),a=["fileName","docsOnly","framework","__id","__isArgsStory"];return{v:3,stories:(0,xj.default)(o.stories,l=>{let{importPath:u}=this.storyIndex.entries[l.id];return{...(0,pv.default)(l,["id","name","title"]),importPath:u,kind:l.title,story:l.name,parameters:{...(0,pv.default)(l.parameters,a),fileName:u}}})}},"getStoriesJsonData"),this.storyIndex=new Aj(e),this.projectAnnotations=za(i);let{initialGlobals:s,globalTypes:n}=this.projectAnnotations;this.args=new Sj,this.userGlobals=new wj({globals:s,globalTypes:n}),this.hooks={},this.cleanupCallbacks={},this.processCSFFileWithCache=(0,wh.default)(_v)(xS),this.prepareMetaWithCache=(0,wh.default)(_v)(CS),this.prepareStoryWithCache=(0,wh.default)($j)(cd)}setProjectAnnotations(e){this.projectAnnotations=za(e);let{initialGlobals:t,globalTypes:i}=e;this.userGlobals.set({globals:t,globalTypes:i})}async onStoriesChanged({importFn:e,storyIndex:t}){e&&(this.importFn=e),t&&(this.storyIndex.entries=t.entries),this.cachedCSFFiles&&await this.cacheAllCSFFiles()}async storyIdToEntry(e){return this.storyIndex.storyIdToEntry(e)}async loadCSFFileByStoryId(e){let{importPath:t,title:i}=this.storyIndex.storyIdToEntry(e),s=await this.importFn(t);return this.processCSFFileWithCache(s,t,i)}async loadAllCSFFiles(){let e={};return Object.entries(this.storyIndex.entries).forEach(([t,{importPath:i}])=>{e[i]=t}),(await Promise.all(Object.entries(e).map(async([t,i])=>({importPath:t,csfFile:await this.loadCSFFileByStoryId(i)})))).reduce((t,{importPath:i,csfFile:s})=>(t[i]=s,t),{})}async cacheAllCSFFiles(){this.cachedCSFFiles=await this.loadAllCSFFiles()}preparedMetaFromCSFFile({csfFile:e}){let t=e.meta;return this.prepareMetaWithCache(t,this.projectAnnotations,e.moduleExports.default)}async loadStory({storyId:e}){let t=await this.loadCSFFileByStoryId(e);return this.storyFromCSFFile({storyId:e,csfFile:t})}storyFromCSFFile({storyId:e,csfFile:t}){let i=t.stories[e];if(!i)throw new rv({storyId:e});let s=t.meta,n=this.prepareStoryWithCache(i,s,this.projectAnnotations);return this.args.setInitial(n),this.hooks[n.id]=this.hooks[n.id]||new lS,n}componentStoriesFromCSFFile({csfFile:e}){return Object.keys(this.storyIndex.entries).filter(t=>!!e.stories[t]).map(t=>this.storyFromCSFFile({storyId:t,csfFile:e}))}async loadEntry(e){let t=await this.storyIdToEntry(e),i=t.type==="docs"?t.storiesImports:[],[s,...n]=await Promise.all([this.importFn(t.importPath),...i.map(o=>{let a=this.storyIndex.importPathToEntry(o);return this.loadCSFFileByStoryId(a.id)})]);return{entryExports:s,csfFiles:n}}getStoryContext(e,{forceInitialArgs:t=!1}={}){let i=this.userGlobals.get(),{initialGlobals:s}=this.userGlobals;return dd({...e,args:t?e.initialArgs:this.args.get(e.id),initialGlobals:s,globalTypes:this.projectAnnotations.globalTypes,userGlobals:i,globals:{...i,...e.storyGlobals},hooks:this.hooks[e.id]})}addCleanupCallbacks(e,t){this.cleanupCallbacks[e.id]=t}async cleanupStory(e){this.hooks[e.id].clean();let t=this.cleanupCallbacks[e.id];if(t)for(let i of[...t].reverse())await i();delete this.cleanupCallbacks[e.id]}extract(e={includeDocsOnly:!1}){let{cachedCSFFiles:t}=this;if(!t)throw new W0;return Object.entries(this.storyIndex.entries).reduce((i,[s,{type:n,importPath:o}])=>{if(n==="docs")return i;let a=t[o],l=this.storyFromCSFFile({storyId:s,csfFile:a});return!e.includeDocsOnly&&l.parameters.docsOnly||(i[s]=Object.entries(l).reduce((u,[c,g])=>c==="moduleExport"||typeof g=="function"?u:Array.isArray(g)?Object.assign(u,{[c]:g.slice().sort()}):Object.assign(u,{[c]:g}),{args:l.initialArgs})),i},{})}getSetStoriesPayload(){let e=this.extract({includeDocsOnly:!0}),t=Object.values(e).reduce((i,{title:s})=>(i[s]={},i),{});return{v:2,globals:this.userGlobals.get(),globalParameters:{},kindParameters:t,stories:e}}raw(){return hr("StoryStore.raw() is deprecated and will be removed in 9.0, please use extract() instead"),Object.values(this.extract()).map(({id:e})=>this.fromId(e)).filter(Boolean)}fromId(e){if(hr("StoryStore.fromId() is deprecated and will be removed in 9.0, please use loadStory() instead"),!this.cachedCSFFiles)throw new Error("Cannot call fromId/raw() unless you call cacheAllCSFFiles() first.");let t;try{({importPath:t}=this.storyIndex.storyIdToEntry(e))}catch{return null}let i=this.cachedCSFFiles[t],s=this.storyFromCSFFile({storyId:e,csfFile:i});return{...s,storyFn:x(n=>{let o={...this.getStoryContext(s),abortSignal:new AbortController().signal,canvasElement:null,loaded:{},step:x((a,l)=>s.runStep(a,l,o),"step"),context:null,mount:null,canvas:{},viewMode:"story"};return s.unboundStoryFn({...o,...n})},"storyFn")}}};x(LS,"StoryStore");var Vj=LS;function DS(r){return r.startsWith("\\\\?\\")?r:r.replace(/\\/g,"/")}x(DS,"slash");var Gj=x(r=>{if(r.length===0)return r;let e=r[r.length-1],t=e?.replace(/(?:[.](?:story|stories))?([.][^.]+)$/i,"");if(r.length===1)return[t];let i=r[r.length-2];return t&&i&&t.toLowerCase()===i.toLowerCase()?[...r.slice(0,-2),t]:t&&(/^(story|stories)([.][^.]+)$/i.test(e)||/^index$/i.test(t))?r.slice(0,-1):[...r.slice(0,-1),t]},"sanitize");function Fh(r){return r.flatMap(e=>e.split("/")).filter(Boolean).join("/")}x(Fh,"pathJoin");var Yj=x((r,e,t)=>{let{directory:i,importPathMatcher:s,titlePrefix:n=""}=e||{};typeof r=="number"&&Br.warn(Nt` + `);await t.evaluate(async a=>{let l=await globalThis.__pwUnwrapObject?.(a);return("__pw_type"in l?l.type:l)?.load?.()},s);let o=await e(s,...n);return await t.evaluate(async a=>{let l=await globalThis.__pwUnwrapObject?.(a),u="__pw_type"in l?l.type:l,c=document.querySelector("#root");return u?.play?.({canvasElement:c})},s),o})},"mount")})}x($j,"createPlaywrightTest");async function OS(r,e){for(let s of[...Nr].reverse())await s();if(Nr.length=0,!e.canvasElement){let s=document.createElement("div");globalThis?.document?.body?.appendChild(s),e.canvasElement=s,Nr.push(()=>{globalThis?.document?.body?.contains(s)&&globalThis?.document?.body?.removeChild(s)})}if(e.loaded=await r.applyLoaders(e),e.abortSignal.aborted)return;Nr.push(...(await r.applyBeforeEach(e)).filter(Boolean));let t=r.playFunction,i=r.usesMount;i||await e.mount(),!e.abortSignal.aborted&&t&&(i||(e.mount=async()=>{throw new ka({playFunction:t.toString()})}),await t(e))}x(OS,"runStory");var _v=1e3,Vj=1e4,LS=class{constructor(e,t,i){this.importFn=t,this.getStoriesJsonData=x(()=>{let o=this.getSetStoriesPayload(),a=["fileName","docsOnly","framework","__id","__isArgsStory"];return{v:3,stories:(0,bj.default)(o.stories,l=>{let{importPath:u}=this.storyIndex.entries[l.id];return{...(0,pv.default)(l,["id","name","title"]),importPath:u,kind:l.title,story:l.name,parameters:{...(0,pv.default)(l.parameters,a),fileName:u}}})}},"getStoriesJsonData"),this.storyIndex=new Ej(e),this.projectAnnotations=za(i);let{initialGlobals:s,globalTypes:n}=this.projectAnnotations;this.args=new wj,this.userGlobals=new Tj({globals:s,globalTypes:n}),this.hooks={},this.cleanupCallbacks={},this.processCSFFileWithCache=(0,wh.default)(_v)(xS),this.prepareMetaWithCache=(0,wh.default)(_v)(CS),this.prepareStoryWithCache=(0,wh.default)(Vj)(cd)}setProjectAnnotations(e){this.projectAnnotations=za(e);let{initialGlobals:t,globalTypes:i}=e;this.userGlobals.set({globals:t,globalTypes:i})}async onStoriesChanged({importFn:e,storyIndex:t}){e&&(this.importFn=e),t&&(this.storyIndex.entries=t.entries),this.cachedCSFFiles&&await this.cacheAllCSFFiles()}async storyIdToEntry(e){return this.storyIndex.storyIdToEntry(e)}async loadCSFFileByStoryId(e){let{importPath:t,title:i}=this.storyIndex.storyIdToEntry(e),s=await this.importFn(t);return this.processCSFFileWithCache(s,t,i)}async loadAllCSFFiles(){let e={};return Object.entries(this.storyIndex.entries).forEach(([t,{importPath:i}])=>{e[i]=t}),(await Promise.all(Object.entries(e).map(async([t,i])=>({importPath:t,csfFile:await this.loadCSFFileByStoryId(i)})))).reduce((t,{importPath:i,csfFile:s})=>(t[i]=s,t),{})}async cacheAllCSFFiles(){this.cachedCSFFiles=await this.loadAllCSFFiles()}preparedMetaFromCSFFile({csfFile:e}){let t=e.meta;return this.prepareMetaWithCache(t,this.projectAnnotations,e.moduleExports.default)}async loadStory({storyId:e}){let t=await this.loadCSFFileByStoryId(e);return this.storyFromCSFFile({storyId:e,csfFile:t})}storyFromCSFFile({storyId:e,csfFile:t}){let i=t.stories[e];if(!i)throw new rv({storyId:e});let s=t.meta,n=this.prepareStoryWithCache(i,s,this.projectAnnotations);return this.args.setInitial(n),this.hooks[n.id]=this.hooks[n.id]||new lS,n}componentStoriesFromCSFFile({csfFile:e}){return Object.keys(this.storyIndex.entries).filter(t=>!!e.stories[t]).map(t=>this.storyFromCSFFile({storyId:t,csfFile:e}))}async loadEntry(e){let t=await this.storyIdToEntry(e),i=t.type==="docs"?t.storiesImports:[],[s,...n]=await Promise.all([this.importFn(t.importPath),...i.map(o=>{let a=this.storyIndex.importPathToEntry(o);return this.loadCSFFileByStoryId(a.id)})]);return{entryExports:s,csfFiles:n}}getStoryContext(e,{forceInitialArgs:t=!1}={}){let i=this.userGlobals.get(),{initialGlobals:s}=this.userGlobals;return dd({...e,args:t?e.initialArgs:this.args.get(e.id),initialGlobals:s,globalTypes:this.projectAnnotations.globalTypes,userGlobals:i,globals:{...i,...e.storyGlobals},hooks:this.hooks[e.id]})}addCleanupCallbacks(e,t){this.cleanupCallbacks[e.id]=t}async cleanupStory(e){this.hooks[e.id].clean();let t=this.cleanupCallbacks[e.id];if(t)for(let i of[...t].reverse())await i();delete this.cleanupCallbacks[e.id]}extract(e={includeDocsOnly:!1}){let{cachedCSFFiles:t}=this;if(!t)throw new W0;return Object.entries(this.storyIndex.entries).reduce((i,[s,{type:n,importPath:o}])=>{if(n==="docs")return i;let a=t[o],l=this.storyFromCSFFile({storyId:s,csfFile:a});return!e.includeDocsOnly&&l.parameters.docsOnly||(i[s]=Object.entries(l).reduce((u,[c,g])=>c==="moduleExport"||typeof g=="function"?u:Array.isArray(g)?Object.assign(u,{[c]:g.slice().sort()}):Object.assign(u,{[c]:g}),{args:l.initialArgs})),i},{})}getSetStoriesPayload(){let e=this.extract({includeDocsOnly:!0}),t=Object.values(e).reduce((i,{title:s})=>(i[s]={},i),{});return{v:2,globals:this.userGlobals.get(),globalParameters:{},kindParameters:t,stories:e}}raw(){return hr("StoryStore.raw() is deprecated and will be removed in 9.0, please use extract() instead"),Object.values(this.extract()).map(({id:e})=>this.fromId(e)).filter(Boolean)}fromId(e){if(hr("StoryStore.fromId() is deprecated and will be removed in 9.0, please use loadStory() instead"),!this.cachedCSFFiles)throw new Error("Cannot call fromId/raw() unless you call cacheAllCSFFiles() first.");let t;try{({importPath:t}=this.storyIndex.storyIdToEntry(e))}catch{return null}let i=this.cachedCSFFiles[t],s=this.storyFromCSFFile({storyId:e,csfFile:i});return{...s,storyFn:x(n=>{let o={...this.getStoryContext(s),abortSignal:new AbortController().signal,canvasElement:null,loaded:{},step:x((a,l)=>s.runStep(a,l,o),"step"),context:null,mount:null,canvas:{},viewMode:"story"};return s.unboundStoryFn({...o,...n})},"storyFn")}}};x(LS,"StoryStore");var Gj=LS;function DS(r){return r.startsWith("\\\\?\\")?r:r.replace(/\\/g,"/")}x(DS,"slash");var Yj=x(r=>{if(r.length===0)return r;let e=r[r.length-1],t=e?.replace(/(?:[.](?:story|stories))?([.][^.]+)$/i,"");if(r.length===1)return[t];let i=r[r.length-2];return t&&i&&t.toLowerCase()===i.toLowerCase()?[...r.slice(0,-2),t]:t&&(/^(story|stories)([.][^.]+)$/i.test(e)||/^index$/i.test(t))?r.slice(0,-1):[...r.slice(0,-1),t]},"sanitize");function Fh(r){return r.flatMap(e=>e.split("/")).filter(Boolean).join("/")}x(Fh,"pathJoin");var Xj=x((r,e,t)=>{let{directory:i,importPathMatcher:s,titlePrefix:n=""}=e||{};typeof r=="number"&&Br.warn(Nt` CSF Auto-title received a numeric fileName. This typically happens when webpack is mis-configured in production mode. To force webpack to produce filenames, set optimization.moduleIds = "named" in your webpack config. - `);let o=DS(String(r));if(s.exec(o)){if(!t){let a=o.replace(i,""),l=Fh([n,a]).split("/");return l=Gj(l),l.join("/")}return n?Fh([n,t]):t}},"userOrAutoTitleFromSpecifier"),Gke=x((r,e,t)=>{for(let i=0;i<e.length;i+=1){let s=Yj(r,e[i],t);if(s)return s}return t||void 0},"userOrAutoTitle"),yv=/\s*\/\s*/,Xj=x((r={})=>(e,t)=>{if(e.title===t.title&&!r.includeNames)return 0;let i=r.method||"configure",s=r.order||[],n=e.title.trim().split(yv),o=t.title.trim().split(yv);r.includeNames&&(n.push(e.name),o.push(t.name));let a=0;for(;n[a]||o[a];){if(!n[a])return-1;if(!o[a])return 1;let l=n[a],u=o[a];if(l!==u){let g=s.indexOf(l),m=s.indexOf(u),y=s.indexOf("*");return g!==-1||m!==-1?(g===-1&&(y!==-1?g=y:g=s.length),m===-1&&(y!==-1?m=y:m=s.length),g-m):i==="configure"?0:l.localeCompare(u,r.locales?r.locales:void 0,{numeric:!0,sensitivity:"accent"})}let c=s.indexOf(l);c===-1&&(c=s.indexOf("*")),s=c!==-1&&Array.isArray(s[c+1])?s[c+1]:[],a+=1}return 0},"storySort"),Kj=x((r,e,t)=>{if(e){let i;typeof e=="function"?i=e:i=Xj(e),r.sort(i)}else r.sort((i,s)=>t.indexOf(i.importPath)-t.indexOf(s.importPath));return r},"sortStoriesCommon"),Yke=x((r,e,t)=>{try{return Kj(r,e,t)}catch(i){throw new Error(Nt` + `);let o=DS(String(r));if(s.exec(o)){if(!t){let a=o.replace(i,""),l=Fh([n,a]).split("/");return l=Yj(l),l.join("/")}return n?Fh([n,t]):t}},"userOrAutoTitleFromSpecifier"),Yke=x((r,e,t)=>{for(let i=0;i<e.length;i+=1){let s=Xj(r,e[i],t);if(s)return s}return t||void 0},"userOrAutoTitle"),yv=/\s*\/\s*/,Kj=x((r={})=>(e,t)=>{if(e.title===t.title&&!r.includeNames)return 0;let i=r.method||"configure",s=r.order||[],n=e.title.trim().split(yv),o=t.title.trim().split(yv);r.includeNames&&(n.push(e.name),o.push(t.name));let a=0;for(;n[a]||o[a];){if(!n[a])return-1;if(!o[a])return 1;let l=n[a],u=o[a];if(l!==u){let g=s.indexOf(l),m=s.indexOf(u),y=s.indexOf("*");return g!==-1||m!==-1?(g===-1&&(y!==-1?g=y:g=s.length),m===-1&&(y!==-1?m=y:m=s.length),g-m):i==="configure"?0:l.localeCompare(u,r.locales?r.locales:void 0,{numeric:!0,sensitivity:"accent"})}let c=s.indexOf(l);c===-1&&(c=s.indexOf("*")),s=c!==-1&&Array.isArray(s[c+1])?s[c+1]:[],a+=1}return 0},"storySort"),Jj=x((r,e,t)=>{if(e){let i;typeof e=="function"?i=e:i=Kj(e),r.sort(i)}else r.sort((i,s)=>t.indexOf(i.importPath)-t.indexOf(s.importPath));return r},"sortStoriesCommon"),Xke=x((r,e,t)=>{try{return Jj(r,e,t)}catch(i){throw new Error(Nt` Error sorting stories with sort parameter ${e}: > ${i.message} @@ -1322,29 +1322,29 @@ ${R.description}`)},"showError"),showException:x(R=>{throw R},"showException"),f Are you using a V6-style sort function in V7 mode? More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#v7-style-story-sort - `)}},"sortStoriesV7"),Ya=new Error("prepareAborted"),{AbortController:xv}=globalThis;function Bh(r){try{let{name:e="Error",message:t=String(r),stack:i}=r;return{name:e,message:t,stack:i}}catch{return{name:"Error",message:String(r)}}}x(Bh,"serializeError");var FS=class{constructor(e,t,i,s,n,o,a={autoplay:!0,forceInitialArgs:!1},l){this.channel=e,this.store=t,this.renderToScreen=i,this.callbacks=s,this.id=n,this.viewMode=o,this.renderOptions=a,this.type="story",this.notYetRendered=!0,this.rerenderEnqueued=!1,this.disableKeyListeners=!1,this.teardownRender=x(()=>{},"teardownRender"),this.torndown=!1,this.abortController=new xv,l&&(this.story=l,this.phase="preparing")}async runPhase(e,t,i){this.phase=t,this.channel.emit(Ui,{newPhase:this.phase,storyId:this.id}),i&&(await i(),this.checkIfAborted(e))}checkIfAborted(e){return e.aborted?(this.phase="aborted",this.channel.emit(Ui,{newPhase:this.phase,storyId:this.id}),!0):!1}async prepare(){if(await this.runPhase(this.abortController.signal,"preparing",async()=>{this.story=await this.store.loadStory({storyId:this.id})}),this.abortController.signal.aborted)throw await this.store.cleanupStory(this.story),Ya}isEqual(e){return!!(this.id===e.id&&this.story&&this.story===e.story)}isPreparing(){return["preparing"].includes(this.phase)}isPending(){return["loading","beforeEach","rendering","playing"].includes(this.phase)}async renderToElement(e){return this.canvasElement=e,this.render({initial:!0,forceRemount:!0})}storyContext(){if(!this.story)throw new Error("Cannot call storyContext before preparing");let{forceInitialArgs:e}=this.renderOptions;return this.store.getStoryContext(this.story,{forceInitialArgs:e})}async render({initial:e=!1,forceRemount:t=!1}={}){let{canvasElement:i}=this;if(!this.story)throw new Error("cannot render when not prepared");let s=this.story;if(!i)throw new Error("cannot render when canvasElement is unset");let{id:n,componentId:o,title:a,name:l,tags:u,applyLoaders:c,applyBeforeEach:g,unboundStoryFn:m,playFunction:y,runStep:b}=s;t&&!e&&(this.cancelRender(),this.abortController=new xv);let C=this.abortController.signal,A=!1,T=s.usesMount;try{let R={...this.storyContext(),viewMode:this.viewMode,abortSignal:C,canvasElement:i,loaded:{},step:x((F,U)=>b(F,U,R),"step"),context:null,canvas:{},renderToCanvas:x(async()=>{let F=await this.renderToScreen(P,i);this.teardownRender=F||(()=>{}),A=!0},"renderToCanvas"),mount:x(async(...F)=>{this.callbacks.showStoryDuringRender?.();let U=null;return await this.runPhase(C,"rendering",async()=>{U=await s.mount(R)(...F)}),T&&await this.runPhase(C,"playing"),U},"mount")};R.context=R;let P={componentId:o,title:a,kind:a,id:n,name:l,story:l,tags:u,...this.callbacks,showError:x(F=>(this.phase="errored",this.callbacks.showError(F)),"showError"),showException:x(F=>(this.phase="errored",this.callbacks.showException(F)),"showException"),forceRemount:t||this.notYetRendered,storyContext:R,storyFn:x(()=>m(R),"storyFn"),unboundStoryFn:m};if(await this.runPhase(C,"loading",async()=>{R.loaded=await c(R)}),C.aborted)return;let E=await g(R);if(this.store.addCleanupCallbacks(s,E),this.checkIfAborted(C)||(!A&&!T&&await R.mount(),this.notYetRendered=!1,C.aborted))return;let k=this.story.parameters?.test?.dangerouslyIgnoreUnhandledErrors===!0,O=new Set,B=x(F=>O.add("error"in F?F.error:F.reason),"onError");if(this.renderOptions.autoplay&&t&&y&&this.phase!=="errored"){window.addEventListener("error",B),window.addEventListener("unhandledrejection",B),this.disableKeyListeners=!0;try{if(T?await y(R):(R.mount=async()=>{throw new ka({playFunction:y.toString()})},await this.runPhase(C,"playing",async()=>y(R))),!A)throw new uv;this.checkIfAborted(C),!k&&O.size>0?await this.runPhase(C,"errored"):await this.runPhase(C,"played")}catch(F){if(this.callbacks.showStoryDuringRender?.(),await this.runPhase(C,"errored",async()=>{this.channel.emit(T0,Bh(F))}),this.story.parameters.throwPlayFunctionExceptions!==!1)throw F;console.error(F)}if(!k&&O.size>0&&this.channel.emit(B0,Array.from(O).map(Bh)),this.disableKeyListeners=!1,window.removeEventListener("unhandledrejection",B),window.removeEventListener("error",B),C.aborted)return}await this.runPhase(C,"completed",async()=>this.channel.emit(hn,n))}catch(R){this.phase="errored",this.callbacks.showException(R)}this.rerenderEnqueued&&(this.rerenderEnqueued=!1,this.render())}async rerender(){if(this.isPending()&&this.phase!=="playing")this.rerenderEnqueued=!0;else return this.render()}async remount(){return await this.teardown(),this.render({forceRemount:!0})}cancelRender(){this.abortController?.abort()}async teardown(){this.torndown=!0,this.cancelRender(),this.story&&await this.store.cleanupStory(this.story);for(let e=0;e<3;e+=1){if(!this.isPending()){await this.teardownRender();return}await new Promise(t=>setTimeout(t,0))}window.location.reload(),await new Promise(()=>{})}};x(FS,"StoryRender");var Mh=FS,{fetch:Jj}=it,Qj="./index.json",BS=class{constructor(e,t,i=ri.getChannel(),s=!0){this.importFn=e,this.getProjectAnnotations=t,this.channel=i,this.storyRenders=[],this.storeInitializationPromise=new Promise((n,o)=>{this.resolveStoreInitializationPromise=n,this.rejectStoreInitializationPromise=o}),s&&this.initialize()}get storyStore(){return new Proxy({},{get:x((e,t)=>{if(this.storyStoreValue)return hr("Accessing the Story Store is deprecated and will be removed in 9.0"),this.storyStoreValue[t];throw new sv},"get")})}async initialize(){this.setupListeners();try{let e=await this.getProjectAnnotationsOrRenderError();await this.runBeforeAllHook(e),await this.initializeWithProjectAnnotations(e)}catch(e){this.rejectStoreInitializationPromise(e)}}ready(){return this.storeInitializationPromise}setupListeners(){this.channel.on(k0,this.onStoryIndexChanged.bind(this)),this.channel.on(Pa,this.onUpdateGlobals.bind(this)),this.channel.on(dn,this.onUpdateArgs.bind(this)),this.channel.on(x0,this.onRequestArgTypesInfo.bind(this)),this.channel.on(cn,this.onResetArgs.bind(this)),this.channel.on(Ra,this.onForceReRender.bind(this)),this.channel.on(S0,this.onForceRemount.bind(this))}async getProjectAnnotationsOrRenderError(){try{let e=await this.getProjectAnnotations();if(this.renderToCanvas=e.renderToCanvas,!this.renderToCanvas)throw new $0;return e}catch(e){throw this.renderPreviewEntryError("Error reading preview.js:",e),e}}async initializeWithProjectAnnotations(e){this.projectAnnotationsBeforeInitialization=e;try{let t=await this.getStoryIndexFromServer();return this.initializeWithStoryIndex(t)}catch(t){throw this.renderPreviewEntryError("Error loading story index:",t),t}}async runBeforeAllHook(e){try{await this.beforeAllCleanup?.(),this.beforeAllCleanup=await e.beforeAll?.()}catch(t){throw this.renderPreviewEntryError("Error in beforeAll hook:",t),t}}async getStoryIndexFromServer(){let e=await Jj(Qj);if(e.status===200)return e.json();throw new Y0({text:await e.text()})}initializeWithStoryIndex(e){if(!this.projectAnnotationsBeforeInitialization)throw new Error("Cannot call initializeWithStoryIndex until project annotations resolve");this.storyStoreValue=new Vj(e,this.importFn,this.projectAnnotationsBeforeInitialization),delete this.projectAnnotationsBeforeInitialization,this.setInitialGlobals(),this.resolveStoreInitializationPromise()}async setInitialGlobals(){this.emitGlobals()}emitGlobals(){if(!this.storyStoreValue)throw new At({methodName:"emitGlobals"});let e={globals:this.storyStoreValue.userGlobals.get()||{},globalTypes:this.storyStoreValue.projectAnnotations.globalTypes||{}};this.channel.emit(I0,e)}async onGetProjectAnnotationsChanged({getProjectAnnotations:e}){delete this.previewEntryError,this.getProjectAnnotations=e;let t=await this.getProjectAnnotationsOrRenderError();if(await this.runBeforeAllHook(t),!this.storyStoreValue){await this.initializeWithProjectAnnotations(t);return}this.storyStoreValue.setProjectAnnotations(t),this.emitGlobals()}async onStoryIndexChanged(){if(delete this.previewEntryError,!(!this.storyStoreValue&&!this.projectAnnotationsBeforeInitialization))try{let e=await this.getStoryIndexFromServer();if(this.projectAnnotationsBeforeInitialization){this.initializeWithStoryIndex(e);return}await this.onStoriesChanged({storyIndex:e})}catch(e){throw this.renderPreviewEntryError("Error loading story index:",e),e}}async onStoriesChanged({importFn:e,storyIndex:t}){if(!this.storyStoreValue)throw new At({methodName:"onStoriesChanged"});await this.storyStoreValue.onStoriesChanged({importFn:e,storyIndex:t})}async onUpdateGlobals({globals:e,currentStory:t}){if(this.storyStoreValue||await this.storeInitializationPromise,!this.storyStoreValue)throw new At({methodName:"onUpdateGlobals"});if(this.storyStoreValue.userGlobals.update(e),t){let{initialGlobals:i,storyGlobals:s,userGlobals:n,globals:o}=this.storyStoreValue.getStoryContext(t);this.channel.emit(Zr,{initialGlobals:i,userGlobals:n,storyGlobals:s,globals:o})}else{let{initialGlobals:i,globals:s}=this.storyStoreValue.userGlobals;this.channel.emit(Zr,{initialGlobals:i,userGlobals:s,storyGlobals:{},globals:s})}await Promise.all(this.storyRenders.map(i=>i.rerender()))}async onUpdateArgs({storyId:e,updatedArgs:t}){if(!this.storyStoreValue)throw new At({methodName:"onUpdateArgs"});this.storyStoreValue.args.update(e,t),await Promise.all(this.storyRenders.filter(i=>i.id===e&&!i.renderOptions.forceInitialArgs).map(i=>i.story&&i.story.usesMount?i.remount():i.rerender())),this.channel.emit(yh,{storyId:e,args:this.storyStoreValue.args.get(e)})}async onRequestArgTypesInfo({id:e,payload:t}){try{await this.storeInitializationPromise;let i=await this.storyStoreValue?.loadStory(t);this.channel.emit(mh,{id:e,success:!0,payload:{argTypes:i?.argTypes||{}},error:null})}catch(i){this.channel.emit(mh,{id:e,success:!1,error:i?.message})}}async onResetArgs({storyId:e,argNames:t}){if(!this.storyStoreValue)throw new At({methodName:"onResetArgs"});let i=this.storyRenders.find(n=>n.id===e)?.story||await this.storyStoreValue.loadStory({storyId:e}),s=(t||[...new Set([...Object.keys(i.initialArgs),...Object.keys(this.storyStoreValue.args.get(e))])]).reduce((n,o)=>(n[o]=i.initialArgs[o],n),{});await this.onUpdateArgs({storyId:e,updatedArgs:s})}async onForceReRender(){await Promise.all(this.storyRenders.map(e=>e.rerender()))}async onForceRemount({storyId:e}){await Promise.all(this.storyRenders.filter(t=>t.id===e).map(t=>t.remount()))}renderStoryToElement(e,t,i,s){if(!this.renderToCanvas||!this.storyStoreValue)throw new At({methodName:"renderStoryToElement"});let n=new Mh(this.channel,this.storyStoreValue,this.renderToCanvas,i,e.id,"docs",s,e);return n.renderToElement(t),this.storyRenders.push(n),async()=>{await this.teardownRender(n)}}async teardownRender(e,{viewModeChanged:t}={}){this.storyRenders=this.storyRenders.filter(i=>i!==e),await e?.teardown?.({viewModeChanged:t})}async loadStory({storyId:e}){if(!this.storyStoreValue)throw new At({methodName:"loadStory"});return this.storyStoreValue.loadStory({storyId:e})}getStoryContext(e,{forceInitialArgs:t=!1}={}){if(!this.storyStoreValue)throw new At({methodName:"getStoryContext"});return this.storyStoreValue.getStoryContext(e,{forceInitialArgs:t})}async extract(e){if(!this.storyStoreValue)throw new At({methodName:"extract"});if(this.previewEntryError)throw this.previewEntryError;return await this.storyStoreValue.cacheAllCSFFiles(),this.storyStoreValue.extract(e)}renderPreviewEntryError(e,t){this.previewEntryError=t,Pe.error(e),Pe.error(t),this.channel.emit(b0,t)}};x(BS,"Preview");var MS=BS,Zj=!1,Ch="Invariant failed";function Da(r,e){if(!r){if(Zj)throw new Error(Ch);var t=typeof e=="function"?e():e,i=t?"".concat(Ch,": ").concat(t):Ch;throw new Error(i)}}x(Da,"invariant");var NS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.renderStoryToElement=i,this.storyIdByName=x(n=>{let o=this.nameToStoryId.get(n);if(o)return o;throw new Error(`No story found with that name: ${n}`)},"storyIdByName"),this.componentStories=x(()=>this.componentStoriesValue,"componentStories"),this.componentStoriesFromCSFFile=x(n=>this.store.componentStoriesFromCSFFile({csfFile:n}),"componentStoriesFromCSFFile"),this.storyById=x(n=>{if(!n){if(!this.primaryStory)throw new Error("No primary story defined for docs entry. Did you forget to use `<Meta>`?");return this.primaryStory}let o=this.storyIdToCSFFile.get(n);if(!o)throw new Error(`Called \`storyById\` for story that was never loaded: ${n}`);return this.store.storyFromCSFFile({storyId:n,csfFile:o})},"storyById"),this.getStoryContext=x(n=>({...this.store.getStoryContext(n),loaded:{},viewMode:"docs"}),"getStoryContext"),this.loadStory=x(n=>this.store.loadStory({storyId:n}),"loadStory"),this.componentStoriesValue=[],this.storyIdToCSFFile=new Map,this.exportToStory=new Map,this.exportsToCSFFile=new Map,this.nameToStoryId=new Map,this.attachedCSFFiles=new Set,s.forEach((n,o)=>{this.referenceCSFFile(n)})}referenceCSFFile(e){this.exportsToCSFFile.set(e.moduleExports,e),this.exportsToCSFFile.set(e.moduleExports.default,e),this.store.componentStoriesFromCSFFile({csfFile:e}).forEach(t=>{let i=e.stories[t.id];this.storyIdToCSFFile.set(i.id,e),this.exportToStory.set(i.moduleExport,t)})}attachCSFFile(e){if(!this.exportsToCSFFile.has(e.moduleExports))throw new Error("Cannot attach a CSF file that has not been referenced");this.attachedCSFFiles.has(e)||(this.attachedCSFFiles.add(e),this.store.componentStoriesFromCSFFile({csfFile:e}).forEach(t=>{this.nameToStoryId.set(t.name,t.id),this.componentStoriesValue.push(t),this.primaryStory||(this.primaryStory=t)}))}referenceMeta(e,t){let i=this.resolveModuleExport(e);if(i.type!=="meta")throw new Error("<Meta of={} /> must reference a CSF file module export or meta export. Did you mistakenly reference your component instead of your CSF file?");t&&this.attachCSFFile(i.csfFile)}get projectAnnotations(){let{projectAnnotations:e}=this.store;if(!e)throw new Error("Can't get projectAnnotations from DocsContext before they are initialized");return e}resolveAttachedModuleExportType(e){if(e==="story"){if(!this.primaryStory)throw new Error("No primary story attached to this docs file, did you forget to use <Meta of={} />?");return{type:"story",story:this.primaryStory}}if(this.attachedCSFFiles.size===0)throw new Error("No CSF file attached to this docs file, did you forget to use <Meta of={} />?");let t=Array.from(this.attachedCSFFiles)[0];if(e==="meta")return{type:"meta",csfFile:t};let{component:i}=t.meta;if(!i)throw new Error("Attached CSF file does not defined a component, did you forget to export one?");return{type:"component",component:i}}resolveModuleExport(e){let t=this.exportsToCSFFile.get(e);if(t)return{type:"meta",csfFile:t};let i=this.exportToStory.get(e);return i?{type:"story",story:i}:{type:"component",component:e}}resolveOf(e,t=[]){let i;if(["component","meta","story"].includes(e)){let s=e;i=this.resolveAttachedModuleExportType(s)}else i=this.resolveModuleExport(e);if(t.length&&!t.includes(i.type)){let s=i.type==="component"?"component or unknown":i.type;throw new Error(Nt`Invalid value passed to the 'of' prop. The value was resolved to a '${s}' type but the only types for this block are: ${t.join(", ")}. + `)}},"sortStoriesV7"),Ya=new Error("prepareAborted"),{AbortController:xv}=globalThis;function Bh(r){try{let{name:e="Error",message:t=String(r),stack:i}=r;return{name:e,message:t,stack:i}}catch{return{name:"Error",message:String(r)}}}x(Bh,"serializeError");var FS=class{constructor(e,t,i,s,n,o,a={autoplay:!0,forceInitialArgs:!1},l){this.channel=e,this.store=t,this.renderToScreen=i,this.callbacks=s,this.id=n,this.viewMode=o,this.renderOptions=a,this.type="story",this.notYetRendered=!0,this.rerenderEnqueued=!1,this.disableKeyListeners=!1,this.teardownRender=x(()=>{},"teardownRender"),this.torndown=!1,this.abortController=new xv,l&&(this.story=l,this.phase="preparing")}async runPhase(e,t,i){this.phase=t,this.channel.emit(Ui,{newPhase:this.phase,storyId:this.id}),i&&(await i(),this.checkIfAborted(e))}checkIfAborted(e){return e.aborted?(this.phase="aborted",this.channel.emit(Ui,{newPhase:this.phase,storyId:this.id}),!0):!1}async prepare(){if(await this.runPhase(this.abortController.signal,"preparing",async()=>{this.story=await this.store.loadStory({storyId:this.id})}),this.abortController.signal.aborted)throw await this.store.cleanupStory(this.story),Ya}isEqual(e){return!!(this.id===e.id&&this.story&&this.story===e.story)}isPreparing(){return["preparing"].includes(this.phase)}isPending(){return["loading","beforeEach","rendering","playing"].includes(this.phase)}async renderToElement(e){return this.canvasElement=e,this.render({initial:!0,forceRemount:!0})}storyContext(){if(!this.story)throw new Error("Cannot call storyContext before preparing");let{forceInitialArgs:e}=this.renderOptions;return this.store.getStoryContext(this.story,{forceInitialArgs:e})}async render({initial:e=!1,forceRemount:t=!1}={}){let{canvasElement:i}=this;if(!this.story)throw new Error("cannot render when not prepared");let s=this.story;if(!i)throw new Error("cannot render when canvasElement is unset");let{id:n,componentId:o,title:a,name:l,tags:u,applyLoaders:c,applyBeforeEach:g,unboundStoryFn:m,playFunction:y,runStep:b}=s;t&&!e&&(this.cancelRender(),this.abortController=new xv);let C=this.abortController.signal,A=!1,T=s.usesMount;try{let R={...this.storyContext(),viewMode:this.viewMode,abortSignal:C,canvasElement:i,loaded:{},step:x((F,U)=>b(F,U,R),"step"),context:null,canvas:{},renderToCanvas:x(async()=>{let F=await this.renderToScreen(P,i);this.teardownRender=F||(()=>{}),A=!0},"renderToCanvas"),mount:x(async(...F)=>{this.callbacks.showStoryDuringRender?.();let U=null;return await this.runPhase(C,"rendering",async()=>{U=await s.mount(R)(...F)}),T&&await this.runPhase(C,"playing"),U},"mount")};R.context=R;let P={componentId:o,title:a,kind:a,id:n,name:l,story:l,tags:u,...this.callbacks,showError:x(F=>(this.phase="errored",this.callbacks.showError(F)),"showError"),showException:x(F=>(this.phase="errored",this.callbacks.showException(F)),"showException"),forceRemount:t||this.notYetRendered,storyContext:R,storyFn:x(()=>m(R),"storyFn"),unboundStoryFn:m};if(await this.runPhase(C,"loading",async()=>{R.loaded=await c(R)}),C.aborted)return;let E=await g(R);if(this.store.addCleanupCallbacks(s,E),this.checkIfAborted(C)||(!A&&!T&&await R.mount(),this.notYetRendered=!1,C.aborted))return;let k=this.story.parameters?.test?.dangerouslyIgnoreUnhandledErrors===!0,O=new Set,B=x(F=>O.add("error"in F?F.error:F.reason),"onError");if(this.renderOptions.autoplay&&t&&y&&this.phase!=="errored"){window.addEventListener("error",B),window.addEventListener("unhandledrejection",B),this.disableKeyListeners=!0;try{if(T?await y(R):(R.mount=async()=>{throw new ka({playFunction:y.toString()})},await this.runPhase(C,"playing",async()=>y(R))),!A)throw new uv;this.checkIfAborted(C),!k&&O.size>0?await this.runPhase(C,"errored"):await this.runPhase(C,"played")}catch(F){if(this.callbacks.showStoryDuringRender?.(),await this.runPhase(C,"errored",async()=>{this.channel.emit(T0,Bh(F))}),this.story.parameters.throwPlayFunctionExceptions!==!1)throw F;console.error(F)}if(!k&&O.size>0&&this.channel.emit(B0,Array.from(O).map(Bh)),this.disableKeyListeners=!1,window.removeEventListener("unhandledrejection",B),window.removeEventListener("error",B),C.aborted)return}await this.runPhase(C,"completed",async()=>this.channel.emit(hn,n))}catch(R){this.phase="errored",this.callbacks.showException(R)}this.rerenderEnqueued&&(this.rerenderEnqueued=!1,this.render())}async rerender(){if(this.isPending()&&this.phase!=="playing")this.rerenderEnqueued=!0;else return this.render()}async remount(){return await this.teardown(),this.render({forceRemount:!0})}cancelRender(){this.abortController?.abort()}async teardown(){this.torndown=!0,this.cancelRender(),this.story&&await this.store.cleanupStory(this.story);for(let e=0;e<3;e+=1){if(!this.isPending()){await this.teardownRender();return}await new Promise(t=>setTimeout(t,0))}window.location.reload(),await new Promise(()=>{})}};x(FS,"StoryRender");var Mh=FS,{fetch:Qj}=it,Zj="./index.json",BS=class{constructor(e,t,i=ri.getChannel(),s=!0){this.importFn=e,this.getProjectAnnotations=t,this.channel=i,this.storyRenders=[],this.storeInitializationPromise=new Promise((n,o)=>{this.resolveStoreInitializationPromise=n,this.rejectStoreInitializationPromise=o}),s&&this.initialize()}get storyStore(){return new Proxy({},{get:x((e,t)=>{if(this.storyStoreValue)return hr("Accessing the Story Store is deprecated and will be removed in 9.0"),this.storyStoreValue[t];throw new sv},"get")})}async initialize(){this.setupListeners();try{let e=await this.getProjectAnnotationsOrRenderError();await this.runBeforeAllHook(e),await this.initializeWithProjectAnnotations(e)}catch(e){this.rejectStoreInitializationPromise(e)}}ready(){return this.storeInitializationPromise}setupListeners(){this.channel.on(k0,this.onStoryIndexChanged.bind(this)),this.channel.on(Pa,this.onUpdateGlobals.bind(this)),this.channel.on(dn,this.onUpdateArgs.bind(this)),this.channel.on(x0,this.onRequestArgTypesInfo.bind(this)),this.channel.on(cn,this.onResetArgs.bind(this)),this.channel.on(Ra,this.onForceReRender.bind(this)),this.channel.on(S0,this.onForceRemount.bind(this))}async getProjectAnnotationsOrRenderError(){try{let e=await this.getProjectAnnotations();if(this.renderToCanvas=e.renderToCanvas,!this.renderToCanvas)throw new $0;return e}catch(e){throw this.renderPreviewEntryError("Error reading preview.js:",e),e}}async initializeWithProjectAnnotations(e){this.projectAnnotationsBeforeInitialization=e;try{let t=await this.getStoryIndexFromServer();return this.initializeWithStoryIndex(t)}catch(t){throw this.renderPreviewEntryError("Error loading story index:",t),t}}async runBeforeAllHook(e){try{await this.beforeAllCleanup?.(),this.beforeAllCleanup=await e.beforeAll?.()}catch(t){throw this.renderPreviewEntryError("Error in beforeAll hook:",t),t}}async getStoryIndexFromServer(){let e=await Qj(Zj);if(e.status===200)return e.json();throw new Y0({text:await e.text()})}initializeWithStoryIndex(e){if(!this.projectAnnotationsBeforeInitialization)throw new Error("Cannot call initializeWithStoryIndex until project annotations resolve");this.storyStoreValue=new Gj(e,this.importFn,this.projectAnnotationsBeforeInitialization),delete this.projectAnnotationsBeforeInitialization,this.setInitialGlobals(),this.resolveStoreInitializationPromise()}async setInitialGlobals(){this.emitGlobals()}emitGlobals(){if(!this.storyStoreValue)throw new At({methodName:"emitGlobals"});let e={globals:this.storyStoreValue.userGlobals.get()||{},globalTypes:this.storyStoreValue.projectAnnotations.globalTypes||{}};this.channel.emit(I0,e)}async onGetProjectAnnotationsChanged({getProjectAnnotations:e}){delete this.previewEntryError,this.getProjectAnnotations=e;let t=await this.getProjectAnnotationsOrRenderError();if(await this.runBeforeAllHook(t),!this.storyStoreValue){await this.initializeWithProjectAnnotations(t);return}this.storyStoreValue.setProjectAnnotations(t),this.emitGlobals()}async onStoryIndexChanged(){if(delete this.previewEntryError,!(!this.storyStoreValue&&!this.projectAnnotationsBeforeInitialization))try{let e=await this.getStoryIndexFromServer();if(this.projectAnnotationsBeforeInitialization){this.initializeWithStoryIndex(e);return}await this.onStoriesChanged({storyIndex:e})}catch(e){throw this.renderPreviewEntryError("Error loading story index:",e),e}}async onStoriesChanged({importFn:e,storyIndex:t}){if(!this.storyStoreValue)throw new At({methodName:"onStoriesChanged"});await this.storyStoreValue.onStoriesChanged({importFn:e,storyIndex:t})}async onUpdateGlobals({globals:e,currentStory:t}){if(this.storyStoreValue||await this.storeInitializationPromise,!this.storyStoreValue)throw new At({methodName:"onUpdateGlobals"});if(this.storyStoreValue.userGlobals.update(e),t){let{initialGlobals:i,storyGlobals:s,userGlobals:n,globals:o}=this.storyStoreValue.getStoryContext(t);this.channel.emit(Zr,{initialGlobals:i,userGlobals:n,storyGlobals:s,globals:o})}else{let{initialGlobals:i,globals:s}=this.storyStoreValue.userGlobals;this.channel.emit(Zr,{initialGlobals:i,userGlobals:s,storyGlobals:{},globals:s})}await Promise.all(this.storyRenders.map(i=>i.rerender()))}async onUpdateArgs({storyId:e,updatedArgs:t}){if(!this.storyStoreValue)throw new At({methodName:"onUpdateArgs"});this.storyStoreValue.args.update(e,t),await Promise.all(this.storyRenders.filter(i=>i.id===e&&!i.renderOptions.forceInitialArgs).map(i=>i.story&&i.story.usesMount?i.remount():i.rerender())),this.channel.emit(yh,{storyId:e,args:this.storyStoreValue.args.get(e)})}async onRequestArgTypesInfo({id:e,payload:t}){try{await this.storeInitializationPromise;let i=await this.storyStoreValue?.loadStory(t);this.channel.emit(mh,{id:e,success:!0,payload:{argTypes:i?.argTypes||{}},error:null})}catch(i){this.channel.emit(mh,{id:e,success:!1,error:i?.message})}}async onResetArgs({storyId:e,argNames:t}){if(!this.storyStoreValue)throw new At({methodName:"onResetArgs"});let i=this.storyRenders.find(n=>n.id===e)?.story||await this.storyStoreValue.loadStory({storyId:e}),s=(t||[...new Set([...Object.keys(i.initialArgs),...Object.keys(this.storyStoreValue.args.get(e))])]).reduce((n,o)=>(n[o]=i.initialArgs[o],n),{});await this.onUpdateArgs({storyId:e,updatedArgs:s})}async onForceReRender(){await Promise.all(this.storyRenders.map(e=>e.rerender()))}async onForceRemount({storyId:e}){await Promise.all(this.storyRenders.filter(t=>t.id===e).map(t=>t.remount()))}renderStoryToElement(e,t,i,s){if(!this.renderToCanvas||!this.storyStoreValue)throw new At({methodName:"renderStoryToElement"});let n=new Mh(this.channel,this.storyStoreValue,this.renderToCanvas,i,e.id,"docs",s,e);return n.renderToElement(t),this.storyRenders.push(n),async()=>{await this.teardownRender(n)}}async teardownRender(e,{viewModeChanged:t}={}){this.storyRenders=this.storyRenders.filter(i=>i!==e),await e?.teardown?.({viewModeChanged:t})}async loadStory({storyId:e}){if(!this.storyStoreValue)throw new At({methodName:"loadStory"});return this.storyStoreValue.loadStory({storyId:e})}getStoryContext(e,{forceInitialArgs:t=!1}={}){if(!this.storyStoreValue)throw new At({methodName:"getStoryContext"});return this.storyStoreValue.getStoryContext(e,{forceInitialArgs:t})}async extract(e){if(!this.storyStoreValue)throw new At({methodName:"extract"});if(this.previewEntryError)throw this.previewEntryError;return await this.storyStoreValue.cacheAllCSFFiles(),this.storyStoreValue.extract(e)}renderPreviewEntryError(e,t){this.previewEntryError=t,Pe.error(e),Pe.error(t),this.channel.emit(b0,t)}};x(BS,"Preview");var MS=BS,eU=!1,Ch="Invariant failed";function Da(r,e){if(!r){if(eU)throw new Error(Ch);var t=typeof e=="function"?e():e,i=t?"".concat(Ch,": ").concat(t):Ch;throw new Error(i)}}x(Da,"invariant");var NS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.renderStoryToElement=i,this.storyIdByName=x(n=>{let o=this.nameToStoryId.get(n);if(o)return o;throw new Error(`No story found with that name: ${n}`)},"storyIdByName"),this.componentStories=x(()=>this.componentStoriesValue,"componentStories"),this.componentStoriesFromCSFFile=x(n=>this.store.componentStoriesFromCSFFile({csfFile:n}),"componentStoriesFromCSFFile"),this.storyById=x(n=>{if(!n){if(!this.primaryStory)throw new Error("No primary story defined for docs entry. Did you forget to use `<Meta>`?");return this.primaryStory}let o=this.storyIdToCSFFile.get(n);if(!o)throw new Error(`Called \`storyById\` for story that was never loaded: ${n}`);return this.store.storyFromCSFFile({storyId:n,csfFile:o})},"storyById"),this.getStoryContext=x(n=>({...this.store.getStoryContext(n),loaded:{},viewMode:"docs"}),"getStoryContext"),this.loadStory=x(n=>this.store.loadStory({storyId:n}),"loadStory"),this.componentStoriesValue=[],this.storyIdToCSFFile=new Map,this.exportToStory=new Map,this.exportsToCSFFile=new Map,this.nameToStoryId=new Map,this.attachedCSFFiles=new Set,s.forEach((n,o)=>{this.referenceCSFFile(n)})}referenceCSFFile(e){this.exportsToCSFFile.set(e.moduleExports,e),this.exportsToCSFFile.set(e.moduleExports.default,e),this.store.componentStoriesFromCSFFile({csfFile:e}).forEach(t=>{let i=e.stories[t.id];this.storyIdToCSFFile.set(i.id,e),this.exportToStory.set(i.moduleExport,t)})}attachCSFFile(e){if(!this.exportsToCSFFile.has(e.moduleExports))throw new Error("Cannot attach a CSF file that has not been referenced");this.attachedCSFFiles.has(e)||(this.attachedCSFFiles.add(e),this.store.componentStoriesFromCSFFile({csfFile:e}).forEach(t=>{this.nameToStoryId.set(t.name,t.id),this.componentStoriesValue.push(t),this.primaryStory||(this.primaryStory=t)}))}referenceMeta(e,t){let i=this.resolveModuleExport(e);if(i.type!=="meta")throw new Error("<Meta of={} /> must reference a CSF file module export or meta export. Did you mistakenly reference your component instead of your CSF file?");t&&this.attachCSFFile(i.csfFile)}get projectAnnotations(){let{projectAnnotations:e}=this.store;if(!e)throw new Error("Can't get projectAnnotations from DocsContext before they are initialized");return e}resolveAttachedModuleExportType(e){if(e==="story"){if(!this.primaryStory)throw new Error("No primary story attached to this docs file, did you forget to use <Meta of={} />?");return{type:"story",story:this.primaryStory}}if(this.attachedCSFFiles.size===0)throw new Error("No CSF file attached to this docs file, did you forget to use <Meta of={} />?");let t=Array.from(this.attachedCSFFiles)[0];if(e==="meta")return{type:"meta",csfFile:t};let{component:i}=t.meta;if(!i)throw new Error("Attached CSF file does not defined a component, did you forget to export one?");return{type:"component",component:i}}resolveModuleExport(e){let t=this.exportsToCSFFile.get(e);if(t)return{type:"meta",csfFile:t};let i=this.exportToStory.get(e);return i?{type:"story",story:i}:{type:"component",component:e}}resolveOf(e,t=[]){let i;if(["component","meta","story"].includes(e)){let s=e;i=this.resolveAttachedModuleExportType(s)}else i=this.resolveModuleExport(e);if(t.length&&!t.includes(i.type)){let s=i.type==="component"?"component or unknown":i.type;throw new Error(Nt`Invalid value passed to the 'of' prop. The value was resolved to a '${s}' type but the only types for this block are: ${t.join(", ")}. - Did you pass a component to the 'of' prop when the block only supports a story or a meta? - ... or vice versa? - - Did you pass a story, CSF file or meta to the 'of' prop that is not indexed, ie. is not targeted by the 'stories' globs in the main configuration?`)}switch(i.type){case"component":return{...i,projectAnnotations:this.projectAnnotations};case"meta":return{...i,preparedMeta:this.store.preparedMetaFromCSFFile({csfFile:i.csfFile})};case"story":default:return i}}};x(NS,"DocsContext");var pd=NS,zS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.entry=i,this.callbacks=s,this.type="docs",this.subtype="csf",this.torndown=!1,this.disableKeyListeners=!1,this.preparing=!1,this.id=i.id}isPreparing(){return this.preparing}async prepare(){this.preparing=!0;let{entryExports:e,csfFiles:t=[]}=await this.store.loadEntry(this.id);if(this.torndown)throw Ya;let{importPath:i,title:s}=this.entry,n=this.store.processCSFFileWithCache(e,i,s),o=Object.keys(n.stories)[0];this.story=this.store.storyFromCSFFile({storyId:o,csfFile:n}),this.csfFiles=[n,...t],this.preparing=!1}isEqual(e){return!!(this.id===e.id&&this.story&&this.story===e.story)}docsContext(e){if(!this.csfFiles)throw new Error("Cannot render docs before preparing");let t=new pd(this.channel,this.store,e,this.csfFiles);return this.csfFiles.forEach(i=>t.attachCSFFile(i)),t}async renderToElement(e,t){if(!this.story||!this.csfFiles)throw new Error("Cannot render docs before preparing");let i=this.docsContext(t),{docs:s}=this.story.parameters||{};if(!s)throw new Error("Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed");let n=await s.renderer(),{render:o}=n,a=x(async()=>{try{await o(i,s,e),this.channel.emit(Ia,this.id)}catch(l){this.callbacks.showException(l)}},"renderDocs");return this.rerender=async()=>a(),this.teardownRender=async({viewModeChanged:l})=>{!l||!e||n.unmount(e)},a()}async teardown({viewModeChanged:e}={}){this.teardownRender?.({viewModeChanged:e}),this.torndown=!0}};x(zS,"CsfDocsRender");var bv=zS,jS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.entry=i,this.callbacks=s,this.type="docs",this.subtype="mdx",this.torndown=!1,this.disableKeyListeners=!1,this.preparing=!1,this.id=i.id}isPreparing(){return this.preparing}async prepare(){this.preparing=!0;let{entryExports:e,csfFiles:t=[]}=await this.store.loadEntry(this.id);if(this.torndown)throw Ya;this.csfFiles=t,this.exports=e,this.preparing=!1}isEqual(e){return!!(this.id===e.id&&this.exports&&this.exports===e.exports)}docsContext(e){if(!this.csfFiles)throw new Error("Cannot render docs before preparing");return new pd(this.channel,this.store,e,this.csfFiles)}async renderToElement(e,t){if(!this.exports||!this.csfFiles||!this.store.projectAnnotations)throw new Error("Cannot render docs before preparing");let i=this.docsContext(t),{docs:s}=this.store.projectAnnotations.parameters||{};if(!s)throw new Error("Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed");let n={...s,page:this.exports.default},o=await s.renderer(),{render:a}=o,l=x(async()=>{try{await a(i,n,e),this.channel.emit(Ia,this.id)}catch(u){this.callbacks.showException(u)}},"renderDocs");return this.rerender=async()=>l(),this.teardownRender=async({viewModeChanged:u}={})=>{!u||!e||(o.unmount(e),this.torndown=!0)},l()}async teardown({viewModeChanged:e}={}){this.teardownRender?.({viewModeChanged:e}),this.torndown=!0}};x(jS,"MdxDocsRender");var vv=jS,eU=globalThis;function US(r){let e=r.composedPath&&r.composedPath()[0]||r.target;return/input|textarea/i.test(e.tagName)||e.getAttribute("contenteditable")!==null}x(US,"focusInInput");var HS="attached-mdx",tU="unattached-mdx";function WS({tags:r}){return r?.includes(tU)||r?.includes(HS)}x(WS,"isMdxEntry");function Fa(r){return r.type==="story"}x(Fa,"isStoryRender");function qS(r){return r.type==="docs"}x(qS,"isDocsRender");function $S(r){return qS(r)&&r.subtype==="csf"}x($S,"isCsfDocsRender");var VS=class extends MS{constructor(e,t,i,s){super(e,t,void 0,!1),this.importFn=e,this.getProjectAnnotations=t,this.selectionStore=i,this.view=s,this.initialize()}setupListeners(){super.setupListeners(),eU.onkeydown=this.onKeydown.bind(this),this.channel.on(E0,this.onSetCurrentStory.bind(this)),this.channel.on(M0,this.onUpdateQueryParams.bind(this)),this.channel.on(C0,this.onPreloadStories.bind(this))}async setInitialGlobals(){if(!this.storyStoreValue)throw new At({methodName:"setInitialGlobals"});let{globals:e}=this.selectionStore.selectionSpecifier||{};e&&this.storyStoreValue.userGlobals.updateFromPersisted(e),this.emitGlobals()}async initializeWithStoryIndex(e){return await super.initializeWithStoryIndex(e),this.selectSpecifiedStory()}async selectSpecifiedStory(){if(!this.storyStoreValue)throw new At({methodName:"selectSpecifiedStory"});if(this.selectionStore.selection){await this.renderSelection();return}if(!this.selectionStore.selectionSpecifier){this.renderMissingStory();return}let{storySpecifier:e,args:t}=this.selectionStore.selectionSpecifier,i=this.storyStoreValue.storyIndex.entryFromSpecifier(e);if(!i){e==="*"?this.renderStoryLoadingException(e,new Q0):this.renderStoryLoadingException(e,new ev({storySpecifier:e.toString()}));return}let{id:s,type:n}=i;this.selectionStore.setSelection({storyId:s,viewMode:n}),this.channel.emit(L0,this.selectionStore.selection),this.channel.emit(_h,this.selectionStore.selection),await this.renderSelection({persistedArgs:t})}async onGetProjectAnnotationsChanged({getProjectAnnotations:e}){await super.onGetProjectAnnotationsChanged({getProjectAnnotations:e}),this.selectionStore.selection&&this.renderSelection()}async onStoriesChanged({importFn:e,storyIndex:t}){await super.onStoriesChanged({importFn:e,storyIndex:t}),this.selectionStore.selection?await this.renderSelection():await this.selectSpecifiedStory()}onKeydown(e){if(!this.storyRenders.find(t=>t.disableKeyListeners)&&!US(e)){let{altKey:t,ctrlKey:i,metaKey:s,shiftKey:n,key:o,code:a,keyCode:l}=e;this.channel.emit(A0,{event:{altKey:t,ctrlKey:i,metaKey:s,shiftKey:n,key:o,code:a,keyCode:l}})}}async onSetCurrentStory(e){this.selectionStore.setSelection({viewMode:"story",...e}),await this.storeInitializationPromise,this.channel.emit(_h,this.selectionStore.selection),this.renderSelection()}onUpdateQueryParams(e){this.selectionStore.setQueryParams(e)}async onUpdateGlobals({globals:e}){let t=this.currentRender instanceof Mh&&this.currentRender.story||void 0;super.onUpdateGlobals({globals:e,currentStory:t}),(this.currentRender instanceof vv||this.currentRender instanceof bv)&&await this.currentRender.rerender?.()}async onUpdateArgs({storyId:e,updatedArgs:t}){super.onUpdateArgs({storyId:e,updatedArgs:t})}async onPreloadStories({ids:e}){await this.storeInitializationPromise,this.storyStoreValue&&await Promise.allSettled(e.map(t=>this.storyStoreValue?.loadEntry(t)))}async renderSelection({persistedArgs:e}={}){let{renderToCanvas:t}=this;if(!this.storyStoreValue||!t)throw new At({methodName:"renderSelection"});let{selection:i}=this.selectionStore;if(!i)throw new Error("Cannot call renderSelection as no selection was made");let{storyId:s}=i,n;try{n=await this.storyStoreValue.storyIdToEntry(s)}catch(m){this.currentRender&&await this.teardownRender(this.currentRender),this.renderStoryLoadingException(s,m);return}let o=this.currentSelection?.storyId!==s,a=this.currentRender?.type!==n.type;n.type==="story"?this.view.showPreparingStory({immediate:a}):this.view.showPreparingDocs({immediate:a}),this.currentRender?.isPreparing()&&await this.teardownRender(this.currentRender);let l;n.type==="story"?l=new Mh(this.channel,this.storyStoreValue,t,this.mainStoryCallbacks(s),s,"story"):WS(n)?l=new vv(this.channel,this.storyStoreValue,n,this.mainStoryCallbacks(s)):l=new bv(this.channel,this.storyStoreValue,n,this.mainStoryCallbacks(s));let u=this.currentSelection;this.currentSelection=i;let c=this.currentRender;this.currentRender=l;try{await l.prepare()}catch(m){c&&await this.teardownRender(c),m!==Ya&&this.renderStoryLoadingException(s,m);return}let g=!o&&c&&!l.isEqual(c);if(e&&Fa(l)&&(Da(!!l.story),this.storyStoreValue.args.updateFromPersisted(l.story,e)),c&&!c.torndown&&!o&&!g&&!a){this.currentRender=c,this.channel.emit(F0,s),this.view.showMain();return}if(c&&await this.teardownRender(c,{viewModeChanged:a}),u&&(o||a)&&this.channel.emit(R0,s),Fa(l)){Da(!!l.story);let{parameters:m,initialArgs:y,argTypes:b,unmappedArgs:C,initialGlobals:A,userGlobals:T,storyGlobals:R,globals:P}=this.storyStoreValue.getStoryContext(l.story);this.channel.emit(O0,{id:s,parameters:m,initialArgs:y,argTypes:b,args:C}),this.channel.emit(Zr,{userGlobals:T,storyGlobals:R,globals:P,initialGlobals:A})}else{let{parameters:m}=this.storyStoreValue.projectAnnotations,{initialGlobals:y,globals:b}=this.storyStoreValue.userGlobals;if(this.channel.emit(Zr,{globals:b,initialGlobals:y,storyGlobals:{},userGlobals:b}),$S(l)||l.entry.tags?.includes(HS)){if(!l.csfFiles)throw new K0({storyId:s});({parameters:m}=this.storyStoreValue.preparedMetaFromCSFFile({csfFile:l.csfFiles[0]}))}this.channel.emit(v0,{id:s,parameters:m})}Fa(l)?(Da(!!l.story),this.storyRenders.push(l),this.currentRender.renderToElement(this.view.prepareForStory(l.story))):this.currentRender.renderToElement(this.view.prepareForDocs(),this.renderStoryToElement.bind(this))}async teardownRender(e,{viewModeChanged:t=!1}={}){this.storyRenders=this.storyRenders.filter(i=>i!==e),await e?.teardown?.({viewModeChanged:t})}mainStoryCallbacks(e){return{showStoryDuringRender:x(()=>this.view.showStoryDuringRender(),"showStoryDuringRender"),showMain:x(()=>this.view.showMain(),"showMain"),showError:x(t=>this.renderError(e,t),"showError"),showException:x(t=>this.renderException(e,t),"showException")}}renderPreviewEntryError(e,t){super.renderPreviewEntryError(e,t),this.view.showErrorDisplay(t)}renderMissingStory(){this.view.showNoPreview(),this.channel.emit(xh)}renderStoryLoadingException(e,t){Pe.error(t),this.view.showErrorDisplay(t),this.channel.emit(xh,e)}renderException(e,t){let{name:i="Error",message:s=String(t),stack:n}=t;this.channel.emit(D0,{name:i,message:s,stack:n}),this.channel.emit(Ui,{newPhase:"errored",storyId:e}),this.view.showErrorDisplay(t),Pe.error(`Error rendering story '${e}':`),Pe.error(t)}renderError(e,{title:t,description:i}){Pe.error(`Error rendering story ${t}: ${i}`),this.channel.emit(P0,{title:t,description:i}),this.channel.emit(Ui,{newPhase:"errored",storyId:e}),this.view.showErrorDisplay({message:t,stack:i})}};x(VS,"PreviewWithSelection");var rU=VS,Nh=bt(id(),1),iU=bt(Zh(),1),sU=bt(id(),1),Sv=/^[a-zA-Z0-9 _-]*$/,GS=/^-?[0-9]+(\.[0-9]+)?$/,nU=/^#([a-f0-9]{3,4}|[a-f0-9]{6}|[a-f0-9]{8})$/i,YS=/^(rgba?|hsla?)\(([0-9]{1,3}),\s?([0-9]{1,3})%?,\s?([0-9]{1,3})%?,?\s?([0-9](\.[0-9]{1,2})?)?\)$/i,zh=x((r="",e)=>r===null||r===""||!Sv.test(r)?!1:e==null||e instanceof Date||typeof e=="number"||typeof e=="boolean"?!0:typeof e=="string"?Sv.test(e)||GS.test(e)||nU.test(e)||YS.test(e):Array.isArray(e)?e.every(t=>zh(r,t)):(0,iU.default)(e)?Object.entries(e).every(([t,i])=>zh(t,i)):!1,"validateArgs"),oU={delimiter:";",allowDots:!0,allowSparse:!0,decoder(r,e,t,i){if(i==="value"&&r.startsWith("!")){if(r==="!undefined")return;if(r==="!null")return null;if(r==="!true")return!0;if(r==="!false")return!1;if(r.startsWith("!date(")&&r.endsWith(")"))return new Date(r.slice(6,-1));if(r.startsWith("!hex(")&&r.endsWith(")"))return`#${r.slice(5,-1)}`;let s=r.slice(1).match(YS);if(s)return r.startsWith("!rgba")?`${s[1]}(${s[2]}, ${s[3]}, ${s[4]}, ${s[5]})`:r.startsWith("!hsla")?`${s[1]}(${s[2]}, ${s[3]}%, ${s[4]}%, ${s[5]})`:r.startsWith("!rgb")?`${s[1]}(${s[2]}, ${s[3]}, ${s[4]})`:`${s[1]}(${s[2]}, ${s[3]}%, ${s[4]}%)`}return i==="value"&&GS.test(r)?Number(r):e(r,e,t)}},wv=x(r=>{let e=r.split(";").map(t=>t.replace("=","~").replace(":","="));return Object.entries(sU.default.parse(e.join(";"),oU)).reduce((t,[i,s])=>zh(i,s)?Object.assign(t,{[i]:s}):(Br.warn(Nt` + - Did you pass a story, CSF file or meta to the 'of' prop that is not indexed, ie. is not targeted by the 'stories' globs in the main configuration?`)}switch(i.type){case"component":return{...i,projectAnnotations:this.projectAnnotations};case"meta":return{...i,preparedMeta:this.store.preparedMetaFromCSFFile({csfFile:i.csfFile})};case"story":default:return i}}};x(NS,"DocsContext");var pd=NS,zS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.entry=i,this.callbacks=s,this.type="docs",this.subtype="csf",this.torndown=!1,this.disableKeyListeners=!1,this.preparing=!1,this.id=i.id}isPreparing(){return this.preparing}async prepare(){this.preparing=!0;let{entryExports:e,csfFiles:t=[]}=await this.store.loadEntry(this.id);if(this.torndown)throw Ya;let{importPath:i,title:s}=this.entry,n=this.store.processCSFFileWithCache(e,i,s),o=Object.keys(n.stories)[0];this.story=this.store.storyFromCSFFile({storyId:o,csfFile:n}),this.csfFiles=[n,...t],this.preparing=!1}isEqual(e){return!!(this.id===e.id&&this.story&&this.story===e.story)}docsContext(e){if(!this.csfFiles)throw new Error("Cannot render docs before preparing");let t=new pd(this.channel,this.store,e,this.csfFiles);return this.csfFiles.forEach(i=>t.attachCSFFile(i)),t}async renderToElement(e,t){if(!this.story||!this.csfFiles)throw new Error("Cannot render docs before preparing");let i=this.docsContext(t),{docs:s}=this.story.parameters||{};if(!s)throw new Error("Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed");let n=await s.renderer(),{render:o}=n,a=x(async()=>{try{await o(i,s,e),this.channel.emit(Ia,this.id)}catch(l){this.callbacks.showException(l)}},"renderDocs");return this.rerender=async()=>a(),this.teardownRender=async({viewModeChanged:l})=>{!l||!e||n.unmount(e)},a()}async teardown({viewModeChanged:e}={}){this.teardownRender?.({viewModeChanged:e}),this.torndown=!0}};x(zS,"CsfDocsRender");var bv=zS,jS=class{constructor(e,t,i,s){this.channel=e,this.store=t,this.entry=i,this.callbacks=s,this.type="docs",this.subtype="mdx",this.torndown=!1,this.disableKeyListeners=!1,this.preparing=!1,this.id=i.id}isPreparing(){return this.preparing}async prepare(){this.preparing=!0;let{entryExports:e,csfFiles:t=[]}=await this.store.loadEntry(this.id);if(this.torndown)throw Ya;this.csfFiles=t,this.exports=e,this.preparing=!1}isEqual(e){return!!(this.id===e.id&&this.exports&&this.exports===e.exports)}docsContext(e){if(!this.csfFiles)throw new Error("Cannot render docs before preparing");return new pd(this.channel,this.store,e,this.csfFiles)}async renderToElement(e,t){if(!this.exports||!this.csfFiles||!this.store.projectAnnotations)throw new Error("Cannot render docs before preparing");let i=this.docsContext(t),{docs:s}=this.store.projectAnnotations.parameters||{};if(!s)throw new Error("Cannot render a story in viewMode=docs if `@storybook/addon-docs` is not installed");let n={...s,page:this.exports.default},o=await s.renderer(),{render:a}=o,l=x(async()=>{try{await a(i,n,e),this.channel.emit(Ia,this.id)}catch(u){this.callbacks.showException(u)}},"renderDocs");return this.rerender=async()=>l(),this.teardownRender=async({viewModeChanged:u}={})=>{!u||!e||(o.unmount(e),this.torndown=!0)},l()}async teardown({viewModeChanged:e}={}){this.teardownRender?.({viewModeChanged:e}),this.torndown=!0}};x(jS,"MdxDocsRender");var vv=jS,tU=globalThis;function US(r){let e=r.composedPath&&r.composedPath()[0]||r.target;return/input|textarea/i.test(e.tagName)||e.getAttribute("contenteditable")!==null}x(US,"focusInInput");var HS="attached-mdx",rU="unattached-mdx";function WS({tags:r}){return r?.includes(rU)||r?.includes(HS)}x(WS,"isMdxEntry");function Fa(r){return r.type==="story"}x(Fa,"isStoryRender");function qS(r){return r.type==="docs"}x(qS,"isDocsRender");function $S(r){return qS(r)&&r.subtype==="csf"}x($S,"isCsfDocsRender");var VS=class extends MS{constructor(e,t,i,s){super(e,t,void 0,!1),this.importFn=e,this.getProjectAnnotations=t,this.selectionStore=i,this.view=s,this.initialize()}setupListeners(){super.setupListeners(),tU.onkeydown=this.onKeydown.bind(this),this.channel.on(E0,this.onSetCurrentStory.bind(this)),this.channel.on(M0,this.onUpdateQueryParams.bind(this)),this.channel.on(C0,this.onPreloadStories.bind(this))}async setInitialGlobals(){if(!this.storyStoreValue)throw new At({methodName:"setInitialGlobals"});let{globals:e}=this.selectionStore.selectionSpecifier||{};e&&this.storyStoreValue.userGlobals.updateFromPersisted(e),this.emitGlobals()}async initializeWithStoryIndex(e){return await super.initializeWithStoryIndex(e),this.selectSpecifiedStory()}async selectSpecifiedStory(){if(!this.storyStoreValue)throw new At({methodName:"selectSpecifiedStory"});if(this.selectionStore.selection){await this.renderSelection();return}if(!this.selectionStore.selectionSpecifier){this.renderMissingStory();return}let{storySpecifier:e,args:t}=this.selectionStore.selectionSpecifier,i=this.storyStoreValue.storyIndex.entryFromSpecifier(e);if(!i){e==="*"?this.renderStoryLoadingException(e,new Q0):this.renderStoryLoadingException(e,new ev({storySpecifier:e.toString()}));return}let{id:s,type:n}=i;this.selectionStore.setSelection({storyId:s,viewMode:n}),this.channel.emit(L0,this.selectionStore.selection),this.channel.emit(_h,this.selectionStore.selection),await this.renderSelection({persistedArgs:t})}async onGetProjectAnnotationsChanged({getProjectAnnotations:e}){await super.onGetProjectAnnotationsChanged({getProjectAnnotations:e}),this.selectionStore.selection&&this.renderSelection()}async onStoriesChanged({importFn:e,storyIndex:t}){await super.onStoriesChanged({importFn:e,storyIndex:t}),this.selectionStore.selection?await this.renderSelection():await this.selectSpecifiedStory()}onKeydown(e){if(!this.storyRenders.find(t=>t.disableKeyListeners)&&!US(e)){let{altKey:t,ctrlKey:i,metaKey:s,shiftKey:n,key:o,code:a,keyCode:l}=e;this.channel.emit(A0,{event:{altKey:t,ctrlKey:i,metaKey:s,shiftKey:n,key:o,code:a,keyCode:l}})}}async onSetCurrentStory(e){this.selectionStore.setSelection({viewMode:"story",...e}),await this.storeInitializationPromise,this.channel.emit(_h,this.selectionStore.selection),this.renderSelection()}onUpdateQueryParams(e){this.selectionStore.setQueryParams(e)}async onUpdateGlobals({globals:e}){let t=this.currentRender instanceof Mh&&this.currentRender.story||void 0;super.onUpdateGlobals({globals:e,currentStory:t}),(this.currentRender instanceof vv||this.currentRender instanceof bv)&&await this.currentRender.rerender?.()}async onUpdateArgs({storyId:e,updatedArgs:t}){super.onUpdateArgs({storyId:e,updatedArgs:t})}async onPreloadStories({ids:e}){await this.storeInitializationPromise,this.storyStoreValue&&await Promise.allSettled(e.map(t=>this.storyStoreValue?.loadEntry(t)))}async renderSelection({persistedArgs:e}={}){let{renderToCanvas:t}=this;if(!this.storyStoreValue||!t)throw new At({methodName:"renderSelection"});let{selection:i}=this.selectionStore;if(!i)throw new Error("Cannot call renderSelection as no selection was made");let{storyId:s}=i,n;try{n=await this.storyStoreValue.storyIdToEntry(s)}catch(m){this.currentRender&&await this.teardownRender(this.currentRender),this.renderStoryLoadingException(s,m);return}let o=this.currentSelection?.storyId!==s,a=this.currentRender?.type!==n.type;n.type==="story"?this.view.showPreparingStory({immediate:a}):this.view.showPreparingDocs({immediate:a}),this.currentRender?.isPreparing()&&await this.teardownRender(this.currentRender);let l;n.type==="story"?l=new Mh(this.channel,this.storyStoreValue,t,this.mainStoryCallbacks(s),s,"story"):WS(n)?l=new vv(this.channel,this.storyStoreValue,n,this.mainStoryCallbacks(s)):l=new bv(this.channel,this.storyStoreValue,n,this.mainStoryCallbacks(s));let u=this.currentSelection;this.currentSelection=i;let c=this.currentRender;this.currentRender=l;try{await l.prepare()}catch(m){c&&await this.teardownRender(c),m!==Ya&&this.renderStoryLoadingException(s,m);return}let g=!o&&c&&!l.isEqual(c);if(e&&Fa(l)&&(Da(!!l.story),this.storyStoreValue.args.updateFromPersisted(l.story,e)),c&&!c.torndown&&!o&&!g&&!a){this.currentRender=c,this.channel.emit(F0,s),this.view.showMain();return}if(c&&await this.teardownRender(c,{viewModeChanged:a}),u&&(o||a)&&this.channel.emit(R0,s),Fa(l)){Da(!!l.story);let{parameters:m,initialArgs:y,argTypes:b,unmappedArgs:C,initialGlobals:A,userGlobals:T,storyGlobals:R,globals:P}=this.storyStoreValue.getStoryContext(l.story);this.channel.emit(O0,{id:s,parameters:m,initialArgs:y,argTypes:b,args:C}),this.channel.emit(Zr,{userGlobals:T,storyGlobals:R,globals:P,initialGlobals:A})}else{let{parameters:m}=this.storyStoreValue.projectAnnotations,{initialGlobals:y,globals:b}=this.storyStoreValue.userGlobals;if(this.channel.emit(Zr,{globals:b,initialGlobals:y,storyGlobals:{},userGlobals:b}),$S(l)||l.entry.tags?.includes(HS)){if(!l.csfFiles)throw new K0({storyId:s});({parameters:m}=this.storyStoreValue.preparedMetaFromCSFFile({csfFile:l.csfFiles[0]}))}this.channel.emit(v0,{id:s,parameters:m})}Fa(l)?(Da(!!l.story),this.storyRenders.push(l),this.currentRender.renderToElement(this.view.prepareForStory(l.story))):this.currentRender.renderToElement(this.view.prepareForDocs(),this.renderStoryToElement.bind(this))}async teardownRender(e,{viewModeChanged:t=!1}={}){this.storyRenders=this.storyRenders.filter(i=>i!==e),await e?.teardown?.({viewModeChanged:t})}mainStoryCallbacks(e){return{showStoryDuringRender:x(()=>this.view.showStoryDuringRender(),"showStoryDuringRender"),showMain:x(()=>this.view.showMain(),"showMain"),showError:x(t=>this.renderError(e,t),"showError"),showException:x(t=>this.renderException(e,t),"showException")}}renderPreviewEntryError(e,t){super.renderPreviewEntryError(e,t),this.view.showErrorDisplay(t)}renderMissingStory(){this.view.showNoPreview(),this.channel.emit(xh)}renderStoryLoadingException(e,t){Pe.error(t),this.view.showErrorDisplay(t),this.channel.emit(xh,e)}renderException(e,t){let{name:i="Error",message:s=String(t),stack:n}=t;this.channel.emit(D0,{name:i,message:s,stack:n}),this.channel.emit(Ui,{newPhase:"errored",storyId:e}),this.view.showErrorDisplay(t),Pe.error(`Error rendering story '${e}':`),Pe.error(t)}renderError(e,{title:t,description:i}){Pe.error(`Error rendering story ${t}: ${i}`),this.channel.emit(P0,{title:t,description:i}),this.channel.emit(Ui,{newPhase:"errored",storyId:e}),this.view.showErrorDisplay({message:t,stack:i})}};x(VS,"PreviewWithSelection");var iU=VS,Nh=bt(id(),1),sU=bt(Zh(),1),nU=bt(id(),1),Sv=/^[a-zA-Z0-9 _-]*$/,GS=/^-?[0-9]+(\.[0-9]+)?$/,oU=/^#([a-f0-9]{3,4}|[a-f0-9]{6}|[a-f0-9]{8})$/i,YS=/^(rgba?|hsla?)\(([0-9]{1,3}),\s?([0-9]{1,3})%?,\s?([0-9]{1,3})%?,?\s?([0-9](\.[0-9]{1,2})?)?\)$/i,zh=x((r="",e)=>r===null||r===""||!Sv.test(r)?!1:e==null||e instanceof Date||typeof e=="number"||typeof e=="boolean"?!0:typeof e=="string"?Sv.test(e)||GS.test(e)||oU.test(e)||YS.test(e):Array.isArray(e)?e.every(t=>zh(r,t)):(0,sU.default)(e)?Object.entries(e).every(([t,i])=>zh(t,i)):!1,"validateArgs"),aU={delimiter:";",allowDots:!0,allowSparse:!0,decoder(r,e,t,i){if(i==="value"&&r.startsWith("!")){if(r==="!undefined")return;if(r==="!null")return null;if(r==="!true")return!0;if(r==="!false")return!1;if(r.startsWith("!date(")&&r.endsWith(")"))return new Date(r.slice(6,-1));if(r.startsWith("!hex(")&&r.endsWith(")"))return`#${r.slice(5,-1)}`;let s=r.slice(1).match(YS);if(s)return r.startsWith("!rgba")?`${s[1]}(${s[2]}, ${s[3]}, ${s[4]}, ${s[5]})`:r.startsWith("!hsla")?`${s[1]}(${s[2]}, ${s[3]}%, ${s[4]}%, ${s[5]})`:r.startsWith("!rgb")?`${s[1]}(${s[2]}, ${s[3]}, ${s[4]})`:`${s[1]}(${s[2]}, ${s[3]}%, ${s[4]}%)`}return i==="value"&&GS.test(r)?Number(r):e(r,e,t)}},wv=x(r=>{let e=r.split(";").map(t=>t.replace("=","~").replace(":","="));return Object.entries(nU.default.parse(e.join(";"),aU)).reduce((t,[i,s])=>zh(i,s)?Object.assign(t,{[i]:s}):(Br.warn(Nt` Omitted potentially unsafe URL args. More info: https://storybook.js.org/docs/react/writing-stories/args#setting-args-through-the-url - `),t),{})},"parseArgsParam"),{history:XS,document:dr}=it;function KS(r){let e=(r||"").match(/^\/story\/(.+)/);if(!e)throw new Error(`Invalid path '${r}', must start with '/story/'`);return e[1]}x(KS,"pathToId");var JS=x(({selection:r,extraParams:e})=>{let t=typeof dr<"u"?dr.location.search:"",{path:i,selectedKind:s,selectedStory:n,...o}=Nh.default.parse(t,{ignoreQueryPrefix:!0});return Nh.default.stringify({...o,...e,...r&&{id:r.storyId,viewMode:r.viewMode}},{encode:!1,addQueryPrefix:!0})},"getQueryString"),aU=x(r=>{if(!r)return;let e=JS({selection:r}),{hash:t=""}=dr.location;dr.title=r.storyId,XS.replaceState({},"",`${dr.location.pathname}${e}${t}`)},"setPath"),lU=x(r=>r!=null&&typeof r=="object"&&Array.isArray(r)===!1,"isObject"),fn=x(r=>{if(r!==void 0){if(typeof r=="string")return r;if(Array.isArray(r))return fn(r[0]);if(lU(r))return fn(Object.values(r).filter(Boolean))}},"getFirstString"),uU=x(()=>{if(typeof dr<"u"){let r=Nh.default.parse(dr.location.search,{ignoreQueryPrefix:!0}),e=typeof r.args=="string"?wv(r.args):void 0,t=typeof r.globals=="string"?wv(r.globals):void 0,i=fn(r.viewMode);(typeof i!="string"||!i.match(/docs|story/))&&(i="story");let s=fn(r.path),n=s?KS(s):fn(r.id);if(n)return{storySpecifier:n,args:e,globals:t,viewMode:i}}return null},"getSelectionSpecifierFromPath"),QS=class{constructor(){this.selectionSpecifier=uU()}setSelection(e){this.selection=e,aU(this.selection)}setQueryParams(e){let t=JS({extraParams:e}),{hash:i=""}=dr.location;XS.replaceState({},"",`${dr.location.pathname}${t}${i}`)}};x(QS,"UrlStore");var cU=QS,hU=bt(oj(),1),dU=bt(id(),1),{document:ft}=it,Tv=100,ZS=(r=>(r.MAIN="MAIN",r.NOPREVIEW="NOPREVIEW",r.PREPARING_STORY="PREPARING_STORY",r.PREPARING_DOCS="PREPARING_DOCS",r.ERROR="ERROR",r))(ZS||{}),Ah={PREPARING_STORY:"sb-show-preparing-story",PREPARING_DOCS:"sb-show-preparing-docs",MAIN:"sb-show-main",NOPREVIEW:"sb-show-nopreview",ERROR:"sb-show-errordisplay"},Eh={centered:"sb-main-centered",fullscreen:"sb-main-fullscreen",padded:"sb-main-padded"},Cv=new hU.default({escapeXML:!0}),ew=class{constructor(){if(this.testing=!1,typeof ft<"u"){let{__SPECIAL_TEST_PARAMETER__:e}=dU.default.parse(ft.location.search,{ignoreQueryPrefix:!0});switch(e){case"preparing-story":{this.showPreparingStory(),this.testing=!0;break}case"preparing-docs":{this.showPreparingDocs(),this.testing=!0;break}default:}}}prepareForStory(e){return this.showStory(),this.applyLayout(e.parameters.layout),ft.documentElement.scrollTop=0,ft.documentElement.scrollLeft=0,this.storyRoot()}storyRoot(){return ft.getElementById("storybook-root")}prepareForDocs(){return this.showMain(),this.showDocs(),this.applyLayout("fullscreen"),ft.documentElement.scrollTop=0,ft.documentElement.scrollLeft=0,this.docsRoot()}docsRoot(){return ft.getElementById("storybook-docs")}applyLayout(e="padded"){if(e==="none"){ft.body.classList.remove(this.currentLayoutClass),this.currentLayoutClass=null;return}this.checkIfLayoutExists(e);let t=Eh[e];ft.body.classList.remove(this.currentLayoutClass),ft.body.classList.add(t),this.currentLayoutClass=t}checkIfLayoutExists(e){Eh[e]||Pe.warn(Nt` + `),t),{})},"parseArgsParam"),{history:XS,document:dr}=it;function KS(r){let e=(r||"").match(/^\/story\/(.+)/);if(!e)throw new Error(`Invalid path '${r}', must start with '/story/'`);return e[1]}x(KS,"pathToId");var JS=x(({selection:r,extraParams:e})=>{let t=typeof dr<"u"?dr.location.search:"",{path:i,selectedKind:s,selectedStory:n,...o}=Nh.default.parse(t,{ignoreQueryPrefix:!0});return Nh.default.stringify({...o,...e,...r&&{id:r.storyId,viewMode:r.viewMode}},{encode:!1,addQueryPrefix:!0})},"getQueryString"),lU=x(r=>{if(!r)return;let e=JS({selection:r}),{hash:t=""}=dr.location;dr.title=r.storyId,XS.replaceState({},"",`${dr.location.pathname}${e}${t}`)},"setPath"),uU=x(r=>r!=null&&typeof r=="object"&&Array.isArray(r)===!1,"isObject"),fn=x(r=>{if(r!==void 0){if(typeof r=="string")return r;if(Array.isArray(r))return fn(r[0]);if(uU(r))return fn(Object.values(r).filter(Boolean))}},"getFirstString"),cU=x(()=>{if(typeof dr<"u"){let r=Nh.default.parse(dr.location.search,{ignoreQueryPrefix:!0}),e=typeof r.args=="string"?wv(r.args):void 0,t=typeof r.globals=="string"?wv(r.globals):void 0,i=fn(r.viewMode);(typeof i!="string"||!i.match(/docs|story/))&&(i="story");let s=fn(r.path),n=s?KS(s):fn(r.id);if(n)return{storySpecifier:n,args:e,globals:t,viewMode:i}}return null},"getSelectionSpecifierFromPath"),QS=class{constructor(){this.selectionSpecifier=cU()}setSelection(e){this.selection=e,lU(this.selection)}setQueryParams(e){let t=JS({extraParams:e}),{hash:i=""}=dr.location;XS.replaceState({},"",`${dr.location.pathname}${t}${i}`)}};x(QS,"UrlStore");var hU=QS,dU=bt(aj(),1),pU=bt(id(),1),{document:ft}=it,Tv=100,ZS=(r=>(r.MAIN="MAIN",r.NOPREVIEW="NOPREVIEW",r.PREPARING_STORY="PREPARING_STORY",r.PREPARING_DOCS="PREPARING_DOCS",r.ERROR="ERROR",r))(ZS||{}),Ah={PREPARING_STORY:"sb-show-preparing-story",PREPARING_DOCS:"sb-show-preparing-docs",MAIN:"sb-show-main",NOPREVIEW:"sb-show-nopreview",ERROR:"sb-show-errordisplay"},Eh={centered:"sb-main-centered",fullscreen:"sb-main-fullscreen",padded:"sb-main-padded"},Cv=new dU.default({escapeXML:!0}),ew=class{constructor(){if(this.testing=!1,typeof ft<"u"){let{__SPECIAL_TEST_PARAMETER__:e}=pU.default.parse(ft.location.search,{ignoreQueryPrefix:!0});switch(e){case"preparing-story":{this.showPreparingStory(),this.testing=!0;break}case"preparing-docs":{this.showPreparingDocs(),this.testing=!0;break}default:}}}prepareForStory(e){return this.showStory(),this.applyLayout(e.parameters.layout),ft.documentElement.scrollTop=0,ft.documentElement.scrollLeft=0,this.storyRoot()}storyRoot(){return ft.getElementById("storybook-root")}prepareForDocs(){return this.showMain(),this.showDocs(),this.applyLayout("fullscreen"),ft.documentElement.scrollTop=0,ft.documentElement.scrollLeft=0,this.docsRoot()}docsRoot(){return ft.getElementById("storybook-docs")}applyLayout(e="padded"){if(e==="none"){ft.body.classList.remove(this.currentLayoutClass),this.currentLayoutClass=null;return}this.checkIfLayoutExists(e);let t=Eh[e];ft.body.classList.remove(this.currentLayoutClass),ft.body.classList.add(t),this.currentLayoutClass=t}checkIfLayoutExists(e){Eh[e]||Pe.warn(Nt` The desired layout: ${e} is not a valid option. The possible options are: ${Object.keys(Eh).join(", ")}, none. `)}showMode(e){clearTimeout(this.preparingTimeout),Object.keys(ZS).forEach(t=>{t===e?ft.body.classList.add(Ah[t]):ft.body.classList.remove(Ah[t])})}showErrorDisplay({message:e="",stack:t=""}){let i=e,s=t,n=e.split(` `);n.length>1&&([i]=n,s=n.slice(1).join(` -`).replace(/^\n/,"")),ft.getElementById("error-message").innerHTML=Cv.toHtml(i),ft.getElementById("error-stack").innerHTML=Cv.toHtml(s),this.showMode("ERROR")}showNoPreview(){this.testing||(this.showMode("NOPREVIEW"),this.storyRoot()?.setAttribute("hidden","true"),this.docsRoot()?.setAttribute("hidden","true"))}showPreparingStory({immediate:e=!1}={}){clearTimeout(this.preparingTimeout),e?this.showMode("PREPARING_STORY"):this.preparingTimeout=setTimeout(()=>this.showMode("PREPARING_STORY"),Tv)}showPreparingDocs({immediate:e=!1}={}){clearTimeout(this.preparingTimeout),e?this.showMode("PREPARING_DOCS"):this.preparingTimeout=setTimeout(()=>this.showMode("PREPARING_DOCS"),Tv)}showMain(){this.showMode("MAIN")}showDocs(){this.storyRoot().setAttribute("hidden","true"),this.docsRoot().removeAttribute("hidden")}showStory(){this.docsRoot().setAttribute("hidden","true"),this.storyRoot().removeAttribute("hidden")}showStoryDuringRender(){ft.body.classList.add(Ah.MAIN)}};x(ew,"WebView");var pU=ew,fU=class extends rU{constructor(e,t){super(e,t,new cU,new pU),this.importFn=e,this.getProjectAnnotations=t,it.__STORYBOOK_PREVIEW__=this}};x(fU,"PreviewWeb");var{document:ti}=it,gU=["application/javascript","application/ecmascript","application/x-ecmascript","application/x-javascript","text/ecmascript","text/javascript","text/javascript1.0","text/javascript1.1","text/javascript1.2","text/javascript1.3","text/javascript1.4","text/javascript1.5","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript","module"],mU="script",Av="scripts-root";function jh(){let r=ti.createEvent("Event");r.initEvent("DOMContentLoaded",!0,!0),ti.dispatchEvent(r)}x(jh,"simulateDOMContentLoaded");function tw(r,e,t){let i=ti.createElement("script");i.type=r.type==="module"?"module":"text/javascript",r.src?(i.onload=e,i.onerror=e,i.src=r.src):i.textContent=r.innerText,t?t.appendChild(i):ti.head.appendChild(i),r.parentNode.removeChild(r),r.src||e()}x(tw,"insertScript");function fd(r,e,t=0){r[t](()=>{t++,t===r.length?e():fd(r,e,t)})}x(fd,"insertScriptsSequentially");function _U(r){let e=ti.getElementById(Av);e?e.innerHTML="":(e=ti.createElement("div"),e.id=Av,ti.body.appendChild(e));let t=Array.from(r.querySelectorAll(mU));if(t.length){let i=[];t.forEach(s=>{let n=s.getAttribute("type");(!n||gU.includes(n))&&i.push(o=>tw(s,o,e))}),i.length&&fd(i,jh,void 0)}else jh()}x(_U,"simulatePageLoad");h();d();p();h();d();p();var Xi=ye(iw(),1);var yU=Object.create,gd=Object.defineProperty,xU=Object.getOwnPropertyDescriptor,bU=Object.getOwnPropertyNames,vU=Object.getPrototypeOf,SU=Object.prototype.hasOwnProperty,M=(r,e)=>gd(r,"name",{value:e,configurable:!0}),X=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),wU=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of bU(e))!SU.call(r,s)&&s!==t&&gd(r,s,{get:()=>e[s],enumerable:!(i=xU(e,s))||i.enumerable});return r},TU=(r,e,t)=>(t=r!=null?yU(vU(r)):{},wU(e||!r||!r.__esModule?gd(t,"default",{value:r,enumerable:!0}):t,r)),sw=X((r,e)=>{var t=typeof window=="object"&&window&&window.Object===Object&&window;e.exports=t}),mr=X((r,e)=>{var t=sw(),i=typeof self=="object"&&self&&self.Object===Object&&self,s=t||i||Function("return this")();e.exports=s}),Ka=X((r,e)=>{var t=mr(),i=t.Symbol;e.exports=i}),CU=X((r,e)=>{var t=Ka(),i=Object.prototype,s=i.hasOwnProperty,n=i.toString,o=t?t.toStringTag:void 0;function a(l){var u=s.call(l,o),c=l[o];try{l[o]=void 0;var g=!0}catch{}var m=n.call(l);return g&&(u?l[o]=c:delete l[o]),m}M(a,"getRawTag"),e.exports=a}),AU=X((r,e)=>{var t=Object.prototype,i=t.toString;function s(n){return i.call(n)}M(s,"objectToString"),e.exports=s}),Cn=X((r,e)=>{var t=Ka(),i=CU(),s=AU(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function l(u){return u==null?u===void 0?o:n:a&&a in Object(u)?i(u):s(u)}M(l,"baseGetTag"),e.exports=l}),md=X((r,e)=>{function t(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}M(t,"isObject"),e.exports=t}),nw=X((r,e)=>{var t=Cn(),i=md(),s="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function l(u){if(!i(u))return!1;var c=t(u);return c==n||c==o||c==s||c==a}M(l,"isFunction"),e.exports=l}),EU=X((r,e)=>{var t=mr(),i=t["__core-js_shared__"];e.exports=i}),IU=X((r,e)=>{var t=EU(),i=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function s(n){return!!i&&i in n}M(s,"isMasked"),e.exports=s}),ow=X((r,e)=>{var t=Function.prototype,i=t.toString;function s(n){if(n!=null){try{return i.call(n)}catch{}try{return n+""}catch{}}return""}M(s,"toSource"),e.exports=s}),RU=X((r,e)=>{var t=nw(),i=IU(),s=md(),n=ow(),o=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,g=u.hasOwnProperty,m=RegExp("^"+c.call(g).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function y(b){if(!s(b)||i(b))return!1;var C=t(b)?m:a;return C.test(n(b))}M(y,"baseIsNative"),e.exports=y}),PU=X((r,e)=>{function t(i,s){return i?.[s]}M(t,"getValue"),e.exports=t}),ni=X((r,e)=>{var t=RU(),i=PU();function s(n,o){var a=i(n,o);return t(a)?a:void 0}M(s,"getNative"),e.exports=s}),kU=X((r,e)=>{var t=ni(),i=function(){try{var s=t(Object,"defineProperty");return s({},"",{}),s}catch{}}();e.exports=i}),OU=X((r,e)=>{var t=kU();function i(s,n,o){n=="__proto__"&&t?t(s,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):s[n]=o}M(i,"baseAssignValue"),e.exports=i}),LU=X((r,e)=>{function t(i){return function(s,n,o){for(var a=-1,l=Object(s),u=o(s),c=u.length;c--;){var g=u[i?c:++a];if(n(l[g],g,l)===!1)break}return s}}M(t,"createBaseFor"),e.exports=t}),DU=X((r,e)=>{var t=LU(),i=t();e.exports=i}),FU=X((r,e)=>{function t(i,s){for(var n=-1,o=Array(i);++n<i;)o[n]=s(n);return o}M(t,"baseTimes"),e.exports=t}),An=X((r,e)=>{function t(i){return i!=null&&typeof i=="object"}M(t,"isObjectLike"),e.exports=t}),BU=X((r,e)=>{var t=Cn(),i=An(),s="[object Arguments]";function n(o){return i(o)&&t(o)==s}M(n,"baseIsArguments"),e.exports=n}),aw=X((r,e)=>{var t=BU(),i=An(),s=Object.prototype,n=s.hasOwnProperty,o=s.propertyIsEnumerable,a=t(function(){return arguments}())?t:function(l){return i(l)&&n.call(l,"callee")&&!o.call(l,"callee")};e.exports=a}),jr=X((r,e)=>{var t=Array.isArray;e.exports=t}),MU=X((r,e)=>{function t(){return!1}M(t,"stubFalse"),e.exports=t}),lw=X((r,e)=>{var t=mr(),i=MU(),s=typeof r=="object"&&r&&!r.nodeType&&r,n=s&&typeof e=="object"&&e&&!e.nodeType&&e,o=n&&n.exports===s,a=o?t.Buffer:void 0,l=a?a.isBuffer:void 0,u=l||i;e.exports=u}),uw=X((r,e)=>{var t=9007199254740991,i=/^(?:0|[1-9]\d*)$/;function s(n,o){var a=typeof n;return o=o??t,!!o&&(a=="number"||a!="symbol"&&i.test(n))&&n>-1&&n%1==0&&n<o}M(s,"isIndex"),e.exports=s}),_d=X((r,e)=>{var t=9007199254740991;function i(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=t}M(i,"isLength"),e.exports=i}),NU=X((r,e)=>{var t=Cn(),i=_d(),s=An(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",c="[object Function]",g="[object Map]",m="[object Number]",y="[object Object]",b="[object RegExp]",C="[object Set]",A="[object String]",T="[object WeakMap]",R="[object ArrayBuffer]",P="[object DataView]",E="[object Float32Array]",k="[object Float64Array]",O="[object Int8Array]",B="[object Int16Array]",F="[object Int32Array]",U="[object Uint8Array]",q="[object Uint8ClampedArray]",ee="[object Uint16Array]",te="[object Uint32Array]",$={};$[E]=$[k]=$[O]=$[B]=$[F]=$[U]=$[q]=$[ee]=$[te]=!0,$[n]=$[o]=$[R]=$[a]=$[P]=$[l]=$[u]=$[c]=$[g]=$[m]=$[y]=$[b]=$[C]=$[A]=$[T]=!1;function D(N){return s(N)&&i(N.length)&&!!$[t(N)]}M(D,"baseIsTypedArray"),e.exports=D}),zU=X((r,e)=>{function t(i){return function(s){return i(s)}}M(t,"baseUnary"),e.exports=t}),jU=X((r,e)=>{var t=sw(),i=typeof r=="object"&&r&&!r.nodeType&&r,s=i&&typeof e=="object"&&e&&!e.nodeType&&e,n=s&&s.exports===i,o=n&&t.process,a=function(){try{var l=s&&s.require&&s.require("util").types;return l||o&&o.binding&&o.binding("util")}catch{}}();e.exports=a}),cw=X((r,e)=>{var t=NU(),i=zU(),s=jU(),n=s&&s.isTypedArray,o=n?i(n):t;e.exports=o}),UU=X((r,e)=>{var t=FU(),i=aw(),s=jr(),n=lw(),o=uw(),a=cw(),l=Object.prototype,u=l.hasOwnProperty;function c(g,m){var y=s(g),b=!y&&i(g),C=!y&&!b&&n(g),A=!y&&!b&&!C&&a(g),T=y||b||C||A,R=T?t(g.length,String):[],P=R.length;for(var E in g)(m||u.call(g,E))&&!(T&&(E=="length"||C&&(E=="offset"||E=="parent")||A&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,P)))&&R.push(E);return R}M(c,"arrayLikeKeys"),e.exports=c}),HU=X((r,e)=>{var t=Object.prototype;function i(s){var n=s&&s.constructor,o=typeof n=="function"&&n.prototype||t;return s===o}M(i,"isPrototype"),e.exports=i}),WU=X((r,e)=>{function t(i,s){return function(n){return i(s(n))}}M(t,"overArg"),e.exports=t}),qU=X((r,e)=>{var t=WU(),i=t(Object.keys,Object);e.exports=i}),$U=X((r,e)=>{var t=HU(),i=qU(),s=Object.prototype,n=s.hasOwnProperty;function o(a){if(!t(a))return i(a);var l=[];for(var u in Object(a))n.call(a,u)&&u!="constructor"&&l.push(u);return l}M(o,"baseKeys"),e.exports=o}),VU=X((r,e)=>{var t=nw(),i=_d();function s(n){return n!=null&&i(n.length)&&!t(n)}M(s,"isArrayLike"),e.exports=s}),yd=X((r,e)=>{var t=UU(),i=$U(),s=VU();function n(o){return s(o)?t(o):i(o)}M(n,"keys"),e.exports=n}),GU=X((r,e)=>{var t=DU(),i=yd();function s(n,o){return n&&t(n,o,i)}M(s,"baseForOwn"),e.exports=s}),YU=X((r,e)=>{function t(){this.__data__=[],this.size=0}M(t,"listCacheClear"),e.exports=t}),hw=X((r,e)=>{function t(i,s){return i===s||i!==i&&s!==s}M(t,"eq"),e.exports=t}),Ja=X((r,e)=>{var t=hw();function i(s,n){for(var o=s.length;o--;)if(t(s[o][0],n))return o;return-1}M(i,"assocIndexOf"),e.exports=i}),XU=X((r,e)=>{var t=Ja(),i=Array.prototype,s=i.splice;function n(o){var a=this.__data__,l=t(a,o);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():s.call(a,l,1),--this.size,!0}M(n,"listCacheDelete"),e.exports=n}),KU=X((r,e)=>{var t=Ja();function i(s){var n=this.__data__,o=t(n,s);return o<0?void 0:n[o][1]}M(i,"listCacheGet"),e.exports=i}),JU=X((r,e)=>{var t=Ja();function i(s){return t(this.__data__,s)>-1}M(i,"listCacheHas"),e.exports=i}),QU=X((r,e)=>{var t=Ja();function i(s,n){var o=this.__data__,a=t(o,s);return a<0?(++this.size,o.push([s,n])):o[a][1]=n,this}M(i,"listCacheSet"),e.exports=i}),Qa=X((r,e)=>{var t=YU(),i=XU(),s=KU(),n=JU(),o=QU();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"ListCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),ZU=X((r,e)=>{var t=Qa();function i(){this.__data__=new t,this.size=0}M(i,"stackClear"),e.exports=i}),e4=X((r,e)=>{function t(i){var s=this.__data__,n=s.delete(i);return this.size=s.size,n}M(t,"stackDelete"),e.exports=t}),t4=X((r,e)=>{function t(i){return this.__data__.get(i)}M(t,"stackGet"),e.exports=t}),r4=X((r,e)=>{function t(i){return this.__data__.has(i)}M(t,"stackHas"),e.exports=t}),xd=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Map");e.exports=s}),Za=X((r,e)=>{var t=ni(),i=t(Object,"create");e.exports=i}),i4=X((r,e)=>{var t=Za();function i(){this.__data__=t?t(null):{},this.size=0}M(i,"hashClear"),e.exports=i}),s4=X((r,e)=>{function t(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}M(t,"hashDelete"),e.exports=t}),n4=X((r,e)=>{var t=Za(),i="__lodash_hash_undefined__",s=Object.prototype,n=s.hasOwnProperty;function o(a){var l=this.__data__;if(t){var u=l[a];return u===i?void 0:u}return n.call(l,a)?l[a]:void 0}M(o,"hashGet"),e.exports=o}),o4=X((r,e)=>{var t=Za(),i=Object.prototype,s=i.hasOwnProperty;function n(o){var a=this.__data__;return t?a[o]!==void 0:s.call(a,o)}M(n,"hashHas"),e.exports=n}),a4=X((r,e)=>{var t=Za(),i="__lodash_hash_undefined__";function s(n,o){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=t&&o===void 0?i:o,this}M(s,"hashSet"),e.exports=s}),l4=X((r,e)=>{var t=i4(),i=s4(),s=n4(),n=o4(),o=a4();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"Hash"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),u4=X((r,e)=>{var t=l4(),i=Qa(),s=xd();function n(){this.size=0,this.__data__={hash:new t,map:new(s||i),string:new t}}M(n,"mapCacheClear"),e.exports=n}),c4=X((r,e)=>{function t(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}M(t,"isKeyable"),e.exports=t}),el=X((r,e)=>{var t=c4();function i(s,n){var o=s.__data__;return t(n)?o[typeof n=="string"?"string":"hash"]:o.map}M(i,"getMapData"),e.exports=i}),h4=X((r,e)=>{var t=el();function i(s){var n=t(this,s).delete(s);return this.size-=n?1:0,n}M(i,"mapCacheDelete"),e.exports=i}),d4=X((r,e)=>{var t=el();function i(s){return t(this,s).get(s)}M(i,"mapCacheGet"),e.exports=i}),p4=X((r,e)=>{var t=el();function i(s){return t(this,s).has(s)}M(i,"mapCacheHas"),e.exports=i}),f4=X((r,e)=>{var t=el();function i(s,n){var o=t(this,s),a=o.size;return o.set(s,n),this.size+=o.size==a?0:1,this}M(i,"mapCacheSet"),e.exports=i}),bd=X((r,e)=>{var t=u4(),i=h4(),s=d4(),n=p4(),o=f4();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"MapCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),g4=X((r,e)=>{var t=Qa(),i=xd(),s=bd(),n=200;function o(a,l){var u=this.__data__;if(u instanceof t){var c=u.__data__;if(!i||c.length<n-1)return c.push([a,l]),this.size=++u.size,this;u=this.__data__=new s(c)}return u.set(a,l),this.size=u.size,this}M(o,"stackSet"),e.exports=o}),dw=X((r,e)=>{var t=Qa(),i=ZU(),s=e4(),n=t4(),o=r4(),a=g4();function l(u){var c=this.__data__=new t(u);this.size=c.size}M(l,"Stack"),l.prototype.clear=i,l.prototype.delete=s,l.prototype.get=n,l.prototype.has=o,l.prototype.set=a,e.exports=l}),m4=X((r,e)=>{var t="__lodash_hash_undefined__";function i(s){return this.__data__.set(s,t),this}M(i,"setCacheAdd"),e.exports=i}),_4=X((r,e)=>{function t(i){return this.__data__.has(i)}M(t,"setCacheHas"),e.exports=t}),y4=X((r,e)=>{var t=bd(),i=m4(),s=_4();function n(o){var a=-1,l=o==null?0:o.length;for(this.__data__=new t;++a<l;)this.add(o[a])}M(n,"SetCache"),n.prototype.add=n.prototype.push=i,n.prototype.has=s,e.exports=n}),x4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length;++n<o;)if(s(i[n],n,i))return!0;return!1}M(t,"arraySome"),e.exports=t}),b4=X((r,e)=>{function t(i,s){return i.has(s)}M(t,"cacheHas"),e.exports=t}),pw=X((r,e)=>{var t=y4(),i=x4(),s=b4(),n=1,o=2;function a(l,u,c,g,m,y){var b=c&n,C=l.length,A=u.length;if(C!=A&&!(b&&A>C))return!1;var T=y.get(l),R=y.get(u);if(T&&R)return T==u&&R==l;var P=-1,E=!0,k=c&o?new t:void 0;for(y.set(l,u),y.set(u,l);++P<C;){var O=l[P],B=u[P];if(g)var F=b?g(B,O,P,u,l,y):g(O,B,P,l,u,y);if(F!==void 0){if(F)continue;E=!1;break}if(k){if(!i(u,function(U,q){if(!s(k,q)&&(O===U||m(O,U,c,g,y)))return k.push(q)})){E=!1;break}}else if(!(O===B||m(O,B,c,g,y))){E=!1;break}}return y.delete(l),y.delete(u),E}M(a,"equalArrays"),e.exports=a}),v4=X((r,e)=>{var t=mr(),i=t.Uint8Array;e.exports=i}),S4=X((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o,a){n[++s]=[a,o]}),n}M(t,"mapToArray"),e.exports=t}),w4=X((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o){n[++s]=o}),n}M(t,"setToArray"),e.exports=t}),T4=X((r,e)=>{var t=Ka(),i=v4(),s=hw(),n=pw(),o=S4(),a=w4(),l=1,u=2,c="[object Boolean]",g="[object Date]",m="[object Error]",y="[object Map]",b="[object Number]",C="[object RegExp]",A="[object Set]",T="[object String]",R="[object Symbol]",P="[object ArrayBuffer]",E="[object DataView]",k=t?t.prototype:void 0,O=k?k.valueOf:void 0;function B(F,U,q,ee,te,$,D){switch(q){case E:if(F.byteLength!=U.byteLength||F.byteOffset!=U.byteOffset)return!1;F=F.buffer,U=U.buffer;case P:return!(F.byteLength!=U.byteLength||!$(new i(F),new i(U)));case c:case g:case b:return s(+F,+U);case m:return F.name==U.name&&F.message==U.message;case C:case T:return F==U+"";case y:var N=o;case A:var G=ee&l;if(N||(N=a),F.size!=U.size&&!G)return!1;var Q=D.get(F);if(Q)return Q==U;ee|=u,D.set(F,U);var ne=n(N(F),N(U),ee,te,$,D);return D.delete(F),ne;case R:if(O)return O.call(F)==O.call(U)}return!1}M(B,"equalByTag"),e.exports=B}),C4=X((r,e)=>{function t(i,s){for(var n=-1,o=s.length,a=i.length;++n<o;)i[a+n]=s[n];return i}M(t,"arrayPush"),e.exports=t}),A4=X((r,e)=>{var t=C4(),i=jr();function s(n,o,a){var l=o(n);return i(n)?l:t(l,a(n))}M(s,"baseGetAllKeys"),e.exports=s}),E4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=0,l=[];++n<o;){var u=i[n];s(u,n,i)&&(l[a++]=u)}return l}M(t,"arrayFilter"),e.exports=t}),I4=X((r,e)=>{function t(){return[]}M(t,"stubArray"),e.exports=t}),R4=X((r,e)=>{var t=E4(),i=I4(),s=Object.prototype,n=s.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(l){return l==null?[]:(l=Object(l),t(o(l),function(u){return n.call(l,u)}))}:i;e.exports=a}),P4=X((r,e)=>{var t=A4(),i=R4(),s=yd();function n(o){return t(o,s,i)}M(n,"getAllKeys"),e.exports=n}),k4=X((r,e)=>{var t=P4(),i=1,s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u,c,g,m){var y=u&i,b=t(a),C=b.length,A=t(l),T=A.length;if(C!=T&&!y)return!1;for(var R=C;R--;){var P=b[R];if(!(y?P in l:n.call(l,P)))return!1}var E=m.get(a),k=m.get(l);if(E&&k)return E==l&&k==a;var O=!0;m.set(a,l),m.set(l,a);for(var B=y;++R<C;){P=b[R];var F=a[P],U=l[P];if(c)var q=y?c(U,F,P,l,a,m):c(F,U,P,a,l,m);if(!(q===void 0?F===U||g(F,U,u,c,m):q)){O=!1;break}B||(B=P=="constructor")}if(O&&!B){var ee=a.constructor,te=l.constructor;ee!=te&&"constructor"in a&&"constructor"in l&&!(typeof ee=="function"&&ee instanceof ee&&typeof te=="function"&&te instanceof te)&&(O=!1)}return m.delete(a),m.delete(l),O}M(o,"equalObjects"),e.exports=o}),O4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"DataView");e.exports=s}),L4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Promise");e.exports=s}),D4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Set");e.exports=s}),F4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"WeakMap");e.exports=s}),B4=X((r,e)=>{var t=O4(),i=xd(),s=L4(),n=D4(),o=F4(),a=Cn(),l=ow(),u="[object Map]",c="[object Object]",g="[object Promise]",m="[object Set]",y="[object WeakMap]",b="[object DataView]",C=l(t),A=l(i),T=l(s),R=l(n),P=l(o),E=a;(t&&E(new t(new ArrayBuffer(1)))!=b||i&&E(new i)!=u||s&&E(s.resolve())!=g||n&&E(new n)!=m||o&&E(new o)!=y)&&(E=M(function(k){var O=a(k),B=O==c?k.constructor:void 0,F=B?l(B):"";if(F)switch(F){case C:return b;case A:return u;case T:return g;case R:return m;case P:return y}return O},"getTag")),e.exports=E}),M4=X((r,e)=>{var t=dw(),i=pw(),s=T4(),n=k4(),o=B4(),a=jr(),l=lw(),u=cw(),c=1,g="[object Arguments]",m="[object Array]",y="[object Object]",b=Object.prototype,C=b.hasOwnProperty;function A(T,R,P,E,k,O){var B=a(T),F=a(R),U=B?m:o(T),q=F?m:o(R);U=U==g?y:U,q=q==g?y:q;var ee=U==y,te=q==y,$=U==q;if($&&l(T)){if(!l(R))return!1;B=!0,ee=!1}if($&&!ee)return O||(O=new t),B||u(T)?i(T,R,P,E,k,O):s(T,R,U,P,E,k,O);if(!(P&c)){var D=ee&&C.call(T,"__wrapped__"),N=te&&C.call(R,"__wrapped__");if(D||N){var G=D?T.value():T,Q=N?R.value():R;return O||(O=new t),k(G,Q,P,E,O)}}return $?(O||(O=new t),n(T,R,P,E,k,O)):!1}M(A,"baseIsEqualDeep"),e.exports=A}),fw=X((r,e)=>{var t=M4(),i=An();function s(n,o,a,l,u){return n===o?!0:n==null||o==null||!i(n)&&!i(o)?n!==n&&o!==o:t(n,o,a,l,s,u)}M(s,"baseIsEqual"),e.exports=s}),N4=X((r,e)=>{var t=dw(),i=fw(),s=1,n=2;function o(a,l,u,c){var g=u.length,m=g,y=!c;if(a==null)return!m;for(a=Object(a);g--;){var b=u[g];if(y&&b[2]?b[1]!==a[b[0]]:!(b[0]in a))return!1}for(;++g<m;){b=u[g];var C=b[0],A=a[C],T=b[1];if(y&&b[2]){if(A===void 0&&!(C in a))return!1}else{var R=new t;if(c)var P=c(A,T,C,a,l,R);if(!(P===void 0?i(T,A,s|n,c,R):P))return!1}}return!0}M(o,"baseIsMatch"),e.exports=o}),gw=X((r,e)=>{var t=md();function i(s){return s===s&&!t(s)}M(i,"isStrictComparable"),e.exports=i}),z4=X((r,e)=>{var t=gw(),i=yd();function s(n){for(var o=i(n),a=o.length;a--;){var l=o[a],u=n[l];o[a]=[l,u,t(u)]}return o}M(s,"getMatchData"),e.exports=s}),mw=X((r,e)=>{function t(i,s){return function(n){return n==null?!1:n[i]===s&&(s!==void 0||i in Object(n))}}M(t,"matchesStrictComparable"),e.exports=t}),j4=X((r,e)=>{var t=N4(),i=z4(),s=mw();function n(o){var a=i(o);return a.length==1&&a[0][2]?s(a[0][0],a[0][1]):function(l){return l===o||t(l,o,a)}}M(n,"baseMatches"),e.exports=n}),vd=X((r,e)=>{var t=Cn(),i=An(),s="[object Symbol]";function n(o){return typeof o=="symbol"||i(o)&&t(o)==s}M(n,"isSymbol"),e.exports=n}),Sd=X((r,e)=>{var t=jr(),i=vd(),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function o(a,l){if(t(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||i(a)?!0:n.test(a)||!s.test(a)||l!=null&&a in Object(l)}M(o,"isKey"),e.exports=o}),U4=X((r,e)=>{var t=bd(),i="Expected a function";function s(n,o){if(typeof n!="function"||o!=null&&typeof o!="function")throw new TypeError(i);var a=M(function(){var l=arguments,u=o?o.apply(this,l):l[0],c=a.cache;if(c.has(u))return c.get(u);var g=n.apply(this,l);return a.cache=c.set(u,g)||c,g},"memoized");return a.cache=new(s.Cache||t),a}M(s,"memoize"),s.Cache=t,e.exports=s}),H4=X((r,e)=>{var t=U4(),i=500;function s(n){var o=t(n,function(l){return a.size===i&&a.clear(),l}),a=o.cache;return o}M(s,"memoizeCapped"),e.exports=s}),W4=X((r,e)=>{var t=H4(),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,n=t(function(o){var a=[];return o.charCodeAt(0)===46&&a.push(""),o.replace(i,function(l,u,c,g){a.push(c?g.replace(s,"$1"):u||l)}),a});e.exports=n}),q4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=Array(o);++n<o;)a[n]=s(i[n],n,i);return a}M(t,"arrayMap"),e.exports=t}),$4=X((r,e)=>{var t=Ka(),i=q4(),s=jr(),n=vd(),o=1/0,a=t?t.prototype:void 0,l=a?a.toString:void 0;function u(c){if(typeof c=="string")return c;if(s(c))return i(c,u)+"";if(n(c))return l?l.call(c):"";var g=c+"";return g=="0"&&1/c==-o?"-0":g}M(u,"baseToString"),e.exports=u}),V4=X((r,e)=>{var t=$4();function i(s){return s==null?"":t(s)}M(i,"toString"),e.exports=i}),_w=X((r,e)=>{var t=jr(),i=Sd(),s=W4(),n=V4();function o(a,l){return t(a)?a:i(a,l)?[a]:s(n(a))}M(o,"castPath"),e.exports=o}),tl=X((r,e)=>{var t=vd(),i=1/0;function s(n){if(typeof n=="string"||t(n))return n;var o=n+"";return o=="0"&&1/n==-i?"-0":o}M(s,"toKey"),e.exports=s}),yw=X((r,e)=>{var t=_w(),i=tl();function s(n,o){o=t(o,n);for(var a=0,l=o.length;n!=null&&a<l;)n=n[i(o[a++])];return a&&a==l?n:void 0}M(s,"baseGet"),e.exports=s}),G4=X((r,e)=>{var t=yw();function i(s,n,o){var a=s==null?void 0:t(s,n);return a===void 0?o:a}M(i,"get"),e.exports=i}),Y4=X((r,e)=>{function t(i,s){return i!=null&&s in Object(i)}M(t,"baseHasIn"),e.exports=t}),X4=X((r,e)=>{var t=_w(),i=aw(),s=jr(),n=uw(),o=_d(),a=tl();function l(u,c,g){c=t(c,u);for(var m=-1,y=c.length,b=!1;++m<y;){var C=a(c[m]);if(!(b=u!=null&&g(u,C)))break;u=u[C]}return b||++m!=y?b:(y=u==null?0:u.length,!!y&&o(y)&&n(C,y)&&(s(u)||i(u)))}M(l,"hasPath"),e.exports=l}),K4=X((r,e)=>{var t=Y4(),i=X4();function s(n,o){return n!=null&&i(n,o,t)}M(s,"hasIn"),e.exports=s}),J4=X((r,e)=>{var t=fw(),i=G4(),s=K4(),n=Sd(),o=gw(),a=mw(),l=tl(),u=1,c=2;function g(m,y){return n(m)&&o(y)?a(l(m),y):function(b){var C=i(b,m);return C===void 0&&C===y?s(b,m):t(y,C,u|c)}}M(g,"baseMatchesProperty"),e.exports=g}),Q4=X((r,e)=>{function t(i){return i}M(t,"identity"),e.exports=t}),Z4=X((r,e)=>{function t(i){return function(s){return s?.[i]}}M(t,"baseProperty"),e.exports=t}),eH=X((r,e)=>{var t=yw();function i(s){return function(n){return t(n,s)}}M(i,"basePropertyDeep"),e.exports=i}),tH=X((r,e)=>{var t=Z4(),i=eH(),s=Sd(),n=tl();function o(a){return s(a)?t(n(a)):i(a)}M(o,"property"),e.exports=o}),rH=X((r,e)=>{var t=j4(),i=J4(),s=Q4(),n=jr(),o=tH();function a(l){return typeof l=="function"?l:l==null?s:typeof l=="object"?n(l)?i(l[0],l[1]):t(l):o(l)}M(a,"baseIteratee"),e.exports=a}),iH=X((r,e)=>{var t=OU(),i=GU(),s=rH();function n(o,a){var l={};return a=s(a,3),i(o,function(u,c,g){t(l,c,a(u,c,g))}),l}M(n,"mapValues"),e.exports=n}),sH=M(r=>r.name==="literal","isLiteral"),nH=M(r=>r.value.replace(/['|"]/g,""),"toEnumOption"),oH=M(r=>{switch(r.type){case"function":return{name:"function"};case"object":let e={};return r.signature.properties.forEach(t=>{e[t.key]=wn(t.value)}),{name:"object",value:e};default:throw new Oa({type:r,language:"Flow"})}},"convertSig"),wn=M(r=>{let{name:e,raw:t}=r,i={};switch(typeof t<"u"&&(i.raw=t),r.name){case"literal":return{...i,name:"other",value:r.value};case"string":case"number":case"symbol":case"boolean":return{...i,name:e};case"Array":return{...i,name:"array",value:r.elements.map(wn)};case"signature":return{...i,...oH(r)};case"union":return r.elements?.every(sH)?{...i,name:"enum",value:r.elements?.map(nH)}:{...i,name:e,value:r.elements?.map(wn)};case"intersection":return{...i,name:e,value:r.elements?.map(wn)};default:return{...i,name:"other",value:e}}},"convert"),aH=TU(iH(),1),xw=/^['"]|['"]$/g,lH=M(r=>r.replace(xw,""),"trimQuotes"),uH=M(r=>xw.test(r),"includesQuotes"),bw=M(r=>{let e=lH(r);return uH(r)||Number.isNaN(Number(e))?e:Number(e)},"parseLiteral"),cH=/^\(.*\) => /,Sn=M(r=>{let{name:e,raw:t,computed:i,value:s}=r,n={};switch(typeof t<"u"&&(n.raw=t),e){case"enum":{let a=i?s:s.map(l=>bw(l.value));return{...n,name:e,value:a}}case"string":case"number":case"symbol":return{...n,name:e};case"func":return{...n,name:"function"};case"bool":case"boolean":return{...n,name:"boolean"};case"arrayOf":case"array":return{...n,name:"array",value:s&&Sn(s)};case"object":return{...n,name:e};case"objectOf":return{...n,name:e,value:Sn(s)};case"shape":case"exact":let o=(0,aH.default)(s,a=>Sn(a));return{...n,name:"object",value:o};case"union":return{...n,name:"union",value:s.map(a=>Sn(a))};case"instanceOf":case"element":case"elementType":default:{if(e?.indexOf("|")>0)try{let u=e.split("|").map(c=>JSON.parse(c));return{...n,name:"enum",value:u}}catch{}let a=s?`${e}(${s})`:e,l=cH.test(e)?"function":"other";return{...n,name:l,value:a}}}},"convert"),hH=M(r=>{switch(r.type){case"function":return{name:"function"};case"object":let e={};return r.signature.properties.forEach(t=>{e[t.key]=Tn(t.value)}),{name:"object",value:e};default:throw new Oa({type:r,language:"Typescript"})}},"convertSig"),Tn=M(r=>{let{name:e,raw:t}=r,i={};switch(typeof t<"u"&&(i.raw=t),r.name){case"string":case"number":case"symbol":case"boolean":return{...i,name:e};case"Array":return{...i,name:"array",value:r.elements.map(Tn)};case"signature":return{...i,...hH(r)};case"union":let s;return r.elements?.every(n=>n.name==="literal")?s={...i,name:"enum",value:r.elements?.map(n=>bw(n.value))}:s={...i,name:e,value:r.elements?.map(Tn)},s;case"intersection":return{...i,name:e,value:r.elements?.map(Tn)};default:return{...i,name:"other",value:e}}},"convert"),wd=M(r=>{let{type:e,tsType:t,flowType:i}=r;try{if(e!=null)return Sn(e);if(t!=null)return Tn(t);if(i!=null)return wn(i)}catch(s){console.error(s)}return null},"convert"),dH=(r=>(r.JAVASCRIPT="JavaScript",r.FLOW="Flow",r.TYPESCRIPT="TypeScript",r.UNKNOWN="Unknown",r))(dH||{}),pH=["null","undefined"];function rl(r){return pH.some(e=>e===r)}M(rl,"isDefaultValueBlacklisted");var fH=M(r=>{if(!r)return"";if(typeof r=="string")return r;throw new Error(`Description: expected string, got: ${JSON.stringify(r)}`)},"str");function Td(r){return!!r.__docgenInfo}M(Td,"hasDocgen");function vw(r){return r!=null&&Object.keys(r).length>0}M(vw,"isValidDocgenSection");function Sw(r,e){return Td(r)?r.__docgenInfo[e]:null}M(Sw,"getDocgenSection");function ww(r){return Td(r)?fH(r.__docgenInfo.description):""}M(ww,"getDocgenDescription");var zr;(function(r){r.start="/**",r.nostart="/***",r.delim="*",r.end="*/"})(zr=zr||(zr={}));function Tw(r){return/^\s+$/.test(r)}M(Tw,"isSpace");function Cw(r){let e=r.match(/\r+$/);return e==null?["",r]:[r.slice(-e[0].length),r.slice(0,-e[0].length)]}M(Cw,"splitCR");function si(r){let e=r.match(/^\s+/);return e==null?["",r]:[r.slice(0,e[0].length),r.slice(e[0].length)]}M(si,"splitSpace");function Aw(r){return r.split(/\n/)}M(Aw,"splitLines");function Ew(r={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},r)}M(Ew,"seedSpec");function Iw(r={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},r)}M(Iw,"seedTokens");var gH=/^@\S+/;function Rw({fence:r="```"}={}){let e=Pw(r),t=M((i,s)=>e(i)?!s:s,"toggleFence");return M(function(i){let s=[[]],n=!1;for(let o of i)gH.test(o.tokens.description)&&!n?s.push([o]):s[s.length-1].push(o),n=t(o.tokens.description,n);return s},"parseBlock")}M(Rw,"getParser");function Pw(r){return typeof r=="string"?e=>e.split(r).length%2===0:r}M(Pw,"getFencer");function kw({startLine:r=0,markers:e=zr}={}){let t=null,i=r;return M(function(s){let n=s,o=Iw();if([o.lineEnd,n]=Cw(n),[o.start,n]=si(n),t===null&&n.startsWith(e.start)&&!n.startsWith(e.nostart)&&(t=[],o.delimiter=n.slice(0,e.start.length),n=n.slice(e.start.length),[o.postDelimiter,n]=si(n)),t===null)return i++,null;let a=n.trimRight().endsWith(e.end);if(o.delimiter===""&&n.startsWith(e.delim)&&!n.startsWith(e.end)&&(o.delimiter=e.delim,n=n.slice(e.delim.length),[o.postDelimiter,n]=si(n)),a){let l=n.trimRight();o.end=n.slice(l.length-e.end.length),n=l.slice(0,-e.end.length)}if(o.description=n,t.push({number:i,source:s,tokens:o}),i++,a){let l=t.slice();return t=null,l}return null},"parseSource")}M(kw,"getParser");function Ow({tokenizers:r}){return M(function(e){var t;let i=Ew({source:e});for(let s of r)if(i=s(i),!((t=i.problems[i.problems.length-1])===null||t===void 0)&&t.critical)break;return i},"parseSpec")}M(Ow,"getParser");function Lw(){return r=>{let{tokens:e}=r.source[0],t=e.description.match(/\s*(@(\S+))(\s*)/);return t===null?(r.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:r.source[0].number,critical:!0}),r):(e.tag=t[1],e.postTag=t[3],e.description=e.description.slice(t[0].length),r.tag=t[2],r)}}M(Lw,"tagTokenizer");function Dw(r="compact"){let e=Fw(r);return t=>{let i=0,s=[];for(let[a,{tokens:l}]of t.source.entries()){let u="";if(a===0&&l.description[0]!=="{")return t;for(let c of l.description)if(c==="{"&&i++,c==="}"&&i--,u+=c,i===0)break;if(s.push([l,u]),i===0)break}if(i!==0)return t.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:t.source[0].number,critical:!0}),t;let n=[],o=s[0][0].postDelimiter.length;for(let[a,[l,u]]of s.entries())l.type=u,a>0&&(l.type=l.postDelimiter.slice(o)+u,l.postDelimiter=l.postDelimiter.slice(0,o)),[l.postType,l.description]=si(l.description.slice(u.length)),n.push(l.type);return n[0]=n[0].slice(1),n[n.length-1]=n[n.length-1].slice(0,-1),t.type=e(n),t}}M(Dw,"typeTokenizer");var mH=M(r=>r.trim(),"trim");function Fw(r){return r==="compact"?e=>e.map(mH).join(""):r==="preserve"?e=>e.join(` -`):r}M(Fw,"getJoiner");var _H=M(r=>r&&r.startsWith('"')&&r.endsWith('"'),"isQuoted");function Bw(){let r=M((e,{tokens:t},i)=>t.type===""?e:i,"typeEnd");return e=>{let{tokens:t}=e.source[e.source.reduce(r,0)],i=t.description.trimLeft(),s=i.split('"');if(s.length>1&&s[0]===""&&s.length%2===1)return e.name=s[1],t.name=`"${s[1]}"`,[t.postName,t.description]=si(i.slice(t.name.length)),e;let n=0,o="",a=!1,l;for(let c of i){if(n===0&&Tw(c))break;c==="["&&n++,c==="]"&&n--,o+=c}if(n!==0)return e.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:e.source[0].number,critical:!0}),e;let u=o;if(o[0]==="["&&o[o.length-1]==="]"){a=!0,o=o.slice(1,-1);let c=o.split("=");if(o=c[0].trim(),c[1]!==void 0&&(l=c.slice(1).join("=").trim()),o==="")return e.problems.push({code:"spec:name:empty-name",message:"empty name",line:e.source[0].number,critical:!0}),e;if(l==="")return e.problems.push({code:"spec:name:empty-default",message:"empty default value",line:e.source[0].number,critical:!0}),e;if(!_H(l)&&/=(?!>)/.test(l))return e.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:e.source[0].number,critical:!0}),e}return e.optional=a,e.name=o,t.name=u,l!==void 0&&(e.default=l),[t.postName,t.description]=si(i.slice(t.name.length)),e}}M(Bw,"nameTokenizer");function Mw(r="compact",e=zr){let t=Cd(r);return i=>(i.description=t(i.source,e),i)}M(Mw,"descriptionTokenizer");function Cd(r){return r==="compact"?Nw:r==="preserve"?zw:r}M(Cd,"getJoiner");function Nw(r,e=zr){return r.map(({tokens:{description:t}})=>t.trim()).filter(t=>t!=="").join(" ")}M(Nw,"compactJoiner");var yH=M((r,{tokens:e},t)=>e.type===""?r:t,"lineNo"),xH=M(({tokens:r})=>(r.delimiter===""?r.start:r.postDelimiter.slice(1))+r.description,"getDescription");function zw(r,e=zr){if(r.length===0)return"";r[0].tokens.description===""&&r[0].tokens.delimiter===e.start&&(r=r.slice(1));let t=r[r.length-1];return t!==void 0&&t.tokens.description===""&&t.tokens.end.endsWith(e.end)&&(r=r.slice(0,-1)),r=r.slice(r.reduce(yH,0)),r.map(xH).join(` +`).replace(/^\n/,"")),ft.getElementById("error-message").innerHTML=Cv.toHtml(i),ft.getElementById("error-stack").innerHTML=Cv.toHtml(s),this.showMode("ERROR")}showNoPreview(){this.testing||(this.showMode("NOPREVIEW"),this.storyRoot()?.setAttribute("hidden","true"),this.docsRoot()?.setAttribute("hidden","true"))}showPreparingStory({immediate:e=!1}={}){clearTimeout(this.preparingTimeout),e?this.showMode("PREPARING_STORY"):this.preparingTimeout=setTimeout(()=>this.showMode("PREPARING_STORY"),Tv)}showPreparingDocs({immediate:e=!1}={}){clearTimeout(this.preparingTimeout),e?this.showMode("PREPARING_DOCS"):this.preparingTimeout=setTimeout(()=>this.showMode("PREPARING_DOCS"),Tv)}showMain(){this.showMode("MAIN")}showDocs(){this.storyRoot().setAttribute("hidden","true"),this.docsRoot().removeAttribute("hidden")}showStory(){this.docsRoot().setAttribute("hidden","true"),this.storyRoot().removeAttribute("hidden")}showStoryDuringRender(){ft.body.classList.add(Ah.MAIN)}};x(ew,"WebView");var fU=ew,gU=class extends iU{constructor(e,t){super(e,t,new hU,new fU),this.importFn=e,this.getProjectAnnotations=t,it.__STORYBOOK_PREVIEW__=this}};x(gU,"PreviewWeb");var{document:ti}=it,mU=["application/javascript","application/ecmascript","application/x-ecmascript","application/x-javascript","text/ecmascript","text/javascript","text/javascript1.0","text/javascript1.1","text/javascript1.2","text/javascript1.3","text/javascript1.4","text/javascript1.5","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript","module"],_U="script",Av="scripts-root";function jh(){let r=ti.createEvent("Event");r.initEvent("DOMContentLoaded",!0,!0),ti.dispatchEvent(r)}x(jh,"simulateDOMContentLoaded");function tw(r,e,t){let i=ti.createElement("script");i.type=r.type==="module"?"module":"text/javascript",r.src?(i.onload=e,i.onerror=e,i.src=r.src):i.textContent=r.innerText,t?t.appendChild(i):ti.head.appendChild(i),r.parentNode.removeChild(r),r.src||e()}x(tw,"insertScript");function fd(r,e,t=0){r[t](()=>{t++,t===r.length?e():fd(r,e,t)})}x(fd,"insertScriptsSequentially");function yU(r){let e=ti.getElementById(Av);e?e.innerHTML="":(e=ti.createElement("div"),e.id=Av,ti.body.appendChild(e));let t=Array.from(r.querySelectorAll(_U));if(t.length){let i=[];t.forEach(s=>{let n=s.getAttribute("type");(!n||mU.includes(n))&&i.push(o=>tw(s,o,e))}),i.length&&fd(i,jh,void 0)}else jh()}x(yU,"simulatePageLoad");h();d();p();h();d();p();var Xi=ye(iw(),1);var xU=Object.create,gd=Object.defineProperty,bU=Object.getOwnPropertyDescriptor,vU=Object.getOwnPropertyNames,SU=Object.getPrototypeOf,wU=Object.prototype.hasOwnProperty,M=(r,e)=>gd(r,"name",{value:e,configurable:!0}),X=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),TU=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of vU(e))!wU.call(r,s)&&s!==t&&gd(r,s,{get:()=>e[s],enumerable:!(i=bU(e,s))||i.enumerable});return r},CU=(r,e,t)=>(t=r!=null?xU(SU(r)):{},TU(e||!r||!r.__esModule?gd(t,"default",{value:r,enumerable:!0}):t,r)),sw=X((r,e)=>{var t=typeof window=="object"&&window&&window.Object===Object&&window;e.exports=t}),mr=X((r,e)=>{var t=sw(),i=typeof self=="object"&&self&&self.Object===Object&&self,s=t||i||Function("return this")();e.exports=s}),Ka=X((r,e)=>{var t=mr(),i=t.Symbol;e.exports=i}),AU=X((r,e)=>{var t=Ka(),i=Object.prototype,s=i.hasOwnProperty,n=i.toString,o=t?t.toStringTag:void 0;function a(l){var u=s.call(l,o),c=l[o];try{l[o]=void 0;var g=!0}catch{}var m=n.call(l);return g&&(u?l[o]=c:delete l[o]),m}M(a,"getRawTag"),e.exports=a}),EU=X((r,e)=>{var t=Object.prototype,i=t.toString;function s(n){return i.call(n)}M(s,"objectToString"),e.exports=s}),Cn=X((r,e)=>{var t=Ka(),i=AU(),s=EU(),n="[object Null]",o="[object Undefined]",a=t?t.toStringTag:void 0;function l(u){return u==null?u===void 0?o:n:a&&a in Object(u)?i(u):s(u)}M(l,"baseGetTag"),e.exports=l}),md=X((r,e)=>{function t(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}M(t,"isObject"),e.exports=t}),nw=X((r,e)=>{var t=Cn(),i=md(),s="[object AsyncFunction]",n="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function l(u){if(!i(u))return!1;var c=t(u);return c==n||c==o||c==s||c==a}M(l,"isFunction"),e.exports=l}),IU=X((r,e)=>{var t=mr(),i=t["__core-js_shared__"];e.exports=i}),RU=X((r,e)=>{var t=IU(),i=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function s(n){return!!i&&i in n}M(s,"isMasked"),e.exports=s}),ow=X((r,e)=>{var t=Function.prototype,i=t.toString;function s(n){if(n!=null){try{return i.call(n)}catch{}try{return n+""}catch{}}return""}M(s,"toSource"),e.exports=s}),PU=X((r,e)=>{var t=nw(),i=RU(),s=md(),n=ow(),o=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,g=u.hasOwnProperty,m=RegExp("^"+c.call(g).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function y(b){if(!s(b)||i(b))return!1;var C=t(b)?m:a;return C.test(n(b))}M(y,"baseIsNative"),e.exports=y}),kU=X((r,e)=>{function t(i,s){return i?.[s]}M(t,"getValue"),e.exports=t}),ni=X((r,e)=>{var t=PU(),i=kU();function s(n,o){var a=i(n,o);return t(a)?a:void 0}M(s,"getNative"),e.exports=s}),OU=X((r,e)=>{var t=ni(),i=function(){try{var s=t(Object,"defineProperty");return s({},"",{}),s}catch{}}();e.exports=i}),LU=X((r,e)=>{var t=OU();function i(s,n,o){n=="__proto__"&&t?t(s,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):s[n]=o}M(i,"baseAssignValue"),e.exports=i}),DU=X((r,e)=>{function t(i){return function(s,n,o){for(var a=-1,l=Object(s),u=o(s),c=u.length;c--;){var g=u[i?c:++a];if(n(l[g],g,l)===!1)break}return s}}M(t,"createBaseFor"),e.exports=t}),FU=X((r,e)=>{var t=DU(),i=t();e.exports=i}),BU=X((r,e)=>{function t(i,s){for(var n=-1,o=Array(i);++n<i;)o[n]=s(n);return o}M(t,"baseTimes"),e.exports=t}),An=X((r,e)=>{function t(i){return i!=null&&typeof i=="object"}M(t,"isObjectLike"),e.exports=t}),MU=X((r,e)=>{var t=Cn(),i=An(),s="[object Arguments]";function n(o){return i(o)&&t(o)==s}M(n,"baseIsArguments"),e.exports=n}),aw=X((r,e)=>{var t=MU(),i=An(),s=Object.prototype,n=s.hasOwnProperty,o=s.propertyIsEnumerable,a=t(function(){return arguments}())?t:function(l){return i(l)&&n.call(l,"callee")&&!o.call(l,"callee")};e.exports=a}),jr=X((r,e)=>{var t=Array.isArray;e.exports=t}),NU=X((r,e)=>{function t(){return!1}M(t,"stubFalse"),e.exports=t}),lw=X((r,e)=>{var t=mr(),i=NU(),s=typeof r=="object"&&r&&!r.nodeType&&r,n=s&&typeof e=="object"&&e&&!e.nodeType&&e,o=n&&n.exports===s,a=o?t.Buffer:void 0,l=a?a.isBuffer:void 0,u=l||i;e.exports=u}),uw=X((r,e)=>{var t=9007199254740991,i=/^(?:0|[1-9]\d*)$/;function s(n,o){var a=typeof n;return o=o??t,!!o&&(a=="number"||a!="symbol"&&i.test(n))&&n>-1&&n%1==0&&n<o}M(s,"isIndex"),e.exports=s}),_d=X((r,e)=>{var t=9007199254740991;function i(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=t}M(i,"isLength"),e.exports=i}),zU=X((r,e)=>{var t=Cn(),i=_d(),s=An(),n="[object Arguments]",o="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",c="[object Function]",g="[object Map]",m="[object Number]",y="[object Object]",b="[object RegExp]",C="[object Set]",A="[object String]",T="[object WeakMap]",R="[object ArrayBuffer]",P="[object DataView]",E="[object Float32Array]",k="[object Float64Array]",O="[object Int8Array]",B="[object Int16Array]",F="[object Int32Array]",U="[object Uint8Array]",q="[object Uint8ClampedArray]",ee="[object Uint16Array]",te="[object Uint32Array]",$={};$[E]=$[k]=$[O]=$[B]=$[F]=$[U]=$[q]=$[ee]=$[te]=!0,$[n]=$[o]=$[R]=$[a]=$[P]=$[l]=$[u]=$[c]=$[g]=$[m]=$[y]=$[b]=$[C]=$[A]=$[T]=!1;function D(N){return s(N)&&i(N.length)&&!!$[t(N)]}M(D,"baseIsTypedArray"),e.exports=D}),jU=X((r,e)=>{function t(i){return function(s){return i(s)}}M(t,"baseUnary"),e.exports=t}),UU=X((r,e)=>{var t=sw(),i=typeof r=="object"&&r&&!r.nodeType&&r,s=i&&typeof e=="object"&&e&&!e.nodeType&&e,n=s&&s.exports===i,o=n&&t.process,a=function(){try{var l=s&&s.require&&s.require("util").types;return l||o&&o.binding&&o.binding("util")}catch{}}();e.exports=a}),cw=X((r,e)=>{var t=zU(),i=jU(),s=UU(),n=s&&s.isTypedArray,o=n?i(n):t;e.exports=o}),HU=X((r,e)=>{var t=BU(),i=aw(),s=jr(),n=lw(),o=uw(),a=cw(),l=Object.prototype,u=l.hasOwnProperty;function c(g,m){var y=s(g),b=!y&&i(g),C=!y&&!b&&n(g),A=!y&&!b&&!C&&a(g),T=y||b||C||A,R=T?t(g.length,String):[],P=R.length;for(var E in g)(m||u.call(g,E))&&!(T&&(E=="length"||C&&(E=="offset"||E=="parent")||A&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,P)))&&R.push(E);return R}M(c,"arrayLikeKeys"),e.exports=c}),WU=X((r,e)=>{var t=Object.prototype;function i(s){var n=s&&s.constructor,o=typeof n=="function"&&n.prototype||t;return s===o}M(i,"isPrototype"),e.exports=i}),qU=X((r,e)=>{function t(i,s){return function(n){return i(s(n))}}M(t,"overArg"),e.exports=t}),$U=X((r,e)=>{var t=qU(),i=t(Object.keys,Object);e.exports=i}),VU=X((r,e)=>{var t=WU(),i=$U(),s=Object.prototype,n=s.hasOwnProperty;function o(a){if(!t(a))return i(a);var l=[];for(var u in Object(a))n.call(a,u)&&u!="constructor"&&l.push(u);return l}M(o,"baseKeys"),e.exports=o}),GU=X((r,e)=>{var t=nw(),i=_d();function s(n){return n!=null&&i(n.length)&&!t(n)}M(s,"isArrayLike"),e.exports=s}),yd=X((r,e)=>{var t=HU(),i=VU(),s=GU();function n(o){return s(o)?t(o):i(o)}M(n,"keys"),e.exports=n}),YU=X((r,e)=>{var t=FU(),i=yd();function s(n,o){return n&&t(n,o,i)}M(s,"baseForOwn"),e.exports=s}),XU=X((r,e)=>{function t(){this.__data__=[],this.size=0}M(t,"listCacheClear"),e.exports=t}),hw=X((r,e)=>{function t(i,s){return i===s||i!==i&&s!==s}M(t,"eq"),e.exports=t}),Ja=X((r,e)=>{var t=hw();function i(s,n){for(var o=s.length;o--;)if(t(s[o][0],n))return o;return-1}M(i,"assocIndexOf"),e.exports=i}),KU=X((r,e)=>{var t=Ja(),i=Array.prototype,s=i.splice;function n(o){var a=this.__data__,l=t(a,o);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():s.call(a,l,1),--this.size,!0}M(n,"listCacheDelete"),e.exports=n}),JU=X((r,e)=>{var t=Ja();function i(s){var n=this.__data__,o=t(n,s);return o<0?void 0:n[o][1]}M(i,"listCacheGet"),e.exports=i}),QU=X((r,e)=>{var t=Ja();function i(s){return t(this.__data__,s)>-1}M(i,"listCacheHas"),e.exports=i}),ZU=X((r,e)=>{var t=Ja();function i(s,n){var o=this.__data__,a=t(o,s);return a<0?(++this.size,o.push([s,n])):o[a][1]=n,this}M(i,"listCacheSet"),e.exports=i}),Qa=X((r,e)=>{var t=XU(),i=KU(),s=JU(),n=QU(),o=ZU();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"ListCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),e4=X((r,e)=>{var t=Qa();function i(){this.__data__=new t,this.size=0}M(i,"stackClear"),e.exports=i}),t4=X((r,e)=>{function t(i){var s=this.__data__,n=s.delete(i);return this.size=s.size,n}M(t,"stackDelete"),e.exports=t}),r4=X((r,e)=>{function t(i){return this.__data__.get(i)}M(t,"stackGet"),e.exports=t}),i4=X((r,e)=>{function t(i){return this.__data__.has(i)}M(t,"stackHas"),e.exports=t}),xd=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Map");e.exports=s}),Za=X((r,e)=>{var t=ni(),i=t(Object,"create");e.exports=i}),s4=X((r,e)=>{var t=Za();function i(){this.__data__=t?t(null):{},this.size=0}M(i,"hashClear"),e.exports=i}),n4=X((r,e)=>{function t(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}M(t,"hashDelete"),e.exports=t}),o4=X((r,e)=>{var t=Za(),i="__lodash_hash_undefined__",s=Object.prototype,n=s.hasOwnProperty;function o(a){var l=this.__data__;if(t){var u=l[a];return u===i?void 0:u}return n.call(l,a)?l[a]:void 0}M(o,"hashGet"),e.exports=o}),a4=X((r,e)=>{var t=Za(),i=Object.prototype,s=i.hasOwnProperty;function n(o){var a=this.__data__;return t?a[o]!==void 0:s.call(a,o)}M(n,"hashHas"),e.exports=n}),l4=X((r,e)=>{var t=Za(),i="__lodash_hash_undefined__";function s(n,o){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=t&&o===void 0?i:o,this}M(s,"hashSet"),e.exports=s}),u4=X((r,e)=>{var t=s4(),i=n4(),s=o4(),n=a4(),o=l4();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"Hash"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),c4=X((r,e)=>{var t=u4(),i=Qa(),s=xd();function n(){this.size=0,this.__data__={hash:new t,map:new(s||i),string:new t}}M(n,"mapCacheClear"),e.exports=n}),h4=X((r,e)=>{function t(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}M(t,"isKeyable"),e.exports=t}),el=X((r,e)=>{var t=h4();function i(s,n){var o=s.__data__;return t(n)?o[typeof n=="string"?"string":"hash"]:o.map}M(i,"getMapData"),e.exports=i}),d4=X((r,e)=>{var t=el();function i(s){var n=t(this,s).delete(s);return this.size-=n?1:0,n}M(i,"mapCacheDelete"),e.exports=i}),p4=X((r,e)=>{var t=el();function i(s){return t(this,s).get(s)}M(i,"mapCacheGet"),e.exports=i}),f4=X((r,e)=>{var t=el();function i(s){return t(this,s).has(s)}M(i,"mapCacheHas"),e.exports=i}),g4=X((r,e)=>{var t=el();function i(s,n){var o=t(this,s),a=o.size;return o.set(s,n),this.size+=o.size==a?0:1,this}M(i,"mapCacheSet"),e.exports=i}),bd=X((r,e)=>{var t=c4(),i=d4(),s=p4(),n=f4(),o=g4();function a(l){var u=-1,c=l==null?0:l.length;for(this.clear();++u<c;){var g=l[u];this.set(g[0],g[1])}}M(a,"MapCache"),a.prototype.clear=t,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=n,a.prototype.set=o,e.exports=a}),m4=X((r,e)=>{var t=Qa(),i=xd(),s=bd(),n=200;function o(a,l){var u=this.__data__;if(u instanceof t){var c=u.__data__;if(!i||c.length<n-1)return c.push([a,l]),this.size=++u.size,this;u=this.__data__=new s(c)}return u.set(a,l),this.size=u.size,this}M(o,"stackSet"),e.exports=o}),dw=X((r,e)=>{var t=Qa(),i=e4(),s=t4(),n=r4(),o=i4(),a=m4();function l(u){var c=this.__data__=new t(u);this.size=c.size}M(l,"Stack"),l.prototype.clear=i,l.prototype.delete=s,l.prototype.get=n,l.prototype.has=o,l.prototype.set=a,e.exports=l}),_4=X((r,e)=>{var t="__lodash_hash_undefined__";function i(s){return this.__data__.set(s,t),this}M(i,"setCacheAdd"),e.exports=i}),y4=X((r,e)=>{function t(i){return this.__data__.has(i)}M(t,"setCacheHas"),e.exports=t}),x4=X((r,e)=>{var t=bd(),i=_4(),s=y4();function n(o){var a=-1,l=o==null?0:o.length;for(this.__data__=new t;++a<l;)this.add(o[a])}M(n,"SetCache"),n.prototype.add=n.prototype.push=i,n.prototype.has=s,e.exports=n}),b4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length;++n<o;)if(s(i[n],n,i))return!0;return!1}M(t,"arraySome"),e.exports=t}),v4=X((r,e)=>{function t(i,s){return i.has(s)}M(t,"cacheHas"),e.exports=t}),pw=X((r,e)=>{var t=x4(),i=b4(),s=v4(),n=1,o=2;function a(l,u,c,g,m,y){var b=c&n,C=l.length,A=u.length;if(C!=A&&!(b&&A>C))return!1;var T=y.get(l),R=y.get(u);if(T&&R)return T==u&&R==l;var P=-1,E=!0,k=c&o?new t:void 0;for(y.set(l,u),y.set(u,l);++P<C;){var O=l[P],B=u[P];if(g)var F=b?g(B,O,P,u,l,y):g(O,B,P,l,u,y);if(F!==void 0){if(F)continue;E=!1;break}if(k){if(!i(u,function(U,q){if(!s(k,q)&&(O===U||m(O,U,c,g,y)))return k.push(q)})){E=!1;break}}else if(!(O===B||m(O,B,c,g,y))){E=!1;break}}return y.delete(l),y.delete(u),E}M(a,"equalArrays"),e.exports=a}),S4=X((r,e)=>{var t=mr(),i=t.Uint8Array;e.exports=i}),w4=X((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o,a){n[++s]=[a,o]}),n}M(t,"mapToArray"),e.exports=t}),T4=X((r,e)=>{function t(i){var s=-1,n=Array(i.size);return i.forEach(function(o){n[++s]=o}),n}M(t,"setToArray"),e.exports=t}),C4=X((r,e)=>{var t=Ka(),i=S4(),s=hw(),n=pw(),o=w4(),a=T4(),l=1,u=2,c="[object Boolean]",g="[object Date]",m="[object Error]",y="[object Map]",b="[object Number]",C="[object RegExp]",A="[object Set]",T="[object String]",R="[object Symbol]",P="[object ArrayBuffer]",E="[object DataView]",k=t?t.prototype:void 0,O=k?k.valueOf:void 0;function B(F,U,q,ee,te,$,D){switch(q){case E:if(F.byteLength!=U.byteLength||F.byteOffset!=U.byteOffset)return!1;F=F.buffer,U=U.buffer;case P:return!(F.byteLength!=U.byteLength||!$(new i(F),new i(U)));case c:case g:case b:return s(+F,+U);case m:return F.name==U.name&&F.message==U.message;case C:case T:return F==U+"";case y:var N=o;case A:var G=ee&l;if(N||(N=a),F.size!=U.size&&!G)return!1;var Q=D.get(F);if(Q)return Q==U;ee|=u,D.set(F,U);var ne=n(N(F),N(U),ee,te,$,D);return D.delete(F),ne;case R:if(O)return O.call(F)==O.call(U)}return!1}M(B,"equalByTag"),e.exports=B}),A4=X((r,e)=>{function t(i,s){for(var n=-1,o=s.length,a=i.length;++n<o;)i[a+n]=s[n];return i}M(t,"arrayPush"),e.exports=t}),E4=X((r,e)=>{var t=A4(),i=jr();function s(n,o,a){var l=o(n);return i(n)?l:t(l,a(n))}M(s,"baseGetAllKeys"),e.exports=s}),I4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=0,l=[];++n<o;){var u=i[n];s(u,n,i)&&(l[a++]=u)}return l}M(t,"arrayFilter"),e.exports=t}),R4=X((r,e)=>{function t(){return[]}M(t,"stubArray"),e.exports=t}),P4=X((r,e)=>{var t=I4(),i=R4(),s=Object.prototype,n=s.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(l){return l==null?[]:(l=Object(l),t(o(l),function(u){return n.call(l,u)}))}:i;e.exports=a}),k4=X((r,e)=>{var t=E4(),i=P4(),s=yd();function n(o){return t(o,s,i)}M(n,"getAllKeys"),e.exports=n}),O4=X((r,e)=>{var t=k4(),i=1,s=Object.prototype,n=s.hasOwnProperty;function o(a,l,u,c,g,m){var y=u&i,b=t(a),C=b.length,A=t(l),T=A.length;if(C!=T&&!y)return!1;for(var R=C;R--;){var P=b[R];if(!(y?P in l:n.call(l,P)))return!1}var E=m.get(a),k=m.get(l);if(E&&k)return E==l&&k==a;var O=!0;m.set(a,l),m.set(l,a);for(var B=y;++R<C;){P=b[R];var F=a[P],U=l[P];if(c)var q=y?c(U,F,P,l,a,m):c(F,U,P,a,l,m);if(!(q===void 0?F===U||g(F,U,u,c,m):q)){O=!1;break}B||(B=P=="constructor")}if(O&&!B){var ee=a.constructor,te=l.constructor;ee!=te&&"constructor"in a&&"constructor"in l&&!(typeof ee=="function"&&ee instanceof ee&&typeof te=="function"&&te instanceof te)&&(O=!1)}return m.delete(a),m.delete(l),O}M(o,"equalObjects"),e.exports=o}),L4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"DataView");e.exports=s}),D4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Promise");e.exports=s}),F4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"Set");e.exports=s}),B4=X((r,e)=>{var t=ni(),i=mr(),s=t(i,"WeakMap");e.exports=s}),M4=X((r,e)=>{var t=L4(),i=xd(),s=D4(),n=F4(),o=B4(),a=Cn(),l=ow(),u="[object Map]",c="[object Object]",g="[object Promise]",m="[object Set]",y="[object WeakMap]",b="[object DataView]",C=l(t),A=l(i),T=l(s),R=l(n),P=l(o),E=a;(t&&E(new t(new ArrayBuffer(1)))!=b||i&&E(new i)!=u||s&&E(s.resolve())!=g||n&&E(new n)!=m||o&&E(new o)!=y)&&(E=M(function(k){var O=a(k),B=O==c?k.constructor:void 0,F=B?l(B):"";if(F)switch(F){case C:return b;case A:return u;case T:return g;case R:return m;case P:return y}return O},"getTag")),e.exports=E}),N4=X((r,e)=>{var t=dw(),i=pw(),s=C4(),n=O4(),o=M4(),a=jr(),l=lw(),u=cw(),c=1,g="[object Arguments]",m="[object Array]",y="[object Object]",b=Object.prototype,C=b.hasOwnProperty;function A(T,R,P,E,k,O){var B=a(T),F=a(R),U=B?m:o(T),q=F?m:o(R);U=U==g?y:U,q=q==g?y:q;var ee=U==y,te=q==y,$=U==q;if($&&l(T)){if(!l(R))return!1;B=!0,ee=!1}if($&&!ee)return O||(O=new t),B||u(T)?i(T,R,P,E,k,O):s(T,R,U,P,E,k,O);if(!(P&c)){var D=ee&&C.call(T,"__wrapped__"),N=te&&C.call(R,"__wrapped__");if(D||N){var G=D?T.value():T,Q=N?R.value():R;return O||(O=new t),k(G,Q,P,E,O)}}return $?(O||(O=new t),n(T,R,P,E,k,O)):!1}M(A,"baseIsEqualDeep"),e.exports=A}),fw=X((r,e)=>{var t=N4(),i=An();function s(n,o,a,l,u){return n===o?!0:n==null||o==null||!i(n)&&!i(o)?n!==n&&o!==o:t(n,o,a,l,s,u)}M(s,"baseIsEqual"),e.exports=s}),z4=X((r,e)=>{var t=dw(),i=fw(),s=1,n=2;function o(a,l,u,c){var g=u.length,m=g,y=!c;if(a==null)return!m;for(a=Object(a);g--;){var b=u[g];if(y&&b[2]?b[1]!==a[b[0]]:!(b[0]in a))return!1}for(;++g<m;){b=u[g];var C=b[0],A=a[C],T=b[1];if(y&&b[2]){if(A===void 0&&!(C in a))return!1}else{var R=new t;if(c)var P=c(A,T,C,a,l,R);if(!(P===void 0?i(T,A,s|n,c,R):P))return!1}}return!0}M(o,"baseIsMatch"),e.exports=o}),gw=X((r,e)=>{var t=md();function i(s){return s===s&&!t(s)}M(i,"isStrictComparable"),e.exports=i}),j4=X((r,e)=>{var t=gw(),i=yd();function s(n){for(var o=i(n),a=o.length;a--;){var l=o[a],u=n[l];o[a]=[l,u,t(u)]}return o}M(s,"getMatchData"),e.exports=s}),mw=X((r,e)=>{function t(i,s){return function(n){return n==null?!1:n[i]===s&&(s!==void 0||i in Object(n))}}M(t,"matchesStrictComparable"),e.exports=t}),U4=X((r,e)=>{var t=z4(),i=j4(),s=mw();function n(o){var a=i(o);return a.length==1&&a[0][2]?s(a[0][0],a[0][1]):function(l){return l===o||t(l,o,a)}}M(n,"baseMatches"),e.exports=n}),vd=X((r,e)=>{var t=Cn(),i=An(),s="[object Symbol]";function n(o){return typeof o=="symbol"||i(o)&&t(o)==s}M(n,"isSymbol"),e.exports=n}),Sd=X((r,e)=>{var t=jr(),i=vd(),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function o(a,l){if(t(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||i(a)?!0:n.test(a)||!s.test(a)||l!=null&&a in Object(l)}M(o,"isKey"),e.exports=o}),H4=X((r,e)=>{var t=bd(),i="Expected a function";function s(n,o){if(typeof n!="function"||o!=null&&typeof o!="function")throw new TypeError(i);var a=M(function(){var l=arguments,u=o?o.apply(this,l):l[0],c=a.cache;if(c.has(u))return c.get(u);var g=n.apply(this,l);return a.cache=c.set(u,g)||c,g},"memoized");return a.cache=new(s.Cache||t),a}M(s,"memoize"),s.Cache=t,e.exports=s}),W4=X((r,e)=>{var t=H4(),i=500;function s(n){var o=t(n,function(l){return a.size===i&&a.clear(),l}),a=o.cache;return o}M(s,"memoizeCapped"),e.exports=s}),q4=X((r,e)=>{var t=W4(),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,n=t(function(o){var a=[];return o.charCodeAt(0)===46&&a.push(""),o.replace(i,function(l,u,c,g){a.push(c?g.replace(s,"$1"):u||l)}),a});e.exports=n}),$4=X((r,e)=>{function t(i,s){for(var n=-1,o=i==null?0:i.length,a=Array(o);++n<o;)a[n]=s(i[n],n,i);return a}M(t,"arrayMap"),e.exports=t}),V4=X((r,e)=>{var t=Ka(),i=$4(),s=jr(),n=vd(),o=1/0,a=t?t.prototype:void 0,l=a?a.toString:void 0;function u(c){if(typeof c=="string")return c;if(s(c))return i(c,u)+"";if(n(c))return l?l.call(c):"";var g=c+"";return g=="0"&&1/c==-o?"-0":g}M(u,"baseToString"),e.exports=u}),G4=X((r,e)=>{var t=V4();function i(s){return s==null?"":t(s)}M(i,"toString"),e.exports=i}),_w=X((r,e)=>{var t=jr(),i=Sd(),s=q4(),n=G4();function o(a,l){return t(a)?a:i(a,l)?[a]:s(n(a))}M(o,"castPath"),e.exports=o}),tl=X((r,e)=>{var t=vd(),i=1/0;function s(n){if(typeof n=="string"||t(n))return n;var o=n+"";return o=="0"&&1/n==-i?"-0":o}M(s,"toKey"),e.exports=s}),yw=X((r,e)=>{var t=_w(),i=tl();function s(n,o){o=t(o,n);for(var a=0,l=o.length;n!=null&&a<l;)n=n[i(o[a++])];return a&&a==l?n:void 0}M(s,"baseGet"),e.exports=s}),Y4=X((r,e)=>{var t=yw();function i(s,n,o){var a=s==null?void 0:t(s,n);return a===void 0?o:a}M(i,"get"),e.exports=i}),X4=X((r,e)=>{function t(i,s){return i!=null&&s in Object(i)}M(t,"baseHasIn"),e.exports=t}),K4=X((r,e)=>{var t=_w(),i=aw(),s=jr(),n=uw(),o=_d(),a=tl();function l(u,c,g){c=t(c,u);for(var m=-1,y=c.length,b=!1;++m<y;){var C=a(c[m]);if(!(b=u!=null&&g(u,C)))break;u=u[C]}return b||++m!=y?b:(y=u==null?0:u.length,!!y&&o(y)&&n(C,y)&&(s(u)||i(u)))}M(l,"hasPath"),e.exports=l}),J4=X((r,e)=>{var t=X4(),i=K4();function s(n,o){return n!=null&&i(n,o,t)}M(s,"hasIn"),e.exports=s}),Q4=X((r,e)=>{var t=fw(),i=Y4(),s=J4(),n=Sd(),o=gw(),a=mw(),l=tl(),u=1,c=2;function g(m,y){return n(m)&&o(y)?a(l(m),y):function(b){var C=i(b,m);return C===void 0&&C===y?s(b,m):t(y,C,u|c)}}M(g,"baseMatchesProperty"),e.exports=g}),Z4=X((r,e)=>{function t(i){return i}M(t,"identity"),e.exports=t}),eH=X((r,e)=>{function t(i){return function(s){return s?.[i]}}M(t,"baseProperty"),e.exports=t}),tH=X((r,e)=>{var t=yw();function i(s){return function(n){return t(n,s)}}M(i,"basePropertyDeep"),e.exports=i}),rH=X((r,e)=>{var t=eH(),i=tH(),s=Sd(),n=tl();function o(a){return s(a)?t(n(a)):i(a)}M(o,"property"),e.exports=o}),iH=X((r,e)=>{var t=U4(),i=Q4(),s=Z4(),n=jr(),o=rH();function a(l){return typeof l=="function"?l:l==null?s:typeof l=="object"?n(l)?i(l[0],l[1]):t(l):o(l)}M(a,"baseIteratee"),e.exports=a}),sH=X((r,e)=>{var t=LU(),i=YU(),s=iH();function n(o,a){var l={};return a=s(a,3),i(o,function(u,c,g){t(l,c,a(u,c,g))}),l}M(n,"mapValues"),e.exports=n}),nH=M(r=>r.name==="literal","isLiteral"),oH=M(r=>r.value.replace(/['|"]/g,""),"toEnumOption"),aH=M(r=>{switch(r.type){case"function":return{name:"function"};case"object":let e={};return r.signature.properties.forEach(t=>{e[t.key]=wn(t.value)}),{name:"object",value:e};default:throw new Oa({type:r,language:"Flow"})}},"convertSig"),wn=M(r=>{let{name:e,raw:t}=r,i={};switch(typeof t<"u"&&(i.raw=t),r.name){case"literal":return{...i,name:"other",value:r.value};case"string":case"number":case"symbol":case"boolean":return{...i,name:e};case"Array":return{...i,name:"array",value:r.elements.map(wn)};case"signature":return{...i,...aH(r)};case"union":return r.elements?.every(nH)?{...i,name:"enum",value:r.elements?.map(oH)}:{...i,name:e,value:r.elements?.map(wn)};case"intersection":return{...i,name:e,value:r.elements?.map(wn)};default:return{...i,name:"other",value:e}}},"convert"),lH=CU(sH(),1),xw=/^['"]|['"]$/g,uH=M(r=>r.replace(xw,""),"trimQuotes"),cH=M(r=>xw.test(r),"includesQuotes"),bw=M(r=>{let e=uH(r);return cH(r)||Number.isNaN(Number(e))?e:Number(e)},"parseLiteral"),hH=/^\(.*\) => /,Sn=M(r=>{let{name:e,raw:t,computed:i,value:s}=r,n={};switch(typeof t<"u"&&(n.raw=t),e){case"enum":{let a=i?s:s.map(l=>bw(l.value));return{...n,name:e,value:a}}case"string":case"number":case"symbol":return{...n,name:e};case"func":return{...n,name:"function"};case"bool":case"boolean":return{...n,name:"boolean"};case"arrayOf":case"array":return{...n,name:"array",value:s&&Sn(s)};case"object":return{...n,name:e};case"objectOf":return{...n,name:e,value:Sn(s)};case"shape":case"exact":let o=(0,lH.default)(s,a=>Sn(a));return{...n,name:"object",value:o};case"union":return{...n,name:"union",value:s.map(a=>Sn(a))};case"instanceOf":case"element":case"elementType":default:{if(e?.indexOf("|")>0)try{let u=e.split("|").map(c=>JSON.parse(c));return{...n,name:"enum",value:u}}catch{}let a=s?`${e}(${s})`:e,l=hH.test(e)?"function":"other";return{...n,name:l,value:a}}}},"convert"),dH=M(r=>{switch(r.type){case"function":return{name:"function"};case"object":let e={};return r.signature.properties.forEach(t=>{e[t.key]=Tn(t.value)}),{name:"object",value:e};default:throw new Oa({type:r,language:"Typescript"})}},"convertSig"),Tn=M(r=>{let{name:e,raw:t}=r,i={};switch(typeof t<"u"&&(i.raw=t),r.name){case"string":case"number":case"symbol":case"boolean":return{...i,name:e};case"Array":return{...i,name:"array",value:r.elements.map(Tn)};case"signature":return{...i,...dH(r)};case"union":let s;return r.elements?.every(n=>n.name==="literal")?s={...i,name:"enum",value:r.elements?.map(n=>bw(n.value))}:s={...i,name:e,value:r.elements?.map(Tn)},s;case"intersection":return{...i,name:e,value:r.elements?.map(Tn)};default:return{...i,name:"other",value:e}}},"convert"),wd=M(r=>{let{type:e,tsType:t,flowType:i}=r;try{if(e!=null)return Sn(e);if(t!=null)return Tn(t);if(i!=null)return wn(i)}catch(s){console.error(s)}return null},"convert"),pH=(r=>(r.JAVASCRIPT="JavaScript",r.FLOW="Flow",r.TYPESCRIPT="TypeScript",r.UNKNOWN="Unknown",r))(pH||{}),fH=["null","undefined"];function rl(r){return fH.some(e=>e===r)}M(rl,"isDefaultValueBlacklisted");var gH=M(r=>{if(!r)return"";if(typeof r=="string")return r;throw new Error(`Description: expected string, got: ${JSON.stringify(r)}`)},"str");function Td(r){return!!r.__docgenInfo}M(Td,"hasDocgen");function vw(r){return r!=null&&Object.keys(r).length>0}M(vw,"isValidDocgenSection");function Sw(r,e){return Td(r)?r.__docgenInfo[e]:null}M(Sw,"getDocgenSection");function ww(r){return Td(r)?gH(r.__docgenInfo.description):""}M(ww,"getDocgenDescription");var zr;(function(r){r.start="/**",r.nostart="/***",r.delim="*",r.end="*/"})(zr=zr||(zr={}));function Tw(r){return/^\s+$/.test(r)}M(Tw,"isSpace");function Cw(r){let e=r.match(/\r+$/);return e==null?["",r]:[r.slice(-e[0].length),r.slice(0,-e[0].length)]}M(Cw,"splitCR");function si(r){let e=r.match(/^\s+/);return e==null?["",r]:[r.slice(0,e[0].length),r.slice(e[0].length)]}M(si,"splitSpace");function Aw(r){return r.split(/\n/)}M(Aw,"splitLines");function Ew(r={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},r)}M(Ew,"seedSpec");function Iw(r={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},r)}M(Iw,"seedTokens");var mH=/^@\S+/;function Rw({fence:r="```"}={}){let e=Pw(r),t=M((i,s)=>e(i)?!s:s,"toggleFence");return M(function(i){let s=[[]],n=!1;for(let o of i)mH.test(o.tokens.description)&&!n?s.push([o]):s[s.length-1].push(o),n=t(o.tokens.description,n);return s},"parseBlock")}M(Rw,"getParser");function Pw(r){return typeof r=="string"?e=>e.split(r).length%2===0:r}M(Pw,"getFencer");function kw({startLine:r=0,markers:e=zr}={}){let t=null,i=r;return M(function(s){let n=s,o=Iw();if([o.lineEnd,n]=Cw(n),[o.start,n]=si(n),t===null&&n.startsWith(e.start)&&!n.startsWith(e.nostart)&&(t=[],o.delimiter=n.slice(0,e.start.length),n=n.slice(e.start.length),[o.postDelimiter,n]=si(n)),t===null)return i++,null;let a=n.trimRight().endsWith(e.end);if(o.delimiter===""&&n.startsWith(e.delim)&&!n.startsWith(e.end)&&(o.delimiter=e.delim,n=n.slice(e.delim.length),[o.postDelimiter,n]=si(n)),a){let l=n.trimRight();o.end=n.slice(l.length-e.end.length),n=l.slice(0,-e.end.length)}if(o.description=n,t.push({number:i,source:s,tokens:o}),i++,a){let l=t.slice();return t=null,l}return null},"parseSource")}M(kw,"getParser");function Ow({tokenizers:r}){return M(function(e){var t;let i=Ew({source:e});for(let s of r)if(i=s(i),!((t=i.problems[i.problems.length-1])===null||t===void 0)&&t.critical)break;return i},"parseSpec")}M(Ow,"getParser");function Lw(){return r=>{let{tokens:e}=r.source[0],t=e.description.match(/\s*(@(\S+))(\s*)/);return t===null?(r.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:r.source[0].number,critical:!0}),r):(e.tag=t[1],e.postTag=t[3],e.description=e.description.slice(t[0].length),r.tag=t[2],r)}}M(Lw,"tagTokenizer");function Dw(r="compact"){let e=Fw(r);return t=>{let i=0,s=[];for(let[a,{tokens:l}]of t.source.entries()){let u="";if(a===0&&l.description[0]!=="{")return t;for(let c of l.description)if(c==="{"&&i++,c==="}"&&i--,u+=c,i===0)break;if(s.push([l,u]),i===0)break}if(i!==0)return t.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:t.source[0].number,critical:!0}),t;let n=[],o=s[0][0].postDelimiter.length;for(let[a,[l,u]]of s.entries())l.type=u,a>0&&(l.type=l.postDelimiter.slice(o)+u,l.postDelimiter=l.postDelimiter.slice(0,o)),[l.postType,l.description]=si(l.description.slice(u.length)),n.push(l.type);return n[0]=n[0].slice(1),n[n.length-1]=n[n.length-1].slice(0,-1),t.type=e(n),t}}M(Dw,"typeTokenizer");var _H=M(r=>r.trim(),"trim");function Fw(r){return r==="compact"?e=>e.map(_H).join(""):r==="preserve"?e=>e.join(` +`):r}M(Fw,"getJoiner");var yH=M(r=>r&&r.startsWith('"')&&r.endsWith('"'),"isQuoted");function Bw(){let r=M((e,{tokens:t},i)=>t.type===""?e:i,"typeEnd");return e=>{let{tokens:t}=e.source[e.source.reduce(r,0)],i=t.description.trimLeft(),s=i.split('"');if(s.length>1&&s[0]===""&&s.length%2===1)return e.name=s[1],t.name=`"${s[1]}"`,[t.postName,t.description]=si(i.slice(t.name.length)),e;let n=0,o="",a=!1,l;for(let c of i){if(n===0&&Tw(c))break;c==="["&&n++,c==="]"&&n--,o+=c}if(n!==0)return e.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:e.source[0].number,critical:!0}),e;let u=o;if(o[0]==="["&&o[o.length-1]==="]"){a=!0,o=o.slice(1,-1);let c=o.split("=");if(o=c[0].trim(),c[1]!==void 0&&(l=c.slice(1).join("=").trim()),o==="")return e.problems.push({code:"spec:name:empty-name",message:"empty name",line:e.source[0].number,critical:!0}),e;if(l==="")return e.problems.push({code:"spec:name:empty-default",message:"empty default value",line:e.source[0].number,critical:!0}),e;if(!yH(l)&&/=(?!>)/.test(l))return e.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:e.source[0].number,critical:!0}),e}return e.optional=a,e.name=o,t.name=u,l!==void 0&&(e.default=l),[t.postName,t.description]=si(i.slice(t.name.length)),e}}M(Bw,"nameTokenizer");function Mw(r="compact",e=zr){let t=Cd(r);return i=>(i.description=t(i.source,e),i)}M(Mw,"descriptionTokenizer");function Cd(r){return r==="compact"?Nw:r==="preserve"?zw:r}M(Cd,"getJoiner");function Nw(r,e=zr){return r.map(({tokens:{description:t}})=>t.trim()).filter(t=>t!=="").join(" ")}M(Nw,"compactJoiner");var xH=M((r,{tokens:e},t)=>e.type===""?r:t,"lineNo"),bH=M(({tokens:r})=>(r.delimiter===""?r.start:r.postDelimiter.slice(1))+r.description,"getDescription");function zw(r,e=zr){if(r.length===0)return"";r[0].tokens.description===""&&r[0].tokens.delimiter===e.start&&(r=r.slice(1));let t=r[r.length-1];return t!==void 0&&t.tokens.description===""&&t.tokens.end.endsWith(e.end)&&(r=r.slice(0,-1)),r=r.slice(r.reduce(xH,0)),r.map(bH).join(` `)}M(zw,"preserveJoiner");function jw({startLine:r=0,fence:e="```",spacing:t="compact",markers:i=zr,tokenizers:s=[Lw(),Dw(t),Bw(),Mw(t)]}={}){if(r<0||r%1>0)throw new Error("Invalid startLine");let n=kw({startLine:r,markers:i}),o=Rw({fence:e}),a=Ow({tokenizers:s}),l=Cd(t);return function(u){let c=[];for(let g of Aw(u)){let m=n(g);if(m===null)continue;let y=o(m),b=y.slice(1).map(a);c.push({description:l(y[0],i),tags:b,source:m,problems:b.reduce((C,A)=>C.concat(A.problems),[])})}return c}}M(jw,"getParser");function Uw(r){return r.start+r.delimiter+r.postDelimiter+r.tag+r.postTag+r.type+r.postType+r.name+r.postName+r.description+r.end+r.lineEnd}M(Uw,"join");function Hw(){return r=>r.source.map(({tokens:e})=>Uw(e)).join(` -`)}M(Hw,"getStringifier");var bH={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0},kOe=Object.keys(bH);function Ww(r,e={}){return jw(e)(r)}M(Ww,"parse");var OOe=Hw();function qw(r){return r!=null&&r.includes("@")}M(qw,"containsJsDoc");function $w(r){let e=`/** +`)}M(Hw,"getStringifier");var vH={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0},OOe=Object.keys(vH);function Ww(r,e={}){return jw(e)(r)}M(Ww,"parse");var LOe=Hw();function qw(r){return r!=null&&r.includes("@")}M(qw,"containsJsDoc");function $w(r){let e=`/** `+(r??"").split(` `).map(i=>` * ${i}`).join(` `)+` -*/`,t=Ww(e,{spacing:"preserve"});if(!t||t.length===0)throw new Error("Cannot parse JSDoc tags.");return t[0]}M($w,"parse");var vH={tags:["param","arg","argument","returns","ignore","deprecated"]},SH=M((r,e=vH)=>{if(!qw(r))return{includesJsDoc:!1,ignore:!1};let t=$w(r),i=Vw(t,e.tags);return i.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:t.description.trim(),extractedTags:i}},"parseJsDoc");function Vw(r,e){let t={params:null,deprecated:null,returns:null,ignore:!1};for(let i of r.tags)if(!(e!==void 0&&!e.includes(i.tag)))if(i.tag==="ignore"){t.ignore=!0;break}else switch(i.tag){case"param":case"arg":case"argument":{let s=Yw(i);s!=null&&(t.params==null&&(t.params=[]),t.params.push(s));break}case"deprecated":{let s=Xw(i);s!=null&&(t.deprecated=s);break}case"returns":{let s=Kw(i);s!=null&&(t.returns=s);break}default:break}return t}M(Vw,"extractJsDocTags");function Gw(r){return r.replace(/[\.-]$/,"")}M(Gw,"normaliseParamName");function Yw(r){if(!r.name||r.name==="-")return null;let e=Id(r.type);return{name:r.name,type:e,description:Ed(r.description),getPrettyName:M(()=>Gw(r.name),"getPrettyName"),getTypeName:M(()=>e?Rd(e):null,"getTypeName")}}M(Yw,"extractParam");function Xw(r){return r.name?Ad(r.name,r.description):null}M(Xw,"extractDeprecated");function Ad(r,e){let t=r===""?e:`${r} ${e}`;return Ed(t)}M(Ad,"joinNameAndDescription");function Ed(r){let e=r.replace(/^- /g,"").trim();return e===""?null:e}M(Ed,"normaliseDescription");function Kw(r){let e=Id(r.type);return e?{type:e,description:Ad(r.name,r.description),getTypeName:M(()=>Rd(e),"getTypeName")}:null}M(Kw,"extractReturns");var Ur=(0,Xi.stringifyRules)(),wH=Ur.JsdocTypeObject;Ur.JsdocTypeAny=()=>"any";Ur.JsdocTypeObject=(r,e)=>`(${wH(r,e)})`;Ur.JsdocTypeOptional=(r,e)=>e(r.element);Ur.JsdocTypeNullable=(r,e)=>e(r.element);Ur.JsdocTypeNotNullable=(r,e)=>e(r.element);Ur.JsdocTypeUnion=(r,e)=>r.elements.map(e).join("|");function Id(r){try{return(0,Xi.parse)(r,"typescript")}catch{return null}}M(Id,"extractType");function Rd(r){return(0,Xi.transform)(Ur,r)}M(Rd,"extractTypeName");function Pd(r){return r.length>90}M(Pd,"isTooLongForTypeSummary");function Jw(r){return r.length>50}M(Jw,"isTooLongForDefaultValueSummary");function Ke(r,e){return r===e?{summary:r}:{summary:r,detail:e}}M(Ke,"createSummaryValue");var LOe=M(r=>r.replace(/\\r\\n/g,"\\n"),"normalizeNewlines");function Qw(r,e){if(r!=null){let{value:t}=r;if(!rl(t))return Jw(t)?Ke(e?.name,t):Ke(t)}return null}M(Qw,"createDefaultValue");function kd({name:r,value:e,elements:t,raw:i}){return e??(t!=null?t.map(kd).join(" | "):i??r)}M(kd,"generateUnionElement");function Zw({name:r,raw:e,elements:t}){return t!=null?Ke(t.map(kd).join(" | ")):e!=null?Ke(e.replace(/^\|\s*/,"")):Ke(r)}M(Zw,"generateUnion");function eT({type:r,raw:e}){return e!=null?Ke(e):Ke(r)}M(eT,"generateFuncSignature");function tT({type:r,raw:e}){return e!=null?Pd(e)?Ke(r,e):Ke(e):Ke(r)}M(tT,"generateObjectSignature");function rT(r){let{type:e}=r;return e==="object"?tT(r):eT(r)}M(rT,"generateSignature");function iT({name:r,raw:e}){return e!=null?Pd(e)?Ke(r,e):Ke(e):Ke(r)}M(iT,"generateDefault");function sT(r){if(r==null)return null;switch(r.name){case"union":return Zw(r);case"signature":return rT(r);default:return iT(r)}}M(sT,"createType");var TH=M((r,e)=>{let{flowType:t,description:i,required:s,defaultValue:n}=e;return{name:r,type:sT(t),required:s,description:i,defaultValue:Qw(n??null,t??null)}},"createFlowPropDef");function nT({defaultValue:r}){if(r!=null){let{value:e}=r;if(!rl(e))return Ke(e)}return null}M(nT,"createDefaultValue");function oT({tsType:r,required:e}){if(r==null)return null;let t=r.name;return e||(t=t.replace(" | undefined","")),Ke(["Array","Record","signature"].includes(r.name)?r.raw:t)}M(oT,"createType");var CH=M((r,e)=>{let{description:t,required:i}=e;return{name:r,type:oT(e),required:i,description:t,defaultValue:nT(e)}},"createTsPropDef");function aT(r){return r!=null?Ke(r.name):null}M(aT,"createType");function lT(r){let{computed:e,func:t}=r;return typeof e>"u"&&typeof t>"u"}M(lT,"isReactDocgenTypescript");function uT(r){return r?r.name==="string"?!0:r.name==="enum"?Array.isArray(r.value)&&r.value.every(({value:e})=>typeof e=="string"&&e[0]==='"'&&e[e.length-1]==='"'):!1:!1}M(uT,"isStringValued");function cT(r,e){if(r!=null){let{value:t}=r;if(!rl(t))return lT(r)&&uT(e)?Ke(JSON.stringify(t)):Ke(t)}return null}M(cT,"createDefaultValue");function Od(r,e,t){let{description:i,required:s,defaultValue:n}=t;return{name:r,type:aT(e),required:s,description:i,defaultValue:cT(n,e)}}M(Od,"createBasicPropDef");function En(r,e){if(e?.includesJsDoc){let{description:t,extractedTags:i}=e;t!=null&&(r.description=e.description);let s={...i,params:i?.params?.map(n=>({name:n.getPrettyName(),description:n.description}))};Object.values(s).filter(Boolean).length>0&&(r.jsDocTags=s)}return r}M(En,"applyJsDocResult");var AH=M((r,e,t)=>{let i=Od(r,e.type,e);return i.sbType=wd(e),En(i,t)},"javaScriptFactory"),EH=M((r,e,t)=>{let i=CH(r,e);return i.sbType=wd(e),En(i,t)},"tsFactory"),IH=M((r,e,t)=>{let i=TH(r,e);return i.sbType=wd(e),En(i,t)},"flowFactory"),RH=M((r,e,t)=>{let i=Od(r,{name:"unknown"},e);return En(i,t)},"unknownFactory"),hT=M(r=>{switch(r){case"JavaScript":return AH;case"TypeScript":return EH;case"Flow":return IH;default:return RH}},"getPropDefFactory"),dT=M(r=>r.type!=null?"JavaScript":r.flowType!=null?"Flow":r.tsType!=null?"TypeScript":"Unknown","getTypeSystem"),PH=M(r=>{let e=dT(r[0]),t=hT(e);return r.map(i=>{let s=i;return i.type?.elements&&(s={...i,type:{...i.type,value:i.type.elements}}),Ld(s.name,s,e,t)})},"extractComponentSectionArray"),kH=M(r=>{let e=Object.keys(r),t=dT(r[e[0]]),i=hT(t);return e.map(s=>{let n=r[s];return n!=null?Ld(s,n,t,i):null}).filter(Boolean)},"extractComponentSectionObject"),DOe=M((r,e)=>{let t=Sw(r,e);return vw(t)?Array.isArray(t)?PH(t):kH(t):[]},"extractComponentProps");function Ld(r,e,t,i){let s=SH(e.description);return s.includesJsDoc&&s.ignore?null:{propDef:i(r,e,s),jsDocTags:s.extractedTags,docgenInfo:e,typeSystem:t}}M(Ld,"extractProp");function OH(r){return r!=null?ww(r):""}M(OH,"extractComponentDescription");var BOe=M(r=>{let{component:e,argTypes:t,parameters:{docs:i={}}}=r,{extractArgTypes:s}=i,n=s&&e?s(e):{};return n?pr(n,t):t},"enhanceArgTypes"),pT="storybook/docs",MOe=`${pT}/panel`;var LH=`${pT}/snippet-rendered`,fT=(r=>(r.AUTO="auto",r.CODE="code",r.DYNAMIC="dynamic",r))(fT||{}),DH=/(addons\/|addon-|addon-essentials\/)(docs|controls)/,NOe=M(r=>r.presetsList?.some(e=>DH.test(e.name)),"hasDocsOrControls");h();d();p();h();d();p();var FH=Object.create,gT=Object.defineProperty,BH=Object.getOwnPropertyDescriptor,mT=Object.getOwnPropertyNames,MH=Object.getPrototypeOf,NH=Object.prototype.hasOwnProperty,Ot=(r,e)=>function(){return e||(0,r[mT(r)[0]])((e={exports:{}}).exports,e),e.exports},zH=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mT(e))!NH.call(r,s)&&s!==t&&gT(r,s,{get:()=>e[s],enumerable:!(i=BH(e,s))||i.enumerable});return r},il=(r,e,t)=>(t=r!=null?FH(MH(r)):{},zH(e||!r||!r.__esModule?gT(t,"default",{value:r,enumerable:!0}):t,r)),jH=["bubbles","cancelBubble","cancelable","composed","currentTarget","defaultPrevented","eventPhase","isTrusted","returnValue","srcElement","target","timeStamp","type"],UH=["detail"];function _T(r){let e=jH.filter(t=>r[t]!==void 0).reduce((t,i)=>({...t,[i]:r[i]}),{});return r instanceof CustomEvent&&UH.filter(t=>r[t]!==void 0).forEach(t=>{e[t]=r[t]}),e}var OT=ye(gh(),1),wT=Ot({"node_modules/has-symbols/shams.js"(r,e){"use strict";e.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var i={},s=Symbol("test"),n=Object(s);if(typeof s=="string"||Object.prototype.toString.call(s)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;i[s]=o;for(s in i)return!1;if(typeof Object.keys=="function"&&Object.keys(i).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(i).length!==0)return!1;var a=Object.getOwnPropertySymbols(i);if(a.length!==1||a[0]!==s||!Object.prototype.propertyIsEnumerable.call(i,s))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var l=Object.getOwnPropertyDescriptor(i,s);if(l.value!==o||l.enumerable!==!0)return!1}return!0}}}),TT=Ot({"node_modules/has-symbols/index.js"(r,e){"use strict";var t=typeof Symbol<"u"&&Symbol,i=wT();e.exports=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()}}}),HH=Ot({"node_modules/function-bind/implementation.js"(r,e){"use strict";var t="Function.prototype.bind called on incompatible ",i=Array.prototype.slice,s=Object.prototype.toString,n="[object Function]";e.exports=function(a){var l=this;if(typeof l!="function"||s.call(l)!==n)throw new TypeError(t+l);for(var u=i.call(arguments,1),c,g=function(){if(this instanceof c){var A=l.apply(this,u.concat(i.call(arguments)));return Object(A)===A?A:this}else return l.apply(a,u.concat(i.call(arguments)))},m=Math.max(0,l.length-u.length),y=[],b=0;b<m;b++)y.push("$"+b);if(c=Function("binder","return function ("+y.join(",")+"){ return binder.apply(this,arguments); }")(g),l.prototype){var C=function(){};C.prototype=l.prototype,c.prototype=new C,C.prototype=null}return c}}}),Fd=Ot({"node_modules/function-bind/index.js"(r,e){"use strict";var t=HH();e.exports=Function.prototype.bind||t}}),WH=Ot({"node_modules/has/src/index.js"(r,e){"use strict";var t=Fd();e.exports=t.call(Function.call,Object.prototype.hasOwnProperty)}}),CT=Ot({"node_modules/get-intrinsic/index.js"(r,e){"use strict";var t,i=SyntaxError,s=Function,n=TypeError,o=function(te){try{return s('"use strict"; return ('+te+").constructor;")()}catch{}},a=Object.getOwnPropertyDescriptor;if(a)try{a({},"")}catch{a=null}var l=function(){throw new n},u=a?function(){try{return arguments.callee,l}catch{try{return a(arguments,"callee").get}catch{return l}}}():l,c=TT()(),g=Object.getPrototypeOf||function(te){return te.__proto__},m={},y=typeof Uint8Array>"u"?t:g(Uint8Array),b={"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":c?g([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":m,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":c?g(g([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!c?t:g(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!c?t:g(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":c?g(""[Symbol.iterator]()):t,"%Symbol%":c?Symbol:t,"%SyntaxError%":i,"%ThrowTypeError%":u,"%TypedArray%":y,"%TypeError%":n,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet},C=function te($){var D;if($==="%AsyncFunction%")D=o("async function () {}");else if($==="%GeneratorFunction%")D=o("function* () {}");else if($==="%AsyncGeneratorFunction%")D=o("async function* () {}");else if($==="%AsyncGenerator%"){var N=te("%AsyncGeneratorFunction%");N&&(D=N.prototype)}else if($==="%AsyncIteratorPrototype%"){var G=te("%AsyncGenerator%");G&&(D=g(G.prototype))}return b[$]=D,D},A={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},T=Fd(),R=WH(),P=T.call(Function.call,Array.prototype.concat),E=T.call(Function.apply,Array.prototype.splice),k=T.call(Function.call,String.prototype.replace),O=T.call(Function.call,String.prototype.slice),B=T.call(Function.call,RegExp.prototype.exec),F=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,U=/\\(\\)?/g,q=function($){var D=O($,0,1),N=O($,-1);if(D==="%"&&N!=="%")throw new i("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&D!=="%")throw new i("invalid intrinsic syntax, expected opening `%`");var G=[];return k($,F,function(Q,ne,ie,re){G[G.length]=ie?k(re,U,"$1"):ne||Q}),G},ee=function($,D){var N=$,G;if(R(A,N)&&(G=A[N],N="%"+G[0]+"%"),R(b,N)){var Q=b[N];if(Q===m&&(Q=C(N)),typeof Q>"u"&&!D)throw new n("intrinsic "+$+" exists, but is not available. Please file an issue!");return{alias:G,name:N,value:Q}}throw new i("intrinsic "+$+" does not exist!")};e.exports=function($,D){if(typeof $!="string"||$.length===0)throw new n("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof D!="boolean")throw new n('"allowMissing" argument must be a boolean');if(B(/^%?[^%]*%?$/,$)===null)throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=q($),G=N.length>0?N[0]:"",Q=ee("%"+G+"%",D),ne=Q.name,ie=Q.value,re=!1,ae=Q.alias;ae&&(G=ae[0],E(N,P([0,1],ae)));for(var ce=1,Se=!0;ce<N.length;ce+=1){var we=N[ce],xe=O(we,0,1),Ie=O(we,-1);if((xe==='"'||xe==="'"||xe==="`"||Ie==='"'||Ie==="'"||Ie==="`")&&xe!==Ie)throw new i("property names with quotes must have matching quotes");if((we==="constructor"||!Se)&&(re=!0),G+="."+we,ne="%"+G+"%",R(b,ne))ie=b[ne];else if(ie!=null){if(!(we in ie)){if(!D)throw new n("base intrinsic for "+$+" exists, but the property is not available.");return}if(a&&ce+1>=N.length){var De=a(ie,we);Se=!!De,Se&&"get"in De&&!("originalValue"in De.get)?ie=De.get:ie=ie[we]}else Se=R(ie,we),ie=ie[we];Se&&!re&&(b[ne]=ie)}}return ie}}}),qH=Ot({"node_modules/call-bind/index.js"(r,e){"use strict";var t=Fd(),i=CT(),s=i("%Function.prototype.apply%"),n=i("%Function.prototype.call%"),o=i("%Reflect.apply%",!0)||t.call(n,s),a=i("%Object.getOwnPropertyDescriptor%",!0),l=i("%Object.defineProperty%",!0),u=i("%Math.max%");if(l)try{l({},"a",{value:1})}catch{l=null}e.exports=function(m){var y=o(t,n,arguments);if(a&&l){var b=a(y,"length");b.configurable&&l(y,"length",{value:1+u(0,m.length-(arguments.length-1))})}return y};var c=function(){return o(t,s,arguments)};l?l(e.exports,"apply",{value:c}):e.exports.apply=c}}),$H=Ot({"node_modules/call-bind/callBound.js"(r,e){"use strict";var t=CT(),i=qH(),s=i(t("String.prototype.indexOf"));e.exports=function(o,a){var l=t(o,!!a);return typeof l=="function"&&s(o,".prototype.")>-1?i(l):l}}}),VH=Ot({"node_modules/has-tostringtag/shams.js"(r,e){"use strict";var t=wT();e.exports=function(){return t()&&!!Symbol.toStringTag}}}),GH=Ot({"node_modules/is-regex/index.js"(r,e){"use strict";var t=$H(),i=VH()(),s,n,o,a;i&&(s=t("Object.prototype.hasOwnProperty"),n=t("RegExp.prototype.exec"),o={},l=function(){throw o},a={toString:l,valueOf:l},typeof Symbol.toPrimitive=="symbol"&&(a[Symbol.toPrimitive]=l));var l,u=t("Object.prototype.toString"),c=Object.getOwnPropertyDescriptor,g="[object RegExp]";e.exports=i?function(y){if(!y||typeof y!="object")return!1;var b=c(y,"lastIndex"),C=b&&s(b,"value");if(!C)return!1;try{n(y,a)}catch(A){return A===o}}:function(y){return!y||typeof y!="object"&&typeof y!="function"?!1:u(y)===g}}}),YH=Ot({"node_modules/is-function/index.js"(r,e){e.exports=i;var t=Object.prototype.toString;function i(s){if(!s)return!1;var n=t.call(s);return n==="[object Function]"||typeof s=="function"&&n!=="[object RegExp]"||typeof window<"u"&&(s===window.setTimeout||s===window.alert||s===window.confirm||s===window.prompt)}}}),XH=Ot({"node_modules/is-symbol/index.js"(r,e){"use strict";var t=Object.prototype.toString,i=TT()();i?(s=Symbol.prototype.toString,n=/^Symbol\(.*\)$/,o=function(l){return typeof l.valueOf()!="symbol"?!1:n.test(s.call(l))},e.exports=function(l){if(typeof l=="symbol")return!0;if(t.call(l)!=="[object Symbol]")return!1;try{return o(l)}catch{return!1}}):e.exports=function(l){return!1};var s,n,o}}),KH=il(GH()),JH=il(YH()),QH=il(XH());function ZH(r){return r!=null&&typeof r=="object"&&Array.isArray(r)===!1}var eW=typeof window=="object"&&window&&window.Object===Object&&window,tW=eW,rW=typeof self=="object"&&self&&self.Object===Object&&self,iW=tW||rW||Function("return this")(),Bd=iW,sW=Bd.Symbol,Ki=sW,AT=Object.prototype,nW=AT.hasOwnProperty,oW=AT.toString,In=Ki?Ki.toStringTag:void 0;function aW(r){var e=nW.call(r,In),t=r[In];try{r[In]=void 0;var i=!0}catch{}var s=oW.call(r);return i&&(e?r[In]=t:delete r[In]),s}var lW=aW,uW=Object.prototype,cW=uW.toString;function hW(r){return cW.call(r)}var dW=hW,pW="[object Null]",fW="[object Undefined]",yT=Ki?Ki.toStringTag:void 0;function gW(r){return r==null?r===void 0?fW:pW:yT&&yT in Object(r)?lW(r):dW(r)}var ET=gW;function mW(r){return r!=null&&typeof r=="object"}var _W=mW,yW="[object Symbol]";function xW(r){return typeof r=="symbol"||_W(r)&&ET(r)==yW}var Md=xW;function bW(r,e){for(var t=-1,i=r==null?0:r.length,s=Array(i);++t<i;)s[t]=e(r[t],t,r);return s}var vW=bW,SW=Array.isArray,Nd=SW,wW=1/0,xT=Ki?Ki.prototype:void 0,bT=xT?xT.toString:void 0;function IT(r){if(typeof r=="string")return r;if(Nd(r))return vW(r,IT)+"";if(Md(r))return bT?bT.call(r):"";var e=r+"";return e=="0"&&1/r==-wW?"-0":e}var TW=IT;function CW(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var RT=CW,AW="[object AsyncFunction]",EW="[object Function]",IW="[object GeneratorFunction]",RW="[object Proxy]";function PW(r){if(!RT(r))return!1;var e=ET(r);return e==EW||e==IW||e==AW||e==RW}var kW=PW,OW=Bd["__core-js_shared__"],Dd=OW,vT=function(){var r=/[^.]+$/.exec(Dd&&Dd.keys&&Dd.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function LW(r){return!!vT&&vT in r}var DW=LW,FW=Function.prototype,BW=FW.toString;function MW(r){if(r!=null){try{return BW.call(r)}catch{}try{return r+""}catch{}}return""}var NW=MW,zW=/[\\^$.*+?()[\]{}|]/g,jW=/^\[object .+?Constructor\]$/,UW=Function.prototype,HW=Object.prototype,WW=UW.toString,qW=HW.hasOwnProperty,$W=RegExp("^"+WW.call(qW).replace(zW,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VW(r){if(!RT(r)||DW(r))return!1;var e=kW(r)?$W:jW;return e.test(NW(r))}var GW=VW;function YW(r,e){return r?.[e]}var XW=YW;function KW(r,e){var t=XW(r,e);return GW(t)?t:void 0}var PT=KW;function JW(r,e){return r===e||r!==r&&e!==e}var QW=JW,ZW=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,e6=/^\w*$/;function t6(r,e){if(Nd(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||Md(r)?!0:e6.test(r)||!ZW.test(r)||e!=null&&r in Object(e)}var r6=t6,i6=PT(Object,"create"),Rn=i6;function s6(){this.__data__=Rn?Rn(null):{},this.size=0}var n6=s6;function o6(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var a6=o6,l6="__lodash_hash_undefined__",u6=Object.prototype,c6=u6.hasOwnProperty;function h6(r){var e=this.__data__;if(Rn){var t=e[r];return t===l6?void 0:t}return c6.call(e,r)?e[r]:void 0}var d6=h6,p6=Object.prototype,f6=p6.hasOwnProperty;function g6(r){var e=this.__data__;return Rn?e[r]!==void 0:f6.call(e,r)}var m6=g6,_6="__lodash_hash_undefined__";function y6(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=Rn&&e===void 0?_6:e,this}var x6=y6;function Ji(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Ji.prototype.clear=n6;Ji.prototype.delete=a6;Ji.prototype.get=d6;Ji.prototype.has=m6;Ji.prototype.set=x6;var ST=Ji;function b6(){this.__data__=[],this.size=0}var v6=b6;function S6(r,e){for(var t=r.length;t--;)if(QW(r[t][0],e))return t;return-1}var nl=S6,w6=Array.prototype,T6=w6.splice;function C6(r){var e=this.__data__,t=nl(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():T6.call(e,t,1),--this.size,!0}var A6=C6;function E6(r){var e=this.__data__,t=nl(e,r);return t<0?void 0:e[t][1]}var I6=E6;function R6(r){return nl(this.__data__,r)>-1}var P6=R6;function k6(r,e){var t=this.__data__,i=nl(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}var O6=k6;function Qi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Qi.prototype.clear=v6;Qi.prototype.delete=A6;Qi.prototype.get=I6;Qi.prototype.has=P6;Qi.prototype.set=O6;var L6=Qi,D6=PT(Bd,"Map"),F6=D6;function B6(){this.size=0,this.__data__={hash:new ST,map:new(F6||L6),string:new ST}}var M6=B6;function N6(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var z6=N6;function j6(r,e){var t=r.__data__;return z6(e)?t[typeof e=="string"?"string":"hash"]:t.map}var ol=j6;function U6(r){var e=ol(this,r).delete(r);return this.size-=e?1:0,e}var H6=U6;function W6(r){return ol(this,r).get(r)}var q6=W6;function $6(r){return ol(this,r).has(r)}var V6=$6;function G6(r,e){var t=ol(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}var Y6=G6;function Zi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Zi.prototype.clear=M6;Zi.prototype.delete=H6;Zi.prototype.get=q6;Zi.prototype.has=V6;Zi.prototype.set=Y6;var kT=Zi,X6="Expected a function";function zd(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(X6);var t=function(){var i=arguments,s=e?e.apply(this,i):i[0],n=t.cache;if(n.has(s))return n.get(s);var o=r.apply(this,i);return t.cache=n.set(s,o)||n,o};return t.cache=new(zd.Cache||kT),t}zd.Cache=kT;var K6=zd,J6=500;function Q6(r){var e=K6(r,function(i){return t.size===J6&&t.clear(),i}),t=e.cache;return e}var Z6=Q6,eq=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tq=/\\(\\)?/g,rq=Z6(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(eq,function(t,i,s,n){e.push(s?n.replace(tq,"$1"):i||t)}),e}),iq=rq;function sq(r){return r==null?"":TW(r)}var nq=sq;function oq(r,e){return Nd(r)?r:r6(r,e)?[r]:iq(nq(r))}var aq=oq,lq=1/0;function uq(r){if(typeof r=="string"||Md(r))return r;var e=r+"";return e=="0"&&1/r==-lq?"-0":e}var cq=uq;function hq(r,e){e=aq(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[cq(e[t++])];return t&&t==i?r:void 0}var dq=hq;function pq(r,e,t){var i=r==null?void 0:dq(r,e);return i===void 0?t:i}var fq=pq,sl=ZH,gq=r=>{let e=null,t=!1,i=!1,s=!1,n="";if(r.indexOf("//")>=0||r.indexOf("/*")>=0)for(let o=0;o<r.length;o+=1)!e&&!t&&!i&&!s?r[o]==='"'||r[o]==="'"||r[o]==="`"?e=r[o]:r[o]==="/"&&r[o+1]==="*"?t=!0:r[o]==="/"&&r[o+1]==="/"?i=!0:r[o]==="/"&&r[o+1]!=="/"&&(s=!0):(e&&(r[o]===e&&r[o-1]!=="\\"||r[o]===` +*/`,t=Ww(e,{spacing:"preserve"});if(!t||t.length===0)throw new Error("Cannot parse JSDoc tags.");return t[0]}M($w,"parse");var SH={tags:["param","arg","argument","returns","ignore","deprecated"]},wH=M((r,e=SH)=>{if(!qw(r))return{includesJsDoc:!1,ignore:!1};let t=$w(r),i=Vw(t,e.tags);return i.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:t.description.trim(),extractedTags:i}},"parseJsDoc");function Vw(r,e){let t={params:null,deprecated:null,returns:null,ignore:!1};for(let i of r.tags)if(!(e!==void 0&&!e.includes(i.tag)))if(i.tag==="ignore"){t.ignore=!0;break}else switch(i.tag){case"param":case"arg":case"argument":{let s=Yw(i);s!=null&&(t.params==null&&(t.params=[]),t.params.push(s));break}case"deprecated":{let s=Xw(i);s!=null&&(t.deprecated=s);break}case"returns":{let s=Kw(i);s!=null&&(t.returns=s);break}default:break}return t}M(Vw,"extractJsDocTags");function Gw(r){return r.replace(/[\.-]$/,"")}M(Gw,"normaliseParamName");function Yw(r){if(!r.name||r.name==="-")return null;let e=Id(r.type);return{name:r.name,type:e,description:Ed(r.description),getPrettyName:M(()=>Gw(r.name),"getPrettyName"),getTypeName:M(()=>e?Rd(e):null,"getTypeName")}}M(Yw,"extractParam");function Xw(r){return r.name?Ad(r.name,r.description):null}M(Xw,"extractDeprecated");function Ad(r,e){let t=r===""?e:`${r} ${e}`;return Ed(t)}M(Ad,"joinNameAndDescription");function Ed(r){let e=r.replace(/^- /g,"").trim();return e===""?null:e}M(Ed,"normaliseDescription");function Kw(r){let e=Id(r.type);return e?{type:e,description:Ad(r.name,r.description),getTypeName:M(()=>Rd(e),"getTypeName")}:null}M(Kw,"extractReturns");var Ur=(0,Xi.stringifyRules)(),TH=Ur.JsdocTypeObject;Ur.JsdocTypeAny=()=>"any";Ur.JsdocTypeObject=(r,e)=>`(${TH(r,e)})`;Ur.JsdocTypeOptional=(r,e)=>e(r.element);Ur.JsdocTypeNullable=(r,e)=>e(r.element);Ur.JsdocTypeNotNullable=(r,e)=>e(r.element);Ur.JsdocTypeUnion=(r,e)=>r.elements.map(e).join("|");function Id(r){try{return(0,Xi.parse)(r,"typescript")}catch{return null}}M(Id,"extractType");function Rd(r){return(0,Xi.transform)(Ur,r)}M(Rd,"extractTypeName");function Pd(r){return r.length>90}M(Pd,"isTooLongForTypeSummary");function Jw(r){return r.length>50}M(Jw,"isTooLongForDefaultValueSummary");function Ke(r,e){return r===e?{summary:r}:{summary:r,detail:e}}M(Ke,"createSummaryValue");var DOe=M(r=>r.replace(/\\r\\n/g,"\\n"),"normalizeNewlines");function Qw(r,e){if(r!=null){let{value:t}=r;if(!rl(t))return Jw(t)?Ke(e?.name,t):Ke(t)}return null}M(Qw,"createDefaultValue");function kd({name:r,value:e,elements:t,raw:i}){return e??(t!=null?t.map(kd).join(" | "):i??r)}M(kd,"generateUnionElement");function Zw({name:r,raw:e,elements:t}){return t!=null?Ke(t.map(kd).join(" | ")):e!=null?Ke(e.replace(/^\|\s*/,"")):Ke(r)}M(Zw,"generateUnion");function eT({type:r,raw:e}){return e!=null?Ke(e):Ke(r)}M(eT,"generateFuncSignature");function tT({type:r,raw:e}){return e!=null?Pd(e)?Ke(r,e):Ke(e):Ke(r)}M(tT,"generateObjectSignature");function rT(r){let{type:e}=r;return e==="object"?tT(r):eT(r)}M(rT,"generateSignature");function iT({name:r,raw:e}){return e!=null?Pd(e)?Ke(r,e):Ke(e):Ke(r)}M(iT,"generateDefault");function sT(r){if(r==null)return null;switch(r.name){case"union":return Zw(r);case"signature":return rT(r);default:return iT(r)}}M(sT,"createType");var CH=M((r,e)=>{let{flowType:t,description:i,required:s,defaultValue:n}=e;return{name:r,type:sT(t),required:s,description:i,defaultValue:Qw(n??null,t??null)}},"createFlowPropDef");function nT({defaultValue:r}){if(r!=null){let{value:e}=r;if(!rl(e))return Ke(e)}return null}M(nT,"createDefaultValue");function oT({tsType:r,required:e}){if(r==null)return null;let t=r.name;return e||(t=t.replace(" | undefined","")),Ke(["Array","Record","signature"].includes(r.name)?r.raw:t)}M(oT,"createType");var AH=M((r,e)=>{let{description:t,required:i}=e;return{name:r,type:oT(e),required:i,description:t,defaultValue:nT(e)}},"createTsPropDef");function aT(r){return r!=null?Ke(r.name):null}M(aT,"createType");function lT(r){let{computed:e,func:t}=r;return typeof e>"u"&&typeof t>"u"}M(lT,"isReactDocgenTypescript");function uT(r){return r?r.name==="string"?!0:r.name==="enum"?Array.isArray(r.value)&&r.value.every(({value:e})=>typeof e=="string"&&e[0]==='"'&&e[e.length-1]==='"'):!1:!1}M(uT,"isStringValued");function cT(r,e){if(r!=null){let{value:t}=r;if(!rl(t))return lT(r)&&uT(e)?Ke(JSON.stringify(t)):Ke(t)}return null}M(cT,"createDefaultValue");function Od(r,e,t){let{description:i,required:s,defaultValue:n}=t;return{name:r,type:aT(e),required:s,description:i,defaultValue:cT(n,e)}}M(Od,"createBasicPropDef");function En(r,e){if(e?.includesJsDoc){let{description:t,extractedTags:i}=e;t!=null&&(r.description=e.description);let s={...i,params:i?.params?.map(n=>({name:n.getPrettyName(),description:n.description}))};Object.values(s).filter(Boolean).length>0&&(r.jsDocTags=s)}return r}M(En,"applyJsDocResult");var EH=M((r,e,t)=>{let i=Od(r,e.type,e);return i.sbType=wd(e),En(i,t)},"javaScriptFactory"),IH=M((r,e,t)=>{let i=AH(r,e);return i.sbType=wd(e),En(i,t)},"tsFactory"),RH=M((r,e,t)=>{let i=CH(r,e);return i.sbType=wd(e),En(i,t)},"flowFactory"),PH=M((r,e,t)=>{let i=Od(r,{name:"unknown"},e);return En(i,t)},"unknownFactory"),hT=M(r=>{switch(r){case"JavaScript":return EH;case"TypeScript":return IH;case"Flow":return RH;default:return PH}},"getPropDefFactory"),dT=M(r=>r.type!=null?"JavaScript":r.flowType!=null?"Flow":r.tsType!=null?"TypeScript":"Unknown","getTypeSystem"),kH=M(r=>{let e=dT(r[0]),t=hT(e);return r.map(i=>{let s=i;return i.type?.elements&&(s={...i,type:{...i.type,value:i.type.elements}}),Ld(s.name,s,e,t)})},"extractComponentSectionArray"),OH=M(r=>{let e=Object.keys(r),t=dT(r[e[0]]),i=hT(t);return e.map(s=>{let n=r[s];return n!=null?Ld(s,n,t,i):null}).filter(Boolean)},"extractComponentSectionObject"),FOe=M((r,e)=>{let t=Sw(r,e);return vw(t)?Array.isArray(t)?kH(t):OH(t):[]},"extractComponentProps");function Ld(r,e,t,i){let s=wH(e.description);return s.includesJsDoc&&s.ignore?null:{propDef:i(r,e,s),jsDocTags:s.extractedTags,docgenInfo:e,typeSystem:t}}M(Ld,"extractProp");function LH(r){return r!=null?ww(r):""}M(LH,"extractComponentDescription");var MOe=M(r=>{let{component:e,argTypes:t,parameters:{docs:i={}}}=r,{extractArgTypes:s}=i,n=s&&e?s(e):{};return n?pr(n,t):t},"enhanceArgTypes"),pT="storybook/docs",NOe=`${pT}/panel`;var DH=`${pT}/snippet-rendered`,fT=(r=>(r.AUTO="auto",r.CODE="code",r.DYNAMIC="dynamic",r))(fT||{}),FH=/(addons\/|addon-|addon-essentials\/)(docs|controls)/,zOe=M(r=>r.presetsList?.some(e=>FH.test(e.name)),"hasDocsOrControls");h();d();p();h();d();p();var BH=Object.create,gT=Object.defineProperty,MH=Object.getOwnPropertyDescriptor,mT=Object.getOwnPropertyNames,NH=Object.getPrototypeOf,zH=Object.prototype.hasOwnProperty,Ot=(r,e)=>function(){return e||(0,r[mT(r)[0]])((e={exports:{}}).exports,e),e.exports},jH=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mT(e))!zH.call(r,s)&&s!==t&&gT(r,s,{get:()=>e[s],enumerable:!(i=MH(e,s))||i.enumerable});return r},il=(r,e,t)=>(t=r!=null?BH(NH(r)):{},jH(e||!r||!r.__esModule?gT(t,"default",{value:r,enumerable:!0}):t,r)),UH=["bubbles","cancelBubble","cancelable","composed","currentTarget","defaultPrevented","eventPhase","isTrusted","returnValue","srcElement","target","timeStamp","type"],HH=["detail"];function _T(r){let e=UH.filter(t=>r[t]!==void 0).reduce((t,i)=>({...t,[i]:r[i]}),{});return r instanceof CustomEvent&&HH.filter(t=>r[t]!==void 0).forEach(t=>{e[t]=r[t]}),e}var OT=ye(gh(),1),wT=Ot({"node_modules/has-symbols/shams.js"(r,e){"use strict";e.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var i={},s=Symbol("test"),n=Object(s);if(typeof s=="string"||Object.prototype.toString.call(s)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;i[s]=o;for(s in i)return!1;if(typeof Object.keys=="function"&&Object.keys(i).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(i).length!==0)return!1;var a=Object.getOwnPropertySymbols(i);if(a.length!==1||a[0]!==s||!Object.prototype.propertyIsEnumerable.call(i,s))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var l=Object.getOwnPropertyDescriptor(i,s);if(l.value!==o||l.enumerable!==!0)return!1}return!0}}}),TT=Ot({"node_modules/has-symbols/index.js"(r,e){"use strict";var t=typeof Symbol<"u"&&Symbol,i=wT();e.exports=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()}}}),WH=Ot({"node_modules/function-bind/implementation.js"(r,e){"use strict";var t="Function.prototype.bind called on incompatible ",i=Array.prototype.slice,s=Object.prototype.toString,n="[object Function]";e.exports=function(a){var l=this;if(typeof l!="function"||s.call(l)!==n)throw new TypeError(t+l);for(var u=i.call(arguments,1),c,g=function(){if(this instanceof c){var A=l.apply(this,u.concat(i.call(arguments)));return Object(A)===A?A:this}else return l.apply(a,u.concat(i.call(arguments)))},m=Math.max(0,l.length-u.length),y=[],b=0;b<m;b++)y.push("$"+b);if(c=Function("binder","return function ("+y.join(",")+"){ return binder.apply(this,arguments); }")(g),l.prototype){var C=function(){};C.prototype=l.prototype,c.prototype=new C,C.prototype=null}return c}}}),Fd=Ot({"node_modules/function-bind/index.js"(r,e){"use strict";var t=WH();e.exports=Function.prototype.bind||t}}),qH=Ot({"node_modules/has/src/index.js"(r,e){"use strict";var t=Fd();e.exports=t.call(Function.call,Object.prototype.hasOwnProperty)}}),CT=Ot({"node_modules/get-intrinsic/index.js"(r,e){"use strict";var t,i=SyntaxError,s=Function,n=TypeError,o=function(te){try{return s('"use strict"; return ('+te+").constructor;")()}catch{}},a=Object.getOwnPropertyDescriptor;if(a)try{a({},"")}catch{a=null}var l=function(){throw new n},u=a?function(){try{return arguments.callee,l}catch{try{return a(arguments,"callee").get}catch{return l}}}():l,c=TT()(),g=Object.getPrototypeOf||function(te){return te.__proto__},m={},y=typeof Uint8Array>"u"?t:g(Uint8Array),b={"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":c?g([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":m,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":c?g(g([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!c?t:g(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!c?t:g(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":c?g(""[Symbol.iterator]()):t,"%Symbol%":c?Symbol:t,"%SyntaxError%":i,"%ThrowTypeError%":u,"%TypedArray%":y,"%TypeError%":n,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet},C=function te($){var D;if($==="%AsyncFunction%")D=o("async function () {}");else if($==="%GeneratorFunction%")D=o("function* () {}");else if($==="%AsyncGeneratorFunction%")D=o("async function* () {}");else if($==="%AsyncGenerator%"){var N=te("%AsyncGeneratorFunction%");N&&(D=N.prototype)}else if($==="%AsyncIteratorPrototype%"){var G=te("%AsyncGenerator%");G&&(D=g(G.prototype))}return b[$]=D,D},A={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},T=Fd(),R=qH(),P=T.call(Function.call,Array.prototype.concat),E=T.call(Function.apply,Array.prototype.splice),k=T.call(Function.call,String.prototype.replace),O=T.call(Function.call,String.prototype.slice),B=T.call(Function.call,RegExp.prototype.exec),F=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,U=/\\(\\)?/g,q=function($){var D=O($,0,1),N=O($,-1);if(D==="%"&&N!=="%")throw new i("invalid intrinsic syntax, expected closing `%`");if(N==="%"&&D!=="%")throw new i("invalid intrinsic syntax, expected opening `%`");var G=[];return k($,F,function(Q,ne,ie,re){G[G.length]=ie?k(re,U,"$1"):ne||Q}),G},ee=function($,D){var N=$,G;if(R(A,N)&&(G=A[N],N="%"+G[0]+"%"),R(b,N)){var Q=b[N];if(Q===m&&(Q=C(N)),typeof Q>"u"&&!D)throw new n("intrinsic "+$+" exists, but is not available. Please file an issue!");return{alias:G,name:N,value:Q}}throw new i("intrinsic "+$+" does not exist!")};e.exports=function($,D){if(typeof $!="string"||$.length===0)throw new n("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof D!="boolean")throw new n('"allowMissing" argument must be a boolean');if(B(/^%?[^%]*%?$/,$)===null)throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var N=q($),G=N.length>0?N[0]:"",Q=ee("%"+G+"%",D),ne=Q.name,ie=Q.value,re=!1,ae=Q.alias;ae&&(G=ae[0],E(N,P([0,1],ae)));for(var ce=1,Se=!0;ce<N.length;ce+=1){var we=N[ce],xe=O(we,0,1),Ie=O(we,-1);if((xe==='"'||xe==="'"||xe==="`"||Ie==='"'||Ie==="'"||Ie==="`")&&xe!==Ie)throw new i("property names with quotes must have matching quotes");if((we==="constructor"||!Se)&&(re=!0),G+="."+we,ne="%"+G+"%",R(b,ne))ie=b[ne];else if(ie!=null){if(!(we in ie)){if(!D)throw new n("base intrinsic for "+$+" exists, but the property is not available.");return}if(a&&ce+1>=N.length){var De=a(ie,we);Se=!!De,Se&&"get"in De&&!("originalValue"in De.get)?ie=De.get:ie=ie[we]}else Se=R(ie,we),ie=ie[we];Se&&!re&&(b[ne]=ie)}}return ie}}}),$H=Ot({"node_modules/call-bind/index.js"(r,e){"use strict";var t=Fd(),i=CT(),s=i("%Function.prototype.apply%"),n=i("%Function.prototype.call%"),o=i("%Reflect.apply%",!0)||t.call(n,s),a=i("%Object.getOwnPropertyDescriptor%",!0),l=i("%Object.defineProperty%",!0),u=i("%Math.max%");if(l)try{l({},"a",{value:1})}catch{l=null}e.exports=function(m){var y=o(t,n,arguments);if(a&&l){var b=a(y,"length");b.configurable&&l(y,"length",{value:1+u(0,m.length-(arguments.length-1))})}return y};var c=function(){return o(t,s,arguments)};l?l(e.exports,"apply",{value:c}):e.exports.apply=c}}),VH=Ot({"node_modules/call-bind/callBound.js"(r,e){"use strict";var t=CT(),i=$H(),s=i(t("String.prototype.indexOf"));e.exports=function(o,a){var l=t(o,!!a);return typeof l=="function"&&s(o,".prototype.")>-1?i(l):l}}}),GH=Ot({"node_modules/has-tostringtag/shams.js"(r,e){"use strict";var t=wT();e.exports=function(){return t()&&!!Symbol.toStringTag}}}),YH=Ot({"node_modules/is-regex/index.js"(r,e){"use strict";var t=VH(),i=GH()(),s,n,o,a;i&&(s=t("Object.prototype.hasOwnProperty"),n=t("RegExp.prototype.exec"),o={},l=function(){throw o},a={toString:l,valueOf:l},typeof Symbol.toPrimitive=="symbol"&&(a[Symbol.toPrimitive]=l));var l,u=t("Object.prototype.toString"),c=Object.getOwnPropertyDescriptor,g="[object RegExp]";e.exports=i?function(y){if(!y||typeof y!="object")return!1;var b=c(y,"lastIndex"),C=b&&s(b,"value");if(!C)return!1;try{n(y,a)}catch(A){return A===o}}:function(y){return!y||typeof y!="object"&&typeof y!="function"?!1:u(y)===g}}}),XH=Ot({"node_modules/is-function/index.js"(r,e){e.exports=i;var t=Object.prototype.toString;function i(s){if(!s)return!1;var n=t.call(s);return n==="[object Function]"||typeof s=="function"&&n!=="[object RegExp]"||typeof window<"u"&&(s===window.setTimeout||s===window.alert||s===window.confirm||s===window.prompt)}}}),KH=Ot({"node_modules/is-symbol/index.js"(r,e){"use strict";var t=Object.prototype.toString,i=TT()();i?(s=Symbol.prototype.toString,n=/^Symbol\(.*\)$/,o=function(l){return typeof l.valueOf()!="symbol"?!1:n.test(s.call(l))},e.exports=function(l){if(typeof l=="symbol")return!0;if(t.call(l)!=="[object Symbol]")return!1;try{return o(l)}catch{return!1}}):e.exports=function(l){return!1};var s,n,o}}),JH=il(YH()),QH=il(XH()),ZH=il(KH());function eW(r){return r!=null&&typeof r=="object"&&Array.isArray(r)===!1}var tW=typeof window=="object"&&window&&window.Object===Object&&window,rW=tW,iW=typeof self=="object"&&self&&self.Object===Object&&self,sW=rW||iW||Function("return this")(),Bd=sW,nW=Bd.Symbol,Ki=nW,AT=Object.prototype,oW=AT.hasOwnProperty,aW=AT.toString,In=Ki?Ki.toStringTag:void 0;function lW(r){var e=oW.call(r,In),t=r[In];try{r[In]=void 0;var i=!0}catch{}var s=aW.call(r);return i&&(e?r[In]=t:delete r[In]),s}var uW=lW,cW=Object.prototype,hW=cW.toString;function dW(r){return hW.call(r)}var pW=dW,fW="[object Null]",gW="[object Undefined]",yT=Ki?Ki.toStringTag:void 0;function mW(r){return r==null?r===void 0?gW:fW:yT&&yT in Object(r)?uW(r):pW(r)}var ET=mW;function _W(r){return r!=null&&typeof r=="object"}var yW=_W,xW="[object Symbol]";function bW(r){return typeof r=="symbol"||yW(r)&&ET(r)==xW}var Md=bW;function vW(r,e){for(var t=-1,i=r==null?0:r.length,s=Array(i);++t<i;)s[t]=e(r[t],t,r);return s}var SW=vW,wW=Array.isArray,Nd=wW,TW=1/0,xT=Ki?Ki.prototype:void 0,bT=xT?xT.toString:void 0;function IT(r){if(typeof r=="string")return r;if(Nd(r))return SW(r,IT)+"";if(Md(r))return bT?bT.call(r):"";var e=r+"";return e=="0"&&1/r==-TW?"-0":e}var CW=IT;function AW(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var RT=AW,EW="[object AsyncFunction]",IW="[object Function]",RW="[object GeneratorFunction]",PW="[object Proxy]";function kW(r){if(!RT(r))return!1;var e=ET(r);return e==IW||e==RW||e==EW||e==PW}var OW=kW,LW=Bd["__core-js_shared__"],Dd=LW,vT=function(){var r=/[^.]+$/.exec(Dd&&Dd.keys&&Dd.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function DW(r){return!!vT&&vT in r}var FW=DW,BW=Function.prototype,MW=BW.toString;function NW(r){if(r!=null){try{return MW.call(r)}catch{}try{return r+""}catch{}}return""}var zW=NW,jW=/[\\^$.*+?()[\]{}|]/g,UW=/^\[object .+?Constructor\]$/,HW=Function.prototype,WW=Object.prototype,qW=HW.toString,$W=WW.hasOwnProperty,VW=RegExp("^"+qW.call($W).replace(jW,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function GW(r){if(!RT(r)||FW(r))return!1;var e=OW(r)?VW:UW;return e.test(zW(r))}var YW=GW;function XW(r,e){return r?.[e]}var KW=XW;function JW(r,e){var t=KW(r,e);return YW(t)?t:void 0}var PT=JW;function QW(r,e){return r===e||r!==r&&e!==e}var ZW=QW,e6=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,t6=/^\w*$/;function r6(r,e){if(Nd(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||Md(r)?!0:t6.test(r)||!e6.test(r)||e!=null&&r in Object(e)}var i6=r6,s6=PT(Object,"create"),Rn=s6;function n6(){this.__data__=Rn?Rn(null):{},this.size=0}var o6=n6;function a6(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var l6=a6,u6="__lodash_hash_undefined__",c6=Object.prototype,h6=c6.hasOwnProperty;function d6(r){var e=this.__data__;if(Rn){var t=e[r];return t===u6?void 0:t}return h6.call(e,r)?e[r]:void 0}var p6=d6,f6=Object.prototype,g6=f6.hasOwnProperty;function m6(r){var e=this.__data__;return Rn?e[r]!==void 0:g6.call(e,r)}var _6=m6,y6="__lodash_hash_undefined__";function x6(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=Rn&&e===void 0?y6:e,this}var b6=x6;function Ji(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Ji.prototype.clear=o6;Ji.prototype.delete=l6;Ji.prototype.get=p6;Ji.prototype.has=_6;Ji.prototype.set=b6;var ST=Ji;function v6(){this.__data__=[],this.size=0}var S6=v6;function w6(r,e){for(var t=r.length;t--;)if(ZW(r[t][0],e))return t;return-1}var nl=w6,T6=Array.prototype,C6=T6.splice;function A6(r){var e=this.__data__,t=nl(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():C6.call(e,t,1),--this.size,!0}var E6=A6;function I6(r){var e=this.__data__,t=nl(e,r);return t<0?void 0:e[t][1]}var R6=I6;function P6(r){return nl(this.__data__,r)>-1}var k6=P6;function O6(r,e){var t=this.__data__,i=nl(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}var L6=O6;function Qi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Qi.prototype.clear=S6;Qi.prototype.delete=E6;Qi.prototype.get=R6;Qi.prototype.has=k6;Qi.prototype.set=L6;var D6=Qi,F6=PT(Bd,"Map"),B6=F6;function M6(){this.size=0,this.__data__={hash:new ST,map:new(B6||D6),string:new ST}}var N6=M6;function z6(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var j6=z6;function U6(r,e){var t=r.__data__;return j6(e)?t[typeof e=="string"?"string":"hash"]:t.map}var ol=U6;function H6(r){var e=ol(this,r).delete(r);return this.size-=e?1:0,e}var W6=H6;function q6(r){return ol(this,r).get(r)}var $6=q6;function V6(r){return ol(this,r).has(r)}var G6=V6;function Y6(r,e){var t=ol(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}var X6=Y6;function Zi(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}Zi.prototype.clear=N6;Zi.prototype.delete=W6;Zi.prototype.get=$6;Zi.prototype.has=G6;Zi.prototype.set=X6;var kT=Zi,K6="Expected a function";function zd(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(K6);var t=function(){var i=arguments,s=e?e.apply(this,i):i[0],n=t.cache;if(n.has(s))return n.get(s);var o=r.apply(this,i);return t.cache=n.set(s,o)||n,o};return t.cache=new(zd.Cache||kT),t}zd.Cache=kT;var J6=zd,Q6=500;function Z6(r){var e=J6(r,function(i){return t.size===Q6&&t.clear(),i}),t=e.cache;return e}var eq=Z6,tq=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rq=/\\(\\)?/g,iq=eq(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(tq,function(t,i,s,n){e.push(s?n.replace(rq,"$1"):i||t)}),e}),sq=iq;function nq(r){return r==null?"":CW(r)}var oq=nq;function aq(r,e){return Nd(r)?r:i6(r,e)?[r]:sq(oq(r))}var lq=aq,uq=1/0;function cq(r){if(typeof r=="string"||Md(r))return r;var e=r+"";return e=="0"&&1/r==-uq?"-0":e}var hq=cq;function dq(r,e){e=lq(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[hq(e[t++])];return t&&t==i?r:void 0}var pq=dq;function fq(r,e,t){var i=r==null?void 0:pq(r,e);return i===void 0?t:i}var gq=fq,sl=eW,mq=r=>{let e=null,t=!1,i=!1,s=!1,n="";if(r.indexOf("//")>=0||r.indexOf("/*")>=0)for(let o=0;o<r.length;o+=1)!e&&!t&&!i&&!s?r[o]==='"'||r[o]==="'"||r[o]==="`"?e=r[o]:r[o]==="/"&&r[o+1]==="*"?t=!0:r[o]==="/"&&r[o+1]==="/"?i=!0:r[o]==="/"&&r[o+1]!=="/"&&(s=!0):(e&&(r[o]===e&&r[o-1]!=="\\"||r[o]===` `&&e!=="`")&&(e=null),s&&(r[o]==="/"&&r[o-1]!=="\\"||r[o]===` `)&&(s=!1),t&&r[o-1]==="/"&&r[o-2]==="*"&&(t=!1),i&&r[o]===` -`&&(i=!1)),!t&&!i&&(n+=r[o]);else n=r;return n},mq=(0,OT.default)(1e4)(r=>gq(r).replace(/\n\s*/g,"").trim()),_q=function(e,t){let i=t.slice(0,t.indexOf("{")),s=t.slice(t.indexOf("{"));if(i.includes("=>")||i.includes("function"))return t;let n=i;return n=n.replace(e,"function"),n+s},yq=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/,xq=r=>r.match(/^[\[\{\"\}].*[\]\}\"]$/);function LT(r){if(!sl(r))return r;let e=r,t=!1;return typeof Event<"u"&&r instanceof Event&&(e=_T(e),t=!0),e=Object.keys(e).reduce((i,s)=>{try{e[s]&&e[s].toJSON,i[s]=e[s]}catch{t=!0}return i},{}),t?e:r}var bq=function(e){let t,i,s,n;return function(a,l){try{if(a==="")return n=[],t=new Map([[l,"[]"]]),i=new Map,s=[],l;let u=i.get(this)||this;for(;s.length&&u!==s[0];)s.shift(),n.pop();if(typeof l=="boolean")return l;if(l===void 0)return e.allowUndefined?"_undefined_":void 0;if(l===null)return null;if(typeof l=="number")return l===-1/0?"_-Infinity_":l===1/0?"_Infinity_":Number.isNaN(l)?"_NaN_":l;if(typeof l=="bigint")return`_bigint_${l.toString()}`;if(typeof l=="string")return yq.test(l)?e.allowDate?`_date_${l}`:void 0:l;if((0,KH.default)(l))return e.allowRegExp?`_regexp_${l.flags}|${l.source}`:void 0;if((0,JH.default)(l)){if(!e.allowFunction)return;let{name:g}=l,m=l.toString();return m.match(/(\[native code\]|WEBPACK_IMPORTED_MODULE|__webpack_exports__|__webpack_require__)/)?`_function_${g}|${(()=>{}).toString()}`:`_function_${g}|${mq(_q(a,m))}`}if((0,QH.default)(l)){if(!e.allowSymbol)return;let g=Symbol.keyFor(l);return g!==void 0?`_gsymbol_${g}`:`_symbol_${l.toString().slice(7,-1)}`}if(s.length>=e.maxDepth)return Array.isArray(l)?`[Array(${l.length})]`:"[Object]";if(l===this)return`_duplicate_${JSON.stringify(n)}`;if(l instanceof Error&&e.allowError)return{__isConvertedError__:!0,errorProperties:{...l.cause?{cause:l.cause}:{},...l,name:l.name,message:l.message,stack:l.stack,"_constructor-name_":l.constructor.name}};if(l.constructor&&l.constructor.name&&l.constructor.name!=="Object"&&!Array.isArray(l)&&!e.allowClass)return;let c=t.get(l);if(!c){let g=Array.isArray(l)?l:LT(l);if(l.constructor&&l.constructor.name&&l.constructor.name!=="Object"&&!Array.isArray(l)&&e.allowClass)try{Object.assign(g,{"_constructor-name_":l.constructor.name})}catch{}return n.push(a),s.unshift(g),t.set(l,JSON.stringify(n)),l!==g&&i.set(l,g),g}return`_duplicate_${c}`}catch{return}}},vq=function reviver(options){let refs=[],root;return function revive(key,value){if(key===""&&(root=value,refs.forEach(({target:r,container:e,replacement:t})=>{let i=xq(t)?JSON.parse(t):t.split(".");i.length===0?e[r]=root:e[r]=fq(root,i)})),key==="_constructor-name_")return value;if(sl(value)&&value.__isConvertedError__){let{message:r,...e}=value.errorProperties,t=new Error(r);return Object.assign(t,e),t}if(sl(value)&&value["_constructor-name_"]&&options.allowFunction){let r=value["_constructor-name_"];if(r!=="Object"){let e=new Function(`return function ${r.replace(/[^a-zA-Z0-9$_]+/g,"")}(){}`)();Object.setPrototypeOf(value,new e)}return delete value["_constructor-name_"],value}if(typeof value=="string"&&value.startsWith("_function_")&&options.allowFunction){let[,name,source]=value.match(/_function_([^|]*)\|(.*)/)||[],sourceSanitized=source.replace(/[(\(\))|\\| |\]|`]*$/,"");if(!options.lazyEval)return eval(`(${sourceSanitized})`);let result=(...args)=>{let f=eval(`(${sourceSanitized})`);return f(...args)};return Object.defineProperty(result,"toString",{value:()=>sourceSanitized}),Object.defineProperty(result,"name",{value:name}),result}if(typeof value=="string"&&value.startsWith("_regexp_")&&options.allowRegExp){let[,r,e]=value.match(/_regexp_([^|]*)\|(.*)/)||[];return new RegExp(e,r)}return typeof value=="string"&&value.startsWith("_date_")&&options.allowDate?new Date(value.replace("_date_","")):typeof value=="string"&&value.startsWith("_duplicate_")?(refs.push({target:key,container:this,replacement:value.replace(/^_duplicate_/,"")}),null):typeof value=="string"&&value.startsWith("_symbol_")&&options.allowSymbol?Symbol(value.replace("_symbol_","")):typeof value=="string"&&value.startsWith("_gsymbol_")&&options.allowSymbol?Symbol.for(value.replace("_gsymbol_","")):typeof value=="string"&&value==="_-Infinity_"?-1/0:typeof value=="string"&&value==="_Infinity_"?1/0:typeof value=="string"&&value==="_NaN_"?NaN:typeof value=="string"&&value.startsWith("_bigint_")&&typeof BigInt=="function"?BigInt(value.replace("_bigint_","")):value}},DT={maxDepth:10,space:void 0,allowFunction:!0,allowRegExp:!0,allowDate:!0,allowClass:!0,allowError:!0,allowUndefined:!0,allowSymbol:!0,lazyEval:!0},Sq=(r,e={})=>{let t={...DT,...e};return JSON.stringify(LT(r),bq(t),e.space)},wq=()=>{let r=new Map;return function e(t){sl(t)&&Object.entries(t).forEach(([i,s])=>{s==="_undefined_"?t[i]=void 0:r.get(s)||(r.set(s,!0),e(s))}),Array.isArray(t)&&t.forEach((i,s)=>{i==="_undefined_"?(r.set(i,!0),t[s]=void 0):r.get(i)||(r.set(i,!0),e(i))})}},ZOe=(r,e={})=>{let t={...DT,...e},i=JSON.parse(r,vq(t));return wq()(i),i};h();d();p();h();d();p();h();d();p();var pLe=__STORYBOOK_CHANNELS__,{Channel:Tq,PostMessageTransport:fLe,WebsocketTransport:gLe,createBrowserChannel:mLe}=__STORYBOOK_CHANNELS__;var M8=Xr({"../../node_modules/tocbot/src/js/default-options.js"(r,e){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(t){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,includeTitleTags:!1,onClick:function(t){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1,tocScrollOffset:0}}}),N8=Xr({"../../node_modules/tocbot/src/js/build-html.js"(r,e){e.exports=function(t){var i=[].forEach,s=[].some,n=document.body,o,a=!0,l=" ";function u(E,k){var O=k.appendChild(g(E));if(E.children.length){var B=m(E.isCollapsed);E.children.forEach(function(F){u(F,B)}),O.appendChild(B)}}function c(E,k){var O=!1,B=m(O);if(k.forEach(function(F){u(F,B)}),o=E||o,o!==null)return o.firstChild&&o.removeChild(o.firstChild),k.length===0?o:o.appendChild(B)}function g(E){var k=document.createElement("li"),O=document.createElement("a");return t.listItemClass&&k.setAttribute("class",t.listItemClass),t.onClick&&(O.onclick=t.onClick),t.includeTitleTags&&O.setAttribute("title",E.textContent),t.includeHtml&&E.childNodes.length?i.call(E.childNodes,function(B){O.appendChild(B.cloneNode(!0))}):O.textContent=E.textContent,O.setAttribute("href",t.basePath+"#"+E.id),O.setAttribute("class",t.linkClass+l+"node-name--"+E.nodeName+l+t.extraLinkClasses),k.appendChild(O),k}function m(E){var k=t.orderedList?"ol":"ul",O=document.createElement(k),B=t.listClass+l+t.extraListClasses;return E&&(B=B+l+t.collapsibleClass,B=B+l+t.isCollapsedClass),O.setAttribute("class",B),O}function y(){if(t.scrollContainer&&document.querySelector(t.scrollContainer)){var E;E=document.querySelector(t.scrollContainer).scrollTop}else E=document.documentElement.scrollTop||n.scrollTop;var k=document.querySelector(t.positionFixedSelector);t.fixedSidebarOffset==="auto"&&(t.fixedSidebarOffset=o.offsetTop),E>t.fixedSidebarOffset?k.className.indexOf(t.positionFixedClass)===-1&&(k.className+=l+t.positionFixedClass):k.className=k.className.replace(l+t.positionFixedClass,"")}function b(E){var k=0;return E!==null&&(k=E.offsetTop,t.hasInnerContainers&&(k+=b(E.offsetParent))),k}function C(E,k){return E&&E.className!==k&&(E.className=k),E}function A(E){if(t.scrollContainer&&document.querySelector(t.scrollContainer)){var k;k=document.querySelector(t.scrollContainer).scrollTop}else k=document.documentElement.scrollTop||n.scrollTop;t.positionFixedSelector&&y();var O=E,B;if(a&&o!==null&&O.length>0){s.call(O,function(D,N){if(b(D)>k+t.headingsOffset+10){var G=N===0?N:N-1;return B=O[G],!0}else if(N===O.length-1)return B=O[O.length-1],!0});var F=o.querySelector("."+t.activeLinkClass),U=o.querySelector("."+t.linkClass+".node-name--"+B.nodeName+'[href="'+t.basePath+"#"+B.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/\\@])/g,"\\$1")+'"]');if(F===U)return;var q=o.querySelectorAll("."+t.linkClass);i.call(q,function(D){C(D,D.className.replace(l+t.activeLinkClass,""))});var ee=o.querySelectorAll("."+t.listItemClass);i.call(ee,function(D){C(D,D.className.replace(l+t.activeListItemClass,""))}),U&&U.className.indexOf(t.activeLinkClass)===-1&&(U.className+=l+t.activeLinkClass);var te=U&&U.parentNode;te&&te.className.indexOf(t.activeListItemClass)===-1&&(te.className+=l+t.activeListItemClass);var $=o.querySelectorAll("."+t.listClass+"."+t.collapsibleClass);i.call($,function(D){D.className.indexOf(t.isCollapsedClass)===-1&&(D.className+=l+t.isCollapsedClass)}),U&&U.nextSibling&&U.nextSibling.className.indexOf(t.isCollapsedClass)!==-1&&C(U.nextSibling,U.nextSibling.className.replace(l+t.isCollapsedClass,"")),T(U&&U.parentNode.parentNode)}}function T(E){return E&&E.className.indexOf(t.collapsibleClass)!==-1&&E.className.indexOf(t.isCollapsedClass)!==-1?(C(E,E.className.replace(l+t.isCollapsedClass,"")),T(E.parentNode.parentNode)):E}function R(E){var k=E.target||E.srcElement;typeof k.className!="string"||k.className.indexOf(t.linkClass)===-1||(a=!1)}function P(){a=!0}return{enableTocAnimation:P,disableTocAnimation:R,render:c,updateToc:A}}}}),z8=Xr({"../../node_modules/tocbot/src/js/parse-content.js"(r,e){e.exports=function(t){var i=[].reduce;function s(g){return g[g.length-1]}function n(g){return+g.nodeName.toUpperCase().replace("H","")}function o(g){try{return g instanceof window.HTMLElement||g instanceof window.parent.HTMLElement}catch{return g instanceof window.HTMLElement}}function a(g){if(!o(g))return g;if(t.ignoreHiddenElements&&(!g.offsetHeight||!g.offsetParent))return null;let m=g.getAttribute("data-heading-label")||(t.headingLabelCallback?String(t.headingLabelCallback(g.innerText)):(g.innerText||g.textContent).trim());var y={id:g.id,children:[],nodeName:g.nodeName,headingLevel:n(g),textContent:m};return t.includeHtml&&(y.childNodes=g.childNodes),t.headingObjectCallback?t.headingObjectCallback(y,g):y}function l(g,m){for(var y=a(g),b=y.headingLevel,C=m,A=s(C),T=A?A.headingLevel:0,R=b-T;R>0&&(A=s(C),!(A&&b===A.headingLevel));)A&&A.children!==void 0&&(C=A.children),R--;return b>=t.collapseDepth&&(y.isCollapsed=!0),C.push(y),C}function u(g,m){var y=m;t.ignoreSelector&&(y=m.split(",").map(function(b){return b.trim()+":not("+t.ignoreSelector+")"}));try{return g.querySelectorAll(y)}catch{return console.warn("Headers not found with selector: "+y),null}}function c(g){return i.call(g,function(m,y){var b=a(y);return b&&l(b,m.nest),m},{nest:[]})}return{nestHeadingsArray:c,selectHeadings:u}}}}),j8=Xr({"../../node_modules/tocbot/src/js/update-toc-scroll.js"(r,e){e.exports=function(t){var i=t.tocElement||document.querySelector(t.tocSelector);if(i&&i.scrollHeight>i.clientHeight){var s=i.querySelector("."+t.activeListItemClass);s&&(i.scrollTop=s.offsetTop-t.tocScrollOffset)}}}}),U8=Xr({"../../node_modules/tocbot/src/js/scroll-smooth/index.js"(r){r.initSmoothScrolling=e;function e(i){var s=i.duration,n=i.offset,o=location.hash?u(location.href):location.href;a();function a(){document.body.addEventListener("click",g,!1);function g(m){!l(m.target)||m.target.className.indexOf("no-smooth-scroll")>-1||m.target.href.charAt(m.target.href.length-2)==="#"&&m.target.href.charAt(m.target.href.length-1)==="!"||m.target.className.indexOf(i.linkClass)===-1||t(m.target.hash,{duration:s,offset:n,callback:function(){c(m.target.hash)}})}}function l(g){return g.tagName.toLowerCase()==="a"&&(g.hash.length>0||g.href.charAt(g.href.length-1)==="#")&&(u(g.href)===o||u(g.href)+"#"===o)}function u(g){return g.slice(0,g.lastIndexOf("#"))}function c(g){var m=document.getElementById(g.substring(1));m&&(/^(?:a|select|input|button|textarea)$/i.test(m.tagName)||(m.tabIndex=-1),m.focus())}}function t(i,s){var n=window.pageYOffset,o={duration:s.duration,offset:s.offset||0,callback:s.callback,easing:s.easing||b},a=document.querySelector('[id="'+decodeURI(i).split("#").join("")+'"]')||document.querySelector('[id="'+i.split("#").join("")+'"]'),l=typeof i=="string"?o.offset+(i?a&&a.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):i,u=typeof o.duration=="function"?o.duration(l):o.duration,c,g;requestAnimationFrame(function(C){c=C,m(C)});function m(C){g=C-c,window.scrollTo(0,o.easing(g,n,l,u)),g<u?requestAnimationFrame(m):y()}function y(){window.scrollTo(0,n+l),typeof o.callback=="function"&&o.callback()}function b(C,A,T,R){return C/=R/2,C<1?T/2*C*C+A:(C--,-T/2*(C*(C-2)-1)+A)}}}}),H8=Xr({"../../node_modules/tocbot/src/js/index.js"(r,e){(function(t,i){typeof define=="function"&&define.amd?define([],i(t)):typeof r=="object"?e.exports=i(t):t.tocbot=i(t)})(typeof window<"u"?window:window||window,function(t){var i=M8(),s={},n={},o=N8(),a=z8(),l=j8(),u,c,g=!!t&&!!t.document&&!!t.document.querySelector&&!!t.addEventListener;if(typeof window>"u"&&!g)return;var m,y=Object.prototype.hasOwnProperty;function b(){for(var R={},P=0;P<arguments.length;P++){var E=arguments[P];for(var k in E)y.call(E,k)&&(R[k]=E[k])}return R}function C(R,P,E){P||(P=250);var k,O;return function(){var B=E||this,F=+new Date,U=arguments;k&&F<k+P?(clearTimeout(O),O=setTimeout(function(){k=F,R.apply(B,U)},P)):(k=F,R.apply(B,U))}}function A(R){try{return R.contentElement||document.querySelector(R.contentSelector)}catch{return console.warn("Contents element not found: "+R.contentSelector),null}}function T(R){try{return R.tocElement||document.querySelector(R.tocSelector)}catch{return console.warn("TOC element not found: "+R.tocSelector),null}}return n.destroy=function(){var R=T(s);R!==null&&(s.skipRendering||R&&(R.innerHTML=""),s.scrollContainer&&document.querySelector(s.scrollContainer)?(document.querySelector(s.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(s.scrollContainer).removeEventListener("resize",this._scrollListener,!1),u&&document.querySelector(s.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),u&&document.removeEventListener("click",this._clickListener,!1)))},n.init=function(R){if(g){s=b(i,R||{}),this.options=s,this.state={},s.scrollSmooth&&(s.duration=s.scrollSmoothDuration,s.offset=s.scrollSmoothOffset,n.scrollSmooth=U8().initSmoothScrolling(s)),u=o(s),c=a(s),this._buildHtml=u,this._parseContent=c,this._headingsArray=m,n.destroy();var P=A(s);if(P!==null){var E=T(s);if(E!==null&&(m=c.selectHeadings(P,s.headingSelector),m!==null)){var k=c.nestHeadingsArray(m),O=k.nest;if(!s.skipRendering)u.render(E,O);else return this;this._scrollListener=C(function(F){u.updateToc(m),!s.disableTocScrollSync&&l(s);var U=F&&F.target&&F.target.scrollingElement&&F.target.scrollingElement.scrollTop===0;(F&&(F.eventPhase===0||F.currentTarget===null)||U)&&(u.updateToc(m),s.scrollEndCallback&&s.scrollEndCallback(F))},s.throttleTimeout),this._scrollListener(),s.scrollContainer&&document.querySelector(s.scrollContainer)?(document.querySelector(s.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(s.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var B=null;return this._clickListener=C(function(F){s.scrollSmooth&&u.disableTocAnimation(F),u.updateToc(m),B&&clearTimeout(B),B=setTimeout(function(){u.enableTocAnimation()},s.scrollSmoothDuration)},s.throttleTimeout),s.scrollContainer&&document.querySelector(s.scrollContainer)?document.querySelector(s.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}}}},n.refresh=function(R){n.destroy(),n.init(R||this.options)},t.tocbot=n,n})}}),W8=J.div(Ei,({theme:r})=>({backgroundColor:r.base==="light"?"rgba(0,0,0,.01)":"rgba(255,255,255,.01)",borderRadius:r.appBorderRadius,border:`1px dashed ${r.appBorderColor}`,display:"flex",alignItems:"center",justifyContent:"center",padding:20,margin:"25px 0 40px",color:Oe(.3,r.color.defaultText),fontSize:r.typography.size.s2})),q8=r=>z.createElement(W8,{...r,className:"docblock-emptyblock sb-unstyled"}),$8=J(pc)(({theme:r})=>({fontSize:`${r.typography.size.s2-1}px`,lineHeight:"19px",margin:"25px 0 40px",borderRadius:r.appBorderRadius,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0","pre.prismjs":{padding:20,background:"inherit"}})),V8=J.div(({theme:r})=>({background:r.background.content,borderRadius:r.appBorderRadius,border:`1px solid ${r.appBorderColor}`,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",margin:"25px 0 40px",padding:"20px 20px 20px 22px"})),pl=J.div(({theme:r})=>({animation:`${r.animation.glow} 1.5s ease-in-out infinite`,background:r.appBorderColor,height:17,marginTop:1,width:"60%",[`&:first-child${$f}`]:{margin:0}})),G8=()=>z.createElement(V8,null,z.createElement(pl,null),z.createElement(pl,{style:{width:"80%"}}),z.createElement(pl,{style:{width:"30%"}}),z.createElement(pl,{style:{width:"80%"}})),Y8=({isLoading:r,error:e,language:t,code:i,dark:s,format:n=!1,...o})=>{let{typography:a}=Vf();if(r)return z.createElement(G8,null);if(e)return z.createElement(q8,null,e);let l=z.createElement($8,{bordered:!0,copyable:!0,format:n,language:t,className:"docblock-source sb-unstyled",...o},i);if(typeof s>"u")return l;let u=s?yc.dark:yc.light;return z.createElement(Wf,{theme:qf({...u,fontCode:a.fonts.mono,fontBase:a.fonts.base})},l)},Je=r=>`& :where(${r}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${r}))`,Zd=600,FDe=J.h1(Ei,({theme:r})=>({color:r.color.defaultText,fontSize:r.typography.size.m3,fontWeight:r.typography.weight.bold,lineHeight:"32px",[`@media (min-width: ${Zd}px)`]:{fontSize:r.typography.size.l1,lineHeight:"36px",marginBottom:"16px"}})),BDe=J.h2(Ei,({theme:r})=>({fontWeight:r.typography.weight.regular,fontSize:r.typography.size.s3,lineHeight:"20px",borderBottom:"none",marginBottom:15,[`@media (min-width: ${Zd}px)`]:{fontSize:r.typography.size.m1,lineHeight:"28px",marginBottom:24},color:Oe(.25,r.color.defaultText)})),MDe=J.div(({theme:r})=>{let e={fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"},t={margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:r.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& code":{fontSize:"inherit"}},i={lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:r.typography.size.s2-1,border:r.base==="light"?`1px solid ${r.color.mediumlight}`:`1px solid ${r.color.darker}`,color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.3,r.color.defaultText),backgroundColor:r.base==="light"?r.color.lighter:r.color.border};return{maxWidth:1e3,width:"100%",[Je("a")]:{...e,fontSize:"inherit",lineHeight:"24px",color:r.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}},[Je("blockquote")]:{...e,margin:"16px 0",borderLeft:`4px solid ${r.color.medium}`,padding:"0 15px",color:r.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},[Je("div")]:e,[Je("dl")]:{...e,margin:"16px 0",padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}},[Je("h1")]:{...e,...t,fontSize:`${r.typography.size.l1}px`,fontWeight:r.typography.weight.bold},[Je("h2")]:{...e,...t,fontSize:`${r.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${r.appBorderColor}`},[Je("h3")]:{...e,...t,fontSize:`${r.typography.size.m1}px`,fontWeight:r.typography.weight.bold},[Je("h4")]:{...e,...t,fontSize:`${r.typography.size.s3}px`},[Je("h5")]:{...e,...t,fontSize:`${r.typography.size.s2}px`},[Je("h6")]:{...e,...t,fontSize:`${r.typography.size.s2}px`,color:r.color.dark},[Je("hr")]:{border:"0 none",borderTop:`1px solid ${r.appBorderColor}`,height:4,padding:0},[Je("img")]:{maxWidth:"100%"},[Je("li")]:{...e,fontSize:r.typography.size.s2,color:r.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":i},[Je("ol")]:{...e,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},[Je("p")]:{...e,margin:"16px 0",fontSize:r.typography.size.s2,lineHeight:"24px",color:r.color.defaultText,"& code":i},[Je("pre")]:{...e,fontFamily:r.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}},[Je("span")]:{...e,"&.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${r.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:r.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}},[Je("table")]:{...e,margin:"16px 0",fontSize:r.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${r.appBorderColor}`,backgroundColor:r.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:r.base==="dark"?r.color.darker:r.color.lighter},"& tr th":{fontWeight:"bold",color:r.color.defaultText,border:`1px solid ${r.appBorderColor}`,margin:0,padding:"6px 13px"},"& tr td":{border:`1px solid ${r.appBorderColor}`,color:r.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}},[Je("ul")]:{...e,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0},listStyle:"disc"}}}),NDe=J.div(({theme:r})=>({background:r.background.content,display:"flex",justifyContent:"center",padding:"4rem 20px",minHeight:"100vh",boxSizing:"border-box",gap:"3rem",[`@media (min-width: ${Zd}px)`]:{}}));var fl=r=>({borderRadius:r.appBorderRadius,background:r.background.content,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",border:`1px solid ${r.appBorderColor}`}),{window:zDe}=kt;var X8=fi({scale:1}),{PREVIEW_URL:jDe}=kt;var UDe=J.strong(({theme:r})=>({color:r.color.orange}));var K8=J(hc)({position:"absolute",left:0,right:0,top:0,transition:"transform .2s linear"}),J8=J.div({display:"flex",alignItems:"center",gap:4}),Q8=J.div(({theme:r})=>({width:14,height:14,borderRadius:2,margin:"0 7px",backgroundColor:r.appBorderColor,animation:`${r.animation.glow} 1.5s ease-in-out infinite`})),Z8=({isLoading:r,storyId:e,baseUrl:t,zoom:i,resetZoom:s,...n})=>z.createElement(K8,{...n},z.createElement(J8,{key:"left"},r?[1,2,3].map(o=>z.createElement(Q8,{key:o})):z.createElement(z.Fragment,null,z.createElement(Kr,{key:"zoomin",onClick:o=>{o.preventDefault(),i(.8)},title:"Zoom in"},z.createElement(cg,null)),z.createElement(Kr,{key:"zoomout",onClick:o=>{o.preventDefault(),i(1.25)},title:"Zoom out"},z.createElement(hg,null)),z.createElement(Kr,{key:"zoomreset",onClick:o=>{o.preventDefault(),s()},title:"Reset zoom"},z.createElement(dg,null))))),e9=J.div(({isColumn:r,columns:e,layout:t})=>({display:r||!e?"block":"flex",position:"relative",flexWrap:"wrap",overflow:"auto",flexDirection:r?"column":"row","& .innerZoomElementWrapper > *":r?{width:t!=="fullscreen"?"calc(100% - 20px)":"100%",display:"block"}:{maxWidth:t!=="fullscreen"?"calc(100% - 20px)":"100%",display:"inline-block"}}),({layout:r="padded"})=>r==="centered"||r==="padded"?{padding:"30px 20px","& .innerZoomElementWrapper > *":{width:"auto",border:"10px solid transparent!important"}}:{},({layout:r="padded"})=>r==="centered"?{display:"flex",justifyContent:"center",justifyItems:"center",alignContent:"center",alignItems:"center"}:{},({columns:r})=>r&&r>1?{".innerZoomElementWrapper > *":{minWidth:`calc(100% / ${r} - 20px)`}}:{}),AC=J(Y8)(({theme:r})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:r.appBorderRadius,borderBottomRightRadius:r.appBorderRadius,border:"none",background:r.base==="light"?"rgba(0, 0, 0, 0.85)":Ht(.05,r.background.content),color:r.color.lightest,button:{background:r.base==="light"?"rgba(0, 0, 0, 0.85)":Ht(.05,r.background.content)}})),t9=J.div(({theme:r,withSource:e,isExpanded:t})=>({position:"relative",overflow:"hidden",margin:"25px 0 40px",...fl(r),borderBottomLeftRadius:e&&t&&0,borderBottomRightRadius:e&&t&&0,borderBottomWidth:t&&0,"h3 + &":{marginTop:"16px"}}),({withToolbar:r})=>r&&{paddingTop:40}),r9=(r,e,t)=>{switch(!0){case!!(r&&r.error):return{source:null,actionItem:{title:"No code available",className:"docblock-code-toggle docblock-code-toggle--disabled",disabled:!0,onClick:()=>t(!1)}};case e:return{source:z.createElement(AC,{...r,dark:!0}),actionItem:{title:"Hide code",className:"docblock-code-toggle docblock-code-toggle--expanded",onClick:()=>t(!1)}};default:return{source:z.createElement(AC,{...r,dark:!0}),actionItem:{title:"Show code",className:"docblock-code-toggle",onClick:()=>t(!0)}}}};function i9(r){if(Tl.count(r)===1){let e=r;if(e.props)return e.props.id}return null}var s9=J(Z8)({position:"absolute",top:0,left:0,right:0,height:40}),n9=J.div({overflow:"hidden",position:"relative"}),o9=({isLoading:r,isColumn:e,columns:t,children:i,withSource:s,withToolbar:n=!1,isExpanded:o=!1,additionalActions:a,className:l,layout:u="padded",...c})=>{let[g,m]=Fe(o),{source:y,actionItem:b}=r9(s,g,m),[C,A]=Fe(1),T=[l].concat(["sbdocs","sbdocs-preview","sb-unstyled"]),R=s?[b]:[],[P,E]=Fe(a?[...a]:[]),k=[...R,...P],{window:O}=kt,B=ut(async U=>{let{createCopyToClipboardFunction:q}=await Promise.resolve().then(()=>(ta(),Hf));q()},[]),F=U=>{let q=O.getSelection();q&&q.type==="Range"||(U.preventDefault(),P.filter(ee=>ee.title==="Copied").length===0&&B(y.props.code).then(()=>{E([...P,{title:"Copied",onClick:()=>{}}]),O.setTimeout(()=>E(P.filter(ee=>ee.title!=="Copied")),1500)}))};return z.createElement(t9,{withSource:s,withToolbar:n,...c,className:T.join(" ")},n&&z.createElement(s9,{isLoading:r,border:!0,zoom:U=>A(C*U),resetZoom:()=>A(1),storyId:i9(i),baseUrl:"./iframe.html"}),z.createElement(X8.Provider,{value:{scale:C}},z.createElement(n9,{className:"docs-story",onCopyCapture:s&&F},z.createElement(e9,{isColumn:e||!Array.isArray(i),columns:t,layout:u},z.createElement(gc.Element,{scale:C},Array.isArray(i)?i.map((U,q)=>z.createElement("div",{key:q},U)):z.createElement("div",null,i))),z.createElement(cc,{actionItems:k}))),s&&g&&y)};J(o9)(()=>({".docs-story":{paddingTop:32,paddingBottom:40}}));var a9=J.label(({theme:r})=>({lineHeight:"18px",alignItems:"center",marginBottom:8,display:"inline-block",position:"relative",whiteSpace:"nowrap",background:r.boolean.background,borderRadius:"3em",padding:1,'&[aria-disabled="true"]':{opacity:.5,input:{cursor:"not-allowed"}},input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",background:"transparent",cursor:"pointer",borderRadius:"3em","&:focus":{outline:"none",boxShadow:`${r.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:"center",fontSize:r.typography.size.s1,fontWeight:r.typography.weight.bold,lineHeight:"1",cursor:"pointer",display:"inline-block",padding:"7px 15px",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"3em",color:Oe(.5,r.color.defaultText),background:"transparent","&:hover":{boxShadow:`${Ys(.3,r.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${Ys(.05,r.appBorderColor)} 0 0 0 2px inset`,color:Ys(1,r.appBorderColor)},"&:first-of-type":{paddingRight:8},"&:last-of-type":{paddingLeft:8}},"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type":{background:r.boolean.selectedBackground,boxShadow:r.base==="light"?`${Ys(.1,r.appBorderColor)} 0 0 2px`:`${r.appBorderColor} 0 0 0 1px`,color:r.color.defaultText,padding:"7px 15px"}})),l9=r=>r==="true",OC=({name:r,value:e,onChange:t,onBlur:i,onFocus:s,argType:n})=>{let o=ut(()=>t(!1),[t]),a=!!n?.table?.readonly;if(e===void 0)return z.createElement(Zo,{variant:"outline",size:"medium",id:lc(r),onClick:o,disabled:a},"Set boolean");let l=Kt(r),u=typeof e=="string"?l9(e):e;return z.createElement(a9,{"aria-disabled":a,htmlFor:l,"aria-label":r},z.createElement("input",{id:l,type:"checkbox",onChange:c=>t(c.target.checked),checked:u,role:"switch",disabled:a,name:r,onBlur:i,onFocus:s}),z.createElement("span",{"aria-hidden":"true"},"False"),z.createElement("span",{"aria-hidden":"true"},"True"))};var HDe=J(Rr.Input)(({readOnly:r})=>({opacity:r?.5:1})),WDe=J.div(({theme:r})=>({flex:1,display:"flex",input:{marginLeft:10,flex:1,height:32,"&::-webkit-calendar-picker-indicator":{opacity:.5,height:12,filter:r.base==="light"?void 0:"invert(1)"}},"input:first-of-type":{marginLeft:0,flexGrow:4},"input:last-of-type":{flexGrow:3}}));var u9=J.label({display:"flex"}),c9=r=>{let e=parseFloat(r);return Number.isNaN(e)?void 0:e};var h9=J(Rr.Input)(({readOnly:r})=>({opacity:r?.5:1})),gl=({name:r,value:e,onChange:t,min:i,max:s,step:n,onBlur:o,onFocus:a,argType:l})=>{let[u,c]=Fe(typeof e=="number"?e:""),[g,m]=Fe(!1),[y,b]=Fe(null),C=!!l?.table?.readonly,A=ut(P=>{c(P.target.value);let E=parseFloat(P.target.value);Number.isNaN(E)?b(new Error(`'${P.target.value}' is not a number`)):(t(E),b(null))},[t,b]),T=ut(()=>{c("0"),t(0),m(!0)},[m]),R=Bt(null);return He(()=>{g&&R.current&&R.current.select()},[g]),He(()=>{u!==(typeof e=="number"?e:"")&&c(e)},[e]),e===void 0?z.createElement(Zo,{variant:"outline",size:"medium",id:lc(r),onClick:T,disabled:C},"Set number"):z.createElement(u9,null,z.createElement(h9,{ref:R,id:Kt(r),type:"number",onChange:A,size:"flex",placeholder:"Edit number...",value:u,valid:y?"error":null,autoFocus:g,readOnly:C,name:r,min:i,max:s,step:n,onFocus:a,onBlur:o}))},LC=(r,e)=>{let t=e&&Object.entries(e).find(([i,s])=>s===r);return t?t[0]:void 0},Jd=(r,e)=>r&&e?Object.entries(e).filter(t=>r.includes(t[1])).map(t=>t[0]):[],DC=(r,e)=>r&&e&&r.map(t=>e[t]),d9=J.div(({isInline:r})=>r?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}},r=>{if(r["aria-readonly"]==="true")return{input:{cursor:"not-allowed"}}}),p9=J.span({"[aria-readonly=true] &":{opacity:.5}}),f9=J.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),EC=({name:r,options:e,value:t,onChange:i,isInline:s,argType:n})=>{if(!e)return na.warn(`Checkbox with no options: ${r}`),z.createElement(z.Fragment,null,"-");let o=Jd(t,e),[a,l]=Fe(o),u=!!n?.table?.readonly,c=m=>{let y=m.target.value,b=[...a];b.includes(y)?b.splice(b.indexOf(y),1):b.push(y),i(DC(b,e)),l(b)};He(()=>{l(Jd(t,e))},[t]);let g=Kt(r);return z.createElement(d9,{"aria-readonly":u,isInline:s},Object.keys(e).map((m,y)=>{let b=`${g}-${y}`;return z.createElement(f9,{key:b,htmlFor:b},z.createElement("input",{type:"checkbox",disabled:u,id:b,name:b,value:m,onChange:c,checked:a?.includes(m)}),z.createElement(p9,null,m))}))},g9=J.div(({isInline:r})=>r?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}},r=>{if(r["aria-readonly"]==="true")return{input:{cursor:"not-allowed"}}}),m9=J.span({"[aria-readonly=true] &":{opacity:.5}}),_9=J.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),IC=({name:r,options:e,value:t,onChange:i,isInline:s,argType:n})=>{if(!e)return na.warn(`Radio with no options: ${r}`),z.createElement(z.Fragment,null,"-");let o=LC(t,e),a=Kt(r),l=!!n?.table?.readonly;return z.createElement(g9,{"aria-readonly":l,isInline:s},Object.keys(e).map((u,c)=>{let g=`${a}-${c}`;return z.createElement(_9,{key:g,htmlFor:g},z.createElement("input",{type:"radio",id:g,name:a,disabled:l,value:u,onChange:m=>i(e[m.currentTarget.value]),checked:u===o}),z.createElement(m9,null,u))}))},y9={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},FC=J.select(y9,({theme:r})=>({boxSizing:"border-box",position:"relative",padding:"6px 10px",width:"100%",color:r.input.color||"inherit",background:r.input.background,borderRadius:r.input.borderRadius,boxShadow:`${r.input.border} 0 0 0 1px inset`,fontSize:r.typography.size.s2-1,lineHeight:"20px","&:focus":{boxShadow:`${r.color.secondary} 0 0 0 1px inset`,outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"::placeholder":{color:r.textMutedColor},"&[multiple]":{overflow:"auto",padding:0,option:{display:"block",padding:"6px 10px",marginLeft:1,marginRight:1}}})),BC=J.span(({theme:r})=>({display:"inline-block",lineHeight:"normal",overflow:"hidden",position:"relative",verticalAlign:"top",width:"100%",svg:{position:"absolute",zIndex:1,pointerEvents:"none",height:"12px",marginTop:"-6px",right:"12px",top:"50%",fill:r.textMutedColor,path:{fill:r.textMutedColor}}})),RC="Choose option...",x9=({name:r,value:e,options:t,onChange:i,argType:s})=>{let n=u=>{i(t[u.currentTarget.value])},o=LC(e,t)||RC,a=Kt(r),l=!!s?.table?.readonly;return z.createElement(BC,null,z.createElement(Ac,null),z.createElement(FC,{disabled:l,id:a,value:o,onChange:n},z.createElement("option",{key:"no-selection",disabled:!0},RC),Object.keys(t).map(u=>z.createElement("option",{key:u,value:u},u))))},b9=({name:r,value:e,options:t,onChange:i,argType:s})=>{let n=u=>{let c=Array.from(u.currentTarget.options).filter(g=>g.selected).map(g=>g.value);i(DC(c,t))},o=Jd(e,t),a=Kt(r),l=!!s?.table?.readonly;return z.createElement(BC,null,z.createElement(FC,{disabled:l,id:a,multiple:!0,value:o,onChange:n},Object.keys(t).map(u=>z.createElement("option",{key:u,value:u},u))))},PC=r=>{let{name:e,options:t}=r;return t?r.isMulti?z.createElement(b9,{...r}):z.createElement(x9,{...r}):(na.warn(`Select with no options: ${e}`),z.createElement(z.Fragment,null,"-"))},v9=(r,e)=>Array.isArray(r)?r.reduce((t,i)=>(t[e?.[i]||String(i)]=i,t),{}):r,S9={check:EC,"inline-check":EC,radio:IC,"inline-radio":IC,select:PC,"multi-select":PC},MC=r=>{let{type:e="select",labels:t,argType:i}=r,s={...r,argType:i,options:i?v9(i.options,t):{},isInline:e.includes("inline"),isMulti:e.includes("multi")},n=S9[e];if(n)return z.createElement(n,{...s});throw new Error(`Unknown options type: ${e}`)},w9="Error",T9="Object",C9="Array",A9="String",E9="Number",I9="Boolean",R9="Date",P9="Null",k9="Undefined",O9="Function",L9="Symbol",NC="ADD_DELTA_TYPE",zC="REMOVE_DELTA_TYPE",jC="UPDATE_DELTA_TYPE",ep="value",D9="key";function ai(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&typeof r[Symbol.iterator]=="function"?"Iterable":Object.prototype.toString.call(r).slice(8,-1)}function UC(r,e){let t=ai(r),i=ai(e);return(t==="Function"||i==="Function")&&i!==t}var tp=class extends ir{constructor(r){super(r),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this)}componentDidMount(){let{inputRefKey:r,inputRefValue:e}=this.state,{onlyValue:t}=this.props;r&&typeof r.focus=="function"&&r.focus(),t&&e&&typeof e.focus=="function"&&e.focus(),document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.onSubmit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.props.handleCancel()))}onSubmit(){let{handleAdd:r,onlyValue:e,onSubmitValueParser:t,keyPath:i,deep:s}=this.props,{inputRefKey:n,inputRefValue:o}=this.state,a={};if(!e){if(!n.value)return;a.key=n.value}a.newValue=t(!1,i,s,a.key,o.value),r(a)}refInputKey(r){this.state.inputRefKey=r}refInputValue(r){this.state.inputRefValue=r}render(){let{handleCancel:r,onlyValue:e,addButtonElement:t,cancelButtonElement:i,inputElementGenerator:s,keyPath:n,deep:o}=this.props,a=Ue(t,{onClick:this.onSubmit}),l=Ue(i,{onClick:r}),u=s(ep,n,o),c=Ue(u,{placeholder:"Value",ref:this.refInputValue}),g=null;if(!e){let m=s(D9,n,o);g=Ue(m,{placeholder:"Key",ref:this.refInputKey})}return z.createElement("span",{className:"rejt-add-value-node"},g,c,l,a)}};tp.defaultProps={onlyValue:!1,addButtonElement:z.createElement("button",null,"+"),cancelButtonElement:z.createElement("button",null,"c")};var HC=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={data:r.data,name:r.name,keyPath:e,deep:r.deep,nextDeep:r.deep+1,collapsed:r.isCollapsed(e,r.deep,r.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}onChildUpdate(r,e){let{data:t,keyPath:i}=this.state;t[r]=e,this.setState({data:t});let{onUpdate:s}=this.props,n=i.length;s(i[n-1],t)}handleAddMode(){this.setState({addFormVisible:!0})}handleCollapseMode(){this.setState(r=>({collapsed:!r.collapsed}))}handleRemoveItem(r){return()=>{let{beforeRemoveAction:e,logger:t}=this.props,{data:i,keyPath:s,nextDeep:n}=this.state,o=i[r];e(r,s,n,o).then(()=>{let a={keyPath:s,deep:n,key:r,oldValue:o,type:zC};i.splice(r,1),this.setState({data:i});let{onUpdate:l,onDeltaUpdate:u}=this.props;l(s[s.length-1],i),u(a)}).catch(t.error)}}handleAddValueAdd({newValue:r}){let{data:e,keyPath:t,nextDeep:i}=this.state,{beforeAddAction:s,logger:n}=this.props;s(e.length,t,i,r).then(()=>{let o=[...e,r];this.setState({data:o}),this.handleAddValueCancel();let{onUpdate:a,onDeltaUpdate:l}=this.props;a(t[t.length-1],o),l({type:NC,keyPath:t,deep:i,key:o.length-1,newValue:r})}).catch(n.error)}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleEditValue({key:r,value:e}){return new Promise((t,i)=>{let{beforeUpdateAction:s}=this.props,{data:n,keyPath:o,nextDeep:a}=this.state,l=n[r];s(r,o,a,l,e).then(()=>{n[r]=e,this.setState({data:n});let{onUpdate:u,onDeltaUpdate:c}=this.props;u(o[o.length-1],n),c({type:jC,keyPath:o,deep:a,key:r,newValue:e,oldValue:l}),t(void 0)}).catch(i)})}renderCollapsed(){let{name:r,data:e,keyPath:t,deep:i}=this.state,{handleRemove:s,readOnly:n,getStyle:o,dataType:a,minusMenuElement:l}=this.props,{minus:u,collapsed:c}=o(r,e,t,i,a),g=n(r,e,t,i,a),m=Ue(l,{onClick:s,className:"rejt-minus-menu",style:u});return z.createElement("span",{className:"rejt-collapsed"},z.createElement("span",{className:"rejt-collapsed-text",style:c,onClick:this.handleCollapseMode},"[...] ",e.length," ",e.length===1?"item":"items"),!g&&m)}renderNotCollapsed(){let{name:r,data:e,keyPath:t,deep:i,addFormVisible:s,nextDeep:n}=this.state,{isCollapsed:o,handleRemove:a,onDeltaUpdate:l,readOnly:u,getStyle:c,dataType:g,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}=this.props,{minus:F,plus:U,delimiter:q,ul:ee,addForm:te}=c(r,e,t,i,g),$=u(r,e,t,i,g),D=Ue(R,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:U}),N=Ue(T,{onClick:a,className:"rejt-minus-menu",style:F});return z.createElement("span",{className:"rejt-not-collapsed"},z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:q},"["),!s&&D,z.createElement("ul",{className:"rejt-not-collapsed-list",style:ee},e.map((G,Q)=>z.createElement(ml,{key:Q,name:Q.toString(),data:G,keyPath:t,deep:n,isCollapsed:o,handleRemove:this.handleRemoveItem(Q),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}))),!$&&s&&z.createElement("div",{className:"rejt-add-form",style:te},z.createElement(tp,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue:!0,addButtonElement:m,cancelButtonElement:y,inputElementGenerator:C,keyPath:t,deep:i,onSubmitValueParser:B})),z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:q},"]"),!$&&N)}render(){let{name:r,collapsed:e,data:t,keyPath:i,deep:s}=this.state,{dataType:n,getStyle:o}=this.props,a=e?this.renderCollapsed():this.renderNotCollapsed(),l=o(r,t,i,s,n);return z.createElement("div",{className:"rejt-array-node"},z.createElement("span",{onClick:this.handleCollapseMode},z.createElement("span",{className:"rejt-name",style:l.name},r," :"," ")),a)}};HC.defaultProps={keyPath:[],deep:0,minusMenuElement:z.createElement("span",null," - "),plusMenuElement:z.createElement("span",null," + ")};var WC=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={value:r.value,name:r.name,keyPath:e,deep:r.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(r,e){return r.value!==e.value?{value:r.value}:null}componentDidUpdate(){let{editEnabled:r,inputRef:e,name:t,value:i,keyPath:s,deep:n}=this.state,{readOnly:o,dataType:a}=this.props,l=o(t,i,s,n,a);r&&!l&&typeof e.focus=="function"&&e.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.handleEdit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:r,originalValue:e,logger:t,onSubmitValueParser:i,keyPath:s}=this.props,{inputRef:n,name:o,deep:a}=this.state;if(!n)return;let l=i(!0,s,a,o,n.value);r({value:l,key:o}).then(()=>{UC(e,l)||this.handleCancelEdit()}).catch(t.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(r){this.state.inputRef=r}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:r,value:e,editEnabled:t,keyPath:i,deep:s}=this.state,{handleRemove:n,originalValue:o,readOnly:a,dataType:l,getStyle:u,editButtonElement:c,cancelButtonElement:g,textareaElementGenerator:m,minusMenuElement:y,keyPath:b}=this.props,C=u(r,o,i,s,l),A=null,T=null,R=a(r,o,i,s,l);if(t&&!R){let P=m(ep,b,s,r,o,l),E=Ue(c,{onClick:this.handleEdit}),k=Ue(g,{onClick:this.handleCancelEdit}),O=Ue(P,{ref:this.refInput,defaultValue:o});A=z.createElement("span",{className:"rejt-edit-form",style:C.editForm},O," ",k,E),T=null}else{A=z.createElement("span",{className:"rejt-value",style:C.value,onClick:R?null:this.handleEditMode},e);let P=Ue(y,{onClick:n,className:"rejt-minus-menu",style:C.minus});T=R?null:P}return z.createElement("li",{className:"rejt-function-value-node",style:C.li},z.createElement("span",{className:"rejt-name",style:C.name},r," :"," "),A,T)}};WC.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:z.createElement("button",null,"e"),cancelButtonElement:z.createElement("button",null,"c"),minusMenuElement:z.createElement("span",null," - ")};var ml=class extends ir{constructor(r){super(r),this.state={data:r.data,name:r.name,keyPath:r.keyPath,deep:r.deep}}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}render(){let{data:r,name:e,keyPath:t,deep:i}=this.state,{isCollapsed:s,handleRemove:n,handleUpdateValue:o,onUpdate:a,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O}=this.props,B=()=>!0,F=ai(r);switch(F){case w9:return z.createElement(Qd,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:B,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case T9:return z.createElement(Qd,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:u,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case C9:return z.createElement(HC,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:u,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case A9:return z.createElement(Hr,{name:e,value:`"${r}"`,originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case E9:return z.createElement(Hr,{name:e,value:r,originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case I9:return z.createElement(Hr,{name:e,value:r?"true":"false",originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case R9:return z.createElement(Hr,{name:e,value:r.toISOString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:B,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case P9:return z.createElement(Hr,{name:e,value:"null",originalValue:"null",keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case k9:return z.createElement(Hr,{name:e,value:"undefined",originalValue:"undefined",keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case O9:return z.createElement(WC,{name:e,value:r.toString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,textareaElementGenerator:C,minusMenuElement:A,logger:k,onSubmitValueParser:O});case L9:return z.createElement(Hr,{name:e,value:r.toString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:B,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});default:return null}}};ml.defaultProps={keyPath:[],deep:0};var Qd=class extends ir{constructor(r){super(r);let e=r.deep===-1?[]:[...r.keyPath,r.name];this.state={name:r.name,data:r.data,keyPath:e,deep:r.deep,nextDeep:r.deep+1,collapsed:r.isCollapsed(e,r.deep,r.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}onChildUpdate(r,e){let{data:t,keyPath:i}=this.state;t[r]=e,this.setState({data:t});let{onUpdate:s}=this.props,n=i.length;s(i[n-1],t)}handleAddMode(){this.setState({addFormVisible:!0})}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleAddValueAdd({key:r,newValue:e}){let{data:t,keyPath:i,nextDeep:s}=this.state,{beforeAddAction:n,logger:o}=this.props;n(r,i,s,e).then(()=>{t[r]=e,this.setState({data:t}),this.handleAddValueCancel();let{onUpdate:a,onDeltaUpdate:l}=this.props;a(i[i.length-1],t),l({type:NC,keyPath:i,deep:s,key:r,newValue:e})}).catch(o.error)}handleRemoveValue(r){return()=>{let{beforeRemoveAction:e,logger:t}=this.props,{data:i,keyPath:s,nextDeep:n}=this.state,o=i[r];e(r,s,n,o).then(()=>{let a={keyPath:s,deep:n,key:r,oldValue:o,type:zC};delete i[r],this.setState({data:i});let{onUpdate:l,onDeltaUpdate:u}=this.props;l(s[s.length-1],i),u(a)}).catch(t.error)}}handleCollapseMode(){this.setState(r=>({collapsed:!r.collapsed}))}handleEditValue({key:r,value:e}){return new Promise((t,i)=>{let{beforeUpdateAction:s}=this.props,{data:n,keyPath:o,nextDeep:a}=this.state,l=n[r];s(r,o,a,l,e).then(()=>{n[r]=e,this.setState({data:n});let{onUpdate:u,onDeltaUpdate:c}=this.props;u(o[o.length-1],n),c({type:jC,keyPath:o,deep:a,key:r,newValue:e,oldValue:l}),t()}).catch(i)})}renderCollapsed(){let{name:r,keyPath:e,deep:t,data:i}=this.state,{handleRemove:s,readOnly:n,dataType:o,getStyle:a,minusMenuElement:l}=this.props,{minus:u,collapsed:c}=a(r,i,e,t,o),g=Object.getOwnPropertyNames(i),m=n(r,i,e,t,o),y=Ue(l,{onClick:s,className:"rejt-minus-menu",style:u});return z.createElement("span",{className:"rejt-collapsed"},z.createElement("span",{className:"rejt-collapsed-text",style:c,onClick:this.handleCollapseMode},"{...}"," ",g.length," ",g.length===1?"key":"keys"),!m&&y)}renderNotCollapsed(){let{name:r,data:e,keyPath:t,deep:i,nextDeep:s,addFormVisible:n}=this.state,{isCollapsed:o,handleRemove:a,onDeltaUpdate:l,readOnly:u,getStyle:c,dataType:g,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}=this.props,{minus:F,plus:U,addForm:q,ul:ee,delimiter:te}=c(r,e,t,i,g),$=Object.getOwnPropertyNames(e),D=u(r,e,t,i,g),N=Ue(R,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:U}),G=Ue(T,{onClick:a,className:"rejt-minus-menu",style:F}),Q=$.map(ne=>z.createElement(ml,{key:ne,name:ne,data:e[ne],keyPath:t,deep:s,isCollapsed:o,handleRemove:this.handleRemoveValue(ne),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}));return z.createElement("span",{className:"rejt-not-collapsed"},z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:te},"{"),!D&&N,z.createElement("ul",{className:"rejt-not-collapsed-list",style:ee},Q),!D&&n&&z.createElement("div",{className:"rejt-add-form",style:q},z.createElement(tp,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement:m,cancelButtonElement:y,inputElementGenerator:C,keyPath:t,deep:i,onSubmitValueParser:B})),z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:te},"}"),!D&&G)}render(){let{name:r,collapsed:e,data:t,keyPath:i,deep:s}=this.state,{getStyle:n,dataType:o}=this.props,a=e?this.renderCollapsed():this.renderNotCollapsed(),l=n(r,t,i,s,o);return z.createElement("div",{className:"rejt-object-node"},z.createElement("span",{onClick:this.handleCollapseMode},z.createElement("span",{className:"rejt-name",style:l.name},r," :"," ")),a)}};Qd.defaultProps={keyPath:[],deep:0,minusMenuElement:z.createElement("span",null," - "),plusMenuElement:z.createElement("span",null," + ")};var Hr=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={value:r.value,name:r.name,keyPath:e,deep:r.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(r,e){return r.value!==e.value?{value:r.value}:null}componentDidUpdate(){let{editEnabled:r,inputRef:e,name:t,value:i,keyPath:s,deep:n}=this.state,{readOnly:o,dataType:a}=this.props,l=o(t,i,s,n,a);r&&!l&&typeof e.focus=="function"&&e.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.handleEdit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:r,originalValue:e,logger:t,onSubmitValueParser:i,keyPath:s}=this.props,{inputRef:n,name:o,deep:a}=this.state;if(!n)return;let l=i(!0,s,a,o,n.value);r({value:l,key:o}).then(()=>{UC(e,l)||this.handleCancelEdit()}).catch(t.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(r){this.state.inputRef=r}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:r,value:e,editEnabled:t,keyPath:i,deep:s}=this.state,{handleRemove:n,originalValue:o,readOnly:a,dataType:l,getStyle:u,editButtonElement:c,cancelButtonElement:g,inputElementGenerator:m,minusMenuElement:y,keyPath:b}=this.props,C=u(r,o,i,s,l),A=a(r,o,i,s,l),T=t&&!A,R=m(ep,b,s,r,o,l),P=Ue(c,{onClick:this.handleEdit}),E=Ue(g,{onClick:this.handleCancelEdit}),k=Ue(R,{ref:this.refInput,defaultValue:JSON.stringify(o)}),O=Ue(y,{onClick:n,className:"rejt-minus-menu",style:C.minus});return z.createElement("li",{className:"rejt-value-node",style:C.li},z.createElement("span",{className:"rejt-name",style:C.name},r," : "),T?z.createElement("span",{className:"rejt-edit-form",style:C.editForm},k," ",E,P):z.createElement("span",{className:"rejt-value",style:C.value,onClick:A?null:this.handleEditMode},String(e)),!A&&!T&&O)}};Hr.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:z.createElement("button",null,"e"),cancelButtonElement:z.createElement("button",null,"c"),minusMenuElement:z.createElement("span",null," - ")};function F9(r){let e=r;if(e.indexOf("function")===0)return(0,eval)(`(${e})`);try{e=JSON.parse(r)}catch{}return e}var B9={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},M9={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},N9={minus:{color:"red"},editForm:{},value:{color:"#7bba3d"},li:{minHeight:"22px",lineHeight:"22px",outline:"0px"},name:{color:"#2287CD"}},z9=class extends ir{constructor(r){super(r),this.state={data:r.data,rootName:r.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data||r.rootName!==e.rootName?{data:r.data,rootName:r.rootName}:null}onUpdate(r,e){this.setState({data:e}),this.props.onFullyUpdate(e)}removeRoot(){this.onUpdate(null,null)}render(){let{data:r,rootName:e}=this.state,{isCollapsed:t,onDeltaUpdate:i,readOnly:s,getStyle:n,addButtonElement:o,cancelButtonElement:a,editButtonElement:l,inputElement:u,textareaElement:c,minusMenuElement:g,plusMenuElement:m,beforeRemoveAction:y,beforeAddAction:b,beforeUpdateAction:C,logger:A,onSubmitValueParser:T,fallback:R=null}=this.props,P=ai(r),E=s;ai(s)==="Boolean"&&(E=()=>s);let k=u;u&&ai(u)!=="Function"&&(k=()=>u);let O=c;return c&&ai(c)!=="Function"&&(O=()=>c),P==="Object"||P==="Array"?z.createElement("div",{className:"rejt-tree"},z.createElement(ml,{data:r,name:e,deep:-1,isCollapsed:t,onUpdate:this.onUpdate,onDeltaUpdate:i,readOnly:E,getStyle:n,addButtonElement:o,cancelButtonElement:a,editButtonElement:l,inputElementGenerator:k,textareaElementGenerator:O,minusMenuElement:g,plusMenuElement:m,handleRemove:this.removeRoot,beforeRemoveAction:y,beforeAddAction:b,beforeUpdateAction:C,logger:A,onSubmitValueParser:T})):R}};z9.defaultProps={rootName:"root",isCollapsed:(r,e)=>e!==-1,getStyle:(r,e,t,i,s)=>{switch(s){case"Object":case"Error":return B9;case"Array":return M9;default:return N9}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(r,e,t,i,s)=>F9(s),inputElement:()=>z.createElement("input",null),textareaElement:()=>z.createElement("textarea",null),fallback:null};var{window:qDe}=kt,$De=J.div(({theme:r})=>({position:"relative",display:"flex",'&[aria-readonly="true"]':{opacity:.5},".rejt-tree":{marginLeft:"1rem",fontSize:"13px"},".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed":{"& > svg":{opacity:0,transition:"opacity 0.2s"}},".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed":{"& > svg":{opacity:1}},".rejt-edit-form button":{display:"none"},".rejt-add-form":{marginLeft:10},".rejt-add-value-node":{display:"inline-flex",alignItems:"center"},".rejt-name":{lineHeight:"22px"},".rejt-not-collapsed-delimiter":{lineHeight:"22px"},".rejt-plus-menu":{marginLeft:5},".rejt-object-node > span > *, .rejt-array-node > span > *":{position:"relative",zIndex:2},".rejt-object-node, .rejt-array-node":{position:"relative"},".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before":{content:'""',position:"absolute",top:0,display:"block",width:"100%",marginLeft:"-1rem",padding:"0 4px 0 1rem",height:22},".rejt-collapsed::before, .rejt-not-collapsed::before":{zIndex:1,background:"transparent",borderRadius:4,transition:"background 0.2s",pointerEvents:"none",opacity:.1},".rejt-object-node:hover, .rejt-array-node:hover":{"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before":{background:r.color.secondary}},".rejt-collapsed::after, .rejt-not-collapsed::after":{content:'""',position:"absolute",display:"inline-block",pointerEvents:"none",width:0,height:0},".rejt-collapsed::after":{left:-8,top:8,borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid rgba(153,153,153,0.6)"},".rejt-not-collapsed::after":{left:-10,top:10,borderTop:"3px solid rgba(153,153,153,0.6)",borderLeft:"3px solid transparent",borderRight:"3px solid transparent"},".rejt-value":{display:"inline-block",border:"1px solid transparent",borderRadius:4,margin:"1px 0",padding:"0 4px",cursor:"text",color:r.color.defaultText},".rejt-value-node:hover > .rejt-value":{background:r.color.lighter,borderColor:r.appBorderColor}})),VDe=J.button(({theme:r,primary:e})=>({border:0,height:20,margin:1,borderRadius:4,background:e?r.color.secondary:"transparent",color:e?r.color.lightest:r.color.dark,fontWeight:e?"bold":"normal",cursor:"pointer",order:e?"initial":9})),GDe=J(ig)(({theme:r,disabled:e})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:e?"not-allowed":"pointer",color:r.textMutedColor,"&:hover":e?{}:{color:r.color.ancillary},"svg + &":{marginLeft:0}})),YDe=J(ug)(({theme:r,disabled:e})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:e?"not-allowed":"pointer",color:r.textMutedColor,"&:hover":e?{}:{color:r.color.negative},"svg + &":{marginLeft:0}})),XDe=J.input(({theme:r,placeholder:e})=>({outline:0,margin:e?1:"1px 0",padding:"3px 4px",color:r.color.defaultText,background:r.background.app,border:`1px solid ${r.appBorderColor}`,borderRadius:4,lineHeight:"14px",width:e==="Key"?80:120,"&:focus":{border:`1px solid ${r.color.secondary}`}})),KDe=J(Kr)(({theme:r})=>({position:"absolute",zIndex:2,top:2,right:2,height:21,padding:"0 3px",background:r.background.bar,border:`1px solid ${r.appBorderColor}`,borderRadius:3,color:r.textMutedColor,fontSize:"9px",fontWeight:"bold",textDecoration:"none",span:{marginLeft:3,marginTop:1}})),JDe=J(Rr.Textarea)(({theme:r})=>({flex:1,padding:"7px 6px",fontFamily:r.typography.fonts.mono,fontSize:"12px",lineHeight:"18px","&::placeholder":{fontFamily:r.typography.fonts.base,fontSize:"13px"},"&:placeholder-shown":{padding:"7px 10px"}}));var j9=J.input(({theme:r,min:e,max:t,value:i,disabled:s})=>({"&":{width:"100%",backgroundColor:"transparent",appearance:"none"},"&::-webkit-slider-runnable-track":{background:r.base==="light"?`linear-gradient(to right, +`&&(i=!1)),!t&&!i&&(n+=r[o]);else n=r;return n},_q=(0,OT.default)(1e4)(r=>mq(r).replace(/\n\s*/g,"").trim()),yq=function(e,t){let i=t.slice(0,t.indexOf("{")),s=t.slice(t.indexOf("{"));if(i.includes("=>")||i.includes("function"))return t;let n=i;return n=n.replace(e,"function"),n+s},xq=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/,bq=r=>r.match(/^[\[\{\"\}].*[\]\}\"]$/);function LT(r){if(!sl(r))return r;let e=r,t=!1;return typeof Event<"u"&&r instanceof Event&&(e=_T(e),t=!0),e=Object.keys(e).reduce((i,s)=>{try{e[s]&&e[s].toJSON,i[s]=e[s]}catch{t=!0}return i},{}),t?e:r}var vq=function(e){let t,i,s,n;return function(a,l){try{if(a==="")return n=[],t=new Map([[l,"[]"]]),i=new Map,s=[],l;let u=i.get(this)||this;for(;s.length&&u!==s[0];)s.shift(),n.pop();if(typeof l=="boolean")return l;if(l===void 0)return e.allowUndefined?"_undefined_":void 0;if(l===null)return null;if(typeof l=="number")return l===-1/0?"_-Infinity_":l===1/0?"_Infinity_":Number.isNaN(l)?"_NaN_":l;if(typeof l=="bigint")return`_bigint_${l.toString()}`;if(typeof l=="string")return xq.test(l)?e.allowDate?`_date_${l}`:void 0:l;if((0,JH.default)(l))return e.allowRegExp?`_regexp_${l.flags}|${l.source}`:void 0;if((0,QH.default)(l)){if(!e.allowFunction)return;let{name:g}=l,m=l.toString();return m.match(/(\[native code\]|WEBPACK_IMPORTED_MODULE|__webpack_exports__|__webpack_require__)/)?`_function_${g}|${(()=>{}).toString()}`:`_function_${g}|${_q(yq(a,m))}`}if((0,ZH.default)(l)){if(!e.allowSymbol)return;let g=Symbol.keyFor(l);return g!==void 0?`_gsymbol_${g}`:`_symbol_${l.toString().slice(7,-1)}`}if(s.length>=e.maxDepth)return Array.isArray(l)?`[Array(${l.length})]`:"[Object]";if(l===this)return`_duplicate_${JSON.stringify(n)}`;if(l instanceof Error&&e.allowError)return{__isConvertedError__:!0,errorProperties:{...l.cause?{cause:l.cause}:{},...l,name:l.name,message:l.message,stack:l.stack,"_constructor-name_":l.constructor.name}};if(l.constructor&&l.constructor.name&&l.constructor.name!=="Object"&&!Array.isArray(l)&&!e.allowClass)return;let c=t.get(l);if(!c){let g=Array.isArray(l)?l:LT(l);if(l.constructor&&l.constructor.name&&l.constructor.name!=="Object"&&!Array.isArray(l)&&e.allowClass)try{Object.assign(g,{"_constructor-name_":l.constructor.name})}catch{}return n.push(a),s.unshift(g),t.set(l,JSON.stringify(n)),l!==g&&i.set(l,g),g}return`_duplicate_${c}`}catch{return}}},Sq=function reviver(options){let refs=[],root;return function revive(key,value){if(key===""&&(root=value,refs.forEach(({target:r,container:e,replacement:t})=>{let i=bq(t)?JSON.parse(t):t.split(".");i.length===0?e[r]=root:e[r]=gq(root,i)})),key==="_constructor-name_")return value;if(sl(value)&&value.__isConvertedError__){let{message:r,...e}=value.errorProperties,t=new Error(r);return Object.assign(t,e),t}if(sl(value)&&value["_constructor-name_"]&&options.allowFunction){let r=value["_constructor-name_"];if(r!=="Object"){let e=new Function(`return function ${r.replace(/[^a-zA-Z0-9$_]+/g,"")}(){}`)();Object.setPrototypeOf(value,new e)}return delete value["_constructor-name_"],value}if(typeof value=="string"&&value.startsWith("_function_")&&options.allowFunction){let[,name,source]=value.match(/_function_([^|]*)\|(.*)/)||[],sourceSanitized=source.replace(/[(\(\))|\\| |\]|`]*$/,"");if(!options.lazyEval)return eval(`(${sourceSanitized})`);let result=(...args)=>{let f=eval(`(${sourceSanitized})`);return f(...args)};return Object.defineProperty(result,"toString",{value:()=>sourceSanitized}),Object.defineProperty(result,"name",{value:name}),result}if(typeof value=="string"&&value.startsWith("_regexp_")&&options.allowRegExp){let[,r,e]=value.match(/_regexp_([^|]*)\|(.*)/)||[];return new RegExp(e,r)}return typeof value=="string"&&value.startsWith("_date_")&&options.allowDate?new Date(value.replace("_date_","")):typeof value=="string"&&value.startsWith("_duplicate_")?(refs.push({target:key,container:this,replacement:value.replace(/^_duplicate_/,"")}),null):typeof value=="string"&&value.startsWith("_symbol_")&&options.allowSymbol?Symbol(value.replace("_symbol_","")):typeof value=="string"&&value.startsWith("_gsymbol_")&&options.allowSymbol?Symbol.for(value.replace("_gsymbol_","")):typeof value=="string"&&value==="_-Infinity_"?-1/0:typeof value=="string"&&value==="_Infinity_"?1/0:typeof value=="string"&&value==="_NaN_"?NaN:typeof value=="string"&&value.startsWith("_bigint_")&&typeof BigInt=="function"?BigInt(value.replace("_bigint_","")):value}},DT={maxDepth:10,space:void 0,allowFunction:!0,allowRegExp:!0,allowDate:!0,allowClass:!0,allowError:!0,allowUndefined:!0,allowSymbol:!0,lazyEval:!0},wq=(r,e={})=>{let t={...DT,...e};return JSON.stringify(LT(r),vq(t),e.space)},Tq=()=>{let r=new Map;return function e(t){sl(t)&&Object.entries(t).forEach(([i,s])=>{s==="_undefined_"?t[i]=void 0:r.get(s)||(r.set(s,!0),e(s))}),Array.isArray(t)&&t.forEach((i,s)=>{i==="_undefined_"?(r.set(i,!0),t[s]=void 0):r.get(i)||(r.set(i,!0),e(i))})}},eLe=(r,e={})=>{let t={...DT,...e},i=JSON.parse(r,Sq(t));return Tq()(i),i};h();d();p();h();d();p();h();d();p();var fLe=__STORYBOOK_CHANNELS__,{Channel:Cq,PostMessageTransport:gLe,WebsocketTransport:mLe,createBrowserChannel:_Le}=__STORYBOOK_CHANNELS__;var N8=Xr({"../../node_modules/tocbot/src/js/default-options.js"(r,e){e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(t){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,includeTitleTags:!1,onClick:function(t){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1,tocScrollOffset:0}}}),z8=Xr({"../../node_modules/tocbot/src/js/build-html.js"(r,e){e.exports=function(t){var i=[].forEach,s=[].some,n=document.body,o,a=!0,l=" ";function u(E,k){var O=k.appendChild(g(E));if(E.children.length){var B=m(E.isCollapsed);E.children.forEach(function(F){u(F,B)}),O.appendChild(B)}}function c(E,k){var O=!1,B=m(O);if(k.forEach(function(F){u(F,B)}),o=E||o,o!==null)return o.firstChild&&o.removeChild(o.firstChild),k.length===0?o:o.appendChild(B)}function g(E){var k=document.createElement("li"),O=document.createElement("a");return t.listItemClass&&k.setAttribute("class",t.listItemClass),t.onClick&&(O.onclick=t.onClick),t.includeTitleTags&&O.setAttribute("title",E.textContent),t.includeHtml&&E.childNodes.length?i.call(E.childNodes,function(B){O.appendChild(B.cloneNode(!0))}):O.textContent=E.textContent,O.setAttribute("href",t.basePath+"#"+E.id),O.setAttribute("class",t.linkClass+l+"node-name--"+E.nodeName+l+t.extraLinkClasses),k.appendChild(O),k}function m(E){var k=t.orderedList?"ol":"ul",O=document.createElement(k),B=t.listClass+l+t.extraListClasses;return E&&(B=B+l+t.collapsibleClass,B=B+l+t.isCollapsedClass),O.setAttribute("class",B),O}function y(){if(t.scrollContainer&&document.querySelector(t.scrollContainer)){var E;E=document.querySelector(t.scrollContainer).scrollTop}else E=document.documentElement.scrollTop||n.scrollTop;var k=document.querySelector(t.positionFixedSelector);t.fixedSidebarOffset==="auto"&&(t.fixedSidebarOffset=o.offsetTop),E>t.fixedSidebarOffset?k.className.indexOf(t.positionFixedClass)===-1&&(k.className+=l+t.positionFixedClass):k.className=k.className.replace(l+t.positionFixedClass,"")}function b(E){var k=0;return E!==null&&(k=E.offsetTop,t.hasInnerContainers&&(k+=b(E.offsetParent))),k}function C(E,k){return E&&E.className!==k&&(E.className=k),E}function A(E){if(t.scrollContainer&&document.querySelector(t.scrollContainer)){var k;k=document.querySelector(t.scrollContainer).scrollTop}else k=document.documentElement.scrollTop||n.scrollTop;t.positionFixedSelector&&y();var O=E,B;if(a&&o!==null&&O.length>0){s.call(O,function(D,N){if(b(D)>k+t.headingsOffset+10){var G=N===0?N:N-1;return B=O[G],!0}else if(N===O.length-1)return B=O[O.length-1],!0});var F=o.querySelector("."+t.activeLinkClass),U=o.querySelector("."+t.linkClass+".node-name--"+B.nodeName+'[href="'+t.basePath+"#"+B.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/\\@])/g,"\\$1")+'"]');if(F===U)return;var q=o.querySelectorAll("."+t.linkClass);i.call(q,function(D){C(D,D.className.replace(l+t.activeLinkClass,""))});var ee=o.querySelectorAll("."+t.listItemClass);i.call(ee,function(D){C(D,D.className.replace(l+t.activeListItemClass,""))}),U&&U.className.indexOf(t.activeLinkClass)===-1&&(U.className+=l+t.activeLinkClass);var te=U&&U.parentNode;te&&te.className.indexOf(t.activeListItemClass)===-1&&(te.className+=l+t.activeListItemClass);var $=o.querySelectorAll("."+t.listClass+"."+t.collapsibleClass);i.call($,function(D){D.className.indexOf(t.isCollapsedClass)===-1&&(D.className+=l+t.isCollapsedClass)}),U&&U.nextSibling&&U.nextSibling.className.indexOf(t.isCollapsedClass)!==-1&&C(U.nextSibling,U.nextSibling.className.replace(l+t.isCollapsedClass,"")),T(U&&U.parentNode.parentNode)}}function T(E){return E&&E.className.indexOf(t.collapsibleClass)!==-1&&E.className.indexOf(t.isCollapsedClass)!==-1?(C(E,E.className.replace(l+t.isCollapsedClass,"")),T(E.parentNode.parentNode)):E}function R(E){var k=E.target||E.srcElement;typeof k.className!="string"||k.className.indexOf(t.linkClass)===-1||(a=!1)}function P(){a=!0}return{enableTocAnimation:P,disableTocAnimation:R,render:c,updateToc:A}}}}),j8=Xr({"../../node_modules/tocbot/src/js/parse-content.js"(r,e){e.exports=function(t){var i=[].reduce;function s(g){return g[g.length-1]}function n(g){return+g.nodeName.toUpperCase().replace("H","")}function o(g){try{return g instanceof window.HTMLElement||g instanceof window.parent.HTMLElement}catch{return g instanceof window.HTMLElement}}function a(g){if(!o(g))return g;if(t.ignoreHiddenElements&&(!g.offsetHeight||!g.offsetParent))return null;let m=g.getAttribute("data-heading-label")||(t.headingLabelCallback?String(t.headingLabelCallback(g.innerText)):(g.innerText||g.textContent).trim());var y={id:g.id,children:[],nodeName:g.nodeName,headingLevel:n(g),textContent:m};return t.includeHtml&&(y.childNodes=g.childNodes),t.headingObjectCallback?t.headingObjectCallback(y,g):y}function l(g,m){for(var y=a(g),b=y.headingLevel,C=m,A=s(C),T=A?A.headingLevel:0,R=b-T;R>0&&(A=s(C),!(A&&b===A.headingLevel));)A&&A.children!==void 0&&(C=A.children),R--;return b>=t.collapseDepth&&(y.isCollapsed=!0),C.push(y),C}function u(g,m){var y=m;t.ignoreSelector&&(y=m.split(",").map(function(b){return b.trim()+":not("+t.ignoreSelector+")"}));try{return g.querySelectorAll(y)}catch{return console.warn("Headers not found with selector: "+y),null}}function c(g){return i.call(g,function(m,y){var b=a(y);return b&&l(b,m.nest),m},{nest:[]})}return{nestHeadingsArray:c,selectHeadings:u}}}}),U8=Xr({"../../node_modules/tocbot/src/js/update-toc-scroll.js"(r,e){e.exports=function(t){var i=t.tocElement||document.querySelector(t.tocSelector);if(i&&i.scrollHeight>i.clientHeight){var s=i.querySelector("."+t.activeListItemClass);s&&(i.scrollTop=s.offsetTop-t.tocScrollOffset)}}}}),H8=Xr({"../../node_modules/tocbot/src/js/scroll-smooth/index.js"(r){r.initSmoothScrolling=e;function e(i){var s=i.duration,n=i.offset,o=location.hash?u(location.href):location.href;a();function a(){document.body.addEventListener("click",g,!1);function g(m){!l(m.target)||m.target.className.indexOf("no-smooth-scroll")>-1||m.target.href.charAt(m.target.href.length-2)==="#"&&m.target.href.charAt(m.target.href.length-1)==="!"||m.target.className.indexOf(i.linkClass)===-1||t(m.target.hash,{duration:s,offset:n,callback:function(){c(m.target.hash)}})}}function l(g){return g.tagName.toLowerCase()==="a"&&(g.hash.length>0||g.href.charAt(g.href.length-1)==="#")&&(u(g.href)===o||u(g.href)+"#"===o)}function u(g){return g.slice(0,g.lastIndexOf("#"))}function c(g){var m=document.getElementById(g.substring(1));m&&(/^(?:a|select|input|button|textarea)$/i.test(m.tagName)||(m.tabIndex=-1),m.focus())}}function t(i,s){var n=window.pageYOffset,o={duration:s.duration,offset:s.offset||0,callback:s.callback,easing:s.easing||b},a=document.querySelector('[id="'+decodeURI(i).split("#").join("")+'"]')||document.querySelector('[id="'+i.split("#").join("")+'"]'),l=typeof i=="string"?o.offset+(i?a&&a.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):i,u=typeof o.duration=="function"?o.duration(l):o.duration,c,g;requestAnimationFrame(function(C){c=C,m(C)});function m(C){g=C-c,window.scrollTo(0,o.easing(g,n,l,u)),g<u?requestAnimationFrame(m):y()}function y(){window.scrollTo(0,n+l),typeof o.callback=="function"&&o.callback()}function b(C,A,T,R){return C/=R/2,C<1?T/2*C*C+A:(C--,-T/2*(C*(C-2)-1)+A)}}}}),W8=Xr({"../../node_modules/tocbot/src/js/index.js"(r,e){(function(t,i){typeof define=="function"&&define.amd?define([],i(t)):typeof r=="object"?e.exports=i(t):t.tocbot=i(t)})(typeof window<"u"?window:window||window,function(t){var i=N8(),s={},n={},o=z8(),a=j8(),l=U8(),u,c,g=!!t&&!!t.document&&!!t.document.querySelector&&!!t.addEventListener;if(typeof window>"u"&&!g)return;var m,y=Object.prototype.hasOwnProperty;function b(){for(var R={},P=0;P<arguments.length;P++){var E=arguments[P];for(var k in E)y.call(E,k)&&(R[k]=E[k])}return R}function C(R,P,E){P||(P=250);var k,O;return function(){var B=E||this,F=+new Date,U=arguments;k&&F<k+P?(clearTimeout(O),O=setTimeout(function(){k=F,R.apply(B,U)},P)):(k=F,R.apply(B,U))}}function A(R){try{return R.contentElement||document.querySelector(R.contentSelector)}catch{return console.warn("Contents element not found: "+R.contentSelector),null}}function T(R){try{return R.tocElement||document.querySelector(R.tocSelector)}catch{return console.warn("TOC element not found: "+R.tocSelector),null}}return n.destroy=function(){var R=T(s);R!==null&&(s.skipRendering||R&&(R.innerHTML=""),s.scrollContainer&&document.querySelector(s.scrollContainer)?(document.querySelector(s.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(s.scrollContainer).removeEventListener("resize",this._scrollListener,!1),u&&document.querySelector(s.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),u&&document.removeEventListener("click",this._clickListener,!1)))},n.init=function(R){if(g){s=b(i,R||{}),this.options=s,this.state={},s.scrollSmooth&&(s.duration=s.scrollSmoothDuration,s.offset=s.scrollSmoothOffset,n.scrollSmooth=H8().initSmoothScrolling(s)),u=o(s),c=a(s),this._buildHtml=u,this._parseContent=c,this._headingsArray=m,n.destroy();var P=A(s);if(P!==null){var E=T(s);if(E!==null&&(m=c.selectHeadings(P,s.headingSelector),m!==null)){var k=c.nestHeadingsArray(m),O=k.nest;if(!s.skipRendering)u.render(E,O);else return this;this._scrollListener=C(function(F){u.updateToc(m),!s.disableTocScrollSync&&l(s);var U=F&&F.target&&F.target.scrollingElement&&F.target.scrollingElement.scrollTop===0;(F&&(F.eventPhase===0||F.currentTarget===null)||U)&&(u.updateToc(m),s.scrollEndCallback&&s.scrollEndCallback(F))},s.throttleTimeout),this._scrollListener(),s.scrollContainer&&document.querySelector(s.scrollContainer)?(document.querySelector(s.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(s.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1));var B=null;return this._clickListener=C(function(F){s.scrollSmooth&&u.disableTocAnimation(F),u.updateToc(m),B&&clearTimeout(B),B=setTimeout(function(){u.enableTocAnimation()},s.scrollSmoothDuration)},s.throttleTimeout),s.scrollContainer&&document.querySelector(s.scrollContainer)?document.querySelector(s.scrollContainer).addEventListener("click",this._clickListener,!1):document.addEventListener("click",this._clickListener,!1),this}}}},n.refresh=function(R){n.destroy(),n.init(R||this.options)},t.tocbot=n,n})}}),q8=J.div(Ei,({theme:r})=>({backgroundColor:r.base==="light"?"rgba(0,0,0,.01)":"rgba(255,255,255,.01)",borderRadius:r.appBorderRadius,border:`1px dashed ${r.appBorderColor}`,display:"flex",alignItems:"center",justifyContent:"center",padding:20,margin:"25px 0 40px",color:Oe(.3,r.color.defaultText),fontSize:r.typography.size.s2})),$8=r=>z.createElement(q8,{...r,className:"docblock-emptyblock sb-unstyled"}),V8=J(pc)(({theme:r})=>({fontSize:`${r.typography.size.s2-1}px`,lineHeight:"19px",margin:"25px 0 40px",borderRadius:r.appBorderRadius,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0","pre.prismjs":{padding:20,background:"inherit"}})),G8=J.div(({theme:r})=>({background:r.background.content,borderRadius:r.appBorderRadius,border:`1px solid ${r.appBorderColor}`,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",margin:"25px 0 40px",padding:"20px 20px 20px 22px"})),pl=J.div(({theme:r})=>({animation:`${r.animation.glow} 1.5s ease-in-out infinite`,background:r.appBorderColor,height:17,marginTop:1,width:"60%",[`&:first-child${$f}`]:{margin:0}})),Y8=()=>z.createElement(G8,null,z.createElement(pl,null),z.createElement(pl,{style:{width:"80%"}}),z.createElement(pl,{style:{width:"30%"}}),z.createElement(pl,{style:{width:"80%"}})),X8=({isLoading:r,error:e,language:t,code:i,dark:s,format:n=!1,...o})=>{let{typography:a}=Vf();if(r)return z.createElement(Y8,null);if(e)return z.createElement($8,null,e);let l=z.createElement(V8,{bordered:!0,copyable:!0,format:n,language:t,className:"docblock-source sb-unstyled",...o},i);if(typeof s>"u")return l;let u=s?yc.dark:yc.light;return z.createElement(Wf,{theme:qf({...u,fontCode:a.fonts.mono,fontBase:a.fonts.base})},l)},Je=r=>`& :where(${r}:not(.sb-anchor, .sb-unstyled, .sb-unstyled ${r}))`,Zd=600,BDe=J.h1(Ei,({theme:r})=>({color:r.color.defaultText,fontSize:r.typography.size.m3,fontWeight:r.typography.weight.bold,lineHeight:"32px",[`@media (min-width: ${Zd}px)`]:{fontSize:r.typography.size.l1,lineHeight:"36px",marginBottom:"16px"}})),MDe=J.h2(Ei,({theme:r})=>({fontWeight:r.typography.weight.regular,fontSize:r.typography.size.s3,lineHeight:"20px",borderBottom:"none",marginBottom:15,[`@media (min-width: ${Zd}px)`]:{fontSize:r.typography.size.m1,lineHeight:"28px",marginBottom:24},color:Oe(.25,r.color.defaultText)})),NDe=J.div(({theme:r})=>{let e={fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"},t={margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:r.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& code":{fontSize:"inherit"}},i={lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:r.typography.size.s2-1,border:r.base==="light"?`1px solid ${r.color.mediumlight}`:`1px solid ${r.color.darker}`,color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.3,r.color.defaultText),backgroundColor:r.base==="light"?r.color.lighter:r.color.border};return{maxWidth:1e3,width:"100%",[Je("a")]:{...e,fontSize:"inherit",lineHeight:"24px",color:r.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}},[Je("blockquote")]:{...e,margin:"16px 0",borderLeft:`4px solid ${r.color.medium}`,padding:"0 15px",color:r.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}},[Je("div")]:e,[Je("dl")]:{...e,margin:"16px 0",padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}},[Je("h1")]:{...e,...t,fontSize:`${r.typography.size.l1}px`,fontWeight:r.typography.weight.bold},[Je("h2")]:{...e,...t,fontSize:`${r.typography.size.m2}px`,paddingBottom:4,borderBottom:`1px solid ${r.appBorderColor}`},[Je("h3")]:{...e,...t,fontSize:`${r.typography.size.m1}px`,fontWeight:r.typography.weight.bold},[Je("h4")]:{...e,...t,fontSize:`${r.typography.size.s3}px`},[Je("h5")]:{...e,...t,fontSize:`${r.typography.size.s2}px`},[Je("h6")]:{...e,...t,fontSize:`${r.typography.size.s2}px`,color:r.color.dark},[Je("hr")]:{border:"0 none",borderTop:`1px solid ${r.appBorderColor}`,height:4,padding:0},[Je("img")]:{maxWidth:"100%"},[Je("li")]:{...e,fontSize:r.typography.size.s2,color:r.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":i},[Je("ol")]:{...e,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},[Je("p")]:{...e,margin:"16px 0",fontSize:r.typography.size.s2,lineHeight:"24px",color:r.color.defaultText,"& code":i},[Je("pre")]:{...e,fontFamily:r.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}},[Je("span")]:{...e,"&.frame":{display:"block",overflow:"hidden","& > span":{border:`1px solid ${r.color.medium}`,display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:r.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}},[Je("table")]:{...e,margin:"16px 0",fontSize:r.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:`1px solid ${r.appBorderColor}`,backgroundColor:r.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:r.base==="dark"?r.color.darker:r.color.lighter},"& tr th":{fontWeight:"bold",color:r.color.defaultText,border:`1px solid ${r.appBorderColor}`,margin:0,padding:"6px 13px"},"& tr td":{border:`1px solid ${r.appBorderColor}`,color:r.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}},[Je("ul")]:{...e,margin:"16px 0",paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0},listStyle:"disc"}}}),zDe=J.div(({theme:r})=>({background:r.background.content,display:"flex",justifyContent:"center",padding:"4rem 20px",minHeight:"100vh",boxSizing:"border-box",gap:"3rem",[`@media (min-width: ${Zd}px)`]:{}}));var fl=r=>({borderRadius:r.appBorderRadius,background:r.background.content,boxShadow:r.base==="light"?"rgba(0, 0, 0, 0.10) 0 1px 3px 0":"rgba(0, 0, 0, 0.20) 0 2px 5px 0",border:`1px solid ${r.appBorderColor}`}),{window:jDe}=kt;var K8=fi({scale:1}),{PREVIEW_URL:UDe}=kt;var HDe=J.strong(({theme:r})=>({color:r.color.orange}));var J8=J(hc)({position:"absolute",left:0,right:0,top:0,transition:"transform .2s linear"}),Q8=J.div({display:"flex",alignItems:"center",gap:4}),Z8=J.div(({theme:r})=>({width:14,height:14,borderRadius:2,margin:"0 7px",backgroundColor:r.appBorderColor,animation:`${r.animation.glow} 1.5s ease-in-out infinite`})),e9=({isLoading:r,storyId:e,baseUrl:t,zoom:i,resetZoom:s,...n})=>z.createElement(J8,{...n},z.createElement(Q8,{key:"left"},r?[1,2,3].map(o=>z.createElement(Z8,{key:o})):z.createElement(z.Fragment,null,z.createElement(Kr,{key:"zoomin",onClick:o=>{o.preventDefault(),i(.8)},title:"Zoom in"},z.createElement(cg,null)),z.createElement(Kr,{key:"zoomout",onClick:o=>{o.preventDefault(),i(1.25)},title:"Zoom out"},z.createElement(hg,null)),z.createElement(Kr,{key:"zoomreset",onClick:o=>{o.preventDefault(),s()},title:"Reset zoom"},z.createElement(dg,null))))),t9=J.div(({isColumn:r,columns:e,layout:t})=>({display:r||!e?"block":"flex",position:"relative",flexWrap:"wrap",overflow:"auto",flexDirection:r?"column":"row","& .innerZoomElementWrapper > *":r?{width:t!=="fullscreen"?"calc(100% - 20px)":"100%",display:"block"}:{maxWidth:t!=="fullscreen"?"calc(100% - 20px)":"100%",display:"inline-block"}}),({layout:r="padded"})=>r==="centered"||r==="padded"?{padding:"30px 20px","& .innerZoomElementWrapper > *":{width:"auto",border:"10px solid transparent!important"}}:{},({layout:r="padded"})=>r==="centered"?{display:"flex",justifyContent:"center",justifyItems:"center",alignContent:"center",alignItems:"center"}:{},({columns:r})=>r&&r>1?{".innerZoomElementWrapper > *":{minWidth:`calc(100% / ${r} - 20px)`}}:{}),AC=J(X8)(({theme:r})=>({margin:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomLeftRadius:r.appBorderRadius,borderBottomRightRadius:r.appBorderRadius,border:"none",background:r.base==="light"?"rgba(0, 0, 0, 0.85)":Ht(.05,r.background.content),color:r.color.lightest,button:{background:r.base==="light"?"rgba(0, 0, 0, 0.85)":Ht(.05,r.background.content)}})),r9=J.div(({theme:r,withSource:e,isExpanded:t})=>({position:"relative",overflow:"hidden",margin:"25px 0 40px",...fl(r),borderBottomLeftRadius:e&&t&&0,borderBottomRightRadius:e&&t&&0,borderBottomWidth:t&&0,"h3 + &":{marginTop:"16px"}}),({withToolbar:r})=>r&&{paddingTop:40}),i9=(r,e,t)=>{switch(!0){case!!(r&&r.error):return{source:null,actionItem:{title:"No code available",className:"docblock-code-toggle docblock-code-toggle--disabled",disabled:!0,onClick:()=>t(!1)}};case e:return{source:z.createElement(AC,{...r,dark:!0}),actionItem:{title:"Hide code",className:"docblock-code-toggle docblock-code-toggle--expanded",onClick:()=>t(!1)}};default:return{source:z.createElement(AC,{...r,dark:!0}),actionItem:{title:"Show code",className:"docblock-code-toggle",onClick:()=>t(!0)}}}};function s9(r){if(Tl.count(r)===1){let e=r;if(e.props)return e.props.id}return null}var n9=J(e9)({position:"absolute",top:0,left:0,right:0,height:40}),o9=J.div({overflow:"hidden",position:"relative"}),a9=({isLoading:r,isColumn:e,columns:t,children:i,withSource:s,withToolbar:n=!1,isExpanded:o=!1,additionalActions:a,className:l,layout:u="padded",...c})=>{let[g,m]=Fe(o),{source:y,actionItem:b}=i9(s,g,m),[C,A]=Fe(1),T=[l].concat(["sbdocs","sbdocs-preview","sb-unstyled"]),R=s?[b]:[],[P,E]=Fe(a?[...a]:[]),k=[...R,...P],{window:O}=kt,B=ut(async U=>{let{createCopyToClipboardFunction:q}=await Promise.resolve().then(()=>(ta(),Hf));q()},[]),F=U=>{let q=O.getSelection();q&&q.type==="Range"||(U.preventDefault(),P.filter(ee=>ee.title==="Copied").length===0&&B(y.props.code).then(()=>{E([...P,{title:"Copied",onClick:()=>{}}]),O.setTimeout(()=>E(P.filter(ee=>ee.title!=="Copied")),1500)}))};return z.createElement(r9,{withSource:s,withToolbar:n,...c,className:T.join(" ")},n&&z.createElement(n9,{isLoading:r,border:!0,zoom:U=>A(C*U),resetZoom:()=>A(1),storyId:s9(i),baseUrl:"./iframe.html"}),z.createElement(K8.Provider,{value:{scale:C}},z.createElement(o9,{className:"docs-story",onCopyCapture:s&&F},z.createElement(t9,{isColumn:e||!Array.isArray(i),columns:t,layout:u},z.createElement(gc.Element,{scale:C},Array.isArray(i)?i.map((U,q)=>z.createElement("div",{key:q},U)):z.createElement("div",null,i))),z.createElement(cc,{actionItems:k}))),s&&g&&y)};J(a9)(()=>({".docs-story":{paddingTop:32,paddingBottom:40}}));var l9=J.label(({theme:r})=>({lineHeight:"18px",alignItems:"center",marginBottom:8,display:"inline-block",position:"relative",whiteSpace:"nowrap",background:r.boolean.background,borderRadius:"3em",padding:1,'&[aria-disabled="true"]':{opacity:.5,input:{cursor:"not-allowed"}},input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",background:"transparent",cursor:"pointer",borderRadius:"3em","&:focus":{outline:"none",boxShadow:`${r.color.secondary} 0 0 0 1px inset !important`}},span:{textAlign:"center",fontSize:r.typography.size.s1,fontWeight:r.typography.weight.bold,lineHeight:"1",cursor:"pointer",display:"inline-block",padding:"7px 15px",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"3em",color:Oe(.5,r.color.defaultText),background:"transparent","&:hover":{boxShadow:`${Ys(.3,r.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${Ys(.05,r.appBorderColor)} 0 0 0 2px inset`,color:Ys(1,r.appBorderColor)},"&:first-of-type":{paddingRight:8},"&:last-of-type":{paddingLeft:8}},"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type":{background:r.boolean.selectedBackground,boxShadow:r.base==="light"?`${Ys(.1,r.appBorderColor)} 0 0 2px`:`${r.appBorderColor} 0 0 0 1px`,color:r.color.defaultText,padding:"7px 15px"}})),u9=r=>r==="true",OC=({name:r,value:e,onChange:t,onBlur:i,onFocus:s,argType:n})=>{let o=ut(()=>t(!1),[t]),a=!!n?.table?.readonly;if(e===void 0)return z.createElement(Zo,{variant:"outline",size:"medium",id:lc(r),onClick:o,disabled:a},"Set boolean");let l=Kt(r),u=typeof e=="string"?u9(e):e;return z.createElement(l9,{"aria-disabled":a,htmlFor:l,"aria-label":r},z.createElement("input",{id:l,type:"checkbox",onChange:c=>t(c.target.checked),checked:u,role:"switch",disabled:a,name:r,onBlur:i,onFocus:s}),z.createElement("span",{"aria-hidden":"true"},"False"),z.createElement("span",{"aria-hidden":"true"},"True"))};var WDe=J(Rr.Input)(({readOnly:r})=>({opacity:r?.5:1})),qDe=J.div(({theme:r})=>({flex:1,display:"flex",input:{marginLeft:10,flex:1,height:32,"&::-webkit-calendar-picker-indicator":{opacity:.5,height:12,filter:r.base==="light"?void 0:"invert(1)"}},"input:first-of-type":{marginLeft:0,flexGrow:4},"input:last-of-type":{flexGrow:3}}));var c9=J.label({display:"flex"}),h9=r=>{let e=parseFloat(r);return Number.isNaN(e)?void 0:e};var d9=J(Rr.Input)(({readOnly:r})=>({opacity:r?.5:1})),gl=({name:r,value:e,onChange:t,min:i,max:s,step:n,onBlur:o,onFocus:a,argType:l})=>{let[u,c]=Fe(typeof e=="number"?e:""),[g,m]=Fe(!1),[y,b]=Fe(null),C=!!l?.table?.readonly,A=ut(P=>{c(P.target.value);let E=parseFloat(P.target.value);Number.isNaN(E)?b(new Error(`'${P.target.value}' is not a number`)):(t(E),b(null))},[t,b]),T=ut(()=>{c("0"),t(0),m(!0)},[m]),R=Bt(null);return He(()=>{g&&R.current&&R.current.select()},[g]),He(()=>{u!==(typeof e=="number"?e:"")&&c(e)},[e]),e===void 0?z.createElement(Zo,{variant:"outline",size:"medium",id:lc(r),onClick:T,disabled:C},"Set number"):z.createElement(c9,null,z.createElement(d9,{ref:R,id:Kt(r),type:"number",onChange:A,size:"flex",placeholder:"Edit number...",value:u,valid:y?"error":null,autoFocus:g,readOnly:C,name:r,min:i,max:s,step:n,onFocus:a,onBlur:o}))},LC=(r,e)=>{let t=e&&Object.entries(e).find(([i,s])=>s===r);return t?t[0]:void 0},Jd=(r,e)=>r&&e?Object.entries(e).filter(t=>r.includes(t[1])).map(t=>t[0]):[],DC=(r,e)=>r&&e&&r.map(t=>e[t]),p9=J.div(({isInline:r})=>r?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}},r=>{if(r["aria-readonly"]==="true")return{input:{cursor:"not-allowed"}}}),f9=J.span({"[aria-readonly=true] &":{opacity:.5}}),g9=J.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),EC=({name:r,options:e,value:t,onChange:i,isInline:s,argType:n})=>{if(!e)return na.warn(`Checkbox with no options: ${r}`),z.createElement(z.Fragment,null,"-");let o=Jd(t,e),[a,l]=Fe(o),u=!!n?.table?.readonly,c=m=>{let y=m.target.value,b=[...a];b.includes(y)?b.splice(b.indexOf(y),1):b.push(y),i(DC(b,e)),l(b)};He(()=>{l(Jd(t,e))},[t]);let g=Kt(r);return z.createElement(p9,{"aria-readonly":u,isInline:s},Object.keys(e).map((m,y)=>{let b=`${g}-${y}`;return z.createElement(g9,{key:b,htmlFor:b},z.createElement("input",{type:"checkbox",disabled:u,id:b,name:b,value:m,onChange:c,checked:a?.includes(m)}),z.createElement(f9,null,m))}))},m9=J.div(({isInline:r})=>r?{display:"flex",flexWrap:"wrap",alignItems:"flex-start",label:{display:"inline-flex",marginRight:15}}:{label:{display:"flex"}},r=>{if(r["aria-readonly"]==="true")return{input:{cursor:"not-allowed"}}}),_9=J.span({"[aria-readonly=true] &":{opacity:.5}}),y9=J.label({lineHeight:"20px",alignItems:"center",marginBottom:8,"&:last-child":{marginBottom:0},input:{margin:0,marginRight:6}}),IC=({name:r,options:e,value:t,onChange:i,isInline:s,argType:n})=>{if(!e)return na.warn(`Radio with no options: ${r}`),z.createElement(z.Fragment,null,"-");let o=LC(t,e),a=Kt(r),l=!!n?.table?.readonly;return z.createElement(m9,{"aria-readonly":l,isInline:s},Object.keys(e).map((u,c)=>{let g=`${a}-${c}`;return z.createElement(y9,{key:g,htmlFor:g},z.createElement("input",{type:"radio",id:g,name:a,disabled:l,value:u,onChange:m=>i(e[m.currentTarget.value]),checked:u===o}),z.createElement(_9,null,u))}))},x9={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},FC=J.select(x9,({theme:r})=>({boxSizing:"border-box",position:"relative",padding:"6px 10px",width:"100%",color:r.input.color||"inherit",background:r.input.background,borderRadius:r.input.borderRadius,boxShadow:`${r.input.border} 0 0 0 1px inset`,fontSize:r.typography.size.s2-1,lineHeight:"20px","&:focus":{boxShadow:`${r.color.secondary} 0 0 0 1px inset`,outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"::placeholder":{color:r.textMutedColor},"&[multiple]":{overflow:"auto",padding:0,option:{display:"block",padding:"6px 10px",marginLeft:1,marginRight:1}}})),BC=J.span(({theme:r})=>({display:"inline-block",lineHeight:"normal",overflow:"hidden",position:"relative",verticalAlign:"top",width:"100%",svg:{position:"absolute",zIndex:1,pointerEvents:"none",height:"12px",marginTop:"-6px",right:"12px",top:"50%",fill:r.textMutedColor,path:{fill:r.textMutedColor}}})),RC="Choose option...",b9=({name:r,value:e,options:t,onChange:i,argType:s})=>{let n=u=>{i(t[u.currentTarget.value])},o=LC(e,t)||RC,a=Kt(r),l=!!s?.table?.readonly;return z.createElement(BC,null,z.createElement(Ac,null),z.createElement(FC,{disabled:l,id:a,value:o,onChange:n},z.createElement("option",{key:"no-selection",disabled:!0},RC),Object.keys(t).map(u=>z.createElement("option",{key:u,value:u},u))))},v9=({name:r,value:e,options:t,onChange:i,argType:s})=>{let n=u=>{let c=Array.from(u.currentTarget.options).filter(g=>g.selected).map(g=>g.value);i(DC(c,t))},o=Jd(e,t),a=Kt(r),l=!!s?.table?.readonly;return z.createElement(BC,null,z.createElement(FC,{disabled:l,id:a,multiple:!0,value:o,onChange:n},Object.keys(t).map(u=>z.createElement("option",{key:u,value:u},u))))},PC=r=>{let{name:e,options:t}=r;return t?r.isMulti?z.createElement(v9,{...r}):z.createElement(b9,{...r}):(na.warn(`Select with no options: ${e}`),z.createElement(z.Fragment,null,"-"))},S9=(r,e)=>Array.isArray(r)?r.reduce((t,i)=>(t[e?.[i]||String(i)]=i,t),{}):r,w9={check:EC,"inline-check":EC,radio:IC,"inline-radio":IC,select:PC,"multi-select":PC},MC=r=>{let{type:e="select",labels:t,argType:i}=r,s={...r,argType:i,options:i?S9(i.options,t):{},isInline:e.includes("inline"),isMulti:e.includes("multi")},n=w9[e];if(n)return z.createElement(n,{...s});throw new Error(`Unknown options type: ${e}`)},T9="Error",C9="Object",A9="Array",E9="String",I9="Number",R9="Boolean",P9="Date",k9="Null",O9="Undefined",L9="Function",D9="Symbol",NC="ADD_DELTA_TYPE",zC="REMOVE_DELTA_TYPE",jC="UPDATE_DELTA_TYPE",ep="value",F9="key";function ai(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&typeof r[Symbol.iterator]=="function"?"Iterable":Object.prototype.toString.call(r).slice(8,-1)}function UC(r,e){let t=ai(r),i=ai(e);return(t==="Function"||i==="Function")&&i!==t}var tp=class extends ir{constructor(r){super(r),this.state={inputRefKey:null,inputRefValue:null},this.refInputValue=this.refInputValue.bind(this),this.refInputKey=this.refInputKey.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onSubmit=this.onSubmit.bind(this)}componentDidMount(){let{inputRefKey:r,inputRefValue:e}=this.state,{onlyValue:t}=this.props;r&&typeof r.focus=="function"&&r.focus(),t&&e&&typeof e.focus=="function"&&e.focus(),document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.onSubmit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.props.handleCancel()))}onSubmit(){let{handleAdd:r,onlyValue:e,onSubmitValueParser:t,keyPath:i,deep:s}=this.props,{inputRefKey:n,inputRefValue:o}=this.state,a={};if(!e){if(!n.value)return;a.key=n.value}a.newValue=t(!1,i,s,a.key,o.value),r(a)}refInputKey(r){this.state.inputRefKey=r}refInputValue(r){this.state.inputRefValue=r}render(){let{handleCancel:r,onlyValue:e,addButtonElement:t,cancelButtonElement:i,inputElementGenerator:s,keyPath:n,deep:o}=this.props,a=Ue(t,{onClick:this.onSubmit}),l=Ue(i,{onClick:r}),u=s(ep,n,o),c=Ue(u,{placeholder:"Value",ref:this.refInputValue}),g=null;if(!e){let m=s(F9,n,o);g=Ue(m,{placeholder:"Key",ref:this.refInputKey})}return z.createElement("span",{className:"rejt-add-value-node"},g,c,l,a)}};tp.defaultProps={onlyValue:!1,addButtonElement:z.createElement("button",null,"+"),cancelButtonElement:z.createElement("button",null,"c")};var HC=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={data:r.data,name:r.name,keyPath:e,deep:r.deep,nextDeep:r.deep+1,collapsed:r.isCollapsed(e,r.deep,r.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveItem=this.handleRemoveItem.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}onChildUpdate(r,e){let{data:t,keyPath:i}=this.state;t[r]=e,this.setState({data:t});let{onUpdate:s}=this.props,n=i.length;s(i[n-1],t)}handleAddMode(){this.setState({addFormVisible:!0})}handleCollapseMode(){this.setState(r=>({collapsed:!r.collapsed}))}handleRemoveItem(r){return()=>{let{beforeRemoveAction:e,logger:t}=this.props,{data:i,keyPath:s,nextDeep:n}=this.state,o=i[r];e(r,s,n,o).then(()=>{let a={keyPath:s,deep:n,key:r,oldValue:o,type:zC};i.splice(r,1),this.setState({data:i});let{onUpdate:l,onDeltaUpdate:u}=this.props;l(s[s.length-1],i),u(a)}).catch(t.error)}}handleAddValueAdd({newValue:r}){let{data:e,keyPath:t,nextDeep:i}=this.state,{beforeAddAction:s,logger:n}=this.props;s(e.length,t,i,r).then(()=>{let o=[...e,r];this.setState({data:o}),this.handleAddValueCancel();let{onUpdate:a,onDeltaUpdate:l}=this.props;a(t[t.length-1],o),l({type:NC,keyPath:t,deep:i,key:o.length-1,newValue:r})}).catch(n.error)}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleEditValue({key:r,value:e}){return new Promise((t,i)=>{let{beforeUpdateAction:s}=this.props,{data:n,keyPath:o,nextDeep:a}=this.state,l=n[r];s(r,o,a,l,e).then(()=>{n[r]=e,this.setState({data:n});let{onUpdate:u,onDeltaUpdate:c}=this.props;u(o[o.length-1],n),c({type:jC,keyPath:o,deep:a,key:r,newValue:e,oldValue:l}),t(void 0)}).catch(i)})}renderCollapsed(){let{name:r,data:e,keyPath:t,deep:i}=this.state,{handleRemove:s,readOnly:n,getStyle:o,dataType:a,minusMenuElement:l}=this.props,{minus:u,collapsed:c}=o(r,e,t,i,a),g=n(r,e,t,i,a),m=Ue(l,{onClick:s,className:"rejt-minus-menu",style:u});return z.createElement("span",{className:"rejt-collapsed"},z.createElement("span",{className:"rejt-collapsed-text",style:c,onClick:this.handleCollapseMode},"[...] ",e.length," ",e.length===1?"item":"items"),!g&&m)}renderNotCollapsed(){let{name:r,data:e,keyPath:t,deep:i,addFormVisible:s,nextDeep:n}=this.state,{isCollapsed:o,handleRemove:a,onDeltaUpdate:l,readOnly:u,getStyle:c,dataType:g,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}=this.props,{minus:F,plus:U,delimiter:q,ul:ee,addForm:te}=c(r,e,t,i,g),$=u(r,e,t,i,g),D=Ue(R,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:U}),N=Ue(T,{onClick:a,className:"rejt-minus-menu",style:F});return z.createElement("span",{className:"rejt-not-collapsed"},z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:q},"["),!s&&D,z.createElement("ul",{className:"rejt-not-collapsed-list",style:ee},e.map((G,Q)=>z.createElement(ml,{key:Q,name:Q.toString(),data:G,keyPath:t,deep:n,isCollapsed:o,handleRemove:this.handleRemoveItem(Q),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}))),!$&&s&&z.createElement("div",{className:"rejt-add-form",style:te},z.createElement(tp,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,onlyValue:!0,addButtonElement:m,cancelButtonElement:y,inputElementGenerator:C,keyPath:t,deep:i,onSubmitValueParser:B})),z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:q},"]"),!$&&N)}render(){let{name:r,collapsed:e,data:t,keyPath:i,deep:s}=this.state,{dataType:n,getStyle:o}=this.props,a=e?this.renderCollapsed():this.renderNotCollapsed(),l=o(r,t,i,s,n);return z.createElement("div",{className:"rejt-array-node"},z.createElement("span",{onClick:this.handleCollapseMode},z.createElement("span",{className:"rejt-name",style:l.name},r," :"," ")),a)}};HC.defaultProps={keyPath:[],deep:0,minusMenuElement:z.createElement("span",null," - "),plusMenuElement:z.createElement("span",null," + ")};var WC=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={value:r.value,name:r.name,keyPath:e,deep:r.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(r,e){return r.value!==e.value?{value:r.value}:null}componentDidUpdate(){let{editEnabled:r,inputRef:e,name:t,value:i,keyPath:s,deep:n}=this.state,{readOnly:o,dataType:a}=this.props,l=o(t,i,s,n,a);r&&!l&&typeof e.focus=="function"&&e.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.handleEdit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:r,originalValue:e,logger:t,onSubmitValueParser:i,keyPath:s}=this.props,{inputRef:n,name:o,deep:a}=this.state;if(!n)return;let l=i(!0,s,a,o,n.value);r({value:l,key:o}).then(()=>{UC(e,l)||this.handleCancelEdit()}).catch(t.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(r){this.state.inputRef=r}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:r,value:e,editEnabled:t,keyPath:i,deep:s}=this.state,{handleRemove:n,originalValue:o,readOnly:a,dataType:l,getStyle:u,editButtonElement:c,cancelButtonElement:g,textareaElementGenerator:m,minusMenuElement:y,keyPath:b}=this.props,C=u(r,o,i,s,l),A=null,T=null,R=a(r,o,i,s,l);if(t&&!R){let P=m(ep,b,s,r,o,l),E=Ue(c,{onClick:this.handleEdit}),k=Ue(g,{onClick:this.handleCancelEdit}),O=Ue(P,{ref:this.refInput,defaultValue:o});A=z.createElement("span",{className:"rejt-edit-form",style:C.editForm},O," ",k,E),T=null}else{A=z.createElement("span",{className:"rejt-value",style:C.value,onClick:R?null:this.handleEditMode},e);let P=Ue(y,{onClick:n,className:"rejt-minus-menu",style:C.minus});T=R?null:P}return z.createElement("li",{className:"rejt-function-value-node",style:C.li},z.createElement("span",{className:"rejt-name",style:C.name},r," :"," "),A,T)}};WC.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>{},editButtonElement:z.createElement("button",null,"e"),cancelButtonElement:z.createElement("button",null,"c"),minusMenuElement:z.createElement("span",null," - ")};var ml=class extends ir{constructor(r){super(r),this.state={data:r.data,name:r.name,keyPath:r.keyPath,deep:r.deep}}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}render(){let{data:r,name:e,keyPath:t,deep:i}=this.state,{isCollapsed:s,handleRemove:n,handleUpdateValue:o,onUpdate:a,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O}=this.props,B=()=>!0,F=ai(r);switch(F){case T9:return z.createElement(Qd,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:B,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case C9:return z.createElement(Qd,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:u,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case A9:return z.createElement(HC,{data:r,name:e,isCollapsed:s,keyPath:t,deep:i,handleRemove:n,onUpdate:a,onDeltaUpdate:l,readOnly:u,dataType:F,getStyle:c,addButtonElement:g,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,textareaElementGenerator:C,minusMenuElement:A,plusMenuElement:T,beforeRemoveAction:R,beforeAddAction:P,beforeUpdateAction:E,logger:k,onSubmitValueParser:O});case E9:return z.createElement(Hr,{name:e,value:`"${r}"`,originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case I9:return z.createElement(Hr,{name:e,value:r,originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case R9:return z.createElement(Hr,{name:e,value:r?"true":"false",originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case P9:return z.createElement(Hr,{name:e,value:r.toISOString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:B,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case k9:return z.createElement(Hr,{name:e,value:"null",originalValue:"null",keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case O9:return z.createElement(Hr,{name:e,value:"undefined",originalValue:"undefined",keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});case L9:return z.createElement(WC,{name:e,value:r.toString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:u,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,textareaElementGenerator:C,minusMenuElement:A,logger:k,onSubmitValueParser:O});case D9:return z.createElement(Hr,{name:e,value:r.toString(),originalValue:r,keyPath:t,deep:i,handleRemove:n,handleUpdateValue:o,readOnly:B,dataType:F,getStyle:c,cancelButtonElement:m,editButtonElement:y,inputElementGenerator:b,minusMenuElement:A,logger:k,onSubmitValueParser:O});default:return null}}};ml.defaultProps={keyPath:[],deep:0};var Qd=class extends ir{constructor(r){super(r);let e=r.deep===-1?[]:[...r.keyPath,r.name];this.state={name:r.name,data:r.data,keyPath:e,deep:r.deep,nextDeep:r.deep+1,collapsed:r.isCollapsed(e,r.deep,r.data),addFormVisible:!1},this.handleCollapseMode=this.handleCollapseMode.bind(this),this.handleRemoveValue=this.handleRemoveValue.bind(this),this.handleAddMode=this.handleAddMode.bind(this),this.handleAddValueAdd=this.handleAddValueAdd.bind(this),this.handleAddValueCancel=this.handleAddValueCancel.bind(this),this.handleEditValue=this.handleEditValue.bind(this),this.onChildUpdate=this.onChildUpdate.bind(this),this.renderCollapsed=this.renderCollapsed.bind(this),this.renderNotCollapsed=this.renderNotCollapsed.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data?{data:r.data}:null}onChildUpdate(r,e){let{data:t,keyPath:i}=this.state;t[r]=e,this.setState({data:t});let{onUpdate:s}=this.props,n=i.length;s(i[n-1],t)}handleAddMode(){this.setState({addFormVisible:!0})}handleAddValueCancel(){this.setState({addFormVisible:!1})}handleAddValueAdd({key:r,newValue:e}){let{data:t,keyPath:i,nextDeep:s}=this.state,{beforeAddAction:n,logger:o}=this.props;n(r,i,s,e).then(()=>{t[r]=e,this.setState({data:t}),this.handleAddValueCancel();let{onUpdate:a,onDeltaUpdate:l}=this.props;a(i[i.length-1],t),l({type:NC,keyPath:i,deep:s,key:r,newValue:e})}).catch(o.error)}handleRemoveValue(r){return()=>{let{beforeRemoveAction:e,logger:t}=this.props,{data:i,keyPath:s,nextDeep:n}=this.state,o=i[r];e(r,s,n,o).then(()=>{let a={keyPath:s,deep:n,key:r,oldValue:o,type:zC};delete i[r],this.setState({data:i});let{onUpdate:l,onDeltaUpdate:u}=this.props;l(s[s.length-1],i),u(a)}).catch(t.error)}}handleCollapseMode(){this.setState(r=>({collapsed:!r.collapsed}))}handleEditValue({key:r,value:e}){return new Promise((t,i)=>{let{beforeUpdateAction:s}=this.props,{data:n,keyPath:o,nextDeep:a}=this.state,l=n[r];s(r,o,a,l,e).then(()=>{n[r]=e,this.setState({data:n});let{onUpdate:u,onDeltaUpdate:c}=this.props;u(o[o.length-1],n),c({type:jC,keyPath:o,deep:a,key:r,newValue:e,oldValue:l}),t()}).catch(i)})}renderCollapsed(){let{name:r,keyPath:e,deep:t,data:i}=this.state,{handleRemove:s,readOnly:n,dataType:o,getStyle:a,minusMenuElement:l}=this.props,{minus:u,collapsed:c}=a(r,i,e,t,o),g=Object.getOwnPropertyNames(i),m=n(r,i,e,t,o),y=Ue(l,{onClick:s,className:"rejt-minus-menu",style:u});return z.createElement("span",{className:"rejt-collapsed"},z.createElement("span",{className:"rejt-collapsed-text",style:c,onClick:this.handleCollapseMode},"{...}"," ",g.length," ",g.length===1?"key":"keys"),!m&&y)}renderNotCollapsed(){let{name:r,data:e,keyPath:t,deep:i,nextDeep:s,addFormVisible:n}=this.state,{isCollapsed:o,handleRemove:a,onDeltaUpdate:l,readOnly:u,getStyle:c,dataType:g,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}=this.props,{minus:F,plus:U,addForm:q,ul:ee,delimiter:te}=c(r,e,t,i,g),$=Object.getOwnPropertyNames(e),D=u(r,e,t,i,g),N=Ue(R,{onClick:this.handleAddMode,className:"rejt-plus-menu",style:U}),G=Ue(T,{onClick:a,className:"rejt-minus-menu",style:F}),Q=$.map(ne=>z.createElement(ml,{key:ne,name:ne,data:e[ne],keyPath:t,deep:s,isCollapsed:o,handleRemove:this.handleRemoveValue(ne),handleUpdateValue:this.handleEditValue,onUpdate:this.onChildUpdate,onDeltaUpdate:l,readOnly:u,getStyle:c,addButtonElement:m,cancelButtonElement:y,editButtonElement:b,inputElementGenerator:C,textareaElementGenerator:A,minusMenuElement:T,plusMenuElement:R,beforeRemoveAction:P,beforeAddAction:E,beforeUpdateAction:k,logger:O,onSubmitValueParser:B}));return z.createElement("span",{className:"rejt-not-collapsed"},z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:te},"{"),!D&&N,z.createElement("ul",{className:"rejt-not-collapsed-list",style:ee},Q),!D&&n&&z.createElement("div",{className:"rejt-add-form",style:q},z.createElement(tp,{handleAdd:this.handleAddValueAdd,handleCancel:this.handleAddValueCancel,addButtonElement:m,cancelButtonElement:y,inputElementGenerator:C,keyPath:t,deep:i,onSubmitValueParser:B})),z.createElement("span",{className:"rejt-not-collapsed-delimiter",style:te},"}"),!D&&G)}render(){let{name:r,collapsed:e,data:t,keyPath:i,deep:s}=this.state,{getStyle:n,dataType:o}=this.props,a=e?this.renderCollapsed():this.renderNotCollapsed(),l=n(r,t,i,s,o);return z.createElement("div",{className:"rejt-object-node"},z.createElement("span",{onClick:this.handleCollapseMode},z.createElement("span",{className:"rejt-name",style:l.name},r," :"," ")),a)}};Qd.defaultProps={keyPath:[],deep:0,minusMenuElement:z.createElement("span",null," - "),plusMenuElement:z.createElement("span",null," + ")};var Hr=class extends ir{constructor(r){super(r);let e=[...r.keyPath,r.name];this.state={value:r.value,name:r.name,keyPath:e,deep:r.deep,editEnabled:!1,inputRef:null},this.handleEditMode=this.handleEditMode.bind(this),this.refInput=this.refInput.bind(this),this.handleCancelEdit=this.handleCancelEdit.bind(this),this.handleEdit=this.handleEdit.bind(this),this.onKeydown=this.onKeydown.bind(this)}static getDerivedStateFromProps(r,e){return r.value!==e.value?{value:r.value}:null}componentDidUpdate(){let{editEnabled:r,inputRef:e,name:t,value:i,keyPath:s,deep:n}=this.state,{readOnly:o,dataType:a}=this.props,l=o(t,i,s,n,a);r&&!l&&typeof e.focus=="function"&&e.focus()}componentDidMount(){document.addEventListener("keydown",this.onKeydown)}componentWillUnmount(){document.removeEventListener("keydown",this.onKeydown)}onKeydown(r){r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.repeat||((r.code==="Enter"||r.key==="Enter")&&(r.preventDefault(),this.handleEdit()),(r.code==="Escape"||r.key==="Escape")&&(r.preventDefault(),this.handleCancelEdit()))}handleEdit(){let{handleUpdateValue:r,originalValue:e,logger:t,onSubmitValueParser:i,keyPath:s}=this.props,{inputRef:n,name:o,deep:a}=this.state;if(!n)return;let l=i(!0,s,a,o,n.value);r({value:l,key:o}).then(()=>{UC(e,l)||this.handleCancelEdit()}).catch(t.error)}handleEditMode(){this.setState({editEnabled:!0})}refInput(r){this.state.inputRef=r}handleCancelEdit(){this.setState({editEnabled:!1})}render(){let{name:r,value:e,editEnabled:t,keyPath:i,deep:s}=this.state,{handleRemove:n,originalValue:o,readOnly:a,dataType:l,getStyle:u,editButtonElement:c,cancelButtonElement:g,inputElementGenerator:m,minusMenuElement:y,keyPath:b}=this.props,C=u(r,o,i,s,l),A=a(r,o,i,s,l),T=t&&!A,R=m(ep,b,s,r,o,l),P=Ue(c,{onClick:this.handleEdit}),E=Ue(g,{onClick:this.handleCancelEdit}),k=Ue(R,{ref:this.refInput,defaultValue:JSON.stringify(o)}),O=Ue(y,{onClick:n,className:"rejt-minus-menu",style:C.minus});return z.createElement("li",{className:"rejt-value-node",style:C.li},z.createElement("span",{className:"rejt-name",style:C.name},r," : "),T?z.createElement("span",{className:"rejt-edit-form",style:C.editForm},k," ",E,P):z.createElement("span",{className:"rejt-value",style:C.value,onClick:A?null:this.handleEditMode},String(e)),!A&&!T&&O)}};Hr.defaultProps={keyPath:[],deep:0,handleUpdateValue:()=>Promise.resolve(),editButtonElement:z.createElement("button",null,"e"),cancelButtonElement:z.createElement("button",null,"c"),minusMenuElement:z.createElement("span",null," - ")};function B9(r){let e=r;if(e.indexOf("function")===0)return(0,eval)(`(${e})`);try{e=JSON.parse(r)}catch{}return e}var M9={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},N9={minus:{color:"red"},plus:{color:"green"},collapsed:{color:"grey"},delimiter:{},ul:{padding:"0px",margin:"0 0 0 25px",listStyle:"none"},name:{color:"#2287CD"},addForm:{}},z9={minus:{color:"red"},editForm:{},value:{color:"#7bba3d"},li:{minHeight:"22px",lineHeight:"22px",outline:"0px"},name:{color:"#2287CD"}},j9=class extends ir{constructor(r){super(r),this.state={data:r.data,rootName:r.rootName},this.onUpdate=this.onUpdate.bind(this),this.removeRoot=this.removeRoot.bind(this)}static getDerivedStateFromProps(r,e){return r.data!==e.data||r.rootName!==e.rootName?{data:r.data,rootName:r.rootName}:null}onUpdate(r,e){this.setState({data:e}),this.props.onFullyUpdate(e)}removeRoot(){this.onUpdate(null,null)}render(){let{data:r,rootName:e}=this.state,{isCollapsed:t,onDeltaUpdate:i,readOnly:s,getStyle:n,addButtonElement:o,cancelButtonElement:a,editButtonElement:l,inputElement:u,textareaElement:c,minusMenuElement:g,plusMenuElement:m,beforeRemoveAction:y,beforeAddAction:b,beforeUpdateAction:C,logger:A,onSubmitValueParser:T,fallback:R=null}=this.props,P=ai(r),E=s;ai(s)==="Boolean"&&(E=()=>s);let k=u;u&&ai(u)!=="Function"&&(k=()=>u);let O=c;return c&&ai(c)!=="Function"&&(O=()=>c),P==="Object"||P==="Array"?z.createElement("div",{className:"rejt-tree"},z.createElement(ml,{data:r,name:e,deep:-1,isCollapsed:t,onUpdate:this.onUpdate,onDeltaUpdate:i,readOnly:E,getStyle:n,addButtonElement:o,cancelButtonElement:a,editButtonElement:l,inputElementGenerator:k,textareaElementGenerator:O,minusMenuElement:g,plusMenuElement:m,handleRemove:this.removeRoot,beforeRemoveAction:y,beforeAddAction:b,beforeUpdateAction:C,logger:A,onSubmitValueParser:T})):R}};j9.defaultProps={rootName:"root",isCollapsed:(r,e)=>e!==-1,getStyle:(r,e,t,i,s)=>{switch(s){case"Object":case"Error":return M9;case"Array":return N9;default:return z9}},readOnly:()=>!1,onFullyUpdate:()=>{},onDeltaUpdate:()=>{},beforeRemoveAction:()=>Promise.resolve(),beforeAddAction:()=>Promise.resolve(),beforeUpdateAction:()=>Promise.resolve(),logger:{error:()=>{}},onSubmitValueParser:(r,e,t,i,s)=>B9(s),inputElement:()=>z.createElement("input",null),textareaElement:()=>z.createElement("textarea",null),fallback:null};var{window:$De}=kt,VDe=J.div(({theme:r})=>({position:"relative",display:"flex",'&[aria-readonly="true"]':{opacity:.5},".rejt-tree":{marginLeft:"1rem",fontSize:"13px"},".rejt-value-node, .rejt-object-node > .rejt-collapsed, .rejt-array-node > .rejt-collapsed, .rejt-object-node > .rejt-not-collapsed, .rejt-array-node > .rejt-not-collapsed":{"& > svg":{opacity:0,transition:"opacity 0.2s"}},".rejt-value-node:hover, .rejt-object-node:hover > .rejt-collapsed, .rejt-array-node:hover > .rejt-collapsed, .rejt-object-node:hover > .rejt-not-collapsed, .rejt-array-node:hover > .rejt-not-collapsed":{"& > svg":{opacity:1}},".rejt-edit-form button":{display:"none"},".rejt-add-form":{marginLeft:10},".rejt-add-value-node":{display:"inline-flex",alignItems:"center"},".rejt-name":{lineHeight:"22px"},".rejt-not-collapsed-delimiter":{lineHeight:"22px"},".rejt-plus-menu":{marginLeft:5},".rejt-object-node > span > *, .rejt-array-node > span > *":{position:"relative",zIndex:2},".rejt-object-node, .rejt-array-node":{position:"relative"},".rejt-object-node > span:first-of-type::after, .rejt-array-node > span:first-of-type::after, .rejt-collapsed::before, .rejt-not-collapsed::before":{content:'""',position:"absolute",top:0,display:"block",width:"100%",marginLeft:"-1rem",padding:"0 4px 0 1rem",height:22},".rejt-collapsed::before, .rejt-not-collapsed::before":{zIndex:1,background:"transparent",borderRadius:4,transition:"background 0.2s",pointerEvents:"none",opacity:.1},".rejt-object-node:hover, .rejt-array-node:hover":{"& > .rejt-collapsed::before, & > .rejt-not-collapsed::before":{background:r.color.secondary}},".rejt-collapsed::after, .rejt-not-collapsed::after":{content:'""',position:"absolute",display:"inline-block",pointerEvents:"none",width:0,height:0},".rejt-collapsed::after":{left:-8,top:8,borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid rgba(153,153,153,0.6)"},".rejt-not-collapsed::after":{left:-10,top:10,borderTop:"3px solid rgba(153,153,153,0.6)",borderLeft:"3px solid transparent",borderRight:"3px solid transparent"},".rejt-value":{display:"inline-block",border:"1px solid transparent",borderRadius:4,margin:"1px 0",padding:"0 4px",cursor:"text",color:r.color.defaultText},".rejt-value-node:hover > .rejt-value":{background:r.color.lighter,borderColor:r.appBorderColor}})),GDe=J.button(({theme:r,primary:e})=>({border:0,height:20,margin:1,borderRadius:4,background:e?r.color.secondary:"transparent",color:e?r.color.lightest:r.color.dark,fontWeight:e?"bold":"normal",cursor:"pointer",order:e?"initial":9})),YDe=J(ig)(({theme:r,disabled:e})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:e?"not-allowed":"pointer",color:r.textMutedColor,"&:hover":e?{}:{color:r.color.ancillary},"svg + &":{marginLeft:0}})),XDe=J(ug)(({theme:r,disabled:e})=>({display:"inline-block",verticalAlign:"middle",width:15,height:15,padding:3,marginLeft:5,cursor:e?"not-allowed":"pointer",color:r.textMutedColor,"&:hover":e?{}:{color:r.color.negative},"svg + &":{marginLeft:0}})),KDe=J.input(({theme:r,placeholder:e})=>({outline:0,margin:e?1:"1px 0",padding:"3px 4px",color:r.color.defaultText,background:r.background.app,border:`1px solid ${r.appBorderColor}`,borderRadius:4,lineHeight:"14px",width:e==="Key"?80:120,"&:focus":{border:`1px solid ${r.color.secondary}`}})),JDe=J(Kr)(({theme:r})=>({position:"absolute",zIndex:2,top:2,right:2,height:21,padding:"0 3px",background:r.background.bar,border:`1px solid ${r.appBorderColor}`,borderRadius:3,color:r.textMutedColor,fontSize:"9px",fontWeight:"bold",textDecoration:"none",span:{marginLeft:3,marginTop:1}})),QDe=J(Rr.Textarea)(({theme:r})=>({flex:1,padding:"7px 6px",fontFamily:r.typography.fonts.mono,fontSize:"12px",lineHeight:"18px","&::placeholder":{fontFamily:r.typography.fonts.base,fontSize:"13px"},"&:placeholder-shown":{padding:"7px 10px"}}));var U9=J.input(({theme:r,min:e,max:t,value:i,disabled:s})=>({"&":{width:"100%",backgroundColor:"transparent",appearance:"none"},"&::-webkit-slider-runnable-track":{background:r.base==="light"?`linear-gradient(to right, ${r.color.green} 0%, ${r.color.green} ${(i-e)/(t-e)*100}%, ${Ht(.02,r.input.background)} ${(i-e)/(t-e)*100}%, ${Ht(.02,r.input.background)} 100%)`:`linear-gradient(to right, @@ -1362,5 +1362,5 @@ ${R.description}`)},"showError"),showException:x(R=>{throw R},"showException"),f ${Ht(.02,r.input.background)} 100%)`:`linear-gradient(to right, ${r.color.green} 0%, ${r.color.green} ${(i-e)/(t-e)*100}%, ${Lr(.02,r.input.background)} ${(i-e)/(t-e)*100}%, - ${Lr(.02,r.input.background)} 100%)`,boxShadow:`${r.appBorderColor} 0 0 0 1px inset`,color:"transparent",width:"100%",height:"6px",cursor:"pointer"},"&::-ms-fill-lower":{borderRadius:6},"&::-ms-fill-upper":{borderRadius:6},"&::-ms-thumb":{width:16,height:16,background:`${r.input.background}`,border:`1px solid ${Ut(r.appBorderColor,.2)}`,borderRadius:50,cursor:"grab",marginTop:0},"@supports (-ms-ime-align:auto)":{"input[type=range]":{margin:"0"}}})),qC=J.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:"nowrap",fontFeatureSettings:"tnum",fontVariantNumeric:"tabular-nums","[aria-readonly=true] &":{opacity:.5}}),U9=J(qC)(({numberOFDecimalsPlaces:r,max:e})=>({width:`${r+e.toString().length*2+3}ch`,textAlign:"right",flexShrink:0})),H9=J.div({display:"flex",alignItems:"center",width:"100%"});function W9(r){let e=r.toString().match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return e?Math.max(0,(e[1]?e[1].length:0)-(e[2]?+e[2]:0)):0}var $C=({name:r,value:e,onChange:t,min:i=0,max:s=100,step:n=1,onBlur:o,onFocus:a,argType:l})=>{let u=y=>{t(c9(y.target.value))},c=e!==void 0,g=vr(()=>W9(n),[n]),m=!!l?.table?.readonly;return z.createElement(H9,{"aria-readonly":m},z.createElement(qC,null,i),z.createElement(j9,{id:Kt(r),type:"range",disabled:m,onChange:u,name:r,value:e,min:i,max:s,step:n,onFocus:a,onBlur:o}),z.createElement(U9,{numberOFDecimalsPlaces:g,max:s},c?e.toFixed(g):"--"," / ",s))},QDe=J.label({display:"flex"}),ZDe=J.div(({isMaxed:r})=>({marginLeft:"0.75rem",paddingTop:"0.35rem",color:r?"red":void 0}));var eFe=J(Rr.Input)({padding:10});var q9=Al(()=>Promise.resolve().then(()=>(CC(),TC))),_l=r=>z.createElement(Cl,{fallback:z.createElement("div",null)},z.createElement(q9,{...r}));var tFe=J.table(({theme:r})=>({"&&":{borderCollapse:"collapse",borderSpacing:0,border:"none",tr:{border:"none !important",background:"none"},"td, th":{padding:0,border:"none",width:"auto!important"},marginTop:0,marginBottom:0,"th:first-of-type, td:first-of-type":{paddingLeft:0},"th:last-of-type, td:last-of-type":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,"&:not(:first-of-type)":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:"none",border:"none"},code:Ai({theme:r}),div:{span:{fontWeight:"bold"}},"& code":{margin:0,display:"inline-block",fontSize:r.typography.size.s1}}}));var rFe=J.div(({isExpanded:r})=>({display:"flex",flexDirection:r?"column":"row",flexWrap:"wrap",alignItems:"flex-start",marginBottom:"-4px",minWidth:100})),iFe=J.span(Ai,({theme:r,simple:e=!1})=>({flex:"0 0 auto",fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,wordBreak:"break-word",whiteSpace:"normal",maxWidth:"100%",margin:0,marginRight:"4px",marginBottom:"4px",paddingTop:"2px",paddingBottom:"2px",lineHeight:"13px",...e&&{background:"transparent",border:"0 none",paddingLeft:0}})),sFe=J.button(({theme:r})=>({fontFamily:r.typography.fonts.mono,color:r.color.secondary,marginBottom:"4px",background:"none",border:"none"})),nFe=J.div(Ai,({theme:r})=>({fontFamily:r.typography.fonts.mono,color:r.color.secondary,fontSize:r.typography.size.s1,margin:0,whiteSpace:"nowrap",display:"flex",alignItems:"center"})),oFe=J.div(({theme:r,width:e})=>({width:e,minWidth:200,maxWidth:800,padding:15,fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,boxSizing:"content-box","& code":{padding:"0 !important"}})),aFe=J(og)({marginLeft:4}),lFe=J(Ac)({marginLeft:4});var uFe=(0,kC.default)(1e3)(r=>{let e=r.split(/\r?\n/);return`${Math.max(...e.map(t=>t.length))}ch`});var cFe=J.span({fontWeight:"bold"}),hFe=J.span(({theme:r})=>({color:r.color.negative,fontFamily:r.typography.fonts.mono,cursor:"help"})),dFe=J.div(({theme:r})=>({"&&":{p:{margin:"0 0 10px 0"},a:{color:r.color.secondary}},code:{...Ai({theme:r}),fontSize:12,fontFamily:r.typography.fonts.mono},"& code":{margin:0,display:"inline-block"},"& pre > code":{whiteSpace:"pre-wrap"}})),pFe=J.div(({theme:r,hasDescription:e})=>({color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.2,r.color.defaultText),marginTop:e?4:0})),fFe=J.div(({theme:r,hasDescription:e})=>({color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.2,r.color.defaultText),marginTop:e?12:0,marginBottom:12})),gFe=J.td(({theme:r,expandable:e})=>({paddingLeft:e?"40px !important":"20px !important"}));var mFe=J.div(({inAddonPanel:r,theme:e})=>({height:r?"100%":"auto",display:"flex",border:r?"none":`1px solid ${e.appBorderColor}`,borderRadius:r?0:e.appBorderRadius,padding:r?0:40,alignItems:"center",justifyContent:"center",flexDirection:"column",gap:15,background:e.background.content,boxShadow:"rgba(0, 0, 0, 0.10) 0 1px 3px 0"})),_Fe=J.div(({theme:r})=>({display:"flex",fontSize:r.typography.size.s2-1,gap:25})),yFe=J.div(({theme:r})=>({width:1,height:16,backgroundColor:r.appBorderColor}));var xFe=J(sg)(({theme:r})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.3,r.color.defaultText),border:"none",display:"inline-block"})),bFe=J(ng)(({theme:r})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.3,r.color.defaultText),border:"none",display:"inline-block"})),vFe=J.span(({theme:r})=>({display:"flex",lineHeight:"20px",alignItems:"center"})),SFe=J.td(({theme:r})=>({position:"relative",letterSpacing:"0.35em",textTransform:"uppercase",fontWeight:r.typography.weight.bold,fontSize:r.typography.size.s1-1,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText),background:`${r.background.app} !important`,"& ~ td":{background:`${r.background.app} !important`}})),wFe=J.td(({theme:r})=>({position:"relative",fontWeight:r.typography.weight.bold,fontSize:r.typography.size.s2-1,background:r.background.app})),TFe=J.td(()=>({position:"relative"})),CFe=J.tr(({theme:r})=>({"&:hover > td":{backgroundColor:`${Lr(.005,r.background.app)} !important`,boxShadow:`${r.color.mediumlight} 0 - 1px 0 0 inset`,cursor:"row-resize"}})),AFe=J.button(()=>({background:"none",border:"none",padding:"0",font:"inherit",position:"absolute",top:0,bottom:0,left:0,right:0,height:"100%",width:"100%",color:"transparent",cursor:"row-resize !important"}));var EFe=J.div(({theme:r})=>({display:"flex",gap:16,borderBottom:`1px solid ${r.appBorderColor}`,"&:last-child":{borderBottom:0}})),IFe=J.div(({numColumn:r})=>({display:"flex",flexDirection:"column",flex:r||1,gap:5,padding:"12px 20px"})),RFe=J.div(({theme:r,width:e,height:t})=>({animation:`${r.animation.glow} 1.5s ease-in-out infinite`,background:r.appBorderColor,width:e||"100%",height:t||16,borderRadius:3}));var PFe=J.table(({theme:r,compact:e,inAddonPanel:t})=>({"&&":{borderSpacing:0,color:r.color.defaultText,"td, th":{padding:0,border:"none",verticalAlign:"top",textOverflow:"ellipsis"},fontSize:r.typography.size.s2-1,lineHeight:"20px",textAlign:"left",width:"100%",marginTop:t?0:25,marginBottom:t?0:40,"thead th:first-of-type, td:first-of-type":{width:"25%"},"th:first-of-type, td:first-of-type":{paddingLeft:20},"th:nth-of-type(2), td:nth-of-type(2)":{...e?null:{width:"35%"}},"td:nth-of-type(3)":{...e?null:{width:"15%"}},"th:last-of-type, td:last-of-type":{paddingRight:20,...e?null:{width:"25%"}},th:{color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.45,r.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:"10px",paddingBottom:"10px","&:not(:first-of-type)":{paddingLeft:15,paddingRight:15},"&:last-of-type":{paddingRight:20}},marginLeft:t?0:1,marginRight:t?0:1,tbody:{...t?null:{filter:r.base==="light"?"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))":"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))"},"> tr > *":{background:r.background.content,borderTop:`1px solid ${r.appBorderColor}`},...t?null:{"> tr:first-of-type > *":{borderBlockStart:`1px solid ${r.appBorderColor}`},"> tr:last-of-type > *":{borderBlockEnd:`1px solid ${r.appBorderColor}`},"> tr > *:first-of-type":{borderInlineStart:`1px solid ${r.appBorderColor}`},"> tr > *:last-of-type":{borderInlineEnd:`1px solid ${r.appBorderColor}`},"> tr:first-of-type > td:first-of-type":{borderTopLeftRadius:r.appBorderRadius},"> tr:first-of-type > td:last-of-type":{borderTopRightRadius:r.appBorderRadius},"> tr:last-of-type > td:first-of-type":{borderBottomLeftRadius:r.appBorderRadius},"> tr:last-of-type > td:last-of-type":{borderBottomRightRadius:r.appBorderRadius}}}}})),kFe=J(Kr)(({theme:r})=>({margin:"-4px -12px -4px 0"})),OFe=J.span({display:"flex",justifyContent:"space-between"});var LFe=J.div(({theme:r})=>({marginRight:30,fontSize:`${r.typography.size.s1}px`,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText)})),DFe=J.div({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),FFe=J.div({display:"flex",flexDirection:"row",alignItems:"baseline","&:not(:last-child)":{marginBottom:"1rem"}}),BFe=J.div(Ei,({theme:r})=>({...fl(r),margin:"25px 0 40px",padding:"30px 20px"}));var MFe=J.div(({theme:r})=>({fontWeight:r.typography.weight.bold,color:r.color.defaultText})),NFe=J.div(({theme:r})=>({color:r.base==="light"?Oe(.2,r.color.defaultText):Oe(.6,r.color.defaultText)})),zFe=J.div({flex:"0 0 30%",lineHeight:"20px",marginTop:5}),jFe=J.div(({theme:r})=>({flex:1,textAlign:"center",fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,lineHeight:1,overflow:"hidden",color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText),"> div":{display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis"},span:{display:"block",marginTop:2}})),UFe=J.div({display:"flex",flexDirection:"row"}),HFe=J.div(({background:r})=>({position:"relative",flex:1,"&::before":{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:r,content:'""'}})),WFe=J.div(({theme:r})=>({...fl(r),display:"flex",flexDirection:"row",height:50,marginBottom:5,overflow:"hidden",backgroundColor:"white",backgroundImage:"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)",backgroundClip:"padding-box"})),qFe=J.div({display:"flex",flexDirection:"column",flex:1,position:"relative",marginBottom:30}),$Fe=J.div({flex:1,display:"flex",flexDirection:"row"}),VFe=J.div({display:"flex",alignItems:"flex-start"}),GFe=J.div({flex:"0 0 30%"}),YFe=J.div({flex:1}),XFe=J.div(({theme:r})=>({display:"flex",flexDirection:"row",alignItems:"center",paddingBottom:20,fontWeight:r.typography.weight.bold,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText)})),KFe=J.div(({theme:r})=>({fontSize:r.typography.size.s2,lineHeight:"20px",display:"flex",flexDirection:"column"}));var JFe=J.div(({theme:r})=>({fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s2,color:r.color.defaultText,marginLeft:10,lineHeight:1.2})),QFe=J.div(({theme:r})=>({...fl(r),overflow:"hidden",height:40,width:40,display:"flex",alignItems:"center",justifyContent:"center",flex:"none","> img, > svg":{width:20,height:20}})),ZFe=J.div({display:"inline-flex",flexDirection:"row",alignItems:"center",flex:"0 1 calc(20% - 10px)",minWidth:120,margin:"0px 10px 30px 0"}),eBe=J.div({display:"flex",flexFlow:"row wrap"});kt&&kt.__DOCS_CONTEXT__===void 0&&(kt.__DOCS_CONTEXT__=fi(null),kt.__DOCS_CONTEXT__.displayName="DocsContext");var $9=kt?kt.__DOCS_CONTEXT__:fi(null);var tBe=fi({sources:{}});var{document:V9}=kt;function G9(r,e){r.channel.emit(w0,e)}var rBe=mc.a;var VC=["h1","h2","h3","h4","h5","h6"],Y9=VC.reduce((r,e)=>({...r,[e]:J(e)({"& svg":{position:"relative",top:"-0.1em",visibility:"hidden"},"&:hover svg":{visibility:"visible"}})}),{}),X9=J.a(()=>({float:"left",lineHeight:"inherit",paddingRight:"10px",marginLeft:"-24px",color:"inherit"})),K9=({as:r,id:e,children:t,...i})=>{let s=El($9),n=Y9[r],o=`#${e}`;return z.createElement(n,{id:e,...i},z.createElement(X9,{"aria-hidden":"true",href:o,tabIndex:-1,target:"_self",onClick:a=>{V9.getElementById(e)&&G9(s,o)}},z.createElement(ag,null)),t)},GC=r=>{let{as:e,id:t,children:i,...s}=r;if(t)return z.createElement(K9,{as:e,id:t,...s},i);let n=e,{as:o,...a}=r;return z.createElement(n,{..._c(a,e)})},iBe=VC.reduce((r,e)=>({...r,[e]:t=>z.createElement(GC,{as:e,...t})}),{});var J9=(r=>(r.INFO="info",r.NOTES="notes",r.DOCGEN="docgen",r.AUTO="auto",r))(J9||{});var sBe=kf(H8()),nBe=J.div(({theme:r})=>({width:"10rem","@media (max-width: 768px)":{display:"none"}})),oBe=J.div(({theme:r})=>({position:"fixed",bottom:0,top:0,width:"10rem",paddingTop:"4rem",paddingBottom:"2rem",overflowY:"auto",fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s2,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch","& *":{boxSizing:"border-box"},"& > .toc-wrapper > .toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`,".toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`,".toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`}}},"& .toc-list-item":{position:"relative",listStyleType:"none",marginLeft:20,paddingTop:3,paddingBottom:3},"& .toc-list-item::before":{content:'""',position:"absolute",height:"100%",top:0,left:0,transform:"translateX(calc(-2px - 20px))",borderLeft:`solid 2px ${r.color.mediumdark}`,opacity:0,transition:"opacity 0.2s"},"& .toc-list-item.is-active-li::before":{opacity:1},"& .toc-list-item > a":{color:r.color.defaultText,textDecoration:"none"},"& .toc-list-item.is-active-li > a":{fontWeight:600,color:r.color.secondary,textDecoration:"none"}})),aBe=J.p(({theme:r})=>({fontWeight:600,fontSize:"0.875em",color:r.textColor,textTransform:"uppercase",marginBottom:10}));var{document:lBe,window:uBe}=kt;var Q9=({children:r,disableAnchor:e,...t})=>{if(e||typeof r!="string")return z.createElement(dc,null,r);let i=r.toLowerCase().replace(/[^a-z0-9]/gi,"-");return z.createElement(GC,{as:"h2",id:i,...t},r)},cBe=J(Q9)(({theme:r})=>({fontSize:`${r.typography.size.s2-1}px`,fontWeight:r.typography.weight.bold,lineHeight:"16px",letterSpacing:"0.35em",textTransform:"uppercase",color:r.textMutedColor,border:0,marginBottom:"12px","&:first-of-type":{marginTop:"56px"}}));h();d();p();var yl=(r,e,t,i)=>{qs({componentConfig:{[r]:{style:{[e]:t}}}},i)};var rp=ye(Ce());function xl({styleProp:r,defaultValue:e,componentName:t,updateGlobals:i}){let[s,n]=Fe(e);return(0,rp.jsx)(Tt,{label:r,control:(0,rp.jsx)(gl,{name:r,value:s,onChange:o=>{n(o),yl(t,r,o,i)}})})}h();d();p();Ge();var ip=ye(Ce());function bl({styleProp:r,defaultValue:e,componentName:t,updateGlobals:i}){let[s,n]=Fe(e);return(0,ip.jsx)(Tt,{label:r,control:(0,ip.jsx)(_l,{name:r,value:s,onChange:o=>{n(o),yl(t,r,o,i)}})})}h();d();p();Ge();var sp=ye(Ce());function vl({defaultTone:r,componentName:e}){let[t,i]=Fe(r);return He(()=>{let s=Hs();s&&s.updateTheme({componentConfig:{[e]:{tone:t}}})},[t]),(0,sp.jsx)(Tt,{label:"tone",control:(0,sp.jsx)(MC,{name:"tones",type:"inline-radio",value:t,argType:{options:["neutral","inverse","brand"]},onChange:s=>{i(s)}})})}h();d();p();Ge();var is=ye(Ce());function Sl(){let[{LUITheme:r},e]=_t(),i=Yr().name;return(0,is.jsx)(is.Fragment,{children:(0,is.jsx)(Sr,{title:"reset styles",label:"reset-panel",onClick:()=>Ws(i,e),children:(0,is.jsx)(wr,{icon:"undo"})})})}h();d();p();Ge();var zt=ye(Ce());function Z9(r,e){let t,i=r._style,s=Yr(),n=r.constructor.__componentName,a={defaultTone:s?.componentConfig?.[n]?.tone?s.componentConfig[n].tone:"neutral",componentName:n,updateGlobals:e},l=Object.keys(i||{}).reduce((u,c)=>{let g=Sf(i[c]);t=new Date().valueOf();let m=g==="color"?le.StageUtils.getRgbaString(i[c]):i[c],y={version:t,defaultValue:m,componentName:n,styleProp:c,updateGlobals:e};return g==="color"?u.push((0,zt.jsx)(bl,{...y},`${n}-${c}-${t}`)):g==="number"&&u.push((0,zt.jsx)(xl,{...y},`${n}-${c}-${t}`)),u},[]);if(l&&l.length)return l.unshift((0,zt.jsx)(vl,{...a},`Tone-${n}-${t}`)),l}function wl(r){let[{LUITheme:e},t]=_t(),i=Z9(r,t);return i&&i.length?(0,zt.jsxs)("div",{children:[(0,zt.jsxs)("div",{style:{display:"flex"},children:[(0,zt.jsxs)("h1",{style:{flex:1},children:["Current Theme: ",wf(e)]}),(0,zt.jsx)(Sl,{style:{flex:1}})]}),(0,zt.jsx)("div",{children:(0,zt.jsx)(cr,{title:"Component Level Theme Styles",rows:i})})]}):(0,zt.jsx)("h3",{children:"No theme values available on this component."})}var _r=ye(Ce()),YC,np=r=>{let e=Ef();return e&&(YC=e._getFocused().childList.first),(0,_r.jsx)(xp,{...r,children:(0,_r.jsx)("div",{className:"component-styles-panel-wrapper",children:r.active?(0,_r.jsx)(_r.Fragment,{children:(0,_r.jsx)(wl,{...YC})}):(0,_r.jsx)(_r.Fragment,{})})})};h();d();p();Ge();var pt=ye(Ce());function e$(){let[r,e]=_t();if(!r)return(0,pt.jsx)(pt.Fragment,{});let t="GridOverlay-",i=`${t}toggle-`,s=Object.keys(r).filter(l=>l.startsWith(i));if(!s)return(0,pt.jsx)(pt.Fragment,{});let n=[],o="alpha",a=t+o;return r[a]&&n.push((0,pt.jsx)(Tt,{label:o,control:(0,pt.jsx)($C,{name:o,value:parseFloat(r[a]),min:0,max:1,step:.1,onChange:l=>e({[a]:l.toString()})},a)},o)),n.push(...s.map(l=>{let u=l.replace(i,"");return(0,pt.jsx)(Tt,{label:u,control:(0,pt.jsx)(OC,{name:u,value:r[l]==="true",onChange:c=>e({[l]:c.toString()})},l)},l)})),(0,pt.jsx)(pt.Fragment,{children:n})}var t$=({active:r})=>(0,pt.jsx)("div",{className:"grid-overlay-panel-wrapper",style:r?{}:{display:"none"},children:(0,pt.jsx)("div",{className:"grid-overal-panel-controls",children:(0,pt.jsx)(cr,{title:"Grid Overlay Controls",rows:(0,pt.jsx)(e$,{})},"controls")},Yn)}),op=r=>(0,pt.jsx)(t$,{active:r.active},"GridOverlayPanel");h();d();p();Ge();var Qe=ye(Ce());function r$(){let[{LUITheme:r},e]=_t(),i=Qo().color,s=Object.keys(i).map(n=>{let o=Array.isArray(i[n])?ke.getHexColor(i[n][0],i[n][1]):ke.getValidColor(i[n]),a=le.StageUtils.getRgbaString(o);return(0,Qe.jsx)(Tt,{label:n,control:(0,Qe.jsx)(_l,{name:n,onChange:l=>If(n,l,e),value:a})},r?`${r}-${n}`:n)});return(0,Qe.jsx)(Qe.Fragment,{children:s})}var i$=(r,e,t)=>{qs({radius:{[r]:e}},t)};function s$(){let[{LUITheme:r},e]=_t(),i=Qo().radius,s=Object.keys(i).map(n=>(0,Qe.jsx)(Tt,{label:n,control:(0,Qe.jsx)(gl,{name:n,onChange:o=>i$(n,o,e),value:parseInt(i[n]),min:0})},r?`${r}-${n}`:n));return(0,Qe.jsx)(Qe.Fragment,{children:s})}var n$=({active:r})=>(0,Qe.jsx)("div",{className:"theme-panel-wrapper",style:r?{}:{display:"none"},children:(0,Qe.jsxs)("div",{className:"theme-panel-controls",children:[(0,Qe.jsxs)("h1",{children:["Current Theme: ",Qo().name]}),(0,Qe.jsx)(cr,{title:"Global Theme Color Values",rows:(0,Qe.jsx)(r$,{})}),(0,Qe.jsx)(cr,{title:"Global Theme Radius Values",rows:(0,Qe.jsx)(s$,{})})]})}),ap=r=>(0,Qe.jsx)(n$,{active:r.active},"ThemePanel");Gt.setConfig({theme:gp,enableShortcuts:!1});Gt.register(Et,()=>{Gt.add(Gn,{type:br.TOOL,title:"Announce Toggle",match:({viewMode:r})=>r==="story",render:kl}),Gt.add(Kn,{type:br.TOOL,title:"Theme",match:({viewMode:r})=>r==="story",render:ac}),Gt.add(Vn,{type:br.TOOL,title:"Download Button",match:({viewMode:r})=>r==="story",render:nc}),Gt.add(Xn,{type:br.TOOL,title:"Stage Color",match:({viewMode:r})=>r==="story",render:Ll}),Gt.add(Yn,{type:br.PANEL,title:"Grid Layout Overlay",match:({viewMode:r})=>r==="story",render:r=>op(r)}),Gt.add(_p,{type:br.PANEL,title:"Component Style Theme Values",match:({viewMode:r})=>r==="story",render:r=>np(r)}),Gt.add(mp,{type:br.PANEL,title:"Global Theme Values",match:({viewMode:r})=>r==="story",render:ap})});})(); + ${Lr(.02,r.input.background)} 100%)`,boxShadow:`${r.appBorderColor} 0 0 0 1px inset`,color:"transparent",width:"100%",height:"6px",cursor:"pointer"},"&::-ms-fill-lower":{borderRadius:6},"&::-ms-fill-upper":{borderRadius:6},"&::-ms-thumb":{width:16,height:16,background:`${r.input.background}`,border:`1px solid ${Ut(r.appBorderColor,.2)}`,borderRadius:50,cursor:"grab",marginTop:0},"@supports (-ms-ime-align:auto)":{"input[type=range]":{margin:"0"}}})),qC=J.span({paddingLeft:5,paddingRight:5,fontSize:12,whiteSpace:"nowrap",fontFeatureSettings:"tnum",fontVariantNumeric:"tabular-nums","[aria-readonly=true] &":{opacity:.5}}),H9=J(qC)(({numberOFDecimalsPlaces:r,max:e})=>({width:`${r+e.toString().length*2+3}ch`,textAlign:"right",flexShrink:0})),W9=J.div({display:"flex",alignItems:"center",width:"100%"});function q9(r){let e=r.toString().match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return e?Math.max(0,(e[1]?e[1].length:0)-(e[2]?+e[2]:0)):0}var $C=({name:r,value:e,onChange:t,min:i=0,max:s=100,step:n=1,onBlur:o,onFocus:a,argType:l})=>{let u=y=>{t(h9(y.target.value))},c=e!==void 0,g=vr(()=>q9(n),[n]),m=!!l?.table?.readonly;return z.createElement(W9,{"aria-readonly":m},z.createElement(qC,null,i),z.createElement(U9,{id:Kt(r),type:"range",disabled:m,onChange:u,name:r,value:e,min:i,max:s,step:n,onFocus:a,onBlur:o}),z.createElement(H9,{numberOFDecimalsPlaces:g,max:s},c?e.toFixed(g):"--"," / ",s))},ZDe=J.label({display:"flex"}),eFe=J.div(({isMaxed:r})=>({marginLeft:"0.75rem",paddingTop:"0.35rem",color:r?"red":void 0}));var tFe=J(Rr.Input)({padding:10});var $9=Al(()=>Promise.resolve().then(()=>(CC(),TC))),_l=r=>z.createElement(Cl,{fallback:z.createElement("div",null)},z.createElement($9,{...r}));var rFe=J.table(({theme:r})=>({"&&":{borderCollapse:"collapse",borderSpacing:0,border:"none",tr:{border:"none !important",background:"none"},"td, th":{padding:0,border:"none",width:"auto!important"},marginTop:0,marginBottom:0,"th:first-of-type, td:first-of-type":{paddingLeft:0},"th:last-of-type, td:last-of-type":{paddingRight:0},td:{paddingTop:0,paddingBottom:4,"&:not(:first-of-type)":{paddingLeft:10,paddingRight:0}},tbody:{boxShadow:"none",border:"none"},code:Ai({theme:r}),div:{span:{fontWeight:"bold"}},"& code":{margin:0,display:"inline-block",fontSize:r.typography.size.s1}}}));var iFe=J.div(({isExpanded:r})=>({display:"flex",flexDirection:r?"column":"row",flexWrap:"wrap",alignItems:"flex-start",marginBottom:"-4px",minWidth:100})),sFe=J.span(Ai,({theme:r,simple:e=!1})=>({flex:"0 0 auto",fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,wordBreak:"break-word",whiteSpace:"normal",maxWidth:"100%",margin:0,marginRight:"4px",marginBottom:"4px",paddingTop:"2px",paddingBottom:"2px",lineHeight:"13px",...e&&{background:"transparent",border:"0 none",paddingLeft:0}})),nFe=J.button(({theme:r})=>({fontFamily:r.typography.fonts.mono,color:r.color.secondary,marginBottom:"4px",background:"none",border:"none"})),oFe=J.div(Ai,({theme:r})=>({fontFamily:r.typography.fonts.mono,color:r.color.secondary,fontSize:r.typography.size.s1,margin:0,whiteSpace:"nowrap",display:"flex",alignItems:"center"})),aFe=J.div(({theme:r,width:e})=>({width:e,minWidth:200,maxWidth:800,padding:15,fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,boxSizing:"content-box","& code":{padding:"0 !important"}})),lFe=J(og)({marginLeft:4}),uFe=J(Ac)({marginLeft:4});var cFe=(0,kC.default)(1e3)(r=>{let e=r.split(/\r?\n/);return`${Math.max(...e.map(t=>t.length))}ch`});var hFe=J.span({fontWeight:"bold"}),dFe=J.span(({theme:r})=>({color:r.color.negative,fontFamily:r.typography.fonts.mono,cursor:"help"})),pFe=J.div(({theme:r})=>({"&&":{p:{margin:"0 0 10px 0"},a:{color:r.color.secondary}},code:{...Ai({theme:r}),fontSize:12,fontFamily:r.typography.fonts.mono},"& code":{margin:0,display:"inline-block"},"& pre > code":{whiteSpace:"pre-wrap"}})),fFe=J.div(({theme:r,hasDescription:e})=>({color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.2,r.color.defaultText),marginTop:e?4:0})),gFe=J.div(({theme:r,hasDescription:e})=>({color:r.base==="light"?Oe(.1,r.color.defaultText):Oe(.2,r.color.defaultText),marginTop:e?12:0,marginBottom:12})),mFe=J.td(({theme:r,expandable:e})=>({paddingLeft:e?"40px !important":"20px !important"}));var _Fe=J.div(({inAddonPanel:r,theme:e})=>({height:r?"100%":"auto",display:"flex",border:r?"none":`1px solid ${e.appBorderColor}`,borderRadius:r?0:e.appBorderRadius,padding:r?0:40,alignItems:"center",justifyContent:"center",flexDirection:"column",gap:15,background:e.background.content,boxShadow:"rgba(0, 0, 0, 0.10) 0 1px 3px 0"})),yFe=J.div(({theme:r})=>({display:"flex",fontSize:r.typography.size.s2-1,gap:25})),xFe=J.div(({theme:r})=>({width:1,height:16,backgroundColor:r.appBorderColor}));var bFe=J(sg)(({theme:r})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.3,r.color.defaultText),border:"none",display:"inline-block"})),vFe=J(ng)(({theme:r})=>({marginRight:8,marginLeft:-10,marginTop:-2,height:12,width:12,color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.3,r.color.defaultText),border:"none",display:"inline-block"})),SFe=J.span(({theme:r})=>({display:"flex",lineHeight:"20px",alignItems:"center"})),wFe=J.td(({theme:r})=>({position:"relative",letterSpacing:"0.35em",textTransform:"uppercase",fontWeight:r.typography.weight.bold,fontSize:r.typography.size.s1-1,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText),background:`${r.background.app} !important`,"& ~ td":{background:`${r.background.app} !important`}})),TFe=J.td(({theme:r})=>({position:"relative",fontWeight:r.typography.weight.bold,fontSize:r.typography.size.s2-1,background:r.background.app})),CFe=J.td(()=>({position:"relative"})),AFe=J.tr(({theme:r})=>({"&:hover > td":{backgroundColor:`${Lr(.005,r.background.app)} !important`,boxShadow:`${r.color.mediumlight} 0 - 1px 0 0 inset`,cursor:"row-resize"}})),EFe=J.button(()=>({background:"none",border:"none",padding:"0",font:"inherit",position:"absolute",top:0,bottom:0,left:0,right:0,height:"100%",width:"100%",color:"transparent",cursor:"row-resize !important"}));var IFe=J.div(({theme:r})=>({display:"flex",gap:16,borderBottom:`1px solid ${r.appBorderColor}`,"&:last-child":{borderBottom:0}})),RFe=J.div(({numColumn:r})=>({display:"flex",flexDirection:"column",flex:r||1,gap:5,padding:"12px 20px"})),PFe=J.div(({theme:r,width:e,height:t})=>({animation:`${r.animation.glow} 1.5s ease-in-out infinite`,background:r.appBorderColor,width:e||"100%",height:t||16,borderRadius:3}));var kFe=J.table(({theme:r,compact:e,inAddonPanel:t})=>({"&&":{borderSpacing:0,color:r.color.defaultText,"td, th":{padding:0,border:"none",verticalAlign:"top",textOverflow:"ellipsis"},fontSize:r.typography.size.s2-1,lineHeight:"20px",textAlign:"left",width:"100%",marginTop:t?0:25,marginBottom:t?0:40,"thead th:first-of-type, td:first-of-type":{width:"25%"},"th:first-of-type, td:first-of-type":{paddingLeft:20},"th:nth-of-type(2), td:nth-of-type(2)":{...e?null:{width:"35%"}},"td:nth-of-type(3)":{...e?null:{width:"15%"}},"th:last-of-type, td:last-of-type":{paddingRight:20,...e?null:{width:"25%"}},th:{color:r.base==="light"?Oe(.25,r.color.defaultText):Oe(.45,r.color.defaultText),paddingTop:10,paddingBottom:10,paddingLeft:15,paddingRight:15},td:{paddingTop:"10px",paddingBottom:"10px","&:not(:first-of-type)":{paddingLeft:15,paddingRight:15},"&:last-of-type":{paddingRight:20}},marginLeft:t?0:1,marginRight:t?0:1,tbody:{...t?null:{filter:r.base==="light"?"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.10))":"drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.20))"},"> tr > *":{background:r.background.content,borderTop:`1px solid ${r.appBorderColor}`},...t?null:{"> tr:first-of-type > *":{borderBlockStart:`1px solid ${r.appBorderColor}`},"> tr:last-of-type > *":{borderBlockEnd:`1px solid ${r.appBorderColor}`},"> tr > *:first-of-type":{borderInlineStart:`1px solid ${r.appBorderColor}`},"> tr > *:last-of-type":{borderInlineEnd:`1px solid ${r.appBorderColor}`},"> tr:first-of-type > td:first-of-type":{borderTopLeftRadius:r.appBorderRadius},"> tr:first-of-type > td:last-of-type":{borderTopRightRadius:r.appBorderRadius},"> tr:last-of-type > td:first-of-type":{borderBottomLeftRadius:r.appBorderRadius},"> tr:last-of-type > td:last-of-type":{borderBottomRightRadius:r.appBorderRadius}}}}})),OFe=J(Kr)(({theme:r})=>({margin:"-4px -12px -4px 0"})),LFe=J.span({display:"flex",justifyContent:"space-between"});var DFe=J.div(({theme:r})=>({marginRight:30,fontSize:`${r.typography.size.s1}px`,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText)})),FFe=J.div({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),BFe=J.div({display:"flex",flexDirection:"row",alignItems:"baseline","&:not(:last-child)":{marginBottom:"1rem"}}),MFe=J.div(Ei,({theme:r})=>({...fl(r),margin:"25px 0 40px",padding:"30px 20px"}));var NFe=J.div(({theme:r})=>({fontWeight:r.typography.weight.bold,color:r.color.defaultText})),zFe=J.div(({theme:r})=>({color:r.base==="light"?Oe(.2,r.color.defaultText):Oe(.6,r.color.defaultText)})),jFe=J.div({flex:"0 0 30%",lineHeight:"20px",marginTop:5}),UFe=J.div(({theme:r})=>({flex:1,textAlign:"center",fontFamily:r.typography.fonts.mono,fontSize:r.typography.size.s1,lineHeight:1,overflow:"hidden",color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText),"> div":{display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis"},span:{display:"block",marginTop:2}})),HFe=J.div({display:"flex",flexDirection:"row"}),WFe=J.div(({background:r})=>({position:"relative",flex:1,"&::before":{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:r,content:'""'}})),qFe=J.div(({theme:r})=>({...fl(r),display:"flex",flexDirection:"row",height:50,marginBottom:5,overflow:"hidden",backgroundColor:"white",backgroundImage:"repeating-linear-gradient(-45deg, #ccc, #ccc 1px, #fff 1px, #fff 16px)",backgroundClip:"padding-box"})),$Fe=J.div({display:"flex",flexDirection:"column",flex:1,position:"relative",marginBottom:30}),VFe=J.div({flex:1,display:"flex",flexDirection:"row"}),GFe=J.div({display:"flex",alignItems:"flex-start"}),YFe=J.div({flex:"0 0 30%"}),XFe=J.div({flex:1}),KFe=J.div(({theme:r})=>({display:"flex",flexDirection:"row",alignItems:"center",paddingBottom:20,fontWeight:r.typography.weight.bold,color:r.base==="light"?Oe(.4,r.color.defaultText):Oe(.6,r.color.defaultText)})),JFe=J.div(({theme:r})=>({fontSize:r.typography.size.s2,lineHeight:"20px",display:"flex",flexDirection:"column"}));var QFe=J.div(({theme:r})=>({fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s2,color:r.color.defaultText,marginLeft:10,lineHeight:1.2})),ZFe=J.div(({theme:r})=>({...fl(r),overflow:"hidden",height:40,width:40,display:"flex",alignItems:"center",justifyContent:"center",flex:"none","> img, > svg":{width:20,height:20}})),eBe=J.div({display:"inline-flex",flexDirection:"row",alignItems:"center",flex:"0 1 calc(20% - 10px)",minWidth:120,margin:"0px 10px 30px 0"}),tBe=J.div({display:"flex",flexFlow:"row wrap"});kt&&kt.__DOCS_CONTEXT__===void 0&&(kt.__DOCS_CONTEXT__=fi(null),kt.__DOCS_CONTEXT__.displayName="DocsContext");var V9=kt?kt.__DOCS_CONTEXT__:fi(null);var rBe=fi({sources:{}});var{document:G9}=kt;function Y9(r,e){r.channel.emit(w0,e)}var iBe=mc.a;var VC=["h1","h2","h3","h4","h5","h6"],X9=VC.reduce((r,e)=>({...r,[e]:J(e)({"& svg":{position:"relative",top:"-0.1em",visibility:"hidden"},"&:hover svg":{visibility:"visible"}})}),{}),K9=J.a(()=>({float:"left",lineHeight:"inherit",paddingRight:"10px",marginLeft:"-24px",color:"inherit"})),J9=({as:r,id:e,children:t,...i})=>{let s=El(V9),n=X9[r],o=`#${e}`;return z.createElement(n,{id:e,...i},z.createElement(K9,{"aria-hidden":"true",href:o,tabIndex:-1,target:"_self",onClick:a=>{G9.getElementById(e)&&Y9(s,o)}},z.createElement(ag,null)),t)},GC=r=>{let{as:e,id:t,children:i,...s}=r;if(t)return z.createElement(J9,{as:e,id:t,...s},i);let n=e,{as:o,...a}=r;return z.createElement(n,{..._c(a,e)})},sBe=VC.reduce((r,e)=>({...r,[e]:t=>z.createElement(GC,{as:e,...t})}),{});var Q9=(r=>(r.INFO="info",r.NOTES="notes",r.DOCGEN="docgen",r.AUTO="auto",r))(Q9||{});var nBe=kf(W8()),oBe=J.div(({theme:r})=>({width:"10rem","@media (max-width: 768px)":{display:"none"}})),aBe=J.div(({theme:r})=>({position:"fixed",bottom:0,top:0,width:"10rem",paddingTop:"4rem",paddingBottom:"2rem",overflowY:"auto",fontFamily:r.typography.fonts.base,fontSize:r.typography.size.s2,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch","& *":{boxSizing:"border-box"},"& > .toc-wrapper > .toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`,".toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`,".toc-list":{paddingLeft:0,borderLeft:`solid 2px ${r.color.mediumlight}`}}},"& .toc-list-item":{position:"relative",listStyleType:"none",marginLeft:20,paddingTop:3,paddingBottom:3},"& .toc-list-item::before":{content:'""',position:"absolute",height:"100%",top:0,left:0,transform:"translateX(calc(-2px - 20px))",borderLeft:`solid 2px ${r.color.mediumdark}`,opacity:0,transition:"opacity 0.2s"},"& .toc-list-item.is-active-li::before":{opacity:1},"& .toc-list-item > a":{color:r.color.defaultText,textDecoration:"none"},"& .toc-list-item.is-active-li > a":{fontWeight:600,color:r.color.secondary,textDecoration:"none"}})),lBe=J.p(({theme:r})=>({fontWeight:600,fontSize:"0.875em",color:r.textColor,textTransform:"uppercase",marginBottom:10}));var{document:uBe,window:cBe}=kt;var Z9=({children:r,disableAnchor:e,...t})=>{if(e||typeof r!="string")return z.createElement(dc,null,r);let i=r.toLowerCase().replace(/[^a-z0-9]/gi,"-");return z.createElement(GC,{as:"h2",id:i,...t},r)},hBe=J(Z9)(({theme:r})=>({fontSize:`${r.typography.size.s2-1}px`,fontWeight:r.typography.weight.bold,lineHeight:"16px",letterSpacing:"0.35em",textTransform:"uppercase",color:r.textMutedColor,border:0,marginBottom:"12px","&:first-of-type":{marginTop:"56px"}}));h();d();p();var yl=(r,e,t,i)=>{qs({componentConfig:{[r]:{style:{[e]:t}}}},i)};var rp=ye(Ce());function xl({styleProp:r,defaultValue:e,componentName:t,updateGlobals:i}){let[s,n]=Fe(e);return(0,rp.jsx)(Tt,{label:r,control:(0,rp.jsx)(gl,{name:r,value:s,onChange:o=>{n(o),yl(t,r,o,i)}})})}h();d();p();Ge();var ip=ye(Ce());function bl({styleProp:r,defaultValue:e,componentName:t,updateGlobals:i}){let[s,n]=Fe(e);return(0,ip.jsx)(Tt,{label:r,control:(0,ip.jsx)(_l,{name:r,value:s,onChange:o=>{n(o),yl(t,r,o,i)}})})}h();d();p();Ge();var sp=ye(Ce());function vl({defaultTone:r,componentName:e}){let[t,i]=Fe(r);return He(()=>{let s=Hs();s&&s.updateTheme({componentConfig:{[e]:{tone:t}}})},[t]),(0,sp.jsx)(Tt,{label:"tone",control:(0,sp.jsx)(MC,{name:"tones",type:"inline-radio",value:t,argType:{options:["neutral","inverse","brand"]},onChange:s=>{i(s)}})})}h();d();p();Ge();var is=ye(Ce());function Sl(){let[{LUITheme:r},e]=_t(),i=Yr().name;return(0,is.jsx)(is.Fragment,{children:(0,is.jsx)(Sr,{title:"reset styles",label:"reset-panel",onClick:()=>Ws(i,e),children:(0,is.jsx)(wr,{icon:"undo"})})})}h();d();p();Ge();var zt=ye(Ce());function e$(r,e){let t,i=r._style,s=Yr(),n=r.constructor.__componentName,a={defaultTone:s?.componentConfig?.[n]?.tone?s.componentConfig[n].tone:"neutral",componentName:n,updateGlobals:e},l=Object.keys(i||{}).reduce((u,c)=>{let g=Sf(i[c]);t=new Date().valueOf();let m=g==="color"?le.StageUtils.getRgbaString(i[c]):i[c],y={version:t,defaultValue:m,componentName:n,styleProp:c,updateGlobals:e};return g==="color"?u.push((0,zt.jsx)(bl,{...y},`${n}-${c}-${t}`)):g==="number"&&u.push((0,zt.jsx)(xl,{...y},`${n}-${c}-${t}`)),u},[]);if(l&&l.length)return l.unshift((0,zt.jsx)(vl,{...a},`Tone-${n}-${t}`)),l}function wl(r){let[{LUITheme:e},t]=_t(),i=e$(r,t);return i&&i.length?(0,zt.jsxs)("div",{children:[(0,zt.jsxs)("div",{style:{display:"flex"},children:[(0,zt.jsxs)("h1",{style:{flex:1},children:["Current Theme: ",wf(e)]}),(0,zt.jsx)(Sl,{style:{flex:1}})]}),(0,zt.jsx)("div",{children:(0,zt.jsx)(cr,{title:"Component Level Theme Styles",rows:i})})]}):(0,zt.jsx)("h3",{children:"No theme values available on this component."})}var _r=ye(Ce()),YC,np=r=>{let e=Ef();return e&&(YC=e._getFocused().childList.first),(0,_r.jsx)(xp,{...r,children:(0,_r.jsx)("div",{className:"component-styles-panel-wrapper",children:r.active?(0,_r.jsx)(_r.Fragment,{children:(0,_r.jsx)(wl,{...YC})}):(0,_r.jsx)(_r.Fragment,{})})})};h();d();p();Ge();var pt=ye(Ce());function t$(){let[r,e]=_t();if(!r)return(0,pt.jsx)(pt.Fragment,{});let t="GridOverlay-",i=`${t}toggle-`,s=Object.keys(r).filter(l=>l.startsWith(i));if(!s)return(0,pt.jsx)(pt.Fragment,{});let n=[],o="alpha",a=t+o;return r[a]&&n.push((0,pt.jsx)(Tt,{label:o,control:(0,pt.jsx)($C,{name:o,value:parseFloat(r[a]),min:0,max:1,step:.1,onChange:l=>e({[a]:l.toString()})},a)},o)),n.push(...s.map(l=>{let u=l.replace(i,"");return(0,pt.jsx)(Tt,{label:u,control:(0,pt.jsx)(OC,{name:u,value:r[l]==="true",onChange:c=>e({[l]:c.toString()})},l)},l)})),(0,pt.jsx)(pt.Fragment,{children:n})}var r$=({active:r})=>(0,pt.jsx)("div",{className:"grid-overlay-panel-wrapper",style:r?{}:{display:"none"},children:(0,pt.jsx)("div",{className:"grid-overal-panel-controls",children:(0,pt.jsx)(cr,{title:"Grid Overlay Controls",rows:(0,pt.jsx)(t$,{})},"controls")},Yn)}),op=r=>(0,pt.jsx)(r$,{active:r.active},"GridOverlayPanel");h();d();p();Ge();var Qe=ye(Ce());function i$(){let[{LUITheme:r},e]=_t(),i=Qo().color,s=Object.keys(i).map(n=>{let o=Array.isArray(i[n])?ke.getHexColor(i[n][0],i[n][1]):ke.getValidColor(i[n]),a=le.StageUtils.getRgbaString(o);return(0,Qe.jsx)(Tt,{label:n,control:(0,Qe.jsx)(_l,{name:n,onChange:l=>If(n,l,e),value:a})},r?`${r}-${n}`:n)});return(0,Qe.jsx)(Qe.Fragment,{children:s})}var s$=(r,e,t)=>{qs({radius:{[r]:e}},t)};function n$(){let[{LUITheme:r},e]=_t(),i=Qo().radius,s=Object.keys(i).map(n=>(0,Qe.jsx)(Tt,{label:n,control:(0,Qe.jsx)(gl,{name:n,onChange:o=>s$(n,o,e),value:parseInt(i[n]),min:0})},r?`${r}-${n}`:n));return(0,Qe.jsx)(Qe.Fragment,{children:s})}var o$=({active:r})=>(0,Qe.jsx)("div",{className:"theme-panel-wrapper",style:r?{}:{display:"none"},children:(0,Qe.jsxs)("div",{className:"theme-panel-controls",children:[(0,Qe.jsxs)("h1",{children:["Current Theme: ",Qo().name]}),(0,Qe.jsx)(cr,{title:"Global Theme Color Values",rows:(0,Qe.jsx)(i$,{})}),(0,Qe.jsx)(cr,{title:"Global Theme Radius Values",rows:(0,Qe.jsx)(n$,{})})]})}),ap=r=>(0,Qe.jsx)(o$,{active:r.active},"ThemePanel");Gt.setConfig({theme:gp,enableShortcuts:!1});Gt.register(Et,()=>{Gt.add(Gn,{type:br.TOOL,title:"Announce Toggle",match:({viewMode:r})=>r==="story",render:kl}),Gt.add(Kn,{type:br.TOOL,title:"Theme",match:({viewMode:r})=>r==="story",render:ac}),Gt.add(Vn,{type:br.TOOL,title:"Download Button",match:({viewMode:r})=>r==="story",render:nc}),Gt.add(Xn,{type:br.TOOL,title:"Stage Color",match:({viewMode:r})=>r==="story",render:Ll}),Gt.add(Yn,{type:br.PANEL,title:"Grid Layout Overlay",match:({viewMode:r})=>r==="story",render:r=>op(r)}),Gt.add(_p,{type:br.PANEL,title:"Component Style Theme Values",match:({viewMode:r})=>r==="story",render:r=>np(r)}),Gt.add(mp,{type:br.PANEL,title:"Global Theme Values",match:({viewMode:r})=>r==="story",render:ap})});})(); }catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); }